@marimo-team/frontend 0.16.2 → 0.16.3

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 (293) hide show
  1. package/dist/assets/{ConnectedDataExplorerComponent-B5cPvWoQ.js → ConnectedDataExplorerComponent-Brtw1DxF.js} +1 -1
  2. package/dist/assets/{ImageComparisonComponent-CqR26LSv.js → ImageComparisonComponent-Dxl-PbZX.js} +1 -1
  3. package/dist/assets/{VegaLite-DvQDATwI.js → VegaLite-BXQF0Cx_.js} +1 -1
  4. package/dist/assets/_baseEach-BjSm9ht3.js +1 -0
  5. package/dist/assets/_baseMap-CV4Ezmtf.js +1 -0
  6. package/dist/assets/_baseUniq-Ci9yZGxz.js +1 -0
  7. package/dist/assets/{_createAggregator-ZcHkHPNJ.js → _createAggregator-VFK9K2d9.js} +1 -1
  8. package/dist/assets/{agent-panel-B91RoLct.js → agent-panel-BoscVLCT.js} +7 -7
  9. package/dist/assets/{any-language-editor-CxfHcm5h.js → any-language-editor-ChaY_VUU.js} +1 -1
  10. package/dist/assets/{architectureDiagram-W76B3OCA-BQsvK8uR.js → architectureDiagram-W76B3OCA-CueUUFYd.js} +1 -1
  11. package/dist/assets/{between-horizontal-start-BmYToIaM.js → between-horizontal-start-DAHqmLYT.js} +1 -1
  12. package/dist/assets/{blockDiagram-QIGZ2CNN-r3HgCj4w.js → blockDiagram-QIGZ2CNN-BYYygyWn.js} +1 -1
  13. package/dist/assets/{c4Diagram-FPNF74CW-BJbPNt41.js → c4Diagram-FPNF74CW-DAz3xEh1.js} +1 -1
  14. package/dist/assets/channel-6SqQ2U_X.js +1 -0
  15. package/dist/assets/chat-panel-DJkOLrw9.js +3 -0
  16. package/dist/assets/{chunk-4BX2VUAB-Dv4MZ9Hj.js → chunk-4BX2VUAB-8g-RyHdt.js} +1 -1
  17. package/dist/assets/{chunk-55IACEB6-CM4AHquB.js → chunk-55IACEB6-iWZZ8Mt6.js} +1 -1
  18. package/dist/assets/{chunk-FMBD7UC4-C_Zz0ENB.js → chunk-FMBD7UC4-knjss4wk.js} +1 -1
  19. package/dist/assets/{chunk-K7UQS3LO-DYSmiXYq.js → chunk-K7UQS3LO-DVIwPBgZ.js} +1 -1
  20. package/dist/assets/{chunk-QN33PNHL-QM4OPuQP.js → chunk-QN33PNHL-CBU8pN6I.js} +1 -1
  21. package/dist/assets/{chunk-QZHKN3VN-CfAsGyeB.js → chunk-QZHKN3VN-5ljElUF4.js} +1 -1
  22. package/dist/assets/{chunk-TVAH2DTR-6j_Cpjsi.js → chunk-TVAH2DTR-DkIdGINc.js} +1 -1
  23. package/dist/assets/{chunk-TZMSLE5B-BHslFJQE.js → chunk-TZMSLE5B-CIFOSTqh.js} +1 -1
  24. package/dist/assets/{circle-play-CK3UZRYQ.js → circle-play-BOdsbq5u.js} +1 -1
  25. package/dist/assets/classDiagram-KNZD7YFC-DVqXcTYf.js +1 -0
  26. package/dist/assets/classDiagram-v2-RKCZMP56-DVqXcTYf.js +1 -0
  27. package/dist/assets/{clear-button-C4fDVSv8.js → clear-button-GAjXl0CQ.js} +1 -1
  28. package/dist/assets/clone-DSDb0xen.js +1 -0
  29. package/dist/assets/command-palette-BUXkqoLh.js +1 -0
  30. package/dist/assets/{common-D-lbuUwz.js → common-DahoYqdi.js} +1 -1
  31. package/dist/assets/{compile-DVQe1Mzk.js → compile-Bg8uJ7vm.js} +1 -1
  32. package/dist/assets/{cose-bilkent-S5V4N54A-D-IS7WC8.js → cose-bilkent-S5V4N54A-z_0gqD9K.js} +1 -1
  33. package/dist/assets/{dagre-5GWH7T2D-lYu-tEWT.js → dagre-5GWH7T2D-BMt7CNXL.js} +1 -1
  34. package/dist/assets/{data-grid-overlay-editor-C5peOCit.js → data-grid-overlay-editor-Ctn4XtXx.js} +1 -1
  35. package/dist/assets/{datasources-panel-D3NA20uZ.js → datasources-panel-C7sqRIHs.js} +1 -1
  36. package/dist/assets/{dependency-graph-panel-BGVYOfkV.js → dependency-graph-panel-DNajptzv.js} +4 -4
  37. package/dist/assets/{diagram-N5W7TBWH-BnvIuYUp.js → diagram-N5W7TBWH-BzwvLvAy.js} +1 -1
  38. package/dist/assets/{diagram-QEK2KX5R-DemedRK3.js → diagram-QEK2KX5R-DRLJ56FS.js} +1 -1
  39. package/dist/assets/{diagram-S2PKOQOG-iiY7AuyH.js → diagram-S2PKOQOG-Bf8x4KTU.js} +1 -1
  40. package/dist/assets/{documentation-panel-C3dSwOSQ.js → documentation-panel-Dm6Ozl67.js} +1 -1
  41. package/dist/assets/edit-page-CGc9EjuG.js +140 -0
  42. package/dist/assets/{ellipsis-vertical-CazJl8M7.js → ellipsis-vertical-Bj1YXvZe.js} +1 -1
  43. package/dist/assets/{empty-state-DW308mFO.js → empty-state-CYev-D31.js} +1 -1
  44. package/dist/assets/{erDiagram-AWTI2OKA-6wQ8Ugg0.js → erDiagram-AWTI2OKA-DmgzgN_I.js} +1 -1
  45. package/dist/assets/{error-panel-D1VnJ1yP.js → error-panel-BYG4twCa.js} +1 -1
  46. package/dist/assets/{file-explorer-panel-0oVd4t-D.js → file-explorer-panel-BSMiOApi.js} +1 -1
  47. package/dist/assets/{flowDiagram-PVAE7QVJ-C55IUWjm.js → flowDiagram-PVAE7QVJ-BdRKkajr.js} +1 -1
  48. package/dist/assets/{ganttDiagram-OWAHRB6G-DmqCM6ME.js → ganttDiagram-OWAHRB6G-lfRAMnq_.js} +5 -5
  49. package/dist/assets/{gitGraphDiagram-NY62KEGX-DBvhAeM_.js → gitGraphDiagram-NY62KEGX-CQVTIrHF.js} +1 -1
  50. package/dist/assets/{glide-data-editor-CHNuHidQ.js → glide-data-editor-D5A4pou7.js} +11 -11
  51. package/dist/assets/{graph-CG6BgUWQ.js → graph-CBNo279v.js} +1 -1
  52. package/dist/assets/{home-page-dgivXuSR.js → home-page-CmdznBJR.js} +3 -3
  53. package/dist/assets/{index-BTGpssVX.js → index-0dfGh-Gj.js} +1 -1
  54. package/dist/assets/{index-C7dtgr9A.js → index-BDYVSSzB.js} +1 -1
  55. package/dist/assets/{index-C02SqeRj.js → index-B_KyDZ94.js} +1 -1
  56. package/dist/assets/{index-mkubqy9-.js → index-Bfy-I_lW.js} +1 -1
  57. package/dist/assets/{index-BelfnXwL.js → index-Bh98Tp-z.js} +1 -1
  58. package/dist/assets/{index-CAQvMTzM.js → index-BhroIwBL.js} +1 -1
  59. package/dist/assets/{index-BneyUujp.js → index-BtQtesaI.js} +1 -1
  60. package/dist/assets/index-C0iXCvyY.css +1 -0
  61. package/dist/assets/index-C1SHFMCp.js +581 -0
  62. package/dist/assets/{index-Csd6QrCV.js → index-C6DWtSls.js} +1 -1
  63. package/dist/assets/{index-BYVZlBF8.js → index-C71cdkH-.js} +1 -1
  64. package/dist/assets/{index-z4krxQ4j.js → index-CT_FTqvK.js} +1 -1
  65. package/dist/assets/{index-Db36XTG_.js → index-CU5rRr66.js} +1 -1
  66. package/dist/assets/{index-CtPksxf0.js → index-Cb6duXQm.js} +1 -1
  67. package/dist/assets/{index-DAZ-9ri2.js → index-D23e9zQj.js} +1 -1
  68. package/dist/assets/index-DUGecC2Z.js +68 -0
  69. package/dist/assets/{index-M_pBKDSe.js → index-DcGIOAQi.js} +1 -1
  70. package/dist/assets/{index-DONRrmA2.js → index-PJfa9qXY.js} +1 -1
  71. package/dist/assets/{index-sbO9UaUU.js → index-SPslPC2B.js} +1 -1
  72. package/dist/assets/{index-DdIhdEVw.js → index-VPQlo4Uz.js} +1 -1
  73. package/dist/assets/{index-_luCZMLM.js → index-qbTLKWyG.js} +1 -1
  74. package/dist/assets/infoDiagram-STP46IZ2-DBu8p9gd.js +2 -0
  75. package/dist/assets/{isEmpty-CqX_YTIf.js → isEmpty-CnOLuQIv.js} +1 -1
  76. package/dist/assets/{journeyDiagram-BIP6EPQ6-Y5w_Tqe_.js → journeyDiagram-BIP6EPQ6-6U_vHJBH.js} +1 -1
  77. package/dist/assets/{kanban-definition-6OIFK2YF-DbXs5Rxi.js → kanban-definition-6OIFK2YF-DgnR14ys.js} +1 -1
  78. package/dist/assets/{layout-BCNPDACj.js → layout-RHmq4fP9.js} +1 -1
  79. package/dist/assets/{linear-uO6UVhXt.js → linear-CLdOVPGV.js} +1 -1
  80. package/dist/assets/links-Dd1icsEk.js +7 -0
  81. package/dist/assets/{logs-panel-BEQ1eRUp.js → logs-panel-CjbuhBLx.js} +1 -1
  82. package/dist/assets/{markdown-renderer-Dmzbb00W.js → markdown-renderer-X5YJvAZq.js} +3 -3
  83. package/dist/assets/{mermaid-qRc4MXIj.js → mermaid-Bl2T5oEC.js} +1 -1
  84. package/dist/assets/{mermaid.core-CvvJtCRj.js → mermaid.core-CfukBvGI.js} +4 -4
  85. package/dist/assets/min-BXIes1Za.js +1 -0
  86. package/dist/assets/{mindmap-definition-Q6HEUPPD-G5NognM-.js → mindmap-definition-Q6HEUPPD-BXCjP4Lu.js} +1 -1
  87. package/dist/assets/{number-overlay-editor-DPr5sHFu.js → number-overlay-editor-BUyqkSes.js} +1 -1
  88. package/dist/assets/{outline-panel-gxQXvVi4.js → outline-panel-BvGcPKdd.js} +1 -1
  89. package/dist/assets/{packages-panel-B1T0VPlg.js → packages-panel-BichDQWG.js} +1 -1
  90. package/dist/assets/{pieDiagram-ADFJNKIX-DK9SHkfc.js → pieDiagram-ADFJNKIX-CMzJFIJM.js} +1 -1
  91. package/dist/assets/{quadrantDiagram-LMRXKWRM-D1DdWF8C.js → quadrantDiagram-LMRXKWRM-CfGssUlO.js} +1 -1
  92. package/dist/assets/{react-plotly-CTwajqCb.js → react-plotly-DR3hV0HW.js} +1 -1
  93. package/dist/assets/{requirementDiagram-4UW4RH46-DnjDAypr.js → requirementDiagram-4UW4RH46-CfrFolth.js} +1 -1
  94. package/dist/assets/{run-page-CQY9im22.js → run-page-Bqd_4ePD.js} +1 -1
  95. package/dist/assets/{sankeyDiagram-GR3RE2ED-B67Va-ER.js → sankeyDiagram-GR3RE2ED-D_UttKU0.js} +1 -1
  96. package/dist/assets/scratchpad-panel-D5N15ji1.js +1 -0
  97. package/dist/assets/secrets-panel-BpbnAO4R.js +1 -0
  98. package/dist/assets/{sequenceDiagram-C3RYC4MD-DiWgZPtN.js → sequenceDiagram-C3RYC4MD-MdfQQApP.js} +1 -1
  99. package/dist/assets/{slides-component-DhpPRtQp.js → slides-component-C0z7rXmk.js} +1 -1
  100. package/dist/assets/{snippets-panel-CLkBXhJ2.js → snippets-panel-wlpZ_Wzx.js} +1 -1
  101. package/dist/assets/{sortBy-D4OG7w4O.js → sortBy-BW_zNHP6.js} +1 -1
  102. package/dist/assets/{state-Dz_3JyED.js → state-CDooX-dk.js} +1 -1
  103. package/dist/assets/{stateDiagram-KXAO66HF-ByF2AULw.js → stateDiagram-KXAO66HF-H7kfw3ot.js} +1 -1
  104. package/dist/assets/stateDiagram-v2-UMBNRL4Z-YMeb9qMR.js +1 -0
  105. package/dist/assets/{storage-Dr0CC44z.js → storage-b1QCapTq.js} +6 -6
  106. package/dist/assets/{terminal-BtdissBf.js → terminal-CPV44BXz.js} +1 -1
  107. package/dist/assets/{time-DKdOTnQg.js → time-DDy3xv5Y.js} +1 -1
  108. package/dist/assets/{timeline-definition-XQNQX7LJ-DzER9bf6.js → timeline-definition-XQNQX7LJ-J-cPRT2_.js} +1 -1
  109. package/dist/assets/{tracing-Dpx5M-u3.js → tracing-3eHHRUiJ.js} +2 -2
  110. package/dist/assets/{tracing-panel-hCjBkSER.js → tracing-panel-BMgy3D7d.js} +2 -2
  111. package/dist/assets/{trash-C6Ko-g5q.js → trash--tonOuDe.js} +1 -1
  112. package/dist/assets/{tree-BHN2gcCF.js → tree-ouIGEsVg.js} +6 -6
  113. package/dist/assets/{treemap-75Q7IDZK-DR79Mhzt.js → treemap-75Q7IDZK-CzJTJ_3R.js} +20 -20
  114. package/dist/assets/{variable-panel-PFBCFz36.js → variable-panel-sFTn4Oih.js} +1 -1
  115. package/dist/assets/{vega-component-Db6-uY4C.js → vega-component-BkPkzX9r.js} +1 -1
  116. package/dist/assets/{xychartDiagram-6GGTOJPD-DWzBP3tZ.js → xychartDiagram-6GGTOJPD-BZ8WOb_8.js} +1 -1
  117. package/dist/index.html +10 -3
  118. package/package.json +6 -6
  119. package/src/__mocks__/common.ts +5 -3
  120. package/src/__mocks__/notebook.ts +2 -2
  121. package/src/__tests__/main.test.tsx +2 -2
  122. package/src/components/ai/ai-provider-icon.tsx +2 -0
  123. package/src/components/app-config/ai-config.tsx +32 -1
  124. package/src/components/app-config/common.tsx +2 -2
  125. package/src/components/app-config/user-config-form.tsx +26 -0
  126. package/src/components/audio/audio-recorder.tsx +0 -1
  127. package/src/components/chat/acp/blocks.tsx +2 -2
  128. package/src/components/chat/acp/thread.tsx +3 -5
  129. package/src/components/chat/acp/utils.ts +5 -5
  130. package/src/components/chat/chat-panel.tsx +1 -1
  131. package/src/components/data-table/__tests__/data-table.test.tsx +2 -2
  132. package/src/components/data-table/charts/__tests__/altair-generator.test.ts +1 -1
  133. package/src/components/data-table/charts/chart-spec/tooltips.ts +3 -3
  134. package/src/components/data-table/charts/components/chart-items.tsx +1 -1
  135. package/src/components/data-table/charts/components/form-fields.tsx +2 -2
  136. package/src/components/data-table/charts/constants.ts +1 -1
  137. package/src/components/data-table/column-explorer-panel/column-explorer.tsx +1 -1
  138. package/src/components/data-table/column-summary/chart-spec-model.tsx +2 -2
  139. package/src/components/data-table/columns.tsx +1 -1
  140. package/src/components/data-table/data-table.tsx +35 -3
  141. package/src/components/data-table/date-popover.tsx +1 -1
  142. package/src/components/data-table/download-actions.tsx +1 -1
  143. package/src/components/data-table/range-focus/__tests__/utils.test.ts +5 -5
  144. package/src/components/data-table/renderers.tsx +6 -5
  145. package/src/components/data-table/row-viewer-panel/row-viewer.tsx +1 -1
  146. package/src/components/data-table/types.ts +4 -3
  147. package/src/components/datasources/column-preview.tsx +9 -6
  148. package/src/components/debugger/debugger-code.tsx +1 -1
  149. package/src/components/dependency-graph/custom-node.tsx +15 -6
  150. package/src/components/dependency-graph/dependency-graph-minimap.tsx +2 -2
  151. package/src/components/dependency-graph/dependency-graph-tree.tsx +2 -2
  152. package/src/components/dependency-graph/dependency-graph.tsx +1 -1
  153. package/src/components/dependency-graph/elements.ts +7 -7
  154. package/src/components/dependency-graph/utils/changes.ts +4 -4
  155. package/src/components/editor/Cell.tsx +6 -2
  156. package/src/components/editor/ai/transport/chat-transport.tsx +1 -1
  157. package/src/components/editor/chrome/panels/outline/useActiveOutline.tsx +1 -1
  158. package/src/components/editor/chrome/panels/packages-panel.tsx +1 -1
  159. package/src/components/editor/columns/storage.ts +1 -1
  160. package/src/components/editor/database/__tests__/__snapshots__/as-code.test.ts.snap +36 -0
  161. package/src/components/editor/database/__tests__/as-code.test.ts +30 -7
  162. package/src/components/editor/database/add-database-form.tsx +11 -0
  163. package/src/components/editor/database/as-code.ts +104 -5
  164. package/src/components/editor/database/schemas.ts +36 -18
  165. package/src/components/editor/errors/auto-fix.tsx +12 -2
  166. package/src/components/editor/errors/sql-validation-errors.tsx +12 -6
  167. package/src/components/editor/navigation/clipboard.ts +2 -2
  168. package/src/components/editor/output/ConsoleOutput.tsx +1 -1
  169. package/src/components/editor/output/JsonOutput.tsx +1 -1
  170. package/src/components/editor/output/MarimoErrorOutput.tsx +25 -25
  171. package/src/components/editor/output/MarimoTracebackOutput.tsx +17 -2
  172. package/src/components/editor/renderers/grid-layout/types.ts +2 -2
  173. package/src/components/editor/renderers/plugins.ts +1 -1
  174. package/src/components/editor/renderers/types.ts +1 -1
  175. package/src/components/editor/renderers/vertical-layout/vertical-layout.tsx +7 -7
  176. package/src/components/forms/form.tsx +5 -5
  177. package/src/components/ui/links.tsx +1 -0
  178. package/src/core/ai/__tests__/model-registry.test.ts +0 -10
  179. package/src/core/ai/context/providers/error.ts +2 -2
  180. package/src/core/ai/ids/ids.ts +1 -0
  181. package/src/core/ai/model-registry.ts +2 -1
  182. package/src/core/cells/cells.ts +5 -5
  183. package/src/core/cells/logs.ts +1 -1
  184. package/src/core/cells/types.ts +1 -1
  185. package/src/core/codemirror/__tests__/format.test.ts +6 -0
  186. package/src/core/codemirror/cells/traceback-decorations.ts +1 -1
  187. package/src/core/codemirror/editing/commands.ts +2 -2
  188. package/src/core/codemirror/find-replace/navigate.ts +1 -1
  189. package/src/core/codemirror/language/__tests__/extension.test.ts +1 -1
  190. package/src/core/codemirror/language/__tests__/sql-validation.test.ts +1 -1
  191. package/src/core/codemirror/language/__tests__/sql.test.ts +764 -79
  192. package/src/core/codemirror/language/languages/markdown.ts +4 -1
  193. package/src/core/codemirror/language/languages/sql/{validation-errors.ts → banner-validation-errors.ts} +9 -3
  194. package/src/core/codemirror/language/languages/sql/completion-builder.ts +160 -0
  195. package/src/core/codemirror/language/languages/sql/completion-sources.tsx +9 -3
  196. package/src/core/codemirror/language/languages/sql/completion-store.ts +46 -50
  197. package/src/core/codemirror/language/languages/sql/renderers.tsx +485 -0
  198. package/src/core/codemirror/language/languages/sql/sql.ts +151 -24
  199. package/src/core/codemirror/language/languages/sql/utils.ts +4 -1
  200. package/src/core/codemirror/language/panel/sql.tsx +6 -1
  201. package/src/core/codemirror/language/utils/ast.ts +3 -3
  202. package/src/core/codemirror/lsp/federated-lsp.ts +4 -4
  203. package/src/core/codemirror/lsp/lens.ts +4 -4
  204. package/src/core/codemirror/lsp/notebook-lsp.ts +1 -1
  205. package/src/core/codemirror/lsp/types.ts +1 -1
  206. package/src/core/codemirror/markdown/completions.ts +1 -1
  207. package/src/core/codemirror/reactive-references/analyzer.ts +2 -2
  208. package/src/core/codemirror/rtc/loro/awareness.ts +1 -1
  209. package/src/core/config/config-schema.ts +1 -0
  210. package/src/core/config/feature-flag.tsx +3 -1
  211. package/src/core/datasets/request-registry.ts +17 -10
  212. package/src/core/dom/events.ts +1 -1
  213. package/src/core/dom/outline.ts +2 -2
  214. package/src/core/dom/uiregistry.ts +2 -8
  215. package/src/core/errors/__tests__/errors.test.ts +22 -4
  216. package/src/core/errors/errors.ts +29 -1
  217. package/src/core/errors/state.ts +1 -1
  218. package/src/core/islands/main.ts +2 -2
  219. package/src/core/islands/parse.ts +1 -3
  220. package/src/core/kernel/messages.ts +1 -1
  221. package/src/core/network/CachingRequestRegistry.ts +74 -0
  222. package/src/core/network/DeferredRequestRegistry.ts +3 -1
  223. package/src/core/network/__tests__/CachingRequestRegistry.test.ts +73 -0
  224. package/src/core/network/types.ts +1 -1
  225. package/src/core/variables/state.ts +2 -2
  226. package/src/core/wasm/__tests__/state.test.ts +1 -1
  227. package/src/core/websocket/useMarimoWebSocket.tsx +5 -2
  228. package/src/custom.d.ts +1 -1
  229. package/src/hooks/useCellRenderCount.ts +1 -0
  230. package/src/hooks/useResizeHandle.ts +4 -1
  231. package/src/plugins/core/RenderHTML.tsx +1 -2
  232. package/src/plugins/impl/DataTablePlugin.tsx +7 -2
  233. package/src/plugins/impl/FileUploadPlugin.tsx +1 -1
  234. package/src/plugins/impl/RefreshPlugin.tsx +1 -1
  235. package/src/plugins/impl/SliderPlugin.tsx +4 -0
  236. package/src/plugins/impl/anywidget/AnyWidgetPlugin.tsx +27 -9
  237. package/src/plugins/impl/anywidget/__tests__/AnyWidgetPlugin.test.tsx +58 -2
  238. package/src/plugins/impl/anywidget/__tests__/model.test.ts +3 -4
  239. package/src/plugins/impl/anywidget/model.ts +2 -3
  240. package/src/plugins/impl/data-editor/types.ts +1 -1
  241. package/src/plugins/impl/data-explorer/components/query-form.tsx +1 -1
  242. package/src/plugins/impl/data-frames/types.ts +1 -1
  243. package/src/plugins/impl/panel/PanelPlugin.tsx +2 -2
  244. package/src/plugins/impl/plotly/PlotlyPlugin.tsx +3 -3
  245. package/src/plugins/impl/vega/__tests__/loader.test.ts +2 -2
  246. package/src/plugins/impl/vega/loader.ts +1 -1
  247. package/src/plugins/impl/vega/vega-component.tsx +1 -1
  248. package/src/plugins/impl/vega/vega-loader.ts +2 -2
  249. package/src/plugins/layout/NavigationMenuPlugin.tsx +1 -1
  250. package/src/plugins/layout/RoutesPlugin.tsx +1 -2
  251. package/src/plugins/plugins.ts +2 -2
  252. package/src/utils/Logger.ts +1 -1
  253. package/src/utils/__tests__/data-views.test.ts +30 -68
  254. package/src/utils/__tests__/dom.test.ts +10 -10
  255. package/src/utils/__tests__/id-tree.test.ts +49 -1
  256. package/src/utils/__tests__/storage.test.ts +1 -1
  257. package/src/utils/__tests__/traceback.test.ts +13 -2
  258. package/src/utils/arrays.ts +1 -1
  259. package/src/utils/createReducer.ts +1 -5
  260. package/src/utils/data-views.ts +6 -19
  261. package/src/utils/edit-distance.ts +1 -1
  262. package/src/utils/fileToBase64.ts +1 -1
  263. package/src/utils/id-tree.tsx +20 -18
  264. package/src/utils/json/base64.ts +13 -0
  265. package/src/utils/json/json-parser.ts +2 -2
  266. package/src/utils/lru.ts +4 -0
  267. package/src/utils/mergeRefs.ts +1 -1
  268. package/src/utils/objects.ts +3 -3
  269. package/src/utils/pluralize.ts +1 -1
  270. package/src/utils/routes.ts +2 -2
  271. package/src/utils/sets.ts +1 -1
  272. package/src/utils/traceback.ts +45 -15
  273. package/src/utils/tracer.ts +11 -9
  274. package/dist/assets/_baseEach--KDTwKbG.js +0 -1
  275. package/dist/assets/_baseMap-Cu3o-eyO.js +0 -1
  276. package/dist/assets/_baseUniq-y7ZXnMo1.js +0 -1
  277. package/dist/assets/channel-DFaEx1fu.js +0 -1
  278. package/dist/assets/chat-panel-IoPMv8e2.js +0 -3
  279. package/dist/assets/classDiagram-KNZD7YFC-BsZtvV5O.js +0 -1
  280. package/dist/assets/classDiagram-v2-RKCZMP56-BsZtvV5O.js +0 -1
  281. package/dist/assets/clone-YBEvPE-s.js +0 -1
  282. package/dist/assets/command-palette-D7hOfvf6.js +0 -1
  283. package/dist/assets/edit-page-C5TsEeSo.js +0 -129
  284. package/dist/assets/index-CGDMlQfO.css +0 -1
  285. package/dist/assets/index-CelXfcd8.js +0 -580
  286. package/dist/assets/index-Cxyk7pt-.js +0 -68
  287. package/dist/assets/infoDiagram-STP46IZ2-wTALjfPc.js +0 -2
  288. package/dist/assets/links-Drv7cJgN.js +0 -7
  289. package/dist/assets/min-DYUOb1RR.js +0 -1
  290. package/dist/assets/scratchpad-panel-DlDfcDtW.js +0 -1
  291. package/dist/assets/secrets-panel-BDGyuGZA.js +0 -1
  292. package/dist/assets/stateDiagram-v2-UMBNRL4Z-CtBJqosP.js +0 -1
  293. package/src/__tests__/lru.test.ts +0 -74
@@ -735,16 +735,130 @@ describe("tablesCompletionSource", () => {
735
735
  expect(completionSource?.schema).toMatchInlineSnapshot(`
736
736
  {
737
737
  "public": {
738
- "orders": [
739
- "order_id",
740
- "user_id",
741
- "total",
742
- ],
743
- "users": [
744
- "id",
745
- "name",
746
- "email",
747
- ],
738
+ "children": {
739
+ "orders": {
740
+ "children": [
741
+ {
742
+ "info": [Function],
743
+ "label": "order_id",
744
+ "type": "column",
745
+ },
746
+ {
747
+ "info": [Function],
748
+ "label": "user_id",
749
+ "type": "column",
750
+ },
751
+ {
752
+ "info": [Function],
753
+ "label": "total",
754
+ "type": "column",
755
+ },
756
+ ],
757
+ "self": {
758
+ "info": [Function],
759
+ "label": "orders",
760
+ "type": "table",
761
+ },
762
+ },
763
+ "users": {
764
+ "children": [
765
+ {
766
+ "info": [Function],
767
+ "label": "id",
768
+ "type": "column",
769
+ },
770
+ {
771
+ "info": [Function],
772
+ "label": "name",
773
+ "type": "column",
774
+ },
775
+ {
776
+ "info": [Function],
777
+ "label": "email",
778
+ "type": "column",
779
+ },
780
+ ],
781
+ "self": {
782
+ "info": [Function],
783
+ "label": "users",
784
+ "type": "table",
785
+ },
786
+ },
787
+ },
788
+ "self": {
789
+ "detail": "public",
790
+ "info": [Function],
791
+ "label": "public",
792
+ "type": "schema",
793
+ },
794
+ },
795
+ "test_db": {
796
+ "children": {
797
+ "public": {
798
+ "children": {
799
+ "orders": {
800
+ "children": [
801
+ {
802
+ "info": [Function],
803
+ "label": "order_id",
804
+ "type": "column",
805
+ },
806
+ {
807
+ "info": [Function],
808
+ "label": "user_id",
809
+ "type": "column",
810
+ },
811
+ {
812
+ "info": [Function],
813
+ "label": "total",
814
+ "type": "column",
815
+ },
816
+ ],
817
+ "self": {
818
+ "info": [Function],
819
+ "label": "orders",
820
+ "type": "table",
821
+ },
822
+ },
823
+ "users": {
824
+ "children": [
825
+ {
826
+ "info": [Function],
827
+ "label": "id",
828
+ "type": "column",
829
+ },
830
+ {
831
+ "info": [Function],
832
+ "label": "name",
833
+ "type": "column",
834
+ },
835
+ {
836
+ "info": [Function],
837
+ "label": "email",
838
+ "type": "column",
839
+ },
840
+ ],
841
+ "self": {
842
+ "info": [Function],
843
+ "label": "users",
844
+ "type": "table",
845
+ },
846
+ },
847
+ },
848
+ "self": {
849
+ "detail": "test_db.public",
850
+ "info": [Function],
851
+ "label": "public",
852
+ "type": "schema",
853
+ },
854
+ },
855
+ },
856
+ "self": {
857
+ "detail": "test_db",
858
+ "info": [Function],
859
+ "label": "test_db",
860
+ "type": "database",
861
+ },
748
862
  },
749
863
  }
750
864
  `);
@@ -829,17 +943,71 @@ describe("tablesCompletionSource", () => {
829
943
  expect(completionSource?.schema).toMatchInlineSnapshot(`
830
944
  {
831
945
  "db1": {
832
- "schema1": {
833
- "table1": [
834
- "col1",
835
- ],
946
+ "children": {
947
+ "schema1": {
948
+ "children": {
949
+ "table1": {
950
+ "children": [
951
+ {
952
+ "info": [Function],
953
+ "label": "col1",
954
+ "type": "column",
955
+ },
956
+ ],
957
+ "self": {
958
+ "info": [Function],
959
+ "label": "table1",
960
+ "type": "table",
961
+ },
962
+ },
963
+ },
964
+ "self": {
965
+ "detail": "db1.schema1",
966
+ "info": [Function],
967
+ "label": "schema1",
968
+ "type": "schema",
969
+ },
970
+ },
971
+ },
972
+ "self": {
973
+ "detail": "db1",
974
+ "info": [Function],
975
+ "label": "db1",
976
+ "type": "database",
836
977
  },
837
978
  },
838
979
  "db2": {
839
- "schema2": {
840
- "table2": [
841
- "col2",
842
- ],
980
+ "children": {
981
+ "schema2": {
982
+ "children": {
983
+ "table2": {
984
+ "children": [
985
+ {
986
+ "info": [Function],
987
+ "label": "col2",
988
+ "type": "column",
989
+ },
990
+ ],
991
+ "self": {
992
+ "info": [Function],
993
+ "label": "table2",
994
+ "type": "table",
995
+ },
996
+ },
997
+ },
998
+ "self": {
999
+ "detail": "db2.schema2",
1000
+ "info": [Function],
1001
+ "label": "schema2",
1002
+ "type": "schema",
1003
+ },
1004
+ },
1005
+ },
1006
+ "self": {
1007
+ "detail": "db2",
1008
+ "info": [Function],
1009
+ "label": "db2",
1010
+ "type": "database",
843
1011
  },
844
1012
  },
845
1013
  }
@@ -975,29 +1143,179 @@ describe("tablesCompletionSource", () => {
975
1143
  );
976
1144
  expect(completionSource?.schema).toMatchInlineSnapshot(`
977
1145
  {
1146
+ "db1": {
1147
+ "children": {
1148
+ "schema1": {
1149
+ "children": {
1150
+ "table1": {
1151
+ "children": [
1152
+ {
1153
+ "info": [Function],
1154
+ "label": "col1",
1155
+ "type": "column",
1156
+ },
1157
+ ],
1158
+ "self": {
1159
+ "info": [Function],
1160
+ "label": "table1",
1161
+ "type": "table",
1162
+ },
1163
+ },
1164
+ },
1165
+ "self": {
1166
+ "detail": "db1.schema1",
1167
+ "info": [Function],
1168
+ "label": "schema1",
1169
+ "type": "schema",
1170
+ },
1171
+ },
1172
+ "schema2": {
1173
+ "children": {
1174
+ "table2": {
1175
+ "children": [
1176
+ {
1177
+ "info": [Function],
1178
+ "label": "col2",
1179
+ "type": "column",
1180
+ },
1181
+ ],
1182
+ "self": {
1183
+ "info": [Function],
1184
+ "label": "table2",
1185
+ "type": "table",
1186
+ },
1187
+ },
1188
+ },
1189
+ "self": {
1190
+ "detail": "db1.schema2",
1191
+ "info": [Function],
1192
+ "label": "schema2",
1193
+ "type": "schema",
1194
+ },
1195
+ },
1196
+ },
1197
+ "self": {
1198
+ "detail": "db1",
1199
+ "info": [Function],
1200
+ "label": "db1",
1201
+ "type": "database",
1202
+ },
1203
+ },
978
1204
  "db2": {
979
- "schema2": {
980
- "table2": [
981
- "col2",
982
- ],
1205
+ "children": {
1206
+ "schema2": {
1207
+ "children": {
1208
+ "table2": {
1209
+ "children": [
1210
+ {
1211
+ "info": [Function],
1212
+ "label": "col2",
1213
+ "type": "column",
1214
+ },
1215
+ ],
1216
+ "self": {
1217
+ "info": [Function],
1218
+ "label": "table2",
1219
+ "type": "table",
1220
+ },
1221
+ },
1222
+ },
1223
+ "self": {
1224
+ "detail": "db2.schema2",
1225
+ "info": [Function],
1226
+ "label": "schema2",
1227
+ "type": "schema",
1228
+ },
1229
+ },
1230
+ },
1231
+ "self": {
1232
+ "detail": "db2",
1233
+ "info": [Function],
1234
+ "label": "db2",
1235
+ "type": "database",
983
1236
  },
984
1237
  },
985
1238
  "db3": {
986
- "schema2": {
987
- "table2": [
988
- "col2",
989
- ],
1239
+ "children": {
1240
+ "schema2": {
1241
+ "children": {
1242
+ "table2": {
1243
+ "children": [
1244
+ {
1245
+ "info": [Function],
1246
+ "label": "col2",
1247
+ "type": "column",
1248
+ },
1249
+ ],
1250
+ "self": {
1251
+ "info": [Function],
1252
+ "label": "table2",
1253
+ "type": "table",
1254
+ },
1255
+ },
1256
+ },
1257
+ "self": {
1258
+ "detail": "db3.schema2",
1259
+ "info": [Function],
1260
+ "label": "schema2",
1261
+ "type": "schema",
1262
+ },
1263
+ },
1264
+ },
1265
+ "self": {
1266
+ "detail": "db3",
1267
+ "info": [Function],
1268
+ "label": "db3",
1269
+ "type": "database",
990
1270
  },
991
1271
  },
992
1272
  "schema1": {
993
- "table1": [
994
- "col1",
995
- ],
1273
+ "children": {
1274
+ "table1": {
1275
+ "children": [
1276
+ {
1277
+ "info": [Function],
1278
+ "label": "col1",
1279
+ "type": "column",
1280
+ },
1281
+ ],
1282
+ "self": {
1283
+ "info": [Function],
1284
+ "label": "table1",
1285
+ "type": "table",
1286
+ },
1287
+ },
1288
+ },
1289
+ "self": {
1290
+ "detail": "schema1",
1291
+ "info": [Function],
1292
+ "label": "schema1",
1293
+ "type": "schema",
1294
+ },
996
1295
  },
997
1296
  "schema2": {
998
- "table2": [
999
- "col2",
1000
- ],
1297
+ "children": {
1298
+ "table2": {
1299
+ "children": [
1300
+ {
1301
+ "info": [Function],
1302
+ "label": "col2",
1303
+ "type": "column",
1304
+ },
1305
+ ],
1306
+ "self": {
1307
+ "info": [Function],
1308
+ "label": "table2",
1309
+ "type": "table",
1310
+ },
1311
+ },
1312
+ },
1313
+ "self": {
1314
+ "detail": "schema2",
1315
+ "info": [Function],
1316
+ "label": "schema2",
1317
+ "type": "schema",
1318
+ },
1001
1319
  },
1002
1320
  }
1003
1321
  `);
@@ -1066,11 +1384,82 @@ describe("tablesCompletionSource", () => {
1066
1384
  expect(completionSource?.schema).toMatchInlineSnapshot(`
1067
1385
  {
1068
1386
  "public": {
1069
- "users": [
1070
- "id",
1071
- "name",
1072
- "email",
1073
- ],
1387
+ "children": {
1388
+ "users": {
1389
+ "children": [
1390
+ {
1391
+ "info": [Function],
1392
+ "label": "id",
1393
+ "type": "column",
1394
+ },
1395
+ {
1396
+ "info": [Function],
1397
+ "label": "name",
1398
+ "type": "column",
1399
+ },
1400
+ {
1401
+ "info": [Function],
1402
+ "label": "email",
1403
+ "type": "column",
1404
+ },
1405
+ ],
1406
+ "self": {
1407
+ "info": [Function],
1408
+ "label": "users",
1409
+ "type": "table",
1410
+ },
1411
+ },
1412
+ },
1413
+ "self": {
1414
+ "detail": "public",
1415
+ "info": [Function],
1416
+ "label": "public",
1417
+ "type": "schema",
1418
+ },
1419
+ },
1420
+ "test_db": {
1421
+ "children": {
1422
+ "public": {
1423
+ "children": {
1424
+ "users": {
1425
+ "children": [
1426
+ {
1427
+ "info": [Function],
1428
+ "label": "id",
1429
+ "type": "column",
1430
+ },
1431
+ {
1432
+ "info": [Function],
1433
+ "label": "name",
1434
+ "type": "column",
1435
+ },
1436
+ {
1437
+ "info": [Function],
1438
+ "label": "email",
1439
+ "type": "column",
1440
+ },
1441
+ ],
1442
+ "self": {
1443
+ "info": [Function],
1444
+ "label": "users",
1445
+ "type": "table",
1446
+ },
1447
+ },
1448
+ },
1449
+ "self": {
1450
+ "detail": "test_db.public",
1451
+ "info": [Function],
1452
+ "label": "public",
1453
+ "type": "schema",
1454
+ },
1455
+ },
1456
+ },
1457
+ "self": {
1458
+ "detail": "test_db",
1459
+ "info": [Function],
1460
+ "label": "test_db",
1461
+ "type": "database",
1462
+ },
1074
1463
  },
1075
1464
  }
1076
1465
  `);
@@ -1196,16 +1585,55 @@ describe("tablesCompletionSource", () => {
1196
1585
  expect(completionSource?.dialect).toBe(PostgreSQL);
1197
1586
  expect(completionSource?.schema).toMatchInlineSnapshot(`
1198
1587
  {
1588
+ "test_db": {
1589
+ "children": {},
1590
+ "self": {
1591
+ "detail": "test_db",
1592
+ "info": [Function],
1593
+ "label": "test_db",
1594
+ "type": "database",
1595
+ },
1596
+ },
1199
1597
  "test_db2": {
1200
- "orders": [
1201
- "order_id",
1598
+ "children": {
1599
+ "orders": {
1600
+ "children": [
1601
+ {
1602
+ "info": [Function],
1603
+ "label": "order_id",
1604
+ "type": "column",
1605
+ },
1606
+ ],
1607
+ "self": {
1608
+ "info": [Function],
1609
+ "label": "orders",
1610
+ "type": "table",
1611
+ },
1612
+ },
1613
+ },
1614
+ "self": {
1615
+ "detail": "test_db2",
1616
+ "info": [Function],
1617
+ "label": "test_db2",
1618
+ "type": "database",
1619
+ },
1620
+ },
1621
+ "users": {
1622
+ "children": [
1623
+ {
1624
+ "info": [Function],
1625
+ "label": "id",
1626
+ "type": "column",
1627
+ },
1202
1628
  ],
1629
+ "self": {
1630
+ "info": [Function],
1631
+ "label": "users",
1632
+ "type": "table",
1633
+ },
1203
1634
  },
1204
- "users": [
1205
- "id",
1206
- ],
1207
1635
  }
1208
- `);
1636
+ `);
1209
1637
  });
1210
1638
 
1211
1639
  it("should return local tables", () => {
@@ -1534,14 +1962,82 @@ describe("tablesCompletionSource", () => {
1534
1962
  const completionSource = completionStore.getCompletionSource(TEST_ENGINE);
1535
1963
  expect(completionSource?.schema).toMatchInlineSnapshot(`
1536
1964
  {
1537
- "dataset1": [
1538
- "col1",
1539
- "col2",
1540
- ],
1541
- "test_schema": {
1542
- "dataset2": [
1543
- "col1",
1965
+ "dataset1": {
1966
+ "children": [
1967
+ {
1968
+ "info": [Function],
1969
+ "label": "col1",
1970
+ "type": "column",
1971
+ },
1972
+ {
1973
+ "info": [Function],
1974
+ "label": "col2",
1975
+ "type": "column",
1976
+ },
1544
1977
  ],
1978
+ "self": {
1979
+ "info": [Function],
1980
+ "label": "dataset1",
1981
+ "type": "table",
1982
+ },
1983
+ },
1984
+ "test_db": {
1985
+ "children": {
1986
+ "test_schema": {
1987
+ "children": {
1988
+ "dataset2": {
1989
+ "children": [
1990
+ {
1991
+ "info": [Function],
1992
+ "label": "col1",
1993
+ "type": "column",
1994
+ },
1995
+ ],
1996
+ "self": {
1997
+ "info": [Function],
1998
+ "label": "dataset2",
1999
+ "type": "table",
2000
+ },
2001
+ },
2002
+ },
2003
+ "self": {
2004
+ "detail": "test_db.test_schema",
2005
+ "info": [Function],
2006
+ "label": "test_schema",
2007
+ "type": "schema",
2008
+ },
2009
+ },
2010
+ },
2011
+ "self": {
2012
+ "detail": "test_db",
2013
+ "info": [Function],
2014
+ "label": "test_db",
2015
+ "type": "database",
2016
+ },
2017
+ },
2018
+ "test_schema": {
2019
+ "children": {
2020
+ "dataset2": {
2021
+ "children": [
2022
+ {
2023
+ "info": [Function],
2024
+ "label": "col1",
2025
+ "type": "column",
2026
+ },
2027
+ ],
2028
+ "self": {
2029
+ "info": [Function],
2030
+ "label": "dataset2",
2031
+ "type": "table",
2032
+ },
2033
+ },
2034
+ },
2035
+ "self": {
2036
+ "detail": "test_schema",
2037
+ "info": [Function],
2038
+ "label": "test_schema",
2039
+ "type": "schema",
2040
+ },
1545
2041
  },
1546
2042
  }
1547
2043
  `);
@@ -1555,13 +2051,66 @@ describe("tablesCompletionSource", () => {
1555
2051
 
1556
2052
  const completionSource = completionStore.getCompletionSource(TEST_ENGINE);
1557
2053
  expect(completionSource?.schema).toMatchInlineSnapshot(`
1558
- {
1559
- "test_schema": {
1560
- "dataset2": [
1561
- "col1",
1562
- ],
1563
- },
1564
- }
2054
+ {
2055
+ "test_db": {
2056
+ "children": {
2057
+ "test_schema": {
2058
+ "children": {
2059
+ "dataset2": {
2060
+ "children": [
2061
+ {
2062
+ "info": [Function],
2063
+ "label": "col1",
2064
+ "type": "column",
2065
+ },
2066
+ ],
2067
+ "self": {
2068
+ "info": [Function],
2069
+ "label": "dataset2",
2070
+ "type": "table",
2071
+ },
2072
+ },
2073
+ },
2074
+ "self": {
2075
+ "detail": "test_db.test_schema",
2076
+ "info": [Function],
2077
+ "label": "test_schema",
2078
+ "type": "schema",
2079
+ },
2080
+ },
2081
+ },
2082
+ "self": {
2083
+ "detail": "test_db",
2084
+ "info": [Function],
2085
+ "label": "test_db",
2086
+ "type": "database",
2087
+ },
2088
+ },
2089
+ "test_schema": {
2090
+ "children": {
2091
+ "dataset2": {
2092
+ "children": [
2093
+ {
2094
+ "info": [Function],
2095
+ "label": "col1",
2096
+ "type": "column",
2097
+ },
2098
+ ],
2099
+ "self": {
2100
+ "info": [Function],
2101
+ "label": "dataset2",
2102
+ "type": "table",
2103
+ },
2104
+ },
2105
+ },
2106
+ "self": {
2107
+ "detail": "test_schema",
2108
+ "info": [Function],
2109
+ "label": "test_schema",
2110
+ "type": "schema",
2111
+ },
2112
+ },
2113
+ }
1565
2114
  `);
1566
2115
 
1567
2116
  const newConnection: DataSourceConnection = {
@@ -1593,17 +2142,85 @@ describe("tablesCompletionSource", () => {
1593
2142
  mockStore.set(datasetsAtom, { tables: testDatasets } as DatasetsState);
1594
2143
  const completionSource = completionStore.getCompletionSource(TEST_ENGINE);
1595
2144
  expect(completionSource?.schema).toMatchInlineSnapshot(`
1596
- {
1597
- "dataset1": [
1598
- "col1",
1599
- "col2",
1600
- ],
1601
- "test_schema": {
1602
- "dataset2": [
1603
- "col1",
1604
- ],
1605
- },
1606
- }
2145
+ {
2146
+ "dataset1": {
2147
+ "children": [
2148
+ {
2149
+ "info": [Function],
2150
+ "label": "col1",
2151
+ "type": "column",
2152
+ },
2153
+ {
2154
+ "info": [Function],
2155
+ "label": "col2",
2156
+ "type": "column",
2157
+ },
2158
+ ],
2159
+ "self": {
2160
+ "info": [Function],
2161
+ "label": "dataset1",
2162
+ "type": "table",
2163
+ },
2164
+ },
2165
+ "test_db": {
2166
+ "children": {
2167
+ "test_schema": {
2168
+ "children": {
2169
+ "dataset2": {
2170
+ "children": [
2171
+ {
2172
+ "info": [Function],
2173
+ "label": "col1",
2174
+ "type": "column",
2175
+ },
2176
+ ],
2177
+ "self": {
2178
+ "info": [Function],
2179
+ "label": "dataset2",
2180
+ "type": "table",
2181
+ },
2182
+ },
2183
+ },
2184
+ "self": {
2185
+ "detail": "test_db.test_schema",
2186
+ "info": [Function],
2187
+ "label": "test_schema",
2188
+ "type": "schema",
2189
+ },
2190
+ },
2191
+ },
2192
+ "self": {
2193
+ "detail": "test_db",
2194
+ "info": [Function],
2195
+ "label": "test_db",
2196
+ "type": "database",
2197
+ },
2198
+ },
2199
+ "test_schema": {
2200
+ "children": {
2201
+ "dataset2": {
2202
+ "children": [
2203
+ {
2204
+ "info": [Function],
2205
+ "label": "col1",
2206
+ "type": "column",
2207
+ },
2208
+ ],
2209
+ "self": {
2210
+ "info": [Function],
2211
+ "label": "dataset2",
2212
+ "type": "table",
2213
+ },
2214
+ },
2215
+ },
2216
+ "self": {
2217
+ "detail": "test_schema",
2218
+ "info": [Function],
2219
+ "label": "test_schema",
2220
+ "type": "schema",
2221
+ },
2222
+ },
2223
+ }
1607
2224
  `);
1608
2225
 
1609
2226
  const newTestDatasets = [
@@ -1620,17 +2237,85 @@ describe("tablesCompletionSource", () => {
1620
2237
  const newCompletionSource =
1621
2238
  completionStore.getCompletionSource(TEST_ENGINE);
1622
2239
  expect(newCompletionSource?.schema).toMatchInlineSnapshot(`
1623
- {
1624
- "dataset3": [
1625
- "col1",
1626
- "col2",
1627
- ],
1628
- "test_schema": {
1629
- "dataset2": [
1630
- "col1",
1631
- ],
1632
- },
1633
- }
2240
+ {
2241
+ "dataset3": {
2242
+ "children": [
2243
+ {
2244
+ "info": [Function],
2245
+ "label": "col1",
2246
+ "type": "column",
2247
+ },
2248
+ {
2249
+ "info": [Function],
2250
+ "label": "col2",
2251
+ "type": "column",
2252
+ },
2253
+ ],
2254
+ "self": {
2255
+ "info": [Function],
2256
+ "label": "dataset3",
2257
+ "type": "table",
2258
+ },
2259
+ },
2260
+ "test_db": {
2261
+ "children": {
2262
+ "test_schema": {
2263
+ "children": {
2264
+ "dataset2": {
2265
+ "children": [
2266
+ {
2267
+ "info": [Function],
2268
+ "label": "col1",
2269
+ "type": "column",
2270
+ },
2271
+ ],
2272
+ "self": {
2273
+ "info": [Function],
2274
+ "label": "dataset2",
2275
+ "type": "table",
2276
+ },
2277
+ },
2278
+ },
2279
+ "self": {
2280
+ "detail": "test_db.test_schema",
2281
+ "info": [Function],
2282
+ "label": "test_schema",
2283
+ "type": "schema",
2284
+ },
2285
+ },
2286
+ },
2287
+ "self": {
2288
+ "detail": "test_db",
2289
+ "info": [Function],
2290
+ "label": "test_db",
2291
+ "type": "database",
2292
+ },
2293
+ },
2294
+ "test_schema": {
2295
+ "children": {
2296
+ "dataset2": {
2297
+ "children": [
2298
+ {
2299
+ "info": [Function],
2300
+ "label": "col1",
2301
+ "type": "column",
2302
+ },
2303
+ ],
2304
+ "self": {
2305
+ "info": [Function],
2306
+ "label": "dataset2",
2307
+ "type": "table",
2308
+ },
2309
+ },
2310
+ },
2311
+ "self": {
2312
+ "detail": "test_schema",
2313
+ "info": [Function],
2314
+ "label": "test_schema",
2315
+ "type": "schema",
2316
+ },
2317
+ },
2318
+ }
1634
2319
  `);
1635
2320
  });
1636
2321
  });