@metabase/cli 0.3.1-alpha.support-worktrees.b634907 → 0.3.1-alpha.transform-tests.3fbcf8b

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 (246) hide show
  1. package/dist/{add-collection-CxzzDG4z.mjs → add-collection-C-XJPp3F.mjs} +5 -6
  2. package/dist/{alert-CQ7Az16h.mjs → alert-Klz8Bhst.mjs} +7 -7
  3. package/dist/{alerts-DmwyyBfW.mjs → alerts-Bp2vByJf.mjs} +6 -7
  4. package/dist/{append-B0avMkvW.mjs → append-D16_s1HW.mjs} +3 -4
  5. package/dist/archive-BOJUGwyL.mjs +32 -0
  6. package/dist/{archive-Cvrkz8F8.mjs → archive-Bj4MjbJY.mjs} +4 -5
  7. package/dist/{archive-THcEfy9B.mjs → archive-C9iNjXcI.mjs} +4 -5
  8. package/dist/{archive-BPSNe0Ul.mjs → archive-CA-HIfQq.mjs} +3 -4
  9. package/dist/{archive-DCyeRNfV.mjs → archive-D4nGMs8A.mjs} +3 -4
  10. package/dist/{archive-BVblae-p.mjs → archive-Dd7ZTibw.mjs} +3 -4
  11. package/dist/{archive-CMTHh4-w.mjs → archive-Q_qUuYh8.mjs} +3 -4
  12. package/dist/archive-RzzXt2V0.mjs +32 -0
  13. package/dist/{archive-BZEu6UfT.mjs → archive-lDnTIypd.mjs} +5 -6
  14. package/dist/{archive-DFofUIEC.mjs → archive-nDvHMzTv.mjs} +3 -4
  15. package/dist/{archive-BQ50OZ7y.mjs → archive-vzu8ghZZ.mjs} +3 -4
  16. package/dist/{auth-BEEkuu4J.mjs → auth-kyPQfiND.mjs} +5 -5
  17. package/dist/{branches-CmWc8NyL.mjs → branches-QixvzIpl.mjs} +3 -4
  18. package/dist/{cancel-DrQqmxvn.mjs → cancel-CPStS4zJ.mjs} +3 -4
  19. package/dist/cancel-task--cuSISnl.mjs +28 -0
  20. package/dist/{card-CrBGUkGQ.mjs → card-DZxRmver.mjs} +0 -1
  21. package/dist/card-p2r_szeS.mjs +24 -0
  22. package/dist/{card-BEeafd4Y.mjs → card-zyUkr2nS.mjs} +1 -1
  23. package/dist/{cards-M_6X8wCI.mjs → cards-CNbV8aGO.mjs} +4 -5
  24. package/dist/cli.mjs +48 -142
  25. package/dist/{client-DYD8WZYy.mjs → client-DynvZqa0.mjs} +129 -207
  26. package/dist/collection-CAM47Der.mjs +20 -0
  27. package/dist/{collection-CJHqsFKP.mjs → collection-CGoVLvcD.mjs} +1 -1
  28. package/dist/{collection-BxE7OzcQ.mjs → collection-CfulNRBG.mjs} +3 -6
  29. package/dist/{content-translation-C8MlXPOF.mjs → content-translation-CxTabpLF.mjs} +3 -3
  30. package/dist/{create-BqpkCjx4.mjs → create-BGV7ejai.mjs} +2 -3
  31. package/dist/{create-ByuJ6T4k.mjs → create-BGy4L_yh.mjs} +5 -6
  32. package/dist/{create-CY-SzM66.mjs → create-BMokmmLp2.mjs} +9 -14
  33. package/dist/{create-CJ7Am4Gc.mjs → create-BTvSwLws.mjs} +3 -4
  34. package/dist/{create-C2XFfbjx.mjs → create-BikaTHCw.mjs} +2 -3
  35. package/dist/{create-z-oMrlfT.mjs → create-BsvpUxJq.mjs} +4 -5
  36. package/dist/{create-BLWwN0uw.mjs → create-CEP4Jsrd.mjs} +3 -4
  37. package/dist/{create-hTc131aX.mjs → create-CYhsYOOJ.mjs} +2 -3
  38. package/dist/{create-CoubLR5o.mjs → create-CsABLrSI.mjs} +3 -4
  39. package/dist/{create-ldrghMd1.mjs → create-CtDaASGO.mjs} +2 -3
  40. package/dist/{create-myI6doga.mjs → create-DMLjSEkF.mjs} +3 -4
  41. package/dist/{create-D0anrINz.mjs → create-M8qXs24L.mjs} +8 -13
  42. package/dist/{create-BupBEwR2.mjs → create-U15wd8_9.mjs} +6 -11
  43. package/dist/{create-BA_tTDEk.mjs → create-UxWtLwXT.mjs} +3 -4
  44. package/dist/{create-C7iooS6W.mjs → create-WIIp7MVV.mjs} +7 -13
  45. package/dist/create-branch-Bkq9rtf7.mjs +35 -0
  46. package/dist/create-ku05K1Oj.mjs +34 -0
  47. package/dist/{csv-DBNzJiWK.mjs → csv-GincCch9.mjs} +3 -4
  48. package/dist/{current-task-YzemU0Ic.mjs → current-task-CbnNWQ7H.mjs} +7 -12
  49. package/dist/{dashboard-B1mpfCq_.mjs → dashboard-ReNaou5J.mjs} +10 -10
  50. package/dist/{db-1tLH3nYI.mjs → db-2hSYsqHk.mjs} +7 -7
  51. package/dist/{delete-CpKH5ia4.mjs → delete-B2wmUpj_.mjs} +4 -5
  52. package/dist/{delete-CD_-B4Kq.mjs → delete-BEPw7WRT.mjs} +4 -5
  53. package/dist/{delete-eAUB7p-f.mjs → delete-Bv3_SIqh.mjs} +5 -10
  54. package/dist/{delete-DjAUp9mk.mjs → delete-C1YmyeVy.mjs} +4 -5
  55. package/dist/delete-CZqleA9Q.mjs +44 -0
  56. package/dist/{delete-QNgBV6eS.mjs → delete-DNsY94Ok.mjs} +5 -10
  57. package/dist/{delete-runtime-b2_ZMSjj.mjs → delete-runtime-D74s6vhu.mjs} +1 -1
  58. package/dist/{delete-table-DamlxnSO.mjs → delete-table-DySwoEaq.mjs} +5 -10
  59. package/dist/dependencies-ygT6uMu4.mjs +36 -0
  60. package/dist/dirty-BkiHZ8gb.mjs +31 -0
  61. package/dist/document-DGbDloCb.mjs +19 -0
  62. package/dist/{download-C4v7u-AV.mjs → download-Chr-YNTG.mjs} +2 -3
  63. package/dist/{eid-CP35PdEF.mjs → eid-BvY-YGpN.mjs} +2 -3
  64. package/dist/{events-DmbzKIh_.mjs → events-B01P0G7C.mjs} +4 -5
  65. package/dist/{export-i8D6laBG.mjs → export-CG23iezf.mjs} +12 -25
  66. package/dist/{field-BKn9bt7I.mjs → field-DikmNcAt.mjs} +5 -5
  67. package/dist/{fields-8_p81BqN.mjs → fields-C9BF3jHL.mjs} +4 -5
  68. package/dist/get-B3jvGI0b.mjs +31 -0
  69. package/dist/{get-CNEQK0-9.mjs → get-B4GltkXP.mjs} +4 -5
  70. package/dist/get-BHpVRSbm.mjs +32 -0
  71. package/dist/{get-N4dOaTsp.mjs → get-BYSFFlsd.mjs} +4 -5
  72. package/dist/{get-BbHPFNqr.mjs → get-Blbcl76m.mjs} +3 -4
  73. package/dist/{get-CPTbySa7.mjs → get-BtauixMx.mjs} +3 -4
  74. package/dist/{get-DFkbi5L3.mjs → get-Buxkx-RX.mjs} +2 -3
  75. package/dist/get-C1V7vZse.mjs +31 -0
  76. package/dist/{get-CAzSP-7o.mjs → get-C99cjjD0.mjs} +3 -4
  77. package/dist/{get-BBOfshz1.mjs → get-CMMXBVff.mjs} +3 -4
  78. package/dist/{get-Bds6Izxk.mjs → get-CkMLxzVy.mjs} +3 -4
  79. package/dist/{get-vrccOMBk.mjs → get-DY-e5oP7.mjs} +3 -4
  80. package/dist/{get-B0g6VMBC.mjs → get-DZpRq_Fw.mjs} +3 -4
  81. package/dist/{get-DnCE7K0y.mjs → get-DdSB-fpR.mjs} +4 -5
  82. package/dist/{get-BHGgXqUq.mjs → get-DvqYIBp5.mjs} +3 -4
  83. package/dist/get-FJofgEPB.mjs +36 -0
  84. package/dist/{get-CWf46UFu.mjs → get-N5EUCDL0.mjs} +5 -6
  85. package/dist/{get-vvs0qzzM.mjs → get-PKhv8WUf.mjs} +3 -4
  86. package/dist/{get-BvW21ujw.mjs → get-UW0DOjH5.mjs} +3 -4
  87. package/dist/{get-DvLuY5Xu.mjs → get-gFM8-HHP.mjs} +9 -17
  88. package/dist/{get-run-4Ng8_awa.mjs → get-run-F7ARJeAD.mjs} +5 -6
  89. package/dist/{git-sync-DLzJrdMi.mjs → git-sync-BDnxPrqU.mjs} +3 -22
  90. package/dist/{git-sync-LQIVMNxO.mjs → git-sync-DxD_ng48.mjs} +2 -31
  91. package/dist/git-sync-IW4T2sKq.mjs +28 -0
  92. package/dist/{group-YN6jj2AN.mjs → group-DBM87IgC.mjs} +2 -3
  93. package/dist/{has-remote-changes-BXPGI9xG.mjs → has-remote-changes-Bwyp8mc-.mjs} +6 -14
  94. package/dist/{import-BoxOkA-G.mjs → import-CPY8aM8d.mjs} +11 -28
  95. package/dist/{is-dirty-Cwxq4_gd.mjs → is-dirty-0F_UJY7Q.mjs} +6 -15
  96. package/dist/{items-Cv6iAzrI.mjs → items-FUop0zGR.mjs} +9 -17
  97. package/dist/{library-Cfw6eF35.mjs → library-ClLgrAXy.mjs} +1 -1
  98. package/dist/{library-fhVn1KDC.mjs → library-DfYAT2Ep.mjs} +1 -1
  99. package/dist/{library-CRaOhJnj.mjs → library-DpOtb0E0.mjs} +5 -5
  100. package/dist/{list-BBp9XjYs.mjs → list--B2EUWJg.mjs} +3 -4
  101. package/dist/list-B-74c1BD.mjs +35 -0
  102. package/dist/{list-BLJkJp5a.mjs → list-BASNYNJr.mjs} +3 -4
  103. package/dist/list-BQaXU1bp.mjs +28 -0
  104. package/dist/{list-DhrapAcy.mjs → list-BQrk4Ua4.mjs} +3 -4
  105. package/dist/{list-C8J3n8B8.mjs → list-Beoh2AYD.mjs} +3 -4
  106. package/dist/{list-9uvk9dIA.mjs → list-Bqm0F1Y-.mjs} +3 -4
  107. package/dist/{list-oAAgU5uE.mjs → list-C2qxVTu7.mjs} +9 -16
  108. package/dist/list-CGkgypYz.mjs +38 -0
  109. package/dist/{list-CtZAu4im.mjs → list-CvzWE6CS.mjs} +4 -5
  110. package/dist/list-DMlFbccD.mjs +28 -0
  111. package/dist/{list-tutXEQRW.mjs → list-DdFViPYS.mjs} +4 -5
  112. package/dist/{list-DOZNpX4b.mjs → list-DfbsmsHv.mjs} +4 -5
  113. package/dist/{list--2T-GUEF.mjs → list-GyP4b_tU.mjs} +4 -5
  114. package/dist/{list-DOaWCx8S.mjs → list-Uc1OxV36.mjs} +8 -17
  115. package/dist/{list-L2U1l6R4.mjs → list-ba7lI44w.mjs} +3 -4
  116. package/dist/{list-BwkfWtP2.mjs → list-lzIKVtE9.mjs} +3 -4
  117. package/dist/list-rQ-6XSua.mjs +36 -0
  118. package/dist/{list-WSJLnunb.mjs → list-xC99-2X0.mjs} +3 -4
  119. package/dist/{login-DqWRF3Og.mjs → login-D5jt0q9K.mjs} +4 -5
  120. package/dist/{logout-ChCz1bkf.mjs → logout-DViy0VzV.mjs} +2 -3
  121. package/dist/{measure-C5dIdFj1.mjs → measure-IPlonpqU.mjs} +6 -6
  122. package/dist/{notification-DVrLkjFT.mjs → notification-Fcq1fIPw.mjs} +1 -1
  123. package/dist/{parameter-values-Dy4cBs5y.mjs → parameter-values-CHyOCxmR.mjs} +3 -4
  124. package/dist/{parse-id-DDCn3VXx.mjs → parse-id-CPINxy7h.mjs} +1 -1
  125. package/dist/{parse-ref-Wv21Roup.mjs → parse-ref-ibKVB0J4.mjs} +2 -6
  126. package/dist/{path-IYhuzjQV.mjs → path-bMZzUOVo.mjs} +4 -5
  127. package/dist/{preflight-HLUVr2Yf.mjs → preflight-CoF1Em99.mjs} +1 -1
  128. package/dist/{publish-CMkCSt8i.mjs → publish-Cs-OUG6n.mjs} +4 -5
  129. package/dist/{pulse-a-83M4DV.mjs → pulse-DhG6I9mI.mjs} +1 -1
  130. package/dist/{query-tWQAV9pb.mjs → query-CEdmSEq8.mjs} +6 -7
  131. package/dist/{query-Bka77J62.mjs → query-CpD46hL6.mjs} +6 -7
  132. package/dist/{query-result-E4Q-Gra6.mjs → query-result-DBDwk8TS.mjs} +1 -1
  133. package/dist/{remove-collection-BV9wRQZD.mjs → remove-collection-DynsqkwG.mjs} +5 -6
  134. package/dist/{render-DHjCcUXn.mjs → render-CI93iP0I.mjs} +1 -7
  135. package/dist/{replace-mt47dlRV.mjs → replace-C6YqqCG9.mjs} +3 -4
  136. package/dist/{rescan-values-6cRjcpTs.mjs → rescan-values-C6PB02uT.mjs} +3 -4
  137. package/dist/run-C7PXBBEl.mjs +50 -0
  138. package/dist/{run-DI_pDxji.mjs → run-Cb86sH_c.mjs} +5 -6
  139. package/dist/{run-BmGmC-GQ.mjs → run-CpmWoOGp.mjs} +3 -4
  140. package/dist/{runs-9Fu0mug5.mjs → runs-CCRszsbB.mjs} +6 -7
  141. package/dist/{runtime-CNAZ_FuR.mjs → runtime-BMJv4VOi.mjs} +8 -103
  142. package/dist/{schema-tables-CLG0mtQb.mjs → schema-tables-BQdFNy1B.mjs} +4 -5
  143. package/dist/{schemas-Cm5NWy59.mjs → schemas-CNAPFh4n.mjs} +4 -5
  144. package/dist/{search-CljYyf2F.mjs → search-BKVV6YtB.mjs} +8 -14
  145. package/dist/{segment-IRzlQggt.mjs → segment-CDoZHSYX.mjs} +6 -6
  146. package/dist/{selectors-D4iOP5uB.mjs → selectors-BXbjj36S.mjs} +2 -2
  147. package/dist/{send-D7DBnQbu.mjs → send-D2eXL9lt.mjs} +3 -4
  148. package/dist/{set-active-CkE0Eiqh.mjs → set-active-DT61WwV0.mjs} +2 -3
  149. package/dist/{set-DKN8fuC6.mjs → set-sHBtSGLi.mjs} +2 -3
  150. package/dist/{setting-CN4l8N-b.mjs → setting-dkfKvCxc.mjs} +4 -4
  151. package/dist/{setup-BpTptmdO.mjs → setup-TOwWatgm.mjs} +2 -3
  152. package/dist/{skills-BSAiLI3Z.mjs → skills-BcOjZldN.mjs} +3 -3
  153. package/dist/{skills-hVKSOCUf.mjs → skills-DTCrMcix.mjs} +1 -1
  154. package/dist/{snippet-BxgvQ09J.mjs → snippet-CyKAgIZl.mjs} +2 -5
  155. package/dist/snippet-DMdFqvNq.mjs +19 -0
  156. package/dist/{snippet-DecHB4Dn.mjs → snippet-oJLaYW9V.mjs} +1 -1
  157. package/dist/{stash-DJs6A6BA.mjs → stash-BgWw2lyu.mjs} +6 -7
  158. package/dist/{status-N_2EaWb7.mjs → status-B14FO8n7.mjs} +6 -15
  159. package/dist/{status-DtwBDRtc.mjs → status-J4pEIm-c.mjs} +16 -44
  160. package/dist/{subscription-BnGDp1oy.mjs → subscription-B1uuKxM7.mjs} +6 -6
  161. package/dist/{subscriptions-BfFwV__x.mjs → subscriptions-BHIATSN6.mjs} +6 -7
  162. package/dist/{summary-CHiq-4mz.mjs → summary-B1V5TXaZ.mjs} +3 -4
  163. package/dist/{sync-schema-DhnM-rpm.mjs → sync-schema-D1vX-rpv.mjs} +4 -5
  164. package/dist/{sync-task-G1K47Nvn.mjs → sync-task-BACcrs0i.mjs} +1 -1
  165. package/dist/{table-BQaiCSNS.mjs → table-CDeO1WbH.mjs} +5 -5
  166. package/dist/timeline-MQFX3Fla.mjs +21 -0
  167. package/dist/{timeline-event-B7H1y8s8.mjs → timeline-event-oGmne082.mjs} +6 -6
  168. package/dist/transform-CWIqW64R.mjs +28 -0
  169. package/dist/{transform-BvOEn41C.mjs → transform-D3QX0jxA.mjs} +1 -4
  170. package/dist/{transform-CiDOJGBW.mjs → transform-DoTyyXAu.mjs} +2 -2
  171. package/dist/transform-job-DpF2MARE.mjs +22 -0
  172. package/dist/{transform-tag-Dip51YBa.mjs → transform-tag-Bpj8l5Ci.mjs} +5 -5
  173. package/dist/{transform-tag-jBVd6wXd.mjs → transform-tag-CcElGp3C.mjs} +4 -9
  174. package/dist/{transform-tag-DiXWRCQG.mjs → transform-tag-Dmb4u3-Q.mjs} +1 -1
  175. package/dist/transform-test-BJOPAwKl.mjs +25 -0
  176. package/dist/transform-test-BhkpwFqD.mjs +16 -0
  177. package/dist/transform-test-Dhcj7u-U.mjs +142 -0
  178. package/dist/{transforms-C-jYgS6z.mjs → transforms-K7Y4ON_q.mjs} +6 -7
  179. package/dist/tree-CtFtroe4.mjs +27 -0
  180. package/dist/{unpublish-BokbnLng.mjs → unpublish-D7UaaIWA.mjs} +3 -4
  181. package/dist/{update-BRXKLeJH.mjs → update-3ksm443P.mjs} +3 -4
  182. package/dist/{update-AZSXMJqu.mjs → update-B7veBLhx.mjs} +7 -13
  183. package/dist/{update-CfQoYVTc.mjs → update-BicO3Lio.mjs} +3 -4
  184. package/dist/{update-e7lyQPxq.mjs → update-BlBEKrNE.mjs} +7 -13
  185. package/dist/{update-BErxnZrj.mjs → update-BpuZsX9z.mjs} +4 -5
  186. package/dist/{update-CKL2FtoX.mjs → update-BvbPpgOL.mjs} +4 -5
  187. package/dist/{update-C4PbAYgW.mjs → update-CGJXd_E3.mjs} +3 -4
  188. package/dist/{update-B9DcRSBQ.mjs → update-C_wTtrtX.mjs} +10 -16
  189. package/dist/{update-BCGE5UYC.mjs → update-D9Nfv864.mjs} +4 -5
  190. package/dist/{update-D9OTkZhw.mjs → update-DUNJEk8m.mjs} +3 -4
  191. package/dist/{update-Bc8s1TL1.mjs → update-HqUKBeM2.mjs} +3 -4
  192. package/dist/{update-CpLEEbiJ.mjs → update-MWaDj2VX.mjs} +6 -7
  193. package/dist/{update-BBQInyiJ.mjs → update-YkB3xWUh.mjs} +4 -5
  194. package/dist/{update-rkbpH0lF.mjs → update-bix8NoKq.mjs} +3 -4
  195. package/dist/{update-CPEU8ZEu.mjs → update-dRAPKE3c.mjs} +4 -5
  196. package/dist/{update-dashcard-St-dGcE3.mjs → update-dashcard-BGqKMqQb.mjs} +3 -4
  197. package/dist/update-e4ufwrkF.mjs +41 -0
  198. package/dist/{upgrade-CUoRHfVg.mjs → upgrade-DkQ1wk4z.mjs} +2 -3
  199. package/dist/{upload-BPd1Uzxc.mjs → upload-BfGc-L4t.mjs} +2 -3
  200. package/dist/upload-JN6EK96c.mjs +13 -0
  201. package/dist/{uuid-CFN8LIkP.mjs → uuid-BLBLkWAF.mjs} +2 -3
  202. package/dist/{validate-query-Chc43ezW.mjs → validate-query-DaGYSmpQ.mjs} +1 -1
  203. package/dist/{values-BL_U-Zdw.mjs → values-8CrXBkyg.mjs} +3 -4
  204. package/dist/{verify-DnBaRmkI.mjs → verify-nNVN-0CR.mjs} +2 -2
  205. package/dist/{wait-mPoOZxrw.mjs → wait-YrD7UYFF.mjs} +7 -12
  206. package/dist/{wait-flags-DzytMEG8.mjs → wait-flags-CDtMS8FP.mjs} +2 -2
  207. package/dist/{window-DSb1tqSe.mjs → window-BkvrP0gB.mjs} +1 -1
  208. package/package.json +1 -1
  209. package/skill-data/core/SKILL.md +15 -17
  210. package/skill-data/git-sync/SKILL.md +1 -91
  211. package/skill-data/transform/SKILL.md +56 -10
  212. package/dist/archive-CqOKKrb2.mjs +0 -38
  213. package/dist/archive-DCjdICg7.mjs +0 -38
  214. package/dist/branch-BSeGrtP7.mjs +0 -28
  215. package/dist/cancel-task-BMQXtjW5.mjs +0 -34
  216. package/dist/card-RlzLDB2z.mjs +0 -24
  217. package/dist/collection-Bhe20ckt.mjs +0 -20
  218. package/dist/create-DwrhcI8r2.mjs +0 -144
  219. package/dist/create-branch-B3BMpF1g.mjs +0 -49
  220. package/dist/delete-D_OgiI4v.mjs +0 -86
  221. package/dist/dependencies-DEx0BsZ3.mjs +0 -41
  222. package/dist/dirty-dC1-Ud0G.mjs +0 -40
  223. package/dist/document-DOJbBWLF.mjs +0 -19
  224. package/dist/export-preflight-B5MvYhm3.mjs +0 -67
  225. package/dist/get-Cfagmy1i.mjs +0 -42
  226. package/dist/get-DwdMvWXU.mjs +0 -44
  227. package/dist/get-jV8G90Zy.mjs +0 -42
  228. package/dist/get-mGEv-kag.mjs +0 -33
  229. package/dist/git-sync-DjoaNmRM.mjs +0 -29
  230. package/dist/list-5Iojbr_p.mjs +0 -37
  231. package/dist/list-BD4onDqO.mjs +0 -37
  232. package/dist/list-C2yL7-CH.mjs +0 -45
  233. package/dist/list-CbbKip6U.mjs +0 -32
  234. package/dist/list-Dg2XeDON.mjs +0 -47
  235. package/dist/pin-BuZ_kg-u.mjs +0 -62
  236. package/dist/scope-DsGuWG5w.mjs +0 -11
  237. package/dist/snippet-LlHz3FdJ.mjs +0 -19
  238. package/dist/timeline-C2VW0Ph6.mjs +0 -21
  239. package/dist/transform-DAf0Y02t.mjs +0 -28
  240. package/dist/transform-job-ntiT5Rrh.mjs +0 -22
  241. package/dist/tree-DtyJhD54.mjs +0 -36
  242. package/dist/unpin-DxbXmLtW.mjs +0 -45
  243. package/dist/upload-Dc3QLhZw.mjs +0 -13
  244. package/dist/worktree-ChdDlG3Q.mjs +0 -25
  245. package/dist/worktree-DC0kTxxQ.mjs +0 -20
  246. package/dist/worktree-xAro1xAB.mjs +0 -24
@@ -1,22 +1,16 @@
1
- import { H as profileFlag, R as connectionFlags, U as worktreeFlag, V as outputFlags, p as renderSummary } from "./cli.mjs";
2
- import { r as WORKTREE_SCOPE_DETAIL, s as scopeQuery, t as defineMetabaseCommand } from "./runtime-CNAZ_FuR.mjs";
3
- import { r as Collection } from "./collection-BxE7OzcQ.mjs";
4
- import { u as SyncTask } from "./git-sync-DLzJrdMi.mjs";
5
- import { t as Worktree } from "./worktree-xAro1xAB.mjs";
6
- import { n as formatSyncTask } from "./sync-task-G1K47Nvn.mjs";
1
+ import { F as outputFlags, I as profileFlag, M as connectionFlags, c as renderSummary } from "./cli.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-BMJv4VOi.mjs";
3
+ import { r as Collection } from "./collection-CfulNRBG.mjs";
4
+ import { l as SyncTask } from "./git-sync-BDnxPrqU.mjs";
5
+ import { n as formatSyncTask } from "./sync-task-BACcrs0i.mjs";
7
6
  import { z } from "zod";
8
7
  //#region src/commands/git-sync/status.ts
9
8
  const SyncedCollection = Collection.pick({
10
9
  id: true,
11
10
  name: true
12
11
  }).strip();
13
- const SyncStatusWorktree = Worktree.pick({
14
- id: true,
15
- branch: true
16
- }).strip();
17
12
  const SyncStatus = z.object({
18
13
  branch: z.string().nullable(),
19
- worktree: SyncStatusWorktree.nullable(),
20
14
  is_dirty: z.boolean(),
21
15
  current_task: SyncTask.nullable(),
22
16
  synced_collections: z.array(SyncedCollection)
@@ -28,10 +22,6 @@ const syncStatusView = {
28
22
  key: "branch",
29
23
  label: "Branch"
30
24
  },
31
- {
32
- key: "worktree",
33
- label: "Worktree"
34
- },
35
25
  {
36
26
  key: "is_dirty",
37
27
  label: "Dirty"
@@ -55,52 +45,34 @@ var status_default = defineMetabaseCommand({
55
45
  minVersion: 60,
56
46
  tokenFeature: "remote_sync"
57
47
  },
58
- worktree: "scoped",
59
- details: "Inside a worktree the branch reported is the worktree's own and the dirty flag and current task are the worktree's; the per-collection sync scope is the main app's alone, so it reads empty there. " + WORKTREE_SCOPE_DETAIL,
60
48
  args: {
61
49
  ...outputFlags,
62
50
  ...profileFlag,
63
- ...connectionFlags,
64
- ...worktreeFlag
51
+ ...connectionFlags
65
52
  },
66
53
  outputSchema: SyncStatus,
67
- examples: [
68
- "mb git-sync status",
69
- "mb git-sync status --json",
70
- "mb git-sync status --worktree feat/transforms"
71
- ],
72
- async run({ ctx, getClient, getWorktree }) {
54
+ examples: ["mb git-sync status", "mb git-sync status --json"],
55
+ async run({ ctx, getClient }) {
73
56
  const mb = await getClient();
74
- const scope = await getWorktree();
75
- const query = scopeQuery(scope);
76
- const [isDirty, currentTask] = await Promise.all([mb.gitSync.isDirty(query), mb.gitSync.currentTask(query)]);
77
- const taskPart = currentTask === null ? "No task running." : formatSyncTask(currentTask);
78
- const dirtyPart = isDirty ? "Metabase has unsynced local changes" : "in sync with the remote";
79
- if (scope !== null) {
80
- const status = {
81
- branch: scope.branch,
82
- worktree: scope,
83
- is_dirty: isDirty,
84
- current_task: currentTask,
85
- synced_collections: []
86
- };
87
- const scopePart = `Worktree ${scope.id} (${scope.branch})`;
88
- renderSummary(status, syncStatusView, `${scopePart} — ${dirtyPart}. ${taskPart}`, ctx);
89
- return;
90
- }
91
- const [branch, collections] = await Promise.all([mb.gitSync.branch(), mb.gitSync.syncedCollections()]);
57
+ const [branch, isDirty, currentTask, collections] = await Promise.all([
58
+ mb.gitSync.branch(),
59
+ mb.gitSync.isDirty(),
60
+ mb.gitSync.currentTask(),
61
+ mb.gitSync.syncedCollections()
62
+ ]);
92
63
  const syncedCollections = collections.data.map((collection) => ({
93
64
  id: collection.id,
94
65
  name: collection.name
95
66
  }));
96
67
  const summary = {
97
68
  branch,
98
- worktree: null,
99
69
  is_dirty: isDirty,
100
70
  current_task: currentTask,
101
71
  synced_collections: syncedCollections
102
72
  };
103
73
  const branchPart = branch === null ? "git-sync branch not set" : `Branch ${branch}`;
74
+ const dirtyPart = isDirty ? "Metabase has unsynced local changes" : "in sync with the remote";
75
+ const taskPart = currentTask === null ? "No task running." : formatSyncTask(currentTask);
104
76
  const scopePart = formatSyncedCollections(syncedCollections);
105
77
  renderSummary(summary, syncStatusView, `${branchPart} — ${dirtyPart}. ${taskPart} ${scopePart}`, ctx);
106
78
  }
@@ -1,4 +1,4 @@
1
- import { t as defineCommandGroup } from "./group-YN6jj2AN.mjs";
1
+ import { t as defineCommandGroup } from "./group-DBM87IgC.mjs";
2
2
  //#region src/commands/subscription/index.ts
3
3
  var subscription_default = defineCommandGroup({
4
4
  name: "subscription",
@@ -11,11 +11,11 @@ var subscription_default = defineCommandGroup({
11
11
  purpose: "the dashboard and dashcards a subscription delivers"
12
12
  }],
13
13
  subCommands: {
14
- list: () => import("./list-tutXEQRW.mjs").then((mod) => mod.default),
15
- get: () => import("./get-N4dOaTsp.mjs").then((mod) => mod.default),
16
- create: () => import("./create-BLWwN0uw.mjs").then((mod) => mod.default),
17
- update: () => import("./update-BCGE5UYC.mjs").then((mod) => mod.default),
18
- archive: () => import("./archive-Cvrkz8F8.mjs").then((mod) => mod.default)
14
+ list: () => import("./list-DdFViPYS.mjs").then((mod) => mod.default),
15
+ get: () => import("./get-BYSFFlsd.mjs").then((mod) => mod.default),
16
+ create: () => import("./create-CEP4Jsrd.mjs").then((mod) => mod.default),
17
+ update: () => import("./update-D9Nfv864.mjs").then((mod) => mod.default),
18
+ archive: () => import("./archive-Bj4MjbJY.mjs").then((mod) => mod.default)
19
19
  }
20
20
  });
21
21
  //#endregion
@@ -1,9 +1,9 @@
1
- import { H as profileFlag, R as connectionFlags, V as outputFlags, f as renderList, z as listFlags } from "./cli.mjs";
2
- import { t as defineMetabaseCommand } from "./runtime-CNAZ_FuR.mjs";
3
- import { t as parseId } from "./parse-id-DDCn3VXx.mjs";
4
- import { n as windowList } from "./window-DSb1tqSe.mjs";
5
- import { t as pulseView } from "./pulse-a-83M4DV.mjs";
6
- import { SubscriptionListEnvelope } from "./list-tutXEQRW.mjs";
1
+ import { F as outputFlags, I as profileFlag, M as connectionFlags, N as listFlags, s as renderList } from "./cli.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-BMJv4VOi.mjs";
3
+ import { t as parseId } from "./parse-id-CPINxy7h.mjs";
4
+ import { n as windowList } from "./window-BkvrP0gB.mjs";
5
+ import { t as pulseView } from "./pulse-DhG6I9mI.mjs";
6
+ import { SubscriptionListEnvelope } from "./list-DdFViPYS.mjs";
7
7
  //#region src/commands/dashboard/subscriptions.ts
8
8
  var subscriptions_default = defineMetabaseCommand({
9
9
  meta: {
@@ -12,7 +12,6 @@ var subscriptions_default = defineMetabaseCommand({
12
12
  },
13
13
  details: "Manage them with `mb subscription create|update|archive`, which take the subscription id printed here.",
14
14
  capabilities: { minVersion: 58 },
15
- worktree: "any",
16
15
  args: {
17
16
  ...outputFlags,
18
17
  ...listFlags,
@@ -1,6 +1,6 @@
1
- import { H as profileFlag, R as connectionFlags, V as outputFlags, d as renderItem } from "./cli.mjs";
2
- import { t as defineMetabaseCommand } from "./runtime-CNAZ_FuR.mjs";
3
- import { t as parseId } from "./parse-id-DDCn3VXx.mjs";
1
+ import { F as outputFlags, I as profileFlag, M as connectionFlags, o as renderItem } from "./cli.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-BMJv4VOi.mjs";
3
+ import { t as parseId } from "./parse-id-CPINxy7h.mjs";
4
4
  import { a as FieldSummary } from "./field-Cr2DPUG9.mjs";
5
5
  import { t as fieldSummaryView } from "./field-BPsNa-TO.mjs";
6
6
  //#region src/commands/field/summary.ts
@@ -10,7 +10,6 @@ var summary_default = defineMetabaseCommand({
10
10
  description: "Get the row count and distinct count for a field"
11
11
  },
12
12
  capabilities: { minVersion: 58 },
13
- worktree: "any",
14
13
  args: {
15
14
  ...outputFlags,
16
15
  ...profileFlag,
@@ -1,9 +1,9 @@
1
- import { H as profileFlag, R as connectionFlags, V as outputFlags, p as renderSummary } from "./cli.mjs";
2
- import { t as defineMetabaseCommand } from "./runtime-CNAZ_FuR.mjs";
3
- import { t as parseId } from "./parse-id-DDCn3VXx.mjs";
1
+ import { F as outputFlags, I as profileFlag, M as connectionFlags, c as renderSummary } from "./cli.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-BMJv4VOi.mjs";
3
+ import { t as parseId } from "./parse-id-CPINxy7h.mjs";
4
4
  import { a as DatabaseSyncResult } from "./database-C8G6ZKG0.mjs";
5
5
  import { t as databaseSyncResultView } from "./database-B19qlLKZ.mjs";
6
- import { i as waitFlags, n as parseWaitFlags } from "./wait-flags-DzytMEG8.mjs";
6
+ import { i as waitFlags, n as parseWaitFlags } from "./wait-flags-CDtMS8FP.mjs";
7
7
  //#region src/commands/db/sync-schema.ts
8
8
  var sync_schema_default = defineMetabaseCommand({
9
9
  meta: {
@@ -12,7 +12,6 @@ var sync_schema_default = defineMetabaseCommand({
12
12
  },
13
13
  details: "Queues an async schema sync and returns immediately. Pass --wait to poll the database until its initial_sync_status reports `complete` (a database that has already finished its initial sync returns at once). To wait for a specific newly-materialized transform table to register, prefer `mb transform run <id> --sync`.",
14
14
  capabilities: { minVersion: 58 },
15
- worktree: "main-only",
16
15
  args: {
17
16
  ...outputFlags,
18
17
  ...profileFlag,
@@ -1,4 +1,4 @@
1
- import { f as isSyncTaskFailed, u as SyncTask } from "./git-sync-DLzJrdMi.mjs";
1
+ import { d as isSyncTaskFailed, l as SyncTask } from "./git-sync-BDnxPrqU.mjs";
2
2
  import { z } from "zod";
3
3
  //#region src/commands/git-sync/sync-task.ts
4
4
  const SyncTaskIdle = z.object({ status: z.literal("idle") });
@@ -1,4 +1,4 @@
1
- import { t as defineCommandGroup } from "./group-YN6jj2AN.mjs";
1
+ import { t as defineCommandGroup } from "./group-DBM87IgC.mjs";
2
2
  //#region src/commands/table/index.ts
3
3
  var table_default = defineCommandGroup({
4
4
  name: "table",
@@ -8,10 +8,10 @@ var table_default = defineCommandGroup({
8
8
  purpose: "table and column metadata, semantic types, visibility"
9
9
  }],
10
10
  subCommands: {
11
- list: () => import("./list-DOZNpX4b.mjs").then((m) => m.default),
12
- get: () => import("./get-BbHPFNqr.mjs").then((m) => m.default),
13
- fields: () => import("./fields-8_p81BqN.mjs").then((m) => m.default),
14
- update: () => import("./update-rkbpH0lF.mjs").then((m) => m.default)
11
+ list: () => import("./list-DfbsmsHv.mjs").then((m) => m.default),
12
+ get: () => import("./get-Blbcl76m.mjs").then((m) => m.default),
13
+ fields: () => import("./fields-C9BF3jHL.mjs").then((m) => m.default),
14
+ update: () => import("./update-bix8NoKq.mjs").then((m) => m.default)
15
15
  }
16
16
  });
17
17
  //#endregion
@@ -0,0 +1,21 @@
1
+ import { t as defineCommandGroup } from "./group-DBM87IgC.mjs";
2
+ //#region src/commands/timeline/index.ts
3
+ var timeline_default = defineCommandGroup({
4
+ name: "timeline",
5
+ description: "Manage Metabase timelines (event annotations for time-series charts)",
6
+ skills: [{
7
+ skill: "core",
8
+ purpose: "collection scoping — events render only on questions in the timeline's collection"
9
+ }],
10
+ subCommands: {
11
+ list: () => import("./list-Beoh2AYD.mjs").then((mod) => mod.default),
12
+ get: () => import("./get-CkMLxzVy.mjs").then((mod) => mod.default),
13
+ events: () => import("./events-B01P0G7C.mjs").then((mod) => mod.default),
14
+ create: () => import("./create-BGV7ejai.mjs").then((mod) => mod.default),
15
+ update: () => import("./update-HqUKBeM2.mjs").then((mod) => mod.default),
16
+ archive: () => import("./archive-CA-HIfQq.mjs").then((mod) => mod.default),
17
+ delete: () => import("./delete-C1YmyeVy.mjs").then((mod) => mod.default)
18
+ }
19
+ });
20
+ //#endregion
21
+ export { timeline_default as default };
@@ -1,4 +1,4 @@
1
- import { t as defineCommandGroup } from "./group-YN6jj2AN.mjs";
1
+ import { t as defineCommandGroup } from "./group-DBM87IgC.mjs";
2
2
  //#region src/commands/timeline-event/index.ts
3
3
  var timeline_event_default = defineCommandGroup({
4
4
  name: "timeline-event",
@@ -8,11 +8,11 @@ var timeline_event_default = defineCommandGroup({
8
8
  purpose: "required event fields and timeline collection scoping"
9
9
  }],
10
10
  subCommands: {
11
- get: () => import("./get-BvW21ujw.mjs").then((mod) => mod.default),
12
- create: () => import("./create-hTc131aX.mjs").then((mod) => mod.default),
13
- update: () => import("./update-C4PbAYgW.mjs").then((mod) => mod.default),
14
- archive: () => import("./archive-BVblae-p.mjs").then((mod) => mod.default),
15
- delete: () => import("./delete-CpKH5ia4.mjs").then((mod) => mod.default)
11
+ get: () => import("./get-UW0DOjH5.mjs").then((mod) => mod.default),
12
+ create: () => import("./create-CYhsYOOJ.mjs").then((mod) => mod.default),
13
+ update: () => import("./update-CGJXd_E3.mjs").then((mod) => mod.default),
14
+ archive: () => import("./archive-Dd7ZTibw.mjs").then((mod) => mod.default),
15
+ delete: () => import("./delete-B2wmUpj_.mjs").then((mod) => mod.default)
16
16
  }
17
17
  });
18
18
  //#endregion
@@ -0,0 +1,28 @@
1
+ import { t as defineCommandGroup } from "./group-DBM87IgC.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-DMlFbccD.mjs").then((mod) => mod.default),
15
+ get: () => import("./get-B3jvGI0b.mjs").then((mod) => mod.default),
16
+ dependencies: () => import("./dependencies-ygT6uMu4.mjs").then((mod) => mod.default),
17
+ create: () => import("./create-BMokmmLp2.mjs").then((mod) => mod.default),
18
+ update: () => import("./update-C_wTtrtX.mjs").then((mod) => mod.default),
19
+ delete: () => import("./delete-DNsY94Ok.mjs").then((mod) => mod.default),
20
+ "delete-table": () => import("./delete-table-DySwoEaq.mjs").then((mod) => mod.default),
21
+ run: () => import("./run-Cb86sH_c.mjs").then((mod) => mod.default),
22
+ cancel: () => import("./cancel-CPStS4zJ.mjs").then((mod) => mod.default),
23
+ "get-run": () => import("./get-run-F7ARJeAD.mjs").then((mod) => mod.default),
24
+ runs: () => import("./runs-CCRszsbB.mjs").then((mod) => mod.default)
25
+ }
26
+ });
27
+ //#endregion
28
+ export { transform_default as default };
@@ -135,7 +135,6 @@ const Transform = z.object({
135
135
  updated_at: z.string(),
136
136
  creator_id: z.number().int(),
137
137
  collection_id: z.number().int().nullable(),
138
- worktree_id: z.number().int().positive().nullable().optional(),
139
138
  run_trigger: TransformRunTrigger.nullable().optional(),
140
139
  last_run: TransformLastRun.nullable().optional(),
141
140
  tag_ids: z.array(z.number().int()).optional()
@@ -145,8 +144,7 @@ const TransformCompact = Transform.pick({
145
144
  name: true,
146
145
  description: true,
147
146
  source_type: true,
148
- target_db_id: true,
149
- worktree_id: true
147
+ target_db_id: true
150
148
  }).strip().extend({ target: TransformTargetCompact });
151
149
  const TransformCreateInput = z.object({
152
150
  name: z.string().min(1),
@@ -156,7 +154,6 @@ const TransformCreateInput = z.object({
156
154
  run_trigger: TransformRunTrigger.optional(),
157
155
  tag_ids: z.array(z.number().int().positive()).optional(),
158
156
  collection_id: z.number().int().positive().nullable().optional(),
159
- worktree_id: z.number().int().positive().nullable().optional(),
160
157
  owner_user_id: z.number().int().positive().nullable().optional(),
161
158
  owner_email: z.string().nullable().optional()
162
159
  }).loose();
@@ -1,5 +1,5 @@
1
- import { g as MALFORMED_CELL } from "./cli.mjs";
2
- import { a as TransformRunCompact, n as TransformCompact, s as TransformTarget } from "./transform-BvOEn41C.mjs";
1
+ import { d as MALFORMED_CELL } from "./cli.mjs";
2
+ import { a as TransformRunCompact, n as TransformCompact, s as TransformTarget } from "./transform-D3QX0jxA.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-DBM87IgC.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-ba7lI44w.mjs").then((mod) => mod.default),
12
+ get: () => import("./get-CMMXBVff.mjs").then((mod) => mod.default),
13
+ create: () => import("./create-BikaTHCw.mjs").then((mod) => mod.default),
14
+ update: () => import("./update-BicO3Lio.mjs").then((mod) => mod.default),
15
+ delete: () => import("./delete-BEPw7WRT.mjs").then((mod) => mod.default),
16
+ run: () => import("./run-CpmWoOGp.mjs").then((mod) => mod.default),
17
+ transforms: () => import("./transforms-K7Y4ON_q.mjs").then((mod) => mod.default),
18
+ "set-active": () => import("./set-active-DT61WwV0.mjs").then((mod) => mod.default)
19
+ }
20
+ });
21
+ //#endregion
22
+ export { transform_job_default as default };
@@ -1,4 +1,4 @@
1
- import { t as defineCommandGroup } from "./group-YN6jj2AN.mjs";
1
+ import { t as defineCommandGroup } from "./group-DBM87IgC.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-BD4onDqO.mjs").then((mod) => mod.default),
12
- create: () => import("./create-C7iooS6W.mjs").then((mod) => mod.default),
13
- update: () => import("./update-AZSXMJqu.mjs").then((mod) => mod.default),
14
- delete: () => import("./delete-eAUB7p-f.mjs").then((mod) => mod.default)
11
+ list: () => import("./list-BQaXU1bp.mjs").then((mod) => mod.default),
12
+ create: () => import("./create-WIIp7MVV.mjs").then((mod) => mod.default),
13
+ update: () => import("./update-B7veBLhx.mjs").then((mod) => mod.default),
14
+ delete: () => import("./delete-Bv3_SIqh.mjs").then((mod) => mod.default)
15
15
  }
16
16
  });
17
17
  //#endregion
@@ -4,19 +4,14 @@ const TransformTag = z.object({
4
4
  id: z.number().int(),
5
5
  name: z.string(),
6
6
  entity_id: z.string().nullable(),
7
- built_in_type: z.string().nullable(),
8
- worktree_id: z.number().int().positive().nullable().optional()
7
+ built_in_type: z.string().nullable()
9
8
  }).loose();
10
9
  const TransformTagCompact = TransformTag.pick({
11
10
  id: true,
12
11
  name: true,
13
- built_in_type: true,
14
- worktree_id: true
12
+ built_in_type: true
15
13
  }).strip();
16
- const TransformTagCreateInput = z.object({
17
- name: z.string().min(1),
18
- worktree_id: z.number().int().positive().nullable().optional()
19
- }).loose();
20
- const TransformTagUpdateInput = z.object({ name: z.string().min(1) }).loose();
14
+ const TransformTagCreateInput = z.object({ name: z.string().min(1) }).loose();
15
+ const TransformTagUpdateInput = TransformTagCreateInput;
21
16
  //#endregion
22
17
  export { TransformTagUpdateInput as i, TransformTagCompact as n, TransformTagCreateInput as r, TransformTag as t };
@@ -1,4 +1,4 @@
1
- import { n as TransformTagCompact } from "./transform-tag-jBVd6wXd.mjs";
1
+ import { n as TransformTagCompact } from "./transform-tag-CcElGp3C.mjs";
2
2
  //#region src/output/views/transform-tag.ts
3
3
  const transformTagView = {
4
4
  compactPick: TransformTagCompact,
@@ -0,0 +1,25 @@
1
+ import { n as TransformTestCompact } from "./transform-test-Dhcj7u-U.mjs";
2
+ //#region src/output/views/transform-test.ts
3
+ const transformTestView = {
4
+ compactPick: TransformTestCompact,
5
+ tableColumns: [
6
+ {
7
+ key: "id",
8
+ label: "ID"
9
+ },
10
+ {
11
+ key: "transform_id",
12
+ label: "Transform"
13
+ },
14
+ {
15
+ key: "name",
16
+ label: "Name"
17
+ },
18
+ {
19
+ key: "description",
20
+ label: "Description"
21
+ }
22
+ ]
23
+ };
24
+ //#endregion
25
+ export { transformTestView as t };
@@ -0,0 +1,16 @@
1
+ import { t as defineCommandGroup } from "./group-DBM87IgC.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-B-74c1BD.mjs").then((mod) => mod.default),
8
+ get: () => import("./get-BHpVRSbm.mjs").then((mod) => mod.default),
9
+ create: () => import("./create-ku05K1Oj.mjs").then((mod) => mod.default),
10
+ update: () => import("./update-e4ufwrkF.mjs").then((mod) => mod.default),
11
+ delete: () => import("./delete-CZqleA9Q.mjs").then((mod) => mod.default),
12
+ run: () => import("./run-C7PXBBEl.mjs").then((mod) => mod.default)
13
+ }
14
+ });
15
+ //#endregion
16
+ export { transform_test_default as default };
@@ -0,0 +1,142 @@
1
+ import { z } from "zod";
2
+ //#region ../client/src/domain/transform-test.ts
3
+ const TransformTestTable = z.object({
4
+ schema: z.string().nullable().optional(),
5
+ name: z.string().min(1)
6
+ }).loose();
7
+ const TransformTestColumn = z.object({
8
+ name: z.string().min(1),
9
+ database_type: z.string().min(1).describe("The warehouse's own spelling, e.g. VARCHAR(255)")
10
+ }).loose();
11
+ const TransformTestCell = z.union([
12
+ z.string(),
13
+ z.number(),
14
+ z.boolean(),
15
+ z.null()
16
+ ]);
17
+ const TransformTestRow = z.record(z.string(), TransformTestCell);
18
+ const TransformTestSqlData = z.object({
19
+ format: z.literal("sql"),
20
+ sql: z.string().min(1)
21
+ }).loose();
22
+ const TransformTestRowsData = z.object({
23
+ format: z.literal("rows"),
24
+ columns: z.array(TransformTestColumn).min(1),
25
+ rows: z.array(TransformTestRow)
26
+ }).loose();
27
+ const TransformTestSqlInput = TransformTestSqlData.extend({ table: TransformTestTable });
28
+ const TransformTestRowsInput = TransformTestRowsData.extend({ table: TransformTestTable });
29
+ /** Test data standing in for one table the transform reads. */
30
+ const TransformTestInput = z.discriminatedUnion("format", [TransformTestSqlInput, TransformTestRowsInput]);
31
+ const TransformTestEqualsSql = TransformTestSqlData.extend({
32
+ type: z.literal("equals"),
33
+ name: z.string().min(1)
34
+ });
35
+ const TransformTestEqualsRows = TransformTestRowsData.extend({
36
+ type: z.literal("equals"),
37
+ name: z.string().min(1)
38
+ });
39
+ const TransformTestEmpty = z.object({
40
+ type: z.literal("empty"),
41
+ name: z.string().min(1),
42
+ sql: z.string().min(1)
43
+ }).loose();
44
+ /** One check against the transform's output. Names are unique within a test. */
45
+ const TransformTestExpectation = z.union([
46
+ TransformTestEqualsSql,
47
+ TransformTestEqualsRows,
48
+ TransformTestEmpty
49
+ ]);
50
+ const TransformTest = z.object({
51
+ id: z.number().int(),
52
+ entity_id: z.string().nullable(),
53
+ transform_id: z.number().int(),
54
+ creator_id: z.number().int(),
55
+ name: z.string(),
56
+ description: z.string().nullable(),
57
+ inputs: z.array(TransformTestInput),
58
+ expectations: z.array(TransformTestExpectation),
59
+ created_at: z.string(),
60
+ updated_at: z.string()
61
+ }).loose();
62
+ const TransformTestCompact = TransformTest.pick({
63
+ id: true,
64
+ transform_id: true,
65
+ name: true,
66
+ description: true
67
+ }).strip();
68
+ /**
69
+ * The server closes this map, so an unrecognized key is a 400 there. Refusing it here names the key
70
+ * instead: a body cloned from `get` has to shed `id`, `entity_id`, `creator_id`, `created_at` and
71
+ * `updated_at` before it can be sent back.
72
+ */
73
+ const TransformTestCreateInput = z.object({
74
+ transform_id: z.number().int().positive(),
75
+ name: z.string().min(1),
76
+ description: z.string().nullable().optional(),
77
+ inputs: z.array(TransformTestInput),
78
+ expectations: z.array(TransformTestExpectation)
79
+ }).strict();
80
+ /** Closed for the same reason as [[TransformTestCreateInput]]; every field is optional. */
81
+ const TransformTestUpdateInput = z.object({
82
+ transform_id: z.number().int().positive().optional(),
83
+ name: z.string().min(1).optional(),
84
+ description: z.string().nullable().optional(),
85
+ inputs: z.array(TransformTestInput).optional(),
86
+ expectations: z.array(TransformTestExpectation).optional()
87
+ }).strict();
88
+ /**
89
+ * `error` is one expectation's own failure to run, which leaves the rest of the run reporting; the
90
+ * run as a whole is only `passed` or `failed`.
91
+ */
92
+ const TransformTestStatus = z.enum([
93
+ "passed",
94
+ "failed",
95
+ "error"
96
+ ]);
97
+ const TransformTestResultColumn = z.object({
98
+ name: z.string(),
99
+ database_type: z.string()
100
+ }).loose();
101
+ const TransformTestCellMismatch = z.object({
102
+ column: z.string(),
103
+ expected: TransformTestCell,
104
+ actual: TransformTestCell
105
+ }).loose();
106
+ const TransformTestRowCounts = z.object({
107
+ actual: z.number().int(),
108
+ expected: z.number().int()
109
+ }).loose();
110
+ const TransformTestExpectationError = z.object({
111
+ type: z.string(),
112
+ message: z.string()
113
+ }).loose();
114
+ /**
115
+ * What one expectation found. The keys beyond `name`, `type` and `status` are its type's own:
116
+ * `equals` reports the rows the two sides disagree on, `empty` a sample of the rows its query
117
+ * returned, and both cap what they report, with `truncated` counting what the cap dropped.
118
+ */
119
+ const TransformTestExpectationResult = z.object({
120
+ name: z.string(),
121
+ type: z.enum(["equals", "empty"]),
122
+ status: TransformTestStatus,
123
+ columns: z.array(TransformTestResultColumn).optional(),
124
+ error: TransformTestExpectationError.optional(),
125
+ "row-counts": TransformTestRowCounts.optional(),
126
+ "extra-rows": z.array(TransformTestRow).optional(),
127
+ "missing-rows": z.array(TransformTestRow).optional(),
128
+ "cell-mismatches": z.array(TransformTestCellMismatch).optional(),
129
+ sample: z.array(TransformTestRow).optional(),
130
+ truncated: z.number().int().optional()
131
+ }).loose();
132
+ /**
133
+ * What a run reported. `tables` maps each temp table the run created to the table it stood in for.
134
+ * A run that happened reports `passed` or `failed`; a refusal is an HTTP error rather than a body.
135
+ */
136
+ const TransformTestRunResult = z.object({
137
+ status: TransformTestStatus,
138
+ expectations: z.array(TransformTestExpectationResult),
139
+ tables: z.record(z.string(), z.string())
140
+ }).loose();
141
+ //#endregion
142
+ export { TransformTestUpdateInput as a, TransformTestRunResult as i, TransformTestCompact as n, TransformTestCreateInput as r, TransformTest as t };
@@ -1,9 +1,9 @@
1
- import { G as listEnvelopeSchema, H as profileFlag, R as connectionFlags, V as outputFlags, f as renderList, z as listFlags } from "./cli.mjs";
2
- import { t as defineMetabaseCommand } from "./runtime-CNAZ_FuR.mjs";
3
- import { t as parseId } from "./parse-id-DDCn3VXx.mjs";
4
- import { n as windowList } from "./window-DSb1tqSe.mjs";
5
- import { n as TransformCompact } from "./transform-BvOEn41C.mjs";
6
- import { n as transformView } from "./transform-CiDOJGBW.mjs";
1
+ import { F as outputFlags, I as profileFlag, M as connectionFlags, N as listFlags, R as listEnvelopeSchema, s as renderList } from "./cli.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-BMJv4VOi.mjs";
3
+ import { t as parseId } from "./parse-id-CPINxy7h.mjs";
4
+ import { n as windowList } from "./window-BkvrP0gB.mjs";
5
+ import { n as TransformCompact } from "./transform-D3QX0jxA.mjs";
6
+ import { n as transformView } from "./transform-DoTyyXAu.mjs";
7
7
  //#region src/commands/transform-job/transforms.ts
8
8
  const TransformJobTransformsEnvelope = listEnvelopeSchema(TransformCompact);
9
9
  var transforms_default = defineMetabaseCommand({
@@ -13,7 +13,6 @@ var transforms_default = defineMetabaseCommand({
13
13
  },
14
14
  details: "Resolves the transforms a job would execute, matched by the job's tags. The positional id is a JOB id, not a transform id.",
15
15
  capabilities: { minVersion: 59 },
16
- worktree: "any",
17
16
  args: {
18
17
  ...outputFlags,
19
18
  ...listFlags,
@@ -0,0 +1,27 @@
1
+ import { i as ConfigError } from "./predicates-Bkm2IoeX.mjs";
2
+ import { F as outputFlags, I as profileFlag, M as connectionFlags, l as writeJson } from "./cli.mjs";
3
+ import { t as defineMetabaseCommand } from "./runtime-BMJv4VOi.mjs";
4
+ import { f as CollectionTreeNode } from "./collection-CfulNRBG.mjs";
5
+ import { z } from "zod";
6
+ //#region src/commands/collection/tree.ts
7
+ const CollectionTreeResponse = z.array(CollectionTreeNode);
8
+ var tree_default = defineMetabaseCommand({
9
+ meta: {
10
+ name: "tree",
11
+ description: "Fetch the collection hierarchy as a nested tree (JSON only)"
12
+ },
13
+ capabilities: { minVersion: 58 },
14
+ args: {
15
+ ...outputFlags,
16
+ ...profileFlag,
17
+ ...connectionFlags
18
+ },
19
+ outputSchema: CollectionTreeResponse,
20
+ examples: ["mb collection tree", "mb collection tree --json"],
21
+ async run({ ctx, getClient }) {
22
+ if (ctx.format === "text") throw new ConfigError("collection tree output is JSON-only; --format text is not supported");
23
+ writeJson((await (await getClient()).collection.tree()).data);
24
+ }
25
+ });
26
+ //#endregion
27
+ export { tree_default as default };