@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
@@ -30,13 +30,15 @@ export interface CreateBundleOptions {
30
30
  ssrParameters?: Record<string, unknown>;
31
31
  /**
32
32
  * Glob patterns for files that should only run on the server.
33
- * If omitted, loaded from build/config.server.js if present.
33
+ * If omitted, loaded from `config.server.{ts,js}` in the project directory
34
+ * (or the legacy `build/config.server.js`) if present.
34
35
  * @example ['ssr.js', 'ssr/*.js']
35
36
  */
36
37
  ssrOnly?: string[];
37
38
  /**
38
39
  * Glob patterns for files shared between client and server.
39
- * If omitted, loaded from build/config.server.js if present.
40
+ * If omitted, loaded from `config.server.{ts,js}` in the project directory
41
+ * (or the legacy `build/config.server.js`) if present.
40
42
  * @example ['static/**\/*', '**\/*.js']
41
43
  */
42
44
  ssrShared?: string[];
@@ -45,6 +47,14 @@ export interface CreateBundleOptions {
45
47
  * @default 'build'
46
48
  */
47
49
  buildDirectory?: string;
50
+ /**
51
+ * Directory to read `config.server.{ts,js}` from when ssrOnly/ssrShared are
52
+ * not provided explicitly. The config is read straight from source at bundle
53
+ * time (no build step), so `config.server.js` need not be emitted into the
54
+ * build output.
55
+ * @default process.cwd()
56
+ */
57
+ projectDirectory?: string;
48
58
  /**
49
59
  * Project slug for the MRT project.
50
60
  * Used to prefix files in the archive.
@@ -102,3 +112,155 @@ export declare function createGlobFilter(patterns?: string[]): (path: string) =>
102
112
  */
103
113
  export declare function getDefaultMessage(): string;
104
114
  export declare function createBundle(options: CreateBundleOptions): Promise<Bundle>;
115
+ /**
116
+ * How the server handles ssrOnly/ssrShared patterns that match no files.
117
+ * - `strict`: reject patterns that match nothing.
118
+ * - `ignore_missing`: allow patterns that match nothing.
119
+ */
120
+ export type BundleV2MatchMode = 'strict' | 'ignore_missing';
121
+ /** Default archive path prefix under which built files and the config file live. */
122
+ export declare const DEFAULT_V2_ROOT_DIR = "bld";
123
+ /** Default path to the in-archive config file, relative to the root directory. */
124
+ export declare const DEFAULT_V2_CONFIG_PATH = ".mrt/config.json";
125
+ /** Default match mode for ssrOnly/ssrShared pattern matching. */
126
+ export declare const DEFAULT_V2_MATCH_MODE: BundleV2MatchMode;
127
+ /**
128
+ * Bundle metadata written into the v2 in-archive config file.
129
+ *
130
+ * The server strictly allowlists these sub-keys; only `dependencies` and
131
+ * `ccOverrides` are accepted.
132
+ */
133
+ export interface BundleV2Metadata {
134
+ /** Application dependencies (e.g. resolved package versions). */
135
+ dependencies?: Record<string, unknown>;
136
+ /** Commerce Cloud override identifiers. */
137
+ ccOverrides?: string[];
138
+ }
139
+ /**
140
+ * The v2 in-archive config file contents (`{rootDir}/{configPath}`).
141
+ */
142
+ export interface BundleV2Config {
143
+ ssrOnly: string[];
144
+ ssrShared: string[];
145
+ ssrParameters: Record<string, unknown>;
146
+ bundleMetadata?: BundleV2Metadata;
147
+ }
148
+ /**
149
+ * Configuration for v2 bundle archive creation.
150
+ *
151
+ * Unlike v1, the archive layout has no project-slug prefix: built files sit
152
+ * directly under `{rootDir}/` and the SSR configuration is written into the
153
+ * archive at `{rootDir}/{configPath}` rather than being sent as request fields.
154
+ */
155
+ export interface CreateBundleV2Options {
156
+ /**
157
+ * Optional message describing the bundle.
158
+ * Defaults to a git-based message or a timestamp.
159
+ */
160
+ message?: string;
161
+ /**
162
+ * SSR parameters written into the in-archive config file.
163
+ * Merged over defaults and any values from the on-disk v2 config file
164
+ * ({buildDirectory}/{configPath}) or the project's `config.server.{ts,js}`.
165
+ */
166
+ ssrParameters?: Record<string, unknown>;
167
+ /**
168
+ * Glob patterns for files that should only run on the server.
169
+ * Written verbatim into the config file; matched server-side against
170
+ * paths relative to `rootDir`.
171
+ * If omitted, read from the on-disk v2 config file
172
+ * ({buildDirectory}/{configPath}) if present, else the project's
173
+ * `config.server.{ts,js}`, else defaults.
174
+ */
175
+ ssrOnly?: string[];
176
+ /**
177
+ * Glob patterns for files shared between client and server.
178
+ * Written verbatim into the config file; matched server-side against
179
+ * paths relative to `rootDir`.
180
+ * If omitted, read from the on-disk v2 config file
181
+ * ({buildDirectory}/{configPath}) if present, else the project's
182
+ * `config.server.{ts,js}`, else defaults.
183
+ */
184
+ ssrShared?: string[];
185
+ /**
186
+ * Bundle metadata written into the config file (dependencies, ccOverrides).
187
+ */
188
+ bundleMetadata?: BundleV2Metadata;
189
+ /**
190
+ * Path to the build directory containing the application build output.
191
+ * @default 'build'
192
+ */
193
+ buildDirectory?: string;
194
+ /**
195
+ * Directory to read `config.server.{ts,js}` from when there is no on-disk v2
196
+ * config file and ssrOnly/ssrShared are not provided explicitly. The config
197
+ * is read straight from source at bundle time (no build step) and its values
198
+ * are written into the bundle's in-archive config file.
199
+ * @default process.cwd()
200
+ */
201
+ projectDirectory?: string;
202
+ /**
203
+ * Archive path prefix under which built files and the config file live.
204
+ * @default 'bld'
205
+ */
206
+ rootDir?: string;
207
+ /**
208
+ * Path to the in-archive config file, relative to `rootDir`.
209
+ * @default '.mrt/config.json'
210
+ */
211
+ configPath?: string;
212
+ /**
213
+ * How the server handles ssrOnly/ssrShared patterns that match no files.
214
+ * @default 'strict'
215
+ */
216
+ matchMode?: BundleV2MatchMode;
217
+ }
218
+ /**
219
+ * A v2 bundle ready for multipart upload to Managed Runtime.
220
+ */
221
+ export interface BundleV2 {
222
+ /** Message describing the bundle. */
223
+ message: string;
224
+ /** The gzip-compressed tar archive bytes. */
225
+ archive: Buffer;
226
+ /** Archive path prefix used when building the archive; sent as a request field. */
227
+ rootDir: string;
228
+ /** Config file path relative to `rootDir`; sent as a request field. */
229
+ configPath: string;
230
+ /** Match mode; sent as a request field. */
231
+ matchMode: BundleV2MatchMode;
232
+ /** The config object written into the archive at `{rootDir}/{configPath}`. */
233
+ config: BundleV2Config;
234
+ }
235
+ /**
236
+ * Creates a v2-format bundle archive from a build directory.
237
+ *
238
+ * Produces a gzip-compressed tar archive whose entries sit directly under
239
+ * `{rootDir}/` (no project-slug prefix, unlike v1), with the SSR configuration
240
+ * written into the archive at `{rootDir}/{configPath}` (default
241
+ * `bld/.mrt/config.json`). The returned object carries the archive bytes plus
242
+ * the `rootDir`/`configPath`/`matchMode` values to send as multipart request
243
+ * fields, so the builder and the request stay consistent.
244
+ *
245
+ * The SSR configuration is resolved as follows: if the build emitted an on-disk
246
+ * v2 config file at `{buildDirectory}/{configPath}`, it is used; otherwise the
247
+ * project's `config.server.{ts,js}` is read and used to build the config that
248
+ * goes into the bundle; explicit options override either, merged per key. When
249
+ * the build already emitted the v2 config file, it is excluded from the archive
250
+ * walk and replaced by the resolved config so there is exactly one copy.
251
+ *
252
+ * @param options - v2 bundle creation options
253
+ * @returns v2 bundle object ready for multipart upload
254
+ * @throws Error if the build directory doesn't exist or ssr patterns are empty
255
+ *
256
+ * @example
257
+ * ```typescript
258
+ * const bundle = await createBundleV2({
259
+ * ssrOnly: ['ssr.js'],
260
+ * ssrShared: ['static/**\/*'],
261
+ * buildDirectory: './build',
262
+ * message: 'Release v1.0.0'
263
+ * });
264
+ * ```
265
+ */
266
+ export declare function createBundleV2(options: CreateBundleV2Options): Promise<BundleV2>;
@@ -15,6 +15,8 @@ import { createWriteStream } from 'node:fs';
15
15
  import { readFile, stat, mkdtemp, rm } from 'node:fs/promises';
16
16
  import path from 'node:path';
17
17
  import os from 'node:os';
18
+ import { pathToFileURL } from 'node:url';
19
+ import zlib from 'node:zlib';
18
20
  import tar from 'tar-fs';
19
21
  import { Minimatch } from 'minimatch';
20
22
  import { getLogger } from '../../logging/logger.js';
@@ -29,7 +31,7 @@ export const DEFAULT_SSR_PARAMETERS = {
29
31
  * Node.js version for the SSR function runtime.
30
32
  * @see https://developer.salesforce.com/docs/commerce/pwa-kit-managed-runtime/guide/upgrading-node-version.html
31
33
  */
32
- SSRFunctionNodeVersion: '22.x',
34
+ SSRFunctionNodeVersion: '24.x',
33
35
  };
34
36
  /**
35
37
  * Creates a glob filter function from patterns.
@@ -86,6 +88,65 @@ export function getDefaultMessage() {
86
88
  * });
87
89
  * ```
88
90
  */
91
+ /**
92
+ * Extracts the exported {@link MrtServerConfig} from an imported config module,
93
+ * accepting either a named `config` export or a default export.
94
+ */
95
+ function pickServerConfig(mod) {
96
+ const record = mod;
97
+ const config = record.config ?? record.default?.config ?? record.default;
98
+ return config ?? null;
99
+ }
100
+ /**
101
+ * Candidate `config.server` filenames in the project directory, in the order
102
+ * they are tried. `.ts` is preferred (the authored source); compiled `.js`/`.mjs`
103
+ * variants are accepted for compatibility.
104
+ */
105
+ const PROJECT_SERVER_CONFIG_FILENAMES = ['config.server.ts', 'config.server.js', 'config.server.mjs'];
106
+ /**
107
+ * Reads `config.server.{ts,js,mjs}` from the project directory and returns the
108
+ * exported {@link MrtServerConfig}, or `null` if no such file exists.
109
+ *
110
+ * The config is read straight from source at bundle time (no build step): the
111
+ * reference apps keep `config.server.ts` in the project root defining
112
+ * ssrOnly/ssrShared/ssrParameters. TypeScript is loaded via jiti, so any
113
+ * type-only imports in the file are erased and need not be resolved.
114
+ *
115
+ * Throws if a config file exists but cannot be imported, so a broken config
116
+ * fails loudly rather than silently falling back to defaults.
117
+ */
118
+ async function loadProjectServerConfig(projectDirectory) {
119
+ for (const filename of PROJECT_SERVER_CONFIG_FILENAMES) {
120
+ const filePath = path.join(projectDirectory, filename);
121
+ try {
122
+ await stat(filePath);
123
+ }
124
+ catch {
125
+ continue;
126
+ }
127
+ try {
128
+ // jiti transpiles and evaluates the (possibly TypeScript) config in-memory
129
+ // so it can be read from source without a build step. Imported lazily so
130
+ // consumers that never build a bundle don't pay for it.
131
+ const { createJiti } = await import('jiti');
132
+ const jiti = createJiti(import.meta.url, { fsCache: false, interopDefault: true });
133
+ const mod = await jiti.import(filePath);
134
+ return pickServerConfig(mod);
135
+ }
136
+ catch (error) {
137
+ const detail = error instanceof Error ? error.message : String(error);
138
+ throw new Error(`Failed to load server config at "${filePath}": ${detail}`);
139
+ }
140
+ }
141
+ return null;
142
+ }
143
+ /**
144
+ * Reads the legacy compiled `build/config.server.js` from the build directory,
145
+ * returning the exported {@link MrtServerConfig} or `null` if it is absent or
146
+ * fails to import. Kept as a fallback for builds that still emit it; new builds
147
+ * should keep `config.server.ts` in the project directory instead
148
+ * (see {@link loadProjectServerConfig}).
149
+ */
89
150
  async function loadServerConfig(buildPath) {
90
151
  const configPath = path.join(buildPath, 'config.server.js');
91
152
  try {
@@ -95,34 +156,77 @@ async function loadServerConfig(buildPath) {
95
156
  return null;
96
157
  }
97
158
  try {
98
- const mod = await import(configPath);
99
- const config = mod.config ?? mod.default?.config ?? mod.default;
100
- return config ?? null;
159
+ // Convert the absolute path to a file:// URL before dynamic import. On
160
+ // Windows a bare absolute path (e.g. `D:\build\config.server.js`) is parsed
161
+ // as a URL whose scheme is the drive letter and fails to import; a file://
162
+ // URL imports correctly on all platforms.
163
+ const mod = await import(pathToFileURL(configPath).href);
164
+ return pickServerConfig(mod);
101
165
  }
102
166
  catch {
103
167
  return null;
104
168
  }
105
169
  }
170
+ /**
171
+ * Reads the project's `package.json` and returns its declared dependencies
172
+ * (merged `dependencies` + `devDependencies`) for inclusion in bundle metadata,
173
+ * mirroring how pwa-kit and storefront-next populate `bundle_metadata.dependencies`.
174
+ *
175
+ * Best-effort: returns `undefined` when there is no readable/parseable
176
+ * `package.json`, so metadata collection never blocks a bundle. The resolved
177
+ * dependency-tree versions those tools overlay via `npm ls` are intentionally
178
+ * not collected here — that overlay targets specific runtime packages and does
179
+ * not generalize; the declared `package.json` versions are the portable metadata.
180
+ */
181
+ async function loadProjectDependencies(projectDirectory) {
182
+ const logger = getLogger();
183
+ const packagePath = path.join(projectDirectory, 'package.json');
184
+ let raw;
185
+ try {
186
+ raw = await readFile(packagePath, 'utf8');
187
+ }
188
+ catch {
189
+ logger.debug({ packagePath }, '[MRT] No package.json found; omitting bundle dependency metadata');
190
+ return undefined;
191
+ }
192
+ try {
193
+ const pkg = JSON.parse(raw);
194
+ const dependencies = { ...pkg.dependencies, ...pkg.devDependencies };
195
+ return Object.keys(dependencies).length > 0 ? dependencies : undefined;
196
+ }
197
+ catch (error) {
198
+ const detail = error instanceof Error ? error.message : String(error);
199
+ logger.warn({ packagePath, detail }, '[MRT] Could not parse package.json; omitting bundle dependency metadata');
200
+ return undefined;
201
+ }
202
+ }
106
203
  export async function createBundle(options) {
107
204
  const logger = getLogger();
108
205
  const { projectSlug } = options;
109
206
  const buildDirectory = options.buildDirectory || 'build';
110
207
  const message = options.message || getDefaultMessage();
208
+ const projectDirectory = options.projectDirectory ?? process.cwd();
111
209
  const buildPath = path.isAbsolute(buildDirectory) ? buildDirectory : path.join(process.cwd(), buildDirectory);
112
- const serverConfig = await loadServerConfig(buildPath);
210
+ // Prefer config.server.{ts,js} read from the project directory; fall back to a
211
+ // legacy compiled build/config.server.js for builds that still emit one.
212
+ const serverConfig = (await loadProjectServerConfig(projectDirectory)) ?? (await loadServerConfig(buildPath));
213
+ // Collect declared package.json dependencies for bundle metadata (best-effort).
214
+ const dependencies = await loadProjectDependencies(projectDirectory);
113
215
  const ssrOnly = options.ssrOnly ?? serverConfig?.ssrOnly ?? DEFAULT_SSR_ONLY;
114
216
  const ssrShared = options.ssrShared ?? serverConfig?.ssrShared ?? DEFAULT_SSR_SHARED;
115
217
  const ssrParamsFromConfig = serverConfig?.ssrParameters ?? {};
116
- // Merge: defaults < config.server.js < explicit options (explicit values win)
218
+ // Merge: defaults < config.server < explicit options (explicit values win)
117
219
  const ssrParameters = {
118
220
  ...DEFAULT_SSR_PARAMETERS,
119
221
  ...ssrParamsFromConfig,
120
222
  ...options.ssrParameters,
121
223
  };
122
224
  logger.debug({ projectSlug, buildDirectory, ssrParameters }, '[MRT] Creating bundle');
123
- // Validate SSR patterns
124
- if (ssrOnly.length === 0 || ssrShared.length === 0) {
125
- throw new Error('ssrOnly and ssrShared patterns are required and cannot be empty');
225
+ // Validate SSR patterns. An SSR entry point is mandatory, but ssrShared may
226
+ // legitimately be empty for a pure-SSR app with no shared/static assets, so
227
+ // only require ssrOnly to be non-empty.
228
+ if (ssrOnly.length === 0) {
229
+ throw new Error('ssrOnly patterns are required and cannot be empty');
126
230
  }
127
231
  try {
128
232
  await stat(buildPath);
@@ -179,6 +283,7 @@ export async function createBundle(options) {
179
283
  ssr_parameters: ssrParameters,
180
284
  ssr_only: ssrOnlyFiles,
181
285
  ssr_shared: ssrSharedFiles,
286
+ ...(dependencies ? { bundle_metadata: { dependencies } } : {}),
182
287
  };
183
288
  }
184
289
  finally {
@@ -186,4 +291,205 @@ export async function createBundle(options) {
186
291
  await rm(tmpDir, { recursive: true }).catch(() => { });
187
292
  }
188
293
  }
294
+ /** Default archive path prefix under which built files and the config file live. */
295
+ export const DEFAULT_V2_ROOT_DIR = 'bld';
296
+ /** Default path to the in-archive config file, relative to the root directory. */
297
+ export const DEFAULT_V2_CONFIG_PATH = '.mrt/config.json';
298
+ /** Default match mode for ssrOnly/ssrShared pattern matching. */
299
+ export const DEFAULT_V2_MATCH_MODE = 'strict';
300
+ /**
301
+ * Joins path segments using forward slashes, as required for tar entry names.
302
+ */
303
+ function tarJoin(...segments) {
304
+ return path.posix.join(...segments.map((s) => s.split(path.sep).join('/')));
305
+ }
306
+ /**
307
+ * Reads the v2 in-archive config file from disk, if the build emits one.
308
+ *
309
+ * v2 builds write their SSR configuration to `{buildPath}/{configPath}` (by
310
+ * default `bld/.mrt/config.json` relative to the archive, i.e.
311
+ * `{buildDirectory}/.mrt/config.json` on disk). Returns the parsed object — a
312
+ * partial {@link BundleV2Config} plus any extra top-level keys the build wrote —
313
+ * or `null` if no such file exists. Throws if the file exists but is not valid
314
+ * JSON or is not a JSON object, so a malformed build config fails loudly rather
315
+ * than being silently discarded.
316
+ */
317
+ async function loadV2Config(buildPath, configPath) {
318
+ const filePath = path.join(buildPath, configPath);
319
+ let contents;
320
+ try {
321
+ contents = await readFile(filePath, 'utf8');
322
+ }
323
+ catch (error) {
324
+ // Only treat a genuinely-absent file as "no config"; surface any other read
325
+ // failure (permissions, path-is-a-directory, etc.) so a present-but-broken
326
+ // config fails loudly rather than silently falling back to defaults.
327
+ if (error instanceof Error && error.code === 'ENOENT') {
328
+ return null;
329
+ }
330
+ const detail = error instanceof Error ? error.message : String(error);
331
+ throw new Error(`Failed to read v2 bundle config at "${filePath}": ${detail}`);
332
+ }
333
+ let parsed;
334
+ try {
335
+ parsed = JSON.parse(contents);
336
+ }
337
+ catch (error) {
338
+ const detail = error instanceof Error ? error.message : String(error);
339
+ throw new Error(`Failed to parse v2 bundle config at "${filePath}": ${detail}`);
340
+ }
341
+ if (typeof parsed !== 'object' || parsed === null || Array.isArray(parsed)) {
342
+ throw new Error(`Invalid v2 bundle config at "${filePath}": expected a JSON object`);
343
+ }
344
+ return parsed;
345
+ }
346
+ /**
347
+ * Creates a v2-format bundle archive from a build directory.
348
+ *
349
+ * Produces a gzip-compressed tar archive whose entries sit directly under
350
+ * `{rootDir}/` (no project-slug prefix, unlike v1), with the SSR configuration
351
+ * written into the archive at `{rootDir}/{configPath}` (default
352
+ * `bld/.mrt/config.json`). The returned object carries the archive bytes plus
353
+ * the `rootDir`/`configPath`/`matchMode` values to send as multipart request
354
+ * fields, so the builder and the request stay consistent.
355
+ *
356
+ * The SSR configuration is resolved as follows: if the build emitted an on-disk
357
+ * v2 config file at `{buildDirectory}/{configPath}`, it is used; otherwise the
358
+ * project's `config.server.{ts,js}` is read and used to build the config that
359
+ * goes into the bundle; explicit options override either, merged per key. When
360
+ * the build already emitted the v2 config file, it is excluded from the archive
361
+ * walk and replaced by the resolved config so there is exactly one copy.
362
+ *
363
+ * @param options - v2 bundle creation options
364
+ * @returns v2 bundle object ready for multipart upload
365
+ * @throws Error if the build directory doesn't exist or ssr patterns are empty
366
+ *
367
+ * @example
368
+ * ```typescript
369
+ * const bundle = await createBundleV2({
370
+ * ssrOnly: ['ssr.js'],
371
+ * ssrShared: ['static/**\/*'],
372
+ * buildDirectory: './build',
373
+ * message: 'Release v1.0.0'
374
+ * });
375
+ * ```
376
+ */
377
+ export async function createBundleV2(options) {
378
+ const logger = getLogger();
379
+ const buildDirectory = options.buildDirectory || 'build';
380
+ const message = options.message || getDefaultMessage();
381
+ const rootDir = options.rootDir || DEFAULT_V2_ROOT_DIR;
382
+ const configPath = options.configPath || DEFAULT_V2_CONFIG_PATH;
383
+ const matchMode = options.matchMode || DEFAULT_V2_MATCH_MODE;
384
+ const projectDirectory = options.projectDirectory ?? process.cwd();
385
+ const buildPath = path.isAbsolute(buildDirectory) ? buildDirectory : path.join(process.cwd(), buildDirectory);
386
+ // Resolve the base SSR config. Prefer the v2 config file the build emits at
387
+ // {buildPath}/{configPath}; if absent, read the project's config.server.{ts,js}
388
+ // (falling back to a legacy compiled build/config.server.js); if neither
389
+ // exists, use defaults. Explicit options always win over the resolved base,
390
+ // per key.
391
+ const v2Config = await loadV2Config(buildPath, configPath);
392
+ const serverConfig = v2Config
393
+ ? null
394
+ : ((await loadProjectServerConfig(projectDirectory)) ?? (await loadServerConfig(buildPath)));
395
+ const baseSsrOnly = v2Config?.ssrOnly ?? serverConfig?.ssrOnly;
396
+ const baseSsrShared = v2Config?.ssrShared ?? serverConfig?.ssrShared;
397
+ const baseSsrParameters = v2Config?.ssrParameters ?? serverConfig?.ssrParameters ?? {};
398
+ const ssrOnly = options.ssrOnly ?? baseSsrOnly ?? DEFAULT_SSR_ONLY;
399
+ const ssrShared = options.ssrShared ?? baseSsrShared ?? DEFAULT_SSR_SHARED;
400
+ // Merge: defaults < base config file < explicit options (explicit values win)
401
+ const ssrParameters = {
402
+ ...DEFAULT_SSR_PARAMETERS,
403
+ ...baseSsrParameters,
404
+ ...options.ssrParameters,
405
+ };
406
+ logger.debug({
407
+ buildDirectory,
408
+ rootDir,
409
+ configPath,
410
+ matchMode,
411
+ ssrParameters,
412
+ configSource: v2Config ? 'v2-config-file' : serverConfig ? 'config.server' : 'defaults',
413
+ }, '[MRT] Creating v2 bundle');
414
+ // Validate SSR patterns. An SSR entry point is mandatory, but ssrShared may
415
+ // legitimately be empty for a pure-SSR app with no shared/static assets, so
416
+ // only require ssrOnly to be non-empty.
417
+ if (ssrOnly.length === 0) {
418
+ throw new Error('ssrOnly patterns are required and cannot be empty');
419
+ }
420
+ try {
421
+ await stat(buildPath);
422
+ }
423
+ catch {
424
+ throw new Error(`Build directory at path "${buildPath}" not found.\n` + 'Ensure your project has been built first.');
425
+ }
426
+ // Assemble the in-archive config file contents. Preserve any extra top-level
427
+ // keys the build wrote into its v2 config file, then apply the resolved SSR
428
+ // values on top.
429
+ const config = { ...v2Config, ssrOnly, ssrShared, ssrParameters };
430
+ // Merge bundle metadata per-key: explicit options override the file's values.
431
+ // Only the server-allowlisted sub-keys (dependencies, ccOverrides) are kept.
432
+ const fileMetadata = v2Config?.bundleMetadata ?? {};
433
+ // Explicit option > v2 config file > declared package.json dependencies.
434
+ const dependencies = options.bundleMetadata?.dependencies ??
435
+ fileMetadata.dependencies ??
436
+ (await loadProjectDependencies(projectDirectory));
437
+ const ccOverrides = options.bundleMetadata?.ccOverrides ?? fileMetadata.ccOverrides;
438
+ const metadata = {};
439
+ if (dependencies)
440
+ metadata.dependencies = dependencies;
441
+ if (ccOverrides)
442
+ metadata.ccOverrides = ccOverrides;
443
+ if (Object.keys(metadata).length > 0) {
444
+ config.bundleMetadata = metadata;
445
+ }
446
+ else {
447
+ delete config.bundleMetadata;
448
+ }
449
+ const configBytes = Buffer.from(JSON.stringify(config), 'utf8');
450
+ const configEntryName = tarJoin(rootDir, configPath);
451
+ // Build a gzip-compressed tar with all built files prefixed by rootDir and the
452
+ // config file injected at {rootDir}/{configPath}. Collect the output in memory.
453
+ const filesInArchive = [];
454
+ const gzip = zlib.createGzip();
455
+ const chunks = [];
456
+ // If the build already emitted the config file on disk, exclude it from the
457
+ // walk so the injected (resolved) config is the only copy in the archive.
458
+ // tar-fs invokes `ignore` with the absolute path of each candidate entry.
459
+ const onDiskConfigPath = path.resolve(buildPath, configPath);
460
+ const pack = tar.pack(buildPath, {
461
+ // Do not auto-finalize; we inject the config entry in finish() first.
462
+ finalize: false,
463
+ ignore(name) {
464
+ return path.resolve(name) === onDiskConfigPath;
465
+ },
466
+ map(header) {
467
+ if (header.type === 'file') {
468
+ filesInArchive.push(header.name);
469
+ }
470
+ header.name = tarJoin(rootDir, header.name);
471
+ return header;
472
+ },
473
+ finish(packStream) {
474
+ packStream.entry({ name: configEntryName }, configBytes, (err) => {
475
+ if (err) {
476
+ packStream.destroy(err);
477
+ return;
478
+ }
479
+ packStream.finalize();
480
+ });
481
+ },
482
+ });
483
+ await new Promise((resolve, reject) => {
484
+ pack.on('error', reject);
485
+ gzip.on('error', reject);
486
+ gzip.on('data', (chunk) => chunks.push(chunk));
487
+ gzip.on('end', resolve);
488
+ pack.pipe(gzip);
489
+ });
490
+ const archive = Buffer.concat(chunks);
491
+ logger.debug({ fileCount: filesInArchive.length, configEntryName, archiveBytes: archive.length }, '[MRT] v2 bundle archive created');
492
+ logger.trace({ files: filesInArchive.slice(0, 20) }, '[MRT] First 20 files in v2 archive');
493
+ return { message, archive, rootDir, configPath, matchMode, config };
494
+ }
189
495
  //# sourceMappingURL=bundle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bundle.js","sourceRoot":"","sources":["../../../../src/operations/mrt/bundle.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bundle.js","sourceRoot":"","sources":["../../../../src/operations/mrt/bundle.ts"],"names":[],"mappings":"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"}