@salesforce/b2c-tooling-sdk 1.24.2 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (460) hide show
  1. package/data/content-schemas/componenttype.json +0 -30
  2. package/data/scapi-snippets/campaign-promotions.js +40 -0
  3. package/data/scapi-snippets/code-version-inspect.js +31 -0
  4. package/data/scapi-snippets/create-product.js +108 -0
  5. package/data/scapi-snippets/failed-job-triage.js +37 -0
  6. package/data/scapi-snippets/job-execution-inspect.js +52 -0
  7. package/data/scapi-snippets/job-execution-review.js +46 -0
  8. package/data/scapi-snippets/manifest.json +220 -0
  9. package/data/scapi-snippets/site-cartridge-inspect.js +27 -0
  10. package/data/tooling/index.json +80 -116
  11. package/dist/esm/auth/index.d.ts +2 -2
  12. package/dist/esm/auth/index.js +1 -1
  13. package/dist/esm/auth/index.js.map +1 -1
  14. package/dist/esm/auth/oauth-implicit.d.ts +1 -0
  15. package/dist/esm/auth/oauth-implicit.js +1 -0
  16. package/dist/esm/auth/oauth-implicit.js.map +1 -1
  17. package/dist/esm/auth/oauth-jwt.d.ts +18 -4
  18. package/dist/esm/auth/oauth-jwt.js +67 -17
  19. package/dist/esm/auth/oauth-jwt.js.map +1 -1
  20. package/dist/esm/auth/oauth-pkce-fallback.d.ts +1 -0
  21. package/dist/esm/auth/oauth-pkce-fallback.js +1 -0
  22. package/dist/esm/auth/oauth-pkce-fallback.js.map +1 -1
  23. package/dist/esm/auth/oauth-pkce.d.ts +1 -0
  24. package/dist/esm/auth/oauth-pkce.js +1 -0
  25. package/dist/esm/auth/oauth-pkce.js.map +1 -1
  26. package/dist/esm/auth/oauth.d.ts +55 -6
  27. package/dist/esm/auth/oauth.js +139 -21
  28. package/dist/esm/auth/oauth.js.map +1 -1
  29. package/dist/esm/auth/resolve.d.ts +37 -0
  30. package/dist/esm/auth/resolve.js +48 -0
  31. package/dist/esm/auth/resolve.js.map +1 -1
  32. package/dist/esm/auth/types.d.ts +44 -0
  33. package/dist/esm/auth/types.js.map +1 -1
  34. package/dist/esm/cli/base-command.d.ts +9 -0
  35. package/dist/esm/cli/base-command.js +31 -0
  36. package/dist/esm/cli/base-command.js.map +1 -1
  37. package/dist/esm/cli/bm-command.d.ts +15 -0
  38. package/dist/esm/cli/bm-command.js +25 -0
  39. package/dist/esm/cli/bm-command.js.map +1 -0
  40. package/dist/esm/cli/code-command.d.ts +14 -0
  41. package/dist/esm/cli/code-command.js +22 -0
  42. package/dist/esm/cli/code-command.js.map +1 -0
  43. package/dist/esm/cli/config.js +3 -0
  44. package/dist/esm/cli/config.js.map +1 -1
  45. package/dist/esm/cli/index.d.ts +5 -1
  46. package/dist/esm/cli/index.js +7 -1
  47. package/dist/esm/cli/index.js.map +1 -1
  48. package/dist/esm/cli/instance-command.d.ts +45 -0
  49. package/dist/esm/cli/instance-command.js +66 -1
  50. package/dist/esm/cli/instance-command.js.map +1 -1
  51. package/dist/esm/cli/job-command.d.ts +37 -16
  52. package/dist/esm/cli/job-command.js +73 -23
  53. package/dist/esm/cli/job-command.js.map +1 -1
  54. package/dist/esm/cli/mrt-command.d.ts +138 -9
  55. package/dist/esm/cli/mrt-command.js +277 -16
  56. package/dist/esm/cli/mrt-command.js.map +1 -1
  57. package/dist/esm/cli/oauth-command.d.ts +1 -1
  58. package/dist/esm/cli/oauth-command.js +2 -0
  59. package/dist/esm/cli/oauth-command.js.map +1 -1
  60. package/dist/esm/cli/webdav-command.d.ts +1 -0
  61. package/dist/esm/clients/cdn-zones.js +2 -5
  62. package/dist/esm/clients/cdn-zones.js.map +1 -1
  63. package/dist/esm/clients/cip.d.ts +12 -3
  64. package/dist/esm/clients/cip.js +85 -30
  65. package/dist/esm/clients/cip.js.map +1 -1
  66. package/dist/esm/clients/custom-apis.js +2 -5
  67. package/dist/esm/clients/custom-apis.js.map +1 -1
  68. package/dist/esm/clients/dual-backend-factory.d.ts +70 -0
  69. package/dist/esm/clients/dual-backend-factory.js +48 -0
  70. package/dist/esm/clients/dual-backend-factory.js.map +1 -0
  71. package/dist/esm/clients/error-utils.d.ts +62 -0
  72. package/dist/esm/clients/error-utils.js +98 -0
  73. package/dist/esm/clients/error-utils.js.map +1 -1
  74. package/dist/esm/clients/granular-replications.js +2 -5
  75. package/dist/esm/clients/granular-replications.js.map +1 -1
  76. package/dist/esm/clients/index.d.ts +28 -3
  77. package/dist/esm/clients/index.js +24 -2
  78. package/dist/esm/clients/index.js.map +1 -1
  79. package/dist/esm/clients/metrics.js +2 -5
  80. package/dist/esm/clients/metrics.js.map +1 -1
  81. package/dist/esm/clients/middleware-registry.d.ts +4 -2
  82. package/dist/esm/clients/middleware-registry.js +3 -1
  83. package/dist/esm/clients/middleware-registry.js.map +1 -1
  84. package/dist/esm/clients/middleware.d.ts +39 -0
  85. package/dist/esm/clients/middleware.js +126 -25
  86. package/dist/esm/clients/middleware.js.map +1 -1
  87. package/dist/esm/clients/mrt-b2c.js +3 -0
  88. package/dist/esm/clients/mrt-b2c.js.map +1 -1
  89. package/dist/esm/clients/mrt.d.ts +27 -10
  90. package/dist/esm/clients/mrt.generated.d.ts +77 -0
  91. package/dist/esm/clients/mrt.js +68 -0
  92. package/dist/esm/clients/mrt.js.map +1 -1
  93. package/dist/esm/clients/preferences.js +2 -5
  94. package/dist/esm/clients/preferences.js.map +1 -1
  95. package/dist/esm/clients/scapi-backend-utils.d.ts +163 -0
  96. package/dist/esm/clients/scapi-backend-utils.js +180 -0
  97. package/dist/esm/clients/scapi-backend-utils.js.map +1 -0
  98. package/dist/esm/clients/scapi-catalogs.d.ts +12 -0
  99. package/dist/esm/clients/scapi-catalogs.generated.d.ts +104 -0
  100. package/dist/esm/clients/scapi-catalogs.generated.js +6 -0
  101. package/dist/esm/clients/scapi-catalogs.generated.js.map +1 -0
  102. package/dist/esm/clients/scapi-catalogs.js +14 -0
  103. package/dist/esm/clients/scapi-catalogs.js.map +1 -0
  104. package/dist/esm/clients/scapi-client-factory.d.ts +81 -0
  105. package/dist/esm/clients/scapi-client-factory.js +84 -0
  106. package/dist/esm/clients/scapi-client-factory.js.map +1 -0
  107. package/dist/esm/clients/scapi-fallback-backend.d.ts +34 -0
  108. package/dist/esm/clients/scapi-fallback-backend.js +132 -0
  109. package/dist/esm/clients/scapi-fallback-backend.js.map +1 -0
  110. package/dist/esm/clients/scapi-jobs.d.ts +32 -0
  111. package/dist/esm/clients/scapi-jobs.generated.d.ts +535 -0
  112. package/dist/esm/clients/scapi-jobs.generated.js +6 -0
  113. package/dist/esm/clients/scapi-jobs.generated.js.map +1 -0
  114. package/dist/esm/clients/scapi-jobs.js +24 -0
  115. package/dist/esm/clients/scapi-jobs.js.map +1 -0
  116. package/dist/esm/clients/scapi-merchant-roles.d.ts +19 -0
  117. package/dist/esm/clients/scapi-merchant-roles.generated.d.ts +726 -0
  118. package/dist/esm/clients/scapi-merchant-roles.generated.js +6 -0
  119. package/dist/esm/clients/scapi-merchant-roles.generated.js.map +1 -0
  120. package/dist/esm/clients/scapi-merchant-roles.js +12 -0
  121. package/dist/esm/clients/scapi-merchant-roles.js.map +1 -0
  122. package/dist/esm/clients/scapi-merchant-users.d.ts +19 -0
  123. package/dist/esm/clients/scapi-merchant-users.generated.d.ts +300 -0
  124. package/dist/esm/clients/scapi-merchant-users.generated.js +6 -0
  125. package/dist/esm/clients/scapi-merchant-users.generated.js.map +1 -0
  126. package/dist/esm/clients/scapi-merchant-users.js +12 -0
  127. package/dist/esm/clients/scapi-merchant-users.js.map +1 -0
  128. package/dist/esm/clients/scapi-schemas.js +2 -5
  129. package/dist/esm/clients/scapi-schemas.js.map +1 -1
  130. package/dist/esm/clients/scapi-scope-tier.d.ts +78 -0
  131. package/dist/esm/clients/scapi-scope-tier.js +113 -0
  132. package/dist/esm/clients/scapi-scope-tier.js.map +1 -0
  133. package/dist/esm/clients/scapi-scripts.d.ts +17 -0
  134. package/dist/esm/clients/scapi-scripts.generated.d.ts +392 -0
  135. package/dist/esm/clients/scapi-scripts.generated.js +6 -0
  136. package/dist/esm/clients/scapi-scripts.generated.js.map +1 -0
  137. package/dist/esm/clients/scapi-scripts.js +12 -0
  138. package/dist/esm/clients/scapi-scripts.js.map +1 -0
  139. package/dist/esm/clients/scapi-sites.d.ts +26 -0
  140. package/dist/esm/clients/scapi-sites.generated.d.ts +500 -0
  141. package/dist/esm/clients/scapi-sites.generated.js +6 -0
  142. package/dist/esm/clients/scapi-sites.generated.js.map +1 -0
  143. package/dist/esm/clients/scapi-sites.js +25 -0
  144. package/dist/esm/clients/scapi-sites.js.map +1 -0
  145. package/dist/esm/clients/slas-shopper.d.ts +19 -0
  146. package/dist/esm/clients/slas-shopper.generated.d.ts +165 -0
  147. package/dist/esm/clients/slas-shopper.generated.js +6 -0
  148. package/dist/esm/clients/slas-shopper.generated.js.map +1 -0
  149. package/dist/esm/clients/slas-shopper.js +35 -0
  150. package/dist/esm/clients/slas-shopper.js.map +1 -0
  151. package/dist/esm/clients/storefront-deployments.d.ts +56 -0
  152. package/dist/esm/clients/storefront-deployments.generated.d.ts +558 -0
  153. package/dist/esm/clients/storefront-deployments.generated.js +6 -0
  154. package/dist/esm/clients/storefront-deployments.generated.js.map +1 -0
  155. package/dist/esm/clients/storefront-deployments.js +24 -0
  156. package/dist/esm/clients/storefront-deployments.js.map +1 -0
  157. package/dist/esm/clients/webdav.js +4 -1
  158. package/dist/esm/clients/webdav.js.map +1 -1
  159. package/dist/esm/compat/dispatcher.d.ts +49 -0
  160. package/dist/esm/compat/dispatcher.js +124 -0
  161. package/dist/esm/compat/dispatcher.js.map +1 -0
  162. package/dist/esm/compat/index.d.ts +10 -0
  163. package/dist/esm/compat/index.js +15 -0
  164. package/dist/esm/compat/index.js.map +1 -0
  165. package/dist/esm/compat/jobs-backend.d.ts +31 -0
  166. package/dist/esm/compat/jobs-backend.js +76 -0
  167. package/dist/esm/compat/jobs-backend.js.map +1 -0
  168. package/dist/esm/config/dw-json.d.ts +4 -0
  169. package/dist/esm/config/dw-json.js.map +1 -1
  170. package/dist/esm/config/index.d.ts +1 -1
  171. package/dist/esm/config/index.js.map +1 -1
  172. package/dist/esm/config/mapping.d.ts +2 -5
  173. package/dist/esm/config/mapping.js +25 -1
  174. package/dist/esm/config/mapping.js.map +1 -1
  175. package/dist/esm/config/resolved-config.d.ts +2 -2
  176. package/dist/esm/config/resolved-config.js.map +1 -1
  177. package/dist/esm/config/sources/env-source.js +17 -0
  178. package/dist/esm/config/sources/env-source.js.map +1 -1
  179. package/dist/esm/config/types.d.ts +21 -2
  180. package/dist/esm/docs/search.js +2 -25
  181. package/dist/esm/docs/search.js.map +1 -1
  182. package/dist/esm/guidance/catalog.d.ts +37 -0
  183. package/dist/esm/guidance/catalog.js +282 -0
  184. package/dist/esm/guidance/catalog.js.map +1 -0
  185. package/dist/esm/guidance/index.d.ts +8 -0
  186. package/dist/esm/guidance/index.js +14 -0
  187. package/dist/esm/guidance/index.js.map +1 -0
  188. package/dist/esm/guidance/markdown.d.ts +10 -0
  189. package/dist/esm/guidance/markdown.js +52 -0
  190. package/dist/esm/guidance/markdown.js.map +1 -0
  191. package/dist/esm/guidance/types.d.ts +92 -0
  192. package/dist/esm/guidance/types.js +17 -0
  193. package/dist/esm/guidance/types.js.map +1 -0
  194. package/dist/esm/index.d.ts +14 -5
  195. package/dist/esm/index.js +14 -2
  196. package/dist/esm/index.js.map +1 -1
  197. package/dist/esm/instance/index.d.ts +96 -2
  198. package/dist/esm/instance/index.js +98 -5
  199. package/dist/esm/instance/index.js.map +1 -1
  200. package/dist/esm/operations/bm-roles/backend.d.ts +4 -0
  201. package/dist/esm/operations/bm-roles/backend.js +11 -0
  202. package/dist/esm/operations/bm-roles/backend.js.map +1 -0
  203. package/dist/esm/operations/bm-roles/index.d.ts +6 -0
  204. package/dist/esm/operations/bm-roles/index.js +4 -0
  205. package/dist/esm/operations/bm-roles/index.js.map +1 -1
  206. package/dist/esm/operations/bm-roles/ocapi-backend.d.ts +17 -0
  207. package/dist/esm/operations/bm-roles/ocapi-backend.js +151 -0
  208. package/dist/esm/operations/bm-roles/ocapi-backend.js.map +1 -0
  209. package/dist/esm/operations/bm-roles/roles.js +13 -17
  210. package/dist/esm/operations/bm-roles/roles.js.map +1 -1
  211. package/dist/esm/operations/bm-roles/scapi-backend.d.ts +27 -0
  212. package/dist/esm/operations/bm-roles/scapi-backend.js +138 -0
  213. package/dist/esm/operations/bm-roles/scapi-backend.js.map +1 -0
  214. package/dist/esm/operations/bm-roles/types.d.ts +49 -0
  215. package/dist/esm/operations/bm-roles/types.js +2 -0
  216. package/dist/esm/operations/bm-roles/types.js.map +1 -0
  217. package/dist/esm/operations/bm-users/backend.d.ts +4 -0
  218. package/dist/esm/operations/bm-users/backend.js +11 -0
  219. package/dist/esm/operations/bm-users/backend.js.map +1 -0
  220. package/dist/esm/operations/bm-users/index.d.ts +11 -3
  221. package/dist/esm/operations/bm-users/index.js +9 -3
  222. package/dist/esm/operations/bm-users/index.js.map +1 -1
  223. package/dist/esm/operations/bm-users/ocapi-backend.d.ts +13 -0
  224. package/dist/esm/operations/bm-users/ocapi-backend.js +92 -0
  225. package/dist/esm/operations/bm-users/ocapi-backend.js.map +1 -0
  226. package/dist/esm/operations/bm-users/scapi-backend.d.ts +23 -0
  227. package/dist/esm/operations/bm-users/scapi-backend.js +199 -0
  228. package/dist/esm/operations/bm-users/scapi-backend.js.map +1 -0
  229. package/dist/esm/operations/bm-users/types.d.ts +99 -0
  230. package/dist/esm/operations/bm-users/types.js +2 -0
  231. package/dist/esm/operations/bm-users/types.js.map +1 -0
  232. package/dist/esm/operations/bm-users/users.d.ts +4 -3
  233. package/dist/esm/operations/bm-users/users.js +23 -19
  234. package/dist/esm/operations/bm-users/users.js.map +1 -1
  235. package/dist/esm/operations/cap/install.js +23 -45
  236. package/dist/esm/operations/cap/install.js.map +1 -1
  237. package/dist/esm/operations/cap/list.js +4 -8
  238. package/dist/esm/operations/cap/list.js.map +1 -1
  239. package/dist/esm/operations/cap/uninstall.js +17 -37
  240. package/dist/esm/operations/cap/uninstall.js.map +1 -1
  241. package/dist/esm/operations/catalogs/catalogs-backend.d.ts +4 -0
  242. package/dist/esm/operations/catalogs/catalogs-backend.js +16 -0
  243. package/dist/esm/operations/catalogs/catalogs-backend.js.map +1 -0
  244. package/dist/esm/operations/catalogs/catalogs-types.d.ts +14 -0
  245. package/dist/esm/operations/catalogs/catalogs-types.js +2 -0
  246. package/dist/esm/operations/catalogs/catalogs-types.js.map +1 -0
  247. package/dist/esm/operations/catalogs/index.d.ts +7 -0
  248. package/dist/esm/operations/catalogs/index.js +10 -0
  249. package/dist/esm/operations/catalogs/index.js.map +1 -0
  250. package/dist/esm/operations/catalogs/ocapi-catalogs-backend.d.ts +8 -0
  251. package/dist/esm/operations/catalogs/ocapi-catalogs-backend.js +36 -0
  252. package/dist/esm/operations/catalogs/ocapi-catalogs-backend.js.map +1 -0
  253. package/dist/esm/operations/catalogs/scapi-catalogs-backend.d.ts +15 -0
  254. package/dist/esm/operations/catalogs/scapi-catalogs-backend.js +42 -0
  255. package/dist/esm/operations/catalogs/scapi-catalogs-backend.js.map +1 -0
  256. package/dist/esm/operations/cip/index.js +10 -2
  257. package/dist/esm/operations/cip/index.js.map +1 -1
  258. package/dist/esm/operations/cip/reports.js +19 -3
  259. package/dist/esm/operations/cip/reports.js.map +1 -1
  260. package/dist/esm/operations/cip/types.d.ts +8 -4
  261. package/dist/esm/operations/code/deploy.d.ts +3 -0
  262. package/dist/esm/operations/code/deploy.js +5 -3
  263. package/dist/esm/operations/code/deploy.js.map +1 -1
  264. package/dist/esm/operations/code/download.d.ts +3 -0
  265. package/dist/esm/operations/code/download.js +5 -5
  266. package/dist/esm/operations/code/download.js.map +1 -1
  267. package/dist/esm/operations/code/index.d.ts +7 -1
  268. package/dist/esm/operations/code/index.js +5 -1
  269. package/dist/esm/operations/code/index.js.map +1 -1
  270. package/dist/esm/operations/code/ocapi-scripts-backend.d.ts +12 -0
  271. package/dist/esm/operations/code/ocapi-scripts-backend.js +40 -0
  272. package/dist/esm/operations/code/ocapi-scripts-backend.js.map +1 -0
  273. package/dist/esm/operations/code/scapi-scripts-backend.d.ts +22 -0
  274. package/dist/esm/operations/code/scapi-scripts-backend.js +94 -0
  275. package/dist/esm/operations/code/scapi-scripts-backend.js.map +1 -0
  276. package/dist/esm/operations/code/scripts-backend.d.ts +17 -0
  277. package/dist/esm/operations/code/scripts-backend.js +40 -0
  278. package/dist/esm/operations/code/scripts-backend.js.map +1 -0
  279. package/dist/esm/operations/code/scripts-types.d.ts +43 -0
  280. package/dist/esm/operations/code/scripts-types.js +2 -0
  281. package/dist/esm/operations/code/scripts-types.js.map +1 -0
  282. package/dist/esm/operations/code/upload-files.d.ts +6 -0
  283. package/dist/esm/operations/code/upload-files.js +58 -7
  284. package/dist/esm/operations/code/upload-files.js.map +1 -1
  285. package/dist/esm/operations/code/versions.d.ts +0 -20
  286. package/dist/esm/operations/code/versions.js +16 -51
  287. package/dist/esm/operations/code/versions.js.map +1 -1
  288. package/dist/esm/operations/code/watch.d.ts +3 -0
  289. package/dist/esm/operations/code/watch.js +3 -2
  290. package/dist/esm/operations/code/watch.js.map +1 -1
  291. package/dist/esm/operations/jobs/discover.d.ts +1 -1
  292. package/dist/esm/operations/jobs/discover.js +51 -21
  293. package/dist/esm/operations/jobs/discover.js.map +1 -1
  294. package/dist/esm/operations/jobs/index.d.ts +14 -57
  295. package/dist/esm/operations/jobs/index.js +15 -59
  296. package/dist/esm/operations/jobs/index.js.map +1 -1
  297. package/dist/esm/operations/jobs/ocapi-mapping.d.ts +34 -0
  298. package/dist/esm/operations/jobs/ocapi-mapping.js +100 -0
  299. package/dist/esm/operations/jobs/ocapi-mapping.js.map +1 -0
  300. package/dist/esm/operations/jobs/run-system-job.d.ts +81 -0
  301. package/dist/esm/operations/jobs/run-system-job.js +137 -0
  302. package/dist/esm/operations/jobs/run-system-job.js.map +1 -0
  303. package/dist/esm/operations/jobs/run.js +16 -4
  304. package/dist/esm/operations/jobs/run.js.map +1 -1
  305. package/dist/esm/operations/jobs/scapi-ops.d.ts +61 -0
  306. package/dist/esm/operations/jobs/scapi-ops.js +214 -0
  307. package/dist/esm/operations/jobs/scapi-ops.js.map +1 -0
  308. package/dist/esm/operations/jobs/site-archive.js +28 -66
  309. package/dist/esm/operations/jobs/site-archive.js.map +1 -1
  310. package/dist/esm/operations/jobs/types.d.ts +46 -0
  311. package/dist/esm/operations/jobs/types.js +2 -0
  312. package/dist/esm/operations/jobs/types.js.map +1 -0
  313. package/dist/esm/operations/jobs/wait-canonical.d.ts +28 -0
  314. package/dist/esm/operations/jobs/wait-canonical.js +48 -0
  315. package/dist/esm/operations/jobs/wait-canonical.js.map +1 -0
  316. package/dist/esm/operations/mrt/bundle.d.ts +164 -2
  317. package/dist/esm/operations/mrt/bundle.js +315 -9
  318. package/dist/esm/operations/mrt/bundle.js.map +1 -1
  319. package/dist/esm/operations/mrt/deployment.d.ts +221 -0
  320. package/dist/esm/operations/mrt/deployment.js +239 -0
  321. package/dist/esm/operations/mrt/deployment.js.map +1 -1
  322. package/dist/esm/operations/mrt/index.d.ts +8 -6
  323. package/dist/esm/operations/mrt/index.js +5 -3
  324. package/dist/esm/operations/mrt/index.js.map +1 -1
  325. package/dist/esm/operations/mrt/mrt-backend.d.ts +117 -0
  326. package/dist/esm/operations/mrt/mrt-backend.js +84 -0
  327. package/dist/esm/operations/mrt/mrt-backend.js.map +1 -0
  328. package/dist/esm/operations/mrt/push.d.ts +83 -1
  329. package/dist/esm/operations/mrt/push.js +102 -1
  330. package/dist/esm/operations/mrt/push.js.map +1 -1
  331. package/dist/esm/operations/sites/cartridges.d.ts +10 -8
  332. package/dist/esm/operations/sites/cartridges.js +35 -67
  333. package/dist/esm/operations/sites/cartridges.js.map +1 -1
  334. package/dist/esm/operations/sites/index.d.ts +10 -6
  335. package/dist/esm/operations/sites/index.js +9 -6
  336. package/dist/esm/operations/sites/index.js.map +1 -1
  337. package/dist/esm/operations/sites/ocapi-sites-backend.d.ts +20 -0
  338. package/dist/esm/operations/sites/ocapi-sites-backend.js +98 -0
  339. package/dist/esm/operations/sites/ocapi-sites-backend.js.map +1 -0
  340. package/dist/esm/operations/sites/scapi-sites-backend.d.ts +33 -0
  341. package/dist/esm/operations/sites/scapi-sites-backend.js +166 -0
  342. package/dist/esm/operations/sites/scapi-sites-backend.js.map +1 -0
  343. package/dist/esm/operations/sites/sites-backend.d.ts +9 -0
  344. package/dist/esm/operations/sites/sites-backend.js +16 -0
  345. package/dist/esm/operations/sites/sites-backend.js.map +1 -0
  346. package/dist/esm/operations/sites/sites-scopes.d.ts +2 -0
  347. package/dist/esm/operations/sites/sites-scopes.js +16 -0
  348. package/dist/esm/operations/sites/sites-scopes.js.map +1 -0
  349. package/dist/esm/operations/sites/sites-types.d.ts +50 -0
  350. package/dist/esm/operations/sites/sites-types.js +2 -0
  351. package/dist/esm/operations/sites/sites-types.js.map +1 -0
  352. package/dist/esm/safety/safety-middleware.d.ts +7 -3
  353. package/dist/esm/safety/safety-middleware.js +13 -9
  354. package/dist/esm/safety/safety-middleware.js.map +1 -1
  355. package/dist/esm/scaffold/sources.js +6 -9
  356. package/dist/esm/scaffold/sources.js.map +1 -1
  357. package/dist/esm/scapi/auth-primitives.d.ts +3 -0
  358. package/dist/esm/scapi/auth-primitives.js +104 -0
  359. package/dist/esm/scapi/auth-primitives.js.map +1 -0
  360. package/dist/esm/scapi/authentication.d.ts +30 -0
  361. package/dist/esm/scapi/authentication.js +136 -0
  362. package/dist/esm/scapi/authentication.js.map +1 -0
  363. package/dist/esm/scapi/catalog.d.ts +29 -0
  364. package/dist/esm/scapi/catalog.js +81 -0
  365. package/dist/esm/scapi/catalog.js.map +1 -0
  366. package/dist/esm/scapi/index.d.ts +12 -0
  367. package/dist/esm/scapi/index.js +13 -0
  368. package/dist/esm/scapi/index.js.map +1 -0
  369. package/dist/esm/scapi/request.d.ts +15 -0
  370. package/dist/esm/scapi/request.js +239 -0
  371. package/dist/esm/scapi/request.js.map +1 -0
  372. package/dist/esm/scapi/runtime.d.ts +20 -0
  373. package/dist/esm/scapi/runtime.js +131 -0
  374. package/dist/esm/scapi/runtime.js.map +1 -0
  375. package/dist/esm/scapi/snippets.d.ts +22 -0
  376. package/dist/esm/scapi/snippets.js +140 -0
  377. package/dist/esm/scapi/snippets.js.map +1 -0
  378. package/dist/esm/scapi/worker-source.d.ts +2 -0
  379. package/dist/esm/scapi/worker-source.js +101 -0
  380. package/dist/esm/scapi/worker-source.js.map +1 -0
  381. package/dist/esm/search/ranking.d.ts +12 -0
  382. package/dist/esm/search/ranking.js +28 -0
  383. package/dist/esm/search/ranking.js.map +1 -0
  384. package/dist/esm/skills/sources.d.ts +2 -2
  385. package/dist/esm/skills/sources.js +10 -2
  386. package/dist/esm/skills/sources.js.map +1 -1
  387. package/dist/esm/skills/types.d.ts +1 -1
  388. package/dist/esm/slas/token.js +33 -94
  389. package/dist/esm/slas/token.js.map +1 -1
  390. package/dist/esm/slas/types.d.ts +5 -0
  391. package/node_modules/@salesforce/b2c-api-schemas/README.md +23 -0
  392. package/node_modules/@salesforce/b2c-api-schemas/manifest.json +576 -0
  393. package/node_modules/@salesforce/b2c-api-schemas/package.json +15 -0
  394. package/node_modules/@salesforce/b2c-api-schemas/scapi/cdn/zones/v1.json +11490 -0
  395. package/node_modules/@salesforce/b2c-api-schemas/scapi/checkout/orders/v1.json +3589 -0
  396. package/node_modules/@salesforce/b2c-api-schemas/scapi/checkout/shopper-baskets/v1.json +6544 -0
  397. package/node_modules/@salesforce/b2c-api-schemas/scapi/checkout/shopper-baskets/v2.json +7148 -0
  398. package/node_modules/@salesforce/b2c-api-schemas/scapi/checkout/shopper-orders/v1.json +4411 -0
  399. package/node_modules/@salesforce/b2c-api-schemas/scapi/checkout/shopper-payments/v1.json +643 -0
  400. package/node_modules/@salesforce/b2c-api-schemas/scapi/configuration/cors/v1.json +295 -0
  401. package/node_modules/@salesforce/b2c-api-schemas/scapi/configuration/preferences/v1.json +2036 -0
  402. package/node_modules/@salesforce/b2c-api-schemas/scapi/configuration/shopper-configurations/v1.json +327 -0
  403. package/node_modules/@salesforce/b2c-api-schemas/scapi/configuration/timeouts/v1.json +234 -0
  404. package/node_modules/@salesforce/b2c-api-schemas/scapi/custom-object/custom-objects/v1.json +1542 -0
  405. package/node_modules/@salesforce/b2c-api-schemas/scapi/custom-object/shopper-custom-objects/v1.json +405 -0
  406. package/node_modules/@salesforce/b2c-api-schemas/scapi/customer/customers/v1.json +2531 -0
  407. package/node_modules/@salesforce/b2c-api-schemas/scapi/customer/shopper-customers/v1.json +7944 -0
  408. package/node_modules/@salesforce/b2c-api-schemas/scapi/dx/custom-apis/v1.json +292 -0
  409. package/node_modules/@salesforce/b2c-api-schemas/scapi/dx/object-definitions/v1.json +2537 -0
  410. package/node_modules/@salesforce/b2c-api-schemas/scapi/dx/scapi-schemas/v1.json +517 -0
  411. package/node_modules/@salesforce/b2c-api-schemas/scapi/dx/scripts/v1.json +589 -0
  412. package/node_modules/@salesforce/b2c-api-schemas/scapi/experience/experiences/v1.json +3600 -0
  413. package/node_modules/@salesforce/b2c-api-schemas/scapi/experience/shopper-experience/v1.json +2319 -0
  414. package/node_modules/@salesforce/b2c-api-schemas/scapi/intelligence/analytics/v1.json +658 -0
  415. package/node_modules/@salesforce/b2c-api-schemas/scapi/inventory/availability/v1.json +2649 -0
  416. package/node_modules/@salesforce/b2c-api-schemas/scapi/inventory/impex/v1.json +6615 -0
  417. package/node_modules/@salesforce/b2c-api-schemas/scapi/inventory/reservation/v1.json +2103 -0
  418. package/node_modules/@salesforce/b2c-api-schemas/scapi/merchant/roles/v1.json +1760 -0
  419. package/node_modules/@salesforce/b2c-api-schemas/scapi/merchant/users/v1.json +640 -0
  420. package/node_modules/@salesforce/b2c-api-schemas/scapi/observability/metrics/v1.json +1263 -0
  421. package/node_modules/@salesforce/b2c-api-schemas/scapi/operation/jobs/v1.json +1259 -0
  422. package/node_modules/@salesforce/b2c-api-schemas/scapi/operation/replications/v1.json +760 -0
  423. package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/assignments/v1.json +1047 -0
  424. package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/campaigns/v1.json +1929 -0
  425. package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/coupons/v1.json +1542 -0
  426. package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/gift-certificates/v1.json +1093 -0
  427. package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/promotions/v1.json +1324 -0
  428. package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/shopper-gift-certificates/v1.json +325 -0
  429. package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/shopper-promotions/v1.json +631 -0
  430. package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/source-code-groups/v1.json +1036 -0
  431. package/node_modules/@salesforce/b2c-api-schemas/scapi/product/catalogs/v1.json +5175 -0
  432. package/node_modules/@salesforce/b2c-api-schemas/scapi/product/inventory-lists/v1.json +866 -0
  433. package/node_modules/@salesforce/b2c-api-schemas/scapi/product/price-books/v1.json +747 -0
  434. package/node_modules/@salesforce/b2c-api-schemas/scapi/product/products/v1.json +5076 -0
  435. package/node_modules/@salesforce/b2c-api-schemas/scapi/product/shopper-availability/v1.json +509 -0
  436. package/node_modules/@salesforce/b2c-api-schemas/scapi/product/shopper-delivery-estimates/v1.json +517 -0
  437. package/node_modules/@salesforce/b2c-api-schemas/scapi/product/shopper-products/v1.json +2961 -0
  438. package/node_modules/@salesforce/b2c-api-schemas/scapi/search/shopper-search/v1.json +1889 -0
  439. package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/auth/v1.json +7014 -0
  440. package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/auth-admin/v1.json +1898 -0
  441. package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/consents/v1.json +622 -0
  442. package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/shopper-agents/v1.json +192 -0
  443. package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/shopper-consents/v1.json +913 -0
  444. package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/shopper-context/v1.json +630 -0
  445. package/node_modules/@salesforce/b2c-api-schemas/scapi/site/seo/v1.json +223 -0
  446. package/node_modules/@salesforce/b2c-api-schemas/scapi/site/shopper-seo/v1.json +423 -0
  447. package/node_modules/@salesforce/b2c-api-schemas/scapi/site/sites/v1.json +1088 -0
  448. package/node_modules/@salesforce/b2c-api-schemas/scapi/store/shopper-stores/v1.json +798 -0
  449. package/node_modules/@salesforce/b2c-api-schemas/scapi/store/store-redirect-mappings/v1.json +607 -0
  450. package/node_modules/@salesforce/b2c-api-schemas/scapi/store/stores/v1.json +1418 -0
  451. package/package.json +24 -3
  452. package/specs/dx-scripts-v1.yaml +409 -0
  453. package/specs/merchant-roles-v1.yaml +1085 -0
  454. package/specs/merchant-users-v1.yaml +398 -0
  455. package/specs/mrt-api-v1.json +105 -0
  456. package/specs/operations-jobs-v1.yaml +793 -0
  457. package/specs/product-catalogs-v1.yaml +111 -0
  458. package/specs/site-sites-v1.yaml +667 -0
  459. package/specs/slas-shopper-v1.yaml +83 -0
  460. package/specs/storefront-deployments-v1.yaml +630 -0
@@ -0,0 +1,94 @@
1
+ import { createScapiScriptsClient, SCAPI_SCRIPTS_RW_SCOPES, SCAPI_SCRIPTS_READ_SCOPES, } from '../../clients/scapi-scripts.js';
2
+ import { buildTenantScope, toOrganizationId } from '../../clients/custom-apis.js';
3
+ import { ScopeTierManager } from '../../clients/scapi-scope-tier.js';
4
+ import { createScapiRequestError } from '../../clients/scapi-backend-utils.js';
5
+ import { getLogger } from '../../logging/logger.js';
6
+ function mapScapiCodeVersion(scapi) {
7
+ return {
8
+ id: scapi.id ?? '',
9
+ active: scapi.active,
10
+ cartridges: scapi.cartridges,
11
+ compatibilityMode: scapi.compatibilityMode,
12
+ activationTime: scapi.activationTime,
13
+ lastModificationTime: scapi.lastModificationTime,
14
+ rollback: scapi.rollback,
15
+ totalSize: scapi.totalSize,
16
+ webDavUrl: scapi.webDavUrl,
17
+ _raw: scapi,
18
+ };
19
+ }
20
+ export class ScapiScriptsBackend {
21
+ config;
22
+ name = 'scapi';
23
+ organizationId;
24
+ scopeTier;
25
+ constructor(config) {
26
+ this.config = config;
27
+ this.organizationId = toOrganizationId(config.tenantId);
28
+ this.scopeTier = new ScopeTierManager({
29
+ buildClient: (scopes) => this.buildClient(scopes),
30
+ rwScopes: SCAPI_SCRIPTS_RW_SCOPES,
31
+ readScopes: SCAPI_SCRIPTS_READ_SCOPES,
32
+ domainName: 'Scripts',
33
+ });
34
+ }
35
+ async listCodeVersions() {
36
+ return this.scopeTier.tryRead(async (client) => {
37
+ const { data, error, response } = await client.GET('/organizations/{organizationId}/code-versions', {
38
+ params: { path: { organizationId: this.organizationId } },
39
+ });
40
+ if (error || !data) {
41
+ throw createScapiRequestError(error, response, 'Failed to list code versions');
42
+ }
43
+ const result = data;
44
+ return (result.data ?? []).map(mapScapiCodeVersion);
45
+ });
46
+ }
47
+ async getActiveCodeVersion() {
48
+ const versions = await this.listCodeVersions();
49
+ return versions.find((v) => v.active);
50
+ }
51
+ async activateCodeVersion(codeVersionId) {
52
+ const client = this.scopeTier.getClientForWrite();
53
+ const logger = getLogger();
54
+ logger.debug({ codeVersionId }, `Activating code version ${codeVersionId}`);
55
+ const { error, response } = await client.PATCH('/organizations/{organizationId}/code-versions/{codeVersionId}', {
56
+ params: { path: { organizationId: this.organizationId, codeVersionId } },
57
+ body: { active: true },
58
+ });
59
+ if (error) {
60
+ throw createScapiRequestError(error, response, `Failed to activate code version ${codeVersionId}`);
61
+ }
62
+ logger.debug({ codeVersionId }, `Code version ${codeVersionId} activated`);
63
+ // SCAPI PATCH active=true is idempotent and does not surface a distinct
64
+ // "already active" fault the way OCAPI does, so report a normal activation.
65
+ return { alreadyActive: false };
66
+ }
67
+ async deleteCodeVersion(codeVersionId) {
68
+ const client = this.scopeTier.getClientForWrite();
69
+ const { error, response } = await client.DELETE('/organizations/{organizationId}/code-versions/{codeVersionId}', {
70
+ params: { path: { organizationId: this.organizationId, codeVersionId } },
71
+ });
72
+ if (error) {
73
+ throw createScapiRequestError(error, response, `Failed to delete code version ${codeVersionId}`);
74
+ }
75
+ }
76
+ async createCodeVersion(codeVersionId) {
77
+ const client = this.scopeTier.getClientForWrite();
78
+ const { error, response } = await client.PUT('/organizations/{organizationId}/code-versions/{codeVersionId}', {
79
+ params: { path: { organizationId: this.organizationId, codeVersionId } },
80
+ });
81
+ if (error) {
82
+ throw createScapiRequestError(error, response, `Failed to create code version ${codeVersionId}`);
83
+ }
84
+ }
85
+ buildClient(scopes) {
86
+ const clientConfig = {
87
+ shortCode: this.config.shortCode,
88
+ tenantId: this.config.tenantId,
89
+ scopes: [...scopes, buildTenantScope(this.config.tenantId)],
90
+ };
91
+ return createScapiScriptsClient(clientConfig, this.config.auth);
92
+ }
93
+ }
94
+ //# sourceMappingURL=scapi-scripts-backend.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scapi-scripts-backend.js","sourceRoot":"","sources":["../../../../src/operations/code/scapi-scripts-backend.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ import type { ScriptsBackend } from './scripts-types.js';
2
+ import { type DualBackendConfig } from '../../clients/dual-backend-factory.js';
3
+ export type ScriptsBackendConfig = DualBackendConfig;
4
+ export declare function createScriptsBackend(config: ScriptsBackendConfig): ScriptsBackend;
5
+ /**
6
+ * Reloads (re-activates) a code version using a toggle-activate technique.
7
+ *
8
+ * Activates an alternate version, then re-activates the target. This forces
9
+ * the instance to reload the code (rebuild caches, re-register custom APIs,
10
+ * etc.). Works on top of any `ScriptsBackend` since it only uses
11
+ * list+activate primitives.
12
+ *
13
+ * @param backend - Scripts backend (OCAPI, SCAPI, or fallback)
14
+ * @param codeVersionId - Code version to reload (defaults to current active)
15
+ * @throws Error if no alternate code version is available for toggling
16
+ */
17
+ export declare function reloadCodeVersion(backend: ScriptsBackend, codeVersionId?: string): Promise<void>;
@@ -0,0 +1,40 @@
1
+ import { OcapiScriptsBackend } from './ocapi-scripts-backend.js';
2
+ import { ScapiScriptsBackend } from './scapi-scripts-backend.js';
3
+ import { createDualBackend } from '../../clients/dual-backend-factory.js';
4
+ export function createScriptsBackend(config) {
5
+ return createDualBackend(config, {
6
+ domainName: 'Scripts',
7
+ Scapi: ScapiScriptsBackend,
8
+ Ocapi: OcapiScriptsBackend,
9
+ });
10
+ }
11
+ /**
12
+ * Reloads (re-activates) a code version using a toggle-activate technique.
13
+ *
14
+ * Activates an alternate version, then re-activates the target. This forces
15
+ * the instance to reload the code (rebuild caches, re-register custom APIs,
16
+ * etc.). Works on top of any `ScriptsBackend` since it only uses
17
+ * list+activate primitives.
18
+ *
19
+ * @param backend - Scripts backend (OCAPI, SCAPI, or fallback)
20
+ * @param codeVersionId - Code version to reload (defaults to current active)
21
+ * @throws Error if no alternate code version is available for toggling
22
+ */
23
+ export async function reloadCodeVersion(backend, codeVersionId) {
24
+ const versions = await backend.listCodeVersions();
25
+ const activeVersion = versions.find((v) => v.active);
26
+ const targetVersion = codeVersionId ?? activeVersion?.id;
27
+ if (!targetVersion) {
28
+ throw new Error('No code version specified and no active version found');
29
+ }
30
+ // If the target is already active, toggle through an alternate first.
31
+ if (activeVersion?.id === targetVersion) {
32
+ const alternateVersion = versions.find((v) => v.id !== targetVersion);
33
+ if (!alternateVersion) {
34
+ throw new Error('Cannot reload: no alternate code version available for toggle');
35
+ }
36
+ await backend.activateCodeVersion(alternateVersion.id);
37
+ }
38
+ await backend.activateCodeVersion(targetVersion);
39
+ }
40
+ //# sourceMappingURL=scripts-backend.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scripts-backend.js","sourceRoot":"","sources":["../../../../src/operations/code/scripts-backend.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,mBAAmB,EAAC,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAC,mBAAmB,EAAC,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAC,iBAAiB,EAAyB,MAAM,uCAAuC,CAAC;AAIhG,MAAM,UAAU,oBAAoB,CAAC,MAA4B;IAC/D,OAAO,iBAAiB,CAAiB,MAAM,EAAE;QAC/C,UAAU,EAAE,SAAS;QACrB,KAAK,EAAE,mBAAmB;QAC1B,KAAK,EAAE,mBAAmB;KAC3B,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,OAAuB,EAAE,aAAsB;IACrF,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAClD,MAAM,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACrD,MAAM,aAAa,GAAG,aAAa,IAAI,aAAa,EAAE,EAAE,CAAC;IAEzD,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC3E,CAAC;IAED,sEAAsE;IACtE,IAAI,aAAa,EAAE,EAAE,KAAK,aAAa,EAAE,CAAC;QACxC,MAAM,gBAAgB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,aAAa,CAAC,CAAC;QACtE,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;QACnF,CAAC;QACD,MAAM,OAAO,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,OAAO,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;AACnD,CAAC"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Canonical types and backend interface for code-version (Scripts) operations.
3
+ *
4
+ * The OCAPI Data API and the SCAPI Scripts API both manage code versions on a
5
+ * B2C instance. We expose a single canonical shape here so command code is
6
+ * agnostic to which backend serves the request.
7
+ *
8
+ * @module operations/code/scripts-types
9
+ */
10
+ import type { BackendBase } from '../../clients/scapi-backend-utils.js';
11
+ import type { CodeVersionActivationResult } from './versions.js';
12
+ export type { CodeVersionActivationResult };
13
+ /**
14
+ * Canonical code version. CamelCase fields match SCAPI; OCAPI mapping
15
+ * converts from snake_case.
16
+ */
17
+ export interface CodeVersionInfo {
18
+ id: string;
19
+ active?: boolean;
20
+ cartridges?: string[];
21
+ compatibilityMode?: string;
22
+ activationTime?: string;
23
+ lastModificationTime?: string;
24
+ rollback?: boolean;
25
+ totalSize?: number;
26
+ webDavUrl?: string;
27
+ /** Original backend response, for advanced consumers. */
28
+ _raw?: unknown;
29
+ }
30
+ /**
31
+ * Backend contract for code-version operations.
32
+ *
33
+ * Reload is implemented as a backend-agnostic helper (`reloadCodeVersion`
34
+ * in the operations module) since it's just `activate(alternate) +
35
+ * activate(target)` on top of these primitives.
36
+ */
37
+ export interface ScriptsBackend extends BackendBase {
38
+ listCodeVersions(): Promise<CodeVersionInfo[]>;
39
+ getActiveCodeVersion(): Promise<CodeVersionInfo | undefined>;
40
+ activateCodeVersion(codeVersionId: string): Promise<CodeVersionActivationResult>;
41
+ deleteCodeVersion(codeVersionId: string): Promise<void>;
42
+ createCodeVersion(codeVersionId: string): Promise<void>;
43
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=scripts-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scripts-types.js","sourceRoot":"","sources":["../../../../src/operations/code/scripts-types.ts"],"names":[],"mappings":""}
@@ -13,6 +13,12 @@ export interface FileChange {
13
13
  * Callbacks for file upload/delete operations.
14
14
  */
15
15
  export interface UploadFilesOptions {
16
+ /** Reject missing/unreadable files instead of skipping them. */
17
+ strict?: boolean;
18
+ /** Maximum total uncompressed upload bytes. */
19
+ maxBytes?: number;
20
+ /** Report cleanup failures after a successful upload without replaying writes. */
21
+ onWarning?: (message: string) => void;
16
22
  /** Called after files are successfully uploaded */
17
23
  onUpload?: (files: string[]) => void;
18
24
  /** Called after files are successfully deleted */
@@ -5,6 +5,7 @@
5
5
  */
6
6
  import path from 'node:path';
7
7
  import fs from 'node:fs';
8
+ import { randomUUID } from 'node:crypto';
8
9
  import JSZip from 'jszip';
9
10
  import { getLogger } from '../../logging/logger.js';
10
11
  const UNZIP_BODY = new URLSearchParams({ method: 'UNZIP' }).toString();
@@ -16,12 +17,15 @@ const UNZIP_BODY = new URLSearchParams({ method: 'UNZIP' }).toString();
16
17
  * @returns The file change with src and dest, or undefined if the path is not inside any cartridge
17
18
  */
18
19
  export function fileToCartridgePath(absolutePath, cartridges) {
19
- const cartridge = cartridges.find((c) => absolutePath.startsWith(c.src));
20
+ const cartridge = cartridges.find((c) => {
21
+ const relative = path.relative(c.src, absolutePath);
22
+ return relative !== '' && relative !== '..' && !relative.startsWith(`..${path.sep}`) && !path.isAbsolute(relative);
23
+ });
20
24
  if (!cartridge) {
21
25
  return undefined;
22
26
  }
23
- const relativePath = absolutePath.substring(cartridge.src.length);
24
- const destPath = path.join(cartridge.dest, relativePath);
27
+ const relativePath = path.relative(cartridge.src, absolutePath);
28
+ const destPath = path.join(cartridge.dest, relativePath).split(path.sep).join('/');
25
29
  return {
26
30
  src: absolutePath,
27
31
  dest: destPath,
@@ -50,21 +54,55 @@ export async function uploadFiles(instance, codeVersion, uploads, deletes, optio
50
54
  const webdavLocation = `Cartridges/${codeVersion}`;
51
55
  const validUploadFiles = uploads.filter((f) => {
52
56
  if (!fs.existsSync(f.src)) {
57
+ if (options?.strict)
58
+ throw new Error(`Upload source does not exist: ${f.src}`);
53
59
  logger.debug({ file: f.src }, 'Skipping missing file');
54
60
  return false;
55
61
  }
56
62
  return true;
57
63
  });
58
64
  if (validUploadFiles.length > 0) {
59
- const uploadPath = `${webdavLocation}/_upload-${Date.now()}.zip`;
65
+ const uploadPath = `${webdavLocation}/_upload-${randomUUID()}.zip`;
66
+ let stage = 'preparing';
60
67
  try {
61
68
  const zip = new JSZip();
69
+ let totalBytes = 0;
62
70
  for (const f of validUploadFiles) {
63
71
  try {
64
- const content = await fs.promises.readFile(f.src);
72
+ let content;
73
+ if (options?.maxBytes !== undefined) {
74
+ const handle = await fs.promises.open(f.src, 'r');
75
+ try {
76
+ const stat = await handle.stat();
77
+ const remaining = options.maxBytes - totalBytes;
78
+ if (!stat.isFile() || stat.size > remaining)
79
+ throw new Error('Upload exceeds the file/byte limit.');
80
+ // A bounded read detects growth after stat without allocating an unbounded file.
81
+ const buffer = Buffer.alloc(stat.size + 1);
82
+ let length = 0;
83
+ while (length < buffer.length) {
84
+ const { bytesRead } = await handle.read(buffer, length, buffer.length - length);
85
+ if (!bytesRead)
86
+ break;
87
+ length += bytesRead;
88
+ }
89
+ if (length !== stat.size)
90
+ throw new Error(`Upload source changed while reading: ${f.src}`);
91
+ content = buffer.subarray(0, length);
92
+ }
93
+ finally {
94
+ await handle.close();
95
+ }
96
+ }
97
+ else {
98
+ content = await fs.promises.readFile(f.src);
99
+ }
100
+ totalBytes += content.length;
65
101
  zip.file(f.dest, content);
66
102
  }
67
103
  catch (error) {
104
+ if (options?.strict)
105
+ throw error;
68
106
  logger.warn({ file: f.src, error }, 'Failed to add file to archive');
69
107
  }
70
108
  }
@@ -73,8 +111,10 @@ export async function uploadFiles(instance, codeVersion, uploads, deletes, optio
73
111
  compression: 'DEFLATE',
74
112
  compressionOptions: { level: 5 },
75
113
  });
114
+ stage = 'uploading';
76
115
  await webdav.put(uploadPath, buffer, 'application/zip');
77
116
  logger.debug({ uploadPath }, 'Archive uploaded');
117
+ stage = 'extracting';
78
118
  const response = await webdav.request(uploadPath, {
79
119
  method: 'POST',
80
120
  body: UNZIP_BODY,
@@ -85,12 +125,23 @@ export async function uploadFiles(instance, codeVersion, uploads, deletes, optio
85
125
  if (!response.ok) {
86
126
  throw new Error(`Unzip failed: ${response.status}`);
87
127
  }
88
- await webdav.delete(uploadPath);
128
+ stage = 'cleaning';
129
+ try {
130
+ await webdav.delete(uploadPath);
131
+ }
132
+ catch (error) {
133
+ if (!options?.onWarning)
134
+ throw error;
135
+ options.onWarning(`Files uploaded, but temporary archive cleanup failed at ${uploadPath}: ${String(error)}`);
136
+ }
89
137
  logger.debug({ fileCount: validUploadFiles.length, server: instance.config.hostname }, `Uploaded ${validUploadFiles.length} file(s)`);
90
138
  options?.onUpload?.(validUploadFiles.map((f) => f.dest));
91
139
  }
92
140
  catch (error) {
93
- const err = error instanceof Error ? error : new Error(String(error));
141
+ const original = error instanceof Error ? error : new Error(String(error));
142
+ const err = options?.strict && stage !== 'preparing'
143
+ ? new Error(`Failed while ${stage} ${uploadPath}: ${original.message}. Remote files may have changed; inspect before retrying.`, { cause: original })
144
+ : original;
94
145
  logger.error({ error: err }, `Upload error: ${err.message}`);
95
146
  options?.onError?.(err);
96
147
  throw err;
@@ -1 +1 @@
1
- {"version":3,"file":"upload-files.js","sourceRoot":"","sources":["../../../../src/operations/code/upload-files.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"upload-files.js","sourceRoot":"","sources":["../../../../src/operations/code/upload-files.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAC,UAAU,EAAC,MAAM,aAAa,CAAC;AACvC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,SAAS,EAAC,MAAM,yBAAyB,CAAC;AAGlD,MAAM,UAAU,GAAG,IAAI,eAAe,CAAC,EAAC,MAAM,EAAE,OAAO,EAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;AA8BrE;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAC,YAAoB,EAAE,UAA8B;IACtF,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;QACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;QACpD,OAAO,QAAQ,KAAK,EAAE,IAAI,QAAQ,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IACrH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAEnF,OAAO;QACL,GAAG,EAAE,YAAY;QACjB,IAAI,EAAE,QAAQ;KACf,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,QAAqB,EACrB,WAAmB,EACnB,OAAqB,EACrB,OAAqB,EACrB,OAA4B;IAE5B,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;IAC/B,MAAM,cAAc,GAAG,cAAc,WAAW,EAAE,CAAC;IAEnD,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;QAC5C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;YAC1B,IAAI,OAAO,EAAE,MAAM;gBAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;YAC/E,MAAM,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,CAAC,CAAC,GAAG,EAAC,EAAE,uBAAuB,CAAC,CAAC;YACrD,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IAEH,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,MAAM,UAAU,GAAG,GAAG,cAAc,YAAY,UAAU,EAAE,MAAM,CAAC;QACnE,IAAI,KAAK,GAAG,WAAW,CAAC;QAExB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;YACxB,IAAI,UAAU,GAAG,CAAC,CAAC;YAEnB,KAAK,MAAM,CAAC,IAAI,gBAAgB,EAAE,CAAC;gBACjC,IAAI,CAAC;oBACH,IAAI,OAAe,CAAC;oBACpB,IAAI,OAAO,EAAE,QAAQ,KAAK,SAAS,EAAE,CAAC;wBACpC,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;wBAClD,IAAI,CAAC;4BACH,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;4BACjC,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,GAAG,UAAU,CAAC;4BAChD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,IAAI,GAAG,SAAS;gCAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;4BACpG,iFAAiF;4BACjF,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;4BAC3C,IAAI,MAAM,GAAG,CAAC,CAAC;4BACf,OAAO,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;gCAC9B,MAAM,EAAC,SAAS,EAAC,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;gCAC9E,IAAI,CAAC,SAAS;oCAAE,MAAM;gCACtB,MAAM,IAAI,SAAS,CAAC;4BACtB,CAAC;4BACD,IAAI,MAAM,KAAK,IAAI,CAAC,IAAI;gCAAE,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;4BAC3F,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;wBACvC,CAAC;gCAAS,CAAC;4BACT,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;wBACvB,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;oBAC9C,CAAC;oBACD,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;oBAC7B,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;gBAC5B,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,OAAO,EAAE,MAAM;wBAAE,MAAM,KAAK,CAAC;oBACjC,MAAM,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,EAAC,EAAE,+BAA+B,CAAC,CAAC;gBACrE,CAAC;YACH,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,aAAa,CAAC;gBACrC,IAAI,EAAE,YAAY;gBAClB,WAAW,EAAE,SAAS;gBACtB,kBAAkB,EAAE,EAAC,KAAK,EAAE,CAAC,EAAC;aAC/B,CAAC,CAAC;YAEH,KAAK,GAAG,WAAW,CAAC;YACpB,MAAM,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,EAAE,iBAAiB,CAAC,CAAC;YACxD,MAAM,CAAC,KAAK,CAAC,EAAC,UAAU,EAAC,EAAE,kBAAkB,CAAC,CAAC;YAE/C,KAAK,GAAG,YAAY,CAAC;YACrB,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE;gBAChD,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE;oBACP,cAAc,EAAE,mCAAmC;iBACpD;aACF,CAAC,CAAC;YAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,iBAAiB,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;YACtD,CAAC;YAED,KAAK,GAAG,UAAU,CAAC;YACnB,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YAClC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,OAAO,EAAE,SAAS;oBAAE,MAAM,KAAK,CAAC;gBACrC,OAAO,CAAC,SAAS,CAAC,2DAA2D,UAAU,KAAK,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC/G,CAAC;YAED,MAAM,CAAC,KAAK,CACV,EAAC,SAAS,EAAE,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAC,EACtE,YAAY,gBAAgB,CAAC,MAAM,UAAU,CAC9C,CAAC;YAEF,OAAO,EAAE,QAAQ,EAAE,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC3D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAC3E,MAAM,GAAG,GACP,OAAO,EAAE,MAAM,IAAI,KAAK,KAAK,WAAW;gBACtC,CAAC,CAAC,IAAI,KAAK,CACP,gBAAgB,KAAK,IAAI,UAAU,KAAK,QAAQ,CAAC,OAAO,2DAA2D,EACnH,EAAC,KAAK,EAAE,QAAQ,EAAC,CAClB;gBACH,CAAC,CAAC,QAAQ,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,EAAC,KAAK,EAAE,GAAG,EAAC,EAAE,iBAAiB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;YAC3D,OAAO,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC;YACxB,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;IAED,mFAAmF;IACnF,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACnE,MAAM,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAEhF,IAAI,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACrC,MAAM,CAAC,KAAK,CAAC,EAAC,SAAS,EAAE,qBAAqB,CAAC,MAAM,EAAC,EAAE,YAAY,qBAAqB,CAAC,MAAM,UAAU,CAAC,CAAC;QAE5G,KAAK,MAAM,CAAC,IAAI,qBAAqB,EAAE,CAAC;YACtC,MAAM,UAAU,GAAG,GAAG,cAAc,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;YACjD,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;gBAChC,MAAM,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,UAAU,EAAC,EAAE,YAAY,UAAU,EAAE,CAAC,CAAC;YAC5D,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,CAAC,EAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAC,EAAE,oBAAoB,UAAU,EAAE,CAAC,CAAC;YAC5E,CAAC;QACH,CAAC;QAED,OAAO,EAAE,QAAQ,EAAE,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAChE,CAAC;AACH,CAAC"}
@@ -57,26 +57,6 @@ export declare function getActiveCodeVersion(instance: B2CInstance): Promise<Cod
57
57
  * ```
58
58
  */
59
59
  export declare function activateCodeVersion(instance: B2CInstance, codeVersionId: string): Promise<CodeVersionActivationResult>;
60
- /**
61
- * Reloads (re-activates) the current code version.
62
- *
63
- * This performs a "toggle" activation - first activating a different code version,
64
- * then re-activating the target version. This forces the instance to reload the code.
65
- *
66
- * @param instance - B2C instance
67
- * @param codeVersionId - Code version to reload (defaults to current active)
68
- * @throws Error if reload fails or no alternate version is available
69
- *
70
- * @example
71
- * ```typescript
72
- * // Reload the currently active code version
73
- * await reloadCodeVersion(instance);
74
- *
75
- * // Reload a specific code version
76
- * await reloadCodeVersion(instance, 'v1');
77
- * ```
78
- */
79
- export declare function reloadCodeVersion(instance: B2CInstance, codeVersionId?: string): Promise<void>;
80
60
  /**
81
61
  * Deletes a code version from an instance.
82
62
  *
@@ -1,4 +1,6 @@
1
- import { getApiErrorMessage } from '../../clients/index.js';
1
+ import {} from '../../clients/index.js';
2
+ import { throwOcapiError } from '../../clients/error-utils.js';
3
+ import { SCAPI_SCRIPTS_READ_SCOPES, SCAPI_SCRIPTS_RW_SCOPES } from '../../clients/scapi-scripts.js';
2
4
  import { getLogger } from '../../logging/logger.js';
3
5
  function isAlreadyActiveFault(error, status, codeVersionId) {
4
6
  if (status !== 400 || !error || typeof error !== 'object')
@@ -27,9 +29,12 @@ function isAlreadyActiveFault(error, status, codeVersionId) {
27
29
  * ```
28
30
  */
29
31
  export async function listCodeVersions(instance) {
30
- const { data, error } = await instance.ocapi.GET('/code_versions', {});
32
+ const { data, error, response } = await instance.ocapi.GET('/code_versions', {});
31
33
  if (error) {
32
- throw new Error('Failed to list code versions', { cause: error });
34
+ throwOcapiError(error, response, 'Failed to list code versions', [
35
+ ...SCAPI_SCRIPTS_READ_SCOPES,
36
+ ...SCAPI_SCRIPTS_RW_SCOPES,
37
+ ]);
33
38
  }
34
39
  return data.data ?? [];
35
40
  }
@@ -75,58 +80,18 @@ export async function activateCodeVersion(instance, codeVersionId) {
75
80
  body: { active: true },
76
81
  });
77
82
  if (error) {
83
+ // Activating the current active version is an idempotent success.
78
84
  if (isAlreadyActiveFault(error, response.status, codeVersionId)) {
79
85
  logger.debug({ codeVersionId }, `Code version ${codeVersionId} is already active`);
80
86
  return { alreadyActive: true };
81
87
  }
82
- throw new Error(`Could not activate code version "${codeVersionId}": ${getApiErrorMessage(error, response)}`, {
83
- cause: error,
84
- });
88
+ // Deprecation-aware: names the SCAPI scope on OCAPI-disabled instances,
89
+ // otherwise throws a rich message via getApiErrorMessage.
90
+ throwOcapiError(error, response, `Could not activate code version "${codeVersionId}"`, SCAPI_SCRIPTS_RW_SCOPES);
85
91
  }
86
92
  logger.debug({ codeVersionId }, `Code version ${codeVersionId} activated`);
87
93
  return { alreadyActive: false };
88
94
  }
89
- /**
90
- * Reloads (re-activates) the current code version.
91
- *
92
- * This performs a "toggle" activation - first activating a different code version,
93
- * then re-activating the target version. This forces the instance to reload the code.
94
- *
95
- * @param instance - B2C instance
96
- * @param codeVersionId - Code version to reload (defaults to current active)
97
- * @throws Error if reload fails or no alternate version is available
98
- *
99
- * @example
100
- * ```typescript
101
- * // Reload the currently active code version
102
- * await reloadCodeVersion(instance);
103
- *
104
- * // Reload a specific code version
105
- * await reloadCodeVersion(instance, 'v1');
106
- * ```
107
- */
108
- export async function reloadCodeVersion(instance, codeVersionId) {
109
- const logger = getLogger();
110
- const versions = await listCodeVersions(instance);
111
- const activeVersion = versions.find((v) => v.active);
112
- const targetVersion = codeVersionId ?? activeVersion?.id;
113
- if (!targetVersion) {
114
- throw new Error('No code version specified and no active version found');
115
- }
116
- logger.debug({ codeVersionId: targetVersion }, `Reloading code version ${targetVersion}`);
117
- // If the target is already active, we need to toggle to another version first
118
- if (activeVersion?.id === targetVersion) {
119
- const alternateVersion = versions.find((v) => v.id !== targetVersion);
120
- if (!alternateVersion) {
121
- throw new Error('Cannot reload: no alternate code version available for toggle');
122
- }
123
- logger.debug({ codeVersionId: alternateVersion.id }, `Temporarily activating ${alternateVersion.id}`);
124
- await activateCodeVersion(instance, alternateVersion.id);
125
- }
126
- // Now activate the target version
127
- await activateCodeVersion(instance, targetVersion);
128
- logger.debug({ codeVersionId: targetVersion }, `Code version ${targetVersion} reloaded`);
129
- }
130
95
  /**
131
96
  * Deletes a code version from an instance.
132
97
  *
@@ -144,11 +109,11 @@ export async function reloadCodeVersion(instance, codeVersionId) {
144
109
  export async function deleteCodeVersion(instance, codeVersionId) {
145
110
  const logger = getLogger();
146
111
  logger.debug({ codeVersionId }, `Deleting code version ${codeVersionId}`);
147
- const { error } = await instance.ocapi.DELETE('/code_versions/{code_version_id}', {
112
+ const { error, response } = await instance.ocapi.DELETE('/code_versions/{code_version_id}', {
148
113
  params: { path: { code_version_id: codeVersionId } },
149
114
  });
150
115
  if (error) {
151
- throw new Error('Failed to delete code version', { cause: error });
116
+ throwOcapiError(error, response, 'Failed to delete code version', SCAPI_SCRIPTS_RW_SCOPES);
152
117
  }
153
118
  logger.debug({ codeVersionId }, `Code version ${codeVersionId} deleted`);
154
119
  }
@@ -169,11 +134,11 @@ export async function deleteCodeVersion(instance, codeVersionId) {
169
134
  export async function createCodeVersion(instance, codeVersionId) {
170
135
  const logger = getLogger();
171
136
  logger.debug({ codeVersionId }, `Creating code version ${codeVersionId}`);
172
- const { error } = await instance.ocapi.PUT('/code_versions/{code_version_id}', {
137
+ const { error, response } = await instance.ocapi.PUT('/code_versions/{code_version_id}', {
173
138
  params: { path: { code_version_id: codeVersionId } },
174
139
  });
175
140
  if (error) {
176
- throw new Error('Failed to create code version', { cause: error });
141
+ throwOcapiError(error, response, 'Failed to create code version', SCAPI_SCRIPTS_RW_SCOPES);
177
142
  }
178
143
  logger.debug({ codeVersionId }, `Code version ${codeVersionId} created`);
179
144
  }
@@ -1 +1 @@
1
- {"version":3,"file":"versions.js","sourceRoot":"","sources":["../../../../src/operations/code/versions.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,kBAAkB,EAAuB,MAAM,wBAAwB,CAAC;AAChF,OAAO,EAAC,SAAS,EAAC,MAAM,yBAAyB,CAAC;AAclD,SAAS,oBAAoB,CAAC,KAAc,EAAE,MAAc,EAAE,aAAqB;IACjF,IAAI,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAExE,MAAM,KAAK,GAAI,KAA2B,CAAC,KAAK,CAAC;IACjD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAEtD,MAAM,UAAU,GAAG,KAGlB,CAAC;IACF,MAAM,kBAAkB,GAAG,UAAU,CAAC,SAAS,EAAE,aAAa,CAAC;IAC/D,OAAO,CACL,UAAU,CAAC,IAAI,KAAK,kCAAkC;QACtD,CAAC,kBAAkB,KAAK,SAAS,IAAI,kBAAkB,KAAK,aAAa,CAAC,CAC3E,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,QAAqB;IAC1D,MAAM,EAAC,IAAI,EAAE,KAAK,EAAC,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;IAErE,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,8BAA8B,EAAE,EAAC,KAAK,EAAE,KAAK,EAAC,CAAC,CAAC;IAClE,CAAC;IAED,OAAQ,IAA0B,CAAC,IAAI,IAAI,EAAE,CAAC;AAChD,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,QAAqB;IAC9D,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAClD,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AACxC,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,QAAqB,EACrB,aAAqB;IAErB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,CAAC,KAAK,CAAC,EAAC,aAAa,EAAC,EAAE,2BAA2B,aAAa,EAAE,CAAC,CAAC;IAE1E,MAAM,EAAC,KAAK,EAAE,QAAQ,EAAC,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,kCAAkC,EAAE;QACvF,MAAM,EAAE,EAAC,IAAI,EAAE,EAAC,eAAe,EAAE,aAAa,EAAC,EAAC;QAChD,IAAI,EAAE,EAAC,MAAM,EAAE,IAAI,EAAC;KACrB,CAAC,CAAC;IAEH,IAAI,KAAK,EAAE,CAAC;QACV,IAAI,oBAAoB,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE,CAAC;YAChE,MAAM,CAAC,KAAK,CAAC,EAAC,aAAa,EAAC,EAAE,gBAAgB,aAAa,oBAAoB,CAAC,CAAC;YACjF,OAAO,EAAC,aAAa,EAAE,IAAI,EAAC,CAAC;QAC/B,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,oCAAoC,aAAa,MAAM,kBAAkB,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,EAAE;YAC5G,KAAK,EAAE,KAAK;SACb,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,EAAC,aAAa,EAAC,EAAE,gBAAgB,aAAa,YAAY,CAAC,CAAC;IACzE,OAAO,EAAC,aAAa,EAAE,KAAK,EAAC,CAAC;AAChC,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,QAAqB,EAAE,aAAsB;IACnF,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAElD,MAAM,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACrD,MAAM,aAAa,GAAG,aAAa,IAAI,aAAa,EAAE,EAAE,CAAC;IAEzD,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC3E,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,EAAC,aAAa,EAAE,aAAa,EAAC,EAAE,0BAA0B,aAAa,EAAE,CAAC,CAAC;IAExF,8EAA8E;IAC9E,IAAI,aAAa,EAAE,EAAE,KAAK,aAAa,EAAE,CAAC;QACxC,MAAM,gBAAgB,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,aAAa,CAAC,CAAC;QACtE,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;QACnF,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,EAAC,aAAa,EAAE,gBAAgB,CAAC,EAAE,EAAC,EAAE,0BAA0B,gBAAgB,CAAC,EAAE,EAAE,CAAC,CAAC;QACpG,MAAM,mBAAmB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,EAAG,CAAC,CAAC;IAC5D,CAAC;IAED,kCAAkC;IAClC,MAAM,mBAAmB,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;IACnD,MAAM,CAAC,KAAK,CAAC,EAAC,aAAa,EAAE,aAAa,EAAC,EAAE,gBAAgB,aAAa,WAAW,CAAC,CAAC;AACzF,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,QAAqB,EAAE,aAAqB;IAClF,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,CAAC,KAAK,CAAC,EAAC,aAAa,EAAC,EAAE,yBAAyB,aAAa,EAAE,CAAC,CAAC;IAExE,MAAM,EAAC,KAAK,EAAC,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,kCAAkC,EAAE;QAC9E,MAAM,EAAE,EAAC,IAAI,EAAE,EAAC,eAAe,EAAE,aAAa,EAAC,EAAC;KACjD,CAAC,CAAC;IAEH,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,+BAA+B,EAAE,EAAC,KAAK,EAAE,KAAK,EAAC,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,EAAC,aAAa,EAAC,EAAE,gBAAgB,aAAa,UAAU,CAAC,CAAC;AACzE,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,QAAqB,EAAE,aAAqB;IAClF,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,CAAC,KAAK,CAAC,EAAC,aAAa,EAAC,EAAE,yBAAyB,aAAa,EAAE,CAAC,CAAC;IAExE,MAAM,EAAC,KAAK,EAAC,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,kCAAkC,EAAE;QAC3E,MAAM,EAAE,EAAC,IAAI,EAAE,EAAC,eAAe,EAAE,aAAa,EAAC,EAAC;KACjD,CAAC,CAAC;IAEH,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,+BAA+B,EAAE,EAAC,KAAK,EAAE,KAAK,EAAC,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,EAAC,aAAa,EAAC,EAAE,gBAAgB,aAAa,UAAU,CAAC,CAAC;AACzE,CAAC"}
1
+ {"version":3,"file":"versions.js","sourceRoot":"","sources":["../../../../src/operations/code/versions.ts"],"names":[],"mappings":"AAMA,OAAO,EAAsB,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAC,eAAe,EAAC,MAAM,8BAA8B,CAAC;AAC7D,OAAO,EAAC,yBAAyB,EAAE,uBAAuB,EAAC,MAAM,gCAAgC,CAAC;AAClG,OAAO,EAAC,SAAS,EAAC,MAAM,yBAAyB,CAAC;AAclD,SAAS,oBAAoB,CAAC,KAAc,EAAE,MAAc,EAAE,aAAqB;IACjF,IAAI,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAExE,MAAM,KAAK,GAAI,KAA2B,CAAC,KAAK,CAAC;IACjD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAEtD,MAAM,UAAU,GAAG,KAGlB,CAAC;IACF,MAAM,kBAAkB,GAAG,UAAU,CAAC,SAAS,EAAE,aAAa,CAAC;IAC/D,OAAO,CACL,UAAU,CAAC,IAAI,KAAK,kCAAkC;QACtD,CAAC,kBAAkB,KAAK,SAAS,IAAI,kBAAkB,KAAK,aAAa,CAAC,CAC3E,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,QAAqB;IAC1D,MAAM,EAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAC,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;IAE/E,IAAI,KAAK,EAAE,CAAC;QACV,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,8BAA8B,EAAE;YAC/D,GAAG,yBAAyB;YAC5B,GAAG,uBAAuB;SAC3B,CAAC,CAAC;IACL,CAAC;IAED,OAAQ,IAA0B,CAAC,IAAI,IAAI,EAAE,CAAC;AAChD,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,QAAqB;IAC9D,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAClD,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AACxC,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,QAAqB,EACrB,aAAqB;IAErB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,CAAC,KAAK,CAAC,EAAC,aAAa,EAAC,EAAE,2BAA2B,aAAa,EAAE,CAAC,CAAC;IAE1E,MAAM,EAAC,KAAK,EAAE,QAAQ,EAAC,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,kCAAkC,EAAE;QACvF,MAAM,EAAE,EAAC,IAAI,EAAE,EAAC,eAAe,EAAE,aAAa,EAAC,EAAC;QAChD,IAAI,EAAE,EAAC,MAAM,EAAE,IAAI,EAAC;KACrB,CAAC,CAAC;IAEH,IAAI,KAAK,EAAE,CAAC;QACV,kEAAkE;QAClE,IAAI,oBAAoB,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,EAAE,CAAC;YAChE,MAAM,CAAC,KAAK,CAAC,EAAC,aAAa,EAAC,EAAE,gBAAgB,aAAa,oBAAoB,CAAC,CAAC;YACjF,OAAO,EAAC,aAAa,EAAE,IAAI,EAAC,CAAC;QAC/B,CAAC;QACD,wEAAwE;QACxE,0DAA0D;QAC1D,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,oCAAoC,aAAa,GAAG,EAAE,uBAAuB,CAAC,CAAC;IAClH,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,EAAC,aAAa,EAAC,EAAE,gBAAgB,aAAa,YAAY,CAAC,CAAC;IACzE,OAAO,EAAC,aAAa,EAAE,KAAK,EAAC,CAAC;AAChC,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,QAAqB,EAAE,aAAqB;IAClF,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,CAAC,KAAK,CAAC,EAAC,aAAa,EAAC,EAAE,yBAAyB,aAAa,EAAE,CAAC,CAAC;IAExE,MAAM,EAAC,KAAK,EAAE,QAAQ,EAAC,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,kCAAkC,EAAE;QACxF,MAAM,EAAE,EAAC,IAAI,EAAE,EAAC,eAAe,EAAE,aAAa,EAAC,EAAC;KACjD,CAAC,CAAC;IAEH,IAAI,KAAK,EAAE,CAAC;QACV,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,+BAA+B,EAAE,uBAAuB,CAAC,CAAC;IAC7F,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,EAAC,aAAa,EAAC,EAAE,gBAAgB,aAAa,UAAU,CAAC,CAAC;AACzE,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,QAAqB,EAAE,aAAqB;IAClF,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,CAAC,KAAK,CAAC,EAAC,aAAa,EAAC,EAAE,yBAAyB,aAAa,EAAE,CAAC,CAAC;IAExE,MAAM,EAAC,KAAK,EAAE,QAAQ,EAAC,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,kCAAkC,EAAE;QACrF,MAAM,EAAE,EAAC,IAAI,EAAE,EAAC,eAAe,EAAE,aAAa,EAAC,EAAC;KACjD,CAAC,CAAC;IAEH,IAAI,KAAK,EAAE,CAAC;QACV,eAAe,CAAC,KAAK,EAAE,QAAQ,EAAE,+BAA+B,EAAE,uBAAuB,CAAC,CAAC;IAC7F,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,EAAC,aAAa,EAAC,EAAE,gBAAgB,aAAa,UAAU,CAAC,CAAC;AACzE,CAAC"}
@@ -1,10 +1,13 @@
1
1
  import { type FSWatcher } from 'chokidar';
2
2
  import type { B2CInstance } from '../../instance/index.js';
3
3
  import { type CartridgeMapping, type FindCartridgesOptions } from './cartridges.js';
4
+ import type { ScriptsBackend } from './scripts-types.js';
4
5
  /**
5
6
  * Options for watching cartridges.
6
7
  */
7
8
  export interface WatchOptions extends FindCartridgesOptions {
9
+ /** Explicit code-version backend. Defaults to OCAPI for SDK compatibility. */
10
+ scriptsBackend?: ScriptsBackend;
8
11
  /** Debounce time in ms for batching file changes */
9
12
  debounceTime?: number;
10
13
  /** Callback when files are uploaded */
@@ -8,7 +8,7 @@ import { watch } from 'chokidar';
8
8
  import { getLogger } from '../../logging/logger.js';
9
9
  import { findCartridges } from './cartridges.js';
10
10
  import { fileToCartridgePath, uploadFiles } from './upload-files.js';
11
- import { getActiveCodeVersion } from './versions.js';
11
+ import { OcapiScriptsBackend } from './ocapi-scripts-backend.js';
12
12
  /** Default debounce time in ms for batching file uploads */
13
13
  const DEFAULT_DEBOUNCE_TIME = parseInt(process.env.SFCC_UPLOAD_DEBOUNCE_TIME ?? '100', 10);
14
14
  /**
@@ -58,10 +58,11 @@ export async function watchCartridges(instance, directory, options = {}) {
58
58
  const logger = getLogger();
59
59
  let codeVersion = instance.config.codeVersion;
60
60
  const debounceTime = options.debounceTime ?? DEFAULT_DEBOUNCE_TIME;
61
+ const scriptsBackend = options.scriptsBackend ?? new OcapiScriptsBackend(instance);
61
62
  // If no code version specified, get the active one
62
63
  if (!codeVersion) {
63
64
  logger.debug('No code version specified, getting active version...');
64
- const active = await getActiveCodeVersion(instance);
65
+ const active = await scriptsBackend.getActiveCodeVersion();
65
66
  if (!active?.id) {
66
67
  throw new Error('No code version specified and no active code version found');
67
68
  }
@@ -1 +1 @@
1
- {"version":3,"file":"watch.js","sourceRoot":"","sources":["../../../../src/operations/code/watch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"watch.js","sourceRoot":"","sources":["../../../../src/operations/code/watch.ts"],"names":[],"mappings":"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"}
@@ -30,7 +30,7 @@ export interface ExportableUnits {
30
30
  * Discovers the data units that can be exported from an instance.
31
31
  *
32
32
  * Each category is read independently: a failure in one (e.g. the OCAPI client
33
- * lacks read permission for catalogs) records a warning and leaves that list
33
+ * lacks read permission for a category) records a warning and leaves that list
34
34
  * empty rather than failing the whole discovery, so the caller can still offer
35
35
  * the categories that succeeded.
36
36
  *