@metabase/cli 0.5.2 → 0.5.4

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 (345) hide show
  1. package/README.md +1 -1
  2. package/dist/{add-collection-C0BQHjJd.mjs → add-collection-D2x34KVO.mjs} +3 -3
  3. package/dist/{alert-mXHOt00T.mjs → alert-B-w0c61D.mjs} +7 -7
  4. package/dist/{alerts-CyB1Z7AU.mjs → alerts-nnrpqD-U.mjs} +6 -6
  5. package/dist/api-key-9jVV67hF.mjs +38 -0
  6. package/dist/api-key-CTyXuYui.mjs +13 -0
  7. package/dist/api-key-DbsqHlN6.mjs +31 -0
  8. package/dist/{append-DeHhUAeY.mjs → append-BPrVW4RB.mjs} +4 -4
  9. package/dist/{archive-DRMXvkiI.mjs → archive-BYo35OGC.mjs} +5 -5
  10. package/dist/{archive-Bi-Sfq5T.mjs → archive-BZVRJYTT.mjs} +5 -5
  11. package/dist/{archive-CCKxZEuq.mjs → archive-Bw_cvk_4.mjs} +3 -3
  12. package/dist/{archive-qy0CFo1s2.mjs → archive-CJFUFozc.mjs} +5 -5
  13. package/dist/{archive-CfNLlebd.mjs → archive-CTZs6Hl6.mjs} +5 -5
  14. package/dist/{archive-CDSAXKKB.mjs → archive-Ccf6Qqrf.mjs} +3 -3
  15. package/dist/{archive-DfDqPgtk.mjs → archive-Cwetg5kK.mjs} +5 -5
  16. package/dist/{archive-CjVd1fJ5.mjs → archive-DBQnauVo.mjs} +5 -5
  17. package/dist/{archive-CpvpGZlz.mjs → archive-F5hoWW7f.mjs} +5 -5
  18. package/dist/{archive-DpgtAdEa.mjs → archive-OZQaaQkK.mjs} +5 -5
  19. package/dist/{archive-B1MA5MZp.mjs → archive-p7gGwh0n.mjs} +5 -5
  20. package/dist/{archive-HCVTRXI2.mjs → archive-tmrsG41w.mjs} +3 -3
  21. package/dist/{auth-_cdypXeX.mjs → auth-eogOlU4X.mjs} +5 -5
  22. package/dist/{branch-flag-CPTQ4wXp.mjs → branch-flag-BvIdNB5z.mjs} +1 -1
  23. package/dist/{branches-C7mNYAky.mjs → branches-CERgKqFq.mjs} +3 -3
  24. package/dist/{breaking-BindR3ZW.mjs → breaking-B8f_vl0i.mjs} +6 -6
  25. package/dist/{broken-SoXfkx7d.mjs → broken-mrkOdV4j.mjs} +8 -8
  26. package/dist/{bulk-discard-values-D_d5_1w5.mjs → bulk-discard-values-BQ3z6nJb.mjs} +5 -5
  27. package/dist/{bulk-edit-Cce05vb_.mjs → bulk-edit-CJxoxDGQ.mjs} +7 -7
  28. package/dist/{bulk-rescan-values-DIQN4VT_.mjs → bulk-rescan-values-DflzyxEj.mjs} +5 -5
  29. package/dist/{bulk-sync-schema-DLWf5dCl.mjs → bulk-sync-schema-CBIs4yHs.mjs} +5 -5
  30. package/dist/{cancel-rnd6UI-6.mjs → cancel-CyTRWSOr.mjs} +3 -3
  31. package/dist/{cancel-task-acq1GT6Z.mjs → cancel-task-BuZsQuLp.mjs} +2 -2
  32. package/dist/{card-QR3zEu6E.mjs → card-BJRZ5D5Q.mjs} +2 -2
  33. package/dist/card-DA1W3Axw.mjs +25 -0
  34. package/dist/{card-3NmUiU5F.mjs → card-VipF12MJ.mjs} +1 -1
  35. package/dist/{cards-DmzPtx81.mjs → cards-BEeFNiCt.mjs} +6 -6
  36. package/dist/cli.mjs +142 -292
  37. package/dist/{client-D-Aw6JLk.mjs → client-DvWllzKd.mjs} +401 -189
  38. package/dist/{collection-D5vt2IJ_.mjs → collection-Bf3lv-zo.mjs} +1 -1
  39. package/dist/collection-C98jgufi.mjs +21 -0
  40. package/dist/{collection-DNmFKALA.mjs → collection-Cz2qLX2m.mjs} +1 -1
  41. package/dist/{collection-namespace-Dl8_7xII.mjs → collection-namespace-C0JcSEwN.mjs} +2 -1
  42. package/dist/{content-translation-DxT1OMnP.mjs → content-translation-1coWME1P.mjs} +3 -3
  43. package/dist/{copy-BTdTiDQo.mjs → copy-DVe4rcLK.mjs} +6 -6
  44. package/dist/{copy-flags-CTM91pxH.mjs → copy-flags-DZ5Cy-Gk.mjs} +2 -2
  45. package/dist/{copy-CyFf3e2Y.mjs → copy-hE6SaHfb.mjs} +6 -6
  46. package/dist/{create-CuJJd7Rh.mjs → create-B3P62NaN.mjs} +4 -5
  47. package/dist/{create-BH6zpwKD.mjs → create-B3kz_fHg.mjs} +4 -5
  48. package/dist/{create-Dn8V5siS.mjs → create-BPRuU7Mv.mjs} +7 -8
  49. package/dist/{create-DeCPAYJi.mjs → create-BjH0i2BC.mjs} +9 -10
  50. package/dist/{create-Ch-NbeMr.mjs → create-Btwnm6D2.mjs} +9 -10
  51. package/dist/{create-Ce5YVusp.mjs → create-CCb2_Kcc.mjs} +6 -7
  52. package/dist/{create-DeiBnRRz.mjs → create-D271V9Cf.mjs} +9 -9
  53. package/dist/create-D6Xm2b2D.mjs +37 -0
  54. package/dist/{create-roJbQOmm.mjs → create-DCoo3sI2.mjs} +4 -4
  55. package/dist/{create-B6dABrs7.mjs → create-DEIIUohY2.mjs} +10 -11
  56. package/dist/{create-qtTB8rIE.mjs → create-DJg0Ohj5.mjs} +9 -10
  57. package/dist/{create-C3rabvE_.mjs → create-DR5tpMUA.mjs} +4 -5
  58. package/dist/{create-BwIOlpLc.mjs → create-DR8g_rEL.mjs} +6 -7
  59. package/dist/{create-GU8_GNbN.mjs → create-DXivfl69.mjs} +4 -5
  60. package/dist/create-DdfFgF-w.mjs +33 -0
  61. package/dist/{create-DsCydgm22.mjs → create-DkFCjBp3.mjs} +6 -7
  62. package/dist/{create-B3QZpifA.mjs → create-Dz4c8E33.mjs} +9 -10
  63. package/dist/{create-Bg3WTMMU.mjs → create-LpdQKxUt.mjs} +7 -7
  64. package/dist/{create-D6NLpIzV.mjs → create-XCzUuT42.mjs} +4 -5
  65. package/dist/{create-DiG165B2.mjs → create-XVjr8IDS.mjs} +6 -7
  66. package/dist/{create-branch-C4Ql9G2g.mjs → create-branch-D_nbKxDS.mjs} +3 -2
  67. package/dist/{csv-DmuyyLdz.mjs → csv-LP7sE-CS.mjs} +4 -4
  68. package/dist/{current-task-C2PPBVVv.mjs → current-task-DhgwtGN3.mjs} +3 -3
  69. package/dist/{dashboard-D5E3fMKh.mjs → dashboard-Bx2sYijR.mjs} +1 -1
  70. package/dist/dashboard-CR97_zXn.mjs +35 -0
  71. package/dist/{dashboard-Chjy5GKR.mjs → dashboard-Cwsf-e9T.mjs} +23 -6
  72. package/dist/data-action-C4jE-RLb.mjs +24 -0
  73. package/dist/{data-action-DZxVB_hD.mjs → data-action-CuvI17XF.mjs} +8 -2
  74. package/dist/{data-action-R9qxJDPA.mjs → data-action-DLj9cgpu.mjs} +1 -1
  75. package/dist/data-app-BUW-HlUo.mjs +52 -0
  76. package/dist/data-app-BlBvvRzC.mjs +41 -0
  77. package/dist/data-app-Blz61mG5.mjs +29 -0
  78. package/dist/data-app-project-DjDDWgUF.mjs +58 -0
  79. package/dist/{database-CxykzTAA.mjs → database-C5ucihp3.mjs} +2 -2
  80. package/dist/{database-D8XzgJEz.mjs → database-u_spHEa0.mjs} +1 -1
  81. package/dist/{dataset-DIQLAp2P.mjs → dataset-LJxNN6p5.mjs} +3 -3
  82. package/dist/{db-BgKKN1-4.mjs → db-D8mPRqZc.mjs} +8 -8
  83. package/dist/{delete-DiZg2wit.mjs → delete-8k7oYDFr.mjs} +4 -4
  84. package/dist/{delete-_XC6R-Jn.mjs → delete-B1SbEVIc.mjs} +4 -4
  85. package/dist/{delete-CS6hsBnd.mjs → delete-CaaPrNOf.mjs} +4 -4
  86. package/dist/{delete-5ZOvFr-7.mjs → delete-CqyBkMCd.mjs} +4 -4
  87. package/dist/{delete-DeqGTuwO.mjs → delete-CuyGTe0i.mjs} +4 -4
  88. package/dist/delete-DC-DEYSq.mjs +44 -0
  89. package/dist/{delete-B3aylPHD.mjs → delete-DWTqIlbr.mjs} +4 -4
  90. package/dist/delete-DaqzPLcG.mjs +40 -0
  91. package/dist/{delete-DtIbkF42.mjs → delete-DuaJ8PUI.mjs} +4 -4
  92. package/dist/{delete-CH32Ew4m.mjs → delete-ZjLpkwgx.mjs} +4 -4
  93. package/dist/delete-runtime-DOOy3gzH.mjs +73 -0
  94. package/dist/{delete-table-BEuMlqw1.mjs → delete-table-CnGv1gx9.mjs} +4 -4
  95. package/dist/{dependencies-DD48u9i3.mjs → dependencies-D6SNdLW8.mjs} +6 -6
  96. package/dist/dependency-Bbg9x1V9.mjs +15 -0
  97. package/dist/{dependency-CaC6XuTY.mjs → dependency-C1DExO6k.mjs} +8 -5
  98. package/dist/{dependency-Dxvb2Znu.mjs → dependency-DcM96XJ-.mjs} +4 -3
  99. package/dist/{dependents-ByfHs8pO.mjs → dependents-BizQb14Q.mjs} +9 -9
  100. package/dist/{dirty-DsrGfLit.mjs → dirty-BHwdHOEj.mjs} +3 -3
  101. package/dist/{discard-values-BfpwwC62.mjs → discard-values-BWlh2ce8.mjs} +5 -5
  102. package/dist/document-B6254tue.mjs +20 -0
  103. package/dist/{document-UMG6me2P.mjs → document-BHOQq2T_.mjs} +2 -2
  104. package/dist/{document-DVIu3Vj4.mjs → document-lS1XZEF3.mjs} +1 -1
  105. package/dist/{download-kpgGtfpw.mjs → download-D2wEAgi_.mjs} +2 -2
  106. package/dist/{eid-Tp-ACZ4O.mjs → eid-KtWIPUCC.mjs} +5 -5
  107. package/dist/{entity-DjDkaMkB.mjs → entity-DICgy4Bl.mjs} +2 -2
  108. package/dist/{entry-flags-nhBrUS6p.mjs → entry-flags-DLS6r8Vf.mjs} +5 -6
  109. package/dist/{events-Dm9-ofXu.mjs → events-B8yMqrrD.mjs} +4 -4
  110. package/dist/{execute-BL0dAlrp.mjs → execute-Bebvab7D.mjs} +7 -8
  111. package/dist/{export-CIW-dHft.mjs → export-BNj3RvAl.mjs} +6 -5
  112. package/dist/{export-flags-CpukgETM.mjs → export-flags-iXfEILf7.mjs} +3 -2
  113. package/dist/{export-preflight-BMlz3Hp9.mjs → export-preflight-F3OapAD5.mjs} +3 -3
  114. package/dist/{field-DoWQUl7V.mjs → field-C2qOViFZ.mjs} +8 -2
  115. package/dist/{field-BVz4AS3f.mjs → field-CT4r6b92.mjs} +1 -1
  116. package/dist/field-DQAcCjXr.mjs +21 -0
  117. package/dist/{fields-CcerFaiu.mjs → fields-BkAS_wIA.mjs} +6 -6
  118. package/dist/{filter-flags-DhE4olyf.mjs → filter-flags-ezqqsOQL.mjs} +4 -4
  119. package/dist/{fks-CYfBesHV.mjs → fks--SaqvPw1.mjs} +6 -6
  120. package/dist/{get-DKbGKa6F.mjs → get-B1S1kW2N.mjs} +5 -5
  121. package/dist/{get-Be7yjY9v.mjs → get-B1uiZyyi.mjs} +5 -5
  122. package/dist/{get-BaiyMem3.mjs → get-B2nBYYCw.mjs} +4 -4
  123. package/dist/{get-CmxYFUuR.mjs → get-BSKpQJVB.mjs} +5 -5
  124. package/dist/{get-BFloqjrN.mjs → get-BjgB5l7X.mjs} +5 -5
  125. package/dist/{get-RCDF-hEq.mjs → get-Boql3_0n.mjs} +5 -5
  126. package/dist/{get-CEJE9Rmp.mjs → get-BseHija1.mjs} +5 -5
  127. package/dist/{get-eNRULmE5.mjs → get-C9VumVZ3.mjs} +6 -5
  128. package/dist/{get--E7UvR-v.mjs → get-CGPxAoow.mjs} +3 -3
  129. package/dist/{get-HzDQViDP2.mjs → get-CM9IOr82.mjs} +3 -3
  130. package/dist/{get-CRfrkxqc.mjs → get-CTTKQDr7.mjs} +5 -5
  131. package/dist/{get-DHSuVxrH.mjs → get-CU1zKfBS.mjs} +5 -5
  132. package/dist/{get-Dp45rXRS.mjs → get-CWDz6eV2.mjs} +3 -3
  133. package/dist/{get-p2sZvp7v.mjs → get-C_hatP_z.mjs} +3 -3
  134. package/dist/get-Cdcj1c9U.mjs +28 -0
  135. package/dist/{get-BLnQ2aut.mjs → get-CiLYhFjU.mjs} +5 -5
  136. package/dist/{get-LRTRu85E.mjs → get-De6qpuzO.mjs} +5 -5
  137. package/dist/{get-CZgAr8rM.mjs → get-VpGfaL7c.mjs} +5 -5
  138. package/dist/{get-BvEHWLGL.mjs → get-f2km9wsq.mjs} +3 -3
  139. package/dist/{get-Cj3-w_Nu.mjs → get-gGSl7Se4.mjs} +5 -5
  140. package/dist/{get-B0RQPTV-2.mjs → get-iOs1ci6x.mjs} +5 -5
  141. package/dist/{get-run-C3AHKn3-.mjs → get-run-CHup8cMl.mjs} +5 -5
  142. package/dist/{get-DRhcS76J.mjs → get-uHs9Ve-4.mjs} +5 -5
  143. package/dist/git-sync-Czena0TW.mjs +29 -0
  144. package/dist/glossary-BVxRpD7o.mjs +14 -0
  145. package/dist/{glossary-BkGmCI4X.mjs → glossary-CQRW3Z4d.mjs} +1 -1
  146. package/dist/{glossary-QN-hHfOT.mjs → glossary-iPIWrEbP.mjs} +1 -1
  147. package/dist/{graph-BGOYocJc.mjs → graph-B7SlzpkC.mjs} +6 -6
  148. package/dist/{group-81zoQcEP.mjs → group--6adAsqG.mjs} +2 -2
  149. package/dist/{has-remote-changes-DxsRvZsw.mjs → has-remote-changes-DZq7q2Wk.mjs} +2 -2
  150. package/dist/{import-izn2_OsW.mjs → import-DKZF0kMU.mjs} +6 -5
  151. package/dist/input-gate-registry-Dh8QjKgW.mjs +14 -0
  152. package/dist/{is-dirty-DHYYRl6Y.mjs → is-dirty-haRLODo1.mjs} +2 -2
  153. package/dist/{items-mIoZBqUc.mjs → items-BGWE5hLl.mjs} +7 -6
  154. package/dist/{key-BYEv4Wgq.mjs → key-DLrpCgdZ.mjs} +1 -1
  155. package/dist/{library-wUiD2jbw.mjs → library-BprxuqZl.mjs} +1 -1
  156. package/dist/{library-DKIqzyUk.mjs → library-C4g9pdiS.mjs} +8 -3
  157. package/dist/{library-5I0TlXmf.mjs → library-e3aiJ1Yb.mjs} +5 -5
  158. package/dist/{list-BKhJfFyB.mjs → list-B9yhUzCc.mjs} +5 -5
  159. package/dist/{list-CpxEOoqw.mjs → list-BNel4hYs.mjs} +6 -6
  160. package/dist/{list-D8jiz8YP.mjs → list-Bbc8VYDi.mjs} +3 -3
  161. package/dist/{list-CT7AOXTS.mjs → list-BiIZdUoN.mjs} +5 -5
  162. package/dist/list-C-AnwSRP.mjs +33 -0
  163. package/dist/list-CNiCM1NL.mjs +29 -0
  164. package/dist/{list-DV4wojtv.mjs → list-COPGHkWL.mjs} +5 -5
  165. package/dist/{list-CTlIVHeG.mjs → list-CsXdnNyp.mjs} +5 -5
  166. package/dist/{list-DVnPzc5m.mjs → list-D0ASRA_6.mjs} +6 -6
  167. package/dist/{list-B6TYzXyW.mjs → list-DAa4EWlv.mjs} +5 -5
  168. package/dist/{list-CmOTwt_z.mjs → list-DDt1iLXj.mjs} +4 -4
  169. package/dist/{list-C6roDyBd.mjs → list-DFuydMdV.mjs} +6 -6
  170. package/dist/{list-C1dEh2yq.mjs → list-DFxfpa4W.mjs} +6 -6
  171. package/dist/{list-OWPg67JC.mjs → list-DJyIkrY1.mjs} +5 -5
  172. package/dist/{list-CuEPFHrk.mjs → list-DUCxqhtn.mjs} +5 -5
  173. package/dist/{list-B8FPpgct.mjs → list-D_8GeDG-.mjs} +3 -3
  174. package/dist/{list-NeImhwLD.mjs → list-DcXqKZyg.mjs} +5 -5
  175. package/dist/{list-C3CXHKTW.mjs → list-DednUvr3.mjs} +3 -3
  176. package/dist/{list-O_nmgwSj.mjs → list-Dvf1iB8r.mjs} +3 -3
  177. package/dist/{list-jT5ndEGr.mjs → list-HI7Mpoy-.mjs} +5 -5
  178. package/dist/{list-BEBAq1xc.mjs → list-OUSeeuXb.mjs} +5 -5
  179. package/dist/{list-BxIulkp3.mjs → list-P7FnSsbZ.mjs} +6 -6
  180. package/dist/{list-C-f-G-cC.mjs → list-gcDxZ7Th.mjs} +5 -5
  181. package/dist/{login-DOW1mr40.mjs → login-APHXId1p.mjs} +6 -5
  182. package/dist/{logout-BQ8wywf7.mjs → logout-V0pxj6AM.mjs} +3 -2
  183. package/dist/{measure-CtfjqJFP.mjs → measure-BMWrX1ca.mjs} +3 -1
  184. package/dist/{measure-Bz-bGn-Z.mjs → measure-DnGWkKyx.mjs} +6 -6
  185. package/dist/{measure-4P0bOlZ3.mjs → measure-DqZG65of.mjs} +1 -1
  186. package/dist/{notification-DaA4bBHW.mjs → notification-B5yMuPmo.mjs} +6 -1
  187. package/dist/{notification-W2SVssyY.mjs → notification-BEJaEZS2.mjs} +2 -2
  188. package/dist/{parameter-DvRQMKd2.mjs → parameter-Bucz3cLJ.mjs} +1 -1
  189. package/dist/{parameter-values-B7rr6fcy.mjs → parameter-values-DfZSEK3O.mjs} +6 -5
  190. package/dist/{parse-enum-DAcTzG1q.mjs → parse-enum-CEXPuN9H.mjs} +1 -1
  191. package/dist/{parse-id-5BZGQ9Vd.mjs → parse-id-EXZan40V.mjs} +1 -1
  192. package/dist/{parse-ref-ByXc-pls.mjs → parse-ref-D28NvwpR.mjs} +1 -1
  193. package/dist/{parse-text-FgX60vIg.mjs → parse-text-C4LYzIFa.mjs} +1 -1
  194. package/dist/{path-CHQguAPa.mjs → path-Bni-pnKS.mjs} +4 -4
  195. package/dist/{poll-CgtcJopL.mjs → poll-vxN__4cz.mjs} +2 -2
  196. package/dist/predicates-0C0TsWcJ.mjs +219 -0
  197. package/dist/{preflight-ChTKhB8Y.mjs → preflight-4iy2qzsh.mjs} +3 -2
  198. package/dist/{process-aqXm5QgC.mjs → process-BQC3mK2k.mjs} +1 -1
  199. package/dist/{publish-CaoFOucS.mjs → publish-DkYn86ak.mjs} +5 -4
  200. package/dist/{pulse-CC81N2_0.mjs → pulse-B2AmIWsO.mjs} +11 -4
  201. package/dist/{pulse-JPrq6NFP.mjs → pulse-CPSpum5U.mjs} +2 -2
  202. package/dist/{query-0u1WR1bV.mjs → query-CZbI4Rlv.mjs} +17 -29
  203. package/dist/{query-CzDBwAZD.mjs → query-gHeYfWj_.mjs} +7 -6
  204. package/dist/{remapping-CodmT28F.mjs → remapping-hcWkFQsx.mjs} +5 -5
  205. package/dist/{remove-collection-DfUsf6Dd.mjs → remove-collection-Qne5ww6M.mjs} +3 -3
  206. package/dist/{render-DP6UoZNT.mjs → render-d1-sCPn_.mjs} +3 -2
  207. package/dist/{replace-qWiUOgmn.mjs → replace-DoU0IFGd.mjs} +4 -4
  208. package/dist/{requirement-check-sfmyH2PH.mjs → requirement-check-BoVSK1uK.mjs} +2 -2
  209. package/dist/{rescan-values-BuDmeda3.mjs → rescan-values-COzM86P5.mjs} +5 -5
  210. package/dist/{rescan-values-BcrhdSj_.mjs → rescan-values-s82n_You.mjs} +5 -5
  211. package/dist/{run-BG_5lR0x.mjs → run-Bwj4Uuxk.mjs} +4 -4
  212. package/dist/{run-BBRnFayr.mjs → run-JYNbEO_V.mjs} +6 -5
  213. package/dist/{run-DXXD-CnS.mjs → run-Q7fHux1F.mjs} +5 -4
  214. package/dist/{runs-CovgMSwy.mjs → runs-GQD6FO2k.mjs} +6 -6
  215. package/dist/{runtime-Cmes70jO.mjs → runtime-iIsqiOwO.mjs} +51 -9
  216. package/dist/scaffold-CJo9l-2p.mjs +50 -0
  217. package/dist/schema-2JhmK8FM.mjs +283 -0
  218. package/dist/{schema-tables-CjKl8jr5.mjs → schema-tables-CarGLayY.mjs} +6 -6
  219. package/dist/{schemas-CAGvBAD_.mjs → schemas-oSjtuQ4G.mjs} +4 -4
  220. package/dist/{search-DFU6FHRd.mjs → search-Ca0sIr28.mjs} +7 -6
  221. package/dist/{search-OpYS2Ub4.mjs → search-CvGEL2h-.mjs} +6 -5
  222. package/dist/{segment-D-SKpFzF.mjs → segment-BJCEJwNY.mjs} +6 -6
  223. package/dist/{segment-C_gl5ag6.mjs → segment-CWVASaM1.mjs} +1 -1
  224. package/dist/{segment-OsrbUDzw.mjs → segment-Cf-DrdjE.mjs} +3 -1
  225. package/dist/{send-DNu83_3E.mjs → send-B4nZI6CU.mjs} +3 -3
  226. package/dist/{set-CGYZcLVo.mjs → set-BjMZCdN8.mjs} +5 -6
  227. package/dist/{set-active-32IaLx1O.mjs → set-active-CWDdv3kN.mjs} +4 -4
  228. package/dist/set-bundle-C2uk4jdt.mjs +40 -0
  229. package/dist/{set-data-actions-DRhgAfhE.mjs → set-data-actions-lWl05ekf.mjs} +6 -6
  230. package/dist/set-enabled-CPhw1AX4.mjs +41 -0
  231. package/dist/{set-sensitivity-D_i3XEe8.mjs → set-sensitivity-B7WI5BJC.mjs} +6 -6
  232. package/dist/{setting-BBn9Lv9J.mjs → setting-BvPpFjJT.mjs} +4 -4
  233. package/dist/{setup-CO7QV-ao.mjs → setup-BnczkG96.mjs} +1 -1
  234. package/dist/{setup-8d7Uplhy.mjs → setup-DPRa8Uxm.mjs} +5 -6
  235. package/dist/{signal-D8MH3LMN.mjs → signal-BNUlQjpc.mjs} +1 -1
  236. package/dist/{skill-list-D2FhhYS3.mjs → skill-list-BoJITnw8.mjs} +1 -1
  237. package/dist/{skills-BeIDC-_H.mjs → skills-BCivFuuZ.mjs} +3 -3
  238. package/dist/{skills-BZGd_9d3.mjs → skills-BY3MCR8i.mjs} +3 -2
  239. package/dist/slug-COdwq63O.mjs +15 -0
  240. package/dist/snippet-BcN1UwoS.mjs +19 -0
  241. package/dist/{stash-Dyc1xZ8u.mjs → stash-leoW1fby.mjs} +5 -4
  242. package/dist/{status-CQZwl1PX.mjs → status-AA4APlwZ.mjs} +3 -3
  243. package/dist/{status-lCN8unWe.mjs → status-BezD_K-g.mjs} +4 -4
  244. package/dist/{subscription-CEFxmtGH.mjs → subscription-BDukZFlC.mjs} +6 -6
  245. package/dist/{subscriptions-AU14uznL.mjs → subscriptions-CU4E_p7B.mjs} +6 -6
  246. package/dist/{summary-Do9IBOQM.mjs → summary-BFspP71W.mjs} +5 -5
  247. package/dist/{sync-schema-_gw9RQyF.mjs → sync-schema-BhRhsm8Y.mjs} +6 -6
  248. package/dist/{sync-schema-B3nyoKZl.mjs → sync-schema-BtjC-PNY.mjs} +5 -5
  249. package/dist/{sync-task-DNKG9Bk4.mjs → sync-task-Gf86CU9l.mjs} +1 -1
  250. package/dist/{table-BDsqRU7a.mjs → table-BNA9Or05.mjs} +3 -3
  251. package/dist/table-Dzp1uANs.mjs +26 -0
  252. package/dist/{table-CF7zW9cI.mjs → table-hgrX1i-R.mjs} +36 -5
  253. package/dist/{table-selector-flags-CHfrVpYQ.mjs → table-selector-flags-BpFFoSaT.mjs} +4 -3
  254. package/dist/{text-C2VwKF9D.mjs → text-8nOxfC17.mjs} +1 -1
  255. package/dist/timeline-Cr5d4Oer.mjs +21 -0
  256. package/dist/{timeline-event-B-nGnoVL.mjs → timeline-event-BiYDbW3r.mjs} +6 -6
  257. package/dist/{transform-DiW7bREn.mjs → transform-B62craFM.mjs} +76 -7
  258. package/dist/transform-C-0nV5Et.mjs +28 -0
  259. package/dist/{transform-CWGJB8N_.mjs → transform-DKPtUV54.mjs} +2 -2
  260. package/dist/transform-job-B9MPk7S5.mjs +22 -0
  261. package/dist/{transform-job-ClX8e5iO.mjs → transform-job-CDIb3B9o.mjs} +6 -1
  262. package/dist/{transform-job-BBZ5L46v.mjs → transform-job-D18XRLBK.mjs} +1 -1
  263. package/dist/{transform-tag-dKCqQPTd.mjs → transform-tag-DQXOPhmt.mjs} +5 -5
  264. package/dist/transform-test-wmAjyaka.mjs +16 -0
  265. package/dist/{transforms-DRAws1f4.mjs → transforms-DcXL4Dox.mjs} +6 -6
  266. package/dist/{transport-Ck4anhoc.mjs → transport-DZSxmmtY.mjs} +5 -4
  267. package/dist/{tree-Ddsj298M.mjs → tree-DrYYCdXP.mjs} +4 -3
  268. package/dist/typed-schema-DEzmTY3J.mjs +45 -0
  269. package/dist/{unpublish-BMfjQ8UV.mjs → unpublish-D8hmulCx.mjs} +3 -3
  270. package/dist/{unreferenced-DRQrvH5r.mjs → unreferenced-C3CqO3tu.mjs} +6 -6
  271. package/dist/{update-C1VwtJWu.mjs → update-3lRE8G9k.mjs} +10 -11
  272. package/dist/{update-BCC1Igr2.mjs → update-4TDRNrV-.mjs} +7 -8
  273. package/dist/{update-0AoF6QJ_.mjs → update-4sOfpwpv.mjs} +5 -6
  274. package/dist/{update-BQLTaw3z.mjs → update-552UGPAG.mjs} +7 -8
  275. package/dist/{update-DpP1EEC0.mjs → update-7iXRB23T2.mjs} +7 -8
  276. package/dist/{update-Bpsdi6kM.mjs → update-B21GAnzT.mjs} +7 -8
  277. package/dist/{update-6sfqiInZ.mjs → update-BVz0oIwS.mjs} +10 -11
  278. package/dist/{update-CGpiLu7N.mjs → update-BxRFktpB.mjs} +8 -9
  279. package/dist/{update-CnxzmPRG.mjs → update-CEDMvgJI.mjs} +11 -12
  280. package/dist/{update-BIL0JPqm.mjs → update-CcNYCalv.mjs} +5 -6
  281. package/dist/{update-DlFHoUxe.mjs → update-CctMr2T1.mjs} +8 -8
  282. package/dist/{update-DrT10fxQ.mjs → update-Ch6AAOeh.mjs} +5 -6
  283. package/dist/{update-_hHnM1Hx.mjs → update-CtuLA42g.mjs} +11 -11
  284. package/dist/{update-C19B1Sry.mjs → update-DVD77mVR.mjs} +5 -6
  285. package/dist/{update-C1x90FSH.mjs → update-DmMHHn75.mjs} +10 -11
  286. package/dist/{update-D1aKeWfo.mjs → update-DvGIaZdl.mjs} +5 -6
  287. package/dist/{update-BtfUX9CN.mjs → update-LlJM4tUd.mjs} +10 -11
  288. package/dist/{update-8eXJso_l.mjs → update-Zv7PP8nl.mjs} +7 -8
  289. package/dist/{update-dashcard-CDI0Tnxy.mjs → update-dashcard-BijqiYQd.mjs} +7 -8
  290. package/dist/{update-pXVhyiFo.mjs → update-l4WRN6Jh.mjs} +7 -8
  291. package/dist/update-sma1ZRm2.mjs +36 -0
  292. package/dist/{upgrade-Cfouv1Ii.mjs → upgrade-TzILOkiM.mjs} +5 -4
  293. package/dist/upload-B37bUVl_.mjs +13 -0
  294. package/dist/{upload-DnLXgUA-.mjs → upload-CdiDKe69.mjs} +2 -2
  295. package/dist/{upload-DIEcI5iM.mjs → upload-Do-kOGtc.mjs} +3 -3
  296. package/dist/{uuid-D0sH5txV.mjs → uuid-Dqq2WfAT.mjs} +3 -2
  297. package/dist/{validate-BQ7vI8_x.mjs → validate-moGYlHxB.mjs} +8 -18
  298. package/dist/validate-query-Bf5FhhMI.mjs +72 -0
  299. package/dist/{values-BFPO6y5o.mjs → values-CtY5zv0m.mjs} +5 -5
  300. package/dist/{verify-C-StvB4f.mjs → verify-BiB8jzXB.mjs} +3 -3
  301. package/dist/{verify-CuGs0X3C.mjs → verify-DBTlWx-S.mjs} +3 -3
  302. package/dist/{verify-7fW020r_.mjs → verify-DJ7fGyLL.mjs} +4 -3
  303. package/dist/{wait-Cvt8xO0h.mjs → wait-DEYagfq4.mjs} +5 -5
  304. package/dist/{wait-flags-BnZ-dfE2.mjs → wait-flags-C3cu_O0w.mjs} +2 -2
  305. package/dist/{window-CfK_j6m1.mjs → window-D1w7B0vh.mjs} +1 -1
  306. package/package.json +2 -2
  307. package/skill-data/core/SKILL.md +14 -13
  308. package/skill-data/data-action/SKILL.md +1 -1
  309. package/skill-data/data-app/SKILL.md +138 -0
  310. package/skill-data/data-app/template/.env.local.example +2 -0
  311. package/skill-data/data-app/template/LICENSE +21 -0
  312. package/skill-data/data-app/template/README.md +29 -0
  313. package/skill-data/data-app/template/gitignore +5 -0
  314. package/skill-data/data-app/template/package.json +25 -0
  315. package/skill-data/data-app/template/src/App.tsx +9 -0
  316. package/skill-data/data-app/template/src/index.tsx +14 -0
  317. package/skill-data/data-app/template/src/theme.ts +25 -0
  318. package/skill-data/data-app/template/tsconfig.json +25 -0
  319. package/skill-data/data-app/template/vite.config.ts +3 -0
  320. package/skill-data/data-app-actions/SKILL.md +96 -0
  321. package/skill-data/data-app-data/SKILL.md +158 -0
  322. package/skill-data/data-app-filters/SKILL.md +87 -0
  323. package/skill-data/data-app-ui/SKILL.md +120 -0
  324. package/skill-data/mbql/SKILL.md +3 -3
  325. package/skill-data/native-sql/SKILL.md +1 -1
  326. package/skill-data/native-sql/references/template-tags.md +1 -1
  327. package/dist/body-C0VnEiRV.mjs +0 -16
  328. package/dist/card-BnL92zoT.mjs +0 -25
  329. package/dist/collection-DRHGwFSL.mjs +0 -21
  330. package/dist/dashboard-Bq1pae4N.mjs +0 -35
  331. package/dist/data-action-BZ2PvlaP.mjs +0 -24
  332. package/dist/delete-runtime-DRGveT8H.mjs +0 -55
  333. package/dist/dependency-6kfpR8Ga.mjs +0 -15
  334. package/dist/document-C0mZEg5w.mjs +0 -20
  335. package/dist/field-BUkyWiWk.mjs +0 -21
  336. package/dist/git-sync-CNTB5jvI.mjs +0 -29
  337. package/dist/glossary-B9Eo4hXc.mjs +0 -14
  338. package/dist/snippet-CpZ5cJ_y.mjs +0 -19
  339. package/dist/table-Cb_Uvw8m.mjs +0 -26
  340. package/dist/timeline-x0s_3sfc.mjs +0 -21
  341. package/dist/transform-job-Dlx2c6II.mjs +0 -22
  342. package/dist/transform-kP11Mv9_.mjs +0 -28
  343. package/dist/transform-test-jFuzVhlT.mjs +0 -16
  344. package/dist/upload-Cqv-In6j.mjs +0 -13
  345. package/dist/validate-query-YtH3d5BP.mjs +0 -38
@@ -38,13 +38,29 @@ const TransformCheckpointStrategy = z.object({
38
38
  type: z.literal("checkpoint"),
39
39
  "checkpoint-filter-field-id": z.number().int().positive().optional()
40
40
  }).loose();
41
- const TransformSourceTableEntry = z.object({
41
+ const TransformSourceTableRefInput = z.object({
42
42
  alias: z.string(),
43
43
  database_id: z.number().int(),
44
- schema: z.string().nullable(),
44
+ schema: z.string().nullable().optional(),
45
45
  table: z.string().optional(),
46
46
  table_id: z.number().int().nullable().optional()
47
47
  }).loose();
48
+ const TransformSourceTableIdInput = z.object({
49
+ alias: z.string(),
50
+ table_id: z.number().int(),
51
+ database_id: z.null().optional(),
52
+ schema: z.null().optional(),
53
+ table: z.null().optional()
54
+ }).loose();
55
+ const TransformSourceTableEntryInput = z.union([TransformSourceTableRefInput, TransformSourceTableIdInput]);
56
+ function namesTableByIdAlone(entry) {
57
+ return typeof entry.database_id !== "number";
58
+ }
59
+ const TransformSourceTableEntry = TransformSourceTableRefInput.extend({
60
+ database_id: z.number().int().nullable().optional(),
61
+ schema: z.string().nullable().optional(),
62
+ table: z.string().nullable().optional()
63
+ });
48
64
  const TransformQuerySource = z.object({
49
65
  type: z.literal("query"),
50
66
  query: z.unknown().describe("Native SQL or MBQL query"),
@@ -58,6 +74,57 @@ const TransformPythonSource = z.object({
58
74
  "source-incremental-strategy": TransformCheckpointStrategy.optional()
59
75
  }).loose();
60
76
  const TransformSource = z.discriminatedUnion("type", [TransformQuerySource, TransformPythonSource]);
77
+ const TransformSourceTableRefWireV59 = z.object({
78
+ database_id: z.number().int(),
79
+ schema: z.string().nullable().optional(),
80
+ table: z.string(),
81
+ table_id: z.number().int().nullable().optional()
82
+ }).loose();
83
+ const TransformSourceTableWireV59 = z.union([
84
+ z.number().int(),
85
+ z.null(),
86
+ TransformSourceTableRefWireV59
87
+ ]);
88
+ const TransformSourceTablesWireV59 = z.record(z.string(), TransformSourceTableWireV59);
89
+ function toSourceTableEntry(alias, wire) {
90
+ if (wire === null || typeof wire === "number") return {
91
+ alias,
92
+ table_id: wire,
93
+ database_id: null,
94
+ schema: null,
95
+ table: null
96
+ };
97
+ return {
98
+ ...wire,
99
+ alias
100
+ };
101
+ }
102
+ function fromAliasMap(wire) {
103
+ return Object.entries(wire).map(([alias, value]) => toSourceTableEntry(alias, value));
104
+ }
105
+ const TransformPythonSourceWireV59 = TransformPythonSource.extend({ "source-tables": TransformSourceTablesWireV59.transform(fromAliasMap) });
106
+ const TransformSourceWireV59 = z.discriminatedUnion("type", [TransformQuerySource, TransformPythonSourceWireV59]);
107
+ function transformSourceSchema(features) {
108
+ return features.transformSourceTablesAsList ? TransformSource : TransformSourceWireV59;
109
+ }
110
+ const TransformPythonSourceInput = TransformPythonSource.extend({ "source-tables": z.array(TransformSourceTableEntryInput) });
111
+ const TransformSourceInput = z.discriminatedUnion("type", [TransformQuerySource, TransformPythonSourceInput]);
112
+ function toAliasMapValue(entry) {
113
+ const { alias: _alias, ...reference } = entry;
114
+ return namesTableByIdAlone(entry) ? entry.table_id : reference;
115
+ }
116
+ /** Each entry keyed by its alias, its value chosen by `value`, as a server without the list reads it. */
117
+ function keyedByAlias(entries, value) {
118
+ return Object.fromEntries(entries.map((entry) => [entry.alias, value(entry)]));
119
+ }
120
+ /** A transform body's `source` as a server with `features` reads it. */
121
+ function transformSourceBody(source, features) {
122
+ if (features.transformSourceTablesAsList || source.type !== "python") return source;
123
+ return {
124
+ ...source,
125
+ "source-tables": keyedByAlias(source["source-tables"], toAliasMapValue)
126
+ };
127
+ }
61
128
  const TransformAppendStrategy = z.object({ type: z.literal("append") }).loose();
62
129
  const TransformMergeKeyColumn = z.object({
63
130
  name: z.string().min(1).optional(),
@@ -195,11 +262,13 @@ function withoutLink(row) {
195
262
  }
196
263
  /** The shape `GET /api/transform/{id}` answers on a server with `features`, read as `Transform`. */
197
264
  function transformDetailSchema(features) {
198
- return features.transformTargetTableId ? Transform : TransformWireV59Detail.transform(fromHydratedTable);
265
+ const source = transformSourceSchema(features);
266
+ return features.transformTargetTableId ? Transform.extend({ source }) : TransformWireV59Detail.extend({ source }).transform(fromHydratedTable);
199
267
  }
200
268
  /** The shape every other transform endpoint answers on a server with `features`, read as `Transform`. */
201
269
  function transformRowSchema(features) {
202
- return features.transformTargetTableId ? Transform : TransformBase.transform(withoutLink);
270
+ const source = transformSourceSchema(features);
271
+ return features.transformTargetTableId ? Transform.extend({ source }) : TransformBase.extend({ source }).transform(withoutLink);
203
272
  }
204
273
  const TransformCompact = Transform.pick({
205
274
  id: true,
@@ -212,7 +281,7 @@ const TransformCompact = Transform.pick({
212
281
  const TransformCreateInput = z.object({
213
282
  name: z.string().min(1),
214
283
  description: z.string().nullable().optional(),
215
- source: TransformSource,
284
+ source: TransformSourceInput,
216
285
  target: TransformTarget,
217
286
  run_trigger: TransformRunTrigger.optional(),
218
287
  tag_ids: z.array(z.number().int().positive()).optional(),
@@ -223,7 +292,7 @@ const TransformCreateInput = z.object({
223
292
  const TransformUpdateInput = z.object({
224
293
  name: z.string().min(1).optional(),
225
294
  description: z.string().nullable().optional(),
226
- source: TransformSource.optional(),
295
+ source: TransformSourceInput.optional(),
227
296
  target: TransformTarget.optional(),
228
297
  run_trigger: TransformRunTrigger.optional(),
229
298
  tag_ids: z.array(z.number().int().positive()).optional(),
@@ -232,4 +301,4 @@ const TransformUpdateInput = z.object({
232
301
  owner_email: z.string().nullable().optional()
233
302
  }).loose();
234
303
  //#endregion
235
- export { TransformDagTransform as a, TransformRunResult as c, TransformTarget as d, TransformUpdateInput as f, transformRowSchema as g, transformDetailSchema as h, TransformDagRunResult as i, TransformRunSummary as l, isTransformRunTerminal as m, TransformCompact as n, TransformRun as o, isTransformRunFailed as p, TransformCreateInput as r, TransformRunCompact as s, Transform as t, TransformSourceTableEntry as u };
304
+ export { transformRowSchema as _, TransformDagTransform as a, TransformRunResult as c, TransformTarget as d, TransformUpdateInput as f, transformDetailSchema as g, keyedByAlias as h, TransformDagRunResult as i, TransformRunSummary as l, isTransformRunTerminal as m, TransformCompact as n, TransformRun as o, isTransformRunFailed as p, TransformCreateInput as r, TransformRunCompact as s, Transform as t, TransformSourceTableEntryInput as u, transformSourceBody as v };
@@ -0,0 +1,28 @@
1
+ import { t as defineCommandGroup } from "./group--6adAsqG.mjs";
2
+ //#region src/commands/transform/index.ts
3
+ var transform_default = defineCommandGroup({
4
+ name: "transform",
5
+ description: "Manage Metabase transforms",
6
+ skills: [{
7
+ skill: "transform",
8
+ purpose: "body shape, run-with-wait, iterate"
9
+ }, {
10
+ skill: "mbql",
11
+ purpose: "MBQL source.query bodies"
12
+ }],
13
+ subCommands: {
14
+ list: () => import("./list-BiIZdUoN.mjs").then((mod) => mod.default),
15
+ get: () => import("./get-BjgB5l7X.mjs").then((mod) => mod.default),
16
+ dependencies: () => import("./dependencies-D6SNdLW8.mjs").then((mod) => mod.default),
17
+ create: () => import("./create-DEIIUohY2.mjs").then((mod) => mod.default),
18
+ update: () => import("./update-CEDMvgJI.mjs").then((mod) => mod.default),
19
+ delete: () => import("./delete-ZjLpkwgx.mjs").then((mod) => mod.default),
20
+ "delete-table": () => import("./delete-table-CnGv1gx9.mjs").then((mod) => mod.default),
21
+ run: () => import("./run-JYNbEO_V.mjs").then((mod) => mod.default),
22
+ cancel: () => import("./cancel-CyTRWSOr.mjs").then((mod) => mod.default),
23
+ "get-run": () => import("./get-run-CHup8cMl.mjs").then((mod) => mod.default),
24
+ runs: () => import("./runs-GQD6FO2k.mjs").then((mod) => mod.default)
25
+ }
26
+ });
27
+ //#endregion
28
+ export { transform_default as default };
@@ -1,5 +1,5 @@
1
- import { p as MALFORMED_CELL } from "./cli.mjs";
2
- import { d as TransformTarget, n as TransformCompact, s as TransformRunCompact } from "./transform-DiW7bREn.mjs";
1
+ import { m as MALFORMED_CELL } from "./cli.mjs";
2
+ import { d as TransformTarget, n as TransformCompact, s as TransformRunCompact } from "./transform-B62craFM.mjs";
3
3
  //#region src/output/views/transform.ts
4
4
  function formatTarget(value) {
5
5
  const parsed = TransformTarget.safeParse(value);
@@ -0,0 +1,22 @@
1
+ import { t as defineCommandGroup } from "./group--6adAsqG.mjs";
2
+ //#region src/commands/transform-job/index.ts
3
+ var transform_job_default = defineCommandGroup({
4
+ name: "transform-job",
5
+ description: "Manage Metabase transform jobs",
6
+ skills: [{
7
+ skill: "transform",
8
+ purpose: "tag-driven job schedules"
9
+ }],
10
+ subCommands: {
11
+ list: () => import("./list-OUSeeuXb.mjs").then((mod) => mod.default),
12
+ get: () => import("./get-gGSl7Se4.mjs").then((mod) => mod.default),
13
+ create: () => import("./create-XVjr8IDS.mjs").then((mod) => mod.default),
14
+ update: () => import("./update-7iXRB23T2.mjs").then((mod) => mod.default),
15
+ delete: () => import("./delete-CuyGTe0i.mjs").then((mod) => mod.default),
16
+ run: () => import("./run-Bwj4Uuxk.mjs").then((mod) => mod.default),
17
+ transforms: () => import("./transforms-DcXL4Dox.mjs").then((mod) => mod.default),
18
+ "set-active": () => import("./set-active-CWDdv3kN.mjs").then((mod) => mod.default)
19
+ }
20
+ });
21
+ //#endregion
22
+ export { transform_job_default as default };
@@ -1,4 +1,5 @@
1
1
  import { t as CronUiDisplayType } from "./cron-LKRffEC-.mjs";
2
+ import { t as gateInput } from "./input-gate-registry-Dh8QjKgW.mjs";
2
3
  import { z } from "zod";
3
4
  //#region ../client/src/domain/transform-job.ts
4
5
  const JobRunStatus = z.enum([
@@ -67,7 +68,11 @@ const TransformJobUpdateInput = z.object({
67
68
  description: z.string().min(1).nullable().optional(),
68
69
  schedule: z.string().min(1).optional(),
69
70
  ui_display_type: CronUiDisplayType.optional(),
70
- active: z.boolean().optional(),
71
+ active: gateInput(z.boolean().optional(), {
72
+ feature: "transformJobActivation",
73
+ effect: "needs",
74
+ when: { kind: "present" }
75
+ }),
71
76
  tag_ids: z.array(z.number().int().positive()).optional()
72
77
  }).loose();
73
78
  const TransformJobRunResult = z.object({
@@ -1,4 +1,4 @@
1
- import { r as TransformJobCompact } from "./transform-job-ClX8e5iO.mjs";
1
+ import { r as TransformJobCompact } from "./transform-job-CDIb3B9o.mjs";
2
2
  //#region src/output/views/transform-job.ts
3
3
  const transformJobView = {
4
4
  compactPick: TransformJobCompact,
@@ -1,4 +1,4 @@
1
- import { t as defineCommandGroup } from "./group-81zoQcEP.mjs";
1
+ import { t as defineCommandGroup } from "./group--6adAsqG.mjs";
2
2
  //#region src/commands/transform-tag/index.ts
3
3
  var transform_tag_default = defineCommandGroup({
4
4
  name: "transform-tag",
@@ -8,10 +8,10 @@ var transform_tag_default = defineCommandGroup({
8
8
  purpose: "tags that drive job schedules"
9
9
  }],
10
10
  subCommands: {
11
- list: () => import("./list-B8FPpgct.mjs").then((mod) => mod.default),
12
- create: () => import("./create-GU8_GNbN.mjs").then((mod) => mod.default),
13
- update: () => import("./update-BIL0JPqm.mjs").then((mod) => mod.default),
14
- delete: () => import("./delete-DiZg2wit.mjs").then((mod) => mod.default)
11
+ list: () => import("./list-D_8GeDG-.mjs").then((mod) => mod.default),
12
+ create: () => import("./create-DXivfl69.mjs").then((mod) => mod.default),
13
+ update: () => import("./update-CcNYCalv.mjs").then((mod) => mod.default),
14
+ delete: () => import("./delete-8k7oYDFr.mjs").then((mod) => mod.default)
15
15
  }
16
16
  });
17
17
  //#endregion
@@ -0,0 +1,16 @@
1
+ import { t as defineCommandGroup } from "./group--6adAsqG.mjs";
2
+ //#region src/commands/transform-test/index.ts
3
+ var transform_test_default = defineCommandGroup({
4
+ name: "transform-test",
5
+ description: "Manage transform tests — fixtures and expectations run against temp tables",
6
+ subCommands: {
7
+ list: () => import("./list-DDt1iLXj.mjs").then((mod) => mod.default),
8
+ get: () => import("./get-f2km9wsq.mjs").then((mod) => mod.default),
9
+ create: () => import("./create-B3kz_fHg.mjs").then((mod) => mod.default),
10
+ update: () => import("./update-DvGIaZdl.mjs").then((mod) => mod.default),
11
+ delete: () => import("./delete-DWTqIlbr.mjs").then((mod) => mod.default),
12
+ run: () => import("./run-Q7fHux1F.mjs").then((mod) => mod.default)
13
+ }
14
+ });
15
+ //#endregion
16
+ export { transform_test_default as default };
@@ -1,9 +1,9 @@
1
- import { ct as outputFlags, lt as profileFlag, mt as listEnvelopeSchema, o as renderList, ot as listFlags, rt as connectionFlags } from "./cli.mjs";
2
- import { t as parseId } from "./parse-id-5BZGQ9Vd.mjs";
3
- import { t as defineMetabaseCommand } from "./runtime-Cmes70jO.mjs";
4
- import { n as windowList } from "./window-CfK_j6m1.mjs";
5
- import { n as TransformCompact } from "./transform-DiW7bREn.mjs";
6
- import { n as transformView } from "./transform-CWGJB8N_.mjs";
1
+ import { gt as listEnvelopeSchema, it as connectionFlags, lt as outputFlags, s as renderList, st as listFlags, ut as profileFlag } from "./cli.mjs";
2
+ import { t as parseId } from "./parse-id-EXZan40V.mjs";
3
+ import { t as defineMetabaseCommand } from "./runtime-iIsqiOwO.mjs";
4
+ import { n as windowList } from "./window-D1w7B0vh.mjs";
5
+ import { n as TransformCompact } from "./transform-B62craFM.mjs";
6
+ import { n as transformView } from "./transform-DKPtUV54.mjs";
7
7
  //#region src/commands/transform-job/transforms.ts
8
8
  const TransformJobTransformsEnvelope = listEnvelopeSchema(TransformCompact);
9
9
  var transforms_default = defineMetabaseCommand({
@@ -1,7 +1,8 @@
1
- import { Et as NetworkError, Ft as isNonInterruptFailure, K as isRetryableStatus, Mt as errorMessage, Ot as ResponseShapeError, P as CapabilityError, W as HttpError, X as JSON_CONTENT_TYPE, Z as parseJson, jt as ValidationError, kt as TimeoutError } from "./cli.mjs";
2
- import { G as credentialSecrets, H as serverInfoFromProperties, I as buildNetworkError, J as normalizeUrl, L as isConnectionClosed, Q as createServerProfile, R as PROBE_PATH, U as assertCredentialHeaderSafe, W as credentialAuthHeader, tt as SessionProperties, z as probeBudget } from "./runtime-Cmes70jO.mjs";
3
- import { n as throwIfAborted, r as untilAborted, t as combineAborts } from "./signal-D8MH3LMN.mjs";
4
- import { n as featureFailures } from "./requirement-check-sfmyH2PH.mjs";
1
+ import { f as ResponseShapeError, g as errorMessage, h as ValidationError, p as TimeoutError, u as NetworkError, y as isNonInterruptFailure } from "./predicates-0C0TsWcJ.mjs";
2
+ import { F as CapabilityError, J as isRetryableStatus, K as HttpError, X as parseJson, Y as JSON_CONTENT_TYPE } from "./cli.mjs";
3
+ import { G as credentialSecrets, H as serverInfoFromProperties, I as buildNetworkError, J as normalizeUrl, L as isConnectionClosed, Q as createServerProfile, R as PROBE_PATH, U as assertCredentialHeaderSafe, W as credentialAuthHeader, tt as SessionProperties, z as probeBudget } from "./runtime-iIsqiOwO.mjs";
4
+ import { n as throwIfAborted, r as untilAborted, t as combineAborts } from "./signal-BNUlQjpc.mjs";
5
+ import { n as featureFailures } from "./requirement-check-BoVSK1uK.mjs";
5
6
  import { setTimeout } from "node:timers/promises";
6
7
  //#region ../client/src/http/response-shape.ts
7
8
  async function parseJsonResponse(text, schema, context) {
@@ -1,6 +1,7 @@
1
- import { St as ConfigError, d as writeJson, it as formatFlags, lt as profileFlag, rt as connectionFlags } from "./cli.mjs";
2
- import { t as defineMetabaseCommand } from "./runtime-Cmes70jO.mjs";
3
- import { m as CollectionTreeNode } from "./collection-DNmFKALA.mjs";
1
+ import { o as ConfigError } from "./predicates-0C0TsWcJ.mjs";
2
+ import { at as formatFlags, f as writeJson, it as connectionFlags, ut as profileFlag } from "./cli.mjs";
3
+ import { t as defineMetabaseCommand } from "./runtime-iIsqiOwO.mjs";
4
+ import { m as CollectionTreeNode } from "./collection-Cz2qLX2m.mjs";
4
5
  import { z } from "zod";
5
6
  //#region src/commands/collection/tree.ts
6
7
  const CollectionTreeResponse = z.array(CollectionTreeNode);
@@ -0,0 +1,45 @@
1
+ import { it as connectionFlags, p as writeText, ut as profileFlag } from "./cli.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-iIsqiOwO.mjs";
3
+ import { n as slugArg, t as parseSlug } from "./slug-COdwq63O.mjs";
4
+ import { i as writeProjectFile } from "./data-app-project-DjDDWgUF.mjs";
5
+ import { z } from "zod";
6
+ //#region src/commands/data-app/typed-schema.ts
7
+ const TypedSchemaModule = z.string().describe("The generated TypeScript module of the app's queries and actions.");
8
+ var typed_schema_default = defineMetabaseCommand({
9
+ meta: {
10
+ name: "typed-schema",
11
+ description: "Print or write the TypeScript module of a data app's queries and actions"
12
+ },
13
+ details: "Metabase generates a `defineQuery` call for every question and a `defineAction` call for every action in the app's collection, each typed by its result columns or parameters and addressed by entity ID, exported as `queries` and `actions`. Fetch it again after any change to the collection. --out writes it to a file (the app's `src/metabase.ts`) instead of stdout.",
14
+ skills: [{
15
+ skill: "data-app-data",
16
+ purpose: "the questions the module defines"
17
+ }, {
18
+ skill: "data-app-actions",
19
+ purpose: "the actions the module defines"
20
+ }],
21
+ requires: ["dataApp.typedSchema"],
22
+ args: {
23
+ ...profileFlag,
24
+ ...connectionFlags,
25
+ ...slugArg,
26
+ out: {
27
+ type: "string",
28
+ description: "File to write the module to"
29
+ }
30
+ },
31
+ outputSchema: TypedSchemaModule,
32
+ examples: ["mb data-app typed-schema sales-overview --out src/metabase.ts", "mb data-app typed-schema sales-overview > src/metabase.ts"],
33
+ async run({ args, getClient }) {
34
+ const slug = parseSlug(args.slug);
35
+ const module = await (await getClient()).dataApp.typedSchema(slug);
36
+ if (args.out === void 0) {
37
+ writeText(module.trimEnd());
38
+ return;
39
+ }
40
+ await writeProjectFile(args.out, module);
41
+ writeText(`Wrote the queries and actions of data app ${slug} to ${args.out}.`);
42
+ }
43
+ });
44
+ //#endregion
45
+ export { typed_schema_default as default };
@@ -1,6 +1,6 @@
1
- import { c as renderSummary, ct as outputFlags, lt as profileFlag, rt as connectionFlags } from "./cli.mjs";
2
- import { t as defineMetabaseCommand } from "./runtime-Cmes70jO.mjs";
3
- import { i as tableSelectorFlags, n as parseTableSelectors } from "./table-selector-flags-CHfrVpYQ.mjs";
1
+ import { it as connectionFlags, l as renderSummary, lt as outputFlags, ut as profileFlag } from "./cli.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-iIsqiOwO.mjs";
3
+ import { i as tableSelectorFlags, n as parseTableSelectors } from "./table-selector-flags-BpFFoSaT.mjs";
4
4
  import { z } from "zod";
5
5
  //#region src/commands/library/unpublish.ts
6
6
  const LibraryUnpublishResult = z.object({
@@ -1,9 +1,9 @@
1
- import { ct as outputFlags, lt as profileFlag, mt as listEnvelopeSchema, o as renderList, ot as listFlags, rt as connectionFlags } from "./cli.mjs";
2
- import { t as defineMetabaseCommand } from "./runtime-Cmes70jO.mjs";
3
- import { t as collectForOutput } from "./window-CfK_j6m1.mjs";
4
- import { d as DependencyNodeCompact } from "./dependency-CaC6XuTY.mjs";
5
- import { i as dependencyNodeView } from "./dependency-Dxvb2Znu.mjs";
6
- import { a as readItemFilters, n as itemFilterFlags } from "./filter-flags-DhE4olyf.mjs";
1
+ import { gt as listEnvelopeSchema, it as connectionFlags, lt as outputFlags, s as renderList, st as listFlags, ut as profileFlag } from "./cli.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-iIsqiOwO.mjs";
3
+ import { t as collectForOutput } from "./window-D1w7B0vh.mjs";
4
+ import { d as DependencyNodeCompact } from "./dependency-C1DExO6k.mjs";
5
+ import { i as dependencyNodeView } from "./dependency-DcM96XJ-.mjs";
6
+ import { a as readItemFilters, n as itemFilterFlags } from "./filter-flags-ezqqsOQL.mjs";
7
7
  //#region src/commands/dependency/unreferenced.ts
8
8
  const DependencyUnreferencedListEnvelope = listEnvelopeSchema(DependencyNodeCompact);
9
9
  var unreferenced_default = defineMetabaseCommand({
@@ -1,18 +1,17 @@
1
- import { c as renderSummary, ct as outputFlags, lt as profileFlag, rt as connectionFlags } from "./cli.mjs";
2
- import { t as parseId } from "./parse-id-5BZGQ9Vd.mjs";
3
- import { t as defineMetabaseCommand } from "./runtime-Cmes70jO.mjs";
4
- import { t as readBody } from "./body-C0VnEiRV.mjs";
1
+ import { it as connectionFlags, l as renderSummary, lt as outputFlags, ut as profileFlag } from "./cli.mjs";
2
+ import { t as parseId } from "./parse-id-EXZan40V.mjs";
3
+ import { t as defineMetabaseCommand } from "./runtime-iIsqiOwO.mjs";
5
4
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
6
- import { i as MeasureUpdateInput, t as Measure } from "./measure-CtfjqJFP.mjs";
7
- import { o as preflightMbql5Query, r as MEASURE_DEFINITION_LABELS, s as skipValidateFlag } from "./validate-query-YtH3d5BP.mjs";
8
- import { t as measureView } from "./measure-4P0bOlZ3.mjs";
5
+ import { i as MeasureUpdateInput, t as Measure } from "./measure-BMWrX1ca.mjs";
6
+ import { MEASURE_DEFINITION, skipValidateFlag } from "./validate-query-Bf5FhhMI.mjs";
7
+ import { t as measureView } from "./measure-DqZG65of.mjs";
9
8
  //#region src/commands/measure/update.ts
10
9
  var update_default = defineMetabaseCommand({
11
10
  meta: {
12
11
  name: "update",
13
12
  description: "Update a measure by id (body must include revision_message)"
14
13
  },
15
- details: "Patches only the fields you send and must include `revision_message` (recorded in the audit log). When `definition` is an MBQL 5 query it is checked against a bundled JSON Schema (print it with `mb query --print-schema`) before sending; pass --skip-validate to bypass.",
14
+ details: "Patches only the fields you send and must include `revision_message` (recorded in the audit log). When `definition` is an MBQL 5 query it is checked against a bundled JSON Schema (print it with `mb schema query`) before sending; pass --skip-validate to bypass.",
16
15
  skills: [{
17
16
  skill: "mbql",
18
17
  purpose: "the definition aggregation"
@@ -31,6 +30,7 @@ var update_default = defineMetabaseCommand({
31
30
  }
32
31
  },
33
32
  inputSchema: MeasureUpdateInput,
33
+ embeddedDocuments: [MEASURE_DEFINITION],
34
34
  outputSchema: Measure,
35
35
  examples: [
36
36
  "cat patch.json | mb measure update 1",
@@ -38,13 +38,12 @@ var update_default = defineMetabaseCommand({
38
38
  "mb measure update 1 --body '{\"name\":\"renamed\",\"revision_message\":\"rename\"}'",
39
39
  "mb measure update 1 --file patch.json --skip-validate"
40
40
  ],
41
- async run({ args, ctx, getClient }) {
41
+ async run({ args, ctx, getClient, readBody }) {
42
42
  const id = parseId(args.id);
43
43
  const body = await readBody({
44
44
  flag: args.body,
45
45
  file: args.file
46
- }, MeasureUpdateInput);
47
- preflightMbql5Query(body.definition, MEASURE_DEFINITION_LABELS, { skip: args["skip-validate"] === true });
46
+ });
48
47
  const updated = await (await getClient()).measure.update(id, body);
49
48
  renderSummary(updated, measureView, `Updated measure ${updated.id} "${updated.name}".`, ctx);
50
49
  }
@@ -1,10 +1,9 @@
1
- import { c as renderSummary, ct as outputFlags, lt as profileFlag, rt as connectionFlags } from "./cli.mjs";
2
- import { c as NotificationUpdateInput, n as Notification } from "./notification-DaA4bBHW.mjs";
3
- import { t as notificationView } from "./notification-W2SVssyY.mjs";
4
- import { t as parseId } from "./parse-id-5BZGQ9Vd.mjs";
5
- import { t as defineMetabaseCommand } from "./runtime-Cmes70jO.mjs";
1
+ import { it as connectionFlags, l as renderSummary, lt as outputFlags, ut as profileFlag } from "./cli.mjs";
2
+ import { l as NotificationUpdateInput, r as Notification } from "./notification-B5yMuPmo.mjs";
3
+ import { t as notificationView } from "./notification-BEJaEZS2.mjs";
4
+ import { t as parseId } from "./parse-id-EXZan40V.mjs";
5
+ import { t as defineMetabaseCommand } from "./runtime-iIsqiOwO.mjs";
6
6
  import { t as describeAlert } from "./summary-BytbDz6e.mjs";
7
- import { t as readBody } from "./body-C0VnEiRV.mjs";
8
7
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
9
8
  //#region src/commands/alert/update.ts
10
9
  var update_default = defineMetabaseCommand({
@@ -37,12 +36,12 @@ var update_default = defineMetabaseCommand({
37
36
  "mb alert update 9 --body '{\"subscriptions\":[{\"cron_schedule\":\"0 0 9 * * ? *\"}]}'",
38
37
  "mb alert update 9 --body '{\"active\":true}'"
39
38
  ],
40
- async run({ args, ctx, getClient }) {
39
+ async run({ args, ctx, getClient, readBody }) {
41
40
  const id = parseId(args.id);
42
41
  const body = await readBody({
43
42
  flag: args.body,
44
43
  file: args.file
45
- }, NotificationUpdateInput);
44
+ });
46
45
  const updated = await (await getClient()).notification.update(id, body);
47
46
  renderSummary(updated, notificationView, describeAlert("Updated", updated), ctx);
48
47
  }
@@ -1,7 +1,6 @@
1
- import { c as renderSummary, ct as outputFlags, lt as profileFlag, rt as connectionFlags } from "./cli.mjs";
2
- import { t as parseId } from "./parse-id-5BZGQ9Vd.mjs";
3
- import { t as defineMetabaseCommand } from "./runtime-Cmes70jO.mjs";
4
- import { t as readBody } from "./body-C0VnEiRV.mjs";
1
+ import { it as connectionFlags, l as renderSummary, lt as outputFlags, ut as profileFlag } from "./cli.mjs";
2
+ import { t as parseId } from "./parse-id-EXZan40V.mjs";
3
+ import { t as defineMetabaseCommand } from "./runtime-iIsqiOwO.mjs";
5
4
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
6
5
  import { i as SnippetUpdateInput, t as Snippet } from "./snippet-CyKAgIZl.mjs";
7
6
  import { t as snippetView } from "./snippet-oJLaYW9V.mjs";
@@ -31,12 +30,12 @@ var update_default = defineMetabaseCommand({
31
30
  "mb snippet update 1 --body '{\"name\":\"renamed\"}'",
32
31
  "mb snippet update 1 --body '{\"archived\":true}'"
33
32
  ],
34
- async run({ args, ctx, getClient }) {
33
+ async run({ args, ctx, getClient, readBody }) {
35
34
  const id = parseId(args.id);
36
35
  const body = await readBody({
37
36
  flag: args.body,
38
37
  file: args.file
39
- }, SnippetUpdateInput);
38
+ });
40
39
  const updated = await (await getClient()).snippet.update(id, body);
41
40
  renderSummary(updated, snippetView, `Updated snippet ${updated.id} "${updated.name}".`, ctx);
42
41
  }
@@ -1,10 +1,9 @@
1
- import { c as renderSummary, ct as outputFlags, lt as profileFlag, rt as connectionFlags } from "./cli.mjs";
2
- import { t as parseId } from "./parse-id-5BZGQ9Vd.mjs";
3
- import { t as defineMetabaseCommand } from "./runtime-Cmes70jO.mjs";
4
- import { t as readBody } from "./body-C0VnEiRV.mjs";
1
+ import { it as connectionFlags, l as renderSummary, lt as outputFlags, ut as profileFlag } from "./cli.mjs";
2
+ import { t as parseId } from "./parse-id-EXZan40V.mjs";
3
+ import { t as defineMetabaseCommand } from "./runtime-iIsqiOwO.mjs";
5
4
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
6
- import { a as PulseUpdateInput, t as Pulse } from "./pulse-CC81N2_0.mjs";
7
- import { t as pulseView } from "./pulse-JPrq6NFP.mjs";
5
+ import { a as PulseUpdateInput, t as Pulse } from "./pulse-B2AmIWsO.mjs";
6
+ import { t as pulseView } from "./pulse-CPSpum5U.mjs";
8
7
  //#region src/commands/subscription/update.ts
9
8
  var update_default = defineMetabaseCommand({
10
9
  meta: {
@@ -36,12 +35,12 @@ var update_default = defineMetabaseCommand({
36
35
  "mb subscription update 1 --body '{\"channels\":[{\"channel_type\":\"email\",\"schedule_type\":\"weekly\",\"schedule_hour\":8,\"schedule_day\":\"mon\",\"recipients\":[{\"email\":\"team@example.com\"}]}]}'",
37
36
  "mb subscription update 1 --file patch.json"
38
37
  ],
39
- async run({ args, ctx, getClient }) {
38
+ async run({ args, ctx, getClient, readBody }) {
40
39
  const id = parseId(args.id);
41
40
  const body = await readBody({
42
41
  flag: args.body,
43
42
  file: args.file
44
- }, PulseUpdateInput);
43
+ });
45
44
  const updated = await (await getClient()).pulse.update(id, body);
46
45
  renderSummary(updated, pulseView, `Updated subscription ${updated.id}.`, ctx);
47
46
  }
@@ -1,10 +1,9 @@
1
- import { c as renderSummary, ct as outputFlags, lt as profileFlag, rt as connectionFlags } from "./cli.mjs";
2
- import { t as parseId } from "./parse-id-5BZGQ9Vd.mjs";
3
- import { t as defineMetabaseCommand } from "./runtime-Cmes70jO.mjs";
4
- import { t as readBody } from "./body-C0VnEiRV.mjs";
1
+ import { it as connectionFlags, l as renderSummary, lt as outputFlags, ut as profileFlag } from "./cli.mjs";
2
+ import { t as parseId } from "./parse-id-EXZan40V.mjs";
3
+ import { t as defineMetabaseCommand } from "./runtime-iIsqiOwO.mjs";
5
4
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
6
- import { o as TransformJobUpdateInput, t as TransformJob } from "./transform-job-ClX8e5iO.mjs";
7
- import { t as transformJobView } from "./transform-job-BBZ5L46v.mjs";
5
+ import { o as TransformJobUpdateInput, t as TransformJob } from "./transform-job-CDIb3B9o.mjs";
6
+ import { t as transformJobView } from "./transform-job-D18XRLBK.mjs";
8
7
  //#region src/commands/transform-job/update.ts
9
8
  var update_default = defineMetabaseCommand({
10
9
  meta: {
@@ -30,12 +29,12 @@ var update_default = defineMetabaseCommand({
30
29
  "mb transform-job update 1 --file patch.json",
31
30
  "mb transform-job update 1 --body '{\"schedule\":\"0 0 6 * * ?\"}'"
32
31
  ],
33
- async run({ args, ctx, getClient }) {
32
+ async run({ args, ctx, getClient, readBody }) {
34
33
  const id = parseId(args.id);
35
34
  const body = await readBody({
36
35
  flag: args.body,
37
36
  file: args.file
38
- }, TransformJobUpdateInput);
37
+ });
39
38
  const updated = await (await getClient()).transformJob.update(id, body);
40
39
  renderSummary(updated, transformJobView, `Updated transform job ${updated.id} "${updated.name}".`, ctx);
41
40
  }
@@ -1,10 +1,9 @@
1
- import { c as renderSummary, ct as outputFlags, lt as profileFlag, rt as connectionFlags } from "./cli.mjs";
2
- import { t as parseId } from "./parse-id-5BZGQ9Vd.mjs";
3
- import { t as defineMetabaseCommand } from "./runtime-Cmes70jO.mjs";
4
- import { t as readBody } from "./body-C0VnEiRV.mjs";
1
+ import { it as connectionFlags, l as renderSummary, lt as outputFlags, ut as profileFlag } from "./cli.mjs";
2
+ import { t as parseId } from "./parse-id-EXZan40V.mjs";
3
+ import { t as defineMetabaseCommand } from "./runtime-iIsqiOwO.mjs";
5
4
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
6
- import { i as DocumentUpdateInput, t as Document } from "./document-UMG6me2P.mjs";
7
- import { t as documentView } from "./document-DVIu3Vj4.mjs";
5
+ import { i as DocumentUpdateInput, t as Document } from "./document-BHOQq2T_.mjs";
6
+ import { t as documentView } from "./document-lS1XZEF3.mjs";
8
7
  //#region src/commands/document/update.ts
9
8
  var update_default = defineMetabaseCommand({
10
9
  meta: {
@@ -31,12 +30,12 @@ var update_default = defineMetabaseCommand({
31
30
  "mb document update 1 --body '{\"name\":\"Renamed\"}'",
32
31
  "mb document update 1 --body '{\"archived\":false}'"
33
32
  ],
34
- async run({ args, ctx, getClient }) {
33
+ async run({ args, ctx, getClient, readBody }) {
35
34
  const id = parseId(args.id);
36
35
  const body = await readBody({
37
36
  flag: args.body,
38
37
  file: args.file
39
- }, DocumentUpdateInput);
38
+ });
40
39
  const updated = await (await getClient()).document.update(id, body);
41
40
  renderSummary(updated, documentView, `Updated document ${updated.id} "${updated.name}".`, ctx);
42
41
  }