@metabase/cli 0.4.0 → 0.4.1-alpha.release-65-integration-branch.5cbe297

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 (290) hide show
  1. package/dist/{add-collection-CC6KSwjX.mjs → add-collection-hv29px39.mjs} +3 -3
  2. package/dist/{alert-Dt6La9tK.mjs → alert-DnTCjYIu.mjs} +7 -7
  3. package/dist/{alerts-ClKnJqgB.mjs → alerts-_ELZ12ye.mjs} +6 -6
  4. package/dist/{append-pnaQWP_A.mjs → append-B9sLLPYT.mjs} +4 -4
  5. package/dist/archive-3MQyc5Ih.mjs +32 -0
  6. package/dist/{archive-ewitrKdx.mjs → archive-BAHzxkPR.mjs} +5 -5
  7. package/dist/{archive-D7nAQcCz.mjs → archive-BRX5fKPb.mjs} +3 -3
  8. package/dist/{archive-Ct1eyolN.mjs → archive-BdX0Uvf2.mjs} +3 -3
  9. package/dist/{archive-YNpa8daf.mjs → archive-BhIeDoLk.mjs} +3 -3
  10. package/dist/{archive-DtabbPUk.mjs → archive-CKWWyI1i.mjs} +4 -4
  11. package/dist/{archive-By1pLYtO.mjs → archive-CdfyB0To.mjs} +3 -3
  12. package/dist/{archive-DJAsSzCz.mjs → archive-CwBk5vxQ.mjs} +5 -5
  13. package/dist/{archive-CLu2TGW5.mjs → archive-D22VL5Bx.mjs} +3 -3
  14. package/dist/{archive-COP9joWU.mjs → archive-DD8C0Krt2.mjs} +4 -4
  15. package/dist/{archive-CSnBFcQ_.mjs → archive-DDUSmbjn.mjs} +3 -3
  16. package/dist/{archive-DEDA48w3.mjs → archive-ZnHzMJaM.mjs} +5 -5
  17. package/dist/{auth-DdLhXCn-.mjs → auth-Ca84a5fv.mjs} +5 -5
  18. package/dist/{body-Dd-TwYYL.mjs → body-BVrHLwJU.mjs} +3 -3
  19. package/dist/{branch-flag-pFQPNYKr.mjs → branch-flag-Czh8JT1G.mjs} +1 -1
  20. package/dist/{branches-ZvGNhed6.mjs → branches-frSt4WcS.mjs} +3 -3
  21. package/dist/{breaking-BLswgvkA.mjs → breaking-zlgxxwdd.mjs} +6 -6
  22. package/dist/{broken-BN0nL2hf.mjs → broken-BUAzpKLc.mjs} +8 -8
  23. package/dist/{bulk-discard-values-DFJUjSnE.mjs → bulk-discard-values-DU15VJPb.mjs} +5 -5
  24. package/dist/{bulk-edit-Brqr67bu.mjs → bulk-edit-TSa4lNkM.mjs} +4 -4
  25. package/dist/{bulk-rescan-values-DndXXi2N.mjs → bulk-rescan-values-BYJAsPC1.mjs} +4 -4
  26. package/dist/{bulk-sync-schema-mO-t2QlL.mjs → bulk-sync-schema-DtaOwEtW.mjs} +4 -4
  27. package/dist/{cancel-DP03dXBf.mjs → cancel-DCOvSQsq.mjs} +3 -3
  28. package/dist/{cancel-task-CELBfBPP.mjs → cancel-task-osQLETJh.mjs} +2 -2
  29. package/dist/{card-DSrgU7lT.mjs → card-CQNUT9pm.mjs} +1 -1
  30. package/dist/card-P2-4BkXV.mjs +25 -0
  31. package/dist/{card-Bv4ZN0oV.mjs → card-P5mBknsl.mjs} +2 -12
  32. package/dist/{cards-Cn2ywFTJ.mjs → cards-B1pyPl77.mjs} +4 -4
  33. package/dist/cli.mjs +79 -48
  34. package/dist/{client-ToLiPu9q.mjs → client-1UIUBA_V.mjs} +91 -482
  35. package/dist/collection-BI8Fy9vS.mjs +21 -0
  36. package/dist/{collection-D3KXhvnc.mjs → collection-BgPYl2c5.mjs} +1 -1
  37. package/dist/{collection-BG3Ksea-.mjs → collection-DPiztU_l.mjs} +1 -1
  38. package/dist/{collection-namespace-CWW6hZxK.mjs → collection-namespace-Cizv6-94.mjs} +2 -2
  39. package/dist/{content-translation-C19SqZWp.mjs → content-translation-XnHISl5-.mjs} +3 -3
  40. package/dist/{copy-COLUuiuF.mjs → copy-BCVW48Jq.mjs} +6 -6
  41. package/dist/{copy-BGK8Wz6d.mjs → copy-DAKdksBm.mjs} +4 -4
  42. package/dist/{copy-flags-eU8aa0zj.mjs → copy-flags-D7NTgAz1.mjs} +2 -2
  43. package/dist/create--b64pMVM.mjs +34 -0
  44. package/dist/{create-B63JphYe.mjs → create-B1ifNWcE.mjs} +5 -5
  45. package/dist/{create-Dx8nfjGs.mjs → create-B57D5E-o.mjs} +3 -3
  46. package/dist/{create-DSHeoV7e.mjs → create-B5eo9PSN.mjs} +4 -4
  47. package/dist/{create-B2tuInV9.mjs → create-BOvtRwRz.mjs} +4 -4
  48. package/dist/{create-CzW_UTE7.mjs → create-BfA1pnmS.mjs} +6 -6
  49. package/dist/{create-B3TKri1E.mjs → create-Br5JxAeE.mjs} +4 -4
  50. package/dist/{create-DNR8RMvV.mjs → create-BzE4q6F_.mjs} +4 -4
  51. package/dist/create-C7fVbQbQ.mjs +48 -0
  52. package/dist/{create-g1f2yJ4s.mjs → create-CW4WF073.mjs} +3 -3
  53. package/dist/{create-Colz5bOO.mjs → create-CuhQ1Khk.mjs} +3 -3
  54. package/dist/{create-XGomrTz5.mjs → create-D2iZsTRV.mjs} +5 -5
  55. package/dist/{create-BH6kLjHS.mjs → create-D7zeAm-0.mjs} +4 -4
  56. package/dist/{create-CulUZgN1.mjs → create-KyeJjhxH2.mjs} +4 -4
  57. package/dist/{create-Cxuqr3kT.mjs → create-XnYN2zoc.mjs} +6 -6
  58. package/dist/{create-branch-DxL7KUZp.mjs → create-branch-Cli5cXvk.mjs} +2 -2
  59. package/dist/{create-DWbW2WSc.mjs → create-cqbpWaOi.mjs} +6 -6
  60. package/dist/{create-B4gXKDRr.mjs → create-g4pZa_Xa.mjs} +3 -3
  61. package/dist/{create-BwifyhyL.mjs → create-qCgnB-oZ.mjs} +3 -3
  62. package/dist/{csv-C6TEfLMi.mjs → csv-CWIcAm_-.mjs} +4 -4
  63. package/dist/{current-task-CHs0zNFM.mjs → current-task-eBjusv2o.mjs} +3 -3
  64. package/dist/dashboard-C-YJxDam.mjs +35 -0
  65. package/dist/data-action-DER3EMD7.mjs +24 -0
  66. package/dist/data-action-DZxVB_hD.mjs +85 -0
  67. package/dist/data-action-R9qxJDPA.mjs +40 -0
  68. package/dist/{database-D-CRyRIv.mjs → database-BT7DVgSr.mjs} +1 -1
  69. package/dist/{database-MlUPpitM.mjs → database-Kq2AL5jH.mjs} +1 -1
  70. package/dist/{dataset-p5oNPQgL.mjs → dataset-BmvCxGoE.mjs} +1 -1
  71. package/dist/{db-BFSeETMO.mjs → db-_H9HAS6H.mjs} +7 -7
  72. package/dist/delete-B0O-mf63.mjs +44 -0
  73. package/dist/{delete-D79TlpcE.mjs → delete-BMvVkW-m.mjs} +4 -4
  74. package/dist/{delete-DZJxBmdU.mjs → delete-BW5QXiyJ.mjs} +4 -4
  75. package/dist/{delete-BUKgSJhh.mjs → delete-BztmAfPc.mjs} +4 -4
  76. package/dist/{delete-DndykJn2.mjs → delete-C7QmQlp9.mjs} +4 -4
  77. package/dist/{delete-Cucqn4-V.mjs → delete-CynbfvS2.mjs} +4 -4
  78. package/dist/{delete-CPBByycV.mjs → delete-DOn2uk0u.mjs} +4 -4
  79. package/dist/delete-DPU-uQxU.mjs +44 -0
  80. package/dist/{delete-runtime-BbmRg_in.mjs → delete-runtime-Cc7TASG7.mjs} +1 -1
  81. package/dist/{delete-table-CbsWcjh5.mjs → delete-table-DFqm6bAq.mjs} +4 -4
  82. package/dist/{dependencies-B-880phi.mjs → dependencies-DZ-kMsDa.mjs} +5 -5
  83. package/dist/{dependency-DKSjKT8P.mjs → dependency-B4J1bwFh.mjs} +2 -2
  84. package/dist/{dependency-DSxKm9oS.mjs → dependency-BHKwKjhO.mjs} +2 -2
  85. package/dist/dependency-v9fHJ-N-.mjs +15 -0
  86. package/dist/{dependents-C_FDnpZs.mjs → dependents-Ia2fe_KK.mjs} +9 -9
  87. package/dist/{dirty-B-Is68--.mjs → dirty-BrXAPows.mjs} +3 -3
  88. package/dist/{discard-values-yzH-kIsr.mjs → discard-values-B9mTgFbV.mjs} +5 -5
  89. package/dist/{document-C18b5rM6.mjs → document-BsaKF8UR.mjs} +1 -1
  90. package/dist/document-CGvUmD9i.mjs +20 -0
  91. package/dist/{document-DFCj1Az_.mjs → document-COQzVLjW.mjs} +1 -1
  92. package/dist/{download-DluF-vnU.mjs → download-CZdsDdhG.mjs} +2 -2
  93. package/dist/{eid-Dz-mP40j.mjs → eid-DsGNJ16z.mjs} +4 -4
  94. package/dist/{entity-CA4zfRt4.mjs → entity-BFajNdQp.mjs} +2 -2
  95. package/dist/{entry-flags-7x7bIyOQ.mjs → entry-flags-BaZUoxUR.mjs} +4 -4
  96. package/dist/{events-2sOk6H09.mjs → events-rkMIMpnS.mjs} +4 -4
  97. package/dist/execute-DvBse4aF.mjs +45 -0
  98. package/dist/{export-BKkAJOFb.mjs → export-BCkzx9zk.mjs} +5 -5
  99. package/dist/{export-flags-NiZ7C3Gm.mjs → export-flags-TuwwRhD6.mjs} +3 -3
  100. package/dist/{export-preflight-CwJ_3-iX.mjs → export-preflight-p7botJyN.mjs} +3 -3
  101. package/dist/field-C9AcBe8x.mjs +21 -0
  102. package/dist/{fields-Bod0s_uV.mjs → fields-CJVXOLbB.mjs} +4 -4
  103. package/dist/{filter-flags-BYcbB85j.mjs → filter-flags-yY4RM312.mjs} +5 -4
  104. package/dist/{fks-IUw66K_Q.mjs → fks-B6hjrdJP.mjs} +5 -5
  105. package/dist/{get-DLyg6Al9.mjs → get-B5L4BUGK.mjs} +3 -3
  106. package/dist/{get-D1NjMXAH.mjs → get-BYtFVJHT.mjs} +4 -4
  107. package/dist/{get-DtBqoGTa.mjs → get-BvUNnNRq.mjs} +3 -3
  108. package/dist/get-BwKQw_rR.mjs +31 -0
  109. package/dist/{get-DQZfaVNq.mjs → get-BxUgfEPW.mjs} +4 -4
  110. package/dist/{get-BGqvoGQM.mjs → get-C6uLL4bJ.mjs} +3 -3
  111. package/dist/{get-Cl81y0Md.mjs → get-CWBN0G-4.mjs} +5 -5
  112. package/dist/{get-BXsLkoit.mjs → get-CXeFg0F2.mjs} +5 -5
  113. package/dist/{get-_ik_5_lQ.mjs → get-CoJcgFky.mjs} +5 -5
  114. package/dist/{get-D2cPuOPR.mjs → get-D1p-5ibI.mjs} +4 -4
  115. package/dist/{get-CaEiQnSw.mjs → get-D7HPiBB0.mjs} +4 -4
  116. package/dist/{get-Bct52yPw.mjs → get-DPlSzRI0.mjs} +3 -3
  117. package/dist/get-DSjITPED.mjs +32 -0
  118. package/dist/{get-Biy4gOzu2.mjs → get-Do1LC4I52.mjs} +3 -3
  119. package/dist/{get-DITlshJH.mjs → get-DpYTiE4D.mjs} +3 -3
  120. package/dist/{get-Besqwy32.mjs → get-DsbDxSpy.mjs} +3 -3
  121. package/dist/{get-BSUsfysk.mjs → get-DyS1mRI6.mjs} +3 -3
  122. package/dist/{get-B8DUMrCw.mjs → get-Eforof5e.mjs} +5 -5
  123. package/dist/{get-CYIeiTZ9.mjs → get-oLc5jgid2.mjs} +4 -4
  124. package/dist/{get-run-CEc_tr5b.mjs → get-run-bU-d--nM.mjs} +4 -4
  125. package/dist/{get-BXssHyJ1.mjs → get-xmhwvAQJ.mjs} +5 -5
  126. package/dist/{get-BfSX-OeS.mjs → get-zotSW00n.mjs} +3 -3
  127. package/dist/git-sync-D4R0cHvk.mjs +29 -0
  128. package/dist/glossary-C6EnoEXg.mjs +14 -0
  129. package/dist/{glossary-BlNCrYbw.mjs → glossary-CdW6RFId.mjs} +1 -1
  130. package/dist/{glossary-LmZWwCNP.mjs → glossary-Del97Jqg.mjs} +1 -1
  131. package/dist/{graph-f6Bp1e8U.mjs → graph-CHXJ6mB7.mjs} +6 -6
  132. package/dist/{group-bpD_KcjA.mjs → group-D4w87fXL.mjs} +1 -1
  133. package/dist/{has-remote-changes-B8MmN6yh.mjs → has-remote-changes-BXEe8Sv5.mjs} +2 -2
  134. package/dist/{import-Bhq15KgP.mjs → import-DZQb4bUo.mjs} +5 -5
  135. package/dist/{input-D8qW-KtR.mjs → input-DjHsV-kD.mjs} +1 -1
  136. package/dist/{is-dirty-CAsVuVx8.mjs → is-dirty-DwQ2_CCB.mjs} +2 -2
  137. package/dist/{items-BZJomiDE.mjs → items-DNdICQ7M.mjs} +6 -6
  138. package/dist/{key-BynJSK9u.mjs → key-BTaxFn_7.mjs} +1 -1
  139. package/dist/{library-Ck0EK5bi.mjs → library-C4M8TF2N.mjs} +1 -1
  140. package/dist/{library-B7wDH-Nc.mjs → library-Cdj_uj1H.mjs} +5 -5
  141. package/dist/{library-BOv5SY24.mjs → library-DmkpcZPb.mjs} +1 -1
  142. package/dist/{list-DtgbtE3_.mjs → list-03zaydQe.mjs} +3 -3
  143. package/dist/{list-BT5t8ZOl.mjs → list-2EWHwbQs.mjs} +4 -4
  144. package/dist/{list-CtS50R7m.mjs → list-89ZgbsvW.mjs} +5 -5
  145. package/dist/{list-C9x--9Jq.mjs → list-Be6kDkyT.mjs} +5 -5
  146. package/dist/{list-DcnNlYQA.mjs → list-C-WGqRqN.mjs} +6 -6
  147. package/dist/{list-BtZVe1Nq.mjs → list-C7PV9fYj.mjs} +6 -6
  148. package/dist/{list-BWFCv_zk.mjs → list-CLJvuPXn.mjs} +5 -5
  149. package/dist/{list-CLFu3mQB.mjs → list-CYlPgzD1.mjs} +3 -3
  150. package/dist/{list-CvZyTwmV.mjs → list-CZoaZc9g.mjs} +5 -5
  151. package/dist/list-CzxrdWB8.mjs +35 -0
  152. package/dist/{list-CCdXig7b.mjs → list-DcHPY1Ti.mjs} +4 -4
  153. package/dist/{list-BT7xiUQe.mjs → list-DoLqxEjq.mjs} +3 -3
  154. package/dist/{list-C-A-2HFq.mjs → list-DsyvHBAv.mjs} +3 -3
  155. package/dist/{list-Cj_mTxbY.mjs → list-F4ENGV7j.mjs} +4 -4
  156. package/dist/{list-CJDFoOHb.mjs → list-M20foZz2.mjs} +3 -3
  157. package/dist/{list-Cd40Kr0R.mjs → list-OKHcr76i.mjs} +3 -3
  158. package/dist/list-Owrzgtkc.mjs +28 -0
  159. package/dist/{list-B2uUl26x.mjs → list-__Q79YXk.mjs} +4 -4
  160. package/dist/{list-BwdSG-P5.mjs → list-epIn3uFZ.mjs} +5 -5
  161. package/dist/{list-B4luDSYj.mjs → list-gqemddWB.mjs} +6 -6
  162. package/dist/{list-B8ND9t2h.mjs → list-hINHmdMT.mjs} +3 -3
  163. package/dist/{login-Bi_nGMJ9.mjs → login-BSqGgX8S.mjs} +6 -6
  164. package/dist/{logout-CiHQJWTu.mjs → logout-D92O4mQK.mjs} +2 -2
  165. package/dist/{measure-D2qq5e8f.mjs → measure-DhX_mmZK.mjs} +6 -6
  166. package/dist/{notification-DOYdl0ao.mjs → notification-Cuuwoksm.mjs} +1 -1
  167. package/dist/{parameter-values-CZow98nb.mjs → parameter-values-BY2WA9qg.mjs} +3 -3
  168. package/dist/{parse-enum-CLIXMsd8.mjs → parse-enum-BPKULOSw.mjs} +1 -1
  169. package/dist/{parse-id-BW09NysN.mjs → parse-id-CxHp2akh.mjs} +1 -1
  170. package/dist/{parse-ref-Cw5fa4FI.mjs → parse-ref-8bVX_9IN.mjs} +1 -1
  171. package/dist/{parse-text-T0lTXzTZ.mjs → parse-text-Bm6eUa-p.mjs} +1 -1
  172. package/dist/{path-K6LPLYPb.mjs → path-D4Q1ZzCw.mjs} +4 -4
  173. package/dist/{poll-Dz4tUm2f.mjs → poll-DFZRtTA_.mjs} +2 -2
  174. package/dist/{preflight-CX6cqB90.mjs → preflight-BPaonBKy.mjs} +3 -3
  175. package/dist/{process-D0HdqZ3r.mjs → process-B3Di_HtV.mjs} +1 -1
  176. package/dist/{publish-COatW4Un.mjs → publish-BhgyrJ6c.mjs} +4 -4
  177. package/dist/{pulse-D1uh8UIU.mjs → pulse-CIza18rO.mjs} +1 -1
  178. package/dist/query-BKtMP5eH.mjs +13 -0
  179. package/dist/{query-DmvkyDfo.mjs → query-CsBe-kJn.mjs} +6 -6
  180. package/dist/{query-BJXTIDhy.mjs → query-DvlGWjgG.mjs} +11 -10
  181. package/dist/{remapping-CPAvDKHV.mjs → remapping-CCEivr42.mjs} +4 -4
  182. package/dist/{remove-collection-Bg-sNX3U.mjs → remove-collection-LpgGBYCl.mjs} +3 -3
  183. package/dist/{render-BSfDD6ip.mjs → render-D5ehBS-7.mjs} +2 -2
  184. package/dist/{replace-RCHeZLUT.mjs → replace-DeWgkbfZ.mjs} +4 -4
  185. package/dist/{rescan-values-PeMnpaFY.mjs → rescan-values-CDDVS1tl.mjs} +4 -4
  186. package/dist/{rescan-values-CpDGYZvf.mjs → rescan-values-aF18XAv6.mjs} +5 -5
  187. package/dist/{run-DkRkZRgf.mjs → run-Buf4B8QH.mjs} +7 -7
  188. package/dist/run-DlG3Ykj1.mjs +63 -0
  189. package/dist/{run-CaQ7kubO.mjs → run-DyGMvbMm.mjs} +3 -3
  190. package/dist/{runs-BDjoVJ0P.mjs → runs-D2CXgW10.mjs} +5 -5
  191. package/dist/{runtime-CZ5zh32z.mjs → runtime-X6hVzSMW.mjs} +2 -2
  192. package/dist/{schema-tables-C2qjLcPq.mjs → schema-tables-FUOIyoUU.mjs} +5 -5
  193. package/dist/{schemas-D8hfNduk.mjs → schemas-CmfNeqzG.mjs} +4 -4
  194. package/dist/{search-CnTXKJgx.mjs → search-CLpDqYpY.mjs} +5 -5
  195. package/dist/{search-BrQQuNmh.mjs → search-Dl7xzF6Q.mjs} +5 -5
  196. package/dist/{segment-Bi6eqj3e.mjs → segment-Bx28f38v.mjs} +6 -6
  197. package/dist/{send-CAjgVNlA.mjs → send-CoGV2zkp.mjs} +3 -3
  198. package/dist/{set-BXTkYWid.mjs → set-CrR9IumN.mjs} +4 -4
  199. package/dist/{set-active-CBQVCePU.mjs → set-active-CbiJv8Hg.mjs} +3 -3
  200. package/dist/{set-sensitivity-D39kGTob.mjs → set-sensitivity-CTHVxpnU.mjs} +4 -4
  201. package/dist/{setting-CPkvkc4H.mjs → setting-CUxdweNJ.mjs} +4 -4
  202. package/dist/{setup-Be3xDXHi.mjs → setup-4uySIB-t.mjs} +3 -3
  203. package/dist/{signal-CxWeLszu.mjs → signal-0Yt8JTMn.mjs} +1 -1
  204. package/dist/{skill-list-CBGq30sI.mjs → skill-list-goCqmfFF.mjs} +2 -2
  205. package/dist/{skills-DyiLycMY.mjs → skills-86j411Qz.mjs} +3 -3
  206. package/dist/{skills-CJ9eXouJ.mjs → skills-DeWsLMwC.mjs} +2 -2
  207. package/dist/snippet-C3gamfFK.mjs +19 -0
  208. package/dist/{stash-BVN3s5N_.mjs → stash-BNKlbxtD.mjs} +4 -4
  209. package/dist/{status-CxP6w3aL.mjs → status-B7bwHLkk.mjs} +3 -3
  210. package/dist/{status-BtbMmIWo.mjs → status-Bul9El-c.mjs} +4 -4
  211. package/dist/{subscription-Dr-YHARg.mjs → subscription-DPAGevGU.mjs} +6 -6
  212. package/dist/{subscriptions-8tM8TTeQ.mjs → subscriptions-DIRsHcKP.mjs} +6 -6
  213. package/dist/{summary-DKx6ptQe.mjs → summary-CeVt80Kb.mjs} +3 -3
  214. package/dist/{sync-schema-kNriXZjG.mjs → sync-schema-B9fLcZoa.mjs} +6 -6
  215. package/dist/{sync-schema-B8RY0Ra4.mjs → sync-schema-oDTbhjW1.mjs} +4 -4
  216. package/dist/{sync-task-CXFoqlpF.mjs → sync-task-BAMOf6_t.mjs} +3 -2
  217. package/dist/{table-CxvaDiIZ.mjs → table-BFIOH6Pb.mjs} +1 -1
  218. package/dist/table-C--k-JXA.mjs +26 -0
  219. package/dist/{table-selector-flags-1bYkAKld.mjs → table-selector-flags-BUR0-n6j.mjs} +2 -2
  220. package/dist/{text-DaNkPRwt.mjs → text-CdtEI6l6.mjs} +1 -1
  221. package/dist/timeline-ClMmTycg.mjs +21 -0
  222. package/dist/{timeline-event-DpNm4dkn.mjs → timeline-event-BY2Hj72e.mjs} +6 -6
  223. package/dist/transform-BZaNFGeK.mjs +28 -0
  224. package/dist/{transform-CNBIV7No.mjs → transform-D4z70PIN.mjs} +1 -1
  225. package/dist/transform-job-QMI2qWin.mjs +22 -0
  226. package/dist/{transform-tag-nTb0Ivpj.mjs → transform-tag-CzjLKILh.mjs} +5 -5
  227. package/dist/transform-test-B9le1jKH.mjs +16 -0
  228. package/dist/transform-test-BjjCQ2xm.mjs +169 -0
  229. package/dist/transform-test-DHGKeuHa.mjs +32 -0
  230. package/dist/{transforms-BSsAfwAg.mjs → transforms-0uhBh0H4.mjs} +5 -5
  231. package/dist/transport-BmNrb0Lz.mjs +313 -0
  232. package/dist/{tree-lMvw1jnZ.mjs → tree-oBEw8hDj.mjs} +3 -3
  233. package/dist/{unpublish-CYFDd828.mjs → unpublish-BJ9OKN1N.mjs} +3 -3
  234. package/dist/{unreferenced-8Xdq76Kw.mjs → unreferenced-D6UyA_Nu.mjs} +6 -6
  235. package/dist/{update-D9p0N8ky.mjs → update-7zsDGAWa.mjs} +4 -4
  236. package/dist/{update-CITzAFG8.mjs → update-BK_SpSrG.mjs} +4 -4
  237. package/dist/{update-B28EJzrx.mjs → update-BZgHTH5P.mjs} +4 -4
  238. package/dist/update-Bdi40RG0.mjs +52 -0
  239. package/dist/{update-CLl8tE20.mjs → update-BqrZ-8IK.mjs} +8 -8
  240. package/dist/{update-D--Fw7-_.mjs → update-CEhub3Wz.mjs} +5 -5
  241. package/dist/{update-_sYM1GuU.mjs → update-CHA4VWKT.mjs} +7 -7
  242. package/dist/{update-BDunZa7G.mjs → update-CKJ6Das4.mjs} +4 -4
  243. package/dist/{update-BwrYeKso.mjs → update-CKe2Bwpv.mjs} +6 -6
  244. package/dist/update-CXfLvhmK.mjs +41 -0
  245. package/dist/{update-D_DCOOAB.mjs → update-CYQkWLpZ.mjs} +5 -5
  246. package/dist/{update-CM5uuhjB.mjs → update-Cv6IMLyu.mjs} +4 -4
  247. package/dist/{update-C7DEMiu-.mjs → update-D9eLVWFQ.mjs} +5 -5
  248. package/dist/{update-6P_GYCLT.mjs → update-DGwGjOnH.mjs} +5 -5
  249. package/dist/{update-BT2yNB_g.mjs → update-DKagaJw0.mjs} +6 -6
  250. package/dist/{update-BnMUSFYZ.mjs → update-DgmlUn64.mjs} +4 -4
  251. package/dist/{update-Cs2zv_L2.mjs → update-DneJLQXe.mjs} +7 -7
  252. package/dist/{update-CQXcsvaa.mjs → update-M7yDPmJ-.mjs} +5 -5
  253. package/dist/{update-DAzRx0of.mjs → update-bGDXSnBh.mjs} +5 -5
  254. package/dist/{update-dashcard-VNnIqHDI.mjs → update-dashcard-DNsf-gJ1.mjs} +4 -4
  255. package/dist/{upgrade-Tj_reACv.mjs → upgrade-BRJH93W0.mjs} +4 -4
  256. package/dist/{upload-Dg91ldGg.mjs → upload-CGz8u2wG.mjs} +3 -3
  257. package/dist/{upload-C2fhpKkP.mjs → upload-DJB7DMA1.mjs} +2 -2
  258. package/dist/upload-T5wS1XtL.mjs +13 -0
  259. package/dist/{uuid-Blpv_e0S.mjs → uuid-3qmLYgrG.mjs} +2 -2
  260. package/dist/{validate-D7e110oU.mjs → validate-D_iikPkc.mjs} +1 -1
  261. package/dist/{validate-query-C7LuKiUT.mjs → validate-query-DIcK8alR.mjs} +7 -3
  262. package/dist/{values-PonkbYAK.mjs → values-Bn2Wcz4t.mjs} +3 -3
  263. package/dist/{verify-DixUBbd2.mjs → verify-C2K-zMuQ.mjs} +3 -3
  264. package/dist/{verify-Dv7ER11c.mjs → verify-CA4PEHlO.mjs} +3 -3
  265. package/dist/{verify-Mpb65a5v.mjs → verify-CCX2N98Q.mjs} +3 -3
  266. package/dist/{wait-CaH6XHQV.mjs → wait-DCgCJBqX.mjs} +5 -5
  267. package/dist/{wait-flags-rUU4NUrv.mjs → wait-flags-aRQHTjwg.mjs} +2 -2
  268. package/dist/{window-CI_QD04s.mjs → window-2ybHqui2.mjs} +1 -1
  269. package/package.json +1 -1
  270. package/skill-data/core/SKILL.md +4 -1
  271. package/skill-data/data-action/SKILL.md +125 -0
  272. package/skill-data/native-sql/SKILL.md +1 -1
  273. package/skill-data/transform/SKILL.md +63 -1
  274. package/skill-data/transform-test-plan/SKILL.md +82 -0
  275. package/skill-data/transform-test-plan/references/checklist.md +32 -0
  276. package/skill-data/transform-test-plan/references/checks.md +156 -0
  277. package/dist/card-CFd-GUEM.mjs +0 -25
  278. package/dist/collection-BKNShKcY.mjs +0 -21
  279. package/dist/dashboard-AWrXqQ7a.mjs +0 -35
  280. package/dist/dependency-DBUJwXqv.mjs +0 -15
  281. package/dist/document-BRaba87v.mjs +0 -20
  282. package/dist/field-BARgq5I9.mjs +0 -21
  283. package/dist/git-sync-DKcaddkV.mjs +0 -29
  284. package/dist/glossary-CWIX8Zh6.mjs +0 -14
  285. package/dist/snippet-QirK70R_.mjs +0 -19
  286. package/dist/table-CZnT6d9x.mjs +0 -26
  287. package/dist/timeline-CUzx6uXi.mjs +0 -21
  288. package/dist/transform-g4-HHzDp.mjs +0 -28
  289. package/dist/transform-job-DqBtnTrG.mjs +0 -22
  290. package/dist/upload-BKxOpSz3.mjs +0 -13
@@ -1,24 +1,26 @@
1
- import { at as ConfigError, ct as NetworkError, ft as ValidationError, lt as ResponseShapeError, mt as formatZodIssue, n as methodRequirements, ot as InternalError, pt as errorMessage, ut as TimeoutError } from "./cli.mjs";
1
+ import { ct as InternalError, dt as ResponseShapeError, ft as TimeoutError, gt as formatZodIssue, ht as errorMessage, ot as ConfigError } from "./cli.mjs";
2
2
  import { n as Notification, r as NotificationCardPayload, t as CARD_PAYLOAD_TYPE } from "./notification-DaA4bBHW.mjs";
3
- import { $ as CapabilityError, B as assertCredentialHeaderSafe, G as normalizeUrl, H as credentialSecrets, I as isRetryableStatus, J as checkFeatures, L as JSON_CONTENT_TYPE, M as buildNetworkError, N as isConnectionClosed, P as HttpError, Q as probeServer, R as parseJson, V as credentialAuthHeader, X as createServerProfile, Z as PROBE_PATH, z as parseJsonOrPlain } from "./runtime-CZ5zh32z.mjs";
4
- import { n as throwIfAborted, r as untilAborted, t as combineAborts } from "./signal-CxWeLszu.mjs";
3
+ import { P as HttpError, Z as PROBE_PATH, z as parseJsonOrPlain } from "./runtime-X6hVzSMW.mjs";
4
+ import { n as createTransport } from "./transport-BmNrb0Lz.mjs";
5
5
  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";
6
6
  import { a as TemporalUnit, r as ParameterValues } from "./parameter-Celg0wZa.mjs";
7
- import { a as CardQueryResult, d as PivotExportFormat, l as DatasetQuery, t as Card } from "./card-Bv4ZN0oV.mjs";
7
+ import { r as PivotExportFormat, t as DatasetQuery } from "./query-BKtMP5eH.mjs";
8
+ import { a as CardQueryResult, t as Card } from "./card-P5mBknsl.mjs";
8
9
  import { b as TableVisibilityType, p as TableQueryMetadata, s as TableDataLayerTier, t as Table, u as TableForeignKey, v as TableSelectors } from "./table-Ci6bhZkb.mjs";
9
- import { t as Database } from "./database-D-CRyRIv.mjs";
10
+ import { t as Database } from "./database-BT7DVgSr.mjs";
10
11
  import { t as Snippet } from "./snippet-CyKAgIZl.mjs";
11
- import { o as compiledQuerySchema, r as QueryMetadata } from "./dataset-p5oNPQgL.mjs";
12
- import { c as CollectionItem, m as CollectionTreeNode, r as Collection } from "./collection-D3KXhvnc.mjs";
12
+ import { o as compiledQuerySchema, r as QueryMetadata } from "./dataset-BmvCxGoE.mjs";
13
+ import { c as CollectionItem, m as CollectionTreeNode, r as Collection } from "./collection-BgPYl2c5.mjs";
13
14
  import { t as ContentTranslationUploadResult } from "./content-translation-BrHOrmj9.mjs";
14
15
  import { l as Dashcard, o as DashboardDetail, r as DashboardCopy, t as Dashboard } from "./dashboard-Phz3XpRM.mjs";
15
- import { r as pollUntil } from "./poll-Dz4tUm2f.mjs";
16
- import { i as DependencyEntity, s as DependencyGraph, t as BreakingSource, u as DependencyNode } from "./dependency-DKSjKT8P.mjs";
17
- import { t as Document } from "./document-DFCj1Az_.mjs";
16
+ import { a as DataActionExecuteResult, s as dataActionSchema } from "./data-action-DZxVB_hD.mjs";
17
+ import { r as pollUntil } from "./poll-DFZRtTA_.mjs";
18
+ import { i as DependencyEntity, s as DependencyGraph, t as BreakingSource, u as DependencyNode } from "./dependency-B4J1bwFh.mjs";
19
+ import { t as Document } from "./document-COQzVLjW.mjs";
18
20
  import { i as EidTranslateResult } from "./eid-translation-zEHtr5Oc.mjs";
19
21
  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";
20
- import { t as Glossary } from "./glossary-BlNCrYbw.mjs";
21
- import { a as libraryWireSchema, i as LibraryPublishTablesInput, n as LibraryCollectionInfo, o as toLibrary } from "./library-Ck0EK5bi.mjs";
22
+ import { t as Glossary } from "./glossary-CdW6RFId.mjs";
23
+ import { a as libraryWireSchema, i as LibraryPublishTablesInput, n as LibraryCollectionInfo, o as toLibrary } from "./library-C4M8TF2N.mjs";
22
24
  import { t as Measure } from "./measure-CtfjqJFP.mjs";
23
25
  import { r as ModerationReviewCreateInput, t as ModerationReview } from "./moderation-review-BdqEH6N1.mjs";
24
26
  import { t as Pulse } from "./pulse-Dz0ocv0l.mjs";
@@ -30,9 +32,9 @@ import { n as SetupResult } from "./setup-CO7QV-ao.mjs";
30
32
  import { i as TimelineEvent, t as Timeline } from "./timeline-CCSU2qOS.mjs";
31
33
  import { c as transformJobSchema, n as TransformJobActiveResult, s as transformJobRunResultSchema } from "./transform-job-CCguL6LP.mjs";
32
34
  import { t as TransformTag } from "./transform-tag-CcElGp3C.mjs";
35
+ import { i as TransformTestRunResult, t as TransformTest } from "./transform-test-BjjCQ2xm.mjs";
33
36
  import { t as UploadResult } from "./upload-DAtxBBms.mjs";
34
37
  import { z } from "zod";
35
- import { setTimeout } from "node:timers/promises";
36
38
  //#region \0rolldown/runtime.js
37
39
  var __defProp = Object.defineProperty;
38
40
  var __exportAll = (all, no_symbols) => {
@@ -45,314 +47,6 @@ var __exportAll = (all, no_symbols) => {
45
47
  return target;
46
48
  };
47
49
  //#endregion
48
- //#region ../client/src/http/response-shape.ts
49
- async function parseJsonResponse(text, schema, context) {
50
- try {
51
- return parseJson(text, schema, { source: context.url });
52
- } catch (error) {
53
- if (error instanceof ValidationError) throw ResponseShapeError.fromZodIssues({
54
- kind: "zod",
55
- method: context.method,
56
- url: context.url,
57
- status: context.status,
58
- zodIssues: error.developerDetail.zodIssues,
59
- serverTag: await context.getServerTag(),
60
- serverSkew: context.serverSkew
61
- });
62
- throw error;
63
- }
64
- }
65
- //#endregion
66
- //#region ../client/src/http/retry.ts
67
- const BASE_DELAY_MS = 250;
68
- const MAX_DELAY_MS = 8e3;
69
- const MS_PER_SECOND = 1e3;
70
- function backoffDelay({ attempt, retryAfterHeader }) {
71
- const fromHeader = parseRetryAfter(retryAfterHeader);
72
- if (fromHeader !== null) return fromHeader;
73
- return Math.min(MAX_DELAY_MS, BASE_DELAY_MS * 2 ** attempt);
74
- }
75
- function parseRetryAfter(header) {
76
- if (!header) return null;
77
- const numeric = Number(header);
78
- if (Number.isFinite(numeric) && numeric >= 0) return Math.round(numeric * MS_PER_SECOND);
79
- const dateMs = Date.parse(header);
80
- if (Number.isFinite(dateMs)) return Math.max(0, dateMs - Date.now());
81
- return null;
82
- }
83
- function sleep(ms, signal) {
84
- return setTimeout(ms, void 0, { signal });
85
- }
86
- async function runWithRetries(attempt, signal) {
87
- let attemptIndex = 0;
88
- while (true) {
89
- const outcome = await attempt(attemptIndex);
90
- if (outcome.kind === "success") return outcome.response;
91
- await sleep(outcome.delayMs, signal);
92
- attemptIndex += 1;
93
- }
94
- }
95
- //#endregion
96
- //#region ../client/src/http/transport.ts
97
- const UNAUTHORIZED_STATUS = 401;
98
- const DEFAULT_TIMEOUT_MS = 3e4;
99
- const OCTET_STREAM_CONTENT_TYPE = "application/octet-stream";
100
- const TEXT_CONTENT_TYPE_PREFIX = "text/";
101
- const ERROR_BODY_BYTE_CAP = 64 * 1024;
102
- const IDEMPOTENT_METHODS = /* @__PURE__ */ new Set([
103
- "GET",
104
- "HEAD",
105
- "OPTIONS"
106
- ]);
107
- function createTransport(config, options) {
108
- const baseUrl = normalizeUrl(config.url);
109
- assertCredentialHeaderSafe(config.credential);
110
- const fetchImpl = options.fetchImpl ?? globalThis.fetch.bind(globalThis);
111
- let settledProfile = options.server ?? null;
112
- const getServerTag = options.getServerTag ?? (async () => tagOf(settledProfile));
113
- const serverSkew = () => settledProfile === null ? null : settledProfile.skew;
114
- const refreshCredential = options.refreshCredential;
115
- let credential = config.credential;
116
- const knownSecrets = new Set(credentialSecrets(credential));
117
- const redactionContext = { knownSecrets };
118
- let refreshInFlight = null;
119
- function tryRefreshCredential() {
120
- const refresh = refreshCredential;
121
- if (credential.kind !== "oauth" || refresh === void 0) return Promise.resolve(false);
122
- refreshInFlight ??= refreshOnce(refresh).finally(() => {
123
- refreshInFlight = null;
124
- });
125
- return refreshInFlight;
126
- }
127
- async function refreshOnce(refresh) {
128
- const next = await refresh();
129
- if (next === null) return false;
130
- credential = next;
131
- for (const secret of credentialSecrets(next)) knownSecrets.add(secret);
132
- return true;
133
- }
134
- async function attemptOnce(prepared, attempt) {
135
- const hasRetriesLeft = attempt < prepared.retries;
136
- const timeoutSignal = AbortSignal.timeout(prepared.timeoutMs);
137
- const combined = combineAborts(timeoutSignal, prepared.cancelSignal);
138
- let response;
139
- try {
140
- response = await fetchImpl(prepared.url, {
141
- method: prepared.method,
142
- headers: prepared.headers,
143
- body: prepared.body,
144
- signal: combined
145
- });
146
- } catch (error) {
147
- throwIfAborted(prepared.cancelSignal);
148
- const isStaleSocketFirstTry = attempt === 0 && isConnectionClosed(error);
149
- if (prepared.idempotent && (hasRetriesLeft || isStaleSocketFirstTry)) return {
150
- kind: "retry",
151
- delayMs: backoffDelay({ attempt })
152
- };
153
- if (timeoutSignal.aborted) throw new TimeoutError(`Request timed out after ${prepared.timeoutMs}ms`, {
154
- kind: "http",
155
- method: prepared.method,
156
- url: prepared.url,
157
- timeoutMs: prepared.timeoutMs
158
- });
159
- throw buildNetworkError(error, prepared.method, prepared.url);
160
- }
161
- const canRetryStatus = hasRetriesLeft && prepared.idempotent;
162
- if (!response.ok && isRetryableStatus(response.status) && canRetryStatus) {
163
- const retryAfter = response.headers.get("Retry-After");
164
- response.body?.cancel().catch(() => void 0);
165
- return {
166
- kind: "retry",
167
- delayMs: backoffDelay({
168
- attempt,
169
- retryAfterHeader: retryAfter
170
- })
171
- };
172
- }
173
- if (!response.ok) {
174
- const rawBody = await readBodyForError(response);
175
- const serverTag = await getServerTag();
176
- throw new HttpError({
177
- status: response.status,
178
- statusText: response.statusText,
179
- method: prepared.method,
180
- url: prepared.url,
181
- responseHeaders: response.headers,
182
- rawBody,
183
- serverTag,
184
- redactionContext
185
- });
186
- }
187
- assertContentType(response, prepared);
188
- return {
189
- kind: "success",
190
- response
191
- };
192
- }
193
- async function executeRaw(prepared) {
194
- try {
195
- return await runWithRetries((attempt) => attemptOnce(prepared, attempt), prepared.cancelSignal);
196
- } catch (error) {
197
- throwIfAborted(prepared.cancelSignal);
198
- throw error;
199
- }
200
- }
201
- async function executeWithAuthRefresh(path, opts) {
202
- const prepared = prepare(path, opts);
203
- try {
204
- return {
205
- response: await executeRaw(prepared),
206
- prepared
207
- };
208
- } catch (error) {
209
- if (error instanceof HttpError && error.status === UNAUTHORIZED_STATUS) {
210
- if (await tryRefreshCredential()) {
211
- const retried = prepare(path, opts);
212
- return {
213
- response: await executeRaw(retried),
214
- prepared: retried
215
- };
216
- }
217
- }
218
- throw error;
219
- }
220
- }
221
- function prepare(path, opts = {}) {
222
- const method = opts.method ?? "GET";
223
- const expectContentType = opts.expectContentType ?? "json";
224
- const url = buildUrl(baseUrl, path, opts.query);
225
- const headers = new Headers();
226
- const auth = credentialAuthHeader(credential);
227
- headers.set(auth.name, auth.value);
228
- headers.set("accept", acceptHeader(expectContentType));
229
- headers.set("user-agent", options.userAgent);
230
- let body = null;
231
- if (opts.body !== void 0 && opts.body !== null) if (typeof opts.body === "string" || opts.body instanceof URLSearchParams) body = opts.body;
232
- else if (opts.body instanceof FormData || opts.body instanceof ReadableStream) body = opts.body;
233
- else if (opts.body instanceof Uint8Array) {
234
- body = opts.body;
235
- headers.set("content-type", OCTET_STREAM_CONTENT_TYPE);
236
- } else {
237
- body = JSON.stringify(opts.body);
238
- headers.set("content-type", JSON_CONTENT_TYPE);
239
- }
240
- return {
241
- url,
242
- method,
243
- headers,
244
- body,
245
- expectContentType,
246
- retries: opts.retries ?? 3,
247
- idempotent: opts.idempotent ?? IDEMPOTENT_METHODS.has(method),
248
- timeoutMs: opts.timeoutMs ?? DEFAULT_TIMEOUT_MS,
249
- cancelSignal: combineAborts(opts.signal, options.signal)
250
- };
251
- }
252
- let serverProfile = options.server === void 0 ? null : Promise.resolve(options.server);
253
- async function server(wait = {}) {
254
- throwIfAborted(wait.signal);
255
- if (serverProfile === null) {
256
- const probe = probeServer(transport).then((info) => {
257
- settledProfile = createServerProfile(info);
258
- return settledProfile;
259
- });
260
- probe.catch(() => {
261
- serverProfile = null;
262
- });
263
- serverProfile = probe;
264
- }
265
- return untilAborted(serverProfile, wait.signal);
266
- }
267
- const enforceRequirements = options.enforceRequirements ?? true;
268
- async function requireFeatures(features, wait = {}) {
269
- if (!enforceRequirements || features.length === 0) return;
270
- const failure = checkFeatures(features, await server(wait));
271
- if (failure !== null) throw new CapabilityError(failure);
272
- }
273
- async function requireMethod(key, wait = {}) {
274
- return requireFeatures(methodRequirements(key), wait);
275
- }
276
- const transport = {
277
- server,
278
- require: requireMethod,
279
- requireFeatures,
280
- async requestRaw(path, opts) {
281
- return (await executeWithAuthRefresh(path, opts ?? {})).response;
282
- },
283
- async requestParsed(schema, path, opts) {
284
- const { response, prepared } = await executeWithAuthRefresh(path, {
285
- ...opts,
286
- expectContentType: "json"
287
- });
288
- return parseJsonResponse(await response.text(), schema, {
289
- method: prepared.method,
290
- url: prepared.url,
291
- status: response.status,
292
- getServerTag,
293
- serverSkew: serverSkew()
294
- });
295
- },
296
- async requestStream(path, opts) {
297
- const { response, prepared } = await executeWithAuthRefresh(path, {
298
- ...opts,
299
- expectContentType: opts?.expectContentType ?? "binary"
300
- });
301
- if (!response.body) throw new NetworkError("Response had no body to stream", {
302
- method: prepared.method,
303
- url: prepared.url,
304
- cause: "missing body"
305
- });
306
- return response.body;
307
- }
308
- };
309
- return transport;
310
- }
311
- function tagOf(profile) {
312
- return profile === null ? null : profile.version.tag;
313
- }
314
- function buildUrl(baseUrl, path, query) {
315
- const normalizedPath = path.startsWith("/") ? path : `/${path}`;
316
- const target = new URL(baseUrl + normalizedPath);
317
- if (query) for (const [key, value] of Object.entries(query)) {
318
- if (value === void 0) continue;
319
- if (Array.isArray(value)) for (const entry of value) target.searchParams.append(key, String(entry));
320
- else target.searchParams.append(key, String(value));
321
- }
322
- return target.toString();
323
- }
324
- function acceptHeader(expected) {
325
- if (expected === "json") return JSON_CONTENT_TYPE;
326
- if (expected === "text") return "text/*";
327
- return "*/*";
328
- }
329
- function assertContentType(response, prepared) {
330
- if (prepared.expectContentType === "binary") return;
331
- const contentType = response.headers.get("content-type");
332
- if (contentType === null) throwContentTypeMismatch(response, prepared, prepared.expectContentType);
333
- if (prepared.expectContentType === "json" && !contentType.includes("application/json")) throwContentTypeMismatch(response, prepared, "json");
334
- if (prepared.expectContentType === "text" && !contentType.startsWith(TEXT_CONTENT_TYPE_PREFIX)) throwContentTypeMismatch(response, prepared, "text");
335
- }
336
- function throwContentTypeMismatch(response, prepared, expected) {
337
- const actual = response.headers.get("content-type") ?? "no content-type";
338
- throw new HttpError({
339
- status: response.status,
340
- statusText: response.statusText,
341
- method: prepared.method,
342
- url: prepared.url,
343
- responseHeaders: response.headers,
344
- rawBody: null,
345
- overrideUserMessage: `Expected ${expected} response but got ${actual}`
346
- });
347
- }
348
- async function readBodyForError(response) {
349
- try {
350
- return Buffer.from(await response.arrayBuffer()).subarray(0, ERROR_BODY_BYTE_CAP).toString("utf8");
351
- } catch (error) {
352
- return `[body read failed: ${errorMessage(error)}]`;
353
- }
354
- }
355
- //#endregion
356
50
  //#region ../client/src/resources/pivot-export.ts
357
51
  const PivotedExportsSetting = z.object({ "enable-pivoted-exports": z.boolean() });
358
52
  /**
@@ -838,6 +532,81 @@ function stripEntityId(dashcard) {
838
532
  };
839
533
  }
840
534
  //#endregion
535
+ //#region ../client/src/resources/data-action.ts
536
+ function dataActionResource(transport) {
537
+ async function readSchema(options) {
538
+ const { features } = await transport.server(options);
539
+ return dataActionSchema(features);
540
+ }
541
+ /** List the unarchived data actions the caller can see. `GET /api/action` answers a bare array. */
542
+ async function list(options = {}) {
543
+ await transport.require("dataAction.list", options);
544
+ const schema = await readSchema(options);
545
+ return {
546
+ data: await transport.requestParsed(z.array(schema), "/api/action", { ...options }),
547
+ total: null
548
+ };
549
+ }
550
+ /** Get one unarchived data action by id. */
551
+ async function get(id, options = {}) {
552
+ await transport.require("dataAction.get", options);
553
+ const schema = await readSchema(options);
554
+ return transport.requestParsed(schema, `/api/action/${id}`, { ...options });
555
+ }
556
+ /** Create a data action — a parameterized native query that writes to a database — in a collection. */
557
+ async function create(params, options = {}) {
558
+ await transport.require("dataAction.create", options);
559
+ const schema = await readSchema(options);
560
+ return transport.requestParsed(schema, "/api/action", {
561
+ ...options,
562
+ method: "POST",
563
+ body: params
564
+ });
565
+ }
566
+ /** Update a data action by id, patching only the fields the body carries. */
567
+ async function update(id, params, options = {}) {
568
+ await transport.require("dataAction.update", options);
569
+ const schema = await readSchema(options);
570
+ return transport.requestParsed(schema, `/api/action/${id}`, {
571
+ ...options,
572
+ method: "PUT",
573
+ body: params
574
+ });
575
+ }
576
+ /** Archive (soft-delete) a data action by id. Metabase models this as an update, not its own endpoint. */
577
+ async function archive(id, options = {}) {
578
+ await transport.require("dataAction.archive", options);
579
+ return update(id, { archived: true }, options);
580
+ }
581
+ /** Delete a data action by id, removing it and the dashboard buttons that run it. */
582
+ async function remove(id, options = {}) {
583
+ await transport.require("dataAction.delete", options);
584
+ await transport.requestRaw(`/api/action/${id}`, {
585
+ ...options,
586
+ method: "DELETE",
587
+ expectContentType: "binary"
588
+ });
589
+ }
590
+ /** Execute a data action by id with parameter values keyed by parameter id. */
591
+ async function execute(id, params, options = {}) {
592
+ await transport.require("dataAction.execute", options);
593
+ return transport.requestParsed(DataActionExecuteResult, `/api/action/${id}/execute`, {
594
+ ...options,
595
+ method: "POST",
596
+ body: params
597
+ });
598
+ }
599
+ return {
600
+ list,
601
+ get,
602
+ create,
603
+ update,
604
+ archive,
605
+ delete: remove,
606
+ execute
607
+ };
608
+ }
609
+ //#endregion
841
610
  //#region ../client/src/resources/database.ts
842
611
  const DatabaseApiList = z.object({
843
612
  data: z.array(Database),
@@ -3892,167 +3661,6 @@ function transformTagResource(transport) {
3892
3661
  };
3893
3662
  }
3894
3663
  //#endregion
3895
- //#region ../client/src/domain/transform-test.ts
3896
- const TransformTestTable = z.object({
3897
- schema: z.string().min(1).nullable().optional(),
3898
- name: z.string().min(1)
3899
- }).loose();
3900
- const TransformTestColumn = z.object({
3901
- name: z.string().min(1),
3902
- cast_type: z.string().min(1)
3903
- }).loose();
3904
- const TransformTestCell = z.union([
3905
- z.boolean(),
3906
- z.number(),
3907
- z.string(),
3908
- z.null()
3909
- ]);
3910
- const TransformTestRow = z.record(z.string(), TransformTestCell);
3911
- const TransformTestSqlInput = z.object({
3912
- table: TransformTestTable,
3913
- format: z.literal("sql"),
3914
- sql: z.string().min(1)
3915
- }).loose();
3916
- const TransformTestRowsInput = z.object({
3917
- table: TransformTestTable,
3918
- format: z.literal("rows"),
3919
- columns: z.array(TransformTestColumn).min(1),
3920
- rows: z.array(TransformTestRow)
3921
- }).loose();
3922
- const TransformTestInput = z.discriminatedUnion("format", [TransformTestSqlInput, TransformTestRowsInput]);
3923
- const TransformTestEqualsSqlExpectation = z.object({
3924
- type: z.literal("equals"),
3925
- name: z.string().min(1),
3926
- format: z.literal("sql"),
3927
- sql: z.string().min(1)
3928
- }).loose();
3929
- const TransformTestEqualsRowsExpectation = z.object({
3930
- type: z.literal("equals"),
3931
- name: z.string().min(1),
3932
- format: z.literal("rows"),
3933
- columns: z.array(TransformTestColumn).min(1),
3934
- rows: z.array(TransformTestRow)
3935
- }).loose();
3936
- const TransformTestEqualsExpectation = z.discriminatedUnion("format", [TransformTestEqualsSqlExpectation, TransformTestEqualsRowsExpectation]);
3937
- const TransformTestEmptyExpectation = z.object({
3938
- type: z.literal("empty"),
3939
- name: z.string().min(1),
3940
- sql: z.string().min(1)
3941
- }).loose();
3942
- const TransformTestExpectation = z.discriminatedUnion("type", [TransformTestEqualsExpectation, TransformTestEmptyExpectation]);
3943
- const TransformTest = z.object({
3944
- id: z.number().int(),
3945
- entity_id: z.string(),
3946
- transform_id: z.number().int(),
3947
- creator_id: z.number().int(),
3948
- name: z.string(),
3949
- description: z.string().nullable(),
3950
- inputs: z.array(TransformTestInput),
3951
- expectations: z.array(TransformTestExpectation),
3952
- created_at: z.string(),
3953
- updated_at: z.string()
3954
- }).loose();
3955
- TransformTest.pick({
3956
- id: true,
3957
- transform_id: true,
3958
- name: true,
3959
- description: true
3960
- }).strip();
3961
- z.object({
3962
- transform_id: z.number().int().positive(),
3963
- name: z.string().min(1),
3964
- description: z.string().nullable().optional(),
3965
- inputs: z.array(TransformTestInput),
3966
- expectations: z.array(TransformTestExpectation)
3967
- }).loose();
3968
- z.object({
3969
- transform_id: z.number().int().positive().optional(),
3970
- name: z.string().min(1).optional(),
3971
- description: z.string().nullable().optional(),
3972
- inputs: z.array(TransformTestInput).optional(),
3973
- expectations: z.array(TransformTestExpectation).optional()
3974
- }).loose();
3975
- const TransformTestResultColumn = z.object({
3976
- name: z.string(),
3977
- database_type: z.string()
3978
- }).loose();
3979
- const TransformTestExpectationError = z.object({
3980
- type: z.string(),
3981
- message: z.string()
3982
- }).loose();
3983
- const TransformTestCellMismatch = z.object({
3984
- column: z.string(),
3985
- expected: TransformTestCell,
3986
- actual: TransformTestCell
3987
- }).loose();
3988
- const TransformTestRowCounts = z.object({
3989
- actual: z.number().int(),
3990
- expected: z.number().int()
3991
- }).loose();
3992
- const TransformTestEqualsFindings = z.object({
3993
- name: z.string(),
3994
- type: z.literal("equals"),
3995
- status: z.enum(["passed", "failed"]),
3996
- columns: z.array(TransformTestResultColumn),
3997
- "row-counts": TransformTestRowCounts,
3998
- "extra-rows": z.array(TransformTestRow),
3999
- "missing-rows": z.array(TransformTestRow),
4000
- "cell-mismatches": z.array(TransformTestCellMismatch),
4001
- truncated: z.number().int()
4002
- }).loose();
4003
- const TransformTestEqualsError = z.object({
4004
- name: z.string(),
4005
- type: z.literal("equals"),
4006
- status: z.literal("error"),
4007
- error: TransformTestExpectationError
4008
- }).loose();
4009
- const TransformTestEqualsResult = z.discriminatedUnion("status", [TransformTestEqualsFindings, TransformTestEqualsError]);
4010
- const TransformTestEmptyPassed = z.object({
4011
- name: z.string(),
4012
- type: z.literal("empty"),
4013
- status: z.literal("passed")
4014
- }).loose();
4015
- const TransformTestEmptyFailed = z.object({
4016
- name: z.string(),
4017
- type: z.literal("empty"),
4018
- status: z.literal("failed"),
4019
- columns: z.array(TransformTestResultColumn),
4020
- sample: z.array(TransformTestRow),
4021
- truncated: z.number().int()
4022
- }).loose();
4023
- const TransformTestEmptyError = z.object({
4024
- name: z.string(),
4025
- type: z.literal("empty"),
4026
- status: z.literal("error"),
4027
- error: TransformTestExpectationError
4028
- }).loose();
4029
- const TransformTestEmptyResult = z.discriminatedUnion("status", [
4030
- TransformTestEmptyPassed,
4031
- TransformTestEmptyFailed,
4032
- TransformTestEmptyError
4033
- ]);
4034
- const TransformTestExpectationResult = z.discriminatedUnion("type", [TransformTestEqualsResult, TransformTestEmptyResult]);
4035
- const TransformTestRunResult = z.object({
4036
- status: z.enum(["passed", "failed"]),
4037
- expectations: z.array(TransformTestExpectationResult),
4038
- tables: z.record(z.string(), z.string())
4039
- }).loose();
4040
- z.enum([
4041
- "transform-test.unknown-column",
4042
- "transform-test.ambiguous-column",
4043
- "transform-test.missing-inputs",
4044
- "transform-test.unused-inputs",
4045
- "transform-test.duplicate-input-table",
4046
- "transform-test.unparseable-source",
4047
- "transform-test.unremapped-reference",
4048
- "transform-test.unsupported-transform",
4049
- "transform-test.unsupported-driver",
4050
- "transform-test.transform-failed",
4051
- "transform-test.setup-failed",
4052
- "transform-test.expectation-failed",
4053
- "transform-test.unsupported-format"
4054
- ]);
4055
- //#endregion
4056
3664
  //#region ../client/src/resources/transform-test.ts
4057
3665
  const TransformTestApiList = z.array(TransformTest);
4058
3666
  function transformTestResource(transport) {
@@ -4207,6 +3815,7 @@ function createClient(config, options) {
4207
3815
  collection: collectionResource(transport),
4208
3816
  contentTranslation: contentTranslationResource(transport),
4209
3817
  dashboard: dashboardResource(transport),
3818
+ dataAction: dataActionResource(transport),
4210
3819
  database: databaseResource(transport),
4211
3820
  dataset: datasetResource(transport),
4212
3821
  dependency: dependencyResource(transport),
@@ -0,0 +1,21 @@
1
+ import { t as defineCommandGroup } from "./group-D4w87fXL.mjs";
2
+ //#region src/commands/collection/index.ts
3
+ var collection_default = defineCommandGroup({
4
+ name: "collection",
5
+ description: "Manage Metabase collections",
6
+ skills: [{
7
+ skill: "core",
8
+ purpose: "collection ref forms and the transforms namespace"
9
+ }],
10
+ subCommands: {
11
+ list: () => import("./list-C7PV9fYj.mjs").then((mod) => mod.default),
12
+ get: () => import("./get-xmhwvAQJ.mjs").then((mod) => mod.default),
13
+ items: () => import("./items-DNdICQ7M.mjs").then((mod) => mod.default),
14
+ tree: () => import("./tree-oBEw8hDj.mjs").then((mod) => mod.default),
15
+ create: () => import("./create-BfA1pnmS.mjs").then((mod) => mod.default),
16
+ update: () => import("./update-BqrZ-8IK.mjs").then((mod) => mod.default),
17
+ archive: () => import("./archive-ZnHzMJaM.mjs").then((mod) => mod.default)
18
+ }
19
+ });
20
+ //#endregion
21
+ export { collection_default as default };
@@ -1,4 +1,4 @@
1
- import { t as NonBlankText } from "./text-DaNkPRwt.mjs";
1
+ import { t as NonBlankText } from "./text-CdtEI6l6.mjs";
2
2
  import { z } from "zod";
3
3
  //#region ../client/src/domain/collection.ts
4
4
  const CollectionId = z.union([z.number().int(), z.string()]);
@@ -1,4 +1,4 @@
1
- import { a as CollectionCompact, l as CollectionItemCompact } from "./collection-D3KXhvnc.mjs";
1
+ import { a as CollectionCompact, l as CollectionItemCompact } from "./collection-BgPYl2c5.mjs";
2
2
  //#region src/output/views/collection.ts
3
3
  const collectionView = {
4
4
  compactPick: CollectionCompact,
@@ -1,5 +1,5 @@
1
- import { at as ConfigError } from "./cli.mjs";
2
- import { P as HttpError } from "./runtime-CZ5zh32z.mjs";
1
+ import { ot as ConfigError } from "./cli.mjs";
2
+ import { P as HttpError } from "./runtime-X6hVzSMW.mjs";
3
3
  //#region src/commands/transform/collection-namespace.ts
4
4
  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.";
5
5
  function enrichTransformCollectionError(error) {
@@ -1,11 +1,11 @@
1
- import { t as defineCommandGroup } from "./group-bpD_KcjA.mjs";
1
+ import { t as defineCommandGroup } from "./group-D4w87fXL.mjs";
2
2
  //#region src/commands/content-translation/index.ts
3
3
  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-DluF-vnU.mjs").then((mod) => mod.default),
8
- upload: () => import("./upload-Dg91ldGg.mjs").then((mod) => mod.default)
7
+ download: () => import("./download-CZdsDdhG.mjs").then((mod) => mod.default),
8
+ upload: () => import("./upload-CGz8u2wG.mjs").then((mod) => mod.default)
9
9
  }
10
10
  });
11
11
  //#endregion