@metabase/cli 0.5.9 → 0.5.10

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 (268) hide show
  1. package/dist/{add-collection-CmMm_mrd.mjs → add-collection-B6_b7Z0h.mjs} +1 -1
  2. package/dist/{alert-DzgnuHeD.mjs → alert-CaOd6Sye.mjs} +6 -6
  3. package/dist/{alerts-XVPPjYuA.mjs → alerts-B4XDd_EG.mjs} +2 -2
  4. package/dist/{api-key-fIfek7nB.mjs → api-key-BEyGzjhr.mjs} +3 -3
  5. package/dist/{append-CroWojmD.mjs → append-D4yRU3nt.mjs} +2 -2
  6. package/dist/{archive-CcY1DPPD.mjs → archive-B0wPQhnH.mjs} +1 -1
  7. package/dist/{archive-3auH9Cqu.mjs → archive-B4KdkRj1.mjs} +1 -1
  8. package/dist/{archive-C2IztpGM.mjs → archive-BTpXIs7W.mjs} +1 -1
  9. package/dist/{archive-CqO4ewSD.mjs → archive-BTsVi373.mjs} +1 -1
  10. package/dist/{archive-D2X9wa0V.mjs → archive-BkCFPiWS.mjs} +1 -1
  11. package/dist/{archive-Df5QrYTT.mjs → archive-BxN7gbKa.mjs} +1 -1
  12. package/dist/{archive-B5vB7VmB.mjs → archive-CSt4KxhB.mjs} +1 -1
  13. package/dist/{archive-Bct5mmyU.mjs → archive-DJT5Du9l.mjs} +1 -1
  14. package/dist/{archive-wE0j9Gh2.mjs → archive-DoZ8HBxg.mjs} +1 -1
  15. package/dist/{archive-Dvv8fBSZ.mjs → archive-btZAAdMv.mjs} +1 -1
  16. package/dist/{archive-DR7_wlfU.mjs → archive-jtNM7hhn.mjs} +1 -1
  17. package/dist/{archive-BNSqVL0X.mjs → archive-pMSD0Cou.mjs} +1 -1
  18. package/dist/{auth-DZuXbdpQ.mjs → auth-BtrN725t.mjs} +4 -4
  19. package/dist/{branches-BezC3sHZ.mjs → branches-D4Lwau0h.mjs} +1 -1
  20. package/dist/{breaking-CqjNq8CR.mjs → breaking-DH9tr0ug.mjs} +1 -1
  21. package/dist/{broken-lZ8qMOln.mjs → broken-DiT2Ww1u.mjs} +1 -1
  22. package/dist/{bulk-discard-values-BPXPfKJy.mjs → bulk-discard-values-D7jD6GjV.mjs} +2 -2
  23. package/dist/{bulk-edit-Bajdousu.mjs → bulk-edit-DsetARSf.mjs} +1 -1
  24. package/dist/{bulk-rescan-values-BtjDygX8.mjs → bulk-rescan-values-DSUVmXSh.mjs} +1 -1
  25. package/dist/{bulk-sync-schema-B14uspcP.mjs → bulk-sync-schema-n5Qe7UnU.mjs} +1 -1
  26. package/dist/{cancel-DEVOa-MW.mjs → cancel-oFccoFiE.mjs} +1 -1
  27. package/dist/{cancel-task-CTwY4JBD.mjs → cancel-task-kpJZ4G2I.mjs} +1 -1
  28. package/dist/{card-6k-rr68M.mjs → card-Bnkg5z4G.mjs} +8 -8
  29. package/dist/{cards-Crcdtq-N.mjs → cards-BCU56A8s.mjs} +1 -1
  30. package/dist/{ci-jYpJfw-b.mjs → ci-DfbKRU5x.mjs} +1 -1
  31. package/dist/cli.mjs +43 -43
  32. package/dist/{client-KtK81Nqf.mjs → client-BvjSFQ8P.mjs} +26 -41
  33. package/dist/{collection-D_GyzwaY.mjs → collection-CXYDfvsX.mjs} +7 -7
  34. package/dist/{content-translation-DxQ9Ofz9.mjs → content-translation-CsRsYA5Q.mjs} +2 -2
  35. package/dist/{copy-DFitNtKJ.mjs → copy-7kyXaQVn.mjs} +1 -1
  36. package/dist/{copy-CoxRAUMr.mjs → copy-CR8wSNpp.mjs} +1 -1
  37. package/dist/{create-Y4dYSqkx.mjs → create-BAxf_Wqm.mjs} +1 -1
  38. package/dist/{create-Dgle-z_r.mjs → create-BIgILG1P.mjs} +2 -2
  39. package/dist/{create-fES0KGq_.mjs → create-BMe3ZtQi.mjs} +1 -1
  40. package/dist/{create-Dja5oR7y.mjs → create-BZ9x1_Dm.mjs} +1 -1
  41. package/dist/{create-D7g0hJOc.mjs → create-BZ_tLyVg.mjs} +1 -1
  42. package/dist/{create-DZ7qd9Ml.mjs → create-BewmenPL.mjs} +1 -1
  43. package/dist/{create-ktw5Ac64.mjs → create-BhHZBIc4.mjs} +1 -1
  44. package/dist/{create-BGbRafMp.mjs → create-BrFgRgjY.mjs} +1 -1
  45. package/dist/{create-D9NWzXsE.mjs → create-C1CwTQjk.mjs} +1 -1
  46. package/dist/{create-Bb88WIvb.mjs → create-Cx47jTQ9.mjs} +1 -1
  47. package/dist/{create-C0AulMAA2.mjs → create-CxZe8ghH2.mjs} +1 -1
  48. package/dist/{create-C-YkTe7c.mjs → create-D6FGsFnV.mjs} +1 -1
  49. package/dist/{create-DOe4dci_.mjs → create-DG9NIdWy.mjs} +1 -1
  50. package/dist/{create-BC9wRB9s.mjs → create-DHJ75ufg.mjs} +1 -1
  51. package/dist/{create-CbC0hOjy.mjs → create-DVYRfN1s.mjs} +1 -1
  52. package/dist/{create-Cw69tpmd.mjs → create-DYf1fYsW.mjs} +1 -1
  53. package/dist/{create-tNnX8P12.mjs → create-DaspEGaN.mjs} +1 -1
  54. package/dist/{create-Cry2OdY-.mjs → create-Ddt8jkGe.mjs} +1 -1
  55. package/dist/{create-branch-3zuqlQtJ.mjs → create-branch-CSqKpG-X.mjs} +1 -1
  56. package/dist/{create-DR24U6M5.mjs → create-gD1BKkjH.mjs} +1 -1
  57. package/dist/{csv-BAHZWlX7.mjs → csv-CEQ5iHiR.mjs} +2 -2
  58. package/dist/{current-task-iCOdB8fq.mjs → current-task-Cwn-A02w.mjs} +1 -1
  59. package/dist/{dashboard-CZTlBLWV.mjs → dashboard-BQMAwgQv.mjs} +11 -11
  60. package/dist/{data-action-C4wpuM5b.mjs → data-action-BOyBN50C.mjs} +7 -7
  61. package/dist/{data-app-DLKxuzzt.mjs → data-app-CTxlD3Sa.mjs} +7 -8
  62. package/dist/{data-app-Blz61mG5.mjs → data-app-Cglgbj_E.mjs} +1 -1
  63. package/dist/{data-app-BUW-HlUo.mjs → data-app-bl88oUla.mjs} +27 -14
  64. package/dist/data-app-project-C1V4_8k5.mjs +155 -0
  65. package/dist/{db-p_oz1oom.mjs → db-DjrLLqDW.mjs} +7 -7
  66. package/dist/{delete-1gN-o-5K.mjs → delete-B3zIJHbp.mjs} +2 -2
  67. package/dist/{delete-udML_JUv.mjs → delete-B8wPN6Mi.mjs} +2 -2
  68. package/dist/{delete-CG2tAvao.mjs → delete-BecCd6_I.mjs} +2 -2
  69. package/dist/{delete-CioggolY.mjs → delete-CA8N6OSh.mjs} +2 -2
  70. package/dist/{delete-Dk_HWWGD.mjs → delete-CYPidCqb.mjs} +2 -2
  71. package/dist/{delete-DLdB_wgT.mjs → delete-Crc2lguC.mjs} +2 -2
  72. package/dist/{delete-D4lz39ia.mjs → delete-DvHo5Dau.mjs} +2 -2
  73. package/dist/{delete-yifA3qMj.mjs → delete-auLsOacz.mjs} +2 -2
  74. package/dist/{delete-PGOszHpK.mjs → delete-rBkGuteA.mjs} +2 -2
  75. package/dist/{delete-runtime-CdyjCkIN.mjs → delete-runtime-Bxy6qAqZ.mjs} +1 -1
  76. package/dist/{delete-table-Cac6Ca0V.mjs → delete-table-CWo5Azjp.mjs} +2 -2
  77. package/dist/{dependencies-BHAXa11a.mjs → dependencies-B5rZybIE.mjs} +1 -1
  78. package/dist/{dependency-DAZ7izEx.mjs → dependency-BCvsKkvF.mjs} +5 -5
  79. package/dist/{dependents-CQW2r57U.mjs → dependents-DTokHohZ.mjs} +1 -1
  80. package/dist/{dirty-5J3cFbn0.mjs → dirty-DJzqGN8R.mjs} +1 -1
  81. package/dist/{discard-values-DoMNb8_8.mjs → discard-values-Z0Aaau-z.mjs} +2 -2
  82. package/dist/{document-BfUBDUop.mjs → document-DaQNhYhh.mjs} +6 -6
  83. package/dist/{download-DKC9Fc5U.mjs → download-CUNQkaWC.mjs} +1 -1
  84. package/dist/{eid-CaOQrj7K.mjs → eid-CA9nIsPk.mjs} +1 -1
  85. package/dist/{entry-flags-D9XxKqja.mjs → entry-flags-CsbT7fHf.mjs} +1 -1
  86. package/dist/{events-xcwriG3s.mjs → events-CtMOLbVW.mjs} +1 -1
  87. package/dist/{execute-Bl0aIiVm.mjs → execute-BFKWsB4U.mjs} +1 -1
  88. package/dist/{export-CAAsW3Ic.mjs → export-DsbEWoLo.mjs} +2 -2
  89. package/dist/{export-preflight-z3se4KNH.mjs → export-preflight-TRzdLXI_.mjs} +1 -1
  90. package/dist/{field-BaP1WuNk.mjs → field-BnSUwI5l.mjs} +7 -7
  91. package/dist/{fields-D6ahsDuL.mjs → fields-Cf-yzUqO.mjs} +1 -1
  92. package/dist/{fks-YDJYEf6A.mjs → fks-BL7aqSz3.mjs} +1 -1
  93. package/dist/generate-actions-D8iT2Vx_.mjs +38 -0
  94. package/dist/generate-queries-Cmo2IFAd.mjs +41 -0
  95. package/dist/generate-schema-Hubesglp.mjs +34 -0
  96. package/dist/{get-_U_p81sV.mjs → get-10d6M3WX.mjs} +1 -1
  97. package/dist/{get-DVjckQ-H.mjs → get-45g97RD0.mjs} +1 -1
  98. package/dist/{get-D-GWrJbm.mjs → get-B0AwjMgu.mjs} +1 -1
  99. package/dist/{get-DRyMrvcE.mjs → get-B6uK0K5I.mjs} +1 -1
  100. package/dist/{get-BqRBiE5p.mjs → get-B7I96VF7.mjs} +1 -1
  101. package/dist/{get-Buo9ZBkR.mjs → get-BPrKH_VC.mjs} +1 -1
  102. package/dist/{get-DDco3nzW.mjs → get-BRfgDBX1.mjs} +4 -4
  103. package/dist/{get-B--gct26.mjs → get-B_1SDjVE.mjs} +1 -1
  104. package/dist/{get-CLS88UQZ.mjs → get-BsLJ6NN4.mjs} +1 -1
  105. package/dist/{get-C3nYPTjw.mjs → get-C1d4sGGj.mjs} +1 -1
  106. package/dist/{get-B_umve7N.mjs → get-C4TSvV8x.mjs} +2 -2
  107. package/dist/{get-DbMcR5BK.mjs → get-CHmUuPoY.mjs} +1 -1
  108. package/dist/{get-B2EZrxOx.mjs → get-CNwSqJ34.mjs} +1 -1
  109. package/dist/{get-DYVS_TQr.mjs → get-CORcDYjE.mjs} +1 -1
  110. package/dist/{get-BTGk87ul.mjs → get-CQx83tws.mjs} +1 -1
  111. package/dist/{get-BP1LF94h.mjs → get-CkiiPNoS.mjs} +1 -1
  112. package/dist/{get-Bvm3hqLA.mjs → get-Cvl3jefC.mjs} +1 -1
  113. package/dist/{get-B37iHLDH.mjs → get-DAsNzVI7.mjs} +1 -1
  114. package/dist/{get-CIF7wpWz.mjs → get-DIYDn-tm.mjs} +1 -1
  115. package/dist/{get-B6_odQZ5.mjs → get-DUvEGkvw.mjs} +1 -1
  116. package/dist/{get-CshKB-TI.mjs → get-O81o3nAv.mjs} +1 -1
  117. package/dist/{get-run-TKAGC3P7.mjs → get-run-uEQGMjmi.mjs} +1 -1
  118. package/dist/{get-DlmfJ-Oz.mjs → get-xMWLwAHj.mjs} +1 -1
  119. package/dist/git-sync-CswhluG_.mjs +29 -0
  120. package/dist/{glossary-Lh3tF1Qq.mjs → glossary-Cb37yiw3.mjs} +4 -4
  121. package/dist/{graph-PlB4hnwq.mjs → graph-BKuSPVVZ.mjs} +1 -1
  122. package/dist/{has-remote-changes-DEWZ6Ou9.mjs → has-remote-changes-BUCHJZqQ.mjs} +1 -1
  123. package/dist/{import-B2ypv7h6.mjs → import-B-ekaPHP.mjs} +2 -2
  124. package/dist/{is-dirty-DOT8Vudt.mjs → is-dirty-BGcu7D5c.mjs} +1 -1
  125. package/dist/{items-B3_o0a77.mjs → items-vDPpkZUK.mjs} +1 -1
  126. package/dist/{library-Cb2Fftvz.mjs → library-n-3eu6WW.mjs} +4 -4
  127. package/dist/{list-Ddt1V45U.mjs → list-BIOCkt1A.mjs} +1 -1
  128. package/dist/{list-Dq770-CV.mjs → list-BSQPBkVu.mjs} +1 -1
  129. package/dist/{list-DcqNpXXs.mjs → list-BiXIUvBg.mjs} +3 -3
  130. package/dist/{list-CmWo_ZjN.mjs → list-BoOFUEYh.mjs} +1 -1
  131. package/dist/{list-BR7IFq0C.mjs → list-BtENqZIq.mjs} +1 -1
  132. package/dist/{list-pEV6jJNj.mjs → list-C8a6WeMs.mjs} +1 -1
  133. package/dist/{list-BDtjlkFq.mjs → list-CADlvzKj.mjs} +1 -1
  134. package/dist/{list-shpxsUkv.mjs → list-Ci8Y9AdJ.mjs} +1 -1
  135. package/dist/{list--edVvzMi.mjs → list-CoM1L7ZK.mjs} +1 -1
  136. package/dist/{list-DX2i7VnN.mjs → list-D-zjbHfR.mjs} +1 -1
  137. package/dist/{list-CkX5ENLW.mjs → list-D5yxCOsl.mjs} +1 -1
  138. package/dist/{list-CXSp-j5P.mjs → list-DJAlAVuS.mjs} +2 -2
  139. package/dist/{list-C_B1kTwx.mjs → list-DMdRy6Cx.mjs} +1 -1
  140. package/dist/{list-DfB0bJFW.mjs → list-DU2dKd2T.mjs} +1 -1
  141. package/dist/{list-BG3Wnz6W.mjs → list-J5FxC72O.mjs} +1 -1
  142. package/dist/{list-vjCcTMd9.mjs → list-JWWHtIMj.mjs} +1 -1
  143. package/dist/{list-BY60e8C8.mjs → list-PvFvPn0p.mjs} +1 -1
  144. package/dist/{list-CHIem8-N.mjs → list-Qy-5LvDC.mjs} +1 -1
  145. package/dist/{list-DWPpi4dL.mjs → list-UJ3nPrrD.mjs} +1 -1
  146. package/dist/{list-HJD-0aTX.mjs → list-e8h2S-3y.mjs} +1 -1
  147. package/dist/{list-l4RHGqYc.mjs → list-jfxTNTSm.mjs} +1 -1
  148. package/dist/{list-CSFgvwH_.mjs → list-mkXqkfck.mjs} +6 -10
  149. package/dist/{list-DfW_DTZJ.mjs → list-nd6-vgOU.mjs} +1 -1
  150. package/dist/{login-BQWBAyTZ.mjs → login-DcneUyj9.mjs} +3 -3
  151. package/dist/{logout-BWUdSl4Y.mjs → logout-wA2-ebUy.mjs} +1 -1
  152. package/dist/{measure-BvVdTVUb.mjs → measure-BICKq4Ud.mjs} +5 -5
  153. package/dist/nano-id-qEgGloYk.mjs +55 -0
  154. package/dist/{parameter-values-BdJU4BZt.mjs → parameter-values-d_zi14dw.mjs} +1 -1
  155. package/dist/{path-BvKEH753.mjs → path-Cn1xCJb_.mjs} +2 -2
  156. package/dist/{poll-CAd7bLO6.mjs → poll-BGWVry_U.mjs} +1 -1
  157. package/dist/{publish-C3cI9Qtw.mjs → publish-C89wo-cw.mjs} +1 -1
  158. package/dist/{query-Cl56xhGd.mjs → query-L29u5CEu.mjs} +1 -1
  159. package/dist/{query-DF5jl95P.mjs → query-ja91JN10.mjs} +1 -1
  160. package/dist/{remapping-D0Qs4ZA0.mjs → remapping-B8aqlkSk.mjs} +1 -1
  161. package/dist/{remove-collection-DsZSjVj0.mjs → remove-collection-LbKh838S.mjs} +1 -1
  162. package/dist/{render-D3jLDfVB.mjs → render-C96TStlT.mjs} +1 -1
  163. package/dist/{replace-dk5xzOnf.mjs → replace-B9Cyb9q2.mjs} +2 -2
  164. package/dist/{requirement-check-CPY23KwS.mjs → requirement-check-XJCPOfWw.mjs} +1 -1
  165. package/dist/{rescan-values-C_iCyt-D.mjs → rescan-values-Ca4FVr2Q.mjs} +1 -1
  166. package/dist/{rescan-values-W5Flh4Sz.mjs → rescan-values-uxZ22Z0c.mjs} +1 -1
  167. package/dist/{run-Ch9KAm3W.mjs → run-B4zwhVuB.mjs} +2 -2
  168. package/dist/{run-BT7raH2f.mjs → run-BQvsDYzx.mjs} +1 -1
  169. package/dist/{run-B99b6wgr.mjs → run-CtGMVO3W.mjs} +2 -2
  170. package/dist/{run-C0s2hLrU.mjs → run-DskhDpUQ.mjs} +2 -2
  171. package/dist/{runs-ClQVvDP2.mjs → runs-C0s-CfQE.mjs} +1 -1
  172. package/dist/{runtime-fJ-A3m-R.mjs → runtime-B8leBJ1G.mjs} +1 -1
  173. package/dist/scaffold-BdrbFYhc.mjs +54 -0
  174. package/dist/{schema-BeSsPxHM.mjs → schema-8tGj8t5W.mjs} +1 -1
  175. package/dist/{schema-tables-D1meU1m8.mjs → schema-tables-DZRvTRLf.mjs} +1 -1
  176. package/dist/{schemas-Db3hQ0pY.mjs → schemas-yiE-cMoI.mjs} +1 -1
  177. package/dist/{search-oxkqbIhJ.mjs → search-1-5z-NQO.mjs} +1 -1
  178. package/dist/{search-D5y8utnT.mjs → search-Cdd2cDNA.mjs} +1 -1
  179. package/dist/{segment-D41roFlj.mjs → segment-DcLtYcgq.mjs} +5 -5
  180. package/dist/{send-CuHw5ZWw.mjs → send-I5nk7MpB.mjs} +1 -1
  181. package/dist/{set-active-BsQ0NqQ5.mjs → set-active-DrgsPOnr.mjs} +1 -1
  182. package/dist/{set-data-actions-BvNTY-Z1.mjs → set-data-actions-C-TNEnTJ.mjs} +1 -1
  183. package/dist/{set-enabled-Q7t_Jjev.mjs → set-enabled-Co0jIMn0.mjs} +4 -4
  184. package/dist/{set-sensitivity-swrcaUgD.mjs → set-sensitivity-DCOxoynX.mjs} +1 -1
  185. package/dist/{set-CdyFUlSB.mjs → set-vigeEoz9.mjs} +1 -1
  186. package/dist/{setting-h61KIVKH.mjs → setting-DqHsywkM.mjs} +3 -3
  187. package/dist/{setup-okGErkpB.mjs → setup-2EJT5aTc.mjs} +1 -1
  188. package/dist/{skills-DdWfwXGa.mjs → skills-n1IpS3pA.mjs} +3 -3
  189. package/dist/{skills-Dt95bt39.mjs → skills-xJsQWYll.mjs} +2 -2
  190. package/dist/{slug-COdwq63O.mjs → slug-9m4PXe-s.mjs} +1 -1
  191. package/dist/{snippet-BBGYQKde.mjs → snippet-CDLpUxOv.mjs} +5 -5
  192. package/dist/{stash-BSO_xPcW.mjs → stash-C7VstG6F.mjs} +2 -2
  193. package/dist/{status-BxjdPnb1.mjs → status-BclmIIUO.mjs} +2 -2
  194. package/dist/{status-BLgQLUHs.mjs → status-DZh35kON.mjs} +1 -1
  195. package/dist/{subscription-DfvU-S6P.mjs → subscription-DaEZk3Am.mjs} +5 -5
  196. package/dist/{subscriptions-Zqtq7ela.mjs → subscriptions-DcOtdHen.mjs} +2 -2
  197. package/dist/{summary-Bsxzo3_S.mjs → summary-yoqD8lKK.mjs} +1 -1
  198. package/dist/{sync-schema-BgxhQ9xQ.mjs → sync-schema-C7mvw4JY.mjs} +1 -1
  199. package/dist/{sync-schema-BBOF-1tN.mjs → sync-schema-QcmZUpbc.mjs} +2 -2
  200. package/dist/table-CSv2nzuP.mjs +26 -0
  201. package/dist/{timeline-event-BMWbJ0Jh.mjs → timeline-event-B3bnxvSU.mjs} +5 -5
  202. package/dist/{timeline-CKCQZSb9.mjs → timeline-xSDfBYEA.mjs} +7 -7
  203. package/dist/transform-D5ugnljj.mjs +28 -0
  204. package/dist/transform-job-C3uL7HVt.mjs +22 -0
  205. package/dist/{transform-tag-DcJRURqM.mjs → transform-tag-Dh_xkEHJ.mjs} +4 -4
  206. package/dist/{transform-test-CSRDJsx3.mjs → transform-test-DO4J2dGZ.mjs} +6 -6
  207. package/dist/{transforms-DFDPNGru.mjs → transforms-BhycY9Dy.mjs} +1 -1
  208. package/dist/{transport-Bu0oqcBN.mjs → transport-B4wfgpqB.mjs} +2 -2
  209. package/dist/{tree-vMNC9YkV.mjs → tree-C0Jqbvr7.mjs} +1 -1
  210. package/dist/{unpublish-D8ZsafOS.mjs → unpublish-0erfDFu-.mjs} +1 -1
  211. package/dist/{unreferenced-DgzxPYG_.mjs → unreferenced-CHJuU079.mjs} +1 -1
  212. package/dist/{update-BU0PtxW0.mjs → update-BAl0aZsq.mjs} +1 -1
  213. package/dist/{update-DLvN8aDj.mjs → update-BGCKUTtV.mjs} +1 -1
  214. package/dist/{update-C26H37WA.mjs → update-BHz5uxTe.mjs} +1 -1
  215. package/dist/{update-BNreBhC8.mjs → update-BPaXLS7J.mjs} +1 -1
  216. package/dist/{update-BuFR6rqD.mjs → update-BYfjNqm0.mjs} +1 -1
  217. package/dist/{update-OknB30b_.mjs → update-Bzbst6T5.mjs} +1 -1
  218. package/dist/{update-Cn49siEu.mjs → update-C7_YQxNg.mjs} +1 -1
  219. package/dist/{update-D0vrQg4H.mjs → update-C8Ec4fCx.mjs} +1 -1
  220. package/dist/{update-rq_xiQwh.mjs → update-CBcKfzne.mjs} +1 -1
  221. package/dist/{update-BDpitlSQ.mjs → update-CR1zzVES.mjs} +1 -1
  222. package/dist/{update-BWV2CQgP.mjs → update-CZkKz3PD.mjs} +1 -1
  223. package/dist/{update-CjlKU5fK.mjs → update-CjKfz61h.mjs} +1 -1
  224. package/dist/{update-BGKttGAR.mjs → update-DAl3J-6n.mjs} +1 -1
  225. package/dist/{update-Xu0_gOUu.mjs → update-DSlAN-t5.mjs} +1 -1
  226. package/dist/{update-vXsXeXxz2.mjs → update-Dh1X_b9e2.mjs} +1 -1
  227. package/dist/{update-HsVZcqV2.mjs → update-DnGjFqwP.mjs} +1 -1
  228. package/dist/{update-Dnm1GajC.mjs → update-DqN3ikiq.mjs} +2 -2
  229. package/dist/{update-CFLc58dG.mjs → update-Is5yboYO.mjs} +1 -1
  230. package/dist/{update-dashcard-De_j3nl_.mjs → update-dashcard-B8s5t0jG.mjs} +1 -1
  231. package/dist/{update-Z4wNTkeQ.mjs → update-ujP9d00H.mjs} +1 -1
  232. package/dist/{upgrade-BrABBJSO.mjs → upgrade-Dc43HJun.mjs} +1 -1
  233. package/dist/{upload-DLOZtgEQ.mjs → upload-DIiiLP23.mjs} +3 -3
  234. package/dist/{upload-B5FlC_HI.mjs → upload-DWwwFANs.mjs} +2 -2
  235. package/dist/{upload-B2OzfuaC.mjs → upload-xXTXZQsW.mjs} +1 -1
  236. package/dist/{uuid-DIJU2aoo.mjs → uuid-BNZQ6Dyb.mjs} +1 -1
  237. package/dist/{values-CQVSrZwT.mjs → values-thjqrbtC.mjs} +1 -1
  238. package/dist/{verify-DaDS87sR.mjs → verify-CLObQxZk.mjs} +1 -1
  239. package/dist/{verify-1POh5DMA.mjs → verify-CqJPc-DW.mjs} +2 -2
  240. package/dist/{verify-BwUP351R.mjs → verify-DNhhRy4T.mjs} +1 -1
  241. package/dist/{wait-DF5Cxdc8.mjs → wait-DxeRAukN.mjs} +3 -3
  242. package/dist/{wait-flags-WpNrwgA3.mjs → wait-flags-P5MIy4fp.mjs} +1 -1
  243. package/dist/{yaml-Ctv1l2-P.mjs → yaml-BtI8iDba.mjs} +1 -1
  244. package/package.json +1 -1
  245. package/skill-data/core/SKILL.md +1 -1
  246. package/skill-data/data-action/SKILL.md +2 -3
  247. package/skill-data/data-app/SKILL.md +62 -49
  248. package/skill-data/data-app/template/.env.local.example +1 -0
  249. package/skill-data/data-app/template/README.md +15 -5
  250. package/skill-data/data-app/template/src/metabase.actions.ts +3 -0
  251. package/skill-data/data-app/template/src/metabase.queries.ts +3 -0
  252. package/skill-data/data-app/template/src/metabase.schema.ts +3 -0
  253. package/skill-data/data-app/template/src/theme.ts +3 -1
  254. package/skill-data/data-app-actions/SKILL.md +43 -23
  255. package/skill-data/data-app-data/SKILL.md +86 -64
  256. package/skill-data/data-app-filters/SKILL.md +3 -3
  257. package/skill-data/data-app-ui/SKILL.md +12 -4
  258. package/skill-data/git-sync/SKILL.md +4 -6
  259. package/dist/create-W6plJIxv.mjs +0 -37
  260. package/dist/data-app-project-tbEA14ZN.mjs +0 -49
  261. package/dist/delete-z-gK8iJm.mjs +0 -40
  262. package/dist/git-sync-OiTQkETw.mjs +0 -29
  263. package/dist/scaffold-Pr1BC2uw.mjs +0 -50
  264. package/dist/table-Bye5_War.mjs +0 -26
  265. package/dist/transform-CBxCkbqF.mjs +0 -28
  266. package/dist/transform-job-BTM0t8YZ.mjs +0 -22
  267. package/dist/typed-schema-DTL_8ggU.mjs +0 -45
  268. package/dist/update-D32XqpkV.mjs +0 -36
@@ -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-fJ-A3m-R.mjs";
3
+ import { t as defineMetabaseCommand } from "./runtime-B8leBJ1G.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,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-fJ-A3m-R.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-B8leBJ1G.mjs";
3
3
  import { t as Library } from "./library-C4g9pdiS.mjs";
4
4
  import { t as libraryView } from "./library-BprxuqZl.mjs";
5
5
  //#region src/commands/library/create.ts
@@ -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-fJ-A3m-R.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-B8leBJ1G.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-D9XxKqja.mjs";
5
+ import { n as readEntryInput, t as entryFlags } from "./entry-flags-CsbT7fHf.mjs";
6
6
  //#region src/commands/glossary/create.ts
7
7
  var create_default = defineMetabaseCommand({
8
8
  meta: {
@@ -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-fJ-A3m-R.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-B8leBJ1G.mjs";
3
3
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
4
4
  import { a as DataActionCreateInput, r as DataAction } from "./data-action-DAw6WRTH.mjs";
5
5
  import { DATA_ACTION_DATASET_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-fJ-A3m-R.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-B8leBJ1G.mjs";
3
3
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
4
4
  import { i as TimelineEvent, o as TimelineEventCreateInput } from "./timeline-DcsCXNUt.mjs";
5
5
  import { t as timelineEventView } from "./timeline-BgWz8DYK.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-fJ-A3m-R.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-B8leBJ1G.mjs";
3
3
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
4
4
  import { f as CollectionNamespace, o as CollectionCreateInput, r as Collection } from "./collection-Cz2qLX2m.mjs";
5
5
  import { t as parseEnumFlag } from "./parse-enum-CEXPuN9H.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-fJ-A3m-R.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-B8leBJ1G.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-fJ-A3m-R.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-B8leBJ1G.mjs";
3
3
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
4
4
  import { i as CardDetail, r as CardCreateInput } from "./card-BJRZ5D5Q.mjs";
5
5
  import { n as cardView } from "./card-VipF12MJ.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-fJ-A3m-R.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-B8leBJ1G.mjs";
3
3
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
4
4
  import { r as MeasureCreateInput, t as Measure } from "./measure-BMWrX1ca.mjs";
5
5
  import { MEASURE_DEFINITION, 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-fJ-A3m-R.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-B8leBJ1G.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,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-fJ-A3m-R.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-B8leBJ1G.mjs";
3
3
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
4
4
  import { r as SegmentCreateInput, t as Segment } from "./segment-Cf-DrdjE.mjs";
5
5
  import { SEGMENT_DEFINITION, 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-fJ-A3m-R.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-B8leBJ1G.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-fJ-A3m-R.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-B8leBJ1G.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-fJ-A3m-R.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-B8leBJ1G.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-fJ-A3m-R.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-B8leBJ1G.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-fJ-A3m-R.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-B8leBJ1G.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,7 +1,7 @@
1
1
  import { ct as connectionFlags, f as renderSummary, mt as profileFlag, pt as outputFlags } from "./cli.mjs";
2
2
  import { o as NotificationCreateInput, r as Notification } from "./notification-B5yMuPmo.mjs";
3
3
  import { t as notificationView } from "./notification-Ec1Jo0Oc.mjs";
4
- import { t as defineMetabaseCommand } from "./runtime-fJ-A3m-R.mjs";
4
+ import { t as defineMetabaseCommand } from "./runtime-B8leBJ1G.mjs";
5
5
  import { t as describeAlert } from "./summary-BytbDz6e.mjs";
6
6
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
7
7
  //#region src/commands/alert/create.ts
@@ -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-fJ-A3m-R.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-B8leBJ1G.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-fJ-A3m-R.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-B8leBJ1G.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,6 +1,6 @@
1
1
  import { o as ConfigError } from "./predicates-0C0TsWcJ.mjs";
2
2
  import { ct as connectionFlags, f as renderSummary, mt as profileFlag, pt as outputFlags } from "./cli.mjs";
3
- import { t as defineMetabaseCommand } from "./runtime-fJ-A3m-R.mjs";
3
+ import { t as defineMetabaseCommand } from "./runtime-B8leBJ1G.mjs";
4
4
  import { n as SyncBranchCreated } from "./git-sync-DP4wQFzm.mjs";
5
5
  import { n as syncBranchCreatedView } from "./git-sync-D1aKczo6.mjs";
6
6
  //#region src/commands/git-sync/create-branch.ts
@@ -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-fJ-A3m-R.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-B8leBJ1G.mjs";
3
3
  import { t as bodyInputFlags } from "./body-flags-AqKpN01Y.mjs";
4
4
  import { i as TransformJobCreateInput, t as TransformJob } from "./transform-job-CDIb3B9o.mjs";
5
5
  import { t as transformJobView } from "./transform-job-D18XRLBK.mjs";
@@ -1,8 +1,8 @@
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-fJ-A3m-R.mjs";
3
+ import { t as defineMetabaseCommand } from "./runtime-B8leBJ1G.mjs";
4
4
  import { t as UploadResult } from "./upload-DAtxBBms.mjs";
5
- import { n as requireUploadFilePath, t as readCsvFile } from "./upload-B2OzfuaC.mjs";
5
+ import { n as requireUploadFilePath, t as readCsvFile } from "./upload-xXTXZQsW.mjs";
6
6
  import { t as uploadResultView } from "./upload-C3z5ZaXA.mjs";
7
7
  //#region src/commands/upload/csv.ts
8
8
  const ROOT_COLLECTION = "root";
@@ -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-fJ-A3m-R.mjs";
2
+ import { t as defineMetabaseCommand } from "./runtime-B8leBJ1G.mjs";
3
3
  import { u as syncTaskView } from "./git-sync-D1aKczo6.mjs";
4
4
  import { n as formatSyncTask, r as syncTaskIdleView, t as SyncTaskOrIdle } from "./sync-task-Gf86CU9l.mjs";
5
5
  //#region src/commands/git-sync/current-task.ts
@@ -18,17 +18,17 @@ var dashboard_default = defineCommandGroup({
18
18
  }
19
19
  ],
20
20
  subCommands: {
21
- list: () => import("./list-l4RHGqYc.mjs").then((mod) => mod.default),
22
- get: () => import("./get-Bvm3hqLA.mjs").then((mod) => mod.default),
23
- cards: () => import("./cards-Crcdtq-N.mjs").then((mod) => mod.default),
24
- "parameter-values": () => import("./parameter-values-BdJU4BZt.mjs").then((mod) => mod.default),
25
- subscriptions: () => import("./subscriptions-Zqtq7ela.mjs").then((mod) => mod.default),
26
- create: () => import("./create-CbC0hOjy.mjs").then((mod) => mod.default),
27
- update: () => import("./update-BDpitlSQ.mjs").then((mod) => mod.default),
28
- "update-dashcard": () => import("./update-dashcard-De_j3nl_.mjs").then((mod) => mod.default),
29
- copy: () => import("./copy-DFitNtKJ.mjs").then((mod) => mod.default),
30
- verify: () => import("./verify-BwUP351R.mjs").then((mod) => mod.default),
31
- archive: () => import("./archive-Dvv8fBSZ.mjs").then((mod) => mod.default)
21
+ list: () => import("./list-jfxTNTSm.mjs").then((mod) => mod.default),
22
+ get: () => import("./get-Cvl3jefC.mjs").then((mod) => mod.default),
23
+ cards: () => import("./cards-BCU56A8s.mjs").then((mod) => mod.default),
24
+ "parameter-values": () => import("./parameter-values-d_zi14dw.mjs").then((mod) => mod.default),
25
+ subscriptions: () => import("./subscriptions-DcOtdHen.mjs").then((mod) => mod.default),
26
+ create: () => import("./create-DVYRfN1s.mjs").then((mod) => mod.default),
27
+ update: () => import("./update-CR1zzVES.mjs").then((mod) => mod.default),
28
+ "update-dashcard": () => import("./update-dashcard-B8s5t0jG.mjs").then((mod) => mod.default),
29
+ copy: () => import("./copy-7kyXaQVn.mjs").then((mod) => mod.default),
30
+ verify: () => import("./verify-DNhhRy4T.mjs").then((mod) => mod.default),
31
+ archive: () => import("./archive-btZAAdMv.mjs").then((mod) => mod.default)
32
32
  }
33
33
  });
34
34
  //#endregion
@@ -11,13 +11,13 @@ var data_action_default = defineCommandGroup({
11
11
  purpose: "the data action's native query and its template tags"
12
12
  }],
13
13
  subCommands: {
14
- list: () => import("./list-CkX5ENLW.mjs").then((mod) => mod.default),
15
- get: () => import("./get-D-GWrJbm.mjs").then((mod) => mod.default),
16
- create: () => import("./create-fES0KGq_.mjs").then((mod) => mod.default),
17
- update: () => import("./update-CFLc58dG.mjs").then((mod) => mod.default),
18
- archive: () => import("./archive-DR7_wlfU.mjs").then((mod) => mod.default),
19
- delete: () => import("./delete-D4lz39ia.mjs").then((mod) => mod.default),
20
- execute: () => import("./execute-Bl0aIiVm.mjs").then((mod) => mod.default)
14
+ list: () => import("./list-D5yxCOsl.mjs").then((mod) => mod.default),
15
+ get: () => import("./get-B0AwjMgu.mjs").then((mod) => mod.default),
16
+ create: () => import("./create-BMe3ZtQi.mjs").then((mod) => mod.default),
17
+ update: () => import("./update-Is5yboYO.mjs").then((mod) => mod.default),
18
+ archive: () => import("./archive-jtNM7hhn.mjs").then((mod) => mod.default),
19
+ delete: () => import("./delete-DvHo5Dau.mjs").then((mod) => mod.default),
20
+ execute: () => import("./execute-BFKWsB4U.mjs").then((mod) => mod.default)
21
21
  }
22
22
  });
23
23
  //#endregion
@@ -26,14 +26,13 @@ var data_app_default = defineCommandGroup({
26
26
  }
27
27
  ],
28
28
  subCommands: {
29
- scaffold: () => import("./scaffold-Pr1BC2uw.mjs").then((mod) => mod.default),
30
- list: () => import("./list-CSFgvwH_.mjs").then((mod) => mod.default),
31
- get: () => import("./get-DDco3nzW.mjs").then((mod) => mod.default),
32
- create: () => import("./create-W6plJIxv.mjs").then((mod) => mod.default),
33
- update: () => import("./update-D32XqpkV.mjs").then((mod) => mod.default),
34
- "typed-schema": () => import("./typed-schema-DTL_8ggU.mjs").then((mod) => mod.default),
35
- "set-enabled": () => import("./set-enabled-Q7t_Jjev.mjs").then((mod) => mod.default),
36
- delete: () => import("./delete-z-gK8iJm.mjs").then((mod) => mod.default)
29
+ scaffold: () => import("./scaffold-BdrbFYhc.mjs").then((mod) => mod.default),
30
+ list: () => import("./list-mkXqkfck.mjs").then((mod) => mod.default),
31
+ get: () => import("./get-BRfgDBX1.mjs").then((mod) => mod.default),
32
+ "generate-schema": () => import("./generate-schema-Hubesglp.mjs").then((mod) => mod.default),
33
+ "generate-queries": () => import("./generate-queries-Cmo2IFAd.mjs").then((mod) => mod.default),
34
+ "generate-actions": () => import("./generate-actions-D8iT2Vx_.mjs").then((mod) => mod.default),
35
+ "set-enabled": () => import("./set-enabled-Co0jIMn0.mjs").then((mod) => mod.default)
37
36
  }
38
37
  });
39
38
  //#endregion
@@ -1,4 +1,4 @@
1
- import { n as DataAppCompact } from "./data-app-BUW-HlUo.mjs";
1
+ import { r as DataAppCompact } from "./data-app-bl88oUla.mjs";
2
2
  //#region src/output/views/data-app.ts
3
3
  const dataAppView = {
4
4
  compactPick: DataAppCompact,
@@ -34,19 +34,32 @@ const DataAppCompact = DataApp.pick({
34
34
  resource_collection_id: true,
35
35
  outdated: true
36
36
  });
37
- z.object({ available: z.boolean().optional() }).strict();
38
- const DataAppFields = {
39
- display_name: z.string().min(1).optional(),
40
- description: z.string().nullable().optional(),
41
- version: z.number().int().positive().optional(),
42
- bundle_path: z.string().min(1).optional(),
43
- allowed_hosts: z.array(z.string()).optional(),
44
- enabled: z.boolean().optional()
45
- };
46
- const DataAppCreateInput = z.object({
47
- name: DataAppSlug,
48
- ...DataAppFields
37
+ z.object({ enabled: z.boolean() }).strict();
38
+ const DataAppGeneratedFile = z.object({
39
+ path: z.string(),
40
+ contents: z.string()
41
+ }).strict();
42
+ const DataAppGeneratedFiles = z.array(DataAppGeneratedFile);
43
+ const DataAppQueryDefinition = z.object({
44
+ entityId: z.string(),
45
+ query: z.object({ stages: z.tuple([z.object({}).loose()]) }).strict()
46
+ }).strict();
47
+ const DataAppActionDefinition = z.object({
48
+ entityId: z.string(),
49
+ kind: z.enum([
50
+ "row/create",
51
+ "row/update",
52
+ "row/delete"
53
+ ]),
54
+ table: z.object({ id: z.number().int() }).loose()
55
+ }).strict();
56
+ z.object({
57
+ collection: z.string(),
58
+ queries: z.record(z.string(), DataAppQueryDefinition)
59
+ }).strict();
60
+ z.object({
61
+ collection: z.string(),
62
+ actions: z.record(z.string(), DataAppActionDefinition)
49
63
  }).strict();
50
- const DataAppUpdateInput = z.object(DataAppFields).strict();
51
64
  //#endregion
52
- export { DataAppSlug as a, DataAppEntry as i, DataAppCompact as n, DataAppUpdateInput as o, DataAppCreateInput as r, DataApp as t };
65
+ export { DataAppGeneratedFiles as a, DataAppEntry as i, DataAppActionDefinition as n, DataAppSlug as o, DataAppCompact as r, DataApp as t };
@@ -0,0 +1,155 @@
1
+ import { o as ConfigError, v as isFileNotFoundError } from "./predicates-0C0TsWcJ.mjs";
2
+ import { et as parseJson } from "./cli.mjs";
3
+ import { n as DataAppActionDefinition } from "./data-app-bl88oUla.mjs";
4
+ import { a as runProcess } from "./process-ByKCTa6A.mjs";
5
+ import { r as parseYamlResult } from "./yaml-BtI8iDba.mjs";
6
+ import { z } from "zod";
7
+ import { cp, mkdir, readFile, readdir, rename, rm, stat, writeFile } from "node:fs/promises";
8
+ import { basename, dirname, join, resolve } from "node:path";
9
+ //#region src/runtime/data-app-project.ts
10
+ const PackageManifest = z.object({}).loose();
11
+ const SHIPPED_GITIGNORE = "gitignore";
12
+ const LOCAL_ENV_FILE = ".env.local";
13
+ async function ignoreLocalEnv(gitignorePath) {
14
+ const text = await readFile(gitignorePath, "utf8").catch((error) => {
15
+ if (isFileNotFoundError(error)) return "";
16
+ throw error;
17
+ });
18
+ if (text.split("\n").some((line) => line.trim() === LOCAL_ENV_FILE)) return;
19
+ await writeFile(gitignorePath, `${text}${text === "" || text.endsWith("\n") ? "" : "\n"}${LOCAL_ENV_FILE}\n`, "utf8");
20
+ }
21
+ async function writeProjectFile(path, text) {
22
+ await mkdir(dirname(path), { recursive: true });
23
+ await writeFile(path, text, "utf8");
24
+ }
25
+ async function statOrNull(path) {
26
+ try {
27
+ return await stat(path);
28
+ } catch (error) {
29
+ if (isFileNotFoundError(error)) return null;
30
+ throw error;
31
+ }
32
+ }
33
+ async function isMissingOrEmpty(dir) {
34
+ const entry = await statOrNull(dir);
35
+ if (entry === null) return true;
36
+ if (!entry.isDirectory()) throw new ConfigError(`${dir} is not a directory — scaffold into a new or empty directory`);
37
+ return (await readdir(dir)).length === 0;
38
+ }
39
+ function packageNameFor(dir) {
40
+ const name = basename(resolve(dir)).toLowerCase().replace(/[^a-z0-9._~-]+/g, "-").replace(/^[-._]+/, "").replace(/-+$/, "");
41
+ if (name === "") throw new ConfigError(`cannot name the package after ${dir} — scaffold into a directory whose name has a letter or a digit`);
42
+ return name;
43
+ }
44
+ async function renamePackage(dir, name) {
45
+ const path = join(dir, "package.json");
46
+ const manifest = parseJson(await readFile(path, "utf8"), PackageManifest);
47
+ await writeFile(path, `${JSON.stringify({
48
+ ...manifest,
49
+ name
50
+ }, null, 2)}\n`, "utf8");
51
+ }
52
+ /** Copies the app template into `dir`, which must be missing or empty, and names its package after `dir`. */
53
+ async function scaffoldDataAppProject({ dir, templateDir }) {
54
+ const packageName = packageNameFor(dir);
55
+ if (!await isMissingOrEmpty(dir)) throw new ConfigError(`${dir} is not empty — scaffold into a new or empty directory`);
56
+ await cp(templateDir, dir, { recursive: true });
57
+ await rename(join(dir, SHIPPED_GITIGNORE), join(dir, ".gitignore"));
58
+ await renamePackage(dir, packageName);
59
+ }
60
+ const DATA_APPS_DIR = "data_apps";
61
+ const DATA_APP_COLLECTIONS_DIR = "collections/data_apps";
62
+ const DATA_APP_CONTRACT_VERSION = 1;
63
+ const DATA_APP_BUNDLE_PATH = "dist/index.js";
64
+ function slugifyName(name) {
65
+ return name.toLowerCase().replace(/[^a-z0-9_]/g, "_");
66
+ }
67
+ function collectionName(slug) {
68
+ return `Data App: ${slug}`;
69
+ }
70
+ function dataAppDir(slug) {
71
+ return join(DATA_APPS_DIR, slug);
72
+ }
73
+ function dataAppCollectionDir(slug) {
74
+ return join(DATA_APP_COLLECTIONS_DIR, slugifyName(collectionName(slug)));
75
+ }
76
+ /** Writes the app's `data_app.yaml` and its collection's YAML file, as an export of the app writes them. */
77
+ async function writeDataAppManifest({ slug, entityId, collectionEntityId }) {
78
+ const name = collectionName(slug);
79
+ await writeProjectFile(join(dataAppDir(slug), "data_app.yaml"), [
80
+ "allowed_hosts: []",
81
+ `collection: ${collectionEntityId}`,
82
+ "description: null",
83
+ `entity_id: ${entityId}`,
84
+ `name: ${slug}`,
85
+ `path: ${DATA_APP_BUNDLE_PATH}`,
86
+ `slug: ${slug}`,
87
+ `version: ${DATA_APP_CONTRACT_VERSION}`,
88
+ "serdes/meta:",
89
+ "- model: DataApp",
90
+ ""
91
+ ].join("\n"));
92
+ await writeProjectFile(`${dataAppCollectionDir(slug)}.yaml`, [
93
+ `name: '${name}'`,
94
+ `entity_id: ${collectionEntityId}`,
95
+ `slug: ${slugifyName(name)}`,
96
+ "namespace: data-apps",
97
+ "serdes/meta:",
98
+ "- model: Collection",
99
+ ""
100
+ ].join("\n"));
101
+ }
102
+ const NANO_ID_PATTERN = /^[A-Za-z0-9_-]{21}$/;
103
+ /** The entity ID of the collection the app's `data_app.yaml` names. */
104
+ async function readDataAppCollectionEntityId(slug) {
105
+ const path = join(dataAppDir(slug), "data_app.yaml");
106
+ const collection = (await readFile(path, "utf8")).split("\n").find((line) => line.startsWith("collection:"))?.slice(11).trim();
107
+ if (collection === void 0 || !NANO_ID_PATTERN.test(collection)) throw new ConfigError(`${path} names no collection by its entity ID`);
108
+ return collection;
109
+ }
110
+ const SerdesFile = z.object({ "serdes/meta": z.array(z.object({ model: z.string() }).loose()) }).loose();
111
+ async function fileModel(path) {
112
+ const parsed = parseYamlResult(await readFile(path, "utf8"), SerdesFile, { source: path });
113
+ return parsed.ok ? parsed.value["serdes/meta"].at(-1)?.model ?? null : null;
114
+ }
115
+ /**
116
+ * Replaces the files of the app's collection that hold `model` content with `files`, each at its path in the
117
+ * collection's directory, leaving the files of other content as they are.
118
+ */
119
+ async function writeDataAppCollectionFiles(slug, model, files) {
120
+ const dir = dataAppCollectionDir(slug);
121
+ const existing = await readdir(dir).catch((error) => {
122
+ if (isFileNotFoundError(error)) return [];
123
+ throw error;
124
+ });
125
+ for (const name of existing.filter((entry) => entry.endsWith(".yaml"))) if (await fileModel(join(dir, name)) === model) await rm(join(dir, name));
126
+ for (const file of files) await writeProjectFile(join(dir, file.path), file.contents);
127
+ return dir;
128
+ }
129
+ const definitionsLoader = (path) => [
130
+ "import { runnerImport } from \"vite\";",
131
+ `const { module } = await runnerImport(${JSON.stringify(path)}, { configFile: false, logLevel: "silent" });`,
132
+ "console.log(JSON.stringify({ ...module }));"
133
+ ].join("\n");
134
+ const DataAppQueryDefinitions = z.record(z.string(), z.object({ entityId: z.string() }).loose());
135
+ const DataAppActionDefinitions = z.record(z.string(), DataAppActionDefinition);
136
+ async function loadDefinitions(slug, file, schema) {
137
+ const dir = dataAppDir(slug);
138
+ const result = await runProcess("node", [
139
+ "--input-type=module",
140
+ "-e",
141
+ definitionsLoader(file)
142
+ ], { cwd: dir });
143
+ if (result.exitCode !== 0) throw new ConfigError(`could not load ${join(dir, file)} (run \`npm install\` there first): ${result.stderr.trim()}`);
144
+ return parseJson(result.stdout, schema, { source: join(dir, file) });
145
+ }
146
+ /** The `defineQuery` exports of the app's `src/metabase.queries.ts`, loaded with the app's own Vite. */
147
+ function loadDataAppQueries(slug) {
148
+ return loadDefinitions(slug, "./src/metabase.queries.ts", DataAppQueryDefinitions);
149
+ }
150
+ /** The `defineAction` exports of the app's `src/metabase.actions.ts`, loaded with the app's own Vite. */
151
+ function loadDataAppActions(slug) {
152
+ return loadDefinitions(slug, "./src/metabase.actions.ts", DataAppActionDefinitions);
153
+ }
154
+ //#endregion
155
+ export { readDataAppCollectionEntityId as a, writeDataAppManifest as c, loadDataAppQueries as i, writeProjectFile as l, ignoreLocalEnv as n, scaffoldDataAppProject as o, loadDataAppActions as r, writeDataAppCollectionFiles as s, dataAppDir as t };
@@ -12,13 +12,13 @@ var db_default = defineCommandGroup({
12
12
  purpose: "model a raw database into clean tables"
13
13
  }],
14
14
  subCommands: {
15
- list: () => import("./list-shpxsUkv.mjs").then((m) => m.default),
16
- get: () => import("./get-CIF7wpWz.mjs").then((m) => m.default),
17
- schemas: () => import("./schemas-Db3hQ0pY.mjs").then((m) => m.default),
18
- "schema-tables": () => import("./schema-tables-D1meU1m8.mjs").then((m) => m.default),
19
- "sync-schema": () => import("./sync-schema-BBOF-1tN.mjs").then((m) => m.default),
20
- "rescan-values": () => import("./rescan-values-W5Flh4Sz.mjs").then((m) => m.default),
21
- "set-data-actions": () => import("./set-data-actions-BvNTY-Z1.mjs").then((m) => m.default)
15
+ list: () => import("./list-Ci8Y9AdJ.mjs").then((m) => m.default),
16
+ get: () => import("./get-DIYDn-tm.mjs").then((m) => m.default),
17
+ schemas: () => import("./schemas-yiE-cMoI.mjs").then((m) => m.default),
18
+ "schema-tables": () => import("./schema-tables-DZRvTRLf.mjs").then((m) => m.default),
19
+ "sync-schema": () => import("./sync-schema-QcmZUpbc.mjs").then((m) => m.default),
20
+ "rescan-values": () => import("./rescan-values-uxZ22Z0c.mjs").then((m) => m.default),
21
+ "set-data-actions": () => import("./set-data-actions-C-TNEnTJ.mjs").then((m) => m.default)
22
22
  }
23
23
  });
24
24
  //#endregion
@@ -1,7 +1,7 @@
1
1
  import { ct as connectionFlags, 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-fJ-A3m-R.mjs";
4
- import { n as DeleteResult, r as confirmAndDelete } from "./delete-runtime-CdyjCkIN.mjs";
3
+ import { t as defineMetabaseCommand } from "./runtime-B8leBJ1G.mjs";
4
+ import { n as confirmAndDelete, t as DeleteResult } from "./delete-runtime-Bxy6qAqZ.mjs";
5
5
  //#region src/commands/glossary/delete.ts
6
6
  var delete_default = defineMetabaseCommand({
7
7
  meta: {
@@ -1,7 +1,7 @@
1
1
  import { ct as connectionFlags, 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-fJ-A3m-R.mjs";
4
- import { n as DeleteResult, r as confirmAndDelete } from "./delete-runtime-CdyjCkIN.mjs";
3
+ import { t as defineMetabaseCommand } from "./runtime-B8leBJ1G.mjs";
4
+ import { n as confirmAndDelete, t as DeleteResult } from "./delete-runtime-Bxy6qAqZ.mjs";
5
5
  //#region src/commands/timeline/delete.ts
6
6
  var delete_default = defineMetabaseCommand({
7
7
  meta: {
@@ -1,7 +1,7 @@
1
1
  import { ct as connectionFlags, 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-fJ-A3m-R.mjs";
4
- import { n as DeleteResult, r as confirmAndDelete } from "./delete-runtime-CdyjCkIN.mjs";
3
+ import { t as defineMetabaseCommand } from "./runtime-B8leBJ1G.mjs";
4
+ import { n as confirmAndDelete, t as DeleteResult } from "./delete-runtime-Bxy6qAqZ.mjs";
5
5
  //#region src/commands/transform-test/delete.ts
6
6
  var delete_default = defineMetabaseCommand({
7
7
  meta: {
@@ -1,7 +1,7 @@
1
1
  import { ct as connectionFlags, 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-fJ-A3m-R.mjs";
4
- import { n as DeleteResult, r as confirmAndDelete } from "./delete-runtime-CdyjCkIN.mjs";
3
+ import { t as defineMetabaseCommand } from "./runtime-B8leBJ1G.mjs";
4
+ import { n as confirmAndDelete, t as DeleteResult } from "./delete-runtime-Bxy6qAqZ.mjs";
5
5
  //#region src/commands/transform-job/delete.ts
6
6
  var delete_default = defineMetabaseCommand({
7
7
  meta: {
@@ -1,7 +1,7 @@
1
1
  import { ct as connectionFlags, 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-fJ-A3m-R.mjs";
4
- import { n as DeleteResult, r as confirmAndDelete } from "./delete-runtime-CdyjCkIN.mjs";
3
+ import { t as defineMetabaseCommand } from "./runtime-B8leBJ1G.mjs";
4
+ import { n as confirmAndDelete, t as DeleteResult } from "./delete-runtime-Bxy6qAqZ.mjs";
5
5
  //#region src/commands/transform/delete.ts
6
6
  var delete_default = defineMetabaseCommand({
7
7
  meta: {
@@ -1,7 +1,7 @@
1
1
  import { ct as connectionFlags, 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-fJ-A3m-R.mjs";
4
- import { n as DeleteResult, r as confirmAndDelete } from "./delete-runtime-CdyjCkIN.mjs";
3
+ import { t as defineMetabaseCommand } from "./runtime-B8leBJ1G.mjs";
4
+ import { n as confirmAndDelete, t as DeleteResult } from "./delete-runtime-Bxy6qAqZ.mjs";
5
5
  //#region src/commands/timeline-event/delete.ts
6
6
  var delete_default = defineMetabaseCommand({
7
7
  meta: {
@@ -1,7 +1,7 @@
1
1
  import { ct as connectionFlags, 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-fJ-A3m-R.mjs";
4
- import { n as DeleteResult, r as confirmAndDelete } from "./delete-runtime-CdyjCkIN.mjs";
3
+ import { t as defineMetabaseCommand } from "./runtime-B8leBJ1G.mjs";
4
+ import { n as confirmAndDelete, t as DeleteResult } from "./delete-runtime-Bxy6qAqZ.mjs";
5
5
  //#region src/commands/data-action/delete.ts
6
6
  var delete_default = defineMetabaseCommand({
7
7
  meta: {
@@ -1,7 +1,7 @@
1
1
  import { ct as connectionFlags, 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-fJ-A3m-R.mjs";
4
- import { n as DeleteResult, r as confirmAndDelete } from "./delete-runtime-CdyjCkIN.mjs";
3
+ import { t as defineMetabaseCommand } from "./runtime-B8leBJ1G.mjs";
4
+ import { n as confirmAndDelete, t as DeleteResult } from "./delete-runtime-Bxy6qAqZ.mjs";
5
5
  //#region src/commands/transform-tag/delete.ts
6
6
  var delete_default = defineMetabaseCommand({
7
7
  meta: {