@metabase/cli 0.3.1 → 0.3.2-alpha.fix-transform-test-ee-path.041c793

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 (267) hide show
  1. package/dist/{add-collection-CYDUm_XO.mjs → add-collection-73X1DmCM.mjs} +6 -9
  2. package/dist/{alert-ClyhtxIz.mjs → alert-BB38lWSL.mjs} +7 -7
  3. package/dist/{alerts-Dt3D1gcz.mjs → alerts-DxyzqLSU.mjs} +7 -7
  4. package/dist/{append-Bl_Ensmr.mjs → append-CHme1Enm.mjs} +5 -5
  5. package/dist/{archive-DSMqHRr1.mjs → archive-BGiDxu8O.mjs} +4 -4
  6. package/dist/{archive-D3a3Wgz0.mjs → archive-BMyvyf62.mjs} +4 -4
  7. package/dist/{archive-BdHXQg4I.mjs → archive-C4Y2B58q.mjs} +4 -4
  8. package/dist/{archive-CWceyy8x.mjs → archive-CP5Hlqjw.mjs} +5 -5
  9. package/dist/{archive-BOyKhNOz.mjs → archive-Cq3fnc0v2.mjs} +6 -6
  10. package/dist/{archive-DVGDg8mP.mjs → archive-CqKqNdUh.mjs} +6 -6
  11. package/dist/{archive-DDru3vdy.mjs → archive-Czo5T0Lp.mjs} +4 -4
  12. package/dist/{archive-nKD3mOB8.mjs → archive-DBcxZwLd.mjs} +6 -6
  13. package/dist/{archive-CNblz55j.mjs → archive-DKFPJ9j3.mjs} +6 -6
  14. package/dist/{archive-BJZ7Dace.mjs → archive-DPL1qOuL.mjs} +6 -6
  15. package/dist/{archive-DiGxCojL.mjs → archive-eS-XA74p.mjs} +4 -4
  16. package/dist/{auth-aCksg8q2.mjs → auth-6YyB0HNB.mjs} +5 -5
  17. package/dist/{body-DxRSAMNC.mjs → body-OjAWKVaU.mjs} +3 -3
  18. package/dist/{branches-_0VWR2Zm.mjs → branches-D5YLVFDK.mjs} +4 -7
  19. package/dist/{cancel-ctpVE8uC.mjs → cancel-DeRIq1YJ.mjs} +4 -4
  20. package/dist/{cancel-task-FtxBka-M.mjs → cancel-task-CqExODVm.mjs} +5 -8
  21. package/dist/card-BMSqofd7.mjs +24 -0
  22. package/dist/{card-zyUkr2nS.mjs → card-CEkp1mcI.mjs} +1 -1
  23. package/dist/{card-DZxRmver.mjs → card-voh1k4hl.mjs} +14 -11
  24. package/dist/{cards-DHOWAvfv.mjs → cards-B813G9I5.mjs} +7 -7
  25. package/dist/cli.mjs +572 -69
  26. package/dist/client-cJ7aw0Gt.mjs +4092 -0
  27. package/dist/collection-BfNg7tEg.mjs +20 -0
  28. package/dist/{collection-CfulNRBG.mjs → collection-BxdPxD38.mjs} +1 -1
  29. package/dist/{collection-CGoVLvcD.mjs → collection-DYM0p3Xl.mjs} +1 -1
  30. package/dist/{collection-namespace-CEoQ7G08.mjs → collection-namespace-CVzDgJV0.mjs} +2 -2
  31. package/dist/{content-translation-DNKerjS3.mjs → content-translation-QKWt9l76.mjs} +3 -3
  32. package/dist/{create-e650zxzX.mjs → create-4UnoQvsy.mjs} +5 -5
  33. package/dist/{create-DaYRnK5P.mjs → create-BJad6MR82.mjs} +8 -8
  34. package/dist/{create-CcLchJAN.mjs → create-BLiB2xqo.mjs} +7 -7
  35. package/dist/{create-C9vy4ZG6.mjs → create-BWp6L_dW.mjs} +5 -5
  36. package/dist/{create-C78g8Crb.mjs → create-Bef5eBCA.mjs} +5 -5
  37. package/dist/{create-F4Lf09xq.mjs → create-CMV3qlzJ.mjs} +4 -4
  38. package/dist/{create-DmvoibX8.mjs → create-CWGsiFvU.mjs} +4 -4
  39. package/dist/{create-C3IaXXty.mjs → create-CoFg1p6m.mjs} +4 -4
  40. package/dist/{create-CEydRMWS.mjs → create-CvIeb1NU.mjs} +7 -7
  41. package/dist/{create-vlrlY-2E.mjs → create-CvpeAcFc.mjs} +4 -4
  42. package/dist/{create-wJR4CxHA.mjs → create-D50TxVTk.mjs} +5 -8
  43. package/dist/{create-CLG2-bso.mjs → create-DEBgYRlM.mjs} +6 -6
  44. package/dist/{create-7ddYK4TA.mjs → create-DJm0YuLW.mjs} +6 -6
  45. package/dist/{create-BdPVWYSi.mjs → create-DmKwDQCY2.mjs} +6 -6
  46. package/dist/{create-branch-B8C7jl-J.mjs → create-branch-BN5iH-GM.mjs} +5 -9
  47. package/dist/{create-DIVhBIyE.mjs → create-bvpl6Fn5.mjs} +11 -7
  48. package/dist/create-uanpKsPo.mjs +34 -0
  49. package/dist/{csv-BLPJtlSC.mjs → csv-BhuX9fwh.mjs} +5 -5
  50. package/dist/{current-task-C-ldJbWE.mjs → current-task-BMt2NeqV.mjs} +5 -8
  51. package/dist/{dashboard-CtO_3EfC.mjs → dashboard-Ct_ajSYI.mjs} +10 -10
  52. package/dist/{dashboard-CKUR8ZpQ.mjs → dashboard-D0hwTC-f.mjs} +11 -2
  53. package/dist/{dashboard-BlbNszi8.mjs → dashboard-DgK81azj.mjs} +1 -1
  54. package/dist/{database-B19qlLKZ.mjs → database-C3E9PZSx.mjs} +1 -1
  55. package/dist/{database-C8G6ZKG0.mjs → database-JtHTqSpq.mjs} +1 -1
  56. package/dist/{db-xXselnBq.mjs → db-B_LW2VE-.mjs} +7 -7
  57. package/dist/{delete-ZJJyqsRh.mjs → delete-BOcPK_H9.mjs} +5 -5
  58. package/dist/{delete-BZZHw6pm.mjs → delete-CowGO4rh.mjs} +5 -5
  59. package/dist/{delete-D6WxgWRp.mjs → delete-D0f7VatX.mjs} +5 -5
  60. package/dist/{delete-BwSPQy7m.mjs → delete-D2bUV6uo.mjs} +5 -5
  61. package/dist/delete-DZ_ICQug.mjs +44 -0
  62. package/dist/{delete-BZwAOQxG.mjs → delete-Ur7b11no.mjs} +5 -5
  63. package/dist/{delete-runtime-D74s6vhu.mjs → delete-runtime-BKEzJn22.mjs} +1 -2
  64. package/dist/{delete-table-CJktZE3w.mjs → delete-table-Dd8X573t.mjs} +5 -5
  65. package/dist/{dependencies-BdqIqEIy.mjs → dependencies-XDVLBwko.mjs} +7 -7
  66. package/dist/{dirty-BW2As2wS.mjs → dirty-k-JmGLsS.mjs} +6 -9
  67. package/dist/{document-Cd2mmqCp.mjs → document-BHpLJbKU.mjs} +5 -0
  68. package/dist/document-BW9iow8R.mjs +19 -0
  69. package/dist/{document-D6OybtP2.mjs → document-CA0Q6lqu.mjs} +1 -1
  70. package/dist/{download-mfFJ9oRS.mjs → download-CQjPIYDO.mjs} +3 -6
  71. package/dist/{eid-DZ-4t2xe.mjs → eid-CNTKDgwj.mjs} +4 -5
  72. package/dist/{events-D6yFmXP1.mjs → events-BshWlkDp.mjs} +5 -5
  73. package/dist/{export-DYZjz1WP.mjs → export-Dq6ecU8h.mjs} +7 -10
  74. package/dist/{field-BJ54wmIX.mjs → field-Bo2ISMO4.mjs} +5 -5
  75. package/dist/{field-Cr2DPUG9.mjs → field-CcN4oZy6.mjs} +16 -1
  76. package/dist/{field-BPsNa-TO.mjs → field-fDtIrY6D.mjs} +1 -1
  77. package/dist/{fields-FUWCgPOa.mjs → fields-CVctqn5G.mjs} +7 -7
  78. package/dist/{get-BraVQ1FJ.mjs → get-7xTeNGAo.mjs} +6 -6
  79. package/dist/{get-LAew34ID.mjs → get-8b5Sh50q.mjs} +6 -6
  80. package/dist/{get-CWnriw33.mjs → get-B4RgW-VT.mjs} +6 -6
  81. package/dist/{get-C_5AbfpO.mjs → get-BD81MHl_.mjs} +4 -4
  82. package/dist/{get-ByZJf9nO.mjs → get-Bl3OmlBP.mjs} +5 -5
  83. package/dist/get-BtTetWzm.mjs +32 -0
  84. package/dist/{get-_ggLr1tY.mjs → get-BvSA_mmf.mjs} +6 -6
  85. package/dist/{get-DhkltKIV.mjs → get-BvgEF--n.mjs} +4 -4
  86. package/dist/{get-DYaQpixt.mjs → get-C5sWciaE.mjs} +6 -6
  87. package/dist/get-CO6X4nZH.mjs +93 -0
  88. package/dist/{get-DVyesErX.mjs → get-CTPvdcud.mjs} +6 -6
  89. package/dist/{get-DMECsioX.mjs → get-CrpwxWOV.mjs} +4 -4
  90. package/dist/{get-Ba2HRdrx.mjs → get-D4oGhZWX.mjs} +6 -6
  91. package/dist/{get-CsN7NBI0.mjs → get-Df6cGHCM.mjs} +4 -4
  92. package/dist/{get-BWl3vzsf.mjs → get-DfMVlz64.mjs} +6 -6
  93. package/dist/{get-C5q49Dgx.mjs → get-Dr-U321T2.mjs} +6 -6
  94. package/dist/{get-DAOSGt5Z.mjs → get-Dw7jAno3.mjs} +6 -6
  95. package/dist/{get-DRJtsS1_.mjs → get-PWhOdz1z.mjs} +4 -4
  96. package/dist/{get-CQ0-fFWP.mjs → get-RslzBaXx.mjs} +5 -8
  97. package/dist/{get-run-oH4dRCBx.mjs → get-run-CZdDqfUj.mjs} +6 -6
  98. package/dist/{get-DCutQeiV.mjs → get-wjIgUlNl.mjs} +4 -4
  99. package/dist/git-sync-BmoRk0UV.mjs +28 -0
  100. package/dist/{git-sync-BDnxPrqU.mjs → git-sync-BwBRmEhE.mjs} +18 -1
  101. package/dist/{git-sync-DxD_ng48.mjs → git-sync-TjX1r_wF.mjs} +1 -1
  102. package/dist/{group-DBM87IgC.mjs → group-YQQ5GIcP.mjs} +2 -2
  103. package/dist/{has-remote-changes-CnmyIw_7.mjs → has-remote-changes-i-3MVxat.mjs} +5 -8
  104. package/dist/{import-B7Si-bSI.mjs → import-DWEKejya.mjs} +7 -10
  105. package/dist/{input-DH9i67x_.mjs → input-DEvkIjGr.mjs} +1 -1
  106. package/dist/{is-dirty-BOH_VEA8.mjs → is-dirty-C5ipqd4v.mjs} +3 -6
  107. package/dist/{items-DouHkWev.mjs → items-hKJ2ZDwy.mjs} +7 -7
  108. package/dist/{key-BEhqIzIQ.mjs → key-PYetuQ13.mjs} +1 -1
  109. package/dist/{library-1J_4Dicw.mjs → library-B7_04UVK.mjs} +5 -5
  110. package/dist/library-BPIzb3K_.mjs +81 -0
  111. package/dist/{library-DfYAT2Ep.mjs → library-PGCfm0UA.mjs} +1 -1
  112. package/dist/{list-BK_6VNm_.mjs → list-1vdClKSE.mjs} +4 -4
  113. package/dist/{list-DWLGpMvr.mjs → list-6myofqMv.mjs} +7 -7
  114. package/dist/{list-DhViDVx_.mjs → list-B-9QOX9Y.mjs} +6 -6
  115. package/dist/{list-aKUk-a1Y.mjs → list-Bs7_Rysg.mjs} +7 -7
  116. package/dist/list-CHuhMXet.mjs +35 -0
  117. package/dist/{list-DptEWB5Y.mjs → list-CLZU_EOf.mjs} +4 -4
  118. package/dist/{list-B2Ddf4W0.mjs → list-Cen-7uTo.mjs} +5 -5
  119. package/dist/{list-D2IYZ6lk.mjs → list-CgH-H-O6.mjs} +6 -6
  120. package/dist/{list-BeMYIeiI.mjs → list-CjNXskB4.mjs} +7 -7
  121. package/dist/{list-C1bAtgO1.mjs → list-CmFh1GQ_.mjs} +4 -4
  122. package/dist/{list-Cy0w4Fap.mjs → list-D6tTvYUP.mjs} +4 -4
  123. package/dist/{list-C7UvO3Uw.mjs → list-DI820W6w.mjs} +6 -6
  124. package/dist/{list-D25ofn4v.mjs → list-DKZnQ4Ts.mjs} +7 -7
  125. package/dist/{list-C0zJ2ehz.mjs → list-DKcC4cm0.mjs} +6 -6
  126. package/dist/{list-qs9wAtC3.mjs → list-DfRqNH1N.mjs} +4 -4
  127. package/dist/list-DjwnsyXM.mjs +60 -0
  128. package/dist/{list-sDpy4nDU.mjs → list-VNC-_E59.mjs} +6 -6
  129. package/dist/{list-DJK9_BEF.mjs → list-eKDT1XXk.mjs} +14 -13
  130. package/dist/{list-BXlTYsYA.mjs → list-oX2SMzxZ.mjs} +4 -4
  131. package/dist/{login-BmyCAfRV.mjs → login-DumZaWXK.mjs} +18 -15
  132. package/dist/{logout-DUR32q0V.mjs → logout-BsXPRc-3.mjs} +3 -4
  133. package/dist/{measure-DdVp-8jw.mjs → measure-BFxkbAoa.mjs} +6 -6
  134. package/dist/{notification-Fcq1fIPw.mjs → notification-DVrLkjFT.mjs} +1 -1
  135. package/dist/{parameter-DUKR8NXo.mjs → parameter-Celg0wZa.mjs} +1 -1
  136. package/dist/{parameter-values-CBR-cBev.mjs → parameter-values-CoF9Hx1p.mjs} +5 -6
  137. package/dist/{parse-enum-D0Jfm_Bz.mjs → parse-enum-Dc0dMZ3P.mjs} +1 -1
  138. package/dist/{parse-id-B3YwNojT.mjs → parse-id-DmFJgpY6.mjs} +1 -1
  139. package/dist/{parse-ref-ibKVB0J4.mjs → parse-ref-DTDld_LJ.mjs} +1 -1
  140. package/dist/{path-D8BQmEhL.mjs → path-BQ4lRDyN.mjs} +5 -5
  141. package/dist/{poll-75SvT7Zv.mjs → poll-CZeXepUQ.mjs} +2 -2
  142. package/dist/{preflight-CoF1Em99.mjs → preflight-BTQe4swo.mjs} +3 -4
  143. package/dist/{process-DBOOrmET.mjs → process-CTrfxxaC.mjs} +1 -1
  144. package/dist/{publish-Cb7XrQ3X.mjs → publish-CFB2Cc5A.mjs} +9 -9
  145. package/dist/{pulse-BmsDenXm.mjs → pulse-Dz0ocv0l.mjs} +1 -1
  146. package/dist/{pulse-DhG6I9mI.mjs → pulse-x0gFxWfG.mjs} +2 -2
  147. package/dist/{query-D35B588l.mjs → query-BJbUnAHf.mjs} +10 -12
  148. package/dist/query-CV2KCS5O.mjs +114 -0
  149. package/dist/{query-result-DBDwk8TS.mjs → query-result-E4Q-Gra6.mjs} +1 -1
  150. package/dist/{remove-collection-DJem6V26.mjs → remove-collection-D3yvKH3e.mjs} +6 -9
  151. package/dist/{render-CI93iP0I.mjs → render-BJRCs7rA.mjs} +13 -2
  152. package/dist/{replace-CtsWICrD.mjs → replace-uj4WTqx_.mjs} +5 -5
  153. package/dist/{rescan-values-CaXUL6z5.mjs → rescan-values-CzxQU318.mjs} +6 -6
  154. package/dist/{run-CM-Amtbf.mjs → run-B2f_omHu.mjs} +26 -14
  155. package/dist/run-DlO1J1Sx.mjs +50 -0
  156. package/dist/{run-BeLm17F4.mjs → run-yX2dtmE5.mjs} +6 -6
  157. package/dist/{runs-DFG63zgr.mjs → runs-DzUO45wU.mjs} +7 -7
  158. package/dist/{runtime-z8rra6-I.mjs → runtime-arKqJqIT.mjs} +994 -252
  159. package/dist/{schema-tables-COAHkIcy.mjs → schema-tables-DZCNzuQ6.mjs} +7 -7
  160. package/dist/{schemas-BX5BATiV.mjs → schemas-2ejqaVsG.mjs} +5 -5
  161. package/dist/{search-DFBwUc6d.mjs → search-BAXg-EJw.mjs} +2 -1
  162. package/dist/{search-CPvvmhdt.mjs → search-DcihauDZ.mjs} +6 -6
  163. package/dist/{segment-C62L6BI3.mjs → segment-BQT2poPG.mjs} +6 -6
  164. package/dist/{selectors-P4QnrORk.mjs → selectors-BzestDld.mjs} +3 -3
  165. package/dist/{send-PZh5IKF8.mjs → send-DMxoLFo7.mjs} +4 -4
  166. package/dist/{set-DbCtUoFd.mjs → set-CDmiD0vv.mjs} +5 -5
  167. package/dist/{set-active-DL4QzWDO.mjs → set-active-RrvWR9NY.mjs} +5 -5
  168. package/dist/{setting-BlRcZbhC.mjs → setting-BiBLCcxz.mjs} +4 -4
  169. package/dist/{setup-D_SLaC-3.mjs → setup-DYsTzkWO.mjs} +4 -4
  170. package/dist/{signal-CMd0EFUa.mjs → signal-k7cm5N6h.mjs} +11 -2
  171. package/dist/skill-list-D9_1Pmt7.mjs +76 -0
  172. package/dist/skills-BPHXUfeL.mjs +351 -0
  173. package/dist/{skills-D991LB1M.mjs → skills-C3bxxC6a.mjs} +3 -3
  174. package/dist/snippet-BtfxE60H.mjs +19 -0
  175. package/dist/{stash-DyBxFoP6.mjs → stash-DdheS0Ad.mjs} +7 -11
  176. package/dist/{status-cfDHqK2Q.mjs → status-BuIzXRX1.mjs} +12 -11
  177. package/dist/{status-DUsiogz5.mjs → status-CXouQJ31.mjs} +11 -9
  178. package/dist/{subscription-Bn0AU7GN.mjs → subscription-CJ8Igs1U.mjs} +6 -6
  179. package/dist/{subscriptions-DwqjCVlc.mjs → subscriptions-D0NpGvCQ.mjs} +7 -7
  180. package/dist/{summary-BGwSNzf4.mjs → summary-D04S8gGj.mjs} +6 -6
  181. package/dist/{sync-schema-dtkDOAKe.mjs → sync-schema-DrA5zkdl.mjs} +7 -7
  182. package/dist/{sync-task-BACcrs0i.mjs → sync-task-BXeWuARG.mjs} +1 -1
  183. package/dist/{table-CsIJNPFf.mjs → table-C6h4tIRw.mjs} +1 -1
  184. package/dist/{table-CeeTJgQb.mjs → table-DfuY0N8e.mjs} +51 -4
  185. package/dist/{table-BJoEAoCU.mjs → table-Dntbz7Q2.mjs} +5 -5
  186. package/dist/timeline-8jwsldo3.mjs +21 -0
  187. package/dist/{timeline-event-BsF7YqzZ.mjs → timeline-event-BbB1xEdI.mjs} +6 -6
  188. package/dist/{transform-DoTyyXAu.mjs → transform-CtqB1WYo.mjs} +2 -2
  189. package/dist/{transform-D3QX0jxA.mjs → transform-DiW7bREn.mjs} +68 -5
  190. package/dist/{transform-job-50GZHhKH.mjs → transform-job-AaMZRxAq.mjs} +1 -1
  191. package/dist/transform-job-B-1YAbvy.mjs +22 -0
  192. package/dist/{transform-job-DRrK28IH.mjs → transform-job-CCguL6LP.mjs} +41 -4
  193. package/dist/transform-m6s4kkWU.mjs +28 -0
  194. package/dist/{transform-tag-VM9R7Q_M.mjs → transform-tag-PjryheLF.mjs} +5 -5
  195. package/dist/transform-test-BjjCQ2xm.mjs +169 -0
  196. package/dist/transform-test-DSTkKKNC.mjs +16 -0
  197. package/dist/transform-test-gzDcbypy.mjs +25 -0
  198. package/dist/{transforms-BjACGbBp.mjs → transforms-CijX3VE7.mjs} +7 -7
  199. package/dist/{tree-BwS6JAmk.mjs → tree-Cmb3O6rH.mjs} +4 -5
  200. package/dist/{unpublish-DWdPnENY.mjs → unpublish-DkP_AcK5.mjs} +4 -7
  201. package/dist/{update-DKEHY-gt.mjs → update-8UmD1prT.mjs} +7 -7
  202. package/dist/{update-C1FBVLfC.mjs → update-BFyRBc-H.mjs} +8 -8
  203. package/dist/{update-tLIhVIPp.mjs → update-BrXGg3QO.mjs} +8 -8
  204. package/dist/{update-DCjAjihm.mjs → update-C91m9YAR.mjs} +6 -6
  205. package/dist/{update-BpPaacCF.mjs → update-COcx61Ur.mjs} +6 -6
  206. package/dist/update-Ci8YL4_2.mjs +41 -0
  207. package/dist/{update-BR_vkkd1.mjs → update-CtLbFCd_.mjs} +5 -5
  208. package/dist/{update-DTmRHBik.mjs → update-D6Zzvc7F.mjs} +7 -7
  209. package/dist/{update-cqR1U6DU.mjs → update-D8htjzNJ.mjs} +5 -5
  210. package/dist/{update-B2CF2DK4.mjs → update-D9kOTr0n.mjs} +6 -6
  211. package/dist/{update-C4y3iQsv.mjs → update-DPTio6i1.mjs} +7 -7
  212. package/dist/{update-DsZttiSC.mjs → update-DlWB9s0v.mjs} +5 -5
  213. package/dist/{update-BCT9qpVr.mjs → update-DubrpPbz.mjs} +5 -5
  214. package/dist/{update-3idz42uD.mjs → update-Dz47cKBk.mjs} +7 -7
  215. package/dist/{update-DkviXwSg.mjs → update-FCP5Lop2.mjs} +7 -7
  216. package/dist/{update-DlTaD1x3.mjs → update-KSHnb6vB.mjs} +9 -9
  217. package/dist/{update-dashcard-DlE_bb2F.mjs → update-dashcard-BlibHa5o.mjs} +7 -7
  218. package/dist/{upgrade-mNV7XuJG.mjs → upgrade-EwL6wPSY.mjs} +6 -8
  219. package/dist/upload-BZshRJIM.mjs +13 -0
  220. package/dist/{upload-CEGVxmYB.mjs → upload-D0KaTqUE.mjs} +4 -7
  221. package/dist/{upload-CD555ui1.mjs → upload-Do2PBSeH.mjs} +2 -2
  222. package/dist/{uuid-C4hqn3kA.mjs → uuid-DjKLDIVE.mjs} +10 -7
  223. package/dist/{validate-query-DaGYSmpQ.mjs → validate-query-D6_ad-Gi.mjs} +3 -4
  224. package/dist/{validate-BWchyW0V.mjs → validate-xR_MHBNR.mjs} +69 -23
  225. package/dist/{values-C0O3eNaW.mjs → values-Dc9612_L.mjs} +6 -6
  226. package/dist/{verify-DfTjYF7s.mjs → verify-DVN1eqXZ.mjs} +3 -18
  227. package/dist/{wait-WZmFenN_.mjs → wait-C-ovOTAZ.mjs} +7 -10
  228. package/dist/{wait-flags-BbfDSP8R.mjs → wait-flags-BQNmuvIj.mjs} +2 -2
  229. package/dist/{window-BkvrP0gB.mjs → window-DSb1tqSe.mjs} +1 -1
  230. package/package.json +1 -1
  231. package/skill-data/core/SKILL.md +31 -15
  232. package/skill-data/dashboard/SKILL.md +1 -1
  233. package/skill-data/data-workflow/references/building-clean-tables.md +6 -2
  234. package/skill-data/data-workflow/references/reusable-definitions.md +11 -3
  235. package/skill-data/document/SKILL.md +4 -1
  236. package/skill-data/git-sync/SKILL.md +5 -0
  237. package/skill-data/mbql/SKILL.md +84 -115
  238. package/skill-data/mbql/references/operators.md +77 -231
  239. package/skill-data/metadata/SKILL.md +1 -1
  240. package/skill-data/metadata/references/semantic-types.md +7 -1
  241. package/skill-data/native-sql/SKILL.md +8 -9
  242. package/skill-data/native-sql/references/template-tags.md +27 -27
  243. package/skill-data/notification/SKILL.md +7 -1
  244. package/skill-data/transform/SKILL.md +76 -4
  245. package/skill-data/transform-test-plan/SKILL.md +171 -0
  246. package/skill-data/transform-test-plan/references/checklist.md +81 -0
  247. package/skill-data/transform-test-plan/references/checks.md +260 -0
  248. package/skill-data/visualization/SKILL.md +13 -6
  249. package/skill-data/visualization/references/settings.md +13 -11
  250. package/skills/metabase-cli/SKILL.md +1 -1
  251. package/dist/card-CGCXbdmD.mjs +0 -24
  252. package/dist/client-mKuHg_sc.mjs +0 -2218
  253. package/dist/collection-D8Tk8i3a.mjs +0 -20
  254. package/dist/document-KbcHhzFz.mjs +0 -19
  255. package/dist/get-BC8J8BXB.mjs +0 -80
  256. package/dist/git-sync-Dik8nKfw.mjs +0 -28
  257. package/dist/library-ClLgrAXy.mjs +0 -19
  258. package/dist/list-CW5PdYCX.mjs +0 -98
  259. package/dist/network-error-D6CiOEBw.mjs +0 -431
  260. package/dist/predicates-Bkm2IoeX.mjs +0 -170
  261. package/dist/query-C256WBYG.mjs +0 -87
  262. package/dist/skills-DTCrMcix.mjs +0 -216
  263. package/dist/snippet-DTDO55Cg.mjs +0 -19
  264. package/dist/timeline-DcXPshcT.mjs +0 -21
  265. package/dist/transform-Dsf_wHAj.mjs +0 -28
  266. package/dist/transform-job-B1yLv5l-.mjs +0 -22
  267. package/dist/upload-DsYCf5kB.mjs +0 -13
@@ -1,4 +1,4 @@
1
- import { r as FieldCompact, t as Field } from "./field-Cr2DPUG9.mjs";
1
+ import { r as FieldCompact, t as Field } from "./field-CcN4oZy6.mjs";
2
2
  import { z } from "zod";
3
3
  //#region ../client/src/domain/table.ts
4
4
  const TableEntityType = z.enum([
@@ -53,6 +53,26 @@ const TableDataAuthority = z.enum([
53
53
  "computed",
54
54
  "ingested"
55
55
  ]);
56
+ const TableDataLayerTier = z.enum([
57
+ "final",
58
+ "internal",
59
+ "hidden"
60
+ ]);
61
+ const TableDataLayerMedallion = z.enum([
62
+ "gold",
63
+ "silver",
64
+ "bronze",
65
+ "copper"
66
+ ]);
67
+ const TableDataLayer = z.enum([...TableDataLayerTier.options, ...TableDataLayerMedallion.options]);
68
+ const TableDataSource = z.enum([
69
+ "unknown",
70
+ "ingested",
71
+ "metabase-transform",
72
+ "transform",
73
+ "source-data",
74
+ "upload"
75
+ ]);
56
76
  const TableUpdateInput = z.object({
57
77
  display_name: z.string().min(1).nullable().optional(),
58
78
  entity_type: TableEntityType.nullable().optional(),
@@ -63,11 +83,38 @@ const TableUpdateInput = z.object({
63
83
  show_in_getting_started: z.boolean().nullable().optional(),
64
84
  field_order: TableFieldOrder.nullable().optional(),
65
85
  data_authority: TableDataAuthority.nullable().optional(),
66
- data_source: z.string().nullable().optional(),
67
- data_layer: z.string().nullable().optional(),
86
+ data_source: TableDataSource.nullable().optional(),
87
+ data_layer: TableDataLayer.nullable().optional(),
68
88
  owner_email: z.string().nullable().optional(),
69
89
  owner_user_id: z.number().int().nullable().optional(),
70
90
  collection_id: z.number().int().positive().nullable().optional()
71
91
  }).loose();
92
+ z.object({
93
+ database_ids: z.array(z.number().int().positive()).optional(),
94
+ schema_ids: z.array(z.string().min(1)).optional(),
95
+ table_ids: z.array(z.number().int().positive()).optional()
96
+ }).extend({
97
+ data_authority: TableDataAuthority.nullable().optional(),
98
+ data_source: TableDataSource.nullable().optional(),
99
+ data_layer: TableDataLayerTier.nullable().optional(),
100
+ entity_type: TableEntityType.nullable().optional(),
101
+ owner_email: z.string().nullable().optional(),
102
+ owner_user_id: z.number().int().nullable().optional()
103
+ }).strict();
104
+ const TableForeignKey = z.object({
105
+ relationship: z.literal("Mt1"),
106
+ origin_id: z.number().int(),
107
+ origin: Field,
108
+ destination_id: z.number().int(),
109
+ destination: Field
110
+ }).loose();
111
+ TableForeignKey.pick({
112
+ relationship: true,
113
+ origin_id: true,
114
+ destination_id: true
115
+ }).strip().extend({
116
+ origin: FieldCompact,
117
+ destination: FieldCompact
118
+ });
72
119
  //#endregion
73
- export { TableUpdateInput as a, TableQueryMetadata as i, TableCompact as n, TableGetInclude as r, Table as t };
120
+ export { TableGetInclude as a, TableVisibilityType as c, TableForeignKey as i, TableCompact as n, TableQueryMetadata as o, TableDataLayerTier as r, TableUpdateInput as s, Table as t };
@@ -1,4 +1,4 @@
1
- import { t as defineCommandGroup } from "./group-DBM87IgC.mjs";
1
+ import { t as defineCommandGroup } from "./group-YQQ5GIcP.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-DWLGpMvr.mjs").then((m) => m.default),
12
- get: () => import("./get-DYaQpixt.mjs").then((m) => m.default),
13
- fields: () => import("./fields-FUWCgPOa.mjs").then((m) => m.default),
14
- update: () => import("./update-C4y3iQsv.mjs").then((m) => m.default)
11
+ list: () => import("./list-6myofqMv.mjs").then((m) => m.default),
12
+ get: () => import("./get-C5sWciaE.mjs").then((m) => m.default),
13
+ fields: () => import("./fields-CVctqn5G.mjs").then((m) => m.default),
14
+ update: () => import("./update-DPTio6i1.mjs").then((m) => m.default)
15
15
  }
16
16
  });
17
17
  //#endregion
@@ -0,0 +1,21 @@
1
+ import { t as defineCommandGroup } from "./group-YQQ5GIcP.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-1vdClKSE.mjs").then((mod) => mod.default),
12
+ get: () => import("./get-wjIgUlNl.mjs").then((mod) => mod.default),
13
+ events: () => import("./events-BshWlkDp.mjs").then((mod) => mod.default),
14
+ create: () => import("./create-CoFg1p6m.mjs").then((mod) => mod.default),
15
+ update: () => import("./update-DlWB9s0v.mjs").then((mod) => mod.default),
16
+ archive: () => import("./archive-Czo5T0Lp.mjs").then((mod) => mod.default),
17
+ delete: () => import("./delete-D0f7VatX.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-DBM87IgC.mjs";
1
+ import { t as defineCommandGroup } from "./group-YQQ5GIcP.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-C_5AbfpO.mjs").then((mod) => mod.default),
12
- create: () => import("./create-F4Lf09xq.mjs").then((mod) => mod.default),
13
- update: () => import("./update-BCT9qpVr.mjs").then((mod) => mod.default),
14
- archive: () => import("./archive-DiGxCojL.mjs").then((mod) => mod.default),
15
- delete: () => import("./delete-BZZHw6pm.mjs").then((mod) => mod.default)
11
+ get: () => import("./get-BD81MHl_.mjs").then((mod) => mod.default),
12
+ create: () => import("./create-CMV3qlzJ.mjs").then((mod) => mod.default),
13
+ update: () => import("./update-DubrpPbz.mjs").then((mod) => mod.default),
14
+ archive: () => import("./archive-eS-XA74p.mjs").then((mod) => mod.default),
15
+ delete: () => import("./delete-CowGO4rh.mjs").then((mod) => mod.default)
16
16
  }
17
17
  });
18
18
  //#endregion
@@ -1,5 +1,5 @@
1
- import { d as MALFORMED_CELL } from "./cli.mjs";
2
- import { a as TransformRunCompact, n as TransformCompact, s as TransformTarget } from "./transform-D3QX0jxA.mjs";
1
+ import { g as MALFORMED_CELL } from "./cli.mjs";
2
+ import { d as TransformTarget, n as TransformCompact, s as TransformRunCompact } from "./transform-DiW7bREn.mjs";
3
3
  //#region src/output/views/transform.ts
4
4
  function formatTarget(value) {
5
5
  const parsed = TransformTarget.safeParse(value);
@@ -119,7 +119,49 @@ const TransformRunResult = z.object({
119
119
  final: TransformRun.nullable(),
120
120
  target_table_id: z.number().int().nullable().optional()
121
121
  });
122
- const Transform = z.object({
122
+ /** Which transforms a DAG reprocess from a seed transform runs, besides the seed itself. */
123
+ const TransformDagDirection = z.enum(["upstream", "downstream"]);
124
+ const TransformDagRunResult = z.object({
125
+ message: z.string(),
126
+ dag_run_id: z.number().int().positive().nullable()
127
+ });
128
+ const TransformDagTransform = z.object({
129
+ id: z.number().int(),
130
+ name: z.string()
131
+ });
132
+ const TransformRunSummaryType = z.enum([
133
+ "job",
134
+ "dag",
135
+ "transform"
136
+ ]);
137
+ z.enum(["start_time", "end_time"]);
138
+ const TransformRunSummary = z.object({
139
+ run_type: TransformRunSummaryType,
140
+ id: z.number().int(),
141
+ entity_id: z.number().int().nullable(),
142
+ name: z.string().nullable(),
143
+ direction: TransformDagDirection.nullable(),
144
+ transform_count: z.number().int().nullable(),
145
+ run_method: TransformRunMethod.nullable(),
146
+ status: TransformRunStatus,
147
+ is_active: z.boolean().nullable(),
148
+ start_time: z.string(),
149
+ end_time: z.string().nullable().optional(),
150
+ message: z.string().nullable(),
151
+ user_id: z.number().int().nullable()
152
+ }).loose();
153
+ TransformRunSummary.pick({
154
+ run_type: true,
155
+ id: true,
156
+ entity_id: true,
157
+ name: true,
158
+ status: true,
159
+ run_method: true,
160
+ start_time: true,
161
+ end_time: true,
162
+ message: true
163
+ }).strip();
164
+ const TransformBase = z.object({
123
165
  id: z.number().int(),
124
166
  name: z.string(),
125
167
  description: z.string().nullable(),
@@ -128,8 +170,6 @@ const Transform = z.object({
128
170
  source_type: TransformSourceType,
129
171
  source_database_id: z.number().int().nullable().optional(),
130
172
  target_db_id: z.number().int().nullable().optional(),
131
- target_table_id: z.number().int().nullable().optional(),
132
- table: z.object({ id: z.number().int() }).loose().nullable().optional(),
133
173
  entity_id: z.string().nullable(),
134
174
  created_at: z.string(),
135
175
  updated_at: z.string(),
@@ -139,12 +179,35 @@ const Transform = z.object({
139
179
  last_run: TransformLastRun.nullable().optional(),
140
180
  tag_ids: z.array(z.number().int()).optional()
141
181
  }).loose();
182
+ const Transform = TransformBase.extend({ target_table_id: z.number().int().nullable() });
183
+ const TransformWireV59Detail = TransformBase.extend({ table: z.object({ id: z.number().int() }).loose().nullable() });
184
+ function fromHydratedTable(wire) {
185
+ return {
186
+ ...wire,
187
+ target_table_id: wire.table === null ? null : wire.table.id
188
+ };
189
+ }
190
+ function withoutLink(row) {
191
+ return {
192
+ ...row,
193
+ target_table_id: null
194
+ };
195
+ }
196
+ /** The shape `GET /api/transform/{id}` answers on a server with `features`, read as `Transform`. */
197
+ function transformDetailSchema(features) {
198
+ return features.transformTargetTableId ? Transform : TransformWireV59Detail.transform(fromHydratedTable);
199
+ }
200
+ /** The shape every other transform endpoint answers on a server with `features`, read as `Transform`. */
201
+ function transformRowSchema(features) {
202
+ return features.transformTargetTableId ? Transform : TransformBase.transform(withoutLink);
203
+ }
142
204
  const TransformCompact = Transform.pick({
143
205
  id: true,
144
206
  name: true,
145
207
  description: true,
146
208
  source_type: true,
147
- target_db_id: true
209
+ target_db_id: true,
210
+ target_table_id: true
148
211
  }).strip().extend({ target: TransformTargetCompact });
149
212
  const TransformCreateInput = z.object({
150
213
  name: z.string().min(1),
@@ -169,4 +232,4 @@ const TransformUpdateInput = z.object({
169
232
  owner_email: z.string().nullable().optional()
170
233
  }).loose();
171
234
  //#endregion
172
- export { TransformRunCompact as a, TransformUpdateInput as c, TransformRun as i, isTransformRunFailed as l, TransformCompact as n, TransformRunResult as o, TransformCreateInput as r, TransformTarget as s, Transform as t, isTransformRunTerminal as u };
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 };
@@ -1,4 +1,4 @@
1
- import { r as TransformJobCompact } from "./transform-job-DRrK28IH.mjs";
1
+ import { r as TransformJobCompact } from "./transform-job-CCguL6LP.mjs";
2
2
  //#region src/output/views/transform-job.ts
3
3
  const transformJobView = {
4
4
  compactPick: TransformJobCompact,
@@ -0,0 +1,22 @@
1
+ import { t as defineCommandGroup } from "./group-YQQ5GIcP.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-CgH-H-O6.mjs").then((mod) => mod.default),
12
+ get: () => import("./get-D4oGhZWX.mjs").then((mod) => mod.default),
13
+ create: () => import("./create-DJm0YuLW.mjs").then((mod) => mod.default),
14
+ update: () => import("./update-Dz47cKBk.mjs").then((mod) => mod.default),
15
+ delete: () => import("./delete-Ur7b11no.mjs").then((mod) => mod.default),
16
+ run: () => import("./run-B2f_omHu.mjs").then((mod) => mod.default),
17
+ transforms: () => import("./transforms-CijX3VE7.mjs").then((mod) => mod.default),
18
+ "set-active": () => import("./set-active-RrvWR9NY.mjs").then((mod) => mod.default)
19
+ }
20
+ });
21
+ //#endregion
22
+ export { transform_job_default as default };
@@ -20,13 +20,12 @@ const JobLastRun = z.object({
20
20
  updated_at: z.string()
21
21
  }).loose();
22
22
  const JobNextRun = z.object({ start_time: z.string() }).loose();
23
- const TransformJob = z.object({
23
+ const TransformJobBase = z.object({
24
24
  id: z.number().int(),
25
25
  name: z.string(),
26
26
  description: z.string().nullable(),
27
27
  schedule: z.string(),
28
28
  ui_display_type: CronUiDisplayType,
29
- active: z.boolean().optional(),
30
29
  entity_id: z.string().nullable(),
31
30
  created_at: z.string(),
32
31
  updated_at: z.string(),
@@ -35,6 +34,17 @@ const TransformJob = z.object({
35
34
  last_run: JobLastRun.nullable().optional(),
36
35
  next_run: JobNextRun.nullable().optional()
37
36
  }).loose();
37
+ const TransformJob = TransformJobBase.extend({ active: z.boolean().nullable() });
38
+ function alwaysActive(wire) {
39
+ return {
40
+ ...wire,
41
+ active: null
42
+ };
43
+ }
44
+ /** The shape every transform-job endpoint answers on a server with `features`, read as `TransformJob`. */
45
+ function transformJobSchema(features) {
46
+ return features.transformJobActivation ? TransformJob : TransformJobBase.transform(alwaysActive);
47
+ }
38
48
  const TransformJobCompact = TransformJob.pick({
39
49
  id: true,
40
50
  name: true,
@@ -61,11 +71,38 @@ const TransformJobUpdateInput = z.object({
61
71
  }).loose();
62
72
  const TransformJobRunResult = z.object({
63
73
  message: z.string(),
64
- job_run_id: z.union([z.string(), z.number().int().positive()]).nullable()
74
+ started: z.boolean().nullable(),
75
+ run_id: z.number().int().positive().nullable()
76
+ });
77
+ const TransformJobRunWireV59 = z.object({
78
+ message: z.string(),
79
+ job_run_id: z.string()
80
+ });
81
+ const TransformJobRunWireV64 = z.object({
82
+ message: z.string(),
83
+ job_run_id: z.number().int().positive().nullable()
65
84
  });
85
+ function fromStubRunId(wire) {
86
+ return {
87
+ message: wire.message,
88
+ started: null,
89
+ run_id: null
90
+ };
91
+ }
92
+ function fromNumericRunId(wire) {
93
+ return {
94
+ message: wire.message,
95
+ started: wire.job_run_id !== null,
96
+ run_id: wire.job_run_id
97
+ };
98
+ }
99
+ /** The shape `POST /api/transform-job/{id}/run` answers on a server with `features`, read as `TransformJobRunResult`. */
100
+ function transformJobRunResultSchema(features) {
101
+ return features.transformJobRunIdIsNumeric ? TransformJobRunWireV64.transform(fromNumericRunId) : TransformJobRunWireV59.transform(fromStubRunId);
102
+ }
66
103
  const TransformJobActiveResult = z.object({
67
104
  updated: z.number().int(),
68
105
  failed: z.number().int()
69
106
  });
70
107
  //#endregion
71
- export { TransformJobRunResult as a, TransformJobCreateInput as i, TransformJobActiveResult as n, TransformJobUpdateInput as o, TransformJobCompact as r, TransformJob as t };
108
+ export { TransformJobRunResult as a, transformJobSchema as c, TransformJobCreateInput as i, TransformJobActiveResult as n, TransformJobUpdateInput as o, TransformJobCompact as r, transformJobRunResultSchema as s, TransformJob as t };
@@ -0,0 +1,28 @@
1
+ import { t as defineCommandGroup } from "./group-YQQ5GIcP.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-DI820W6w.mjs").then((mod) => mod.default),
15
+ get: () => import("./get-7xTeNGAo.mjs").then((mod) => mod.default),
16
+ dependencies: () => import("./dependencies-XDVLBwko.mjs").then((mod) => mod.default),
17
+ create: () => import("./create-BJad6MR82.mjs").then((mod) => mod.default),
18
+ update: () => import("./update-KSHnb6vB.mjs").then((mod) => mod.default),
19
+ delete: () => import("./delete-D2bUV6uo.mjs").then((mod) => mod.default),
20
+ "delete-table": () => import("./delete-table-Dd8X573t.mjs").then((mod) => mod.default),
21
+ run: () => import("./run-yX2dtmE5.mjs").then((mod) => mod.default),
22
+ cancel: () => import("./cancel-DeRIq1YJ.mjs").then((mod) => mod.default),
23
+ "get-run": () => import("./get-run-CZdDqfUj.mjs").then((mod) => mod.default),
24
+ runs: () => import("./runs-DzUO45wU.mjs").then((mod) => mod.default)
25
+ }
26
+ });
27
+ //#endregion
28
+ export { transform_default as default };
@@ -1,4 +1,4 @@
1
- import { t as defineCommandGroup } from "./group-DBM87IgC.mjs";
1
+ import { t as defineCommandGroup } from "./group-YQQ5GIcP.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-DptEWB5Y.mjs").then((mod) => mod.default),
12
- create: () => import("./create-DmvoibX8.mjs").then((mod) => mod.default),
13
- update: () => import("./update-BR_vkkd1.mjs").then((mod) => mod.default),
14
- delete: () => import("./delete-ZJJyqsRh.mjs").then((mod) => mod.default)
11
+ list: () => import("./list-CLZU_EOf.mjs").then((mod) => mod.default),
12
+ create: () => import("./create-CWGsiFvU.mjs").then((mod) => mod.default),
13
+ update: () => import("./update-CtLbFCd_.mjs").then((mod) => mod.default),
14
+ delete: () => import("./delete-BOcPK_H9.mjs").then((mod) => mod.default)
15
15
  }
16
16
  });
17
17
  //#endregion
@@ -0,0 +1,169 @@
1
+ import { z } from "zod";
2
+ //#region ../client/src/domain/transform-test.ts
3
+ const TransformTestTable = z.object({
4
+ schema: z.string().min(1).nullable().optional(),
5
+ name: z.string().min(1)
6
+ }).loose();
7
+ const TransformTestColumn = z.object({
8
+ name: z.string().min(1),
9
+ cast_type: z.string().min(1)
10
+ }).loose();
11
+ const TransformTestCell = z.union([
12
+ z.boolean(),
13
+ z.number(),
14
+ z.string(),
15
+ z.null()
16
+ ]);
17
+ const TransformTestRow = z.record(z.string(), TransformTestCell);
18
+ const TransformTestSqlInput = z.object({
19
+ table: TransformTestTable,
20
+ format: z.literal("sql"),
21
+ sql: z.string().min(1)
22
+ }).loose();
23
+ const TransformTestRowsInput = z.object({
24
+ table: TransformTestTable,
25
+ format: z.literal("rows"),
26
+ columns: z.array(TransformTestColumn).min(1),
27
+ rows: z.array(TransformTestRow)
28
+ }).loose();
29
+ const TransformTestInput = z.discriminatedUnion("format", [TransformTestSqlInput, TransformTestRowsInput]);
30
+ const TransformTestEqualsSqlExpectation = z.object({
31
+ type: z.literal("equals"),
32
+ name: z.string().min(1),
33
+ format: z.literal("sql"),
34
+ sql: z.string().min(1)
35
+ }).loose();
36
+ const TransformTestEqualsRowsExpectation = z.object({
37
+ type: z.literal("equals"),
38
+ name: z.string().min(1),
39
+ format: z.literal("rows"),
40
+ columns: z.array(TransformTestColumn).min(1),
41
+ rows: z.array(TransformTestRow)
42
+ }).loose();
43
+ const TransformTestEqualsExpectation = z.discriminatedUnion("format", [TransformTestEqualsSqlExpectation, TransformTestEqualsRowsExpectation]);
44
+ const TransformTestEmptyExpectation = z.object({
45
+ type: z.literal("empty"),
46
+ name: z.string().min(1),
47
+ sql: z.string().min(1)
48
+ }).loose();
49
+ const TransformTestExpectation = z.discriminatedUnion("type", [TransformTestEqualsExpectation, TransformTestEmptyExpectation]);
50
+ const TransformTest = z.object({
51
+ id: z.number().int(),
52
+ entity_id: z.string(),
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
+ const TransformTestResultColumn = z.object({
89
+ name: z.string(),
90
+ database_type: z.string()
91
+ }).loose();
92
+ const TransformTestExpectationError = z.object({
93
+ type: z.string(),
94
+ message: z.string()
95
+ }).loose();
96
+ const TransformTestCellMismatch = z.object({
97
+ column: z.string(),
98
+ expected: TransformTestCell,
99
+ actual: TransformTestCell
100
+ }).loose();
101
+ const TransformTestRowCounts = z.object({
102
+ actual: z.number().int(),
103
+ expected: z.number().int()
104
+ }).loose();
105
+ const TransformTestEqualsFindings = z.object({
106
+ name: z.string(),
107
+ type: z.literal("equals"),
108
+ status: z.enum(["passed", "failed"]),
109
+ columns: z.array(TransformTestResultColumn),
110
+ "row-counts": TransformTestRowCounts,
111
+ "extra-rows": z.array(TransformTestRow),
112
+ "missing-rows": z.array(TransformTestRow),
113
+ "cell-mismatches": z.array(TransformTestCellMismatch),
114
+ truncated: z.number().int()
115
+ }).loose();
116
+ const TransformTestEqualsError = z.object({
117
+ name: z.string(),
118
+ type: z.literal("equals"),
119
+ status: z.literal("error"),
120
+ error: TransformTestExpectationError
121
+ }).loose();
122
+ const TransformTestEqualsResult = z.discriminatedUnion("status", [TransformTestEqualsFindings, TransformTestEqualsError]);
123
+ const TransformTestEmptyPassed = z.object({
124
+ name: z.string(),
125
+ type: z.literal("empty"),
126
+ status: z.literal("passed")
127
+ }).loose();
128
+ const TransformTestEmptyFailed = z.object({
129
+ name: z.string(),
130
+ type: z.literal("empty"),
131
+ status: z.literal("failed"),
132
+ columns: z.array(TransformTestResultColumn),
133
+ sample: z.array(TransformTestRow),
134
+ truncated: z.number().int()
135
+ }).loose();
136
+ const TransformTestEmptyError = z.object({
137
+ name: z.string(),
138
+ type: z.literal("empty"),
139
+ status: z.literal("error"),
140
+ error: TransformTestExpectationError
141
+ }).loose();
142
+ const TransformTestEmptyResult = z.discriminatedUnion("status", [
143
+ TransformTestEmptyPassed,
144
+ TransformTestEmptyFailed,
145
+ TransformTestEmptyError
146
+ ]);
147
+ const TransformTestExpectationResult = z.discriminatedUnion("type", [TransformTestEqualsResult, TransformTestEmptyResult]);
148
+ const TransformTestRunResult = z.object({
149
+ status: z.enum(["passed", "failed"]),
150
+ expectations: z.array(TransformTestExpectationResult),
151
+ tables: z.record(z.string(), z.string())
152
+ }).loose();
153
+ z.enum([
154
+ "transform-test.unknown-column",
155
+ "transform-test.ambiguous-column",
156
+ "transform-test.missing-inputs",
157
+ "transform-test.unused-inputs",
158
+ "transform-test.duplicate-input-table",
159
+ "transform-test.unparseable-source",
160
+ "transform-test.unremapped-reference",
161
+ "transform-test.unsupported-transform",
162
+ "transform-test.unsupported-driver",
163
+ "transform-test.transform-failed",
164
+ "transform-test.setup-failed",
165
+ "transform-test.expectation-failed",
166
+ "transform-test.unsupported-format"
167
+ ]);
168
+ //#endregion
169
+ export { TransformTestUpdateInput as a, TransformTestRunResult as i, TransformTestCompact as n, TransformTestCreateInput as r, TransformTest as t };
@@ -0,0 +1,16 @@
1
+ import { t as defineCommandGroup } from "./group-YQQ5GIcP.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-CHuhMXet.mjs").then((mod) => mod.default),
8
+ get: () => import("./get-BtTetWzm.mjs").then((mod) => mod.default),
9
+ create: () => import("./create-uanpKsPo.mjs").then((mod) => mod.default),
10
+ update: () => import("./update-Ci8YL4_2.mjs").then((mod) => mod.default),
11
+ delete: () => import("./delete-DZ_ICQug.mjs").then((mod) => mod.default),
12
+ run: () => import("./run-DlO1J1Sx.mjs").then((mod) => mod.default)
13
+ }
14
+ });
15
+ //#endregion
16
+ export { transform_test_default as default };
@@ -0,0 +1,25 @@
1
+ import { n as TransformTestCompact } from "./transform-test-BjjCQ2xm.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 };
@@ -1,9 +1,9 @@
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-z8rra6-I.mjs";
3
- import { t as parseId } from "./parse-id-B3YwNojT.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";
1
+ import { B as listFlags, G as listEnvelopeSchema, H as outputFlags, U as profileFlag, d as renderList, z as connectionFlags } from "./cli.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-arKqJqIT.mjs";
3
+ import { t as parseId } from "./parse-id-DmFJgpY6.mjs";
4
+ import { n as windowList } from "./window-DSb1tqSe.mjs";
5
+ import { n as TransformCompact } from "./transform-DiW7bREn.mjs";
6
+ import { n as transformView } from "./transform-CtqB1WYo.mjs";
7
7
  //#region src/commands/transform-job/transforms.ts
8
8
  const TransformJobTransformsEnvelope = listEnvelopeSchema(TransformCompact);
9
9
  var transforms_default = defineMetabaseCommand({
@@ -12,7 +12,7 @@ var transforms_default = defineMetabaseCommand({
12
12
  description: "List the transforms a job will run"
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
- capabilities: { minVersion: 59 },
15
+ requires: ["transformJob.transforms"],
16
16
  args: {
17
17
  ...outputFlags,
18
18
  ...listFlags,
@@ -1,7 +1,6 @@
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-z8rra6-I.mjs";
4
- import { f as CollectionTreeNode } from "./collection-CfulNRBG.mjs";
1
+ import { H as outputFlags, Q as ConfigError, U as profileFlag, m as writeJson, z as connectionFlags } from "./cli.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-arKqJqIT.mjs";
3
+ import { m as CollectionTreeNode } from "./collection-BxdPxD38.mjs";
5
4
  import { z } from "zod";
6
5
  //#region src/commands/collection/tree.ts
7
6
  const CollectionTreeResponse = z.array(CollectionTreeNode);
@@ -10,7 +9,7 @@ var tree_default = defineMetabaseCommand({
10
9
  name: "tree",
11
10
  description: "Fetch the collection hierarchy as a nested tree (JSON only)"
12
11
  },
13
- capabilities: { minVersion: 58 },
12
+ requires: ["collection.tree"],
14
13
  args: {
15
14
  ...outputFlags,
16
15
  ...profileFlag,