@mtndev/cli 0.0.0-dev-20260626045346 → 0.0.0-dev-20260914234436

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 (331) hide show
  1. package/CHANGELOG.md +86 -1
  2. package/cjs/__chunks/2FSYDFUV.cjs +146 -0
  3. package/cjs/__chunks/3A5ZYU5M.cjs +105 -0
  4. package/cjs/__chunks/3NOHGUCF.cjs +9 -0
  5. package/cjs/__chunks/3T2LXW7J.cjs +387 -0
  6. package/cjs/__chunks/4XT5JEAS.cjs +1 -0
  7. package/cjs/__chunks/AZEB4H4I.cjs +208 -0
  8. package/cjs/__chunks/B5ENMOCD.cjs +288 -0
  9. package/cjs/__chunks/B6XM5KSF.cjs +338 -0
  10. package/cjs/__chunks/BDU2UCE5.cjs +1 -0
  11. package/cjs/__chunks/BLMSMR5E.cjs +46 -0
  12. package/cjs/__chunks/CMUD7LLN.cjs +47 -0
  13. package/cjs/__chunks/DTQ2LB3I.cjs +49 -0
  14. package/cjs/__chunks/FM5MVRQF.cjs +23 -0
  15. package/cjs/__chunks/FRHST54J.cjs +135 -0
  16. package/cjs/__chunks/FU4VP2LN.cjs +1 -0
  17. package/cjs/__chunks/G5K4PVIL.cjs +26 -0
  18. package/cjs/__chunks/{NSRFG4DF.cjs → GU3R54MK.cjs} +45 -18
  19. package/cjs/__chunks/GUL36IFZ.cjs +61 -0
  20. package/cjs/__chunks/GZMTNK5N.cjs +1 -0
  21. package/cjs/__chunks/H74JSDBU.cjs +30 -0
  22. package/cjs/__chunks/{EMMC33QA.cjs → JB7T7PKQ.cjs} +170 -33
  23. package/cjs/__chunks/JSL2JDMW.cjs +1 -0
  24. package/cjs/__chunks/K4QNHRTP.cjs +163 -0
  25. package/cjs/__chunks/KU76LC42.cjs +192 -0
  26. package/cjs/__chunks/LFDSHANP.cjs +34 -0
  27. package/cjs/__chunks/LHE24ECK.cjs +192 -0
  28. package/cjs/__chunks/LIKQ3SI4.cjs +1 -0
  29. package/cjs/__chunks/LXDF5QVZ.cjs +313 -0
  30. package/cjs/__chunks/LXOOJR2R.cjs +74 -0
  31. package/cjs/__chunks/N5MXFOQZ.cjs +167 -0
  32. package/cjs/__chunks/N7D56LPP.cjs +25 -0
  33. package/cjs/__chunks/NFXQNOQH.cjs +393 -0
  34. package/cjs/__chunks/NLKJIUEX.cjs +126 -0
  35. package/cjs/__chunks/NT2XXAI6.cjs +89 -0
  36. package/cjs/__chunks/NWZGFHKH.cjs +121 -0
  37. package/cjs/__chunks/R3GUC7O7.cjs +110 -0
  38. package/cjs/__chunks/RPVAXPJ4.cjs +1 -0
  39. package/cjs/__chunks/S3LVCWPN.cjs +23 -0
  40. package/cjs/__chunks/SBBNW2BF.cjs +249 -0
  41. package/cjs/__chunks/T2A7TN4F.cjs +81 -0
  42. package/cjs/__chunks/TKNNDDIB.cjs +97 -0
  43. package/cjs/__chunks/TNSRDJPR.cjs +1 -0
  44. package/cjs/__chunks/UWHPE2GI.cjs +20 -0
  45. package/cjs/__chunks/W6K7BV74.cjs +1 -0
  46. package/cjs/__chunks/WBOQ6AUN.cjs +320 -0
  47. package/cjs/__chunks/WHGN5PZI.cjs +299 -0
  48. package/cjs/__chunks/WOYF2L6T.cjs +11 -0
  49. package/cjs/__chunks/X26XY2N6.cjs +18 -0
  50. package/cjs/__chunks/XMKOKRXZ.cjs +16 -0
  51. package/cjs/__chunks/XTJPQ3EX.cjs +1 -0
  52. package/cjs/__chunks/YRHFKTW2.cjs +63 -0
  53. package/cjs/commands/aws/ec2/allow-ip/handler.cjs +12 -0
  54. package/cjs/commands/aws/ec2/allow-ip/handler.d.ts +6 -0
  55. package/cjs/commands/aws/ec2/allow-ip/index.cjs +55 -0
  56. package/cjs/commands/aws/ec2/allow-ip/index.d.ts +3 -0
  57. package/cjs/commands/aws/ec2/allow-ip/schema.cjs +13 -0
  58. package/cjs/commands/aws/ec2/allow-ip/schema.d.ts +33 -0
  59. package/cjs/commands/aws/ec2/allow-ip/utils.cjs +39 -0
  60. package/cjs/commands/aws/ec2/allow-ip/utils.d.ts +189 -0
  61. package/cjs/commands/aws/iam/admin-group.cjs +15 -0
  62. package/cjs/commands/aws/iam/admin-group.d.ts +55 -0
  63. package/cjs/commands/aws/iam/break-glass/handler.cjs +12 -0
  64. package/cjs/commands/aws/iam/break-glass/handler.d.ts +7 -0
  65. package/cjs/commands/aws/iam/break-glass/index.cjs +19 -0
  66. package/cjs/commands/aws/iam/break-glass/index.d.ts +2 -0
  67. package/cjs/commands/aws/iam/break-glass/schema.cjs +12 -0
  68. package/cjs/commands/aws/iam/break-glass/schema.d.ts +25 -0
  69. package/cjs/commands/aws/iam/check-admin/handler.cjs +10 -0
  70. package/cjs/commands/aws/iam/check-admin/handler.d.ts +5 -0
  71. package/cjs/commands/aws/iam/check-admin/index.cjs +17 -0
  72. package/cjs/commands/aws/iam/check-admin/index.d.ts +2 -0
  73. package/cjs/commands/aws/iam/check-admin/schema.cjs +12 -0
  74. package/cjs/commands/aws/iam/check-admin/schema.d.ts +19 -0
  75. package/cjs/commands/aws/iam/policies/s3-restrictions-deny-non-s3-services.cjs +28 -0
  76. package/cjs/commands/aws/iam/policies/sts-federation.cjs +19 -0
  77. package/cjs/commands/aws/iam/policies/user-admins-deny-list.cjs +183 -0
  78. package/cjs/commands/aws/iam/policies/user-admins-deny-regions-list.cjs +49 -0
  79. package/cjs/commands/aws/iam/policies/user-admins-self-service-iam.cjs +64 -0
  80. package/cjs/commands/aws/iam/policies/user-admins-write-list.cjs +125 -0
  81. package/cjs/commands/aws/iam/remove-admin/handler.cjs +11 -0
  82. package/cjs/commands/aws/iam/remove-admin/handler.d.ts +6 -0
  83. package/cjs/commands/aws/iam/remove-admin/index.cjs +18 -0
  84. package/cjs/commands/aws/iam/remove-admin/index.d.ts +2 -0
  85. package/cjs/commands/aws/iam/remove-admin/schema.cjs +12 -0
  86. package/cjs/commands/aws/iam/remove-admin/schema.d.ts +28 -0
  87. package/cjs/commands/aws/iam/setup-acl/handler.cjs +14 -0
  88. package/cjs/commands/aws/iam/setup-acl/handler.d.ts +6 -0
  89. package/cjs/commands/aws/iam/setup-acl/index.cjs +33 -0
  90. package/cjs/commands/aws/iam/setup-acl/index.d.ts +3 -0
  91. package/cjs/commands/aws/iam/setup-acl/schema.cjs +7 -0
  92. package/cjs/commands/aws/iam/setup-acl/schema.d.ts +24 -0
  93. package/cjs/commands/aws/iam/setup-acl/utils.cjs +20 -0
  94. package/cjs/commands/aws/iam/setup-acl/utils.d.ts +61 -0
  95. package/cjs/commands/aws/iam/users/handler.cjs +12 -0
  96. package/cjs/commands/aws/iam/users/handler.d.ts +5 -0
  97. package/cjs/commands/aws/iam/users/index.cjs +41 -0
  98. package/cjs/commands/aws/iam/users/index.d.ts +3 -0
  99. package/cjs/commands/aws/iam/users/schema.cjs +7 -0
  100. package/cjs/commands/aws/iam/users/schema.d.ts +18 -0
  101. package/cjs/commands/aws/iam/users/utils.cjs +30 -0
  102. package/cjs/commands/aws/iam/users/utils.d.ts +119 -0
  103. package/cjs/commands/aws/index.cjs +229 -0
  104. package/cjs/commands/aws/index.d.ts +14 -0
  105. package/cjs/commands/aws/route53/add-record/handler.cjs +18 -0
  106. package/cjs/commands/aws/route53/add-record/handler.d.ts +36 -0
  107. package/cjs/commands/aws/route53/add-record/index.cjs +57 -0
  108. package/cjs/commands/aws/route53/add-record/index.d.ts +3 -0
  109. package/cjs/commands/aws/route53/add-record/schema.cjs +11 -0
  110. package/cjs/commands/aws/route53/add-record/schema.d.ts +45 -0
  111. package/cjs/commands/aws/route53/add-record/utils.cjs +37 -0
  112. package/cjs/commands/aws/route53/add-record/utils.d.ts +216 -0
  113. package/cjs/commands/aws/route53/remove-record/handler.cjs +14 -0
  114. package/cjs/commands/aws/route53/remove-record/handler.d.ts +6 -0
  115. package/cjs/commands/aws/route53/remove-record/index.cjs +18 -0
  116. package/cjs/commands/aws/route53/remove-record/index.d.ts +2 -0
  117. package/cjs/commands/aws/route53/remove-record/schema.cjs +8 -0
  118. package/cjs/commands/aws/route53/remove-record/schema.d.ts +30 -0
  119. package/cjs/commands/aws/schema.cjs +10 -0
  120. package/cjs/commands/aws/schema.d.ts +13 -0
  121. package/cjs/commands/aws/ses/send-email/handler.cjs +12 -0
  122. package/cjs/commands/aws/ses/send-email/handler.d.ts +5 -0
  123. package/cjs/commands/aws/ses/send-email/index.cjs +23 -0
  124. package/cjs/commands/aws/ses/send-email/index.d.ts +3 -0
  125. package/cjs/commands/aws/ses/send-email/schema.cjs +7 -0
  126. package/cjs/commands/aws/ses/send-email/schema.d.ts +39 -0
  127. package/cjs/commands/aws/ses/send-email/utils.cjs +11 -0
  128. package/cjs/commands/aws/ses/send-email/utils.d.ts +47 -0
  129. package/cjs/commands/aws/ses/smtp-password.cjs +10 -0
  130. package/cjs/commands/aws/ses/smtp-password.d.ts +21 -0
  131. package/cjs/commands/aws/utils/exec-aws.cjs +16 -0
  132. package/cjs/commands/aws/utils/exec-aws.d.ts +79 -0
  133. package/cjs/commands/aws/utils/resolve-policy-path.cjs +6 -0
  134. package/cjs/commands/aws/utils/resolve-policy-path.d.ts +8 -0
  135. package/cjs/commands/aws/utils/resolve-profile.cjs +11 -0
  136. package/cjs/commands/aws/utils/resolve-profile.d.ts +28 -0
  137. package/cjs/commands/aws/utils/tty.cjs +10 -0
  138. package/cjs/commands/aws/utils/tty.d.ts +24 -0
  139. package/cjs/commands/db/create-readonly-user/handler.cjs +11 -0
  140. package/cjs/commands/db/create-readonly-user/handler.d.ts +5 -0
  141. package/cjs/commands/db/create-readonly-user/index.cjs +40 -0
  142. package/cjs/commands/db/create-readonly-user/index.d.ts +3 -0
  143. package/cjs/commands/db/create-readonly-user/mysql.cjs +9 -0
  144. package/cjs/commands/db/create-readonly-user/mysql.d.ts +33 -0
  145. package/cjs/commands/db/create-readonly-user/postgres.cjs +9 -0
  146. package/cjs/commands/db/create-readonly-user/postgres.d.ts +31 -0
  147. package/cjs/commands/db/create-readonly-user/schema.cjs +12 -0
  148. package/cjs/commands/db/create-readonly-user/schema.d.ts +55 -0
  149. package/cjs/commands/db/create-readonly-user/utils.cjs +22 -0
  150. package/cjs/commands/db/create-readonly-user/utils.d.ts +112 -0
  151. package/cjs/commands/db/index.cjs +44 -0
  152. package/cjs/commands/db/index.d.ts +6 -0
  153. package/cjs/commands/doppler/handler.cjs +6 -4
  154. package/cjs/commands/doppler/index.cjs +32 -5
  155. package/cjs/commands/doppler/index.d.ts +1 -0
  156. package/cjs/commands/doppler/schema.cjs +10 -2
  157. package/cjs/commands/doppler/schema.d.ts +233 -17
  158. package/cjs/commands/doppler/set-secret.cjs +19 -0
  159. package/cjs/commands/doppler/set-secret.d.ts +113 -0
  160. package/cjs/commands/doppler/utils.cjs +6 -2
  161. package/cjs/commands/doppler/utils.d.ts +32 -8
  162. package/cjs/commands/icons/schema.d.ts +1 -1
  163. package/cjs/commands/index.cjs +91 -12
  164. package/esm/__chunks/2FTTEFEK.js +97 -0
  165. package/esm/__chunks/33UYMUQD.js +338 -0
  166. package/esm/__chunks/3BKWTHLJ.js +25 -0
  167. package/esm/__chunks/3HE4BEJX.js +105 -0
  168. package/esm/__chunks/3QLI5BDL.js +387 -0
  169. package/esm/__chunks/5GIUAFXL.js +89 -0
  170. package/esm/__chunks/73BJG53F.js +11 -0
  171. package/esm/__chunks/7VF4Q43Q.js +0 -0
  172. package/esm/__chunks/AEDEAYF5.js +0 -0
  173. package/esm/__chunks/AZCP3SFJ.js +0 -0
  174. package/esm/__chunks/B2DVQ2UL.js +61 -0
  175. package/esm/__chunks/CVQVHLW5.js +0 -0
  176. package/esm/__chunks/D62SPZXC.js +0 -0
  177. package/esm/__chunks/DLEJ25GZ.js +121 -0
  178. package/esm/__chunks/DMYFNF54.js +192 -0
  179. package/esm/__chunks/DNFTUMGD.js +23 -0
  180. package/esm/__chunks/DVKD6YSR.js +49 -0
  181. package/esm/__chunks/EMSH4P76.js +20 -0
  182. package/esm/__chunks/FFKFVMIE.js +167 -0
  183. package/esm/__chunks/FNXUONAV.js +110 -0
  184. package/esm/__chunks/G4NJHFFU.js +320 -0
  185. package/esm/__chunks/IEOGAQYI.js +46 -0
  186. package/esm/__chunks/IZFGBYGE.js +34 -0
  187. package/esm/__chunks/J34UVKLA.js +26 -0
  188. package/esm/__chunks/JZPBBBIG.js +74 -0
  189. package/esm/__chunks/KWUJP5MG.js +135 -0
  190. package/esm/__chunks/M35URMT4.js +313 -0
  191. package/esm/__chunks/NF3M2L6C.js +81 -0
  192. package/esm/__chunks/PNPPDYKC.js +299 -0
  193. package/esm/__chunks/QFXN4EHM.js +393 -0
  194. package/esm/__chunks/QKDDLIWD.js +146 -0
  195. package/esm/__chunks/QSE66AKY.js +208 -0
  196. package/esm/__chunks/QUF7PS4R.js +18 -0
  197. package/esm/__chunks/S7IJPJ4R.js +126 -0
  198. package/esm/__chunks/SD3E3EPH.js +163 -0
  199. package/esm/__chunks/T3TTUHTW.js +30 -0
  200. package/esm/__chunks/TIOVE6HR.js +0 -0
  201. package/esm/__chunks/TXKMEIDQ.js +0 -0
  202. package/esm/__chunks/U7HAE2RF.js +288 -0
  203. package/esm/__chunks/UXWY7BYE.js +63 -0
  204. package/esm/__chunks/VKAKISRG.js +192 -0
  205. package/esm/__chunks/WD2YR6I7.js +0 -0
  206. package/esm/__chunks/WOZFZKFY.js +0 -0
  207. package/esm/__chunks/XI7GZDE2.js +0 -0
  208. package/esm/__chunks/XOUWDB3T.js +249 -0
  209. package/esm/__chunks/XQN2TA4S.js +23 -0
  210. package/esm/__chunks/XXK32TIM.js +16 -0
  211. package/esm/__chunks/{O262GK4B.js → YGWTVPZE.js} +164 -27
  212. package/esm/__chunks/{6L5RNR7G.js → YRG7PT33.js} +44 -17
  213. package/esm/__chunks/ZHKVJO2U.js +47 -0
  214. package/esm/__chunks/ZO55YUSY.js +9 -0
  215. package/esm/commands/aws/ec2/allow-ip/handler.d.ts +6 -0
  216. package/esm/commands/aws/ec2/allow-ip/handler.js +12 -0
  217. package/esm/commands/aws/ec2/allow-ip/index.d.ts +3 -0
  218. package/esm/commands/aws/ec2/allow-ip/index.js +55 -0
  219. package/esm/commands/aws/ec2/allow-ip/schema.d.ts +33 -0
  220. package/esm/commands/aws/ec2/allow-ip/schema.js +13 -0
  221. package/esm/commands/aws/ec2/allow-ip/utils.d.ts +189 -0
  222. package/esm/commands/aws/ec2/allow-ip/utils.js +39 -0
  223. package/esm/commands/aws/iam/admin-group.d.ts +55 -0
  224. package/esm/commands/aws/iam/admin-group.js +15 -0
  225. package/esm/commands/aws/iam/break-glass/handler.d.ts +7 -0
  226. package/esm/commands/aws/iam/break-glass/handler.js +12 -0
  227. package/esm/commands/aws/iam/break-glass/index.d.ts +2 -0
  228. package/esm/commands/aws/iam/break-glass/index.js +19 -0
  229. package/esm/commands/aws/iam/break-glass/schema.d.ts +25 -0
  230. package/esm/commands/aws/iam/break-glass/schema.js +12 -0
  231. package/esm/commands/aws/iam/check-admin/handler.d.ts +5 -0
  232. package/esm/commands/aws/iam/check-admin/handler.js +10 -0
  233. package/esm/commands/aws/iam/check-admin/index.d.ts +2 -0
  234. package/esm/commands/aws/iam/check-admin/index.js +17 -0
  235. package/esm/commands/aws/iam/check-admin/schema.d.ts +19 -0
  236. package/esm/commands/aws/iam/check-admin/schema.js +12 -0
  237. package/esm/commands/aws/iam/policies/s3-restrictions-deny-non-s3-services.js +28 -0
  238. package/esm/commands/aws/iam/policies/sts-federation.js +19 -0
  239. package/esm/commands/aws/iam/policies/user-admins-deny-list.js +183 -0
  240. package/esm/commands/aws/iam/policies/user-admins-deny-regions-list.js +49 -0
  241. package/esm/commands/aws/iam/policies/user-admins-self-service-iam.js +64 -0
  242. package/esm/commands/aws/iam/policies/user-admins-write-list.js +125 -0
  243. package/esm/commands/aws/iam/remove-admin/handler.d.ts +6 -0
  244. package/esm/commands/aws/iam/remove-admin/handler.js +11 -0
  245. package/esm/commands/aws/iam/remove-admin/index.d.ts +2 -0
  246. package/esm/commands/aws/iam/remove-admin/index.js +18 -0
  247. package/esm/commands/aws/iam/remove-admin/schema.d.ts +28 -0
  248. package/esm/commands/aws/iam/remove-admin/schema.js +12 -0
  249. package/esm/commands/aws/iam/setup-acl/handler.d.ts +6 -0
  250. package/esm/commands/aws/iam/setup-acl/handler.js +14 -0
  251. package/esm/commands/aws/iam/setup-acl/index.d.ts +3 -0
  252. package/esm/commands/aws/iam/setup-acl/index.js +33 -0
  253. package/esm/commands/aws/iam/setup-acl/schema.d.ts +24 -0
  254. package/esm/commands/aws/iam/setup-acl/schema.js +7 -0
  255. package/esm/commands/aws/iam/setup-acl/utils.d.ts +61 -0
  256. package/esm/commands/aws/iam/setup-acl/utils.js +20 -0
  257. package/esm/commands/aws/iam/users/handler.d.ts +5 -0
  258. package/esm/commands/aws/iam/users/handler.js +12 -0
  259. package/esm/commands/aws/iam/users/index.d.ts +3 -0
  260. package/esm/commands/aws/iam/users/index.js +41 -0
  261. package/esm/commands/aws/iam/users/schema.d.ts +18 -0
  262. package/esm/commands/aws/iam/users/schema.js +7 -0
  263. package/esm/commands/aws/iam/users/utils.d.ts +119 -0
  264. package/esm/commands/aws/iam/users/utils.js +30 -0
  265. package/esm/commands/aws/index.d.ts +14 -0
  266. package/esm/commands/aws/index.js +229 -0
  267. package/esm/commands/aws/route53/add-record/handler.d.ts +36 -0
  268. package/esm/commands/aws/route53/add-record/handler.js +18 -0
  269. package/esm/commands/aws/route53/add-record/index.d.ts +3 -0
  270. package/esm/commands/aws/route53/add-record/index.js +57 -0
  271. package/esm/commands/aws/route53/add-record/schema.d.ts +45 -0
  272. package/esm/commands/aws/route53/add-record/schema.js +11 -0
  273. package/esm/commands/aws/route53/add-record/utils.d.ts +216 -0
  274. package/esm/commands/aws/route53/add-record/utils.js +37 -0
  275. package/esm/commands/aws/route53/remove-record/handler.d.ts +6 -0
  276. package/esm/commands/aws/route53/remove-record/handler.js +14 -0
  277. package/esm/commands/aws/route53/remove-record/index.d.ts +2 -0
  278. package/esm/commands/aws/route53/remove-record/index.js +18 -0
  279. package/esm/commands/aws/route53/remove-record/schema.d.ts +30 -0
  280. package/esm/commands/aws/route53/remove-record/schema.js +8 -0
  281. package/esm/commands/aws/schema.d.ts +13 -0
  282. package/esm/commands/aws/schema.js +10 -0
  283. package/esm/commands/aws/ses/send-email/handler.d.ts +5 -0
  284. package/esm/commands/aws/ses/send-email/handler.js +12 -0
  285. package/esm/commands/aws/ses/send-email/index.d.ts +3 -0
  286. package/esm/commands/aws/ses/send-email/index.js +23 -0
  287. package/esm/commands/aws/ses/send-email/schema.d.ts +39 -0
  288. package/esm/commands/aws/ses/send-email/schema.js +7 -0
  289. package/esm/commands/aws/ses/send-email/utils.d.ts +47 -0
  290. package/esm/commands/aws/ses/send-email/utils.js +11 -0
  291. package/esm/commands/aws/ses/smtp-password.d.ts +21 -0
  292. package/esm/commands/aws/ses/smtp-password.js +10 -0
  293. package/esm/commands/aws/utils/exec-aws.d.ts +79 -0
  294. package/esm/commands/aws/utils/exec-aws.js +16 -0
  295. package/esm/commands/aws/utils/resolve-policy-path.d.ts +8 -0
  296. package/esm/commands/aws/utils/resolve-policy-path.js +6 -0
  297. package/esm/commands/aws/utils/resolve-profile.d.ts +28 -0
  298. package/esm/commands/aws/utils/resolve-profile.js +11 -0
  299. package/esm/commands/aws/utils/tty.d.ts +24 -0
  300. package/esm/commands/aws/utils/tty.js +10 -0
  301. package/esm/commands/db/create-readonly-user/handler.d.ts +5 -0
  302. package/esm/commands/db/create-readonly-user/handler.js +11 -0
  303. package/esm/commands/db/create-readonly-user/index.d.ts +3 -0
  304. package/esm/commands/db/create-readonly-user/index.js +40 -0
  305. package/esm/commands/db/create-readonly-user/mysql.d.ts +33 -0
  306. package/esm/commands/db/create-readonly-user/mysql.js +9 -0
  307. package/esm/commands/db/create-readonly-user/postgres.d.ts +31 -0
  308. package/esm/commands/db/create-readonly-user/postgres.js +9 -0
  309. package/esm/commands/db/create-readonly-user/schema.d.ts +55 -0
  310. package/esm/commands/db/create-readonly-user/schema.js +12 -0
  311. package/esm/commands/db/create-readonly-user/utils.d.ts +112 -0
  312. package/esm/commands/db/create-readonly-user/utils.js +22 -0
  313. package/esm/commands/db/index.d.ts +6 -0
  314. package/esm/commands/db/index.js +44 -0
  315. package/esm/commands/doppler/handler.js +5 -3
  316. package/esm/commands/doppler/index.d.ts +1 -0
  317. package/esm/commands/doppler/index.js +32 -5
  318. package/esm/commands/doppler/schema.d.ts +233 -17
  319. package/esm/commands/doppler/schema.js +11 -3
  320. package/esm/commands/doppler/set-secret.d.ts +113 -0
  321. package/esm/commands/doppler/set-secret.js +19 -0
  322. package/esm/commands/doppler/utils.d.ts +32 -8
  323. package/esm/commands/doppler/utils.js +5 -1
  324. package/esm/commands/icons/schema.d.ts +1 -1
  325. package/esm/commands/index.js +86 -7
  326. package/package.json +12 -2
  327. package/vitest.config.ts +11 -0
  328. package/cjs/__chunks/4GFJUCSP.cjs +0 -52
  329. package/esm/__chunks/X3R5PSWH.js +0 -52
  330. /package/cjs/__chunks/{WNJ3ZYLI.cjs → 3BY5Y4W7.cjs} +0 -0
  331. /package/esm/__chunks/{46HGXFME.js → 5ZBVGSOK.js} +0 -0
@@ -0,0 +1,126 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
+
3
+ var _X26XY2N6cjs = require('./X26XY2N6.cjs');
4
+
5
+
6
+
7
+
8
+ var _T2A7TN4Fcjs = require('./T2A7TN4F.cjs');
9
+
10
+
11
+ var _R3GUC7O7cjs = require('./R3GUC7O7.cjs');
12
+
13
+ // src/commands/aws/iam/check-admin/handler.js
14
+ var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
15
+ var _zod = require('zod');
16
+ async function checkAdminCommand(options) {
17
+ try {
18
+ const { profile, all, verbose } = _X26XY2N6cjs.checkAdminOptionsSchema.parse(options);
19
+ _R3GUC7O7cjs.requireCommands.call(void 0, ["aws"]);
20
+ const needsVault = all || !(_nullishCoalesce(profile, () => ( process.env.AWS_PROFILE)));
21
+ if (needsVault) {
22
+ _R3GUC7O7cjs.requireCommands.call(void 0, ["aws-vault"]);
23
+ }
24
+ let profiles;
25
+ try {
26
+ profiles = _T2A7TN4Fcjs.resolveAdminScanProfiles.call(void 0, { profile, all });
27
+ } catch (resolveError) {
28
+ if (resolveError instanceof Error && resolveError.message === "No aws-vault profiles with credentials found.") {
29
+ console.error(_chalk2.default.red(resolveError.message));
30
+ process.exit(1);
31
+ }
32
+ throw resolveError;
33
+ }
34
+ console.log(
35
+ _chalk2.default.blue(
36
+ `
37
+ ==> Checking ${profiles.length} profile(s) for ${_T2A7TN4Fcjs.ADMIN_GROUP_NAME}
38
+ `
39
+ )
40
+ );
41
+ let ok = 0;
42
+ let alert = 0;
43
+ let skip = 0;
44
+ for (const candidate of profiles) {
45
+ const scan = _T2A7TN4Fcjs.resolveProfileScan.call(void 0, { profile: candidate, verbose });
46
+ if (!scan) {
47
+ skip += 1;
48
+ continue;
49
+ }
50
+ if (scan.users.length === 0) {
51
+ console.log(
52
+ _chalk2.default.green(
53
+ `OK ${candidate} (${scan.accountId}) \u2014 ${_T2A7TN4Fcjs.ADMIN_GROUP_NAME}: 0 users`
54
+ )
55
+ );
56
+ ok += 1;
57
+ } else {
58
+ console.log(
59
+ _chalk2.default.red(
60
+ `ALERT ${candidate} (${scan.accountId}) \u2014 ${_T2A7TN4Fcjs.ADMIN_GROUP_NAME}: ${scan.users.length} user(s): ${scan.users.join(", ")}`
61
+ )
62
+ );
63
+ alert += 1;
64
+ }
65
+ }
66
+ console.log(_chalk2.default.blue("\n==> Summary"));
67
+ console.log(` Profiles scanned: ${profiles.length}`);
68
+ console.log(` OK (empty group): ${ok}`);
69
+ console.log(` ALERT (has users): ${alert}`);
70
+ console.log(` Skipped (silent): ${skip}`);
71
+ if (alert > 0) {
72
+ console.log(
73
+ _chalk2.default.red(
74
+ `
75
+ Remove users from ${_T2A7TN4Fcjs.ADMIN_GROUP_NAME} when break-glass access is no longer needed.`
76
+ )
77
+ );
78
+ process.exit(1);
79
+ }
80
+ if (ok === 0) {
81
+ console.log(
82
+ _chalk2.default.yellow(
83
+ `
84
+ No profiles returned IAM access for ${_T2A7TN4Fcjs.ADMIN_GROUP_NAME}.`
85
+ )
86
+ );
87
+ console.log(
88
+ _chalk2.default.yellow(
89
+ " Use a profile with iam:GetGroup (e.g. md-*-iam-admin) or run with --verbose."
90
+ )
91
+ );
92
+ }
93
+ } catch (error) {
94
+ if (error instanceof _zod.ZodError) {
95
+ console.error(_chalk2.default.red("\n\u274C Invalid command options:"));
96
+ error.errors.forEach((err) => {
97
+ console.error(_chalk2.default.red(` ${err.path.join(".")}: ${err.message}`));
98
+ });
99
+ process.exit(1);
100
+ }
101
+ const verbose = (
102
+ /** @type {any} */
103
+ _optionalChain([options, 'optionalAccess', _ => _.verbose]) || false
104
+ );
105
+ console.error(_chalk2.default.red("\n\u274C check-admin failed:"));
106
+ if (error instanceof Error) {
107
+ console.error(_chalk2.default.red(` ${error.message}`));
108
+ if (verbose && error.stack) {
109
+ console.error(_chalk2.default.gray("\nStack trace:"));
110
+ console.error(_chalk2.default.gray(error.stack));
111
+ }
112
+ } else {
113
+ console.error(_chalk2.default.red(` ${String(error)}`));
114
+ }
115
+ console.error(
116
+ _chalk2.default.yellow(
117
+ "\n\u{1F4A1} Requires the AWS CLI, and aws-vault when scanning multiple profiles.\n"
118
+ )
119
+ );
120
+ process.exit(1);
121
+ }
122
+ }
123
+
124
+
125
+
126
+ exports.checkAdminCommand = checkAdminCommand;
@@ -0,0 +1,89 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
+
3
+
4
+ var _CMUD7LLNcjs = require('./CMUD7LLN.cjs');
5
+
6
+ // src/commands/aws/utils/resolve-profile.js
7
+ var _fs = require('fs');
8
+ var _os = require('os');
9
+ var _path = require('path');
10
+ var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
11
+ var MAX_LISTED = 30;
12
+ function listConfigProfiles() {
13
+ const configPath = _nullishCoalesce(process.env.AWS_CONFIG_FILE, () => ( _path.join.call(void 0, _os.homedir.call(void 0, ), ".aws", "config")));
14
+ let contents;
15
+ try {
16
+ contents = _fs.readFileSync.call(void 0, configPath, "utf-8");
17
+ } catch (e) {
18
+ return [];
19
+ }
20
+ const profiles = [];
21
+ const profileRe = /^\[profile\s+(.+?)\]$/;
22
+ for (const rawLine of contents.split("\n")) {
23
+ const line = rawLine.trim();
24
+ const match = profileRe.exec(line);
25
+ if (_optionalChain([match, 'optionalAccess', _ => _[1]])) {
26
+ profiles.push(match[1].trim());
27
+ } else if (line === "[default]") {
28
+ profiles.push("default");
29
+ }
30
+ }
31
+ return profiles;
32
+ }
33
+ async function pickProfileInteractive(profiles) {
34
+ for (; ; ) {
35
+ const filter = (await _CMUD7LLNcjs.prompt.call(void 0, _chalk2.default.cyan("Filter profiles (substring, Enter for all): "))).trim().toLowerCase();
36
+ const matches = filter ? profiles.filter((name) => name.toLowerCase().includes(filter)) : profiles;
37
+ if (matches.length === 0) {
38
+ console.log(_chalk2.default.yellow(` No profiles match "${filter}". Try again.`));
39
+ continue;
40
+ }
41
+ if (matches.length === 1) {
42
+ const only = _nullishCoalesce(matches[0], () => ( ""));
43
+ console.log(_chalk2.default.green(` \u2192 ${only}`));
44
+ return only;
45
+ }
46
+ if (matches.length > MAX_LISTED) {
47
+ console.log(
48
+ _chalk2.default.yellow(
49
+ ` ${matches.length} profiles match \u2014 narrow the filter (over ${MAX_LISTED} to list).`
50
+ )
51
+ );
52
+ continue;
53
+ }
54
+ const index = await _CMUD7LLNcjs.promptChoice.call(void 0, {
55
+ message: _chalk2.default.cyan("Select a profile:"),
56
+ options: matches
57
+ });
58
+ return _nullishCoalesce(matches[index], () => ( ""));
59
+ }
60
+ }
61
+ async function resolveProfile(params) {
62
+ const explicit = _nullishCoalesce(params.profile, () => ( process.env.AWS_PROFILE));
63
+ if (explicit) {
64
+ return explicit;
65
+ }
66
+ const interactive = _nullishCoalesce(params.interactive, () => ( Boolean(process.stdin.isTTY)));
67
+ if (!interactive) {
68
+ return void 0;
69
+ }
70
+ const profiles = listConfigProfiles();
71
+ if (profiles.length === 0) {
72
+ return void 0;
73
+ }
74
+ console.log(
75
+ _chalk2.default.yellow(
76
+ "\nNo AWS profile selected (--profile and AWS_PROFILE are unset)."
77
+ )
78
+ );
79
+ const chosen = await pickProfileInteractive(profiles);
80
+ console.log(_chalk2.default.gray(`Using profile "${chosen}" for this command.
81
+ `));
82
+ return chosen;
83
+ }
84
+
85
+
86
+
87
+
88
+
89
+ exports.listConfigProfiles = listConfigProfiles; exports.pickProfileInteractive = pickProfileInteractive; exports.resolveProfile = resolveProfile;
@@ -0,0 +1,121 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }// src/commands/db/create-readonly-user/utils.js
2
+ var _crypto = require('crypto');
3
+ function generatePassword(params = {}) {
4
+ const { length = 24 } = params;
5
+ const alphabet = "ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz23456789!@#$%^&*";
6
+ const bytes = _crypto.randomBytes.call(void 0, length);
7
+ let result = "";
8
+ for (let i = 0; i < length; i += 1) {
9
+ const byte = _nullishCoalesce(bytes[i], () => ( 0));
10
+ result += alphabet[byte % alphabet.length];
11
+ }
12
+ return result;
13
+ }
14
+ function detectEngineFromUrl(url) {
15
+ const trimmed = url.trim().toLowerCase();
16
+ if (trimmed.startsWith("postgres://") || trimmed.startsWith("postgresql://")) {
17
+ return "postgres";
18
+ }
19
+ if (trimmed.startsWith("mysql://") || trimmed.startsWith("mysql2://")) {
20
+ return "mysql";
21
+ }
22
+ return null;
23
+ }
24
+ function resolveAdminUrl(params) {
25
+ const { url, engine } = params;
26
+ if (url) {
27
+ return url;
28
+ }
29
+ if (engine === "mysql") {
30
+ return _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(process.env.MYSQL_URL, () => ( process.env.DATABASE_URL)), () => ( process.env.MYSQL_DATABASE_URL)), () => ( null));
31
+ }
32
+ if (engine === "postgres") {
33
+ return _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(process.env.DATABASE_URL, () => ( process.env.POSTGRES_URL)), () => ( process.env.POSTGRESQL_URL)), () => ( null));
34
+ }
35
+ return _nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(_nullishCoalesce(process.env.DATABASE_URL, () => ( process.env.POSTGRES_URL)), () => ( process.env.POSTGRESQL_URL)), () => ( process.env.MYSQL_URL)), () => ( process.env.MYSQL_DATABASE_URL)), () => ( null));
36
+ }
37
+ function resolveSsl(params) {
38
+ const { host, sslOption } = params;
39
+ if (sslOption === true) {
40
+ return { rejectUnauthorized: false };
41
+ }
42
+ if (sslOption === false) {
43
+ return false;
44
+ }
45
+ const local = host === "localhost" || host === "127.0.0.1" || host === "::1" || host === "0.0.0.0";
46
+ if (local) {
47
+ return false;
48
+ }
49
+ return { rejectUnauthorized: false };
50
+ }
51
+ function parseConnectionUrl(params) {
52
+ const { url, engine: engineOption, sslOption } = params;
53
+ const engine = _nullishCoalesce(engineOption, () => ( detectEngineFromUrl(url)));
54
+ if (!engine) {
55
+ throw new Error(
56
+ `Could not detect engine from URL. Pass --engine postgres|mysql. URL starts with: ${url.slice(0, 24)}\u2026`
57
+ );
58
+ }
59
+ let parsed;
60
+ try {
61
+ parsed = new URL(url);
62
+ } catch (e) {
63
+ throw new Error(`Invalid connection URL: ${url}`);
64
+ }
65
+ const defaultPort = engine === "postgres" ? 5432 : 3306;
66
+ const port = parsed.port ? Number.parseInt(parsed.port, 10) : defaultPort;
67
+ const database = decodeURIComponent(parsed.pathname.replace(/^\//, "")) || (engine === "postgres" ? "postgres" : "");
68
+ const host = parsed.hostname || "localhost";
69
+ const user = decodeURIComponent(parsed.username || "");
70
+ const password = decodeURIComponent(parsed.password || "");
71
+ if (!user) {
72
+ throw new Error("Connection URL is missing a username");
73
+ }
74
+ return {
75
+ engine,
76
+ host,
77
+ port: Number.isFinite(port) ? port : defaultPort,
78
+ user,
79
+ password,
80
+ database,
81
+ ssl: resolveSsl({ host, sslOption }),
82
+ url
83
+ };
84
+ }
85
+ function buildReadonlyUrl(params) {
86
+ const { engine, host, port, username, password, database } = params;
87
+ const scheme = engine === "postgres" ? "postgresql" : "mysql";
88
+ const auth = `${encodeURIComponent(username)}:${encodeURIComponent(password)}`;
89
+ const dbPath = database ? `/${encodeURIComponent(database)}` : "/";
90
+ return `${scheme}://${auth}@${host}:${port}${dbPath}`;
91
+ }
92
+ function quoteIdent(params) {
93
+ const { engine, name } = params;
94
+ if (engine === "postgres") {
95
+ return `"${name.replace(/"/g, '""')}"`;
96
+ }
97
+ return `\`${name.replace(/`/g, "``")}\``;
98
+ }
99
+ function quoteLiteral(value) {
100
+ return `'${value.replace(/'/g, "''")}'`;
101
+ }
102
+ function isSystemDatabase(params) {
103
+ const { engine, name } = params;
104
+ const lower = name.toLowerCase();
105
+ if (engine === "postgres") {
106
+ return lower === "template0" || lower === "template1" || lower === "rdsadmin" || lower === "cloudsqladmin";
107
+ }
108
+ return lower === "information_schema" || lower === "performance_schema" || lower === "mysql" || lower === "sys" || lower === "innodb" || lower === "#mysql50#lost+found";
109
+ }
110
+
111
+
112
+
113
+
114
+
115
+
116
+
117
+
118
+
119
+
120
+
121
+ exports.generatePassword = generatePassword; exports.detectEngineFromUrl = detectEngineFromUrl; exports.resolveAdminUrl = resolveAdminUrl; exports.resolveSsl = resolveSsl; exports.parseConnectionUrl = parseConnectionUrl; exports.buildReadonlyUrl = buildReadonlyUrl; exports.quoteIdent = quoteIdent; exports.quoteLiteral = quoteLiteral; exports.isSystemDatabase = isSystemDatabase;
@@ -0,0 +1,110 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }// src/commands/aws/utils/exec-aws.js
2
+ var _child_process = require('child_process');
3
+ var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
4
+ var AwsCliError = class extends Error {
5
+ /**
6
+ * @param {string} message
7
+ * @param {string | null} [code]
8
+ */
9
+ constructor(message, code = null) {
10
+ super(message);
11
+ this.name = "AwsCliError";
12
+ this.code = code;
13
+ }
14
+ };
15
+ function parseAwsErrorCode(stderr) {
16
+ const match = /\(([A-Za-z.]+)\)/.exec(stderr);
17
+ return _nullishCoalesce(_optionalChain([match, 'optionalAccess', _ => _[1]]), () => ( null));
18
+ }
19
+ function requireCommands(commands) {
20
+ const missing = commands.filter((command) => {
21
+ const result = _child_process.spawnSync.call(void 0, "which", [command], { stdio: "pipe" });
22
+ return result.status !== 0;
23
+ });
24
+ if (missing.length > 0) {
25
+ throw new Error(
26
+ `Required command(s) not found on PATH: ${missing.join(", ")}`
27
+ );
28
+ }
29
+ }
30
+ function runAws(params) {
31
+ const {
32
+ profile,
33
+ region,
34
+ args,
35
+ expectJson = true,
36
+ verbose = false,
37
+ env
38
+ } = params;
39
+ const finalArgs = [];
40
+ if (profile) finalArgs.push("--profile", profile);
41
+ if (region) finalArgs.push("--region", region);
42
+ finalArgs.push("--no-cli-pager", ...args);
43
+ if (expectJson) finalArgs.push("--output", "json");
44
+ return spawnAws("aws", finalArgs, { expectJson, verbose, env });
45
+ }
46
+ function runAwsVault(params) {
47
+ const {
48
+ profile,
49
+ args,
50
+ duration = "15m",
51
+ expectJson = true,
52
+ verbose = false
53
+ } = params;
54
+ const awsArgs = ["--no-cli-pager", ...args];
55
+ if (expectJson) awsArgs.push("--output", "json");
56
+ const finalArgs = [
57
+ "exec",
58
+ profile,
59
+ "--duration",
60
+ duration,
61
+ "--",
62
+ "aws",
63
+ ...awsArgs
64
+ ];
65
+ return spawnAws("aws-vault", finalArgs, { expectJson, verbose });
66
+ }
67
+ function spawnAws(command, args, options) {
68
+ const { expectJson, verbose, env } = options;
69
+ if (verbose) {
70
+ console.log(_chalk2.default.gray(` Executing: ${command} ${args.join(" ")}`));
71
+ }
72
+ const result = _child_process.spawnSync.call(void 0, command, args, {
73
+ encoding: "utf-8",
74
+ env: env ? { ...process.env, ...env } : process.env
75
+ });
76
+ if (result.error) {
77
+ throw new AwsCliError(result.error.message);
78
+ }
79
+ if (result.status !== 0) {
80
+ const stderr = (result.stderr || result.stdout || "").trim();
81
+ const message = stderr || `Command failed: ${command} ${args.join(" ")}`;
82
+ throw new AwsCliError(message, parseAwsErrorCode(stderr));
83
+ }
84
+ const stdout = (_nullishCoalesce(result.stdout, () => ( ""))).trim();
85
+ if (!expectJson) {
86
+ return stdout;
87
+ }
88
+ if (!stdout) {
89
+ return {};
90
+ }
91
+ return JSON.parse(stdout);
92
+ }
93
+ function getCallerIdentity(params) {
94
+ const { profile, region, verbose } = params;
95
+ return runAws({
96
+ profile,
97
+ region,
98
+ args: ["sts", "get-caller-identity"],
99
+ verbose
100
+ });
101
+ }
102
+
103
+
104
+
105
+
106
+
107
+
108
+
109
+
110
+ exports.AwsCliError = AwsCliError; exports.parseAwsErrorCode = parseAwsErrorCode; exports.requireCommands = requireCommands; exports.runAws = runAws; exports.runAwsVault = runAwsVault; exports.getCallerIdentity = getCallerIdentity;
@@ -0,0 +1 @@
1
+ "use strict";
@@ -0,0 +1,23 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+
4
+ var _WOYF2L6Tcjs = require('./WOYF2L6T.cjs');
5
+
6
+ // src/commands/aws/iam/remove-admin/schema.js
7
+ var _zod = require('zod');
8
+ var removeAdminOptionsSchema = _zod.z.object({
9
+ profile: _WOYF2L6Tcjs.profileField,
10
+ all: _zod.z.boolean().optional().default(false).describe(
11
+ "Scan every aws-vault profile (default only when --profile and AWS_PROFILE are unset)"
12
+ ),
13
+ user: _zod.z.array(_zod.z.string()).optional().default([]).describe(
14
+ "Only remove these user(s); repeatable. Default: every user in the group"
15
+ ),
16
+ yes: _zod.z.boolean().optional().default(false).describe("Skip the per-profile confirmation prompt"),
17
+ dryRun: _zod.z.boolean().optional().default(false).describe("Preview removals without changing anything"),
18
+ verbose: _WOYF2L6Tcjs.verboseField
19
+ });
20
+
21
+
22
+
23
+ exports.removeAdminOptionsSchema = removeAdminOptionsSchema;