@metabase/cli 0.3.1-alpha.transform-tests.c0bc2d1 → 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 (264) hide show
  1. package/dist/{add-collection-CVDgC7C6.mjs → add-collection-v_uw_8VC.mjs} +6 -9
  2. package/dist/{alert-Co9m8k5l.mjs → alert-2MDhiuxT.mjs} +7 -7
  3. package/dist/{alerts-DjZGGxOy.mjs → alerts-BDoIryWj.mjs} +7 -7
  4. package/dist/{append-BXqeNFzW.mjs → append-CeHVEN3m.mjs} +5 -5
  5. package/dist/{archive-D1xZRRRA.mjs → archive-B9DiDia8.mjs} +6 -6
  6. package/dist/{archive-I61vFPxv.mjs → archive-BMQBzQMw.mjs} +4 -4
  7. package/dist/{archive-CXYUkzZo.mjs → archive-BU3VZ1An.mjs} +5 -5
  8. package/dist/{archive-Csku9zDp.mjs → archive-BopUoNoz.mjs} +4 -4
  9. package/dist/{archive-CH9osnGq.mjs → archive-BuHy5_kr.mjs} +4 -4
  10. package/dist/{archive-Bhk1IqGH.mjs → archive-CVTpSQ0H.mjs} +6 -6
  11. package/dist/{archive-pA5UZn1f.mjs → archive-CYaJZhBs.mjs} +4 -4
  12. package/dist/{archive-CUGpIXDT.mjs → archive-CxzoUCE_.mjs} +6 -6
  13. package/dist/{archive-DvV3oLCg.mjs → archive-D5QNFMmn.mjs} +4 -4
  14. package/dist/{archive-Cchi-tqq.mjs → archive-IBEbIm_S2.mjs} +6 -6
  15. package/dist/{archive-CzcjKpUC.mjs → archive-M2_D7zAj.mjs} +6 -6
  16. package/dist/{auth-BKgMIAKH.mjs → auth-DuGPC1Q0.mjs} +5 -5
  17. package/dist/{body-DxRSAMNC.mjs → body-hAwPMqBg.mjs} +3 -3
  18. package/dist/{branches-B96keFsO.mjs → branches-CIP60haa.mjs} +4 -7
  19. package/dist/{cancel-6GPBlUkr.mjs → cancel-C9hrQ1yg.mjs} +4 -4
  20. package/dist/{cancel-task-BIGAgcKk.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-DY6Togtl.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-Cg_VW3kW.mjs → content-translation-BNYQ8fJ3.mjs} +3 -3
  32. package/dist/{create-DqCdW3tt.mjs → create-BVd4Y4py2.mjs} +6 -6
  33. package/dist/{create-BsDJATJM.mjs → create-BZyLtvg5.mjs} +6 -6
  34. package/dist/{create-BkIoWkzP.mjs → create-BsiUuwSb.mjs} +5 -5
  35. package/dist/{create-cHltWf0e.mjs → create-C1fVgFBd.mjs} +4 -4
  36. package/dist/{create-BxWMTy6i.mjs → create-C4U9DGDG.mjs} +7 -7
  37. package/dist/{create-BpjBffBq.mjs → create-CHn7P-Bz.mjs} +5 -5
  38. package/dist/{create-mzHtey5k.mjs → create-CL4xkZ4j.mjs} +6 -6
  39. package/dist/{create-V2Bdeu8p.mjs → create-CcOTodqT.mjs} +4 -4
  40. package/dist/{create-BeNQQTPt.mjs → create-Cmgq35ZB.mjs} +4 -4
  41. package/dist/{create-JZevXtCI.mjs → create-DPb3b69Y.mjs} +4 -4
  42. package/dist/{create-cSpqEzKH.mjs → create-DRyA-nuP.mjs} +5 -5
  43. package/dist/{create-CK5MABYu.mjs → create-DTfaHMNw.mjs} +6 -6
  44. package/dist/{create-CaDAT54M.mjs → create-Db3QVXRi.mjs} +7 -7
  45. package/dist/{create-D_pNL2X9.mjs → create-DqKDw2zq.mjs} +5 -8
  46. package/dist/{create-bH-qAv03.mjs → create-S0jXAtl2.mjs} +11 -7
  47. package/dist/{create-BuWV1GpI2.mjs → create-Z_gzD_p-2.mjs} +8 -8
  48. package/dist/{create-branch-DN9PrlRR.mjs → create-branch-hYwnfY8X.mjs} +5 -9
  49. package/dist/{csv-CVKLuIuS.mjs → csv-DOEqRG95.mjs} +5 -5
  50. package/dist/{current-task-Dnm3JaWg.mjs → current-task-DVo5aDfA.mjs} +5 -8
  51. package/dist/{dashboard-CKUR8ZpQ.mjs → dashboard-D0hwTC-f.mjs} +11 -2
  52. package/dist/{dashboard-SxUrG3Cg.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-BnhuXAP9.mjs → db-ntq1NYVT.mjs} +7 -7
  57. package/dist/{delete-CH0FsDBg.mjs → delete-BQWk6Ogb.mjs} +5 -5
  58. package/dist/{delete-C3xeqTzS.mjs → delete-C2iVm203.mjs} +5 -5
  59. package/dist/{delete-BClvnlBc.mjs → delete-CPzdQGKf.mjs} +5 -5
  60. package/dist/{delete-Dn6VJuyR.mjs → delete-CW8xJwDm.mjs} +5 -5
  61. package/dist/{delete-DDVNawxh.mjs → delete-CZqaDxkf.mjs} +5 -5
  62. package/dist/{delete-6lroLZIE.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-C6LPzUDg.mjs → delete-table-DLufNvzW.mjs} +5 -5
  65. package/dist/{dependencies-vr51EFIu.mjs → dependencies-BGtd-eIR.mjs} +7 -7
  66. package/dist/{dirty-W0PzG3Yt.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-B-l6ajeo.mjs → download-DrcL0yRr.mjs} +3 -6
  71. package/dist/{eid-BGl_X67N.mjs → eid-Bn3Impnq.mjs} +4 -5
  72. package/dist/{events-BRRnroJb.mjs → events-CfnrXbim.mjs} +5 -5
  73. package/dist/{export-DEPLFq_E.mjs → export-CFK8cMvK.mjs} +7 -10
  74. package/dist/{field-Cr2DPUG9.mjs → field-CcN4oZy6.mjs} +16 -1
  75. package/dist/{field-BXaUzJvx.mjs → field-CeP-41qf.mjs} +5 -5
  76. package/dist/{field-BPsNa-TO.mjs → field-fDtIrY6D.mjs} +1 -1
  77. package/dist/{fields-LFMSMV5Z.mjs → fields-B3tJI4X2.mjs} +7 -7
  78. package/dist/{get-DCf0O3GJ.mjs → get-3ymehUjQ.mjs} +6 -6
  79. package/dist/{get-Du11BNRd.mjs → get-B9fPTBEQ.mjs} +5 -8
  80. package/dist/{get-B6lWlGeD.mjs → get-BFh5ctuV.mjs} +6 -6
  81. package/dist/{get-XcSH5Zyz.mjs → get-BMZ3UoJz.mjs} +6 -6
  82. package/dist/{get-DvCgLmPW.mjs → get-Be9oShms.mjs} +4 -4
  83. package/dist/{get-BempHTsm.mjs → get-BkTiIo_7.mjs} +4 -4
  84. package/dist/{get-M3zgKoZr.mjs → get-C-E-I10i.mjs} +6 -6
  85. package/dist/{get-DiRtfImy.mjs → get-CIlXE4zy.mjs} +6 -6
  86. package/dist/{get-7-OiP8ma.mjs → get-Cqfb4zZM.mjs} +4 -4
  87. package/dist/{get-DhxE02Ia.mjs → get-Cxvi9pSj.mjs} +6 -6
  88. package/dist/{get-DAsSPKxF.mjs → get-D2Bt3r3M.mjs} +4 -4
  89. package/dist/{get-DCHhq5Qv.mjs → get-DJDV3NMU.mjs} +5 -5
  90. package/dist/{get-BvI5QqjY.mjs → get-D_f0INnl.mjs} +6 -6
  91. package/dist/{get-CapP9GiI.mjs → get-Diozf-D0.mjs} +6 -6
  92. package/dist/{get-BM7MA5-7.mjs → get-Dl9WoeCd.mjs} +4 -4
  93. package/dist/{get-Bjvu5GM7.mjs → get-DlPhNHPX.mjs} +6 -6
  94. package/dist/{get-Cjx_5Zm-.mjs → get-DnVGJfW42.mjs} +6 -6
  95. package/dist/get-Dx4k6_Qt.mjs +93 -0
  96. package/dist/{get-DlQHyv4D.mjs → get-lRUl1Dnb.mjs} +4 -4
  97. package/dist/{get-C2DWxXYb.mjs → get-pGqPQ0Of.mjs} +6 -6
  98. package/dist/{get-run-UJmyRo7H.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-DmhFpgJe.mjs → has-remote-changes-BS6jOb2-.mjs} +5 -8
  104. package/dist/{import-BRC0TzWQ.mjs → import-Cur2I6Yc.mjs} +7 -10
  105. package/dist/{input-DH9i67x_.mjs → input-DEvkIjGr.mjs} +1 -1
  106. package/dist/{is-dirty-CT9e5vSd.mjs → is-dirty-7Jo0tglq.mjs} +3 -6
  107. package/dist/{items-BSAEWZlw.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-Zxh_MRVL.mjs → library-CpDosMc5.mjs} +5 -5
  111. package/dist/{library-DfYAT2Ep.mjs → library-PGCfm0UA.mjs} +1 -1
  112. package/dist/{list-DDFk1IFP.mjs → list--Frwwg4i.mjs} +7 -7
  113. package/dist/{list-C3IRtLP6.mjs → list-40V_8T3H.mjs} +4 -4
  114. package/dist/{list-DGLK2lso.mjs → list-BAO7rPNU.mjs} +4 -4
  115. package/dist/{list-QFieRzSf.mjs → list-BAaBsdMk.mjs} +6 -6
  116. package/dist/{list-08dyODsP.mjs → list-BCD9lkxc.mjs} +4 -4
  117. package/dist/{list-CAalCea_.mjs → list-BuZaFlV-.mjs} +4 -4
  118. package/dist/{list-BOUmEn2X.mjs → list-C7kqJAc8.mjs} +4 -4
  119. package/dist/{list-D6qH2PUE.mjs → list-CBGsfTib.mjs} +7 -7
  120. package/dist/{list-DCA0T8bS.mjs → list-CFJyXUsF.mjs} +14 -13
  121. package/dist/{list-De0ebgzc.mjs → list-CQJoLqy0.mjs} +7 -7
  122. package/dist/{list-Dqyd2TZI.mjs → list-CVs3TyU7.mjs} +6 -6
  123. package/dist/{list-Drm6l_tt.mjs → list-CX2668xz.mjs} +6 -6
  124. package/dist/{list-DCBLu0KG.mjs → list-CcyZu5Jp.mjs} +6 -6
  125. package/dist/{list-D9RmPIEJ.mjs → list-DPvJihmj.mjs} +7 -7
  126. package/dist/{list-CleMHJBY.mjs → list-D_Kv8Ezq.mjs} +7 -7
  127. package/dist/{list-BZbC260R.mjs → list-DuZlYCTl.mjs} +5 -5
  128. package/dist/{list-BxCk3QTy.mjs → list-_6JwpPXA.mjs} +6 -6
  129. package/dist/{list-DYlphSxV.mjs → list-bCtszwHJ.mjs} +4 -4
  130. package/dist/list-rojRNBu5.mjs +60 -0
  131. package/dist/{login-DDHEyjWz.mjs → login-BCxYB6ii.mjs} +15 -12
  132. package/dist/{logout-BbB0vvQN.mjs → logout-BVEYg9pV.mjs} +3 -4
  133. package/dist/{measure-CGuwA0KX.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-CI6-CkB7.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-CdZ0-1TM.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-Df2itv7t.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-xUBySB1T.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-BkZvffIM.mjs → query-B8MCziCM.mjs} +9 -10
  148. package/dist/{query-CmkC8sfu.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-DFfmuTwD.mjs → remove-collection-CNWmp8C-.mjs} +6 -9
  151. package/dist/{render-CI93iP0I.mjs → render-MoT089RO.mjs} +13 -2
  152. package/dist/{replace-DjoDBCLa.mjs → replace-DOmUXCyk.mjs} +5 -5
  153. package/dist/{rescan-values-Ca2Wa0A2.mjs → rescan-values-DpU_Ex0F.mjs} +6 -6
  154. package/dist/{run-B_-pMw67.mjs → run-B8Vys-6V.mjs} +5 -5
  155. package/dist/{run-BCYATTjE.mjs → run-CCPUWI0V.mjs} +6 -6
  156. package/dist/{run-CP-chc5O.mjs → run-cyUFpMX3.mjs} +26 -14
  157. package/dist/{runs-B0ypYKmn.mjs → runs-92XSK8ij.mjs} +7 -7
  158. package/dist/{runtime-CJUDVwBu.mjs → runtime-DzVkvFHY.mjs} +946 -246
  159. package/dist/{schema-tables-Nl83e2Zm.mjs → schema-tables-lMGk2fyi.mjs} +7 -7
  160. package/dist/{schemas-Cp29qgn0.mjs → schemas-C83Q8dYY.mjs} +5 -5
  161. package/dist/{search-DFBwUc6d.mjs → search-BAXg-EJw.mjs} +2 -1
  162. package/dist/{search-BbktlnDC.mjs → search-D6qBaNsw.mjs} +6 -6
  163. package/dist/{segment-BHBoMpL9.mjs → segment-BFJd2-ck.mjs} +6 -6
  164. package/dist/{selectors-e_0QdkaG.mjs → selectors-Dcp25rNo.mjs} +3 -3
  165. package/dist/{send-DEGpBT_7.mjs → send-Be-_KmWr.mjs} +4 -4
  166. package/dist/{set-C3tLEVuY.mjs → set-Bg_4elCb.mjs} +5 -5
  167. package/dist/{set-active-CqvLJysE.mjs → set-active-CtQiMzt7.mjs} +5 -5
  168. package/dist/{setting-Dwi-Wifx.mjs → setting-BNEblMco.mjs} +4 -4
  169. package/dist/{setup-CcSVPnEI.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-Cxi3fKMZ.mjs → skills-CGYk6b2r.mjs} +3 -3
  174. package/dist/snippet-vMnFtNwi.mjs +19 -0
  175. package/dist/{stash-CVhkyRIT.mjs → stash-C9SZwusp.mjs} +7 -11
  176. package/dist/{status-B7tYgPVV.mjs → status-D0n7AuQU.mjs} +12 -11
  177. package/dist/{status-C9uhZuip.mjs → status-Dj04FCCv.mjs} +11 -9
  178. package/dist/{subscription-Cj9jyFEB.mjs → subscription-B5Iax7Ci.mjs} +6 -6
  179. package/dist/{subscriptions-B5oVkkZk.mjs → subscriptions-DwvHRO1v.mjs} +7 -7
  180. package/dist/{summary-PVERfPr2.mjs → summary-DaA6Twxk.mjs} +6 -6
  181. package/dist/{sync-schema-CtG6r6Pr.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-6IHwQyr6.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-ox_Bw9F4.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-La1wmOTP.mjs → transform-tag-CbgjSy76.mjs} +5 -5
  195. package/dist/{transform-test-w5hDTx_D.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-DIgACzP-.mjs → transforms-Bhtk_Gil.mjs} +7 -7
  199. package/dist/{tree-CQ0FXBnn.mjs → tree-DLorrdEm.mjs} +4 -5
  200. package/dist/{unpublish-Binr4uOG.mjs → unpublish-DOQhmLAx.mjs} +4 -7
  201. package/dist/{update-lpLLpKhX.mjs → update-BF4DWRT5.mjs} +6 -6
  202. package/dist/{update-BKvSfdXu.mjs → update-BeU02D8b.mjs} +6 -6
  203. package/dist/{update-B4lIwY0G.mjs → update-Bpb2V8Gm.mjs} +9 -9
  204. package/dist/{update-BZS5m-vx.mjs → update-CHNSRFKO.mjs} +7 -7
  205. package/dist/{update-DH9CL61y.mjs → update-CSqPKfTk.mjs} +8 -8
  206. package/dist/{update-mOqedkLk.mjs → update-CTCcgeaY.mjs} +7 -7
  207. package/dist/{update-BiG9eLNH.mjs → update-Ch43eYU-.mjs} +5 -5
  208. package/dist/{update-CIuoW1M9.mjs → update-D2dis8s_.mjs} +8 -8
  209. package/dist/{update-CWIhy9Ax.mjs → update-DEULsCgK.mjs} +6 -6
  210. package/dist/{update-Db3j44fi.mjs → update-DTZ07XFM.mjs} +5 -5
  211. package/dist/{update-BbOX6axn.mjs → update-DWhC3xYc.mjs} +5 -5
  212. package/dist/{update-Cb68f4dx.mjs → update-DeA4gyTG.mjs} +5 -5
  213. package/dist/{update-la0K6wAf.mjs → update-Dq-KEeyS.mjs} +7 -7
  214. package/dist/{update-dashcard-DbZ8NlLZ.mjs → update-dashcard-CfDqxOlj.mjs} +7 -7
  215. package/dist/{update-gGZjfZN3.mjs → update-ezD5XTpy.mjs} +7 -7
  216. package/dist/{update-B5NYEIHU.mjs → update-mmeImeUo.mjs} +7 -7
  217. package/dist/{update-TDaf7Xbt.mjs → update-xjuN7bdu.mjs} +7 -7
  218. package/dist/{upgrade-BCWXgRmG.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-DUViVk1x.mjs → upload-DzFBdNxM.mjs} +4 -7
  222. package/dist/{uuid-D3CGL8wF.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-8XUr04w3.mjs → values-Dk2CAR4T.mjs} +6 -6
  226. package/dist/{verify-deF_hThH.mjs → verify-8TnYrSNm.mjs} +3 -18
  227. package/dist/{wait-Ct0weHol.mjs → wait-Oz6xFpyA.mjs} +7 -10
  228. package/dist/{wait-flags-Cb-bI0RD.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 +19 -4
  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 +17 -3
  243. package/skill-data/transform-test-plan/SKILL.md +1 -0
  244. package/skill-data/visualization/SKILL.md +11 -3
  245. package/skill-data/visualization/references/settings.md +6 -4
  246. package/skills/metabase-cli/SKILL.md +1 -1
  247. package/dist/card-zluRR7xD.mjs +0 -24
  248. package/dist/client-C9HBWl6A.mjs +0 -2282
  249. package/dist/collection-CrIkQWUK.mjs +0 -20
  250. package/dist/document-B1w9aIq7.mjs +0 -19
  251. package/dist/get-BUiHdwdU.mjs +0 -80
  252. package/dist/git-sync-DM5Nuv3a.mjs +0 -28
  253. package/dist/library-ClLgrAXy.mjs +0 -19
  254. package/dist/list-kIMBSzS-.mjs +0 -98
  255. package/dist/network-error-D6CiOEBw.mjs +0 -431
  256. package/dist/predicates-Bkm2IoeX.mjs +0 -170
  257. package/dist/skills-DTCrMcix.mjs +0 -216
  258. package/dist/snippet-hrEAI5Yf.mjs +0 -19
  259. package/dist/timeline-BwQIj-le.mjs +0 -21
  260. package/dist/transform-IPKGUzzd.mjs +0 -28
  261. package/dist/transform-job-COwH1ww7.mjs +0 -22
  262. package/dist/transform-test-C4VRGmGm.mjs +0 -149
  263. package/dist/transform-test-DGYx6MCT.mjs +0 -16
  264. package/dist/upload-BVBs2F69.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-08dyODsP.mjs").then((mod) => mod.default),
12
- get: () => import("./get-BM7MA5-7.mjs").then((mod) => mod.default),
13
- create: () => import("./create-JZevXtCI.mjs").then((mod) => mod.default),
14
- update: () => import("./update-BiG9eLNH.mjs").then((mod) => mod.default),
15
- archive: () => import("./archive-CH9osnGq.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-BOUmEn2X.mjs").then((mod) => mod.default),
12
- get: () => import("./get-DlQHyv4D.mjs").then((mod) => mod.default),
13
- events: () => import("./events-BRRnroJb.mjs").then((mod) => mod.default),
14
- create: () => import("./create-BeNQQTPt.mjs").then((mod) => mod.default),
15
- update: () => import("./update-Cb68f4dx.mjs").then((mod) => mod.default),
16
- archive: () => import("./archive-Csku9zDp.mjs").then((mod) => mod.default),
17
- delete: () => import("./delete-BClvnlBc.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-Drm6l_tt.mjs").then((mod) => mod.default),
15
- get: () => import("./get-DCf0O3GJ.mjs").then((mod) => mod.default),
16
- dependencies: () => import("./dependencies-vr51EFIu.mjs").then((mod) => mod.default),
17
- create: () => import("./create-BuWV1GpI2.mjs").then((mod) => mod.default),
18
- update: () => import("./update-B4lIwY0G.mjs").then((mod) => mod.default),
19
- delete: () => import("./delete-Dn6VJuyR.mjs").then((mod) => mod.default),
20
- "delete-table": () => import("./delete-table-C6LPzUDg.mjs").then((mod) => mod.default),
21
- run: () => import("./run-BCYATTjE.mjs").then((mod) => mod.default),
22
- cancel: () => import("./cancel-6GPBlUkr.mjs").then((mod) => mod.default),
23
- "get-run": () => import("./get-run-UJmyRo7H.mjs").then((mod) => mod.default),
24
- runs: () => import("./runs-B0ypYKmn.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-DCBLu0KG.mjs").then((mod) => mod.default),
12
- get: () => import("./get-C2DWxXYb.mjs").then((mod) => mod.default),
13
- create: () => import("./create-mzHtey5k.mjs").then((mod) => mod.default),
14
- update: () => import("./update-la0K6wAf.mjs").then((mod) => mod.default),
15
- delete: () => import("./delete-DDVNawxh.mjs").then((mod) => mod.default),
16
- run: () => import("./run-CP-chc5O.mjs").then((mod) => mod.default),
17
- transforms: () => import("./transforms-DIgACzP-.mjs").then((mod) => mod.default),
18
- "set-active": () => import("./set-active-CqvLJysE.mjs").then((mod) => mod.default)
19
- }
20
- });
21
- //#endregion
22
- export { transform_job_default as default };
@@ -1,149 +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
- /**
8
- * A column of declared test data. `cast_type` is what the cell is cast to, so it has to satisfy the
9
- * warehouse's CAST grammar rather than name one of its column types — MySQL takes `SIGNED` and
10
- * reports `INTEGER`. Contrast [[TransformTestResultColumn]], whose `database_type` is a real column
11
- * type; the two are not interchangeable.
12
- */
13
- const TransformTestColumn = z.object({
14
- name: z.string().min(1),
15
- cast_type: z.string().min(1).describe("A CAST target, e.g. VARCHAR(255) or MySQL's SIGNED")
16
- }).loose();
17
- const TransformTestCell = z.union([
18
- z.string(),
19
- z.number(),
20
- z.boolean(),
21
- z.null()
22
- ]);
23
- const TransformTestRow = z.record(z.string(), TransformTestCell);
24
- const TransformTestSqlData = z.object({
25
- format: z.literal("sql"),
26
- sql: z.string().min(1)
27
- }).loose();
28
- const TransformTestRowsData = z.object({
29
- format: z.literal("rows"),
30
- columns: z.array(TransformTestColumn).min(1),
31
- rows: z.array(TransformTestRow)
32
- }).loose();
33
- const TransformTestSqlInput = TransformTestSqlData.extend({ table: TransformTestTable });
34
- const TransformTestRowsInput = TransformTestRowsData.extend({ table: TransformTestTable });
35
- /** Test data standing in for one table the transform reads. */
36
- const TransformTestInput = z.discriminatedUnion("format", [TransformTestSqlInput, TransformTestRowsInput]);
37
- const TransformTestEqualsSql = TransformTestSqlData.extend({
38
- type: z.literal("equals"),
39
- name: z.string().min(1)
40
- });
41
- const TransformTestEqualsRows = TransformTestRowsData.extend({
42
- type: z.literal("equals"),
43
- name: z.string().min(1)
44
- });
45
- const TransformTestEmpty = z.object({
46
- type: z.literal("empty"),
47
- name: z.string().min(1),
48
- sql: z.string().min(1)
49
- }).loose();
50
- /** One check against the transform's output. Names are unique within a test. */
51
- const TransformTestExpectation = z.union([
52
- TransformTestEqualsSql,
53
- TransformTestEqualsRows,
54
- TransformTestEmpty
55
- ]);
56
- const TransformTest = z.object({
57
- id: z.number().int(),
58
- entity_id: z.string().nullable(),
59
- transform_id: z.number().int(),
60
- creator_id: z.number().int(),
61
- name: z.string(),
62
- description: z.string().nullable(),
63
- inputs: z.array(TransformTestInput),
64
- expectations: z.array(TransformTestExpectation),
65
- created_at: z.string(),
66
- updated_at: z.string()
67
- }).loose();
68
- const TransformTestCompact = TransformTest.pick({
69
- id: true,
70
- transform_id: true,
71
- name: true,
72
- description: true
73
- }).strip();
74
- /**
75
- * The server closes this map, so an unrecognized key is a 400 there. Refusing it here names the key
76
- * instead: a body cloned from `get` has to shed `id`, `entity_id`, `creator_id`, `created_at` and
77
- * `updated_at` before it can be sent back.
78
- */
79
- const TransformTestCreateInput = z.object({
80
- transform_id: z.number().int().positive(),
81
- name: z.string().min(1),
82
- description: z.string().nullable().optional(),
83
- inputs: z.array(TransformTestInput),
84
- expectations: z.array(TransformTestExpectation)
85
- }).strict();
86
- /** Closed for the same reason as [[TransformTestCreateInput]]; every field is optional. */
87
- const TransformTestUpdateInput = z.object({
88
- transform_id: z.number().int().positive().optional(),
89
- name: z.string().min(1).optional(),
90
- description: z.string().nullable().optional(),
91
- inputs: z.array(TransformTestInput).optional(),
92
- expectations: z.array(TransformTestExpectation).optional()
93
- }).strict();
94
- /**
95
- * `error` is one expectation's own failure to run, which leaves the rest of the run reporting; the
96
- * run as a whole is only `passed` or `failed`.
97
- */
98
- const TransformTestStatus = z.enum([
99
- "passed",
100
- "failed",
101
- "error"
102
- ]);
103
- /** A column as a run reports it: the output table's own type, not the declared `cast_type`. */
104
- const TransformTestResultColumn = z.object({
105
- name: z.string(),
106
- database_type: z.string()
107
- }).loose();
108
- const TransformTestCellMismatch = z.object({
109
- column: z.string(),
110
- expected: TransformTestCell,
111
- actual: TransformTestCell
112
- }).loose();
113
- const TransformTestRowCounts = z.object({
114
- actual: z.number().int(),
115
- expected: z.number().int()
116
- }).loose();
117
- const TransformTestExpectationError = z.object({
118
- type: z.string(),
119
- message: z.string()
120
- }).loose();
121
- /**
122
- * What one expectation found. The keys beyond `name`, `type` and `status` are its type's own:
123
- * `equals` reports the rows the two sides disagree on, `empty` a sample of the rows its query
124
- * returned, and both cap what they report, with `truncated` counting what the cap dropped.
125
- */
126
- const TransformTestExpectationResult = z.object({
127
- name: z.string(),
128
- type: z.enum(["equals", "empty"]),
129
- status: TransformTestStatus,
130
- columns: z.array(TransformTestResultColumn).optional(),
131
- error: TransformTestExpectationError.optional(),
132
- "row-counts": TransformTestRowCounts.optional(),
133
- "extra-rows": z.array(TransformTestRow).optional(),
134
- "missing-rows": z.array(TransformTestRow).optional(),
135
- "cell-mismatches": z.array(TransformTestCellMismatch).optional(),
136
- sample: z.array(TransformTestRow).optional(),
137
- truncated: z.number().int().optional()
138
- }).loose();
139
- /**
140
- * What a run reported. `tables` maps each temp table the run created to the table it stood in for.
141
- * A run that happened reports `passed` or `failed`; a refusal is an HTTP error rather than a body.
142
- */
143
- const TransformTestRunResult = z.object({
144
- status: TransformTestStatus,
145
- expectations: z.array(TransformTestExpectationResult),
146
- tables: z.record(z.string(), z.string())
147
- }).loose();
148
- //#endregion
149
- export { TransformTestUpdateInput as a, TransformTestRunResult as i, TransformTestCompact as n, TransformTestCreateInput as r, TransformTest as t };
@@ -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-DDFk1IFP.mjs").then((mod) => mod.default),
8
- get: () => import("./get-CapP9GiI.mjs").then((mod) => mod.default),
9
- create: () => import("./create-BsDJATJM.mjs").then((mod) => mod.default),
10
- update: () => import("./update-B5NYEIHU.mjs").then((mod) => mod.default),
11
- delete: () => import("./delete-C3xeqTzS.mjs").then((mod) => mod.default),
12
- run: () => import("./run-B_-pMw67.mjs").then((mod) => mod.default)
13
- }
14
- });
15
- //#endregion
16
- export { transform_test_default as default };
@@ -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-CVKLuIuS.mjs").then((m) => m.default),
8
- append: () => import("./append-BXqeNFzW.mjs").then((m) => m.default),
9
- replace: () => import("./replace-DjoDBCLa.mjs").then((m) => m.default)
10
- }
11
- });
12
- //#endregion
13
- export { upload_default as default };