drizzle-cube 0.5.5 → 0.5.7

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 (241) hide show
  1. package/dist/{server/dist-DxegvyZF.cjs → adapters/dist-BOdf-GQO.cjs} +1 -1
  2. package/dist/adapters/express/index.cjs +1 -1
  3. package/dist/adapters/express/index.js +4 -4
  4. package/dist/adapters/fastify/index.cjs +2 -2
  5. package/dist/adapters/fastify/index.js +4 -4
  6. package/dist/adapters/{google-CT4kgmBf.js → google-CFYljAOF.js} +1 -1
  7. package/dist/adapters/{google-Dgo9-Kb5.cjs → google-DUlXeeDA.cjs} +1 -1
  8. package/dist/adapters/{handler-C1Qs8JMY.cjs → handler-C63rJUUK.cjs} +3 -3
  9. package/dist/adapters/{handler-CoaNnZyf.js → handler-Dz1F4iwf.js} +7 -4
  10. package/dist/adapters/hono/index.cjs +1 -1
  11. package/dist/adapters/hono/index.js +4 -4
  12. package/dist/adapters/{locale-CTuvUGBs.cjs → locale-CTNwPVZI.cjs} +6 -6
  13. package/dist/adapters/{locale-wMBdZ3Ks.js → locale-gU_d1Wja.js} +19 -2
  14. package/dist/adapters/mcp-tools.cjs +1 -1
  15. package/dist/adapters/mcp-tools.js +2 -2
  16. package/dist/adapters/mcp-transport-C4J4SAcn.cjs +40 -0
  17. package/dist/adapters/mcp-transport-CVUiifEc.js +579 -0
  18. package/dist/adapters/nextjs/index.cjs +1 -1
  19. package/dist/adapters/nextjs/index.js +4 -4
  20. package/dist/adapters/{openai-BjLV_Wjx.cjs → openai-6wrBvAnv.cjs} +1 -1
  21. package/dist/adapters/openai-BDwb2u7y.cjs +17 -0
  22. package/dist/{server/openai-CLWSwD-D.js → adapters/openai-DiVskd89.js} +1 -1
  23. package/dist/{server/openai-zpXlGbbF.js → adapters/openai-y7GhJNdn.js} +2062 -928
  24. package/dist/adapters/{utils-CIRA5_JO.cjs → utils-CkEkU8Bo.cjs} +4 -4
  25. package/dist/adapters/{utils-hC7Z8V39.js → utils-DosuoabY.js} +33 -19
  26. package/dist/adapters/utils.cjs +1 -1
  27. package/dist/adapters/utils.js +1 -1
  28. package/dist/client/charts.js +13 -13
  29. package/dist/client/chunks/{DashboardEditModal-DayTXEH0.js → DashboardEditModal-6KRE36mm.js} +6232 -3454
  30. package/dist/client/chunks/DashboardEditModal-6KRE36mm.js.map +1 -0
  31. package/dist/client/chunks/{RetentionCombinedChart-D3dRmoos.js → RetentionCombinedChart-CCpu0C-s.js} +4 -4
  32. package/dist/client/chunks/{RetentionCombinedChart-D3dRmoos.js.map → RetentionCombinedChart-CCpu0C-s.js.map} +1 -1
  33. package/dist/client/chunks/{RetentionHeatmap-DHPnn0qH.js → RetentionHeatmap-B24PiIfr.js} +3 -3
  34. package/dist/client/chunks/{RetentionHeatmap-DHPnn0qH.js.map → RetentionHeatmap-B24PiIfr.js.map} +1 -1
  35. package/dist/client/chunks/{af-ZA-BtTNqvHF.js → af-ZA-BTaChuqI.js} +3 -1
  36. package/dist/client/chunks/af-ZA-BTaChuqI.js.map +1 -0
  37. package/dist/client/chunks/{analysis-builder-shared-6BRZcEnu.js → analysis-builder-shared-x576-O5p.js} +289 -289
  38. package/dist/client/chunks/{analysis-builder-shared-6BRZcEnu.js.map → analysis-builder-shared-x576-O5p.js.map} +1 -1
  39. package/dist/client/chunks/{analysis-builder-lcGl099d.js → analysis-builder-zd48FVJO.js} +244 -244
  40. package/dist/client/chunks/{analysis-builder-lcGl099d.js.map → analysis-builder-zd48FVJO.js.map} +1 -1
  41. package/dist/client/chunks/{chart-activity-grid-BnY-jaoa.js → chart-activity-grid-CiHrLH6Y.js} +8 -6
  42. package/dist/client/chunks/chart-activity-grid-CiHrLH6Y.js.map +1 -0
  43. package/dist/client/chunks/{chart-area-G3OvLLK4.js → chart-area-CXFK-Grv.js} +39 -38
  44. package/dist/client/chunks/chart-area-CXFK-Grv.js.map +1 -0
  45. package/dist/client/chunks/{chart-bar-MLIWiLrc.js → chart-bar-DKXfLoGG.js} +53 -52
  46. package/dist/client/chunks/chart-bar-DKXfLoGG.js.map +1 -0
  47. package/dist/client/chunks/{chart-box-plot-c2XqKTWq.js → chart-box-plot-Bu9hy-17.js} +3 -3
  48. package/dist/client/chunks/{chart-box-plot-c2XqKTWq.js.map → chart-box-plot-Bu9hy-17.js.map} +1 -1
  49. package/dist/client/chunks/{chart-bubble-CAGvnYb1.js → chart-bubble-DGkTQlxM.js} +3 -3
  50. package/dist/client/chunks/{chart-bubble-CAGvnYb1.js.map → chart-bubble-DGkTQlxM.js.map} +1 -1
  51. package/dist/client/chunks/{chart-candlestick-oSPk-KQp.js → chart-candlestick-Dau5AF4E.js} +3 -3
  52. package/dist/client/chunks/{chart-candlestick-oSPk-KQp.js.map → chart-candlestick-Dau5AF4E.js.map} +1 -1
  53. package/dist/client/chunks/{chart-config-activity-grid-Dssynumw.js → chart-config-activity-grid-D_UX4NHC.js} +2 -2
  54. package/dist/client/chunks/{chart-config-activity-grid-Dssynumw.js.map → chart-config-activity-grid-D_UX4NHC.js.map} +1 -1
  55. package/dist/client/chunks/{chart-config-area-40fbx2Ah.js → chart-config-area-Bq_UsW3x.js} +3 -2
  56. package/dist/client/chunks/chart-config-area-Bq_UsW3x.js.map +1 -0
  57. package/dist/client/chunks/{chart-config-bar-CUWHwOPN.js → chart-config-bar-_JEGZnAu.js} +3 -2
  58. package/dist/client/chunks/chart-config-bar-_JEGZnAu.js.map +1 -0
  59. package/dist/client/chunks/{chart-config-box-plot-D3Y0ien3.js → chart-config-box-plot-DJ-dWWXA.js} +2 -2
  60. package/dist/client/chunks/{chart-config-box-plot-D3Y0ien3.js.map → chart-config-box-plot-DJ-dWWXA.js.map} +1 -1
  61. package/dist/client/chunks/{chart-config-bubble-BXSTKLn-.js → chart-config-bubble-gIoqVyjZ.js} +2 -2
  62. package/dist/client/chunks/{chart-config-bubble-BXSTKLn-.js.map → chart-config-bubble-gIoqVyjZ.js.map} +1 -1
  63. package/dist/client/chunks/{chart-config-candlestick-DEuD2Av0.js → chart-config-candlestick-N6DchAA3.js} +2 -2
  64. package/dist/client/chunks/{chart-config-candlestick-DEuD2Av0.js.map → chart-config-candlestick-N6DchAA3.js.map} +1 -1
  65. package/dist/client/chunks/{chart-config-data-table-BQXSn4b_.js → chart-config-data-table-d7VBY-y_.js} +2 -2
  66. package/dist/client/chunks/{chart-config-data-table-BQXSn4b_.js.map → chart-config-data-table-d7VBY-y_.js.map} +1 -1
  67. package/dist/client/chunks/{chart-config-funnel-BzEsHmjR.js → chart-config-funnel-DEYMcxsD.js} +2 -2
  68. package/dist/client/chunks/{chart-config-funnel-BzEsHmjR.js.map → chart-config-funnel-DEYMcxsD.js.map} +1 -1
  69. package/dist/client/chunks/{chart-config-gauge-CCva3FfA.js → chart-config-gauge-DSwC04l0.js} +2 -2
  70. package/dist/client/chunks/{chart-config-gauge-CCva3FfA.js.map → chart-config-gauge-DSwC04l0.js.map} +1 -1
  71. package/dist/client/chunks/{chart-config-heat-map-Db4Z8UUn.js → chart-config-heat-map-CfRnRNcw.js} +2 -2
  72. package/dist/client/chunks/{chart-config-heat-map-Db4Z8UUn.js.map → chart-config-heat-map-CfRnRNcw.js.map} +1 -1
  73. package/dist/client/chunks/{chart-config-kpi-delta-BfLf3iyi.js → chart-config-kpi-delta-D6BIkHL3.js} +2 -2
  74. package/dist/client/chunks/{chart-config-kpi-delta-BfLf3iyi.js.map → chart-config-kpi-delta-D6BIkHL3.js.map} +1 -1
  75. package/dist/client/chunks/{chart-config-kpi-number-DWKFc9PX.js → chart-config-kpi-number-Bx-V9a62.js} +2 -2
  76. package/dist/client/chunks/{chart-config-kpi-number-DWKFc9PX.js.map → chart-config-kpi-number-Bx-V9a62.js.map} +1 -1
  77. package/dist/client/chunks/{chart-config-kpi-text-Dr4OG6cY.js → chart-config-kpi-text-CcqC1u-8.js} +2 -2
  78. package/dist/client/chunks/{chart-config-kpi-text-Dr4OG6cY.js.map → chart-config-kpi-text-CcqC1u-8.js.map} +1 -1
  79. package/dist/client/chunks/{chart-config-line-DGYYdDw9.js → chart-config-line-Db3jDsWc.js} +3 -2
  80. package/dist/client/chunks/chart-config-line-Db3jDsWc.js.map +1 -0
  81. package/dist/client/chunks/{chart-config-markdown-C-_g_8te.js → chart-config-markdown-BtRIe8JN.js} +2 -2
  82. package/dist/client/chunks/{chart-config-markdown-C-_g_8te.js.map → chart-config-markdown-BtRIe8JN.js.map} +1 -1
  83. package/dist/client/chunks/{chart-config-measure-profile-sB3n_Azv.js → chart-config-measure-profile-DxRGa-zf.js} +2 -2
  84. package/dist/client/chunks/{chart-config-measure-profile-sB3n_Azv.js.map → chart-config-measure-profile-DxRGa-zf.js.map} +1 -1
  85. package/dist/client/chunks/{chart-config-pie-kte7OXa9.js → chart-config-pie-DD4SmRTF.js} +2 -2
  86. package/dist/client/chunks/{chart-config-pie-kte7OXa9.js.map → chart-config-pie-DD4SmRTF.js.map} +1 -1
  87. package/dist/client/chunks/{chart-config-radar-C9IxP5tc.js → chart-config-radar-CC2XAaGr.js} +2 -2
  88. package/dist/client/chunks/{chart-config-radar-C9IxP5tc.js.map → chart-config-radar-CC2XAaGr.js.map} +1 -1
  89. package/dist/client/chunks/{chart-config-radial-bar-C3WJ8Uhm.js → chart-config-radial-bar-DmxKx1R0.js} +2 -2
  90. package/dist/client/chunks/{chart-config-radial-bar-C3WJ8Uhm.js.map → chart-config-radial-bar-DmxKx1R0.js.map} +1 -1
  91. package/dist/client/chunks/{chart-config-sankey-DGAThN9i.js → chart-config-sankey-BTnWA7EW.js} +2 -2
  92. package/dist/client/chunks/{chart-config-sankey-DGAThN9i.js.map → chart-config-sankey-BTnWA7EW.js.map} +1 -1
  93. package/dist/client/chunks/{chart-config-scatter-BVN_29G5.js → chart-config-scatter-DSYTjwRb.js} +2 -2
  94. package/dist/client/chunks/{chart-config-scatter-BVN_29G5.js.map → chart-config-scatter-DSYTjwRb.js.map} +1 -1
  95. package/dist/client/chunks/{chart-config-sunburst-utejM2YS.js → chart-config-sunburst-Bwjtdf7X.js} +2 -2
  96. package/dist/client/chunks/{chart-config-sunburst-utejM2YS.js.map → chart-config-sunburst-Bwjtdf7X.js.map} +1 -1
  97. package/dist/client/chunks/{chart-config-tree-map-meeJEDi8.js → chart-config-tree-map-BI-oQStO.js} +2 -2
  98. package/dist/client/chunks/{chart-config-tree-map-meeJEDi8.js.map → chart-config-tree-map-BI-oQStO.js.map} +1 -1
  99. package/dist/client/chunks/{chart-config-waterfall-CaPeWZMl.js → chart-config-waterfall-DSnyixbI.js} +2 -2
  100. package/dist/client/chunks/{chart-config-waterfall-CaPeWZMl.js.map → chart-config-waterfall-DSnyixbI.js.map} +1 -1
  101. package/dist/client/chunks/{chart-data-table-BRXHT2H-.js → chart-data-table-Cm5jrpaw.js} +853 -843
  102. package/dist/client/chunks/chart-data-table-Cm5jrpaw.js.map +1 -0
  103. package/dist/client/chunks/{chart-funnel-aQ7G_CqU.js → chart-funnel-Eke8IPtG.js} +3 -3
  104. package/dist/client/chunks/{chart-funnel-aQ7G_CqU.js.map → chart-funnel-Eke8IPtG.js.map} +1 -1
  105. package/dist/client/chunks/{chart-gauge-DqbDKr9E.js → chart-gauge-DeRZNsyl.js} +3 -3
  106. package/dist/client/chunks/{chart-gauge-DqbDKr9E.js.map → chart-gauge-DeRZNsyl.js.map} +1 -1
  107. package/dist/client/chunks/{chart-heat-map--6QnhUM8.js → chart-heat-map-C86thSJ4.js} +3 -3
  108. package/dist/client/chunks/{chart-heat-map--6QnhUM8.js.map → chart-heat-map-C86thSJ4.js.map} +1 -1
  109. package/dist/client/chunks/{chart-kpi-delta-DOSpRjfs.js → chart-kpi-delta-CxOYD2f1.js} +74 -72
  110. package/dist/client/chunks/{chart-kpi-delta-DOSpRjfs.js.map → chart-kpi-delta-CxOYD2f1.js.map} +1 -1
  111. package/dist/client/chunks/{chart-kpi-number-BcMjeKm8.js → chart-kpi-number-C6gWz-x4.js} +65 -64
  112. package/dist/client/chunks/{chart-kpi-number-BcMjeKm8.js.map → chart-kpi-number-C6gWz-x4.js.map} +1 -1
  113. package/dist/client/chunks/{chart-kpi-text-BI9isc2i.js → chart-kpi-text-dDONrhS-.js} +27 -26
  114. package/dist/client/chunks/{chart-kpi-text-BI9isc2i.js.map → chart-kpi-text-dDONrhS-.js.map} +1 -1
  115. package/dist/client/chunks/{chart-line-C0IHQteu.js → chart-line-r4iWevKZ.js} +119 -118
  116. package/dist/client/chunks/chart-line-r4iWevKZ.js.map +1 -0
  117. package/dist/client/chunks/{chart-markdown-BmgSMqPg.js → chart-markdown-BPW-EAm9.js} +940 -943
  118. package/dist/client/chunks/chart-markdown-BPW-EAm9.js.map +1 -0
  119. package/dist/client/chunks/{chart-measure-profile-DEyLW1fd.js → chart-measure-profile-BI3kADCp.js} +4 -4
  120. package/dist/client/chunks/{chart-measure-profile-DEyLW1fd.js.map → chart-measure-profile-BI3kADCp.js.map} +1 -1
  121. package/dist/client/chunks/{chart-pie-DSIekr7p.js → chart-pie-yqH2YVEI.js} +4 -4
  122. package/dist/client/chunks/{chart-pie-DSIekr7p.js.map → chart-pie-yqH2YVEI.js.map} +1 -1
  123. package/dist/client/chunks/{chart-radar-SGl62hK8.js → chart-radar-B-_3v-rE.js} +4 -4
  124. package/dist/client/chunks/{chart-radar-SGl62hK8.js.map → chart-radar-B-_3v-rE.js.map} +1 -1
  125. package/dist/client/chunks/{chart-radial-bar-C42EykOa.js → chart-radial-bar-C0EgzfAF.js} +4 -4
  126. package/dist/client/chunks/{chart-radial-bar-C42EykOa.js.map → chart-radial-bar-C0EgzfAF.js.map} +1 -1
  127. package/dist/client/chunks/{chart-sankey-DguImp0W.js → chart-sankey-CFzjGvZX.js} +3 -3
  128. package/dist/client/chunks/{chart-sankey-DguImp0W.js.map → chart-sankey-CFzjGvZX.js.map} +1 -1
  129. package/dist/client/chunks/{chart-scatter-Doeox4OP.js → chart-scatter-DZPirzwX.js} +4 -4
  130. package/dist/client/chunks/{chart-scatter-Doeox4OP.js.map → chart-scatter-DZPirzwX.js.map} +1 -1
  131. package/dist/client/chunks/{chart-sunburst-F3tgCpL-.js → chart-sunburst-91Q2tzaB.js} +4 -4
  132. package/dist/client/chunks/{chart-sunburst-F3tgCpL-.js.map → chart-sunburst-91Q2tzaB.js.map} +1 -1
  133. package/dist/client/chunks/{chart-tree-map-DvuSCIc8.js → chart-tree-map-Bi4axCvh.js} +4 -4
  134. package/dist/client/chunks/{chart-tree-map-DvuSCIc8.js.map → chart-tree-map-Bi4axCvh.js.map} +1 -1
  135. package/dist/client/chunks/{chart-waterfall-Be5duXlO.js → chart-waterfall-DcHbbPaG.js} +4 -4
  136. package/dist/client/chunks/{chart-waterfall-Be5duXlO.js.map → chart-waterfall-DcHbbPaG.js.map} +1 -1
  137. package/dist/client/chunks/{charts-core-XlOwoP_r.js → charts-core-CrBDYN6N.js} +2 -2
  138. package/dist/client/chunks/{charts-core-XlOwoP_r.js.map → charts-core-CrBDYN6N.js.map} +1 -1
  139. package/dist/client/chunks/{core-Dk6z6kC0.js → core-DsAWNRRv.js} +87 -85
  140. package/dist/client/chunks/{core-Dk6z6kC0.js.map → core-DsAWNRRv.js.map} +1 -1
  141. package/dist/client/chunks/{dist-eZurnOde.js → dist-zPWyTBdU.js} +38 -32
  142. package/dist/client/chunks/dist-zPWyTBdU.js.map +1 -0
  143. package/dist/client/chunks/{en-US-5xPTdCXg.js → en-US-BE6VoG0o.js} +1 -1
  144. package/dist/client/chunks/{en-US-5xPTdCXg.js.map → en-US-BE6VoG0o.js.map} +1 -1
  145. package/dist/client/chunks/{exceljs.min-DaJsLlWM.js → exceljs.min-CIqBqwTW.js} +71 -45
  146. package/dist/client/chunks/{exceljs.min-DaJsLlWM.js.map → exceljs.min-CIqBqwTW.js.map} +1 -1
  147. package/dist/client/chunks/{javascript-DFvvCuoP.js → javascript-DFnKaHmQ.js} +3 -3
  148. package/dist/client/chunks/{javascript-DFvvCuoP.js.map → javascript-DFnKaHmQ.js.map} +1 -1
  149. package/dist/client/chunks/{json-BBm9TlrA.js → json-Cu6rbgWf.js} +1 -1
  150. package/dist/client/chunks/{json-BBm9TlrA.js.map → json-Cu6rbgWf.js.map} +1 -1
  151. package/dist/client/chunks/{nl-NL-BLDeSy_P.js → nl-NL-oyr2wENY.js} +3 -1
  152. package/dist/client/chunks/nl-NL-oyr2wENY.js.map +1 -0
  153. package/dist/client/chunks/{providers-DX3Vw5kc.js → providers-DwQCKdGW.js} +1 -1
  154. package/dist/client/chunks/{providers-DX3Vw5kc.js.map → providers-DwQCKdGW.js.map} +1 -1
  155. package/dist/client/chunks/{retention-YhT1Oohi.js → retention-ChW9jYdy.js} +1 -1
  156. package/dist/client/chunks/{retention-YhT1Oohi.js.map → retention-ChW9jYdy.js.map} +1 -1
  157. package/dist/client/chunks/{rolldown-runtime-CCl2IeXn.js → rolldown-runtime-CWhphoD1.js} +1 -1
  158. package/dist/client/chunks/{schema-visualization-CM5ikSWB.js → schema-visualization-BszcrmZX.js} +294 -290
  159. package/dist/client/chunks/{schema-visualization-CM5ikSWB.js.map → schema-visualization-BszcrmZX.js.map} +1 -1
  160. package/dist/client/chunks/{sql-k0GA6oZ_.js → sql-CmVzGP4w.js} +1 -1
  161. package/dist/client/chunks/{sql-k0GA6oZ_.js.map → sql-CmVzGP4w.js.map} +1 -1
  162. package/dist/client/chunks/{useDebounce-NEZQbfxN.js → useDirtyStateTracking-B5wCDJSj.js} +99 -37
  163. package/dist/client/chunks/useDirtyStateTracking-B5wCDJSj.js.map +1 -0
  164. package/dist/client/chunks/{useExplainAI-DivfI0dW.js → useExplainAI-CCeCYzDm.js} +19 -19
  165. package/dist/client/chunks/{useExplainAI-DivfI0dW.js.map → useExplainAI-CCeCYzDm.js.map} +1 -1
  166. package/dist/client/chunks/{useNotebookLayout-DKkMenhj.js → useNotebookLayout-Ck3Z3uzg.js} +2 -2
  167. package/dist/client/chunks/{useNotebookLayout-DKkMenhj.js.map → useNotebookLayout-Ck3Z3uzg.js.map} +1 -1
  168. package/dist/client/chunks/{utils-Ctl_cVNR.js → utils-kqa-JIMg.js} +40 -13
  169. package/dist/client/chunks/utils-kqa-JIMg.js.map +1 -0
  170. package/dist/client/chunks/{vendor-BcLQ6iVZ.js → vendor-0hJNlZXQ.js} +102 -97
  171. package/dist/client/chunks/vendor-0hJNlZXQ.js.map +1 -0
  172. package/dist/client/components/DashboardGrid.d.ts +3 -1
  173. package/dist/client/components/dashboard/DashboardContext.d.ts +113 -0
  174. package/dist/client/components/dashboard/DashboardCoordinator.d.ts +2 -0
  175. package/dist/client/components/dashboard/DashboardFilterBar.d.ts +8 -0
  176. package/dist/client/components/dashboard/DashboardGridSurface.d.ts +8 -0
  177. package/dist/client/components/dashboard/DashboardModals.d.ts +8 -0
  178. package/dist/client/components/dashboard/DashboardProvider.d.ts +2 -0
  179. package/dist/client/components/dashboard/DashboardToolbar.d.ts +11 -0
  180. package/dist/client/components/dashboard/dashboardGridUtils.d.ts +17 -0
  181. package/dist/client/components/dashboard/index.d.ts +13 -0
  182. package/dist/client/components.d.ts +2 -0
  183. package/dist/client/components.js +3 -4
  184. package/dist/client/hooks.js +5 -6
  185. package/dist/client/icons.js +2 -2
  186. package/dist/client/index.d.ts +2 -0
  187. package/dist/client/index.js +161 -163
  188. package/dist/client/index.js.map +1 -1
  189. package/dist/client/providers.js +3 -3
  190. package/dist/client/schema.js +1 -1
  191. package/dist/client/types.d.ts +1 -0
  192. package/dist/client/utils.js +6 -7
  193. package/dist/client-bundle-stats.html +1 -1
  194. package/dist/mcp-app/mcp-app.html +77 -51
  195. package/dist/{adapters/dist-Boc63-1q.cjs → server/dist-BOdf-GQO.cjs} +1 -1
  196. package/dist/server/{google-BXwMolCu.js → google-CFYljAOF.js} +1 -1
  197. package/dist/server/{google-DzQWXFwF.cjs → google-DUlXeeDA.cjs} +1 -1
  198. package/dist/server/index.cjs +9 -9
  199. package/dist/server/index.js +57 -23
  200. package/dist/server/{openai-BfiZU0rG.cjs → openai-6wrBvAnv.cjs} +1 -1
  201. package/dist/server/openai-BDwb2u7y.cjs +17 -0
  202. package/dist/{adapters/openai-DQawCWQb.js → server/openai-DiVskd89.js} +1 -1
  203. package/dist/{adapters/openai-CuUGrKaK.js → server/openai-y7GhJNdn.js} +2062 -928
  204. package/package.json +3 -3
  205. package/dist/adapters/mcp-transport-B_HoB1HQ.js +0 -579
  206. package/dist/adapters/mcp-transport-bQzyrBPI.cjs +0 -40
  207. package/dist/adapters/openai-Bgri5TJc.cjs +0 -16
  208. package/dist/client/chunks/DashboardEditModal-DayTXEH0.js.map +0 -1
  209. package/dist/client/chunks/FieldSearchModal-B7Mr8UNT.js +0 -2644
  210. package/dist/client/chunks/FieldSearchModal-B7Mr8UNT.js.map +0 -1
  211. package/dist/client/chunks/KpiDelta-C-hZ1x01.js +0 -2
  212. package/dist/client/chunks/KpiNumber-Beo8CK0a.js +0 -2
  213. package/dist/client/chunks/KpiText-ytYiRTRO.js +0 -2
  214. package/dist/client/chunks/SchemaVisualization-DbYZBTyi.js +0 -2
  215. package/dist/client/chunks/SchemaVisualizationLazy-BGo-1S3q.js +0 -2
  216. package/dist/client/chunks/af-ZA-BtTNqvHF.js.map +0 -1
  217. package/dist/client/chunks/chart-activity-grid-BnY-jaoa.js.map +0 -1
  218. package/dist/client/chunks/chart-area-G3OvLLK4.js.map +0 -1
  219. package/dist/client/chunks/chart-bar-MLIWiLrc.js.map +0 -1
  220. package/dist/client/chunks/chart-config-area-40fbx2Ah.js.map +0 -1
  221. package/dist/client/chunks/chart-config-bar-CUWHwOPN.js.map +0 -1
  222. package/dist/client/chunks/chart-config-line-DGYYdDw9.js.map +0 -1
  223. package/dist/client/chunks/chart-data-table-BRXHT2H-.js.map +0 -1
  224. package/dist/client/chunks/chart-line-C0IHQteu.js.map +0 -1
  225. package/dist/client/chunks/chart-markdown-BmgSMqPg.js.map +0 -1
  226. package/dist/client/chunks/dist-eZurnOde.js.map +0 -1
  227. package/dist/client/chunks/nl-NL-BLDeSy_P.js.map +0 -1
  228. package/dist/client/chunks/syntaxHighlighting-D8J6Yt9j.js +0 -30
  229. package/dist/client/chunks/syntaxHighlighting-D8J6Yt9j.js.map +0 -1
  230. package/dist/client/chunks/useDebounce-NEZQbfxN.js.map +0 -1
  231. package/dist/client/chunks/useDirtyStateTracking-KAjwj1Ht.js +0 -66
  232. package/dist/client/chunks/useDirtyStateTracking-KAjwj1Ht.js.map +0 -1
  233. package/dist/client/chunks/utils-Ctl_cVNR.js.map +0 -1
  234. package/dist/client/chunks/vendor-BcLQ6iVZ.js.map +0 -1
  235. package/dist/server/openai-BwsBio1K.cjs +0 -16
  236. /package/dist/adapters/{anthropic-B_rg0BhK.js → anthropic-CZh4hB-m.js} +0 -0
  237. /package/dist/adapters/{anthropic-BIva8k1r.cjs → anthropic-DG4r1LSm.cjs} +0 -0
  238. /package/dist/adapters/{dist-De5fzUEM.js → dist-CH3hwAUk.js} +0 -0
  239. /package/dist/server/{anthropic-BsNspi1r.js → anthropic-CZh4hB-m.js} +0 -0
  240. /package/dist/server/{anthropic-DsCEX6Fm.cjs → anthropic-DG4r1LSm.cjs} +0 -0
  241. /package/dist/server/{dist-CMWZC51B.js → dist-CH3hwAUk.js} +0 -0
@@ -2,7 +2,7 @@ import { useCallback as e, useEffect as t, useRef as n, useState as r } from "re
2
2
  //#region src/client/hooks/useNotebookLayout.ts
3
3
  var i = 768;
4
4
  function a() {
5
- let [a, o] = r(() => typeof window < "u" ? window.innerWidth : i + 1), s = n(null), c = n(null), l = e((e) => {
5
+ let [a, o] = r(() => typeof window < "u" ? window.innerWidth : 769), s = n(null), c = n(null), l = e((e) => {
6
6
  if (s.current &&= (s.current.disconnect(), null), c.current = e, e) {
7
7
  let t = e.offsetWidth;
8
8
  t > 0 && o(t), s.current = new ResizeObserver((e) => {
@@ -34,4 +34,4 @@ function a() {
34
34
  //#endregion
35
35
  export { a as t };
36
36
 
37
- //# sourceMappingURL=useNotebookLayout-DKkMenhj.js.map
37
+ //# sourceMappingURL=useNotebookLayout-Ck3Z3uzg.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useNotebookLayout-DKkMenhj.js","names":[],"sources":["../../../src/client/hooks/useNotebookLayout.ts"],"sourcesContent":["/**\n * Container-width-based layout mode hook for AgenticNotebook.\n * Uses ResizeObserver + RefCallback + window resize fallback\n * following the useResponsiveDashboard pattern.\n */\n\nimport { useState, useEffect, useRef, useCallback, type RefCallback } from 'react'\n\nexport type NotebookLayoutMode = 'wide' | 'narrow'\n\nconst NARROW_THRESHOLD = 768\n\nexport interface UseNotebookLayoutResult {\n containerRef: RefCallback<HTMLDivElement>\n layoutMode: NotebookLayoutMode\n containerWidth: number\n}\n\nexport function useNotebookLayout(): UseNotebookLayoutResult {\n const [containerWidth, setContainerWidth] = useState(() =>\n typeof window !== 'undefined' ? window.innerWidth : NARROW_THRESHOLD + 1\n )\n const observerRef = useRef<ResizeObserver | null>(null)\n const elementRef = useRef<HTMLDivElement | null>(null)\n\n const containerRef = useCallback((node: HTMLDivElement | null) => {\n if (observerRef.current) {\n observerRef.current.disconnect()\n observerRef.current = null\n }\n\n elementRef.current = node\n\n if (node) {\n const initialWidth = node.offsetWidth\n if (initialWidth > 0) {\n setContainerWidth(initialWidth)\n }\n\n observerRef.current = new ResizeObserver((entries) => {\n const width = entries[0]?.contentRect.width\n if (width && width > 0) {\n setContainerWidth(width)\n }\n })\n observerRef.current.observe(node)\n }\n }, [])\n\n useEffect(() => {\n return () => {\n if (observerRef.current) {\n observerRef.current.disconnect()\n }\n }\n }, [])\n\n useEffect(() => {\n const handleWindowResize = () => {\n if (elementRef.current) {\n const width = elementRef.current.offsetWidth\n if (width > 0) {\n setContainerWidth(width)\n }\n }\n }\n\n window.addEventListener('resize', handleWindowResize)\n const timeoutId = setTimeout(handleWindowResize, 100)\n\n return () => {\n window.removeEventListener('resize', handleWindowResize)\n clearTimeout(timeoutId)\n }\n }, [])\n\n const layoutMode: NotebookLayoutMode = containerWidth >= NARROW_THRESHOLD ? 'wide' : 'narrow'\n\n return { containerRef, layoutMode, containerWidth }\n}\n"],"mappings":";;AAUA,IAAM,IAAmB;AAQzB,SAAgB,IAA6C;CAC3D,IAAM,CAAC,GAAgB,KAAqB,QAC1C,OAAO,SAAW,MAAc,OAAO,aAAa,IAAmB,EACxE,EACK,IAAc,EAA8B,KAAK,EACjD,IAAa,EAA8B,KAAK,EAEhD,IAAe,GAAa,MAAgC;AAQhE,MAPA,AAEE,EAAY,aADZ,EAAY,QAAQ,YAAY,EACV,OAGxB,EAAW,UAAU,GAEjB,GAAM;GACR,IAAM,IAAe,EAAK;AAW1B,GAVI,IAAe,KACjB,EAAkB,EAAa,EAGjC,EAAY,UAAU,IAAI,gBAAgB,MAAY;IACpD,IAAM,IAAQ,EAAQ,IAAI,YAAY;AACtC,IAAI,KAAS,IAAQ,KACnB,EAAkB,EAAM;KAE1B,EACF,EAAY,QAAQ,QAAQ,EAAK;;IAElC,EAAE,CAAC;AA+BN,QA7BA,cACe;AACX,EAAI,EAAY,WACd,EAAY,QAAQ,YAAY;IAGnC,EAAE,CAAC,EAEN,QAAgB;EACd,IAAM,UAA2B;AAC/B,OAAI,EAAW,SAAS;IACtB,IAAM,IAAQ,EAAW,QAAQ;AACjC,IAAI,IAAQ,KACV,EAAkB,EAAM;;;AAK9B,SAAO,iBAAiB,UAAU,EAAmB;EACrD,IAAM,IAAY,WAAW,GAAoB,IAAI;AAErD,eAAa;AAEX,GADA,OAAO,oBAAoB,UAAU,EAAmB,EACxD,aAAa,EAAU;;IAExB,EAAE,CAAC,EAIC;EAAE;EAAc,YAFgB,KAAkB,IAAmB,SAAS;EAElD;EAAgB"}
1
+ {"version":3,"file":"useNotebookLayout-Ck3Z3uzg.js","names":[],"sources":["../../../src/client/hooks/useNotebookLayout.ts"],"sourcesContent":["/**\n * Container-width-based layout mode hook for AgenticNotebook.\n * Uses ResizeObserver + RefCallback + window resize fallback\n * following the useResponsiveDashboard pattern.\n */\n\nimport { useState, useEffect, useRef, useCallback, type RefCallback } from 'react'\n\nexport type NotebookLayoutMode = 'wide' | 'narrow'\n\nconst NARROW_THRESHOLD = 768\n\nexport interface UseNotebookLayoutResult {\n containerRef: RefCallback<HTMLDivElement>\n layoutMode: NotebookLayoutMode\n containerWidth: number\n}\n\nexport function useNotebookLayout(): UseNotebookLayoutResult {\n const [containerWidth, setContainerWidth] = useState(() =>\n typeof window !== 'undefined' ? window.innerWidth : NARROW_THRESHOLD + 1\n )\n const observerRef = useRef<ResizeObserver | null>(null)\n const elementRef = useRef<HTMLDivElement | null>(null)\n\n const containerRef = useCallback((node: HTMLDivElement | null) => {\n if (observerRef.current) {\n observerRef.current.disconnect()\n observerRef.current = null\n }\n\n elementRef.current = node\n\n if (node) {\n const initialWidth = node.offsetWidth\n if (initialWidth > 0) {\n setContainerWidth(initialWidth)\n }\n\n observerRef.current = new ResizeObserver((entries) => {\n const width = entries[0]?.contentRect.width\n if (width && width > 0) {\n setContainerWidth(width)\n }\n })\n observerRef.current.observe(node)\n }\n }, [])\n\n useEffect(() => {\n return () => {\n if (observerRef.current) {\n observerRef.current.disconnect()\n }\n }\n }, [])\n\n useEffect(() => {\n const handleWindowResize = () => {\n if (elementRef.current) {\n const width = elementRef.current.offsetWidth\n if (width > 0) {\n setContainerWidth(width)\n }\n }\n }\n\n window.addEventListener('resize', handleWindowResize)\n const timeoutId = setTimeout(handleWindowResize, 100)\n\n return () => {\n window.removeEventListener('resize', handleWindowResize)\n clearTimeout(timeoutId)\n }\n }, [])\n\n const layoutMode: NotebookLayoutMode = containerWidth >= NARROW_THRESHOLD ? 'wide' : 'narrow'\n\n return { containerRef, layoutMode, containerWidth }\n}\n"],"mappings":";;AAUA,IAAM,IAAmB;AAQzB,SAAgB,IAA6C;CAC3D,IAAM,CAAC,GAAgB,KAAqB,QAC1C,OAAO,SAAW,MAAc,OAAO,aAAa,GACtD,GACM,IAAc,EAA8B,IAAI,GAChD,IAAa,EAA8B,IAAI,GAE/C,IAAe,GAAa,MAAgC;EAQhE,IAPA,AAEE,EAAY,aADZ,EAAY,QAAQ,WAAW,GACT,OAGxB,EAAW,UAAU,GAEjB,GAAM;GACR,IAAM,IAAe,EAAK;GAW1B,AAVI,IAAe,KACjB,EAAkB,CAAY,GAGhC,EAAY,UAAU,IAAI,gBAAgB,MAAY;IACpD,IAAM,IAAQ,EAAQ,IAAI,YAAY;IACtC,AAAI,KAAS,IAAQ,KACnB,EAAkB,CAAK;GAE3B,CAAC,GACD,EAAY,QAAQ,QAAQ,CAAI;EAClC;CACF,GAAG,CAAC,CAAC;CA+BL,OA7BA,cACe;EACX,AAAI,EAAY,WACd,EAAY,QAAQ,WAAW;CAEnC,GACC,CAAC,CAAC,GAEL,QAAgB;EACd,IAAM,UAA2B;GAC/B,IAAI,EAAW,SAAS;IACtB,IAAM,IAAQ,EAAW,QAAQ;IACjC,AAAI,IAAQ,KACV,EAAkB,CAAK;GAE3B;EACF;EAEA,OAAO,iBAAiB,UAAU,CAAkB;EACpD,IAAM,IAAY,WAAW,GAAoB,GAAG;EAEpD,aAAa;GAEX,AADA,OAAO,oBAAoB,UAAU,CAAkB,GACvD,aAAa,CAAS;EACxB;CACF,GAAG,CAAC,CAAC,GAIE;EAAE;EAAc,YAFgB,KAAkB,IAAmB,SAAS;EAElD;CAAe;AACpD"}
@@ -1,11 +1,38 @@
1
- import { P as e } from "./chart-data-table-BRXHT2H-.js";
1
+ import { j as e } from "./chart-data-table-Cm5jrpaw.js";
2
2
  import "react";
3
3
  import { jsx as t } from "react/jsx-runtime";
4
+ //#region src/client/utils/syntaxHighlighting.ts
5
+ var n = null, r = null;
6
+ async function i() {
7
+ if (!n) return r || (r = (async () => {
8
+ try {
9
+ let e = await import("./core-DsAWNRRv.js"), t = await import("./javascript-DFnKaHmQ.js"), r = await import("./sql-CmVzGP4w.js"), i = await import("./json-Cu6rbgWf.js");
10
+ e.default.registerLanguage("javascript", t.default), e.default.registerLanguage("sql", r.default), e.default.registerLanguage("json", i.default), n = e.default;
11
+ } catch (e) {
12
+ console.error("Failed to load syntax highlighter:", e), r = null;
13
+ }
14
+ })(), r);
15
+ }
16
+ async function a() {
17
+ await i(), n && document.querySelectorAll("pre code").forEach((e) => {
18
+ e.classList.contains("hljs") || n.highlightElement(e);
19
+ });
20
+ }
21
+ async function o(e) {
22
+ await i(), n && (e.classList.contains("hljs") || n.highlightElement(e));
23
+ }
24
+ function s() {
25
+ return n !== null;
26
+ }
27
+ function c() {
28
+ return n;
29
+ }
30
+ //#endregion
4
31
  //#region src/client/utils/measureIcons.tsx
5
- function n(n, r = "w-4 h-4") {
32
+ function l(n, r = "w-4 h-4") {
6
33
  return /* @__PURE__ */ t(e(n), { className: r });
7
34
  }
8
- function r() {
35
+ function u() {
9
36
  let n = [
10
37
  "count",
11
38
  "countDistinct",
@@ -23,13 +50,13 @@ function r() {
23
50
  }
24
51
  //#endregion
25
52
  //#region src/client/utils/index.ts
26
- function i(e) {
53
+ function d(e) {
27
54
  return {
28
55
  portlets: e,
29
- layouts: a(e)
56
+ layouts: f(e)
30
57
  };
31
58
  }
32
- function a(e) {
59
+ function f(e) {
33
60
  let t = e.map((e) => ({
34
61
  i: e.id,
35
62
  x: e.x,
@@ -59,7 +86,7 @@ function a(e) {
59
86
  }))
60
87
  };
61
88
  }
62
- function o(e, t = {}) {
89
+ function p(e, t = {}) {
63
90
  let { formatNumbers: n = !0, precision: r = 2 } = t;
64
91
  return n ? e.map((e) => {
65
92
  let t = {};
@@ -67,10 +94,10 @@ function o(e, t = {}) {
67
94
  return t;
68
95
  }) : e;
69
96
  }
70
- function s() {
97
+ function m() {
71
98
  return `portlet-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;
72
99
  }
73
- function c(e, t = 6, n = 4) {
100
+ function h(e, t = 6, n = 4) {
74
101
  return e.length === 0 ? {
75
102
  x: 0,
76
103
  y: 0
@@ -79,7 +106,7 @@ function c(e, t = 6, n = 4) {
79
106
  y: Math.max(...e.map((e) => e.y + e.h))
80
107
  };
81
108
  }
82
- function l(e) {
109
+ function g(e) {
83
110
  try {
84
111
  let t = JSON.parse(e);
85
112
  return typeof t != "object" || !t ? {
@@ -99,7 +126,7 @@ function l(e) {
99
126
  };
100
127
  }
101
128
  }
102
- function u() {
129
+ function _() {
103
130
  return {
104
131
  title: "Sample Chart",
105
132
  query: JSON.stringify({
@@ -123,6 +150,6 @@ function u() {
123
150
  };
124
151
  }
125
152
  //#endregion
126
- export { s as a, r as c, o as i, n as l, u as n, a as o, c as r, l as s, i as t };
153
+ export { m as a, u as c, o as d, a as f, p as i, l, i as m, _ as n, f as o, s as p, h as r, g as s, d as t, c as u };
127
154
 
128
- //# sourceMappingURL=utils-Ctl_cVNR.js.map
155
+ //# sourceMappingURL=utils-kqa-JIMg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils-kqa-JIMg.js","names":[],"sources":["../../../src/client/utils/syntaxHighlighting.ts","../../../src/client/utils/measureIcons.tsx","../../../src/client/utils/index.ts"],"sourcesContent":["/**\n * Syntax Highlighting Utility\n *\n * Lazy-loads highlight.js only when needed for syntax highlighting in debug panels.\n * This minimizes bundle size impact since syntax highlighting is not needed on initial load.\n *\n * Usage:\n * await highlightCodeBlocks()\n */\n\nlet highlightJs: any = null\nlet loadingPromise: Promise<void> | null = null\n\n/**\n * Lazy-loads highlight.js and registers supported languages.\n * Only loads once - subsequent calls return immediately.\n */\nexport async function loadSyntaxHighlighter(): Promise<void> {\n // Already loaded\n if (highlightJs) {\n return\n }\n\n // Loading in progress - wait for it\n if (loadingPromise) {\n return loadingPromise\n }\n\n loadingPromise = (async () => {\n try {\n // Dynamic imports to enable code splitting\n const hljs = await import('highlight.js/lib/core')\n const javascript = await import('highlight.js/lib/languages/javascript')\n const sql = await import('highlight.js/lib/languages/sql')\n const json = await import('highlight.js/lib/languages/json')\n\n // Register languages we need\n hljs.default.registerLanguage('javascript', javascript.default)\n hljs.default.registerLanguage('sql', sql.default)\n hljs.default.registerLanguage('json', json.default)\n\n // Store the instance\n highlightJs = hljs.default\n } catch (err) {\n console.error('Failed to load syntax highlighter:', err)\n // Clear loading promise so it can be retried\n loadingPromise = null\n }\n })()\n\n return loadingPromise\n}\n\n/**\n * Highlights all code blocks on the page that haven't been highlighted yet.\n * Gracefully handles cases where highlight.js fails to load.\n */\nexport async function highlightCodeBlocks(): Promise<void> {\n // Load highlighter if not already loaded\n await loadSyntaxHighlighter()\n\n // If loading failed, return silently (code blocks remain unstyled)\n if (!highlightJs) {\n return\n }\n\n // Find all code blocks and highlight them\n document.querySelectorAll('pre code').forEach((block) => {\n // Skip if already highlighted\n if (!block.classList.contains('hljs')) {\n highlightJs.highlightElement(block)\n }\n })\n}\n\n/**\n * Highlights a specific code block element.\n * Useful for dynamically added content.\n *\n * @param element - The code block element to highlight\n */\nexport async function highlightCodeBlock(element: HTMLElement): Promise<void> {\n await loadSyntaxHighlighter()\n\n if (!highlightJs) {\n return\n }\n\n if (!element.classList.contains('hljs')) {\n highlightJs.highlightElement(element)\n }\n}\n\n/**\n * Returns whether syntax highlighting is available.\n * Useful for conditional rendering or feature detection.\n */\nexport function isSyntaxHighlightingAvailable(): boolean {\n return highlightJs !== null\n}\n\n/**\n * Returns the loaded highlight.js instance, if available.\n * Useful for custom highlighting flows that need direct access.\n */\nexport function getSyntaxHighlighter(): any | null {\n return highlightJs\n}\n","import React from 'react'\nimport { getMeasureTypeIcon } from '../icons'\n\n/**\n * Get the appropriate icon component for a given measure type\n * All icons use amber coloring for consistency\n */\nexport function getMeasureIcon(\n measureType: string | undefined,\n className: string = 'w-4 h-4'\n): React.ReactElement {\n const IconComponent = getMeasureTypeIcon(measureType)\n return <IconComponent className={className} />\n}\n\n/**\n * Get all available measure type icons\n * Useful for documentation or UI that shows all measure types\n */\nexport function getAllMeasureIcons(): Record<string, React.ReactElement> {\n const types = ['count', 'countDistinct', 'countDistinctApprox', 'sum', 'avg', 'min', 'max', 'runningTotal', 'calculated', 'number']\n const icons: Record<string, React.ReactElement> = {}\n\n for (const type of types) {\n const IconComponent = getMeasureTypeIcon(type)\n icons[type] = <IconComponent className=\"dc:w-4 dc:h-4\" />\n }\n\n return icons\n}\n","/**\n * Utility functions for drizzle-cube client\n */\n\nimport type { PortletConfig, DashboardConfig } from '../types'\n\n// Re-export chart utilities\nexport * from './chartUtils'\nexport * from './chartConstants'\nexport * from './measureIcons'\nexport * from './periodUtils'\nexport * from './pivotUtils'\nexport * from './syntaxHighlighting'\nexport * from './comparisonUtils'\n\n// Thumbnail utilities (requires html2canvas peer dependency)\nexport { captureThumbnail, isThumbnailCaptureAvailable } from './thumbnail'\n\n// XLSX export utilities (requires exceljs peer dependency)\nexport { exportPortletToXlsx, isExportAvailable } from './exportXlsx'\n\n/**\n * Create a dashboard layout from portlet configurations\n */\nexport function createDashboardLayout(portlets: PortletConfig[]): DashboardConfig {\n const layouts = generateResponsiveLayouts(portlets)\n \n return {\n portlets,\n layouts\n }\n}\n\n/**\n * Generate responsive layouts for different breakpoints\n */\nexport function generateResponsiveLayouts(portlets: PortletConfig[]) {\n const gridLayout = portlets.map(portlet => ({\n i: portlet.id,\n x: portlet.x,\n y: portlet.y,\n w: portlet.w,\n h: portlet.h,\n minW: 3,\n minH: 3\n }))\n\n return {\n lg: gridLayout,\n md: gridLayout.map(item => ({ ...item, w: Math.min(item.w, 8) })),\n sm: gridLayout.map(item => ({ ...item, w: Math.min(item.w, 6) })),\n xs: gridLayout.map(item => ({ ...item, w: Math.min(item.w, 4) })),\n xxs: gridLayout.map(item => ({ ...item, w: 2 }))\n }\n}\n\n/**\n * Format chart data for display\n */\nexport function formatChartData(data: any[], options: {\n formatNumbers?: boolean\n precision?: number\n} = {}): any[] {\n const { formatNumbers = true, precision = 2 } = options\n\n if (!formatNumbers) return data\n\n return data.map(row => {\n const formattedRow: any = {}\n \n for (const [key, value] of Object.entries(row)) {\n if (typeof value === 'number') {\n formattedRow[key] = Number(value.toFixed(precision))\n } else {\n formattedRow[key] = value\n }\n }\n \n return formattedRow\n })\n}\n\n/**\n * Generate a unique ID for new portlets\n */\nexport function generatePortletId(): string {\n return `portlet-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`\n}\n\n/**\n * Find the next available position in a grid\n */\nexport function findNextPosition(existingPortlets: PortletConfig[], _w: number = 6, _h: number = 4): { x: number; y: number } {\n if (existingPortlets.length === 0) {\n return { x: 0, y: 0 }\n }\n\n // Find the maximum Y position and height\n const maxY = Math.max(...existingPortlets.map(p => p.y + p.h))\n \n return { x: 0, y: maxY }\n}\n\n/**\n * Validate a cube query JSON string\n */\nexport function validateCubeQuery(queryString: string): { valid: boolean; error?: string; query?: any } {\n try {\n const query = JSON.parse(queryString)\n \n // Basic validation\n if (typeof query !== 'object' || query === null) {\n return { valid: false, error: 'Query must be a JSON object' }\n }\n\n // Check for required fields\n if (!query.measures && !query.dimensions) {\n return { valid: false, error: 'Query must have at least measures or dimensions' }\n }\n\n return { valid: true, query }\n } catch {\n return { valid: false, error: 'Invalid JSON format' }\n }\n}\n\n/**\n * Create a sample portlet configuration\n */\nexport function createSamplePortlet(): Omit<PortletConfig, 'id'> {\n return {\n title: 'Sample Chart',\n query: JSON.stringify({\n measures: ['count'],\n dimensions: ['category']\n }, null, 2),\n chartType: 'bar',\n chartConfig: {\n x: 'category',\n y: ['count']\n },\n displayConfig: {\n showLegend: true,\n showGrid: true,\n showTooltip: true\n },\n w: 6,\n h: 4,\n x: 0,\n y: 0\n }\n}"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { t as e } from "./rolldown-runtime-CCl2IeXn.js";
2
- import { _t as t, at as n, ct as r, dt as i, ft as a, gt as o, ht as s, it as c, lt as l, mt as u, nt as d, ot as f, pt as p, rt as m, st as h, tt as g, ut as _, vt as v } from "./chart-data-table-BRXHT2H-.js";
1
+ import { t as e } from "./rolldown-runtime-CWhphoD1.js";
2
+ import { $ as t, Q as n, at as r, ct as i, dt as a, et as o, ft as s, ht as c, it as l, lt as u, mt as d, nt as f, ot as p, pt as m, rt as h, st as g, tt as _, ut as v } from "./chart-data-table-Cm5jrpaw.js";
3
3
  import * as y from "react";
4
4
  import b from "react";
5
5
  //#region node_modules/react-intersection-observer/dist/index.mjs
@@ -96,7 +96,7 @@ function k({ threshold: e, delay: t, trackVisibility: n, rootMargin: r, root: i,
96
96
  "useInsertionEffect" in y;
97
97
  //#endregion
98
98
  //#region node_modules/@tanstack/query-core/build/modern/mutationObserver.js
99
- var A = class extends v {
99
+ var A = class extends c {
100
100
  #e;
101
101
  #t = void 0;
102
102
  #n;
@@ -109,11 +109,11 @@ var A = class extends v {
109
109
  }
110
110
  setOptions(e) {
111
111
  let t = this.options;
112
- this.options = this.#e.defaultMutationOptions(e), o(this.options, t) || this.#e.getMutationCache().notify({
112
+ this.options = this.#e.defaultMutationOptions(e), m(this.options, t) || this.#e.getMutationCache().notify({
113
113
  type: "observerOptionsUpdated",
114
114
  mutation: this.#n,
115
115
  observer: this
116
- }), t?.mutationKey && this.options.mutationKey && p(t.mutationKey) !== p(this.options.mutationKey) ? this.reset() : this.#n?.state.status === "pending" && this.#n.setOptions(this.options);
116
+ }), t?.mutationKey && this.options.mutationKey && v(t.mutationKey) !== v(this.options.mutationKey) ? this.reset() : this.#n?.state.status === "pending" && this.#n.setOptions(this.options);
117
117
  }
118
118
  onUnsubscribe() {
119
119
  this.hasListeners() || this.#n?.removeObserver(this);
@@ -131,7 +131,7 @@ var A = class extends v {
131
131
  return this.#r = t, this.#n?.removeObserver(this), this.#n = this.#e.getMutationCache().build(this.#e, this.options), this.#n.addObserver(this), this.#n.execute(e);
132
132
  }
133
133
  #i() {
134
- let e = this.#n?.state ?? _();
134
+ let e = this.#n?.state ?? g();
135
135
  this.#t = {
136
136
  ...e,
137
137
  isPending: e.status === "pending",
@@ -143,7 +143,7 @@ var A = class extends v {
143
143
  };
144
144
  }
145
145
  #a(e) {
146
- a.batch(() => {
146
+ u.batch(() => {
147
147
  if (this.#r && this.hasListeners()) {
148
148
  let t = this.#t.variables, n = this.#t.context, r = {
149
149
  client: this.#e,
@@ -190,7 +190,7 @@ function M(e, t, n) {
190
190
  let r = e.slice(0);
191
191
  return r[t] = n, r;
192
192
  }
193
- var N = class extends v {
193
+ var N = class extends c {
194
194
  #e;
195
195
  #t;
196
196
  #n;
@@ -207,7 +207,7 @@ var N = class extends v {
207
207
  onSubscribe() {
208
208
  this.listeners.size === 1 && this.#i.forEach((e) => {
209
209
  e.subscribe((t) => {
210
- this.#p(e, t);
210
+ this.#m(e, t);
211
211
  });
212
212
  });
213
213
  }
@@ -224,20 +224,20 @@ var N = class extends v {
224
224
  let t = e.map((e) => this.#e.defaultQueryOptions(e).queryHash);
225
225
  new Set(t).size !== t.length && console.warn("[QueriesObserver]: Duplicate Queries found. This might result in unexpected behavior.");
226
226
  }
227
- a.batch(() => {
228
- let e = this.#i, t = this.#f(this.#n);
227
+ u.batch(() => {
228
+ let e = this.#i, t = this.#p(this.#n);
229
229
  t.forEach((e) => e.observer.setOptions(e.defaultedQueryOptions));
230
- let n = t.map((e) => e.observer), r = n.map((e) => e.getCurrentResult()), i = e.length !== n.length, a = n.some((t, n) => t !== e[n]), s = i || a, c = s ? !0 : r.some((e, t) => {
230
+ let n = t.map((e) => e.observer), r = n.map((e) => e.getCurrentResult()), i = e.length !== n.length, a = n.some((t, n) => t !== e[n]), o = i || a, s = o ? !0 : r.some((e, t) => {
231
231
  let n = this.#t[t];
232
- return !n || !o(e, n);
232
+ return !n || !m(e, n);
233
233
  });
234
- !s && !c || (s && (this.#l = t, this.#i = n), this.#t = r, this.hasListeners() && (s && (j(e, n).forEach((e) => {
234
+ !o && !s || (o && (this.#l = t, this.#i = n), this.#t = r, this.hasListeners() && (o && (j(e, n).forEach((e) => {
235
235
  e.destroy();
236
236
  }), j(n, e).forEach((e) => {
237
237
  e.subscribe((t) => {
238
- this.#p(e, t);
238
+ this.#m(e, t);
239
239
  });
240
- })), this.#m()));
240
+ })), this.#h()));
241
241
  });
242
242
  }
243
243
  getCurrentResult() {
@@ -250,7 +250,7 @@ var N = class extends v {
250
250
  return this.#i;
251
251
  }
252
252
  getOptimisticResult(e, t) {
253
- let n = this.#f(e), r = n.map((e) => e.observer.getOptimisticResult(e.defaultedQueryOptions)), i = n.map((e) => e.defaultedQueryOptions.queryHash);
253
+ let n = this.#p(e), r = n.map((e) => e.observer.getOptimisticResult(e.defaultedQueryOptions)), i = n.map((e) => e.defaultedQueryOptions.queryHash);
254
254
  return [
255
255
  r,
256
256
  (e) => this.#d(e ?? r, t, i),
@@ -274,7 +274,10 @@ var N = class extends v {
274
274
  }
275
275
  return e;
276
276
  }
277
- #f(e) {
277
+ #f() {
278
+ return this.#r?.combine !== void 0 && this.#i.some((e, t) => e.options.suspense && this.#t[t]?.data === void 0);
279
+ }
280
+ #p(e) {
278
281
  let t = /* @__PURE__ */ new Map();
279
282
  this.#i.forEach((e) => {
280
283
  let n = e.options.queryHash;
@@ -291,14 +294,14 @@ var N = class extends v {
291
294
  });
292
295
  }), n;
293
296
  }
294
- #p(e, t) {
297
+ #m(e, t) {
295
298
  let n = this.#i.indexOf(e);
296
- n !== -1 && (this.#t = M(this.#t, n, t), this.#m());
299
+ n !== -1 && (this.#t = M(this.#t, n, t), this.#h());
297
300
  }
298
- #m() {
301
+ #h() {
299
302
  if (this.hasListeners()) {
300
- let e = this.#a, t = this.#u(this.#t, this.#l);
301
- e !== this.#d(t, this.#r?.combine) && a.batch(() => {
303
+ let e = this.#u(this.#t, this.#l), t = this.#f(), n = this.#a, r = t ? n : this.#d(e, this.#r?.combine);
304
+ (t || n !== r) && u.batch(() => {
302
305
  this.listeners.forEach((e) => {
303
306
  e(this.#t);
304
307
  });
@@ -308,39 +311,39 @@ var N = class extends v {
308
311
  };
309
312
  //#endregion
310
313
  //#region node_modules/@tanstack/react-query/build/modern/useQueries.js
311
- function P({ queries: e, ...t }, o) {
312
- let s = l(o), p = r(), _ = h(), v = y.useMemo(() => e.map((e) => {
313
- let t = s.defaultQueryOptions(e);
314
- return t._optimisticResults = p ? "isRestoring" : "optimistic", t;
314
+ function P({ queries: e, ...s }, c) {
315
+ let d = p(c), m = r(), g = l(), v = y.useMemo(() => e.map((e) => {
316
+ let t = d.defaultQueryOptions(e);
317
+ return t._optimisticResults = m ? "isRestoring" : "optimistic", t;
315
318
  }), [
316
319
  e,
317
- s,
318
- p
320
+ d,
321
+ m
319
322
  ]);
320
323
  v.forEach((e) => {
321
- g(e), c(e, _, s.getQueryCache().get(e.queryHash));
322
- }), f(_);
323
- let [b] = y.useState(() => new N(s, v, t)), [x, S, C] = b.getOptimisticResult(v, t.combine), w = !p && t.subscribed !== !1;
324
- y.useSyncExternalStore(y.useCallback((e) => w ? b.subscribe(a.batchCalls(e)) : u, [b, w]), () => b.getCurrentResult(), () => b.getCurrentResult()), y.useEffect(() => {
325
- b.setQueries(v, t);
324
+ n(e), _(e, g, d.getQueryCache().get(e.queryHash));
325
+ }), h(g);
326
+ let [b] = y.useState(() => new N(d, v, s)), [x, S, C] = b.getOptimisticResult(v, s.combine), w = !m && s.subscribed !== !1;
327
+ y.useSyncExternalStore(y.useCallback((e) => w ? b.subscribe(u.batchCalls(e)) : a, [b, w]), () => b.getCurrentResult(), () => b.getCurrentResult()), y.useEffect(() => {
328
+ b.setQueries(v, s);
326
329
  }, [
327
330
  v,
328
- t,
331
+ s,
329
332
  b
330
333
  ]);
331
- let T = x.some((e, t) => m(v[t], e)) ? x.flatMap((e, t) => {
332
- let n = v[t];
333
- return n && m(n, e) ? d(n, new i(s, n), _) : [];
334
+ let T = x.some((e, t) => o(v[t], e)) ? x.flatMap((e, n) => {
335
+ let r = v[n];
336
+ return r && o(r, e) ? t(r, new i(d, r), g) : [];
334
337
  }) : [];
335
338
  if (T.length > 0) throw Promise.all(T);
336
339
  let E = x.find((e, t) => {
337
- let r = v[t];
338
- return r && n({
340
+ let n = v[t];
341
+ return n && f({
339
342
  result: e,
340
- errorResetBoundary: _,
341
- throwOnError: r.throwOnError,
342
- query: s.getQueryCache().get(r.queryHash),
343
- suspense: r.suspense
343
+ errorResetBoundary: g,
344
+ throwOnError: n.throwOnError,
345
+ query: d.getQueryCache().get(n.queryHash),
346
+ suspense: n.suspense
344
347
  });
345
348
  });
346
349
  if (E?.error) throw E.error;
@@ -348,19 +351,19 @@ function P({ queries: e, ...t }, o) {
348
351
  }
349
352
  //#endregion
350
353
  //#region node_modules/@tanstack/react-query/build/modern/useMutation.js
351
- function F(e, n) {
352
- let r = l(n), [i] = y.useState(() => new A(r, e));
354
+ function F(e, t) {
355
+ let n = p(t), [r] = y.useState(() => new A(n, e));
353
356
  y.useEffect(() => {
354
- i.setOptions(e);
355
- }, [i, e]);
356
- let o = y.useSyncExternalStore(y.useCallback((e) => i.subscribe(a.batchCalls(e)), [i]), () => i.getCurrentResult(), () => i.getCurrentResult()), s = y.useCallback((e, t) => {
357
- i.mutate(e, t).catch(u);
358
- }, [i]);
359
- if (o.error && t(i.options.throwOnError, [o.error])) throw o.error;
357
+ r.setOptions(e);
358
+ }, [r, e]);
359
+ let i = y.useSyncExternalStore(y.useCallback((e) => r.subscribe(u.batchCalls(e)), [r]), () => r.getCurrentResult(), () => r.getCurrentResult()), o = y.useCallback((e, t) => {
360
+ r.mutate(e, t).catch(a);
361
+ }, [r]);
362
+ if (i.error && d(r.options.throwOnError, [i.error])) throw i.error;
360
363
  return {
361
- ...o,
362
- mutate: s,
363
- mutateAsync: o.mutate
364
+ ...i,
365
+ mutate: o,
366
+ mutateAsync: i.mutate
364
367
  };
365
368
  }
366
369
  //#endregion
@@ -379,22 +382,22 @@ var I = (e) => {
379
382
  subscribe: (e) => (n.add(e), () => n.delete(e))
380
383
  }, o = t = e(r, i, a);
381
384
  return a;
382
- }, ee = ((e) => e ? I(e) : I), L = (e) => e;
383
- function R(e, t = L) {
385
+ }, L = ((e) => e ? I(e) : I), R = (e) => e;
386
+ function z(e, t = R) {
384
387
  let n = b.useSyncExternalStore(e.subscribe, b.useCallback(() => t(e.getState()), [e, t]), b.useCallback(() => t(e.getInitialState()), [e, t]));
385
388
  return b.useDebugValue(n), n;
386
389
  }
387
390
  //#endregion
388
391
  //#region node_modules/zustand/esm/middleware.mjs
389
- var z = (e) => !!e.dispatchFromDevtools && typeof e.dispatch == "function", B = /* @__PURE__ */ new Map(), V = (e) => {
390
- let t = B.get(e);
392
+ var B = (e) => !!e.dispatchFromDevtools && typeof e.dispatch == "function", V = /* @__PURE__ */ new Map(), H = (e) => {
393
+ let t = V.get(e);
391
394
  return t ? Object.fromEntries(Object.entries(t.stores).map(([e, t]) => [e, t.getState()])) : {};
392
- }, H = (e, t, n) => {
395
+ }, U = (e, t, n) => {
393
396
  if (e === void 0) return {
394
397
  type: "untracked",
395
398
  connection: t.connect(n)
396
399
  };
397
- let r = B.get(n.name);
400
+ let r = V.get(n.name);
398
401
  if (r) return {
399
402
  type: "tracked",
400
403
  store: e,
@@ -404,47 +407,49 @@ var z = (e) => !!e.dispatchFromDevtools && typeof e.dispatch == "function", B =
404
407
  connection: t.connect(n),
405
408
  stores: {}
406
409
  };
407
- return B.set(n.name, i), {
410
+ return V.set(n.name, i), {
408
411
  type: "tracked",
409
412
  store: e,
410
413
  ...i
411
414
  };
412
- }, U = (e, t) => {
415
+ }, W = (e, t) => {
413
416
  if (t === void 0) return;
414
- let n = B.get(e);
415
- n && (delete n.stores[t], Object.keys(n.stores).length === 0 && B.delete(e));
416
- }, W = (e) => {
417
+ let n = V.get(e);
418
+ n && (delete n.stores[t], Object.keys(n.stores).length === 0 && V.delete(e));
419
+ }, G = /.+ (.+) .+/, K = /^([^@]+)@/;
420
+ function q(e) {
417
421
  if (!e) return;
418
422
  let t = e.split("\n"), n = t.findIndex((e) => e.includes("api.setState"));
419
423
  if (n < 0) return;
420
424
  let r = t[n + 1]?.trim() || "";
421
- return /.+ (.+) .+/.exec(r)?.[1];
422
- }, G = (e, t = {}) => (n, r, i) => {
425
+ return G.exec(r)?.[1] || K.exec(r)?.[1];
426
+ }
427
+ var J = (e, t = {}) => (n, r, i) => {
423
428
  let { enabled: a, anonymousActionType: o, store: s, ...c } = t, l;
424
429
  try {
425
430
  l = (a ?? !1) && window.__REDUX_DEVTOOLS_EXTENSION__;
426
431
  } catch {}
427
432
  if (!l) return e(n, r, i);
428
- let { connection: u, ...d } = H(s, l, c), f = !0;
433
+ let { connection: u, ...d } = U(s, l, c), f = !0;
429
434
  i.setState = ((e, t, a) => {
430
435
  let l = n(e, t);
431
436
  if (!f) return l;
432
- let d = a === void 0 ? { type: o || W((/* @__PURE__ */ Error()).stack) || "anonymous" } : typeof a == "string" ? { type: a } : a;
437
+ let d = a === void 0 ? { type: o || q((/* @__PURE__ */ Error()).stack) || "anonymous" } : typeof a == "string" ? { type: a } : a;
433
438
  return s === void 0 ? (u?.send(d, r()), l) : (u?.send({
434
439
  ...d,
435
440
  type: `${s}/${d.type}`
436
441
  }, {
437
- ...V(c.name),
442
+ ...H(c.name),
438
443
  [s]: i.getState()
439
444
  }), l);
440
445
  }), i.devtools = { cleanup: () => {
441
- u && typeof u.unsubscribe == "function" && u.unsubscribe(), U(c.name, s);
446
+ u && typeof u.unsubscribe == "function" && u.unsubscribe(), W(c.name, s);
442
447
  } };
443
448
  let p = (...e) => {
444
449
  let t = f;
445
450
  f = !1, n(...e), f = t;
446
451
  }, m = e(i.setState, r, i);
447
- if (d.type === "untracked" ? u?.init(m) : (d.stores[d.store] = i, u?.init(Object.fromEntries(Object.entries(d.stores).map(([e, t]) => [e, e === d.store ? m : t.getState()])))), z(i)) {
452
+ if (d.type === "untracked" ? u?.init(m) : (d.stores[d.store] = i, u?.init(Object.fromEntries(Object.entries(d.stores).map(([e, t]) => [e, e === d.store ? m : t.getState()])))), B(i)) {
448
453
  let e = i.dispatch;
449
454
  i.dispatch = (...t) => {
450
455
  e(...t);
@@ -457,7 +462,7 @@ var z = (e) => !!e.dispatchFromDevtools && typeof e.dispatch == "function", B =
457
462
  console.error("[zustand devtools middleware] Unsupported action format");
458
463
  return;
459
464
  }
460
- return K(e.payload, (e) => {
465
+ return Y(e.payload, (e) => {
461
466
  if (e.type === "__setState") {
462
467
  if (s === void 0) {
463
468
  p(e.state);
@@ -469,26 +474,26 @@ var z = (e) => !!e.dispatchFromDevtools && typeof e.dispatch == "function", B =
469
474
  JSON.stringify(i.getState()) !== JSON.stringify(t) && p(t);
470
475
  return;
471
476
  }
472
- z(i) && i.dispatch(e);
477
+ B(i) && i.dispatch(e);
473
478
  });
474
479
  case "DISPATCH":
475
480
  switch (e.payload.type) {
476
- case "RESET": return p(m), s === void 0 ? u?.init(i.getState()) : u?.init(V(c.name));
481
+ case "RESET": return p(m), s === void 0 ? u?.init(i.getState()) : u?.init(H(c.name));
477
482
  case "COMMIT":
478
483
  if (s === void 0) {
479
484
  u?.init(i.getState());
480
485
  return;
481
486
  }
482
- return u?.init(V(c.name));
483
- case "ROLLBACK": return K(e.state, (e) => {
487
+ return u?.init(H(c.name));
488
+ case "ROLLBACK": return Y(e.state, (e) => {
484
489
  if (s === void 0) {
485
490
  p(e), u?.init(i.getState());
486
491
  return;
487
492
  }
488
- p(e[s]), u?.init(V(c.name));
493
+ p(e[s]), u?.init(H(c.name));
489
494
  });
490
495
  case "JUMP_TO_STATE":
491
- case "JUMP_TO_ACTION": return K(e.state, (e) => {
496
+ case "JUMP_TO_ACTION": return Y(e.state, (e) => {
492
497
  if (s === void 0) {
493
498
  p(e);
494
499
  return;
@@ -506,7 +511,7 @@ var z = (e) => !!e.dispatchFromDevtools && typeof e.dispatch == "function", B =
506
511
  return;
507
512
  }
508
513
  }), m;
509
- }, K = (e, t) => {
514
+ }, Y = (e, t) => {
510
515
  let n;
511
516
  try {
512
517
  n = JSON.parse(e);
@@ -514,7 +519,7 @@ var z = (e) => !!e.dispatchFromDevtools && typeof e.dispatch == "function", B =
514
519
  console.error("[zustand devtools middleware] Could not parse the received json", e);
515
520
  }
516
521
  n !== void 0 && t(n);
517
- }, q = (e) => (t, n, r) => {
522
+ }, ee = (e) => (t, n, r) => {
518
523
  let i = r.subscribe;
519
524
  return r.subscribe = ((e, t, n) => {
520
525
  let a = e;
@@ -531,7 +536,7 @@ var z = (e) => !!e.dispatchFromDevtools && typeof e.dispatch == "function", B =
531
536
  return i(a);
532
537
  }), e(t, n, r);
533
538
  };
534
- function J(e, t) {
539
+ function te(e, t) {
535
540
  let n;
536
541
  try {
537
542
  n = e();
@@ -547,12 +552,12 @@ function J(e, t) {
547
552
  removeItem: (e) => n.removeItem(e)
548
553
  };
549
554
  }
550
- var Y = (e) => (t) => {
555
+ var X = (e) => (t) => {
551
556
  try {
552
557
  let n = e(t);
553
558
  return n instanceof Promise ? n : {
554
559
  then(e) {
555
- return Y(e)(n);
560
+ return X(e)(n);
556
561
  },
557
562
  catch(e) {
558
563
  return this;
@@ -564,13 +569,13 @@ var Y = (e) => (t) => {
564
569
  return this;
565
570
  },
566
571
  catch(t) {
567
- return Y(t)(e);
572
+ return X(t)(e);
568
573
  }
569
574
  };
570
575
  }
571
- }, X = (e, t) => (n, r, i) => {
576
+ }, ne = (e, t) => (n, r, i) => {
572
577
  let a = {
573
- storage: J(() => window.localStorage),
578
+ storage: te(() => window.localStorage),
574
579
  partialize: (e) => e,
575
580
  version: 0,
576
581
  merge: (e, t) => ({
@@ -597,7 +602,7 @@ var Y = (e) => (t) => {
597
602
  let e = ++s;
598
603
  o = !1, c.forEach((e) => e(r() ?? p));
599
604
  let t = a.onRehydrateStorage?.call(a, r() ?? p) || void 0;
600
- return Y(u.getItem.bind(u))(a.name).then((e) => {
605
+ return X(u.getItem.bind(u))(a.name).then((e) => {
601
606
  if (e) if (typeof e.version == "number" && e.version !== a.version) {
602
607
  if (a.migrate) {
603
608
  let t = a.migrate(e.state, e.version);
@@ -641,7 +646,7 @@ var Y = (e) => (t) => {
641
646
  if (n.size !== r.size) return !1;
642
647
  for (let [e, t] of n) if (!r.has(e) || !Object.is(t, r.get(e))) return !1;
643
648
  return !0;
644
- }, te = (e, t) => {
649
+ }, re = (e, t) => {
645
650
  let n = e[Symbol.iterator](), r = t[Symbol.iterator](), i = n.next(), a = r.next();
646
651
  for (; !i.done && !a.done;) {
647
652
  if (!Object.is(i.value, a.value)) return !1;
@@ -649,21 +654,21 @@ var Y = (e) => (t) => {
649
654
  }
650
655
  return !!i.done && !!a.done;
651
656
  };
652
- function ne(e, t) {
653
- return Object.is(e, t) ? !0 : typeof e != "object" || !e || typeof t != "object" || !t || Object.getPrototypeOf(e) !== Object.getPrototypeOf(t) ? !1 : Z(e) && Z(t) ? Q(e) && Q(t) ? $(e, t) : te(e, t) : $({ entries: () => Object.entries(e) }, { entries: () => Object.entries(t) });
657
+ function ie(e, t) {
658
+ return Object.is(e, t) ? !0 : typeof e != "object" || !e || typeof t != "object" || !t || Object.getPrototypeOf(e) !== Object.getPrototypeOf(t) ? !1 : Z(e) && Z(t) ? Q(e) && Q(t) ? $(e, t) : re(e, t) : $({ entries: () => Object.entries(e) }, { entries: () => Object.entries(t) });
654
659
  }
655
660
  //#endregion
656
661
  //#region node_modules/zustand/esm/react/shallow.mjs
657
- function re(e) {
662
+ function ae(e) {
658
663
  let t = b.useRef(void 0);
659
664
  return (n) => {
660
665
  let r = e(n);
661
- return ne(t.current, r) ? t.current : t.current = r;
666
+ return ie(t.current, r) ? t.current : t.current = r;
662
667
  };
663
668
  }
664
669
  //#endregion
665
670
  //#region node_modules/lz-string/libs/lz-string.js
666
- var ie = /* @__PURE__ */ e(((e, t) => {
671
+ var oe = /* @__PURE__ */ e(((e, t) => {
667
672
  var n = (function() {
668
673
  var e = String.fromCharCode, t = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", n = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+-$", r = {};
669
674
  function i(e, t) {
@@ -823,6 +828,6 @@ var ie = /* @__PURE__ */ e(((e, t) => {
823
828
  });
824
829
  }));
825
830
  //#endregion
826
- export { q as a, F as c, X as i, P as l, re as n, R as o, G as r, ee as s, ie as t, k as u };
831
+ export { ee as a, F as c, ne as i, P as l, ae as n, z as o, J as r, L as s, oe as t, k as u };
827
832
 
828
- //# sourceMappingURL=vendor-BcLQ6iVZ.js.map
833
+ //# sourceMappingURL=vendor-0hJNlZXQ.js.map