@salesforce/b2c-tooling-sdk 1.24.2 → 2.0.0

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 (460) hide show
  1. package/data/content-schemas/componenttype.json +0 -30
  2. package/data/scapi-snippets/campaign-promotions.js +40 -0
  3. package/data/scapi-snippets/code-version-inspect.js +31 -0
  4. package/data/scapi-snippets/create-product.js +108 -0
  5. package/data/scapi-snippets/failed-job-triage.js +37 -0
  6. package/data/scapi-snippets/job-execution-inspect.js +52 -0
  7. package/data/scapi-snippets/job-execution-review.js +46 -0
  8. package/data/scapi-snippets/manifest.json +220 -0
  9. package/data/scapi-snippets/site-cartridge-inspect.js +27 -0
  10. package/data/tooling/index.json +80 -116
  11. package/dist/esm/auth/index.d.ts +2 -2
  12. package/dist/esm/auth/index.js +1 -1
  13. package/dist/esm/auth/index.js.map +1 -1
  14. package/dist/esm/auth/oauth-implicit.d.ts +1 -0
  15. package/dist/esm/auth/oauth-implicit.js +1 -0
  16. package/dist/esm/auth/oauth-implicit.js.map +1 -1
  17. package/dist/esm/auth/oauth-jwt.d.ts +18 -4
  18. package/dist/esm/auth/oauth-jwt.js +67 -17
  19. package/dist/esm/auth/oauth-jwt.js.map +1 -1
  20. package/dist/esm/auth/oauth-pkce-fallback.d.ts +1 -0
  21. package/dist/esm/auth/oauth-pkce-fallback.js +1 -0
  22. package/dist/esm/auth/oauth-pkce-fallback.js.map +1 -1
  23. package/dist/esm/auth/oauth-pkce.d.ts +1 -0
  24. package/dist/esm/auth/oauth-pkce.js +1 -0
  25. package/dist/esm/auth/oauth-pkce.js.map +1 -1
  26. package/dist/esm/auth/oauth.d.ts +55 -6
  27. package/dist/esm/auth/oauth.js +139 -21
  28. package/dist/esm/auth/oauth.js.map +1 -1
  29. package/dist/esm/auth/resolve.d.ts +37 -0
  30. package/dist/esm/auth/resolve.js +48 -0
  31. package/dist/esm/auth/resolve.js.map +1 -1
  32. package/dist/esm/auth/types.d.ts +44 -0
  33. package/dist/esm/auth/types.js.map +1 -1
  34. package/dist/esm/cli/base-command.d.ts +9 -0
  35. package/dist/esm/cli/base-command.js +31 -0
  36. package/dist/esm/cli/base-command.js.map +1 -1
  37. package/dist/esm/cli/bm-command.d.ts +15 -0
  38. package/dist/esm/cli/bm-command.js +25 -0
  39. package/dist/esm/cli/bm-command.js.map +1 -0
  40. package/dist/esm/cli/code-command.d.ts +14 -0
  41. package/dist/esm/cli/code-command.js +22 -0
  42. package/dist/esm/cli/code-command.js.map +1 -0
  43. package/dist/esm/cli/config.js +3 -0
  44. package/dist/esm/cli/config.js.map +1 -1
  45. package/dist/esm/cli/index.d.ts +5 -1
  46. package/dist/esm/cli/index.js +7 -1
  47. package/dist/esm/cli/index.js.map +1 -1
  48. package/dist/esm/cli/instance-command.d.ts +45 -0
  49. package/dist/esm/cli/instance-command.js +66 -1
  50. package/dist/esm/cli/instance-command.js.map +1 -1
  51. package/dist/esm/cli/job-command.d.ts +37 -16
  52. package/dist/esm/cli/job-command.js +73 -23
  53. package/dist/esm/cli/job-command.js.map +1 -1
  54. package/dist/esm/cli/mrt-command.d.ts +138 -9
  55. package/dist/esm/cli/mrt-command.js +277 -16
  56. package/dist/esm/cli/mrt-command.js.map +1 -1
  57. package/dist/esm/cli/oauth-command.d.ts +1 -1
  58. package/dist/esm/cli/oauth-command.js +2 -0
  59. package/dist/esm/cli/oauth-command.js.map +1 -1
  60. package/dist/esm/cli/webdav-command.d.ts +1 -0
  61. package/dist/esm/clients/cdn-zones.js +2 -5
  62. package/dist/esm/clients/cdn-zones.js.map +1 -1
  63. package/dist/esm/clients/cip.d.ts +12 -3
  64. package/dist/esm/clients/cip.js +85 -30
  65. package/dist/esm/clients/cip.js.map +1 -1
  66. package/dist/esm/clients/custom-apis.js +2 -5
  67. package/dist/esm/clients/custom-apis.js.map +1 -1
  68. package/dist/esm/clients/dual-backend-factory.d.ts +70 -0
  69. package/dist/esm/clients/dual-backend-factory.js +48 -0
  70. package/dist/esm/clients/dual-backend-factory.js.map +1 -0
  71. package/dist/esm/clients/error-utils.d.ts +62 -0
  72. package/dist/esm/clients/error-utils.js +98 -0
  73. package/dist/esm/clients/error-utils.js.map +1 -1
  74. package/dist/esm/clients/granular-replications.js +2 -5
  75. package/dist/esm/clients/granular-replications.js.map +1 -1
  76. package/dist/esm/clients/index.d.ts +28 -3
  77. package/dist/esm/clients/index.js +24 -2
  78. package/dist/esm/clients/index.js.map +1 -1
  79. package/dist/esm/clients/metrics.js +2 -5
  80. package/dist/esm/clients/metrics.js.map +1 -1
  81. package/dist/esm/clients/middleware-registry.d.ts +4 -2
  82. package/dist/esm/clients/middleware-registry.js +3 -1
  83. package/dist/esm/clients/middleware-registry.js.map +1 -1
  84. package/dist/esm/clients/middleware.d.ts +39 -0
  85. package/dist/esm/clients/middleware.js +126 -25
  86. package/dist/esm/clients/middleware.js.map +1 -1
  87. package/dist/esm/clients/mrt-b2c.js +3 -0
  88. package/dist/esm/clients/mrt-b2c.js.map +1 -1
  89. package/dist/esm/clients/mrt.d.ts +27 -10
  90. package/dist/esm/clients/mrt.generated.d.ts +77 -0
  91. package/dist/esm/clients/mrt.js +68 -0
  92. package/dist/esm/clients/mrt.js.map +1 -1
  93. package/dist/esm/clients/preferences.js +2 -5
  94. package/dist/esm/clients/preferences.js.map +1 -1
  95. package/dist/esm/clients/scapi-backend-utils.d.ts +163 -0
  96. package/dist/esm/clients/scapi-backend-utils.js +180 -0
  97. package/dist/esm/clients/scapi-backend-utils.js.map +1 -0
  98. package/dist/esm/clients/scapi-catalogs.d.ts +12 -0
  99. package/dist/esm/clients/scapi-catalogs.generated.d.ts +104 -0
  100. package/dist/esm/clients/scapi-catalogs.generated.js +6 -0
  101. package/dist/esm/clients/scapi-catalogs.generated.js.map +1 -0
  102. package/dist/esm/clients/scapi-catalogs.js +14 -0
  103. package/dist/esm/clients/scapi-catalogs.js.map +1 -0
  104. package/dist/esm/clients/scapi-client-factory.d.ts +81 -0
  105. package/dist/esm/clients/scapi-client-factory.js +84 -0
  106. package/dist/esm/clients/scapi-client-factory.js.map +1 -0
  107. package/dist/esm/clients/scapi-fallback-backend.d.ts +34 -0
  108. package/dist/esm/clients/scapi-fallback-backend.js +132 -0
  109. package/dist/esm/clients/scapi-fallback-backend.js.map +1 -0
  110. package/dist/esm/clients/scapi-jobs.d.ts +32 -0
  111. package/dist/esm/clients/scapi-jobs.generated.d.ts +535 -0
  112. package/dist/esm/clients/scapi-jobs.generated.js +6 -0
  113. package/dist/esm/clients/scapi-jobs.generated.js.map +1 -0
  114. package/dist/esm/clients/scapi-jobs.js +24 -0
  115. package/dist/esm/clients/scapi-jobs.js.map +1 -0
  116. package/dist/esm/clients/scapi-merchant-roles.d.ts +19 -0
  117. package/dist/esm/clients/scapi-merchant-roles.generated.d.ts +726 -0
  118. package/dist/esm/clients/scapi-merchant-roles.generated.js +6 -0
  119. package/dist/esm/clients/scapi-merchant-roles.generated.js.map +1 -0
  120. package/dist/esm/clients/scapi-merchant-roles.js +12 -0
  121. package/dist/esm/clients/scapi-merchant-roles.js.map +1 -0
  122. package/dist/esm/clients/scapi-merchant-users.d.ts +19 -0
  123. package/dist/esm/clients/scapi-merchant-users.generated.d.ts +300 -0
  124. package/dist/esm/clients/scapi-merchant-users.generated.js +6 -0
  125. package/dist/esm/clients/scapi-merchant-users.generated.js.map +1 -0
  126. package/dist/esm/clients/scapi-merchant-users.js +12 -0
  127. package/dist/esm/clients/scapi-merchant-users.js.map +1 -0
  128. package/dist/esm/clients/scapi-schemas.js +2 -5
  129. package/dist/esm/clients/scapi-schemas.js.map +1 -1
  130. package/dist/esm/clients/scapi-scope-tier.d.ts +78 -0
  131. package/dist/esm/clients/scapi-scope-tier.js +113 -0
  132. package/dist/esm/clients/scapi-scope-tier.js.map +1 -0
  133. package/dist/esm/clients/scapi-scripts.d.ts +17 -0
  134. package/dist/esm/clients/scapi-scripts.generated.d.ts +392 -0
  135. package/dist/esm/clients/scapi-scripts.generated.js +6 -0
  136. package/dist/esm/clients/scapi-scripts.generated.js.map +1 -0
  137. package/dist/esm/clients/scapi-scripts.js +12 -0
  138. package/dist/esm/clients/scapi-scripts.js.map +1 -0
  139. package/dist/esm/clients/scapi-sites.d.ts +26 -0
  140. package/dist/esm/clients/scapi-sites.generated.d.ts +500 -0
  141. package/dist/esm/clients/scapi-sites.generated.js +6 -0
  142. package/dist/esm/clients/scapi-sites.generated.js.map +1 -0
  143. package/dist/esm/clients/scapi-sites.js +25 -0
  144. package/dist/esm/clients/scapi-sites.js.map +1 -0
  145. package/dist/esm/clients/slas-shopper.d.ts +19 -0
  146. package/dist/esm/clients/slas-shopper.generated.d.ts +165 -0
  147. package/dist/esm/clients/slas-shopper.generated.js +6 -0
  148. package/dist/esm/clients/slas-shopper.generated.js.map +1 -0
  149. package/dist/esm/clients/slas-shopper.js +35 -0
  150. package/dist/esm/clients/slas-shopper.js.map +1 -0
  151. package/dist/esm/clients/storefront-deployments.d.ts +56 -0
  152. package/dist/esm/clients/storefront-deployments.generated.d.ts +558 -0
  153. package/dist/esm/clients/storefront-deployments.generated.js +6 -0
  154. package/dist/esm/clients/storefront-deployments.generated.js.map +1 -0
  155. package/dist/esm/clients/storefront-deployments.js +24 -0
  156. package/dist/esm/clients/storefront-deployments.js.map +1 -0
  157. package/dist/esm/clients/webdav.js +4 -1
  158. package/dist/esm/clients/webdav.js.map +1 -1
  159. package/dist/esm/compat/dispatcher.d.ts +49 -0
  160. package/dist/esm/compat/dispatcher.js +124 -0
  161. package/dist/esm/compat/dispatcher.js.map +1 -0
  162. package/dist/esm/compat/index.d.ts +10 -0
  163. package/dist/esm/compat/index.js +15 -0
  164. package/dist/esm/compat/index.js.map +1 -0
  165. package/dist/esm/compat/jobs-backend.d.ts +31 -0
  166. package/dist/esm/compat/jobs-backend.js +76 -0
  167. package/dist/esm/compat/jobs-backend.js.map +1 -0
  168. package/dist/esm/config/dw-json.d.ts +4 -0
  169. package/dist/esm/config/dw-json.js.map +1 -1
  170. package/dist/esm/config/index.d.ts +1 -1
  171. package/dist/esm/config/index.js.map +1 -1
  172. package/dist/esm/config/mapping.d.ts +2 -5
  173. package/dist/esm/config/mapping.js +25 -1
  174. package/dist/esm/config/mapping.js.map +1 -1
  175. package/dist/esm/config/resolved-config.d.ts +2 -2
  176. package/dist/esm/config/resolved-config.js.map +1 -1
  177. package/dist/esm/config/sources/env-source.js +17 -0
  178. package/dist/esm/config/sources/env-source.js.map +1 -1
  179. package/dist/esm/config/types.d.ts +21 -2
  180. package/dist/esm/docs/search.js +2 -25
  181. package/dist/esm/docs/search.js.map +1 -1
  182. package/dist/esm/guidance/catalog.d.ts +37 -0
  183. package/dist/esm/guidance/catalog.js +282 -0
  184. package/dist/esm/guidance/catalog.js.map +1 -0
  185. package/dist/esm/guidance/index.d.ts +8 -0
  186. package/dist/esm/guidance/index.js +14 -0
  187. package/dist/esm/guidance/index.js.map +1 -0
  188. package/dist/esm/guidance/markdown.d.ts +10 -0
  189. package/dist/esm/guidance/markdown.js +52 -0
  190. package/dist/esm/guidance/markdown.js.map +1 -0
  191. package/dist/esm/guidance/types.d.ts +92 -0
  192. package/dist/esm/guidance/types.js +17 -0
  193. package/dist/esm/guidance/types.js.map +1 -0
  194. package/dist/esm/index.d.ts +14 -5
  195. package/dist/esm/index.js +14 -2
  196. package/dist/esm/index.js.map +1 -1
  197. package/dist/esm/instance/index.d.ts +96 -2
  198. package/dist/esm/instance/index.js +98 -5
  199. package/dist/esm/instance/index.js.map +1 -1
  200. package/dist/esm/operations/bm-roles/backend.d.ts +4 -0
  201. package/dist/esm/operations/bm-roles/backend.js +11 -0
  202. package/dist/esm/operations/bm-roles/backend.js.map +1 -0
  203. package/dist/esm/operations/bm-roles/index.d.ts +6 -0
  204. package/dist/esm/operations/bm-roles/index.js +4 -0
  205. package/dist/esm/operations/bm-roles/index.js.map +1 -1
  206. package/dist/esm/operations/bm-roles/ocapi-backend.d.ts +17 -0
  207. package/dist/esm/operations/bm-roles/ocapi-backend.js +151 -0
  208. package/dist/esm/operations/bm-roles/ocapi-backend.js.map +1 -0
  209. package/dist/esm/operations/bm-roles/roles.js +13 -17
  210. package/dist/esm/operations/bm-roles/roles.js.map +1 -1
  211. package/dist/esm/operations/bm-roles/scapi-backend.d.ts +27 -0
  212. package/dist/esm/operations/bm-roles/scapi-backend.js +138 -0
  213. package/dist/esm/operations/bm-roles/scapi-backend.js.map +1 -0
  214. package/dist/esm/operations/bm-roles/types.d.ts +49 -0
  215. package/dist/esm/operations/bm-roles/types.js +2 -0
  216. package/dist/esm/operations/bm-roles/types.js.map +1 -0
  217. package/dist/esm/operations/bm-users/backend.d.ts +4 -0
  218. package/dist/esm/operations/bm-users/backend.js +11 -0
  219. package/dist/esm/operations/bm-users/backend.js.map +1 -0
  220. package/dist/esm/operations/bm-users/index.d.ts +11 -3
  221. package/dist/esm/operations/bm-users/index.js +9 -3
  222. package/dist/esm/operations/bm-users/index.js.map +1 -1
  223. package/dist/esm/operations/bm-users/ocapi-backend.d.ts +13 -0
  224. package/dist/esm/operations/bm-users/ocapi-backend.js +92 -0
  225. package/dist/esm/operations/bm-users/ocapi-backend.js.map +1 -0
  226. package/dist/esm/operations/bm-users/scapi-backend.d.ts +23 -0
  227. package/dist/esm/operations/bm-users/scapi-backend.js +199 -0
  228. package/dist/esm/operations/bm-users/scapi-backend.js.map +1 -0
  229. package/dist/esm/operations/bm-users/types.d.ts +99 -0
  230. package/dist/esm/operations/bm-users/types.js +2 -0
  231. package/dist/esm/operations/bm-users/types.js.map +1 -0
  232. package/dist/esm/operations/bm-users/users.d.ts +4 -3
  233. package/dist/esm/operations/bm-users/users.js +23 -19
  234. package/dist/esm/operations/bm-users/users.js.map +1 -1
  235. package/dist/esm/operations/cap/install.js +23 -45
  236. package/dist/esm/operations/cap/install.js.map +1 -1
  237. package/dist/esm/operations/cap/list.js +4 -8
  238. package/dist/esm/operations/cap/list.js.map +1 -1
  239. package/dist/esm/operations/cap/uninstall.js +17 -37
  240. package/dist/esm/operations/cap/uninstall.js.map +1 -1
  241. package/dist/esm/operations/catalogs/catalogs-backend.d.ts +4 -0
  242. package/dist/esm/operations/catalogs/catalogs-backend.js +16 -0
  243. package/dist/esm/operations/catalogs/catalogs-backend.js.map +1 -0
  244. package/dist/esm/operations/catalogs/catalogs-types.d.ts +14 -0
  245. package/dist/esm/operations/catalogs/catalogs-types.js +2 -0
  246. package/dist/esm/operations/catalogs/catalogs-types.js.map +1 -0
  247. package/dist/esm/operations/catalogs/index.d.ts +7 -0
  248. package/dist/esm/operations/catalogs/index.js +10 -0
  249. package/dist/esm/operations/catalogs/index.js.map +1 -0
  250. package/dist/esm/operations/catalogs/ocapi-catalogs-backend.d.ts +8 -0
  251. package/dist/esm/operations/catalogs/ocapi-catalogs-backend.js +36 -0
  252. package/dist/esm/operations/catalogs/ocapi-catalogs-backend.js.map +1 -0
  253. package/dist/esm/operations/catalogs/scapi-catalogs-backend.d.ts +15 -0
  254. package/dist/esm/operations/catalogs/scapi-catalogs-backend.js +42 -0
  255. package/dist/esm/operations/catalogs/scapi-catalogs-backend.js.map +1 -0
  256. package/dist/esm/operations/cip/index.js +10 -2
  257. package/dist/esm/operations/cip/index.js.map +1 -1
  258. package/dist/esm/operations/cip/reports.js +19 -3
  259. package/dist/esm/operations/cip/reports.js.map +1 -1
  260. package/dist/esm/operations/cip/types.d.ts +8 -4
  261. package/dist/esm/operations/code/deploy.d.ts +3 -0
  262. package/dist/esm/operations/code/deploy.js +5 -3
  263. package/dist/esm/operations/code/deploy.js.map +1 -1
  264. package/dist/esm/operations/code/download.d.ts +3 -0
  265. package/dist/esm/operations/code/download.js +5 -5
  266. package/dist/esm/operations/code/download.js.map +1 -1
  267. package/dist/esm/operations/code/index.d.ts +7 -1
  268. package/dist/esm/operations/code/index.js +5 -1
  269. package/dist/esm/operations/code/index.js.map +1 -1
  270. package/dist/esm/operations/code/ocapi-scripts-backend.d.ts +12 -0
  271. package/dist/esm/operations/code/ocapi-scripts-backend.js +40 -0
  272. package/dist/esm/operations/code/ocapi-scripts-backend.js.map +1 -0
  273. package/dist/esm/operations/code/scapi-scripts-backend.d.ts +22 -0
  274. package/dist/esm/operations/code/scapi-scripts-backend.js +94 -0
  275. package/dist/esm/operations/code/scapi-scripts-backend.js.map +1 -0
  276. package/dist/esm/operations/code/scripts-backend.d.ts +17 -0
  277. package/dist/esm/operations/code/scripts-backend.js +40 -0
  278. package/dist/esm/operations/code/scripts-backend.js.map +1 -0
  279. package/dist/esm/operations/code/scripts-types.d.ts +43 -0
  280. package/dist/esm/operations/code/scripts-types.js +2 -0
  281. package/dist/esm/operations/code/scripts-types.js.map +1 -0
  282. package/dist/esm/operations/code/upload-files.d.ts +6 -0
  283. package/dist/esm/operations/code/upload-files.js +58 -7
  284. package/dist/esm/operations/code/upload-files.js.map +1 -1
  285. package/dist/esm/operations/code/versions.d.ts +0 -20
  286. package/dist/esm/operations/code/versions.js +16 -51
  287. package/dist/esm/operations/code/versions.js.map +1 -1
  288. package/dist/esm/operations/code/watch.d.ts +3 -0
  289. package/dist/esm/operations/code/watch.js +3 -2
  290. package/dist/esm/operations/code/watch.js.map +1 -1
  291. package/dist/esm/operations/jobs/discover.d.ts +1 -1
  292. package/dist/esm/operations/jobs/discover.js +51 -21
  293. package/dist/esm/operations/jobs/discover.js.map +1 -1
  294. package/dist/esm/operations/jobs/index.d.ts +14 -57
  295. package/dist/esm/operations/jobs/index.js +15 -59
  296. package/dist/esm/operations/jobs/index.js.map +1 -1
  297. package/dist/esm/operations/jobs/ocapi-mapping.d.ts +34 -0
  298. package/dist/esm/operations/jobs/ocapi-mapping.js +100 -0
  299. package/dist/esm/operations/jobs/ocapi-mapping.js.map +1 -0
  300. package/dist/esm/operations/jobs/run-system-job.d.ts +81 -0
  301. package/dist/esm/operations/jobs/run-system-job.js +137 -0
  302. package/dist/esm/operations/jobs/run-system-job.js.map +1 -0
  303. package/dist/esm/operations/jobs/run.js +16 -4
  304. package/dist/esm/operations/jobs/run.js.map +1 -1
  305. package/dist/esm/operations/jobs/scapi-ops.d.ts +61 -0
  306. package/dist/esm/operations/jobs/scapi-ops.js +214 -0
  307. package/dist/esm/operations/jobs/scapi-ops.js.map +1 -0
  308. package/dist/esm/operations/jobs/site-archive.js +28 -66
  309. package/dist/esm/operations/jobs/site-archive.js.map +1 -1
  310. package/dist/esm/operations/jobs/types.d.ts +46 -0
  311. package/dist/esm/operations/jobs/types.js +2 -0
  312. package/dist/esm/operations/jobs/types.js.map +1 -0
  313. package/dist/esm/operations/jobs/wait-canonical.d.ts +28 -0
  314. package/dist/esm/operations/jobs/wait-canonical.js +48 -0
  315. package/dist/esm/operations/jobs/wait-canonical.js.map +1 -0
  316. package/dist/esm/operations/mrt/bundle.d.ts +164 -2
  317. package/dist/esm/operations/mrt/bundle.js +315 -9
  318. package/dist/esm/operations/mrt/bundle.js.map +1 -1
  319. package/dist/esm/operations/mrt/deployment.d.ts +221 -0
  320. package/dist/esm/operations/mrt/deployment.js +239 -0
  321. package/dist/esm/operations/mrt/deployment.js.map +1 -1
  322. package/dist/esm/operations/mrt/index.d.ts +8 -6
  323. package/dist/esm/operations/mrt/index.js +5 -3
  324. package/dist/esm/operations/mrt/index.js.map +1 -1
  325. package/dist/esm/operations/mrt/mrt-backend.d.ts +117 -0
  326. package/dist/esm/operations/mrt/mrt-backend.js +84 -0
  327. package/dist/esm/operations/mrt/mrt-backend.js.map +1 -0
  328. package/dist/esm/operations/mrt/push.d.ts +83 -1
  329. package/dist/esm/operations/mrt/push.js +102 -1
  330. package/dist/esm/operations/mrt/push.js.map +1 -1
  331. package/dist/esm/operations/sites/cartridges.d.ts +10 -8
  332. package/dist/esm/operations/sites/cartridges.js +35 -67
  333. package/dist/esm/operations/sites/cartridges.js.map +1 -1
  334. package/dist/esm/operations/sites/index.d.ts +10 -6
  335. package/dist/esm/operations/sites/index.js +9 -6
  336. package/dist/esm/operations/sites/index.js.map +1 -1
  337. package/dist/esm/operations/sites/ocapi-sites-backend.d.ts +20 -0
  338. package/dist/esm/operations/sites/ocapi-sites-backend.js +98 -0
  339. package/dist/esm/operations/sites/ocapi-sites-backend.js.map +1 -0
  340. package/dist/esm/operations/sites/scapi-sites-backend.d.ts +33 -0
  341. package/dist/esm/operations/sites/scapi-sites-backend.js +166 -0
  342. package/dist/esm/operations/sites/scapi-sites-backend.js.map +1 -0
  343. package/dist/esm/operations/sites/sites-backend.d.ts +9 -0
  344. package/dist/esm/operations/sites/sites-backend.js +16 -0
  345. package/dist/esm/operations/sites/sites-backend.js.map +1 -0
  346. package/dist/esm/operations/sites/sites-scopes.d.ts +2 -0
  347. package/dist/esm/operations/sites/sites-scopes.js +16 -0
  348. package/dist/esm/operations/sites/sites-scopes.js.map +1 -0
  349. package/dist/esm/operations/sites/sites-types.d.ts +50 -0
  350. package/dist/esm/operations/sites/sites-types.js +2 -0
  351. package/dist/esm/operations/sites/sites-types.js.map +1 -0
  352. package/dist/esm/safety/safety-middleware.d.ts +7 -3
  353. package/dist/esm/safety/safety-middleware.js +13 -9
  354. package/dist/esm/safety/safety-middleware.js.map +1 -1
  355. package/dist/esm/scaffold/sources.js +6 -9
  356. package/dist/esm/scaffold/sources.js.map +1 -1
  357. package/dist/esm/scapi/auth-primitives.d.ts +3 -0
  358. package/dist/esm/scapi/auth-primitives.js +104 -0
  359. package/dist/esm/scapi/auth-primitives.js.map +1 -0
  360. package/dist/esm/scapi/authentication.d.ts +30 -0
  361. package/dist/esm/scapi/authentication.js +136 -0
  362. package/dist/esm/scapi/authentication.js.map +1 -0
  363. package/dist/esm/scapi/catalog.d.ts +29 -0
  364. package/dist/esm/scapi/catalog.js +81 -0
  365. package/dist/esm/scapi/catalog.js.map +1 -0
  366. package/dist/esm/scapi/index.d.ts +12 -0
  367. package/dist/esm/scapi/index.js +13 -0
  368. package/dist/esm/scapi/index.js.map +1 -0
  369. package/dist/esm/scapi/request.d.ts +15 -0
  370. package/dist/esm/scapi/request.js +239 -0
  371. package/dist/esm/scapi/request.js.map +1 -0
  372. package/dist/esm/scapi/runtime.d.ts +20 -0
  373. package/dist/esm/scapi/runtime.js +131 -0
  374. package/dist/esm/scapi/runtime.js.map +1 -0
  375. package/dist/esm/scapi/snippets.d.ts +22 -0
  376. package/dist/esm/scapi/snippets.js +140 -0
  377. package/dist/esm/scapi/snippets.js.map +1 -0
  378. package/dist/esm/scapi/worker-source.d.ts +2 -0
  379. package/dist/esm/scapi/worker-source.js +101 -0
  380. package/dist/esm/scapi/worker-source.js.map +1 -0
  381. package/dist/esm/search/ranking.d.ts +12 -0
  382. package/dist/esm/search/ranking.js +28 -0
  383. package/dist/esm/search/ranking.js.map +1 -0
  384. package/dist/esm/skills/sources.d.ts +2 -2
  385. package/dist/esm/skills/sources.js +10 -2
  386. package/dist/esm/skills/sources.js.map +1 -1
  387. package/dist/esm/skills/types.d.ts +1 -1
  388. package/dist/esm/slas/token.js +33 -94
  389. package/dist/esm/slas/token.js.map +1 -1
  390. package/dist/esm/slas/types.d.ts +5 -0
  391. package/node_modules/@salesforce/b2c-api-schemas/README.md +23 -0
  392. package/node_modules/@salesforce/b2c-api-schemas/manifest.json +576 -0
  393. package/node_modules/@salesforce/b2c-api-schemas/package.json +15 -0
  394. package/node_modules/@salesforce/b2c-api-schemas/scapi/cdn/zones/v1.json +11490 -0
  395. package/node_modules/@salesforce/b2c-api-schemas/scapi/checkout/orders/v1.json +3589 -0
  396. package/node_modules/@salesforce/b2c-api-schemas/scapi/checkout/shopper-baskets/v1.json +6544 -0
  397. package/node_modules/@salesforce/b2c-api-schemas/scapi/checkout/shopper-baskets/v2.json +7148 -0
  398. package/node_modules/@salesforce/b2c-api-schemas/scapi/checkout/shopper-orders/v1.json +4411 -0
  399. package/node_modules/@salesforce/b2c-api-schemas/scapi/checkout/shopper-payments/v1.json +643 -0
  400. package/node_modules/@salesforce/b2c-api-schemas/scapi/configuration/cors/v1.json +295 -0
  401. package/node_modules/@salesforce/b2c-api-schemas/scapi/configuration/preferences/v1.json +2036 -0
  402. package/node_modules/@salesforce/b2c-api-schemas/scapi/configuration/shopper-configurations/v1.json +327 -0
  403. package/node_modules/@salesforce/b2c-api-schemas/scapi/configuration/timeouts/v1.json +234 -0
  404. package/node_modules/@salesforce/b2c-api-schemas/scapi/custom-object/custom-objects/v1.json +1542 -0
  405. package/node_modules/@salesforce/b2c-api-schemas/scapi/custom-object/shopper-custom-objects/v1.json +405 -0
  406. package/node_modules/@salesforce/b2c-api-schemas/scapi/customer/customers/v1.json +2531 -0
  407. package/node_modules/@salesforce/b2c-api-schemas/scapi/customer/shopper-customers/v1.json +7944 -0
  408. package/node_modules/@salesforce/b2c-api-schemas/scapi/dx/custom-apis/v1.json +292 -0
  409. package/node_modules/@salesforce/b2c-api-schemas/scapi/dx/object-definitions/v1.json +2537 -0
  410. package/node_modules/@salesforce/b2c-api-schemas/scapi/dx/scapi-schemas/v1.json +517 -0
  411. package/node_modules/@salesforce/b2c-api-schemas/scapi/dx/scripts/v1.json +589 -0
  412. package/node_modules/@salesforce/b2c-api-schemas/scapi/experience/experiences/v1.json +3600 -0
  413. package/node_modules/@salesforce/b2c-api-schemas/scapi/experience/shopper-experience/v1.json +2319 -0
  414. package/node_modules/@salesforce/b2c-api-schemas/scapi/intelligence/analytics/v1.json +658 -0
  415. package/node_modules/@salesforce/b2c-api-schemas/scapi/inventory/availability/v1.json +2649 -0
  416. package/node_modules/@salesforce/b2c-api-schemas/scapi/inventory/impex/v1.json +6615 -0
  417. package/node_modules/@salesforce/b2c-api-schemas/scapi/inventory/reservation/v1.json +2103 -0
  418. package/node_modules/@salesforce/b2c-api-schemas/scapi/merchant/roles/v1.json +1760 -0
  419. package/node_modules/@salesforce/b2c-api-schemas/scapi/merchant/users/v1.json +640 -0
  420. package/node_modules/@salesforce/b2c-api-schemas/scapi/observability/metrics/v1.json +1263 -0
  421. package/node_modules/@salesforce/b2c-api-schemas/scapi/operation/jobs/v1.json +1259 -0
  422. package/node_modules/@salesforce/b2c-api-schemas/scapi/operation/replications/v1.json +760 -0
  423. package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/assignments/v1.json +1047 -0
  424. package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/campaigns/v1.json +1929 -0
  425. package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/coupons/v1.json +1542 -0
  426. package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/gift-certificates/v1.json +1093 -0
  427. package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/promotions/v1.json +1324 -0
  428. package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/shopper-gift-certificates/v1.json +325 -0
  429. package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/shopper-promotions/v1.json +631 -0
  430. package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/source-code-groups/v1.json +1036 -0
  431. package/node_modules/@salesforce/b2c-api-schemas/scapi/product/catalogs/v1.json +5175 -0
  432. package/node_modules/@salesforce/b2c-api-schemas/scapi/product/inventory-lists/v1.json +866 -0
  433. package/node_modules/@salesforce/b2c-api-schemas/scapi/product/price-books/v1.json +747 -0
  434. package/node_modules/@salesforce/b2c-api-schemas/scapi/product/products/v1.json +5076 -0
  435. package/node_modules/@salesforce/b2c-api-schemas/scapi/product/shopper-availability/v1.json +509 -0
  436. package/node_modules/@salesforce/b2c-api-schemas/scapi/product/shopper-delivery-estimates/v1.json +517 -0
  437. package/node_modules/@salesforce/b2c-api-schemas/scapi/product/shopper-products/v1.json +2961 -0
  438. package/node_modules/@salesforce/b2c-api-schemas/scapi/search/shopper-search/v1.json +1889 -0
  439. package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/auth/v1.json +7014 -0
  440. package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/auth-admin/v1.json +1898 -0
  441. package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/consents/v1.json +622 -0
  442. package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/shopper-agents/v1.json +192 -0
  443. package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/shopper-consents/v1.json +913 -0
  444. package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/shopper-context/v1.json +630 -0
  445. package/node_modules/@salesforce/b2c-api-schemas/scapi/site/seo/v1.json +223 -0
  446. package/node_modules/@salesforce/b2c-api-schemas/scapi/site/shopper-seo/v1.json +423 -0
  447. package/node_modules/@salesforce/b2c-api-schemas/scapi/site/sites/v1.json +1088 -0
  448. package/node_modules/@salesforce/b2c-api-schemas/scapi/store/shopper-stores/v1.json +798 -0
  449. package/node_modules/@salesforce/b2c-api-schemas/scapi/store/store-redirect-mappings/v1.json +607 -0
  450. package/node_modules/@salesforce/b2c-api-schemas/scapi/store/stores/v1.json +1418 -0
  451. package/package.json +24 -3
  452. package/specs/dx-scripts-v1.yaml +409 -0
  453. package/specs/merchant-roles-v1.yaml +1085 -0
  454. package/specs/merchant-users-v1.yaml +398 -0
  455. package/specs/mrt-api-v1.json +105 -0
  456. package/specs/operations-jobs-v1.yaml +793 -0
  457. package/specs/product-catalogs-v1.yaml +111 -0
  458. package/specs/site-sites-v1.yaml +667 -0
  459. package/specs/slas-shopper-v1.yaml +83 -0
  460. package/specs/storefront-deployments-v1.yaml +630 -0
@@ -1,5 +1,9 @@
1
1
  import { createMrtClient, DEFAULT_MRT_ORIGIN } from '../../clients/mrt.js';
2
+ import { SCOPE_MODE_HEADER } from '../../clients/middleware.js';
3
+ import { createScapiRequestError } from '../../clients/scapi-backend-utils.js';
4
+ import { createStorefrontDeploymentsClient, toOrganizationId, } from '../../clients/storefront-deployments.js';
2
5
  import { getLogger } from '../../logging/logger.js';
6
+ import { runMrtWithFallback, } from './mrt-backend.js';
3
7
  /**
4
8
  * Lists deployment history for an MRT environment.
5
9
  *
@@ -112,4 +116,239 @@ export async function createDeployment(options, auth) {
112
116
  warnings,
113
117
  };
114
118
  }
119
+ // ---------------------------------------------------------------------------
120
+ // Backend-neutral deployment view + SCAPI MRT operations
121
+ // ---------------------------------------------------------------------------
122
+ const READ_HEADERS = { [SCOPE_MODE_HEADER]: 'read' };
123
+ const WRITE_HEADERS = { [SCOPE_MODE_HEADER]: 'write' };
124
+ /**
125
+ * Thrown when a backend-aware operation resolves to the legacy backend but no
126
+ * legacy auth was supplied. `legacyAuth` is optional so SCAPI-only callers
127
+ * aren't forced to configure a `~/.mobify` API key; this guards the case where
128
+ * legacy is actually needed (explicit `legacy`, or `auto` falling back).
129
+ */
130
+ const LEGACY_AUTH_REQUIRED_MESSAGE = 'Legacy MRT credentials are required for this backend but none were provided. ' +
131
+ 'Provide an API key (--api-key / MRT_API_KEY / ~/.mobify) or use the SCAPI MRT backend.';
132
+ /** SCAPI deployment statuses that end the poll loop. */
133
+ const SCAPI_TERMINAL_STATUSES = new Set(['finished', 'failed']);
134
+ /** Normalizes a legacy MRT deployment list item into an {@link MrtDeploymentView}. */
135
+ export function normalizeLegacyDeployment(deploy) {
136
+ return {
137
+ bundleId: deploy.bundle?.id ?? undefined,
138
+ bundleMessage: deploy.bundle?.message ?? undefined,
139
+ status: deploy.status ?? undefined,
140
+ deploymentType: deploy.deploy_type ?? undefined,
141
+ creationDate: deploy.created_at ?? undefined,
142
+ createdBy: deploy.user ?? undefined,
143
+ backend: 'legacy',
144
+ };
145
+ }
146
+ /** Normalizes a SCAPI MRT {@link DeploymentScapi} into an {@link MrtDeploymentView}. */
147
+ export function normalizeDeploymentScapi(deployment) {
148
+ return {
149
+ deploymentId: deployment.deploymentId ?? undefined,
150
+ bundleId: deployment.bundle?.bundleId ?? undefined,
151
+ bundleMessage: deployment.bundle?.description ?? undefined,
152
+ status: deployment.status ?? undefined,
153
+ deploymentType: deployment.deploymentType ?? undefined,
154
+ creationDate: deployment.creationDate ?? undefined,
155
+ createdBy: deployment.createdBy ?? undefined,
156
+ backend: 'scapi',
157
+ };
158
+ }
159
+ function buildScapiDeploymentsClient(conn) {
160
+ return createStorefrontDeploymentsClient({ shortCode: conn.shortCode, tenantId: conn.tenantId }, conn.auth);
161
+ }
162
+ /**
163
+ * Lists deployments for an environment via the SCAPI MRT Deployments API.
164
+ *
165
+ * Forwards the standard SCAPI `limit`/`offset` pagination query parameters when
166
+ * provided (max 200 per page, default 25 server-side; the response echoes the
167
+ * full `total`), mirroring the legacy list and the other SCAPI collection
168
+ * clients (`scapi-sites`, `scapi-catalogs`).
169
+ *
170
+ * @throws {ScapiRequestError} carrying the HTTP status on a non-2xx response.
171
+ */
172
+ export async function listDeploymentsScapi(conn, params) {
173
+ const logger = getLogger();
174
+ const { storefrontId, environmentId, limit, offset } = params;
175
+ const organizationId = toOrganizationId(conn.tenantId);
176
+ logger.debug({ organizationId, storefrontId, environmentId, limit, offset }, '[MRT-SCAPI] Listing deployments');
177
+ const client = buildScapiDeploymentsClient(conn);
178
+ const { data, error, response } = await client.GET('/organizations/{organizationId}/storefronts/{storefrontId}/environments/{environmentId}/deployments', {
179
+ params: { path: { organizationId, storefrontId, environmentId }, query: { limit, offset } },
180
+ headers: READ_HEADERS,
181
+ });
182
+ if (error || !data) {
183
+ throw createScapiRequestError(error, response, 'Failed to list deployments');
184
+ }
185
+ return {
186
+ deployments: (data.data ?? []).map(normalizeDeploymentScapi),
187
+ count: data.total ?? data.data?.length ?? 0,
188
+ raw: data,
189
+ };
190
+ }
191
+ /**
192
+ * Creates (queues) a deployment via the SCAPI MRT Deployments API.
193
+ *
194
+ * @throws {ScapiRequestError} carrying the HTTP status on a non-2xx response
195
+ * (including 409 Conflict — the caller decides whether that is fatal).
196
+ */
197
+ export async function createDeploymentScapi(conn, params) {
198
+ const logger = getLogger();
199
+ const { storefrontId, environmentId, bundleId } = params;
200
+ const organizationId = toOrganizationId(conn.tenantId);
201
+ logger.debug({ organizationId, storefrontId, environmentId, bundleId }, '[MRT-SCAPI] Creating deployment');
202
+ const client = buildScapiDeploymentsClient(conn);
203
+ const { data, error, response } = await client.POST('/organizations/{organizationId}/storefronts/{storefrontId}/environments/{environmentId}/deployments', {
204
+ params: { path: { organizationId, storefrontId, environmentId } },
205
+ headers: WRITE_HEADERS,
206
+ body: { bundleId },
207
+ });
208
+ if (error || !data) {
209
+ throw createScapiRequestError(error, response, `Failed to deploy bundle ${bundleId}`);
210
+ }
211
+ return { deploymentId: data.deploymentId, status: data.status, bundleId, raw: data };
212
+ }
213
+ /**
214
+ * Fetches a single deployment by ID via the SCAPI MRT Deployments API.
215
+ *
216
+ * @throws {ScapiRequestError} carrying the HTTP status on a non-2xx response.
217
+ */
218
+ export async function getDeploymentScapi(conn, params) {
219
+ const { storefrontId, environmentId, deploymentId } = params;
220
+ const organizationId = toOrganizationId(conn.tenantId);
221
+ const client = buildScapiDeploymentsClient(conn);
222
+ const { data, error, response } = await client.GET('/organizations/{organizationId}/storefronts/{storefrontId}/environments/{environmentId}/deployments/{deploymentId}', {
223
+ params: { path: { organizationId, storefrontId, environmentId, deploymentId } },
224
+ headers: READ_HEADERS,
225
+ });
226
+ if (error || !data) {
227
+ throw createScapiRequestError(error, response, `Failed to get deployment ${deploymentId}`);
228
+ }
229
+ return data;
230
+ }
231
+ async function defaultSleep(ms) {
232
+ await new Promise((resolve) => {
233
+ setTimeout(resolve, ms);
234
+ });
235
+ }
236
+ /**
237
+ * Polls a SCAPI deployment by ID until it reaches a terminal status
238
+ * (`finished` or `failed`) or the timeout elapses.
239
+ *
240
+ * Uses `getDeploymentById`, which shares the `sfcc.storefront.deployments` read
241
+ * scope with the list — a direct by-ID poll costs no extra scope over
242
+ * list-polling and avoids page-scanning ambiguity.
243
+ *
244
+ * @throws Error if the timeout is reached or the deployment fails.
245
+ */
246
+ export async function waitForDeploymentScapi(conn, options) {
247
+ const logger = getLogger();
248
+ const { storefrontId, environmentId, deploymentId, pollIntervalSeconds = 30, timeoutSeconds = 600, onPoll } = options;
249
+ const sleepFn = options.sleep ?? defaultSleep;
250
+ const nowFn = options.now ?? Date.now;
251
+ const startTime = nowFn();
252
+ const pollIntervalMs = pollIntervalSeconds * 1000;
253
+ const timeoutMs = timeoutSeconds * 1000;
254
+ logger.debug({ deploymentId, pollIntervalSeconds, timeoutSeconds }, '[MRT-SCAPI] Waiting for deployment');
255
+ // Poll immediately (before any sleep) so an already-finished deployment
256
+ // returns without waiting a full interval, and so a timeout shorter than the
257
+ // poll interval still gets at least one status check.
258
+ while (true) {
259
+ const elapsedSeconds = Math.round((nowFn() - startTime) / 1000);
260
+ if (timeoutSeconds > 0 && nowFn() - startTime > timeoutMs) {
261
+ throw new Error(`Timeout waiting for deployment "${deploymentId}" after ${timeoutSeconds}s`);
262
+ }
263
+ const deployment = await getDeploymentScapi(conn, { storefrontId, environmentId, deploymentId });
264
+ const status = deployment.status ?? 'unknown';
265
+ logger.trace({ deploymentId, elapsedSeconds, status }, '[MRT-SCAPI] Deployment poll');
266
+ onPoll?.({
267
+ elapsedSeconds,
268
+ status,
269
+ description: deployment.progress?.description ?? undefined,
270
+ percentage: deployment.progress?.percentage ?? undefined,
271
+ });
272
+ if (deployment.status && SCAPI_TERMINAL_STATUSES.has(deployment.status)) {
273
+ if (deployment.status === 'failed') {
274
+ const detail = deployment.statusMessage ? `: ${deployment.statusMessage}` : '';
275
+ throw new Error(`Deployment ${deploymentId} failed${detail}`);
276
+ }
277
+ logger.debug({ deploymentId, status: deployment.status }, '[MRT-SCAPI] Deployment reached terminal status');
278
+ return deployment;
279
+ }
280
+ await sleepFn(pollIntervalMs);
281
+ }
282
+ }
283
+ /**
284
+ * Lists deployment history, routing to the SCAPI or legacy backend per the
285
+ * given preference (with safe `auto` fallback). Returns normalized rows.
286
+ */
287
+ export async function listMrtDeployments(options) {
288
+ const { preference, scapiConnection, legacyAuth, projectSlug, targetSlug, limit, offset, origin, onFallback, onResolve, } = options;
289
+ const run = await runMrtWithFallback({
290
+ preference,
291
+ hasScapiConfig: Boolean(scapiConnection),
292
+ canFallbackToLegacy: Boolean(legacyAuth),
293
+ onFallback,
294
+ onResolve,
295
+ }, {
296
+ scapi: () => listDeploymentsScapi(scapiConnection, {
297
+ storefrontId: projectSlug,
298
+ environmentId: targetSlug,
299
+ limit,
300
+ offset,
301
+ }),
302
+ legacy: async () => {
303
+ if (!legacyAuth) {
304
+ throw new Error(LEGACY_AUTH_REQUIRED_MESSAGE);
305
+ }
306
+ const result = await listDeployments({ projectSlug, targetSlug, limit, offset, origin }, legacyAuth);
307
+ // The legacy list result already mirrors the raw MRT Cloud API shape
308
+ // (count/next/previous/deployments), so surface it verbatim under --json.
309
+ return { count: result.count, deployments: result.deployments.map(normalizeLegacyDeployment), raw: result };
310
+ },
311
+ });
312
+ return { backend: run.backend, count: run.value.count, deployments: run.value.deployments, raw: run.value.raw };
313
+ }
314
+ /**
315
+ * Deploys an existing bundle, routing to the SCAPI or legacy backend per the
316
+ * given preference (with safe `auto` fallback). The returned `backend` pins
317
+ * which `--wait` strategy the caller should use.
318
+ */
319
+ export async function deployMrtBundle(options) {
320
+ const { preference, scapiConnection, legacyAuth, projectSlug, targetSlug, bundleId, origin, onFallback, onResolve } = options;
321
+ const run = await runMrtWithFallback({
322
+ preference,
323
+ hasScapiConfig: Boolean(scapiConnection),
324
+ canFallbackToLegacy: Boolean(legacyAuth),
325
+ onFallback,
326
+ onResolve,
327
+ }, {
328
+ scapi: async () => {
329
+ const result = await createDeploymentScapi(scapiConnection, {
330
+ storefrontId: projectSlug,
331
+ environmentId: targetSlug,
332
+ bundleId,
333
+ });
334
+ return {
335
+ backend: 'scapi',
336
+ bundleId,
337
+ deploymentId: result.deploymentId,
338
+ status: result.status ?? 'queued',
339
+ raw: result.raw,
340
+ };
341
+ },
342
+ legacy: async () => {
343
+ if (!legacyAuth) {
344
+ throw new Error(LEGACY_AUTH_REQUIRED_MESSAGE);
345
+ }
346
+ const result = await createDeployment({ projectSlug, targetSlug, bundleId, origin }, legacyAuth);
347
+ // `createDeployment` returns the synthesized legacy deploy result, which
348
+ // is the shape legacy `--json` emitted before the backend split.
349
+ return { backend: 'legacy', bundleId, status: result.status, warnings: result.warnings, raw: result };
350
+ },
351
+ });
352
+ return run.value;
353
+ }
115
354
  //# sourceMappingURL=deployment.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"deployment.js","sourceRoot":"","sources":["../../../../src/operations/mrt/deployment.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deployment.js","sourceRoot":"","sources":["../../../../src/operations/mrt/deployment.ts"],"names":[],"mappings":"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"}
@@ -39,16 +39,18 @@
39
39
  *
40
40
  * @module operations/mrt
41
41
  */
42
- export { createBundle, createGlobFilter, getDefaultMessage, DEFAULT_SSR_PARAMETERS, DEFAULT_SSR_ONLY, DEFAULT_SSR_SHARED, } from './bundle.js';
43
- export type { CreateBundleOptions, Bundle, MrtServerConfig } from './bundle.js';
44
- export { pushBundle, uploadBundle, listBundles, downloadBundle, deleteBundle, bulkDeleteBundles } from './push.js';
45
- export type { PushOptions, PushResult, ListBundlesOptions, ListBundlesResult, DownloadBundleOptions, DownloadBundleResult, DeleteBundleOptions, BulkDeleteBundlesOptions, BulkDeleteBundlesResult, BulkDeleteRejectedBundle, MrtBundle, } from './push.js';
42
+ export { createBundle, createBundleV2, createGlobFilter, getDefaultMessage, DEFAULT_SSR_PARAMETERS, DEFAULT_SSR_ONLY, DEFAULT_SSR_SHARED, DEFAULT_V2_ROOT_DIR, DEFAULT_V2_CONFIG_PATH, DEFAULT_V2_MATCH_MODE, } from './bundle.js';
43
+ export type { CreateBundleOptions, Bundle, MrtServerConfig, CreateBundleV2Options, BundleV2, BundleV2Config, BundleV2Metadata, BundleV2MatchMode, } from './bundle.js';
44
+ export { pushBundle, uploadBundle, pushBundleV2, uploadBundleV2, listBundles, downloadBundle, deleteBundle, bulkDeleteBundles, } from './push.js';
45
+ export type { PushOptions, PushResult, PushV2Options, PushV2Result, ListBundlesOptions, ListBundlesResult, DownloadBundleOptions, DownloadBundleResult, DeleteBundleOptions, BulkDeleteBundlesOptions, BulkDeleteBundlesResult, BulkDeleteRejectedBundle, MrtBundle, } from './push.js';
46
46
  export { listEnvVars, setEnvVar, setEnvVars, deleteEnvVar } from './env-var.js';
47
47
  export type { EnvVarOptions, SetEnvVarOptions, SetEnvVarsOptions, DeleteEnvVarOptions, ListEnvVarsResult, EnvironmentVariable, } from './env-var.js';
48
48
  export { cloneEnv, createEnv, deleteEnv, getEnv, waitForEnv, listEnvs, updateEnv } from './env.js';
49
49
  export type { CloneEnvOptions, CreateEnvOptions, DeleteEnvOptions, GetEnvOptions, WaitForEnvOptions, WaitForEnvPollInfo, ListEnvsOptions, ListEnvsResult, UpdateEnvOptions, MrtEnvironment, MrtEnvironmentState, MrtEnvironmentUpdate, PatchedMrtEnvironment, } from './env.js';
50
- export { listDeployments, createDeployment } from './deployment.js';
51
- export type { ListDeploymentsOptions, ListDeploymentsResult, CreateDeploymentOptions, CreateDeploymentResult, MrtDeployment, MrtDeploymentCreate, } from './deployment.js';
50
+ export { listDeployments, createDeployment, listDeploymentsScapi, createDeploymentScapi, getDeploymentScapi, waitForDeploymentScapi, listMrtDeployments, deployMrtBundle, normalizeLegacyDeployment, normalizeDeploymentScapi, } from './deployment.js';
51
+ export type { ListDeploymentsOptions, ListDeploymentsResult, CreateDeploymentOptions, CreateDeploymentResult, MrtDeployment, MrtDeploymentCreate, MrtDeploymentView, MrtDeploymentsView, MrtDeployResultView, CreateDeploymentScapiResult, DeploymentScapiPollInfo, WaitForDeploymentScapiOptions, ListMrtDeploymentsBackendOptions, DeployMrtBundleBackendOptions, } from './deployment.js';
52
+ export { resolveMrtBackend, runMrtWithFallback, mrtScapiUnavailableMessage } from './mrt-backend.js';
53
+ export type { MrtBackend, MrtBackendPreference, ScapiMrtConnection, MrtBackendBranches, MrtBackendRun, RunMrtWithFallbackOptions, } from './mrt-backend.js';
52
54
  export { listOrganizations } from './organization.js';
53
55
  export type { ListOrganizationsOptions, ListOrganizationsResult, MrtOrganization, OrganizationLimits, } from './organization.js';
54
56
  export { listCertificates, getCertificate, createCertificate, deleteCertificate, restartCertificateValidation, } from './certificate.js';
@@ -45,15 +45,17 @@
45
45
  * @module operations/mrt
46
46
  */
47
47
  // Bundle creation
48
- export { createBundle, createGlobFilter, getDefaultMessage, DEFAULT_SSR_PARAMETERS, DEFAULT_SSR_ONLY, DEFAULT_SSR_SHARED, } from './bundle.js';
48
+ export { createBundle, createBundleV2, createGlobFilter, getDefaultMessage, DEFAULT_SSR_PARAMETERS, DEFAULT_SSR_ONLY, DEFAULT_SSR_SHARED, DEFAULT_V2_ROOT_DIR, DEFAULT_V2_CONFIG_PATH, DEFAULT_V2_MATCH_MODE, } from './bundle.js';
49
49
  // Push and bundle operations
50
- export { pushBundle, uploadBundle, listBundles, downloadBundle, deleteBundle, bulkDeleteBundles } from './push.js';
50
+ export { pushBundle, uploadBundle, pushBundleV2, uploadBundleV2, listBundles, downloadBundle, deleteBundle, bulkDeleteBundles, } from './push.js';
51
51
  // Environment variable operations
52
52
  export { listEnvVars, setEnvVar, setEnvVars, deleteEnvVar } from './env-var.js';
53
53
  // Environment (target) operations
54
54
  export { cloneEnv, createEnv, deleteEnv, getEnv, waitForEnv, listEnvs, updateEnv } from './env.js';
55
55
  // Deployment operations
56
- export { listDeployments, createDeployment } from './deployment.js';
56
+ export { listDeployments, createDeployment, listDeploymentsScapi, createDeploymentScapi, getDeploymentScapi, waitForDeploymentScapi, listMrtDeployments, deployMrtBundle, normalizeLegacyDeployment, normalizeDeploymentScapi, } from './deployment.js';
57
+ // MRT backend selection and fallback
58
+ export { resolveMrtBackend, runMrtWithFallback, mrtScapiUnavailableMessage } from './mrt-backend.js';
57
59
  // Organization operations
58
60
  export { listOrganizations } from './organization.js';
59
61
  // Certificate operations (organization-scoped, used by env clone/create with custom domains)
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/operations/mrt/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,kBAAkB;AAClB,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACtB,gBAAgB,EAChB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAGrB,6BAA6B;AAC7B,OAAO,EAAC,UAAU,EAAE,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,EAAE,iBAAiB,EAAC,MAAM,WAAW,CAAC;AAejH,kCAAkC;AAClC,OAAO,EAAC,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAC,MAAM,cAAc,CAAC;AAU9E,kCAAkC;AAClC,OAAO,EAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAC,MAAM,UAAU,CAAC;AAiBjG,wBAAwB;AACxB,OAAO,EAAC,eAAe,EAAE,gBAAgB,EAAC,MAAM,iBAAiB,CAAC;AAUlE,0BAA0B;AAC1B,OAAO,EAAC,iBAAiB,EAAC,MAAM,mBAAmB,CAAC;AAQpD,6FAA6F;AAC7F,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,4BAA4B,GAC7B,MAAM,kBAAkB,CAAC;AAY1B,iCAAiC;AACjC,OAAO,EACL,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,eAAe,EACf,SAAS,GACV,MAAM,0BAA0B,CAAC;AAelC,qBAAqB;AACrB,OAAO,EAAC,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,aAAa,EAAC,MAAM,cAAc,CAAC;AAcnG,oBAAoB;AACpB,OAAO,EAAC,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAC,MAAM,aAAa,CAAC;AAaxG,0BAA0B;AAC1B,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAa3B,sBAAsB;AACtB,OAAO,EACL,aAAa,EACb,cAAc,EACd,WAAW,EACX,cAAc,EACd,cAAc,EACd,cAAc,GACf,MAAM,eAAe,CAAC;AAevB,mCAAmC;AACnC,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,qBAAqB,CAAC;AAU7B,mBAAmB;AACnB,OAAO,EAAC,eAAe,EAAC,MAAM,YAAY,CAAC;AAG3C,kBAAkB;AAClB,OAAO,EAAC,UAAU,EAAE,WAAW,EAAE,mBAAmB,EAAE,sBAAsB,EAAC,MAAM,WAAW,CAAC;AAU/F,iCAAiC;AACjC,OAAO,EAAC,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,mBAAmB,EAAC,MAAM,iBAAiB,CAAC;AAWvG,yBAAyB;AACzB,OAAO,EAAC,kBAAkB,EAAE,eAAe,EAAE,mBAAmB,EAAE,WAAW,EAAC,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/operations/mrt/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,kBAAkB;AAClB,OAAO,EACL,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACtB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,aAAa,CAAC;AAYrB,6BAA6B;AAC7B,OAAO,EACL,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,WAAW,EACX,cAAc,EACd,YAAY,EACZ,iBAAiB,GAClB,MAAM,WAAW,CAAC;AAiBnB,kCAAkC;AAClC,OAAO,EAAC,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAC,MAAM,cAAc,CAAC;AAU9E,kCAAkC;AAClC,OAAO,EAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAC,MAAM,UAAU,CAAC;AAiBjG,wBAAwB;AACxB,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,EAClB,eAAe,EACf,yBAAyB,EACzB,wBAAwB,GACzB,MAAM,iBAAiB,CAAC;AAkBzB,qCAAqC;AACrC,OAAO,EAAC,iBAAiB,EAAE,kBAAkB,EAAE,0BAA0B,EAAC,MAAM,kBAAkB,CAAC;AAUnG,0BAA0B;AAC1B,OAAO,EAAC,iBAAiB,EAAC,MAAM,mBAAmB,CAAC;AAQpD,6FAA6F;AAC7F,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,4BAA4B,GAC7B,MAAM,kBAAkB,CAAC;AAY1B,iCAAiC;AACjC,OAAO,EACL,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,eAAe,EACf,SAAS,GACV,MAAM,0BAA0B,CAAC;AAelC,qBAAqB;AACrB,OAAO,EAAC,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,aAAa,EAAC,MAAM,cAAc,CAAC;AAcnG,oBAAoB;AACpB,OAAO,EAAC,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAC,MAAM,aAAa,CAAC;AAaxG,0BAA0B;AAC1B,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAa3B,sBAAsB;AACtB,OAAO,EACL,aAAa,EACb,cAAc,EACd,WAAW,EACX,cAAc,EACd,cAAc,EACd,cAAc,GACf,MAAM,eAAe,CAAC;AAevB,mCAAmC;AACnC,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,qBAAqB,CAAC;AAU7B,mBAAmB;AACnB,OAAO,EAAC,eAAe,EAAC,MAAM,YAAY,CAAC;AAG3C,kBAAkB;AAClB,OAAO,EAAC,UAAU,EAAE,WAAW,EAAE,mBAAmB,EAAE,sBAAsB,EAAC,MAAM,WAAW,CAAC;AAU/F,iCAAiC;AACjC,OAAO,EAAC,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,mBAAmB,EAAC,MAAM,iBAAiB,CAAC;AAWvG,yBAAyB;AACzB,OAAO,EAAC,kBAAkB,EAAE,eAAe,EAAE,mBAAmB,EAAE,WAAW,EAAC,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,117 @@
1
+ /**
2
+ * MRT backend selection and legacy↔SCAPI fallback.
3
+ *
4
+ * Managed Runtime has two backends:
5
+ * - **legacy** — the MRT Cloud API (`cloud.mobify.com`), per-user API key.
6
+ * - **scapi** — the SCAPI Storefront APIs (`storefront/<api>/v1`), stateless
7
+ * OAuth (client-credentials or JWT Bearer) with the `sfcc.storefront.*` scopes.
8
+ *
9
+ * This module is the MRT analogue of `clients/scapi-backend-utils.ts`
10
+ * (`resolveScapiOrOcapi`) and `compat/dispatcher.ts`: it resolves a user
11
+ * preference plus config availability into a concrete backend, and runs a
12
+ * SCAPI branch optimistically in `auto` mode with a one-shot, safe fallback to
13
+ * legacy. Unlike the OCAPI dispatcher, MRT resolves once per invocation (the
14
+ * supported surface — list and create — is single-call, and `--wait` pins to
15
+ * whichever backend the create resolved to), so a plain resolve + branch is
16
+ * clearer than the stateful `BackendDispatcher`.
17
+ *
18
+ * @module operations/mrt/mrt-backend
19
+ */
20
+ import type { AuthStrategy } from '../../auth/types.js';
21
+ /** User-facing MRT backend preference (`--mrt-backend` / `MRT_BACKEND` / `mrtBackend`). */
22
+ export type MrtBackendPreference = 'auto' | 'legacy' | 'scapi';
23
+ /** A concrete, resolved MRT backend. */
24
+ export type MrtBackend = 'legacy' | 'scapi';
25
+ /**
26
+ * SCAPI MRT connection bundle: everything a SCAPI MRT operation needs to build a
27
+ * client. The presence of one signals SCAPI eligibility to
28
+ * {@link resolveMrtBackend} / {@link runMrtWithFallback}.
29
+ */
30
+ export interface ScapiMrtConnection {
31
+ /** SCAPI short code, e.g. `kv7kzm78`. */
32
+ shortCode: string;
33
+ /** Tenant identifier, e.g. `zzxy_prd` (the organization ID is derived from it). */
34
+ tenantId: string;
35
+ /**
36
+ * A SCAPI-capable OAuth strategy — client-credentials or JWT Bearer, whether
37
+ * configured directly or reused from a stored `b2c auth client` session.
38
+ */
39
+ auth: AuthStrategy;
40
+ }
41
+ /**
42
+ * Error message for when explicit `--mrt-backend scapi` is requested but the
43
+ * SCAPI MRT prerequisites are missing. Names both reasons the connection can
44
+ * be unavailable — missing coordinates OR an auth flow SCAPI Admin does not
45
+ * accept. Unlike the OCAPI {@link scapiUnavailableMessage}, MRT resolves auth
46
+ * through the shared `getOAuthStrategy()` path, so a stored `b2c auth client`
47
+ * session counts as a supported flow here.
48
+ */
49
+ export declare function mrtScapiUnavailableMessage(): string;
50
+ /**
51
+ * Resolves a preference plus SCAPI availability into a concrete backend.
52
+ *
53
+ * - `legacy` → always `legacy`.
54
+ * - `scapi` → `scapi`, throwing {@link mrtScapiUnavailableMessage} if the SCAPI
55
+ * connection is missing (fail loud; never silently use legacy).
56
+ * - `auto` → `scapi` when a connection is available, otherwise `legacy`.
57
+ */
58
+ export declare function resolveMrtBackend(opts: {
59
+ preference: MrtBackendPreference;
60
+ hasScapiConfig: boolean;
61
+ }): MrtBackend;
62
+ /** One async branch per backend, run by {@link runMrtWithFallback}. */
63
+ export interface MrtBackendBranches<T> {
64
+ scapi: () => Promise<T>;
65
+ legacy: () => Promise<T>;
66
+ }
67
+ /** Options controlling {@link runMrtWithFallback}. */
68
+ export interface RunMrtWithFallbackOptions {
69
+ /** Resolved user preference. */
70
+ preference: MrtBackendPreference;
71
+ /** True iff a {@link ScapiMrtConnection} is available. */
72
+ hasScapiConfig: boolean;
73
+ /**
74
+ * Whether a legacy fallback target actually exists (i.e. legacy credentials
75
+ * are configured). When `auto` would otherwise fall back but this is `false`,
76
+ * the original SCAPI error is rethrown instead of running the legacy branch —
77
+ * which would throw a misleading "provide an API key" error and bury the real
78
+ * SCAPI failure (e.g. a missing scope) that the user needs to fix. Defaults to
79
+ * `true`.
80
+ */
81
+ canFallbackToLegacy?: boolean;
82
+ /**
83
+ * Invoked once when `auto` mode falls back from SCAPI to legacy, with the
84
+ * SCAPI rejection reason. Use to warn the user.
85
+ */
86
+ onFallback?: (reason: string) => void;
87
+ /**
88
+ * Invoked with the backend that will actually serve the call — before the
89
+ * SCAPI attempt, and again with `'legacy'` if `auto` falls back. Use for
90
+ * `-D`/debug output.
91
+ */
92
+ onResolve?: (backend: MrtBackend) => void;
93
+ }
94
+ /** The backend that served a call and its result. */
95
+ export interface MrtBackendRun<T> {
96
+ /** Backend that actually produced {@link value} (post-fallback in `auto`). */
97
+ backend: MrtBackend;
98
+ value: T;
99
+ }
100
+ /**
101
+ * Resolves the backend and runs the matching branch.
102
+ *
103
+ * - `legacy` (explicit or `auto` with no SCAPI config): runs the legacy branch.
104
+ * - `scapi` (explicit): runs the SCAPI branch with **no** fallback — every
105
+ * error surfaces, including 409 Conflict.
106
+ * - `auto` with a SCAPI connection: runs SCAPI optimistically; on a
107
+ * {@link isFallbackTrigger safe} rejection (a definite pre-execution client
108
+ * error or `invalid_scope`) it warns and retries on legacy — but only when a
109
+ * legacy target exists ({@link RunMrtWithFallbackOptions.canFallbackToLegacy}).
110
+ * With no legacy credentials, the original SCAPI error is rethrown so the user
111
+ * sees the real failure rather than a "provide an API key" message. Ambiguous
112
+ * failures (429, 5xx, network) and 409 Conflict never fall back — a mutating
113
+ * deploy must not cross backends after the request may have reached SCAPI.
114
+ *
115
+ * @returns the backend that served the call and its result.
116
+ */
117
+ export declare function runMrtWithFallback<T>(options: RunMrtWithFallbackOptions, branches: MrtBackendBranches<T>): Promise<MrtBackendRun<T>>;
@@ -0,0 +1,84 @@
1
+ import { isFallbackTrigger, resolvePreferredBackend, SCAPI_CAPABILITY_BASELINE_RELEASE, } from '../../clients/scapi-backend-utils.js';
2
+ import { getLogger } from '../../logging/logger.js';
3
+ /**
4
+ * Error message for when explicit `--mrt-backend scapi` is requested but the
5
+ * SCAPI MRT prerequisites are missing. Names both reasons the connection can
6
+ * be unavailable — missing coordinates OR an auth flow SCAPI Admin does not
7
+ * accept. Unlike the OCAPI {@link scapiUnavailableMessage}, MRT resolves auth
8
+ * through the shared `getOAuthStrategy()` path, so a stored `b2c auth client`
9
+ * session counts as a supported flow here.
10
+ */
11
+ export function mrtScapiUnavailableMessage() {
12
+ return (`The SCAPI MRT backend requires shortCode, tenantId, and an OAuth flow SCAPI Admin accepts ` +
13
+ `that can request the sfcc.storefront.* scopes — client-credentials or JWT Bearer, configured ` +
14
+ `directly (--client-id/--client-secret or JWT) or as a stored \`b2c auth client\` session. ` +
15
+ `Browser user auth (Authorization Code + PKCE or the deprecated implicit flow) is not supported ` +
16
+ `for SCAPI Admin as of B2C Commerce release ${SCAPI_CAPABILITY_BASELINE_RELEASE}. ` +
17
+ `Provide --short-code and --tenant-id with a supported flow, or use --mrt-backend legacy ` +
18
+ `(per-user API key via --api-key / ~/.mobify).`);
19
+ }
20
+ /**
21
+ * Resolves a preference plus SCAPI availability into a concrete backend.
22
+ *
23
+ * - `legacy` → always `legacy`.
24
+ * - `scapi` → `scapi`, throwing {@link mrtScapiUnavailableMessage} if the SCAPI
25
+ * connection is missing (fail loud; never silently use legacy).
26
+ * - `auto` → `scapi` when a connection is available, otherwise `legacy`.
27
+ */
28
+ export function resolveMrtBackend(opts) {
29
+ const { preference, hasScapiConfig } = opts;
30
+ return resolvePreferredBackend({
31
+ preference,
32
+ primary: 'legacy',
33
+ hasScapiConfig,
34
+ unavailableMessage: mrtScapiUnavailableMessage,
35
+ });
36
+ }
37
+ /**
38
+ * Resolves the backend and runs the matching branch.
39
+ *
40
+ * - `legacy` (explicit or `auto` with no SCAPI config): runs the legacy branch.
41
+ * - `scapi` (explicit): runs the SCAPI branch with **no** fallback — every
42
+ * error surfaces, including 409 Conflict.
43
+ * - `auto` with a SCAPI connection: runs SCAPI optimistically; on a
44
+ * {@link isFallbackTrigger safe} rejection (a definite pre-execution client
45
+ * error or `invalid_scope`) it warns and retries on legacy — but only when a
46
+ * legacy target exists ({@link RunMrtWithFallbackOptions.canFallbackToLegacy}).
47
+ * With no legacy credentials, the original SCAPI error is rethrown so the user
48
+ * sees the real failure rather than a "provide an API key" message. Ambiguous
49
+ * failures (429, 5xx, network) and 409 Conflict never fall back — a mutating
50
+ * deploy must not cross backends after the request may have reached SCAPI.
51
+ *
52
+ * @returns the backend that served the call and its result.
53
+ */
54
+ export async function runMrtWithFallback(options, branches) {
55
+ const { preference, hasScapiConfig, canFallbackToLegacy = true, onFallback, onResolve } = options;
56
+ const backend = resolveMrtBackend({ preference, hasScapiConfig });
57
+ if (backend === 'legacy') {
58
+ onResolve?.('legacy');
59
+ return { backend: 'legacy', value: await branches.legacy() };
60
+ }
61
+ onResolve?.('scapi');
62
+ // Explicit SCAPI: no fallback, surface all errors.
63
+ if (preference === 'scapi') {
64
+ return { backend: 'scapi', value: await branches.scapi() };
65
+ }
66
+ // auto + SCAPI available: optimistic SCAPI with a one-shot safe fallback.
67
+ try {
68
+ return { backend: 'scapi', value: await branches.scapi() };
69
+ }
70
+ catch (error) {
71
+ // Rethrow the real SCAPI error on ambiguous/non-safe failures, or when
72
+ // there is no legacy target to fall back to (falling back would only
73
+ // surface a misleading "provide an API key" error).
74
+ if (!isFallbackTrigger(error) || !canFallbackToLegacy) {
75
+ throw error;
76
+ }
77
+ const reason = error instanceof Error ? error.message : String(error);
78
+ getLogger().warn({ reason }, '[MRT] SCAPI backend rejected the request; falling back to legacy MRT');
79
+ onFallback?.(reason);
80
+ onResolve?.('legacy');
81
+ return { backend: 'legacy', value: await branches.legacy() };
82
+ }
83
+ }
84
+ //# sourceMappingURL=mrt-backend.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mrt-backend.js","sourceRoot":"","sources":["../../../../src/operations/mrt/mrt-backend.ts"],"names":[],"mappings":"AAyBA,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,iCAAiC,GAClC,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAC,SAAS,EAAC,MAAM,yBAAyB,CAAC;AAyBlD;;;;;;;GAOG;AACH,MAAM,UAAU,0BAA0B;IACxC,OAAO,CACL,4FAA4F;QAC5F,+FAA+F;QAC/F,4FAA4F;QAC5F,iGAAiG;QACjG,8CAA8C,iCAAiC,IAAI;QACnF,0FAA0F;QAC1F,+CAA+C,CAChD,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAiE;IACjG,MAAM,EAAC,UAAU,EAAE,cAAc,EAAC,GAAG,IAAI,CAAC;IAC1C,OAAO,uBAAuB,CAAC;QAC7B,UAAU;QACV,OAAO,EAAE,QAAQ;QACjB,cAAc;QACd,kBAAkB,EAAE,0BAA0B;KAC/C,CAAC,CAAC;AACL,CAAC;AA2CD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAAkC,EAClC,QAA+B;IAE/B,MAAM,EAAC,UAAU,EAAE,cAAc,EAAE,mBAAmB,GAAG,IAAI,EAAE,UAAU,EAAE,SAAS,EAAC,GAAG,OAAO,CAAC;IAChG,MAAM,OAAO,GAAG,iBAAiB,CAAC,EAAC,UAAU,EAAE,cAAc,EAAC,CAAC,CAAC;IAEhE,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzB,SAAS,EAAE,CAAC,QAAQ,CAAC,CAAC;QACtB,OAAO,EAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC,MAAM,EAAE,EAAC,CAAC;IAC7D,CAAC;IAED,SAAS,EAAE,CAAC,OAAO,CAAC,CAAC;IAErB,mDAAmD;IACnD,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;QAC3B,OAAO,EAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC,KAAK,EAAE,EAAC,CAAC;IAC3D,CAAC;IAED,0EAA0E;IAC1E,IAAI,CAAC;QACH,OAAO,EAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC,KAAK,EAAE,EAAC,CAAC;IAC3D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,uEAAuE;QACvE,qEAAqE;QACrE,oDAAoD;QACpD,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACtD,MAAM,KAAK,CAAC;QACd,CAAC;QACD,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACtE,SAAS,EAAE,CAAC,IAAI,CAAC,EAAC,MAAM,EAAC,EAAE,sEAAsE,CAAC,CAAC;QACnG,UAAU,EAAE,CAAC,MAAM,CAAC,CAAC;QACrB,SAAS,EAAE,CAAC,QAAQ,CAAC,CAAC;QACtB,OAAO,EAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC,MAAM,EAAE,EAAC,CAAC;IAC7D,CAAC;AACH,CAAC"}
@@ -7,7 +7,7 @@
7
7
  */
8
8
  import type { AuthStrategy } from '../../auth/types.js';
9
9
  import type { MrtClient, components } from '../../clients/mrt.js';
10
- import type { CreateBundleOptions, Bundle } from './bundle.js';
10
+ import type { CreateBundleOptions, Bundle, BundleV2, CreateBundleV2Options } from './bundle.js';
11
11
  /**
12
12
  * Options for pushing a bundle to MRT.
13
13
  */
@@ -99,6 +99,88 @@ export declare function pushBundle(options: PushOptions, auth: AuthStrategy): Pr
99
99
  * @returns Result of the upload
100
100
  */
101
101
  export declare function uploadBundle(client: MrtClient, projectSlug: string, bundle: Bundle, target?: string): Promise<PushResult>;
102
+ /**
103
+ * Options for pushing a v2-format bundle to MRT.
104
+ */
105
+ export interface PushV2Options extends CreateBundleV2Options {
106
+ /**
107
+ * The project slug to upload to.
108
+ */
109
+ projectSlug: string;
110
+ /**
111
+ * MRT API origin URL.
112
+ * @default "https://cloud.mobify.com"
113
+ */
114
+ origin?: string;
115
+ }
116
+ /**
117
+ * Result of a v2 push (upload) operation.
118
+ */
119
+ export interface PushV2Result {
120
+ /**
121
+ * The bundle ID assigned by MRT.
122
+ */
123
+ bundleId: number;
124
+ /**
125
+ * The project slug the bundle was uploaded to.
126
+ */
127
+ projectSlug: string;
128
+ /**
129
+ * The bundle message.
130
+ */
131
+ message: string;
132
+ /**
133
+ * Non-blocking warnings returned by MRT (e.g. deprecated runtime).
134
+ */
135
+ warnings: string[];
136
+ /**
137
+ * Server-computed ssrOnly/ssrShared file matches.
138
+ */
139
+ matches: Record<string, unknown>;
140
+ }
141
+ /**
142
+ * Builds a v2-format archive from a build directory and uploads it to MRT.
143
+ *
144
+ * This is upload-only: it does not deploy the bundle. Deploy separately with
145
+ * {@link createDeployment} (or the `b2c mrt bundle deploy <bundleId>` command).
146
+ *
147
+ * @param options - v2 push configuration options
148
+ * @param auth - Authentication strategy (ApiKeyStrategy)
149
+ * @returns Result of the upload operation
150
+ * @throws Error if the upload fails
151
+ *
152
+ * @example
153
+ * ```typescript
154
+ * import { ApiKeyStrategy } from '@salesforce/b2c-tooling-sdk/auth';
155
+ * import { pushBundleV2 } from '@salesforce/b2c-tooling-sdk/operations/mrt';
156
+ *
157
+ * const auth = new ApiKeyStrategy(process.env.MRT_API_KEY!, 'Authorization');
158
+ *
159
+ * const result = await pushBundleV2({
160
+ * projectSlug: 'my-storefront',
161
+ * ssrOnly: ['ssr.js'],
162
+ * ssrShared: ['static/**\/*'],
163
+ * buildDirectory: './build',
164
+ * message: 'Release v1.0.0'
165
+ * }, auth);
166
+ *
167
+ * console.log(`Bundle ${result.bundleId} uploaded to ${result.projectSlug}`);
168
+ * ```
169
+ */
170
+ export declare function pushBundleV2(options: PushV2Options, auth: AuthStrategy): Promise<PushV2Result>;
171
+ /**
172
+ * Uploads a pre-built v2 bundle archive to MRT as multipart/form-data.
173
+ *
174
+ * Use this if you've already built a v2 bundle with {@link createBundleV2} and
175
+ * want to upload it separately.
176
+ *
177
+ * @param client - MRT client instance
178
+ * @param projectSlug - Project to upload to
179
+ * @param bundle - v2 bundle to upload
180
+ * @returns Result of the upload
181
+ * @throws Error if the upload fails or the response omits a bundle id
182
+ */
183
+ export declare function uploadBundleV2(client: MrtClient, projectSlug: string, bundle: BundleV2): Promise<PushV2Result>;
102
184
  /**
103
185
  * Bundle list item from API.
104
186
  */