@metabase/cli 0.3.1-alpha.transform-tests.3fbcf8b → 0.3.1-alpha.transform-tests.d9ed765

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 (266) hide show
  1. package/dist/{add-collection-C-XJPp3F.mjs → add-collection-v_uw_8VC.mjs} +6 -9
  2. package/dist/{alert-Klz8Bhst.mjs → alert-2MDhiuxT.mjs} +7 -7
  3. package/dist/{alerts-Bp2vByJf.mjs → alerts-BDoIryWj.mjs} +7 -7
  4. package/dist/{append-D16_s1HW.mjs → append-CeHVEN3m.mjs} +5 -5
  5. package/dist/{archive-RzzXt2V0.mjs → archive-B9DiDia8.mjs} +6 -6
  6. package/dist/{archive-nDvHMzTv.mjs → archive-BMQBzQMw.mjs} +4 -4
  7. package/dist/{archive-C9iNjXcI.mjs → archive-BU3VZ1An.mjs} +5 -5
  8. package/dist/{archive-CA-HIfQq.mjs → archive-BopUoNoz.mjs} +4 -4
  9. package/dist/{archive-BOJUGwyL.mjs → archive-BuHy5_kr.mjs} +4 -4
  10. package/dist/{archive-Q_qUuYh8.mjs → archive-CVTpSQ0H.mjs} +6 -6
  11. package/dist/{archive-Dd7ZTibw.mjs → archive-CYaJZhBs.mjs} +4 -4
  12. package/dist/{archive-vzu8ghZZ.mjs → archive-CxzoUCE_.mjs} +6 -6
  13. package/dist/{archive-D4nGMs8A.mjs → archive-D5QNFMmn.mjs} +4 -4
  14. package/dist/{archive-Bj4MjbJY.mjs → archive-IBEbIm_S2.mjs} +6 -6
  15. package/dist/{archive-lDnTIypd.mjs → archive-M2_D7zAj.mjs} +6 -6
  16. package/dist/{auth-kyPQfiND.mjs → auth-DuGPC1Q0.mjs} +5 -5
  17. package/dist/{body-DxRSAMNC.mjs → body-hAwPMqBg.mjs} +3 -3
  18. package/dist/{branches-QixvzIpl.mjs → branches-CIP60haa.mjs} +4 -7
  19. package/dist/{cancel-CPStS4zJ.mjs → cancel-C9hrQ1yg.mjs} +4 -4
  20. package/dist/{cancel-task--cuSISnl.mjs → cancel-task-BeviniVd.mjs} +5 -8
  21. package/dist/{card-zyUkr2nS.mjs → card-CEkp1mcI.mjs} +1 -1
  22. package/dist/card-DqPrL79i.mjs +24 -0
  23. package/dist/{card-DZxRmver.mjs → card-voh1k4hl.mjs} +14 -11
  24. package/dist/{cards-CNbV8aGO.mjs → cards-CvWT-tKQ.mjs} +7 -7
  25. package/dist/cli.mjs +567 -70
  26. package/dist/client-yPhazV6T.mjs +4093 -0
  27. package/dist/collection-BsXk1V41.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-C5SNf6Yw.mjs} +2 -2
  31. package/dist/{content-translation-CxTabpLF.mjs → content-translation-BNYQ8fJ3.mjs} +3 -3
  32. package/dist/{create-CEP4Jsrd.mjs → create-BVd4Y4py2.mjs} +6 -6
  33. package/dist/{create-ku05K1Oj.mjs → create-BZyLtvg5.mjs} +6 -6
  34. package/dist/{create-UxWtLwXT.mjs → create-BsiUuwSb.mjs} +5 -5
  35. package/dist/{create-WIIp7MVV.mjs → create-C1fVgFBd.mjs} +4 -4
  36. package/dist/{create-M8qXs24L.mjs → create-C4U9DGDG.mjs} +7 -7
  37. package/dist/{create-BTvSwLws.mjs → create-CHn7P-Bz.mjs} +5 -5
  38. package/dist/{create-BikaTHCw.mjs → create-CL4xkZ4j.mjs} +6 -6
  39. package/dist/{create-CYhsYOOJ.mjs → create-CcOTodqT.mjs} +4 -4
  40. package/dist/{create-BGV7ejai.mjs → create-Cmgq35ZB.mjs} +4 -4
  41. package/dist/{create-U15wd8_9.mjs → create-DPb3b69Y.mjs} +4 -4
  42. package/dist/{create-DMLjSEkF.mjs → create-DRyA-nuP.mjs} +5 -5
  43. package/dist/{create-CtDaASGO.mjs → create-DTfaHMNw.mjs} +6 -6
  44. package/dist/{create-BGy4L_yh.mjs → create-Db3QVXRi.mjs} +7 -7
  45. package/dist/{create-BsvpUxJq.mjs → create-DqKDw2zq.mjs} +5 -8
  46. package/dist/{create-CsABLrSI.mjs → create-S0jXAtl2.mjs} +11 -7
  47. package/dist/{create-BMokmmLp2.mjs → create-Z_gzD_p-2.mjs} +8 -8
  48. package/dist/{create-branch-Bkq9rtf7.mjs → create-branch-hYwnfY8X.mjs} +5 -9
  49. package/dist/{csv-GincCch9.mjs → csv-DOEqRG95.mjs} +5 -5
  50. package/dist/{current-task-CbnNWQ7H.mjs → current-task-DVo5aDfA.mjs} +5 -8
  51. package/dist/{dashboard-CKUR8ZpQ.mjs → dashboard-D0hwTC-f.mjs} +11 -2
  52. package/dist/{dashboard-ReNaou5J.mjs → dashboard-D8Yjjwfr.mjs} +10 -10
  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-2hSYsqHk.mjs → db-ntq1NYVT.mjs} +7 -7
  57. package/dist/{delete-Bv3_SIqh.mjs → delete-BQWk6Ogb.mjs} +5 -5
  58. package/dist/{delete-CZqleA9Q.mjs → delete-C2iVm203.mjs} +5 -5
  59. package/dist/{delete-C1YmyeVy.mjs → delete-CPzdQGKf.mjs} +5 -5
  60. package/dist/{delete-DNsY94Ok.mjs → delete-CW8xJwDm.mjs} +5 -5
  61. package/dist/{delete-BEPw7WRT.mjs → delete-CZqaDxkf.mjs} +5 -5
  62. package/dist/{delete-B2wmUpj_.mjs → delete-Qsf-OKkl.mjs} +5 -5
  63. package/dist/{delete-runtime-D74s6vhu.mjs → delete-runtime-BKEzJn22.mjs} +1 -2
  64. package/dist/{delete-table-DySwoEaq.mjs → delete-table-DLufNvzW.mjs} +5 -5
  65. package/dist/{dependencies-ygT6uMu4.mjs → dependencies-BGtd-eIR.mjs} +7 -7
  66. package/dist/{dirty-BkiHZ8gb.mjs → dirty-BiiJ5Ngh.mjs} +6 -9
  67. package/dist/{document-Cd2mmqCp.mjs → document-BHpLJbKU.mjs} +5 -0
  68. package/dist/document-BiS-U56S.mjs +19 -0
  69. package/dist/{document-D6OybtP2.mjs → document-CA0Q6lqu.mjs} +1 -1
  70. package/dist/{download-Chr-YNTG.mjs → download-DrcL0yRr.mjs} +3 -6
  71. package/dist/{eid-BvY-YGpN.mjs → eid-Bn3Impnq.mjs} +4 -5
  72. package/dist/{events-B01P0G7C.mjs → events-CfnrXbim.mjs} +5 -5
  73. package/dist/{export-CG23iezf.mjs → export-CFK8cMvK.mjs} +7 -10
  74. package/dist/{field-Cr2DPUG9.mjs → field-CcN4oZy6.mjs} +16 -1
  75. package/dist/{field-DikmNcAt.mjs → field-CeP-41qf.mjs} +5 -5
  76. package/dist/{field-BPsNa-TO.mjs → field-fDtIrY6D.mjs} +1 -1
  77. package/dist/{fields-C9BF3jHL.mjs → fields-B3tJI4X2.mjs} +7 -7
  78. package/dist/{get-B3jvGI0b.mjs → get-3ymehUjQ.mjs} +6 -6
  79. package/dist/{get-gFM8-HHP.mjs → get-B9fPTBEQ.mjs} +5 -8
  80. package/dist/{get-PKhv8WUf.mjs → get-BFh5ctuV.mjs} +6 -6
  81. package/dist/{get-N5EUCDL0.mjs → get-BMZ3UoJz.mjs} +6 -6
  82. package/dist/{get-DZpRq_Fw.mjs → get-Be9oShms.mjs} +4 -4
  83. package/dist/{get-DvqYIBp5.mjs → get-BkTiIo_7.mjs} +4 -4
  84. package/dist/{get-Blbcl76m.mjs → get-C-E-I10i.mjs} +6 -6
  85. package/dist/{get-FJofgEPB.mjs → get-CIlXE4zy.mjs} +6 -6
  86. package/dist/{get-UW0DOjH5.mjs → get-Cqfb4zZM.mjs} +4 -4
  87. package/dist/{get-BtauixMx.mjs → get-Cxvi9pSj.mjs} +6 -6
  88. package/dist/{get-Buxkx-RX.mjs → get-D2Bt3r3M.mjs} +4 -4
  89. package/dist/{get-DdSB-fpR.mjs → get-DJDV3NMU.mjs} +5 -5
  90. package/dist/{get-DY-e5oP7.mjs → get-D_f0INnl.mjs} +6 -6
  91. package/dist/{get-BHpVRSbm.mjs → get-Diozf-D0.mjs} +6 -6
  92. package/dist/{get-C1V7vZse.mjs → get-Dl9WoeCd.mjs} +4 -4
  93. package/dist/{get-C99cjjD0.mjs → get-DlPhNHPX.mjs} +6 -6
  94. package/dist/{get-BYSFFlsd.mjs → get-DnVGJfW42.mjs} +6 -6
  95. package/dist/get-Dx4k6_Qt.mjs +93 -0
  96. package/dist/{get-CkMLxzVy.mjs → get-lRUl1Dnb.mjs} +4 -4
  97. package/dist/{get-CMMXBVff.mjs → get-pGqPQ0Of.mjs} +6 -6
  98. package/dist/{get-run-F7ARJeAD.mjs → get-run-DmtNpSbG.mjs} +6 -6
  99. package/dist/{git-sync-BDnxPrqU.mjs → git-sync-BwBRmEhE.mjs} +18 -1
  100. package/dist/{git-sync-DxD_ng48.mjs → git-sync-TjX1r_wF.mjs} +1 -1
  101. package/dist/git-sync-jvNlPu2I.mjs +28 -0
  102. package/dist/{group-DBM87IgC.mjs → group-YQQ5GIcP.mjs} +2 -2
  103. package/dist/{has-remote-changes-Bwyp8mc-.mjs → has-remote-changes-BS6jOb2-.mjs} +5 -8
  104. package/dist/{import-CPY8aM8d.mjs → import-Cur2I6Yc.mjs} +7 -10
  105. package/dist/{input-DH9i67x_.mjs → input-DEvkIjGr.mjs} +1 -1
  106. package/dist/{is-dirty-0F_UJY7Q.mjs → is-dirty-7Jo0tglq.mjs} +3 -6
  107. package/dist/{items-FUop0zGR.mjs → items-BBJSvqWt.mjs} +7 -7
  108. package/dist/{key-BEhqIzIQ.mjs → key-PYetuQ13.mjs} +1 -1
  109. package/dist/library-BPIzb3K_.mjs +81 -0
  110. package/dist/{library-DpOtb0E0.mjs → library-CpDosMc5.mjs} +5 -5
  111. package/dist/{library-DfYAT2Ep.mjs → library-PGCfm0UA.mjs} +1 -1
  112. package/dist/{list-B-74c1BD.mjs → list--Frwwg4i.mjs} +7 -7
  113. package/dist/{list-BASNYNJr.mjs → list-40V_8T3H.mjs} +4 -4
  114. package/dist/{list-xC99-2X0.mjs → list-BAO7rPNU.mjs} +4 -4
  115. package/dist/{list--B2EUWJg.mjs → list-BAaBsdMk.mjs} +6 -6
  116. package/dist/{list-rQ-6XSua.mjs → list-BCD9lkxc.mjs} +4 -4
  117. package/dist/{list-BQaXU1bp.mjs → list-BuZaFlV-.mjs} +4 -4
  118. package/dist/{list-Beoh2AYD.mjs → list-C7kqJAc8.mjs} +4 -4
  119. package/dist/{list-CGkgypYz.mjs → list-CBGsfTib.mjs} +7 -7
  120. package/dist/{list-Uc1OxV36.mjs → list-CFJyXUsF.mjs} +14 -13
  121. package/dist/{list-DfbsmsHv.mjs → list-CQJoLqy0.mjs} +7 -7
  122. package/dist/{list-DdFViPYS.mjs → list-CVs3TyU7.mjs} +6 -6
  123. package/dist/{list-DMlFbccD.mjs → list-CX2668xz.mjs} +6 -6
  124. package/dist/{list-ba7lI44w.mjs → list-CcyZu5Jp.mjs} +6 -6
  125. package/dist/{list-C2qxVTu7.mjs → list-DPvJihmj.mjs} +7 -7
  126. package/dist/{list-BQrk4Ua4.mjs → list-D_Kv8Ezq.mjs} +7 -7
  127. package/dist/{list-GyP4b_tU.mjs → list-DuZlYCTl.mjs} +5 -5
  128. package/dist/{list-Bqm0F1Y-.mjs → list-_6JwpPXA.mjs} +6 -6
  129. package/dist/{list-lzIKVtE9.mjs → list-bCtszwHJ.mjs} +4 -4
  130. package/dist/list-rojRNBu5.mjs +60 -0
  131. package/dist/{login-D5jt0q9K.mjs → login-BCxYB6ii.mjs} +15 -12
  132. package/dist/{logout-DViy0VzV.mjs → logout-BVEYg9pV.mjs} +3 -4
  133. package/dist/{measure-IPlonpqU.mjs → measure-DYmGuTVW.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-CHyOCxmR.mjs → parameter-values-D4qte8qc.mjs} +5 -6
  137. package/dist/{parse-enum-D0Jfm_Bz.mjs → parse-enum-Dc0dMZ3P.mjs} +1 -1
  138. package/dist/{parse-id-CPINxy7h.mjs → parse-id-BSdAXN-r.mjs} +1 -1
  139. package/dist/{parse-ref-ibKVB0J4.mjs → parse-ref-DTDld_LJ.mjs} +1 -1
  140. package/dist/{path-bMZzUOVo.mjs → path-BNZf4ETt.mjs} +5 -5
  141. package/dist/{poll-75SvT7Zv.mjs → poll-CZeXepUQ.mjs} +2 -2
  142. package/dist/{preflight-CoF1Em99.mjs → preflight-BsT-Ik4Z.mjs} +3 -4
  143. package/dist/{process-DBOOrmET.mjs → process-CTrfxxaC.mjs} +1 -1
  144. package/dist/{publish-Cs-OUG6n.mjs → publish-3Qlrs4CC.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-CEdmSEq8.mjs → query-B8MCziCM.mjs} +9 -10
  148. package/dist/{query-CpD46hL6.mjs → query-DxjE4Hq2.mjs} +10 -12
  149. package/dist/{query-result-DBDwk8TS.mjs → query-result-E4Q-Gra6.mjs} +1 -1
  150. package/dist/{remove-collection-DynsqkwG.mjs → remove-collection-CNWmp8C-.mjs} +6 -9
  151. package/dist/{render-CI93iP0I.mjs → render-MoT089RO.mjs} +13 -2
  152. package/dist/{replace-C6YqqCG9.mjs → replace-DOmUXCyk.mjs} +5 -5
  153. package/dist/{rescan-values-C6PB02uT.mjs → rescan-values-DpU_Ex0F.mjs} +6 -6
  154. package/dist/{run-C7PXBBEl.mjs → run-B8Vys-6V.mjs} +5 -5
  155. package/dist/{run-Cb86sH_c.mjs → run-CCPUWI0V.mjs} +6 -6
  156. package/dist/{run-CpmWoOGp.mjs → run-cyUFpMX3.mjs} +26 -14
  157. package/dist/{runs-CCRszsbB.mjs → runs-92XSK8ij.mjs} +7 -7
  158. package/dist/{runtime-BMJv4VOi.mjs → runtime-DzVkvFHY.mjs} +946 -246
  159. package/dist/{schema-tables-BQdFNy1B.mjs → schema-tables-lMGk2fyi.mjs} +7 -7
  160. package/dist/{schemas-CNAPFh4n.mjs → schemas-C83Q8dYY.mjs} +5 -5
  161. package/dist/{search-DFBwUc6d.mjs → search-BAXg-EJw.mjs} +2 -1
  162. package/dist/{search-BKVV6YtB.mjs → search-D6qBaNsw.mjs} +6 -6
  163. package/dist/{segment-CDoZHSYX.mjs → segment-BFJd2-ck.mjs} +6 -6
  164. package/dist/{selectors-BXbjj36S.mjs → selectors-Dcp25rNo.mjs} +3 -3
  165. package/dist/{send-D2eXL9lt.mjs → send-Be-_KmWr.mjs} +4 -4
  166. package/dist/{set-sHBtSGLi.mjs → set-Bg_4elCb.mjs} +5 -5
  167. package/dist/{set-active-DT61WwV0.mjs → set-active-CtQiMzt7.mjs} +5 -5
  168. package/dist/{setting-dkfKvCxc.mjs → setting-BNEblMco.mjs} +4 -4
  169. package/dist/{setup-TOwWatgm.mjs → setup-DFnxwJGX.mjs} +4 -4
  170. package/dist/{signal-CMd0EFUa.mjs → signal-k7cm5N6h.mjs} +11 -2
  171. package/dist/skill-list-Ro6J0pyV.mjs +76 -0
  172. package/dist/skills-BdrMrbXh.mjs +351 -0
  173. package/dist/{skills-BcOjZldN.mjs → skills-CGYk6b2r.mjs} +3 -3
  174. package/dist/snippet-vMnFtNwi.mjs +19 -0
  175. package/dist/{stash-BgWw2lyu.mjs → stash-C9SZwusp.mjs} +7 -11
  176. package/dist/{status-B14FO8n7.mjs → status-D0n7AuQU.mjs} +12 -11
  177. package/dist/{status-J4pEIm-c.mjs → status-Dj04FCCv.mjs} +11 -9
  178. package/dist/{subscription-B1uuKxM7.mjs → subscription-B5Iax7Ci.mjs} +6 -6
  179. package/dist/{subscriptions-BHIATSN6.mjs → subscriptions-DwvHRO1v.mjs} +7 -7
  180. package/dist/{summary-B1V5TXaZ.mjs → summary-DaA6Twxk.mjs} +6 -6
  181. package/dist/{sync-schema-D1vX-rpv.mjs → sync-schema-BFWKEC3r.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-CDeO1WbH.mjs → table-DW1dG3Rl.mjs} +5 -5
  185. package/dist/{table-CeeTJgQb.mjs → table-DfuY0N8e.mjs} +51 -4
  186. package/dist/timeline-C0rqHF4p.mjs +21 -0
  187. package/dist/{timeline-event-oGmne082.mjs → timeline-event-D1MUnexK.mjs} +6 -6
  188. package/dist/{transform-DoTyyXAu.mjs → transform-CtqB1WYo.mjs} +2 -2
  189. package/dist/transform-D08iA4H_.mjs +28 -0
  190. package/dist/{transform-D3QX0jxA.mjs → transform-DiW7bREn.mjs} +68 -5
  191. package/dist/{transform-job-50GZHhKH.mjs → transform-job-AaMZRxAq.mjs} +1 -1
  192. package/dist/{transform-job-DRrK28IH.mjs → transform-job-CCguL6LP.mjs} +41 -4
  193. package/dist/transform-job-Me5CeV2z.mjs +22 -0
  194. package/dist/{transform-tag-Bpj8l5Ci.mjs → transform-tag-CbgjSy76.mjs} +5 -5
  195. package/dist/{transform-test-BJOPAwKl.mjs → transform-test-B-gVzODx.mjs} +1 -1
  196. package/dist/transform-test-BB_IFtZS.mjs +163 -0
  197. package/dist/transform-test-CwonhnyQ.mjs +16 -0
  198. package/dist/{transforms-K7Y4ON_q.mjs → transforms-Bhtk_Gil.mjs} +7 -7
  199. package/dist/{tree-CtFtroe4.mjs → tree-DLorrdEm.mjs} +4 -5
  200. package/dist/{unpublish-D7UaaIWA.mjs → unpublish-DOQhmLAx.mjs} +4 -7
  201. package/dist/{update-BvbPpgOL.mjs → update-BF4DWRT5.mjs} +6 -6
  202. package/dist/{update-dRAPKE3c.mjs → update-BeU02D8b.mjs} +6 -6
  203. package/dist/{update-C_wTtrtX.mjs → update-Bpb2V8Gm.mjs} +9 -9
  204. package/dist/{update-DUNJEk8m.mjs → update-CHNSRFKO.mjs} +7 -7
  205. package/dist/{update-BpuZsX9z.mjs → update-CSqPKfTk.mjs} +8 -8
  206. package/dist/{update-bix8NoKq.mjs → update-CTCcgeaY.mjs} +7 -7
  207. package/dist/{update-BlBEKrNE.mjs → update-Ch43eYU-.mjs} +5 -5
  208. package/dist/{update-MWaDj2VX.mjs → update-D2dis8s_.mjs} +8 -8
  209. package/dist/{update-YkB3xWUh.mjs → update-DEULsCgK.mjs} +6 -6
  210. package/dist/{update-B7veBLhx.mjs → update-DTZ07XFM.mjs} +5 -5
  211. package/dist/{update-CGJXd_E3.mjs → update-DWhC3xYc.mjs} +5 -5
  212. package/dist/{update-HqUKBeM2.mjs → update-DeA4gyTG.mjs} +5 -5
  213. package/dist/{update-BicO3Lio.mjs → update-Dq-KEeyS.mjs} +7 -7
  214. package/dist/{update-dashcard-BGqKMqQb.mjs → update-dashcard-CfDqxOlj.mjs} +7 -7
  215. package/dist/{update-3ksm443P.mjs → update-ezD5XTpy.mjs} +7 -7
  216. package/dist/{update-e4ufwrkF.mjs → update-mmeImeUo.mjs} +7 -7
  217. package/dist/{update-D9Nfv864.mjs → update-xjuN7bdu.mjs} +7 -7
  218. package/dist/{upgrade-DkQ1wk4z.mjs → upgrade-DgmbeOoJ.mjs} +6 -8
  219. package/dist/upload-BsPrAjN-.mjs +13 -0
  220. package/dist/{upload-CD555ui1.mjs → upload-Do2PBSeH.mjs} +2 -2
  221. package/dist/{upload-BfGc-L4t.mjs → upload-DzFBdNxM.mjs} +4 -7
  222. package/dist/{uuid-BLBLkWAF.mjs → uuid-DYYGRv9y.mjs} +3 -4
  223. package/dist/{validate-BWchyW0V.mjs → validate-EAB-1EkK.mjs} +1 -1
  224. package/dist/{validate-query-DaGYSmpQ.mjs → validate-query-CQG86147.mjs} +2 -3
  225. package/dist/{values-8CrXBkyg.mjs → values-Dk2CAR4T.mjs} +6 -6
  226. package/dist/{verify-nNVN-0CR.mjs → verify-8TnYrSNm.mjs} +3 -18
  227. package/dist/{wait-YrD7UYFF.mjs → wait-Oz6xFpyA.mjs} +7 -10
  228. package/dist/{wait-flags-CDtMS8FP.mjs → wait-flags-ClJx9LJ9.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 +29 -13
  232. package/skill-data/data-workflow/references/building-clean-tables.md +6 -2
  233. package/skill-data/data-workflow/references/reusable-definitions.md +11 -3
  234. package/skill-data/document/SKILL.md +4 -1
  235. package/skill-data/git-sync/SKILL.md +5 -0
  236. package/skill-data/mbql/SKILL.md +1 -1
  237. package/skill-data/mbql/references/operators.md +20 -15
  238. package/skill-data/metadata/SKILL.md +1 -1
  239. package/skill-data/metadata/references/semantic-types.md +7 -1
  240. package/skill-data/native-sql/references/template-tags.md +6 -2
  241. package/skill-data/notification/SKILL.md +7 -1
  242. package/skill-data/transform/SKILL.md +25 -7
  243. package/skill-data/transform-test-plan/SKILL.md +171 -0
  244. package/skill-data/transform-test-plan/references/checklist.md +81 -0
  245. package/skill-data/transform-test-plan/references/checks.md +259 -0
  246. package/skill-data/visualization/SKILL.md +11 -3
  247. package/skill-data/visualization/references/settings.md +6 -4
  248. package/skills/metabase-cli/SKILL.md +1 -1
  249. package/dist/card-p2r_szeS.mjs +0 -24
  250. package/dist/client-DynvZqa0.mjs +0 -2282
  251. package/dist/collection-CAM47Der.mjs +0 -20
  252. package/dist/document-DGbDloCb.mjs +0 -19
  253. package/dist/get-B4GltkXP.mjs +0 -80
  254. package/dist/git-sync-IW4T2sKq.mjs +0 -28
  255. package/dist/library-ClLgrAXy.mjs +0 -19
  256. package/dist/list-CvzWE6CS.mjs +0 -98
  257. package/dist/network-error-D6CiOEBw.mjs +0 -431
  258. package/dist/predicates-Bkm2IoeX.mjs +0 -170
  259. package/dist/skills-DTCrMcix.mjs +0 -216
  260. package/dist/snippet-DMdFqvNq.mjs +0 -19
  261. package/dist/timeline-MQFX3Fla.mjs +0 -21
  262. package/dist/transform-CWIqW64R.mjs +0 -28
  263. package/dist/transform-job-DpF2MARE.mjs +0 -22
  264. package/dist/transform-test-BhkpwFqD.mjs +0 -16
  265. package/dist/transform-test-Dhcj7u-U.mjs +0 -142
  266. package/dist/upload-JN6EK96c.mjs +0 -13
@@ -1,216 +0,0 @@
1
- import { d as ValidationError, f as errorMessage, i as ConfigError, p as isFileNotFoundError } from "./predicates-Bkm2IoeX.mjs";
2
- import { O as readEnv, w as ENV_SKILLS_DIR } from "./cli.mjs";
3
- import { z } from "zod";
4
- import { closeSync, openSync, readFileSync, readSync, readdirSync, statSync } from "node:fs";
5
- import { dirname, join, resolve } from "node:path";
6
- import { fileURLToPath } from "node:url";
7
- import { YAMLParseError, parse } from "yaml";
8
- //#region src/runtime/yaml.ts
9
- function parseYamlResult(input, schema, opts = {}) {
10
- const sourcePrefix = opts.source ? `${opts.source}: ` : "";
11
- let raw;
12
- try {
13
- raw = parse(input);
14
- } catch (error) {
15
- if (error instanceof YAMLParseError) return {
16
- ok: false,
17
- error: new ConfigError(`${sourcePrefix}invalid YAML: ${error.message}`)
18
- };
19
- return {
20
- ok: false,
21
- error: new ConfigError(`${sourcePrefix}invalid YAML: ${errorMessage(error)}`)
22
- };
23
- }
24
- const parsed = schema.safeParse(raw);
25
- if (!parsed.success) return {
26
- ok: false,
27
- error: new ValidationError(`${sourcePrefix}value did not match expected schema`, {
28
- source: opts.source ?? "<input>",
29
- zodIssues: parsed.error.issues
30
- })
31
- };
32
- return {
33
- ok: true,
34
- value: parsed.data
35
- };
36
- }
37
- //#endregion
38
- //#region src/core/skills.ts
39
- const Frontmatter = z.object({
40
- name: z.string().min(1),
41
- description: z.string().default(""),
42
- hidden: z.boolean().default(false)
43
- }).loose();
44
- const SkillExtraFile = z.object({
45
- path: z.string(),
46
- content: z.string()
47
- });
48
- const SkillContent = z.object({
49
- name: z.string(),
50
- description: z.string(),
51
- body: z.string(),
52
- references: z.array(SkillExtraFile),
53
- templates: z.array(SkillExtraFile)
54
- });
55
- const SKILL_DIR_NAMES = ["skills", "skill-data"];
56
- const SKILL_MD_FILENAME = "SKILL.md";
57
- const SKILL_REFERENCES_DIR = "references";
58
- const SKILL_TEMPLATES_DIR = "templates";
59
- const FRONTMATTER_PREFIX_BYTES = 8192;
60
- const FRONTMATTER_FENCE = "---";
61
- function loadAllSkills() {
62
- return discoverSkills(resolveSkillDirs());
63
- }
64
- function loadVisibleSkills() {
65
- return loadAllSkills().filter((s) => !s.hidden);
66
- }
67
- function findSkillByName(all, name) {
68
- const hit = all.find((s) => s.name === name);
69
- if (hit === void 0) throw new ConfigError(`unknown skill name: ${name} (${availableSkillNames(all)})`);
70
- return hit;
71
- }
72
- function selectSkillsByNames(all, requested) {
73
- if (requested.length === 0) throw new ConfigError("no skill names provided");
74
- const byName = new Map(all.map((s) => [s.name, s]));
75
- const missing = [];
76
- const found = [];
77
- for (const name of requested) {
78
- const hit = byName.get(name);
79
- if (hit === void 0) {
80
- missing.push(name);
81
- continue;
82
- }
83
- found.push(hit);
84
- }
85
- if (missing.length > 0) throw new ConfigError(`unknown skill name(s): ${missing.join(", ")} (${availableSkillNames(all)})`);
86
- return found;
87
- }
88
- function availableSkillNames(all) {
89
- const names = all.filter((s) => !s.hidden).map((s) => s.name);
90
- return `available: ${names.length === 0 ? "none" : names.join(", ")}`;
91
- }
92
- function resolveSkillDirs() {
93
- const override = readEnv(ENV_SKILLS_DIR);
94
- if (override !== void 0 && override !== "") {
95
- if (!isDirectory(override)) throw new ConfigError(`${ENV_SKILLS_DIR} points at ${override}, which is not a directory`);
96
- return [resolve(override)];
97
- }
98
- const root = findPackageRoot();
99
- if (root === null) return [];
100
- return SKILL_DIR_NAMES.map((name) => join(root, name)).filter(isDirectory);
101
- }
102
- function findPackageRoot() {
103
- let dir = dirname(fileURLToPath(import.meta.url));
104
- while (true) {
105
- for (const name of SKILL_DIR_NAMES) if (isDirectory(join(dir, name))) return dir;
106
- const parent = dirname(dir);
107
- if (parent === dir) return null;
108
- dir = parent;
109
- }
110
- }
111
- function discoverSkills(dirs) {
112
- const skills = [];
113
- for (const dir of dirs) {
114
- let entries;
115
- try {
116
- entries = readdirSync(dir);
117
- } catch (error) {
118
- if (isFileNotFoundError(error)) continue;
119
- throw error;
120
- }
121
- for (const entryName of entries) {
122
- const skillDir = join(dir, entryName);
123
- const fm = readFrontmatterFromSkill(skillDir);
124
- if (fm === null) continue;
125
- skills.push({
126
- name: fm.name,
127
- description: fm.description,
128
- hidden: fm.hidden,
129
- dir: skillDir
130
- });
131
- }
132
- }
133
- skills.sort((a, b) => a.name.localeCompare(b.name));
134
- return skills;
135
- }
136
- function readFrontmatterFromSkill(skillDir) {
137
- const prefix = readFilePrefix(join(skillDir, SKILL_MD_FILENAME), FRONTMATTER_PREFIX_BYTES);
138
- if (prefix === null) return null;
139
- return parseFrontmatter(prefix);
140
- }
141
- function readFilePrefix(path, maxBytes) {
142
- let fd;
143
- try {
144
- fd = openSync(path, "r");
145
- } catch (error) {
146
- if (isFileNotFoundError(error)) return null;
147
- throw error;
148
- }
149
- try {
150
- const buffer = Buffer.alloc(maxBytes);
151
- const bytesRead = readSync(fd, buffer, 0, maxBytes, 0);
152
- return buffer.toString("utf8", 0, bytesRead);
153
- } finally {
154
- closeSync(fd);
155
- }
156
- }
157
- function parseFrontmatter(content) {
158
- const trimmed = content.trimStart();
159
- if (!trimmed.startsWith(FRONTMATTER_FENCE)) return null;
160
- const afterOpening = trimmed.slice(3);
161
- const closingIndex = afterOpening.indexOf(`\n${FRONTMATTER_FENCE}`);
162
- if (closingIndex < 0) return null;
163
- const result = parseYamlResult(afterOpening.slice(0, closingIndex), Frontmatter);
164
- if (!result.ok) return null;
165
- return result.value;
166
- }
167
- function readSkillContent(info, opts) {
168
- const body = readFileSync(join(info.dir, SKILL_MD_FILENAME), "utf8");
169
- if (!opts.includeExtras) return {
170
- name: info.name,
171
- description: info.description,
172
- body,
173
- references: [],
174
- templates: []
175
- };
176
- return {
177
- name: info.name,
178
- description: info.description,
179
- body,
180
- references: collectExtraFiles(info.dir, SKILL_REFERENCES_DIR),
181
- templates: collectExtraFiles(info.dir, SKILL_TEMPLATES_DIR)
182
- };
183
- }
184
- function collectExtraFiles(skillDir, subdirName) {
185
- const subdir = join(skillDir, subdirName);
186
- if (!isDirectory(subdir)) return [];
187
- const entries = readdirSync(subdir).toSorted();
188
- const out = [];
189
- for (const entry of entries) {
190
- const full = join(subdir, entry);
191
- if (!isFile(full)) continue;
192
- out.push({
193
- path: `${subdirName}/${entry}`,
194
- content: readFileSync(full, "utf8")
195
- });
196
- }
197
- return out;
198
- }
199
- function isDirectory(path) {
200
- try {
201
- return statSync(path).isDirectory();
202
- } catch (error) {
203
- if (isFileNotFoundError(error)) return false;
204
- throw error;
205
- }
206
- }
207
- function isFile(path) {
208
- try {
209
- return statSync(path).isFile();
210
- } catch (error) {
211
- if (isFileNotFoundError(error)) return false;
212
- throw error;
213
- }
214
- }
215
- //#endregion
216
- export { readSkillContent as a, loadVisibleSkills as i, findSkillByName as n, selectSkillsByNames as o, loadAllSkills as r, SkillContent as t };
@@ -1,19 +0,0 @@
1
- import { t as defineCommandGroup } from "./group-DBM87IgC.mjs";
2
- //#region src/commands/snippet/index.ts
3
- var snippet_default = defineCommandGroup({
4
- name: "snippet",
5
- description: "Manage Metabase native query snippets",
6
- skills: [{
7
- skill: "core",
8
- purpose: "native-SQL snippets and body input"
9
- }],
10
- subCommands: {
11
- list: () => import("./list-rQ-6XSua.mjs").then((mod) => mod.default),
12
- get: () => import("./get-C1V7vZse.mjs").then((mod) => mod.default),
13
- create: () => import("./create-U15wd8_9.mjs").then((mod) => mod.default),
14
- update: () => import("./update-BlBEKrNE.mjs").then((mod) => mod.default),
15
- archive: () => import("./archive-BOJUGwyL.mjs").then((mod) => mod.default)
16
- }
17
- });
18
- //#endregion
19
- export { snippet_default as default };
@@ -1,21 +0,0 @@
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,28 +0,0 @@
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 };
@@ -1,22 +0,0 @@
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,16 +0,0 @@
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 };
@@ -1,142 +0,0 @@
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,13 +0,0 @@
1
- import { t as defineCommandGroup } from "./group-DBM87IgC.mjs";
2
- //#region src/commands/upload/index.ts
3
- var upload_default = defineCommandGroup({
4
- name: "upload",
5
- description: "Upload CSV files into Metabase",
6
- subCommands: {
7
- csv: () => import("./csv-GincCch9.mjs").then((m) => m.default),
8
- append: () => import("./append-D16_s1HW.mjs").then((m) => m.default),
9
- replace: () => import("./replace-C6YqqCG9.mjs").then((m) => m.default)
10
- }
11
- });
12
- //#endregion
13
- export { upload_default as default };