@salesforce/b2c-cli 0.0.0-nightly.20260122024142 → 0.0.0-nightly.20260122154743

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 (342) hide show
  1. package/dist/commands/code/activate.d.ts +1 -0
  2. package/dist/commands/code/delete.d.ts +1 -0
  3. package/dist/commands/code/deploy.d.ts +1 -0
  4. package/dist/commands/code/watch.d.ts +1 -0
  5. package/dist/commands/docs/download.d.ts +1 -0
  6. package/dist/commands/ecdn/cache/purge.d.ts +43 -0
  7. package/dist/commands/ecdn/cache/purge.js +104 -0
  8. package/dist/commands/ecdn/cache/purge.js.map +1 -0
  9. package/dist/commands/ecdn/certificates/add.d.ts +44 -0
  10. package/dist/commands/ecdn/certificates/add.js +109 -0
  11. package/dist/commands/ecdn/certificates/add.js.map +1 -0
  12. package/dist/commands/ecdn/certificates/delete.d.ts +41 -0
  13. package/dist/commands/ecdn/certificates/delete.js +69 -0
  14. package/dist/commands/ecdn/certificates/delete.js.map +1 -0
  15. package/dist/commands/ecdn/certificates/list.d.ts +46 -0
  16. package/dist/commands/ecdn/certificates/list.js +124 -0
  17. package/dist/commands/ecdn/certificates/list.js.map +1 -0
  18. package/dist/commands/ecdn/certificates/update.d.ts +45 -0
  19. package/dist/commands/ecdn/certificates/update.js +104 -0
  20. package/dist/commands/ecdn/certificates/update.js.map +1 -0
  21. package/dist/commands/ecdn/certificates/validate.d.ts +40 -0
  22. package/dist/commands/ecdn/certificates/validate.js +68 -0
  23. package/dist/commands/ecdn/certificates/validate.js.map +1 -0
  24. package/dist/commands/ecdn/cipher-suites/get.d.ts +39 -0
  25. package/dist/commands/ecdn/cipher-suites/get.js +63 -0
  26. package/dist/commands/ecdn/cipher-suites/get.js.map +1 -0
  27. package/dist/commands/ecdn/cipher-suites/update.d.ts +41 -0
  28. package/dist/commands/ecdn/cipher-suites/update.js +81 -0
  29. package/dist/commands/ecdn/cipher-suites/update.js.map +1 -0
  30. package/dist/commands/ecdn/logpush/jobs/create.d.ts +45 -0
  31. package/dist/commands/ecdn/logpush/jobs/create.js +103 -0
  32. package/dist/commands/ecdn/logpush/jobs/create.js.map +1 -0
  33. package/dist/commands/ecdn/logpush/jobs/delete.d.ts +39 -0
  34. package/dist/commands/ecdn/logpush/jobs/delete.js +50 -0
  35. package/dist/commands/ecdn/logpush/jobs/delete.js.map +1 -0
  36. package/dist/commands/ecdn/logpush/jobs/get.d.ts +40 -0
  37. package/dist/commands/ecdn/logpush/jobs/get.js +85 -0
  38. package/dist/commands/ecdn/logpush/jobs/get.js.map +1 -0
  39. package/dist/commands/ecdn/logpush/jobs/list.d.ts +43 -0
  40. package/dist/commands/ecdn/logpush/jobs/list.js +124 -0
  41. package/dist/commands/ecdn/logpush/jobs/list.js.map +1 -0
  42. package/dist/commands/ecdn/logpush/jobs/update.d.ts +43 -0
  43. package/dist/commands/ecdn/logpush/jobs/update.js +94 -0
  44. package/dist/commands/ecdn/logpush/jobs/update.js.map +1 -0
  45. package/dist/commands/ecdn/logpush/ownership.d.ts +39 -0
  46. package/dist/commands/ecdn/logpush/ownership.js +72 -0
  47. package/dist/commands/ecdn/logpush/ownership.js.map +1 -0
  48. package/dist/commands/ecdn/mrt-rules/create.d.ts +42 -0
  49. package/dist/commands/ecdn/mrt-rules/create.js +81 -0
  50. package/dist/commands/ecdn/mrt-rules/create.js.map +1 -0
  51. package/dist/commands/ecdn/mrt-rules/delete.d.ts +39 -0
  52. package/dist/commands/ecdn/mrt-rules/delete.js +52 -0
  53. package/dist/commands/ecdn/mrt-rules/delete.js.map +1 -0
  54. package/dist/commands/ecdn/mrt-rules/get.d.ts +39 -0
  55. package/dist/commands/ecdn/mrt-rules/get.js +89 -0
  56. package/dist/commands/ecdn/mrt-rules/get.js.map +1 -0
  57. package/dist/commands/ecdn/mrt-rules/rules/delete.d.ts +40 -0
  58. package/dist/commands/ecdn/mrt-rules/rules/delete.js +57 -0
  59. package/dist/commands/ecdn/mrt-rules/rules/delete.js.map +1 -0
  60. package/dist/commands/ecdn/mrt-rules/rules/update.d.ts +44 -0
  61. package/dist/commands/ecdn/mrt-rules/rules/update.js +88 -0
  62. package/dist/commands/ecdn/mrt-rules/rules/update.js.map +1 -0
  63. package/dist/commands/ecdn/mrt-rules/update.d.ts +43 -0
  64. package/dist/commands/ecdn/mrt-rules/update.js +87 -0
  65. package/dist/commands/ecdn/mrt-rules/update.js.map +1 -0
  66. package/dist/commands/ecdn/mtls/create.d.ts +41 -0
  67. package/dist/commands/ecdn/mtls/create.js +84 -0
  68. package/dist/commands/ecdn/mtls/create.js.map +1 -0
  69. package/dist/commands/ecdn/mtls/delete.d.ts +38 -0
  70. package/dist/commands/ecdn/mtls/delete.js +53 -0
  71. package/dist/commands/ecdn/mtls/delete.js.map +1 -0
  72. package/dist/commands/ecdn/mtls/get.d.ts +39 -0
  73. package/dist/commands/ecdn/mtls/get.js +72 -0
  74. package/dist/commands/ecdn/mtls/get.js.map +1 -0
  75. package/dist/commands/ecdn/mtls/list.d.ts +42 -0
  76. package/dist/commands/ecdn/mtls/list.js +118 -0
  77. package/dist/commands/ecdn/mtls/list.js.map +1 -0
  78. package/dist/commands/ecdn/origin-headers/delete.d.ts +37 -0
  79. package/dist/commands/ecdn/origin-headers/delete.js +46 -0
  80. package/dist/commands/ecdn/origin-headers/delete.js.map +1 -0
  81. package/dist/commands/ecdn/origin-headers/get.d.ts +39 -0
  82. package/dist/commands/ecdn/origin-headers/get.js +61 -0
  83. package/dist/commands/ecdn/origin-headers/get.js.map +1 -0
  84. package/dist/commands/ecdn/origin-headers/set.d.ts +41 -0
  85. package/dist/commands/ecdn/origin-headers/set.js +76 -0
  86. package/dist/commands/ecdn/origin-headers/set.js.map +1 -0
  87. package/dist/commands/ecdn/page-shield/notifications/create.d.ts +41 -0
  88. package/dist/commands/ecdn/page-shield/notifications/create.js +84 -0
  89. package/dist/commands/ecdn/page-shield/notifications/create.js.map +1 -0
  90. package/dist/commands/ecdn/page-shield/notifications/delete.d.ts +38 -0
  91. package/dist/commands/ecdn/page-shield/notifications/delete.js +53 -0
  92. package/dist/commands/ecdn/page-shield/notifications/delete.js.map +1 -0
  93. package/dist/commands/ecdn/page-shield/notifications/list.d.ts +42 -0
  94. package/dist/commands/ecdn/page-shield/notifications/list.js +118 -0
  95. package/dist/commands/ecdn/page-shield/notifications/list.js.map +1 -0
  96. package/dist/commands/ecdn/page-shield/policies/create.d.ts +44 -0
  97. package/dist/commands/ecdn/page-shield/policies/create.js +100 -0
  98. package/dist/commands/ecdn/page-shield/policies/create.js.map +1 -0
  99. package/dist/commands/ecdn/page-shield/policies/delete.d.ts +39 -0
  100. package/dist/commands/ecdn/page-shield/policies/delete.js +56 -0
  101. package/dist/commands/ecdn/page-shield/policies/delete.js.map +1 -0
  102. package/dist/commands/ecdn/page-shield/policies/get.d.ts +40 -0
  103. package/dist/commands/ecdn/page-shield/policies/get.js +72 -0
  104. package/dist/commands/ecdn/page-shield/policies/get.js.map +1 -0
  105. package/dist/commands/ecdn/page-shield/policies/list.d.ts +43 -0
  106. package/dist/commands/ecdn/page-shield/policies/list.js +119 -0
  107. package/dist/commands/ecdn/page-shield/policies/list.js.map +1 -0
  108. package/dist/commands/ecdn/page-shield/policies/update.d.ts +45 -0
  109. package/dist/commands/ecdn/page-shield/policies/update.js +110 -0
  110. package/dist/commands/ecdn/page-shield/policies/update.js.map +1 -0
  111. package/dist/commands/ecdn/page-shield/scripts/get.d.ts +40 -0
  112. package/dist/commands/ecdn/page-shield/scripts/get.js +99 -0
  113. package/dist/commands/ecdn/page-shield/scripts/get.js.map +1 -0
  114. package/dist/commands/ecdn/page-shield/scripts/list.d.ts +43 -0
  115. package/dist/commands/ecdn/page-shield/scripts/list.js +124 -0
  116. package/dist/commands/ecdn/page-shield/scripts/list.js.map +1 -0
  117. package/dist/commands/ecdn/security/get.d.ts +39 -0
  118. package/dist/commands/ecdn/security/get.js +69 -0
  119. package/dist/commands/ecdn/security/get.js.map +1 -0
  120. package/dist/commands/ecdn/security/update.d.ts +47 -0
  121. package/dist/commands/ecdn/security/update.js +136 -0
  122. package/dist/commands/ecdn/security/update.js.map +1 -0
  123. package/dist/commands/ecdn/speed/get.d.ts +39 -0
  124. package/dist/commands/ecdn/speed/get.js +64 -0
  125. package/dist/commands/ecdn/speed/get.js.map +1 -0
  126. package/dist/commands/ecdn/speed/update.d.ts +46 -0
  127. package/dist/commands/ecdn/speed/update.js +105 -0
  128. package/dist/commands/ecdn/speed/update.js.map +1 -0
  129. package/dist/commands/ecdn/waf/groups/list.d.ts +42 -0
  130. package/dist/commands/ecdn/waf/groups/list.js +89 -0
  131. package/dist/commands/ecdn/waf/groups/list.js.map +1 -0
  132. package/dist/commands/ecdn/waf/groups/update.d.ts +43 -0
  133. package/dist/commands/ecdn/waf/groups/update.js +84 -0
  134. package/dist/commands/ecdn/waf/groups/update.js.map +1 -0
  135. package/dist/commands/ecdn/waf/managed-rules/list.d.ts +44 -0
  136. package/dist/commands/ecdn/waf/managed-rules/list.js +124 -0
  137. package/dist/commands/ecdn/waf/managed-rules/list.js.map +1 -0
  138. package/dist/commands/ecdn/waf/managed-rules/update.d.ts +43 -0
  139. package/dist/commands/ecdn/waf/managed-rules/update.js +94 -0
  140. package/dist/commands/ecdn/waf/managed-rules/update.js.map +1 -0
  141. package/dist/commands/ecdn/waf/migrate.d.ts +40 -0
  142. package/dist/commands/ecdn/waf/migrate.js +83 -0
  143. package/dist/commands/ecdn/waf/migrate.js.map +1 -0
  144. package/dist/commands/ecdn/waf/owasp/get.d.ts +40 -0
  145. package/dist/commands/ecdn/waf/owasp/get.js +64 -0
  146. package/dist/commands/ecdn/waf/owasp/get.js.map +1 -0
  147. package/dist/commands/ecdn/waf/owasp/update.d.ts +42 -0
  148. package/dist/commands/ecdn/waf/owasp/update.js +79 -0
  149. package/dist/commands/ecdn/waf/owasp/update.js.map +1 -0
  150. package/dist/commands/ecdn/waf/rules/get.d.ts +41 -0
  151. package/dist/commands/ecdn/waf/rules/get.js +68 -0
  152. package/dist/commands/ecdn/waf/rules/get.js.map +1 -0
  153. package/dist/commands/ecdn/waf/rules/list.d.ts +45 -0
  154. package/dist/commands/ecdn/waf/rules/list.js +120 -0
  155. package/dist/commands/ecdn/waf/rules/list.js.map +1 -0
  156. package/dist/commands/ecdn/waf/rules/update.d.ts +42 -0
  157. package/dist/commands/ecdn/waf/rules/update.js +77 -0
  158. package/dist/commands/ecdn/waf/rules/update.js.map +1 -0
  159. package/dist/commands/ecdn/waf/rulesets/list.d.ts +43 -0
  160. package/dist/commands/ecdn/waf/rulesets/list.js +119 -0
  161. package/dist/commands/ecdn/waf/rulesets/list.js.map +1 -0
  162. package/dist/commands/ecdn/waf/rulesets/update.d.ts +44 -0
  163. package/dist/commands/ecdn/waf/rulesets/update.js +101 -0
  164. package/dist/commands/ecdn/waf/rulesets/update.js.map +1 -0
  165. package/dist/commands/ecdn/zones/create.d.ts +40 -0
  166. package/dist/commands/ecdn/zones/create.js +71 -0
  167. package/dist/commands/ecdn/zones/create.js.map +1 -0
  168. package/dist/commands/ecdn/zones/list.d.ts +44 -0
  169. package/dist/commands/ecdn/zones/list.js +112 -0
  170. package/dist/commands/ecdn/zones/list.js.map +1 -0
  171. package/dist/commands/job/export.d.ts +1 -0
  172. package/dist/commands/job/import.d.ts +1 -0
  173. package/dist/commands/job/run.d.ts +1 -0
  174. package/dist/commands/job/search.d.ts +1 -0
  175. package/dist/commands/job/wait.d.ts +1 -0
  176. package/dist/commands/mrt/{push.d.ts → bundle/deploy.d.ts} +24 -9
  177. package/dist/commands/mrt/bundle/deploy.js +182 -0
  178. package/dist/commands/mrt/bundle/deploy.js.map +1 -0
  179. package/dist/commands/mrt/bundle/download.d.ts +40 -0
  180. package/dist/commands/mrt/bundle/download.js +109 -0
  181. package/dist/commands/mrt/bundle/download.js.map +1 -0
  182. package/dist/commands/mrt/bundle/history.d.ts +30 -0
  183. package/dist/commands/mrt/bundle/history.js +90 -0
  184. package/dist/commands/mrt/bundle/history.js.map +1 -0
  185. package/dist/commands/mrt/bundle/list.d.ts +30 -0
  186. package/dist/commands/mrt/bundle/list.js +79 -0
  187. package/dist/commands/mrt/bundle/list.js.map +1 -0
  188. package/dist/commands/mrt/env/access-control/list.d.ts +30 -0
  189. package/dist/commands/mrt/env/access-control/list.js +83 -0
  190. package/dist/commands/mrt/env/access-control/list.js.map +1 -0
  191. package/dist/commands/mrt/env/b2c.d.ts +32 -0
  192. package/dist/commands/mrt/env/b2c.js +120 -0
  193. package/dist/commands/mrt/env/b2c.js.map +1 -0
  194. package/dist/commands/mrt/env/get.d.ts +28 -0
  195. package/dist/commands/mrt/env/get.js +98 -0
  196. package/dist/commands/mrt/env/get.js.map +1 -0
  197. package/dist/commands/mrt/env/invalidate.d.ts +29 -0
  198. package/dist/commands/mrt/env/invalidate.js +66 -0
  199. package/dist/commands/mrt/env/invalidate.js.map +1 -0
  200. package/dist/commands/mrt/env/list.d.ts +28 -0
  201. package/dist/commands/mrt/env/list.js +68 -0
  202. package/dist/commands/mrt/env/list.js.map +1 -0
  203. package/dist/commands/mrt/env/redirect/clone.d.ts +31 -0
  204. package/dist/commands/mrt/env/redirect/clone.js +95 -0
  205. package/dist/commands/mrt/env/redirect/clone.js.map +1 -0
  206. package/dist/commands/mrt/env/redirect/create.d.ts +33 -0
  207. package/dist/commands/mrt/env/redirect/create.js +87 -0
  208. package/dist/commands/mrt/env/redirect/create.js.map +1 -0
  209. package/dist/commands/mrt/env/redirect/delete.d.ts +34 -0
  210. package/dist/commands/mrt/env/redirect/delete.js +92 -0
  211. package/dist/commands/mrt/env/redirect/delete.js.map +1 -0
  212. package/dist/commands/mrt/env/redirect/list.d.ts +31 -0
  213. package/dist/commands/mrt/env/redirect/list.js +90 -0
  214. package/dist/commands/mrt/env/redirect/list.js.map +1 -0
  215. package/dist/commands/mrt/env/update.d.ts +37 -0
  216. package/dist/commands/mrt/env/update.js +173 -0
  217. package/dist/commands/mrt/env/update.js.map +1 -0
  218. package/dist/commands/mrt/org/b2c.d.ts +31 -0
  219. package/dist/commands/mrt/org/b2c.js +55 -0
  220. package/dist/commands/mrt/org/b2c.js.map +1 -0
  221. package/dist/commands/mrt/org/list.d.ts +30 -0
  222. package/dist/commands/mrt/org/list.js +70 -0
  223. package/dist/commands/mrt/org/list.js.map +1 -0
  224. package/dist/commands/mrt/project/create.d.ts +35 -0
  225. package/dist/commands/mrt/project/create.js +129 -0
  226. package/dist/commands/mrt/project/create.js.map +1 -0
  227. package/dist/commands/mrt/project/delete.d.ts +39 -0
  228. package/dist/commands/mrt/project/delete.js +81 -0
  229. package/dist/commands/mrt/project/delete.js.map +1 -0
  230. package/dist/commands/mrt/project/get.d.ts +31 -0
  231. package/dist/commands/mrt/project/get.js +79 -0
  232. package/dist/commands/mrt/project/get.js.map +1 -0
  233. package/dist/commands/mrt/project/list.d.ts +31 -0
  234. package/dist/commands/mrt/project/list.js +80 -0
  235. package/dist/commands/mrt/project/list.js.map +1 -0
  236. package/dist/commands/mrt/project/member/add.d.ts +32 -0
  237. package/dist/commands/mrt/project/member/add.js +73 -0
  238. package/dist/commands/mrt/project/member/add.js.map +1 -0
  239. package/dist/commands/mrt/project/member/get.d.ts +31 -0
  240. package/dist/commands/mrt/project/member/get.js +70 -0
  241. package/dist/commands/mrt/project/member/get.js.map +1 -0
  242. package/dist/commands/mrt/project/member/list.d.ts +32 -0
  243. package/dist/commands/mrt/project/member/list.js +82 -0
  244. package/dist/commands/mrt/project/member/list.js.map +1 -0
  245. package/dist/commands/mrt/project/member/remove.d.ts +34 -0
  246. package/dist/commands/mrt/project/member/remove.js +89 -0
  247. package/dist/commands/mrt/project/member/remove.js.map +1 -0
  248. package/dist/commands/mrt/project/member/update.d.ts +32 -0
  249. package/dist/commands/mrt/project/member/update.js +72 -0
  250. package/dist/commands/mrt/project/member/update.js.map +1 -0
  251. package/dist/commands/mrt/project/notification/create.d.ts +33 -0
  252. package/dist/commands/mrt/project/notification/create.js +86 -0
  253. package/dist/commands/mrt/project/notification/create.js.map +1 -0
  254. package/dist/commands/mrt/project/notification/delete.d.ts +34 -0
  255. package/dist/commands/mrt/project/notification/delete.js +88 -0
  256. package/dist/commands/mrt/project/notification/delete.js.map +1 -0
  257. package/dist/commands/mrt/project/notification/get.d.ts +31 -0
  258. package/dist/commands/mrt/project/notification/get.js +86 -0
  259. package/dist/commands/mrt/project/notification/get.js.map +1 -0
  260. package/dist/commands/mrt/project/notification/list.d.ts +31 -0
  261. package/dist/commands/mrt/project/notification/list.js +88 -0
  262. package/dist/commands/mrt/project/notification/list.js.map +1 -0
  263. package/dist/commands/mrt/project/notification/update.d.ts +36 -0
  264. package/dist/commands/mrt/project/notification/update.js +86 -0
  265. package/dist/commands/mrt/project/notification/update.js.map +1 -0
  266. package/dist/commands/mrt/project/update.d.ts +34 -0
  267. package/dist/commands/mrt/project/update.js +123 -0
  268. package/dist/commands/mrt/project/update.js.map +1 -0
  269. package/dist/commands/mrt/user/api-key.d.ts +30 -0
  270. package/dist/commands/mrt/user/api-key.js +63 -0
  271. package/dist/commands/mrt/user/api-key.js.map +1 -0
  272. package/dist/commands/mrt/user/email-prefs.d.ts +30 -0
  273. package/dist/commands/mrt/user/email-prefs.js +83 -0
  274. package/dist/commands/mrt/user/email-prefs.js.map +1 -0
  275. package/dist/commands/mrt/user/profile.d.ts +28 -0
  276. package/dist/commands/mrt/user/profile.js +50 -0
  277. package/dist/commands/mrt/user/profile.js.map +1 -0
  278. package/dist/commands/ods/create.d.ts +1 -1
  279. package/dist/commands/ods/create.js +2 -3
  280. package/dist/commands/ods/create.js.map +1 -1
  281. package/dist/commands/ods/delete.js +2 -3
  282. package/dist/commands/ods/delete.js.map +1 -1
  283. package/dist/commands/ods/list.d.ts +1 -1
  284. package/dist/commands/ods/list.js +2 -3
  285. package/dist/commands/ods/list.js.map +1 -1
  286. package/dist/commands/ods/restart.d.ts +1 -1
  287. package/dist/commands/ods/restart.js +2 -3
  288. package/dist/commands/ods/restart.js.map +1 -1
  289. package/dist/commands/ods/start.d.ts +1 -1
  290. package/dist/commands/ods/start.js +2 -3
  291. package/dist/commands/ods/start.js.map +1 -1
  292. package/dist/commands/ods/stop.d.ts +1 -1
  293. package/dist/commands/ods/stop.js +2 -3
  294. package/dist/commands/ods/stop.js.map +1 -1
  295. package/dist/commands/scapi/custom/status.js +3 -3
  296. package/dist/commands/scapi/custom/status.js.map +1 -1
  297. package/dist/commands/scapi/schemas/get.d.ts +1 -1
  298. package/dist/commands/scapi/schemas/get.js +2 -2
  299. package/dist/commands/scapi/schemas/get.js.map +1 -1
  300. package/dist/commands/scapi/schemas/list.d.ts +1 -1
  301. package/dist/commands/scapi/schemas/list.js +2 -2
  302. package/dist/commands/scapi/schemas/list.js.map +1 -1
  303. package/dist/commands/setup/config.js +4 -1
  304. package/dist/commands/setup/config.js.map +1 -1
  305. package/dist/commands/sites/list.js +5 -2
  306. package/dist/commands/sites/list.js.map +1 -1
  307. package/dist/commands/slas/client/create.d.ts +1 -1
  308. package/dist/commands/slas/client/create.js +3 -2
  309. package/dist/commands/slas/client/create.js.map +1 -1
  310. package/dist/commands/slas/client/delete.d.ts +1 -1
  311. package/dist/commands/slas/client/delete.js +3 -3
  312. package/dist/commands/slas/client/delete.js.map +1 -1
  313. package/dist/commands/slas/client/get.d.ts +1 -1
  314. package/dist/commands/slas/client/get.js +3 -3
  315. package/dist/commands/slas/client/get.js.map +1 -1
  316. package/dist/commands/slas/client/list.d.ts +1 -1
  317. package/dist/commands/slas/client/list.js +3 -3
  318. package/dist/commands/slas/client/list.js.map +1 -1
  319. package/dist/commands/slas/client/update.d.ts +1 -1
  320. package/dist/commands/slas/client/update.js +6 -5
  321. package/dist/commands/slas/client/update.js.map +1 -1
  322. package/dist/commands/webdav/get.d.ts +1 -0
  323. package/dist/commands/webdav/rm.d.ts +1 -0
  324. package/dist/utils/ecdn/base-command.d.ts +28 -0
  325. package/dist/utils/ecdn/base-command.js +69 -0
  326. package/dist/utils/ecdn/base-command.js.map +1 -0
  327. package/dist/utils/ecdn/index.d.ts +2 -0
  328. package/dist/utils/ecdn/index.js +8 -0
  329. package/dist/utils/ecdn/index.js.map +1 -0
  330. package/dist/utils/ecdn/zone-command.d.ts +42 -0
  331. package/dist/utils/ecdn/zone-command.js +75 -0
  332. package/dist/utils/ecdn/zone-command.js.map +1 -0
  333. package/dist/utils/scapi/schemas.d.ts +4 -22
  334. package/dist/utils/scapi/schemas.js +15 -17
  335. package/dist/utils/scapi/schemas.js.map +1 -1
  336. package/dist/utils/slas/client.d.ts +6 -20
  337. package/dist/utils/slas/client.js +18 -15
  338. package/dist/utils/slas/client.js.map +1 -1
  339. package/oclif.manifest.json +21871 -2988
  340. package/package.json +118 -8
  341. package/dist/commands/mrt/push.js +0 -125
  342. package/dist/commands/mrt/push.js.map +0 -1
@@ -0,0 +1,28 @@
1
+ import { MrtCommand } from '@salesforce/b2c-tooling-sdk/cli';
2
+ import { type ListEnvsResult } from '@salesforce/b2c-tooling-sdk/operations/mrt';
3
+ /**
4
+ * List environments (targets) for an MRT project.
5
+ */
6
+ export default class MrtEnvList extends MrtCommand<typeof MrtEnvList> {
7
+ static description: string;
8
+ static enableJsonFlag: boolean;
9
+ static examples: string[];
10
+ static flags: {
11
+ 'api-key': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
+ project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
+ environment: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
14
+ 'cloud-origin': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
15
+ 'credentials-file': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
16
+ 'log-level': import("@oclif/core/interfaces").OptionFlag<"trace" | "debug" | "info" | "warn" | "error" | "silent" | undefined, import("@oclif/core/interfaces").CustomOptions>;
17
+ debug: import("@oclif/core/interfaces").BooleanFlag<boolean>;
18
+ json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
19
+ lang: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
20
+ config: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
21
+ instance: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
22
+ 'working-directory': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
23
+ 'extra-query': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
24
+ 'extra-body': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
25
+ 'extra-headers': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
26
+ };
27
+ run(): Promise<ListEnvsResult>;
28
+ }
@@ -0,0 +1,68 @@
1
+ /*
2
+ * Copyright (c) 2025, Salesforce, Inc.
3
+ * SPDX-License-Identifier: Apache-2
4
+ * For full license text, see the license.txt file in the repo root or http://www.apache.org/licenses/LICENSE-2.0
5
+ */
6
+ import { MrtCommand, createTable } from '@salesforce/b2c-tooling-sdk/cli';
7
+ import { listEnvs } from '@salesforce/b2c-tooling-sdk/operations/mrt';
8
+ import { t } from '../../../i18n/index.js';
9
+ const COLUMNS = {
10
+ name: {
11
+ header: 'Name',
12
+ get: (env) => env.name,
13
+ },
14
+ slug: {
15
+ header: 'Slug',
16
+ get: (env) => env.slug ?? '',
17
+ },
18
+ state: {
19
+ header: 'State',
20
+ get: (env) => env.state ?? '-',
21
+ },
22
+ region: {
23
+ header: 'Region',
24
+ get: (env) => env.ssr_region ?? '-',
25
+ },
26
+ production: {
27
+ header: 'Prod',
28
+ get: (env) => (env.is_production ? 'Yes' : 'No'),
29
+ },
30
+ };
31
+ const DEFAULT_COLUMNS = ['name', 'slug', 'state', 'region', 'production'];
32
+ /**
33
+ * List environments (targets) for an MRT project.
34
+ */
35
+ export default class MrtEnvList extends MrtCommand {
36
+ static description = t('commands.mrt.env.list.description', 'List Managed Runtime environments');
37
+ static enableJsonFlag = true;
38
+ static examples = [
39
+ '<%= config.bin %> <%= command.id %> --project my-storefront',
40
+ '<%= config.bin %> <%= command.id %> -p my-storefront --json',
41
+ ];
42
+ static flags = {
43
+ ...MrtCommand.baseFlags,
44
+ };
45
+ async run() {
46
+ this.requireMrtCredentials();
47
+ const { mrtProject: project } = this.resolvedConfig.values;
48
+ if (!project) {
49
+ this.error('MRT project is required. Provide --project flag, set SFCC_MRT_PROJECT, or set mrtProject in dw.json.');
50
+ }
51
+ this.log(t('commands.mrt.env.list.fetching', 'Fetching environments for {{project}}...', { project }));
52
+ const result = await listEnvs({
53
+ projectSlug: project,
54
+ origin: this.resolvedConfig.values.mrtOrigin,
55
+ }, this.getMrtAuth());
56
+ if (!this.jsonEnabled()) {
57
+ if (result.environments.length === 0) {
58
+ this.log(t('commands.mrt.env.list.empty', 'No environments found.'));
59
+ }
60
+ else {
61
+ this.log(t('commands.mrt.env.list.count', 'Found {{count}} environment(s):', { count: result.environments.length }));
62
+ createTable(COLUMNS).render(result.environments, DEFAULT_COLUMNS);
63
+ }
64
+ }
65
+ return result;
66
+ }
67
+ }
68
+ //# sourceMappingURL=list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../src/commands/mrt/env/list.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAC,UAAU,EAAE,WAAW,EAAiB,MAAM,iCAAiC,CAAC;AACxF,OAAO,EAAC,QAAQ,EAA2C,MAAM,4CAA4C,CAAC;AAC9G,OAAO,EAAC,CAAC,EAAC,MAAM,wBAAwB,CAAC;AAEzC,MAAM,OAAO,GAA8C;IACzD,IAAI,EAAE;QACJ,MAAM,EAAE,MAAM;QACd,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI;KACvB;IACD,IAAI,EAAE;QACJ,MAAM,EAAE,MAAM;QACd,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE;KAC7B;IACD,KAAK,EAAE;QACL,MAAM,EAAE,OAAO;QACf,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG;KAC/B;IACD,MAAM,EAAE;QACN,MAAM,EAAE,QAAQ;QAChB,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,IAAI,GAAG;KACpC;IACD,UAAU,EAAE;QACV,MAAM,EAAE,MAAM;QACd,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;KACjD;CACF,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;AAE1E;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,UAA6B;IACnE,MAAM,CAAC,WAAW,GAAG,CAAC,CAAC,mCAAmC,EAAE,mCAAmC,CAAC,CAAC;IAEjG,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC;IAE7B,MAAM,CAAC,QAAQ,GAAG;QAChB,6DAA6D;QAC7D,6DAA6D;KAC9D,CAAC;IAEF,MAAM,CAAC,KAAK,GAAG;QACb,GAAG,UAAU,CAAC,SAAS;KACxB,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAE7B,MAAM,EAAC,UAAU,EAAE,OAAO,EAAC,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;QAEzD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,IAAI,CAAC,KAAK,CACR,sGAAsG,CACvG,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,gCAAgC,EAAE,0CAA0C,EAAE,EAAC,OAAO,EAAC,CAAC,CAAC,CAAC;QAErG,MAAM,MAAM,GAAG,MAAM,QAAQ,CAC3B;YACE,WAAW,EAAE,OAAO;YACpB,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS;SAC7C,EACD,IAAI,CAAC,UAAU,EAAE,CAClB,CAAC;QAEF,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,6BAA6B,EAAE,wBAAwB,CAAC,CAAC,CAAC;YACvE,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,GAAG,CACN,CAAC,CAAC,6BAA6B,EAAE,iCAAiC,EAAE,EAAC,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC,MAAM,EAAC,CAAC,CACzG,CAAC;gBACF,WAAW,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC"}
@@ -0,0 +1,31 @@
1
+ import { MrtCommand } from '@salesforce/b2c-tooling-sdk/cli';
2
+ import { type CloneRedirectsResult } from '@salesforce/b2c-tooling-sdk/operations/mrt';
3
+ /**
4
+ * Clone redirects from one environment to another.
5
+ */
6
+ export default class MrtRedirectClone extends MrtCommand<typeof MrtRedirectClone> {
7
+ static description: string;
8
+ static enableJsonFlag: boolean;
9
+ static examples: string[];
10
+ static flags: {
11
+ from: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
12
+ to: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
13
+ force: import("@oclif/core/interfaces").BooleanFlag<boolean>;
14
+ 'api-key': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
15
+ project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
16
+ environment: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
17
+ 'cloud-origin': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
18
+ 'credentials-file': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
19
+ 'log-level': import("@oclif/core/interfaces").OptionFlag<"trace" | "debug" | "info" | "warn" | "error" | "silent" | undefined, import("@oclif/core/interfaces").CustomOptions>;
20
+ debug: import("@oclif/core/interfaces").BooleanFlag<boolean>;
21
+ json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
22
+ lang: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
23
+ config: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
24
+ instance: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
25
+ 'working-directory': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
26
+ 'extra-query': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
27
+ 'extra-body': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
28
+ 'extra-headers': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
29
+ };
30
+ run(): Promise<CloneRedirectsResult>;
31
+ }
@@ -0,0 +1,95 @@
1
+ /*
2
+ * Copyright (c) 2025, Salesforce, Inc.
3
+ * SPDX-License-Identifier: Apache-2
4
+ * For full license text, see the license.txt file in the repo root or http://www.apache.org/licenses/LICENSE-2.0
5
+ */
6
+ import * as readline from 'node:readline';
7
+ import { Flags } from '@oclif/core';
8
+ import { MrtCommand } from '@salesforce/b2c-tooling-sdk/cli';
9
+ import { cloneRedirects } from '@salesforce/b2c-tooling-sdk/operations/mrt';
10
+ import { t } from '../../../../i18n/index.js';
11
+ /**
12
+ * Prompt for confirmation.
13
+ */
14
+ async function confirm(message) {
15
+ const rl = readline.createInterface({
16
+ input: process.stdin,
17
+ output: process.stdout,
18
+ });
19
+ return new Promise((resolve) => {
20
+ rl.question(`${message} (y/N): `, (answer) => {
21
+ rl.close();
22
+ resolve(answer.toLowerCase() === 'y' || answer.toLowerCase() === 'yes');
23
+ });
24
+ });
25
+ }
26
+ /**
27
+ * Clone redirects from one environment to another.
28
+ */
29
+ export default class MrtRedirectClone extends MrtCommand {
30
+ static description = t('commands.mrt.redirect.clone.description', 'Clone redirects from one environment to another');
31
+ static enableJsonFlag = true;
32
+ static examples = [
33
+ '<%= config.bin %> <%= command.id %> --project my-storefront --from staging --to production',
34
+ '<%= config.bin %> <%= command.id %> -p my-storefront --from staging --to production --force',
35
+ ];
36
+ static flags = {
37
+ ...MrtCommand.baseFlags,
38
+ from: Flags.string({
39
+ description: 'Source environment to clone redirects from',
40
+ required: true,
41
+ }),
42
+ to: Flags.string({
43
+ description: 'Destination environment to clone redirects to',
44
+ required: true,
45
+ }),
46
+ force: Flags.boolean({
47
+ char: 'f',
48
+ description: 'Skip confirmation prompt',
49
+ default: false,
50
+ }),
51
+ };
52
+ async run() {
53
+ this.requireMrtCredentials();
54
+ const { mrtProject: project } = this.resolvedConfig.values;
55
+ if (!project) {
56
+ this.error('MRT project is required. Provide --project flag, set SFCC_MRT_PROJECT, or set mrtProject in dw.json.');
57
+ }
58
+ const { from: fromTarget, to: toTarget, force } = this.flags;
59
+ // Confirm clone unless --force is specified
60
+ if (!force && !this.jsonEnabled()) {
61
+ const confirmed = await confirm(t('commands.mrt.redirect.clone.confirm', 'WARNING: This will REPLACE all redirects in {{toTarget}} with redirects from {{fromTarget}}. Continue?', { fromTarget, toTarget }));
62
+ if (!confirmed) {
63
+ this.log(t('commands.mrt.redirect.clone.cancelled', 'Clone cancelled.'));
64
+ return { count: 0, redirects: [] };
65
+ }
66
+ }
67
+ this.log(t('commands.mrt.redirect.clone.cloning', 'Cloning redirects from {{fromTarget}} to {{toTarget}}...', {
68
+ fromTarget,
69
+ toTarget,
70
+ }));
71
+ try {
72
+ const result = await cloneRedirects({
73
+ projectSlug: project,
74
+ fromTargetSlug: fromTarget,
75
+ toTargetSlug: toTarget,
76
+ origin: this.resolvedConfig.values.mrtOrigin,
77
+ }, this.getMrtAuth());
78
+ if (!this.jsonEnabled()) {
79
+ this.log(t('commands.mrt.redirect.clone.success', 'Cloned {{count}} redirect(s) from {{fromTarget}} to {{toTarget}}.', {
80
+ count: result.count,
81
+ fromTarget,
82
+ toTarget,
83
+ }));
84
+ }
85
+ return result;
86
+ }
87
+ catch (error) {
88
+ if (error instanceof Error) {
89
+ this.error(t('commands.mrt.redirect.clone.failed', 'Failed to clone redirects: {{message}}', { message: error.message }));
90
+ }
91
+ throw error;
92
+ }
93
+ }
94
+ }
95
+ //# sourceMappingURL=clone.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clone.js","sourceRoot":"","sources":["../../../../../src/commands/mrt/env/redirect/clone.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import { MrtCommand } from '@salesforce/b2c-tooling-sdk/cli';
2
+ import { type MrtRedirect } from '@salesforce/b2c-tooling-sdk/operations/mrt';
3
+ /**
4
+ * Create a redirect for an MRT environment.
5
+ */
6
+ export default class MrtRedirectCreate extends MrtCommand<typeof MrtRedirectCreate> {
7
+ static description: string;
8
+ static enableJsonFlag: boolean;
9
+ static examples: string[];
10
+ static flags: {
11
+ from: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
12
+ to: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
13
+ status: import("@oclif/core/interfaces").OptionFlag<number, import("@oclif/core/interfaces").CustomOptions>;
14
+ 'forward-querystring': import("@oclif/core/interfaces").BooleanFlag<boolean>;
15
+ 'forward-wildcard': import("@oclif/core/interfaces").BooleanFlag<boolean>;
16
+ 'api-key': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
17
+ project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
18
+ environment: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
19
+ 'cloud-origin': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
20
+ 'credentials-file': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
21
+ 'log-level': import("@oclif/core/interfaces").OptionFlag<"trace" | "debug" | "info" | "warn" | "error" | "silent" | undefined, import("@oclif/core/interfaces").CustomOptions>;
22
+ debug: import("@oclif/core/interfaces").BooleanFlag<boolean>;
23
+ json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
24
+ lang: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
25
+ config: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
26
+ instance: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
27
+ 'working-directory': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
28
+ 'extra-query': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
29
+ 'extra-body': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
30
+ 'extra-headers': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
31
+ };
32
+ run(): Promise<MrtRedirect>;
33
+ }
@@ -0,0 +1,87 @@
1
+ /*
2
+ * Copyright (c) 2025, Salesforce, Inc.
3
+ * SPDX-License-Identifier: Apache-2
4
+ * For full license text, see the license.txt file in the repo root or http://www.apache.org/licenses/LICENSE-2.0
5
+ */
6
+ import { Flags } from '@oclif/core';
7
+ import { MrtCommand } from '@salesforce/b2c-tooling-sdk/cli';
8
+ import { createRedirect, } from '@salesforce/b2c-tooling-sdk/operations/mrt';
9
+ import { t } from '../../../../i18n/index.js';
10
+ /**
11
+ * Create a redirect for an MRT environment.
12
+ */
13
+ export default class MrtRedirectCreate extends MrtCommand {
14
+ static description = t('commands.mrt.redirect.create.description', 'Create a redirect for a Managed Runtime environment');
15
+ static enableJsonFlag = true;
16
+ static examples = [
17
+ '<%= config.bin %> <%= command.id %> --project my-storefront --environment staging --from /old --to /new',
18
+ '<%= config.bin %> <%= command.id %> -p my-storefront -e staging --from /sale --to /summer-sale --status 302',
19
+ '<%= config.bin %> <%= command.id %> -p my-storefront -e staging --from "/a/*" --to /b --forward-wildcard',
20
+ ];
21
+ static flags = {
22
+ ...MrtCommand.baseFlags,
23
+ from: Flags.string({
24
+ description: 'Source path to redirect from',
25
+ required: true,
26
+ }),
27
+ to: Flags.string({
28
+ description: 'Destination URL to redirect to',
29
+ required: true,
30
+ }),
31
+ status: Flags.integer({
32
+ description: 'HTTP status code (301 or 302)',
33
+ options: ['301', '302'],
34
+ default: 301,
35
+ }),
36
+ 'forward-querystring': Flags.boolean({
37
+ description: 'Forward query string parameters',
38
+ default: false,
39
+ }),
40
+ 'forward-wildcard': Flags.boolean({
41
+ description: 'Forward wildcard path portion',
42
+ default: false,
43
+ }),
44
+ };
45
+ async run() {
46
+ this.requireMrtCredentials();
47
+ const { mrtProject: project, mrtEnvironment: environment } = this.resolvedConfig.values;
48
+ if (!project) {
49
+ this.error('MRT project is required. Provide --project flag, set SFCC_MRT_PROJECT, or set mrtProject in dw.json.');
50
+ }
51
+ if (!environment) {
52
+ this.error('MRT environment is required. Provide --environment flag, set SFCC_MRT_ENVIRONMENT, or set mrtEnvironment in dw.json.');
53
+ }
54
+ const { from: fromPath, to: toUrl, status, 'forward-querystring': forwardQs, 'forward-wildcard': forwardWildcard, } = this.flags;
55
+ this.log(t('commands.mrt.redirect.create.creating', 'Creating redirect {{from}} -> {{to}}...', {
56
+ from: fromPath,
57
+ to: toUrl,
58
+ }));
59
+ try {
60
+ const result = await createRedirect({
61
+ projectSlug: project,
62
+ targetSlug: environment,
63
+ fromPath,
64
+ toUrl,
65
+ httpStatusCode: status,
66
+ forwardQuerystring: forwardQs || undefined,
67
+ forwardWildcard: forwardWildcard || undefined,
68
+ origin: this.resolvedConfig.values.mrtOrigin,
69
+ }, this.getMrtAuth());
70
+ if (!this.jsonEnabled()) {
71
+ this.log(t('commands.mrt.redirect.create.success', 'Redirect created: {{from}} -> {{to}}', {
72
+ from: fromPath,
73
+ to: toUrl,
74
+ }));
75
+ this.log(t('commands.mrt.redirect.create.note', 'Note: Changes may take up to 20 minutes to take effect on your site.'));
76
+ }
77
+ return result;
78
+ }
79
+ catch (error) {
80
+ if (error instanceof Error) {
81
+ this.error(t('commands.mrt.redirect.create.failed', 'Failed to create redirect: {{message}}', { message: error.message }));
82
+ }
83
+ throw error;
84
+ }
85
+ }
86
+ }
87
+ //# sourceMappingURL=create.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../../../src/commands/mrt/env/redirect/create.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import { MrtCommand } from '@salesforce/b2c-tooling-sdk/cli';
2
+ /**
3
+ * Delete a redirect from an MRT environment.
4
+ */
5
+ export default class MrtRedirectDelete extends MrtCommand<typeof MrtRedirectDelete> {
6
+ static args: {
7
+ fromPath: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
8
+ };
9
+ static description: string;
10
+ static enableJsonFlag: boolean;
11
+ static examples: string[];
12
+ static flags: {
13
+ force: import("@oclif/core/interfaces").BooleanFlag<boolean>;
14
+ 'api-key': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
15
+ project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
16
+ environment: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
17
+ 'cloud-origin': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
18
+ 'credentials-file': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
19
+ 'log-level': import("@oclif/core/interfaces").OptionFlag<"trace" | "debug" | "info" | "warn" | "error" | "silent" | undefined, import("@oclif/core/interfaces").CustomOptions>;
20
+ debug: import("@oclif/core/interfaces").BooleanFlag<boolean>;
21
+ json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
22
+ lang: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
23
+ config: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
24
+ instance: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
25
+ 'working-directory': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
26
+ 'extra-query': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
27
+ 'extra-body': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
28
+ 'extra-headers': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
29
+ };
30
+ run(): Promise<{
31
+ fromPath: string;
32
+ deleted: boolean;
33
+ }>;
34
+ }
@@ -0,0 +1,92 @@
1
+ /*
2
+ * Copyright (c) 2025, Salesforce, Inc.
3
+ * SPDX-License-Identifier: Apache-2
4
+ * For full license text, see the license.txt file in the repo root or http://www.apache.org/licenses/LICENSE-2.0
5
+ */
6
+ import * as readline from 'node:readline';
7
+ import { Args, Flags } from '@oclif/core';
8
+ import { MrtCommand } from '@salesforce/b2c-tooling-sdk/cli';
9
+ import { deleteRedirect } from '@salesforce/b2c-tooling-sdk/operations/mrt';
10
+ import { t } from '../../../../i18n/index.js';
11
+ /**
12
+ * Prompt for confirmation.
13
+ */
14
+ async function confirm(message) {
15
+ const rl = readline.createInterface({
16
+ input: process.stdin,
17
+ output: process.stdout,
18
+ });
19
+ return new Promise((resolve) => {
20
+ rl.question(`${message} (y/N): `, (answer) => {
21
+ rl.close();
22
+ resolve(answer.toLowerCase() === 'y' || answer.toLowerCase() === 'yes');
23
+ });
24
+ });
25
+ }
26
+ /**
27
+ * Delete a redirect from an MRT environment.
28
+ */
29
+ export default class MrtRedirectDelete extends MrtCommand {
30
+ static args = {
31
+ fromPath: Args.string({
32
+ description: 'Source path of the redirect to delete',
33
+ required: true,
34
+ }),
35
+ };
36
+ static description = t('commands.mrt.redirect.delete.description', 'Delete a redirect from a Managed Runtime environment');
37
+ static enableJsonFlag = true;
38
+ static examples = [
39
+ '<%= config.bin %> <%= command.id %> /old-page --project my-storefront --environment staging',
40
+ '<%= config.bin %> <%= command.id %> /old-page -p my-storefront -e staging --force',
41
+ ];
42
+ static flags = {
43
+ ...MrtCommand.baseFlags,
44
+ force: Flags.boolean({
45
+ char: 'f',
46
+ description: 'Skip confirmation prompt',
47
+ default: false,
48
+ }),
49
+ };
50
+ async run() {
51
+ this.requireMrtCredentials();
52
+ const { fromPath } = this.args;
53
+ const { mrtProject: project, mrtEnvironment: environment } = this.resolvedConfig.values;
54
+ if (!project) {
55
+ this.error('MRT project is required. Provide --project flag, set SFCC_MRT_PROJECT, or set mrtProject in dw.json.');
56
+ }
57
+ if (!environment) {
58
+ this.error('MRT environment is required. Provide --environment flag, set SFCC_MRT_ENVIRONMENT, or set mrtEnvironment in dw.json.');
59
+ }
60
+ const { force } = this.flags;
61
+ // Confirm deletion unless --force is specified
62
+ if (!force && !this.jsonEnabled()) {
63
+ const confirmed = await confirm(t('commands.mrt.redirect.delete.confirm', 'Are you sure you want to delete redirect "{{fromPath}}"?', {
64
+ fromPath,
65
+ }));
66
+ if (!confirmed) {
67
+ this.log(t('commands.mrt.redirect.delete.cancelled', 'Deletion cancelled.'));
68
+ return { fromPath, deleted: false };
69
+ }
70
+ }
71
+ this.log(t('commands.mrt.redirect.delete.deleting', 'Deleting redirect {{fromPath}}...', { fromPath }));
72
+ try {
73
+ await deleteRedirect({
74
+ projectSlug: project,
75
+ targetSlug: environment,
76
+ fromPath,
77
+ origin: this.resolvedConfig.values.mrtOrigin,
78
+ }, this.getMrtAuth());
79
+ if (!this.jsonEnabled()) {
80
+ this.log(t('commands.mrt.redirect.delete.success', 'Redirect {{fromPath}} deleted.', { fromPath }));
81
+ }
82
+ return { fromPath, deleted: true };
83
+ }
84
+ catch (error) {
85
+ if (error instanceof Error) {
86
+ this.error(t('commands.mrt.redirect.delete.failed', 'Failed to delete redirect: {{message}}', { message: error.message }));
87
+ }
88
+ throw error;
89
+ }
90
+ }
91
+ }
92
+ //# sourceMappingURL=delete.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delete.js","sourceRoot":"","sources":["../../../../../src/commands/mrt/env/redirect/delete.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import { MrtCommand } from '@salesforce/b2c-tooling-sdk/cli';
2
+ import { type ListRedirectsResult } from '@salesforce/b2c-tooling-sdk/operations/mrt';
3
+ /**
4
+ * List redirects for an MRT environment.
5
+ */
6
+ export default class MrtRedirectList extends MrtCommand<typeof MrtRedirectList> {
7
+ static description: string;
8
+ static enableJsonFlag: boolean;
9
+ static examples: string[];
10
+ static flags: {
11
+ limit: import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
12
+ offset: import("@oclif/core/interfaces").OptionFlag<number | undefined, import("@oclif/core/interfaces").CustomOptions>;
13
+ search: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
14
+ 'api-key': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
15
+ project: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
16
+ environment: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
17
+ 'cloud-origin': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
18
+ 'credentials-file': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
19
+ 'log-level': import("@oclif/core/interfaces").OptionFlag<"trace" | "debug" | "info" | "warn" | "error" | "silent" | undefined, import("@oclif/core/interfaces").CustomOptions>;
20
+ debug: import("@oclif/core/interfaces").BooleanFlag<boolean>;
21
+ json: import("@oclif/core/interfaces").BooleanFlag<boolean>;
22
+ lang: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
23
+ config: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
24
+ instance: import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
25
+ 'working-directory': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
26
+ 'extra-query': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
27
+ 'extra-body': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
28
+ 'extra-headers': import("@oclif/core/interfaces").OptionFlag<string | undefined, import("@oclif/core/interfaces").CustomOptions>;
29
+ };
30
+ run(): Promise<ListRedirectsResult>;
31
+ }
@@ -0,0 +1,90 @@
1
+ /*
2
+ * Copyright (c) 2025, Salesforce, Inc.
3
+ * SPDX-License-Identifier: Apache-2
4
+ * For full license text, see the license.txt file in the repo root or http://www.apache.org/licenses/LICENSE-2.0
5
+ */
6
+ import { Flags } from '@oclif/core';
7
+ import { MrtCommand, createTable } from '@salesforce/b2c-tooling-sdk/cli';
8
+ import { listRedirects } from '@salesforce/b2c-tooling-sdk/operations/mrt';
9
+ import { t } from '../../../../i18n/index.js';
10
+ const COLUMNS = {
11
+ fromPath: {
12
+ header: 'From',
13
+ get: (r) => r.from_path ?? '-',
14
+ },
15
+ toUrl: {
16
+ header: 'To',
17
+ get: (r) => r.to_url ?? '-',
18
+ },
19
+ status: {
20
+ header: 'HTTP',
21
+ get: (r) => r.http_status_code?.toString() ?? '301',
22
+ },
23
+ publishingStatus: {
24
+ header: 'Status',
25
+ get: (r) => r.publishing_status ?? '-',
26
+ },
27
+ forwardQs: {
28
+ header: 'Fwd QS',
29
+ get: (r) => (r.forward_querystring ? 'Yes' : 'No'),
30
+ },
31
+ };
32
+ const DEFAULT_COLUMNS = ['fromPath', 'toUrl', 'status', 'publishingStatus'];
33
+ /**
34
+ * List redirects for an MRT environment.
35
+ */
36
+ export default class MrtRedirectList extends MrtCommand {
37
+ static description = t('commands.mrt.redirect.list.description', 'List redirects for a Managed Runtime environment');
38
+ static enableJsonFlag = true;
39
+ static examples = [
40
+ '<%= config.bin %> <%= command.id %> --project my-storefront --environment staging',
41
+ '<%= config.bin %> <%= command.id %> -p my-storefront -e staging --search "/old"',
42
+ '<%= config.bin %> <%= command.id %> -p my-storefront -e staging --json',
43
+ ];
44
+ static flags = {
45
+ ...MrtCommand.baseFlags,
46
+ limit: Flags.integer({
47
+ description: 'Maximum number of results to return',
48
+ }),
49
+ offset: Flags.integer({
50
+ description: 'Offset for pagination',
51
+ }),
52
+ search: Flags.string({
53
+ description: 'Search term for filtering',
54
+ }),
55
+ };
56
+ async run() {
57
+ this.requireMrtCredentials();
58
+ const { mrtProject: project, mrtEnvironment: environment } = this.resolvedConfig.values;
59
+ if (!project) {
60
+ this.error('MRT project is required. Provide --project flag, set SFCC_MRT_PROJECT, or set mrtProject in dw.json.');
61
+ }
62
+ if (!environment) {
63
+ this.error('MRT environment is required. Provide --environment flag, set SFCC_MRT_ENVIRONMENT, or set mrtEnvironment in dw.json.');
64
+ }
65
+ const { limit, offset, search } = this.flags;
66
+ this.log(t('commands.mrt.redirect.list.fetching', 'Fetching redirects for {{project}}/{{environment}}...', {
67
+ project,
68
+ environment,
69
+ }));
70
+ const result = await listRedirects({
71
+ projectSlug: project,
72
+ targetSlug: environment,
73
+ limit,
74
+ offset,
75
+ search,
76
+ origin: this.resolvedConfig.values.mrtOrigin,
77
+ }, this.getMrtAuth());
78
+ if (!this.jsonEnabled()) {
79
+ if (result.redirects.length === 0) {
80
+ this.log(t('commands.mrt.redirect.list.empty', 'No redirects found.'));
81
+ }
82
+ else {
83
+ this.log(t('commands.mrt.redirect.list.count', 'Found {{count}} redirect(s):', { count: result.count }));
84
+ createTable(COLUMNS).render(result.redirects, DEFAULT_COLUMNS);
85
+ }
86
+ }
87
+ return result;
88
+ }
89
+ }
90
+ //# sourceMappingURL=list.js.map