@metabase/cli 0.5.12 → 0.5.14-alpha.cover-more-endpoints-for-mbcode.5fc0688

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 (266) hide show
  1. package/dist/{add-collection-Bdnq6dfy.mjs → add-collection-DJzcGtj4.mjs} +1 -1
  2. package/dist/{alert-o2pHsbTh.mjs → alert-BMvkIX-V.mjs} +6 -6
  3. package/dist/{alerts-DS_uGWg-.mjs → alerts-CTyKwehF.mjs} +2 -2
  4. package/dist/{api-key-CfniVimJ.mjs → api-key-D23nm3yO.mjs} +3 -3
  5. package/dist/{append-DQCGJbx4.mjs → append-OiwbsoSf.mjs} +2 -2
  6. package/dist/{archive-Dku9fvdF.mjs → archive-5Iq32HEZ.mjs} +1 -1
  7. package/dist/{archive-DdnsMLHq.mjs → archive-6EMDIxGQ.mjs} +1 -1
  8. package/dist/{archive-BGHhmYW5.mjs → archive-B0cppwFz.mjs} +1 -1
  9. package/dist/{archive-CynNRHMt.mjs → archive-BJjGUSYK.mjs} +1 -1
  10. package/dist/{archive-DpT24NkM.mjs → archive-BXGTQk6v.mjs} +1 -1
  11. package/dist/{archive-DPETdLEn.mjs → archive-BlqPlRkv.mjs} +1 -1
  12. package/dist/{archive-CXsX26eE.mjs → archive-BrfFLutN.mjs} +1 -1
  13. package/dist/{archive-8xnKLGce.mjs → archive-CfA3hLMB.mjs} +1 -1
  14. package/dist/{archive-DoDF-x8G.mjs → archive-Cy2ErmV_.mjs} +1 -1
  15. package/dist/{archive-CNrp0Xu5.mjs → archive-DFRet_WE.mjs} +1 -1
  16. package/dist/{archive-BbXaLXFf.mjs → archive-DYRWEtgS.mjs} +1 -1
  17. package/dist/{archive-BhNU06xM.mjs → archive-wFufkogP.mjs} +1 -1
  18. package/dist/{auth-BQxyR2Ky.mjs → auth-DbvHl1mv.mjs} +4 -4
  19. package/dist/{branches-wa3G1T3B.mjs → branches-4nQwBRn-.mjs} +1 -1
  20. package/dist/{breaking-Cem7y-9U.mjs → breaking-B60w28TB.mjs} +1 -1
  21. package/dist/{broken-BkGLSqSO.mjs → broken-AYBRS3fU.mjs} +1 -1
  22. package/dist/{bulk-discard-values-BHryu-rZ.mjs → bulk-discard-values-BrGUZjx3.mjs} +1 -1
  23. package/dist/{bulk-edit-BPFITnRN.mjs → bulk-edit-DRKPfdvF.mjs} +1 -1
  24. package/dist/{bulk-rescan-values-DaeLpv7G.mjs → bulk-rescan-values-BRskV9Ug.mjs} +1 -1
  25. package/dist/{bulk-sync-schema-C_HNWZpZ.mjs → bulk-sync-schema-5tLPgo4m.mjs} +1 -1
  26. package/dist/{cancel-DiMIFIU9.mjs → cancel-CUusj5DZ.mjs} +1 -1
  27. package/dist/{cancel-task-0N0qb4_g.mjs → cancel-task-CPpxw9ro.mjs} +1 -1
  28. package/dist/{card-CWDFIZAt.mjs → card-Bb7HmgWr.mjs} +8 -8
  29. package/dist/{cards-Cu4jpvyn.mjs → cards-BtI858fw.mjs} +1 -1
  30. package/dist/{ci-CpsS8nSN.mjs → ci-B3RibgkB.mjs} +1 -1
  31. package/dist/cli.mjs +72 -43
  32. package/dist/{client-C8qLIQKB.mjs → client-Blk6DEyS.mjs} +402 -10
  33. package/dist/{collection-DF-kPs9K.mjs → collection-Co14NbD6.mjs} +7 -7
  34. package/dist/{content-translation-CfV9Ro5C.mjs → content-translation-52Eeb4ex.mjs} +2 -2
  35. package/dist/{copy-C8TUUSSh.mjs → copy-ByiA99ad.mjs} +1 -1
  36. package/dist/{copy-x3tre7ha.mjs → copy-fjdEbKEL.mjs} +1 -1
  37. package/dist/{create-BsbmZHOQ.mjs → create-BCE54UOt.mjs} +1 -1
  38. package/dist/{create-DcFQ2i9q.mjs → create-BCh91WW-.mjs} +1 -1
  39. package/dist/{create-6kfGBJ0u.mjs → create-BR9EwLe3.mjs} +1 -1
  40. package/dist/{create-CLxy2CyM.mjs → create-BSLCwcng.mjs} +1 -1
  41. package/dist/{create-axKIP4Lc.mjs → create-BT0AF_Uw.mjs} +1 -1
  42. package/dist/{create-DIRUAgUx.mjs → create-Btg4ubCp.mjs} +1 -1
  43. package/dist/{create-cXQtGG2g2.mjs → create-C4TeNsId2.mjs} +1 -1
  44. package/dist/{create-BEAJgGgc.mjs → create-COn_7kvg.mjs} +1 -1
  45. package/dist/{create-CtMZUIOK.mjs → create-CYXLviXa.mjs} +1 -1
  46. package/dist/{create-0nBN5L6G.mjs → create-D3jW-1Px.mjs} +2 -2
  47. package/dist/{create-Cj75IfaX.mjs → create-DTf9Ow_X.mjs} +1 -1
  48. package/dist/{create-DG1mYdU7.mjs → create-DiiSZf-a.mjs} +1 -1
  49. package/dist/{create-CCxsc9eK.mjs → create-Dsw3sj8m.mjs} +1 -1
  50. package/dist/{create-zuE-3HGv.mjs → create-Dv3EXqPH.mjs} +1 -1
  51. package/dist/{create-DS1ayvrI.mjs → create-O6NRnXN2.mjs} +1 -1
  52. package/dist/{create-DloJkv0t.mjs → create-OUmMh_VF.mjs} +1 -1
  53. package/dist/{create-BaIQ7zio.mjs → create-S_Zxue41.mjs} +1 -1
  54. package/dist/{create-lsrPI45N.mjs → create-UxNxOCly.mjs} +1 -1
  55. package/dist/{create-branch-CQHIvpmr.mjs → create-branch-Dr3xaBVZ.mjs} +1 -1
  56. package/dist/{create-B8qSd0YU.mjs → create-s4jqUEnS.mjs} +1 -1
  57. package/dist/{csv-zQ5stw4T.mjs → csv-C5fM43Kq.mjs} +2 -2
  58. package/dist/{current-task-CYWaDg5P.mjs → current-task-CVIxHhZD.mjs} +1 -1
  59. package/dist/{dashboard-CDNnQXAe.mjs → dashboard-C9c-3M-D.mjs} +11 -11
  60. package/dist/{data-action-DX_TuywQ.mjs → data-action-C686IOS8.mjs} +7 -7
  61. package/dist/{data-app-xTQWmzq-.mjs → data-app-BWj4SpLT.mjs} +12 -8
  62. package/dist/{database-C5ucihp3.mjs → database-BSETP2o-.mjs} +9 -2
  63. package/dist/{database-u_spHEa0.mjs → database-CCUXiXH_.mjs} +1 -1
  64. package/dist/{dataset-LJxNN6p5.mjs → dataset-a7Q_ocDR.mjs} +1 -1
  65. package/dist/{db-DBT-XMcs.mjs → db-DRZSHe1q.mjs} +7 -7
  66. package/dist/{delete-Du7t8vTU.mjs → delete-3Z4oIBdy.mjs} +1 -1
  67. package/dist/{delete-DiBfDyWE.mjs → delete-B7RBZmY_.mjs} +1 -1
  68. package/dist/{delete-lSNap63e.mjs → delete-BNVRCj6Q.mjs} +1 -1
  69. package/dist/{delete-DwbfrWC4.mjs → delete-BbCSnpU4.mjs} +1 -1
  70. package/dist/{delete-Du3GTGrS.mjs → delete-Byr5lvqH.mjs} +1 -1
  71. package/dist/{delete-FOycMM5r.mjs → delete-D-BxPS-t.mjs} +1 -1
  72. package/dist/{delete-CSlir440.mjs → delete-DueThJ9s.mjs} +1 -1
  73. package/dist/{delete-BHHw-4oq.mjs → delete-Qu3KFV4S.mjs} +1 -1
  74. package/dist/{delete-DAE74TK7.mjs → delete-dYG0WOzJ.mjs} +1 -1
  75. package/dist/{delete-table-Bn3lb-gW.mjs → delete-table-B7gWdygE.mjs} +1 -1
  76. package/dist/{dependencies-CHQOCCXo.mjs → dependencies-BxPGkZV0.mjs} +1 -1
  77. package/dist/{dependency-BQuI3QS1.mjs → dependency-lYZqkVhF.mjs} +5 -5
  78. package/dist/{dependents-COag5f7O.mjs → dependents-BNhX8duy.mjs} +1 -1
  79. package/dist/{dirty-DEsgt8QN.mjs → dirty-dcixQIPk.mjs} +1 -1
  80. package/dist/{discard-values-CkGnpZB3.mjs → discard-values-xbO7_GZP.mjs} +1 -1
  81. package/dist/{document-BY74mMhh.mjs → document-u01leBVr.mjs} +6 -6
  82. package/dist/{download-DMxWx04z.mjs → download-DOnWhcxJ.mjs} +1 -1
  83. package/dist/{eid-Dk7g1tz0.mjs → eid-C6mw8GTY.mjs} +1 -1
  84. package/dist/{embedding-sdk-DdFCPKMa.mjs → embedding-sdk-Fw8QM10p.mjs} +1 -1
  85. package/dist/{entry-flags-C63qXMR4.mjs → entry-flags-ZsxJgNQX.mjs} +1 -1
  86. package/dist/{events-DtN-OE9S.mjs → events-DbiGBvOO.mjs} +1 -1
  87. package/dist/{execute-CEbgEWvO.mjs → execute-Dut8mp4x.mjs} +1 -1
  88. package/dist/{export-CikXGxZP.mjs → export-DWm9KD8P.mjs} +2 -2
  89. package/dist/{export-preflight-2RkCrd6x.mjs → export-preflight-C8ZEm4LA.mjs} +1 -1
  90. package/dist/{field-SgHCyoPp.mjs → field-DgjHHVxm.mjs} +7 -7
  91. package/dist/{fields-30XWd-y0.mjs → fields-D83_FRxX.mjs} +1 -1
  92. package/dist/{fks-DbCuuP96.mjs → fks-CvHFfc9-.mjs} +1 -1
  93. package/dist/{generate-actions-PYrvMiLN.mjs → generate-actions-DdWCBLbI.mjs} +1 -1
  94. package/dist/{generate-queries-DlGaK7DB.mjs → generate-queries-D2-hoHbH.mjs} +1 -1
  95. package/dist/{generate-schema-DqXCs2iX.mjs → generate-schema-GzOla0-H.mjs} +1 -1
  96. package/dist/{get-titd1P4z.mjs → get-B6Oun1Wt.mjs} +1 -1
  97. package/dist/{get-BY2dpwUf.mjs → get-BHzgu9Vn.mjs} +1 -1
  98. package/dist/{get-BiJUoTTz.mjs → get-Bjs0bdq-.mjs} +1 -1
  99. package/dist/{get-f6LqvU79.mjs → get-Bpkaz8yl.mjs} +1 -1
  100. package/dist/{get-c5S1A1KR.mjs → get-C0Pou1iS.mjs} +1 -1
  101. package/dist/{get-B5IXr2LA.mjs → get-CE8XB5Ff.mjs} +1 -1
  102. package/dist/{get-DffZWqVG.mjs → get-CFnCAJ8A.mjs} +1 -1
  103. package/dist/{get-FQUF2V2a.mjs → get-CIiw9jYG.mjs} +1 -1
  104. package/dist/{get-C4V3bjdM.mjs → get-CJIMItSK.mjs} +1 -1
  105. package/dist/{get-CWt5CGo1.mjs → get-Cc7a55Qq.mjs} +1 -1
  106. package/dist/{get-CDy5pcag.mjs → get-Cix3ChSR.mjs} +1 -1
  107. package/dist/{get-DhzTEa4L.mjs → get-CpoEMbjo.mjs} +1 -1
  108. package/dist/{get-Dv5FwVWt.mjs → get-DAYyzoap.mjs} +1 -1
  109. package/dist/{get-DpJr1uPp.mjs → get-DDaAPHvY.mjs} +1 -1
  110. package/dist/{get-ChuHytCB.mjs → get-DLUfFObl.mjs} +1 -1
  111. package/dist/{get-DNtdPWc7.mjs → get-DlUJRAgf.mjs} +1 -1
  112. package/dist/{get-D2QYpaHG.mjs → get-Dp-pkw9c.mjs} +1 -1
  113. package/dist/{get-BPg5lW4z.mjs → get-DxvR0it8.mjs} +1 -1
  114. package/dist/{get-C3VvI9wW.mjs → get-JcggOTHQ.mjs} +1 -1
  115. package/dist/{get-DdtPtNWP.mjs → get-YTWSCyhk.mjs} +3 -3
  116. package/dist/{get-run-BdEVSnOR.mjs → get-run-CjhSF4xV.mjs} +1 -1
  117. package/dist/{get-DBnnbbJU.mjs → get-rzewe7MT.mjs} +1 -1
  118. package/dist/{get-DgVbjtv7.mjs → get-scHHOIDB.mjs} +2 -2
  119. package/dist/git-sync-NroY04HH.mjs +29 -0
  120. package/dist/{glossary-C2p6xe3-.mjs → glossary-DYZ_oNE1.mjs} +4 -4
  121. package/dist/{graph-Dp0sxg6m.mjs → graph-q-ho-Ckx.mjs} +1 -1
  122. package/dist/{has-remote-changes-CMMXEsXa.mjs → has-remote-changes-BPT3ro8x.mjs} +1 -1
  123. package/dist/{import-DZmfmoBw.mjs → import-csQ0DwW5.mjs} +2 -2
  124. package/dist/{is-dirty-DgrWNWdj.mjs → is-dirty-DC5HD7x9.mjs} +1 -1
  125. package/dist/{items-BvyV49xR.mjs → items-CY8s_m8H.mjs} +1 -1
  126. package/dist/{library-CMC67i7O.mjs → library-Cfs1NYLf.mjs} +4 -4
  127. package/dist/{list-rPk7T17I.mjs → list-B0UNVc3n.mjs} +1 -1
  128. package/dist/{list-BjIwIaNZ.mjs → list-BJNP1BQT.mjs} +1 -1
  129. package/dist/{list-B1NRLXpA.mjs → list-BRszRCfL.mjs} +1 -1
  130. package/dist/{list-XRvOaGPo.mjs → list-BTZjkrSb.mjs} +1 -1
  131. package/dist/{list-CcFPkvbL.mjs → list-BbfYuR8B.mjs} +1 -1
  132. package/dist/{list-AcjI7IXu.mjs → list-BiQ420kS.mjs} +1 -1
  133. package/dist/{list-BV-qhqJB.mjs → list-BjLjVNcZ.mjs} +1 -1
  134. package/dist/{list-pMhI_i46.mjs → list-BjP-K2tb.mjs} +2 -2
  135. package/dist/{list-Bkmb6qmP.mjs → list-BmhbG3wJ.mjs} +1 -1
  136. package/dist/{list-CUQa6nrb.mjs → list-BnoYDfr5.mjs} +1 -1
  137. package/dist/{list-DPNOIQbS.mjs → list-BskRDrtC.mjs} +1 -1
  138. package/dist/{list-BcTm5zD7.mjs → list-C2Jfy1Da.mjs} +1 -1
  139. package/dist/{list-DgEws5kk.mjs → list-C4N4ia-K.mjs} +1 -1
  140. package/dist/{list-Bh0hf0aa.mjs → list-CELONJ3c.mjs} +1 -1
  141. package/dist/{list-CSK4Ee6N.mjs → list-CQZwD2p8.mjs} +1 -1
  142. package/dist/{list-ClMrjYPe.mjs → list-Cd8kmSoR.mjs} +1 -1
  143. package/dist/{list-D2I4stFV.mjs → list-Ch6m2lp2.mjs} +3 -3
  144. package/dist/{list-DyKjezNg.mjs → list-Dt5fK66s.mjs} +1 -1
  145. package/dist/{list-Bt2qs02U.mjs → list-Du5brDb-.mjs} +1 -1
  146. package/dist/{list-D7iymMGH.mjs → list-E_agT4ZM.mjs} +1 -1
  147. package/dist/{list-DK0LD_us.mjs → list-KlezfVK2.mjs} +1 -1
  148. package/dist/{list-C0bBB4ay.mjs → list-_VIvph66.mjs} +1 -1
  149. package/dist/{list-9tV8el7U.mjs → list-qLFwCjmm.mjs} +3 -3
  150. package/dist/{login-DGfZBNuL.mjs → login-29tLLVJP.mjs} +3 -3
  151. package/dist/{logout-bG_ZJkyr.mjs → logout-DwmXJLsp.mjs} +1 -1
  152. package/dist/{measure-Do19ivCX.mjs → measure-DcHw_MiT.mjs} +5 -5
  153. package/dist/{nano-id-D_xVCG80.mjs → nano-id-BRmKx_yj.mjs} +1 -1
  154. package/dist/{parameter-values-gcfN0NVF.mjs → parameter-values-ZwmQ1Udg.mjs} +1 -1
  155. package/dist/{path-bfe3wQV4.mjs → path-BlDwkDf9.mjs} +2 -2
  156. package/dist/{poll-DsKAeWSG.mjs → poll-kX01Xu7c.mjs} +1 -1
  157. package/dist/{publish-uDuRQoQ5.mjs → publish-BEBIyLN5.mjs} +1 -1
  158. package/dist/{query-BBblM0de.mjs → query-BP-djKNO.mjs} +3 -3
  159. package/dist/{query-yzdVy8IY.mjs → query-BoU_Hk1V.mjs} +1 -1
  160. package/dist/{registry-flag-C6CMpxSu.mjs → registry-flag-DcJSw5a5.mjs} +1 -1
  161. package/dist/{remapping-BYNOF4xJ.mjs → remapping-5M8OXoYq.mjs} +1 -1
  162. package/dist/{remove-collection-C_nLjEG6.mjs → remove-collection-BKYePbf6.mjs} +1 -1
  163. package/dist/{render-DPahQNYA.mjs → render-CTBZejXY.mjs} +1 -1
  164. package/dist/{replace-Dx_IgvBM.mjs → replace-CRO_HjDu.mjs} +2 -2
  165. package/dist/{requirement-check-juL6K2it.mjs → requirement-check-BuzAsCEY.mjs} +1 -1
  166. package/dist/{rescan-values-C1ryy_S5.mjs → rescan-values-CuNJ1lGi.mjs} +3 -3
  167. package/dist/{rescan-values-B_5r6t7K.mjs → rescan-values-DMfiAgMb.mjs} +1 -1
  168. package/dist/{run-B19FOhID.mjs → run-C-3POoeR.mjs} +2 -2
  169. package/dist/{run-DM99qbxN.mjs → run-CizS77_E.mjs} +1 -1
  170. package/dist/{run-By9Q7-P6.mjs → run-DG2s6HbZ.mjs} +2 -2
  171. package/dist/{run-Dh4TQtVl.mjs → run-DVv5LbTr.mjs} +1 -1
  172. package/dist/{runs-BlnHJEpy.mjs → runs-Cga1onM9.mjs} +1 -1
  173. package/dist/{runtime-DMb47Kan.mjs → runtime-icvfPElD.mjs} +65 -21
  174. package/dist/{scaffold-xys21-_c.mjs → scaffold-rI9rqE8J.mjs} +4 -4
  175. package/dist/{schema-CItr2vjk.mjs → schema-ChNwnR_v.mjs} +1 -1
  176. package/dist/{schema-tables-CxgXdUtj.mjs → schema-tables-BsQB8kdp.mjs} +1 -1
  177. package/dist/{schemas-BLhPyQRt.mjs → schemas-DizhjGRh.mjs} +1 -1
  178. package/dist/{sdk-version-C_rurdw5.mjs → sdk-version-CW1yxLZG.mjs} +3 -3
  179. package/dist/{search-D9RL_Ao0.mjs → search-CO-lBs1n.mjs} +1 -1
  180. package/dist/{search-DW9byR1X.mjs → search-CZvjLzlk.mjs} +1 -1
  181. package/dist/{segment-DYN7sJO_.mjs → segment-CEkRgEM5.mjs} +5 -5
  182. package/dist/{send-OMqLoun6.mjs → send-DnACnI3O.mjs} +1 -1
  183. package/dist/{set-DjYrobzO.mjs → set-_14cgP8Q.mjs} +1 -1
  184. package/dist/{set-active-RCOa06in.mjs → set-active-uPlvtNW_.mjs} +1 -1
  185. package/dist/{set-data-actions-CcZHF3ot.mjs → set-data-actions-CUDz-Z1n.mjs} +3 -3
  186. package/dist/{set-enabled-IrDIT7Uc.mjs → set-enabled-BIaLKzh-.mjs} +1 -1
  187. package/dist/{set-sensitivity-ZJb78vYE.mjs → set-sensitivity-BiiFrr8R.mjs} +1 -1
  188. package/dist/{setting-DjFeW_Bd.mjs → setting-Exfniunx.mjs} +3 -3
  189. package/dist/{setup-71MuR246.mjs → setup-CHW9VP4d.mjs} +1 -1
  190. package/dist/{skills-yg-WfvpW.mjs → skills-CbMRgDyg.mjs} +1 -1
  191. package/dist/{skills-6NMamShR.mjs → skills-JvfWVDdS.mjs} +3 -3
  192. package/dist/{snippet-CnTWEAgc.mjs → snippet-OVXR6Y3M.mjs} +5 -5
  193. package/dist/{stash-CREL1rEx.mjs → stash-DuuL-oE4.mjs} +2 -2
  194. package/dist/{status-C7_WDust.mjs → status-CklSnHEH.mjs} +1 -1
  195. package/dist/{status-CIK0pGS1.mjs → status-kNuvMf-E.mjs} +2 -2
  196. package/dist/{subscription-Cssyopsy.mjs → subscription-CA2ij8ax.mjs} +5 -5
  197. package/dist/{subscriptions-DW-rgYA2.mjs → subscriptions-BVpir88T.mjs} +2 -2
  198. package/dist/{summary-BgYasLRg.mjs → summary-D4IdS4ui.mjs} +1 -1
  199. package/dist/{sync-schema-CERYSKAq.mjs → sync-schema-CmouoUmN.mjs} +4 -4
  200. package/dist/{sync-schema-Bw5lh64d.mjs → sync-schema-DGRksKzn.mjs} +1 -1
  201. package/dist/table-SnjFwjwZ.mjs +26 -0
  202. package/dist/{timeline-C1EGYIWm.mjs → timeline-BzZLfQ4C.mjs} +7 -7
  203. package/dist/{timeline-event-CNResXsb.mjs → timeline-event-Dl5VLbkp.mjs} +5 -5
  204. package/dist/transform-DVHety41.mjs +28 -0
  205. package/dist/transform-job-CTBdu_fH.mjs +22 -0
  206. package/dist/{transform-tag-Co2WuSBJ.mjs → transform-tag-Yp69-53i.mjs} +4 -4
  207. package/dist/{transform-test-DJTET6yX.mjs → transform-test-DOg55TiR.mjs} +6 -6
  208. package/dist/{transforms-D4WJPdxv.mjs → transforms-mIukRzGi.mjs} +1 -1
  209. package/dist/{transport-C23PjC9C.mjs → transport-CooEZWSM.mjs} +4 -3
  210. package/dist/{tree-BOzjsQT9.mjs → tree-CrI6CExE.mjs} +1 -1
  211. package/dist/{unpublish-jVyBAFYQ.mjs → unpublish-9xelQnKg.mjs} +1 -1
  212. package/dist/{unreferenced-CxZBGK-v.mjs → unreferenced-DwybWbv_.mjs} +1 -1
  213. package/dist/{update-DS7FwMdV.mjs → update-B2KG-bPS.mjs} +1 -1
  214. package/dist/{update-B0fK8ufL.mjs → update-B5o9YGR4.mjs} +1 -1
  215. package/dist/{update-DmVDc-cc.mjs → update-BGO8A-Dc.mjs} +1 -1
  216. package/dist/{update-CnOJU0E9.mjs → update-BMGh9Yut.mjs} +2 -2
  217. package/dist/{update-DkzE2qOr.mjs → update-BT-KU5ik.mjs} +1 -1
  218. package/dist/{update-DhyyfH1b.mjs → update-CRV8iYYM.mjs} +1 -1
  219. package/dist/{update-Datagi0N.mjs → update-CTReVn24.mjs} +1 -1
  220. package/dist/{update-C86ovTcd.mjs → update-CYo8FgXL.mjs} +1 -1
  221. package/dist/{update-DTkJqBmp.mjs → update-Cctb5Q6Q.mjs} +1 -1
  222. package/dist/{update-B2zy3jnR.mjs → update-Cdi5mRB0.mjs} +1 -1
  223. package/dist/{update-B9xWx1RV.mjs → update-CfH57l5u.mjs} +1 -1
  224. package/dist/{update-BvbuAD8_2.mjs → update-DJaxlhTr2.mjs} +1 -1
  225. package/dist/{update-Dmfimhno.mjs → update-DdoWropW.mjs} +1 -1
  226. package/dist/{update-B82aqBJ5.mjs → update-DeSEWxcE.mjs} +1 -1
  227. package/dist/{update-BPSI4D36.mjs → update-DlpaYaQJ.mjs} +1 -1
  228. package/dist/{update-nzPxtrWU.mjs → update-Dmc9beTx.mjs} +1 -1
  229. package/dist/{update-DTwwlTus.mjs → update-DsQWw0lg.mjs} +1 -1
  230. package/dist/{update-BP4Jzan1.mjs → update-_oK-yApr.mjs} +1 -1
  231. package/dist/{update-dashcard-dhjE7CQz.mjs → update-dashcard-2MHNS7N0.mjs} +1 -1
  232. package/dist/{update-SQtRtpRg.mjs → update-eXuJTw_J.mjs} +1 -1
  233. package/dist/{upgrade-Ckdl0SYl.mjs → upgrade-DqzD-StO.mjs} +2 -2
  234. package/dist/{upload-UYuGBsus.mjs → upload-BjannDFx.mjs} +2 -2
  235. package/dist/{upload-CTj7eVZk.mjs → upload-CPElN9Tz.mjs} +1 -1
  236. package/dist/{upload-DGl7iSh3.mjs → upload-CpVpqOx2.mjs} +3 -3
  237. package/dist/{uuid-CPLh7mDU.mjs → uuid-YUh1CUuc.mjs} +1 -1
  238. package/dist/{values-Bplkmfue.mjs → values-DE9CTWJ0.mjs} +1 -1
  239. package/dist/{verify-Cg1TFaPs.mjs → verify--wo2Ac1M.mjs} +2 -2
  240. package/dist/{verify-pLZ7b7JP.mjs → verify-DmJVskU0.mjs} +1 -1
  241. package/dist/{verify-CzlfG_Or.mjs → verify-qPqmekfD.mjs} +1 -1
  242. package/dist/{wait-D9yIDRpl.mjs → wait-COrnYsYy.mjs} +3 -3
  243. package/dist/{wait-flags-C4CH6rTJ.mjs → wait-flags-DIeSd2rv.mjs} +1 -1
  244. package/package.json +1 -1
  245. package/skill-data/data-app/SKILL.md +25 -23
  246. package/skill-data/data-app/template/README.md +8 -1
  247. package/skill-data/data-app/template/e2e/app.spec.ts +6 -0
  248. package/skill-data/data-app/template/gitignore +3 -0
  249. package/skill-data/data-app/template/package.json +12 -2
  250. package/skill-data/data-app/template/playwright.config.ts +14 -0
  251. package/skill-data/data-app/template/src/App.test.tsx +10 -0
  252. package/skill-data/data-app/template/src/metabase.actions.ts +0 -2
  253. package/skill-data/data-app/template/src/metabase.queries.ts +0 -2
  254. package/skill-data/data-app/template/src/test/render.tsx +10 -0
  255. package/skill-data/data-app/template/src/test/setup.ts +5 -0
  256. package/skill-data/data-app/template/tsconfig.json +2 -2
  257. package/skill-data/data-app/template/vitest.config.ts +9 -0
  258. package/skill-data/data-app-actions/SKILL.md +7 -5
  259. package/skill-data/data-app-data/SKILL.md +9 -11
  260. package/skill-data/data-app-filters/SKILL.md +6 -4
  261. package/skill-data/data-app-testing/SKILL.md +118 -0
  262. package/skill-data/data-app-ui/SKILL.md +1 -1
  263. package/dist/git-sync-BY0dqrLE.mjs +0 -29
  264. package/dist/table-Be5Vl7JT.mjs +0 -26
  265. package/dist/transform-Cev-LAhH.mjs +0 -28
  266. package/dist/transform-job-BnI6Ivqh.mjs +0 -22
@@ -1,10 +1,10 @@
1
1
  import { _ as formatZodIssue, c as InternalError, d as PartialWriteError, f as ResponseShapeError, g as errorMessage, o as ConfigError, p as TimeoutError, r as isPlainObject, y as isNonInterruptFailure } from "./predicates-0C0TsWcJ.mjs";
2
- import { R as CapabilityError, Y as HttpError, i as methodRequirements, r as isMethodKey, tt as parseJsonOrPlain } from "./cli.mjs";
2
+ import { R as CapabilityError, Y as HttpError, i as methodRequirements, nt as parseJsonResult, r as isMethodKey, tt as parseJsonOrPlain } from "./cli.mjs";
3
3
  import { i as NotificationCardPayload, n as CARD_PAYLOAD_TYPE, r as Notification, t as AnyNotification } from "./notification-B5yMuPmo.mjs";
4
- import { H as profileFromProperties, st as SessionProperties } from "./runtime-DMb47Kan.mjs";
4
+ import { H as profileFromProperties, ct as sessionSettingsSchema, st as SessionProperties } from "./runtime-icvfPElD.mjs";
5
5
  import { i as CreatedApiKey, t as ApiKey } from "./api-key-DbsqHlN6.mjs";
6
- import { n as featureFailures, r as supersedingFeature, t as checkFeatures } from "./requirement-check-juL6K2it.mjs";
7
- import { n as createTransport } from "./transport-C23PjC9C.mjs";
6
+ import { n as featureFailures, r as supersedingFeature, t as checkFeatures } from "./requirement-check-BuzAsCEY.mjs";
7
+ import { n as createTransport } from "./transport-CooEZWSM.mjs";
8
8
  import { i as CardDetail, o as CardQueryResult, t as Card } from "./card-BJRZ5D5Q.mjs";
9
9
  import { t as gateInput } from "./input-gate-registry-Dh8QjKgW.mjs";
10
10
  import { _ as fieldRemappedValueSchema, c as FieldSemanticType, d as FieldValues, g as fieldDetailSchema, p as FieldWithDataSensitivity, r as FieldBaseType, s as FieldSearchMatches, t as DATA_SENSITIVITY_GATE } from "./field-C2qOViFZ.mjs";
@@ -12,15 +12,15 @@ import { r as ModerationReviewCreateInput, t as ModerationReview } from "./moder
12
12
  import { i as ParameterValues, o as TemporalUnit } from "./parameter-Bucz3cLJ.mjs";
13
13
  import { r as PivotExportFormat, t as DatasetQuery } from "./query-BKtMP5eH.mjs";
14
14
  import { S as TableSelectors, _ as TableQueryMetadata, a as Table, d as TableDataLayerTier, m as TableForeignKey, n as DATA_LAYER_MEDALLION_GATE, r as DATA_LAYER_TIER_GATE, t as DATA_AUTHORITY_WITHDRAWAL_GATE, w as TableVisibilityType } from "./table-hgrX1i-R.mjs";
15
- import { c as DatabaseWithSettings, t as Database } from "./database-C5ucihp3.mjs";
15
+ import { c as DatabaseWithSettings, t as Database } from "./database-BSETP2o-.mjs";
16
16
  import { t as Snippet } from "./snippet-CyKAgIZl.mjs";
17
- import { r as QueryMetadata, t as CompiledQuery } from "./dataset-LJxNN6p5.mjs";
17
+ import { r as QueryMetadata, t as CompiledQuery } from "./dataset-a7Q_ocDR.mjs";
18
18
  import { c as CollectionItem, m as CollectionTreeNode, r as Collection } from "./collection-Cz2qLX2m.mjs";
19
19
  import { t as ContentTranslationUploadResult } from "./content-translation-BrHOrmj9.mjs";
20
20
  import { a as DashboardCreateInput, f as Dashcard, g as dashboardDetailSchema, r as DashboardCopy, t as Dashboard } from "./dashboard-Cwsf-e9T.mjs";
21
21
  import { l as dataActionSchema, n as DATA_ACTION_TABLE_GATE, s as DataActionExecuteResult, t as DATA_ACTION_COLLECTION_GATE } from "./data-action-DAw6WRTH.mjs";
22
22
  import { a as DataAppGeneratedFiles, i as DataAppEntry, t as DataApp } from "./data-app-bl88oUla.mjs";
23
- import { r as pollUntil } from "./poll-DsKAeWSG.mjs";
23
+ import { r as pollUntil } from "./poll-kX01Xu7c.mjs";
24
24
  import { i as DependencyEntity, s as DependencyGraph, t as BreakingSource, u as DependencyNode } from "./dependency-C1DExO6k.mjs";
25
25
  import { t as Document } from "./document-BHOQq2T_.mjs";
26
26
  import { i as EidTranslateResult } from "./eid-translation-Ba92VOHe.mjs";
@@ -1498,6 +1498,12 @@ function isRemoteUnreadable(error) {
1498
1498
  if (!(error instanceof HttpError)) return false;
1499
1499
  return error.status === 403 || error.status === 404;
1500
1500
  }
1501
+ function settingsUpdateFeatures(params) {
1502
+ return params["remote-sync-transforms"] === void 0 ? [] : [{
1503
+ feature: "remoteSyncTransformsSetting",
1504
+ fields: ["remote-sync-transforms"]
1505
+ }];
1506
+ }
1501
1507
  function gitSyncResource(transport) {
1502
1508
  const { explain, refuse, refuseAfterReading } = explainer(transport, "gitSync");
1503
1509
  /** Get the running or most recently finished sync task, or null when the server has none. */
@@ -1709,6 +1715,26 @@ function gitSyncResource(transport) {
1709
1715
  "remote-sync-token": token
1710
1716
  };
1711
1717
  }
1718
+ /**
1719
+ * Configure the remote, the sync direction, the tracked branch, whether remote changes are
1720
+ * imported on their own, whether transforms are synced, and which collections are synced; a key
1721
+ * left out keeps its value. Admin only. A blank URL clears the remote. Send `remote-sync-url`
1722
+ * with the token, the direction or the branch: most servers check such an update against the URL
1723
+ * it carries and refuse it with 400 without one, and a server without
1724
+ * `remoteSyncCollectionsOnlyUpdate` checks every update that way. A read-write instance that
1725
+ * tracks a branch may refuse another `remote-sync-branch` with 400, leaving the switch to an
1726
+ * import of that branch. The server refuses with 400 while a sync task runs; one without
1727
+ * `remoteSyncCollectionsOnlyUpdate` saves the settings first and refuses only the import it would
1728
+ * start. On an instance left read-only the update starts an import, whose task id the answer
1729
+ * carries.
1730
+ */
1731
+ async function updateSettings(params, options = {}) {
1732
+ return transport.requestParsed(SyncSettingsUpdateResult, "/api/ee/remote-sync/settings", {
1733
+ ...options,
1734
+ method: "PUT",
1735
+ body: params
1736
+ });
1737
+ }
1712
1738
  /** The collections currently in git-sync's scope. */
1713
1739
  async function syncedCollections(options = {}) {
1714
1740
  return {
@@ -1789,6 +1815,7 @@ function gitSyncResource(transport) {
1789
1815
  branches: explain("branches", branches),
1790
1816
  createBranch: explain("createBranch", createBranch),
1791
1817
  setCollectionSynced: explain("setCollectionSynced", setCollectionSynced),
1818
+ updateSettings: explain("updateSettings", updateSettings, settingsUpdateFeatures),
1792
1819
  syncedCollections: refuse("syncedCollections", syncedCollections),
1793
1820
  remoteUrl,
1794
1821
  branch: refuseAfterReading("branch", RemoteSyncBranchProperty, branch),
@@ -1859,6 +1886,41 @@ function glossaryResource(transport) {
1859
1886
  };
1860
1887
  }
1861
1888
  //#endregion
1889
+ //#region ../client/src/domain/health.ts
1890
+ const Health = z.object({
1891
+ status: z.string(),
1892
+ progress: z.number().min(0).max(1).optional()
1893
+ }).loose();
1894
+ Health.pick({
1895
+ status: true,
1896
+ progress: true
1897
+ }).strip();
1898
+ //#endregion
1899
+ //#region ../client/src/resources/health.ts
1900
+ function healthResource(transport) {
1901
+ /**
1902
+ * Check whether the server is up: `ok` once it has booted and reaches its app database, else
1903
+ * `initializing` with its `progress`, or why the app database is out of reach. Needs no
1904
+ * credential. Answers without retrying unless `retries` is set.
1905
+ */
1906
+ async function get(options = {}) {
1907
+ try {
1908
+ return await transport.requestParsed(Health, "/api/health", {
1909
+ ...options,
1910
+ retries: options.retries ?? 0
1911
+ });
1912
+ } catch (error) {
1913
+ if (!(error instanceof HttpError) || error.status !== 503) throw error;
1914
+ const { body } = error.developerDetail;
1915
+ if (body === null) throw error;
1916
+ const health = parseJsonResult(body, Health);
1917
+ if (!health.ok) throw error;
1918
+ return health.value;
1919
+ }
1920
+ }
1921
+ return { get };
1922
+ }
1923
+ //#endregion
1862
1924
  //#region ../client/src/resources/library.ts
1863
1925
  const LIBRARY_ROOT_PATH = "/api/ee/library/";
1864
1926
  const PUBLISH_TABLES_PATH = "/api/ee/data-studio/table/publish-tables";
@@ -2317,6 +2379,17 @@ const PermissionsGraph = z.object({
2317
2379
  revision: z.number().int().nonnegative(),
2318
2380
  groups: z.record(z.string(), z.record(z.string(), DatabasePermissions))
2319
2381
  }).loose();
2382
+ const PermissionGroup = z.object({
2383
+ id: z.number().int(),
2384
+ name: z.string(),
2385
+ magic_group_type: z.string().nullable(),
2386
+ member_count: z.number().int().nonnegative()
2387
+ }).loose();
2388
+ PermissionGroup.pick({
2389
+ id: true,
2390
+ name: true,
2391
+ magic_group_type: true
2392
+ }).strip();
2320
2393
  //#endregion
2321
2394
  //#region ../client/src/resources/permission.ts
2322
2395
  function permissionResource(transport) {
@@ -2340,10 +2413,22 @@ function permissionResource(transport) {
2340
2413
  async function groupGraph(id, options = {}) {
2341
2414
  return transport.requestParsed(PermissionsGraph, `/api/permissions/graph/group/${id}`, { ...options });
2342
2415
  }
2416
+ /**
2417
+ * List the permission groups, each with its member count. Needs an admin, the settings
2418
+ * application permission, or a group manager, who sees only the groups they manage.
2419
+ * `GET /api/permissions/group` answers a bare array.
2420
+ */
2421
+ async function groups(options = {}) {
2422
+ return {
2423
+ data: await transport.requestParsed(z.array(PermissionGroup), "/api/permissions/group", { ...options }),
2424
+ total: null
2425
+ };
2426
+ }
2343
2427
  return {
2344
2428
  graph,
2345
2429
  databaseGraph,
2346
- groupGraph
2430
+ groupGraph,
2431
+ groups
2347
2432
  };
2348
2433
  }
2349
2434
  //#endregion
@@ -2839,8 +2924,21 @@ function segmentResource(transport) {
2839
2924
  archive
2840
2925
  };
2841
2926
  }
2927
+ z.object({
2928
+ username: z.string().min(1),
2929
+ password: z.string().min(1)
2930
+ }).strict();
2931
+ const Session = z.object({ id: z.string() }).loose();
2932
+ Session.pick({ id: true }).strip();
2842
2933
  //#endregion
2843
2934
  //#region ../client/src/resources/session.ts
2935
+ const SessionSettingsRead = SessionProperties.transform((properties, ctx) => {
2936
+ const { features } = profileFromProperties(properties);
2937
+ const parsed = sessionSettingsSchema(features).safeParse(properties);
2938
+ if (parsed.success) return parsed.data;
2939
+ for (const issue of parsed.error.issues) ctx.addIssue({ ...issue });
2940
+ return z.NEVER;
2941
+ });
2844
2942
  function sessionResource(transport) {
2845
2943
  /**
2846
2944
  * Get the session properties: the settings the caller may read, among them the server's version
@@ -2849,7 +2947,32 @@ function sessionResource(transport) {
2849
2947
  async function properties(options = {}) {
2850
2948
  return transport.probe(SessionProperties, options);
2851
2949
  }
2852
- return { properties };
2950
+ /**
2951
+ * Get the settings a bootstrap reads from the session properties: the setup state, the site name,
2952
+ * the AI and MCP switches and remote sync, parsed by the shape of the server that answers. Read
2953
+ * afresh, never from a profile handed in.
2954
+ */
2955
+ async function settings(options = {}) {
2956
+ return transport.probe(SessionSettingsRead, options);
2957
+ }
2958
+ /**
2959
+ * Log in with a username and password, answering the new session's id. A wrong password answers
2960
+ * 401. An account with a second factor is answered with a challenge rather than a session, and
2961
+ * one without where the instance requires a second factor with an enrollment; this method
2962
+ * reports either as a `ResponseShapeError`.
2963
+ */
2964
+ async function create(params, options = {}) {
2965
+ return transport.requestParsed(Session, "/api/session", {
2966
+ ...options,
2967
+ method: "POST",
2968
+ body: params
2969
+ });
2970
+ }
2971
+ return {
2972
+ properties,
2973
+ settings,
2974
+ create
2975
+ };
2853
2976
  }
2854
2977
  //#endregion
2855
2978
  //#region ../client/src/resources/setting.ts
@@ -3218,6 +3341,73 @@ function describeCollectionAnswer(answered) {
3218
3341
  return `the table stays in collection ${answered.value}`;
3219
3342
  }
3220
3343
  //#endregion
3344
+ //#region ../client/src/domain/task.ts
3345
+ const TaskRunType = z.enum([
3346
+ "subscription",
3347
+ "alert",
3348
+ "sync",
3349
+ "fingerprint"
3350
+ ]);
3351
+ const TaskRunEntityType = z.enum([
3352
+ "database",
3353
+ "card",
3354
+ "dashboard"
3355
+ ]);
3356
+ const TaskRunStatus = z.enum([
3357
+ "started",
3358
+ "success",
3359
+ "failed",
3360
+ "abandoned"
3361
+ ]);
3362
+ const TaskRun = z.object({
3363
+ id: z.number().int(),
3364
+ run_type: TaskRunType,
3365
+ entity_type: TaskRunEntityType,
3366
+ entity_id: z.number().int(),
3367
+ started_at: z.string(),
3368
+ ended_at: z.string().nullable(),
3369
+ status: TaskRunStatus,
3370
+ entity_name: z.string().nullable().optional(),
3371
+ task_count: z.number().int().optional(),
3372
+ success_count: z.number().int().optional(),
3373
+ failed_count: z.number().int().optional()
3374
+ }).loose();
3375
+ TaskRun.pick({
3376
+ id: true,
3377
+ run_type: true,
3378
+ entity_type: true,
3379
+ entity_id: true,
3380
+ status: true,
3381
+ started_at: true,
3382
+ ended_at: true
3383
+ }).strip();
3384
+ //#endregion
3385
+ //#region ../client/src/resources/task.ts
3386
+ function taskResource(transport) {
3387
+ const { explainWalk } = explainer(transport, "task");
3388
+ /**
3389
+ * Walk the background-job runs, such as database syncs and subscription sends, newest first,
3390
+ * each with the name of the entity it ran against and a count of its tasks. Needs the monitoring
3391
+ * application permission.
3392
+ */
3393
+ async function* runPages(params = {}, options = {}) {
3394
+ yield* paginatePages(transport, "/api/task/runs", TaskRun, {
3395
+ query: {
3396
+ "run-type": params["run-type"],
3397
+ "entity-type": params["entity-type"],
3398
+ "entity-id": params["entity-id"],
3399
+ status: params.status,
3400
+ "started-at": params["started-at"]
3401
+ },
3402
+ ...options.offset !== void 0 && { offset: options.offset },
3403
+ ...options.max !== void 0 && { max: options.max },
3404
+ ...options.pageSize !== void 0 && { pageSize: options.pageSize },
3405
+ ...options.signal !== void 0 && { signal: options.signal }
3406
+ });
3407
+ }
3408
+ return { runPages: explainWalk("runPages", runPages) };
3409
+ }
3410
+ //#endregion
3221
3411
  //#region ../client/src/resources/timeline-event.ts
3222
3412
  function timelineEventResource(transport) {
3223
3413
  /** Get one timeline event by id. */
@@ -4149,14 +4339,212 @@ CurrentUser.pick({
4149
4339
  common_name: true,
4150
4340
  is_superuser: true
4151
4341
  }).strip();
4342
+ const User = z.object({
4343
+ id: z.number().int(),
4344
+ email: z.string(),
4345
+ first_name: z.string().nullable(),
4346
+ last_name: z.string().nullable(),
4347
+ common_name: z.string(),
4348
+ is_superuser: z.boolean().optional(),
4349
+ is_active: z.boolean().optional()
4350
+ }).loose();
4351
+ User.pick({
4352
+ id: true,
4353
+ email: true,
4354
+ common_name: true,
4355
+ is_superuser: true
4356
+ }).strip();
4357
+ z.enum([
4358
+ "active",
4359
+ "deactivated",
4360
+ "all"
4361
+ ]);
4362
+ z.object({
4363
+ first_name: z.string().min(1).nullable().optional(),
4364
+ last_name: z.string().min(1).nullable().optional(),
4365
+ email: z.string(),
4366
+ password: z.string().min(1).nullable().optional()
4367
+ }).strict();
4152
4368
  //#endregion
4153
4369
  //#region ../client/src/resources/user.ts
4370
+ const UserList = z.object({
4371
+ data: z.array(User),
4372
+ total: z.number().int().nonnegative()
4373
+ });
4154
4374
  function userResource(transport) {
4155
4375
  /** Get the user the request's credentials authenticate as. */
4156
4376
  async function current(options = {}) {
4157
4377
  return transport.requestParsed(CurrentUser, "/api/user/current", { ...options });
4158
4378
  }
4159
- return { current };
4379
+ /**
4380
+ * List the users, ordered by first name. Needs an admin, a data analyst or a group manager, who
4381
+ * sees the members of the groups they manage; a sandboxed user sees only themselves. Which
4382
+ * columns each user carries depends on the caller, as `User` says.
4383
+ */
4384
+ async function list(params = {}, options = {}) {
4385
+ const response = await transport.requestParsed(UserList, "/api/user", {
4386
+ ...options,
4387
+ query: {
4388
+ status: params.status,
4389
+ query: params.query,
4390
+ group_id: params.group_id
4391
+ }
4392
+ });
4393
+ return {
4394
+ data: response.data,
4395
+ total: response.total
4396
+ };
4397
+ }
4398
+ /**
4399
+ * Create a user and send the invite. Admin only. Without a password the account gets a random
4400
+ * one, so it can sign in only through the invite. A taken email answers 400 naming `email`.
4401
+ */
4402
+ async function create(params, options = {}) {
4403
+ return transport.requestParsed(User, "/api/user", {
4404
+ ...options,
4405
+ method: "POST",
4406
+ body: params
4407
+ });
4408
+ }
4409
+ return {
4410
+ current,
4411
+ list,
4412
+ create
4413
+ };
4414
+ }
4415
+ //#endregion
4416
+ //#region ../client/src/domain/workspace-instance.ts
4417
+ const WorkspaceInstanceOutput = z.object({
4418
+ db: z.string().nullable().optional(),
4419
+ schema: z.string().nullable().optional()
4420
+ }).loose();
4421
+ const WorkspaceInstanceDatabase = z.object({
4422
+ input_schemas: z.array(z.string()),
4423
+ output: WorkspaceInstanceOutput
4424
+ }).loose();
4425
+ const WorkspaceInstance = z.object({
4426
+ name: z.string(),
4427
+ databases: z.record(z.string(), WorkspaceInstanceDatabase),
4428
+ can_write: z.boolean()
4429
+ }).loose();
4430
+ WorkspaceInstance.pick({
4431
+ name: true,
4432
+ can_write: true
4433
+ }).strip();
4434
+ //#endregion
4435
+ //#region ../client/src/resources/workspace-instance.ts
4436
+ const WorkspaceInstanceEnvelope = z.object({ data: WorkspaceInstance.nullable() }).loose();
4437
+ function workspaceInstanceResource(transport) {
4438
+ const { explain } = explainer(transport, "workspaceInstance");
4439
+ /**
4440
+ * The workspace loaded on this instance, from its `config.yml` at boot or set at runtime; admins
4441
+ * only. `null` when none is loaded, as on a manager-only instance. `can_write` is `false` when
4442
+ * deployment config set the workspace, which then cannot be changed at runtime.
4443
+ */
4444
+ async function current(options = {}) {
4445
+ return (await transport.requestParsed(WorkspaceInstanceEnvelope, "/api/ee/workspace-instance/current", { ...options })).data;
4446
+ }
4447
+ return { current: explain("current", current) };
4448
+ }
4449
+ //#endregion
4450
+ //#region ../client/src/domain/workspace.ts
4451
+ const WorkspaceDatabaseStatus = z.enum([
4452
+ "unprovisioned",
4453
+ "provisioning",
4454
+ "provisioned",
4455
+ "deprovisioning"
4456
+ ]);
4457
+ const WorkspaceDatabase = z.object({
4458
+ database_id: z.number().int(),
4459
+ input_schemas: z.array(z.string()),
4460
+ output_namespace: z.string(),
4461
+ status: WorkspaceDatabaseStatus
4462
+ }).loose();
4463
+ const WorkspaceDatabaseCompact = WorkspaceDatabase.pick({
4464
+ database_id: true,
4465
+ status: true
4466
+ }).strip();
4467
+ const WorkspaceCreator = z.object({
4468
+ id: z.number().int(),
4469
+ first_name: z.string().nullable(),
4470
+ last_name: z.string().nullable(),
4471
+ email: z.string(),
4472
+ common_name: z.string().nullable().optional()
4473
+ }).loose();
4474
+ const Workspace = z.object({
4475
+ id: z.number().int().positive(),
4476
+ name: z.string(),
4477
+ creator: WorkspaceCreator.nullable(),
4478
+ created_at: z.string(),
4479
+ updated_at: z.string(),
4480
+ databases: z.array(WorkspaceDatabase).optional()
4481
+ }).loose();
4482
+ Workspace.pick({
4483
+ id: true,
4484
+ name: true
4485
+ }).strip().extend({ databases: z.array(WorkspaceDatabaseCompact).optional() });
4486
+ z.object({
4487
+ name: z.string().min(1),
4488
+ database_ids: z.array(z.number().int().positive()).min(1)
4489
+ }).strict();
4490
+ //#endregion
4491
+ //#region ../client/src/resources/workspace-manager.ts
4492
+ const WORKSPACE_MANAGER_PATH = "/api/ee/workspace-manager";
4493
+ function workspaceManagerResource(transport) {
4494
+ const { explain } = explainer(transport, "workspaceManager");
4495
+ /** List all workspaces, each with its databases; admins only. `GET /api/ee/workspace-manager` answers a bare array. */
4496
+ async function list(options = {}) {
4497
+ return {
4498
+ data: await transport.requestParsed(z.array(Workspace), WORKSPACE_MANAGER_PATH, { ...options }),
4499
+ total: null
4500
+ };
4501
+ }
4502
+ /** Get a single workspace by id. */
4503
+ async function get(id, options = {}) {
4504
+ return transport.requestParsed(Workspace, `${WORKSPACE_MANAGER_PATH}/${id}`, { ...options });
4505
+ }
4506
+ /**
4507
+ * Create a workspace attached to the given databases, each of which must be eligible for
4508
+ * workspaces, and provision it. The server provisions every database before it answers, so the
4509
+ * caller sets a `timeoutMs` long enough for that. A provisioning failure whose cleanup also fails
4510
+ * answers the workspace with its databases `unprovisioned`, to be torn down by a delete.
4511
+ */
4512
+ async function create(params, options = {}) {
4513
+ return transport.requestParsed(Workspace, WORKSPACE_MANAGER_PATH, {
4514
+ ...options,
4515
+ method: "POST",
4516
+ body: params
4517
+ });
4518
+ }
4519
+ /**
4520
+ * Delete a workspace, tearing down every database's warehouse isolation first. When any teardown
4521
+ * fails the workspace is kept with the failed databases, so the delete can be retried.
4522
+ */
4523
+ async function remove(id, options = {}) {
4524
+ await transport.requestRaw(`${WORKSPACE_MANAGER_PATH}/${id}`, {
4525
+ ...options,
4526
+ method: "DELETE",
4527
+ expectContentType: "binary"
4528
+ });
4529
+ }
4530
+ /**
4531
+ * The workspace's developer-instance config, the YAML a Metabase boots from. It holds the
4532
+ * workspace's warehouse login. The server refuses with 409 while any of its databases is not
4533
+ * `provisioned`.
4534
+ */
4535
+ async function config(id, options = {}) {
4536
+ return (await transport.requestRaw(`${WORKSPACE_MANAGER_PATH}/${id}/config`, {
4537
+ ...options,
4538
+ expectContentType: "binary"
4539
+ })).text();
4540
+ }
4541
+ return {
4542
+ list: explain("list", list),
4543
+ get: explain("get", get),
4544
+ create: explain("create", create),
4545
+ delete: explain("delete", remove),
4546
+ config: explain("config", config)
4547
+ };
4160
4548
  }
4161
4549
  //#endregion
4162
4550
  //#region ../client/src/client.ts
@@ -4180,6 +4568,7 @@ function createClient(config, options) {
4180
4568
  field: fieldResource(transport),
4181
4569
  gitSync: gitSyncResource(transport),
4182
4570
  glossary: glossaryResource(transport),
4571
+ health: healthResource(transport),
4183
4572
  library: libraryResource(transport),
4184
4573
  measure: measureResource(transport),
4185
4574
  metric: metricResource(transport),
@@ -4196,6 +4585,7 @@ function createClient(config, options) {
4196
4585
  setup: setupResource(transport),
4197
4586
  snippet: snippetResource(transport),
4198
4587
  table: tableResource(transport),
4588
+ task: taskResource(transport),
4199
4589
  timeline: timelineResource(transport),
4200
4590
  timelineEvent: timelineEventResource(transport),
4201
4591
  transform: transformResource(transport),
@@ -4207,6 +4597,8 @@ function createClient(config, options) {
4207
4597
  transformTest: transformTestResource(transport),
4208
4598
  upload: uploadResource(transport),
4209
4599
  user: userResource(transport),
4600
+ workspaceInstance: workspaceInstanceResource(transport),
4601
+ workspaceManager: workspaceManagerResource(transport),
4210
4602
  server: transport.server,
4211
4603
  verifiedServer: transport.verifiedServer,
4212
4604
  probesSettled: transport.probesSettled,
@@ -8,13 +8,13 @@ var collection_default = defineCommandGroup({
8
8
  purpose: "collection ref forms and the transforms namespace"
9
9
  }],
10
10
  subCommands: {
11
- list: () => import("./list-Bkmb6qmP.mjs").then((mod) => mod.default),
12
- get: () => import("./get-DNtdPWc7.mjs").then((mod) => mod.default),
13
- items: () => import("./items-BvyV49xR.mjs").then((mod) => mod.default),
14
- tree: () => import("./tree-BOzjsQT9.mjs").then((mod) => mod.default),
15
- create: () => import("./create-DS1ayvrI.mjs").then((mod) => mod.default),
16
- update: () => import("./update-DS7FwMdV.mjs").then((mod) => mod.default),
17
- archive: () => import("./archive-BhNU06xM.mjs").then((mod) => mod.default)
11
+ list: () => import("./list-BmhbG3wJ.mjs").then((mod) => mod.default),
12
+ get: () => import("./get-DlUJRAgf.mjs").then((mod) => mod.default),
13
+ items: () => import("./items-CY8s_m8H.mjs").then((mod) => mod.default),
14
+ tree: () => import("./tree-CrI6CExE.mjs").then((mod) => mod.default),
15
+ create: () => import("./create-O6NRnXN2.mjs").then((mod) => mod.default),
16
+ update: () => import("./update-B2KG-bPS.mjs").then((mod) => mod.default),
17
+ archive: () => import("./archive-wFufkogP.mjs").then((mod) => mod.default)
18
18
  }
19
19
  });
20
20
  //#endregion
@@ -4,8 +4,8 @@ var content_translation_default = defineCommandGroup({
4
4
  name: "content-translation",
5
5
  description: "Download or replace the content translation dictionary",
6
6
  subCommands: {
7
- download: () => import("./download-DMxWx04z.mjs").then((mod) => mod.default),
8
- upload: () => import("./upload-UYuGBsus.mjs").then((mod) => mod.default)
7
+ download: () => import("./download-DOnWhcxJ.mjs").then((mod) => mod.default),
8
+ upload: () => import("./upload-BjannDFx.mjs").then((mod) => mod.default)
9
9
  }
10
10
  });
11
11
  //#endregion
@@ -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-DMb47Kan.mjs";
3
+ import { t as defineMetabaseCommand } from "./runtime-icvfPElD.mjs";
4
4
  import { t as Document } from "./document-BHOQq2T_.mjs";
5
5
  import { n as parseCopyFlags, t as copyFlags } from "./copy-flags-Bgy3sSFg.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-DMb47Kan.mjs";
3
+ import { t as defineMetabaseCommand } from "./runtime-icvfPElD.mjs";
4
4
  import { r as DashboardCopy } from "./dashboard-Cwsf-e9T.mjs";
5
5
  import { t as dashboardCopyView } from "./dashboard-Bx2sYijR.mjs";
6
6
  import { n as parseCopyFlags, t as copyFlags } from "./copy-flags-Bgy3sSFg.mjs";
@@ -1,5 +1,5 @@
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-DMb47Kan.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-icvfPElD.mjs";
3
3
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
4
4
  import { r as TransformTestCreateInput, t as TransformTest } from "./transform-test-D6QIyu8C.mjs";
5
5
  import { n as transformTestView } from "./transform-test-D-e9oi6r.mjs";
@@ -1,5 +1,5 @@
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-DMb47Kan.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-icvfPElD.mjs";
3
3
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
4
4
  import { i as CreatedApiKey, r as ApiKeyCreateInput } from "./api-key-DbsqHlN6.mjs";
5
5
  import { n as createdApiKeyView } from "./api-key-9jVV67hF.mjs";
@@ -1,5 +1,5 @@
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-DMb47Kan.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-icvfPElD.mjs";
3
3
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
4
4
  import { r as TransformTagCreateInput, t as TransformTag } from "./transform-tag-CcElGp3C.mjs";
5
5
  import { t as transformTagView } from "./transform-tag-Dmb4u3-Q.mjs";
@@ -1,5 +1,5 @@
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-DMb47Kan.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-icvfPElD.mjs";
3
3
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
4
4
  import { r as DocumentCreateInput, t as Document } from "./document-BHOQq2T_.mjs";
5
5
  import { t as documentView } from "./document-lS1XZEF3.mjs";
@@ -1,5 +1,5 @@
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-DMb47Kan.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-icvfPElD.mjs";
3
3
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
4
4
  import { r as SnippetCreateInput, t as Snippet } from "./snippet-CyKAgIZl.mjs";
5
5
  import { t as snippetView } from "./snippet-oJLaYW9V.mjs";
@@ -1,5 +1,5 @@
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-DMb47Kan.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-icvfPElD.mjs";
3
3
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
4
4
  import { a as DashboardCreateInput, s as DashboardLayoutInput, t as Dashboard } from "./dashboard-Cwsf-e9T.mjs";
5
5
  import { n as dashboardView } from "./dashboard-Bx2sYijR.mjs";
@@ -1,5 +1,5 @@
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-DMb47Kan.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-icvfPElD.mjs";
3
3
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
4
4
  import { r as TransformCreateInput, t as Transform } from "./transform-B62craFM.mjs";
5
5
  import { TRANSFORM_SOURCE_QUERY, skipValidateFlag } from "./validate-query-37KgmRbb.mjs";
@@ -1,5 +1,5 @@
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-DMb47Kan.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-icvfPElD.mjs";
3
3
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
4
4
  import { i as PulseCreateInput, t as Pulse } from "./pulse-B2AmIWsO.mjs";
5
5
  import { t as pulseView } from "./pulse-BWs9tqVG.mjs";
@@ -1,5 +1,5 @@
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-DMb47Kan.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-icvfPElD.mjs";
3
3
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
4
4
  import { r as TimelineCreateInput, t as Timeline } from "./timeline-DcsCXNUt.mjs";
5
5
  import { n as timelineView } from "./timeline-BgWz8DYK.mjs";
@@ -1,8 +1,8 @@
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-DMb47Kan.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-icvfPElD.mjs";
3
3
  import { r as GlossaryCreateInput, t as Glossary } from "./glossary-iPIWrEbP.mjs";
4
4
  import { t as glossaryView } from "./glossary-CQRW3Z4d.mjs";
5
- import { n as readEntryInput, t as entryFlags } from "./entry-flags-C63qXMR4.mjs";
5
+ import { n as readEntryInput, t as entryFlags } from "./entry-flags-ZsxJgNQX.mjs";
6
6
  //#region src/commands/glossary/create.ts
7
7
  var create_default = defineMetabaseCommand({
8
8
  meta: {