drizzle-cube 0.4.42 → 0.4.44

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 (199) hide show
  1. package/README.md +1 -1
  2. package/dist/adapters/compiler-CA6iopu7.cjs +198 -0
  3. package/dist/adapters/{mcp-transport-tB5a7Het.js → compiler-O3T1u7jl.js} +1172 -1779
  4. package/dist/adapters/express/index.cjs +2 -2
  5. package/dist/adapters/express/index.js +27 -26
  6. package/dist/adapters/fastify/index.cjs +2 -2
  7. package/dist/adapters/fastify/index.js +26 -25
  8. package/dist/adapters/{google-Dgo9-Kb5.cjs → google-BOAwi9Ib.cjs} +1 -1
  9. package/dist/adapters/{google-CT4kgmBf.js → google-CBfBGU4F.js} +1 -1
  10. package/dist/adapters/{handler-dHHEEbG9.cjs → handler-BO2nq6IS.cjs} +2 -2
  11. package/dist/adapters/{handler-fto6TSVn.js → handler-CjVc3ytc.js} +4 -4
  12. package/dist/adapters/hono/index.cjs +2 -2
  13. package/dist/adapters/hono/index.js +30 -29
  14. package/dist/adapters/mcp-tools.cjs +1 -0
  15. package/dist/adapters/mcp-tools.d.ts +128 -0
  16. package/dist/adapters/mcp-tools.js +69 -0
  17. package/dist/adapters/mcp-transport--zhJJHJc.js +370 -0
  18. package/dist/adapters/mcp-transport-MOoCDu2M.cjs +58 -0
  19. package/dist/adapters/mcp-transport.d.ts +44 -0
  20. package/dist/adapters/nextjs/index.cjs +1 -1
  21. package/dist/adapters/nextjs/index.js +23 -22
  22. package/dist/{server/openai-DKpZPCay.cjs → adapters/openai-4JP2B6pB.cjs} +1 -1
  23. package/dist/adapters/{openai-Ckpe7iU7.js → openai-BAnEZgKZ.js} +1 -1
  24. package/dist/adapters/{openai-Bc8qwEKW.cjs → openai-C4BD8xnN.cjs} +1 -1
  25. package/dist/adapters/{openai-DxeVtl8X.js → openai-CaSQEduB.js} +1 -1
  26. package/dist/adapters/{utils-_2o905Fi.js → utils-C7Nrw9Wb.js} +7 -3
  27. package/dist/adapters/{utils-2MwxiQ2o.cjs → utils-tNZ6Cvzw.cjs} +1 -1
  28. package/dist/adapters/utils.cjs +1 -1
  29. package/dist/adapters/utils.js +1 -1
  30. package/dist/client/charts.js +12 -12
  31. package/dist/client/chunks/{DashboardEditModal-4zzjtZRR.js → DashboardEditModal-BTdV528l.js} +1421 -1396
  32. package/dist/client/chunks/DashboardEditModal-BTdV528l.js.map +1 -0
  33. package/dist/client/chunks/{FieldSearchModal-trURu9Sa.js → FieldSearchModal-D75vy4Wb.js} +4 -4
  34. package/dist/client/chunks/{FieldSearchModal-trURu9Sa.js.map → FieldSearchModal-D75vy4Wb.js.map} +1 -1
  35. package/dist/client/chunks/KpiDelta-Bk8bzKYM.js +2 -0
  36. package/dist/client/chunks/KpiNumber-CKF-8e_T.js +2 -0
  37. package/dist/client/chunks/KpiText-Iz1vIvu_.js +2 -0
  38. package/dist/client/chunks/{RetentionCombinedChart-B1hUYaXt.js → RetentionCombinedChart-DIhK5pD8.js} +3 -3
  39. package/dist/client/chunks/{RetentionCombinedChart-B1hUYaXt.js.map → RetentionCombinedChart-DIhK5pD8.js.map} +1 -1
  40. package/dist/client/chunks/{RetentionHeatmap-Dn2ocjVf.js → RetentionHeatmap-CyREolyP.js} +1 -1
  41. package/dist/client/chunks/{RetentionHeatmap-Dn2ocjVf.js.map → RetentionHeatmap-CyREolyP.js.map} +1 -1
  42. package/dist/client/chunks/SchemaVisualization-B1GUT-FM.js +2 -0
  43. package/dist/client/chunks/SchemaVisualizationLazy-DymwT34e.js +2 -0
  44. package/dist/client/chunks/{analysis-builder-B7XSIMkr.js → analysis-builder-C1CJ0c7L.js} +52 -52
  45. package/dist/client/chunks/{analysis-builder-B7XSIMkr.js.map → analysis-builder-C1CJ0c7L.js.map} +1 -1
  46. package/dist/client/chunks/{analysis-builder-shared-DaqtrLxd.js → analysis-builder-shared-rkjJfWLT.js} +9 -9
  47. package/dist/client/chunks/{analysis-builder-shared-DaqtrLxd.js.map → analysis-builder-shared-rkjJfWLT.js.map} +1 -1
  48. package/dist/client/chunks/{chart-activity-grid-wR2Twpo7.js → chart-activity-grid-DLktOINm.js} +2 -2
  49. package/dist/client/chunks/{chart-activity-grid-wR2Twpo7.js.map → chart-activity-grid-DLktOINm.js.map} +1 -1
  50. package/dist/client/chunks/{chart-area-e9ysnatQ.js → chart-area-BwYaflNk.js} +3 -3
  51. package/dist/client/chunks/{chart-area-e9ysnatQ.js.map → chart-area-BwYaflNk.js.map} +1 -1
  52. package/dist/client/chunks/{chart-bar-CPt67rLR.js → chart-bar-BiENfFgE.js} +4 -4
  53. package/dist/client/chunks/{chart-bar-CPt67rLR.js.map → chart-bar-BiENfFgE.js.map} +1 -1
  54. package/dist/client/chunks/{chart-box-plot-Dp_nqQen.js → chart-box-plot-BJF1tBXC.js} +3 -3
  55. package/dist/client/chunks/{chart-box-plot-Dp_nqQen.js.map → chart-box-plot-BJF1tBXC.js.map} +1 -1
  56. package/dist/client/chunks/{chart-bubble-CYQ8loeS.js → chart-bubble-DQQhGVDJ.js} +3 -3
  57. package/dist/client/chunks/{chart-bubble-CYQ8loeS.js.map → chart-bubble-DQQhGVDJ.js.map} +1 -1
  58. package/dist/client/chunks/{chart-candlestick-DTeSf7C5.js → chart-candlestick-C2UuXbLe.js} +3 -3
  59. package/dist/client/chunks/{chart-candlestick-DTeSf7C5.js.map → chart-candlestick-C2UuXbLe.js.map} +1 -1
  60. package/dist/client/chunks/{chart-config-activity-grid-BSWS08cI.js → chart-config-activity-grid-DJOU3TEz.js} +2 -2
  61. package/dist/client/chunks/{chart-config-activity-grid-BSWS08cI.js.map → chart-config-activity-grid-DJOU3TEz.js.map} +1 -1
  62. package/dist/client/chunks/{chart-config-area-DKwgcHp4.js → chart-config-area-CWnWVT6a.js} +2 -2
  63. package/dist/client/chunks/{chart-config-area-DKwgcHp4.js.map → chart-config-area-CWnWVT6a.js.map} +1 -1
  64. package/dist/client/chunks/{chart-config-bar-deTjEhap.js → chart-config-bar-C-7Dr1Ho.js} +2 -2
  65. package/dist/client/chunks/{chart-config-bar-deTjEhap.js.map → chart-config-bar-C-7Dr1Ho.js.map} +1 -1
  66. package/dist/client/chunks/{chart-config-box-plot-DU4iWk3V.js → chart-config-box-plot-mVOwmLdu.js} +2 -2
  67. package/dist/client/chunks/{chart-config-box-plot-DU4iWk3V.js.map → chart-config-box-plot-mVOwmLdu.js.map} +1 -1
  68. package/dist/client/chunks/{chart-config-bubble-B8FSHSW-.js → chart-config-bubble-BPE2CeiD.js} +2 -2
  69. package/dist/client/chunks/{chart-config-bubble-B8FSHSW-.js.map → chart-config-bubble-BPE2CeiD.js.map} +1 -1
  70. package/dist/client/chunks/{chart-config-candlestick-BGfyWFft.js → chart-config-candlestick-BSB9DRy2.js} +2 -2
  71. package/dist/client/chunks/{chart-config-candlestick-BGfyWFft.js.map → chart-config-candlestick-BSB9DRy2.js.map} +1 -1
  72. package/dist/client/chunks/{chart-config-data-table-DKRcGa8t.js → chart-config-data-table-Bhdx5Hem.js} +2 -2
  73. package/dist/client/chunks/{chart-config-data-table-DKRcGa8t.js.map → chart-config-data-table-Bhdx5Hem.js.map} +1 -1
  74. package/dist/client/chunks/{chart-config-funnel-Bt4iGFo_.js → chart-config-funnel-Cl-v-bm1.js} +2 -2
  75. package/dist/client/chunks/{chart-config-funnel-Bt4iGFo_.js.map → chart-config-funnel-Cl-v-bm1.js.map} +1 -1
  76. package/dist/client/chunks/{chart-config-gauge-Bk4Jjp3W.js → chart-config-gauge-CdrUTJMJ.js} +2 -2
  77. package/dist/client/chunks/{chart-config-gauge-Bk4Jjp3W.js.map → chart-config-gauge-CdrUTJMJ.js.map} +1 -1
  78. package/dist/client/chunks/{chart-config-heat-map-CkHsqkrY.js → chart-config-heat-map-DGE3NzoF.js} +2 -2
  79. package/dist/client/chunks/{chart-config-heat-map-CkHsqkrY.js.map → chart-config-heat-map-DGE3NzoF.js.map} +1 -1
  80. package/dist/client/chunks/{chart-config-kpi-delta-CkUX98JV.js → chart-config-kpi-delta-DMrQerUW.js} +2 -2
  81. package/dist/client/chunks/{chart-config-kpi-delta-CkUX98JV.js.map → chart-config-kpi-delta-DMrQerUW.js.map} +1 -1
  82. package/dist/client/chunks/{chart-config-kpi-number-DcxyiUgs.js → chart-config-kpi-number-DCytCytn.js} +2 -2
  83. package/dist/client/chunks/{chart-config-kpi-number-DcxyiUgs.js.map → chart-config-kpi-number-DCytCytn.js.map} +1 -1
  84. package/dist/client/chunks/{chart-config-kpi-text-DI4mj8CN.js → chart-config-kpi-text-KdKQUvHo.js} +2 -2
  85. package/dist/client/chunks/{chart-config-kpi-text-DI4mj8CN.js.map → chart-config-kpi-text-KdKQUvHo.js.map} +1 -1
  86. package/dist/client/chunks/{chart-config-line--j7-dLue.js → chart-config-line-Bl9VDAdz.js} +2 -2
  87. package/dist/client/chunks/{chart-config-line--j7-dLue.js.map → chart-config-line-Bl9VDAdz.js.map} +1 -1
  88. package/dist/client/chunks/{chart-config-markdown-DUjvVjV4.js → chart-config-markdown-BX26b94i.js} +2 -2
  89. package/dist/client/chunks/{chart-config-markdown-DUjvVjV4.js.map → chart-config-markdown-BX26b94i.js.map} +1 -1
  90. package/dist/client/chunks/{chart-config-measure-profile-B9FKBNGc.js → chart-config-measure-profile-DwtRhEFh.js} +2 -2
  91. package/dist/client/chunks/{chart-config-measure-profile-B9FKBNGc.js.map → chart-config-measure-profile-DwtRhEFh.js.map} +1 -1
  92. package/dist/client/chunks/{chart-config-pie-yU4jipl9.js → chart-config-pie-BzBcqPMJ.js} +2 -2
  93. package/dist/client/chunks/{chart-config-pie-yU4jipl9.js.map → chart-config-pie-BzBcqPMJ.js.map} +1 -1
  94. package/dist/client/chunks/{chart-config-radar-R9Fkc8wL.js → chart-config-radar-6ZOgt__z.js} +2 -2
  95. package/dist/client/chunks/{chart-config-radar-R9Fkc8wL.js.map → chart-config-radar-6ZOgt__z.js.map} +1 -1
  96. package/dist/client/chunks/{chart-config-radial-bar-DeoXfpIp.js → chart-config-radial-bar-Df6Eta7N.js} +2 -2
  97. package/dist/client/chunks/{chart-config-radial-bar-DeoXfpIp.js.map → chart-config-radial-bar-Df6Eta7N.js.map} +1 -1
  98. package/dist/client/chunks/{chart-config-sankey-CXEsxo6s.js → chart-config-sankey-DgqKBFvN.js} +2 -2
  99. package/dist/client/chunks/{chart-config-sankey-CXEsxo6s.js.map → chart-config-sankey-DgqKBFvN.js.map} +1 -1
  100. package/dist/client/chunks/{chart-config-scatter-MVUFupub.js → chart-config-scatter-D5nVLDvi.js} +2 -2
  101. package/dist/client/chunks/{chart-config-scatter-MVUFupub.js.map → chart-config-scatter-D5nVLDvi.js.map} +1 -1
  102. package/dist/client/chunks/{chart-config-sunburst-Z_gqIY5u.js → chart-config-sunburst-Ca3FX9nW.js} +2 -2
  103. package/dist/client/chunks/{chart-config-sunburst-Z_gqIY5u.js.map → chart-config-sunburst-Ca3FX9nW.js.map} +1 -1
  104. package/dist/client/chunks/{chart-config-tree-map-BD-xAeIy.js → chart-config-tree-map-Bjy4QNa3.js} +2 -2
  105. package/dist/client/chunks/{chart-config-tree-map-BD-xAeIy.js.map → chart-config-tree-map-Bjy4QNa3.js.map} +1 -1
  106. package/dist/client/chunks/{chart-config-waterfall-CHwVkXZc.js → chart-config-waterfall-C5K2eqR7.js} +2 -2
  107. package/dist/client/chunks/{chart-config-waterfall-CHwVkXZc.js.map → chart-config-waterfall-C5K2eqR7.js.map} +1 -1
  108. package/dist/client/chunks/{chart-data-table-BZ7StNWv.js → chart-data-table-2iCsn0CF.js} +1099 -933
  109. package/dist/client/chunks/chart-data-table-2iCsn0CF.js.map +1 -0
  110. package/dist/client/chunks/{chart-funnel-C9JRW79j.js → chart-funnel-poyOf7-e.js} +3 -3
  111. package/dist/client/chunks/{chart-funnel-C9JRW79j.js.map → chart-funnel-poyOf7-e.js.map} +1 -1
  112. package/dist/client/chunks/{chart-gauge-_Xdgk_qI.js → chart-gauge-D5J4gRky.js} +3 -3
  113. package/dist/client/chunks/{chart-gauge-_Xdgk_qI.js.map → chart-gauge-D5J4gRky.js.map} +1 -1
  114. package/dist/client/chunks/{chart-heat-map-BOMQeUDL.js → chart-heat-map-BAMVhLGG.js} +3 -3
  115. package/dist/client/chunks/{chart-heat-map-BOMQeUDL.js.map → chart-heat-map-BAMVhLGG.js.map} +1 -1
  116. package/dist/client/chunks/{chart-kpi-delta-C2tdpWki.js → chart-kpi-delta-KQjUIeal.js} +71 -73
  117. package/dist/client/chunks/{chart-kpi-delta-C2tdpWki.js.map → chart-kpi-delta-KQjUIeal.js.map} +1 -1
  118. package/dist/client/chunks/{chart-kpi-number-BUNKM7yg.js → chart-kpi-number-CsQgV_x3.js} +62 -63
  119. package/dist/client/chunks/{chart-kpi-number-BUNKM7yg.js.map → chart-kpi-number-CsQgV_x3.js.map} +1 -1
  120. package/dist/client/chunks/{chart-kpi-text-COF8iN0K.js → chart-kpi-text-BR0IyeUU.js} +26 -27
  121. package/dist/client/chunks/{chart-kpi-text-COF8iN0K.js.map → chart-kpi-text-BR0IyeUU.js.map} +1 -1
  122. package/dist/client/chunks/{chart-line-D3SEwXDS.js → chart-line-B5_WntY5.js} +4 -4
  123. package/dist/client/chunks/{chart-line-D3SEwXDS.js.map → chart-line-B5_WntY5.js.map} +1 -1
  124. package/dist/client/chunks/{chart-markdown-DMekYkKz.js → chart-markdown-B6bENbel.js} +2 -2
  125. package/dist/client/chunks/{chart-markdown-DMekYkKz.js.map → chart-markdown-B6bENbel.js.map} +1 -1
  126. package/dist/client/chunks/{chart-measure-profile-BPhI1Z9s.js → chart-measure-profile-yWk-obNb.js} +4 -4
  127. package/dist/client/chunks/{chart-measure-profile-BPhI1Z9s.js.map → chart-measure-profile-yWk-obNb.js.map} +1 -1
  128. package/dist/client/chunks/{chart-pie-COl3Rmdk.js → chart-pie-BodrUoHv.js} +4 -4
  129. package/dist/client/chunks/{chart-pie-COl3Rmdk.js.map → chart-pie-BodrUoHv.js.map} +1 -1
  130. package/dist/client/chunks/{chart-radar-BKZXylBB.js → chart-radar-gG3zfLud.js} +4 -4
  131. package/dist/client/chunks/{chart-radar-BKZXylBB.js.map → chart-radar-gG3zfLud.js.map} +1 -1
  132. package/dist/client/chunks/{chart-radial-bar-CMfC7SPd.js → chart-radial-bar-C2IPCV8c.js} +4 -4
  133. package/dist/client/chunks/{chart-radial-bar-CMfC7SPd.js.map → chart-radial-bar-C2IPCV8c.js.map} +1 -1
  134. package/dist/client/chunks/{chart-sankey-8nRYnupt.js → chart-sankey-BOyxfG1Q.js} +3 -3
  135. package/dist/client/chunks/{chart-sankey-8nRYnupt.js.map → chart-sankey-BOyxfG1Q.js.map} +1 -1
  136. package/dist/client/chunks/{chart-scatter-xQMa3dUt.js → chart-scatter-B8OwlsAX.js} +4 -4
  137. package/dist/client/chunks/{chart-scatter-xQMa3dUt.js.map → chart-scatter-B8OwlsAX.js.map} +1 -1
  138. package/dist/client/chunks/{chart-sunburst-BGhJ4fui.js → chart-sunburst-D9lGEOCc.js} +4 -4
  139. package/dist/client/chunks/{chart-sunburst-BGhJ4fui.js.map → chart-sunburst-D9lGEOCc.js.map} +1 -1
  140. package/dist/client/chunks/{chart-tree-map-Cn1pmrAw.js → chart-tree-map-DZaKy9he.js} +4 -4
  141. package/dist/client/chunks/{chart-tree-map-Cn1pmrAw.js.map → chart-tree-map-DZaKy9he.js.map} +1 -1
  142. package/dist/client/chunks/{chart-waterfall-C2nVN4pn.js → chart-waterfall-BCdUx4DC.js} +4 -4
  143. package/dist/client/chunks/{chart-waterfall-C2nVN4pn.js.map → chart-waterfall-BCdUx4DC.js.map} +1 -1
  144. package/dist/client/chunks/{charts-core-Cy3rHADX.js → charts-core-C5Yokk-x.js} +2 -2
  145. package/dist/client/chunks/{charts-core-Cy3rHADX.js.map → charts-core-C5Yokk-x.js.map} +1 -1
  146. package/dist/client/chunks/{core-BdWfCZ3y.js → core-DcfMGTVa.js} +2 -2
  147. package/dist/client/chunks/{core-BdWfCZ3y.js.map → core-DcfMGTVa.js.map} +1 -1
  148. package/dist/client/chunks/{dist-BWPE2m_X.js → dist-eZurnOde.js} +1 -1
  149. package/dist/client/chunks/{dist-BWPE2m_X.js.map → dist-eZurnOde.js.map} +1 -1
  150. package/dist/client/chunks/exceljs.min-CcjgM-qg.js +31986 -0
  151. package/dist/client/chunks/exceljs.min-CcjgM-qg.js.map +1 -0
  152. package/dist/client/chunks/{javascript-O1RIRkZr.js → javascript-DFvvCuoP.js} +1 -1
  153. package/dist/client/chunks/{javascript-O1RIRkZr.js.map → javascript-DFvvCuoP.js.map} +1 -1
  154. package/dist/client/chunks/{json-C5bX2tt1.js → json-BBm9TlrA.js} +1 -1
  155. package/dist/client/chunks/{json-C5bX2tt1.js.map → json-BBm9TlrA.js.map} +1 -1
  156. package/dist/client/chunks/{rolldown-runtime-lc2dmIiU.js → rolldown-runtime-CCl2IeXn.js} +5 -2
  157. package/dist/client/chunks/{schema-visualization-DVdfx6N8.js → schema-visualization-t1KiOORo.js} +261 -265
  158. package/dist/client/chunks/{schema-visualization-DVdfx6N8.js.map → schema-visualization-t1KiOORo.js.map} +1 -1
  159. package/dist/client/chunks/{sql-D2qikO5q.js → sql-k0GA6oZ_.js} +1 -1
  160. package/dist/client/chunks/{sql-D2qikO5q.js.map → sql-k0GA6oZ_.js.map} +1 -1
  161. package/dist/client/chunks/{syntaxHighlighting-BYYWYmjr.js → syntaxHighlighting-CnDujqwg.js} +2 -2
  162. package/dist/client/chunks/{syntaxHighlighting-BYYWYmjr.js.map → syntaxHighlighting-CnDujqwg.js.map} +1 -1
  163. package/dist/client/chunks/{useDebounce-Bel8J05v.js → useDebounce-CKqkM42n.js} +11 -14
  164. package/dist/client/chunks/{useDebounce-Bel8J05v.js.map → useDebounce-CKqkM42n.js.map} +1 -1
  165. package/dist/client/chunks/{useExplainAI-CxdzY2N0.js → useExplainAI-DBIfYwz-.js} +12 -12
  166. package/dist/client/chunks/{useExplainAI-CxdzY2N0.js.map → useExplainAI-DBIfYwz-.js.map} +1 -1
  167. package/dist/client/chunks/{utils-CMkS7h9x.js → utils--qCr8Yn5.js} +2 -2
  168. package/dist/client/chunks/utils--qCr8Yn5.js.map +1 -0
  169. package/dist/client/chunks/{vendor-BoWEubRu.js → vendor-BRlsCGnK.js} +46 -46
  170. package/dist/client/chunks/{vendor-BoWEubRu.js.map → vendor-BRlsCGnK.js.map} +1 -1
  171. package/dist/client/components.js +3 -3
  172. package/dist/client/hooks.js +3 -3
  173. package/dist/client/icons/types.d.ts +1 -0
  174. package/dist/client/icons.js +1 -1
  175. package/dist/client/index.d.ts +2 -1
  176. package/dist/client/index.js +168 -168
  177. package/dist/client/index.js.map +1 -1
  178. package/dist/client/providers.js +1 -1
  179. package/dist/client/schema.js +1 -1
  180. package/dist/client/types.d.ts +6 -0
  181. package/dist/client/utils/exportXlsx.d.ts +20 -0
  182. package/dist/client/utils/index.d.ts +1 -0
  183. package/dist/client/utils.js +7 -7
  184. package/dist/client-bundle-stats.html +1 -1
  185. package/dist/server/index.cjs +2 -2
  186. package/dist/server/index.js +8 -4
  187. package/dist/server/{openai-DqCEogm0.js → openai-CqZg6zYL.js} +1 -1
  188. package/dist/server/{openai-0HbLlZq6.cjs → openai-D9Zjuby1.cjs} +1 -1
  189. package/dist/{adapters/openai-C96O8M75.cjs → server/openai-DmuEbFd6.cjs} +1 -1
  190. package/dist/server/{openai-DnGeU9PT.js → openai-rwauPzCT.js} +1 -1
  191. package/package.json +11 -1
  192. package/dist/adapters/mcp-transport-ro4OL4BW.cjs +0 -255
  193. package/dist/client/chunks/DashboardEditModal-4zzjtZRR.js.map +0 -1
  194. package/dist/client/chunks/chart-data-table-BZ7StNWv.js.map +0 -1
  195. package/dist/client/chunks/utils-CMkS7h9x.js.map +0 -1
  196. /package/dist/adapters/{anthropic-BIva8k1r.cjs → anthropic-Cto4Jxqt.cjs} +0 -0
  197. /package/dist/adapters/{anthropic-B_rg0BhK.js → anthropic-DpEbCVvF.js} +0 -0
  198. /package/dist/adapters/{dist-Boc63-1q.cjs → dist-BnyV9wfA.cjs} +0 -0
  199. /package/dist/adapters/{dist-De5fzUEM.js → dist-DjVh2RFz.js} +0 -0
@@ -1,5 +1,6 @@
1
- import { a as e, f as t, o as n, r, u as i } from "../utils-_2o905Fi.js";
2
- import { a, c as o, d as s, f as c, h as l, i as u, l as d, m as f, n as p, o as m, p as h, r as g, s as _, t as v, u as y } from "../mcp-transport-tB5a7Het.js";
1
+ import { a as e, f as t, o as n, r, u as i } from "../utils-C7Nrw9Wb.js";
2
+ import { t as a } from "../compiler-O3T1u7jl.js";
3
+ import { a as o, c as s, d as c, f as l, h as u, l as d, m as f, n as p, o as m, p as h, r as g, s as _, t as v, u as y } from "../mcp-transport--zhJJHJc.js";
3
4
  import { Hono as b } from "hono";
4
5
  //#region node_modules/hono/dist/middleware/cors/index.js
5
6
  var x = (e) => {
@@ -16,14 +17,14 @@ var x = (e) => {
16
17
  allowHeaders: [],
17
18
  exposeHeaders: [],
18
19
  ...e
19
- }, n = ((e) => typeof e == "string" ? e === "*" ? () => 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);
20
+ }, 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);
20
21
  return async function(e, i) {
21
22
  function a(t, n) {
22
23
  e.res.headers.set(t, n);
23
24
  }
24
25
  let o = await n(e.req.header("origin") || "", e);
25
26
  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") {
26
- t.origin !== "*" && a("Vary", "Origin"), t.maxAge != null && a("Access-Control-Max-Age", t.maxAge.toString());
27
+ (t.origin !== "*" || t.credentials) && a("Vary", "Origin"), t.maxAge != null && a("Access-Control-Max-Age", t.maxAge.toString());
27
28
  let n = await r(e.req.header("origin") || "", e);
28
29
  n.length && a("Access-Control-Allow-Methods", n.join(","));
29
30
  let i = t.allowHeaders;
@@ -37,7 +38,7 @@ var x = (e) => {
37
38
  statusText: "No Content"
38
39
  });
39
40
  }
40
- await i(), t.origin !== "*" && e.header("Vary", "Origin", { append: !0 });
41
+ await i(), (t.origin !== "*" || t.credentials) && e.header("Vary", "Origin", { append: !0 });
41
42
  };
42
43
  };
43
44
  //#endregion
@@ -47,7 +48,7 @@ function S(S) {
47
48
  if (!S.semanticLayer && (!C || C.length === 0)) throw Error("Either semanticLayer or a non-empty cubes array must be provided");
48
49
  let N = new b();
49
50
  O && N.use("/*", x(O));
50
- let P = S.semanticLayer ?? new l({
51
+ let P = S.semanticLayer ?? new a({
51
52
  drizzle: w,
52
53
  schema: T,
53
54
  engineType: D,
@@ -159,7 +160,7 @@ function S(S) {
159
160
  }
160
161
  }), M && N.post(`${k}/agent/chat`, async (e) => {
161
162
  try {
162
- let { handleAgentChat: t } = await import("../handler-fto6TSVn.js"), { message: n, sessionId: r, history: i } = await e.req.json();
163
+ let { handleAgentChat: t } = await import("../handler-CjVc3ytc.js"), { message: n, sessionId: r, history: i } = await e.req.json();
163
164
  if (!n || typeof n != "string") return e.json({ error: "message is required and must be a string" }, 400);
164
165
  let a = (M.apiKey || "").trim();
165
166
  if (M.allowClientApiKey) {
@@ -214,22 +215,22 @@ function S(S) {
214
215
  description: "Current cube metadata as JSON",
215
216
  mimeType: "application/json",
216
217
  text: JSON.stringify(P.getMetadata(), null, 2)
217
- }, t = [...m(), e], n = a(), r = j.basePath ?? "/mcp";
218
+ }, t = [..._(), e], n = m(), r = j.basePath ?? "/mcp";
218
219
  N.post(`${r}`, async (e) => {
219
- let r = h(e.req.header("origin"), j.allowedOrigins ? { allowedOrigins: j.allowedOrigins } : {});
220
+ let r = f(e.req.header("origin"), j.allowedOrigins ? { allowedOrigins: j.allowedOrigins } : {});
220
221
  if (!r.valid) return e.json(p(null, -32600, r.reason), 403);
221
222
  let i = e.req.header("accept");
222
- if (!c(i)) return e.json(p(null, -32600, "Accept header must include both application/json and text/event-stream"), 400);
223
- let a = o(e.req.header());
223
+ if (!h(i)) return e.json(p(null, -32600, "Accept header must include both application/json and text/event-stream"), 400);
224
+ let a = d(e.req.header());
224
225
  if (!a.ok) return e.json({
225
226
  error: "Unsupported MCP protocol version",
226
227
  supported: a.supported
227
228
  }, 426);
228
- let l = d(await e.req.json().catch(() => null));
229
- if (!l) return e.json(p(null, -32600, "Invalid JSON-RPC 2.0 request"), 400);
230
- let m = f(i), b = l.method === "initialize";
229
+ let m = y(await e.req.json().catch(() => null));
230
+ if (!m) return e.json(p(null, -32600, "Invalid JSON-RPC 2.0 request"), 400);
231
+ let _ = u(i), b = m.method === "initialize";
231
232
  try {
232
- let r = await u(l.method, l.params, {
233
+ let r = await o(m.method, m.params, {
233
234
  semanticLayer: P,
234
235
  extractSecurityContext: E,
235
236
  rawRequest: e,
@@ -238,11 +239,11 @@ function S(S) {
238
239
  resources: t,
239
240
  prompts: n
240
241
  });
241
- if (_(l)) return e.body(null, 202);
242
- let i = g(l.id ?? null, r), o = b && r && typeof r == "object" && "sessionId" in r ? r.sessionId : void 0, c = {};
243
- if (o && (c[v] = o), m) {
244
- let e = new TextEncoder(), t = y(), n = new ReadableStream({ start(n) {
245
- n.enqueue(e.encode(`id: ${t}\n\n`)), n.enqueue(e.encode(s(i, t))), n.close();
242
+ if (s(m)) return e.body(null, 202);
243
+ let i = g(m.id ?? null, r), u = b && r && typeof r == "object" && "sessionId" in r ? r.sessionId : void 0, d = {};
244
+ if (u && (d[v] = u), _) {
245
+ let e = new TextEncoder(), t = c(), n = new ReadableStream({ start(n) {
246
+ n.enqueue(e.encode(`id: ${t}\n\n`)), n.enqueue(e.encode(l(i, t))), n.close();
246
247
  } });
247
248
  return new Response(n, {
248
249
  status: 200,
@@ -250,18 +251,18 @@ function S(S) {
250
251
  "Content-Type": "text/event-stream",
251
252
  "Cache-Control": "no-cache",
252
253
  Connection: "keep-alive",
253
- ...c
254
+ ...d
254
255
  }
255
256
  });
256
257
  }
257
- return e.json(i, 200, c);
258
+ return e.json(i, 200, d);
258
259
  } catch (t) {
259
- if (_(l)) return console.error("MCP notification processing error:", t), e.body(null, 202);
260
+ if (s(m)) return console.error("MCP notification processing error:", t), e.body(null, 202);
260
261
  console.error("MCP RPC error:", t);
261
- let n = t?.code ?? -32603, r = t?.data, i = t.message || "MCP request failed", a = p(l.id ?? null, n, i, r);
262
- if (m) {
263
- let e = new TextEncoder(), t = y(), n = new ReadableStream({ start(n) {
264
- n.enqueue(e.encode(`id: ${t}\n\n`)), n.enqueue(e.encode(s(a, t))), n.close();
262
+ let n = t?.code ?? -32603, r = t?.data, i = t.message || "MCP request failed", a = p(m.id ?? null, n, i, r);
263
+ if (_) {
264
+ let e = new TextEncoder(), t = c(), n = new ReadableStream({ start(n) {
265
+ n.enqueue(e.encode(`id: ${t}\n\n`)), n.enqueue(e.encode(l(a, t))), n.close();
265
266
  } });
266
267
  return new Response(n, {
267
268
  status: 200,
@@ -275,9 +276,9 @@ function S(S) {
275
276
  return e.json(a, 200);
276
277
  }
277
278
  }), N.delete(`${r}`, (e) => e.json({ error: "Session termination not supported" }, 405)), N.get(`${r}`, (e) => {
278
- let t = new TextEncoder(), n = y(), r, i = new ReadableStream({
279
+ let t = new TextEncoder(), n = c(), r, i = new ReadableStream({
279
280
  start(e) {
280
- e.enqueue(t.encode(s({
281
+ e.enqueue(t.encode(l({
281
282
  jsonrpc: "2.0",
282
283
  method: "mcp/ready",
283
284
  params: { protocol: "streamable-http" }
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`./utils-tNZ6Cvzw.cjs`),t=require(`./mcp-transport-MOoCDu2M.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:a,getSecurityContext:o,toolPrefix:s=`drizzle_cube_`,tools:c=[`discover`,`validate`,`load`],prompts:l=t.o(),resources:u=t.s()}=i,d=t.i(),f=new Map(d.map(e=>[e.name,e])),p=c.filter(e=>f.has(e)).map(e=>{let t=f.get(e);return{name:`${s}${e}`,description:t.description,inputSchema:t.inputSchema}}),m=p.map(e=>e.name),h=new Set;for(let e of c)h.add(e),h.add(`${s}${e}`);function g(e){return h.has(e)}async function _(t,i,l){let u=t.startsWith(s)?t.slice(s.length):t;if(!c.includes(u))return r(`Unknown tool: ${t}`);try{switch(u){case`discover`:return n(await e.d(a,i||{}));case`validate`:{let t=i||{};return t.query?n(await e.h(a,t)):r(`query is required`)}case`load`:{let t=i||{};return t.query?n(await e.p(a,await o(l),t)):r(`query is required`)}default:return r(`Unknown tool: ${t}`)}}catch(e){return r(e)}}return{definitions:p,handle:_,handles:g,prompts:l,resources:u,toolNames:m}}exports.getCubeTools=i;
@@ -0,0 +1,128 @@
1
+ import { SemanticLayerCompiler, SecurityContext } from '../server';
2
+ import { DiscoverRequest, ValidateRequest, LoadRequest } from './utils';
3
+ import { MCPPrompt } from '../server/ai/mcp-prompts';
4
+ import { MCPResource } from './mcp-transport';
5
+ export type { MCPPrompt, MCPResource, DiscoverRequest, ValidateRequest, LoadRequest };
6
+ export type { SecurityContext } from '../server';
7
+ /**
8
+ * MCP tool content block (matches MCP spec)
9
+ */
10
+ export interface MCPToolContent {
11
+ type: 'text';
12
+ text: string;
13
+ }
14
+ /**
15
+ * MCP tool result (matches MCP spec CallToolResult)
16
+ */
17
+ export interface MCPToolResult {
18
+ content: MCPToolContent[];
19
+ isError: boolean;
20
+ }
21
+ /**
22
+ * MCP tool definition (matches MCP spec Tool)
23
+ */
24
+ export interface MCPToolDefinition {
25
+ name: string;
26
+ description: string;
27
+ inputSchema: {
28
+ type: 'object';
29
+ required?: string[];
30
+ properties: Record<string, unknown>;
31
+ };
32
+ }
33
+ /**
34
+ * Options for creating composable cube tools
35
+ */
36
+ export interface GetCubeToolsOptions {
37
+ /** The semantic layer compiler instance with registered cubes */
38
+ semanticLayer: SemanticLayerCompiler;
39
+ /**
40
+ * Extract security context for query execution.
41
+ * Called when the `load` tool is invoked.
42
+ * Receives whatever metadata your MCP server provides (auth info, request context, etc.)
43
+ */
44
+ getSecurityContext: (meta?: unknown) => SecurityContext | Promise<SecurityContext>;
45
+ /**
46
+ * Optional tool name prefix. Defaults to 'drizzle_cube_'.
47
+ * Set to '' for no prefix, or provide your own like 'analytics_'.
48
+ */
49
+ toolPrefix?: string;
50
+ /**
51
+ * Which tools to expose. Defaults to all: ['discover', 'validate', 'load']
52
+ */
53
+ tools?: ('discover' | 'validate' | 'load')[];
54
+ /** Custom MCP prompts (defaults to built-in drizzle-cube prompts) */
55
+ prompts?: MCPPrompt[];
56
+ /** Custom MCP resources (defaults to built-in drizzle-cube resources) */
57
+ resources?: MCPResource[];
58
+ }
59
+ /**
60
+ * The composable tools object returned by getCubeTools()
61
+ */
62
+ export interface CubeTools {
63
+ /** Tool definitions for MCP tools/list responses */
64
+ definitions: MCPToolDefinition[];
65
+ /**
66
+ * Execute a tool by name. Returns MCP-spec-compliant result.
67
+ * @param name - Tool name (with or without prefix)
68
+ * @param args - Tool arguments from the MCP client
69
+ * @param meta - Optional metadata passed to getSecurityContext
70
+ */
71
+ handle: (name: string, args: unknown, meta?: unknown) => Promise<MCPToolResult>;
72
+ /**
73
+ * Check if a tool name is handled by these cube tools
74
+ * @param name - Tool name to check (with or without prefix)
75
+ */
76
+ handles: (name: string) => boolean;
77
+ /** MCP prompts for prompts/list responses */
78
+ prompts: MCPPrompt[];
79
+ /** MCP resources for resources/list responses */
80
+ resources: MCPResource[];
81
+ /** The tool names this instance handles (with prefix applied) */
82
+ toolNames: string[];
83
+ }
84
+ /**
85
+ * Create composable MCP tools for your semantic layer.
86
+ *
87
+ * Returns tool definitions, a handler function, and prompts/resources
88
+ * that you can register on any MCP server.
89
+ *
90
+ * @example With @modelcontextprotocol/sdk
91
+ * ```typescript
92
+ * import { Server } from '@modelcontextprotocol/sdk/server/index.js'
93
+ * import { ListToolsRequestSchema, CallToolRequestSchema } from '@modelcontextprotocol/sdk/types.js'
94
+ * import { getCubeTools } from 'drizzle-cube/mcp'
95
+ *
96
+ * const cubeTools = getCubeTools({
97
+ * semanticLayer,
98
+ * getSecurityContext: async (meta) => ({ orgId: meta.authInfo?.orgId })
99
+ * })
100
+ *
101
+ * const server = new Server({ name: 'my-server', version: '1.0.0' })
102
+ *
103
+ * server.setRequestHandler(ListToolsRequestSchema, async () => ({
104
+ * tools: [...myOtherTools, ...cubeTools.definitions]
105
+ * }))
106
+ *
107
+ * server.setRequestHandler(CallToolRequestSchema, async (req) => {
108
+ * if (cubeTools.handles(req.params.name)) {
109
+ * return cubeTools.handle(req.params.name, req.params.arguments, req)
110
+ * }
111
+ * return handleOtherTools(req)
112
+ * })
113
+ * ```
114
+ *
115
+ * @example With Hono + postgrest-mcp style
116
+ * ```typescript
117
+ * import { getCubeTools } from 'drizzle-cube/mcp'
118
+ *
119
+ * const cubeTools = getCubeTools({
120
+ * semanticLayer,
121
+ * getSecurityContext: async () => ({ orgId: 'default' })
122
+ * })
123
+ *
124
+ * // Merge with your existing PostgREST tools
125
+ * const allTools = [...postgrestTools, ...cubeTools.definitions]
126
+ * ```
127
+ */
128
+ export declare function getCubeTools(options: GetCubeToolsOptions): CubeTools;
@@ -0,0 +1,69 @@
1
+ import { d as e, h as t, p as n } from "./utils-C7Nrw9Wb.js";
2
+ import { i as r, o as i, s as a } from "./mcp-transport--zhJJHJc.js";
3
+ //#region src/adapters/mcp-tools.ts
4
+ function o(e) {
5
+ return {
6
+ content: [{
7
+ type: "text",
8
+ text: typeof e == "string" ? e : JSON.stringify(e)
9
+ }],
10
+ isError: !1
11
+ };
12
+ }
13
+ function s(e) {
14
+ return {
15
+ content: [{
16
+ type: "text",
17
+ text: e instanceof Error ? e.message : String(e)
18
+ }],
19
+ isError: !0
20
+ };
21
+ }
22
+ function c(c) {
23
+ let { semanticLayer: l, getSecurityContext: u, toolPrefix: d = "drizzle_cube_", tools: f = [
24
+ "discover",
25
+ "validate",
26
+ "load"
27
+ ], prompts: p = i(), resources: m = a() } = c, h = r(), g = new Map(h.map((e) => [e.name, e])), _ = f.filter((e) => g.has(e)).map((e) => {
28
+ let t = g.get(e);
29
+ return {
30
+ name: `${d}${e}`,
31
+ description: t.description,
32
+ inputSchema: t.inputSchema
33
+ };
34
+ }), v = _.map((e) => e.name), y = /* @__PURE__ */ new Set();
35
+ for (let e of f) y.add(e), y.add(`${d}${e}`);
36
+ function b(e) {
37
+ return y.has(e);
38
+ }
39
+ async function x(r, i, a) {
40
+ let c = r.startsWith(d) ? r.slice(d.length) : r;
41
+ if (!f.includes(c)) return s(`Unknown tool: ${r}`);
42
+ try {
43
+ switch (c) {
44
+ case "discover": return o(await e(l, i || {}));
45
+ case "validate": {
46
+ let e = i || {};
47
+ return e.query ? o(await t(l, e)) : s("query is required");
48
+ }
49
+ case "load": {
50
+ let e = i || {};
51
+ return e.query ? o(await n(l, await u(a), e)) : s("query is required");
52
+ }
53
+ default: return s(`Unknown tool: ${r}`);
54
+ }
55
+ } catch (e) {
56
+ return s(e);
57
+ }
58
+ }
59
+ return {
60
+ definitions: _,
61
+ handle: x,
62
+ handles: b,
63
+ prompts: p,
64
+ resources: m,
65
+ toolNames: v
66
+ };
67
+ }
68
+ //#endregion
69
+ export { c as getCubeTools };