@metabase/cli 0.1.18 → 0.2.1

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 (228) hide show
  1. package/README.md +212 -35
  2. package/dist/add-collection-C8ZTPlIE.mjs +9 -0
  3. package/dist/{add-collection-CRZAFCZy.mjs → add-collection-CUBn11d4.mjs} +4 -5
  4. package/dist/append-BgDaYJW9.mjs +42 -0
  5. package/dist/{archive-3mEhK9_H.mjs → archive-BCPA0HhV.mjs} +6 -8
  6. package/dist/{archive-De4yVEV8.mjs → archive-BM9HjJHQ.mjs} +5 -7
  7. package/dist/{archive-CFHYRF65.mjs → archive-BZpXnQSu.mjs} +5 -7
  8. package/dist/{archive-C3RWdM-2.mjs → archive-BncW2dGw.mjs} +7 -8
  9. package/dist/archive-Bv59HYsU.mjs +38 -0
  10. package/dist/{archive-d74nDcp4.mjs → archive-Czzktgho.mjs} +5 -7
  11. package/dist/{archive-errg-EKw.mjs → archive-DFCu5hVG.mjs} +6 -8
  12. package/dist/archive-EoYl-lS-.mjs +38 -0
  13. package/dist/{archive-Z8ZM-ilB.mjs → archive-Oh1iZu2y.mjs} +8 -9
  14. package/dist/auth-hgAnMUfi.mjs +22 -0
  15. package/dist/{body-BS2s2zDl.mjs → body-DKcQw7G5.mjs} +3 -3
  16. package/dist/{branches-mcyT7wI-.mjs → branches-CCmtr3W8.mjs} +5 -7
  17. package/dist/{cancel-B2l-i2NS.mjs → cancel-72y10-Rg.mjs} +4 -6
  18. package/dist/{cancel-task-CugcIeIi.mjs → cancel-task-CGwdz91O.mjs} +5 -7
  19. package/dist/capabilities-DOTcPraV.mjs +684 -0
  20. package/dist/{card-DEmcRlNO.mjs → card-B8G5jQQT.mjs} +24 -18
  21. package/dist/card-Ct-q_C4S.mjs +26 -0
  22. package/dist/{cards-BGkz5BeZ.mjs → cards-CYSyvN7Z.mjs} +7 -8
  23. package/dist/cli.mjs +177 -29
  24. package/dist/{collection-DrLpA1SO.mjs → collection-CFoLPrY5.mjs} +1 -1
  25. package/dist/collection-K82kJWdj.mjs +23 -0
  26. package/dist/{collection-namespace-BP_LJrAD.mjs → collection-namespace-C7mr_a8H.mjs} +2 -2
  27. package/dist/{create-CD9Rp8qs.mjs → create-7pbf5Wu0.mjs} +14 -14
  28. package/dist/{create-DzyMvAVy.mjs → create-BDY38_Kr.mjs} +8 -9
  29. package/dist/create-Brh8WCa3.mjs +45 -0
  30. package/dist/{create-DhrftYre.mjs → create-C3DThF9E.mjs} +14 -14
  31. package/dist/{create-B4HAEEE0.mjs → create-CPEOSxIH.mjs} +8 -9
  32. package/dist/{create-YfGzANNB.mjs → create-C_WqoOf5.mjs} +8 -9
  33. package/dist/{create-wpvDXSSY.mjs → create-CaWFrPRU.mjs} +12 -13
  34. package/dist/{create-Cztp5kES.mjs → create-DFyZCXQD.mjs} +5 -7
  35. package/dist/{create-BOmmMSjF.mjs → create-E7XhC0gJ.mjs} +11 -12
  36. package/dist/{create-kWzqvTGR.mjs → create-QYctYGSa.mjs} +11 -12
  37. package/dist/create-U_XDwsIX.mjs +45 -0
  38. package/dist/{create-branch-DsoMfx_2.mjs → create-branch-DPE6itiS.mjs} +5 -7
  39. package/dist/{create-D8KA4zJA.mjs → create-nXlnVzXl.mjs} +9 -10
  40. package/dist/{create-CkRFKtFG.mjs → create-pTnveKkm.mjs} +8 -9
  41. package/dist/csv-CR2qhmC6.mjs +58 -0
  42. package/dist/{current-task-WuKPZpZ6.mjs → current-task-MUHaiHIg.mjs} +5 -7
  43. package/dist/{dashboard-DOplbKyQ.mjs → dashboard-B-MTpfeS.mjs} +35 -15
  44. package/dist/dashboard-B1iRSUBI.mjs +35 -0
  45. package/dist/{database-D9fftP-i.mjs → database-CIbVSfua.mjs} +2 -2
  46. package/dist/db-eWy7A-H3.mjs +27 -0
  47. package/dist/{delete-Buai0_e_.mjs → delete-B58Cng0p.mjs} +6 -8
  48. package/dist/{delete-CmGh0jo1.mjs → delete-BKMOtpjs.mjs} +6 -8
  49. package/dist/delete-BMa26SzX.mjs +49 -0
  50. package/dist/delete-CW3dYmuT.mjs +49 -0
  51. package/dist/{delete-BCitmugk.mjs → delete-doa3R-c5.mjs} +6 -8
  52. package/dist/{delete-runtime-B0ha5QR4.mjs → delete-runtime-_YOukDRC.mjs} +2 -3
  53. package/dist/{delete-table-BOkYxdjA.mjs → delete-table-D_tjBZPd.mjs} +6 -8
  54. package/dist/{dependencies-XZrEvHUA.mjs → dependencies-BR_4um7h.mjs} +5 -7
  55. package/dist/{dirty-B-5NDbG9.mjs → dirty-BKCg6oVN.mjs} +5 -7
  56. package/dist/{document-1W7NRaO_.mjs → document-CL4ML5FN.mjs} +20 -4
  57. package/dist/document-CVxhTnUD.mjs +22 -0
  58. package/dist/{eid-BCuJRv7a.mjs → eid-DSOk7Khb.mjs} +10 -11
  59. package/dist/embedding-CKdw8q7p.mjs +11 -0
  60. package/dist/events-Dxm7me47.mjs +44 -0
  61. package/dist/{export-Dod2gdyE.mjs → export-Gb_wfZpt.mjs} +7 -9
  62. package/dist/field-BTCw6voJ.mjs +21 -0
  63. package/dist/{field-CMY_LWUe.mjs → field-DsXTeqBy.mjs} +6 -4
  64. package/dist/{fields-B0yttrzR.mjs → fields-hZeq6IF2.mjs} +6 -8
  65. package/dist/{get-9p0Gt1c7.mjs → get--rGDVyje.mjs} +5 -7
  66. package/dist/get-43Smv3RI.mjs +67 -0
  67. package/dist/{get-k6M5nGMC.mjs → get-7Np_G2je.mjs} +5 -7
  68. package/dist/{get-BkGh9BPd.mjs → get-BSdOE5J4.mjs} +5 -7
  69. package/dist/{get-B0OsW6jk.mjs → get-CHAH_F37.mjs} +5 -7
  70. package/dist/{get-DBY5esTW.mjs → get-CH_JmPc-.mjs} +5 -7
  71. package/dist/{get-CbpHt4Hs.mjs → get-CP3lrIYi.mjs} +5 -7
  72. package/dist/{get-CfeYa0v5.mjs → get-CgZ5qjQx.mjs} +5 -7
  73. package/dist/get-CuPCE_AG.mjs +35 -0
  74. package/dist/{get-DJ8huA8y.mjs → get-DB6Y9igl.mjs} +7 -8
  75. package/dist/{get-D7QMqPOK.mjs → get-DRK5-UdU.mjs} +5 -7
  76. package/dist/{get-D-pNrQGA.mjs → get-DT2MOZ8L.mjs} +5 -7
  77. package/dist/{get-BpZ81hX8.mjs → get-DWzMR8sn.mjs} +5 -7
  78. package/dist/{get-Dz7fcqoG.mjs → get-DZatHVdn.mjs} +8 -9
  79. package/dist/{get-u5Uq9vms.mjs → get-DtvzjfjG.mjs} +4 -6
  80. package/dist/get-T85qZgnv.mjs +35 -0
  81. package/dist/{get-DISgP66L.mjs → get-nZW0W7Ui.mjs} +16 -9
  82. package/dist/{get-run-DQJVpDw1.mjs → get-run-Cwia6e0d.mjs} +5 -7
  83. package/dist/git-sync-Cjrx2meo.mjs +31 -0
  84. package/dist/{group-BNE_RiH5.mjs → group-CILtQqCL.mjs} +2 -1
  85. package/dist/{has-remote-changes-DvQBXudi.mjs → has-remote-changes-CIIib71u.mjs} +5 -7
  86. package/dist/{import-PGS8-DwE.mjs → import-D9ID9Mz4.mjs} +7 -9
  87. package/dist/{input-7Sj85_K7.mjs → input-DzbvxKYU.mjs} +6 -3
  88. package/dist/{is-dirty-DyEVFQVJ.mjs → is-dirty-CHbUJ-bh.mjs} +3 -4
  89. package/dist/is-dirty-DY5Zhsbk.mjs +8 -0
  90. package/dist/{items-CkFEy2Du.mjs → items-DN63mjpF.mjs} +7 -9
  91. package/dist/{key-bltP32Pm.mjs → key-BnGRTX8U.mjs} +1 -1
  92. package/dist/{library-1AAVbk-K.mjs → library-DF2qx50w.mjs} +6 -6
  93. package/dist/{list-Bb8YRON_.mjs → list-B1sdMz6m.mjs} +4 -6
  94. package/dist/{list-BBxRjuMn.mjs → list-B3HoSfYj.mjs} +4 -6
  95. package/dist/{list-Sgo3RfDY.mjs → list-BSxMFDMR.mjs} +4 -6
  96. package/dist/list-BeqcZVSn.mjs +39 -0
  97. package/dist/{list-CK0p7vvK.mjs → list-C0344yqi.mjs} +5 -7
  98. package/dist/{list-82NkvRpI.mjs → list-C5Ir-96z.mjs} +7 -8
  99. package/dist/{list-CJx5q-Yn.mjs → list-C6YpaUpC.mjs} +6 -8
  100. package/dist/{list-CKzpoTgP.mjs → list-C7TqbWG1.mjs} +6 -8
  101. package/dist/{list-BWAYDSbQ.mjs → list-CQN2BpaW.mjs} +4 -6
  102. package/dist/{list-BY4S32Lg.mjs → list-CY-jpBNE.mjs} +4 -6
  103. package/dist/{list-BCYTTCFD.mjs → list-CkTsOOA7.mjs} +4 -6
  104. package/dist/{list-BVzu2RIZ.mjs → list-CvS68tLn.mjs} +4 -6
  105. package/dist/{list-CjF12k1G.mjs → list-De82cXvn.mjs} +5 -7
  106. package/dist/{list-B9wXg3qi.mjs → list-KDHLmoUx.mjs} +4 -6
  107. package/dist/{list-pQ22nXhQ.mjs → list-MqqHcBvD.mjs} +4 -6
  108. package/dist/{list-D-rgDFa5.mjs → list-n2PY3OIx.mjs} +8 -9
  109. package/dist/{login-C6ZAnGHz.mjs → login-jy9rbYev.mjs} +8 -10
  110. package/dist/{logout-CWjyY3Y8.mjs → logout-CRbk1SuY.mjs} +4 -6
  111. package/dist/measure-CPqisgyf.mjs +25 -0
  112. package/dist/{measure-DoJvtCaA.mjs → measure-S9WszHre.mjs} +5 -4
  113. package/dist/{parameter-values-DmDOuE-j.mjs → parameter-values-CcgcG3S5.mjs} +5 -7
  114. package/dist/{parse-enum-BL9i_brN.mjs → parse-enum-C_2lGr3g.mjs} +1 -1
  115. package/dist/{parse-id-DlXnOcmP.mjs → parse-id-CD54Chc5.mjs} +1 -1
  116. package/dist/{parse-ref-CB_KvF9h.mjs → parse-ref-BLgKEEF-.mjs} +1 -1
  117. package/dist/{path-D8IJ4YrW.mjs → path-CPMr1RJO.mjs} +4 -6
  118. package/dist/{poll-hgnrHBoh.mjs → poll-DVF9EnEb.mjs} +2 -2
  119. package/dist/{poll-task-NQNLT_aA.mjs → poll-task-CpHGQOd5.mjs} +2 -2
  120. package/dist/{preflight-DvaPQHHf.mjs → preflight-xhwEOHAt.mjs} +4 -5
  121. package/dist/{process-j8UHMHc2.mjs → process-HDPKLS_z.mjs} +1 -1
  122. package/dist/{prompt-C85xd9HR.mjs → prompt-BgkWNgIR.mjs} +1 -1
  123. package/dist/{publish-BntmFR6g.mjs → publish-xVPABwE8.mjs} +7 -9
  124. package/dist/{query-DSKQZu91.mjs → query-B3HDIsJ-.mjs} +15 -15
  125. package/dist/{query-BQfgKV68.mjs → query-Cxh9hmrP.mjs} +9 -10
  126. package/dist/{query-result-D6mfoVfQ.mjs → query-result-Drvjv7DD.mjs} +1 -1
  127. package/dist/{remove-collection-BguaI3-6.mjs → remove-collection-_a4uIlLB.mjs} +7 -9
  128. package/dist/replace-BwvKDNur.mjs +42 -0
  129. package/dist/requests-qyh002pL.mjs +96 -0
  130. package/dist/{rescan-values-DjD6IW3J.mjs → rescan-values-Bd0Joerq.mjs} +7 -9
  131. package/dist/{resolve-Dj2MTBkn.mjs → resolve-Ct084wx3.mjs} +1 -1
  132. package/dist/{run-RQfQj7Rk.mjs → run-BfpKUjqL.mjs} +7 -9
  133. package/dist/{run-Bp1yxkBN.mjs → run-yrpSF6VL.mjs} +4 -6
  134. package/dist/{runs-CSsatfWb.mjs → runs-D_08Ma08.mjs} +6 -8
  135. package/dist/{runtime-oxjmrYoP.mjs → runtime-Ab96yYlM.mjs} +3 -4
  136. package/dist/{schema-tables-5I5pCxHl.mjs → schema-tables-ChBYz4mO.mjs} +6 -8
  137. package/dist/{schemas-CfzFCfBt.mjs → schemas-C2crnVML.mjs} +4 -6
  138. package/dist/{search-Vo-BqliA.mjs → search-DnGEh6sZ.mjs} +4 -6
  139. package/dist/{segment-TXktTCfU.mjs → segment-BPb1H6DW.mjs} +6 -5
  140. package/dist/segment-DyVTZSIM.mjs +25 -0
  141. package/dist/{selectors-DBnJsKlW.mjs → selectors-Ll_TRxl5.mjs} +3 -3
  142. package/dist/{set-active-C0mUZlNN.mjs → set-active-qqDoBh_Z.mjs} +4 -6
  143. package/dist/{set-1Vh0AF-T.mjs → set-tHsHXRGV.mjs} +10 -10
  144. package/dist/setting-B9xSyMf6.mjs +20 -0
  145. package/dist/{setup-CzYFvFK5.mjs → setup-CXGcyTuv.mjs} +11 -12
  146. package/dist/{skills-B6gfH0iR.mjs → skills-BKuiGkc1.mjs} +1 -1
  147. package/dist/{skills-CR2xyV33.mjs → skills-rnvVgau4.mjs} +3 -3
  148. package/dist/snippet-C4h-GMUf.mjs +22 -0
  149. package/dist/{snippet-CtA2Pkoa.mjs → snippet-DWiXNy4T.mjs} +7 -4
  150. package/dist/{stash-CQHXwBu_.mjs → stash-DxmpBS7x.mjs} +7 -9
  151. package/dist/{status-C_7aqTvB.mjs → status-B5ar0uXc.mjs} +4 -6
  152. package/dist/{status-DXQkM18v.mjs → status-D5CR1SrS.mjs} +6 -8
  153. package/dist/{summary-1aNpQc8j.mjs → summary-BEEJl2O1.mjs} +5 -7
  154. package/dist/{sync-schema-BqLp5uTS.mjs → sync-schema-B5HDpmrp.mjs} +9 -11
  155. package/dist/{table-DE3i82T_.mjs → table-C3RIKiYM.mjs} +16 -4
  156. package/dist/table-DHmaW3Ec.mjs +21 -0
  157. package/dist/timeline-B0R6-dm8.mjs +24 -0
  158. package/dist/timeline-BCTRThc-.mjs +157 -0
  159. package/dist/timeline-event-BVDTt-pM.mjs +22 -0
  160. package/dist/{transform-DEF38FWe.mjs → transform-BVHYzWpK.mjs} +31 -5
  161. package/dist/transform-Cq2_muWO.mjs +31 -0
  162. package/dist/transform-job-BpebgMnq.mjs +25 -0
  163. package/dist/transform-tag-B1xnFa9w.mjs +21 -0
  164. package/dist/{transforms-BelyllUL.mjs → transforms-CLkv3e81.mjs} +5 -7
  165. package/dist/{tree-YvmwGql7.mjs → tree-CB2IURsX.mjs} +4 -6
  166. package/dist/{unpublish-CHjGLMu9.mjs → unpublish-BkZldbkP.mjs} +5 -7
  167. package/dist/update-8bTrglfc.mjs +52 -0
  168. package/dist/{update-BnHYSu96.mjs → update-B1dkPypu.mjs} +13 -14
  169. package/dist/{update-BACl_bJS.mjs → update-B4atxTx0.mjs} +9 -10
  170. package/dist/{update-C9fndCqb.mjs → update-BHC3pwzR.mjs} +9 -10
  171. package/dist/{update-BWlN3QDo.mjs → update-BacyVaLu.mjs} +9 -10
  172. package/dist/{update-BKhekuqr.mjs → update-BghbOcv6.mjs} +15 -15
  173. package/dist/{update-Zz01Woxj.mjs → update-CGWTX1Z0.mjs} +9 -10
  174. package/dist/{update-D7vc8GBF.mjs → update-CO9uCJxV.mjs} +12 -13
  175. package/dist/{update-txUfAJxy.mjs → update-Cyxjg496.mjs} +9 -10
  176. package/dist/{update-CrRz47aj.mjs → update-D7Ia9Qrt.mjs} +15 -15
  177. package/dist/{update-BGMJTpA6.mjs → update-D80GWpWl.mjs} +12 -13
  178. package/dist/update-DajyWtBN.mjs +52 -0
  179. package/dist/{update-dashcard-Dvth-yLC.mjs → update-dashcard-DLq7ihNO.mjs} +11 -11
  180. package/dist/{update-K-jjQ0Aw.mjs → update-iY9WZqy0.mjs} +10 -11
  181. package/dist/{upgrade-DsXlfPef.mjs → upgrade-CXoNQ4FH.mjs} +5 -7
  182. package/dist/upload-D3eiApa0.mjs +16 -0
  183. package/dist/{uuid-ByJmWV7b.mjs → uuid-D6dao_q4.mjs} +3 -5
  184. package/dist/{validate-BqNW4Sk1.mjs → validate-Cqa14t7o.mjs} +1 -2
  185. package/dist/{validate-query-CcZVKYPV.mjs → validate-query-D1N30wJ7.mjs} +2 -3
  186. package/dist/{values-CIjJI4sz.mjs → values-DIBAgSyz.mjs} +5 -7
  187. package/dist/{verify-Jsuc2dat.mjs → verify-DvhZWmS2.mjs} +2 -2
  188. package/dist/{wait-5ltTFvSa.mjs → wait-CW1OawkI.mjs} +6 -8
  189. package/dist/{wait-flags-D6kd_G7c.mjs → wait-flags-DvNU8ahZ.mjs} +2 -2
  190. package/package.json +1 -1
  191. package/skill-data/core/SKILL.md +30 -22
  192. package/skill-data/dashboard/SKILL.md +26 -3
  193. package/skill-data/data-workflow/SKILL.md +17 -15
  194. package/skill-data/visualization/SKILL.md +1 -0
  195. package/dist/add-collection-DbalcC3_.mjs +0 -11
  196. package/dist/auth--PWX0oj5.mjs +0 -22
  197. package/dist/capabilities-N0jo5U7S.mjs +0 -239
  198. package/dist/card-D07WYCQY.mjs +0 -26
  199. package/dist/collection-Dss2qSEF.mjs +0 -23
  200. package/dist/dashboard-Crh4v6Fq.mjs +0 -35
  201. package/dist/db-BCAURQei.mjs +0 -28
  202. package/dist/document-upxL2nKH.mjs +0 -22
  203. package/dist/error-BaBm-UrT.mjs +0 -227
  204. package/dist/field-CloFa1oe.mjs +0 -21
  205. package/dist/get-B8tugTku.mjs +0 -50
  206. package/dist/git-sync-C9m-OHac.mjs +0 -31
  207. package/dist/is-dirty-DpyKeGAJ.mjs +0 -10
  208. package/dist/manifest-BVf8P4bl.mjs +0 -126
  209. package/dist/measure-Cbly1r0E.mjs +0 -25
  210. package/dist/metadata-CW5Lfw5d.mjs +0 -39
  211. package/dist/metadata-aQAqseCm.mjs +0 -38
  212. package/dist/notice-DyVl5aYB.mjs +0 -206
  213. package/dist/segment-BuN_IoM8.mjs +0 -25
  214. package/dist/setting-BbdKR-lO.mjs +0 -20
  215. package/dist/snippet-Bzo2U9Fv.mjs +0 -22
  216. package/dist/table-BwGOz97O.mjs +0 -22
  217. package/dist/transform-B65ZD9-e.mjs +0 -31
  218. package/dist/transform-job-BWVKXSV6.mjs +0 -25
  219. package/dist/transform-tag-C4qvmicL.mjs +0 -21
  220. /package/dist/{body-flags-DWTTxJpP.mjs → body-flags-CgHgJBRC.mjs} +0 -0
  221. /package/dist/{command-augment-DdZIfx1V.mjs → command-augment-D9pI9Vbh.mjs} +0 -0
  222. /package/dist/{paginate-FVZUxL4J.mjs → paginate-CMqbqhMC.mjs} +0 -0
  223. /package/dist/{parameter-CiJ4CwWE.mjs → parameter-BZ6y-Gfs.mjs} +0 -0
  224. /package/dist/{render-BTKnWL0d.mjs → render-CkuFkWlQ.mjs} +0 -0
  225. /package/dist/{revision-message-flag-CHrJgFFx.mjs → revision-message-flag-CHzX0cqV.mjs} +0 -0
  226. /package/dist/{setting-m46MUtW5.mjs → setting-Cko6bE_w.mjs} +0 -0
  227. /package/dist/{transform-job-CtixL4An.mjs → transform-job-CjsAXMej.mjs} +0 -0
  228. /package/dist/{transform-tag-rsIrckCM.mjs → transform-tag--IBQ-8Ij.mjs} +0 -0
@@ -1,5 +1,6 @@
1
- import { FieldBaseType, FieldSemanticType } from "./field-CMY_LWUe.mjs";
2
- import { Parameter, ParameterMapping } from "./parameter-CiJ4CwWE.mjs";
1
+ import { EmbeddingParams } from "./embedding-CKdw8q7p.mjs";
2
+ import { FieldBaseType, FieldSemanticType } from "./field-DsXTeqBy.mjs";
3
+ import { Parameter, ParameterMapping } from "./parameter-BZ6y-Gfs.mjs";
3
4
  import { z } from "zod";
4
5
 
5
6
  //#region src/domain/card.ts
@@ -9,7 +10,7 @@ const CardType = z.enum([
9
10
  "metric"
10
11
  ]);
11
12
  const CardQueryType = z.enum(["native", "query"]);
12
- const CardDatasetQuery = z.object({}).loose().refine((value) => "lib/type" in value || "type" in value, { message: "dataset_query must include \"lib/type\" (MBQL 5) or \"type\" (legacy MBQL/native); empty `{}` is rejected" });
13
+ const CardDatasetQuery = z.object({}).loose().refine((value) => "lib/type" in value || "type" in value, { message: "dataset_query must include \"lib/type\" (MBQL 5) or \"type\" (legacy MBQL/native); empty `{}` is rejected" }).describe("MBQL 5, legacy MBQL, or native query — full MBQL 5 schema: mb query --print-schema");
13
14
  const Card = z.object({
14
15
  id: z.number().int(),
15
16
  name: z.string(),
@@ -70,38 +71,43 @@ const cardView = {
70
71
  }
71
72
  ]
72
73
  };
74
+ const CollectionIdOrEntityId = z.union([z.number().int().positive(), z.string().length(21).describe("collection entity_id (21-char NanoID)")]);
73
75
  const CardCreateInput = z.object({
74
76
  name: z.string().min(1),
75
- type: CardType.optional(),
77
+ type: CardType.nullable().optional(),
76
78
  dataset_query: CardDatasetQuery,
77
79
  display: z.string().min(1),
78
80
  visualization_settings: z.record(z.string(), z.unknown()),
79
81
  description: z.string().min(1).nullable().optional(),
80
- collection_id: z.number().int().positive().nullable().optional(),
82
+ entity_id: z.string().min(1).nullable().optional(),
83
+ collection_id: CollectionIdOrEntityId.nullable().optional(),
81
84
  collection_position: z.number().int().positive().nullable().optional(),
85
+ cache_ttl: z.number().int().positive().nullable().optional(),
82
86
  dashboard_id: z.number().int().positive().nullable().optional(),
83
- parameters: z.array(Parameter).optional(),
84
- parameter_mappings: z.array(ParameterMapping).optional()
87
+ dashboard_tab_id: z.number().int().positive().nullable().optional(),
88
+ parameters: z.array(Parameter).nullable().optional(),
89
+ parameter_mappings: z.array(ParameterMapping).nullable().optional(),
90
+ result_metadata: z.array(z.unknown()).nullable().optional()
85
91
  }).loose();
86
92
  const CardUpdateInput = z.object({
87
- name: z.string().min(1).optional(),
88
- type: CardType.optional(),
93
+ name: z.string().min(1).nullable().optional(),
94
+ type: CardType.nullable().optional(),
89
95
  dataset_query: CardDatasetQuery.optional(),
90
- display: z.string().min(1).optional(),
91
- visualization_settings: z.record(z.string(), z.unknown()).optional(),
96
+ display: z.string().min(1).nullable().optional(),
97
+ visualization_settings: z.record(z.string(), z.unknown()).nullable().optional(),
92
98
  description: z.string().nullable().optional(),
93
- archived: z.boolean().optional(),
94
- enable_embedding: z.boolean().optional(),
95
- embedding_type: z.string().optional(),
96
- embedding_params: z.unknown().optional(),
99
+ archived: z.boolean().nullable().optional(),
100
+ enable_embedding: z.boolean().nullable().optional(),
101
+ embedding_type: z.string().nullable().optional(),
102
+ embedding_params: EmbeddingParams.nullable().optional(),
97
103
  collection_id: z.number().int().positive().nullable().optional(),
98
104
  collection_position: z.number().int().positive().nullable().optional(),
99
- collection_preview: z.boolean().optional(),
105
+ collection_preview: z.boolean().nullable().optional(),
100
106
  cache_ttl: z.number().int().positive().nullable().optional(),
101
107
  dashboard_id: z.number().int().positive().nullable().optional(),
102
108
  dashboard_tab_id: z.number().int().positive().nullable().optional(),
103
- parameters: z.array(Parameter).optional(),
104
- parameter_mappings: z.array(ParameterMapping).optional(),
109
+ parameters: z.array(Parameter).nullable().optional(),
110
+ parameter_mappings: z.array(ParameterMapping).nullable().optional(),
105
111
  result_metadata: z.array(z.unknown()).nullable().optional()
106
112
  }).loose();
107
113
  const QueryColumn = z.object({
@@ -0,0 +1,26 @@
1
+ import "./command-augment-D9pI9Vbh.mjs";
2
+ import { defineCommandGroup } from "./group-CILtQqCL.mjs";
3
+
4
+ //#region src/commands/card/index.ts
5
+ var card_default = defineCommandGroup({
6
+ name: "card",
7
+ description: "Manage Metabase cards (questions, models, metrics)",
8
+ skills: [{
9
+ skill: "mbql",
10
+ purpose: "author the dataset_query"
11
+ }, {
12
+ skill: "visualization",
13
+ purpose: "choose display and visualization_settings"
14
+ }],
15
+ subCommands: {
16
+ list: () => import("./list-n2PY3OIx.mjs").then((mod) => mod.default),
17
+ get: () => import("./get-DZatHVdn.mjs").then((mod) => mod.default),
18
+ query: () => import("./query-Cxh9hmrP.mjs").then((mod) => mod.default),
19
+ create: () => import("./create-C3DThF9E.mjs").then((mod) => mod.default),
20
+ update: () => import("./update-D7Ia9Qrt.mjs").then((mod) => mod.default),
21
+ archive: () => import("./archive-Oh1iZu2y.mjs").then((mod) => mod.default)
22
+ }
23
+ });
24
+
25
+ //#endregion
26
+ export { card_default as default };
@@ -1,11 +1,10 @@
1
- import "./notice-DyVl5aYB.mjs";
2
- import { connectionFlags, listEnvelopeSchema, outputFlags, profileFlag, wrapList } from "./error-BaBm-UrT.mjs";
3
- import "./command-augment-DdZIfx1V.mjs";
4
- import { defineMetabaseCommand } from "./runtime-oxjmrYoP.mjs";
5
- import { renderList } from "./capabilities-N0jo5U7S.mjs";
6
- import "./parameter-CiJ4CwWE.mjs";
7
- import { parseId } from "./parse-id-DlXnOcmP.mjs";
8
- import { DashboardDetail, DashcardCompact, dashcardView } from "./dashboard-DOplbKyQ.mjs";
1
+ import { connectionFlags, listEnvelopeSchema, outputFlags, profileFlag, renderList, wrapList } from "./capabilities-DOTcPraV.mjs";
2
+ import "./command-augment-D9pI9Vbh.mjs";
3
+ import { defineMetabaseCommand } from "./runtime-Ab96yYlM.mjs";
4
+ import "./embedding-CKdw8q7p.mjs";
5
+ import "./parameter-BZ6y-Gfs.mjs";
6
+ import { parseId } from "./parse-id-CD54Chc5.mjs";
7
+ import { DashboardDetail, DashcardCompact, dashcardView } from "./dashboard-B-MTpfeS.mjs";
9
8
 
10
9
  //#region src/commands/dashboard/cards.ts
11
10
  const DashcardListEnvelope = listEnvelopeSchema(DashcardCompact);
package/dist/cli.mjs CHANGED
@@ -1,8 +1,8 @@
1
1
  #!/usr/bin/env node
2
- import { ConfigError, flagConsumesValue, normalizeFlag, resolveCitty, toAliasArray } from "./notice-DyVl5aYB.mjs";
3
- import { connectionFlags, outputFlags, package_default, profileFlag, reportError } from "./error-BaBm-UrT.mjs";
4
- import { getMetabaseAugment, setMetabaseAugment } from "./command-augment-DdZIfx1V.mjs";
2
+ import { Capabilities, ConfigError, connectionFlags, flagConsumesValue, jsonLine, normalizeFlag, outputFlags, package_default, profileFlag, reportError, resolveCitty, toAliasArray } from "./capabilities-DOTcPraV.mjs";
3
+ import { getMetabaseAugment, setMetabaseAugment } from "./command-augment-D9pI9Vbh.mjs";
5
4
  import { defineCommand, renderUsage, runMain } from "citty";
5
+ import { z } from "zod";
6
6
 
7
7
  //#region src/commands/global-flags.ts
8
8
  const ARGUMENT_SEPARATOR = "--";
@@ -59,31 +59,33 @@ const main = defineCommand({
59
59
  description: package_default.description
60
60
  },
61
61
  subCommands: {
62
- auth: () => import("./auth--PWX0oj5.mjs").then((mod) => mod.default),
63
- db: () => import("./db-BCAURQei.mjs").then((mod) => mod.default),
64
- table: () => import("./table-BwGOz97O.mjs").then((mod) => mod.default),
65
- field: () => import("./field-CloFa1oe.mjs").then((mod) => mod.default),
66
- card: () => import("./card-D07WYCQY.mjs").then((mod) => mod.default),
67
- dashboard: () => import("./dashboard-Crh4v6Fq.mjs").then((mod) => mod.default),
68
- collection: () => import("./collection-Dss2qSEF.mjs").then((mod) => mod.default),
69
- library: () => import("./library-1AAVbk-K.mjs").then((mod) => mod.default),
70
- document: () => import("./document-upxL2nKH.mjs").then((mod) => mod.default),
71
- transform: () => import("./transform-B65ZD9-e.mjs").then((mod) => mod.default),
72
- "transform-job": () => import("./transform-job-BWVKXSV6.mjs").then((mod) => mod.default),
73
- "transform-tag": () => import("./transform-tag-C4qvmicL.mjs").then((mod) => mod.default),
74
- setting: () => import("./setting-BbdKR-lO.mjs").then((mod) => mod.default),
75
- search: () => import("./search-Vo-BqliA.mjs").then((mod) => mod.default),
76
- "git-sync": () => import("./git-sync-C9m-OHac.mjs").then((mod) => mod.default),
77
- setup: () => import("./setup-CzYFvFK5.mjs").then((mod) => mod.default),
78
- snippet: () => import("./snippet-Bzo2U9Fv.mjs").then((mod) => mod.default),
79
- segment: () => import("./segment-BuN_IoM8.mjs").then((mod) => mod.default),
80
- measure: () => import("./measure-Cbly1r0E.mjs").then((mod) => mod.default),
81
- eid: () => import("./eid-BCuJRv7a.mjs").then((mod) => mod.default),
82
- query: () => import("./query-DSKQZu91.mjs").then((mod) => mod.default),
83
- uuid: () => import("./uuid-ByJmWV7b.mjs").then((mod) => mod.default),
84
- upgrade: () => import("./upgrade-DsXlfPef.mjs").then((mod) => mod.default),
85
- skills: () => import("./skills-CR2xyV33.mjs").then((mod) => mod.default),
86
- __manifest: () => import("./manifest-BVf8P4bl.mjs").then((mod) => mod.createManifestCommand(main))
62
+ auth: () => import("./auth-hgAnMUfi.mjs").then((mod) => mod.default),
63
+ db: () => import("./db-eWy7A-H3.mjs").then((mod) => mod.default),
64
+ table: () => import("./table-DHmaW3Ec.mjs").then((mod) => mod.default),
65
+ field: () => import("./field-BTCw6voJ.mjs").then((mod) => mod.default),
66
+ upload: () => import("./upload-D3eiApa0.mjs").then((mod) => mod.default),
67
+ card: () => import("./card-Ct-q_C4S.mjs").then((mod) => mod.default),
68
+ dashboard: () => import("./dashboard-B1iRSUBI.mjs").then((mod) => mod.default),
69
+ collection: () => import("./collection-K82kJWdj.mjs").then((mod) => mod.default),
70
+ library: () => import("./library-DF2qx50w.mjs").then((mod) => mod.default),
71
+ document: () => import("./document-CVxhTnUD.mjs").then((mod) => mod.default),
72
+ transform: () => import("./transform-Cq2_muWO.mjs").then((mod) => mod.default),
73
+ "transform-job": () => import("./transform-job-BpebgMnq.mjs").then((mod) => mod.default),
74
+ "transform-tag": () => import("./transform-tag-B1xnFa9w.mjs").then((mod) => mod.default),
75
+ setting: () => import("./setting-B9xSyMf6.mjs").then((mod) => mod.default),
76
+ search: () => import("./search-DnGEh6sZ.mjs").then((mod) => mod.default),
77
+ "git-sync": () => import("./git-sync-Cjrx2meo.mjs").then((mod) => mod.default),
78
+ setup: () => import("./setup-CXGcyTuv.mjs").then((mod) => mod.default),
79
+ snippet: () => import("./snippet-C4h-GMUf.mjs").then((mod) => mod.default),
80
+ segment: () => import("./segment-DyVTZSIM.mjs").then((mod) => mod.default),
81
+ measure: () => import("./measure-CPqisgyf.mjs").then((mod) => mod.default),
82
+ timeline: () => import("./timeline-B0R6-dm8.mjs").then((mod) => mod.default),
83
+ "timeline-event": () => import("./timeline-event-BVDTt-pM.mjs").then((mod) => mod.default),
84
+ eid: () => import("./eid-DSOk7Khb.mjs").then((mod) => mod.default),
85
+ query: () => import("./query-B3HDIsJ-.mjs").then((mod) => mod.default),
86
+ uuid: () => import("./uuid-D6dao_q4.mjs").then((mod) => mod.default),
87
+ upgrade: () => import("./upgrade-CXoNQ4FH.mjs").then((mod) => mod.default),
88
+ skills: () => import("./skills-rnvVgau4.mjs").then((mod) => mod.default)
87
89
  }
88
90
  });
89
91
  setMetabaseAugment(main, {
@@ -96,11 +98,128 @@ setMetabaseAugment(main, {
96
98
  skill: "data-workflow",
97
99
  purpose: "guided end-to-end: raw data → clean tables → metrics → answers → dashboards"
98
100
  }],
101
+ inputSchema: null,
99
102
  outputSchema: null,
100
103
  capabilities: null
101
104
  });
102
105
  var main_default = main;
103
106
 
107
+ //#endregion
108
+ //#region src/runtime/command-help.ts
109
+ const CommandHelpArg = z.object({
110
+ name: z.string(),
111
+ type: z.enum([
112
+ "string",
113
+ "boolean",
114
+ "positional",
115
+ "enum"
116
+ ]),
117
+ required: z.boolean(),
118
+ description: z.string().optional(),
119
+ default: z.union([
120
+ z.string(),
121
+ z.boolean(),
122
+ z.number()
123
+ ]).optional(),
124
+ alias: z.array(z.string()).optional(),
125
+ options: z.array(z.string()).optional()
126
+ });
127
+ const CommandHelpSkill = z.object({
128
+ skill: z.string(),
129
+ purpose: z.string()
130
+ });
131
+ const CommandHelpEntry = z.object({
132
+ command: z.string(),
133
+ description: z.string(),
134
+ details: z.string().optional(),
135
+ skills: z.array(CommandHelpSkill),
136
+ examples: z.array(z.string()),
137
+ args: z.array(CommandHelpArg),
138
+ inputSchema: z.unknown().nullable(),
139
+ outputSchema: z.unknown().nullable(),
140
+ capabilities: Capabilities.nullable()
141
+ });
142
+ const CommandIndexEntry = z.object({
143
+ command: z.string(),
144
+ description: z.string()
145
+ });
146
+ const CommandHelpIndex = z.object({ commands: z.array(CommandIndexEntry) });
147
+ const EMPTY_AUGMENT = {
148
+ examples: [],
149
+ details: null,
150
+ skills: [],
151
+ inputSchema: null,
152
+ outputSchema: null,
153
+ capabilities: null
154
+ };
155
+ async function buildHelpEntry(cmd, path) {
156
+ const meta = await resolveCitty(cmd.meta);
157
+ const args = await resolveCitty(cmd.args) ?? {};
158
+ const augment = getMetabaseAugment(cmd) ?? EMPTY_AUGMENT;
159
+ const entry = {
160
+ command: path.join(" "),
161
+ description: readDescription(meta),
162
+ skills: Array.from(augment.skills),
163
+ examples: Array.from(augment.examples),
164
+ args: convertArgs(args),
165
+ inputSchema: augment.inputSchema ? z.toJSONSchema(augment.inputSchema) : null,
166
+ outputSchema: augment.outputSchema ? z.toJSONSchema(augment.outputSchema) : null,
167
+ capabilities: augment.capabilities
168
+ };
169
+ if (augment.details !== null) entry.details = augment.details;
170
+ return entry;
171
+ }
172
+ async function buildHelpIndex(cmd, path) {
173
+ return { commands: await walk(cmd, path) };
174
+ }
175
+ async function walk(cmd, path) {
176
+ const meta = await resolveCitty(cmd.meta);
177
+ if (meta?.hidden === true) return [];
178
+ const subCommands = await resolveCitty(cmd.subCommands);
179
+ if (subCommands && Object.keys(subCommands).length > 0) {
180
+ const groups = await Promise.all(Object.entries(subCommands).map(async ([name, lazy]) => {
181
+ const sub = await resolveCitty(lazy);
182
+ return sub ? walk(sub, [...path, name]) : [];
183
+ }));
184
+ return groups.flat();
185
+ }
186
+ return [{
187
+ command: path.join(" "),
188
+ description: readDescription(meta)
189
+ }];
190
+ }
191
+ function readDescription(meta) {
192
+ if (meta === void 0) return "";
193
+ return typeof meta.description === "string" ? meta.description : "";
194
+ }
195
+ function convertArgs(args) {
196
+ return Object.entries(args).map(([name, def]) => convertArg(name, def));
197
+ }
198
+ function convertArg(name, def) {
199
+ const arg = {
200
+ name,
201
+ type: def.type ?? "string",
202
+ required: def.required === true && def.default === void 0
203
+ };
204
+ if (def.description) arg.description = def.description;
205
+ if (isPrimitiveDefault(def.default)) arg.default = def.default;
206
+ const alias = readAlias(def);
207
+ if (alias.length > 0) arg.alias = alias;
208
+ const options = readOptions(def);
209
+ if (options.length > 0) arg.options = options;
210
+ return arg;
211
+ }
212
+ function readOptions(def) {
213
+ if (!("options" in def) || !Array.isArray(def.options)) return [];
214
+ return [...def.options];
215
+ }
216
+ function readAlias(def) {
217
+ return "alias" in def ? toAliasArray(def.alias) : [];
218
+ }
219
+ function isPrimitiveDefault(value) {
220
+ return typeof value === "string" || typeof value === "boolean" || typeof value === "number";
221
+ }
222
+
104
223
  //#endregion
105
224
  //#region src/output/help.ts
106
225
  const ANSI_ESC = String.fromCharCode(27);
@@ -142,7 +261,30 @@ async function showUsage(cmd, parent, breadcrumb) {
142
261
  if (examples.length > 0) sections.push(renderExamples(examples));
143
262
  if (skills.length > 0) sections.push(renderSkillsSection(skills, isRoot));
144
263
  if (isRoot) sections.push(GETTING_STARTED_HINT);
145
- process.stdout.write(sections.join("\n\n") + "\n");
264
+ sections.push(machineHelpHint(breadcrumb ?? cittyName, hasSubCommands));
265
+ await writeUsage(sections.join("\n\n") + "\n");
266
+ }
267
+ async function showUsageJson(cmd, breadcrumb) {
268
+ const path = breadcrumbPath(breadcrumb);
269
+ const subCommands = await resolveCitty(cmd.subCommands);
270
+ const hasSubCommands = subCommands !== void 0 && Object.keys(subCommands).length > 0;
271
+ const payload = hasSubCommands ? await buildHelpIndex(cmd, path) : await buildHelpEntry(cmd, path);
272
+ await writeUsage(jsonLine(payload));
273
+ }
274
+ function writeUsage(text) {
275
+ return new Promise((resolve, reject) => {
276
+ process.stdout.write(text, (error) => error ? reject(error) : resolve());
277
+ });
278
+ }
279
+ function breadcrumbPath(breadcrumb) {
280
+ const segments = breadcrumb.split(" ").filter((segment) => segment.length > 0);
281
+ return segments[0] === CLI_NAME ? segments.slice(1) : segments;
282
+ }
283
+ const MACHINE_HELP_LEAF_LABEL = "Machine-readable help (flags, output schema):";
284
+ const MACHINE_HELP_INDEX_LABEL = "Machine-readable command index:";
285
+ function machineHelpHint(breadcrumb, hasSubCommands) {
286
+ const label = hasSubCommands ? MACHINE_HELP_INDEX_LABEL : MACHINE_HELP_LEAF_LABEL;
287
+ return `${label} ${breadcrumb} --help --json`;
146
288
  }
147
289
  function transformBody(lines, rewrite) {
148
290
  const mapped = lines.map((line, index) => {
@@ -290,10 +432,16 @@ async function findSubCommand(subCommands, token) {
290
432
  //#endregion
291
433
  //#region src/cli.ts
292
434
  const HELP_FLAGS = new Set(["--help", "-h"]);
435
+ const JSON_HELP_FLAG = "--json";
293
436
  async function run() {
294
437
  const rawArgs = hoistGlobalFlags(process.argv.slice(2));
438
+ const wantsJsonHelp = rawArgs.includes(JSON_HELP_FLAG);
295
439
  const showUsageWithBreadcrumb = async (cmd, parent) => {
296
440
  const breadcrumb = await resolveBreadcrumb(main_default, rawArgs);
441
+ if (wantsJsonHelp) {
442
+ await showUsageJson(cmd, breadcrumb);
443
+ return;
444
+ }
297
445
  await showUsage(cmd, parent, breadcrumb);
298
446
  };
299
447
  if (rawArgs.length === 0) {
@@ -159,7 +159,7 @@ const CollectionTreeNodeBase = z.object({
159
159
  const CollectionTreeNode = CollectionTreeNodeBase.extend({ children: z.lazy(() => z.array(CollectionTreeNode)) });
160
160
  const CollectionCreateInput = z.object({
161
161
  name: z.string().min(1),
162
- description: z.string().nullable().optional(),
162
+ description: z.string().min(1).nullable().optional(),
163
163
  parent_id: z.number().int().positive().nullable().optional(),
164
164
  namespace: CollectionNamespace.nullable().optional(),
165
165
  authority_level: CollectionAuthorityLevel.nullable().optional()
@@ -0,0 +1,23 @@
1
+ import "./command-augment-D9pI9Vbh.mjs";
2
+ import { defineCommandGroup } from "./group-CILtQqCL.mjs";
3
+
4
+ //#region src/commands/collection/index.ts
5
+ var collection_default = defineCommandGroup({
6
+ name: "collection",
7
+ description: "Manage Metabase collections",
8
+ skills: [{
9
+ skill: "core",
10
+ purpose: "collection ref forms and the transforms namespace"
11
+ }],
12
+ subCommands: {
13
+ list: () => import("./list-C0344yqi.mjs").then((mod) => mod.default),
14
+ get: () => import("./get-DRK5-UdU.mjs").then((mod) => mod.default),
15
+ items: () => import("./items-DN63mjpF.mjs").then((mod) => mod.default),
16
+ tree: () => import("./tree-CB2IURsX.mjs").then((mod) => mod.default),
17
+ create: () => import("./create-nXlnVzXl.mjs").then((mod) => mod.default),
18
+ archive: () => import("./archive-BM9HjJHQ.mjs").then((mod) => mod.default)
19
+ }
20
+ });
21
+
22
+ //#endregion
23
+ export { collection_default as default };
@@ -1,5 +1,5 @@
1
- import { ConfigError } from "./notice-DyVl5aYB.mjs";
2
- import { HttpError } from "./runtime-oxjmrYoP.mjs";
1
+ import { ConfigError } from "./capabilities-DOTcPraV.mjs";
2
+ import { HttpError } from "./runtime-Ab96yYlM.mjs";
3
3
 
4
4
  //#region src/commands/transform/collection-namespace.ts
5
5
  const TRANSFORMS_NAMESPACE_HINT = "transforms can only be filed in a :transforms-namespace collection. Create one with `mb collection create --body '{\"name\":\"…\"}' --namespace transforms` and pass its id as collection_id, or omit collection_id to leave the transform uncollected.";
@@ -1,17 +1,16 @@
1
- import "./notice-DyVl5aYB.mjs";
2
- import { connectionFlags, outputFlags, profileFlag } from "./error-BaBm-UrT.mjs";
3
- import "./command-augment-DdZIfx1V.mjs";
4
- import { defineMetabaseCommand } from "./runtime-oxjmrYoP.mjs";
5
- import { renderSummary } from "./capabilities-N0jo5U7S.mjs";
6
- import "./input-7Sj85_K7.mjs";
7
- import "./field-CMY_LWUe.mjs";
8
- import "./parameter-CiJ4CwWE.mjs";
9
- import "./card-DEmcRlNO.mjs";
10
- import { readBody } from "./body-BS2s2zDl.mjs";
11
- import { bodyInputFlags } from "./body-flags-DWTTxJpP.mjs";
12
- import "./validate-BqNW4Sk1.mjs";
13
- import { Dashboard, DashboardCreateInput, DashboardDetail, dashboardView } from "./dashboard-DOplbKyQ.mjs";
14
- import { preflightDashcardCardReferences, wrapChainedDashboardWriteError } from "./preflight-DvaPQHHf.mjs";
1
+ import { connectionFlags, outputFlags, profileFlag, renderSummary } from "./capabilities-DOTcPraV.mjs";
2
+ import "./command-augment-D9pI9Vbh.mjs";
3
+ import { defineMetabaseCommand } from "./runtime-Ab96yYlM.mjs";
4
+ import "./input-DzbvxKYU.mjs";
5
+ import "./embedding-CKdw8q7p.mjs";
6
+ import "./field-DsXTeqBy.mjs";
7
+ import "./parameter-BZ6y-Gfs.mjs";
8
+ import "./card-B8G5jQQT.mjs";
9
+ import { readBody } from "./body-DKcQw7G5.mjs";
10
+ import { bodyInputFlags } from "./body-flags-CgHgJBRC.mjs";
11
+ import "./validate-Cqa14t7o.mjs";
12
+ import { Dashboard, DashboardCreateInput, DashboardDetail, dashboardView } from "./dashboard-B-MTpfeS.mjs";
13
+ import { preflightDashcardCardReferences, wrapChainedDashboardWriteError } from "./preflight-xhwEOHAt.mjs";
15
14
 
16
15
  //#region src/commands/dashboard/create.ts
17
16
  var create_default = defineMetabaseCommand({
@@ -34,6 +33,7 @@ var create_default = defineMetabaseCommand({
34
33
  ...connectionFlags,
35
34
  ...bodyInputFlags
36
35
  },
36
+ inputSchema: DashboardCreateInput,
37
37
  outputSchema: Dashboard,
38
38
  examples: [
39
39
  "cat dashboard.json | mb dashboard create",
@@ -1,12 +1,10 @@
1
- import "./notice-DyVl5aYB.mjs";
2
- import { connectionFlags, outputFlags, profileFlag } from "./error-BaBm-UrT.mjs";
3
- import "./command-augment-DdZIfx1V.mjs";
4
- import { defineMetabaseCommand } from "./runtime-oxjmrYoP.mjs";
5
- import { renderSummary } from "./capabilities-N0jo5U7S.mjs";
6
- import "./input-7Sj85_K7.mjs";
7
- import { readBody } from "./body-BS2s2zDl.mjs";
8
- import { bodyInputFlags } from "./body-flags-DWTTxJpP.mjs";
9
- import { Document, DocumentCreateInput, documentView } from "./document-1W7NRaO_.mjs";
1
+ import { connectionFlags, outputFlags, profileFlag, renderSummary } from "./capabilities-DOTcPraV.mjs";
2
+ import "./command-augment-D9pI9Vbh.mjs";
3
+ import { defineMetabaseCommand } from "./runtime-Ab96yYlM.mjs";
4
+ import "./input-DzbvxKYU.mjs";
5
+ import { readBody } from "./body-DKcQw7G5.mjs";
6
+ import { bodyInputFlags } from "./body-flags-CgHgJBRC.mjs";
7
+ import { Document, DocumentCreateInput, documentView } from "./document-CL4ML5FN.mjs";
10
8
 
11
9
  //#region src/commands/document/create.ts
12
10
  var create_default = defineMetabaseCommand({
@@ -21,6 +19,7 @@ var create_default = defineMetabaseCommand({
21
19
  ...connectionFlags,
22
20
  ...bodyInputFlags
23
21
  },
22
+ inputSchema: DocumentCreateInput,
24
23
  outputSchema: Document,
25
24
  examples: [
26
25
  "cat doc.json | mb document create",
@@ -0,0 +1,45 @@
1
+ import { connectionFlags, outputFlags, profileFlag, renderSummary } from "./capabilities-DOTcPraV.mjs";
2
+ import "./command-augment-D9pI9Vbh.mjs";
3
+ import { defineMetabaseCommand } from "./runtime-Ab96yYlM.mjs";
4
+ import "./input-DzbvxKYU.mjs";
5
+ import { readBody } from "./body-DKcQw7G5.mjs";
6
+ import { bodyInputFlags } from "./body-flags-CgHgJBRC.mjs";
7
+ import { Timeline, TimelineCreateInput, timelineView } from "./timeline-BCTRThc-.mjs";
8
+
9
+ //#region src/commands/timeline/create.ts
10
+ var create_default = defineMetabaseCommand({
11
+ meta: {
12
+ name: "create",
13
+ description: "Create a timeline from JSON"
14
+ },
15
+ details: "The JSON body needs `name`; optional fields: `description`, `icon` (star|cake|mail|warning|bell|cloud, default star), `collection_id` (null = root collection), `default`.",
16
+ capabilities: { minVersion: 58 },
17
+ args: {
18
+ ...outputFlags,
19
+ ...profileFlag,
20
+ ...connectionFlags,
21
+ ...bodyInputFlags
22
+ },
23
+ inputSchema: TimelineCreateInput,
24
+ outputSchema: Timeline,
25
+ examples: [
26
+ "mb timeline create --body '{\"name\":\"Releases\"}'",
27
+ "cat timeline.json | mb timeline create",
28
+ "mb timeline create --file timeline.json"
29
+ ],
30
+ async run({ args, ctx, getClient }) {
31
+ const body = await readBody({
32
+ flag: args.body,
33
+ file: args.file
34
+ }, TimelineCreateInput);
35
+ const client = await getClient();
36
+ const created = await client.requestParsed(Timeline, "/api/timeline", {
37
+ method: "POST",
38
+ body
39
+ });
40
+ renderSummary(created, timelineView, `Created timeline ${created.id} "${created.name}".`, ctx);
41
+ }
42
+ });
43
+
44
+ //#endregion
45
+ export { create_default as default };
@@ -1,16 +1,15 @@
1
- import "./notice-DyVl5aYB.mjs";
2
- import { connectionFlags, outputFlags, profileFlag } from "./error-BaBm-UrT.mjs";
3
- import "./command-augment-DdZIfx1V.mjs";
4
- import { defineMetabaseCommand } from "./runtime-oxjmrYoP.mjs";
5
- import { renderSummary } from "./capabilities-N0jo5U7S.mjs";
6
- import "./input-7Sj85_K7.mjs";
7
- import "./field-CMY_LWUe.mjs";
8
- import "./parameter-CiJ4CwWE.mjs";
9
- import { Card, CardCreateInput, cardView } from "./card-DEmcRlNO.mjs";
10
- import { readBody } from "./body-BS2s2zDl.mjs";
11
- import { bodyInputFlags } from "./body-flags-DWTTxJpP.mjs";
12
- import "./validate-BqNW4Sk1.mjs";
13
- import { CARD_DATASET_QUERY_LABELS, preflightMbql5Query, skipValidateFlag } from "./validate-query-CcZVKYPV.mjs";
1
+ import { connectionFlags, outputFlags, profileFlag, renderSummary } from "./capabilities-DOTcPraV.mjs";
2
+ import "./command-augment-D9pI9Vbh.mjs";
3
+ import { defineMetabaseCommand } from "./runtime-Ab96yYlM.mjs";
4
+ import "./input-DzbvxKYU.mjs";
5
+ import "./embedding-CKdw8q7p.mjs";
6
+ import "./field-DsXTeqBy.mjs";
7
+ import "./parameter-BZ6y-Gfs.mjs";
8
+ import { Card, CardCreateInput, cardView } from "./card-B8G5jQQT.mjs";
9
+ import { readBody } from "./body-DKcQw7G5.mjs";
10
+ import { bodyInputFlags } from "./body-flags-CgHgJBRC.mjs";
11
+ import "./validate-Cqa14t7o.mjs";
12
+ import { CARD_DATASET_QUERY_LABELS, preflightMbql5Query, skipValidateFlag } from "./validate-query-D1N30wJ7.mjs";
14
13
 
15
14
  //#region src/commands/card/create.ts
16
15
  var create_default = defineMetabaseCommand({
@@ -18,7 +17,7 @@ var create_default = defineMetabaseCommand({
18
17
  name: "create",
19
18
  description: "Create a card (question, model, or metric) from JSON"
20
19
  },
21
- details: "The JSON body needs `name`, `display` (the visualization — e.g. table, bar, scalar), `dataset_query` (the query powering the card), and `visualization_settings` (`{}` is fine). When `dataset_query` is an MBQL 5 query it is checked against a bundled JSON Schema before sending — fix the reported errors, or pass --skip-validate to send anyway. Native-SQL and legacy queries are sent unchecked.",
20
+ details: "The JSON body needs `name`, `display` (the visualization — e.g. table, bar, scalar), `dataset_query` (the query powering the card), and `visualization_settings` (`{}` is fine). When `dataset_query` is an MBQL 5 query it is checked against a bundled JSON Schema (print it with `mb query --print-schema`) before sending — fix the reported errors, or pass --skip-validate to send anyway. Native-SQL and legacy queries are sent unchecked.",
22
21
  skills: [
23
22
  {
24
23
  skill: "mbql",
@@ -41,6 +40,7 @@ var create_default = defineMetabaseCommand({
41
40
  ...bodyInputFlags,
42
41
  ...skipValidateFlag
43
42
  },
43
+ inputSchema: CardCreateInput,
44
44
  outputSchema: Card,
45
45
  examples: [
46
46
  "cat card.json | mb card create",
@@ -1,12 +1,10 @@
1
- import "./notice-DyVl5aYB.mjs";
2
- import { connectionFlags, outputFlags, profileFlag } from "./error-BaBm-UrT.mjs";
3
- import "./command-augment-DdZIfx1V.mjs";
4
- import { defineMetabaseCommand } from "./runtime-oxjmrYoP.mjs";
5
- import { renderSummary } from "./capabilities-N0jo5U7S.mjs";
6
- import "./input-7Sj85_K7.mjs";
7
- import { readBody } from "./body-BS2s2zDl.mjs";
8
- import { bodyInputFlags } from "./body-flags-DWTTxJpP.mjs";
9
- import { TransformTag, TransformTagCreateInput, transformTagView } from "./transform-tag-rsIrckCM.mjs";
1
+ import { connectionFlags, outputFlags, profileFlag, renderSummary } from "./capabilities-DOTcPraV.mjs";
2
+ import "./command-augment-D9pI9Vbh.mjs";
3
+ import { defineMetabaseCommand } from "./runtime-Ab96yYlM.mjs";
4
+ import "./input-DzbvxKYU.mjs";
5
+ import { readBody } from "./body-DKcQw7G5.mjs";
6
+ import { bodyInputFlags } from "./body-flags-CgHgJBRC.mjs";
7
+ import { TransformTag, TransformTagCreateInput, transformTagView } from "./transform-tag--IBQ-8Ij.mjs";
10
8
 
11
9
  //#region src/commands/transform-tag/create.ts
12
10
  var create_default = defineMetabaseCommand({
@@ -21,6 +19,7 @@ var create_default = defineMetabaseCommand({
21
19
  ...connectionFlags,
22
20
  ...bodyInputFlags
23
21
  },
22
+ inputSchema: TransformTagCreateInput,
24
23
  outputSchema: TransformTag,
25
24
  examples: [
26
25
  "mb transform-tag create --body '{\"name\":\"nightly\"}'",
@@ -1,12 +1,10 @@
1
- import "./notice-DyVl5aYB.mjs";
2
- import { connectionFlags, outputFlags, profileFlag } from "./error-BaBm-UrT.mjs";
3
- import "./command-augment-DdZIfx1V.mjs";
4
- import { defineMetabaseCommand } from "./runtime-oxjmrYoP.mjs";
5
- import { renderSummary } from "./capabilities-N0jo5U7S.mjs";
6
- import "./input-7Sj85_K7.mjs";
7
- import { readBody } from "./body-BS2s2zDl.mjs";
8
- import { bodyInputFlags } from "./body-flags-DWTTxJpP.mjs";
9
- import { TransformJob, TransformJobCreateInput, transformJobView } from "./transform-job-CtixL4An.mjs";
1
+ import { connectionFlags, outputFlags, profileFlag, renderSummary } from "./capabilities-DOTcPraV.mjs";
2
+ import "./command-augment-D9pI9Vbh.mjs";
3
+ import { defineMetabaseCommand } from "./runtime-Ab96yYlM.mjs";
4
+ import "./input-DzbvxKYU.mjs";
5
+ import { readBody } from "./body-DKcQw7G5.mjs";
6
+ import { bodyInputFlags } from "./body-flags-CgHgJBRC.mjs";
7
+ import { TransformJob, TransformJobCreateInput, transformJobView } from "./transform-job-CjsAXMej.mjs";
10
8
 
11
9
  //#region src/commands/transform-job/create.ts
12
10
  var create_default = defineMetabaseCommand({
@@ -21,6 +19,7 @@ var create_default = defineMetabaseCommand({
21
19
  ...connectionFlags,
22
20
  ...bodyInputFlags
23
21
  },
22
+ inputSchema: TransformJobCreateInput,
24
23
  outputSchema: TransformJob,
25
24
  examples: [
26
25
  "cat job.json | mb transform-job create",