@metabase/cli 0.5.11 → 0.5.13

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 (252) hide show
  1. package/dist/{add-collection-B6_b7Z0h.mjs → add-collection-Bdnq6dfy.mjs} +1 -1
  2. package/dist/{alert-CaOd6Sye.mjs → alert-o2pHsbTh.mjs} +6 -6
  3. package/dist/{alerts-B4XDd_EG.mjs → alerts-DS_uGWg-.mjs} +2 -2
  4. package/dist/{api-key-BEyGzjhr.mjs → api-key-CfniVimJ.mjs} +3 -3
  5. package/dist/{append-D4yRU3nt.mjs → append-DQCGJbx4.mjs} +2 -2
  6. package/dist/{archive-pMSD0Cou.mjs → archive-8xnKLGce.mjs} +1 -1
  7. package/dist/{archive-DoZ8HBxg.mjs → archive-BGHhmYW5.mjs} +1 -1
  8. package/dist/{archive-B4KdkRj1.mjs → archive-BbXaLXFf.mjs} +1 -1
  9. package/dist/{archive-B0wPQhnH.mjs → archive-BhNU06xM.mjs} +1 -1
  10. package/dist/{archive-jtNM7hhn.mjs → archive-CNrp0Xu5.mjs} +1 -1
  11. package/dist/{archive-CSt4KxhB.mjs → archive-CXsX26eE.mjs} +1 -1
  12. package/dist/{archive-BTsVi373.mjs → archive-CynNRHMt.mjs} +1 -1
  13. package/dist/{archive-BTpXIs7W.mjs → archive-DPETdLEn.mjs} +1 -1
  14. package/dist/{archive-DJT5Du9l.mjs → archive-DdnsMLHq.mjs} +1 -1
  15. package/dist/{archive-BkCFPiWS.mjs → archive-Dku9fvdF.mjs} +1 -1
  16. package/dist/{archive-BxN7gbKa.mjs → archive-DoDF-x8G.mjs} +1 -1
  17. package/dist/{archive-btZAAdMv.mjs → archive-DpT24NkM.mjs} +1 -1
  18. package/dist/{auth-BtrN725t.mjs → auth-BQxyR2Ky.mjs} +4 -4
  19. package/dist/{branches-D4Lwau0h.mjs → branches-wa3G1T3B.mjs} +1 -1
  20. package/dist/{breaking-DH9tr0ug.mjs → breaking-Cem7y-9U.mjs} +1 -1
  21. package/dist/{broken-DiT2Ww1u.mjs → broken-BkGLSqSO.mjs} +1 -1
  22. package/dist/{bulk-discard-values-D7jD6GjV.mjs → bulk-discard-values-BHryu-rZ.mjs} +1 -1
  23. package/dist/{bulk-edit-DsetARSf.mjs → bulk-edit-BPFITnRN.mjs} +1 -1
  24. package/dist/{bulk-rescan-values-DSUVmXSh.mjs → bulk-rescan-values-DaeLpv7G.mjs} +1 -1
  25. package/dist/{bulk-sync-schema-n5Qe7UnU.mjs → bulk-sync-schema-C_HNWZpZ.mjs} +1 -1
  26. package/dist/{cancel-oFccoFiE.mjs → cancel-DiMIFIU9.mjs} +1 -1
  27. package/dist/{cancel-task-kpJZ4G2I.mjs → cancel-task-0N0qb4_g.mjs} +1 -1
  28. package/dist/{card-Bnkg5z4G.mjs → card-CWDFIZAt.mjs} +8 -8
  29. package/dist/{cards-BCU56A8s.mjs → cards-Cu4jpvyn.mjs} +1 -1
  30. package/dist/{ci-DfbKRU5x.mjs → ci-CpsS8nSN.mjs} +1 -1
  31. package/dist/cli.mjs +41 -40
  32. package/dist/{client-BvjSFQ8P.mjs → client-C8qLIQKB.mjs} +17 -4
  33. package/dist/{collection-CXYDfvsX.mjs → collection-DF-kPs9K.mjs} +7 -7
  34. package/dist/{content-translation-CsRsYA5Q.mjs → content-translation-CfV9Ro5C.mjs} +2 -2
  35. package/dist/{copy-CR8wSNpp.mjs → copy-C8TUUSSh.mjs} +1 -1
  36. package/dist/{copy-7kyXaQVn.mjs → copy-x3tre7ha.mjs} +1 -1
  37. package/dist/{create-BIgILG1P.mjs → create-0nBN5L6G.mjs} +2 -2
  38. package/dist/{create-DHJ75ufg.mjs → create-6kfGBJ0u.mjs} +1 -1
  39. package/dist/{create-BhHZBIc4.mjs → create-B8qSd0YU.mjs} +1 -1
  40. package/dist/{create-DaspEGaN.mjs → create-BEAJgGgc.mjs} +1 -1
  41. package/dist/{create-gD1BKkjH.mjs → create-BaIQ7zio.mjs} +1 -1
  42. package/dist/{create-D6FGsFnV.mjs → create-BsbmZHOQ.mjs} +1 -1
  43. package/dist/{create-BZ9x1_Dm.mjs → create-CCxsc9eK.mjs} +1 -1
  44. package/dist/{create-BewmenPL.mjs → create-CLxy2CyM.mjs} +1 -1
  45. package/dist/{create-Cx47jTQ9.mjs → create-Cj75IfaX.mjs} +1 -1
  46. package/dist/{create-C1CwTQjk.mjs → create-CtMZUIOK.mjs} +1 -1
  47. package/dist/{create-BAxf_Wqm.mjs → create-DG1mYdU7.mjs} +1 -1
  48. package/dist/{create-DVYRfN1s.mjs → create-DIRUAgUx.mjs} +1 -1
  49. package/dist/{create-BZ_tLyVg.mjs → create-DS1ayvrI.mjs} +1 -1
  50. package/dist/{create-Ddt8jkGe.mjs → create-DcFQ2i9q.mjs} +1 -1
  51. package/dist/{create-BMe3ZtQi.mjs → create-DloJkv0t.mjs} +1 -1
  52. package/dist/{create-DG9NIdWy.mjs → create-axKIP4Lc.mjs} +1 -1
  53. package/dist/{create-branch-CSqKpG-X.mjs → create-branch-CQHIvpmr.mjs} +1 -1
  54. package/dist/{create-CxZe8ghH2.mjs → create-cXQtGG2g2.mjs} +1 -1
  55. package/dist/{create-BrFgRgjY.mjs → create-lsrPI45N.mjs} +1 -1
  56. package/dist/{create-DYf1fYsW.mjs → create-zuE-3HGv.mjs} +1 -1
  57. package/dist/{csv-CEQ5iHiR.mjs → csv-zQ5stw4T.mjs} +2 -2
  58. package/dist/{current-task-Cwn-A02w.mjs → current-task-CYWaDg5P.mjs} +1 -1
  59. package/dist/{dashboard-BQMAwgQv.mjs → dashboard-CDNnQXAe.mjs} +11 -11
  60. package/dist/{data-action-BOyBN50C.mjs → data-action-DX_TuywQ.mjs} +7 -7
  61. package/dist/{data-app-CTxlD3Sa.mjs → data-app-xTQWmzq-.mjs} +8 -7
  62. package/dist/{db-DjrLLqDW.mjs → db-DBT-XMcs.mjs} +7 -7
  63. package/dist/{delete-B3zIJHbp.mjs → delete-BHHw-4oq.mjs} +1 -1
  64. package/dist/{delete-BecCd6_I.mjs → delete-CSlir440.mjs} +1 -1
  65. package/dist/{delete-Crc2lguC.mjs → delete-DAE74TK7.mjs} +1 -1
  66. package/dist/{delete-DvHo5Dau.mjs → delete-DiBfDyWE.mjs} +1 -1
  67. package/dist/{delete-CYPidCqb.mjs → delete-Du3GTGrS.mjs} +1 -1
  68. package/dist/{delete-B8wPN6Mi.mjs → delete-Du7t8vTU.mjs} +1 -1
  69. package/dist/{delete-auLsOacz.mjs → delete-DwbfrWC4.mjs} +1 -1
  70. package/dist/{delete-rBkGuteA.mjs → delete-FOycMM5r.mjs} +1 -1
  71. package/dist/{delete-CA8N6OSh.mjs → delete-lSNap63e.mjs} +1 -1
  72. package/dist/{delete-table-CWo5Azjp.mjs → delete-table-Bn3lb-gW.mjs} +1 -1
  73. package/dist/{dependencies-B5rZybIE.mjs → dependencies-CHQOCCXo.mjs} +1 -1
  74. package/dist/{dependency-BCvsKkvF.mjs → dependency-BQuI3QS1.mjs} +5 -5
  75. package/dist/{dependents-DTokHohZ.mjs → dependents-COag5f7O.mjs} +1 -1
  76. package/dist/{dirty-DJzqGN8R.mjs → dirty-DEsgt8QN.mjs} +1 -1
  77. package/dist/{discard-values-Z0Aaau-z.mjs → discard-values-CkGnpZB3.mjs} +1 -1
  78. package/dist/{document-DaQNhYhh.mjs → document-BY74mMhh.mjs} +6 -6
  79. package/dist/{download-CUNQkaWC.mjs → download-DMxWx04z.mjs} +1 -1
  80. package/dist/{eid-CA9nIsPk.mjs → eid-Dk7g1tz0.mjs} +1 -1
  81. package/dist/embedding-sdk-DdFCPKMa.mjs +32 -0
  82. package/dist/{entry-flags-CsbT7fHf.mjs → entry-flags-C63qXMR4.mjs} +1 -1
  83. package/dist/{events-CtMOLbVW.mjs → events-DtN-OE9S.mjs} +1 -1
  84. package/dist/{execute-BFKWsB4U.mjs → execute-CEbgEWvO.mjs} +1 -1
  85. package/dist/{export-DsbEWoLo.mjs → export-CikXGxZP.mjs} +2 -2
  86. package/dist/{export-preflight-TRzdLXI_.mjs → export-preflight-2RkCrd6x.mjs} +1 -1
  87. package/dist/{field-BnSUwI5l.mjs → field-SgHCyoPp.mjs} +7 -7
  88. package/dist/{fields-Cf-yzUqO.mjs → fields-30XWd-y0.mjs} +1 -1
  89. package/dist/{fks-BL7aqSz3.mjs → fks-DbCuuP96.mjs} +1 -1
  90. package/dist/{generate-actions-D8iT2Vx_.mjs → generate-actions-PYrvMiLN.mjs} +1 -1
  91. package/dist/{generate-queries-Cmo2IFAd.mjs → generate-queries-DlGaK7DB.mjs} +1 -1
  92. package/dist/{generate-schema-Hubesglp.mjs → generate-schema-DqXCs2iX.mjs} +1 -1
  93. package/dist/{get-10d6M3WX.mjs → get-B5IXr2LA.mjs} +1 -1
  94. package/dist/{get-B_1SDjVE.mjs → get-BPg5lW4z.mjs} +1 -1
  95. package/dist/{get-xMWLwAHj.mjs → get-BY2dpwUf.mjs} +1 -1
  96. package/dist/{get-B0AwjMgu.mjs → get-BiJUoTTz.mjs} +1 -1
  97. package/dist/{get-BsLJ6NN4.mjs → get-C3VvI9wW.mjs} +1 -1
  98. package/dist/{get-CNwSqJ34.mjs → get-C4V3bjdM.mjs} +1 -1
  99. package/dist/{get-O81o3nAv.mjs → get-CDy5pcag.mjs} +1 -1
  100. package/dist/{get-CORcDYjE.mjs → get-CWt5CGo1.mjs} +1 -1
  101. package/dist/{get-DAsNzVI7.mjs → get-ChuHytCB.mjs} +1 -1
  102. package/dist/{get-DUvEGkvw.mjs → get-D2QYpaHG.mjs} +1 -1
  103. package/dist/{get-BRfgDBX1.mjs → get-DBnnbbJU.mjs} +1 -1
  104. package/dist/{get-45g97RD0.mjs → get-DNtdPWc7.mjs} +1 -1
  105. package/dist/{get-DIYDn-tm.mjs → get-DdtPtNWP.mjs} +1 -1
  106. package/dist/{get-B7I96VF7.mjs → get-DffZWqVG.mjs} +1 -1
  107. package/dist/{get-C4TSvV8x.mjs → get-DgVbjtv7.mjs} +2 -2
  108. package/dist/{get-CkiiPNoS.mjs → get-DhzTEa4L.mjs} +1 -1
  109. package/dist/{get-CHmUuPoY.mjs → get-DpJr1uPp.mjs} +1 -1
  110. package/dist/{get-C1d4sGGj.mjs → get-Dv5FwVWt.mjs} +1 -1
  111. package/dist/{get-BPrKH_VC.mjs → get-FQUF2V2a.mjs} +1 -1
  112. package/dist/{get-CQx83tws.mjs → get-c5S1A1KR.mjs} +1 -1
  113. package/dist/{get-Cvl3jefC.mjs → get-f6LqvU79.mjs} +1 -1
  114. package/dist/{get-run-uEQGMjmi.mjs → get-run-BdEVSnOR.mjs} +1 -1
  115. package/dist/{get-B6uK0K5I.mjs → get-titd1P4z.mjs} +1 -1
  116. package/dist/git-sync-BY0dqrLE.mjs +29 -0
  117. package/dist/{glossary-Cb37yiw3.mjs → glossary-C2p6xe3-.mjs} +4 -4
  118. package/dist/{graph-BKuSPVVZ.mjs → graph-Dp0sxg6m.mjs} +1 -1
  119. package/dist/{has-remote-changes-BUCHJZqQ.mjs → has-remote-changes-CMMXEsXa.mjs} +1 -1
  120. package/dist/{import-B-ekaPHP.mjs → import-DZmfmoBw.mjs} +2 -2
  121. package/dist/{is-dirty-BGcu7D5c.mjs → is-dirty-DgrWNWdj.mjs} +1 -1
  122. package/dist/{items-vDPpkZUK.mjs → items-BvyV49xR.mjs} +1 -1
  123. package/dist/{library-n-3eu6WW.mjs → library-CMC67i7O.mjs} +4 -4
  124. package/dist/{list-Ci8Y9AdJ.mjs → list-9tV8el7U.mjs} +1 -1
  125. package/dist/{list-UJ3nPrrD.mjs → list-AcjI7IXu.mjs} +1 -1
  126. package/dist/{list-DMdRy6Cx.mjs → list-B1NRLXpA.mjs} +1 -1
  127. package/dist/{list-Qy-5LvDC.mjs → list-BV-qhqJB.mjs} +1 -1
  128. package/dist/{list-jfxTNTSm.mjs → list-BcTm5zD7.mjs} +1 -1
  129. package/dist/{list-PvFvPn0p.mjs → list-Bh0hf0aa.mjs} +1 -1
  130. package/dist/{list-BoOFUEYh.mjs → list-BjIwIaNZ.mjs} +1 -1
  131. package/dist/{list-J5FxC72O.mjs → list-Bkmb6qmP.mjs} +1 -1
  132. package/dist/{list-D5yxCOsl.mjs → list-Bt2qs02U.mjs} +1 -1
  133. package/dist/{list-CoM1L7ZK.mjs → list-C0bBB4ay.mjs} +1 -1
  134. package/dist/{list-mkXqkfck.mjs → list-CSK4Ee6N.mjs} +1 -1
  135. package/dist/{list-nd6-vgOU.mjs → list-CUQa6nrb.mjs} +1 -1
  136. package/dist/{list-BtENqZIq.mjs → list-CcFPkvbL.mjs} +1 -1
  137. package/dist/{list-BSQPBkVu.mjs → list-ClMrjYPe.mjs} +1 -1
  138. package/dist/{list-BiXIUvBg.mjs → list-D2I4stFV.mjs} +3 -3
  139. package/dist/{list-C8a6WeMs.mjs → list-D7iymMGH.mjs} +1 -1
  140. package/dist/{list-D-zjbHfR.mjs → list-DK0LD_us.mjs} +1 -1
  141. package/dist/{list-e8h2S-3y.mjs → list-DPNOIQbS.mjs} +1 -1
  142. package/dist/{list-BIOCkt1A.mjs → list-DgEws5kk.mjs} +1 -1
  143. package/dist/{list-CADlvzKj.mjs → list-DyKjezNg.mjs} +1 -1
  144. package/dist/{list-JWWHtIMj.mjs → list-XRvOaGPo.mjs} +1 -1
  145. package/dist/{list-DJAlAVuS.mjs → list-pMhI_i46.mjs} +2 -2
  146. package/dist/{list-DU2dKd2T.mjs → list-rPk7T17I.mjs} +1 -1
  147. package/dist/{login-DcneUyj9.mjs → login-DGfZBNuL.mjs} +3 -3
  148. package/dist/{logout-wA2-ebUy.mjs → logout-bG_ZJkyr.mjs} +1 -1
  149. package/dist/{measure-BICKq4Ud.mjs → measure-Do19ivCX.mjs} +5 -5
  150. package/dist/{nano-id-qEgGloYk.mjs → nano-id-D_xVCG80.mjs} +1 -1
  151. package/dist/{parameter-values-d_zi14dw.mjs → parameter-values-gcfN0NVF.mjs} +1 -1
  152. package/dist/{path-Cn1xCJb_.mjs → path-bfe3wQV4.mjs} +2 -2
  153. package/dist/{poll-BGWVry_U.mjs → poll-DsKAeWSG.mjs} +1 -1
  154. package/dist/{publish-C89wo-cw.mjs → publish-uDuRQoQ5.mjs} +1 -1
  155. package/dist/{query-L29u5CEu.mjs → query-BBblM0de.mjs} +1 -1
  156. package/dist/{query-ja91JN10.mjs → query-yzdVy8IY.mjs} +1 -1
  157. package/dist/registry-flag-C6CMpxSu.mjs +96 -0
  158. package/dist/{remapping-B8aqlkSk.mjs → remapping-BYNOF4xJ.mjs} +1 -1
  159. package/dist/{remove-collection-LbKh838S.mjs → remove-collection-C_nLjEG6.mjs} +1 -1
  160. package/dist/{render-C96TStlT.mjs → render-DPahQNYA.mjs} +1 -1
  161. package/dist/{replace-B9Cyb9q2.mjs → replace-Dx_IgvBM.mjs} +2 -2
  162. package/dist/{requirement-check-XJCPOfWw.mjs → requirement-check-juL6K2it.mjs} +1 -1
  163. package/dist/{rescan-values-Ca4FVr2Q.mjs → rescan-values-B_5r6t7K.mjs} +1 -1
  164. package/dist/{rescan-values-uxZ22Z0c.mjs → rescan-values-C1ryy_S5.mjs} +1 -1
  165. package/dist/{run-CtGMVO3W.mjs → run-B19FOhID.mjs} +2 -2
  166. package/dist/{run-DskhDpUQ.mjs → run-By9Q7-P6.mjs} +2 -2
  167. package/dist/{run-BQvsDYzx.mjs → run-DM99qbxN.mjs} +1 -1
  168. package/dist/{run-B4zwhVuB.mjs → run-Dh4TQtVl.mjs} +186 -166
  169. package/dist/{runs-C0s-CfQE.mjs → runs-BlnHJEpy.mjs} +1 -1
  170. package/dist/{runtime-B8leBJ1G.mjs → runtime-DMb47Kan.mjs} +2 -2
  171. package/dist/{scaffold-BdrbFYhc.mjs → scaffold-xys21-_c.mjs} +5 -4
  172. package/dist/{schema-8tGj8t5W.mjs → schema-CItr2vjk.mjs} +1 -1
  173. package/dist/{schema-tables-DZRvTRLf.mjs → schema-tables-CxgXdUtj.mjs} +1 -1
  174. package/dist/{schemas-yiE-cMoI.mjs → schemas-BLhPyQRt.mjs} +1 -1
  175. package/dist/sdk-version-C_rurdw5.mjs +61 -0
  176. package/dist/{search-Cdd2cDNA.mjs → search-D9RL_Ao0.mjs} +1 -1
  177. package/dist/{search-1-5z-NQO.mjs → search-DW9byR1X.mjs} +1 -1
  178. package/dist/{segment-DcLtYcgq.mjs → segment-DYN7sJO_.mjs} +5 -5
  179. package/dist/semver-T6ZMOJpf.mjs +8 -0
  180. package/dist/{send-I5nk7MpB.mjs → send-OMqLoun6.mjs} +1 -1
  181. package/dist/{set-vigeEoz9.mjs → set-DjYrobzO.mjs} +1 -1
  182. package/dist/{set-active-DrgsPOnr.mjs → set-active-RCOa06in.mjs} +1 -1
  183. package/dist/{set-data-actions-C-TNEnTJ.mjs → set-data-actions-CcZHF3ot.mjs} +1 -1
  184. package/dist/{set-enabled-Co0jIMn0.mjs → set-enabled-IrDIT7Uc.mjs} +1 -1
  185. package/dist/{set-sensitivity-DCOxoynX.mjs → set-sensitivity-ZJb78vYE.mjs} +1 -1
  186. package/dist/{setting-DqHsywkM.mjs → setting-DjFeW_Bd.mjs} +3 -3
  187. package/dist/{setup-2EJT5aTc.mjs → setup-71MuR246.mjs} +1 -1
  188. package/dist/{skills-n1IpS3pA.mjs → skills-6NMamShR.mjs} +3 -3
  189. package/dist/{skills-xJsQWYll.mjs → skills-yg-WfvpW.mjs} +1 -1
  190. package/dist/{snippet-CDLpUxOv.mjs → snippet-CnTWEAgc.mjs} +5 -5
  191. package/dist/{stash-C7VstG6F.mjs → stash-CREL1rEx.mjs} +2 -2
  192. package/dist/{status-DZh35kON.mjs → status-C7_WDust.mjs} +1 -1
  193. package/dist/{status-BclmIIUO.mjs → status-CIK0pGS1.mjs} +2 -2
  194. package/dist/{subscription-DaEZk3Am.mjs → subscription-Cssyopsy.mjs} +5 -5
  195. package/dist/{subscriptions-DcOtdHen.mjs → subscriptions-DW-rgYA2.mjs} +2 -2
  196. package/dist/{summary-yoqD8lKK.mjs → summary-BgYasLRg.mjs} +1 -1
  197. package/dist/{sync-schema-C7mvw4JY.mjs → sync-schema-Bw5lh64d.mjs} +1 -1
  198. package/dist/{sync-schema-QcmZUpbc.mjs → sync-schema-CERYSKAq.mjs} +2 -2
  199. package/dist/table-Be5Vl7JT.mjs +26 -0
  200. package/dist/{timeline-xSDfBYEA.mjs → timeline-C1EGYIWm.mjs} +7 -7
  201. package/dist/{timeline-event-B3bnxvSU.mjs → timeline-event-CNResXsb.mjs} +5 -5
  202. package/dist/transform-Cev-LAhH.mjs +28 -0
  203. package/dist/transform-job-BnI6Ivqh.mjs +22 -0
  204. package/dist/{transform-tag-Dh_xkEHJ.mjs → transform-tag-Co2WuSBJ.mjs} +4 -4
  205. package/dist/{transform-test-DO4J2dGZ.mjs → transform-test-DJTET6yX.mjs} +6 -6
  206. package/dist/{transforms-BhycY9Dy.mjs → transforms-D4WJPdxv.mjs} +1 -1
  207. package/dist/{transport-B4wfgpqB.mjs → transport-C23PjC9C.mjs} +2 -2
  208. package/dist/{tree-C0Jqbvr7.mjs → tree-BOzjsQT9.mjs} +1 -1
  209. package/dist/{unpublish-0erfDFu-.mjs → unpublish-jVyBAFYQ.mjs} +1 -1
  210. package/dist/{unreferenced-CHJuU079.mjs → unreferenced-CxZBGK-v.mjs} +1 -1
  211. package/dist/{update-DAl3J-6n.mjs → update-B0fK8ufL.mjs} +1 -1
  212. package/dist/{update-CZkKz3PD.mjs → update-B2zy3jnR.mjs} +1 -1
  213. package/dist/{update-BHz5uxTe.mjs → update-B82aqBJ5.mjs} +1 -1
  214. package/dist/{update-BYfjNqm0.mjs → update-B9xWx1RV.mjs} +1 -1
  215. package/dist/{update-CR1zzVES.mjs → update-BP4Jzan1.mjs} +1 -1
  216. package/dist/{update-C7_YQxNg.mjs → update-BPSI4D36.mjs} +1 -1
  217. package/dist/{update-Dh1X_b9e2.mjs → update-BvbuAD8_2.mjs} +1 -1
  218. package/dist/{update-Bzbst6T5.mjs → update-C86ovTcd.mjs} +1 -1
  219. package/dist/{update-DqN3ikiq.mjs → update-CnOJU0E9.mjs} +2 -2
  220. package/dist/{update-CjKfz61h.mjs → update-DS7FwMdV.mjs} +1 -1
  221. package/dist/{update-DnGjFqwP.mjs → update-DTkJqBmp.mjs} +1 -1
  222. package/dist/{update-Is5yboYO.mjs → update-DTwwlTus.mjs} +1 -1
  223. package/dist/{update-C8Ec4fCx.mjs → update-Datagi0N.mjs} +1 -1
  224. package/dist/{update-BGCKUTtV.mjs → update-DhyyfH1b.mjs} +1 -1
  225. package/dist/{update-BPaXLS7J.mjs → update-DkzE2qOr.mjs} +1 -1
  226. package/dist/{update-BAl0aZsq.mjs → update-DmVDc-cc.mjs} +1 -1
  227. package/dist/{update-CBcKfzne.mjs → update-Dmfimhno.mjs} +1 -1
  228. package/dist/{update-ujP9d00H.mjs → update-SQtRtpRg.mjs} +1 -1
  229. package/dist/{update-dashcard-B8s5t0jG.mjs → update-dashcard-dhjE7CQz.mjs} +1 -1
  230. package/dist/{update-DSlAN-t5.mjs → update-nzPxtrWU.mjs} +1 -1
  231. package/dist/{upgrade-Dc43HJun.mjs → upgrade-Ckdl0SYl.mjs} +7 -87
  232. package/dist/{upload-xXTXZQsW.mjs → upload-CTj7eVZk.mjs} +1 -1
  233. package/dist/{upload-DIiiLP23.mjs → upload-DGl7iSh3.mjs} +3 -3
  234. package/dist/{upload-DWwwFANs.mjs → upload-UYuGBsus.mjs} +2 -2
  235. package/dist/{uuid-BNZQ6Dyb.mjs → uuid-CPLh7mDU.mjs} +1 -1
  236. package/dist/{values-thjqrbtC.mjs → values-Bplkmfue.mjs} +1 -1
  237. package/dist/{verify-CqJPc-DW.mjs → verify-Cg1TFaPs.mjs} +2 -2
  238. package/dist/{verify-DNhhRy4T.mjs → verify-CzlfG_Or.mjs} +1 -1
  239. package/dist/{verify-CLObQxZk.mjs → verify-pLZ7b7JP.mjs} +1 -1
  240. package/dist/{wait-DxeRAukN.mjs → wait-D9yIDRpl.mjs} +3 -3
  241. package/dist/{wait-flags-P5MIy4fp.mjs → wait-flags-C4CH6rTJ.mjs} +1 -1
  242. package/package.json +1 -1
  243. package/skill-data/data-app/SKILL.md +9 -7
  244. package/skill-data/data-app/template/README.md +8 -4
  245. package/skill-data/data-app/template/src/metabase.actions.ts +0 -2
  246. package/skill-data/data-app/template/src/metabase.queries.ts +0 -2
  247. package/skill-data/data-app-actions/SKILL.md +3 -3
  248. package/skill-data/data-app-data/SKILL.md +19 -9
  249. package/dist/git-sync-CswhluG_.mjs +0 -29
  250. package/dist/table-CSv2nzuP.mjs +0 -26
  251. package/dist/transform-D5ugnljj.mjs +0 -28
  252. package/dist/transform-job-C3uL7HVt.mjs +0 -22
@@ -1,6 +1,6 @@
1
1
  import { ct as connectionFlags, f as renderSummary, mt as profileFlag, pt as outputFlags } from "./cli.mjs";
2
2
  import { t as parseId } from "./parse-id-DKKwr4c8.mjs";
3
- import { t as defineMetabaseCommand } from "./runtime-B8leBJ1G.mjs";
3
+ import { t as defineMetabaseCommand } from "./runtime-DMb47Kan.mjs";
4
4
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
5
5
  import { i as TimelineEvent, s as TimelineEventUpdateInput } from "./timeline-DcsCXNUt.mjs";
6
6
  import { t as timelineEventView } from "./timeline-BgWz8DYK.mjs";
@@ -1,6 +1,6 @@
1
1
  import { ct as connectionFlags, f as renderSummary, mt as profileFlag, pt as outputFlags } from "./cli.mjs";
2
2
  import { t as parseId } from "./parse-id-DKKwr4c8.mjs";
3
- import { t as defineMetabaseCommand } from "./runtime-B8leBJ1G.mjs";
3
+ import { t as defineMetabaseCommand } from "./runtime-DMb47Kan.mjs";
4
4
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
5
5
  import { a as PulseUpdateInput, t as Pulse } from "./pulse-B2AmIWsO.mjs";
6
6
  import { t as pulseView } from "./pulse-BWs9tqVG.mjs";
@@ -1,6 +1,6 @@
1
1
  import { ct as connectionFlags, f as renderSummary, mt as profileFlag, pt as outputFlags } from "./cli.mjs";
2
2
  import { t as parseId } from "./parse-id-DKKwr4c8.mjs";
3
- import { t as defineMetabaseCommand } from "./runtime-B8leBJ1G.mjs";
3
+ import { t as defineMetabaseCommand } from "./runtime-DMb47Kan.mjs";
4
4
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
5
5
  import { c as TimelineUpdateInput, t as Timeline } from "./timeline-DcsCXNUt.mjs";
6
6
  import { n as timelineView } from "./timeline-BgWz8DYK.mjs";
@@ -1,6 +1,6 @@
1
1
  import { ct as connectionFlags, f as renderSummary, mt as profileFlag, pt as outputFlags } from "./cli.mjs";
2
2
  import { t as parseId } from "./parse-id-DKKwr4c8.mjs";
3
- import { t as defineMetabaseCommand } from "./runtime-B8leBJ1G.mjs";
3
+ import { t as defineMetabaseCommand } from "./runtime-DMb47Kan.mjs";
4
4
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
5
5
  import { i as TransformTagUpdateInput, t as TransformTag } from "./transform-tag-CcElGp3C.mjs";
6
6
  import { t as transformTagView } from "./transform-tag-Dmb4u3-Q.mjs";
@@ -1,6 +1,6 @@
1
1
  import { ct as connectionFlags, f as renderSummary, mt as profileFlag, pt as outputFlags } from "./cli.mjs";
2
2
  import { t as parseId } from "./parse-id-DKKwr4c8.mjs";
3
- import { t as defineMetabaseCommand } from "./runtime-B8leBJ1G.mjs";
3
+ import { t as defineMetabaseCommand } from "./runtime-DMb47Kan.mjs";
4
4
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
5
5
  import { d as DashboardUpdateInput, o as DashboardDetail } from "./dashboard-Cwsf-e9T.mjs";
6
6
  import { n as dashboardView } from "./dashboard-Bx2sYijR.mjs";
@@ -1,6 +1,6 @@
1
1
  import { ct as connectionFlags, f as renderSummary, mt as profileFlag, pt as outputFlags } from "./cli.mjs";
2
2
  import { t as parseId } from "./parse-id-DKKwr4c8.mjs";
3
- import { t as defineMetabaseCommand } from "./runtime-B8leBJ1G.mjs";
3
+ import { t as defineMetabaseCommand } from "./runtime-DMb47Kan.mjs";
4
4
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
5
5
  import { i as MeasureUpdateInput, t as Measure } from "./measure-BMWrX1ca.mjs";
6
6
  import { MEASURE_DEFINITION, skipValidateFlag } from "./validate-query-37KgmRbb.mjs";
@@ -1,6 +1,6 @@
1
1
  import { ct as connectionFlags, f as renderSummary, mt as profileFlag, pt as outputFlags } from "./cli.mjs";
2
2
  import { t as parseId } from "./parse-id-DKKwr4c8.mjs";
3
- import { t as defineMetabaseCommand } from "./runtime-B8leBJ1G.mjs";
3
+ import { t as defineMetabaseCommand } from "./runtime-DMb47Kan.mjs";
4
4
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
5
5
  import { o as TransformJobUpdateInput, t as TransformJob } from "./transform-job-CDIb3B9o.mjs";
6
6
  import { t as transformJobView } from "./transform-job-D18XRLBK.mjs";
@@ -1,6 +1,6 @@
1
1
  import { ct as connectionFlags, f as renderSummary, mt as profileFlag, pt as outputFlags } from "./cli.mjs";
2
2
  import { t as parseId } from "./parse-id-DKKwr4c8.mjs";
3
- import { t as defineMetabaseCommand } from "./runtime-B8leBJ1G.mjs";
3
+ import { t as defineMetabaseCommand } from "./runtime-DMb47Kan.mjs";
4
4
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
5
5
  import { o as FieldDetail, u as FieldUpdateInput, v as hasDataSensitivity } from "./field-C2qOViFZ.mjs";
6
6
  import { c as fieldView, l as fieldWithDataSensitivityView } from "./field-CT4r6b92.mjs";
@@ -1,9 +1,9 @@
1
1
  import { ct as connectionFlags, f as renderSummary, mt as profileFlag, pt as outputFlags } from "./cli.mjs";
2
2
  import { t as parseId } from "./parse-id-DKKwr4c8.mjs";
3
- import { t as defineMetabaseCommand } from "./runtime-B8leBJ1G.mjs";
3
+ import { t as defineMetabaseCommand } from "./runtime-DMb47Kan.mjs";
4
4
  import { i as GlossaryUpdateInput, t as Glossary } from "./glossary-iPIWrEbP.mjs";
5
5
  import { t as glossaryView } from "./glossary-CQRW3Z4d.mjs";
6
- import { n as readEntryInput, t as entryFlags } from "./entry-flags-CsbT7fHf.mjs";
6
+ import { n as readEntryInput, t as entryFlags } from "./entry-flags-C63qXMR4.mjs";
7
7
  //#region src/commands/glossary/update.ts
8
8
  var update_default = defineMetabaseCommand({
9
9
  meta: {
@@ -1,7 +1,7 @@
1
1
  import { f as ResponseShapeError, l as MetabaseError, n as isBlank, o as ConfigError } from "./predicates-0C0TsWcJ.mjs";
2
2
  import { X as chainRequestFailure, ct as connectionFlags, f as renderSummary, mt as profileFlag, pt as outputFlags, vt as parseInteger } from "./cli.mjs";
3
3
  import { t as parseId } from "./parse-id-DKKwr4c8.mjs";
4
- import { k as givenValue, t as defineMetabaseCommand } from "./runtime-B8leBJ1G.mjs";
4
+ import { k as givenValue, t as defineMetabaseCommand } from "./runtime-DMb47Kan.mjs";
5
5
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
6
6
  import { g as CollectionUpdateInput, r as Collection } from "./collection-Cz2qLX2m.mjs";
7
7
  import { t as parseEnumFlag } from "./parse-enum-CEXPuN9H.mjs";
@@ -1,6 +1,6 @@
1
1
  import { ct as connectionFlags, f as renderSummary, mt as profileFlag, pt as outputFlags } from "./cli.mjs";
2
2
  import { t as parseId } from "./parse-id-DKKwr4c8.mjs";
3
- import { t as defineMetabaseCommand } from "./runtime-B8leBJ1G.mjs";
3
+ import { t as defineMetabaseCommand } from "./runtime-DMb47Kan.mjs";
4
4
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
5
5
  import { f as TransformUpdateInput, t as Transform } from "./transform-B62craFM.mjs";
6
6
  import { TRANSFORM_SOURCE_QUERY, skipValidateFlag } from "./validate-query-37KgmRbb.mjs";
@@ -1,6 +1,6 @@
1
1
  import { ct as connectionFlags, f as renderSummary, mt as profileFlag, pt as outputFlags } from "./cli.mjs";
2
2
  import { t as parseId } from "./parse-id-DKKwr4c8.mjs";
3
- import { t as defineMetabaseCommand } from "./runtime-B8leBJ1G.mjs";
3
+ import { t as defineMetabaseCommand } from "./runtime-DMb47Kan.mjs";
4
4
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
5
5
  import { c as DataActionUpdateInput, r as DataAction } from "./data-action-DAw6WRTH.mjs";
6
6
  import { DATA_ACTION_DATASET_QUERY, skipValidateFlag } from "./validate-query-37KgmRbb.mjs";
@@ -1,6 +1,6 @@
1
1
  import { ct as connectionFlags, f as renderSummary, mt as profileFlag, pt as outputFlags } from "./cli.mjs";
2
2
  import { t as parseId } from "./parse-id-DKKwr4c8.mjs";
3
- import { t as defineMetabaseCommand } from "./runtime-B8leBJ1G.mjs";
3
+ import { t as defineMetabaseCommand } from "./runtime-DMb47Kan.mjs";
4
4
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
5
5
  import { i as DocumentUpdateInput, t as Document } from "./document-BHOQq2T_.mjs";
6
6
  import { t as documentView } from "./document-lS1XZEF3.mjs";
@@ -1,6 +1,6 @@
1
1
  import { ct as connectionFlags, f as renderSummary, mt as profileFlag, pt as outputFlags } from "./cli.mjs";
2
2
  import { t as parseId } from "./parse-id-DKKwr4c8.mjs";
3
- import { t as defineMetabaseCommand } from "./runtime-B8leBJ1G.mjs";
3
+ import { t as defineMetabaseCommand } from "./runtime-DMb47Kan.mjs";
4
4
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
5
5
  import { i as CardDetail, l as CardUpdateInput } from "./card-BJRZ5D5Q.mjs";
6
6
  import { n as cardView } from "./card-VipF12MJ.mjs";
@@ -1,6 +1,6 @@
1
1
  import { ct as connectionFlags, f as renderSummary, mt as profileFlag, pt as outputFlags } from "./cli.mjs";
2
2
  import { t as parseId } from "./parse-id-DKKwr4c8.mjs";
3
- import { t as defineMetabaseCommand } from "./runtime-B8leBJ1G.mjs";
3
+ import { t as defineMetabaseCommand } from "./runtime-DMb47Kan.mjs";
4
4
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
5
5
  import { i as SegmentUpdateInput, t as Segment } from "./segment-Cf-DrdjE.mjs";
6
6
  import { SEGMENT_DEFINITION, skipValidateFlag } from "./validate-query-37KgmRbb.mjs";
@@ -2,7 +2,7 @@ import { ct as connectionFlags, f as renderSummary, mt as profileFlag, pt as out
2
2
  import { l as NotificationUpdateInput, r as Notification } from "./notification-B5yMuPmo.mjs";
3
3
  import { t as notificationView } from "./notification-Ec1Jo0Oc.mjs";
4
4
  import { t as parseId } from "./parse-id-DKKwr4c8.mjs";
5
- import { t as defineMetabaseCommand } from "./runtime-B8leBJ1G.mjs";
5
+ import { t as defineMetabaseCommand } from "./runtime-DMb47Kan.mjs";
6
6
  import { t as describeAlert } from "./summary-BytbDz6e.mjs";
7
7
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
8
8
  //#region src/commands/alert/update.ts
@@ -1,6 +1,6 @@
1
1
  import { ct as connectionFlags, f as renderSummary, mt as profileFlag, pt as outputFlags } from "./cli.mjs";
2
2
  import { t as parseId } from "./parse-id-DKKwr4c8.mjs";
3
- import { t as defineMetabaseCommand } from "./runtime-B8leBJ1G.mjs";
3
+ import { t as defineMetabaseCommand } from "./runtime-DMb47Kan.mjs";
4
4
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
5
5
  import { C as TableUpdateInput, a as Table } from "./table-hgrX1i-R.mjs";
6
6
  import { u as tableView } from "./table-CcUdjp8F.mjs";
@@ -1,6 +1,6 @@
1
1
  import { ct as connectionFlags, f as renderSummary, mt as profileFlag, pt as outputFlags } from "./cli.mjs";
2
2
  import { t as parseId } from "./parse-id-DKKwr4c8.mjs";
3
- import { t as defineMetabaseCommand } from "./runtime-B8leBJ1G.mjs";
3
+ import { t as defineMetabaseCommand } from "./runtime-DMb47Kan.mjs";
4
4
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
5
5
  import { a as TransformTestUpdateInput, t as TransformTest } from "./transform-test-D6QIyu8C.mjs";
6
6
  import { n as transformTestView } from "./transform-test-D-e9oi6r.mjs";
@@ -1,6 +1,6 @@
1
1
  import { ct as connectionFlags, f as renderSummary, mt as profileFlag, pt as outputFlags } from "./cli.mjs";
2
2
  import { t as parseId } from "./parse-id-DKKwr4c8.mjs";
3
- import { t as defineMetabaseCommand } from "./runtime-B8leBJ1G.mjs";
3
+ import { t as defineMetabaseCommand } from "./runtime-DMb47Kan.mjs";
4
4
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
5
5
  import { h as DashcardPatchInput, m as DashcardDetail } from "./dashboard-Cwsf-e9T.mjs";
6
6
  import { r as dashcardView } from "./dashboard-Bx2sYijR.mjs";
@@ -1,6 +1,6 @@
1
1
  import { ct as connectionFlags, f as renderSummary, mt as profileFlag, pt as outputFlags } from "./cli.mjs";
2
2
  import { t as parseId } from "./parse-id-DKKwr4c8.mjs";
3
- import { t as defineMetabaseCommand } from "./runtime-B8leBJ1G.mjs";
3
+ import { t as defineMetabaseCommand } from "./runtime-DMb47Kan.mjs";
4
4
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
5
5
  import { i as SnippetUpdateInput, t as Snippet } from "./snippet-CyKAgIZl.mjs";
6
6
  import { t as snippetView } from "./snippet-oJLaYW9V.mjs";
@@ -1,71 +1,11 @@
1
- import { g as errorMessage, i as AbortError, m as UnknownError, p as TimeoutError, u as NetworkError } from "./predicates-0C0TsWcJ.mjs";
2
- import { Y as HttpError, et as parseJson, g as writeText, l as renderItem, ot as name, pt as outputFlags, st as version, t as interruptSignal, x as promptConfirm } from "./cli.mjs";
3
- import { D as USER_AGENT, G as throwIfAborted, W as combineAborts, t as defineMetabaseCommand } from "./runtime-B8leBJ1G.mjs";
1
+ import { i as AbortError, m as UnknownError } from "./predicates-0C0TsWcJ.mjs";
2
+ import { g as writeText, l as renderItem, ot as name, pt as outputFlags, st as version, x as promptConfirm } from "./cli.mjs";
3
+ import { t as defineMetabaseCommand } from "./runtime-DMb47Kan.mjs";
4
4
  import { s as streamProcess } from "./process-ByKCTa6A.mjs";
5
+ import { n as compareSemver, t as SemverString } from "./semver-T6ZMOJpf.mjs";
6
+ import { n as registryFlag, r as fetchNpmDistTags, t as distTagsOptions } from "./registry-flag-C6CMpxSu.mjs";
5
7
  import { z } from "zod";
6
8
  import { realpathSync } from "node:fs";
7
- import { compare, valid } from "semver";
8
- //#region src/core/npm-registry.ts
9
- const DEFAULT_REGISTRY = "https://registry.npmjs.org";
10
- const DEFAULT_TIMEOUT_MS = 15e3;
11
- const ERROR_BODY_BYTE_CAP = 8 * 1024;
12
- const NpmDistTags = z.object({ latest: z.string() }).loose();
13
- async function fetchNpmDistTags(packageName, opts) {
14
- const registry = opts.registry ?? DEFAULT_REGISTRY;
15
- const timeoutMs = opts.timeoutMs ?? DEFAULT_TIMEOUT_MS;
16
- const fetchImpl = opts.fetchImpl ?? globalThis.fetch.bind(globalThis);
17
- const url = buildDistTagsUrl(registry, packageName);
18
- const timeoutSignal = AbortSignal.timeout(timeoutMs);
19
- const combined = combineAborts(timeoutSignal, opts.signal);
20
- let response;
21
- try {
22
- response = await fetchImpl(url, {
23
- method: "GET",
24
- headers: {
25
- accept: "application/json",
26
- "user-agent": opts.userAgent
27
- },
28
- signal: combined
29
- });
30
- } catch (error) {
31
- throwIfAborted(opts.signal);
32
- if (timeoutSignal.aborted) throw new TimeoutError(`npm registry request timed out after ${timeoutMs}ms`, {
33
- kind: "http",
34
- method: "GET",
35
- url,
36
- timeoutMs
37
- });
38
- const cause = errorMessage(error);
39
- throw new NetworkError(`could not reach npm registry: ${cause}`, {
40
- method: "GET",
41
- url,
42
- cause
43
- });
44
- }
45
- if (!response.ok) {
46
- const rawBody = await readErrorBody(response);
47
- throw new HttpError({
48
- status: response.status,
49
- statusText: response.statusText,
50
- method: "GET",
51
- url,
52
- responseHeaders: response.headers,
53
- rawBody
54
- });
55
- }
56
- return parseJson(await response.text(), NpmDistTags, { source: url });
57
- }
58
- function buildDistTagsUrl(registry, packageName) {
59
- return `${registry.replace(/\/+$/, "")}/-/package/${packageName.replace("/", "%2F")}/dist-tags`;
60
- }
61
- async function readErrorBody(response) {
62
- try {
63
- return (await response.text()).slice(0, ERROR_BODY_BYTE_CAP);
64
- } catch (error) {
65
- return `[body read failed: ${errorMessage(error)}]`;
66
- }
67
- }
68
- //#endregion
69
9
  //#region src/core/install-method.ts
70
10
  const InstallMethodKindSchema = z.enum([
71
11
  "npm-global",
@@ -231,10 +171,6 @@ function safeRealpath(path) {
231
171
  throw error;
232
172
  }
233
173
  }
234
- const SemverString = z.string().refine((value) => valid(value) !== null, { message: "expected semver MAJOR.MINOR.PATCH[-prerelease][+build]" });
235
- function compareSemver(a, b) {
236
- return compare(a, b);
237
- }
238
174
  //#endregion
239
175
  //#region src/commands/upgrade.ts
240
176
  const UpgradeCommandSchema = z.object({
@@ -305,10 +241,7 @@ var upgrade_default = defineMetabaseCommand({
305
241
  type: "string",
306
242
  description: "Target version (default: latest published)"
307
243
  },
308
- registry: {
309
- type: "string",
310
- description: "npm registry URL (default: https://registry.npmjs.org)"
311
- }
244
+ ...registryFlag
312
245
  },
313
246
  outputSchema: UpgradeStatus,
314
247
  examples: [
@@ -322,8 +255,7 @@ var upgrade_default = defineMetabaseCommand({
322
255
  const packageName = name;
323
256
  const currentVersion = SemverString.parse(version);
324
257
  const install = detectInstallMethod(process.argv[1]);
325
- const distTags = await fetchNpmDistTags(packageName, distTagsOptions(args.registry));
326
- const latestVersion = SemverString.parse(distTags.latest);
258
+ const latestVersion = (await fetchNpmDistTags(packageName, distTagsOptions(args.registry))).latest;
327
259
  const targetVersion = resolveTargetVersion(args.to, latestVersion);
328
260
  const updateAvailable = compareSemver(currentVersion, latestVersion) < 0;
329
261
  const changeRequired = compareSemver(currentVersion, targetVersion) !== 0;
@@ -362,18 +294,6 @@ var upgrade_default = defineMetabaseCommand({
362
294
  });
363
295
  }
364
296
  });
365
- function distTagsOptions(registryArg) {
366
- const registry = registryArg?.trim();
367
- if (registry === void 0 || registry === "") return {
368
- userAgent: USER_AGENT,
369
- signal: interruptSignal
370
- };
371
- return {
372
- userAgent: USER_AGENT,
373
- registry,
374
- signal: interruptSignal
375
- };
376
- }
377
297
  function resolveTargetVersion(toArg, latestVersion) {
378
298
  const trimmed = toArg?.trim();
379
299
  if (trimmed === void 0 || trimmed === "") return latestVersion;
@@ -1,5 +1,5 @@
1
1
  import { o as ConfigError, v as isFileNotFoundError } from "./predicates-0C0TsWcJ.mjs";
2
- import { O as fileNotFoundError } from "./runtime-B8leBJ1G.mjs";
2
+ import { O as fileNotFoundError } from "./runtime-DMb47Kan.mjs";
3
3
  import { readFile } from "node:fs/promises";
4
4
  import { basename } from "node:path";
5
5
  //#region src/runtime/upload.ts
@@ -4,9 +4,9 @@ var upload_default = defineCommandGroup({
4
4
  name: "upload",
5
5
  description: "Upload CSV files into Metabase",
6
6
  subCommands: {
7
- csv: () => import("./csv-CEQ5iHiR.mjs").then((m) => m.default),
8
- append: () => import("./append-D4yRU3nt.mjs").then((m) => m.default),
9
- replace: () => import("./replace-B9Cyb9q2.mjs").then((m) => m.default)
7
+ csv: () => import("./csv-zQ5stw4T.mjs").then((m) => m.default),
8
+ append: () => import("./append-DQCGJbx4.mjs").then((m) => m.default),
9
+ replace: () => import("./replace-Dx_IgvBM.mjs").then((m) => m.default)
10
10
  }
11
11
  });
12
12
  //#endregion
@@ -1,7 +1,7 @@
1
1
  import { ct as connectionFlags, f as renderSummary, mt as profileFlag, pt as outputFlags } from "./cli.mjs";
2
- import { t as defineMetabaseCommand } from "./runtime-B8leBJ1G.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-DMb47Kan.mjs";
3
3
  import { t as ContentTranslationUploadResult } from "./content-translation-BrHOrmj9.mjs";
4
- import { n as requireUploadFilePath, t as readCsvFile } from "./upload-xXTXZQsW.mjs";
4
+ import { n as requireUploadFilePath, t as readCsvFile } from "./upload-CTj7eVZk.mjs";
5
5
  //#region src/output/views/content-translation.ts
6
6
  const contentTranslationUploadView = {
7
7
  compactPick: ContentTranslationUploadResult,
@@ -1,6 +1,6 @@
1
1
  import { o as ConfigError } from "./predicates-0C0TsWcJ.mjs";
2
2
  import { g as writeText, h as writeJson, pt as outputFlags, vt as parseInteger } from "./cli.mjs";
3
- import { t as defineMetabaseCommand } from "./runtime-B8leBJ1G.mjs";
3
+ import { t as defineMetabaseCommand } from "./runtime-DMb47Kan.mjs";
4
4
  import { z } from "zod";
5
5
  import { randomUUID } from "node:crypto";
6
6
  //#region src/commands/uuid.ts
@@ -1,6 +1,6 @@
1
1
  import { ct as connectionFlags, f as renderSummary, mt as profileFlag, pt as outputFlags, v as formatScalar } from "./cli.mjs";
2
2
  import { t as parseId } from "./parse-id-DKKwr4c8.mjs";
3
- import { t as defineMetabaseCommand } from "./runtime-B8leBJ1G.mjs";
3
+ import { t as defineMetabaseCommand } from "./runtime-DMb47Kan.mjs";
4
4
  import { d as FieldValues } from "./field-C2qOViFZ.mjs";
5
5
  import { s as fieldValuesView } from "./field-CT4r6b92.mjs";
6
6
  //#region src/commands/field/values.ts
@@ -1,7 +1,7 @@
1
- import { n as createClient } from "./client-BvjSFQ8P.mjs";
1
+ import { n as createClient } from "./client-C8qLIQKB.mjs";
2
2
  import { g as errorMessage, l as MetabaseError, p as TimeoutError, u as NetworkError } from "./predicates-0C0TsWcJ.mjs";
3
3
  import { Y as HttpError } from "./cli.mjs";
4
- import { D as USER_AGENT, V as probeServer } from "./runtime-B8leBJ1G.mjs";
4
+ import { D as USER_AGENT, V as probeServer } from "./runtime-DMb47Kan.mjs";
5
5
  //#region src/core/auth/verify.ts
6
6
  const VERIFY_TIMEOUT_MS = 15e3;
7
7
  async function verifyAndProbe(url, credential, options = {}) {
@@ -1,6 +1,6 @@
1
1
  import { ct as connectionFlags, f as renderSummary, mt as profileFlag, pt as outputFlags } from "./cli.mjs";
2
2
  import { t as parseId } from "./parse-id-DKKwr4c8.mjs";
3
- import { t as defineMetabaseCommand } from "./runtime-B8leBJ1G.mjs";
3
+ import { t as defineMetabaseCommand } from "./runtime-DMb47Kan.mjs";
4
4
  import { t as ModerationReview } from "./moderation-review-Bf9bPNQI.mjs";
5
5
  import { i as moderationReviewView, n as verifyFlags, r as describeReview, t as reviewInput } from "./verify-flags-DEVMB9w0.mjs";
6
6
  //#region src/commands/dashboard/verify.ts
@@ -1,6 +1,6 @@
1
1
  import { ct as connectionFlags, f as renderSummary, mt as profileFlag, pt as outputFlags } from "./cli.mjs";
2
2
  import { t as parseId } from "./parse-id-DKKwr4c8.mjs";
3
- import { t as defineMetabaseCommand } from "./runtime-B8leBJ1G.mjs";
3
+ import { t as defineMetabaseCommand } from "./runtime-DMb47Kan.mjs";
4
4
  import { t as ModerationReview } from "./moderation-review-Bf9bPNQI.mjs";
5
5
  import { i as moderationReviewView, n as verifyFlags, r as describeReview, t as reviewInput } from "./verify-flags-DEVMB9w0.mjs";
6
6
  //#region src/commands/card/verify.ts
@@ -1,7 +1,7 @@
1
1
  import { ct as connectionFlags, f as renderSummary, mt as profileFlag, pt as outputFlags } from "./cli.mjs";
2
- import { t as defineMetabaseCommand } from "./runtime-B8leBJ1G.mjs";
3
- import { n as DEFAULT_TIMEOUT_MS, t as DEFAULT_INTERVAL_MS } from "./poll-BGWVry_U.mjs";
4
- import { r as parseWaitSchedule } from "./wait-flags-P5MIy4fp.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-DMb47Kan.mjs";
3
+ import { n as DEFAULT_TIMEOUT_MS, t as DEFAULT_INTERVAL_MS } from "./poll-DsKAeWSG.mjs";
4
+ import { r as parseWaitSchedule } from "./wait-flags-C4CH6rTJ.mjs";
5
5
  import { u as syncTaskView } from "./git-sync-D1aKczo6.mjs";
6
6
  import { a as throwIfFailedTask, i as taskPollOptions, n as formatSyncTask, r as syncTaskIdleView, t as SyncTaskOrIdle } from "./sync-task-Gf86CU9l.mjs";
7
7
  //#region src/commands/git-sync/wait.ts
@@ -1,6 +1,6 @@
1
1
  import { t as interruptSignal } from "./cli.mjs";
2
2
  import { t as parseId } from "./parse-id-DKKwr4c8.mjs";
3
- import { n as DEFAULT_TIMEOUT_MS, t as DEFAULT_INTERVAL_MS } from "./poll-BGWVry_U.mjs";
3
+ import { n as DEFAULT_TIMEOUT_MS, t as DEFAULT_INTERVAL_MS } from "./poll-DsKAeWSG.mjs";
4
4
  //#region src/commands/wait-flags.ts
5
5
  const waitScheduleFlags = {
6
6
  timeout: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@metabase/cli",
3
- "version": "0.5.11",
3
+ "version": "0.5.13",
4
4
  "description": "Metabase CLI",
5
5
  "license": "AGPL-3.0",
6
6
  "repository": {
@@ -46,22 +46,24 @@ From the repository root, `scaffold <slug>` copies the Vite + React + TypeScript
46
46
  `data_app.yaml` is the app's manifest. Edit `name` (the title Metabase shows: the one the user gave the app, or a short one that says what it's for), `description` and `allowed_hosts` (a YAML list of origins, `data-app-ui`, _External APIs_) in it directly; never change `entity_id`, `slug`, `path`, `version` or `collection`. Then install the SDK, then the rest:
47
47
 
48
48
  ```bash
49
- cd data_apps/sales-overview
50
- npm install @metabase/embedding-sdk-react@<major>-beta # <major>: 66 for a version tag v1.66.x (`mb auth status --profile <name> --json | jq -r .version.tag`)
51
- npm install && npm run typecheck
49
+ cd data_apps/sales-overview &&
50
+ TAG=$(mb data-app sdk-version --profile <name> --registry "$(npm config get registry)" --format text) &&
51
+ npm install "@metabase/embedding-sdk-react@$TAG" &&
52
+ npm install && npm run typecheck
52
53
  ```
53
54
 
54
- Install the SDK before the first `npm install`, which would otherwise install `latest` for the template's `*`. The starter renders "Hello, data app".
55
+ `mb data-app sdk-version` reads the instance's version and, from the registry `npm install` uses, answers the SDK tag published for that Metabase major: its stable tag, or while it has none, its beta, then its alpha. Installing the tag writes the version it points at into `package.json` (`^0.65.1`), in place of the template's `*` or any version an existing project named. Run the block as one command: it stops at the first failure, so a refused tag installs nothing, where a plain `npm install` would install `latest` for the template's `*`. Never install a tag you picked yourself. When `package.json` already points the SDK at a local build (`file:` or `link:`), run only `npm install && npm run typecheck`. `sdk-version` fails on a development build (`vUNKNOWN`, `vLOCAL_DEV`, a `-SNAPSHOT` tag), which no published SDK matches: ask the user which SDK build to install. On any other failure, stop and tell the user what it says. The starter renders "Hello, data app".
55
56
 
56
57
  The template is the bundle contract. Don't edit `package.json` by hand, and never rewrite `vite.config.ts`, `tsconfig.json` or `src/index.tsx`: `vite.config.ts` stays `export default dataAppConfig()` (its only option is `port`), and `src/index.tsx` default-exports the `DataAppFactory` — change it only to add a `providerProps` key. Metabase and the dev preview each wrap the app in a `<MetabaseProvider>`, so the app never renders one.
57
58
 
58
- **An existing project.** Before changing an app you didn't scaffold in this session, pass three checks:
59
+ **An existing project.** Before changing an app you didn't scaffold in this session, pass four checks:
59
60
 
60
61
  - `vite.config.ts` is `export default dataAppConfig()` from `@metabase/embedding-sdk-react/data-app-dev/config`, with no local `config/` directory.
61
62
  - `src/index.tsx` default-exports a `DataAppFactory` that takes no arguments and returns `{ component, providerProps? }`.
62
63
  - `npm ls react react-dom` exits 0 and reports 19.x. A 19.x it marks `invalid` fails. This check applies whatever the instance or SDK version; to skip it, ask the user first.
64
+ - `npm ls @metabase/embedding-sdk-react` exits 0 and reports a version on the same `0.<major>` line, with the same pre-release label (`-beta`, `-alpha` or none), as the `version` in `mb data-app sdk-version --profile <name> --registry "$(npm config get registry)" --json`: for `0.65.1`, any `0.65.x` with no label passes and `0.65.0-beta.1` fails. Skip the check when `package.json` points the SDK at a local build (`file:` or `link:`), or `sdk-version` fails on a development build; on any other `sdk-version` failure, stop and tell the user what it says.
63
65
 
64
- Fix a failed React check yourself, before any other change: upgrade `react`, `react-dom`, `@types/react` and `@types/react-dom` to 19 until `npm run typecheck` passes and the diagnostics feed is clean (_Dev preview_); then release (_Release_). If either other check fails, stop: tell the user the project differs from the template, and ask whether to scaffold a fresh project and port the code over, or go on at their own risk.
66
+ Fix a failed React or SDK check yourself, before any other change: for React, upgrade `react`, `react-dom`, `@types/react` and `@types/react-dom` to 19; for the SDK, run the install block in _Scaffold and install_. Go on until `npm run typecheck` passes and the diagnostics feed is clean (_Dev preview_); then release (_Release_). If either of the first two checks fails, stop: tell the user the project differs from the template, and ask whether to scaffold a fresh project and port the code over, or go on at their own risk.
65
67
 
66
68
  ## Dev preview
67
69
 
@@ -146,7 +148,7 @@ A viewer needs one of their groups assigned to the app (otherwise "You don't hav
146
148
  | Works in the preview, a question or action fails in Metabase | `generate-queries` or `generate-actions` didn't run after the last change, or the files weren't committed with the bundle: _Release_. |
147
149
  | Blank app, `Bundle did not assign a function to __dataAppFactory__` | `src/index.tsx` must `export default` the factory and nothing else; otherwise the diagnostics feed has the real error. |
148
150
  | "Failed to fetch the user, the session might be invalid." | A bad key in `<repo>/.env.local`, or CORS (_Dev preview_). |
149
- | A bundle of several MB | `vite.config.ts` no longer uses `dataAppConfig()`, or the SDK isn't the `<major>-beta` tag. |
151
+ | A bundle of several MB | `vite.config.ts` doesn't use `dataAppConfig()`, or the SDK isn't the tag `mb data-app sdk-version` answers. |
150
152
  | "Invalid hook call" | A second React got bundled: nothing may add another `react` or `react-dom`. |
151
153
  | Drill-through popups don't open | The app renders its own `<MetabaseProvider>`: remove it. |
152
154
  | An upgraded SDK still behaves like the old one | Vite caches it: stop `npm run dev`, delete `node_modules/.vite`, start again. |
@@ -7,12 +7,16 @@ and the `mb` data-app skills.
7
7
  ## Install
8
8
 
9
9
  Install the SDK tag matching the Metabase instance first, then the rest.
10
- `<major>` is 66 for a version tag v1.66.x (`mb auth status --profile <name> --json | jq -r .version.tag`);
11
- `package.json` asks for any version, which would install `latest`.
10
+ `mb data-app sdk-version` answers that tag from the instance's version, and
11
+ installing it writes the version it points at into `package.json` (`^0.65.1`),
12
+ in place of the `*` the template ships with or any version set before. A plain
13
+ `npm install` would install `latest` for the `*`, so the commands stop when
14
+ `sdk-version` fails.
12
15
 
13
16
  ```bash
14
- npm install @metabase/embedding-sdk-react@<major>-beta
15
- npm install
17
+ TAG=$(mb data-app sdk-version --profile <name> --registry "$(npm config get registry)" --format text) &&
18
+ npm install "@metabase/embedding-sdk-react@$TAG" &&
19
+ npm install
16
20
  ```
17
21
 
18
22
  ## Commands
@@ -1,3 +1 @@
1
1
  import { defineAction } from "@metabase/embedding-sdk-react/data-app";
2
-
3
- import { schema } from "./metabase.schema";
@@ -1,3 +1 @@
1
1
  import { defineQuery } from "@metabase/embedding-sdk-react/data-app";
2
-
3
- import { schema } from "./metabase.schema";
@@ -12,16 +12,16 @@ A data app writes through **table actions**: an insert, update or delete of one
12
12
  ```ts
13
13
  import { defineAction } from "@metabase/embedding-sdk-react/data-app";
14
14
 
15
- import { schema } from "./metabase.schema";
15
+ import { orders } from "./metabase.schema";
16
16
 
17
17
  export const updateOrder = defineAction({
18
18
  entityId: "J2mXq8sLb0vT5nYcW4kRd",
19
19
  kind: "row/update",
20
- table: schema.tables.orders,
20
+ table: orders,
21
21
  });
22
22
  ```
23
23
 
24
- - `kind` is `row/create`, `row/update` or `row/delete`; `table` is a table of `schema` (`data-app-data`). The table needs exactly one primary key, and its database needs data actions turned on (_Data actions on the database_): settle both before writing the export. Show the user the table and kind and add it once they agree; a request that already names the write ("let me add a note") is that agreement.
24
+ - `kind` is `row/create`, `row/update` or `row/delete`; `table` is a table of `src/metabase.schema.ts`, imported by its name, or `schema.tables.<table>` when the file exports only `schema`. The table needs exactly one primary key, and its database needs data actions turned on (_Data actions on the database_): settle both before writing the export. Show the user the table and kind and add it once they agree; a request that already names the write ("let me add a note") is that agreement.
25
25
  - `entityId` comes from `mb nano-id`, never invented; keep it when editing the export. The export's name is the action's name in Metabase.
26
26
  - There are no query actions and no SQL: a write a table action can't do (a computed value, several rows, a row matched by another column) is out of reach for the app — say so. Never copy an action from a data actions collection.
27
27
  - To drop an action, delete its export.
@@ -7,7 +7,7 @@ requires: [dataApps]
7
7
 
8
8
  # Data in a data app
9
9
 
10
- Before changing an existing app, pass the checks in `data-app`, _An existing project_: the template's config and factory, and React 19.
10
+ Before changing an existing app, pass the checks in `data-app`, _An existing project_: the template's config and factory, React 19, and the SDK tag.
11
11
 
12
12
  A data app runs only the questions and actions it defines; its viewers can read nothing else. So every piece of data starts in its source:
13
13
 
@@ -32,10 +32,22 @@ When the app needs a table or metric the Library lacks, stop: name what's missin
32
32
  cd <repo> && mb data-app generate-schema <slug> --profile <name>
33
33
  ```
34
34
 
35
- From the repository root, this writes `data_apps/<slug>/src/metabase.schema.ts`: the Library's published tables with their fields, segments and measures, and the Library's metrics, each keyed by its camelCased name, with its numeric ID. It exports `schema` (`import { schema } from "./metabase.schema"`). Fetch it again after the user publishes a table or changes its metadata, then `npm run typecheck`, which catches code still using a renamed or removed field. Never edit the file.
35
+ From the repository root, this writes `data_apps/<slug>/src/metabase.schema.ts`: the Library's published tables with their fields, segments and measures, and the Library's metrics, each keyed by its camelCased name, with its numeric ID. Fetch it again after the user publishes a table or changes its metadata, then `npm run typecheck`, which catches code still using a renamed or removed table, metric or field. Never edit the file.
36
36
 
37
37
  The numeric IDs are that instance's, so the dev preview runs against it alone; a production build runs each question by its `entityId` instead, on every instance the app is imported to.
38
38
 
39
+ The file runs to thousands of lines. Every table, field, segment, measure and metric opens with a one-line `/* metadata: {...} */` comment holding its description, display name and types; the line after it names its kind. Find what a question needs in two steps:
40
+
41
+ 1. List every table, segment, measure and metric, with its line number, key and metadata, segments and measures under their table:
42
+
43
+ ```bash
44
+ grep -n -B2 -E 'type: "(table|segment|measure|metric)"' src/metabase.schema.ts
45
+ ```
46
+
47
+ Choose the definitions from this list. A table or metric listed as `export const <name> = {` is its own export: import the ones the app uses by that name (`import { orders, revenue } from "./metabase.schema"`), and reach a table's segments and measures as `orders.segments.<key>` and `orders.measures.<key>`. The bundle then holds only what the app imports, while `schema`, which the file also exports, holds every table and metric: never import it. A file whose tables and metrics are listed without `export const` (`orders: {`) exports only `schema`: there, write `schema.tables.<table>` and `schema.metrics.<key>` wherever the examples below import a table or metric by name.
48
+
49
+ 2. Read each table or metric the question uses from its line to the next line in the list: a table's fields, each with its metadata line, or a metric's dimensions.
50
+
39
51
  ## Questions
40
52
 
41
53
  `src/metabase.queries.ts` holds one export per question:
@@ -48,9 +60,7 @@ import {
48
60
  orderBy,
49
61
  } from "@metabase/embedding-sdk-react/data-app";
50
62
 
51
- import { schema } from "./metabase.schema";
52
-
53
- const orders = schema.tables.orders;
63
+ import { orders, reviews } from "./metabase.schema";
54
64
 
55
65
  export const revenueByMonth = defineQuery({
56
66
  entityId: "Vh3kq0wYc8TnS2aJm1LxR",
@@ -61,13 +71,13 @@ export const revenueByMonth = defineQuery({
61
71
 
62
72
  export const latestReviews = defineQuery({
63
73
  entityId: "pW9dE4uNq7Zb1fGhK3sTy",
64
- source: schema.tables.reviews,
65
- orderBys: [orderBy(schema.tables.reviews.fields.createdAt, "desc")],
74
+ source: reviews,
75
+ orderBys: [orderBy(reviews.fields.createdAt, "desc")],
66
76
  limit: 20,
67
77
  });
68
78
  ```
69
79
 
70
- - `source` is a table of `schema`; `aggregations`, `breakouts`, `filters`, `orderBys`, `limit` and `fields` (the columns to keep) take its fields, its segments and measures, and the metrics of `schema.metrics` as aggregations (`aggregations: [schema.metrics.revenue]`). A field that isn't the table's, or an operator its type doesn't take, fails to compile.
80
+ - `source` is a table of `src/metabase.schema.ts`; `aggregations`, `breakouts`, `filters`, `orderBys`, `limit` and `fields` (the columns to keep) take its fields, its segments and measures, and the file's metrics as aggregations (`aggregations: [revenue]`). A field that isn't the table's, or an operator its type doesn't take, fails to compile.
71
81
  - The export's name is the question's name in Metabase, as written (`customerList`).
72
82
  - Each `entityId` comes from `mb nano-id` (`mb nano-id --count <n>` for several), never invented or copied. Keep an export's `entityId` when you edit it: a new one replaces the question with another.
73
83
 
@@ -162,7 +172,7 @@ const { query } = useMetabaseQueryObject(orderRows, {
162
172
  });
163
173
  ```
164
174
 
165
- - A column is `{ type: "column", name }` with a result column's `name`, or a field of `schema`; a wrong name, or an operator its type doesn't take, fails to compile. A date breakout takes a `unit` (`day`, `week`, `month`, `quarter`, `year`).
175
+ - A column is `{ type: "column", name }` with a result column's `name`, or a table's field (`orders.fields.total`); a wrong name, or an operator its type doesn't take, fails to compile. A date breakout takes a `unit` (`day`, `week`, `month`, `quarter`, `year`).
166
176
 
167
177
  | Column type | Operators |
168
178
  | ----------- | --------------------------------------------------------------------------------------------------------------------- |