@salesforce/b2c-tooling-sdk 1.24.2 → 2.1.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 (482) 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 +83 -119
  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 +10 -1
  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 +154 -9
  55. package/dist/esm/cli/mrt-command.js +299 -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 +2 -0
  61. package/dist/esm/cli/webdav-command.js +1 -0
  62. package/dist/esm/cli/webdav-command.js.map +1 -1
  63. package/dist/esm/clients/cdn-zones.js +2 -5
  64. package/dist/esm/clients/cdn-zones.js.map +1 -1
  65. package/dist/esm/clients/cip.d.ts +12 -3
  66. package/dist/esm/clients/cip.js +85 -30
  67. package/dist/esm/clients/cip.js.map +1 -1
  68. package/dist/esm/clients/custom-apis.js +2 -5
  69. package/dist/esm/clients/custom-apis.js.map +1 -1
  70. package/dist/esm/clients/dual-backend-factory.d.ts +70 -0
  71. package/dist/esm/clients/dual-backend-factory.js +48 -0
  72. package/dist/esm/clients/dual-backend-factory.js.map +1 -0
  73. package/dist/esm/clients/error-utils.d.ts +62 -0
  74. package/dist/esm/clients/error-utils.js +98 -0
  75. package/dist/esm/clients/error-utils.js.map +1 -1
  76. package/dist/esm/clients/granular-replications.js +2 -5
  77. package/dist/esm/clients/granular-replications.js.map +1 -1
  78. package/dist/esm/clients/index.d.ts +30 -3
  79. package/dist/esm/clients/index.js +25 -2
  80. package/dist/esm/clients/index.js.map +1 -1
  81. package/dist/esm/clients/metrics.js +2 -5
  82. package/dist/esm/clients/metrics.js.map +1 -1
  83. package/dist/esm/clients/middleware-registry.d.ts +4 -2
  84. package/dist/esm/clients/middleware-registry.js +3 -1
  85. package/dist/esm/clients/middleware-registry.js.map +1 -1
  86. package/dist/esm/clients/middleware.d.ts +39 -0
  87. package/dist/esm/clients/middleware.js +126 -25
  88. package/dist/esm/clients/middleware.js.map +1 -1
  89. package/dist/esm/clients/mrt-b2c.js +3 -0
  90. package/dist/esm/clients/mrt-b2c.js.map +1 -1
  91. package/dist/esm/clients/mrt.d.ts +27 -10
  92. package/dist/esm/clients/mrt.generated.d.ts +77 -0
  93. package/dist/esm/clients/mrt.js +68 -0
  94. package/dist/esm/clients/mrt.js.map +1 -1
  95. package/dist/esm/clients/preferences.js +2 -5
  96. package/dist/esm/clients/preferences.js.map +1 -1
  97. package/dist/esm/clients/scapi-backend-utils.d.ts +163 -0
  98. package/dist/esm/clients/scapi-backend-utils.js +180 -0
  99. package/dist/esm/clients/scapi-backend-utils.js.map +1 -0
  100. package/dist/esm/clients/scapi-catalogs.d.ts +12 -0
  101. package/dist/esm/clients/scapi-catalogs.generated.d.ts +104 -0
  102. package/dist/esm/clients/scapi-catalogs.generated.js +6 -0
  103. package/dist/esm/clients/scapi-catalogs.generated.js.map +1 -0
  104. package/dist/esm/clients/scapi-catalogs.js +14 -0
  105. package/dist/esm/clients/scapi-catalogs.js.map +1 -0
  106. package/dist/esm/clients/scapi-client-factory.d.ts +81 -0
  107. package/dist/esm/clients/scapi-client-factory.js +84 -0
  108. package/dist/esm/clients/scapi-client-factory.js.map +1 -0
  109. package/dist/esm/clients/scapi-fallback-backend.d.ts +34 -0
  110. package/dist/esm/clients/scapi-fallback-backend.js +132 -0
  111. package/dist/esm/clients/scapi-fallback-backend.js.map +1 -0
  112. package/dist/esm/clients/scapi-jobs.d.ts +32 -0
  113. package/dist/esm/clients/scapi-jobs.generated.d.ts +535 -0
  114. package/dist/esm/clients/scapi-jobs.generated.js +6 -0
  115. package/dist/esm/clients/scapi-jobs.generated.js.map +1 -0
  116. package/dist/esm/clients/scapi-jobs.js +24 -0
  117. package/dist/esm/clients/scapi-jobs.js.map +1 -0
  118. package/dist/esm/clients/scapi-merchant-roles.d.ts +19 -0
  119. package/dist/esm/clients/scapi-merchant-roles.generated.d.ts +726 -0
  120. package/dist/esm/clients/scapi-merchant-roles.generated.js +6 -0
  121. package/dist/esm/clients/scapi-merchant-roles.generated.js.map +1 -0
  122. package/dist/esm/clients/scapi-merchant-roles.js +12 -0
  123. package/dist/esm/clients/scapi-merchant-roles.js.map +1 -0
  124. package/dist/esm/clients/scapi-merchant-users.d.ts +19 -0
  125. package/dist/esm/clients/scapi-merchant-users.generated.d.ts +300 -0
  126. package/dist/esm/clients/scapi-merchant-users.generated.js +6 -0
  127. package/dist/esm/clients/scapi-merchant-users.generated.js.map +1 -0
  128. package/dist/esm/clients/scapi-merchant-users.js +12 -0
  129. package/dist/esm/clients/scapi-merchant-users.js.map +1 -0
  130. package/dist/esm/clients/scapi-schemas.js +2 -5
  131. package/dist/esm/clients/scapi-schemas.js.map +1 -1
  132. package/dist/esm/clients/scapi-scope-tier.d.ts +78 -0
  133. package/dist/esm/clients/scapi-scope-tier.js +113 -0
  134. package/dist/esm/clients/scapi-scope-tier.js.map +1 -0
  135. package/dist/esm/clients/scapi-scripts.d.ts +17 -0
  136. package/dist/esm/clients/scapi-scripts.generated.d.ts +392 -0
  137. package/dist/esm/clients/scapi-scripts.generated.js +6 -0
  138. package/dist/esm/clients/scapi-scripts.generated.js.map +1 -0
  139. package/dist/esm/clients/scapi-scripts.js +12 -0
  140. package/dist/esm/clients/scapi-scripts.js.map +1 -0
  141. package/dist/esm/clients/scapi-sites.d.ts +26 -0
  142. package/dist/esm/clients/scapi-sites.generated.d.ts +500 -0
  143. package/dist/esm/clients/scapi-sites.generated.js +6 -0
  144. package/dist/esm/clients/scapi-sites.generated.js.map +1 -0
  145. package/dist/esm/clients/scapi-sites.js +25 -0
  146. package/dist/esm/clients/scapi-sites.js.map +1 -0
  147. package/dist/esm/clients/slas-shopper.d.ts +19 -0
  148. package/dist/esm/clients/slas-shopper.generated.d.ts +165 -0
  149. package/dist/esm/clients/slas-shopper.generated.js +6 -0
  150. package/dist/esm/clients/slas-shopper.generated.js.map +1 -0
  151. package/dist/esm/clients/slas-shopper.js +35 -0
  152. package/dist/esm/clients/slas-shopper.js.map +1 -0
  153. package/dist/esm/clients/storefront-deployments.d.ts +57 -0
  154. package/dist/esm/clients/storefront-deployments.generated.d.ts +558 -0
  155. package/dist/esm/clients/storefront-deployments.generated.js +6 -0
  156. package/dist/esm/clients/storefront-deployments.generated.js.map +1 -0
  157. package/dist/esm/clients/storefront-deployments.js +24 -0
  158. package/dist/esm/clients/storefront-deployments.js.map +1 -0
  159. package/dist/esm/clients/storefront-environments.d.ts +56 -0
  160. package/dist/esm/clients/storefront-environments.generated.d.ts +208 -0
  161. package/dist/esm/clients/storefront-environments.generated.js +6 -0
  162. package/dist/esm/clients/storefront-environments.generated.js.map +1 -0
  163. package/dist/esm/clients/storefront-environments.js +24 -0
  164. package/dist/esm/clients/storefront-environments.js.map +1 -0
  165. package/dist/esm/clients/webdav.js +4 -1
  166. package/dist/esm/clients/webdav.js.map +1 -1
  167. package/dist/esm/compat/dispatcher.d.ts +49 -0
  168. package/dist/esm/compat/dispatcher.js +124 -0
  169. package/dist/esm/compat/dispatcher.js.map +1 -0
  170. package/dist/esm/compat/index.d.ts +10 -0
  171. package/dist/esm/compat/index.js +15 -0
  172. package/dist/esm/compat/index.js.map +1 -0
  173. package/dist/esm/compat/jobs-backend.d.ts +31 -0
  174. package/dist/esm/compat/jobs-backend.js +76 -0
  175. package/dist/esm/compat/jobs-backend.js.map +1 -0
  176. package/dist/esm/config/dw-json.d.ts +4 -0
  177. package/dist/esm/config/dw-json.js.map +1 -1
  178. package/dist/esm/config/index.d.ts +1 -1
  179. package/dist/esm/config/index.js.map +1 -1
  180. package/dist/esm/config/mapping.d.ts +2 -5
  181. package/dist/esm/config/mapping.js +25 -1
  182. package/dist/esm/config/mapping.js.map +1 -1
  183. package/dist/esm/config/resolved-config.d.ts +2 -2
  184. package/dist/esm/config/resolved-config.js.map +1 -1
  185. package/dist/esm/config/resolver.js +12 -0
  186. package/dist/esm/config/resolver.js.map +1 -1
  187. package/dist/esm/config/sources/env-source.d.ts +10 -1
  188. package/dist/esm/config/sources/env-source.js +46 -1
  189. package/dist/esm/config/sources/env-source.js.map +1 -1
  190. package/dist/esm/config/types.d.ts +22 -3
  191. package/dist/esm/docs/search.js +2 -25
  192. package/dist/esm/docs/search.js.map +1 -1
  193. package/dist/esm/guidance/catalog.d.ts +37 -0
  194. package/dist/esm/guidance/catalog.js +282 -0
  195. package/dist/esm/guidance/catalog.js.map +1 -0
  196. package/dist/esm/guidance/index.d.ts +8 -0
  197. package/dist/esm/guidance/index.js +14 -0
  198. package/dist/esm/guidance/index.js.map +1 -0
  199. package/dist/esm/guidance/markdown.d.ts +10 -0
  200. package/dist/esm/guidance/markdown.js +52 -0
  201. package/dist/esm/guidance/markdown.js.map +1 -0
  202. package/dist/esm/guidance/types.d.ts +96 -0
  203. package/dist/esm/guidance/types.js +17 -0
  204. package/dist/esm/guidance/types.js.map +1 -0
  205. package/dist/esm/index.d.ts +14 -5
  206. package/dist/esm/index.js +14 -2
  207. package/dist/esm/index.js.map +1 -1
  208. package/dist/esm/instance/index.d.ts +96 -2
  209. package/dist/esm/instance/index.js +98 -5
  210. package/dist/esm/instance/index.js.map +1 -1
  211. package/dist/esm/operations/bm-roles/backend.d.ts +4 -0
  212. package/dist/esm/operations/bm-roles/backend.js +11 -0
  213. package/dist/esm/operations/bm-roles/backend.js.map +1 -0
  214. package/dist/esm/operations/bm-roles/index.d.ts +6 -0
  215. package/dist/esm/operations/bm-roles/index.js +4 -0
  216. package/dist/esm/operations/bm-roles/index.js.map +1 -1
  217. package/dist/esm/operations/bm-roles/ocapi-backend.d.ts +17 -0
  218. package/dist/esm/operations/bm-roles/ocapi-backend.js +151 -0
  219. package/dist/esm/operations/bm-roles/ocapi-backend.js.map +1 -0
  220. package/dist/esm/operations/bm-roles/roles.js +13 -17
  221. package/dist/esm/operations/bm-roles/roles.js.map +1 -1
  222. package/dist/esm/operations/bm-roles/scapi-backend.d.ts +27 -0
  223. package/dist/esm/operations/bm-roles/scapi-backend.js +138 -0
  224. package/dist/esm/operations/bm-roles/scapi-backend.js.map +1 -0
  225. package/dist/esm/operations/bm-roles/types.d.ts +49 -0
  226. package/dist/esm/operations/bm-roles/types.js +2 -0
  227. package/dist/esm/operations/bm-roles/types.js.map +1 -0
  228. package/dist/esm/operations/bm-users/backend.d.ts +4 -0
  229. package/dist/esm/operations/bm-users/backend.js +11 -0
  230. package/dist/esm/operations/bm-users/backend.js.map +1 -0
  231. package/dist/esm/operations/bm-users/index.d.ts +11 -3
  232. package/dist/esm/operations/bm-users/index.js +9 -3
  233. package/dist/esm/operations/bm-users/index.js.map +1 -1
  234. package/dist/esm/operations/bm-users/ocapi-backend.d.ts +13 -0
  235. package/dist/esm/operations/bm-users/ocapi-backend.js +92 -0
  236. package/dist/esm/operations/bm-users/ocapi-backend.js.map +1 -0
  237. package/dist/esm/operations/bm-users/scapi-backend.d.ts +23 -0
  238. package/dist/esm/operations/bm-users/scapi-backend.js +199 -0
  239. package/dist/esm/operations/bm-users/scapi-backend.js.map +1 -0
  240. package/dist/esm/operations/bm-users/types.d.ts +99 -0
  241. package/dist/esm/operations/bm-users/types.js +2 -0
  242. package/dist/esm/operations/bm-users/types.js.map +1 -0
  243. package/dist/esm/operations/bm-users/users.d.ts +4 -3
  244. package/dist/esm/operations/bm-users/users.js +23 -19
  245. package/dist/esm/operations/bm-users/users.js.map +1 -1
  246. package/dist/esm/operations/cap/install.js +23 -45
  247. package/dist/esm/operations/cap/install.js.map +1 -1
  248. package/dist/esm/operations/cap/list.js +4 -8
  249. package/dist/esm/operations/cap/list.js.map +1 -1
  250. package/dist/esm/operations/cap/uninstall.js +17 -37
  251. package/dist/esm/operations/cap/uninstall.js.map +1 -1
  252. package/dist/esm/operations/catalogs/catalogs-backend.d.ts +4 -0
  253. package/dist/esm/operations/catalogs/catalogs-backend.js +16 -0
  254. package/dist/esm/operations/catalogs/catalogs-backend.js.map +1 -0
  255. package/dist/esm/operations/catalogs/catalogs-types.d.ts +14 -0
  256. package/dist/esm/operations/catalogs/catalogs-types.js +2 -0
  257. package/dist/esm/operations/catalogs/catalogs-types.js.map +1 -0
  258. package/dist/esm/operations/catalogs/index.d.ts +7 -0
  259. package/dist/esm/operations/catalogs/index.js +10 -0
  260. package/dist/esm/operations/catalogs/index.js.map +1 -0
  261. package/dist/esm/operations/catalogs/ocapi-catalogs-backend.d.ts +8 -0
  262. package/dist/esm/operations/catalogs/ocapi-catalogs-backend.js +36 -0
  263. package/dist/esm/operations/catalogs/ocapi-catalogs-backend.js.map +1 -0
  264. package/dist/esm/operations/catalogs/scapi-catalogs-backend.d.ts +15 -0
  265. package/dist/esm/operations/catalogs/scapi-catalogs-backend.js +42 -0
  266. package/dist/esm/operations/catalogs/scapi-catalogs-backend.js.map +1 -0
  267. package/dist/esm/operations/cip/index.js +10 -2
  268. package/dist/esm/operations/cip/index.js.map +1 -1
  269. package/dist/esm/operations/cip/reports.js +19 -3
  270. package/dist/esm/operations/cip/reports.js.map +1 -1
  271. package/dist/esm/operations/cip/types.d.ts +8 -4
  272. package/dist/esm/operations/code/deploy.d.ts +3 -0
  273. package/dist/esm/operations/code/deploy.js +9 -3
  274. package/dist/esm/operations/code/deploy.js.map +1 -1
  275. package/dist/esm/operations/code/download.d.ts +3 -0
  276. package/dist/esm/operations/code/download.js +5 -5
  277. package/dist/esm/operations/code/download.js.map +1 -1
  278. package/dist/esm/operations/code/index.d.ts +7 -1
  279. package/dist/esm/operations/code/index.js +5 -1
  280. package/dist/esm/operations/code/index.js.map +1 -1
  281. package/dist/esm/operations/code/ocapi-scripts-backend.d.ts +12 -0
  282. package/dist/esm/operations/code/ocapi-scripts-backend.js +40 -0
  283. package/dist/esm/operations/code/ocapi-scripts-backend.js.map +1 -0
  284. package/dist/esm/operations/code/scapi-scripts-backend.d.ts +22 -0
  285. package/dist/esm/operations/code/scapi-scripts-backend.js +94 -0
  286. package/dist/esm/operations/code/scapi-scripts-backend.js.map +1 -0
  287. package/dist/esm/operations/code/scripts-backend.d.ts +17 -0
  288. package/dist/esm/operations/code/scripts-backend.js +40 -0
  289. package/dist/esm/operations/code/scripts-backend.js.map +1 -0
  290. package/dist/esm/operations/code/scripts-types.d.ts +43 -0
  291. package/dist/esm/operations/code/scripts-types.js +2 -0
  292. package/dist/esm/operations/code/scripts-types.js.map +1 -0
  293. package/dist/esm/operations/code/upload-files.d.ts +6 -0
  294. package/dist/esm/operations/code/upload-files.js +58 -7
  295. package/dist/esm/operations/code/upload-files.js.map +1 -1
  296. package/dist/esm/operations/code/versions.d.ts +0 -20
  297. package/dist/esm/operations/code/versions.js +16 -51
  298. package/dist/esm/operations/code/versions.js.map +1 -1
  299. package/dist/esm/operations/code/watch.d.ts +3 -0
  300. package/dist/esm/operations/code/watch.js +3 -2
  301. package/dist/esm/operations/code/watch.js.map +1 -1
  302. package/dist/esm/operations/jobs/discover.d.ts +1 -1
  303. package/dist/esm/operations/jobs/discover.js +51 -21
  304. package/dist/esm/operations/jobs/discover.js.map +1 -1
  305. package/dist/esm/operations/jobs/index.d.ts +14 -57
  306. package/dist/esm/operations/jobs/index.js +15 -59
  307. package/dist/esm/operations/jobs/index.js.map +1 -1
  308. package/dist/esm/operations/jobs/ocapi-mapping.d.ts +34 -0
  309. package/dist/esm/operations/jobs/ocapi-mapping.js +100 -0
  310. package/dist/esm/operations/jobs/ocapi-mapping.js.map +1 -0
  311. package/dist/esm/operations/jobs/run-system-job.d.ts +81 -0
  312. package/dist/esm/operations/jobs/run-system-job.js +137 -0
  313. package/dist/esm/operations/jobs/run-system-job.js.map +1 -0
  314. package/dist/esm/operations/jobs/run.js +16 -4
  315. package/dist/esm/operations/jobs/run.js.map +1 -1
  316. package/dist/esm/operations/jobs/scapi-ops.d.ts +61 -0
  317. package/dist/esm/operations/jobs/scapi-ops.js +214 -0
  318. package/dist/esm/operations/jobs/scapi-ops.js.map +1 -0
  319. package/dist/esm/operations/jobs/site-archive.d.ts +7 -0
  320. package/dist/esm/operations/jobs/site-archive.js +28 -66
  321. package/dist/esm/operations/jobs/site-archive.js.map +1 -1
  322. package/dist/esm/operations/jobs/types.d.ts +46 -0
  323. package/dist/esm/operations/jobs/types.js +2 -0
  324. package/dist/esm/operations/jobs/types.js.map +1 -0
  325. package/dist/esm/operations/jobs/wait-canonical.d.ts +28 -0
  326. package/dist/esm/operations/jobs/wait-canonical.js +48 -0
  327. package/dist/esm/operations/jobs/wait-canonical.js.map +1 -0
  328. package/dist/esm/operations/mrt/bundle.d.ts +164 -2
  329. package/dist/esm/operations/mrt/bundle.js +315 -9
  330. package/dist/esm/operations/mrt/bundle.js.map +1 -1
  331. package/dist/esm/operations/mrt/deployment.d.ts +248 -0
  332. package/dist/esm/operations/mrt/deployment.js +252 -0
  333. package/dist/esm/operations/mrt/deployment.js.map +1 -1
  334. package/dist/esm/operations/mrt/env-var.d.ts +135 -0
  335. package/dist/esm/operations/mrt/env-var.js +203 -0
  336. package/dist/esm/operations/mrt/env-var.js.map +1 -1
  337. package/dist/esm/operations/mrt/index.d.ts +10 -8
  338. package/dist/esm/operations/mrt/index.js +6 -4
  339. package/dist/esm/operations/mrt/index.js.map +1 -1
  340. package/dist/esm/operations/mrt/mrt-backend.d.ts +117 -0
  341. package/dist/esm/operations/mrt/mrt-backend.js +84 -0
  342. package/dist/esm/operations/mrt/mrt-backend.js.map +1 -0
  343. package/dist/esm/operations/mrt/push.d.ts +285 -1
  344. package/dist/esm/operations/mrt/push.js +382 -1
  345. package/dist/esm/operations/mrt/push.js.map +1 -1
  346. package/dist/esm/operations/sites/cartridges.d.ts +10 -8
  347. package/dist/esm/operations/sites/cartridges.js +35 -67
  348. package/dist/esm/operations/sites/cartridges.js.map +1 -1
  349. package/dist/esm/operations/sites/index.d.ts +10 -6
  350. package/dist/esm/operations/sites/index.js +9 -6
  351. package/dist/esm/operations/sites/index.js.map +1 -1
  352. package/dist/esm/operations/sites/ocapi-sites-backend.d.ts +20 -0
  353. package/dist/esm/operations/sites/ocapi-sites-backend.js +98 -0
  354. package/dist/esm/operations/sites/ocapi-sites-backend.js.map +1 -0
  355. package/dist/esm/operations/sites/scapi-sites-backend.d.ts +33 -0
  356. package/dist/esm/operations/sites/scapi-sites-backend.js +166 -0
  357. package/dist/esm/operations/sites/scapi-sites-backend.js.map +1 -0
  358. package/dist/esm/operations/sites/sites-backend.d.ts +9 -0
  359. package/dist/esm/operations/sites/sites-backend.js +16 -0
  360. package/dist/esm/operations/sites/sites-backend.js.map +1 -0
  361. package/dist/esm/operations/sites/sites-scopes.d.ts +2 -0
  362. package/dist/esm/operations/sites/sites-scopes.js +16 -0
  363. package/dist/esm/operations/sites/sites-scopes.js.map +1 -0
  364. package/dist/esm/operations/sites/sites-types.d.ts +50 -0
  365. package/dist/esm/operations/sites/sites-types.js +2 -0
  366. package/dist/esm/operations/sites/sites-types.js.map +1 -0
  367. package/dist/esm/safety/safety-guard.d.ts +1 -0
  368. package/dist/esm/safety/safety-guard.js +2 -1
  369. package/dist/esm/safety/safety-guard.js.map +1 -1
  370. package/dist/esm/safety/safety-middleware.d.ts +7 -3
  371. package/dist/esm/safety/safety-middleware.js +13 -9
  372. package/dist/esm/safety/safety-middleware.js.map +1 -1
  373. package/dist/esm/safety/types.d.ts +2 -2
  374. package/dist/esm/scaffold/sources.js +6 -9
  375. package/dist/esm/scaffold/sources.js.map +1 -1
  376. package/dist/esm/scapi/auth-primitives.d.ts +3 -0
  377. package/dist/esm/scapi/auth-primitives.js +104 -0
  378. package/dist/esm/scapi/auth-primitives.js.map +1 -0
  379. package/dist/esm/scapi/authentication.d.ts +30 -0
  380. package/dist/esm/scapi/authentication.js +136 -0
  381. package/dist/esm/scapi/authentication.js.map +1 -0
  382. package/dist/esm/scapi/catalog.d.ts +29 -0
  383. package/dist/esm/scapi/catalog.js +81 -0
  384. package/dist/esm/scapi/catalog.js.map +1 -0
  385. package/dist/esm/scapi/index.d.ts +12 -0
  386. package/dist/esm/scapi/index.js +13 -0
  387. package/dist/esm/scapi/index.js.map +1 -0
  388. package/dist/esm/scapi/request.d.ts +28 -0
  389. package/dist/esm/scapi/request.js +273 -0
  390. package/dist/esm/scapi/request.js.map +1 -0
  391. package/dist/esm/scapi/runtime.d.ts +27 -0
  392. package/dist/esm/scapi/runtime.js +161 -0
  393. package/dist/esm/scapi/runtime.js.map +1 -0
  394. package/dist/esm/scapi/snippets.d.ts +22 -0
  395. package/dist/esm/scapi/snippets.js +140 -0
  396. package/dist/esm/scapi/snippets.js.map +1 -0
  397. package/dist/esm/scapi/worker-source.d.ts +2 -0
  398. package/dist/esm/scapi/worker-source.js +101 -0
  399. package/dist/esm/scapi/worker-source.js.map +1 -0
  400. package/dist/esm/search/ranking.d.ts +12 -0
  401. package/dist/esm/search/ranking.js +28 -0
  402. package/dist/esm/search/ranking.js.map +1 -0
  403. package/dist/esm/skills/sources.d.ts +2 -2
  404. package/dist/esm/skills/sources.js +18 -2
  405. package/dist/esm/skills/sources.js.map +1 -1
  406. package/dist/esm/skills/types.d.ts +1 -1
  407. package/dist/esm/slas/token.js +33 -94
  408. package/dist/esm/slas/token.js.map +1 -1
  409. package/dist/esm/slas/types.d.ts +5 -0
  410. package/dist/esm/test-utils/config-isolation.js +2 -2
  411. package/dist/esm/test-utils/config-isolation.js.map +1 -1
  412. package/node_modules/@salesforce/b2c-api-schemas/README.md +23 -0
  413. package/node_modules/@salesforce/b2c-api-schemas/manifest.json +576 -0
  414. package/node_modules/@salesforce/b2c-api-schemas/package.json +15 -0
  415. package/node_modules/@salesforce/b2c-api-schemas/scapi/cdn/zones/v1.json +11490 -0
  416. package/node_modules/@salesforce/b2c-api-schemas/scapi/checkout/orders/v1.json +3589 -0
  417. package/node_modules/@salesforce/b2c-api-schemas/scapi/checkout/shopper-baskets/v1.json +6544 -0
  418. package/node_modules/@salesforce/b2c-api-schemas/scapi/checkout/shopper-baskets/v2.json +7148 -0
  419. package/node_modules/@salesforce/b2c-api-schemas/scapi/checkout/shopper-orders/v1.json +4411 -0
  420. package/node_modules/@salesforce/b2c-api-schemas/scapi/checkout/shopper-payments/v1.json +643 -0
  421. package/node_modules/@salesforce/b2c-api-schemas/scapi/configuration/cors/v1.json +295 -0
  422. package/node_modules/@salesforce/b2c-api-schemas/scapi/configuration/preferences/v1.json +2036 -0
  423. package/node_modules/@salesforce/b2c-api-schemas/scapi/configuration/shopper-configurations/v1.json +327 -0
  424. package/node_modules/@salesforce/b2c-api-schemas/scapi/configuration/timeouts/v1.json +234 -0
  425. package/node_modules/@salesforce/b2c-api-schemas/scapi/custom-object/custom-objects/v1.json +1542 -0
  426. package/node_modules/@salesforce/b2c-api-schemas/scapi/custom-object/shopper-custom-objects/v1.json +405 -0
  427. package/node_modules/@salesforce/b2c-api-schemas/scapi/customer/customers/v1.json +2531 -0
  428. package/node_modules/@salesforce/b2c-api-schemas/scapi/customer/shopper-customers/v1.json +7944 -0
  429. package/node_modules/@salesforce/b2c-api-schemas/scapi/dx/custom-apis/v1.json +292 -0
  430. package/node_modules/@salesforce/b2c-api-schemas/scapi/dx/object-definitions/v1.json +2537 -0
  431. package/node_modules/@salesforce/b2c-api-schemas/scapi/dx/scapi-schemas/v1.json +517 -0
  432. package/node_modules/@salesforce/b2c-api-schemas/scapi/dx/scripts/v1.json +589 -0
  433. package/node_modules/@salesforce/b2c-api-schemas/scapi/experience/experiences/v1.json +3600 -0
  434. package/node_modules/@salesforce/b2c-api-schemas/scapi/experience/shopper-experience/v1.json +2319 -0
  435. package/node_modules/@salesforce/b2c-api-schemas/scapi/intelligence/analytics/v1.json +658 -0
  436. package/node_modules/@salesforce/b2c-api-schemas/scapi/inventory/availability/v1.json +2649 -0
  437. package/node_modules/@salesforce/b2c-api-schemas/scapi/inventory/impex/v1.json +6615 -0
  438. package/node_modules/@salesforce/b2c-api-schemas/scapi/inventory/reservation/v1.json +2103 -0
  439. package/node_modules/@salesforce/b2c-api-schemas/scapi/merchant/roles/v1.json +1760 -0
  440. package/node_modules/@salesforce/b2c-api-schemas/scapi/merchant/users/v1.json +640 -0
  441. package/node_modules/@salesforce/b2c-api-schemas/scapi/observability/metrics/v1.json +1263 -0
  442. package/node_modules/@salesforce/b2c-api-schemas/scapi/operation/jobs/v1.json +1259 -0
  443. package/node_modules/@salesforce/b2c-api-schemas/scapi/operation/replications/v1.json +760 -0
  444. package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/assignments/v1.json +1047 -0
  445. package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/campaigns/v1.json +1929 -0
  446. package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/coupons/v1.json +1542 -0
  447. package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/gift-certificates/v1.json +1093 -0
  448. package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/promotions/v1.json +1324 -0
  449. package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/shopper-gift-certificates/v1.json +325 -0
  450. package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/shopper-promotions/v1.json +631 -0
  451. package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/source-code-groups/v1.json +1036 -0
  452. package/node_modules/@salesforce/b2c-api-schemas/scapi/product/catalogs/v1.json +5175 -0
  453. package/node_modules/@salesforce/b2c-api-schemas/scapi/product/inventory-lists/v1.json +866 -0
  454. package/node_modules/@salesforce/b2c-api-schemas/scapi/product/price-books/v1.json +747 -0
  455. package/node_modules/@salesforce/b2c-api-schemas/scapi/product/products/v1.json +5076 -0
  456. package/node_modules/@salesforce/b2c-api-schemas/scapi/product/shopper-availability/v1.json +509 -0
  457. package/node_modules/@salesforce/b2c-api-schemas/scapi/product/shopper-delivery-estimates/v1.json +517 -0
  458. package/node_modules/@salesforce/b2c-api-schemas/scapi/product/shopper-products/v1.json +2961 -0
  459. package/node_modules/@salesforce/b2c-api-schemas/scapi/search/shopper-search/v1.json +1889 -0
  460. package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/auth/v1.json +7014 -0
  461. package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/auth-admin/v1.json +1898 -0
  462. package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/consents/v1.json +622 -0
  463. package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/shopper-agents/v1.json +192 -0
  464. package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/shopper-consents/v1.json +913 -0
  465. package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/shopper-context/v1.json +630 -0
  466. package/node_modules/@salesforce/b2c-api-schemas/scapi/site/seo/v1.json +223 -0
  467. package/node_modules/@salesforce/b2c-api-schemas/scapi/site/shopper-seo/v1.json +423 -0
  468. package/node_modules/@salesforce/b2c-api-schemas/scapi/site/sites/v1.json +1088 -0
  469. package/node_modules/@salesforce/b2c-api-schemas/scapi/store/shopper-stores/v1.json +798 -0
  470. package/node_modules/@salesforce/b2c-api-schemas/scapi/store/store-redirect-mappings/v1.json +607 -0
  471. package/node_modules/@salesforce/b2c-api-schemas/scapi/store/stores/v1.json +1418 -0
  472. package/package.json +24 -3
  473. package/specs/dx-scripts-v1.yaml +409 -0
  474. package/specs/merchant-roles-v1.yaml +1085 -0
  475. package/specs/merchant-users-v1.yaml +398 -0
  476. package/specs/mrt-api-v1.json +105 -0
  477. package/specs/operations-jobs-v1.yaml +793 -0
  478. package/specs/product-catalogs-v1.yaml +111 -0
  479. package/specs/site-sites-v1.yaml +667 -0
  480. package/specs/slas-shopper-v1.yaml +83 -0
  481. package/specs/storefront-deployments-v1.yaml +630 -0
  482. package/specs/storefront-environments-v1.yaml +272 -0
@@ -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,9 @@
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 Bundle as BundleScapi, type BundleUploadResponse } from '../../clients/storefront-deployments.js';
11
+ import type { CreateBundleOptions, Bundle, BundleV2, CreateBundleV2Options } from './bundle.js';
12
+ import { type MrtBackend, type MrtBackendPreference, type ScapiMrtConnection } from './mrt-backend.js';
11
13
  /**
12
14
  * Options for pushing a bundle to MRT.
13
15
  */
@@ -99,6 +101,88 @@ export declare function pushBundle(options: PushOptions, auth: AuthStrategy): Pr
99
101
  * @returns Result of the upload
100
102
  */
101
103
  export declare function uploadBundle(client: MrtClient, projectSlug: string, bundle: Bundle, target?: string): Promise<PushResult>;
104
+ /**
105
+ * Options for pushing a v2-format bundle to MRT.
106
+ */
107
+ export interface PushV2Options extends CreateBundleV2Options {
108
+ /**
109
+ * The project slug to upload to.
110
+ */
111
+ projectSlug: string;
112
+ /**
113
+ * MRT API origin URL.
114
+ * @default "https://cloud.mobify.com"
115
+ */
116
+ origin?: string;
117
+ }
118
+ /**
119
+ * Result of a v2 push (upload) operation.
120
+ */
121
+ export interface PushV2Result {
122
+ /**
123
+ * The bundle ID assigned by MRT.
124
+ */
125
+ bundleId: number;
126
+ /**
127
+ * The project slug the bundle was uploaded to.
128
+ */
129
+ projectSlug: string;
130
+ /**
131
+ * The bundle message.
132
+ */
133
+ message: string;
134
+ /**
135
+ * Non-blocking warnings returned by MRT (e.g. deprecated runtime).
136
+ */
137
+ warnings: string[];
138
+ /**
139
+ * Server-computed ssrOnly/ssrShared file matches.
140
+ */
141
+ matches: Record<string, unknown>;
142
+ }
143
+ /**
144
+ * Builds a v2-format archive from a build directory and uploads it to MRT.
145
+ *
146
+ * This is upload-only: it does not deploy the bundle. Deploy separately with
147
+ * {@link createDeployment} (or the `b2c mrt bundle deploy <bundleId>` command).
148
+ *
149
+ * @param options - v2 push configuration options
150
+ * @param auth - Authentication strategy (ApiKeyStrategy)
151
+ * @returns Result of the upload operation
152
+ * @throws Error if the upload fails
153
+ *
154
+ * @example
155
+ * ```typescript
156
+ * import { ApiKeyStrategy } from '@salesforce/b2c-tooling-sdk/auth';
157
+ * import { pushBundleV2 } from '@salesforce/b2c-tooling-sdk/operations/mrt';
158
+ *
159
+ * const auth = new ApiKeyStrategy(process.env.MRT_API_KEY!, 'Authorization');
160
+ *
161
+ * const result = await pushBundleV2({
162
+ * projectSlug: 'my-storefront',
163
+ * ssrOnly: ['ssr.js'],
164
+ * ssrShared: ['static/**\/*'],
165
+ * buildDirectory: './build',
166
+ * message: 'Release v1.0.0'
167
+ * }, auth);
168
+ *
169
+ * console.log(`Bundle ${result.bundleId} uploaded to ${result.projectSlug}`);
170
+ * ```
171
+ */
172
+ export declare function pushBundleV2(options: PushV2Options, auth: AuthStrategy): Promise<PushV2Result>;
173
+ /**
174
+ * Uploads a pre-built v2 bundle archive to MRT as multipart/form-data.
175
+ *
176
+ * Use this if you've already built a v2 bundle with {@link createBundleV2} and
177
+ * want to upload it separately.
178
+ *
179
+ * @param client - MRT client instance
180
+ * @param projectSlug - Project to upload to
181
+ * @param bundle - v2 bundle to upload
182
+ * @returns Result of the upload
183
+ * @throws Error if the upload fails or the response omits a bundle id
184
+ */
185
+ export declare function uploadBundleV2(client: MrtClient, projectSlug: string, bundle: BundleV2): Promise<PushV2Result>;
102
186
  /**
103
187
  * Bundle list item from API.
104
188
  */
@@ -292,3 +376,203 @@ export interface BulkDeleteBundlesResult {
292
376
  * @throws Error if the request itself fails
293
377
  */
294
378
  export declare function bulkDeleteBundles(options: BulkDeleteBundlesOptions, auth: AuthStrategy): Promise<BulkDeleteBundlesResult>;
379
+ /**
380
+ * A single bundle list row, normalized across the legacy and SCAPI backends so
381
+ * the CLI table renders one shape regardless of backend.
382
+ *
383
+ * Status is kept **raw** per backend (legacy numeric enum `0 | 1 | 2`, SCAPI
384
+ * string enum `"ok"` / `"broken"` / `"preparing"`) so display doesn't silently
385
+ * change for existing legacy users.
386
+ */
387
+ export interface MrtBundleView {
388
+ /** Numeric bundle identifier. */
389
+ id?: number;
390
+ /** Human-readable bundle message/description. */
391
+ message?: string;
392
+ /** Raw backend status string. */
393
+ status?: string | number;
394
+ /** Email of the user who uploaded the bundle. */
395
+ user?: string;
396
+ /** Creation timestamp (ISO 8601). */
397
+ created?: string;
398
+ /** Backend that produced this row. */
399
+ backend: MrtBackend;
400
+ }
401
+ /** Normalizes a legacy MRT bundle list item into an {@link MrtBundleView}. */
402
+ export declare function normalizeLegacyBundle(bundle: MrtBundle): MrtBundleView;
403
+ /** Normalizes a SCAPI MRT {@link BundleScapi} into an {@link MrtBundleView}. */
404
+ export declare function normalizeScapiBundle(bundle: BundleScapi): MrtBundleView;
405
+ /**
406
+ * Lists bundles for a storefront via the SCAPI MRT Deployments API.
407
+ *
408
+ * Forwards the standard SCAPI `limit`/`offset` pagination query parameters when
409
+ * provided (the response echoes the full `total`), mirroring the legacy list and
410
+ * {@link listDeploymentsScapi}.
411
+ *
412
+ * @throws {ScapiRequestError} carrying the HTTP status on a non-2xx response.
413
+ */
414
+ export declare function listBundlesScapi(conn: ScapiMrtConnection, params: {
415
+ storefrontId: string;
416
+ limit?: number;
417
+ offset?: number;
418
+ }): Promise<{
419
+ bundles: MrtBundleView[];
420
+ count: number;
421
+ raw: unknown;
422
+ }>;
423
+ /** Result of a SCAPI bundle upload. */
424
+ export interface UploadBundleScapiResult {
425
+ /** Numeric bundle identifier assigned by SCAPI. */
426
+ bundleId: number;
427
+ /** Non-blocking warnings returned during bundle processing. */
428
+ warnings: string[];
429
+ /** Server-computed ssrOnly/ssrShared file matches. */
430
+ matches: Record<string, unknown>;
431
+ /** Raw, backend-native upload response, surfaced verbatim under `--json`. */
432
+ raw: BundleUploadResponse;
433
+ }
434
+ /**
435
+ * Uploads a pre-built v2 bundle archive to a storefront via the SCAPI MRT
436
+ * Deployments API as multipart/form-data.
437
+ *
438
+ * The multipart payload mirrors the legacy {@link uploadBundleV2} exactly (same
439
+ * `bundle`/`message`/`rootDir`/`configPath`/`matchMode` fields), so a bundle
440
+ * built with {@link createBundleV2} uploads identically on either backend. As
441
+ * with the legacy path, openapi-fetch passes the `FormData` body through
442
+ * unchanged and lets fetch set the multipart Content-Type + boundary.
443
+ *
444
+ * @throws {ScapiRequestError} carrying the HTTP status on a non-2xx response.
445
+ */
446
+ export declare function uploadBundleScapi(conn: ScapiMrtConnection, params: {
447
+ storefrontId: string;
448
+ bundle: BundleV2;
449
+ }): Promise<UploadBundleScapiResult>;
450
+ /** Options for {@link listMrtBundles}. */
451
+ export interface ListMrtBundlesBackendOptions {
452
+ /** Resolved `--mrt-backend` preference. */
453
+ preference: MrtBackendPreference;
454
+ /** SCAPI connection; when absent, `auto` uses legacy and `scapi` throws. */
455
+ scapiConnection?: ScapiMrtConnection;
456
+ /** Legacy API-key auth strategy. Optional; required only when the legacy backend actually runs. */
457
+ legacyAuth?: AuthStrategy;
458
+ /** Project slug (= SCAPI storefront ID). */
459
+ projectSlug: string;
460
+ /** Maximum results per page (forwarded to both backends). */
461
+ limit?: number;
462
+ /** Pagination offset (forwarded to both backends). */
463
+ offset?: number;
464
+ /** Legacy MRT API origin. */
465
+ origin?: string;
466
+ /** Invoked when `auto` falls back from SCAPI to legacy. */
467
+ onFallback?: (reason: string) => void;
468
+ /** Invoked with the backend that serves the call (for `-D` debug). */
469
+ onResolve?: (backend: MrtBackend) => void;
470
+ }
471
+ /** Backend-neutral bundle list result. */
472
+ export interface MrtBundlesView {
473
+ /** Backend that served the list. */
474
+ backend: MrtBackend;
475
+ /** Total count reported by the backend. */
476
+ count: number;
477
+ /** Normalized bundle rows, consumed by the CLI table. */
478
+ bundles: MrtBundleView[];
479
+ /**
480
+ * The raw, backend-native list response, surfaced verbatim under `--json` so
481
+ * each backend keeps its original machine contract (legacy: the MRT Cloud API
482
+ * list shape — `count`/`next`/`previous`/`bundles`; SCAPI: the Storefront
483
+ * Deployments response — `data`/`total`). The normalized {@link bundles} feed
484
+ * the human table only.
485
+ */
486
+ raw: unknown;
487
+ }
488
+ /**
489
+ * Lists bundles, routing to the SCAPI or legacy backend per the given
490
+ * preference (with safe `auto` fallback). Returns normalized rows.
491
+ */
492
+ export declare function listMrtBundles(options: ListMrtBundlesBackendOptions): Promise<MrtBundlesView>;
493
+ /** Options for {@link pushMrtBundle}. */
494
+ export interface PushMrtBundleBackendOptions {
495
+ /** Resolved `--mrt-backend` preference. */
496
+ preference: MrtBackendPreference;
497
+ /** SCAPI connection; when absent, `auto` uses legacy and `scapi` throws. */
498
+ scapiConnection?: ScapiMrtConnection;
499
+ /** Legacy API-key auth strategy. Optional; required only when the legacy backend actually runs. */
500
+ legacyAuth?: AuthStrategy;
501
+ /** Project slug (= SCAPI storefront ID). */
502
+ projectSlug: string;
503
+ /** Target/environment slug (= SCAPI environment ID). When omitted, the bundle is uploaded but not deployed. */
504
+ targetSlug?: string;
505
+ /** Bundle message/description. */
506
+ message?: string;
507
+ /** SSR runtime parameters. */
508
+ ssrParameters?: Record<string, unknown>;
509
+ /** Glob patterns for server-only files. */
510
+ ssrOnly?: string[];
511
+ /** Glob patterns for files shared between server and client. */
512
+ ssrShared?: string[];
513
+ /** Build output directory. */
514
+ buildDirectory?: string;
515
+ /** Directory to read `config.server.{ts,js}` from. */
516
+ projectDirectory?: string;
517
+ /** v2 archive root directory (v2 uploads only). */
518
+ rootDir?: string;
519
+ /** v2 in-archive config path (v2 uploads only). */
520
+ configPath?: string;
521
+ /** v2 match mode (v2 uploads only). */
522
+ matchMode?: BundleV2['matchMode'];
523
+ /**
524
+ * Use the v2 bundle format/endpoint. SCAPI is always v2 (this flag is
525
+ * redundant there). Legacy defaults to v1; set this to route the legacy push
526
+ * through the v2 endpoint so the `rootDir`/`configPath`/`matchMode` options
527
+ * take effect.
528
+ */
529
+ v2?: boolean;
530
+ /** Legacy MRT API origin. */
531
+ origin?: string;
532
+ /** Invoked when `auto` falls back from SCAPI to legacy. */
533
+ onFallback?: (reason: string) => void;
534
+ /** Invoked with the backend that serves the call (for `-D` debug). */
535
+ onResolve?: (backend: MrtBackend) => void;
536
+ }
537
+ /** Backend-neutral local-build push result. */
538
+ export interface MrtPushResultView {
539
+ /** Backend that served the push (pins the `--wait` strategy). */
540
+ backend: MrtBackend;
541
+ /** Bundle that was uploaded. */
542
+ bundleId: number;
543
+ /** Resolved bundle message/description (the auto-generated default when none was given). */
544
+ message?: string;
545
+ /** Whether the bundle was also deployed (a target was provided). */
546
+ deployed: boolean;
547
+ /** SCAPI deployment UUID for `--wait` polling; undefined for legacy or upload-only. */
548
+ deploymentId?: string;
549
+ /** Initial deployment status; undefined for upload-only. */
550
+ status?: string;
551
+ /** Non-blocking warnings returned by the backend. */
552
+ warnings?: string[];
553
+ /**
554
+ * The raw, backend-native response, surfaced verbatim under `--json`. Legacy:
555
+ * the combined MRT Cloud API push result. SCAPI: `{bundle, deployment?}` — the
556
+ * upload response plus, when a target was given, the create-deployment
557
+ * response (the two native calls that make up a SCAPI local-build deploy).
558
+ */
559
+ raw: unknown;
560
+ }
561
+ /**
562
+ * Builds a bundle from a local build and pushes it, routing to the SCAPI or
563
+ * legacy backend per the given preference (with safe `auto` fallback). When a
564
+ * `targetSlug` is given the bundle is also deployed; otherwise it is uploaded
565
+ * only. The returned `backend` pins which `--wait` strategy the caller uses.
566
+ *
567
+ * **Bundle format:** SCAPI always uploads the v2 format. Legacy defaults to the
568
+ * v1 combined upload+deploy; set `v2` to route the legacy push through the v2
569
+ * endpoint instead (upload, then a separate deploy when a target is given), so
570
+ * the `rootDir`/`configPath`/`matchMode` options take effect on legacy too.
571
+ *
572
+ * **Fallback safety:** only the SCAPI *upload* is fallback-eligible — if it
573
+ * fails with a safe pre-execution error nothing was created, so `auto` retries
574
+ * on legacy. Once the upload succeeds a bundle exists on SCAPI, so a failure of
575
+ * the subsequent create-deployment is re-thrown as a plain `Error` (not a
576
+ * fallback trigger) to avoid re-uploading the whole build on legacy.
577
+ */
578
+ export declare function pushMrtBundle(options: PushMrtBundleBackendOptions): Promise<MrtPushResultView>;