@metabase/cli 0.5.1 → 0.5.3

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 (316) hide show
  1. package/README.md +1 -1
  2. package/dist/{add-collection-BnGPc0Vv.mjs → add-collection-c1dfnavz.mjs} +4 -4
  3. package/dist/{alert-DQkF8jYR.mjs → alert-BkpPdBQ_.mjs} +6 -6
  4. package/dist/{alerts-BncG7w1_.mjs → alerts-TDYiIxjs.mjs} +3 -3
  5. package/dist/api-key-9jVV67hF.mjs +38 -0
  6. package/dist/api-key-DbsqHlN6.mjs +31 -0
  7. package/dist/api-key-wGtJ8kYy.mjs +13 -0
  8. package/dist/{append-D4ekYCuD.mjs → append-CoeZRD6u.mjs} +3 -3
  9. package/dist/{archive-ULXc3xzI.mjs → archive-3fdIvMsf.mjs} +2 -2
  10. package/dist/{archive-v08JESCM.mjs → archive-9uzfWGuq.mjs} +2 -2
  11. package/dist/{archive-BQ4OA-R4.mjs → archive-CAJHrKwd.mjs} +2 -2
  12. package/dist/{archive-DpCP4yR1.mjs → archive-CH1h8jz5.mjs} +2 -2
  13. package/dist/{archive-BifJXCHF.mjs → archive-D-BJwRLc.mjs} +2 -2
  14. package/dist/{archive-BXr9kFNz.mjs → archive-DQRehboT.mjs} +5 -5
  15. package/dist/{archive-DjHLWUfC.mjs → archive-DY76wU2k.mjs} +2 -2
  16. package/dist/{archive-EhW6blNc.mjs → archive-DZDkfhdH.mjs} +4 -4
  17. package/dist/{archive-D2WCz3Oe.mjs → archive-DxUnaV4x.mjs} +2 -2
  18. package/dist/{archive-DocyUIME.mjs → archive-N3lp1o-k.mjs} +4 -4
  19. package/dist/{archive-CxNUeWII2.mjs → archive-NfFWXRx5.mjs} +4 -4
  20. package/dist/{archive-DnCF-Ecm.mjs → archive-f7wKQ7Uy.mjs} +2 -2
  21. package/dist/{auth-BPbsm8yV.mjs → auth-hgkvHPpH.mjs} +4 -4
  22. package/dist/{body-BkkQkGJg.mjs → body-M5qsJoub.mjs} +2 -2
  23. package/dist/{branch-flag-CTDvbaBa.mjs → branch-flag-CPTQ4wXp.mjs} +1 -1
  24. package/dist/{branches-lPHtM_xR.mjs → branches-B3gHAanU.mjs} +2 -2
  25. package/dist/{breaking-DjMlCD96.mjs → breaking-DuWIof4T.mjs} +5 -5
  26. package/dist/{broken-DUX3GWS5.mjs → broken-D2ST8sTx.mjs} +7 -7
  27. package/dist/{bulk-discard-values-Dl8Lzypf.mjs → bulk-discard-values-77khEfpj.mjs} +4 -4
  28. package/dist/{bulk-edit-N2xLVtfG.mjs → bulk-edit-girwcjY6.mjs} +5 -5
  29. package/dist/{bulk-rescan-values-BK2rH2Ik.mjs → bulk-rescan-values-Df8KK8um.mjs} +4 -4
  30. package/dist/{bulk-sync-schema-BKJc9Rzq.mjs → bulk-sync-schema-DEPUZ6MN.mjs} +4 -4
  31. package/dist/{cancel-DzkRVGIk.mjs → cancel-Oek5PJnu.mjs} +2 -2
  32. package/dist/{cancel-task-BiTlDY7a.mjs → cancel-task-rkqY0qLU.mjs} +3 -3
  33. package/dist/{card-CQNUT9pm.mjs → card-3NmUiU5F.mjs} +1 -1
  34. package/dist/{card-BTBDBsu-.mjs → card-BWTjCE93.mjs} +8 -8
  35. package/dist/{card-P5mBknsl.mjs → card-QR3zEu6E.mjs} +39 -16
  36. package/dist/{cards-CSL8ukS1.mjs → cards-DWJOtZoN.mjs} +5 -5
  37. package/dist/cli.mjs +172 -37
  38. package/dist/{client-BBwYPXDW.mjs → client-BFP2Ssqu.mjs} +221 -39
  39. package/dist/{collection-B19phRNU.mjs → collection-9_mj8rVX.mjs} +7 -7
  40. package/dist/{collection-CTnYZ2Jj.mjs → collection-D5vt2IJ_.mjs} +1 -1
  41. package/dist/{collection-B2wRXyTF.mjs → collection-DNmFKALA.mjs} +1 -0
  42. package/dist/{collection-namespace-B1OkM7p1.mjs → collection-namespace-Dl8_7xII.mjs} +1 -1
  43. package/dist/{content-translation-DoGTQnvH.mjs → content-translation-B3oARbgD.mjs} +2 -2
  44. package/dist/{copy-BYukQEtf.mjs → copy-BzBp5FaY.mjs} +5 -5
  45. package/dist/{copy-XlCT3gvG.mjs → copy-C7Rc4qM7.mjs} +3 -3
  46. package/dist/{copy-flags-ByB2MicL.mjs → copy-flags-CTM91pxH.mjs} +2 -2
  47. package/dist/{create-T4PZPVE9.mjs → create-71_DODbc.mjs} +3 -3
  48. package/dist/{create-jr4xJgSI.mjs → create-BKRD11i-.mjs} +3 -3
  49. package/dist/{create-k1Bo7h7g.mjs → create-Bc4ADRmU.mjs} +2 -2
  50. package/dist/{create-Bnb1abv_.mjs → create-Bh3q3eHg.mjs} +5 -5
  51. package/dist/{create-3_oY9KHY.mjs → create-ByeGK_BE.mjs} +2 -2
  52. package/dist/{create-DZJQp3r7.mjs → create-C-2ivjed.mjs} +2 -2
  53. package/dist/{create-CLZ7w83R.mjs → create-C0gmhNnk.mjs} +3 -3
  54. package/dist/create-C3H9ljex.mjs +34 -0
  55. package/dist/{create-DxMmIHI4.mjs → create-CGE1D0Ay.mjs} +2 -2
  56. package/dist/{create-CbT4SPHV.mjs → create-CGxxztoE.mjs} +2 -2
  57. package/dist/{create-CYoarNrb.mjs → create-CfXKNnkK.mjs} +2 -2
  58. package/dist/{create-Bl9sS7v7.mjs → create-CjGEkSFz.mjs} +6 -6
  59. package/dist/{create-Cdt8u1wF.mjs → create-DO4ic4Kx.mjs} +5 -5
  60. package/dist/{create-BP39g5Jk.mjs → create-DQJ9h86G.mjs} +2 -2
  61. package/dist/{create-DBNxy5rN.mjs → create-YBDXZgyP.mjs} +2 -2
  62. package/dist/{create-D5_c5SHo.mjs → create-YIC3Q0a-.mjs} +2 -2
  63. package/dist/create-_rOCx5b8.mjs +38 -0
  64. package/dist/{create-branch-CUNFdKyB.mjs → create-branch-DBCBMDWh.mjs} +4 -4
  65. package/dist/{create-CqF7vqXC.mjs → create-f0bBEfDI.mjs} +4 -4
  66. package/dist/{create-B3fm5I-l2.mjs → create-myJ8HR4B.mjs} +4 -4
  67. package/dist/{create-CrtIqtXN.mjs → create-vgP9K2eH2.mjs} +4 -4
  68. package/dist/{csv-CcnhKpuj.mjs → csv-Dtgy7sTg.mjs} +3 -3
  69. package/dist/{current-task-nl2z8sHI.mjs → current-task-AwQisIT9.mjs} +3 -3
  70. package/dist/{dashboard-BP0p62fp.mjs → dashboard-BZV-0Qjp.mjs} +11 -11
  71. package/dist/{dashboard-Phz3XpRM.mjs → dashboard-Chjy5GKR.mjs} +52 -5
  72. package/dist/{dashboard-XSTr9QCr.mjs → dashboard-D5E3fMKh.mjs} +1 -1
  73. package/dist/{data-action-Cr17CfgE.mjs → data-action-B7kRpvCH.mjs} +7 -7
  74. package/dist/data-app-BIAvvV2P.mjs +41 -0
  75. package/dist/data-app-BUW-HlUo.mjs +52 -0
  76. package/dist/data-app-Blz61mG5.mjs +29 -0
  77. package/dist/data-app-project-BL4xpu_m.mjs +57 -0
  78. package/dist/{database-2HYCdHqK.mjs → database-CxykzTAA.mjs} +14 -3
  79. package/dist/{database-BewllGR7.mjs → database-D8XzgJEz.mjs} +19 -2
  80. package/dist/{dataset-D-x2Ho2i.mjs → dataset-DIQLAp2P.mjs} +5 -4
  81. package/dist/db-wsSYKqCB.mjs +25 -0
  82. package/dist/delete-4v4_lDwD.mjs +44 -0
  83. package/dist/{delete-BOma6qIq.mjs → delete-BHX_F8Qu.mjs} +3 -3
  84. package/dist/{delete-DulVnxD_.mjs → delete-BP9-YS-f.mjs} +3 -3
  85. package/dist/delete-BSgxmR3y.mjs +40 -0
  86. package/dist/{delete-BUCh72Bq.mjs → delete-BegkpIGi.mjs} +3 -3
  87. package/dist/{delete-xf2n7SNg.mjs → delete-D9FB7qjX.mjs} +3 -3
  88. package/dist/{delete-QHsiWYay.mjs → delete-DmM5L0wO.mjs} +3 -3
  89. package/dist/{delete-BrbmJ3sn.mjs → delete-E-g5b-HU.mjs} +3 -3
  90. package/dist/{delete-Oc2GE170.mjs → delete-WrV9I9uw.mjs} +3 -3
  91. package/dist/delete-runtime-CJ7gMYA1.mjs +72 -0
  92. package/dist/{delete-table-LgJ17t6j.mjs → delete-table-CJq8JM5J.mjs} +3 -3
  93. package/dist/{delete-BXMc-g3Q.mjs → delete-wnHUWWjX.mjs} +3 -3
  94. package/dist/{dependencies-BE5QW7Lb.mjs → dependencies-CnW3RSoZ.mjs} +3 -3
  95. package/dist/{dependency-qP1hx2YN.mjs → dependency-CaC6XuTY.mjs} +2 -2
  96. package/dist/{dependency-BlTYysYG.mjs → dependency-DDRGBlFL.mjs} +5 -5
  97. package/dist/{dependency-BACk_cVP.mjs → dependency-Dxvb2Znu.mjs} +1 -1
  98. package/dist/{dependents-mbgHQNiv.mjs → dependents-DHXqJ3lo.mjs} +8 -8
  99. package/dist/{dirty-fYlA1N1e.mjs → dirty-BRPWPUYH.mjs} +4 -4
  100. package/dist/{discard-values-cIRBP5nT.mjs → discard-values-DBHfVN8o.mjs} +4 -4
  101. package/dist/{document-BaRQ5fBd.mjs → document-BeLf7NqP.mjs} +6 -6
  102. package/dist/{download-CokVpeK6.mjs → download-BFu9xYHX.mjs} +1 -1
  103. package/dist/{eid-CaumGUFD.mjs → eid-eKmbXRds.mjs} +3 -4
  104. package/dist/{entity-BHYJtRxp.mjs → entity-DjDkaMkB.mjs} +2 -2
  105. package/dist/{entry-flags-DjICpQkc.mjs → entry-flags-Cxn09krz.mjs} +3 -3
  106. package/dist/{events-jEo9fytL.mjs → events-CZL9MU64.mjs} +3 -3
  107. package/dist/{execute-H09Qus4_.mjs → execute-DBJGtHHG.mjs} +3 -3
  108. package/dist/{export-flags-DzW0Ktkh.mjs → export-flags-CpukgETM.mjs} +13 -5
  109. package/dist/{export-preflight-Db_TChn5.mjs → export-preflight-SM9zJkBp.mjs} +4 -4
  110. package/dist/{export-YtdZo7LZ.mjs → export-xn_-NaBd.mjs} +24 -12
  111. package/dist/{field-wmN6raOG.mjs → field-BVz4AS3f.mjs} +1 -1
  112. package/dist/{field-DktidTPB.mjs → field-CQDz-6DK.mjs} +7 -7
  113. package/dist/{field-5nivEfd6.mjs → field-DoWQUl7V.mjs} +58 -45
  114. package/dist/{fields-DUXlosmx.mjs → fields-CB06GFBW.mjs} +5 -5
  115. package/dist/{filter-flags-DTDcU7OI.mjs → filter-flags-DhE4olyf.mjs} +4 -4
  116. package/dist/{fks-Cl2sq-c0.mjs → fks-CSoS7xZ6.mjs} +5 -5
  117. package/dist/{get-C_rjxpoe.mjs → get--1qTpTIQ.mjs} +4 -4
  118. package/dist/{get-BilMWiFq.mjs → get-B8xQXMU6.mjs} +2 -2
  119. package/dist/{get-okEsnkvC.mjs → get-B8xrmipw.mjs} +2 -2
  120. package/dist/{get-DPiNYmXo.mjs → get-BIf6eFWZ.mjs} +2 -2
  121. package/dist/{get-DtcChy9h.mjs → get-BQ7SAJEz.mjs} +2 -2
  122. package/dist/{get-XS-6R81E.mjs → get-BSPxmP_W.mjs} +4 -4
  123. package/dist/{get-zPMv3kZE.mjs → get-BW3jSR3y.mjs} +2 -2
  124. package/dist/{get-DyK_bvg6.mjs → get-BYAzIaGG.mjs} +2 -2
  125. package/dist/{get-Cg0up9gm.mjs → get-BZDUOZxI.mjs} +2 -2
  126. package/dist/{get-oQNL6pLY.mjs → get-BZFyqZXa.mjs} +2 -2
  127. package/dist/{get-CVMWhbA82.mjs → get-BfFZCiZR.mjs} +4 -4
  128. package/dist/get-Bq_9VSTa.mjs +28 -0
  129. package/dist/{get-FxCF0rxc.mjs → get-Bt4C-oxh.mjs} +2 -2
  130. package/dist/{get-GuWW4J24.mjs → get-C1rCVUYw.mjs} +3 -3
  131. package/dist/{get-CqlNUyFY.mjs → get-Cc4-e-Q_.mjs} +4 -4
  132. package/dist/{get-CTtzccwr.mjs → get-Cl-O6dFs.mjs} +3 -3
  133. package/dist/{get-Bt_zhviQ.mjs → get-CtDZOoWy.mjs} +5 -5
  134. package/dist/{get-CWyRAHpz.mjs → get-CuSwArMS.mjs} +5 -5
  135. package/dist/{get-CM596pmP.mjs → get-DIfjxTP8.mjs} +2 -2
  136. package/dist/{get-B-WT6ess.mjs → get-DePbMmjc.mjs} +5 -5
  137. package/dist/{get-DTDvlLT3.mjs → get-eZEHipwA.mjs} +2 -2
  138. package/dist/{get-DySyvotk2.mjs → get-jbOgdCQg.mjs} +2 -2
  139. package/dist/{get-run-CFGxSm_S.mjs → get-run-C-CNDbv3.mjs} +2 -2
  140. package/dist/{git-sync-Ch1V1fEK.mjs → git-sync-D1aKczo6.mjs} +15 -8
  141. package/dist/{git-sync-COokpYgc.mjs → git-sync-DP4wQFzm.mjs} +18 -1
  142. package/dist/git-sync-D_T9oNC6.mjs +29 -0
  143. package/dist/{glossary-BSgRQ2HO.mjs → glossary-BVK5DaLV.mjs} +4 -4
  144. package/dist/{graph-Wf4e0XIa.mjs → graph-CqBe2J4N.mjs} +5 -5
  145. package/dist/{has-remote-changes-BsS3XB0P.mjs → has-remote-changes-CDe1teSb.mjs} +3 -3
  146. package/dist/{import-CXd5HdB0.mjs → import-B64gjryF.mjs} +7 -7
  147. package/dist/{is-dirty-TDcfeOde.mjs → is-dirty-DhR3Xqjk.mjs} +1 -1
  148. package/dist/{items-BxvhoxYm.mjs → items-CLl2QgS8.mjs} +5 -5
  149. package/dist/{key-CUPbYxkk.mjs → key-BYEv4Wgq.mjs} +2 -2
  150. package/dist/{library-DzejNMqX.mjs → library-C3eO2J07.mjs} +4 -4
  151. package/dist/{library-BKSFtIV9.mjs → library-DKIqzyUk.mjs} +2 -2
  152. package/dist/{library-DuIrR8LS.mjs → library-wUiD2jbw.mjs} +1 -1
  153. package/dist/{list-DA1Fo6S6.mjs → list-B7Yvz5vA.mjs} +2 -2
  154. package/dist/{list-DlgjWr4r.mjs → list-BIqqh3A-.mjs} +2 -2
  155. package/dist/{list-CRXTfEFk.mjs → list-BiSwl56L.mjs} +2 -2
  156. package/dist/{list-DpK3ioES.mjs → list-BmvitCWZ.mjs} +5 -5
  157. package/dist/{list-D7yH-64Z.mjs → list-C3GBocvB.mjs} +4 -4
  158. package/dist/{list-B8V_OESj.mjs → list-C7TFreS8.mjs} +2 -2
  159. package/dist/{list-6nGX0Rqc.mjs → list-CA939qkn.mjs} +5 -5
  160. package/dist/list-CFaJA317.mjs +48 -0
  161. package/dist/{list-3Dh5yeq-.mjs → list-CdcFNphE.mjs} +2 -2
  162. package/dist/{list-DjlfBd7W.mjs → list-CjpZCiks.mjs} +2 -2
  163. package/dist/{list-B5kRBn7k.mjs → list-Cu6ET_yD.mjs} +4 -4
  164. package/dist/{list-BUjI5G0_.mjs → list-D4HNG282.mjs} +4 -4
  165. package/dist/{list-Ba7u5Ai9.mjs → list-DDPvxfhe.mjs} +5 -5
  166. package/dist/{list-Cr5Hoq-E.mjs → list-DLLzMaS3.mjs} +2 -2
  167. package/dist/{list-D_fsrh8w.mjs → list-DLwby7YA.mjs} +2 -2
  168. package/dist/{list-B3Pngm2j.mjs → list-D_IT8l9B.mjs} +2 -2
  169. package/dist/{list-CCCy6cBI.mjs → list-DpfOh8-5.mjs} +3 -3
  170. package/dist/{list-DsR58aMq.mjs → list-DrIcKxXX.mjs} +3 -3
  171. package/dist/{list-D1Q8H3jn.mjs → list-DyFu5Wx1.mjs} +3 -3
  172. package/dist/{list-Cf6A9Csi.mjs → list-DyQNRVAf.mjs} +2 -2
  173. package/dist/list-YFwmHXGG.mjs +33 -0
  174. package/dist/{list-Do-Xnz0I.mjs → list-eGlqXJno.mjs} +2 -2
  175. package/dist/list-s9_LlXCV.mjs +29 -0
  176. package/dist/{login-CXbCAcuB.mjs → login-Bg7Z3jDy.mjs} +15 -8
  177. package/dist/{logout-B6IGzkpG.mjs → logout-CAmp7DcS.mjs} +2 -2
  178. package/dist/{measure-CbMgNhlG.mjs → measure-C31HLp1C.mjs} +5 -5
  179. package/dist/{moderation-review-BdqEH6N1.mjs → moderation-review-Bf9bPNQI.mjs} +1 -1
  180. package/dist/{parameter-Celg0wZa.mjs → parameter-DvRQMKd2.mjs} +6 -6
  181. package/dist/{parameter-values-IWi_DNhp.mjs → parameter-values-3eHpqznI.mjs} +21 -7
  182. package/dist/{parse-enum-B2rGiC6p.mjs → parse-enum-DAcTzG1q.mjs} +1 -1
  183. package/dist/{parse-id-Cv5eM7sg.mjs → parse-id-5BZGQ9Vd.mjs} +1 -1
  184. package/dist/{parse-ref-DW7ik6ny.mjs → parse-ref-ByXc-pls.mjs} +1 -1
  185. package/dist/{parse-text-CUCSWOeR.mjs → parse-text-FgX60vIg.mjs} +1 -1
  186. package/dist/{path-C9r9urRK.mjs → path-XwdHlC23.mjs} +3 -3
  187. package/dist/{poll-CX3jPtXb.mjs → poll-CgtcJopL.mjs} +2 -2
  188. package/dist/{preflight-CiTgqNUy.mjs → preflight-ChTKhB8Y.mjs} +2 -2
  189. package/dist/{process-DImdroix.mjs → process-aqXm5QgC.mjs} +1 -1
  190. package/dist/{publish-xH1n74gd.mjs → publish-C2-pK0cf.mjs} +4 -4
  191. package/dist/{pulse-Dz0ocv0l.mjs → pulse-CC81N2_0.mjs} +1 -1
  192. package/dist/{pulse-CFj1WfIC.mjs → pulse-JPrq6NFP.mjs} +1 -1
  193. package/dist/{query-CN3BW5WB.mjs → query-DkaUzmMa.mjs} +12 -12
  194. package/dist/{query-BOCw0FBK.mjs → query-pmw23KkL.mjs} +17 -7
  195. package/dist/{remapping-Dggq2Fv0.mjs → remapping-C3htTzJn.mjs} +4 -4
  196. package/dist/{remove-collection-cxSSFxza.mjs → remove-collection-p_t9rUUX.mjs} +4 -4
  197. package/dist/{render-Cb8Hct67.mjs → render-C50k8-jc.mjs} +2 -2
  198. package/dist/{replace-wVi_XDut.mjs → replace-BQBuFJ1B.mjs} +3 -3
  199. package/dist/{requirement-check-BE3PuGsC.mjs → requirement-check-CpiVuL0H.mjs} +1 -1
  200. package/dist/{rescan-values-DAp_avxY.mjs → rescan-values-Ctq8wpkI.mjs} +4 -4
  201. package/dist/{rescan-values-C7b1Ghy-.mjs → rescan-values-DOqXJ3qH.mjs} +4 -4
  202. package/dist/{run-CUGs7mok.mjs → run-2xgPRuKR.mjs} +4 -4
  203. package/dist/{run-DywhwjNG.mjs → run-CtMbObQI.mjs} +4 -4
  204. package/dist/{run-CE6ei7s7.mjs → run-Dn3e8G4x.mjs} +2 -2
  205. package/dist/{runs--14jim_0.mjs → runs-CgNoQW6M.mjs} +3 -3
  206. package/dist/{runtime-Ckns6TKK.mjs → runtime-Y4VFWmmr.mjs} +63 -80
  207. package/dist/scaffold-BuL0_ptz.mjs +50 -0
  208. package/dist/{schema-tables-CeW0kpA5.mjs → schema-tables-BdXuo_lG.mjs} +5 -5
  209. package/dist/{schemas-CHMD0HrY.mjs → schemas-Dap3KFwY.mjs} +3 -3
  210. package/dist/{search-CXRavT7G.mjs → search-1et9tv_s.mjs} +21 -4
  211. package/dist/{search-LmBQu1Jg.mjs → search-DUmFK5Sy.mjs} +5 -5
  212. package/dist/{search-DyC54bGf.mjs → search-Dxcejw_v.mjs} +20 -5
  213. package/dist/{segment-DeT_Yic6.mjs → segment-CebcXn2E.mjs} +5 -5
  214. package/dist/{send-BWSJMrDL.mjs → send-DYdwcPTb.mjs} +2 -2
  215. package/dist/{set-active-C5cLG4_O.mjs → set-active-CVI_DDQi.mjs} +2 -2
  216. package/dist/set-bundle-DX5HqDji.mjs +40 -0
  217. package/dist/set-data-actions-DAI1XCQ2.mjs +46 -0
  218. package/dist/set-enabled-0QI-CHAT.mjs +41 -0
  219. package/dist/{set-sensitivity-BMLKazua.mjs → set-sensitivity-DqGkiLSr.mjs} +5 -5
  220. package/dist/{set-r2xiXrT_.mjs → set-xs8Vyvy2.mjs} +3 -3
  221. package/dist/{setting-CDRusiqP.mjs → setting-Bmry-y_l.mjs} +3 -3
  222. package/dist/{setup-BZaJVww3.mjs → setup-UM8N9Vh3.mjs} +2 -2
  223. package/dist/{signal-4tpCIkqR.mjs → signal-D8MH3LMN.mjs} +1 -1
  224. package/dist/{skills-9ihLaSmM.mjs → skills-BiSfuDqA.mjs} +3 -3
  225. package/dist/{skills-y2iVfW9k.mjs → skills-CcLTm3_2.mjs} +2 -2
  226. package/dist/slug-qeARO25o.mjs +15 -0
  227. package/dist/{snippet-Ce0o33Rj.mjs → snippet-DKARah-L.mjs} +5 -5
  228. package/dist/{stash-Dj-mnIa4.mjs → stash-e5cSvnj3.mjs} +6 -6
  229. package/dist/{status-BtWz7Pzn.mjs → status-BHiO3YBe.mjs} +36 -15
  230. package/dist/{status-B2Xj_q8f.mjs → status-CH7BAWGe.mjs} +2 -2
  231. package/dist/{subscription-Dh--agqE.mjs → subscription-DWleULhN.mjs} +5 -5
  232. package/dist/{subscriptions-CJ8Jdp9A.mjs → subscriptions-DcCOA2p1.mjs} +4 -4
  233. package/dist/{summary-ccbkNDbC.mjs → summary-CipFA6M6.mjs} +4 -4
  234. package/dist/{sync-schema-CewUOkmm.mjs → sync-schema-C45WO4db.mjs} +5 -5
  235. package/dist/{sync-schema-HwQectZd.mjs → sync-schema-D7p-P8F6.mjs} +4 -4
  236. package/dist/{sync-task-DEzhiaU9.mjs → sync-task-DNKG9Bk4.mjs} +2 -2
  237. package/dist/{table-CFZU-BRg.mjs → table-BDsqRU7a.mjs} +2 -2
  238. package/dist/table-BPYHnzyV.mjs +26 -0
  239. package/dist/{table-zAdW5_3H.mjs → table-CF7zW9cI.mjs} +33 -20
  240. package/dist/{table-selector-flags-p4jun7-v.mjs → table-selector-flags-CHfrVpYQ.mjs} +3 -3
  241. package/dist/{timeline-DLaBypse.mjs → timeline-C2m_QHxn.mjs} +7 -7
  242. package/dist/{timeline-event-xAAR6b-v.mjs → timeline-event-BF1dqSnD.mjs} +5 -5
  243. package/dist/transform-N_elgRuh.mjs +28 -0
  244. package/dist/transform-job-CTV6KRP2.mjs +22 -0
  245. package/dist/{transform-tag-BXusFzMX.mjs → transform-tag-BYoguZfW.mjs} +4 -4
  246. package/dist/{transform-test-UsH1udc4.mjs → transform-test-jaBpHOM5.mjs} +6 -6
  247. package/dist/{transforms-CqV01bMM.mjs → transforms-C6MFnT4C.mjs} +3 -3
  248. package/dist/{transport-0qFZhEuP.mjs → transport-k_fabWdF.mjs} +4 -4
  249. package/dist/{tree-Td6rgyOa.mjs → tree-C4Igf6xs.mjs} +3 -3
  250. package/dist/typed-schema-Bo0Q6C0S.mjs +45 -0
  251. package/dist/{unpublish-D4XTZsFW.mjs → unpublish-EStytsEm.mjs} +2 -2
  252. package/dist/{unreferenced-cR-l4zXN.mjs → unreferenced-DtUuyBrr.mjs} +5 -5
  253. package/dist/{update-C8xdeYI2.mjs → update-B0Na11v-.mjs} +5 -5
  254. package/dist/{update-C7Wmom6x.mjs → update-B1UXRPN-.mjs} +7 -7
  255. package/dist/{update-dQeji6RA.mjs → update-BOg1jZ_s.mjs} +5 -5
  256. package/dist/{update-CpwWURTp.mjs → update-BXLY92om.mjs} +4 -4
  257. package/dist/{update-DrVc25R8.mjs → update-Bba_zPSE.mjs} +4 -4
  258. package/dist/{update-C4iu-vQm.mjs → update-BogvN2Mb.mjs} +3 -3
  259. package/dist/{update-nGURR-y6.mjs → update-CCLpNTPa.mjs} +3 -3
  260. package/dist/{update-CHB4kvz-.mjs → update-CciLWH_s.mjs} +7 -8
  261. package/dist/{update-BqkqMOVN.mjs → update-DAG8m5f4.mjs} +5 -5
  262. package/dist/{update-Dk0E66Va.mjs → update-DECiEVlk.mjs} +7 -7
  263. package/dist/update-DIBaY-fy.mjs +37 -0
  264. package/dist/{update-C7dZLbsf.mjs → update-DT2ViMFr.mjs} +3 -3
  265. package/dist/{update-CND9At61.mjs → update-DT8U29Kk.mjs} +3 -3
  266. package/dist/{update-Js0IiqCq.mjs → update-DhgfReDD.mjs} +5 -5
  267. package/dist/{update-DFK2iUSP.mjs → update-DkvIK-eL.mjs} +3 -3
  268. package/dist/{update-DZHgr6Gu.mjs → update-FfeHReec.mjs} +4 -4
  269. package/dist/{update-BJL5975i.mjs → update-HbggUPuy.mjs} +3 -3
  270. package/dist/{update-D-cTgmb0.mjs → update-VGgvQu7W.mjs} +3 -3
  271. package/dist/{update-dashcard-BmkfJ7t9.mjs → update-dashcard-m-hkIGUu.mjs} +6 -6
  272. package/dist/{update-DROjGe3Q.mjs → update-pk0b6vXU.mjs} +3 -3
  273. package/dist/{update-DqCZsbLh.mjs → update-z8ZGCg1r.mjs} +3 -3
  274. package/dist/{upgrade-B6V_1cUh.mjs → upgrade-iETJ8fH2.mjs} +4 -4
  275. package/dist/{upload-B6zBzMPW.mjs → upload-BF5pdKRN.mjs} +3 -3
  276. package/dist/{upload-CfYmBv51.mjs → upload-CoK5LnyA.mjs} +2 -2
  277. package/dist/{upload-Dvjfz16M.mjs → upload-CqSGEZQW.mjs} +3 -3
  278. package/dist/{uuid-B8ynbkqG.mjs → uuid-8Ha-8bDX.mjs} +2 -2
  279. package/dist/{validate-C7DGkwb-.mjs → validate-BQ7vI8_x.mjs} +1 -1
  280. package/dist/{validate-query-CYUvRvVM.mjs → validate-query-YtH3d5BP.mjs} +2 -2
  281. package/dist/{values-36bzf9cK.mjs → values-BsgA7-6h.mjs} +4 -4
  282. package/dist/{verify-C4Tml4fD.mjs → verify-CzBZbP4W.mjs} +4 -4
  283. package/dist/{verify-BdW-GExk.mjs → verify-cjUPMF_B.mjs} +4 -4
  284. package/dist/{verify-Cs9e28YA.mjs → verify-crIrbGZV.mjs} +3 -3
  285. package/dist/{verify-flags-CMpRkMPa.mjs → verify-flags-DEVMB9w0.mjs} +1 -1
  286. package/dist/{wait-flags-DjyK03cm.mjs → wait-flags-BnZ-dfE2.mjs} +2 -2
  287. package/dist/{wait-BV6JOdgi.mjs → wait-mFUfpSaj.mjs} +5 -5
  288. package/package.json +2 -2
  289. package/skill-data/core/SKILL.md +1 -1
  290. package/skill-data/data-action/SKILL.md +18 -7
  291. package/skill-data/data-app/SKILL.md +138 -0
  292. package/skill-data/data-app/template/.env.local.example +2 -0
  293. package/skill-data/data-app/template/LICENSE +21 -0
  294. package/skill-data/data-app/template/README.md +29 -0
  295. package/skill-data/data-app/template/gitignore +5 -0
  296. package/skill-data/data-app/template/package.json +25 -0
  297. package/skill-data/data-app/template/src/App.tsx +9 -0
  298. package/skill-data/data-app/template/src/index.tsx +14 -0
  299. package/skill-data/data-app/template/src/theme.ts +25 -0
  300. package/skill-data/data-app/template/tsconfig.json +25 -0
  301. package/skill-data/data-app/template/vite.config.ts +3 -0
  302. package/skill-data/data-app-actions/SKILL.md +96 -0
  303. package/skill-data/data-app-data/SKILL.md +158 -0
  304. package/skill-data/data-app-filters/SKILL.md +87 -0
  305. package/skill-data/data-app-ui/SKILL.md +120 -0
  306. package/skill-data/git-sync/SKILL.md +3 -3
  307. package/skill-data/transform/SKILL.md +1 -1
  308. package/dist/db-m5bQcXdn.mjs +0 -24
  309. package/dist/delete-runtime-CkNvZfFA.mjs +0 -55
  310. package/dist/embedding-i-KqpefC.mjs +0 -9
  311. package/dist/git-sync-BwkWeJAz.mjs +0 -29
  312. package/dist/input-AXP2LCOV.mjs +0 -61
  313. package/dist/list-CUj04tg3.mjs +0 -38
  314. package/dist/table-P9ovwcaB.mjs +0 -26
  315. package/dist/transform-10YE8j5K.mjs +0 -28
  316. package/dist/transform-job-D97AutnF.mjs +0 -22
@@ -1,32 +1,34 @@
1
- import { At as formatZodIssue, Et as TimeoutError, Mt as isNonInterruptFailure, P as CapabilityError, Q as parseJsonOrPlain, Tt as ResponseShapeError, W as HttpError, Y as isPlainObject, kt as errorMessage, n as isMethodKey, r as methodRequirements, wt as PartialWriteError, xt as InternalError, yt as ConfigError } from "./cli.mjs";
1
+ import { Dt as PartialWriteError, Ft as isNonInterruptFailure, Mt as errorMessage, Nt as formatZodIssue, Ot as ResponseShapeError, P as CapabilityError, Q as parseJsonOrPlain, St as ConfigError, W as HttpError, Y as isPlainObject, kt as TimeoutError, n as isMethodKey, r as methodRequirements, wt as InternalError } from "./cli.mjs";
2
2
  import { n as Notification, r as NotificationCardPayload, t as CARD_PAYLOAD_TYPE } from "./notification-DaA4bBHW.mjs";
3
- import { L as profileFromProperties, Z as SessionProperties } from "./runtime-Ckns6TKK.mjs";
4
- import { n as featureFailures, r as supersedingFeature, t as checkFeatures } from "./requirement-check-BE3PuGsC.mjs";
5
- import { n as createTransport } from "./transport-0qFZhEuP.mjs";
6
- import { f as FieldWithDataSensitivity, h as fieldRemappedValueSchema, m as fieldDetailSchema, n as FieldBaseType, o as FieldSearchMatches, s as FieldSemanticType, u as FieldValues } from "./field-5nivEfd6.mjs";
7
- import { a as TemporalUnit, r as ParameterValues } from "./parameter-Celg0wZa.mjs";
3
+ import { V as profileFromProperties, tt as SessionProperties } from "./runtime-Y4VFWmmr.mjs";
4
+ import { i as CreatedApiKey, t as ApiKey } from "./api-key-DbsqHlN6.mjs";
5
+ import { n as featureFailures, r as supersedingFeature, t as checkFeatures } from "./requirement-check-CpiVuL0H.mjs";
6
+ import { n as createTransport } from "./transport-k_fabWdF.mjs";
7
+ import { i as CardDetail, o as CardQueryResult, t as Card } from "./card-QR3zEu6E.mjs";
8
+ import { f as FieldWithDataSensitivity, g as fieldRemappedValueSchema, h as fieldDetailSchema, n as FieldBaseType, o as FieldSearchMatches, s as FieldSemanticType, u as FieldValues } from "./field-DoWQUl7V.mjs";
9
+ import { r as ModerationReviewCreateInput, t as ModerationReview } from "./moderation-review-Bf9bPNQI.mjs";
10
+ import { a as TemporalUnit, r as ParameterValues } from "./parameter-DvRQMKd2.mjs";
8
11
  import { r as PivotExportFormat, t as DatasetQuery } from "./query-BKtMP5eH.mjs";
9
- import { a as CardQueryResult, t as Card } from "./card-P5mBknsl.mjs";
10
- import { b as TableVisibilityType, p as TableQueryMetadata, s as TableDataLayerTier, t as Table, u as TableForeignKey, v as TableSelectors } from "./table-zAdW5_3H.mjs";
11
- import { t as Database } from "./database-2HYCdHqK.mjs";
12
+ import { b as TableVisibilityType, p as TableQueryMetadata, s as TableDataLayerTier, t as Table, u as TableForeignKey, v as TableSelectors } from "./table-CF7zW9cI.mjs";
13
+ import { c as DatabaseWithSettings, t as Database } from "./database-CxykzTAA.mjs";
12
14
  import { t as Snippet } from "./snippet-CyKAgIZl.mjs";
13
- import { r as QueryMetadata, t as CompiledQuery } from "./dataset-D-x2Ho2i.mjs";
14
- import { c as CollectionItem, m as CollectionTreeNode, r as Collection } from "./collection-B2wRXyTF.mjs";
15
+ import { r as QueryMetadata, t as CompiledQuery } from "./dataset-DIQLAp2P.mjs";
16
+ import { c as CollectionItem, m as CollectionTreeNode, r as Collection } from "./collection-DNmFKALA.mjs";
15
17
  import { t as ContentTranslationUploadResult } from "./content-translation-BrHOrmj9.mjs";
16
- import { l as Dashcard, o as DashboardDetail, r as DashboardCopy, t as Dashboard } from "./dashboard-Phz3XpRM.mjs";
18
+ import { o as DashboardDetail, r as DashboardCopy, t as Dashboard, u as Dashcard } from "./dashboard-Chjy5GKR.mjs";
17
19
  import { a as DataActionExecuteResult, s as dataActionSchema } from "./data-action-DZxVB_hD.mjs";
18
- import { r as pollUntil } from "./poll-CX3jPtXb.mjs";
19
- import { i as DependencyEntity, s as DependencyGraph, t as BreakingSource, u as DependencyNode } from "./dependency-qP1hx2YN.mjs";
20
+ import { i as DataAppEntry, t as DataApp } from "./data-app-BUW-HlUo.mjs";
21
+ import { r as pollUntil } from "./poll-CgtcJopL.mjs";
22
+ import { i as DependencyEntity, s as DependencyGraph, t as BreakingSource, u as DependencyNode } from "./dependency-CaC6XuTY.mjs";
20
23
  import { t as Document } from "./document-UMG6me2P.mjs";
21
24
  import { i as EidTranslateResult } from "./eid-translation-Ba92VOHe.mjs";
22
- import { c as SyncRemoteChanges, d as SyncTask, i as SyncExportPreflight, l as SyncSettingsUpdateResult, m as isSyncTaskTerminal, n as SyncDirtyItem, t as SyncBranchCreated } from "./git-sync-COokpYgc.mjs";
25
+ import { a as SyncExportPreflight, f as SyncTask, g as isSyncTaskTerminal, l as SyncRemoteChanges, n as SyncBranchCreated, r as SyncDirtyItem, t as RemoteSyncState, u as SyncSettingsUpdateResult } from "./git-sync-DP4wQFzm.mjs";
23
26
  import { t as Glossary } from "./glossary-QN-hHfOT.mjs";
24
- import { a as libraryWireSchema, i as LibraryPublishTablesInput, n as LibraryCollectionInfo, o as toLibrary } from "./library-BKSFtIV9.mjs";
27
+ import { a as libraryWireSchema, i as LibraryPublishTablesInput, n as LibraryCollectionInfo, o as toLibrary } from "./library-DKIqzyUk.mjs";
25
28
  import { t as Measure } from "./measure-CtfjqJFP.mjs";
26
- import { r as ModerationReviewCreateInput, t as ModerationReview } from "./moderation-review-BdqEH6N1.mjs";
27
- import { t as Pulse } from "./pulse-Dz0ocv0l.mjs";
29
+ import { t as Pulse } from "./pulse-CC81N2_0.mjs";
28
30
  import { a as TransformDagTransform, d as TransformTarget, g as transformRowSchema, h as transformDetailSchema, i as TransformDagRunResult, l as TransformRunSummary, m as isTransformRunTerminal, o as TransformRun, p as isTransformRunFailed, u as TransformSourceTableEntry } from "./transform-DiW7bREn.mjs";
29
- import { r as SearchResult } from "./search-CXRavT7G.mjs";
31
+ import { r as SearchResult } from "./search-1et9tv_s.mjs";
30
32
  import { t as Segment } from "./segment-OsrbUDzw.mjs";
31
33
  import { t as Setting } from "./setting-DTiLCW8g.mjs";
32
34
  import { n as SetupResult } from "./setup-CO7QV-ao.mjs";
@@ -48,6 +50,38 @@ var __exportAll = (all, no_symbols) => {
48
50
  return target;
49
51
  };
50
52
  //#endregion
53
+ //#region ../client/src/resources/api-key.ts
54
+ function apiKeyResource(transport) {
55
+ /** List the API keys, each with its masked key and the group it acts as. `GET /api/api-key` answers a bare array. */
56
+ async function list(options = {}) {
57
+ return {
58
+ data: await transport.requestParsed(z.array(ApiKey), "/api/api-key", { ...options }),
59
+ total: null
60
+ };
61
+ }
62
+ /** Create an API key acting as a member of the group; the answer carries the key itself, which no later read returns. */
63
+ async function create(params, options = {}) {
64
+ return transport.requestParsed(CreatedApiKey, "/api/api-key", {
65
+ ...options,
66
+ method: "POST",
67
+ body: params
68
+ });
69
+ }
70
+ /** Delete an API key by id; requests made with it fail from then on. */
71
+ async function remove(id, options = {}) {
72
+ await transport.requestRaw(`/api/api-key/${id}`, {
73
+ ...options,
74
+ method: "DELETE",
75
+ expectContentType: "binary"
76
+ });
77
+ }
78
+ return {
79
+ list,
80
+ create,
81
+ delete: remove
82
+ };
83
+ }
84
+ //#endregion
51
85
  //#region ../client/src/resources/pivot-export.ts
52
86
  const PivotedExportsProperty = SessionProperties.extend({ "enable-pivoted-exports": z.boolean() });
53
87
  /**
@@ -77,11 +111,11 @@ function cardResource(transport) {
77
111
  }
78
112
  /** Get one card by id. */
79
113
  async function get(id, options = {}) {
80
- return transport.requestParsed(Card, `/api/card/${id}`, { ...options });
114
+ return transport.requestParsed(CardDetail, `/api/card/${id}`, { ...options });
81
115
  }
82
116
  /** Create a card — a question, a model, or a metric — from a full card body. */
83
117
  async function create(params, options = {}) {
84
- return transport.requestParsed(Card, "/api/card", {
118
+ return transport.requestParsed(CardDetail, "/api/card", {
85
119
  ...options,
86
120
  method: "POST",
87
121
  body: params
@@ -89,7 +123,7 @@ function cardResource(transport) {
89
123
  }
90
124
  /** Update a card by id, patching only the fields the body carries. */
91
125
  async function update(id, params, options = {}) {
92
- return transport.requestParsed(Card, `/api/card/${id}`, {
126
+ return transport.requestParsed(CardDetail, `/api/card/${id}`, {
93
127
  ...options,
94
128
  method: "PUT",
95
129
  body: params
@@ -99,12 +133,20 @@ function cardResource(transport) {
99
133
  async function archive(id, options = {}) {
100
134
  return update(id, { archived: true }, options);
101
135
  }
102
- /** Run a saved card and return the query result envelope. */
136
+ /**
137
+ * Run the query associated with a Card and return the query result envelope. A result served
138
+ * from the cache carries the time it was computed in `cached`; `ignore_cache` runs the query
139
+ * against the database instead. The rows stop at the server's row limit for an API run, which
140
+ * `rows_truncated` carries when it cut them; `exportQuery` runs under the larger download limit.
141
+ */
103
142
  async function query(id, params, options = {}) {
104
143
  return transport.requestParsed(CardQueryResult, `/api/card/${id}/query`, {
105
144
  ...options,
106
145
  method: "POST",
107
- body: { parameters: params.parameters }
146
+ body: {
147
+ parameters: params.parameters,
148
+ ignore_cache: params.ignore_cache
149
+ }
108
150
  });
109
151
  }
110
152
  /**
@@ -217,13 +259,17 @@ async function listCollectionsAs(transport, schema, options = {}) {
217
259
  function collectionResource(transport) {
218
260
  /**
219
261
  * List collections. `filter` picks a server-side preset: everything, archived, or personal. Every
220
- * preset includes the Library collections that match it.
262
+ * preset includes the Library collections that match it. `namespace` lists that namespace's
263
+ * collections, with its root, instead of the default namespace's.
221
264
  */
222
265
  async function list(params = {}, options = {}) {
223
266
  return {
224
267
  data: await transport.requestParsed(CollectionApiList, "/api/collection", {
225
268
  ...options,
226
- query: COLLECTION_LIST_QUERY[params.filter ?? DEFAULT_LIST_FILTER]
269
+ query: {
270
+ ...COLLECTION_LIST_QUERY[params.filter ?? DEFAULT_LIST_FILTER],
271
+ namespace: params.namespace
272
+ }
227
273
  }),
228
274
  total: null
229
275
  };
@@ -479,15 +525,26 @@ function dashboardResource(transport) {
479
525
  }
480
526
  /**
481
527
  * Update a dashboard by id, patching only the fields the body carries. `dashcards` and `tabs` are
482
- * full replacements: whatever the body omits is deleted from the dashboard.
528
+ * full replacements: whatever the arrays omit is deleted from the dashboard. A body with
529
+ * `dashcards` and no `tabs` key keeps the current tabs, read first: the server takes the missing
530
+ * key for an empty list and deletes every tab, or fails on a dashcard that still names one.
483
531
  */
484
532
  async function update(id, params, options = {}) {
533
+ const body = await withCurrentTabs(id, params, options);
485
534
  return transport.requestParsed(DashboardDetail, `/api/dashboard/${id}`, {
486
535
  ...options,
487
536
  method: "PUT",
488
- body: params
537
+ body
489
538
  });
490
539
  }
540
+ async function withCurrentTabs(id, params, options) {
541
+ if (params.dashcards === void 0 || params.tabs !== void 0) return params;
542
+ const current = await get(id, options);
543
+ return {
544
+ ...params,
545
+ tabs: tabWrites(current.tabs)
546
+ };
547
+ }
491
548
  /**
492
549
  * Copy a dashboard, with its tabs and dashcards, into `collection_id` (root when absent). A deep
493
550
  * copy duplicates its questions and metrics and references its models. With `is_deep_copy`
@@ -520,7 +577,7 @@ function dashboardResource(transport) {
520
577
  /**
521
578
  * Patch one dashcard on a dashboard. Metabase exposes no dashcard endpoint and its dashboard PUT
522
579
  * is a full replace of `dashcards`, so the patch is read-modify-written over the dashboard as it
523
- * currently stands.
580
+ * currently stands, its tabs sent back unchanged.
524
581
  */
525
582
  async function updateDashcard(dashboardId, dashcardId, params, options = {}) {
526
583
  const dashboard = await get(dashboardId, options);
@@ -530,7 +587,10 @@ function dashboardResource(transport) {
530
587
  ...target,
531
588
  ...params
532
589
  });
533
- const refreshed = (await update(dashboardId, { dashcards: dashboard.dashcards.map((dashcard) => stripEntityId(dashcard.id === dashcardId ? patched : dashcard)) }, options)).dashcards.find((dashcard) => dashcard.id === dashcardId);
590
+ const refreshed = (await update(dashboardId, {
591
+ dashcards: dashboard.dashcards.map((dashcard) => stripEntityId(dashcard.id === dashcardId ? patched : dashcard)),
592
+ tabs: tabWrites(dashboard.tabs)
593
+ }, options)).dashcards.find((dashcard) => dashcard.id === dashcardId);
534
594
  if (refreshed === void 0) throw new Error(`PUT /api/dashboard/${dashboardId}: dashcard ${dashcardId} missing from response`);
535
595
  return refreshed;
536
596
  }
@@ -569,17 +629,26 @@ function dashboardResource(transport) {
569
629
  }
570
630
  /**
571
631
  * Fetch the selectable values for a dashboard parameter, through the chain-filter value endpoint.
632
+ * `constraints` sets other parameters' values, which narrow the values of a parameter linked to
633
+ * them.
572
634
  */
573
- async function parameterValues(dashboardId, parameterId, options = {}) {
574
- return transport.requestParsed(ParameterValues, `/api/dashboard/${dashboardId}/params/${encodeURIComponent(parameterId)}/values`, { ...options });
635
+ async function parameterValues(dashboardId, parameterId, constraints = {}, options = {}) {
636
+ return transport.requestParsed(ParameterValues, `/api/dashboard/${dashboardId}/params/${encodeURIComponent(parameterId)}/values`, {
637
+ ...options,
638
+ query: constraints
639
+ });
575
640
  }
576
641
  /**
577
642
  * Search a dashboard parameter's selectable values: the server returns only values containing the
578
- * substring, capped at the first 1000 matches.
643
+ * substring, capped at the first 1000 matches. `constraints` narrows them as `parameterValues`
644
+ * does.
579
645
  */
580
- async function searchParameterValues(dashboardId, parameterId, query, options = {}) {
646
+ async function searchParameterValues(dashboardId, parameterId, query, constraints = {}, options = {}) {
581
647
  const parameter = encodeURIComponent(parameterId);
582
- return transport.requestParsed(ParameterValues, `/api/dashboard/${dashboardId}/params/${parameter}/search/${encodeURIComponent(query)}`, { ...options });
648
+ return transport.requestParsed(ParameterValues, `/api/dashboard/${dashboardId}/params/${parameter}/search/${encodeURIComponent(query)}`, {
649
+ ...options,
650
+ query: constraints
651
+ });
583
652
  }
584
653
  return {
585
654
  list,
@@ -617,6 +686,12 @@ function groupByCardId(references) {
617
686
  }
618
687
  return grouped;
619
688
  }
689
+ function tabWrites(tabs) {
690
+ return tabs.map(({ id, name }) => ({
691
+ id,
692
+ name
693
+ }));
694
+ }
620
695
  function stripEntityId(dashcard) {
621
696
  const { entity_id: _entity_id, id, size_x, size_y, row, col, ...rest } = dashcard;
622
697
  return {
@@ -704,6 +779,77 @@ function dataActionResource(transport) {
704
779
  };
705
780
  }
706
781
  //#endregion
782
+ //#region ../client/src/resources/data-app.ts
783
+ const DATA_APPS_PATH = "/api/ee/apps";
784
+ function appPath(slug) {
785
+ return `${DATA_APPS_PATH}/${encodeURIComponent(slug)}`;
786
+ }
787
+ function dataAppResource(transport) {
788
+ const { explain } = explainer(transport, "dataApp");
789
+ /** List the data apps; `available` keeps only the enabled ones that aren't outdated. `GET /api/ee/apps` answers a bare array. */
790
+ async function list(filter = {}, options = {}) {
791
+ return {
792
+ data: await transport.requestParsed(z.array(DataAppEntry), DATA_APPS_PATH, {
793
+ ...options,
794
+ query: { available: filter.available }
795
+ }),
796
+ total: null
797
+ };
798
+ }
799
+ /** Get one data app by slug; admins read disabled apps too. */
800
+ async function get(slug, options = {}) {
801
+ return transport.requestParsed(DataAppEntry, appPath(slug), { ...options });
802
+ }
803
+ /** Create a data app with its resource collection and an empty bundle; it is disabled unless the body says otherwise. */
804
+ async function create(params, options = {}) {
805
+ return transport.requestParsed(DataApp, DATA_APPS_PATH, {
806
+ ...options,
807
+ method: "POST",
808
+ body: params
809
+ });
810
+ }
811
+ /** Update a data app's fields, or enable or disable it. */
812
+ async function update(slug, params, options = {}) {
813
+ return transport.requestParsed(DataApp, appPath(slug), {
814
+ ...options,
815
+ method: "PUT",
816
+ body: params
817
+ });
818
+ }
819
+ /** Replace a data app's bundle with the text of a built bundle. */
820
+ async function replaceBundle(slug, bundle, options = {}) {
821
+ return transport.requestParsed(DataApp, `${appPath(slug)}/bundle`, {
822
+ ...options,
823
+ method: "PUT",
824
+ body: { bundle }
825
+ });
826
+ }
827
+ /** The TypeScript module of the app's queries and actions: a `defineQuery` or `defineAction` call per question and action in its collection. */
828
+ async function typedSchema(slug, options = {}) {
829
+ return (await transport.requestRaw(`${appPath(slug)}/typed-schema`, {
830
+ ...options,
831
+ expectContentType: "text"
832
+ })).text();
833
+ }
834
+ /** Delete a data app with its bundle, its collection and its group assignments. */
835
+ async function remove(slug, options = {}) {
836
+ await transport.requestRaw(appPath(slug), {
837
+ ...options,
838
+ method: "DELETE",
839
+ expectContentType: "binary"
840
+ });
841
+ }
842
+ return {
843
+ list: explain("list", list),
844
+ get: explain("get", get),
845
+ create: explain("create", create),
846
+ update: explain("update", update),
847
+ replaceBundle: explain("replaceBundle", replaceBundle),
848
+ typedSchema: explain("typedSchema", typedSchema),
849
+ delete: explain("delete", remove)
850
+ };
851
+ }
852
+ //#endregion
707
853
  //#region ../client/src/resources/database.ts
708
854
  const DatabaseApiList = z.object({
709
855
  data: z.array(Database),
@@ -735,6 +881,14 @@ function databaseResource(transport) {
735
881
  query: { include: params.include }
736
882
  });
737
883
  }
884
+ /** Update a database's settings by id; the server merges them into the ones it holds. */
885
+ async function update(id, params, options = {}) {
886
+ return transport.requestParsed(DatabaseWithSettings, `/api/database/${id}`, {
887
+ ...options,
888
+ method: "PUT",
889
+ body: params
890
+ });
891
+ }
738
892
  /** List the schema names in a database. */
739
893
  async function schemas(id, options = {}) {
740
894
  return {
@@ -786,6 +940,7 @@ function databaseResource(transport) {
786
940
  return {
787
941
  list,
788
942
  get,
943
+ update,
789
944
  schemas,
790
945
  schemaTables,
791
946
  syncSchema,
@@ -1285,6 +1440,11 @@ const RemoteSyncBranchProperty = SessionProperties.extend({ "remote-sync-branch"
1285
1440
  const RemoteSyncUrlProperty = SessionProperties.extend({ "remote-sync-url": z.string().nullable().optional() });
1286
1441
  const BRANCH_UNREADABLE_MESSAGE = "the remote-sync-branch setting is not readable: only admins see it, and a server without remote sync has none";
1287
1442
  const BRANCH_UNSET_MESSAGE = "git-sync tracks no branch: the remote-sync-branch setting is unset";
1443
+ const RemoteSyncStateProperty = RemoteSyncBranchProperty.extend({
1444
+ "remote-sync-enabled": z.boolean().optional(),
1445
+ "remote-sync-type": RemoteSyncState.shape.sync_type.optional()
1446
+ });
1447
+ const REMOTE_SYNC_STATE_ABSENT_MESSAGE = "the remote-sync-enabled and remote-sync-type settings are absent: the server has no remote-sync module";
1288
1448
  function isRemoteUnreadable(error) {
1289
1449
  if (!(error instanceof HttpError)) return false;
1290
1450
  return error.status === 403 || error.status === 404;
@@ -1401,13 +1561,14 @@ function gitSyncResource(transport) {
1401
1561
  merge: params.merge
1402
1562
  }
1403
1563
  });
1404
- if (params.wait === void 0) return {
1564
+ const accepted = {
1405
1565
  message: started.message,
1406
- task_id: started.task_id
1566
+ task_id: started.task_id,
1567
+ branch: branchName ?? null
1407
1568
  };
1569
+ if (params.wait === void 0) return accepted;
1408
1570
  return {
1409
- message: started.message,
1410
- task_id: started.task_id,
1571
+ ...accepted,
1411
1572
  final: await settle(params.wait, options)
1412
1573
  };
1413
1574
  }
@@ -1527,6 +1688,24 @@ function gitSyncResource(transport) {
1527
1688
  return tracked;
1528
1689
  }
1529
1690
  /**
1691
+ * Whether a remote is configured, through the settings or the environment, the direction the
1692
+ * instance syncs in, which is `read-only` until an admin sets it, and the branch it tracks, all
1693
+ * from one read. The remote's URL is visible to admins only and absent when the environment sets
1694
+ * it, so `configured` is read from its own setting. Refused like `branch` when the caller may not
1695
+ * read the branch, and on a server without the remote-sync module.
1696
+ */
1697
+ function remote(properties) {
1698
+ const tracked = branch(properties);
1699
+ const configured = properties["remote-sync-enabled"];
1700
+ const syncType = properties["remote-sync-type"];
1701
+ if (configured === void 0 || syncType === void 0) throw new ConfigError(REMOTE_SYNC_STATE_ABSENT_MESSAGE);
1702
+ return {
1703
+ configured,
1704
+ sync_type: syncType,
1705
+ branch: tracked
1706
+ };
1707
+ }
1708
+ /**
1530
1709
  * The branch git-sync tracks, refused when none is configured, the server has no remote sync, or
1531
1710
  * the caller may not read it.
1532
1711
  */
@@ -1564,6 +1743,7 @@ function gitSyncResource(transport) {
1564
1743
  syncedCollections: refuse("syncedCollections", syncedCollections),
1565
1744
  remoteUrl,
1566
1745
  branch: refuseAfterReading("branch", RemoteSyncBranchProperty, branch),
1746
+ remote: refuseAfterReading("remote", RemoteSyncStateProperty, remote),
1567
1747
  trackedBranch: refuseAfterReading("trackedBranch", RemoteSyncBranchProperty, trackedBranch),
1568
1748
  waitForTask: explain("waitForTask", waitForTask)
1569
1749
  };
@@ -3872,11 +4052,13 @@ var client_exports = /* @__PURE__ */ __exportAll({ createClient: () => createCli
3872
4052
  function createClient(config, options) {
3873
4053
  const transport = createTransport(config, options);
3874
4054
  return {
4055
+ apiKey: apiKeyResource(transport),
3875
4056
  card: cardResource(transport),
3876
4057
  collection: collectionResource(transport),
3877
4058
  contentTranslation: contentTranslationResource(transport),
3878
4059
  dashboard: dashboardResource(transport),
3879
4060
  dataAction: dataActionResource(transport),
4061
+ dataApp: dataAppResource(transport),
3880
4062
  database: databaseResource(transport),
3881
4063
  dataset: datasetResource(transport),
3882
4064
  dependency: dependencyResource(transport),
@@ -8,13 +8,13 @@ var collection_default = defineCommandGroup({
8
8
  purpose: "collection ref forms and the transforms namespace"
9
9
  }],
10
10
  subCommands: {
11
- list: () => import("./list-CUj04tg3.mjs").then((mod) => mod.default),
12
- get: () => import("./get-CqlNUyFY.mjs").then((mod) => mod.default),
13
- items: () => import("./items-BxvhoxYm.mjs").then((mod) => mod.default),
14
- tree: () => import("./tree-Td6rgyOa.mjs").then((mod) => mod.default),
15
- create: () => import("./create-Cdt8u1wF.mjs").then((mod) => mod.default),
16
- update: () => import("./update-CHB4kvz-.mjs").then((mod) => mod.default),
17
- archive: () => import("./archive-DocyUIME.mjs").then((mod) => mod.default)
11
+ list: () => import("./list-CFaJA317.mjs").then((mod) => mod.default),
12
+ get: () => import("./get-Cc4-e-Q_.mjs").then((mod) => mod.default),
13
+ items: () => import("./items-CLl2QgS8.mjs").then((mod) => mod.default),
14
+ tree: () => import("./tree-C4Igf6xs.mjs").then((mod) => mod.default),
15
+ create: () => import("./create-DO4ic4Kx.mjs").then((mod) => mod.default),
16
+ update: () => import("./update-CciLWH_s.mjs").then((mod) => mod.default),
17
+ archive: () => import("./archive-N3lp1o-k.mjs").then((mod) => mod.default)
18
18
  }
19
19
  });
20
20
  //#endregion
@@ -1,4 +1,4 @@
1
- import { a as CollectionCompact, l as CollectionItemCompact } from "./collection-B2wRXyTF.mjs";
1
+ import { a as CollectionCompact, l as CollectionItemCompact } from "./collection-DNmFKALA.mjs";
2
2
  //#region src/output/views/collection.ts
3
3
  const collectionView = {
4
4
  compactPick: CollectionCompact,
@@ -80,6 +80,7 @@ const CollectionCompact = Collection.pick({
80
80
  location: true,
81
81
  parent_id: true,
82
82
  type: true,
83
+ namespace: true,
83
84
  authority_level: true,
84
85
  is_personal: true,
85
86
  is_remote_synced: true
@@ -1,4 +1,4 @@
1
- import { W as HttpError, yt as ConfigError } from "./cli.mjs";
1
+ import { St as ConfigError, W as HttpError } from "./cli.mjs";
2
2
  //#region src/commands/transform/collection-namespace.ts
3
3
  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.";
4
4
  function enrichTransformCollectionError(error) {
@@ -4,8 +4,8 @@ var content_translation_default = defineCommandGroup({
4
4
  name: "content-translation",
5
5
  description: "Download or replace the content translation dictionary",
6
6
  subCommands: {
7
- download: () => import("./download-CokVpeK6.mjs").then((mod) => mod.default),
8
- upload: () => import("./upload-CfYmBv51.mjs").then((mod) => mod.default)
7
+ download: () => import("./download-BFu9xYHX.mjs").then((mod) => mod.default),
8
+ upload: () => import("./upload-CoK5LnyA.mjs").then((mod) => mod.default)
9
9
  }
10
10
  });
11
11
  //#endregion
@@ -1,9 +1,9 @@
1
1
  import { c as renderSummary, ct as outputFlags, lt as profileFlag, rt as connectionFlags } from "./cli.mjs";
2
- import { t as defineMetabaseCommand } from "./runtime-Ckns6TKK.mjs";
3
- import { t as parseId } from "./parse-id-Cv5eM7sg.mjs";
4
- import { r as DashboardCopy } from "./dashboard-Phz3XpRM.mjs";
5
- import { t as dashboardCopyView } from "./dashboard-XSTr9QCr.mjs";
6
- import { n as parseCopyFlags, t as copyFlags } from "./copy-flags-ByB2MicL.mjs";
2
+ import { t as parseId } from "./parse-id-5BZGQ9Vd.mjs";
3
+ import { t as defineMetabaseCommand } from "./runtime-Y4VFWmmr.mjs";
4
+ import { r as DashboardCopy } from "./dashboard-Chjy5GKR.mjs";
5
+ import { t as dashboardCopyView } from "./dashboard-D5E3fMKh.mjs";
6
+ import { n as parseCopyFlags, t as copyFlags } from "./copy-flags-CTM91pxH.mjs";
7
7
  //#region src/commands/dashboard/copy.ts
8
8
  var copy_default = defineMetabaseCommand({
9
9
  meta: {
@@ -1,8 +1,8 @@
1
1
  import { c as renderSummary, ct as outputFlags, lt as profileFlag, rt as connectionFlags } from "./cli.mjs";
2
- import { t as defineMetabaseCommand } from "./runtime-Ckns6TKK.mjs";
3
- import { t as parseId } from "./parse-id-Cv5eM7sg.mjs";
2
+ import { t as parseId } from "./parse-id-5BZGQ9Vd.mjs";
3
+ import { t as defineMetabaseCommand } from "./runtime-Y4VFWmmr.mjs";
4
4
  import { t as Document } from "./document-UMG6me2P.mjs";
5
- import { n as parseCopyFlags, t as copyFlags } from "./copy-flags-ByB2MicL.mjs";
5
+ import { n as parseCopyFlags, t as copyFlags } from "./copy-flags-CTM91pxH.mjs";
6
6
  import { t as documentView } from "./document-DVIu3Vj4.mjs";
7
7
  //#region src/commands/document/copy.ts
8
8
  var copy_default = defineMetabaseCommand({
@@ -1,5 +1,5 @@
1
- import { $ as parseOptionalInteger } from "./runtime-Ckns6TKK.mjs";
2
- import { t as parseOptionalText } from "./parse-text-CUCSWOeR.mjs";
1
+ import { pt as parseOptionalInteger } from "./cli.mjs";
2
+ import { t as parseOptionalText } from "./parse-text-FgX60vIg.mjs";
3
3
  //#region src/commands/copy-flags.ts
4
4
  const copyFlags = {
5
5
  name: {
@@ -1,9 +1,9 @@
1
1
  import { c as renderSummary, ct as outputFlags, lt as profileFlag, rt as connectionFlags } from "./cli.mjs";
2
- import { t as defineMetabaseCommand } from "./runtime-Ckns6TKK.mjs";
3
- import { t as readBody } from "./body-BkkQkGJg.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-Y4VFWmmr.mjs";
3
+ import { t as readBody } from "./body-M5qsJoub.mjs";
4
4
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
5
5
  import { r as MeasureCreateInput, t as Measure } from "./measure-CtfjqJFP.mjs";
6
- import { o as preflightMbql5Query, r as MEASURE_DEFINITION_LABELS, s as skipValidateFlag } from "./validate-query-CYUvRvVM.mjs";
6
+ import { o as preflightMbql5Query, r as MEASURE_DEFINITION_LABELS, s as skipValidateFlag } from "./validate-query-YtH3d5BP.mjs";
7
7
  import { t as measureView } from "./measure-4P0bOlZ3.mjs";
8
8
  //#region src/commands/measure/create.ts
9
9
  var create_default = defineMetabaseCommand({
@@ -1,7 +1,7 @@
1
1
  import { c as renderSummary, ct as outputFlags, lt as profileFlag, rt as connectionFlags } from "./cli.mjs";
2
- import { t as defineMetabaseCommand } from "./runtime-Ckns6TKK.mjs";
3
- import { t as Library } from "./library-BKSFtIV9.mjs";
4
- import { t as libraryView } from "./library-DuIrR8LS.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-Y4VFWmmr.mjs";
3
+ import { t as Library } from "./library-DKIqzyUk.mjs";
4
+ import { t as libraryView } from "./library-wUiD2jbw.mjs";
5
5
  //#region src/commands/library/create.ts
6
6
  var create_default = defineMetabaseCommand({
7
7
  meta: {
@@ -1,6 +1,6 @@
1
1
  import { c as renderSummary, ct as outputFlags, lt as profileFlag, rt as connectionFlags } from "./cli.mjs";
2
- import { t as defineMetabaseCommand } from "./runtime-Ckns6TKK.mjs";
3
- import { t as readBody } from "./body-BkkQkGJg.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-Y4VFWmmr.mjs";
3
+ import { t as readBody } from "./body-M5qsJoub.mjs";
4
4
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
5
5
  import { r as TransformTestCreateInput, t as TransformTest } from "./transform-test-Bexa_K89.mjs";
6
6
  import { n as transformTestView } from "./transform-test-C49ZTK7M.mjs";
@@ -1,10 +1,10 @@
1
1
  import { c as renderSummary, ct as outputFlags, lt as profileFlag, rt as connectionFlags } from "./cli.mjs";
2
- import { t as defineMetabaseCommand } from "./runtime-Ckns6TKK.mjs";
3
- import { t as readBody } from "./body-BkkQkGJg.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-Y4VFWmmr.mjs";
3
+ import { t as readBody } from "./body-M5qsJoub.mjs";
4
4
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
5
- import { a as DashboardCreateInput, t as Dashboard } from "./dashboard-Phz3XpRM.mjs";
6
- import { n as dashboardView } from "./dashboard-XSTr9QCr.mjs";
7
- import { n as wrapChainedDashboardWriteError, t as preflightDashcardCardReferences } from "./preflight-CiTgqNUy.mjs";
5
+ import { a as DashboardCreateInput, t as Dashboard } from "./dashboard-Chjy5GKR.mjs";
6
+ import { n as dashboardView } from "./dashboard-D5E3fMKh.mjs";
7
+ import { n as wrapChainedDashboardWriteError, t as preflightDashcardCardReferences } from "./preflight-ChTKhB8Y.mjs";
8
8
  //#region src/commands/dashboard/create.ts
9
9
  var create_default = defineMetabaseCommand({
10
10
  meta: {
@@ -1,6 +1,6 @@
1
1
  import { c as renderSummary, ct as outputFlags, lt as profileFlag, rt as connectionFlags } from "./cli.mjs";
2
- import { t as defineMetabaseCommand } from "./runtime-Ckns6TKK.mjs";
3
- import { t as readBody } from "./body-BkkQkGJg.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-Y4VFWmmr.mjs";
3
+ import { t as readBody } from "./body-M5qsJoub.mjs";
4
4
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
5
5
  import { r as SnippetCreateInput, t as Snippet } from "./snippet-CyKAgIZl.mjs";
6
6
  import { t as snippetView } from "./snippet-oJLaYW9V.mjs";
@@ -1,6 +1,6 @@
1
1
  import { c as renderSummary, ct as outputFlags, lt as profileFlag, rt as connectionFlags } from "./cli.mjs";
2
- import { t as defineMetabaseCommand } from "./runtime-Ckns6TKK.mjs";
3
- import { t as readBody } from "./body-BkkQkGJg.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-Y4VFWmmr.mjs";
3
+ import { t as readBody } from "./body-M5qsJoub.mjs";
4
4
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
5
5
  import { r as TransformTagCreateInput, t as TransformTag } from "./transform-tag-CcElGp3C.mjs";
6
6
  import { t as transformTagView } from "./transform-tag-Dmb4u3-Q.mjs";
@@ -1,9 +1,9 @@
1
1
  import { c as renderSummary, ct as outputFlags, lt as profileFlag, rt as connectionFlags } from "./cli.mjs";
2
- import { t as defineMetabaseCommand } from "./runtime-Ckns6TKK.mjs";
3
- import { t as readBody } from "./body-BkkQkGJg.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-Y4VFWmmr.mjs";
3
+ import { t as readBody } from "./body-M5qsJoub.mjs";
4
4
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
5
5
  import { r as SegmentCreateInput, t as Segment } from "./segment-OsrbUDzw.mjs";
6
- import { i as SEGMENT_DEFINITION_LABELS, o as preflightMbql5Query, s as skipValidateFlag } from "./validate-query-CYUvRvVM.mjs";
6
+ import { i as SEGMENT_DEFINITION_LABELS, o as preflightMbql5Query, s as skipValidateFlag } from "./validate-query-YtH3d5BP.mjs";
7
7
  import { t as segmentView } from "./segment-C_gl5ag6.mjs";
8
8
  //#region src/commands/segment/create.ts
9
9
  var create_default = defineMetabaseCommand({