drizzle-cube 0.4.41 → 0.4.43

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 (188) hide show
  1. package/README.md +1 -1
  2. package/dist/adapters/express/index.cjs +1 -1
  3. package/dist/adapters/express/index.js +2 -2
  4. package/dist/adapters/fastify/index.cjs +1 -1
  5. package/dist/adapters/fastify/index.js +2 -2
  6. package/dist/adapters/{handler-dHHEEbG9.cjs → handler-BneUGY0k.cjs} +1 -1
  7. package/dist/adapters/{handler-fto6TSVn.js → handler-CiQoQsnP.js} +1 -1
  8. package/dist/adapters/hono/index.cjs +1 -1
  9. package/dist/adapters/hono/index.js +5 -5
  10. package/dist/adapters/{mcp-transport-tB5a7Het.js → mcp-transport-CC3hQOnb.js} +1099 -1338
  11. package/dist/adapters/mcp-transport-mmuPvjfR.cjs +255 -0
  12. package/dist/adapters/nextjs/index.cjs +1 -1
  13. package/dist/adapters/nextjs/index.js +2 -2
  14. package/dist/adapters/{openai-Ckpe7iU7.js → openai-CQfaz257.js} +1 -1
  15. package/dist/{server/openai-DKpZPCay.cjs → adapters/openai-CZ74gWd4.cjs} +1 -1
  16. package/dist/adapters/{openai-Bc8qwEKW.cjs → openai-DLfardui.cjs} +1 -1
  17. package/dist/adapters/{openai-DxeVtl8X.js → openai-DaxuhJLS.js} +1 -1
  18. package/dist/client/charts.js +12 -12
  19. package/dist/client/chunks/{DashboardEditModal-D_7J62sG.js → DashboardEditModal-BTdV528l.js} +1421 -1396
  20. package/dist/client/chunks/DashboardEditModal-BTdV528l.js.map +1 -0
  21. package/dist/client/chunks/{FieldSearchModal-5Qz6vvTz.js → FieldSearchModal-D75vy4Wb.js} +4 -4
  22. package/dist/client/chunks/{FieldSearchModal-5Qz6vvTz.js.map → FieldSearchModal-D75vy4Wb.js.map} +1 -1
  23. package/dist/client/chunks/KpiDelta-Bk8bzKYM.js +2 -0
  24. package/dist/client/chunks/KpiNumber-CKF-8e_T.js +2 -0
  25. package/dist/client/chunks/KpiText-Iz1vIvu_.js +2 -0
  26. package/dist/client/chunks/{RetentionCombinedChart-B1hUYaXt.js → RetentionCombinedChart-DIhK5pD8.js} +3 -3
  27. package/dist/client/chunks/{RetentionCombinedChart-B1hUYaXt.js.map → RetentionCombinedChart-DIhK5pD8.js.map} +1 -1
  28. package/dist/client/chunks/{RetentionHeatmap-Dn2ocjVf.js → RetentionHeatmap-CyREolyP.js} +1 -1
  29. package/dist/client/chunks/{RetentionHeatmap-Dn2ocjVf.js.map → RetentionHeatmap-CyREolyP.js.map} +1 -1
  30. package/dist/client/chunks/SchemaVisualization-B1GUT-FM.js +2 -0
  31. package/dist/client/chunks/SchemaVisualizationLazy-DymwT34e.js +2 -0
  32. package/dist/client/chunks/{analysis-builder-DPJJiHVx.js → analysis-builder-C1CJ0c7L.js} +415 -406
  33. package/dist/client/chunks/analysis-builder-C1CJ0c7L.js.map +1 -0
  34. package/dist/client/chunks/{analysis-builder-shared-C-C-rOgu.js → analysis-builder-shared-rkjJfWLT.js} +9 -9
  35. package/dist/client/chunks/{analysis-builder-shared-C-C-rOgu.js.map → analysis-builder-shared-rkjJfWLT.js.map} +1 -1
  36. package/dist/client/chunks/{chart-activity-grid-wR2Twpo7.js → chart-activity-grid-DLktOINm.js} +2 -2
  37. package/dist/client/chunks/{chart-activity-grid-wR2Twpo7.js.map → chart-activity-grid-DLktOINm.js.map} +1 -1
  38. package/dist/client/chunks/{chart-area-e9ysnatQ.js → chart-area-BwYaflNk.js} +3 -3
  39. package/dist/client/chunks/{chart-area-e9ysnatQ.js.map → chart-area-BwYaflNk.js.map} +1 -1
  40. package/dist/client/chunks/{chart-bar-DVzmau1G.js → chart-bar-BiENfFgE.js} +4 -4
  41. package/dist/client/chunks/{chart-bar-DVzmau1G.js.map → chart-bar-BiENfFgE.js.map} +1 -1
  42. package/dist/client/chunks/{chart-box-plot-CCmbHv1Y.js → chart-box-plot-BJF1tBXC.js} +3 -3
  43. package/dist/client/chunks/{chart-box-plot-CCmbHv1Y.js.map → chart-box-plot-BJF1tBXC.js.map} +1 -1
  44. package/dist/client/chunks/{chart-bubble-S6qSwWdK.js → chart-bubble-DQQhGVDJ.js} +3 -3
  45. package/dist/client/chunks/{chart-bubble-S6qSwWdK.js.map → chart-bubble-DQQhGVDJ.js.map} +1 -1
  46. package/dist/client/chunks/{chart-candlestick-BNKbDruo.js → chart-candlestick-C2UuXbLe.js} +3 -3
  47. package/dist/client/chunks/{chart-candlestick-BNKbDruo.js.map → chart-candlestick-C2UuXbLe.js.map} +1 -1
  48. package/dist/client/chunks/{chart-config-activity-grid-BSWS08cI.js → chart-config-activity-grid-DJOU3TEz.js} +2 -2
  49. package/dist/client/chunks/{chart-config-activity-grid-BSWS08cI.js.map → chart-config-activity-grid-DJOU3TEz.js.map} +1 -1
  50. package/dist/client/chunks/{chart-config-area-DKwgcHp4.js → chart-config-area-CWnWVT6a.js} +2 -2
  51. package/dist/client/chunks/{chart-config-area-DKwgcHp4.js.map → chart-config-area-CWnWVT6a.js.map} +1 -1
  52. package/dist/client/chunks/{chart-config-bar-deTjEhap.js → chart-config-bar-C-7Dr1Ho.js} +2 -2
  53. package/dist/client/chunks/{chart-config-bar-deTjEhap.js.map → chart-config-bar-C-7Dr1Ho.js.map} +1 -1
  54. package/dist/client/chunks/{chart-config-box-plot-DU4iWk3V.js → chart-config-box-plot-mVOwmLdu.js} +2 -2
  55. package/dist/client/chunks/{chart-config-box-plot-DU4iWk3V.js.map → chart-config-box-plot-mVOwmLdu.js.map} +1 -1
  56. package/dist/client/chunks/{chart-config-bubble-B8FSHSW-.js → chart-config-bubble-BPE2CeiD.js} +2 -2
  57. package/dist/client/chunks/{chart-config-bubble-B8FSHSW-.js.map → chart-config-bubble-BPE2CeiD.js.map} +1 -1
  58. package/dist/client/chunks/{chart-config-candlestick-BGfyWFft.js → chart-config-candlestick-BSB9DRy2.js} +2 -2
  59. package/dist/client/chunks/{chart-config-candlestick-BGfyWFft.js.map → chart-config-candlestick-BSB9DRy2.js.map} +1 -1
  60. package/dist/client/chunks/{chart-config-data-table-DKRcGa8t.js → chart-config-data-table-Bhdx5Hem.js} +2 -2
  61. package/dist/client/chunks/{chart-config-data-table-DKRcGa8t.js.map → chart-config-data-table-Bhdx5Hem.js.map} +1 -1
  62. package/dist/client/chunks/{chart-config-funnel-Bt4iGFo_.js → chart-config-funnel-Cl-v-bm1.js} +2 -2
  63. package/dist/client/chunks/{chart-config-funnel-Bt4iGFo_.js.map → chart-config-funnel-Cl-v-bm1.js.map} +1 -1
  64. package/dist/client/chunks/{chart-config-gauge-Bk4Jjp3W.js → chart-config-gauge-CdrUTJMJ.js} +2 -2
  65. package/dist/client/chunks/{chart-config-gauge-Bk4Jjp3W.js.map → chart-config-gauge-CdrUTJMJ.js.map} +1 -1
  66. package/dist/client/chunks/{chart-config-heat-map-CkHsqkrY.js → chart-config-heat-map-DGE3NzoF.js} +2 -2
  67. package/dist/client/chunks/{chart-config-heat-map-CkHsqkrY.js.map → chart-config-heat-map-DGE3NzoF.js.map} +1 -1
  68. package/dist/client/chunks/{chart-config-kpi-delta-CkUX98JV.js → chart-config-kpi-delta-DMrQerUW.js} +2 -2
  69. package/dist/client/chunks/{chart-config-kpi-delta-CkUX98JV.js.map → chart-config-kpi-delta-DMrQerUW.js.map} +1 -1
  70. package/dist/client/chunks/{chart-config-kpi-number-DcxyiUgs.js → chart-config-kpi-number-DCytCytn.js} +2 -2
  71. package/dist/client/chunks/{chart-config-kpi-number-DcxyiUgs.js.map → chart-config-kpi-number-DCytCytn.js.map} +1 -1
  72. package/dist/client/chunks/{chart-config-kpi-text-DI4mj8CN.js → chart-config-kpi-text-KdKQUvHo.js} +2 -2
  73. package/dist/client/chunks/{chart-config-kpi-text-DI4mj8CN.js.map → chart-config-kpi-text-KdKQUvHo.js.map} +1 -1
  74. package/dist/client/chunks/{chart-config-line--j7-dLue.js → chart-config-line-Bl9VDAdz.js} +2 -2
  75. package/dist/client/chunks/{chart-config-line--j7-dLue.js.map → chart-config-line-Bl9VDAdz.js.map} +1 -1
  76. package/dist/client/chunks/{chart-config-markdown-DUjvVjV4.js → chart-config-markdown-BX26b94i.js} +2 -2
  77. package/dist/client/chunks/{chart-config-markdown-DUjvVjV4.js.map → chart-config-markdown-BX26b94i.js.map} +1 -1
  78. package/dist/client/chunks/{chart-config-measure-profile-B9FKBNGc.js → chart-config-measure-profile-DwtRhEFh.js} +2 -2
  79. package/dist/client/chunks/{chart-config-measure-profile-B9FKBNGc.js.map → chart-config-measure-profile-DwtRhEFh.js.map} +1 -1
  80. package/dist/client/chunks/{chart-config-pie-yU4jipl9.js → chart-config-pie-BzBcqPMJ.js} +2 -2
  81. package/dist/client/chunks/{chart-config-pie-yU4jipl9.js.map → chart-config-pie-BzBcqPMJ.js.map} +1 -1
  82. package/dist/client/chunks/{chart-config-radar-R9Fkc8wL.js → chart-config-radar-6ZOgt__z.js} +2 -2
  83. package/dist/client/chunks/{chart-config-radar-R9Fkc8wL.js.map → chart-config-radar-6ZOgt__z.js.map} +1 -1
  84. package/dist/client/chunks/{chart-config-radial-bar-DeoXfpIp.js → chart-config-radial-bar-Df6Eta7N.js} +2 -2
  85. package/dist/client/chunks/{chart-config-radial-bar-DeoXfpIp.js.map → chart-config-radial-bar-Df6Eta7N.js.map} +1 -1
  86. package/dist/client/chunks/{chart-config-sankey-CXEsxo6s.js → chart-config-sankey-DgqKBFvN.js} +2 -2
  87. package/dist/client/chunks/{chart-config-sankey-CXEsxo6s.js.map → chart-config-sankey-DgqKBFvN.js.map} +1 -1
  88. package/dist/client/chunks/{chart-config-scatter-MVUFupub.js → chart-config-scatter-D5nVLDvi.js} +2 -2
  89. package/dist/client/chunks/{chart-config-scatter-MVUFupub.js.map → chart-config-scatter-D5nVLDvi.js.map} +1 -1
  90. package/dist/client/chunks/{chart-config-sunburst-Z_gqIY5u.js → chart-config-sunburst-Ca3FX9nW.js} +2 -2
  91. package/dist/client/chunks/{chart-config-sunburst-Z_gqIY5u.js.map → chart-config-sunburst-Ca3FX9nW.js.map} +1 -1
  92. package/dist/client/chunks/{chart-config-tree-map-BD-xAeIy.js → chart-config-tree-map-Bjy4QNa3.js} +2 -2
  93. package/dist/client/chunks/{chart-config-tree-map-BD-xAeIy.js.map → chart-config-tree-map-Bjy4QNa3.js.map} +1 -1
  94. package/dist/client/chunks/{chart-config-waterfall-CHwVkXZc.js → chart-config-waterfall-C5K2eqR7.js} +2 -2
  95. package/dist/client/chunks/{chart-config-waterfall-CHwVkXZc.js.map → chart-config-waterfall-C5K2eqR7.js.map} +1 -1
  96. package/dist/client/chunks/{chart-data-table-D4s27-U3.js → chart-data-table-2iCsn0CF.js} +1099 -933
  97. package/dist/client/chunks/chart-data-table-2iCsn0CF.js.map +1 -0
  98. package/dist/client/chunks/{chart-funnel-C9JRW79j.js → chart-funnel-poyOf7-e.js} +3 -3
  99. package/dist/client/chunks/{chart-funnel-C9JRW79j.js.map → chart-funnel-poyOf7-e.js.map} +1 -1
  100. package/dist/client/chunks/{chart-gauge-BFhc4i_f.js → chart-gauge-D5J4gRky.js} +3 -3
  101. package/dist/client/chunks/{chart-gauge-BFhc4i_f.js.map → chart-gauge-D5J4gRky.js.map} +1 -1
  102. package/dist/client/chunks/{chart-heat-map-BOMQeUDL.js → chart-heat-map-BAMVhLGG.js} +3 -3
  103. package/dist/client/chunks/{chart-heat-map-BOMQeUDL.js.map → chart-heat-map-BAMVhLGG.js.map} +1 -1
  104. package/dist/client/chunks/{chart-kpi-delta-DzGNnIcW.js → chart-kpi-delta-KQjUIeal.js} +71 -73
  105. package/dist/client/chunks/{chart-kpi-delta-DzGNnIcW.js.map → chart-kpi-delta-KQjUIeal.js.map} +1 -1
  106. package/dist/client/chunks/{chart-kpi-number-sHtgbE_f.js → chart-kpi-number-CsQgV_x3.js} +62 -63
  107. package/dist/client/chunks/{chart-kpi-number-sHtgbE_f.js.map → chart-kpi-number-CsQgV_x3.js.map} +1 -1
  108. package/dist/client/chunks/{chart-kpi-text-Bmk-GzVJ.js → chart-kpi-text-BR0IyeUU.js} +26 -27
  109. package/dist/client/chunks/{chart-kpi-text-Bmk-GzVJ.js.map → chart-kpi-text-BR0IyeUU.js.map} +1 -1
  110. package/dist/client/chunks/{chart-line-Bkl5WQAw.js → chart-line-B5_WntY5.js} +4 -4
  111. package/dist/client/chunks/{chart-line-Bkl5WQAw.js.map → chart-line-B5_WntY5.js.map} +1 -1
  112. package/dist/client/chunks/{chart-markdown-7MNetRtX.js → chart-markdown-B6bENbel.js} +648 -645
  113. package/dist/client/chunks/chart-markdown-B6bENbel.js.map +1 -0
  114. package/dist/client/chunks/{chart-measure-profile-B7h6vQo4.js → chart-measure-profile-yWk-obNb.js} +4 -4
  115. package/dist/client/chunks/{chart-measure-profile-B7h6vQo4.js.map → chart-measure-profile-yWk-obNb.js.map} +1 -1
  116. package/dist/client/chunks/{chart-pie-Do2YnCxl.js → chart-pie-BodrUoHv.js} +4 -4
  117. package/dist/client/chunks/{chart-pie-Do2YnCxl.js.map → chart-pie-BodrUoHv.js.map} +1 -1
  118. package/dist/client/chunks/{chart-radar-C7gQkH70.js → chart-radar-gG3zfLud.js} +4 -4
  119. package/dist/client/chunks/{chart-radar-C7gQkH70.js.map → chart-radar-gG3zfLud.js.map} +1 -1
  120. package/dist/client/chunks/{chart-radial-bar-DHqCck3x.js → chart-radial-bar-C2IPCV8c.js} +4 -4
  121. package/dist/client/chunks/{chart-radial-bar-DHqCck3x.js.map → chart-radial-bar-C2IPCV8c.js.map} +1 -1
  122. package/dist/client/chunks/{chart-sankey-8nRYnupt.js → chart-sankey-BOyxfG1Q.js} +3 -3
  123. package/dist/client/chunks/{chart-sankey-8nRYnupt.js.map → chart-sankey-BOyxfG1Q.js.map} +1 -1
  124. package/dist/client/chunks/{chart-scatter-YSHOUfXf.js → chart-scatter-B8OwlsAX.js} +4 -4
  125. package/dist/client/chunks/{chart-scatter-YSHOUfXf.js.map → chart-scatter-B8OwlsAX.js.map} +1 -1
  126. package/dist/client/chunks/{chart-sunburst-BGhJ4fui.js → chart-sunburst-D9lGEOCc.js} +4 -4
  127. package/dist/client/chunks/{chart-sunburst-BGhJ4fui.js.map → chart-sunburst-D9lGEOCc.js.map} +1 -1
  128. package/dist/client/chunks/{chart-tree-map-BlhcXK1F.js → chart-tree-map-DZaKy9he.js} +4 -4
  129. package/dist/client/chunks/{chart-tree-map-BlhcXK1F.js.map → chart-tree-map-DZaKy9he.js.map} +1 -1
  130. package/dist/client/chunks/{chart-waterfall-BWCAzlPq.js → chart-waterfall-BCdUx4DC.js} +4 -4
  131. package/dist/client/chunks/{chart-waterfall-BWCAzlPq.js.map → chart-waterfall-BCdUx4DC.js.map} +1 -1
  132. package/dist/client/chunks/{charts-core-Cy3rHADX.js → charts-core-C5Yokk-x.js} +2 -2
  133. package/dist/client/chunks/{charts-core-Cy3rHADX.js.map → charts-core-C5Yokk-x.js.map} +1 -1
  134. package/dist/client/chunks/{core-BdWfCZ3y.js → core-DcfMGTVa.js} +2 -2
  135. package/dist/client/chunks/{core-BdWfCZ3y.js.map → core-DcfMGTVa.js.map} +1 -1
  136. package/dist/client/chunks/{dist-BWPE2m_X.js → dist-eZurnOde.js} +1 -1
  137. package/dist/client/chunks/{dist-BWPE2m_X.js.map → dist-eZurnOde.js.map} +1 -1
  138. package/dist/client/chunks/exceljs.min-CcjgM-qg.js +31986 -0
  139. package/dist/client/chunks/exceljs.min-CcjgM-qg.js.map +1 -0
  140. package/dist/client/chunks/{javascript-O1RIRkZr.js → javascript-DFvvCuoP.js} +1 -1
  141. package/dist/client/chunks/{javascript-O1RIRkZr.js.map → javascript-DFvvCuoP.js.map} +1 -1
  142. package/dist/client/chunks/{json-C5bX2tt1.js → json-BBm9TlrA.js} +1 -1
  143. package/dist/client/chunks/{json-C5bX2tt1.js.map → json-BBm9TlrA.js.map} +1 -1
  144. package/dist/client/chunks/{rolldown-runtime-lc2dmIiU.js → rolldown-runtime-CCl2IeXn.js} +5 -2
  145. package/dist/client/chunks/{schema-visualization-BJ8HrNqB.js → schema-visualization-t1KiOORo.js} +259 -267
  146. package/dist/client/chunks/schema-visualization-t1KiOORo.js.map +1 -0
  147. package/dist/client/chunks/{sql-D2qikO5q.js → sql-k0GA6oZ_.js} +1 -1
  148. package/dist/client/chunks/{sql-D2qikO5q.js.map → sql-k0GA6oZ_.js.map} +1 -1
  149. package/dist/client/chunks/{syntaxHighlighting-BYYWYmjr.js → syntaxHighlighting-CnDujqwg.js} +2 -2
  150. package/dist/client/chunks/{syntaxHighlighting-BYYWYmjr.js.map → syntaxHighlighting-CnDujqwg.js.map} +1 -1
  151. package/dist/client/chunks/{useDebounce-EWynD0lC.js → useDebounce-CKqkM42n.js} +11 -14
  152. package/dist/client/chunks/{useDebounce-EWynD0lC.js.map → useDebounce-CKqkM42n.js.map} +1 -1
  153. package/dist/client/chunks/{useExplainAI-BBTJWQVu.js → useExplainAI-DBIfYwz-.js} +12 -12
  154. package/dist/client/chunks/{useExplainAI-BBTJWQVu.js.map → useExplainAI-DBIfYwz-.js.map} +1 -1
  155. package/dist/client/chunks/{utils-DMyRayr_.js → utils--qCr8Yn5.js} +2 -2
  156. package/dist/client/chunks/utils--qCr8Yn5.js.map +1 -0
  157. package/dist/client/chunks/{vendor-iY25ogTA.js → vendor-BRlsCGnK.js} +46 -46
  158. package/dist/client/chunks/{vendor-iY25ogTA.js.map → vendor-BRlsCGnK.js.map} +1 -1
  159. package/dist/client/components.js +3 -3
  160. package/dist/client/hooks.js +3 -3
  161. package/dist/client/icons/types.d.ts +1 -0
  162. package/dist/client/icons.js +1 -1
  163. package/dist/client/index.d.ts +2 -2
  164. package/dist/client/index.js +168 -169
  165. package/dist/client/index.js.map +1 -1
  166. package/dist/client/providers.js +1 -1
  167. package/dist/client/schema.d.ts +13 -0
  168. package/dist/client/schema.js +2 -0
  169. package/dist/client/styles.css +1 -1
  170. package/dist/client/types.d.ts +6 -0
  171. package/dist/client/utils/exportXlsx.d.ts +20 -0
  172. package/dist/client/utils/index.d.ts +1 -0
  173. package/dist/client/utils.js +7 -7
  174. package/dist/client-bundle-stats.html +1 -1
  175. package/dist/server/index.cjs +1 -1
  176. package/dist/server/index.js +1 -1
  177. package/dist/server/{openai-DqCEogm0.js → openai-CqZg6zYL.js} +1 -1
  178. package/dist/server/{openai-0HbLlZq6.cjs → openai-D9Zjuby1.cjs} +1 -1
  179. package/dist/{adapters/openai-C96O8M75.cjs → server/openai-DmuEbFd6.cjs} +1 -1
  180. package/dist/server/{openai-DnGeU9PT.js → openai-rwauPzCT.js} +1 -1
  181. package/package.json +10 -1
  182. package/dist/adapters/mcp-transport-ro4OL4BW.cjs +0 -255
  183. package/dist/client/chunks/DashboardEditModal-D_7J62sG.js.map +0 -1
  184. package/dist/client/chunks/analysis-builder-DPJJiHVx.js.map +0 -1
  185. package/dist/client/chunks/chart-data-table-D4s27-U3.js.map +0 -1
  186. package/dist/client/chunks/chart-markdown-7MNetRtX.js.map +0 -1
  187. package/dist/client/chunks/schema-visualization-BJ8HrNqB.js.map +0 -1
  188. package/dist/client/chunks/utils-DMyRayr_.js.map +0 -1
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../utils-2MwxiQ2o.cjs`),t=require(`../mcp-transport-ro4OL4BW.cjs`);let n=require(`next/server`);function r(e){let{cubes:n,drizzle:r,schema:i,engineType:a,cache:o,rlsSetup:s}=e;if(!n||n.length===0)throw Error(`At least one cube must be provided in the cubes array`);let c=new t.h({drizzle:r,schema:i,engineType:a,cache:o,rlsSetup:s});return n.forEach(e=>{c.registerCube(e)}),c}function i(e,t){let n=e.headers.get(`origin`),r={};return t.origin&&(typeof t.origin==`string`?r[`Access-Control-Allow-Origin`]=t.origin:Array.isArray(t.origin)?n&&t.origin.includes(n)&&(r[`Access-Control-Allow-Origin`]=n):typeof t.origin==`function`&&n&&t.origin(n)&&(r[`Access-Control-Allow-Origin`]=n)),t.methods&&(r[`Access-Control-Allow-Methods`]=t.methods.join(`, `)),t.allowedHeaders&&(r[`Access-Control-Allow-Headers`]=t.allowedHeaders.join(`, `)),t.credentials&&(r[`Access-Control-Allow-Credentials`]=`true`),r}function a(e){return async function(t){let n=i(t,e);return new Response(null,{status:200,headers:n})}}function o(t){let{extractSecurityContext:a,cors:o}=t,s=r(t);return async function(t,r){try{let c;if(t.method===`POST`){let e=await t.json();c=e.query||e}else if(t.method===`GET`){let r=t.nextUrl.searchParams.get(`query`);if(!r)return n.NextResponse.json(e.i(`Query parameter is required`,400),{status:400});try{c=JSON.parse(r)}catch{return n.NextResponse.json(e.i(`Invalid JSON in query parameter`,400),{status:400})}}else return n.NextResponse.json(e.i(`Method not allowed`,405),{status:405});let l=await a(t,r),u=s.validateQuery(c);if(!u.isValid)return n.NextResponse.json(e.i(`Query validation failed: ${u.errors.join(`, `)}`,400),{status:400});let d=t.headers.get(`x-cache-control`)===`no-cache`,f=await s.executeMultiCubeQuery(c,l,{skipCache:d}),p=e.r(c,f,s);return n.NextResponse.json(p,{headers:o?i(t,o):{}})}catch(t){return process.env.NODE_ENV!==`test`&&console.error(`Next.js load handler error:`,t),n.NextResponse.json(e.i(t instanceof Error?t.message:`Query execution failed`,500),{status:500})}}}function s(t){let{cors:a}=t,o=r(t);return async function(t,r){try{let r=e.a(o.getMetadata());return n.NextResponse.json(r,{headers:a?i(t,a):{}})}catch(t){return process.env.NODE_ENV!==`test`&&console.error(`Next.js meta handler error:`,t),n.NextResponse.json(e.i(t instanceof Error?t.message:`Failed to fetch metadata`,500),{status:500})}}}function c(t){let{extractSecurityContext:a,cors:o}=t,s=r(t);return async function(t,r){try{let c;if(t.method===`POST`){let e=await t.json();c=e.query||e}else if(t.method===`GET`){let r=t.nextUrl.searchParams.get(`query`);if(!r)return n.NextResponse.json(e.i(`Query parameter is required`,400),{status:400});try{c=JSON.parse(r)}catch{return n.NextResponse.json(e.i(`Invalid JSON in query parameter`,400),{status:400})}}else return n.NextResponse.json(e.i(`Method not allowed`,405),{status:405});let l=await a(t,r),u=s.validateQuery(c);if(!u.isValid)return n.NextResponse.json(e.i(`Query validation failed: ${u.errors.join(`, `)}`,400),{status:400});let d=c.measures?.[0]||c.dimensions?.[0];if(!d)return n.NextResponse.json(e.i(`No measures or dimensions specified`,400),{status:400});let f=d.split(`.`)[0],p=await s.generateSQL(f,c,l),m=e.o(c,p);return n.NextResponse.json(m,{headers:o?i(t,o):{}})}catch(t){return process.env.NODE_ENV!==`test`&&console.error(`Next.js SQL handler error:`,t),n.NextResponse.json(e.i(t instanceof Error?t.message:`SQL generation failed`,500),{status:500})}}}function l(t){let{extractSecurityContext:a,cors:o}=t,s=r(t);return async function(t,r){try{let c;if(t.method===`POST`){let e=await t.json();c=e.query||e}else if(t.method===`GET`){let e=t.nextUrl.searchParams.get(`query`);if(!e)return n.NextResponse.json({error:`Query parameter is required`,valid:!1},{status:400});try{c=JSON.parse(e)}catch{return n.NextResponse.json({error:`Invalid JSON in query parameter`,valid:!1},{status:400})}}else return n.NextResponse.json({error:`Method not allowed`,valid:!1},{status:405});let l=await a(t,r),u=await e.f(c,l,s);return n.NextResponse.json(u,{headers:o?i(t,o):{}})}catch(e){return process.env.NODE_ENV!==`test`&&console.error(`Next.js dry-run handler error:`,e),n.NextResponse.json({error:e instanceof Error?e.message:`Dry-run validation failed`,valid:!1},{status:400})}}}function u(t){let{extractSecurityContext:a,cors:o}=t,s=r(t);return async function(t,r){try{if(t.method!==`POST`)return n.NextResponse.json(e.i(`Method not allowed - use POST`,405),{status:405});let{queries:c}=await t.json();if(!c||!Array.isArray(c))return n.NextResponse.json(e.i(`Request body must contain a "queries" array`,400),{status:400});if(c.length===0)return n.NextResponse.json(e.i(`Queries array cannot be empty`,400),{status:400});let l=await e.u(c,await a(t,r),s,{skipCache:t.headers.get(`x-cache-control`)===`no-cache`});return n.NextResponse.json(l,{headers:o?i(t,o):{}})}catch(t){return process.env.NODE_ENV!==`test`&&console.error(`Next.js batch handler error:`,t),n.NextResponse.json(e.i(t instanceof Error?t.message:`Batch execution failed`,500),{status:500})}}}function d(e){let{extractSecurityContext:t,cors:a}=e,o=r(e);return async function(e,r){try{if(e.method!==`POST`)return n.NextResponse.json({error:`Method not allowed`},{status:405});let s=await e.json(),c=s.query||s,l=s.options||{},u=await t(e,r),d=o.validateQuery(c);if(!d.isValid)return n.NextResponse.json({error:`Query validation failed: ${d.errors.join(`, `)}`},{status:400});let f=await o.explainQuery(c,u,l);return n.NextResponse.json(f,{headers:a?i(e,a):{}})}catch(e){return process.env.NODE_ENV!==`test`&&console.error(`Next.js explain handler error:`,e),n.NextResponse.json({error:e instanceof Error?e.message:`Explain query failed`},{status:500})}}}function f(t){let{cors:a}=t,o=r(t);return async function(t,r){try{if(t.method!==`POST`)return n.NextResponse.json(e.i(`Method not allowed - use POST`,405),{status:405});let r=await e.d(o,await t.json());return n.NextResponse.json(r,{headers:a?i(t,a):{}})}catch(t){return process.env.NODE_ENV!==`test`&&console.error(`Next.js discover handler error:`,t),n.NextResponse.json(e.i(t instanceof Error?t.message:`Discovery failed`,500),{status:500})}}}function p(t){let{cors:a}=t,o=r(t);return async function(t,r){try{if(t.method!==`POST`)return n.NextResponse.json(e.i(`Method not allowed - use POST`,405),{status:405});let r=await t.json();if(!r.naturalLanguage)return n.NextResponse.json(e.i(`naturalLanguage field is required`,400),{status:400});let s=await e.m(o,r);return n.NextResponse.json(s,{headers:a?i(t,a):{}})}catch(t){return process.env.NODE_ENV!==`test`&&console.error(`Next.js suggest handler error:`,t),n.NextResponse.json(e.i(t instanceof Error?t.message:`Query suggestion failed`,500),{status:500})}}}function m(t){let{cors:a}=t,o=r(t);return async function(t,r){try{if(t.method!==`POST`)return n.NextResponse.json(e.i(`Method not allowed - use POST`,405),{status:405});let r=await t.json();if(!r.query)return n.NextResponse.json(e.i(`query field is required`,400),{status:400});let s=await e.h(o,r);return n.NextResponse.json(s,{headers:a?i(t,a):{}})}catch(t){return process.env.NODE_ENV!==`test`&&console.error(`Next.js validate handler error:`,t),n.NextResponse.json(e.i(t instanceof Error?t.message:`Query validation failed`,500),{status:500})}}}function h(t){let{extractSecurityContext:a,cors:o}=t,s=r(t);return async function(t,r){try{if(t.method!==`POST`)return n.NextResponse.json(e.i(`Method not allowed - use POST`,405),{status:405});let c=await t.json();if(!c.query)return n.NextResponse.json(e.i(`query field is required`,400),{status:400});let l=await e.p(s,await a(t,r),c);return n.NextResponse.json(l,{headers:o?i(t,o):{}})}catch(t){return process.env.NODE_ENV!==`test`&&console.error(`Next.js MCP load handler error:`,t),n.NextResponse.json(e.i(t instanceof Error?t.message:`Query execution failed`,500),{status:500})}}}function g(a){let{extractSecurityContext:o,cors:s,mcp:c={enabled:!0}}=a,l=r(a);return async function(r){if(r.method===`DELETE`)return n.NextResponse.json({error:`Session termination not supported`},{status:405});if(r.method===`GET`){let e=new TextEncoder,a=t.u(),o=new ReadableStream({start(n){n.enqueue(e.encode(t.d({jsonrpc:`2.0`,method:`mcp/ready`,params:{protocol:`streamable-http`}},a,15e3)))}}),c=new Headers({"Content-Type":`text/event-stream`,"Cache-Control":`no-cache`,Connection:`keep-alive`});if(s){let e=i(r,s);Object.entries(e).forEach(([e,t])=>c.set(e,t))}return new n.NextResponse(o,{status:200,headers:c})}if(r.method!==`POST`)return n.NextResponse.json(e.i(`Method not allowed - use POST`,405),{status:405});let a=t.p(r.headers.get(`origin`),c.allowedOrigins?{allowedOrigins:c.allowedOrigins}:{});if(!a.valid)return n.NextResponse.json(t.n(null,-32600,a.reason),{status:403});let u=r.headers.get(`accept`);if(!t.f(u))return n.NextResponse.json(t.n(null,-32600,`Accept header must include both application/json and text/event-stream`),{status:400});let d=t.c(Object.fromEntries(r.headers.entries()));if(!d.ok)return n.NextResponse.json({error:`Unsupported MCP protocol version`,supported:d.supported},{status:426});let f;try{f=await r.json()}catch{f=null}let p=t.l(f);if(!p)return n.NextResponse.json(t.n(null,-32600,`Invalid JSON-RPC 2.0 request`),{status:400});let m=t.m(u),h=p.method===`initialize`,g=(e,t=200,a={})=>n.NextResponse.json(e,{status:t,headers:{...s?i(r,s):{},...a}});try{let e=await t.i(p.method,p.params,{semanticLayer:l,extractSecurityContext:e=>o(e),rawRequest:r,rawResponse:null});if(t.s(p))return new n.NextResponse(null,{status:202});let a=h&&e&&typeof e==`object`&&`sessionId`in e?e.sessionId:void 0,c={};a&&(c[t.t]=a);let u=t.r(p.id??null,e);if(m){let e=new TextEncoder,a=t.u(),o=new ReadableStream({start(n){n.enqueue(e.encode(`id: ${a}\n\n`)),n.enqueue(e.encode(t.d(u,a))),n.close()}}),l=new Headers({"Content-Type":`text/event-stream`,"Cache-Control":`no-cache`,Connection:`keep-alive`,...c});if(s){let e=i(r,s);Object.entries(e).forEach(([e,t])=>l.set(e,t))}return new n.NextResponse(o,{status:200,headers:l})}return g(u,200,c)}catch(e){if(t.s(p))return process.env.NODE_ENV!==`test`&&console.error(`Next.js MCP notification processing error:`,e),new n.NextResponse(null,{status:202});process.env.NODE_ENV!==`test`&&console.error(`Next.js MCP RPC handler error:`,e);let a=e?.code??-32603,o=e?.data,c=e.message||`MCP request failed`,l=t.n(p.id??null,a,c,o);if(m){let e=new TextEncoder,a=t.u(),o=new ReadableStream({start(n){n.enqueue(e.encode(`id: ${a}\n\n`)),n.enqueue(e.encode(t.d(l,a))),n.close()}}),c=new Headers({"Content-Type":`text/event-stream`,"Cache-Control":`no-cache`,Connection:`keep-alive`});if(s){let e=i(r,s);Object.entries(e).forEach(([e,t])=>c.set(e,t))}return new n.NextResponse(o,{status:200,headers:c})}return g(l,200)}}}function _(e){let{extractSecurityContext:t,cors:a,agent:o}=e;if(!o)throw Error(`agent config is required for createAgentChatHandler`);let s=r(e);return async function(e,r){try{if(e.method!==`POST`)return n.NextResponse.json({error:`Method not allowed - use POST`},{status:405});let{handleAgentChat:c}=await Promise.resolve().then(()=>require(`../handler-dHHEEbG9.cjs`)),{message:l,sessionId:u,history:d}=await e.json();if(!l||typeof l!=`string`)return n.NextResponse.json({error:`message is required and must be a string`},{status:400});let f=(o.apiKey||``).trim();if(o.allowClientApiKey){let t=e.headers.get(`x-agent-api-key`);t&&(f=t.trim())}if(!f)return n.NextResponse.json({error:`No API key configured. Set agent.apiKey in server config or send X-Agent-Api-Key header.`},{status:401});let p=o.allowClientApiKey&&e.headers.get(`x-agent-provider`)||void 0,m=o.allowClientApiKey&&e.headers.get(`x-agent-model`)||void 0,h=o.allowClientApiKey&&e.headers.get(`x-agent-provider-endpoint`)||void 0,g=await t(e,r),_=o.buildSystemContext?.(g),v=new TextEncoder,y=new ReadableStream({async start(e){try{let t=c({message:l,sessionId:u,history:d,semanticLayer:s,securityContext:g,agentConfig:o,apiKey:f,systemContext:_,providerOverride:p,modelOverride:m,baseURLOverride:h});for await(let n of t){let t=`data: ${JSON.stringify(n)}\n\n`;e.enqueue(v.encode(t))}}catch(t){let n={type:`error`,data:{message:t instanceof Error?t.message:`Stream failed`}};e.enqueue(v.encode(`data: ${JSON.stringify(n)}\n\n`))}finally{e.close()}}}),b=new Headers({"Content-Type":`text/event-stream`,"Cache-Control":`no-cache`,Connection:`keep-alive`});if(a){let t=i(e,a);Object.entries(t).forEach(([e,t])=>b.set(e,t))}return new Response(y,{status:200,headers:b})}catch(e){return process.env.NODE_ENV!==`test`&&console.error(`Next.js agent chat handler error:`,e),n.NextResponse.json({error:e instanceof Error?e.message:`Agent chat failed`},{status:500})}}}function v(e){let{mcp:t={enabled:!0}}=e,n={load:o(e),meta:s(e),sql:c(e),dryRun:l(e),batch:u(e),explain:d(e)};return t.enabled!==!1&&(n.mcpRpc=g(e)),e.agent&&(n.agentChat=_(e)),n}exports.createAgentChatHandler=_,exports.createBatchHandler=u,exports.createCubeHandlers=v,exports.createDiscoverHandler=f,exports.createDryRunHandler=l,exports.createExplainHandler=d,exports.createLoadHandler=o,exports.createMcpLoadHandler=h,exports.createMcpRpcHandler=g,exports.createMetaHandler=s,exports.createOptionsHandler=a,exports.createSqlHandler=c,exports.createSuggestHandler=p,exports.createValidateHandler=m;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../utils-2MwxiQ2o.cjs`),t=require(`../mcp-transport-mmuPvjfR.cjs`);let n=require(`next/server`);function r(e){let{cubes:n,drizzle:r,schema:i,engineType:a,cache:o,rlsSetup:s}=e;if(!n||n.length===0)throw Error(`At least one cube must be provided in the cubes array`);let c=new t.h({drizzle:r,schema:i,engineType:a,cache:o,rlsSetup:s});return n.forEach(e=>{c.registerCube(e)}),c}function i(e,t){let n=e.headers.get(`origin`),r={};return t.origin&&(typeof t.origin==`string`?r[`Access-Control-Allow-Origin`]=t.origin:Array.isArray(t.origin)?n&&t.origin.includes(n)&&(r[`Access-Control-Allow-Origin`]=n):typeof t.origin==`function`&&n&&t.origin(n)&&(r[`Access-Control-Allow-Origin`]=n)),t.methods&&(r[`Access-Control-Allow-Methods`]=t.methods.join(`, `)),t.allowedHeaders&&(r[`Access-Control-Allow-Headers`]=t.allowedHeaders.join(`, `)),t.credentials&&(r[`Access-Control-Allow-Credentials`]=`true`),r}function a(e){return async function(t){let n=i(t,e);return new Response(null,{status:200,headers:n})}}function o(t){let{extractSecurityContext:a,cors:o}=t,s=r(t);return async function(t,r){try{let c;if(t.method===`POST`){let e=await t.json();c=e.query||e}else if(t.method===`GET`){let r=t.nextUrl.searchParams.get(`query`);if(!r)return n.NextResponse.json(e.i(`Query parameter is required`,400),{status:400});try{c=JSON.parse(r)}catch{return n.NextResponse.json(e.i(`Invalid JSON in query parameter`,400),{status:400})}}else return n.NextResponse.json(e.i(`Method not allowed`,405),{status:405});let l=await a(t,r),u=s.validateQuery(c);if(!u.isValid)return n.NextResponse.json(e.i(`Query validation failed: ${u.errors.join(`, `)}`,400),{status:400});let d=t.headers.get(`x-cache-control`)===`no-cache`,f=await s.executeMultiCubeQuery(c,l,{skipCache:d}),p=e.r(c,f,s);return n.NextResponse.json(p,{headers:o?i(t,o):{}})}catch(t){return process.env.NODE_ENV!==`test`&&console.error(`Next.js load handler error:`,t),n.NextResponse.json(e.i(t instanceof Error?t.message:`Query execution failed`,500),{status:500})}}}function s(t){let{cors:a}=t,o=r(t);return async function(t,r){try{let r=e.a(o.getMetadata());return n.NextResponse.json(r,{headers:a?i(t,a):{}})}catch(t){return process.env.NODE_ENV!==`test`&&console.error(`Next.js meta handler error:`,t),n.NextResponse.json(e.i(t instanceof Error?t.message:`Failed to fetch metadata`,500),{status:500})}}}function c(t){let{extractSecurityContext:a,cors:o}=t,s=r(t);return async function(t,r){try{let c;if(t.method===`POST`){let e=await t.json();c=e.query||e}else if(t.method===`GET`){let r=t.nextUrl.searchParams.get(`query`);if(!r)return n.NextResponse.json(e.i(`Query parameter is required`,400),{status:400});try{c=JSON.parse(r)}catch{return n.NextResponse.json(e.i(`Invalid JSON in query parameter`,400),{status:400})}}else return n.NextResponse.json(e.i(`Method not allowed`,405),{status:405});let l=await a(t,r),u=s.validateQuery(c);if(!u.isValid)return n.NextResponse.json(e.i(`Query validation failed: ${u.errors.join(`, `)}`,400),{status:400});let d=c.measures?.[0]||c.dimensions?.[0];if(!d)return n.NextResponse.json(e.i(`No measures or dimensions specified`,400),{status:400});let f=d.split(`.`)[0],p=await s.generateSQL(f,c,l),m=e.o(c,p);return n.NextResponse.json(m,{headers:o?i(t,o):{}})}catch(t){return process.env.NODE_ENV!==`test`&&console.error(`Next.js SQL handler error:`,t),n.NextResponse.json(e.i(t instanceof Error?t.message:`SQL generation failed`,500),{status:500})}}}function l(t){let{extractSecurityContext:a,cors:o}=t,s=r(t);return async function(t,r){try{let c;if(t.method===`POST`){let e=await t.json();c=e.query||e}else if(t.method===`GET`){let e=t.nextUrl.searchParams.get(`query`);if(!e)return n.NextResponse.json({error:`Query parameter is required`,valid:!1},{status:400});try{c=JSON.parse(e)}catch{return n.NextResponse.json({error:`Invalid JSON in query parameter`,valid:!1},{status:400})}}else return n.NextResponse.json({error:`Method not allowed`,valid:!1},{status:405});let l=await a(t,r),u=await e.f(c,l,s);return n.NextResponse.json(u,{headers:o?i(t,o):{}})}catch(e){return process.env.NODE_ENV!==`test`&&console.error(`Next.js dry-run handler error:`,e),n.NextResponse.json({error:e instanceof Error?e.message:`Dry-run validation failed`,valid:!1},{status:400})}}}function u(t){let{extractSecurityContext:a,cors:o}=t,s=r(t);return async function(t,r){try{if(t.method!==`POST`)return n.NextResponse.json(e.i(`Method not allowed - use POST`,405),{status:405});let{queries:c}=await t.json();if(!c||!Array.isArray(c))return n.NextResponse.json(e.i(`Request body must contain a "queries" array`,400),{status:400});if(c.length===0)return n.NextResponse.json(e.i(`Queries array cannot be empty`,400),{status:400});let l=await e.u(c,await a(t,r),s,{skipCache:t.headers.get(`x-cache-control`)===`no-cache`});return n.NextResponse.json(l,{headers:o?i(t,o):{}})}catch(t){return process.env.NODE_ENV!==`test`&&console.error(`Next.js batch handler error:`,t),n.NextResponse.json(e.i(t instanceof Error?t.message:`Batch execution failed`,500),{status:500})}}}function d(e){let{extractSecurityContext:t,cors:a}=e,o=r(e);return async function(e,r){try{if(e.method!==`POST`)return n.NextResponse.json({error:`Method not allowed`},{status:405});let s=await e.json(),c=s.query||s,l=s.options||{},u=await t(e,r),d=o.validateQuery(c);if(!d.isValid)return n.NextResponse.json({error:`Query validation failed: ${d.errors.join(`, `)}`},{status:400});let f=await o.explainQuery(c,u,l);return n.NextResponse.json(f,{headers:a?i(e,a):{}})}catch(e){return process.env.NODE_ENV!==`test`&&console.error(`Next.js explain handler error:`,e),n.NextResponse.json({error:e instanceof Error?e.message:`Explain query failed`},{status:500})}}}function f(t){let{cors:a}=t,o=r(t);return async function(t,r){try{if(t.method!==`POST`)return n.NextResponse.json(e.i(`Method not allowed - use POST`,405),{status:405});let r=await e.d(o,await t.json());return n.NextResponse.json(r,{headers:a?i(t,a):{}})}catch(t){return process.env.NODE_ENV!==`test`&&console.error(`Next.js discover handler error:`,t),n.NextResponse.json(e.i(t instanceof Error?t.message:`Discovery failed`,500),{status:500})}}}function p(t){let{cors:a}=t,o=r(t);return async function(t,r){try{if(t.method!==`POST`)return n.NextResponse.json(e.i(`Method not allowed - use POST`,405),{status:405});let r=await t.json();if(!r.naturalLanguage)return n.NextResponse.json(e.i(`naturalLanguage field is required`,400),{status:400});let s=await e.m(o,r);return n.NextResponse.json(s,{headers:a?i(t,a):{}})}catch(t){return process.env.NODE_ENV!==`test`&&console.error(`Next.js suggest handler error:`,t),n.NextResponse.json(e.i(t instanceof Error?t.message:`Query suggestion failed`,500),{status:500})}}}function m(t){let{cors:a}=t,o=r(t);return async function(t,r){try{if(t.method!==`POST`)return n.NextResponse.json(e.i(`Method not allowed - use POST`,405),{status:405});let r=await t.json();if(!r.query)return n.NextResponse.json(e.i(`query field is required`,400),{status:400});let s=await e.h(o,r);return n.NextResponse.json(s,{headers:a?i(t,a):{}})}catch(t){return process.env.NODE_ENV!==`test`&&console.error(`Next.js validate handler error:`,t),n.NextResponse.json(e.i(t instanceof Error?t.message:`Query validation failed`,500),{status:500})}}}function h(t){let{extractSecurityContext:a,cors:o}=t,s=r(t);return async function(t,r){try{if(t.method!==`POST`)return n.NextResponse.json(e.i(`Method not allowed - use POST`,405),{status:405});let c=await t.json();if(!c.query)return n.NextResponse.json(e.i(`query field is required`,400),{status:400});let l=await e.p(s,await a(t,r),c);return n.NextResponse.json(l,{headers:o?i(t,o):{}})}catch(t){return process.env.NODE_ENV!==`test`&&console.error(`Next.js MCP load handler error:`,t),n.NextResponse.json(e.i(t instanceof Error?t.message:`Query execution failed`,500),{status:500})}}}function g(a){let{extractSecurityContext:o,cors:s,mcp:c={enabled:!0}}=a,l=r(a);return async function(r){if(r.method===`DELETE`)return n.NextResponse.json({error:`Session termination not supported`},{status:405});if(r.method===`GET`){let e=new TextEncoder,a=t.u(),o=new ReadableStream({start(n){n.enqueue(e.encode(t.d({jsonrpc:`2.0`,method:`mcp/ready`,params:{protocol:`streamable-http`}},a,15e3)))}}),c=new Headers({"Content-Type":`text/event-stream`,"Cache-Control":`no-cache`,Connection:`keep-alive`});if(s){let e=i(r,s);Object.entries(e).forEach(([e,t])=>c.set(e,t))}return new n.NextResponse(o,{status:200,headers:c})}if(r.method!==`POST`)return n.NextResponse.json(e.i(`Method not allowed - use POST`,405),{status:405});let a=t.p(r.headers.get(`origin`),c.allowedOrigins?{allowedOrigins:c.allowedOrigins}:{});if(!a.valid)return n.NextResponse.json(t.n(null,-32600,a.reason),{status:403});let u=r.headers.get(`accept`);if(!t.f(u))return n.NextResponse.json(t.n(null,-32600,`Accept header must include both application/json and text/event-stream`),{status:400});let d=t.c(Object.fromEntries(r.headers.entries()));if(!d.ok)return n.NextResponse.json({error:`Unsupported MCP protocol version`,supported:d.supported},{status:426});let f;try{f=await r.json()}catch{f=null}let p=t.l(f);if(!p)return n.NextResponse.json(t.n(null,-32600,`Invalid JSON-RPC 2.0 request`),{status:400});let m=t.m(u),h=p.method===`initialize`,g=(e,t=200,a={})=>n.NextResponse.json(e,{status:t,headers:{...s?i(r,s):{},...a}});try{let e=await t.i(p.method,p.params,{semanticLayer:l,extractSecurityContext:e=>o(e),rawRequest:r,rawResponse:null});if(t.s(p))return new n.NextResponse(null,{status:202});let a=h&&e&&typeof e==`object`&&`sessionId`in e?e.sessionId:void 0,c={};a&&(c[t.t]=a);let u=t.r(p.id??null,e);if(m){let e=new TextEncoder,a=t.u(),o=new ReadableStream({start(n){n.enqueue(e.encode(`id: ${a}\n\n`)),n.enqueue(e.encode(t.d(u,a))),n.close()}}),l=new Headers({"Content-Type":`text/event-stream`,"Cache-Control":`no-cache`,Connection:`keep-alive`,...c});if(s){let e=i(r,s);Object.entries(e).forEach(([e,t])=>l.set(e,t))}return new n.NextResponse(o,{status:200,headers:l})}return g(u,200,c)}catch(e){if(t.s(p))return process.env.NODE_ENV!==`test`&&console.error(`Next.js MCP notification processing error:`,e),new n.NextResponse(null,{status:202});process.env.NODE_ENV!==`test`&&console.error(`Next.js MCP RPC handler error:`,e);let a=e?.code??-32603,o=e?.data,c=e.message||`MCP request failed`,l=t.n(p.id??null,a,c,o);if(m){let e=new TextEncoder,a=t.u(),o=new ReadableStream({start(n){n.enqueue(e.encode(`id: ${a}\n\n`)),n.enqueue(e.encode(t.d(l,a))),n.close()}}),c=new Headers({"Content-Type":`text/event-stream`,"Cache-Control":`no-cache`,Connection:`keep-alive`});if(s){let e=i(r,s);Object.entries(e).forEach(([e,t])=>c.set(e,t))}return new n.NextResponse(o,{status:200,headers:c})}return g(l,200)}}}function _(e){let{extractSecurityContext:t,cors:a,agent:o}=e;if(!o)throw Error(`agent config is required for createAgentChatHandler`);let s=r(e);return async function(e,r){try{if(e.method!==`POST`)return n.NextResponse.json({error:`Method not allowed - use POST`},{status:405});let{handleAgentChat:c}=await Promise.resolve().then(()=>require(`../handler-BneUGY0k.cjs`)),{message:l,sessionId:u,history:d}=await e.json();if(!l||typeof l!=`string`)return n.NextResponse.json({error:`message is required and must be a string`},{status:400});let f=(o.apiKey||``).trim();if(o.allowClientApiKey){let t=e.headers.get(`x-agent-api-key`);t&&(f=t.trim())}if(!f)return n.NextResponse.json({error:`No API key configured. Set agent.apiKey in server config or send X-Agent-Api-Key header.`},{status:401});let p=o.allowClientApiKey&&e.headers.get(`x-agent-provider`)||void 0,m=o.allowClientApiKey&&e.headers.get(`x-agent-model`)||void 0,h=o.allowClientApiKey&&e.headers.get(`x-agent-provider-endpoint`)||void 0,g=await t(e,r),_=o.buildSystemContext?.(g),v=new TextEncoder,y=new ReadableStream({async start(e){try{let t=c({message:l,sessionId:u,history:d,semanticLayer:s,securityContext:g,agentConfig:o,apiKey:f,systemContext:_,providerOverride:p,modelOverride:m,baseURLOverride:h});for await(let n of t){let t=`data: ${JSON.stringify(n)}\n\n`;e.enqueue(v.encode(t))}}catch(t){let n={type:`error`,data:{message:t instanceof Error?t.message:`Stream failed`}};e.enqueue(v.encode(`data: ${JSON.stringify(n)}\n\n`))}finally{e.close()}}}),b=new Headers({"Content-Type":`text/event-stream`,"Cache-Control":`no-cache`,Connection:`keep-alive`});if(a){let t=i(e,a);Object.entries(t).forEach(([e,t])=>b.set(e,t))}return new Response(y,{status:200,headers:b})}catch(e){return process.env.NODE_ENV!==`test`&&console.error(`Next.js agent chat handler error:`,e),n.NextResponse.json({error:e instanceof Error?e.message:`Agent chat failed`},{status:500})}}}function v(e){let{mcp:t={enabled:!0}}=e,n={load:o(e),meta:s(e),sql:c(e),dryRun:l(e),batch:u(e),explain:d(e)};return t.enabled!==!1&&(n.mcpRpc=g(e)),e.agent&&(n.agentChat=_(e)),n}exports.createAgentChatHandler=_,exports.createBatchHandler=u,exports.createCubeHandlers=v,exports.createDiscoverHandler=f,exports.createDryRunHandler=l,exports.createExplainHandler=d,exports.createLoadHandler=o,exports.createMcpLoadHandler=h,exports.createMcpRpcHandler=g,exports.createMetaHandler=s,exports.createOptionsHandler=a,exports.createSqlHandler=c,exports.createSuggestHandler=p,exports.createValidateHandler=m;
@@ -1,5 +1,5 @@
1
1
  import { a as e, d as t, f as n, h as r, i, m as a, o, p as s, r as c, u as l } from "../utils-_2o905Fi.js";
2
- import { c as u, d, f, h as p, i as m, l as h, m as g, n as _, p as v, r as y, s as b, t as x, u as S } from "../mcp-transport-tB5a7Het.js";
2
+ import { c as u, d, f, h as p, i as m, l as h, m as g, n as _, p as v, r as y, s as b, t as x, u as S } from "../mcp-transport-CC3hQOnb.js";
3
3
  import { NextResponse as C } from "next/server";
4
4
  //#region src/adapters/nextjs/index.ts
5
5
  function w(e) {
@@ -325,7 +325,7 @@ function R(e) {
325
325
  return async function(e, a) {
326
326
  try {
327
327
  if (e.method !== "POST") return C.json({ error: "Method not allowed - use POST" }, { status: 405 });
328
- let { handleAgentChat: o } = await import("../handler-fto6TSVn.js"), { message: s, sessionId: c, history: l } = await e.json();
328
+ let { handleAgentChat: o } = await import("../handler-CiQoQsnP.js"), { message: s, sessionId: c, history: l } = await e.json();
329
329
  if (!s || typeof s != "string") return C.json({ error: "message is required and must be a string" }, { status: 400 });
330
330
  let u = (r.apiKey || "").trim();
331
331
  if (r.allowClientApiKey) {
@@ -104,7 +104,7 @@ var re = (e, t) => {
104
104
  } catch {
105
105
  return;
106
106
  }
107
- }, ae = (e) => new Promise((t) => setTimeout(t, e)), oe = "6.32.0", se = () => typeof window < "u" && window.document !== void 0 && typeof navigator < "u";
107
+ }, ae = (e) => new Promise((t) => setTimeout(t, e)), oe = "6.33.0", se = () => typeof window < "u" && window.document !== void 0 && typeof navigator < "u";
108
108
  function ce() {
109
109
  return typeof Deno < "u" && Deno.build != null ? "deno" : typeof EdgeRuntime < "u" ? "edge" : Object.prototype.toString.call(globalThis.process === void 0 ? 0 : globalThis.process) === "[object process]" ? "node" : "unknown";
110
110
  }
@@ -1,4 +1,4 @@
1
- function e(e,t,n,r,i){if(r===`m`)throw TypeError(`Private method is not writable`);if(r===`a`&&!i)throw TypeError(`Private accessor was defined without a setter`);if(typeof t==`function`?e!==t||!i:!t.has(e))throw TypeError(`Cannot write private member to an object whose class did not declare it`);return r===`a`?i.call(e,n):i?i.value=n:t.set(e,n),n}function t(e,t,n,r){if(n===`a`&&!r)throw TypeError(`Private accessor was defined without a getter`);if(typeof t==`function`?e!==t||!r:!t.has(e))throw TypeError(`Cannot read private member from an object whose class did not declare it`);return n===`m`?r:n===`a`?r.call(e):r?r.value:t.get(e)}var n=function(){let{crypto:e}=globalThis;if(e?.randomUUID)return n=e.randomUUID.bind(e),e.randomUUID();let t=new Uint8Array(1),r=e?()=>e.getRandomValues(t)[0]:()=>Math.random()*255&255;return`10000000-1000-4000-8000-100000000000`.replace(/[018]/g,e=>(e^r()&15>>e/4).toString(16))};function r(e){return typeof e==`object`&&!!e&&(`name`in e&&e.name===`AbortError`||`message`in e&&String(e.message).includes(`FetchRequestCanceledException`))}var i=e=>{if(e instanceof Error)return e;if(typeof e==`object`&&e){try{if(Object.prototype.toString.call(e)===`[object Error]`){let t=Error(e.message,e.cause?{cause:e.cause}:{});return e.stack&&(t.stack=e.stack),e.cause&&!t.cause&&(t.cause=e.cause),e.name&&(t.name=e.name),t}}catch{}try{return Error(JSON.stringify(e))}catch{}}return Error(e)},a=class extends Error{},o=class e extends a{constructor(t,n,r,i){super(`${e.makeMessage(t,n,r)}`),this.status=t,this.headers=i,this.requestID=i?.get(`x-request-id`),this.error=n;let a=n;this.code=a?.code,this.param=a?.param,this.type=a?.type}static makeMessage(e,t,n){let r=t?.message?typeof t.message==`string`?t.message:JSON.stringify(t.message):t?JSON.stringify(t):n;return e&&r?`${e} ${r}`:e?`${e} status code (no body)`:r||`(no status code or body)`}static generate(t,n,r,a){if(!t||!a)return new c({message:r,cause:i(n)});let o=n?.error;return t===400?new u(t,o,r,a):t===401?new d(t,o,r,a):t===403?new f(t,o,r,a):t===404?new p(t,o,r,a):t===409?new m(t,o,r,a):t===422?new h(t,o,r,a):t===429?new g(t,o,r,a):t>=500?new _(t,o,r,a):new e(t,o,r,a)}},s=class extends o{constructor({message:e}={}){super(void 0,void 0,e||`Request was aborted.`,void 0)}},c=class extends o{constructor({message:e,cause:t}){super(void 0,void 0,e||`Connection error.`,void 0),t&&(this.cause=t)}},l=class extends c{constructor({message:e}={}){super({message:e??`Request timed out.`})}},u=class extends o{},d=class extends o{},f=class extends o{},p=class extends o{},m=class extends o{},h=class extends o{},g=class extends o{},_=class extends o{},v=class extends a{constructor(){super(`Could not parse response content as the length limit was reached`)}},y=class extends a{constructor(){super(`Could not parse response content as the request was rejected by the content filter`)}},b=class extends Error{constructor(e){super(e)}},ee=/^[a-z][a-z0-9+.-]*:/i,te=e=>ee.test(e),x=e=>(x=Array.isArray,x(e)),S=x;function C(e){return typeof e==`object`?e??{}:{}}function w(e){if(!e)return!0;for(let t in e)return!1;return!0}function ne(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function T(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}var re=(e,t)=>{if(typeof t!=`number`||!Number.isInteger(t))throw new a(`${e} must be an integer`);if(t<0)throw new a(`${e} must be a positive integer`);return t},ie=e=>{try{return JSON.parse(e)}catch{return}},ae=e=>new Promise(t=>setTimeout(t,e)),oe=`6.32.0`,se=()=>typeof window<`u`&&window.document!==void 0&&typeof navigator<`u`;function ce(){return typeof Deno<`u`&&Deno.build!=null?`deno`:typeof EdgeRuntime<`u`?`edge`:Object.prototype.toString.call(globalThis.process===void 0?0:globalThis.process)===`[object process]`?`node`:`unknown`}var le=()=>{let e=ce();if(e===`deno`)return{"X-Stainless-Lang":`js`,"X-Stainless-Package-Version":oe,"X-Stainless-OS":fe(Deno.build.os),"X-Stainless-Arch":de(Deno.build.arch),"X-Stainless-Runtime":`deno`,"X-Stainless-Runtime-Version":typeof Deno.version==`string`?Deno.version:Deno.version?.deno??`unknown`};if(typeof EdgeRuntime<`u`)return{"X-Stainless-Lang":`js`,"X-Stainless-Package-Version":oe,"X-Stainless-OS":`Unknown`,"X-Stainless-Arch":`other:${EdgeRuntime}`,"X-Stainless-Runtime":`edge`,"X-Stainless-Runtime-Version":globalThis.process.version};if(e===`node`)return{"X-Stainless-Lang":`js`,"X-Stainless-Package-Version":oe,"X-Stainless-OS":fe(globalThis.process.platform??`unknown`),"X-Stainless-Arch":de(globalThis.process.arch??`unknown`),"X-Stainless-Runtime":`node`,"X-Stainless-Runtime-Version":globalThis.process.version??`unknown`};let t=ue();return t?{"X-Stainless-Lang":`js`,"X-Stainless-Package-Version":oe,"X-Stainless-OS":`Unknown`,"X-Stainless-Arch":`unknown`,"X-Stainless-Runtime":`browser:${t.browser}`,"X-Stainless-Runtime-Version":t.version}:{"X-Stainless-Lang":`js`,"X-Stainless-Package-Version":oe,"X-Stainless-OS":`Unknown`,"X-Stainless-Arch":`unknown`,"X-Stainless-Runtime":`unknown`,"X-Stainless-Runtime-Version":`unknown`}};function ue(){if(typeof navigator>`u`||!navigator)return null;for(let{key:e,pattern:t}of[{key:`edge`,pattern:/Edge(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:`ie`,pattern:/MSIE(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:`ie`,pattern:/Trident(?:.*rv\:(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:`chrome`,pattern:/Chrome(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:`firefox`,pattern:/Firefox(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:`safari`,pattern:/(?:Version\W+(\d+)\.(\d+)(?:\.(\d+))?)?(?:\W+Mobile\S*)?\W+Safari/}]){let n=t.exec(navigator.userAgent);if(n)return{browser:e,version:`${n[1]||0}.${n[2]||0}.${n[3]||0}`}}return null}var de=e=>e===`x32`?`x32`:e===`x86_64`||e===`x64`?`x64`:e===`arm`?`arm`:e===`aarch64`||e===`arm64`?`arm64`:e?`other:${e}`:`unknown`,fe=e=>(e=e.toLowerCase(),e.includes(`ios`)?`iOS`:e===`android`?`Android`:e===`darwin`?`MacOS`:e===`win32`?`Windows`:e===`freebsd`?`FreeBSD`:e===`openbsd`?`OpenBSD`:e===`linux`?`Linux`:e?`Other:${e}`:`Unknown`),pe,me=()=>pe??=le();function he(){if(typeof fetch<`u`)return fetch;throw Error("`fetch` is not defined as a global; Either pass `fetch` to the client, `new OpenAI({ fetch })` or polyfill the global, `globalThis.fetch = fetch`")}function ge(...e){let t=globalThis.ReadableStream;if(t===void 0)throw Error("`ReadableStream` is not defined as a global; You will need to polyfill it, `globalThis.ReadableStream = ReadableStream`");return new t(...e)}function _e(e){let t=Symbol.asyncIterator in e?e[Symbol.asyncIterator]():e[Symbol.iterator]();return ge({start(){},async pull(e){let{done:n,value:r}=await t.next();n?e.close():e.enqueue(r)},async cancel(){await t.return?.()}})}function ve(e){if(e[Symbol.asyncIterator])return e;let t=e.getReader();return{async next(){try{let e=await t.read();return e?.done&&t.releaseLock(),e}catch(e){throw t.releaseLock(),e}},async return(){let e=t.cancel();return t.releaseLock(),await e,{done:!0,value:void 0}},[Symbol.asyncIterator](){return this}}}async function ye(e){if(typeof e!=`object`||!e)return;if(e[Symbol.asyncIterator]){await e[Symbol.asyncIterator]().return?.();return}let t=e.getReader(),n=t.cancel();t.releaseLock(),await n}var be=({headers:e,body:t})=>({bodyHeaders:{"content-type":`application/json`},body:JSON.stringify(t)}),xe=`RFC3986`,Se=e=>String(e),Ce={RFC1738:e=>String(e).replace(/%20/g,`+`),RFC3986:Se},we=(e,t)=>(we=Object.hasOwn??Function.prototype.call.bind(Object.prototype.hasOwnProperty),we(e,t)),E=(()=>{let e=[];for(let t=0;t<256;++t)e.push(`%`+((t<16?`0`:``)+t.toString(16)).toUpperCase());return e})(),Te=1024,Ee=(e,t,n,r,i)=>{if(e.length===0)return e;let a=e;if(typeof e==`symbol`?a=Symbol.prototype.toString.call(e):typeof e!=`string`&&(a=String(e)),n===`iso-8859-1`)return escape(a).replace(/%u[0-9a-f]{4}/gi,function(e){return`%26%23`+parseInt(e.slice(2),16)+`%3B`});let o=``;for(let e=0;e<a.length;e+=Te){let t=a.length>=Te?a.slice(e,e+Te):a,n=[];for(let e=0;e<t.length;++e){let r=t.charCodeAt(e);if(r===45||r===46||r===95||r===126||r>=48&&r<=57||r>=65&&r<=90||r>=97&&r<=122||i===`RFC1738`&&(r===40||r===41)){n[n.length]=t.charAt(e);continue}if(r<128){n[n.length]=E[r];continue}if(r<2048){n[n.length]=E[192|r>>6]+E[128|r&63];continue}if(r<55296||r>=57344){n[n.length]=E[224|r>>12]+E[128|r>>6&63]+E[128|r&63];continue}e+=1,r=65536+((r&1023)<<10|t.charCodeAt(e)&1023),n[n.length]=E[240|r>>18]+E[128|r>>12&63]+E[128|r>>6&63]+E[128|r&63]}o+=n.join(``)}return o};function De(e){return!e||typeof e!=`object`?!1:!!(e.constructor&&e.constructor.isBuffer&&e.constructor.isBuffer(e))}function Oe(e,t){if(x(e)){let n=[];for(let r=0;r<e.length;r+=1)n.push(t(e[r]));return n}return t(e)}var ke={brackets(e){return String(e)+`[]`},comma:`comma`,indices(e,t){return String(e)+`[`+t+`]`},repeat(e){return String(e)}},Ae=function(e,t){Array.prototype.push.apply(e,x(t)?t:[t])},je,D={addQueryPrefix:!1,allowDots:!1,allowEmptyArrays:!1,arrayFormat:`indices`,charset:`utf-8`,charsetSentinel:!1,delimiter:`&`,encode:!0,encodeDotInKeys:!1,encoder:Ee,encodeValuesOnly:!1,format:xe,formatter:Se,indices:!1,serializeDate(e){return(je??=Function.prototype.call.bind(Date.prototype.toISOString))(e)},skipNulls:!1,strictNullHandling:!1};function Me(e){return typeof e==`string`||typeof e==`number`||typeof e==`boolean`||typeof e==`symbol`||typeof e==`bigint`}var Ne={};function Pe(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_){let v=e,y=_,b=0,ee=!1;for(;(y=y.get(Ne))!==void 0&&!ee;){let t=y.get(e);if(b+=1,t!==void 0){if(t===b)throw RangeError(`Cyclic object value`);ee=!0}y.get(Ne)===void 0&&(b=0)}if(typeof l==`function`?v=l(t,v):v instanceof Date?v=f?.(v):n===`comma`&&x(v)&&(v=Oe(v,function(e){return e instanceof Date?f?.(e):e})),v===null){if(a)return c&&!h?c(t,D.encoder,g,`key`,p):t;v=``}if(Me(v)||De(v)){if(c){let e=h?t:c(t,D.encoder,g,`key`,p);return[m?.(e)+`=`+m?.(c(v,D.encoder,g,`value`,p))]}return[m?.(t)+`=`+m?.(String(v))]}let te=[];if(v===void 0)return te;let S;if(n===`comma`&&x(v))h&&c&&(v=Oe(v,c)),S=[{value:v.length>0?v.join(`,`)||null:void 0}];else if(x(l))S=l;else{let e=Object.keys(v);S=u?e.sort(u):e}let C=s?String(t).replace(/\./g,`%2E`):String(t),w=r&&x(v)&&v.length===1?C+`[]`:C;if(i&&x(v)&&v.length===0)return w+`[]`;for(let t=0;t<S.length;++t){let y=S[t],ee=typeof y==`object`&&y.value!==void 0?y.value:v[y];if(o&&ee===null)continue;let C=d&&s?y.replace(/\./g,`%2E`):y,ne=x(v)?typeof n==`function`?n(w,C):w:w+(d?`.`+C:`[`+C+`]`);_.set(e,b);let T=new WeakMap;T.set(Ne,_),Ae(te,Pe(ee,ne,n,r,i,a,o,s,n===`comma`&&h&&x(v)?null:c,l,u,d,f,p,m,h,g,T))}return te}function Fe(e=D){if(e.allowEmptyArrays!==void 0&&typeof e.allowEmptyArrays!=`boolean`)throw TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");if(e.encodeDotInKeys!==void 0&&typeof e.encodeDotInKeys!=`boolean`)throw TypeError("`encodeDotInKeys` option can only be `true` or `false`, when provided");if(e.encoder!==null&&e.encoder!==void 0&&typeof e.encoder!=`function`)throw TypeError(`Encoder has to be a function.`);let t=e.charset||D.charset;if(e.charset!==void 0&&e.charset!==`utf-8`&&e.charset!==`iso-8859-1`)throw TypeError(`The charset option must be either utf-8, iso-8859-1, or undefined`);let n=xe;if(e.format!==void 0){if(!we(Ce,e.format))throw TypeError(`Unknown format option provided.`);n=e.format}let r=Ce[n],i=D.filter;(typeof e.filter==`function`||x(e.filter))&&(i=e.filter);let a;if(a=e.arrayFormat&&e.arrayFormat in ke?e.arrayFormat:`indices`in e?e.indices?`indices`:`repeat`:D.arrayFormat,`commaRoundTrip`in e&&typeof e.commaRoundTrip!=`boolean`)throw TypeError("`commaRoundTrip` must be a boolean, or absent");let o=e.allowDots===void 0?e.encodeDotInKeys?!0:D.allowDots:!!e.allowDots;return{addQueryPrefix:typeof e.addQueryPrefix==`boolean`?e.addQueryPrefix:D.addQueryPrefix,allowDots:o,allowEmptyArrays:typeof e.allowEmptyArrays==`boolean`?!!e.allowEmptyArrays:D.allowEmptyArrays,arrayFormat:a,charset:t,charsetSentinel:typeof e.charsetSentinel==`boolean`?e.charsetSentinel:D.charsetSentinel,commaRoundTrip:!!e.commaRoundTrip,delimiter:e.delimiter===void 0?D.delimiter:e.delimiter,encode:typeof e.encode==`boolean`?e.encode:D.encode,encodeDotInKeys:typeof e.encodeDotInKeys==`boolean`?e.encodeDotInKeys:D.encodeDotInKeys,encoder:typeof e.encoder==`function`?e.encoder:D.encoder,encodeValuesOnly:typeof e.encodeValuesOnly==`boolean`?e.encodeValuesOnly:D.encodeValuesOnly,filter:i,format:n,formatter:r,serializeDate:typeof e.serializeDate==`function`?e.serializeDate:D.serializeDate,skipNulls:typeof e.skipNulls==`boolean`?e.skipNulls:D.skipNulls,sort:typeof e.sort==`function`?e.sort:null,strictNullHandling:typeof e.strictNullHandling==`boolean`?e.strictNullHandling:D.strictNullHandling}}function Ie(e,t={}){let n=e,r=Fe(t),i,a;typeof r.filter==`function`?(a=r.filter,n=a(``,n)):x(r.filter)&&(a=r.filter,i=a);let o=[];if(typeof n!=`object`||!n)return``;let s=ke[r.arrayFormat],c=s===`comma`&&r.commaRoundTrip;i||=Object.keys(n),r.sort&&i.sort(r.sort);let l=new WeakMap;for(let e=0;e<i.length;++e){let t=i[e];r.skipNulls&&n[t]===null||Ae(o,Pe(n[t],t,s,c,r.allowEmptyArrays,r.strictNullHandling,r.skipNulls,r.encodeDotInKeys,r.encode?r.encoder:null,r.filter,r.sort,r.allowDots,r.serializeDate,r.format,r.formatter,r.encodeValuesOnly,r.charset,l))}let u=o.join(r.delimiter),d=r.addQueryPrefix===!0?`?`:``;return r.charsetSentinel&&(r.charset===`iso-8859-1`?d+=`utf8=%26%2310003%3B&`:d+=`utf8=%E2%9C%93&`),u.length>0?d+u:``}function Le(e){return Ie(e,{arrayFormat:`brackets`})}function Re(e){let t=0;for(let n of e)t+=n.length;let n=new Uint8Array(t),r=0;for(let t of e)n.set(t,r),r+=t.length;return n}var ze;function Be(e){let t;return(ze??=(t=new globalThis.TextEncoder,t.encode.bind(t)))(e)}var Ve;function He(e){let t;return(Ve??=(t=new globalThis.TextDecoder,t.decode.bind(t)))(e)}var O,k,Ue=class{constructor(){O.set(this,void 0),k.set(this,void 0),e(this,O,new Uint8Array,`f`),e(this,k,null,`f`)}decode(n){if(n==null)return[];let r=n instanceof ArrayBuffer?new Uint8Array(n):typeof n==`string`?Be(n):n;e(this,O,Re([t(this,O,`f`),r]),`f`);let i=[],a;for(;(a=We(t(this,O,`f`),t(this,k,`f`)))!=null;){if(a.carriage&&t(this,k,`f`)==null){e(this,k,a.index,`f`);continue}if(t(this,k,`f`)!=null&&(a.index!==t(this,k,`f`)+1||a.carriage)){i.push(He(t(this,O,`f`).subarray(0,t(this,k,`f`)-1))),e(this,O,t(this,O,`f`).subarray(t(this,k,`f`)),`f`),e(this,k,null,`f`);continue}let n=t(this,k,`f`)===null?a.preceding:a.preceding-1,r=He(t(this,O,`f`).subarray(0,n));i.push(r),e(this,O,t(this,O,`f`).subarray(a.index),`f`),e(this,k,null,`f`)}return i}flush(){return t(this,O,`f`).length?this.decode(`
1
+ function e(e,t,n,r,i){if(r===`m`)throw TypeError(`Private method is not writable`);if(r===`a`&&!i)throw TypeError(`Private accessor was defined without a setter`);if(typeof t==`function`?e!==t||!i:!t.has(e))throw TypeError(`Cannot write private member to an object whose class did not declare it`);return r===`a`?i.call(e,n):i?i.value=n:t.set(e,n),n}function t(e,t,n,r){if(n===`a`&&!r)throw TypeError(`Private accessor was defined without a getter`);if(typeof t==`function`?e!==t||!r:!t.has(e))throw TypeError(`Cannot read private member from an object whose class did not declare it`);return n===`m`?r:n===`a`?r.call(e):r?r.value:t.get(e)}var n=function(){let{crypto:e}=globalThis;if(e?.randomUUID)return n=e.randomUUID.bind(e),e.randomUUID();let t=new Uint8Array(1),r=e?()=>e.getRandomValues(t)[0]:()=>Math.random()*255&255;return`10000000-1000-4000-8000-100000000000`.replace(/[018]/g,e=>(e^r()&15>>e/4).toString(16))};function r(e){return typeof e==`object`&&!!e&&(`name`in e&&e.name===`AbortError`||`message`in e&&String(e.message).includes(`FetchRequestCanceledException`))}var i=e=>{if(e instanceof Error)return e;if(typeof e==`object`&&e){try{if(Object.prototype.toString.call(e)===`[object Error]`){let t=Error(e.message,e.cause?{cause:e.cause}:{});return e.stack&&(t.stack=e.stack),e.cause&&!t.cause&&(t.cause=e.cause),e.name&&(t.name=e.name),t}}catch{}try{return Error(JSON.stringify(e))}catch{}}return Error(e)},a=class extends Error{},o=class e extends a{constructor(t,n,r,i){super(`${e.makeMessage(t,n,r)}`),this.status=t,this.headers=i,this.requestID=i?.get(`x-request-id`),this.error=n;let a=n;this.code=a?.code,this.param=a?.param,this.type=a?.type}static makeMessage(e,t,n){let r=t?.message?typeof t.message==`string`?t.message:JSON.stringify(t.message):t?JSON.stringify(t):n;return e&&r?`${e} ${r}`:e?`${e} status code (no body)`:r||`(no status code or body)`}static generate(t,n,r,a){if(!t||!a)return new c({message:r,cause:i(n)});let o=n?.error;return t===400?new u(t,o,r,a):t===401?new d(t,o,r,a):t===403?new f(t,o,r,a):t===404?new p(t,o,r,a):t===409?new m(t,o,r,a):t===422?new h(t,o,r,a):t===429?new g(t,o,r,a):t>=500?new _(t,o,r,a):new e(t,o,r,a)}},s=class extends o{constructor({message:e}={}){super(void 0,void 0,e||`Request was aborted.`,void 0)}},c=class extends o{constructor({message:e,cause:t}){super(void 0,void 0,e||`Connection error.`,void 0),t&&(this.cause=t)}},l=class extends c{constructor({message:e}={}){super({message:e??`Request timed out.`})}},u=class extends o{},d=class extends o{},f=class extends o{},p=class extends o{},m=class extends o{},h=class extends o{},g=class extends o{},_=class extends o{},v=class extends a{constructor(){super(`Could not parse response content as the length limit was reached`)}},y=class extends a{constructor(){super(`Could not parse response content as the request was rejected by the content filter`)}},b=class extends Error{constructor(e){super(e)}},ee=/^[a-z][a-z0-9+.-]*:/i,te=e=>ee.test(e),x=e=>(x=Array.isArray,x(e)),S=x;function C(e){return typeof e==`object`?e??{}:{}}function w(e){if(!e)return!0;for(let t in e)return!1;return!0}function ne(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function T(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}var re=(e,t)=>{if(typeof t!=`number`||!Number.isInteger(t))throw new a(`${e} must be an integer`);if(t<0)throw new a(`${e} must be a positive integer`);return t},ie=e=>{try{return JSON.parse(e)}catch{return}},ae=e=>new Promise(t=>setTimeout(t,e)),oe=`6.33.0`,se=()=>typeof window<`u`&&window.document!==void 0&&typeof navigator<`u`;function ce(){return typeof Deno<`u`&&Deno.build!=null?`deno`:typeof EdgeRuntime<`u`?`edge`:Object.prototype.toString.call(globalThis.process===void 0?0:globalThis.process)===`[object process]`?`node`:`unknown`}var le=()=>{let e=ce();if(e===`deno`)return{"X-Stainless-Lang":`js`,"X-Stainless-Package-Version":oe,"X-Stainless-OS":fe(Deno.build.os),"X-Stainless-Arch":de(Deno.build.arch),"X-Stainless-Runtime":`deno`,"X-Stainless-Runtime-Version":typeof Deno.version==`string`?Deno.version:Deno.version?.deno??`unknown`};if(typeof EdgeRuntime<`u`)return{"X-Stainless-Lang":`js`,"X-Stainless-Package-Version":oe,"X-Stainless-OS":`Unknown`,"X-Stainless-Arch":`other:${EdgeRuntime}`,"X-Stainless-Runtime":`edge`,"X-Stainless-Runtime-Version":globalThis.process.version};if(e===`node`)return{"X-Stainless-Lang":`js`,"X-Stainless-Package-Version":oe,"X-Stainless-OS":fe(globalThis.process.platform??`unknown`),"X-Stainless-Arch":de(globalThis.process.arch??`unknown`),"X-Stainless-Runtime":`node`,"X-Stainless-Runtime-Version":globalThis.process.version??`unknown`};let t=ue();return t?{"X-Stainless-Lang":`js`,"X-Stainless-Package-Version":oe,"X-Stainless-OS":`Unknown`,"X-Stainless-Arch":`unknown`,"X-Stainless-Runtime":`browser:${t.browser}`,"X-Stainless-Runtime-Version":t.version}:{"X-Stainless-Lang":`js`,"X-Stainless-Package-Version":oe,"X-Stainless-OS":`Unknown`,"X-Stainless-Arch":`unknown`,"X-Stainless-Runtime":`unknown`,"X-Stainless-Runtime-Version":`unknown`}};function ue(){if(typeof navigator>`u`||!navigator)return null;for(let{key:e,pattern:t}of[{key:`edge`,pattern:/Edge(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:`ie`,pattern:/MSIE(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:`ie`,pattern:/Trident(?:.*rv\:(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:`chrome`,pattern:/Chrome(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:`firefox`,pattern:/Firefox(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:`safari`,pattern:/(?:Version\W+(\d+)\.(\d+)(?:\.(\d+))?)?(?:\W+Mobile\S*)?\W+Safari/}]){let n=t.exec(navigator.userAgent);if(n)return{browser:e,version:`${n[1]||0}.${n[2]||0}.${n[3]||0}`}}return null}var de=e=>e===`x32`?`x32`:e===`x86_64`||e===`x64`?`x64`:e===`arm`?`arm`:e===`aarch64`||e===`arm64`?`arm64`:e?`other:${e}`:`unknown`,fe=e=>(e=e.toLowerCase(),e.includes(`ios`)?`iOS`:e===`android`?`Android`:e===`darwin`?`MacOS`:e===`win32`?`Windows`:e===`freebsd`?`FreeBSD`:e===`openbsd`?`OpenBSD`:e===`linux`?`Linux`:e?`Other:${e}`:`Unknown`),pe,me=()=>pe??=le();function he(){if(typeof fetch<`u`)return fetch;throw Error("`fetch` is not defined as a global; Either pass `fetch` to the client, `new OpenAI({ fetch })` or polyfill the global, `globalThis.fetch = fetch`")}function ge(...e){let t=globalThis.ReadableStream;if(t===void 0)throw Error("`ReadableStream` is not defined as a global; You will need to polyfill it, `globalThis.ReadableStream = ReadableStream`");return new t(...e)}function _e(e){let t=Symbol.asyncIterator in e?e[Symbol.asyncIterator]():e[Symbol.iterator]();return ge({start(){},async pull(e){let{done:n,value:r}=await t.next();n?e.close():e.enqueue(r)},async cancel(){await t.return?.()}})}function ve(e){if(e[Symbol.asyncIterator])return e;let t=e.getReader();return{async next(){try{let e=await t.read();return e?.done&&t.releaseLock(),e}catch(e){throw t.releaseLock(),e}},async return(){let e=t.cancel();return t.releaseLock(),await e,{done:!0,value:void 0}},[Symbol.asyncIterator](){return this}}}async function ye(e){if(typeof e!=`object`||!e)return;if(e[Symbol.asyncIterator]){await e[Symbol.asyncIterator]().return?.();return}let t=e.getReader(),n=t.cancel();t.releaseLock(),await n}var be=({headers:e,body:t})=>({bodyHeaders:{"content-type":`application/json`},body:JSON.stringify(t)}),xe=`RFC3986`,Se=e=>String(e),Ce={RFC1738:e=>String(e).replace(/%20/g,`+`),RFC3986:Se},we=(e,t)=>(we=Object.hasOwn??Function.prototype.call.bind(Object.prototype.hasOwnProperty),we(e,t)),E=(()=>{let e=[];for(let t=0;t<256;++t)e.push(`%`+((t<16?`0`:``)+t.toString(16)).toUpperCase());return e})(),Te=1024,Ee=(e,t,n,r,i)=>{if(e.length===0)return e;let a=e;if(typeof e==`symbol`?a=Symbol.prototype.toString.call(e):typeof e!=`string`&&(a=String(e)),n===`iso-8859-1`)return escape(a).replace(/%u[0-9a-f]{4}/gi,function(e){return`%26%23`+parseInt(e.slice(2),16)+`%3B`});let o=``;for(let e=0;e<a.length;e+=Te){let t=a.length>=Te?a.slice(e,e+Te):a,n=[];for(let e=0;e<t.length;++e){let r=t.charCodeAt(e);if(r===45||r===46||r===95||r===126||r>=48&&r<=57||r>=65&&r<=90||r>=97&&r<=122||i===`RFC1738`&&(r===40||r===41)){n[n.length]=t.charAt(e);continue}if(r<128){n[n.length]=E[r];continue}if(r<2048){n[n.length]=E[192|r>>6]+E[128|r&63];continue}if(r<55296||r>=57344){n[n.length]=E[224|r>>12]+E[128|r>>6&63]+E[128|r&63];continue}e+=1,r=65536+((r&1023)<<10|t.charCodeAt(e)&1023),n[n.length]=E[240|r>>18]+E[128|r>>12&63]+E[128|r>>6&63]+E[128|r&63]}o+=n.join(``)}return o};function De(e){return!e||typeof e!=`object`?!1:!!(e.constructor&&e.constructor.isBuffer&&e.constructor.isBuffer(e))}function Oe(e,t){if(x(e)){let n=[];for(let r=0;r<e.length;r+=1)n.push(t(e[r]));return n}return t(e)}var ke={brackets(e){return String(e)+`[]`},comma:`comma`,indices(e,t){return String(e)+`[`+t+`]`},repeat(e){return String(e)}},Ae=function(e,t){Array.prototype.push.apply(e,x(t)?t:[t])},je,D={addQueryPrefix:!1,allowDots:!1,allowEmptyArrays:!1,arrayFormat:`indices`,charset:`utf-8`,charsetSentinel:!1,delimiter:`&`,encode:!0,encodeDotInKeys:!1,encoder:Ee,encodeValuesOnly:!1,format:xe,formatter:Se,indices:!1,serializeDate(e){return(je??=Function.prototype.call.bind(Date.prototype.toISOString))(e)},skipNulls:!1,strictNullHandling:!1};function Me(e){return typeof e==`string`||typeof e==`number`||typeof e==`boolean`||typeof e==`symbol`||typeof e==`bigint`}var Ne={};function Pe(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_){let v=e,y=_,b=0,ee=!1;for(;(y=y.get(Ne))!==void 0&&!ee;){let t=y.get(e);if(b+=1,t!==void 0){if(t===b)throw RangeError(`Cyclic object value`);ee=!0}y.get(Ne)===void 0&&(b=0)}if(typeof l==`function`?v=l(t,v):v instanceof Date?v=f?.(v):n===`comma`&&x(v)&&(v=Oe(v,function(e){return e instanceof Date?f?.(e):e})),v===null){if(a)return c&&!h?c(t,D.encoder,g,`key`,p):t;v=``}if(Me(v)||De(v)){if(c){let e=h?t:c(t,D.encoder,g,`key`,p);return[m?.(e)+`=`+m?.(c(v,D.encoder,g,`value`,p))]}return[m?.(t)+`=`+m?.(String(v))]}let te=[];if(v===void 0)return te;let S;if(n===`comma`&&x(v))h&&c&&(v=Oe(v,c)),S=[{value:v.length>0?v.join(`,`)||null:void 0}];else if(x(l))S=l;else{let e=Object.keys(v);S=u?e.sort(u):e}let C=s?String(t).replace(/\./g,`%2E`):String(t),w=r&&x(v)&&v.length===1?C+`[]`:C;if(i&&x(v)&&v.length===0)return w+`[]`;for(let t=0;t<S.length;++t){let y=S[t],ee=typeof y==`object`&&y.value!==void 0?y.value:v[y];if(o&&ee===null)continue;let C=d&&s?y.replace(/\./g,`%2E`):y,ne=x(v)?typeof n==`function`?n(w,C):w:w+(d?`.`+C:`[`+C+`]`);_.set(e,b);let T=new WeakMap;T.set(Ne,_),Ae(te,Pe(ee,ne,n,r,i,a,o,s,n===`comma`&&h&&x(v)?null:c,l,u,d,f,p,m,h,g,T))}return te}function Fe(e=D){if(e.allowEmptyArrays!==void 0&&typeof e.allowEmptyArrays!=`boolean`)throw TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");if(e.encodeDotInKeys!==void 0&&typeof e.encodeDotInKeys!=`boolean`)throw TypeError("`encodeDotInKeys` option can only be `true` or `false`, when provided");if(e.encoder!==null&&e.encoder!==void 0&&typeof e.encoder!=`function`)throw TypeError(`Encoder has to be a function.`);let t=e.charset||D.charset;if(e.charset!==void 0&&e.charset!==`utf-8`&&e.charset!==`iso-8859-1`)throw TypeError(`The charset option must be either utf-8, iso-8859-1, or undefined`);let n=xe;if(e.format!==void 0){if(!we(Ce,e.format))throw TypeError(`Unknown format option provided.`);n=e.format}let r=Ce[n],i=D.filter;(typeof e.filter==`function`||x(e.filter))&&(i=e.filter);let a;if(a=e.arrayFormat&&e.arrayFormat in ke?e.arrayFormat:`indices`in e?e.indices?`indices`:`repeat`:D.arrayFormat,`commaRoundTrip`in e&&typeof e.commaRoundTrip!=`boolean`)throw TypeError("`commaRoundTrip` must be a boolean, or absent");let o=e.allowDots===void 0?e.encodeDotInKeys?!0:D.allowDots:!!e.allowDots;return{addQueryPrefix:typeof e.addQueryPrefix==`boolean`?e.addQueryPrefix:D.addQueryPrefix,allowDots:o,allowEmptyArrays:typeof e.allowEmptyArrays==`boolean`?!!e.allowEmptyArrays:D.allowEmptyArrays,arrayFormat:a,charset:t,charsetSentinel:typeof e.charsetSentinel==`boolean`?e.charsetSentinel:D.charsetSentinel,commaRoundTrip:!!e.commaRoundTrip,delimiter:e.delimiter===void 0?D.delimiter:e.delimiter,encode:typeof e.encode==`boolean`?e.encode:D.encode,encodeDotInKeys:typeof e.encodeDotInKeys==`boolean`?e.encodeDotInKeys:D.encodeDotInKeys,encoder:typeof e.encoder==`function`?e.encoder:D.encoder,encodeValuesOnly:typeof e.encodeValuesOnly==`boolean`?e.encodeValuesOnly:D.encodeValuesOnly,filter:i,format:n,formatter:r,serializeDate:typeof e.serializeDate==`function`?e.serializeDate:D.serializeDate,skipNulls:typeof e.skipNulls==`boolean`?e.skipNulls:D.skipNulls,sort:typeof e.sort==`function`?e.sort:null,strictNullHandling:typeof e.strictNullHandling==`boolean`?e.strictNullHandling:D.strictNullHandling}}function Ie(e,t={}){let n=e,r=Fe(t),i,a;typeof r.filter==`function`?(a=r.filter,n=a(``,n)):x(r.filter)&&(a=r.filter,i=a);let o=[];if(typeof n!=`object`||!n)return``;let s=ke[r.arrayFormat],c=s===`comma`&&r.commaRoundTrip;i||=Object.keys(n),r.sort&&i.sort(r.sort);let l=new WeakMap;for(let e=0;e<i.length;++e){let t=i[e];r.skipNulls&&n[t]===null||Ae(o,Pe(n[t],t,s,c,r.allowEmptyArrays,r.strictNullHandling,r.skipNulls,r.encodeDotInKeys,r.encode?r.encoder:null,r.filter,r.sort,r.allowDots,r.serializeDate,r.format,r.formatter,r.encodeValuesOnly,r.charset,l))}let u=o.join(r.delimiter),d=r.addQueryPrefix===!0?`?`:``;return r.charsetSentinel&&(r.charset===`iso-8859-1`?d+=`utf8=%26%2310003%3B&`:d+=`utf8=%E2%9C%93&`),u.length>0?d+u:``}function Le(e){return Ie(e,{arrayFormat:`brackets`})}function Re(e){let t=0;for(let n of e)t+=n.length;let n=new Uint8Array(t),r=0;for(let t of e)n.set(t,r),r+=t.length;return n}var ze;function Be(e){let t;return(ze??=(t=new globalThis.TextEncoder,t.encode.bind(t)))(e)}var Ve;function He(e){let t;return(Ve??=(t=new globalThis.TextDecoder,t.decode.bind(t)))(e)}var O,k,Ue=class{constructor(){O.set(this,void 0),k.set(this,void 0),e(this,O,new Uint8Array,`f`),e(this,k,null,`f`)}decode(n){if(n==null)return[];let r=n instanceof ArrayBuffer?new Uint8Array(n):typeof n==`string`?Be(n):n;e(this,O,Re([t(this,O,`f`),r]),`f`);let i=[],a;for(;(a=We(t(this,O,`f`),t(this,k,`f`)))!=null;){if(a.carriage&&t(this,k,`f`)==null){e(this,k,a.index,`f`);continue}if(t(this,k,`f`)!=null&&(a.index!==t(this,k,`f`)+1||a.carriage)){i.push(He(t(this,O,`f`).subarray(0,t(this,k,`f`)-1))),e(this,O,t(this,O,`f`).subarray(t(this,k,`f`)),`f`),e(this,k,null,`f`);continue}let n=t(this,k,`f`)===null?a.preceding:a.preceding-1,r=He(t(this,O,`f`).subarray(0,n));i.push(r),e(this,O,t(this,O,`f`).subarray(a.index),`f`),e(this,k,null,`f`)}return i}flush(){return t(this,O,`f`).length?this.decode(`
2
2
  `):[]}};O=new WeakMap,k=new WeakMap,Ue.NEWLINE_CHARS=new Set([`
3
3
  `,`\r`]),Ue.NEWLINE_REGEXP=/\r\n|[\n\r]/g;function We(e,t){for(let n=t??0;n<e.length;n++){if(e[n]===10)return{preceding:n,index:n+1,carriage:!1};if(e[n]===13)return{preceding:n,index:n+1,carriage:!0}}return null}function Ge(e){for(let t=0;t<e.length-1;t++){if(e[t]===10&&e[t+1]===10||e[t]===13&&e[t+1]===13)return t+2;if(e[t]===13&&e[t+1]===10&&t+3<e.length&&e[t+2]===13&&e[t+3]===10)return t+4}return-1}var Ke={off:0,error:200,warn:300,info:400,debug:500},qe=(e,t,n)=>{if(e){if(ne(Ke,e))return e;A(n).warn(`${t} was set to ${JSON.stringify(e)}, expected one of ${JSON.stringify(Object.keys(Ke))}`)}};function Je(){}function Ye(e,t,n){return!t||Ke[e]>Ke[n]?Je:t[e].bind(t)}var Xe={error:Je,warn:Je,info:Je,debug:Je},Ze=new WeakMap;function A(e){let t=e.logger,n=e.logLevel??`off`;if(!t)return Xe;let r=Ze.get(t);if(r&&r[0]===n)return r[1];let i={error:Ye(`error`,t,n),warn:Ye(`warn`,t,n),info:Ye(`info`,t,n),debug:Ye(`debug`,t,n)};return Ze.set(t,[n,i]),i}var j=e=>(e.options&&(e.options={...e.options},delete e.options.headers),e.headers&&=Object.fromEntries((e.headers instanceof Headers?[...e.headers]:Object.entries(e.headers)).map(([e,t])=>[e,e.toLowerCase()===`authorization`||e.toLowerCase()===`cookie`||e.toLowerCase()===`set-cookie`?`***`:t])),`retryOfRequestLogID`in e&&(e.retryOfRequestLogID&&(e.retryOf=e.retryOfRequestLogID),delete e.retryOfRequestLogID),e),Qe,$e=class n{constructor(t,n,r){this.iterator=t,Qe.set(this,void 0),this.controller=n,e(this,Qe,r,`f`)}static fromSSEResponse(e,t,i,s){let c=!1,l=i?A(i):console;async function*u(){if(c)throw new a("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");c=!0;let n=!1;try{for await(let r of et(e,t))if(!n){if(r.data.startsWith(`[DONE]`)){n=!0;continue}if(r.event===null||!r.event.startsWith(`thread.`)){let t;try{t=JSON.parse(r.data)}catch(e){throw l.error(`Could not parse message into JSON:`,r.data),l.error(`From chunk:`,r.raw),e}if(t&&t.error)throw new o(void 0,t.error,void 0,e.headers);yield s?{event:r.event,data:t}:t}else{let e;try{e=JSON.parse(r.data)}catch(e){throw console.error(`Could not parse message into JSON:`,r.data),console.error(`From chunk:`,r.raw),e}if(r.event==`error`)throw new o(void 0,e.error,e.message,void 0);yield{event:r.event,data:e}}}n=!0}catch(e){if(r(e))return;throw e}finally{n||t.abort()}}return new n(u,t,i)}static fromReadableStream(e,t,i){let o=!1;async function*s(){let t=new Ue,n=ve(e);for await(let e of n)for(let n of t.decode(e))yield n;for(let e of t.flush())yield e}async function*c(){if(o)throw new a("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");o=!0;let e=!1;try{for await(let t of s())e||t&&(yield JSON.parse(t));e=!0}catch(e){if(r(e))return;throw e}finally{e||t.abort()}}return new n(c,t,i)}[(Qe=new WeakMap,Symbol.asyncIterator)](){return this.iterator()}tee(){let e=[],r=[],i=this.iterator(),a=t=>({next:()=>{if(t.length===0){let t=i.next();e.push(t),r.push(t)}return t.shift()}});return[new n(()=>a(e),this.controller,t(this,Qe,`f`)),new n(()=>a(r),this.controller,t(this,Qe,`f`))]}toReadableStream(){let e=this,t;return ge({async start(){t=e[Symbol.asyncIterator]()},async pull(e){try{let{value:n,done:r}=await t.next();if(r)return e.close();let i=Be(JSON.stringify(n)+`
4
4
  `);e.enqueue(i)}catch(t){e.error(t)}},async cancel(){await t.return?.()}})}};async function*et(e,t){if(!e.body)throw t.abort(),globalThis.navigator!==void 0&&globalThis.navigator.product===`ReactNative`?new a(`The default react-native fetch implementation does not support streaming. Please use expo/fetch: https://docs.expo.dev/versions/latest/sdk/expo/#expofetch-api`):new a(`Attempted to iterate over a response with no body`);let n=new nt,r=new Ue,i=ve(e.body);for await(let e of tt(i))for(let t of r.decode(e)){let e=n.decode(t);e&&(yield e)}for(let e of r.flush()){let t=n.decode(e);t&&(yield t)}}async function*tt(e){let t=new Uint8Array;for await(let n of e){if(n==null)continue;let e=n instanceof ArrayBuffer?new Uint8Array(n):typeof n==`string`?Be(n):n,r=new Uint8Array(t.length+e.length);r.set(t),r.set(e,t.length),t=r;let i;for(;(i=Ge(t))!==-1;)yield t.slice(0,i),t=t.slice(i)}t.length>0&&(yield t)}var nt=class{constructor(){this.event=null,this.data=[],this.chunks=[]}decode(e){if(e.endsWith(`\r`)&&(e=e.substring(0,e.length-1)),!e){if(!this.event&&!this.data.length)return null;let e={event:this.event,data:this.data.join(`
@@ -1 +1 @@
1
- var e=class{client;apiKey;baseURL;initialized=!1;constructor(e,t){this.apiKey=e,this.baseURL=t?.baseURL}async ensureClient(){if(this.initialized)return;let e;try{let t=await Promise.resolve().then(()=>require(`./openai-C96O8M75.cjs`));e=t.default||t.OpenAI||t}catch{throw Error(`openai is required for the OpenAI provider. Install it with: npm install openai`)}let t={apiKey:this.apiKey};this.baseURL&&(t.baseURL=this.baseURL),this.client=new e(t),this.initialized=!0}async createStream(e){await this.ensureClient();let{messages:t}=this.formatMessages(e.messages,e.system);return this.client.chat.completions.create({model:e.model,max_completion_tokens:e.maxTokens,tools:this.formatTools(e.tools),messages:t,stream:!0,stream_options:{include_usage:!0}})}async*parseStreamEvents(e){let t=new Map;for await(let n of e){let e=n;e.usage&&(yield{type:`message_meta`,inputTokens:e.usage.prompt_tokens,outputTokens:e.usage.completion_tokens,stopReason:``});let r=e.choices?.[0];if(!r)continue;let i=r.delta;if(i){if(i.content&&(yield{type:`text_delta`,text:i.content}),i.tool_calls)for(let e of i.tool_calls){let n=e.index??0;if(e.id&&(t.set(n,{id:e.id,name:e.function?.name||``,arguments:``}),yield{type:`tool_use_start`,id:e.id,name:e.function?.name||``}),e.function?.name&&t.has(n)){let r=t.get(n);r.name||=e.function.name}if(e.function?.arguments){let r=t.get(n);r&&(r.arguments+=e.function.arguments,yield{type:`tool_input_delta`,json:e.function.arguments})}}if(r.finish_reason){for(let[e,n]of t){let r={};try{n.arguments&&(r=JSON.parse(n.arguments))}catch{}yield{type:`tool_use_end`,id:n.id,input:r},t.delete(e)}yield{type:`message_meta`,stopReason:r.finish_reason}}}}}formatTools(e){return e.map(e=>({type:`function`,function:{name:e.name,description:e.description,parameters:e.parameters}}))}formatMessages(e,t){let n=[{role:`system`,content:t}];for(let t of e)if(t.role===`user`)n.push({role:`user`,content:typeof t.content==`string`?t.content:JSON.stringify(t.content)});else if(t.role===`assistant`)if(typeof t.content==`string`)n.push({role:`assistant`,content:t.content});else{let e=t.content,r=e.filter(e=>e.type===`text`).map(e=>e.text).join(``),i=e.filter(e=>e.type===`tool_use`).map(e=>({id:e.id,type:`function`,function:{name:e.name,arguments:JSON.stringify(e.input||{})}})),a={role:`assistant`};r&&(a.content=r),i.length>0&&(a.tool_calls=i),n.push(a)}else t.role===`tool`?n.push(t):t.role===`tool_result`&&n.push({role:`user`,content:typeof t.content==`string`?t.content:JSON.stringify(t.content)});return{messages:n}}formatToolResults(e){return e.map(e=>({role:`tool`,tool_call_id:e.toolUseId,content:e.content}))}shouldContinue(e){return e===`tool_calls`}formatError(e){if(!e||!(e instanceof Error))return`Something went wrong. Please try again.`;let t=e.message||``,n=e;return n.status===429?`Too many requests. Please wait a moment and try again.`:n.status===401?`Authentication failed. Please check your API key configuration.`:n.status===503||n.status===502?`The AI service is temporarily unavailable. Please try again in a moment.`:n.status===400?`There was a problem with the request. Please try again.`:t.startsWith(`{`)||t.startsWith(`Error: {`)?`The AI service encountered an error. Please try again.`:t}};exports.OpenAIProvider=e;
1
+ var e=class{client;apiKey;baseURL;initialized=!1;constructor(e,t){this.apiKey=e,this.baseURL=t?.baseURL}async ensureClient(){if(this.initialized)return;let e;try{let t=await Promise.resolve().then(()=>require(`./openai-CZ74gWd4.cjs`));e=t.default||t.OpenAI||t}catch{throw Error(`openai is required for the OpenAI provider. Install it with: npm install openai`)}let t={apiKey:this.apiKey};this.baseURL&&(t.baseURL=this.baseURL),this.client=new e(t),this.initialized=!0}async createStream(e){await this.ensureClient();let{messages:t}=this.formatMessages(e.messages,e.system);return this.client.chat.completions.create({model:e.model,max_completion_tokens:e.maxTokens,tools:this.formatTools(e.tools),messages:t,stream:!0,stream_options:{include_usage:!0}})}async*parseStreamEvents(e){let t=new Map;for await(let n of e){let e=n;e.usage&&(yield{type:`message_meta`,inputTokens:e.usage.prompt_tokens,outputTokens:e.usage.completion_tokens,stopReason:``});let r=e.choices?.[0];if(!r)continue;let i=r.delta;if(i){if(i.content&&(yield{type:`text_delta`,text:i.content}),i.tool_calls)for(let e of i.tool_calls){let n=e.index??0;if(e.id&&(t.set(n,{id:e.id,name:e.function?.name||``,arguments:``}),yield{type:`tool_use_start`,id:e.id,name:e.function?.name||``}),e.function?.name&&t.has(n)){let r=t.get(n);r.name||=e.function.name}if(e.function?.arguments){let r=t.get(n);r&&(r.arguments+=e.function.arguments,yield{type:`tool_input_delta`,json:e.function.arguments})}}if(r.finish_reason){for(let[e,n]of t){let r={};try{n.arguments&&(r=JSON.parse(n.arguments))}catch{}yield{type:`tool_use_end`,id:n.id,input:r},t.delete(e)}yield{type:`message_meta`,stopReason:r.finish_reason}}}}}formatTools(e){return e.map(e=>({type:`function`,function:{name:e.name,description:e.description,parameters:e.parameters}}))}formatMessages(e,t){let n=[{role:`system`,content:t}];for(let t of e)if(t.role===`user`)n.push({role:`user`,content:typeof t.content==`string`?t.content:JSON.stringify(t.content)});else if(t.role===`assistant`)if(typeof t.content==`string`)n.push({role:`assistant`,content:t.content});else{let e=t.content,r=e.filter(e=>e.type===`text`).map(e=>e.text).join(``),i=e.filter(e=>e.type===`tool_use`).map(e=>({id:e.id,type:`function`,function:{name:e.name,arguments:JSON.stringify(e.input||{})}})),a={role:`assistant`};r&&(a.content=r),i.length>0&&(a.tool_calls=i),n.push(a)}else t.role===`tool`?n.push(t):t.role===`tool_result`&&n.push({role:`user`,content:typeof t.content==`string`?t.content:JSON.stringify(t.content)});return{messages:n}}formatToolResults(e){return e.map(e=>({role:`tool`,tool_call_id:e.toolUseId,content:e.content}))}shouldContinue(e){return e===`tool_calls`}formatError(e){if(!e||!(e instanceof Error))return`Something went wrong. Please try again.`;let t=e.message||``,n=e;return n.status===429?`Too many requests. Please wait a moment and try again.`:n.status===401?`Authentication failed. Please check your API key configuration.`:n.status===503||n.status===502?`The AI service is temporarily unavailable. Please try again in a moment.`:n.status===400?`There was a problem with the request. Please try again.`:t.startsWith(`{`)||t.startsWith(`Error: {`)?`The AI service encountered an error. Please try again.`:t}};exports.OpenAIProvider=e;
@@ -13,7 +13,7 @@ var e = class {
13
13
  try {
14
14
  let t = await import(
15
15
  /* webpackIgnore: true */
16
- "./openai-Ckpe7iU7.js"
16
+ "./openai-CQfaz257.js"
17
17
  );
18
18
  e = t.default || t.OpenAI || t;
19
19
  } catch {
@@ -1,13 +1,13 @@
1
- import { C as e, D as t, E as n, S as r, T as i, _ as a, b as o, g as s, h as c, m as l, p as u, t as d, v as f, w as p, x as m, y as h } from "./chunks/chart-data-table-D4s27-U3.js";
2
- import { t as g } from "./chunks/chart-funnel-C9JRW79j.js";
3
- import { a as _, i as v, n as y, o as b } from "./chunks/chart-activity-grid-wR2Twpo7.js";
4
- import { t as x } from "./chunks/chart-area-e9ysnatQ.js";
5
- import { i as S } from "./chunks/utils-DMyRayr_.js";
6
- import { t as C } from "./chunks/chart-line-Bkl5WQAw.js";
7
- import { t as w } from "./chunks/chart-bar-DVzmau1G.js";
8
- import { t as T } from "./chunks/chart-pie-Do2YnCxl.js";
9
- import { t as E } from "./chunks/chart-scatter-YSHOUfXf.js";
10
- import { t as D } from "./chunks/chart-radar-C7gQkH70.js";
11
- import { t as O } from "./chunks/chart-radial-bar-DHqCck3x.js";
12
- import { t as k } from "./chunks/chart-tree-map-BlhcXK1F.js";
1
+ import { C as e, D as t, E as n, S as r, T as i, _ as a, b as o, g as s, h as c, m as l, p as u, t as d, v as f, w as p, x as m, y as h } from "./chunks/chart-data-table-2iCsn0CF.js";
2
+ import { t as g } from "./chunks/chart-funnel-poyOf7-e.js";
3
+ import { a as _, i as v, n as y, o as b } from "./chunks/chart-activity-grid-DLktOINm.js";
4
+ import { t as x } from "./chunks/chart-area-BwYaflNk.js";
5
+ import { i as S } from "./chunks/utils--qCr8Yn5.js";
6
+ import { t as C } from "./chunks/chart-line-B5_WntY5.js";
7
+ import { t as w } from "./chunks/chart-bar-BiENfFgE.js";
8
+ import { t as T } from "./chunks/chart-pie-BodrUoHv.js";
9
+ import { t as E } from "./chunks/chart-scatter-B8OwlsAX.js";
10
+ import { t as D } from "./chunks/chart-radar-gG3zfLud.js";
11
+ import { t as O } from "./chunks/chart-radial-bar-C2IPCV8c.js";
12
+ import { t as k } from "./chunks/chart-tree-map-DZaKy9he.js";
13
13
  export { y as CHART_COLORS, v as CHART_MARGINS, d as DataTable, g as FunnelChart, m as LazyChart, _ as NEGATIVE_COLOR, b as POSITIVE_COLOR, x as RechartsAreaChart, w as RechartsBarChart, C as RechartsLineChart, T as RechartsPieChart, D as RechartsRadarChart, O as RechartsRadialBarChart, E as RechartsScatterChart, k as RechartsTreeMapChart, u as clearChartConfigCache, S as formatChartData, r as getAvailableChartTypes, l as getChartConfigAsync, c as getChartConfigSync, e as getUnavailableChartTypes, s as isChartConfigLoaded, p as isChartTypeAvailable, i as isValidChartType, a as loadAllChartConfigs, n as preloadChart, f as preloadChartConfig, h as preloadChartConfigs, t as preloadCharts, o as useChartConfig };