drizzle-cube 0.5.4 → 0.5.6

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 (217) hide show
  1. package/dist/adapters/express/index.cjs +1 -1
  2. package/dist/adapters/express/index.js +4 -4
  3. package/dist/adapters/fastify/index.cjs +1 -1
  4. package/dist/adapters/fastify/index.js +4 -4
  5. package/dist/adapters/{handler-CNn3q29F.cjs → handler-C0nUppAK.cjs} +3 -3
  6. package/dist/adapters/{handler-_TKfigrZ.js → handler-Odsi9_Rd.js} +125 -1
  7. package/dist/adapters/hono/index.cjs +1 -1
  8. package/dist/adapters/hono/index.js +4 -4
  9. package/dist/adapters/{locale-Dl_3R6hP.cjs → locale-Dv6bl_eU.cjs} +2 -2
  10. package/dist/adapters/{locale-BQQrZYhz.js → locale-Dy3LcTwN.js} +4 -2
  11. package/dist/adapters/mcp-tools.cjs +1 -1
  12. package/dist/adapters/mcp-tools.js +8 -3
  13. package/dist/adapters/mcp-transport-BCtjU0lC.cjs +40 -0
  14. package/dist/adapters/mcp-transport-DW_Uks-O.js +579 -0
  15. package/dist/adapters/nextjs/index.cjs +1 -1
  16. package/dist/adapters/nextjs/index.js +4 -4
  17. package/dist/adapters/{utils-DG8ti3FT.js → utils-Bd5mzZfk.js} +44 -18
  18. package/dist/adapters/utils-DklqMBHn.cjs +128 -0
  19. package/dist/adapters/utils.cjs +1 -1
  20. package/dist/adapters/utils.d.ts +6 -1
  21. package/dist/adapters/utils.js +1 -1
  22. package/dist/client/charts/chartConfigs.d.ts +34 -0
  23. package/dist/client/charts.js +12 -12
  24. package/dist/client/chunks/{DashboardEditModal-BBcB0E2g.js → DashboardEditModal-BiJwVv0b.js} +11 -11
  25. package/dist/client/chunks/DashboardEditModal-BiJwVv0b.js.map +1 -0
  26. package/dist/client/chunks/{FieldSearchModal-CisOov-_.js → FieldSearchModal-DdcbCwAi.js} +21 -5
  27. package/dist/client/chunks/{FieldSearchModal-CisOov-_.js.map → FieldSearchModal-DdcbCwAi.js.map} +1 -1
  28. package/dist/client/chunks/{RetentionCombinedChart-DiyZwiPv.js → RetentionCombinedChart-CivIny9P.js} +3 -3
  29. package/dist/client/chunks/{RetentionCombinedChart-DiyZwiPv.js.map → RetentionCombinedChart-CivIny9P.js.map} +1 -1
  30. package/dist/client/chunks/{RetentionHeatmap-usGF7BCo.js → RetentionHeatmap-BHCgwZmB.js} +2 -2
  31. package/dist/client/chunks/{RetentionHeatmap-usGF7BCo.js.map → RetentionHeatmap-BHCgwZmB.js.map} +1 -1
  32. package/dist/client/chunks/{af-ZA-xDmO5F0s.js → af-ZA-BdL6DOWy.js} +10 -3
  33. package/dist/client/chunks/af-ZA-BdL6DOWy.js.map +1 -0
  34. package/dist/client/chunks/{analysis-builder-0o1W-k3K.js → analysis-builder-MoGvbMRe.js} +245 -255
  35. package/dist/client/chunks/analysis-builder-MoGvbMRe.js.map +1 -0
  36. package/dist/client/chunks/{analysis-builder-shared-Cz4KAlIC.js → analysis-builder-shared-DmyRh2O3.js} +391 -459
  37. package/dist/client/chunks/analysis-builder-shared-DmyRh2O3.js.map +1 -0
  38. package/dist/client/chunks/{chart-activity-grid-VFFm85hC.js → chart-activity-grid-Bdb8U_NC.js} +14 -7
  39. package/dist/client/chunks/chart-activity-grid-Bdb8U_NC.js.map +1 -0
  40. package/dist/client/chunks/{chart-area-CwwIHTmK.js → chart-area-BZEnT-tf.js} +39 -38
  41. package/dist/client/chunks/chart-area-BZEnT-tf.js.map +1 -0
  42. package/dist/client/chunks/{chart-bar-Bmny922L.js → chart-bar-CTmdv_v0.js} +53 -52
  43. package/dist/client/chunks/chart-bar-CTmdv_v0.js.map +1 -0
  44. package/dist/client/chunks/{chart-box-plot-DM7GwtCV.js → chart-box-plot-CYObdFtp.js} +3 -3
  45. package/dist/client/chunks/{chart-box-plot-DM7GwtCV.js.map → chart-box-plot-CYObdFtp.js.map} +1 -1
  46. package/dist/client/chunks/{chart-bubble-DJOq4IpT.js → chart-bubble-CjFprySz.js} +3 -3
  47. package/dist/client/chunks/{chart-bubble-DJOq4IpT.js.map → chart-bubble-CjFprySz.js.map} +1 -1
  48. package/dist/client/chunks/{chart-candlestick-C2nzVCv1.js → chart-candlestick-D2HoM3B5.js} +3 -3
  49. package/dist/client/chunks/{chart-candlestick-C2nzVCv1.js.map → chart-candlestick-D2HoM3B5.js.map} +1 -1
  50. package/dist/client/chunks/{chart-config-activity-grid-C-EkgYoa.js → chart-config-activity-grid-Bom99j9m.js} +9 -2
  51. package/dist/client/chunks/chart-config-activity-grid-Bom99j9m.js.map +1 -0
  52. package/dist/client/chunks/{chart-config-area-CMZpbIah.js → chart-config-area-DtYTKZxS.js} +10 -2
  53. package/dist/client/chunks/chart-config-area-DtYTKZxS.js.map +1 -0
  54. package/dist/client/chunks/{chart-config-bar-B8_V4YLg.js → chart-config-bar-7v5JVY2y.js} +10 -2
  55. package/dist/client/chunks/chart-config-bar-7v5JVY2y.js.map +1 -0
  56. package/dist/client/chunks/{chart-config-box-plot-Dwj7sEbU.js → chart-config-box-plot-BHGv-wqu.js} +9 -2
  57. package/dist/client/chunks/chart-config-box-plot-BHGv-wqu.js.map +1 -0
  58. package/dist/client/chunks/{chart-config-bubble-B0w0ZVp4.js → chart-config-bubble-BkHm-mfu.js} +9 -2
  59. package/dist/client/chunks/chart-config-bubble-BkHm-mfu.js.map +1 -0
  60. package/dist/client/chunks/{chart-config-candlestick-Bvo3zeIn.js → chart-config-candlestick-D1aaHvTe.js} +9 -2
  61. package/dist/client/chunks/chart-config-candlestick-D1aaHvTe.js.map +1 -0
  62. package/dist/client/chunks/{chart-config-data-table-BQXSn4b_.js → chart-config-data-table-B_Hw8w2J.js} +2 -2
  63. package/dist/client/chunks/{chart-config-data-table-BQXSn4b_.js.map → chart-config-data-table-B_Hw8w2J.js.map} +1 -1
  64. package/dist/client/chunks/{chart-config-funnel-BzEsHmjR.js → chart-config-funnel-DL8PSGuL.js} +2 -2
  65. package/dist/client/chunks/{chart-config-funnel-BzEsHmjR.js.map → chart-config-funnel-DL8PSGuL.js.map} +1 -1
  66. package/dist/client/chunks/{chart-config-gauge-C5ZiyZy7.js → chart-config-gauge-BVLxuA3f.js} +6 -2
  67. package/dist/client/chunks/chart-config-gauge-BVLxuA3f.js.map +1 -0
  68. package/dist/client/chunks/{chart-config-heat-map-Cv8qNnVP.js → chart-config-heat-map-CjudGdui.js} +9 -2
  69. package/dist/client/chunks/chart-config-heat-map-CjudGdui.js.map +1 -0
  70. package/dist/client/chunks/{chart-config-kpi-delta-BraHQc2E.js → chart-config-kpi-delta-Bf47hGqD.js} +9 -2
  71. package/dist/client/chunks/chart-config-kpi-delta-Bf47hGqD.js.map +1 -0
  72. package/dist/client/chunks/{chart-config-kpi-number-CeCkx7mC.js → chart-config-kpi-number-QTQRNgOi.js} +6 -2
  73. package/dist/client/chunks/chart-config-kpi-number-QTQRNgOi.js.map +1 -0
  74. package/dist/client/chunks/{chart-config-kpi-text-CImM3SvH.js → chart-config-kpi-text-BRze2eyh.js} +6 -2
  75. package/dist/client/chunks/chart-config-kpi-text-BRze2eyh.js.map +1 -0
  76. package/dist/client/chunks/{chart-config-line-BVKapAQK.js → chart-config-line-BFeCqmKH.js} +10 -2
  77. package/dist/client/chunks/chart-config-line-BFeCqmKH.js.map +1 -0
  78. package/dist/client/chunks/{chart-config-markdown-C-_g_8te.js → chart-config-markdown-EWYckwXv.js} +2 -2
  79. package/dist/client/chunks/{chart-config-markdown-C-_g_8te.js.map → chart-config-markdown-EWYckwXv.js.map} +1 -1
  80. package/dist/client/chunks/{chart-config-measure-profile-KTVV1gO3.js → chart-config-measure-profile-B9nIhqKR.js} +6 -2
  81. package/dist/client/chunks/chart-config-measure-profile-B9nIhqKR.js.map +1 -0
  82. package/dist/client/chunks/{chart-config-pie-BZxVl25X.js → chart-config-pie-6LHtEyMM.js} +9 -2
  83. package/dist/client/chunks/chart-config-pie-6LHtEyMM.js.map +1 -0
  84. package/dist/client/chunks/{chart-config-radar-B7FByX3t.js → chart-config-radar-BuLS6Inn.js} +9 -2
  85. package/dist/client/chunks/chart-config-radar-BuLS6Inn.js.map +1 -0
  86. package/dist/client/chunks/{chart-config-radial-bar-UfW_3yyX.js → chart-config-radial-bar-BP0eMohx.js} +9 -2
  87. package/dist/client/chunks/chart-config-radial-bar-BP0eMohx.js.map +1 -0
  88. package/dist/client/chunks/{chart-config-sankey-DGAThN9i.js → chart-config-sankey-CT8oGIGP.js} +2 -2
  89. package/dist/client/chunks/{chart-config-sankey-DGAThN9i.js.map → chart-config-sankey-CT8oGIGP.js.map} +1 -1
  90. package/dist/client/chunks/{chart-config-scatter-BVVJuOnt.js → chart-config-scatter-DOSpN07Z.js} +9 -2
  91. package/dist/client/chunks/chart-config-scatter-DOSpN07Z.js.map +1 -0
  92. package/dist/client/chunks/{chart-config-sunburst-utejM2YS.js → chart-config-sunburst-BSUX_YoB.js} +2 -2
  93. package/dist/client/chunks/{chart-config-sunburst-utejM2YS.js.map → chart-config-sunburst-BSUX_YoB.js.map} +1 -1
  94. package/dist/client/chunks/{chart-config-tree-map-IHp97OyV.js → chart-config-tree-map-D8GuAgVB.js} +9 -2
  95. package/dist/client/chunks/chart-config-tree-map-D8GuAgVB.js.map +1 -0
  96. package/dist/client/chunks/{chart-config-waterfall-BdqG1V-x.js → chart-config-waterfall-BDi7BoJP.js} +9 -2
  97. package/dist/client/chunks/chart-config-waterfall-BDi7BoJP.js.map +1 -0
  98. package/dist/client/chunks/{chart-data-table-zZtwLf55.js → chart-data-table-DT4uBZaq.js} +92 -90
  99. package/dist/client/chunks/{chart-data-table-zZtwLf55.js.map → chart-data-table-DT4uBZaq.js.map} +1 -1
  100. package/dist/client/chunks/{chart-funnel-COTJy8BP.js → chart-funnel-B9crR3b3.js} +3 -3
  101. package/dist/client/chunks/{chart-funnel-COTJy8BP.js.map → chart-funnel-B9crR3b3.js.map} +1 -1
  102. package/dist/client/chunks/{chart-gauge-C8lIneI0.js → chart-gauge-DAMFsicz.js} +3 -3
  103. package/dist/client/chunks/{chart-gauge-C8lIneI0.js.map → chart-gauge-DAMFsicz.js.map} +1 -1
  104. package/dist/client/chunks/{chart-heat-map-BJXt3RMt.js → chart-heat-map-BxgM_X1G.js} +3 -3
  105. package/dist/client/chunks/{chart-heat-map-BJXt3RMt.js.map → chart-heat-map-BxgM_X1G.js.map} +1 -1
  106. package/dist/client/chunks/{chart-kpi-delta-DHkNqufb.js → chart-kpi-delta-DJKL02Ut.js} +75 -73
  107. package/dist/client/chunks/{chart-kpi-delta-DHkNqufb.js.map → chart-kpi-delta-DJKL02Ut.js.map} +1 -1
  108. package/dist/client/chunks/{chart-kpi-number-BrXw7m-S.js → chart-kpi-number-CuNEYbRx.js} +66 -65
  109. package/dist/client/chunks/{chart-kpi-number-BrXw7m-S.js.map → chart-kpi-number-CuNEYbRx.js.map} +1 -1
  110. package/dist/client/chunks/{chart-kpi-text-D0plngLV.js → chart-kpi-text-u8FJaZDQ.js} +27 -26
  111. package/dist/client/chunks/{chart-kpi-text-D0plngLV.js.map → chart-kpi-text-u8FJaZDQ.js.map} +1 -1
  112. package/dist/client/chunks/{chart-line-DKvW32U-.js → chart-line-BZhzOjRl.js} +119 -118
  113. package/dist/client/chunks/chart-line-BZhzOjRl.js.map +1 -0
  114. package/dist/client/chunks/{chart-markdown-CJU2hUq3.js → chart-markdown-DEtjn8gx.js} +70 -69
  115. package/dist/client/chunks/chart-markdown-DEtjn8gx.js.map +1 -0
  116. package/dist/client/chunks/{chart-measure-profile-DNT_tbh4.js → chart-measure-profile-BnpIOS4Q.js} +4 -4
  117. package/dist/client/chunks/{chart-measure-profile-DNT_tbh4.js.map → chart-measure-profile-BnpIOS4Q.js.map} +1 -1
  118. package/dist/client/chunks/{chart-pie-CzYnncO-.js → chart-pie-CsdzxmSK.js} +4 -4
  119. package/dist/client/chunks/{chart-pie-CzYnncO-.js.map → chart-pie-CsdzxmSK.js.map} +1 -1
  120. package/dist/client/chunks/{chart-radar-8iAt3QZl.js → chart-radar-C_9RwMKw.js} +4 -4
  121. package/dist/client/chunks/{chart-radar-8iAt3QZl.js.map → chart-radar-C_9RwMKw.js.map} +1 -1
  122. package/dist/client/chunks/{chart-radial-bar-CJbG7RIe.js → chart-radial-bar-CewRelyQ.js} +4 -4
  123. package/dist/client/chunks/{chart-radial-bar-CJbG7RIe.js.map → chart-radial-bar-CewRelyQ.js.map} +1 -1
  124. package/dist/client/chunks/{chart-sankey-C-wLBUmb.js → chart-sankey-ItraHWH1.js} +3 -3
  125. package/dist/client/chunks/{chart-sankey-C-wLBUmb.js.map → chart-sankey-ItraHWH1.js.map} +1 -1
  126. package/dist/client/chunks/{chart-scatter-NMjD1lbW.js → chart-scatter-k2IJbO2Y.js} +4 -4
  127. package/dist/client/chunks/{chart-scatter-NMjD1lbW.js.map → chart-scatter-k2IJbO2Y.js.map} +1 -1
  128. package/dist/client/chunks/{chart-sunburst-HtJ-LJ7n.js → chart-sunburst-NsFRuqi9.js} +4 -4
  129. package/dist/client/chunks/{chart-sunburst-HtJ-LJ7n.js.map → chart-sunburst-NsFRuqi9.js.map} +1 -1
  130. package/dist/client/chunks/{chart-tree-map-CetaLMt8.js → chart-tree-map-Cj_ewpwJ.js} +4 -4
  131. package/dist/client/chunks/{chart-tree-map-CetaLMt8.js.map → chart-tree-map-Cj_ewpwJ.js.map} +1 -1
  132. package/dist/client/chunks/{chart-waterfall-ontNp1Sd.js → chart-waterfall-C-MTFcOz.js} +4 -4
  133. package/dist/client/chunks/{chart-waterfall-ontNp1Sd.js.map → chart-waterfall-C-MTFcOz.js.map} +1 -1
  134. package/dist/client/chunks/{charts-core-B5UXUg6_.js → charts-core-vZA3zPKb.js} +2 -2
  135. package/dist/client/chunks/{charts-core-B5UXUg6_.js.map → charts-core-vZA3zPKb.js.map} +1 -1
  136. package/dist/client/chunks/{core-Dk6z6kC0.js → core-Su6tIYhp.js} +5 -3
  137. package/dist/client/chunks/{core-Dk6z6kC0.js.map → core-Su6tIYhp.js.map} +1 -1
  138. package/dist/client/chunks/{dist-eZurnOde.js → dist-BTq3NoG3.js} +38 -32
  139. package/dist/client/chunks/dist-BTq3NoG3.js.map +1 -0
  140. package/dist/client/chunks/{en-US-5xPTdCXg.js → en-US-D-1JPTPv.js} +1 -1
  141. package/dist/client/chunks/{en-US-5xPTdCXg.js.map → en-US-D-1JPTPv.js.map} +1 -1
  142. package/dist/client/chunks/{exceljs.min-DaJsLlWM.js → exceljs.min-Dc1cBQ5l.js} +71 -45
  143. package/dist/client/chunks/{exceljs.min-DaJsLlWM.js.map → exceljs.min-Dc1cBQ5l.js.map} +1 -1
  144. package/dist/client/chunks/{javascript-DFvvCuoP.js → javascript-YXkoOgWa.js} +1 -1
  145. package/dist/client/chunks/{javascript-DFvvCuoP.js.map → javascript-YXkoOgWa.js.map} +1 -1
  146. package/dist/client/chunks/{json-BBm9TlrA.js → json-O7MKB_4V.js} +1 -1
  147. package/dist/client/chunks/{json-BBm9TlrA.js.map → json-O7MKB_4V.js.map} +1 -1
  148. package/dist/client/chunks/{nl-NL-DDf0OdfW.js → nl-NL-BErZMygi.js} +10 -3
  149. package/dist/client/chunks/nl-NL-BErZMygi.js.map +1 -0
  150. package/dist/client/chunks/{rolldown-runtime-CCl2IeXn.js → rolldown-runtime-CKnJJeip.js} +1 -1
  151. package/dist/client/chunks/{schema-visualization-cnB2xZxn.js → schema-visualization-BY9L2nBQ.js} +294 -290
  152. package/dist/client/chunks/{schema-visualization-cnB2xZxn.js.map → schema-visualization-BY9L2nBQ.js.map} +1 -1
  153. package/dist/client/chunks/{sql-k0GA6oZ_.js → sql-r2a-9CCK.js} +1 -1
  154. package/dist/client/chunks/{sql-k0GA6oZ_.js.map → sql-r2a-9CCK.js.map} +1 -1
  155. package/dist/client/chunks/{syntaxHighlighting-D8J6Yt9j.js → syntaxHighlighting-5zHcjn27.js} +2 -2
  156. package/dist/client/chunks/{syntaxHighlighting-D8J6Yt9j.js.map → syntaxHighlighting-5zHcjn27.js.map} +1 -1
  157. package/dist/client/chunks/{useDebounce-BOBSvhHy.js → useDebounce-DGfYXtkm.js} +4 -4
  158. package/dist/client/chunks/{useDebounce-BOBSvhHy.js.map → useDebounce-DGfYXtkm.js.map} +1 -1
  159. package/dist/client/chunks/{useExplainAI-B_Pi4eXW.js → useExplainAI-CD0KuKwY.js} +4 -4
  160. package/dist/client/chunks/{useExplainAI-B_Pi4eXW.js.map → useExplainAI-CD0KuKwY.js.map} +1 -1
  161. package/dist/client/chunks/{utils-BIuqPQuJ.js → utils-D2SCtAkZ.js} +2 -2
  162. package/dist/client/chunks/{utils-BIuqPQuJ.js.map → utils-D2SCtAkZ.js.map} +1 -1
  163. package/dist/client/chunks/{vendor-BxLCTfvm.js → vendor-CfR5hJGc.js} +3 -3
  164. package/dist/client/chunks/{vendor-BxLCTfvm.js.map → vendor-CfR5hJGc.js.map} +1 -1
  165. package/dist/client/components/AnalysisBuilder/types.d.ts +2 -2
  166. package/dist/client/components.js +3 -3
  167. package/dist/client/hooks.js +3 -3
  168. package/dist/client/icons.js +1 -1
  169. package/dist/client/index.js +15 -15
  170. package/dist/client/providers.js +1 -1
  171. package/dist/client/schema.js +1 -1
  172. package/dist/client/shared/chartDefaults.d.ts +5 -10
  173. package/dist/client/types.d.ts +1 -0
  174. package/dist/client/utils.js +6 -6
  175. package/dist/client-bundle-stats.html +1 -1
  176. package/dist/mcp-app/mcp-app.html +48 -48
  177. package/dist/server/index.cjs +7 -7
  178. package/dist/server/index.js +159 -16
  179. package/package.json +2 -2
  180. package/dist/adapters/mcp-transport-CkyawtUT.cjs +0 -40
  181. package/dist/adapters/mcp-transport-DSbd6M_u.js +0 -586
  182. package/dist/adapters/utils-DrWvXf0G.cjs +0 -128
  183. package/dist/client/chunks/DashboardEditModal-BBcB0E2g.js.map +0 -1
  184. package/dist/client/chunks/KpiDelta-D09hA_UJ.js +0 -2
  185. package/dist/client/chunks/KpiNumber-B7F9F9fC.js +0 -2
  186. package/dist/client/chunks/KpiText-C3ZXOF8b.js +0 -2
  187. package/dist/client/chunks/SchemaVisualization-DP4k1fPp.js +0 -2
  188. package/dist/client/chunks/SchemaVisualizationLazy-Brqv_PY9.js +0 -2
  189. package/dist/client/chunks/af-ZA-xDmO5F0s.js.map +0 -1
  190. package/dist/client/chunks/analysis-builder-0o1W-k3K.js.map +0 -1
  191. package/dist/client/chunks/analysis-builder-shared-Cz4KAlIC.js.map +0 -1
  192. package/dist/client/chunks/chart-activity-grid-VFFm85hC.js.map +0 -1
  193. package/dist/client/chunks/chart-area-CwwIHTmK.js.map +0 -1
  194. package/dist/client/chunks/chart-bar-Bmny922L.js.map +0 -1
  195. package/dist/client/chunks/chart-config-activity-grid-C-EkgYoa.js.map +0 -1
  196. package/dist/client/chunks/chart-config-area-CMZpbIah.js.map +0 -1
  197. package/dist/client/chunks/chart-config-bar-B8_V4YLg.js.map +0 -1
  198. package/dist/client/chunks/chart-config-box-plot-Dwj7sEbU.js.map +0 -1
  199. package/dist/client/chunks/chart-config-bubble-B0w0ZVp4.js.map +0 -1
  200. package/dist/client/chunks/chart-config-candlestick-Bvo3zeIn.js.map +0 -1
  201. package/dist/client/chunks/chart-config-gauge-C5ZiyZy7.js.map +0 -1
  202. package/dist/client/chunks/chart-config-heat-map-Cv8qNnVP.js.map +0 -1
  203. package/dist/client/chunks/chart-config-kpi-delta-BraHQc2E.js.map +0 -1
  204. package/dist/client/chunks/chart-config-kpi-number-CeCkx7mC.js.map +0 -1
  205. package/dist/client/chunks/chart-config-kpi-text-CImM3SvH.js.map +0 -1
  206. package/dist/client/chunks/chart-config-line-BVKapAQK.js.map +0 -1
  207. package/dist/client/chunks/chart-config-measure-profile-KTVV1gO3.js.map +0 -1
  208. package/dist/client/chunks/chart-config-pie-BZxVl25X.js.map +0 -1
  209. package/dist/client/chunks/chart-config-radar-B7FByX3t.js.map +0 -1
  210. package/dist/client/chunks/chart-config-radial-bar-UfW_3yyX.js.map +0 -1
  211. package/dist/client/chunks/chart-config-scatter-BVVJuOnt.js.map +0 -1
  212. package/dist/client/chunks/chart-config-tree-map-IHp97OyV.js.map +0 -1
  213. package/dist/client/chunks/chart-config-waterfall-BdqG1V-x.js.map +0 -1
  214. package/dist/client/chunks/chart-line-DKvW32U-.js.map +0 -1
  215. package/dist/client/chunks/chart-markdown-CJU2hUq3.js.map +0 -1
  216. package/dist/client/chunks/dist-eZurnOde.js.map +0 -1
  217. package/dist/client/chunks/nl-NL-DDf0OdfW.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import { C as e, S as t, _ as n, d as r, g as i, p as a, v as o, y as s } from "./utils-DG8ti3FT.js";
1
+ import { C as e, S as t, _ as n, d as r, g as i, p as a, v as o, y as s } from "./utils-Bd5mzZfk.js";
2
2
  //#region src/server/agent/system-prompt.ts
3
3
  function c(e) {
4
4
  if (e.length === 0) return "No cubes are currently available.";
@@ -243,6 +243,13 @@ var d = {
243
243
  description: "chart.bar.description",
244
244
  useCase: "chart.bar.useCase",
245
245
  clickableElements: { bar: !0 },
246
+ isAvailable: ({ measureCount: e, dimensionCount: t }) => e < 1 ? {
247
+ available: !1,
248
+ reason: "chart.availability.requiresMeasure"
249
+ } : t < 1 ? {
250
+ available: !1,
251
+ reason: "chart.availability.requiresDimension"
252
+ } : { available: !0 },
246
253
  dropZones: [
247
254
  {
248
255
  key: "xAxis",
@@ -274,6 +281,7 @@ var d = {
274
281
  "showLegend",
275
282
  "showGrid",
276
283
  "showTooltip",
284
+ "showAllXLabels",
277
285
  "hideHeader"
278
286
  ],
279
287
  displayOptionsConfig: [
@@ -324,6 +332,13 @@ var d = {
324
332
  description: "chart.line.description",
325
333
  useCase: "chart.line.useCase",
326
334
  clickableElements: { point: !0 },
335
+ isAvailable: ({ measureCount: e, dimensionCount: t }) => e < 1 ? {
336
+ available: !1,
337
+ reason: "chart.availability.requiresMeasure"
338
+ } : t < 1 ? {
339
+ available: !1,
340
+ reason: "chart.availability.requiresDimension"
341
+ } : { available: !0 },
327
342
  dropZones: [
328
343
  {
329
344
  key: "xAxis",
@@ -355,6 +370,7 @@ var d = {
355
370
  "showLegend",
356
371
  "showGrid",
357
372
  "showTooltip",
373
+ "showAllXLabels",
358
374
  "hideHeader"
359
375
  ],
360
376
  displayOptionsConfig: [
@@ -421,6 +437,13 @@ var d = {
421
437
  label: "chart.area.label",
422
438
  description: "chart.area.description",
423
439
  useCase: "chart.area.useCase",
440
+ isAvailable: ({ measureCount: e, dimensionCount: t }) => e < 1 ? {
441
+ available: !1,
442
+ reason: "chart.availability.requiresMeasure"
443
+ } : t < 1 ? {
444
+ available: !1,
445
+ reason: "chart.availability.requiresDimension"
446
+ } : { available: !0 },
424
447
  dropZones: [
425
448
  {
426
449
  key: "xAxis",
@@ -452,6 +475,7 @@ var d = {
452
475
  "showLegend",
453
476
  "showGrid",
454
477
  "showTooltip",
478
+ "showAllXLabels",
455
479
  "hideHeader"
456
480
  ],
457
481
  displayOptionsConfig: [
@@ -509,6 +533,13 @@ var d = {
509
533
  description: "chart.pie.description",
510
534
  useCase: "chart.pie.useCase",
511
535
  clickableElements: { slice: !0 },
536
+ isAvailable: ({ measureCount: e, dimensionCount: t }) => e < 1 ? {
537
+ available: !1,
538
+ reason: "chart.availability.requiresMeasure"
539
+ } : t < 1 ? {
540
+ available: !1,
541
+ reason: "chart.availability.requiresDimension"
542
+ } : { available: !0 },
512
543
  dropZones: [{
513
544
  key: "xAxis",
514
545
  label: "chart.configText.categories",
@@ -570,6 +601,13 @@ var d = {
570
601
  label: "chart.scatter.label",
571
602
  description: "chart.scatter.description",
572
603
  useCase: "chart.scatter.useCase",
604
+ isAvailable: ({ measureCount: e, dimensionCount: t }) => e < 1 ? {
605
+ available: !1,
606
+ reason: "chart.availability.requiresMeasure"
607
+ } : e < 2 && t < 1 ? {
608
+ available: !1,
609
+ reason: "chart.availability.scatter"
610
+ } : { available: !0 },
573
611
  dropZones: [
574
612
  {
575
613
  key: "xAxis",
@@ -625,6 +663,13 @@ var d = {
625
663
  label: "chart.bubble.label",
626
664
  description: "chart.bubble.description",
627
665
  useCase: "chart.bubble.useCase",
666
+ isAvailable: ({ measureCount: e, dimensionCount: t }) => e < 2 ? {
667
+ available: !1,
668
+ reason: "chart.availability.requiresTwoMeasures"
669
+ } : t < 1 ? {
670
+ available: !1,
671
+ reason: "chart.availability.bubble"
672
+ } : { available: !0 },
628
673
  dropZones: [
629
674
  {
630
675
  key: "xAxis",
@@ -701,6 +746,13 @@ var d = {
701
746
  label: "chart.radar.label",
702
747
  description: "chart.radar.description",
703
748
  useCase: "chart.radar.useCase",
749
+ isAvailable: ({ measureCount: e, dimensionCount: t }) => e < 1 ? {
750
+ available: !1,
751
+ reason: "chart.availability.requiresMeasure"
752
+ } : t < 1 ? {
753
+ available: !1,
754
+ reason: "chart.availability.requiresDimension"
755
+ } : { available: !0 },
704
756
  dropZones: [
705
757
  {
706
758
  key: "xAxis",
@@ -744,6 +796,13 @@ var d = {
744
796
  label: "chart.radialBar.label",
745
797
  description: "chart.radialBar.description",
746
798
  useCase: "chart.radialBar.useCase",
799
+ isAvailable: ({ measureCount: e, dimensionCount: t }) => e < 1 ? {
800
+ available: !1,
801
+ reason: "chart.availability.requiresMeasure"
802
+ } : t < 1 ? {
803
+ available: !1,
804
+ reason: "chart.availability.requiresDimension"
805
+ } : { available: !0 },
747
806
  dropZones: [{
748
807
  key: "xAxis",
749
808
  label: "chart.configText.categories",
@@ -776,6 +835,13 @@ var d = {
776
835
  label: "chart.treemap.label",
777
836
  description: "chart.treemap.description",
778
837
  useCase: "chart.treemap.useCase",
838
+ isAvailable: ({ measureCount: e, dimensionCount: t }) => e < 1 ? {
839
+ available: !1,
840
+ reason: "chart.availability.requiresMeasure"
841
+ } : t < 1 ? {
842
+ available: !1,
843
+ reason: "chart.availability.requiresDimension"
844
+ } : { available: !0 },
779
845
  dropZones: [
780
846
  {
781
847
  key: "xAxis",
@@ -845,6 +911,13 @@ var d = {
845
911
  label: "chart.activityGrid.label",
846
912
  description: "chart.activityGrid.description",
847
913
  useCase: "chart.activityGrid.useCase",
914
+ isAvailable: ({ measureCount: e, timeDimensionCount: t }) => e < 1 ? {
915
+ available: !1,
916
+ reason: "chart.availability.requiresMeasure"
917
+ } : t < 1 ? {
918
+ available: !1,
919
+ reason: "chart.availability.requiresTimeDimension"
920
+ } : { available: !0 },
848
921
  dropZones: [{
849
922
  key: "dateField",
850
923
  label: "chart.configText.time_dimension",
@@ -890,6 +963,10 @@ var d = {
890
963
  label: "chart.kpiNumber.label",
891
964
  description: "chart.kpiNumber.description",
892
965
  useCase: "chart.kpiNumber.useCase",
966
+ isAvailable: ({ measureCount: e }) => e < 1 ? {
967
+ available: !1,
968
+ reason: "chart.availability.requiresMeasure"
969
+ } : { available: !0 },
893
970
  dropZones: [{
894
971
  key: "yAxis",
895
972
  label: "chart.configText.value",
@@ -959,6 +1036,13 @@ var d = {
959
1036
  label: "chart.kpiDelta.label",
960
1037
  description: "chart.kpiDelta.description",
961
1038
  useCase: "chart.kpiDelta.useCase",
1039
+ isAvailable: ({ measureCount: e, dimensionCount: t }) => e < 1 ? {
1040
+ available: !1,
1041
+ reason: "chart.availability.requiresMeasure"
1042
+ } : t < 1 ? {
1043
+ available: !1,
1044
+ reason: "chart.availability.requiresDimension"
1045
+ } : { available: !0 },
962
1046
  dropZones: [{
963
1047
  key: "yAxis",
964
1048
  label: "chart.configText.value",
@@ -1047,6 +1131,10 @@ var d = {
1047
1131
  label: "chart.kpiText.label",
1048
1132
  description: "chart.kpiText.description",
1049
1133
  useCase: "chart.kpiText.useCase",
1134
+ isAvailable: ({ measureCount: e }) => e < 1 ? {
1135
+ available: !1,
1136
+ reason: "chart.availability.requiresMeasure"
1137
+ } : { available: !0 },
1050
1138
  dropZones: [{
1051
1139
  key: "yAxis",
1052
1140
  label: "chart.configText.value",
@@ -1385,6 +1473,13 @@ var d = {
1385
1473
  label: "chart.heatmap.label",
1386
1474
  description: "chart.heatmap.description",
1387
1475
  useCase: "chart.heatmap.useCase",
1476
+ isAvailable: ({ measureCount: e, dimensionCount: t }) => e < 1 ? {
1477
+ available: !1,
1478
+ reason: "chart.availability.requiresMeasure"
1479
+ } : t < 2 ? {
1480
+ available: !1,
1481
+ reason: "chart.availability.requiresTwoDimensions"
1482
+ } : { available: !0 },
1388
1483
  dropZones: [
1389
1484
  {
1390
1485
  key: "xAxis",
@@ -1539,6 +1634,13 @@ var d = {
1539
1634
  label: "chart.boxPlot.label",
1540
1635
  description: "chart.boxPlot.description",
1541
1636
  useCase: "chart.boxPlot.useCase",
1637
+ isAvailable: ({ measureCount: e, dimensionCount: t }) => e < 1 ? {
1638
+ available: !1,
1639
+ reason: "chart.availability.requiresMeasure"
1640
+ } : t < 1 ? {
1641
+ available: !1,
1642
+ reason: "chart.availability.requiresDimension"
1643
+ } : { available: !0 },
1542
1644
  displayOptions: ["hideHeader"],
1543
1645
  dropZones: [{
1544
1646
  key: "xAxis",
@@ -1569,6 +1671,13 @@ var d = {
1569
1671
  description: "chart.waterfall.description",
1570
1672
  useCase: "chart.waterfall.useCase",
1571
1673
  clickableElements: { bar: !0 },
1674
+ isAvailable: ({ measureCount: e, dimensionCount: t }) => e < 1 ? {
1675
+ available: !1,
1676
+ reason: "chart.availability.requiresMeasure"
1677
+ } : t < 1 ? {
1678
+ available: !1,
1679
+ reason: "chart.availability.requiresDimension"
1680
+ } : { available: !0 },
1572
1681
  displayOptions: ["showTooltip", "hideHeader"],
1573
1682
  dropZones: [{
1574
1683
  key: "xAxis",
@@ -1623,6 +1732,13 @@ var d = {
1623
1732
  useCase: "chart.candlestick.useCase",
1624
1733
  clickableElements: { bar: !0 },
1625
1734
  displayOptions: ["hideHeader"],
1735
+ isAvailable: ({ measureCount: e, dimensionCount: t }) => e < 2 ? {
1736
+ available: !1,
1737
+ reason: "chart.availability.requiresTwoMeasures"
1738
+ } : t < 1 ? {
1739
+ available: !1,
1740
+ reason: "chart.availability.requiresDimension"
1741
+ } : { available: !0 },
1626
1742
  dropZones: [{
1627
1743
  key: "xAxis",
1628
1744
  label: "chart.configText.x_axis_time_category",
@@ -1692,6 +1808,10 @@ var d = {
1692
1808
  "showTooltip",
1693
1809
  "hideHeader"
1694
1810
  ],
1811
+ isAvailable: ({ measureCount: e }) => e < 2 ? {
1812
+ available: !1,
1813
+ reason: "chart.availability.requiresTwoMeasures"
1814
+ } : { available: !0 },
1695
1815
  dropZones: [{
1696
1816
  key: "yAxis",
1697
1817
  label: "chart.configText.measures_x_axis_order",
@@ -1765,6 +1885,10 @@ var d = {
1765
1885
  useCase: "chart.gauge.useCase",
1766
1886
  clickableElements: {},
1767
1887
  displayOptions: ["hideHeader"],
1888
+ isAvailable: ({ measureCount: e }) => e < 1 ? {
1889
+ available: !1,
1890
+ reason: "chart.availability.requiresMeasure"
1891
+ } : { available: !0 },
1768
1892
  dropZones: [{
1769
1893
  key: "yAxis",
1770
1894
  label: "chart.configText.value_measure",
@@ -1,3 +1,3 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../utils-DrWvXf0G.cjs`),t=require(`../locale-Dl_3R6hP.cjs`),n=require(`../mcp-transport-CkyawtUT.cjs`);let r=require(`hono`);var i=e=>{let t={origin:`*`,allowMethods:[`GET`,`HEAD`,`PUT`,`POST`,`DELETE`,`PATCH`],allowHeaders:[],exposeHeaders:[],...e},n=(e=>typeof e==`string`?e===`*`?t.credentials?e=>e||null:()=>e:t=>e===t?t:null:typeof e==`function`?e:t=>e.includes(t)?t:null)(t.origin),r=(e=>typeof e==`function`?e:Array.isArray(e)?()=>e:()=>[])(t.allowMethods);return async function(e,i){function a(t,n){e.res.headers.set(t,n)}let o=await n(e.req.header(`origin`)||``,e);if(o&&a(`Access-Control-Allow-Origin`,o),t.credentials&&a(`Access-Control-Allow-Credentials`,`true`),t.exposeHeaders?.length&&a(`Access-Control-Expose-Headers`,t.exposeHeaders.join(`,`)),e.req.method===`OPTIONS`){(t.origin!==`*`||t.credentials)&&a(`Vary`,`Origin`),t.maxAge!=null&&a(`Access-Control-Max-Age`,t.maxAge.toString());let n=await r(e.req.header(`origin`)||``,e);n.length&&a(`Access-Control-Allow-Methods`,n.join(`,`));let i=t.allowHeaders;if(!i?.length){let t=e.req.header(`Access-Control-Request-Headers`);t&&(i=t.split(/\s*,\s*/))}return i?.length&&(a(`Access-Control-Allow-Headers`,i.join(`,`)),e.res.headers.append(`Vary`,`Access-Control-Request-Headers`)),e.res.headers.delete(`Content-Length`),e.res.headers.delete(`Content-Type`),new Response(null,{headers:e.res.headers,status:204,statusText:`No Content`})}await i(),(t.origin!==`*`||t.credentials)&&e.header(`Vary`,`Origin`,{append:!0})}};function a(a){let{cubes:o,drizzle:s,schema:c,extractSecurityContext:l,engineType:u,cors:d,basePath:f=`/cubejs-api/v1`,cache:p,mcp:m={enabled:!0},agent:h}=a;if(!a.semanticLayer&&(!o||o.length===0))throw Error(`Either semanticLayer or a non-empty cubes array must be provided`);let g=new r.Hono,_=async e=>t.r(await l(e),t.n(t=>e.req.header(t)));if(d){let e={...d,allowHeaders:t.t(d.allowHeaders)};g.use(`/*`,i(e))}let v=a.semanticLayer??new t.i({drizzle:s,schema:c,engineType:u,cache:p,rlsSetup:a.rlsSetup});if(!a.semanticLayer&&o&&o.forEach(e=>{v.registerCube(e)}),g.post(`${f}/load`,async t=>{try{let n=await t.req.json(),r=n.query||n,i=await _(t),a=v.validateQuery(r);if(!a.isValid)return t.json({error:`Query validation failed: ${a.errors.join(`, `)}`},400);let o=t.req.header(`x-cache-control`)===`no-cache`,s=await v.executeMultiCubeQuery(r,i,{skipCache:o});return t.json(e.r(r,s,v))}catch(e){return console.error(`Query execution error:`,e),t.json({error:e instanceof Error?e.message:`Query execution failed`},500)}}),g.get(`${f}/load`,async t=>{try{let n=t.req.query(`query`);if(!n)return t.json({error:`Query parameter is required`},400);let r;try{r=JSON.parse(n)}catch{return t.json({error:`Invalid JSON in query parameter`},400)}let i=await _(t),a=v.validateQuery(r);if(!a.isValid)return t.json({error:`Query validation failed: ${a.errors.join(`, `)}`},400);let o=t.req.header(`x-cache-control`)===`no-cache`,s=await v.executeMultiCubeQuery(r,i,{skipCache:o});return t.json(e.r(r,s,v))}catch(e){return console.error(`Query execution error:`,e),t.json({error:e instanceof Error?e.message:`Query execution failed`},500)}}),g.post(`${f}/batch`,async t=>{try{let{queries:n}=await t.req.json();if(!n||!Array.isArray(n))return t.json({error:`Request body must contain a "queries" array`},400);if(n.length===0)return t.json({error:`Queries array cannot be empty`},400);let r=await e.u(n,await _(t),v,{skipCache:t.req.header(`x-cache-control`)===`no-cache`});return t.json(r)}catch(e){return console.error(`Batch execution error:`,e),t.json({error:e instanceof Error?e.message:`Batch execution failed`},500)}}),g.get(`${f}/meta`,t=>{try{let n=v.getMetadata();return t.json(e.a(n))}catch(e){return console.error(`Metadata error:`,e),t.json({error:e instanceof Error?e.message:`Failed to fetch metadata`},500)}}),g.post(`${f}/sql`,async t=>{try{let n=await t.req.json(),r=await _(t),i=v.validateQuery(n);if(!i.isValid)return t.json({error:`Query validation failed: ${i.errors.join(`, `)}`},400);let a=n.measures?.[0]||n.dimensions?.[0];if(!a)return t.json({error:`No measures or dimensions specified`},400);let o=a.split(`.`)[0],s=await v.generateSQL(o,n,r);return t.json(e.o(n,s))}catch(e){return console.error(`SQL generation error:`,e),t.json({error:e instanceof Error?e.message:`SQL generation failed`},500)}}),g.get(`${f}/sql`,async t=>{try{let n=t.req.query(`query`);if(!n)return t.json({error:`Query parameter is required`},400);let r=JSON.parse(n),i=await _(t),a=v.validateQuery(r);if(!a.isValid)return t.json({error:`Query validation failed: ${a.errors.join(`, `)}`},400);let o=r.measures?.[0]||r.dimensions?.[0];if(!o)return t.json({error:`No measures or dimensions specified`},400);let s=o.split(`.`)[0],c=await v.generateSQL(s,r,i);return t.json(e.o(r,c))}catch(e){return console.error(`SQL generation error:`,e),t.json({error:e instanceof Error?e.message:`SQL generation failed`},500)}}),g.post(`${f}/dry-run`,async t=>{try{let n=await t.req.json(),r=await e.f(n.query||n,await _(t),v);return t.json(r)}catch(e){return console.error(`Dry-run error:`,e),t.json({error:e instanceof Error?e.message:`Dry-run validation failed`,valid:!1},400)}}),g.get(`${f}/dry-run`,async t=>{try{let n=t.req.query(`query`);if(!n)return t.json({error:`Query parameter is required`,valid:!1},400);let r=await e.f(JSON.parse(n),await _(t),v);return t.json(r)}catch(e){return console.error(`Dry-run error:`,e),t.json({error:e instanceof Error?e.message:`Dry-run validation failed`,valid:!1},400)}}),g.post(`${f}/explain`,async e=>{try{let t=await e.req.json(),n=t.query||t,r=t.options||{},i=await _(e),a=v.validateQuery(n);if(!a.isValid)return e.json({error:`Query validation failed: ${a.errors.join(`, `)}`},400);let o=await v.explainQuery(n,i,r);return e.json(o)}catch(t){return console.error(`Explain error:`,t),e.json({error:t instanceof Error?t.message:`Explain query failed`},500)}}),h&&g.post(`${f}/agent/chat`,async e=>{try{let{handleAgentChat:t}=await Promise.resolve().then(()=>require(`../handler-CNn3q29F.cjs`)),{message:n,sessionId:r,history:i}=await e.req.json();if(!n||typeof n!=`string`)return e.json({error:`message is required and must be a string`},400);let a=(h.apiKey||``).trim();if(h.allowClientApiKey){let t=e.req.header(`x-agent-api-key`);t&&(a=t.trim())}if(!a)return e.json({error:`No API key configured. Set agent.apiKey in server config or send X-Agent-Api-Key header.`},401);let o=h.allowClientApiKey?e.req.header(`x-agent-provider`):void 0,s=h.allowClientApiKey?e.req.header(`x-agent-model`):void 0,c=h.allowClientApiKey?e.req.header(`x-agent-provider-endpoint`):void 0,l=await _(e),u=h.buildSystemContext?.(l),d=new TextEncoder,f=new ReadableStream({async start(e){try{let f=t({message:n,sessionId:r,history:i,semanticLayer:v,securityContext:l,agentConfig:h,apiKey:a,systemContext:u,providerOverride:o,modelOverride:s,baseURLOverride:c});for await(let t of f){let n=`data: ${JSON.stringify(t)}\n\n`;e.enqueue(d.encode(n))}}catch(t){let n={type:`error`,data:{message:t instanceof Error?t.message:`Stream failed`}};e.enqueue(d.encode(`data: ${JSON.stringify(n)}\n\n`))}finally{e.close()}}});return new Response(f,{status:200,headers:{"Content-Type":`text/event-stream`,"Cache-Control":`no-cache`,Connection:`keep-alive`}})}catch(t){return console.error(`Agent chat error:`,t),e.json({error:t instanceof Error?t.message:`Agent chat failed`},500)}}),m.enabled!==!1){let e=n.o(v,m.resources),t=n.y(m.prompts),r=n.v(m.instructions),i=m.basePath??`/mcp`;g.post(`${i}`,async i=>{if(m.resourceMetadataUrl&&!n.u(i.req.header(`authorization`)))return i.header(`WWW-Authenticate`,n.c(m.resourceMetadataUrl)),i.json({error:`Bearer token required`},401);let a=n.S(i.req.header(`origin`),m.allowedOrigins?{allowedOrigins:m.allowedOrigins}:{});if(!a.valid)return i.json(n.i(null,-32600,a.reason),403);let o=i.req.header(`accept`);if(!n.x(o))return i.json(n.i(null,-32600,`Accept header must include both application/json and text/event-stream`),400);let s=n.h(i.req.header());if(!s.ok)return i.json({error:`Unsupported MCP protocol version`,supported:s.supported},426);let c=n.g(await i.req.json().catch(()=>null));if(!c)return i.json(n.i(null,-32600,`Invalid JSON-RPC 2.0 request`),400);let l=n.C(o),u=c.method===`initialize`;try{let a=await n.l(c.method,c.params,{semanticLayer:v,extractSecurityContext:(e,t)=>_(e),rawRequest:i,rawResponse:null,negotiatedProtocol:s.negotiated,resources:e,prompts:t,instructions:r,appEnabled:!!m.app,appConfig:typeof m.app==`object`?m.app:void 0,serverName:m.serverName});if(n.m(c))return i.body(null,202);let o=n.a(c.id??null,a),d=u&&a&&typeof a==`object`&&`sessionId`in a?a.sessionId:void 0,f={};if(d&&(f[n.r]=d),l){let e=new TextEncoder,t=n._(),r=new ReadableStream({start(r){r.enqueue(e.encode(`id: ${t}\n\n`)),r.enqueue(e.encode(n.b(o,t))),r.close()}});return new Response(r,{status:200,headers:{"Content-Type":`text/event-stream`,"Cache-Control":`no-cache`,Connection:`keep-alive`,...f}})}return i.json(o,200,f)}catch(e){if(n.m(c))return console.error(`MCP notification processing error:`,e),i.body(null,202);console.error(`MCP RPC error:`,e);let t=e?.code??-32603,r=e?.data,a=e.message||`MCP request failed`,o=n.i(c.id??null,t,a,r);if(l){let e=new TextEncoder,t=n._(),r=new ReadableStream({start(r){r.enqueue(e.encode(`id: ${t}\n\n`)),r.enqueue(e.encode(n.b(o,t))),r.close()}});return new Response(r,{status:200,headers:{"Content-Type":`text/event-stream`,"Cache-Control":`no-cache`,Connection:`keep-alive`}})}return i.json(o,200)}}),g.delete(`${i}`,e=>m.resourceMetadataUrl&&!n.u(e.req.header(`authorization`))?(e.header(`WWW-Authenticate`,n.c(m.resourceMetadataUrl)),e.json({error:`Bearer token required`},401)):e.json({error:`Session termination not supported`},405)),g.get(`${i}`,e=>{if(m.resourceMetadataUrl&&!n.u(e.req.header(`authorization`)))return e.header(`WWW-Authenticate`,n.c(m.resourceMetadataUrl)),e.json({error:`Bearer token required`},401);let t=new TextEncoder,r=n._(),i,a=new ReadableStream({start(e){e.enqueue(t.encode(n.b({jsonrpc:`2.0`,method:`mcp/ready`,params:{protocol:`streamable-http`}},r,15e3))),i=setInterval(()=>{e.enqueue(t.encode(`: keep-alive
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../utils-DklqMBHn.cjs`),t=require(`../locale-Dv6bl_eU.cjs`),n=require(`../mcp-transport-BCtjU0lC.cjs`);let r=require(`hono`);var i=e=>{let t={origin:`*`,allowMethods:[`GET`,`HEAD`,`PUT`,`POST`,`DELETE`,`PATCH`],allowHeaders:[],exposeHeaders:[],...e},n=(e=>typeof e==`string`?e===`*`?t.credentials?e=>e||null:()=>e:t=>e===t?t:null:typeof e==`function`?e:t=>e.includes(t)?t:null)(t.origin),r=(e=>typeof e==`function`?e:Array.isArray(e)?()=>e:()=>[])(t.allowMethods);return async function(e,i){function a(t,n){e.res.headers.set(t,n)}let o=await n(e.req.header(`origin`)||``,e);if(o&&a(`Access-Control-Allow-Origin`,o),t.credentials&&a(`Access-Control-Allow-Credentials`,`true`),t.exposeHeaders?.length&&a(`Access-Control-Expose-Headers`,t.exposeHeaders.join(`,`)),e.req.method===`OPTIONS`){(t.origin!==`*`||t.credentials)&&a(`Vary`,`Origin`),t.maxAge!=null&&a(`Access-Control-Max-Age`,t.maxAge.toString());let n=await r(e.req.header(`origin`)||``,e);n.length&&a(`Access-Control-Allow-Methods`,n.join(`,`));let i=t.allowHeaders;if(!i?.length){let t=e.req.header(`Access-Control-Request-Headers`);t&&(i=t.split(/\s*,\s*/))}return i?.length&&(a(`Access-Control-Allow-Headers`,i.join(`,`)),e.res.headers.append(`Vary`,`Access-Control-Request-Headers`)),e.res.headers.delete(`Content-Length`),e.res.headers.delete(`Content-Type`),new Response(null,{headers:e.res.headers,status:204,statusText:`No Content`})}await i(),(t.origin!==`*`||t.credentials)&&e.header(`Vary`,`Origin`,{append:!0})}};function a(a){let{cubes:o,drizzle:s,schema:c,extractSecurityContext:l,engineType:u,cors:d,basePath:f=`/cubejs-api/v1`,cache:p,mcp:m={enabled:!0},agent:h}=a;if(!a.semanticLayer&&(!o||o.length===0))throw Error(`Either semanticLayer or a non-empty cubes array must be provided`);let g=new r.Hono,_=async e=>t.r(await l(e),t.n(t=>e.req.header(t)));if(d){let e={...d,allowHeaders:t.t(d.allowHeaders)};g.use(`/*`,i(e))}let v=a.semanticLayer??new t.i({drizzle:s,schema:c,engineType:u,cache:p,rlsSetup:a.rlsSetup});if(!a.semanticLayer&&o&&o.forEach(e=>{v.registerCube(e)}),g.post(`${f}/load`,async t=>{try{let n=await t.req.json(),r=n.query||n,i=await _(t),a=v.validateQuery(r);if(!a.isValid)return t.json({error:`Query validation failed: ${a.errors.join(`, `)}`},400);let o=t.req.header(`x-cache-control`)===`no-cache`,s=await v.executeMultiCubeQuery(r,i,{skipCache:o});return t.json(e.r(r,s,v))}catch(e){return console.error(`Query execution error:`,e),t.json({error:e instanceof Error?e.message:`Query execution failed`},500)}}),g.get(`${f}/load`,async t=>{try{let n=t.req.query(`query`);if(!n)return t.json({error:`Query parameter is required`},400);let r;try{r=JSON.parse(n)}catch{return t.json({error:`Invalid JSON in query parameter`},400)}let i=await _(t),a=v.validateQuery(r);if(!a.isValid)return t.json({error:`Query validation failed: ${a.errors.join(`, `)}`},400);let o=t.req.header(`x-cache-control`)===`no-cache`,s=await v.executeMultiCubeQuery(r,i,{skipCache:o});return t.json(e.r(r,s,v))}catch(e){return console.error(`Query execution error:`,e),t.json({error:e instanceof Error?e.message:`Query execution failed`},500)}}),g.post(`${f}/batch`,async t=>{try{let{queries:n}=await t.req.json();if(!n||!Array.isArray(n))return t.json({error:`Request body must contain a "queries" array`},400);if(n.length===0)return t.json({error:`Queries array cannot be empty`},400);let r=await e.u(n,await _(t),v,{skipCache:t.req.header(`x-cache-control`)===`no-cache`});return t.json(r)}catch(e){return console.error(`Batch execution error:`,e),t.json({error:e instanceof Error?e.message:`Batch execution failed`},500)}}),g.get(`${f}/meta`,t=>{try{let n=v.getMetadata();return t.json(e.a(n))}catch(e){return console.error(`Metadata error:`,e),t.json({error:e instanceof Error?e.message:`Failed to fetch metadata`},500)}}),g.post(`${f}/sql`,async t=>{try{let n=await t.req.json(),r=await _(t),i=v.validateQuery(n);if(!i.isValid)return t.json({error:`Query validation failed: ${i.errors.join(`, `)}`},400);let a=n.measures?.[0]||n.dimensions?.[0];if(!a)return t.json({error:`No measures or dimensions specified`},400);let o=a.split(`.`)[0],s=await v.generateSQL(o,n,r);return t.json(e.o(n,s))}catch(e){return console.error(`SQL generation error:`,e),t.json({error:e instanceof Error?e.message:`SQL generation failed`},500)}}),g.get(`${f}/sql`,async t=>{try{let n=t.req.query(`query`);if(!n)return t.json({error:`Query parameter is required`},400);let r=JSON.parse(n),i=await _(t),a=v.validateQuery(r);if(!a.isValid)return t.json({error:`Query validation failed: ${a.errors.join(`, `)}`},400);let o=r.measures?.[0]||r.dimensions?.[0];if(!o)return t.json({error:`No measures or dimensions specified`},400);let s=o.split(`.`)[0],c=await v.generateSQL(s,r,i);return t.json(e.o(r,c))}catch(e){return console.error(`SQL generation error:`,e),t.json({error:e instanceof Error?e.message:`SQL generation failed`},500)}}),g.post(`${f}/dry-run`,async t=>{try{let n=await t.req.json(),r=await e.f(n.query||n,await _(t),v);return t.json(r)}catch(e){return console.error(`Dry-run error:`,e),t.json({error:e instanceof Error?e.message:`Dry-run validation failed`,valid:!1},400)}}),g.get(`${f}/dry-run`,async t=>{try{let n=t.req.query(`query`);if(!n)return t.json({error:`Query parameter is required`,valid:!1},400);let r=await e.f(JSON.parse(n),await _(t),v);return t.json(r)}catch(e){return console.error(`Dry-run error:`,e),t.json({error:e instanceof Error?e.message:`Dry-run validation failed`,valid:!1},400)}}),g.post(`${f}/explain`,async e=>{try{let t=await e.req.json(),n=t.query||t,r=t.options||{},i=await _(e),a=v.validateQuery(n);if(!a.isValid)return e.json({error:`Query validation failed: ${a.errors.join(`, `)}`},400);let o=await v.explainQuery(n,i,r);return e.json(o)}catch(t){return console.error(`Explain error:`,t),e.json({error:t instanceof Error?t.message:`Explain query failed`},500)}}),h&&g.post(`${f}/agent/chat`,async e=>{try{let{handleAgentChat:t}=await Promise.resolve().then(()=>require(`../handler-C0nUppAK.cjs`)),{message:n,sessionId:r,history:i}=await e.req.json();if(!n||typeof n!=`string`)return e.json({error:`message is required and must be a string`},400);let a=(h.apiKey||``).trim();if(h.allowClientApiKey){let t=e.req.header(`x-agent-api-key`);t&&(a=t.trim())}if(!a)return e.json({error:`No API key configured. Set agent.apiKey in server config or send X-Agent-Api-Key header.`},401);let o=h.allowClientApiKey?e.req.header(`x-agent-provider`):void 0,s=h.allowClientApiKey?e.req.header(`x-agent-model`):void 0,c=h.allowClientApiKey?e.req.header(`x-agent-provider-endpoint`):void 0,l=await _(e),u=h.buildSystemContext?.(l),d=new TextEncoder,f=new ReadableStream({async start(e){try{let f=t({message:n,sessionId:r,history:i,semanticLayer:v,securityContext:l,agentConfig:h,apiKey:a,systemContext:u,providerOverride:o,modelOverride:s,baseURLOverride:c});for await(let t of f){let n=`data: ${JSON.stringify(t)}\n\n`;e.enqueue(d.encode(n))}}catch(t){let n={type:`error`,data:{message:t instanceof Error?t.message:`Stream failed`}};e.enqueue(d.encode(`data: ${JSON.stringify(n)}\n\n`))}finally{e.close()}}});return new Response(f,{status:200,headers:{"Content-Type":`text/event-stream`,"Cache-Control":`no-cache`,Connection:`keep-alive`}})}catch(t){return console.error(`Agent chat error:`,t),e.json({error:t instanceof Error?t.message:`Agent chat failed`},500)}}),m.enabled!==!1){let e=n.o(v,m.resources),t=n.y(m.prompts),r=n.v(m.instructions),i=m.basePath??`/mcp`;g.post(`${i}`,async i=>{if(m.resourceMetadataUrl&&!n.u(i.req.header(`authorization`)))return i.header(`WWW-Authenticate`,n.c(m.resourceMetadataUrl)),i.json({error:`Bearer token required`},401);let a=n.S(i.req.header(`origin`),m.allowedOrigins?{allowedOrigins:m.allowedOrigins}:{});if(!a.valid)return i.json(n.i(null,-32600,a.reason),403);let o=i.req.header(`accept`);if(!n.x(o))return i.json(n.i(null,-32600,`Accept header must include both application/json and text/event-stream`),400);let s=n.h(i.req.header());if(!s.ok)return i.json({error:`Unsupported MCP protocol version`,supported:s.supported},426);let c=n.g(await i.req.json().catch(()=>null));if(!c)return i.json(n.i(null,-32600,`Invalid JSON-RPC 2.0 request`),400);let l=n.C(o),u=c.method===`initialize`;try{let a=await n.l(c.method,c.params,{semanticLayer:v,extractSecurityContext:(e,t)=>_(e),rawRequest:i,rawResponse:null,negotiatedProtocol:s.negotiated,resources:e,prompts:t,instructions:r,appEnabled:!!m.app,appConfig:typeof m.app==`object`?m.app:void 0,serverName:m.serverName});if(n.m(c))return i.body(null,202);let o=n.a(c.id??null,a),d=u&&a&&typeof a==`object`&&`sessionId`in a?a.sessionId:void 0,f={};if(d&&(f[n.r]=d),l){let e=new TextEncoder,t=n._(),r=new ReadableStream({start(r){r.enqueue(e.encode(`id: ${t}\n\n`)),r.enqueue(e.encode(n.b(o,t))),r.close()}});return new Response(r,{status:200,headers:{"Content-Type":`text/event-stream`,"Cache-Control":`no-cache`,Connection:`keep-alive`,...f}})}return i.json(o,200,f)}catch(e){if(n.m(c))return console.error(`MCP notification processing error:`,e),i.body(null,202);console.error(`MCP RPC error:`,e);let t=e?.code??-32603,r=e?.data,a=e.message||`MCP request failed`,o=n.i(c.id??null,t,a,r);if(l){let e=new TextEncoder,t=n._(),r=new ReadableStream({start(r){r.enqueue(e.encode(`id: ${t}\n\n`)),r.enqueue(e.encode(n.b(o,t))),r.close()}});return new Response(r,{status:200,headers:{"Content-Type":`text/event-stream`,"Cache-Control":`no-cache`,Connection:`keep-alive`}})}return i.json(o,200)}}),g.delete(`${i}`,e=>m.resourceMetadataUrl&&!n.u(e.req.header(`authorization`))?(e.header(`WWW-Authenticate`,n.c(m.resourceMetadataUrl)),e.json({error:`Bearer token required`},401)):e.json({error:`Session termination not supported`},405)),g.get(`${i}`,e=>{if(m.resourceMetadataUrl&&!n.u(e.req.header(`authorization`)))return e.header(`WWW-Authenticate`,n.c(m.resourceMetadataUrl)),e.json({error:`Bearer token required`},401);let t=new TextEncoder,r=n._(),i,a=new ReadableStream({start(e){e.enqueue(t.encode(n.b({jsonrpc:`2.0`,method:`mcp/ready`,params:{protocol:`streamable-http`}},r,15e3))),i=setInterval(()=>{e.enqueue(t.encode(`: keep-alive
2
2
 
3
3
  `))},15e3)},cancel(){clearInterval(i)}});return new Response(a,{status:200,headers:{"Content-Type":`text/event-stream`,"Cache-Control":`no-cache`,Connection:`keep-alive`}})})}return g}function o(e,t){let n=a(t);return e.route(`/`,n),e}function s(e){return o(new r.Hono,e)}exports.createCubeApp=s,exports.createCubeRoutes=a,exports.mountCubeRoutes=o;
@@ -1,6 +1,6 @@
1
- import { a as e, f as t, o as n, r, u as i } from "../utils-DG8ti3FT.js";
2
- import { i as a, n as o, r as s, t as c } from "../locale-BQQrZYhz.js";
3
- import { C as l, S as u, _ as d, a as f, b as p, c as m, g as h, h as g, i as _, l as v, m as y, o as b, r as x, u as S, v as C, x as w, y as T } from "../mcp-transport-DSbd6M_u.js";
1
+ import { a as e, f as t, o as n, r, u as i } from "../utils-Bd5mzZfk.js";
2
+ import { i as a, n as o, r as s, t as c } from "../locale-Dy3LcTwN.js";
3
+ import { C as l, S as u, _ as d, a as f, b as p, c as m, g as h, h as g, i as _, l as v, m as y, o as b, r as x, u as S, v as C, x as w, y as T } from "../mcp-transport-DW_Uks-O.js";
4
4
  import { Hono as E } from "hono";
5
5
  //#region node_modules/hono/dist/middleware/cors/index.js
6
6
  var D = (e) => {
@@ -166,7 +166,7 @@ function O(O) {
166
166
  }
167
167
  }), R && z.post(`${F}/agent/chat`, async (e) => {
168
168
  try {
169
- let { handleAgentChat: t } = await import("../handler-_TKfigrZ.js"), { message: n, sessionId: r, history: i } = await e.req.json();
169
+ let { handleAgentChat: t } = await import("../handler-Odsi9_Rd.js"), { message: n, sessionId: r, history: i } = await e.req.json();
170
170
  if (!n || typeof n != "string") return e.json({ error: "message is required and must be a string" }, 400);
171
171
  let a = (R.apiKey || "").trim();
172
172
  if (R.allowClientApiKey) {
@@ -1,4 +1,4 @@
1
- const e=require(`./utils-DrWvXf0G.cjs`);var t=Symbol.for(`drizzle:entityKind`);function n(e,n){if(!e||typeof e!=`object`)return!1;if(e instanceof n)return!0;if(!Object.prototype.hasOwnProperty.call(n,t))throw Error(`Class "${n.name??`<unknown>`}" doesn't look like a Drizzle entity. If this is incorrect and the class is provided by Drizzle, please report this as a bug.`);let r=Object.getPrototypeOf(e).constructor;if(r)for(;r;){if(t in r&&r[t]===n[t])return!0;r=Object.getPrototypeOf(r)}return!1}var r=class{constructor(e,t){this.table=e,this.config=t,this.name=t.name,this.keyAsName=t.keyAsName,this.notNull=t.notNull,this.default=t.default,this.defaultFn=t.defaultFn,this.onUpdateFn=t.onUpdateFn,this.hasDefault=t.hasDefault,this.primary=t.primaryKey,this.isUnique=t.isUnique,this.uniqueName=t.uniqueName,this.uniqueType=t.uniqueType,this.dataType=t.dataType,this.columnType=t.columnType,this.generated=t.generated,this.generatedIdentity=t.generatedIdentity}static[t]=`Column`;name;keyAsName;primary;notNull;default;defaultFn;onUpdateFn;hasDefault;isUnique;uniqueName;uniqueType;dataType;columnType;enumValues=void 0;generated=void 0;generatedIdentity=void 0;config;mapFromDriverValue(e){return e}mapToDriverValue(e){return e}shouldDisableInsert(){return this.config.generated!==void 0&&this.config.generated.type!==`byDefault`}},i=Symbol.for(`drizzle:Name`),a=Symbol.for(`drizzle:isPgEnum`);function o(e){return!!e&&typeof e==`function`&&a in e&&e[a]===!0}var s=class{static[t]=`Subquery`;constructor(e,t,n,r=!1,i=[]){this._={brand:`Subquery`,sql:e,selectedFields:t,alias:n,isWith:r,usedTables:i}}},c={startActiveSpan(e,t){return t()}},l=Symbol.for(`drizzle:ViewBaseConfig`),u=Symbol.for(`drizzle:Schema`),d=Symbol.for(`drizzle:Columns`),f=Symbol.for(`drizzle:ExtraConfigColumns`),p=Symbol.for(`drizzle:OriginalName`),m=Symbol.for(`drizzle:BaseName`),h=Symbol.for(`drizzle:IsAlias`),g=Symbol.for(`drizzle:ExtraConfigBuilder`),_=Symbol.for(`drizzle:IsDrizzleTable`),v=class{static[t]=`Table`;static Symbol={Name:i,Schema:u,OriginalName:p,Columns:d,ExtraConfigColumns:f,BaseName:m,IsAlias:h,ExtraConfigBuilder:g};[i];[p];[u];[d];[f];[m];[h]=!1;[_]=!0;[g]=void 0;constructor(e,t,n){this[i]=this[p]=e,this[u]=t,this[m]=n}};function y(e){return e!=null&&typeof e.getSQL==`function`}function b(e){let t={sql:``,params:[]};for(let n of e)t.sql+=n.sql,t.params.push(...n.params),n.typings?.length&&(t.typings||=[],t.typings.push(...n.typings));return t}var x=class{static[t]=`StringChunk`;value;constructor(e){this.value=Array.isArray(e)?e:[e]}getSQL(){return new S([this])}},S=class e{constructor(e){this.queryChunks=e;for(let t of e)if(n(t,v)){let e=t[v.Symbol.Schema];this.usedTables.push(e===void 0?t[v.Symbol.Name]:e+`.`+t[v.Symbol.Name])}}static[t]=`SQL`;decoder=T;shouldInlineParams=!1;usedTables=[];append(e){return this.queryChunks.push(...e.queryChunks),this}toQuery(e){return c.startActiveSpan(`drizzle.buildSQL`,t=>{let n=this.buildQueryFromSourceParams(this.queryChunks,e);return t?.setAttributes({"drizzle.query.text":n.sql,"drizzle.query.params":JSON.stringify(n.params)}),n})}buildQueryFromSourceParams(t,i){let a=Object.assign({},i,{inlineParams:i.inlineParams||this.shouldInlineParams,paramStartIndex:i.paramStartIndex||{value:0}}),{casing:c,escapeName:u,escapeParam:d,prepareTyping:f,inlineParams:p,paramStartIndex:m}=a;return b(t.map(t=>{if(n(t,x))return{sql:t.value.join(``),params:[]};if(n(t,C))return{sql:u(t.value),params:[]};if(t===void 0)return{sql:``,params:[]};if(Array.isArray(t)){let e=[new x(`(`)];for(let[n,r]of t.entries())e.push(r),n<t.length-1&&e.push(new x(`, `));return e.push(new x(`)`)),this.buildQueryFromSourceParams(e,a)}if(n(t,e))return this.buildQueryFromSourceParams(t.queryChunks,{...a,inlineParams:p||t.shouldInlineParams});if(n(t,v)){let e=t[v.Symbol.Schema],n=t[v.Symbol.Name];return{sql:e===void 0||t[h]?u(n):u(e)+`.`+u(n),params:[]}}if(n(t,r)){let e=c.getColumnCasing(t);if(i.invokeSource===`indexes`)return{sql:u(e),params:[]};let n=t.table[v.Symbol.Schema];return{sql:t.table[h]||n===void 0?u(t.table[v.Symbol.Name])+`.`+u(e):u(n)+`.`+u(t.table[v.Symbol.Name])+`.`+u(e),params:[]}}if(n(t,j)){let e=t[l].schema,n=t[l].name;return{sql:e===void 0||t[l].isAlias?u(n):u(e)+`.`+u(n),params:[]}}if(n(t,D)){if(n(t.value,k))return{sql:d(m.value++,t),params:[t],typings:[`none`]};let r=t.value===null?null:t.encoder.mapToDriverValue(t.value);if(n(r,e))return this.buildQueryFromSourceParams([r],a);if(p)return{sql:this.mapInlineParam(r,a),params:[]};let i=[`none`];return f&&(i=[f(t.encoder)]),{sql:d(m.value++,r),params:[r],typings:i}}return n(t,k)?{sql:d(m.value++,t),params:[t],typings:[`none`]}:n(t,e.Aliased)&&t.fieldAlias!==void 0?{sql:u(t.fieldAlias),params:[]}:n(t,s)?t._.isWith?{sql:u(t._.alias),params:[]}:this.buildQueryFromSourceParams([new x(`(`),t._.sql,new x(`) `),new C(t._.alias)],a):o(t)?t.schema?{sql:u(t.schema)+`.`+u(t.enumName),params:[]}:{sql:u(t.enumName),params:[]}:y(t)?t.shouldOmitSQLParens?.()?this.buildQueryFromSourceParams([t.getSQL()],a):this.buildQueryFromSourceParams([new x(`(`),t.getSQL(),new x(`)`)],a):p?{sql:this.mapInlineParam(t,a),params:[]}:{sql:d(m.value++,t),params:[t],typings:[`none`]}}))}mapInlineParam(e,{escapeString:t}){if(e===null)return`null`;if(typeof e==`number`||typeof e==`boolean`)return e.toString();if(typeof e==`string`)return t(e);if(typeof e==`object`){let n=e.toString();return t(n===`[object Object]`?JSON.stringify(e):n)}throw Error(`Unexpected param value: `+e)}getSQL(){return this}as(t){return t===void 0?this:new e.Aliased(this,t)}mapWith(e){return this.decoder=typeof e==`function`?{mapFromDriverValue:e}:e,this}inlineParams(){return this.shouldInlineParams=!0,this}if(e){return e?this:void 0}},C=class{constructor(e){this.value=e}static[t]=`Name`;brand;getSQL(){return new S([this])}};function w(e){return typeof e==`object`&&!!e&&`mapToDriverValue`in e&&typeof e.mapToDriverValue==`function`}var T={mapFromDriverValue:e=>e},E={mapToDriverValue:e=>e};({...T,...E});var D=class{constructor(e,t=E){this.value=e,this.encoder=t}static[t]=`Param`;brand;getSQL(){return new S([this])}};function O(e,...t){let n=[];(t.length>0||e.length>0&&e[0]!==``)&&n.push(new x(e[0]));for(let[r,i]of t.entries())n.push(i,new x(e[r+1]));return new S(n)}(e=>{function t(){return new S([])}e.empty=t;function n(e){return new S(e)}e.fromList=n;function r(e){return new S([new x(e)])}e.raw=r;function i(e,t){let n=[];for(let[r,i]of e.entries())r>0&&t!==void 0&&n.push(t),n.push(i);return new S(n)}e.join=i;function a(e){return new C(e)}e.identifier=a;function o(e){return new k(e)}e.placeholder=o;function s(e,t){return new D(e,t)}e.param=s})(O||={}),(e=>{class n{constructor(e,t){this.sql=e,this.fieldAlias=t}static[t]=`SQL.Aliased`;isSelectionField=!1;getSQL(){return this.sql}clone(){return new n(this.sql,this.fieldAlias)}}e.Aliased=n})(S||={});var k=class{constructor(e){this.name=e}static[t]=`Placeholder`;getSQL(){return new S([this])}},A=Symbol.for(`drizzle:IsDrizzleView`),j=class{static[t]=`View`;[l];[A]=!0;constructor({name:e,schema:t,selectedFields:n,query:r}){this[l]={name:e,originalName:e,schema:t,selectedFields:n,query:r,isExisting:!r,isAlias:!1}}getSQL(){return new S([this])}};r.prototype.getSQL=function(){return new S([this])},v.prototype.getSQL=function(){return new S([this])},s.prototype.getSQL=function(){return new S([this])};function M(e,t){return w(t)&&!y(e)&&!n(e,D)&&!n(e,k)&&!n(e,r)&&!n(e,v)&&!n(e,j)?new D(e,t):e}var N=(e,t)=>O`${e} = ${M(t,e)}`,P=(e,t)=>O`${e} <> ${M(t,e)}`;function F(...e){let t=e.filter(e=>e!==void 0);if(t.length!==0)return t.length===1?new S(t):new S([new x(`(`),O.join(t,new x(` and `)),new x(`)`)])}function I(...e){let t=e.filter(e=>e!==void 0);if(t.length!==0)return t.length===1?new S(t):new S([new x(`(`),O.join(t,new x(` or `)),new x(`)`)])}var ee=(e,t)=>O`${e} > ${M(t,e)}`,L=(e,t)=>O`${e} >= ${M(t,e)}`,te=(e,t)=>O`${e} < ${M(t,e)}`,R=(e,t)=>O`${e} <= ${M(t,e)}`;function ne(e,t){return Array.isArray(t)?t.length===0?O`false`:O`${e} in ${t.map(t=>M(t,e))}`:O`${e} in ${M(t,e)}`}function re(e,t){return Array.isArray(t)?t.length===0?O`true`:O`${e} not in ${t.map(t=>M(t,e))}`:O`${e} not in ${M(t,e)}`}function ie(e){return O`${e} is null`}function ae(e){return O`${e} is not null`}function oe(e,t){if(Array.isArray(t)){if(t.length===0)throw Error(`arrayContains requires at least one value`);return O`${e} @> ${O`${M(t,e)}`}`}return O`${e} @> ${M(t,e)}`}function se(e,t){if(Array.isArray(t)){if(t.length===0)throw Error(`arrayContained requires at least one value`);return O`${e} <@ ${O`${M(t,e)}`}`}return O`${e} <@ ${M(t,e)}`}function ce(e,t){if(Array.isArray(t)){if(t.length===0)throw Error(`arrayOverlaps requires at least one value`);return O`${e} && ${O`${M(t,e)}`}`}return O`${e} && ${M(t,e)}`}function le(e){return O`${e} asc`}function ue(e){return O`${e} desc`}function de(e){return O`count(${e||O.raw(`*`)})`.mapWith(Number)}function fe(e){return O`count(distinct ${e})`.mapWith(Number)}function z(e){return O`sum(${e})`.mapWith(String)}function B(e){return O`max(${e})`.mapWith(n(e,r)?e:String)}function V(e){return O`min(${e})`.mapWith(n(e,r)?e:String)}var H=class{preprocessCalculatedTemplate(e){return e}buildPattern(e,t){switch(e){case`contains`:case`notContains`:return`%${t}%`;case`startsWith`:return`${t}%`;case`endsWith`:return`%${t}`;default:return t}}parseISODuration(e){let t={years:0,months:0,days:0,hours:0,minutes:0,seconds:0},n=e.match(/^P(?:(\d+)Y)?(?:(\d+)M)?(?:(\d+)D)?(?:T(?:(\d+)H)?(?:(\d+)M)?(?:(\d+(?:\.\d+)?)S)?)?$/);if(!n)throw Error(`Invalid ISO 8601 duration format: ${e}`);return t.years=parseInt(n[1]||`0`,10),t.months=parseInt(n[2]||`0`,10),t.days=parseInt(n[3]||`0`,10),t.hours=parseInt(n[4]||`0`,10),t.minutes=parseInt(n[5]||`0`,10),t.seconds=parseFloat(n[6]||`0`),t}durationToSeconds(e){let t=this.parseISODuration(e);return t.years*365*24*60*60+t.months*30*24*60*60+t.days*24*60*60+t.hours*60*60+t.minutes*60+t.seconds}},pe=class extends H{getEngineType(){return`postgres`}supportsLateralJoins(){return!0}buildIntervalFromISO(e){let t=this.parseISODuration(e),n=[];t.years&&n.push(`${t.years} years`),t.months&&n.push(`${t.months} months`),t.days&&n.push(`${t.days} days`),t.hours&&n.push(`${t.hours} hours`),t.minutes&&n.push(`${t.minutes} minutes`),t.seconds&&n.push(`${t.seconds} seconds`);let r=n.join(` `)||`0 seconds`;return O`INTERVAL '${O.raw(r)}'`}buildTimeDifferenceSeconds(e,t){return O`EXTRACT(EPOCH FROM (${e} - ${t}))`}buildDateAddInterval(e,t){return O`(${e} + ${this.buildIntervalFromISO(t)})`}buildConditionalAggregation(e,t,n){let r=e.toUpperCase();return e===`count`&&!t?O`COUNT(*) FILTER (WHERE ${n})`:O`${O.raw(r)}(${t}) FILTER (WHERE ${n})`}buildDateDiffPeriods(e,t,n){switch(n){case`day`:return O`(${t}::date - ${e}::date)`;case`week`:return O`FLOOR((${t}::date - ${e}::date) / 7)`;case`month`:return O`(EXTRACT(YEAR FROM AGE(${t}::timestamp, ${e}::timestamp)) * 12 + EXTRACT(MONTH FROM AGE(${t}::timestamp, ${e}::timestamp)))::integer`;default:throw Error(`Unsupported date diff unit: ${n}`)}}buildPeriodSeriesSubquery(e){return O`(SELECT generate_series(0, ${e}) as period_number) p`}buildTimeDimension(e,t){switch(e){case`year`:return O`DATE_TRUNC('year', ${t}::timestamp)`;case`quarter`:return O`DATE_TRUNC('quarter', ${t}::timestamp)`;case`month`:return O`DATE_TRUNC('month', ${t}::timestamp)`;case`week`:return O`DATE_TRUNC('week', ${t}::timestamp)`;case`day`:return O`DATE_TRUNC('day', ${t}::timestamp)::timestamp`;case`hour`:return O`DATE_TRUNC('hour', ${t}::timestamp)`;case`minute`:return O`DATE_TRUNC('minute', ${t}::timestamp)`;case`second`:return O`DATE_TRUNC('second', ${t}::timestamp)`;default:return t}}buildStringCondition(e,t,n){switch(t){case`contains`:return O`${e} ILIKE ${`%${n}%`}`;case`notContains`:return O`${e} NOT ILIKE ${`%${n}%`}`;case`startsWith`:return O`${e} ILIKE ${`${n}%`}`;case`endsWith`:return O`${e} ILIKE ${`%${n}`}`;case`like`:return O`${e} LIKE ${n}`;case`notLike`:return O`${e} NOT LIKE ${n}`;case`ilike`:return O`${e} ILIKE ${n}`;case`regex`:return O`${e} ~* ${n}`;case`notRegex`:return O`${e} !~* ${n}`;default:throw Error(`Unsupported string operator: ${t}`)}}castToType(e,t){switch(t){case`timestamp`:return O`${e}::timestamp`;case`decimal`:return O`${e}::decimal`;case`integer`:return O`${e}::integer`;default:throw Error(`Unsupported cast type: ${t}`)}}buildAvg(e){return O`COALESCE(AVG(${e}), 0)`}buildCaseWhen(e,t){let n=e.map(e=>O`WHEN ${e.when} THEN ${e.then}`).reduce((e,t)=>O`${e} ${t}`);return t===void 0?O`CASE ${n} END`:O`CASE ${n} ELSE ${t} END`}buildBooleanLiteral(e){return e?O`TRUE`:O`FALSE`}convertFilterValue(e){return e}prepareDateValue(e){return e}isTimestampInteger(){return!1}convertTimeDimensionResult(e){return e}getCapabilities(){return{supportsStddev:!0,supportsVariance:!0,supportsPercentile:!0,supportsWindowFunctions:!0,supportsFrameClause:!0,supportsLateralJoins:!0,supportsPercentileSubqueries:!0,supportsDerivedTablesInCTE:!0,supportsLateralSubqueriesInCTE:!0}}buildStddev(e,t=!1){let n=t?`STDDEV_SAMP`:`STDDEV_POP`;return O`COALESCE(${O.raw(n)}(${e}), 0)`}buildVariance(e,t=!1){let n=t?`VAR_SAMP`:`VAR_POP`;return O`COALESCE(${O.raw(n)}(${e}), 0)`}buildPercentile(e,t){return O`PERCENTILE_CONT(${t/100}) WITHIN GROUP (ORDER BY ${e})`}buildWindowFunction(e,t,n,r,i){let a=n&&n.length>0?O`PARTITION BY ${O.join(n,O`, `)}`:O``,o=r&&r.length>0?O`ORDER BY ${O.join(r.map(e=>e.direction===`desc`?O`${e.field} DESC`:O`${e.field} ASC`),O`, `)}`:O``,s=O``;if(i?.frame){let{type:e,start:t,end:n}=i.frame,r=e.toUpperCase(),a=t===`unbounded`?`UNBOUNDED PRECEDING`:typeof t==`number`?`${t} PRECEDING`:`CURRENT ROW`,o=n===`unbounded`?`UNBOUNDED FOLLOWING`:n===`current`?`CURRENT ROW`:typeof n==`number`?`${n} FOLLOWING`:`CURRENT ROW`;s=O`${O.raw(r)} BETWEEN ${O.raw(a)} AND ${O.raw(o)}`}let c=[];n&&n.length>0&&c.push(a),r&&r.length>0&&c.push(o),i?.frame&&c.push(s);let l=O`OVER (${c.length>0?O.join(c,O` `):O``})`;switch(e){case`lag`:return O`LAG(${t}, ${i?.offset??1}${i?.defaultValue===void 0?O``:O`, ${i.defaultValue}`}) ${l}`;case`lead`:return O`LEAD(${t}, ${i?.offset??1}${i?.defaultValue===void 0?O``:O`, ${i.defaultValue}`}) ${l}`;case`rank`:return O`RANK() ${l}`;case`denseRank`:return O`DENSE_RANK() ${l}`;case`rowNumber`:return O`ROW_NUMBER() ${l}`;case`ntile`:return O`NTILE(${i?.nTile??4}) ${l}`;case`firstValue`:return O`FIRST_VALUE(${t}) ${l}`;case`lastValue`:return O`LAST_VALUE(${t}) ${l}`;case`movingAvg`:return O`AVG(${t}) ${l}`;case`movingSum`:return O`SUM(${t}) ${l}`;default:throw Error(`Unsupported window function: ${e}`)}}},me=class extends H{getEngineType(){return`mysql`}supportsLateralJoins(){return!0}buildIntervalFromISO(e){let t=this.parseISODuration(e),n=[];return t.years&&n.push(`${t.years} YEAR`),t.months&&n.push(`${t.months} MONTH`),t.days&&n.push(`${t.days} DAY`),t.hours&&n.push(`${t.hours} HOUR`),t.minutes&&n.push(`${t.minutes} MINUTE`),t.seconds&&n.push(`${t.seconds} SECOND`),O`${this.durationToSeconds(e)}`}buildTimeDifferenceSeconds(e,t){return O`TIMESTAMPDIFF(SECOND, ${t}, ${e})`}buildDateAddInterval(e,t){let n=this.parseISODuration(t),r=e;return n.years&&(r=O`DATE_ADD(${r}, INTERVAL ${n.years} YEAR)`),n.months&&(r=O`DATE_ADD(${r}, INTERVAL ${n.months} MONTH)`),n.days&&(r=O`DATE_ADD(${r}, INTERVAL ${n.days} DAY)`),n.hours&&(r=O`DATE_ADD(${r}, INTERVAL ${n.hours} HOUR)`),n.minutes&&(r=O`DATE_ADD(${r}, INTERVAL ${n.minutes} MINUTE)`),n.seconds&&(r=O`DATE_ADD(${r}, INTERVAL ${n.seconds} SECOND)`),r}buildConditionalAggregation(e,t,n){let r=e.toUpperCase();return e===`count`&&!t?O`COUNT(CASE WHEN ${n} THEN 1 END)`:O`${O.raw(r)}(CASE WHEN ${n} THEN ${t} END)`}buildDateDiffPeriods(e,t,n){let r=n.toUpperCase();return O`TIMESTAMPDIFF(${O.raw(r)}, ${e}, ${t})`}buildPeriodSeriesSubquery(e){return O`(
1
+ const e=require(`./utils-DklqMBHn.cjs`);var t=Symbol.for(`drizzle:entityKind`);function n(e,n){if(!e||typeof e!=`object`)return!1;if(e instanceof n)return!0;if(!Object.prototype.hasOwnProperty.call(n,t))throw Error(`Class "${n.name??`<unknown>`}" doesn't look like a Drizzle entity. If this is incorrect and the class is provided by Drizzle, please report this as a bug.`);let r=Object.getPrototypeOf(e).constructor;if(r)for(;r;){if(t in r&&r[t]===n[t])return!0;r=Object.getPrototypeOf(r)}return!1}var r=class{constructor(e,t){this.table=e,this.config=t,this.name=t.name,this.keyAsName=t.keyAsName,this.notNull=t.notNull,this.default=t.default,this.defaultFn=t.defaultFn,this.onUpdateFn=t.onUpdateFn,this.hasDefault=t.hasDefault,this.primary=t.primaryKey,this.isUnique=t.isUnique,this.uniqueName=t.uniqueName,this.uniqueType=t.uniqueType,this.dataType=t.dataType,this.columnType=t.columnType,this.generated=t.generated,this.generatedIdentity=t.generatedIdentity}static[t]=`Column`;name;keyAsName;primary;notNull;default;defaultFn;onUpdateFn;hasDefault;isUnique;uniqueName;uniqueType;dataType;columnType;enumValues=void 0;generated=void 0;generatedIdentity=void 0;config;mapFromDriverValue(e){return e}mapToDriverValue(e){return e}shouldDisableInsert(){return this.config.generated!==void 0&&this.config.generated.type!==`byDefault`}},i=Symbol.for(`drizzle:Name`),a=Symbol.for(`drizzle:isPgEnum`);function o(e){return!!e&&typeof e==`function`&&a in e&&e[a]===!0}var s=class{static[t]=`Subquery`;constructor(e,t,n,r=!1,i=[]){this._={brand:`Subquery`,sql:e,selectedFields:t,alias:n,isWith:r,usedTables:i}}},c={startActiveSpan(e,t){return t()}},l=Symbol.for(`drizzle:ViewBaseConfig`),u=Symbol.for(`drizzle:Schema`),d=Symbol.for(`drizzle:Columns`),f=Symbol.for(`drizzle:ExtraConfigColumns`),p=Symbol.for(`drizzle:OriginalName`),m=Symbol.for(`drizzle:BaseName`),h=Symbol.for(`drizzle:IsAlias`),g=Symbol.for(`drizzle:ExtraConfigBuilder`),_=Symbol.for(`drizzle:IsDrizzleTable`),v=class{static[t]=`Table`;static Symbol={Name:i,Schema:u,OriginalName:p,Columns:d,ExtraConfigColumns:f,BaseName:m,IsAlias:h,ExtraConfigBuilder:g};[i];[p];[u];[d];[f];[m];[h]=!1;[_]=!0;[g]=void 0;constructor(e,t,n){this[i]=this[p]=e,this[u]=t,this[m]=n}};function y(e){return e!=null&&typeof e.getSQL==`function`}function b(e){let t={sql:``,params:[]};for(let n of e)t.sql+=n.sql,t.params.push(...n.params),n.typings?.length&&(t.typings||=[],t.typings.push(...n.typings));return t}var x=class{static[t]=`StringChunk`;value;constructor(e){this.value=Array.isArray(e)?e:[e]}getSQL(){return new S([this])}},S=class e{constructor(e){this.queryChunks=e;for(let t of e)if(n(t,v)){let e=t[v.Symbol.Schema];this.usedTables.push(e===void 0?t[v.Symbol.Name]:e+`.`+t[v.Symbol.Name])}}static[t]=`SQL`;decoder=T;shouldInlineParams=!1;usedTables=[];append(e){return this.queryChunks.push(...e.queryChunks),this}toQuery(e){return c.startActiveSpan(`drizzle.buildSQL`,t=>{let n=this.buildQueryFromSourceParams(this.queryChunks,e);return t?.setAttributes({"drizzle.query.text":n.sql,"drizzle.query.params":JSON.stringify(n.params)}),n})}buildQueryFromSourceParams(t,i){let a=Object.assign({},i,{inlineParams:i.inlineParams||this.shouldInlineParams,paramStartIndex:i.paramStartIndex||{value:0}}),{casing:c,escapeName:u,escapeParam:d,prepareTyping:f,inlineParams:p,paramStartIndex:m}=a;return b(t.map(t=>{if(n(t,x))return{sql:t.value.join(``),params:[]};if(n(t,C))return{sql:u(t.value),params:[]};if(t===void 0)return{sql:``,params:[]};if(Array.isArray(t)){let e=[new x(`(`)];for(let[n,r]of t.entries())e.push(r),n<t.length-1&&e.push(new x(`, `));return e.push(new x(`)`)),this.buildQueryFromSourceParams(e,a)}if(n(t,e))return this.buildQueryFromSourceParams(t.queryChunks,{...a,inlineParams:p||t.shouldInlineParams});if(n(t,v)){let e=t[v.Symbol.Schema],n=t[v.Symbol.Name];return{sql:e===void 0||t[h]?u(n):u(e)+`.`+u(n),params:[]}}if(n(t,r)){let e=c.getColumnCasing(t);if(i.invokeSource===`indexes`)return{sql:u(e),params:[]};let n=t.table[v.Symbol.Schema];return{sql:t.table[h]||n===void 0?u(t.table[v.Symbol.Name])+`.`+u(e):u(n)+`.`+u(t.table[v.Symbol.Name])+`.`+u(e),params:[]}}if(n(t,j)){let e=t[l].schema,n=t[l].name;return{sql:e===void 0||t[l].isAlias?u(n):u(e)+`.`+u(n),params:[]}}if(n(t,D)){if(n(t.value,k))return{sql:d(m.value++,t),params:[t],typings:[`none`]};let r=t.value===null?null:t.encoder.mapToDriverValue(t.value);if(n(r,e))return this.buildQueryFromSourceParams([r],a);if(p)return{sql:this.mapInlineParam(r,a),params:[]};let i=[`none`];return f&&(i=[f(t.encoder)]),{sql:d(m.value++,r),params:[r],typings:i}}return n(t,k)?{sql:d(m.value++,t),params:[t],typings:[`none`]}:n(t,e.Aliased)&&t.fieldAlias!==void 0?{sql:u(t.fieldAlias),params:[]}:n(t,s)?t._.isWith?{sql:u(t._.alias),params:[]}:this.buildQueryFromSourceParams([new x(`(`),t._.sql,new x(`) `),new C(t._.alias)],a):o(t)?t.schema?{sql:u(t.schema)+`.`+u(t.enumName),params:[]}:{sql:u(t.enumName),params:[]}:y(t)?t.shouldOmitSQLParens?.()?this.buildQueryFromSourceParams([t.getSQL()],a):this.buildQueryFromSourceParams([new x(`(`),t.getSQL(),new x(`)`)],a):p?{sql:this.mapInlineParam(t,a),params:[]}:{sql:d(m.value++,t),params:[t],typings:[`none`]}}))}mapInlineParam(e,{escapeString:t}){if(e===null)return`null`;if(typeof e==`number`||typeof e==`boolean`)return e.toString();if(typeof e==`string`)return t(e);if(typeof e==`object`){let n=e.toString();return t(n===`[object Object]`?JSON.stringify(e):n)}throw Error(`Unexpected param value: `+e)}getSQL(){return this}as(t){return t===void 0?this:new e.Aliased(this,t)}mapWith(e){return this.decoder=typeof e==`function`?{mapFromDriverValue:e}:e,this}inlineParams(){return this.shouldInlineParams=!0,this}if(e){return e?this:void 0}},C=class{constructor(e){this.value=e}static[t]=`Name`;brand;getSQL(){return new S([this])}};function w(e){return typeof e==`object`&&!!e&&`mapToDriverValue`in e&&typeof e.mapToDriverValue==`function`}var T={mapFromDriverValue:e=>e},E={mapToDriverValue:e=>e};({...T,...E});var D=class{constructor(e,t=E){this.value=e,this.encoder=t}static[t]=`Param`;brand;getSQL(){return new S([this])}};function O(e,...t){let n=[];(t.length>0||e.length>0&&e[0]!==``)&&n.push(new x(e[0]));for(let[r,i]of t.entries())n.push(i,new x(e[r+1]));return new S(n)}(e=>{function t(){return new S([])}e.empty=t;function n(e){return new S(e)}e.fromList=n;function r(e){return new S([new x(e)])}e.raw=r;function i(e,t){let n=[];for(let[r,i]of e.entries())r>0&&t!==void 0&&n.push(t),n.push(i);return new S(n)}e.join=i;function a(e){return new C(e)}e.identifier=a;function o(e){return new k(e)}e.placeholder=o;function s(e,t){return new D(e,t)}e.param=s})(O||={}),(e=>{class n{constructor(e,t){this.sql=e,this.fieldAlias=t}static[t]=`SQL.Aliased`;isSelectionField=!1;getSQL(){return this.sql}clone(){return new n(this.sql,this.fieldAlias)}}e.Aliased=n})(S||={});var k=class{constructor(e){this.name=e}static[t]=`Placeholder`;getSQL(){return new S([this])}},A=Symbol.for(`drizzle:IsDrizzleView`),j=class{static[t]=`View`;[l];[A]=!0;constructor({name:e,schema:t,selectedFields:n,query:r}){this[l]={name:e,originalName:e,schema:t,selectedFields:n,query:r,isExisting:!r,isAlias:!1}}getSQL(){return new S([this])}};r.prototype.getSQL=function(){return new S([this])},v.prototype.getSQL=function(){return new S([this])},s.prototype.getSQL=function(){return new S([this])};function M(e,t){return w(t)&&!y(e)&&!n(e,D)&&!n(e,k)&&!n(e,r)&&!n(e,v)&&!n(e,j)?new D(e,t):e}var N=(e,t)=>O`${e} = ${M(t,e)}`,P=(e,t)=>O`${e} <> ${M(t,e)}`;function F(...e){let t=e.filter(e=>e!==void 0);if(t.length!==0)return t.length===1?new S(t):new S([new x(`(`),O.join(t,new x(` and `)),new x(`)`)])}function I(...e){let t=e.filter(e=>e!==void 0);if(t.length!==0)return t.length===1?new S(t):new S([new x(`(`),O.join(t,new x(` or `)),new x(`)`)])}var ee=(e,t)=>O`${e} > ${M(t,e)}`,L=(e,t)=>O`${e} >= ${M(t,e)}`,te=(e,t)=>O`${e} < ${M(t,e)}`,R=(e,t)=>O`${e} <= ${M(t,e)}`;function ne(e,t){return Array.isArray(t)?t.length===0?O`false`:O`${e} in ${t.map(t=>M(t,e))}`:O`${e} in ${M(t,e)}`}function re(e,t){return Array.isArray(t)?t.length===0?O`true`:O`${e} not in ${t.map(t=>M(t,e))}`:O`${e} not in ${M(t,e)}`}function ie(e){return O`${e} is null`}function ae(e){return O`${e} is not null`}function oe(e,t){if(Array.isArray(t)){if(t.length===0)throw Error(`arrayContains requires at least one value`);return O`${e} @> ${O`${M(t,e)}`}`}return O`${e} @> ${M(t,e)}`}function se(e,t){if(Array.isArray(t)){if(t.length===0)throw Error(`arrayContained requires at least one value`);return O`${e} <@ ${O`${M(t,e)}`}`}return O`${e} <@ ${M(t,e)}`}function ce(e,t){if(Array.isArray(t)){if(t.length===0)throw Error(`arrayOverlaps requires at least one value`);return O`${e} && ${O`${M(t,e)}`}`}return O`${e} && ${M(t,e)}`}function le(e){return O`${e} asc`}function ue(e){return O`${e} desc`}function de(e){return O`count(${e||O.raw(`*`)})`.mapWith(Number)}function fe(e){return O`count(distinct ${e})`.mapWith(Number)}function z(e){return O`sum(${e})`.mapWith(String)}function B(e){return O`max(${e})`.mapWith(n(e,r)?e:String)}function V(e){return O`min(${e})`.mapWith(n(e,r)?e:String)}var H=class{preprocessCalculatedTemplate(e){return e}buildPattern(e,t){switch(e){case`contains`:case`notContains`:return`%${t}%`;case`startsWith`:return`${t}%`;case`endsWith`:return`%${t}`;default:return t}}parseISODuration(e){let t={years:0,months:0,days:0,hours:0,minutes:0,seconds:0},n=e.match(/^P(?:(\d+)Y)?(?:(\d+)M)?(?:(\d+)D)?(?:T(?:(\d+)H)?(?:(\d+)M)?(?:(\d+(?:\.\d+)?)S)?)?$/);if(!n)throw Error(`Invalid ISO 8601 duration format: ${e}`);return t.years=parseInt(n[1]||`0`,10),t.months=parseInt(n[2]||`0`,10),t.days=parseInt(n[3]||`0`,10),t.hours=parseInt(n[4]||`0`,10),t.minutes=parseInt(n[5]||`0`,10),t.seconds=parseFloat(n[6]||`0`),t}durationToSeconds(e){let t=this.parseISODuration(e);return t.years*365*24*60*60+t.months*30*24*60*60+t.days*24*60*60+t.hours*60*60+t.minutes*60+t.seconds}},pe=class extends H{getEngineType(){return`postgres`}supportsLateralJoins(){return!0}buildIntervalFromISO(e){let t=this.parseISODuration(e),n=[];t.years&&n.push(`${t.years} years`),t.months&&n.push(`${t.months} months`),t.days&&n.push(`${t.days} days`),t.hours&&n.push(`${t.hours} hours`),t.minutes&&n.push(`${t.minutes} minutes`),t.seconds&&n.push(`${t.seconds} seconds`);let r=n.join(` `)||`0 seconds`;return O`INTERVAL '${O.raw(r)}'`}buildTimeDifferenceSeconds(e,t){return O`EXTRACT(EPOCH FROM (${e} - ${t}))`}buildDateAddInterval(e,t){return O`(${e} + ${this.buildIntervalFromISO(t)})`}buildConditionalAggregation(e,t,n){let r=e.toUpperCase();return e===`count`&&!t?O`COUNT(*) FILTER (WHERE ${n})`:O`${O.raw(r)}(${t}) FILTER (WHERE ${n})`}buildDateDiffPeriods(e,t,n){switch(n){case`day`:return O`(${t}::date - ${e}::date)`;case`week`:return O`FLOOR((${t}::date - ${e}::date) / 7)`;case`month`:return O`(EXTRACT(YEAR FROM AGE(${t}::timestamp, ${e}::timestamp)) * 12 + EXTRACT(MONTH FROM AGE(${t}::timestamp, ${e}::timestamp)))::integer`;default:throw Error(`Unsupported date diff unit: ${n}`)}}buildPeriodSeriesSubquery(e){return O`(SELECT generate_series(0, ${e}) as period_number) p`}buildTimeDimension(e,t){switch(e){case`year`:return O`DATE_TRUNC('year', ${t}::timestamp)`;case`quarter`:return O`DATE_TRUNC('quarter', ${t}::timestamp)`;case`month`:return O`DATE_TRUNC('month', ${t}::timestamp)`;case`week`:return O`DATE_TRUNC('week', ${t}::timestamp)`;case`day`:return O`DATE_TRUNC('day', ${t}::timestamp)::timestamp`;case`hour`:return O`DATE_TRUNC('hour', ${t}::timestamp)`;case`minute`:return O`DATE_TRUNC('minute', ${t}::timestamp)`;case`second`:return O`DATE_TRUNC('second', ${t}::timestamp)`;default:return t}}buildStringCondition(e,t,n){switch(t){case`contains`:return O`${e} ILIKE ${`%${n}%`}`;case`notContains`:return O`${e} NOT ILIKE ${`%${n}%`}`;case`startsWith`:return O`${e} ILIKE ${`${n}%`}`;case`endsWith`:return O`${e} ILIKE ${`%${n}`}`;case`like`:return O`${e} LIKE ${n}`;case`notLike`:return O`${e} NOT LIKE ${n}`;case`ilike`:return O`${e} ILIKE ${n}`;case`regex`:return O`${e} ~* ${n}`;case`notRegex`:return O`${e} !~* ${n}`;default:throw Error(`Unsupported string operator: ${t}`)}}castToType(e,t){switch(t){case`timestamp`:return O`${e}::timestamp`;case`decimal`:return O`${e}::decimal`;case`integer`:return O`${e}::integer`;default:throw Error(`Unsupported cast type: ${t}`)}}buildAvg(e){return O`COALESCE(AVG(${e}), 0)`}buildCaseWhen(e,t){let n=e.map(e=>O`WHEN ${e.when} THEN ${e.then}`).reduce((e,t)=>O`${e} ${t}`);return t===void 0?O`CASE ${n} END`:O`CASE ${n} ELSE ${t} END`}buildBooleanLiteral(e){return e?O`TRUE`:O`FALSE`}convertFilterValue(e){return e}prepareDateValue(e){return e}isTimestampInteger(){return!1}convertTimeDimensionResult(e){return e}getCapabilities(){return{supportsStddev:!0,supportsVariance:!0,supportsPercentile:!0,supportsWindowFunctions:!0,supportsFrameClause:!0,supportsLateralJoins:!0,supportsPercentileSubqueries:!0,supportsDerivedTablesInCTE:!0,supportsLateralSubqueriesInCTE:!0}}buildStddev(e,t=!1){let n=t?`STDDEV_SAMP`:`STDDEV_POP`;return O`COALESCE(${O.raw(n)}(${e}), 0)`}buildVariance(e,t=!1){let n=t?`VAR_SAMP`:`VAR_POP`;return O`COALESCE(${O.raw(n)}(${e}), 0)`}buildPercentile(e,t){return O`PERCENTILE_CONT(${t/100}) WITHIN GROUP (ORDER BY ${e})`}buildWindowFunction(e,t,n,r,i){let a=n&&n.length>0?O`PARTITION BY ${O.join(n,O`, `)}`:O``,o=r&&r.length>0?O`ORDER BY ${O.join(r.map(e=>e.direction===`desc`?O`${e.field} DESC`:O`${e.field} ASC`),O`, `)}`:O``,s=O``;if(i?.frame){let{type:e,start:t,end:n}=i.frame,r=e.toUpperCase(),a=t===`unbounded`?`UNBOUNDED PRECEDING`:typeof t==`number`?`${t} PRECEDING`:`CURRENT ROW`,o=n===`unbounded`?`UNBOUNDED FOLLOWING`:n===`current`?`CURRENT ROW`:typeof n==`number`?`${n} FOLLOWING`:`CURRENT ROW`;s=O`${O.raw(r)} BETWEEN ${O.raw(a)} AND ${O.raw(o)}`}let c=[];n&&n.length>0&&c.push(a),r&&r.length>0&&c.push(o),i?.frame&&c.push(s);let l=O`OVER (${c.length>0?O.join(c,O` `):O``})`;switch(e){case`lag`:return O`LAG(${t}, ${i?.offset??1}${i?.defaultValue===void 0?O``:O`, ${i.defaultValue}`}) ${l}`;case`lead`:return O`LEAD(${t}, ${i?.offset??1}${i?.defaultValue===void 0?O``:O`, ${i.defaultValue}`}) ${l}`;case`rank`:return O`RANK() ${l}`;case`denseRank`:return O`DENSE_RANK() ${l}`;case`rowNumber`:return O`ROW_NUMBER() ${l}`;case`ntile`:return O`NTILE(${i?.nTile??4}) ${l}`;case`firstValue`:return O`FIRST_VALUE(${t}) ${l}`;case`lastValue`:return O`LAST_VALUE(${t}) ${l}`;case`movingAvg`:return O`AVG(${t}) ${l}`;case`movingSum`:return O`SUM(${t}) ${l}`;default:throw Error(`Unsupported window function: ${e}`)}}},me=class extends H{getEngineType(){return`mysql`}supportsLateralJoins(){return!0}buildIntervalFromISO(e){let t=this.parseISODuration(e),n=[];return t.years&&n.push(`${t.years} YEAR`),t.months&&n.push(`${t.months} MONTH`),t.days&&n.push(`${t.days} DAY`),t.hours&&n.push(`${t.hours} HOUR`),t.minutes&&n.push(`${t.minutes} MINUTE`),t.seconds&&n.push(`${t.seconds} SECOND`),O`${this.durationToSeconds(e)}`}buildTimeDifferenceSeconds(e,t){return O`TIMESTAMPDIFF(SECOND, ${t}, ${e})`}buildDateAddInterval(e,t){let n=this.parseISODuration(t),r=e;return n.years&&(r=O`DATE_ADD(${r}, INTERVAL ${n.years} YEAR)`),n.months&&(r=O`DATE_ADD(${r}, INTERVAL ${n.months} MONTH)`),n.days&&(r=O`DATE_ADD(${r}, INTERVAL ${n.days} DAY)`),n.hours&&(r=O`DATE_ADD(${r}, INTERVAL ${n.hours} HOUR)`),n.minutes&&(r=O`DATE_ADD(${r}, INTERVAL ${n.minutes} MINUTE)`),n.seconds&&(r=O`DATE_ADD(${r}, INTERVAL ${n.seconds} SECOND)`),r}buildConditionalAggregation(e,t,n){let r=e.toUpperCase();return e===`count`&&!t?O`COUNT(CASE WHEN ${n} THEN 1 END)`:O`${O.raw(r)}(CASE WHEN ${n} THEN ${t} END)`}buildDateDiffPeriods(e,t,n){let r=n.toUpperCase();return O`TIMESTAMPDIFF(${O.raw(r)}, ${e}, ${t})`}buildPeriodSeriesSubquery(e){return O`(
2
2
  WITH RECURSIVE periods(period_number) AS (
3
3
  SELECT 0
4
4
  UNION ALL
@@ -13,7 +13,7 @@ const e=require(`./utils-DrWvXf0G.cjs`);var t=Symbol.for(`drizzle:entityKind`);f
13
13
  )
14
14
  SELECT period_number FROM periods
15
15
  ) p`}buildTimeDimension(e,t){switch(e){case`year`:return O`datetime(${t}, 'unixepoch', 'start of year')`;case`quarter`:{let e=O`datetime(${t}, 'unixepoch')`;return O`datetime(${e}, 'start of year',
16
- '+' || (((CAST(strftime('%m', ${e}) AS INTEGER) - 1) / 3) * 3) || ' months')`}case`month`:return O`datetime(${t}, 'unixepoch', 'start of month')`;case`week`:return O`date(datetime(${t}, 'unixepoch'), 'weekday 1', '-6 days')`;case`day`:return O`datetime(${t}, 'unixepoch', 'start of day')`;case`hour`:return O`datetime(strftime('%Y-%m-%d %H:00:00', ${O`datetime(${t}, 'unixepoch')`}))`;case`minute`:return O`datetime(strftime('%Y-%m-%d %H:%M:00', ${O`datetime(${t}, 'unixepoch')`}))`;case`second`:return O`datetime(strftime('%Y-%m-%d %H:%M:%S', ${O`datetime(${t}, 'unixepoch')`}))`;default:return O`datetime(${t}, 'unixepoch')`}}buildStringCondition(e,t,n){switch(t){case`contains`:return O`LOWER(${e}) LIKE ${`%${n.toLowerCase()}%`}`;case`notContains`:return O`LOWER(${e}) NOT LIKE ${`%${n.toLowerCase()}%`}`;case`startsWith`:return O`LOWER(${e}) LIKE ${`${n.toLowerCase()}%`}`;case`endsWith`:return O`LOWER(${e}) LIKE ${`%${n.toLowerCase()}`}`;case`like`:return O`${e} LIKE ${n}`;case`notLike`:return O`${e} NOT LIKE ${n}`;case`ilike`:return O`LOWER(${e}) LIKE ${n.toLowerCase()}`;case`regex`:return O`${e} GLOB ${n}`;case`notRegex`:return O`${e} NOT GLOB ${n}`;default:throw Error(`Unsupported string operator: ${t}`)}}castToType(e,t){switch(t){case`timestamp`:return O`datetime(${e} / 1000, 'unixepoch')`;case`decimal`:return O`CAST(${e} AS REAL)`;case`integer`:return O`CAST(${e} AS INTEGER)`;default:throw Error(`Unsupported cast type: ${t}`)}}buildAvg(e){return O`IFNULL(AVG(${e}), 0)`}buildCaseWhen(e,t){let n=e.map(e=>e.then&&typeof e.then==`object`&&(e.then.queryChunks||e.then._||e.then.sql)?O`WHEN ${e.when} THEN ${O.raw(`(`)}${e.then}${O.raw(`)`)}`:O`WHEN ${e.when} THEN ${e.then}`).reduce((e,t)=>O`${e} ${t}`);return t===void 0?O`CASE ${n} END`:t&&typeof t==`object`&&(t.queryChunks||t._||t.sql)?O`CASE ${n} ELSE ${O.raw(`(`)}${t}${O.raw(`)`)} END`:O`CASE ${n} ELSE ${t} END`}buildBooleanLiteral(e){return e?O`1`:O`0`}preprocessCalculatedTemplate(e){return e.length>1e3?e:e.replace(/(\{[^}]+\})\s*\/\s*/g,(e,t)=>`${t.replace(/\{([^}]+)\}/,`CAST({$1} AS REAL)`)} / `)}convertFilterValue(e){return typeof e==`boolean`?+!!e:e instanceof Date?e.getTime():Array.isArray(e)?e.map(e=>this.convertFilterValue(e)):e}prepareDateValue(e){if(!(e instanceof Date)){if(typeof e==`number`)return e;if(typeof e==`string`)return new Date(e).getTime();throw Error(`prepareDateValue expects a Date object, got ${typeof e}`)}return e.getTime()}isTimestampInteger(){return!0}convertTimeDimensionResult(e){return e}getCapabilities(){return{supportsStddev:!1,supportsVariance:!1,supportsPercentile:!1,supportsWindowFunctions:!0,supportsFrameClause:!0,supportsLateralJoins:!1,supportsPercentileSubqueries:!1,supportsDerivedTablesInCTE:!0,supportsLateralSubqueriesInCTE:!1}}buildStddev(e,t=!1){return null}buildVariance(e,t=!1){return null}buildPercentile(e,t){return null}buildWindowFunction(e,t,n,r,i){let a=n&&n.length>0?O`PARTITION BY ${O.join(n,O`, `)}`:O``,o=r&&r.length>0?O`ORDER BY ${O.join(r.map(e=>e.direction===`desc`?O`${e.field} DESC`:O`${e.field} ASC`),O`, `)}`:O``,s=O``;if(i?.frame){let{type:e,start:t,end:n}=i.frame,r=e.toUpperCase(),a=t===`unbounded`?`UNBOUNDED PRECEDING`:typeof t==`number`?`${t} PRECEDING`:`CURRENT ROW`,o=n===`unbounded`?`UNBOUNDED FOLLOWING`:n===`current`?`CURRENT ROW`:typeof n==`number`?`${n} FOLLOWING`:`CURRENT ROW`;s=O`${O.raw(r)} BETWEEN ${O.raw(a)} AND ${O.raw(o)}`}let c=[];n&&n.length>0&&c.push(a),r&&r.length>0&&c.push(o),i?.frame&&c.push(s);let l=O`OVER (${c.length>0?O.join(c,O` `):O``})`;switch(e){case`lag`:return O`LAG(${t}, ${i?.offset??1}${i?.defaultValue===void 0?O``:O`, ${i.defaultValue}`}) ${l}`;case`lead`:return O`LEAD(${t}, ${i?.offset??1}${i?.defaultValue===void 0?O``:O`, ${i.defaultValue}`}) ${l}`;case`rank`:return O`RANK() ${l}`;case`denseRank`:return O`DENSE_RANK() ${l}`;case`rowNumber`:return O`ROW_NUMBER() ${l}`;case`ntile`:return O`NTILE(${i?.nTile??4}) ${l}`;case`firstValue`:return O`FIRST_VALUE(${t}) ${l}`;case`lastValue`:return O`LAST_VALUE(${t}) ${l}`;case`movingAvg`:return O`AVG(${t}) ${l}`;case`movingSum`:return O`SUM(${t}) ${l}`;default:throw Error(`Unsupported window function: ${e}`)}}},ge=class extends me{getEngineType(){return`singlestore`}},_e=class extends H{getEngineType(){return`duckdb`}supportsLateralJoins(){return!1}buildIntervalFromISO(e){let t=this.parseISODuration(e),n=[];t.years&&n.push(`${t.years} years`),t.months&&n.push(`${t.months} months`),t.days&&n.push(`${t.days} days`),t.hours&&n.push(`${t.hours} hours`),t.minutes&&n.push(`${t.minutes} minutes`),t.seconds&&n.push(`${t.seconds} seconds`);let r=n.join(` `)||`0 seconds`;return O`INTERVAL '${O.raw(r)}'`}buildTimeDifferenceSeconds(e,t){return O`(EPOCH(${e}) - EPOCH(${t}))`}buildDateAddInterval(e,t){return O`(${e} + ${this.buildIntervalFromISO(t)})`}buildConditionalAggregation(e,t,n){let r=e.toUpperCase();return e===`count`&&!t?O`COUNT(*) FILTER (WHERE ${n})`:O`${O.raw(r)}(${t}) FILTER (WHERE ${n})`}buildDateDiffPeriods(e,t,n){return O`DATE_DIFF('${O.raw(n)}', ${e}::timestamp, ${t}::timestamp)`}buildPeriodSeriesSubquery(e){return O`(SELECT UNNEST(generate_series(0, ${e})) as period_number) p`}buildTimeDimension(e,t){switch(e){case`year`:return O`DATE_TRUNC('year', ${t}::timestamp)`;case`quarter`:return O`DATE_TRUNC('quarter', ${t}::timestamp)`;case`month`:return O`DATE_TRUNC('month', ${t}::timestamp)`;case`week`:return O`DATE_TRUNC('week', ${t}::timestamp)`;case`day`:return O`DATE_TRUNC('day', ${t}::timestamp)::timestamp`;case`hour`:return O`DATE_TRUNC('hour', ${t}::timestamp)`;case`minute`:return O`DATE_TRUNC('minute', ${t}::timestamp)`;case`second`:return O`DATE_TRUNC('second', ${t}::timestamp)`;default:return t}}buildStringCondition(e,t,n){switch(t){case`contains`:return O`${e} ILIKE ${`%${n}%`}`;case`notContains`:return O`${e} NOT ILIKE ${`%${n}%`}`;case`startsWith`:return O`${e} ILIKE ${`${n}%`}`;case`endsWith`:return O`${e} ILIKE ${`%${n}`}`;case`like`:return O`${e} LIKE ${n}`;case`notLike`:return O`${e} NOT LIKE ${n}`;case`ilike`:return O`${e} ILIKE ${n}`;case`regex`:return O`regexp_matches(${e}, ${n})`;case`notRegex`:return O`NOT regexp_matches(${e}, ${n})`;default:throw Error(`Unsupported string operator: ${t}`)}}castToType(e,t){switch(t){case`timestamp`:return O`${e}::timestamp`;case`decimal`:return O`${e}::decimal`;case`integer`:return O`${e}::integer`;default:throw Error(`Unsupported cast type: ${t}`)}}buildAvg(e){return O`COALESCE(AVG(${e}), 0)`}buildCaseWhen(e,t){let n=e.map(e=>O`WHEN ${e.when} THEN ${e.then}`).reduce((e,t)=>O`${e} ${t}`);return t===void 0?O`CASE ${n} END`:O`CASE ${n} ELSE ${t} END`}buildBooleanLiteral(e){return e?O`TRUE`:O`FALSE`}convertFilterValue(e){return e}prepareDateValue(e){return e}isTimestampInteger(){return!1}convertTimeDimensionResult(e){return e}getCapabilities(){return{supportsStddev:!0,supportsVariance:!0,supportsPercentile:!0,supportsWindowFunctions:!0,supportsFrameClause:!0,supportsLateralJoins:!1,supportsPercentileSubqueries:!1,supportsDerivedTablesInCTE:!0,supportsLateralSubqueriesInCTE:!1}}buildStddev(e,t=!1){let n=t?`STDDEV_SAMP`:`STDDEV_POP`;return O`COALESCE(${O.raw(n)}(${e}), 0)`}buildVariance(e,t=!1){let n=t?`VAR_SAMP`:`VAR_POP`;return O`COALESCE(${O.raw(n)}(${e}), 0)`}buildPercentile(e,t){return O`QUANTILE_CONT(${e}, ${t/100})`}buildWindowFunction(e,t,n,r,i){let a=n&&n.length>0?O`PARTITION BY ${O.join(n,O`, `)}`:O``,o=r&&r.length>0?O`ORDER BY ${O.join(r.map(e=>e.direction===`desc`?O`${e.field} DESC`:O`${e.field} ASC`),O`, `)}`:O``,s=O``;if(i?.frame){let{type:e,start:t,end:n}=i.frame,r=e.toUpperCase(),a=t===`unbounded`?`UNBOUNDED PRECEDING`:typeof t==`number`?`${t} PRECEDING`:`CURRENT ROW`,o=n===`unbounded`?`UNBOUNDED FOLLOWING`:n===`current`?`CURRENT ROW`:typeof n==`number`?`${n} FOLLOWING`:`CURRENT ROW`;s=O`${O.raw(r)} BETWEEN ${O.raw(a)} AND ${O.raw(o)}`}let c=[];n&&n.length>0&&c.push(a),r&&r.length>0&&c.push(o),i?.frame&&c.push(s);let l=O`OVER (${c.length>0?O.join(c,O` `):O``})`;switch(e){case`lag`:return O`LAG(${t}, ${i?.offset??1}${i?.defaultValue===void 0?O``:O`, ${i.defaultValue}`}) ${l}`;case`lead`:return O`LEAD(${t}, ${i?.offset??1}${i?.defaultValue===void 0?O``:O`, ${i.defaultValue}`}) ${l}`;case`rank`:return O`RANK() ${l}`;case`denseRank`:return O`DENSE_RANK() ${l}`;case`rowNumber`:return O`ROW_NUMBER() ${l}`;case`ntile`:return O`NTILE(${i?.nTile??4}) ${l}`;case`firstValue`:return O`FIRST_VALUE(${t}) ${l}`;case`lastValue`:return O`LAST_VALUE(${t}) ${l}`;case`movingAvg`:return O`AVG(${t}) ${l}`;case`movingSum`:return O`SUM(${t}) ${l}`;default:throw Error(`Unsupported window function: ${e}`)}}},ve=class extends H{getEngineType(){return`databend`}supportsLateralJoins(){return!1}buildIntervalFromISO(e){let t=this.parseISODuration(e),n=[];if(t.years&&n.push(`${t.years} YEAR`),t.months&&n.push(`${t.months} MONTH`),t.days&&n.push(`${t.days} DAY`),t.hours&&n.push(`${t.hours} HOUR`),t.minutes&&n.push(`${t.minutes} MINUTE`),t.seconds&&n.push(`${t.seconds} SECOND`),n.length===0)return O`INTERVAL 0 SECOND`;if(n.length===1)return O`INTERVAL ${O.raw(n[0])}`;let r=n.map(e=>`INTERVAL ${e}`);return O`(${O.raw(r.join(` + `))})`}buildTimeDifferenceSeconds(e,t){return O`EXTRACT(EPOCH FROM TIMESTAMP_DIFF(${e}, ${t}))`}buildDateAddInterval(e,t){return O`(${e} + ${this.buildIntervalFromISO(t)})`}buildConditionalAggregation(e,t,n){let r=e.toUpperCase();return e===`count`&&!t?O`${O.raw(r)}(CASE WHEN ${n} THEN 1 END)`:O`${O.raw(r)}(CASE WHEN ${n} THEN ${t} END)`}buildDateDiffPeriods(e,t,n){return O`DATE_DIFF('${O.raw(n)}', ${e}::TIMESTAMP, ${t}::TIMESTAMP)`}buildPeriodSeriesSubquery(e){return O`(SELECT number as period_number FROM numbers(${e+1})) p`}buildTimeDimension(e,t){switch(e){case`year`:return O`DATE_TRUNC(YEAR, ${t}::TIMESTAMP)`;case`quarter`:return O`DATE_TRUNC(QUARTER, ${t}::TIMESTAMP)`;case`month`:return O`DATE_TRUNC(MONTH, ${t}::TIMESTAMP)`;case`week`:return O`DATE_TRUNC(WEEK, ${t}::TIMESTAMP)`;case`day`:return O`DATE_TRUNC(DAY, ${t}::TIMESTAMP)::TIMESTAMP`;case`hour`:return O`DATE_TRUNC(HOUR, ${t}::TIMESTAMP)`;case`minute`:return O`DATE_TRUNC(MINUTE, ${t}::TIMESTAMP)`;case`second`:return O`DATE_TRUNC(SECOND, ${t}::TIMESTAMP)`;default:return t}}buildStringCondition(e,t,n){switch(t){case`contains`:return O`LOWER(${e}) LIKE LOWER(${`%${n}%`})`;case`notContains`:return O`LOWER(${e}) NOT LIKE LOWER(${`%${n}%`})`;case`startsWith`:return O`LOWER(${e}) LIKE LOWER(${`${n}%`})`;case`endsWith`:return O`LOWER(${e}) LIKE LOWER(${`%${n}`})`;case`like`:return O`${e} LIKE ${n}`;case`notLike`:return O`${e} NOT LIKE ${n}`;case`ilike`:return O`LOWER(${e}) LIKE LOWER(${n})`;case`regex`:return O`${e} REGEXP ${n}`;case`notRegex`:return O`NOT (${e} REGEXP ${n})`;default:throw Error(`Unsupported string operator: ${t}`)}}castToType(e,t){switch(t){case`timestamp`:return O`${e}::TIMESTAMP`;case`decimal`:return O`${e}::DECIMAL`;case`integer`:return O`${e}::INTEGER`;default:throw Error(`Unsupported cast type: ${t}`)}}buildAvg(e){return O`COALESCE(AVG(${e}), 0)`}buildCaseWhen(e,t){let n=e.map(e=>O`WHEN ${e.when} THEN ${e.then}`).reduce((e,t)=>O`${e} ${t}`);return t===void 0?O`CASE ${n} END`:O`CASE ${n} ELSE ${t} END`}buildBooleanLiteral(e){return e?O`TRUE`:O`FALSE`}convertFilterValue(e){return e}prepareDateValue(e){return e}isTimestampInteger(){return!1}convertTimeDimensionResult(e){return e}getCapabilities(){return{supportsStddev:!0,supportsVariance:!0,supportsPercentile:!1,supportsWindowFunctions:!0,supportsFrameClause:!0,supportsLateralJoins:!1,supportsPercentileSubqueries:!1,supportsDerivedTablesInCTE:!1,supportsLateralSubqueriesInCTE:!1}}buildStddev(e,t=!1){let n=t?`STDDEV_SAMP`:`STDDEV_POP`;return O`COALESCE(${O.raw(n)}(${e}), 0)`}buildVariance(e,t=!1){let n=t?`COVAR_SAMP`:`COVAR_POP`;return O`COALESCE(${O.raw(n)}(${e}, ${e}), 0)`}buildPercentile(e,t){throw Error(`Percentile functions are not yet supported for Databend`)}buildWindowFunction(e,t,n,r,i){let a=n&&n.length>0?O`PARTITION BY ${O.join(n,O`, `)}`:O``,o=r&&r.length>0?O`ORDER BY ${O.join(r.map(e=>e.direction===`desc`?O`${e.field} DESC`:O`${e.field} ASC`),O`, `)}`:O``,s=O``;if(i?.frame){let{type:e,start:t,end:n}=i.frame,r=e.toUpperCase(),a=t===`unbounded`?`UNBOUNDED PRECEDING`:typeof t==`number`?`${t} PRECEDING`:`CURRENT ROW`,o=n===`unbounded`?`UNBOUNDED FOLLOWING`:n===`current`?`CURRENT ROW`:typeof n==`number`?`${n} FOLLOWING`:`CURRENT ROW`;s=O`${O.raw(r)} BETWEEN ${O.raw(a)} AND ${O.raw(o)}`}let c=[];n&&n.length>0&&c.push(a),r&&r.length>0&&c.push(o),i?.frame&&c.push(s);let l=O`OVER (${c.length>0?O.join(c,O` `):O``})`;switch(e){case`lag`:return O`LAG(${t}, ${i?.offset??1}${i?.defaultValue===void 0?O``:O`, ${i.defaultValue}`}) ${l}`;case`lead`:return O`LEAD(${t}, ${i?.offset??1}${i?.defaultValue===void 0?O``:O`, ${i.defaultValue}`}) ${l}`;case`rank`:return O`RANK() ${l}`;case`denseRank`:return O`DENSE_RANK() ${l}`;case`rowNumber`:return O`ROW_NUMBER() ${l}`;case`ntile`:return O`NTILE(${i?.nTile??4}) ${l}`;case`firstValue`:return O`FIRST_VALUE(${t}) ${l}`;case`lastValue`:return O`LAST_VALUE(${t}) ${l}`;case`movingAvg`:return O`AVG(${t}) ${l}`;case`movingSum`:return O`SUM(${t}) ${l}`;default:throw Error(`Unsupported window function: ${e}`)}}},ye=class extends H{getEngineType(){return`snowflake`}supportsLateralJoins(){return!0}buildIntervalFromISO(e){return O`${this.durationToSeconds(e)}`}buildTimeDifferenceSeconds(e,t){return O`DATEDIFF('SECOND', ${t}, ${e})`}buildDateAddInterval(e,t){let n=this.parseISODuration(t),r=e;return n.years&&(r=O`DATEADD('YEAR', ${n.years}, ${r})`),n.months&&(r=O`DATEADD('MONTH', ${n.months}, ${r})`),n.days&&(r=O`DATEADD('DAY', ${n.days}, ${r})`),n.hours&&(r=O`DATEADD('HOUR', ${n.hours}, ${r})`),n.minutes&&(r=O`DATEADD('MINUTE', ${n.minutes}, ${r})`),n.seconds&&(r=O`DATEADD('SECOND', ${n.seconds}, ${r})`),r}buildConditionalAggregation(e,t,n){let r=e.toUpperCase();return e===`count`&&!t?O`${O.raw(r)}(CASE WHEN ${n} THEN 1 END)`:O`${O.raw(r)}(CASE WHEN ${n} THEN ${t} END)`}buildDateDiffPeriods(e,t,n){let r=n.toUpperCase();return O`DATEDIFF('${O.raw(r)}', ${e}::TIMESTAMP, ${t}::TIMESTAMP)`}buildPeriodSeriesSubquery(e){return O`(SELECT ROW_NUMBER() OVER (ORDER BY 1) - 1 AS period_number FROM TABLE(GENERATOR(ROWCOUNT => ${e+1}))) p`}buildTimeDimension(e,t){switch(e){case`year`:return O`DATE_TRUNC('YEAR', ${t}::TIMESTAMP)`;case`quarter`:return O`DATE_TRUNC('QUARTER', ${t}::TIMESTAMP)`;case`month`:return O`DATE_TRUNC('MONTH', ${t}::TIMESTAMP)`;case`week`:return O`DATE_TRUNC('WEEK', ${t}::TIMESTAMP)`;case`day`:return O`DATE_TRUNC('DAY', ${t}::TIMESTAMP)::TIMESTAMP`;case`hour`:return O`DATE_TRUNC('HOUR', ${t}::TIMESTAMP)`;case`minute`:return O`DATE_TRUNC('MINUTE', ${t}::TIMESTAMP)`;case`second`:return O`DATE_TRUNC('SECOND', ${t}::TIMESTAMP)`;default:return t}}buildStringCondition(e,t,n){switch(t){case`contains`:return O`${e} ILIKE ${`%${n}%`}`;case`notContains`:return O`${e} NOT ILIKE ${`%${n}%`}`;case`startsWith`:return O`${e} ILIKE ${`${n}%`}`;case`endsWith`:return O`${e} ILIKE ${`%${n}`}`;case`like`:return O`${e} LIKE ${n}`;case`notLike`:return O`${e} NOT LIKE ${n}`;case`ilike`:return O`${e} ILIKE ${n}`;case`regex`:return O`REGEXP_LIKE(${e}, ${n})`;case`notRegex`:return O`NOT REGEXP_LIKE(${e}, ${n})`;default:throw Error(`Unsupported string operator: ${t}`)}}castToType(e,t){switch(t){case`timestamp`:return O`${e}::TIMESTAMP`;case`decimal`:return O`${e}::DECIMAL`;case`integer`:return O`${e}::INTEGER`;default:throw Error(`Unsupported cast type: ${t}`)}}buildAvg(e){return O`COALESCE(AVG(${e}), 0)`}buildCaseWhen(e,t){let n=e.map(e=>O`WHEN ${e.when} THEN ${e.then}`).reduce((e,t)=>O`${e} ${t}`);return t===void 0?O`CASE ${n} END`:O`CASE ${n} ELSE ${t} END`}buildBooleanLiteral(e){return e?O`TRUE`:O`FALSE`}convertFilterValue(e){return e}prepareDateValue(e){return e}isTimestampInteger(){return!1}convertTimeDimensionResult(e){return e}getCapabilities(){return{supportsStddev:!0,supportsVariance:!0,supportsPercentile:!0,supportsWindowFunctions:!0,supportsFrameClause:!0,supportsLateralJoins:!0,supportsPercentileSubqueries:!0,supportsDerivedTablesInCTE:!0,supportsLateralSubqueriesInCTE:!1}}buildStddev(e,t=!1){let n=t?`STDDEV_SAMP`:`STDDEV_POP`;return O`COALESCE(${O.raw(n)}(${e}), 0)`}buildVariance(e,t=!1){let n=t?`VAR_SAMP`:`VAR_POP`;return O`COALESCE(${O.raw(n)}(${e}), 0)`}buildPercentile(e,t){let n=(t/100).toString();return O`PERCENTILE_CONT(${O.raw(n)}) WITHIN GROUP (ORDER BY ${e})`}buildWindowFunction(e,t,n,r,i){let a=n&&n.length>0?O`PARTITION BY ${O.join(n,O`, `)}`:O``,o=r&&r.length>0?O`ORDER BY ${O.join(r.map(e=>e.direction===`desc`?O`${e.field} DESC`:O`${e.field} ASC`),O`, `)}`:O``,s=O``;if(i?.frame){let{type:e,start:t,end:n}=i.frame,r=e.toUpperCase(),a=t===`unbounded`?`UNBOUNDED PRECEDING`:typeof t==`number`?`${t} PRECEDING`:`CURRENT ROW`,o=n===`unbounded`?`UNBOUNDED FOLLOWING`:n===`current`?`CURRENT ROW`:typeof n==`number`?`${n} FOLLOWING`:`CURRENT ROW`;s=O`${O.raw(r)} BETWEEN ${O.raw(a)} AND ${O.raw(o)}`}let c=[];n&&n.length>0&&c.push(a),r&&r.length>0&&c.push(o),i?.frame&&c.push(s);let l=O`OVER (${c.length>0?O.join(c,O` `):O``})`;switch(e){case`lag`:return O`LAG(${t}, ${i?.offset??1}${i?.defaultValue===void 0?O``:O`, ${i.defaultValue}`}) ${l}`;case`lead`:return O`LEAD(${t}, ${i?.offset??1}${i?.defaultValue===void 0?O``:O`, ${i.defaultValue}`}) ${l}`;case`rank`:return O`RANK() ${l}`;case`denseRank`:return O`DENSE_RANK() ${l}`;case`rowNumber`:return O`ROW_NUMBER() ${l}`;case`ntile`:return O`NTILE(${i?.nTile??4}) ${l}`;case`firstValue`:return O`FIRST_VALUE(${t}) ${l}`;case`lastValue`:return O`LAST_VALUE(${t}) ${l}`;case`movingAvg`:return O`AVG(${t}) ${l}`;case`movingSum`:return O`SUM(${t}) ${l}`;default:throw Error(`Unsupported window function: ${e}`)}}};function be(e){switch(e){case`postgres`:return new pe;case`mysql`:return new me;case`sqlite`:return new he;case`singlestore`:return new ge;case`duckdb`:return new _e;case`databend`:return new ve;case`snowflake`:return new ye;default:throw Error(`Unsupported database engine: ${e}`)}}var U=class{databaseAdapter;constructor(e,t,n){this.db=e,this.schema=t,this.databaseAdapter=be(n||this.getEngineType())}};function xe(e,t){let n=[],r=[],i=!1,a,o,s,c=[];for(let t of e){let e=t.match(/Planning Time:\s*([\d.]+)\s*ms/i);if(e){a=parseFloat(e[1]);continue}let l=t.match(/Execution Time:\s*([\d.]+)\s*ms/i);if(l){o=parseFloat(l[1]);continue}let u=Se(t);if(u){u.type.includes(`Seq Scan`)&&(i=!0),u.index&&r.push(u.index),n.length===0&&u.estimatedCost!==void 0&&(s=u.estimatedCost);let e=t.search(/\S/);for(;c.length>0&&c[c.length-1].indent>=e;)c.pop();if(c.length===0)n.push(u);else{let e=c[c.length-1].op;e.children||=[],e.children.push(u)}c.push({indent:e,op:u})}}return{operations:n,summary:{database:`postgres`,planningTime:a,executionTime:o,totalCost:s,hasSequentialScans:i,usedIndexes:[...new Set(r)]},raw:e.join(`
16
+ '+' || (((CAST(strftime('%m', ${e}) AS INTEGER) - 1) / 3) * 3) || ' months')`}case`month`:return O`datetime(${t}, 'unixepoch', 'start of month')`;case`week`:return O`date(datetime(${t}, 'unixepoch'), 'weekday 1', '-6 days')`;case`day`:return O`datetime(${t}, 'unixepoch', 'start of day')`;case`hour`:return O`datetime(strftime('%Y-%m-%d %H:00:00', ${O`datetime(${t}, 'unixepoch')`}))`;case`minute`:return O`datetime(strftime('%Y-%m-%d %H:%M:00', ${O`datetime(${t}, 'unixepoch')`}))`;case`second`:return O`datetime(strftime('%Y-%m-%d %H:%M:%S', ${O`datetime(${t}, 'unixepoch')`}))`;default:return O`datetime(${t}, 'unixepoch')`}}buildStringCondition(e,t,n){switch(t){case`contains`:return O`LOWER(${e}) LIKE ${`%${n.toLowerCase()}%`}`;case`notContains`:return O`LOWER(${e}) NOT LIKE ${`%${n.toLowerCase()}%`}`;case`startsWith`:return O`LOWER(${e}) LIKE ${`${n.toLowerCase()}%`}`;case`endsWith`:return O`LOWER(${e}) LIKE ${`%${n.toLowerCase()}`}`;case`like`:return O`${e} LIKE ${n}`;case`notLike`:return O`${e} NOT LIKE ${n}`;case`ilike`:return O`LOWER(${e}) LIKE ${n.toLowerCase()}`;case`regex`:return O`${e} GLOB ${n}`;case`notRegex`:return O`${e} NOT GLOB ${n}`;default:throw Error(`Unsupported string operator: ${t}`)}}castToType(e,t){switch(t){case`timestamp`:return O`datetime(${e} / 1000, 'unixepoch')`;case`decimal`:return O`CAST(${e} AS REAL)`;case`integer`:return O`CAST(${e} AS INTEGER)`;default:throw Error(`Unsupported cast type: ${t}`)}}buildAvg(e){return O`IFNULL(AVG(${e}), 0)`}buildCaseWhen(e,t){let n=e.map(e=>e.then&&typeof e.then==`object`&&(e.then.queryChunks||e.then._||e.then.sql)?O`WHEN ${e.when} THEN ${O.raw(`(`)}${e.then}${O.raw(`)`)}`:O`WHEN ${e.when} THEN ${e.then}`).reduce((e,t)=>O`${e} ${t}`);return t===void 0?O`CASE ${n} END`:t&&typeof t==`object`&&(t.queryChunks||t._||t.sql)?O`CASE ${n} ELSE ${O.raw(`(`)}${t}${O.raw(`)`)} END`:O`CASE ${n} ELSE ${t} END`}buildBooleanLiteral(e){return e?O`1`:O`0`}preprocessCalculatedTemplate(e){return e.length>1e3?e:e.replace(/(\{[^}]+\})\s*\/\s*/g,(e,t)=>`${t.replace(/\{([^}]+)\}/,`CAST({$1} AS REAL)`)} / `)}convertFilterValue(e){return typeof e==`boolean`?+!!e:e instanceof Date?e.getTime():Array.isArray(e)?e.map(e=>this.convertFilterValue(e)):e}prepareDateValue(e){if(!(e instanceof Date)){if(typeof e==`number`)return e;if(typeof e==`string`)return new Date(e).getTime();throw Error(`prepareDateValue expects a Date object, got ${typeof e}`)}return e.getTime()}isTimestampInteger(){return!0}convertTimeDimensionResult(e){return e}getCapabilities(){return{supportsStddev:!1,supportsVariance:!1,supportsPercentile:!1,supportsWindowFunctions:!0,supportsFrameClause:!0,supportsLateralJoins:!1,supportsPercentileSubqueries:!1,supportsDerivedTablesInCTE:!0,supportsLateralSubqueriesInCTE:!1}}buildStddev(e,t=!1){return null}buildVariance(e,t=!1){return null}buildPercentile(e,t){return null}buildWindowFunction(e,t,n,r,i){let a=n&&n.length>0?O`PARTITION BY ${O.join(n,O`, `)}`:O``,o=r&&r.length>0?O`ORDER BY ${O.join(r.map(e=>e.direction===`desc`?O`${e.field} DESC`:O`${e.field} ASC`),O`, `)}`:O``,s=O``;if(i?.frame){let{type:e,start:t,end:n}=i.frame,r=e.toUpperCase(),a=t===`unbounded`?`UNBOUNDED PRECEDING`:typeof t==`number`?`${t} PRECEDING`:`CURRENT ROW`,o=n===`unbounded`?`UNBOUNDED FOLLOWING`:n===`current`?`CURRENT ROW`:typeof n==`number`?`${n} FOLLOWING`:`CURRENT ROW`;s=O`${O.raw(r)} BETWEEN ${O.raw(a)} AND ${O.raw(o)}`}let c=[];n&&n.length>0&&c.push(a),r&&r.length>0&&c.push(o),i?.frame&&c.push(s);let l=O`OVER (${c.length>0?O.join(c,O` `):O``})`;switch(e){case`lag`:return O`LAG(${t}, ${i?.offset??1}${i?.defaultValue===void 0?O``:O`, ${i.defaultValue}`}) ${l}`;case`lead`:return O`LEAD(${t}, ${i?.offset??1}${i?.defaultValue===void 0?O``:O`, ${i.defaultValue}`}) ${l}`;case`rank`:return O`RANK() ${l}`;case`denseRank`:return O`DENSE_RANK() ${l}`;case`rowNumber`:return O`ROW_NUMBER() ${l}`;case`ntile`:return O`NTILE(${i?.nTile??4}) ${l}`;case`firstValue`:return O`FIRST_VALUE(${t}) ${l}`;case`lastValue`:return O`LAST_VALUE(${t}) ${l}`;case`movingAvg`:return O`AVG(${t}) ${l}`;case`movingSum`:return O`SUM(${t}) ${l}`;default:throw Error(`Unsupported window function: ${e}`)}}},ge=class extends me{getEngineType(){return`singlestore`}},_e=class extends H{getEngineType(){return`duckdb`}supportsLateralJoins(){return!1}buildIntervalFromISO(e){let t=this.parseISODuration(e),n=[];t.years&&n.push(`${t.years} years`),t.months&&n.push(`${t.months} months`),t.days&&n.push(`${t.days} days`),t.hours&&n.push(`${t.hours} hours`),t.minutes&&n.push(`${t.minutes} minutes`),t.seconds&&n.push(`${t.seconds} seconds`);let r=n.join(` `)||`0 seconds`;return O`INTERVAL '${O.raw(r)}'`}buildTimeDifferenceSeconds(e,t){return O`(EPOCH(${e}) - EPOCH(${t}))`}buildDateAddInterval(e,t){return O`(${e} + ${this.buildIntervalFromISO(t)})`}buildConditionalAggregation(e,t,n){let r=e.toUpperCase();return e===`count`&&!t?O`COUNT(*) FILTER (WHERE ${n})`:O`${O.raw(r)}(${t}) FILTER (WHERE ${n})`}buildDateDiffPeriods(e,t,n){return O`DATE_DIFF('${O.raw(n)}', ${e}::timestamp, ${t}::timestamp)`}buildPeriodSeriesSubquery(e){return O`(SELECT UNNEST(generate_series(0, ${e})) as period_number) p`}buildTimeDimension(e,t){switch(e){case`year`:return O`DATE_TRUNC('year', ${t}::timestamp)`;case`quarter`:return O`DATE_TRUNC('quarter', ${t}::timestamp)`;case`month`:return O`DATE_TRUNC('month', ${t}::timestamp)`;case`week`:return O`DATE_TRUNC('week', ${t}::timestamp)`;case`day`:return O`DATE_TRUNC('day', ${t}::timestamp)::timestamp`;case`hour`:return O`DATE_TRUNC('hour', ${t}::timestamp)`;case`minute`:return O`DATE_TRUNC('minute', ${t}::timestamp)`;case`second`:return O`DATE_TRUNC('second', ${t}::timestamp)`;default:return t}}buildStringCondition(e,t,n){switch(t){case`contains`:return O`${e} ILIKE ${`%${n}%`}`;case`notContains`:return O`${e} NOT ILIKE ${`%${n}%`}`;case`startsWith`:return O`${e} ILIKE ${`${n}%`}`;case`endsWith`:return O`${e} ILIKE ${`%${n}`}`;case`like`:return O`${e} LIKE ${n}`;case`notLike`:return O`${e} NOT LIKE ${n}`;case`ilike`:return O`${e} ILIKE ${n}`;case`regex`:return O`regexp_matches(${e}, ${n})`;case`notRegex`:return O`NOT regexp_matches(${e}, ${n})`;default:throw Error(`Unsupported string operator: ${t}`)}}castToType(e,t){switch(t){case`timestamp`:return O`${e}::timestamp`;case`decimal`:return O`${e}::decimal`;case`integer`:return O`${e}::integer`;default:throw Error(`Unsupported cast type: ${t}`)}}buildAvg(e){return O`COALESCE(AVG(${e}), 0)`}buildCaseWhen(e,t){let n=e.map(e=>O`WHEN ${e.when} THEN ${e.then}`).reduce((e,t)=>O`${e} ${t}`);return t===void 0?O`CASE ${n} END`:O`CASE ${n} ELSE ${t} END`}buildBooleanLiteral(e){return e?O`TRUE`:O`FALSE`}convertFilterValue(e){return e}prepareDateValue(e){return e}isTimestampInteger(){return!1}convertTimeDimensionResult(e){return e}getCapabilities(){return{supportsStddev:!0,supportsVariance:!0,supportsPercentile:!0,supportsWindowFunctions:!0,supportsFrameClause:!0,supportsLateralJoins:!1,supportsPercentileSubqueries:!1,supportsDerivedTablesInCTE:!0,supportsLateralSubqueriesInCTE:!1}}buildStddev(e,t=!1){let n=t?`STDDEV_SAMP`:`STDDEV_POP`;return O`COALESCE(${O.raw(n)}(${e}), 0)`}buildVariance(e,t=!1){let n=t?`VAR_SAMP`:`VAR_POP`;return O`COALESCE(${O.raw(n)}(${e}), 0)`}buildPercentile(e,t){return O`QUANTILE_CONT(${e}, ${t/100})`}buildWindowFunction(e,t,n,r,i){let a=n&&n.length>0?O`PARTITION BY ${O.join(n,O`, `)}`:O``,o=r&&r.length>0?O`ORDER BY ${O.join(r.map(e=>e.direction===`desc`?O`${e.field} DESC`:O`${e.field} ASC`),O`, `)}`:O``,s=O``;if(i?.frame){let{type:e,start:t,end:n}=i.frame,r=e.toUpperCase(),a=t===`unbounded`?`UNBOUNDED PRECEDING`:typeof t==`number`?`${t} PRECEDING`:`CURRENT ROW`,o=n===`unbounded`?`UNBOUNDED FOLLOWING`:n===`current`?`CURRENT ROW`:typeof n==`number`?`${n} FOLLOWING`:`CURRENT ROW`;s=O`${O.raw(r)} BETWEEN ${O.raw(a)} AND ${O.raw(o)}`}let c=[];n&&n.length>0&&c.push(a),r&&r.length>0&&c.push(o),i?.frame&&c.push(s);let l=O`OVER (${c.length>0?O.join(c,O` `):O``})`;switch(e){case`lag`:return O`LAG(${t}, ${i?.offset??1}${i?.defaultValue===void 0?O``:O`, ${i.defaultValue}`}) ${l}`;case`lead`:return O`LEAD(${t}, ${i?.offset??1}${i?.defaultValue===void 0?O``:O`, ${i.defaultValue}`}) ${l}`;case`rank`:return O`RANK() ${l}`;case`denseRank`:return O`DENSE_RANK() ${l}`;case`rowNumber`:return O`ROW_NUMBER() ${l}`;case`ntile`:return O`NTILE(${i?.nTile??4}) ${l}`;case`firstValue`:return O`FIRST_VALUE(${t}) ${l}`;case`lastValue`:return O`LAST_VALUE(${t}) ${l}`;case`movingAvg`:return O`AVG(${t}) ${l}`;case`movingSum`:return O`SUM(${t}) ${l}`;default:throw Error(`Unsupported window function: ${e}`)}}},ve=class extends H{getEngineType(){return`databend`}supportsLateralJoins(){return!1}buildIntervalFromISO(e){let t=this.parseISODuration(e),n=[];if(t.years&&n.push(`${t.years} YEAR`),t.months&&n.push(`${t.months} MONTH`),t.days&&n.push(`${t.days} DAY`),t.hours&&n.push(`${t.hours} HOUR`),t.minutes&&n.push(`${t.minutes} MINUTE`),t.seconds&&n.push(`${t.seconds} SECOND`),n.length===0)return O`INTERVAL 0 SECOND`;if(n.length===1)return O`INTERVAL ${O.raw(n[0])}`;let r=n.map(e=>`INTERVAL ${e}`);return O`(${O.raw(r.join(` + `))})`}buildTimeDifferenceSeconds(e,t){return O`EXTRACT(EPOCH FROM TIMESTAMP_DIFF(${e}, ${t}))`}buildDateAddInterval(e,t){return O`(${e} + ${this.buildIntervalFromISO(t)})`}buildConditionalAggregation(e,t,n){let r=e.toUpperCase();return e===`count`&&!t?O`${O.raw(r)}(CASE WHEN ${n} THEN 1 END)`:O`${O.raw(r)}(CASE WHEN ${n} THEN ${t} END)`}buildDateDiffPeriods(e,t,n){return O`DATE_DIFF('${O.raw(n)}', ${e}::TIMESTAMP, ${t}::TIMESTAMP)`}buildPeriodSeriesSubquery(e){return O`(SELECT number as period_number FROM numbers(${e+1})) p`}buildTimeDimension(e,t){switch(e){case`year`:return O`DATE_TRUNC(YEAR, ${t}::TIMESTAMP)`;case`quarter`:return O`DATE_TRUNC(QUARTER, ${t}::TIMESTAMP)`;case`month`:return O`DATE_TRUNC(MONTH, ${t}::TIMESTAMP)`;case`week`:return O`DATE_TRUNC(WEEK, ${t}::TIMESTAMP)`;case`day`:return O`DATE_TRUNC(DAY, ${t}::TIMESTAMP)::TIMESTAMP`;case`hour`:return O`DATE_TRUNC(HOUR, ${t}::TIMESTAMP)`;case`minute`:return O`DATE_TRUNC(MINUTE, ${t}::TIMESTAMP)`;case`second`:return O`DATE_TRUNC(SECOND, ${t}::TIMESTAMP)`;default:return t}}buildStringCondition(e,t,n){switch(t){case`contains`:return O`LOWER(${e}) LIKE LOWER(${`%${n}%`})`;case`notContains`:return O`LOWER(${e}) NOT LIKE LOWER(${`%${n}%`})`;case`startsWith`:return O`LOWER(${e}) LIKE LOWER(${`${n}%`})`;case`endsWith`:return O`LOWER(${e}) LIKE LOWER(${`%${n}`})`;case`like`:return O`${e} LIKE ${n}`;case`notLike`:return O`${e} NOT LIKE ${n}`;case`ilike`:return O`LOWER(${e}) LIKE LOWER(${n})`;case`regex`:return O`${e} REGEXP ${n}`;case`notRegex`:return O`NOT (${e} REGEXP ${n})`;default:throw Error(`Unsupported string operator: ${t}`)}}castToType(e,t){switch(t){case`timestamp`:return O`${e}::TIMESTAMP`;case`decimal`:return O`${e}::DECIMAL`;case`integer`:return O`${e}::INTEGER`;default:throw Error(`Unsupported cast type: ${t}`)}}buildAvg(e){return O`COALESCE(AVG(${e}), 0)`}buildCaseWhen(e,t){let n=e.map(e=>O`WHEN ${e.when} THEN ${e.then}`).reduce((e,t)=>O`${e} ${t}`);return t===void 0?O`CASE ${n} END`:O`CASE ${n} ELSE ${t} END`}buildBooleanLiteral(e){return e?O`TRUE`:O`FALSE`}convertFilterValue(e){return e}prepareDateValue(e){return e}isTimestampInteger(){return!1}convertTimeDimensionResult(e){return e}getCapabilities(){return{supportsStddev:!0,supportsVariance:!0,supportsPercentile:!1,supportsWindowFunctions:!0,supportsFrameClause:!0,supportsLateralJoins:!1,supportsPercentileSubqueries:!1,supportsDerivedTablesInCTE:!1,supportsLateralSubqueriesInCTE:!1}}buildStddev(e,t=!1){let n=t?`STDDEV_SAMP`:`STDDEV_POP`;return O`COALESCE(${O.raw(n)}(${e}), 0)`}buildVariance(e,t=!1){let n=t?`COVAR_SAMP`:`COVAR_POP`;return O`COALESCE(${O.raw(n)}(${e}, ${e}), 0)`}buildPercentile(e,t){throw Error(`Percentile functions are not yet supported for Databend`)}buildWindowFunction(e,t,n,r,i){let a=n&&n.length>0?O`PARTITION BY ${O.join(n,O`, `)}`:O``,o=r&&r.length>0?O`ORDER BY ${O.join(r.map(e=>e.direction===`desc`?O`${e.field} DESC`:O`${e.field} ASC`),O`, `)}`:O``,s=O``;if(i?.frame){let{type:e,start:t,end:n}=i.frame,r=e.toUpperCase(),a=t===`unbounded`?`UNBOUNDED PRECEDING`:typeof t==`number`?`${t} PRECEDING`:`CURRENT ROW`,o=n===`unbounded`?`UNBOUNDED FOLLOWING`:n===`current`?`CURRENT ROW`:typeof n==`number`?`${n} FOLLOWING`:`CURRENT ROW`;s=O`${O.raw(r)} BETWEEN ${O.raw(a)} AND ${O.raw(o)}`}let c=[];n&&n.length>0&&c.push(a),r&&r.length>0&&c.push(o),i?.frame&&c.push(s);let l=O`OVER (${c.length>0?O.join(c,O` `):O``})`;switch(e){case`lag`:return O`LAG(${t}, ${i?.offset??1}${i?.defaultValue===void 0?O``:O`, ${i.defaultValue}`}) ${l}`;case`lead`:return O`LEAD(${t}, ${i?.offset??1}${i?.defaultValue===void 0?O``:O`, ${i.defaultValue}`}) ${l}`;case`rank`:return O`RANK() ${l}`;case`denseRank`:return O`DENSE_RANK() ${l}`;case`rowNumber`:return O`ROW_NUMBER() ${l}`;case`ntile`:return O`NTILE(${i?.nTile??4}) ${l}`;case`firstValue`:return O`FIRST_VALUE(${t}) ${l}`;case`lastValue`:return O`LAST_VALUE(${t}) ${l}`;case`movingAvg`:return O`AVG(${t}) ${l}`;case`movingSum`:return O`SUM(${t}) ${l}`;default:throw Error(`Unsupported window function: ${e}`)}}},ye=class extends H{getEngineType(){return`snowflake`}supportsLateralJoins(){return!0}buildIntervalFromISO(e){return O`${this.durationToSeconds(e)}`}buildTimeDifferenceSeconds(e,t){return O`DATEDIFF('SECOND', ${t}, ${e})`}buildDateAddInterval(e,t){let n=this.parseISODuration(t),r=e;return n.years&&(r=O`DATEADD('YEAR', ${n.years}, ${r})`),n.months&&(r=O`DATEADD('MONTH', ${n.months}, ${r})`),n.days&&(r=O`DATEADD('DAY', ${n.days}, ${r})`),n.hours&&(r=O`DATEADD('HOUR', ${n.hours}, ${r})`),n.minutes&&(r=O`DATEADD('MINUTE', ${n.minutes}, ${r})`),n.seconds&&(r=O`DATEADD('SECOND', ${n.seconds}, ${r})`),r}buildConditionalAggregation(e,t,n){let r=e.toUpperCase();return e===`count`&&!t?O`${O.raw(r)}(CASE WHEN ${n} THEN 1 END)`:O`${O.raw(r)}(CASE WHEN ${n} THEN ${t} END)`}buildDateDiffPeriods(e,t,n){let r=n.toUpperCase();return O`DATEDIFF('${O.raw(r)}', ${e}::TIMESTAMP, ${t}::TIMESTAMP)`}buildPeriodSeriesSubquery(e){return O`(SELECT ROW_NUMBER() OVER (ORDER BY 1) - 1 AS period_number FROM TABLE(GENERATOR(ROWCOUNT => ${e+1}))) p`}buildTimeDimension(e,t){switch(e){case`year`:return O`DATE_TRUNC('YEAR', ${t}::TIMESTAMP)`;case`quarter`:return O`DATE_TRUNC('QUARTER', ${t}::TIMESTAMP)`;case`month`:return O`DATE_TRUNC('MONTH', ${t}::TIMESTAMP)`;case`week`:return O`DATE_TRUNC('WEEK', ${t}::TIMESTAMP)`;case`day`:return O`DATE_TRUNC('DAY', ${t}::TIMESTAMP)::TIMESTAMP`;case`hour`:return O`DATE_TRUNC('HOUR', ${t}::TIMESTAMP)`;case`minute`:return O`DATE_TRUNC('MINUTE', ${t}::TIMESTAMP)`;case`second`:return O`DATE_TRUNC('SECOND', ${t}::TIMESTAMP)`;default:return t}}buildStringCondition(e,t,n){switch(t){case`contains`:return O`${e} ILIKE ${`%${n}%`}`;case`notContains`:return O`${e} NOT ILIKE ${`%${n}%`}`;case`startsWith`:return O`${e} ILIKE ${`${n}%`}`;case`endsWith`:return O`${e} ILIKE ${`%${n}`}`;case`like`:return O`${e} LIKE ${n}`;case`notLike`:return O`${e} NOT LIKE ${n}`;case`ilike`:return O`${e} ILIKE ${n}`;case`regex`:return O`REGEXP_LIKE(${e}, ${n})`;case`notRegex`:return O`NOT REGEXP_LIKE(${e}, ${n})`;default:throw Error(`Unsupported string operator: ${t}`)}}castToType(e,t){switch(t){case`timestamp`:return O`${e}::TIMESTAMP`;case`decimal`:return O`${e}::DECIMAL`;case`integer`:return O`${e}::INTEGER`;default:throw Error(`Unsupported cast type: ${t}`)}}buildAvg(e){return O`COALESCE(AVG(${e}), 0)`}buildCaseWhen(e,t){let n=e.map(e=>O`WHEN ${e.when} THEN ${e.then}`).reduce((e,t)=>O`${e} ${t}`);return t===void 0?O`CASE ${n} END`:O`CASE ${n} ELSE ${t} END`}buildBooleanLiteral(e){return e?O`TRUE`:O`FALSE`}convertFilterValue(e){return e}prepareDateValue(e){return e}isTimestampInteger(){return!1}convertTimeDimensionResult(e){return e}getCapabilities(){return{supportsStddev:!0,supportsVariance:!0,supportsPercentile:!0,supportsWindowFunctions:!0,supportsFrameClause:!0,supportsLateralJoins:!0,supportsPercentileSubqueries:!0,supportsDerivedTablesInCTE:!0,supportsLateralSubqueriesInCTE:!1}}buildStddev(e,t=!1){let n=t?`STDDEV_SAMP`:`STDDEV_POP`;return O`COALESCE(${O.raw(n)}(${e}), 0)`}buildVariance(e,t=!1){let n=t?`VAR_SAMP`:`VAR_POP`;return O`COALESCE(${O.raw(n)}(${e}), 0)`}buildPercentile(e,t){let n=(t/100).toString();return O`PERCENTILE_CONT(${O.raw(n)}) WITHIN GROUP (ORDER BY ${e})`}buildWindowFunction(e,t,n,r,i){let a=n&&n.length>0?O`PARTITION BY ${O.join(n,O`, `)}`:O``,o=r&&r.length>0?O`ORDER BY ${O.join(r.map(e=>e.direction===`desc`?O`${e.field} DESC`:O`${e.field} ASC`),O`, `)}`:O``,s=O``;if(i?.frame){let{type:e,start:t,end:n}=i.frame,r=e.toUpperCase(),a=t===`unbounded`?`UNBOUNDED PRECEDING`:typeof t==`number`?`${t} PRECEDING`:`CURRENT ROW`,o=n===`unbounded`?`UNBOUNDED FOLLOWING`:n===`current`?`CURRENT ROW`:typeof n==`number`?`${n} FOLLOWING`:`CURRENT ROW`;s=O`${O.raw(r)} BETWEEN ${O.raw(a)} AND ${O.raw(o)}`}let c=[];n&&n.length>0&&c.push(a),r&&r.length>0&&c.push(o),i?.frame&&c.push(s);let l=O`OVER (${c.length>0?O.join(c,O` `):O``})`;switch(e){case`lag`:return O`LAG(${t}, ${i?.offset??1}${i?.defaultValue===void 0?O``:O`, ${i.defaultValue}`}) ${l}`;case`lead`:return O`LEAD(${t}, ${i?.offset??1}${i?.defaultValue===void 0?O``:O`, ${i.defaultValue}`}) ${l}`;case`rank`:return O`RANK() ${l}`;case`denseRank`:return O`DENSE_RANK() ${l}`;case`rowNumber`:return O`ROW_NUMBER() ${l}`;case`ntile`:return O`NTILE(${i?.nTile??4}) ${l}`;case`firstValue`:return O`FIRST_VALUE(${t}) ${l}`;case`lastValue`:return O`LAST_VALUE(${t}) ${l}`;case`movingAvg`:return O`AVG(${t}) ${l}`;case`movingSum`:return O`SUM(${t}) ${l}`;default:throw Error(`Unsupported window function: ${e}`)}}};function be(e){switch(e){case`postgres`:return new pe;case`mysql`:return new me;case`sqlite`:return new he;case`singlestore`:return new ge;case`duckdb`:return new _e;case`databend`:return new ve;case`snowflake`:return new ye;default:throw Error(`Unsupported database engine: ${e}`)}}var U=class{databaseAdapter;constructor(e,t,n){this.db=e,this.schema=t;let r=n||this.getEngineType();this.databaseAdapter=be(r)}};function xe(e,t){let n=[],r=[],i=!1,a,o,s,c=[];for(let t of e){let e=t.match(/Planning Time:\s*([\d.]+)\s*ms/i);if(e){a=parseFloat(e[1]);continue}let l=t.match(/Execution Time:\s*([\d.]+)\s*ms/i);if(l){o=parseFloat(l[1]);continue}let u=Se(t);if(u){u.type.includes(`Seq Scan`)&&(i=!0),u.index&&r.push(u.index),n.length===0&&u.estimatedCost!==void 0&&(s=u.estimatedCost);let e=t.search(/\S/);for(;c.length>0&&c[c.length-1].indent>=e;)c.pop();if(c.length===0)n.push(u);else{let e=c[c.length-1].op;e.children||=[],e.children.push(u)}c.push({indent:e,op:u})}}return{operations:n,summary:{database:`postgres`,planningTime:a,executionTime:o,totalCost:s,hasSequentialScans:i,usedIndexes:[...new Set(r)]},raw:e.join(`
17
17
  `),sql:t}}function Se(e){let t=e.replace(/^[\s->]+/,``).trim();if(!t)return null;let n=t.match(/^([A-Za-z][A-Za-z0-9 ]+?)(?:\s+using\s+(\S+))?(?:\s+on\s+(\S+))?(?:\s+\w+)?(?:\s+\(cost=([\d.]+)\.\.([\d.]+)\s+rows=(\d+)(?:\s+width=\d+)?\))?(?:\s+\(actual time=([\d.]+)\.\.([\d.]+)\s+rows=(\d+)\s+loops=(\d+)\))?/i);if(!n)return t.match(/^Filter:\s*(.+)$/i)||t.match(/^(Hash Cond|Join Filter|Index Cond):\s*(.+)$/i),null;let r=n[1].trim(),i=n[2]||void 0,a=n[3]||void 0,o=n[5]?parseFloat(n[5]):void 0,s=n[6]?parseInt(n[6],10):void 0,c=n[9]?parseInt(n[9],10):void 0,l={type:r,table:a,index:i,estimatedRows:s,estimatedCost:o};c!==void 0&&(l.actualRows=c);let u=e.match(/Filter:\s*(.+?)(?:\)|$)/i);return u&&(l.filter=u[1].trim()),l}function Ce(e){return Array.isArray(e)?e:e&&typeof e==`object`&&`rows`in e&&Array.isArray(e.rows)?e.rows:[]}var we=class extends U{async execute(e,t){if(e&&typeof e==`object`&&typeof e.execute==`function`){let n=await e.execute();return Array.isArray(n)?n.map(e=>this.convertNumericFields(e,t)):n}if(!this.db.execute)throw Error(`PostgreSQL database instance must have an execute method`);let n=await this.db.execute(e),r=Ce(n);return r.length>0?r.map(e=>this.convertNumericFields(e,t)):n}convertNumericFields(e,t){if(!e||typeof e!=`object`)return e;let n={};for(let[r,i]of Object.entries(e))t&&t.includes(r)?n[r]=this.coerceToNumber(i):n[r]=i;return n}coerceToNumber(e){if(e==null||typeof e==`number`)return e;if(typeof e==`bigint`)return Number(e);if(e&&typeof e==`object`){if(typeof e.toString==`function`){let t=e.toString();if(/^-?\d+(\.\d+)?$/.test(t))return t.includes(`.`)?parseFloat(t):parseInt(t,10)}if(e.constructor?.name===`Numeric`||e.constructor?.name===`Decimal`||`digits`in e||`sign`in e){let t=e.toString();return parseFloat(t)}return e}if(typeof e==`string`){if(/^-?\d+(\.\d+)?$/.test(e))return e.includes(`.`)?parseFloat(e):parseInt(e,10);if(!isNaN(parseFloat(e))&&isFinite(parseFloat(e)))return parseFloat(e)}return e}getEngineType(){return`postgres`}async explainQuery(e,t,n){let r=n?.analyze?`EXPLAIN ANALYZE`:`EXPLAIN`;if(!this.db.execute)throw Error(`PostgreSQL database instance must have an execute method`);let i=await this.db.execute(O`${O.raw(r)} ${O.raw(e.replace(/\$(\d+)/g,(e,n)=>{let r=t[parseInt(n,10)-1];return r===null?`NULL`:typeof r==`number`?String(r):typeof r==`boolean`?r?`TRUE`:`FALSE`:r instanceof Date?`'${r.toISOString()}'`:`'${String(r).replace(/'/g,`''`)}'`}))}`),a=[];for(let e of Ce(i))if(e&&typeof e==`object`){let t=e[`QUERY PLAN`]||e[`query plan`]||e.queryplan;typeof t==`string`&&a.push(t)}return xe(a,{sql:e,params:t})}async getTableIndexes(e){if(!e||e.length===0)return[];if(!this.db.execute)throw Error(`PostgreSQL database instance must have an execute method`);try{let t=e.map(e=>`'${e.toLowerCase()}'`).join(`,`),n=Ce(await this.db.execute(O`
18
18
  SELECT
19
19
  t.relname as table_name,
@@ -1,4 +1,4 @@
1
- import { C as e, s as t } from "./utils-DG8ti3FT.js";
1
+ import { C as e, s as t } from "./utils-Bd5mzZfk.js";
2
2
  //#region node_modules/drizzle-orm/entity.js
3
3
  var n = Symbol.for("drizzle:entityKind");
4
4
  function r(e, t) {
@@ -1356,7 +1356,9 @@ function we(e) {
1356
1356
  var B = class {
1357
1357
  databaseAdapter;
1358
1358
  constructor(e, t, n) {
1359
- this.db = e, this.schema = t, this.databaseAdapter = we(n || this.getEngineType());
1359
+ this.db = e, this.schema = t;
1360
+ let r = n || this.getEngineType();
1361
+ this.databaseAdapter = we(r);
1360
1362
  }
1361
1363
  };
1362
1364
  //#endregion
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./utils-DrWvXf0G.cjs`),t=require(`./mcp-transport-CkyawtUT.cjs`);function n(e){return{content:[{type:`text`,text:typeof e==`string`?e:JSON.stringify(e)}],isError:!1}}function r(e){return{content:[{type:`text`,text:e instanceof Error?e.message:String(e)}],isError:!0}}function i(i){let{semanticLayer:o,getSecurityContext:s,toolPrefix:c=`drizzle_cube_`,tools:l=[`discover`,`validate`,`load`,`chart`],prompts:u=t.d(),resources:d,app:f=!1}=i,p=!!f,m=typeof f==`object`?f:void 0,h=d??t.f(),g=p?[...h,...a(m)]:h,_=t.s({appEnabled:p}),v=new Map(_.map(e=>[e.name,e])),y=l.filter(e=>v.has(e)).map(e=>{let t=v.get(e),n={name:`${c}${e}`,description:t.description,inputSchema:t.inputSchema},r=t._meta;return r&&(n._meta=r),n}),b=y.map(e=>e.name),x=new Set;for(let e of l)x.add(e),x.add(`${c}${e}`);function S(e){return x.has(e)}async function C(t,i,a){let u=t.startsWith(c)?t.slice(c.length):t;if(!l.includes(u))return r(`Unknown tool: ${t}`);try{switch(u){case`discover`:return n(await e.d(o,i||{}));case`validate`:{let t=i||{};return t.query?n(await e.h(o,t)):r(`query is required`)}case`load`:{let t=i||{};return t.query?n(await e.p(o,await s(a),t)):r(`query is required`)}case`chart`:{let t=i||{};return t.query?n(await e.p(o,await s(a),t)):r(`query is required`)}default:return r(`Unknown tool: ${t}`)}}catch(e){return r(e)}}return{definitions:y,handle:C,handles:S,prompts:u,resources:g,toolNames:b}}function a(e){let n=t.p(e);return n?[{uri:t.n,name:`Drizzle Cube Visualization`,description:`Interactive chart visualization for query results`,mimeType:t.t,text:n}]:[]}exports.getCubeTools=i;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./utils-DklqMBHn.cjs`),t=require(`./mcp-transport-BCtjU0lC.cjs`);function n(e){return{content:[{type:`text`,text:typeof e==`string`?e:JSON.stringify(e)}],isError:!1}}function r(e){return{content:[{type:`text`,text:e instanceof Error?e.message:String(e)}],isError:!0}}function i(i){let{semanticLayer:o,getSecurityContext:s,toolPrefix:c=`drizzle_cube_`,tools:l=[`discover`,`validate`,`load`,`chart`],prompts:u=t.d(),resources:d,app:f=!1}=i,p=!!f,m=typeof f==`object`?f:void 0,h=d??t.f(),g=p?[...h,...a(m)]:h,_=t.s({appEnabled:p}),v=new Map(_.map(e=>[e.name,e])),y=l.filter(e=>v.has(e)).map(e=>{let t=v.get(e),n={name:`${c}${e}`,description:t.description,inputSchema:t.inputSchema},r=t._meta;return r&&(n._meta=r),n}),b=y.map(e=>e.name),x=new Set;for(let e of l)x.add(e),x.add(`${c}${e}`);function S(e){return x.has(e)}async function C(t,i,a){let u=t.startsWith(c)?t.slice(c.length):t;if(!l.includes(u))return r(`Unknown tool: ${t}`);try{switch(u){case`discover`:return n(await e.d(o,i||{}));case`validate`:{let t=i||{};if(!t.query)return r(`query is required`);let c;try{c=await s(a)}catch{}return n(await e.h(o,t,c))}case`load`:{let t=i||{};return t.query?n(await e.p(o,await s(a),t)):r(`query is required`)}case`chart`:{let t=i||{};return t.query?n(await e.p(o,await s(a),t)):r(`query is required`)}default:return r(`Unknown tool: ${t}`)}}catch(e){return r(e)}}return{definitions:y,handle:C,handles:S,prompts:u,resources:g,toolNames:b}}function a(e){let n=t.p(e);return n?[{uri:t.n,name:`Drizzle Cube Visualization`,description:`Interactive chart visualization for query results`,mimeType:t.t,text:n}]:[]}exports.getCubeTools=i;
@@ -1,5 +1,5 @@
1
- import { d as e, h as t, p as n } from "./utils-DG8ti3FT.js";
2
- import { d as r, f as i, n as a, p as o, s, t as c } from "./mcp-transport-DSbd6M_u.js";
1
+ import { d as e, h as t, p as n } from "./utils-Bd5mzZfk.js";
2
+ import { d as r, f as i, n as a, p as o, s, t as c } from "./mcp-transport-DW_Uks-O.js";
3
3
  //#region src/adapters/mcp-tools.ts
4
4
  function l(e) {
5
5
  return {
@@ -45,7 +45,12 @@ function d(a) {
45
45
  case "discover": return l(await e(o, i || {}));
46
46
  case "validate": {
47
47
  let e = i || {};
48
- return e.query ? l(await t(o, e)) : u("query is required");
48
+ if (!e.query) return u("query is required");
49
+ let n;
50
+ try {
51
+ n = await c(a);
52
+ } catch {}
53
+ return l(await t(o, e, n));
49
54
  }
50
55
  case "load": {
51
56
  let e = i || {};