@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
@@ -16,28 +16,27 @@
16
16
  */
17
17
  import { B2CInstance } from '../../instance/index.js';
18
18
  import { getLogger } from '../../logging/logger.js';
19
- /** A discoverable category and the OCAPI path used to list it. */
20
- const DISCOVERABLE = [
21
- { key: 'sites', path: '/sites', label: 'sites' },
22
- { key: 'catalogs', path: '/catalogs', label: 'catalogs' },
23
- { key: 'inventoryLists', path: '/inventory_lists', label: 'inventory lists' },
24
- ];
19
+ import { assertOcapiCompatibilityAllowed } from '../../clients/scapi-backend-utils.js';
20
+ import { createCatalogsBackend } from '../catalogs/index.js';
21
+ import { createSitesBackend } from '../sites/index.js';
25
22
  /** Page size for paginated list endpoints (OCAPI default is 25). */
26
23
  const PAGE_COUNT = 200;
27
24
  /**
28
- * Lists one paginated OCAPI collection, following `start`/`count` until all
25
+ * Lists inventory lists through the remaining paginated OCAPI collection,
26
+ * following `start`/`count` until all
29
27
  * documents are read. Returns the `id` of each document.
30
28
  */
31
- async function listIds(instance, path) {
29
+ async function listInventoryListIds(instance) {
30
+ assertOcapiCompatibilityAllowed(instance.apiBackend, 'inventory-list enumeration');
32
31
  const ids = [];
33
32
  let start = 0;
34
33
  // OCAPI collections page via start/count; `total` reports the full size.
35
34
  for (;;) {
36
- const { data, error } = await instance.ocapi.GET(path, {
35
+ const { data, error } = await instance.ocapi.GET('/inventory_lists', {
37
36
  params: { query: { start, count: PAGE_COUNT } },
38
37
  });
39
38
  if (error || !data) {
40
- throw new Error(error?.fault?.message ?? `Failed to list ${path}`);
39
+ throw new Error(error?.fault?.message ?? 'Failed to list inventory lists');
41
40
  }
42
41
  for (const item of data.data ?? []) {
43
42
  if (item.id) {
@@ -56,7 +55,7 @@ async function listIds(instance, path) {
56
55
  * Discovers the data units that can be exported from an instance.
57
56
  *
58
57
  * Each category is read independently: a failure in one (e.g. the OCAPI client
59
- * lacks read permission for catalogs) records a warning and leaves that list
58
+ * lacks read permission for a category) records a warning and leaves that list
60
59
  * empty rather than failing the whole discovery, so the caller can still offer
61
60
  * the categories that succeeded.
62
61
  *
@@ -72,16 +71,47 @@ async function listIds(instance, path) {
72
71
  export async function discoverExportableUnits(instance) {
73
72
  const logger = getLogger();
74
73
  const result = { sites: [], catalogs: [], inventoryLists: [], warnings: [] };
75
- await Promise.all(DISCOVERABLE.map(async ({ key, path, label }) => {
76
- try {
77
- result[key] = (await listIds(instance, path)).sort((a, b) => a.localeCompare(b));
78
- }
79
- catch (err) {
80
- const message = err instanceof Error ? err.message : String(err);
81
- logger.debug({ path, err: message }, `Failed to discover ${label}`);
82
- result.warnings.push(`Could not list ${label}: ${message}`);
83
- }
84
- }));
74
+ await Promise.all([
75
+ // Sites: SCAPI (site/sites) with OCAPI fallback.
76
+ (async () => {
77
+ try {
78
+ const sites = await createSitesBackend({ instance }).listSites();
79
+ result.sites = sites
80
+ .map((s) => s.id)
81
+ .filter((id) => !!id)
82
+ .sort((a, b) => a.localeCompare(b));
83
+ }
84
+ catch (err) {
85
+ const message = err instanceof Error ? err.message : String(err);
86
+ logger.debug({ err: message }, 'Failed to discover sites');
87
+ result.warnings.push(`Could not list sites: ${message}`);
88
+ }
89
+ })(),
90
+ // Catalogs: SCAPI product/catalogs with OCAPI fallback.
91
+ (async () => {
92
+ try {
93
+ const catalogs = await createCatalogsBackend({ instance }).listCatalogs();
94
+ result.catalogs = catalogs.map(({ id }) => id).sort((a, b) => a.localeCompare(b));
95
+ }
96
+ catch (err) {
97
+ const message = err instanceof Error ? err.message : String(err);
98
+ logger.debug({ err: message }, 'Failed to discover catalogs');
99
+ result.warnings.push(`Could not list catalogs: ${message}`);
100
+ }
101
+ })(),
102
+ // The live SCAPI inventory APIs expose list detail/records but no
103
+ // organization-level inventory-list enumeration endpoint yet.
104
+ (async () => {
105
+ try {
106
+ result.inventoryLists = (await listInventoryListIds(instance)).sort((a, b) => a.localeCompare(b));
107
+ }
108
+ catch (err) {
109
+ const message = err instanceof Error ? err.message : String(err);
110
+ logger.debug({ err: message }, 'Failed to discover inventory lists');
111
+ result.warnings.push(`Could not list inventory lists: ${message}`);
112
+ }
113
+ })(),
114
+ ]);
85
115
  return result;
86
116
  }
87
117
  //# sourceMappingURL=discover.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"discover.js","sourceRoot":"","sources":["../../../../src/operations/jobs/discover.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"discover.js","sourceRoot":"","sources":["../../../../src/operations/jobs/discover.ts"],"names":[],"mappings":"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"}
@@ -1,69 +1,26 @@
1
1
  /**
2
2
  * Job execution operations for B2C Commerce.
3
3
  *
4
- * This module provides functions for running and monitoring jobs
5
- * on B2C Commerce instances via OCAPI.
4
+ * SDK consumers should call SCAPI ops directly via the free functions
5
+ * exported from `./scapi-ops` (or, for legacy code, the OCAPI free
6
+ * functions exported from `./run`). The CLI's `BackendDispatcher`
7
+ * arbitrates between them based on the user's `apiBackend` preference;
8
+ * that policy lives in the CLI layer.
6
9
  *
7
- * ## Core Job Functions
8
- *
9
- * - {@link executeJob} - Start a job execution
10
- * - {@link getJobExecution} - Get the status of a job execution
11
- * - {@link waitForJob} - Wait for a job to complete
12
- * - {@link searchJobExecutions} - Search for job executions
13
- * - {@link findRunningJobExecution} - Find a running execution
14
- * - {@link getJobLog} - Retrieve job log file content
15
- *
16
- * ## System Jobs
17
- *
18
- * - {@link siteArchiveImport} - Import a site archive
19
- * - {@link siteArchiveImportSet} - Apply an ordered, receipted set of site archives
20
- * - {@link siteArchiveImportSplit} - Import a large site archive in multiple parts
21
- * - {@link siteArchiveExport} - Export a site archive
22
- * - {@link siteArchiveExportToPath} - Export and save to local path
23
- *
24
- * ## Usage
25
- *
26
- * ```typescript
27
- * import {
28
- * executeJob,
29
- * waitForJob,
30
- * searchJobExecutions,
31
- * siteArchiveImport,
32
- * siteArchiveExport,
33
- * } from '@salesforce/b2c-tooling-sdk/operations/jobs';
34
- * import { resolveConfig } from '@salesforce/b2c-tooling-sdk/config';
35
- *
36
- * const config = resolveConfig();
37
- * const instance = config.createB2CInstance();
38
- *
39
- * // Run a custom job and wait for completion
40
- * const execution = await executeJob(instance, 'my-job-id');
41
- * const result = await waitForJob(instance, 'my-job-id', execution.id);
42
- *
43
- * // Search for recent job executions
44
- * const results = await searchJobExecutions(instance, {
45
- * jobId: 'my-job-id',
46
- * count: 10
47
- * });
48
- *
49
- * // Import a site archive
50
- * await siteArchiveImport(instance, './my-import-data');
51
- *
52
- * // Export site data
53
- * const exportResult = await siteArchiveExport(instance, {
54
- * global_data: { meta_data: true }
55
- * });
56
- * ```
57
- *
58
- * ## Authentication
59
- *
60
- * Job operations require OAuth authentication with appropriate OCAPI permissions
61
- * for the /jobs and /job_execution_search resources.
10
+ * Ordered import sets are exported from `./import-set` and continue to use
11
+ * the site-archive/WebDAV workflow.
62
12
  *
63
13
  * @module operations/jobs
64
14
  */
65
15
  export { executeJob, getJobExecution, waitForJob, searchJobExecutions, findRunningJobExecution, getJobLog, getJobErrorMessage, JobExecutionError, } from './run.js';
66
16
  export type { JobExecution, JobStepExecution, JobExecutionStatus, JobExecutionParameter, ExecuteJobOptions, WaitForJobOptions, WaitForJobPollInfo, SearchJobExecutionsOptions, JobExecutionSearchResult, } from './run.js';
17
+ export { executeJob as scapiExecuteJob, getJobExecution as scapiGetJobExecution, searchJobExecutions as scapiSearchJobExecutions, deleteJobExecution as scapiDeleteJobExecution, getJobLog as scapiGetJobLog, ScapiJobStartError, } from './scapi-ops.js';
18
+ export type { ExecuteJobScapiOptions, SearchJobExecutionsScapiOptions } from './scapi-ops.js';
19
+ export type { JobExecutionInfo, JobStepExecutionResult, JobExecutionSearchResults } from './types.js';
20
+ export { waitForJobExecution, CanonicalJobExecutionError } from './wait-canonical.js';
21
+ export { mapOcapiExecution, mapOcapiSearchResult, mapCanonicalToOcapiExecution } from './ocapi-mapping.js';
22
+ export { runSystemJob } from './run-system-job.js';
23
+ export type { SystemJobSpec } from './run-system-job.js';
67
24
  export { siteArchiveImport, siteArchiveImportSplit, siteArchiveExport, siteArchiveExportToBuffer, siteArchiveExportToPath, } from './site-archive.js';
68
25
  export { discoverImportSet, siteArchiveImportSet, ImportSetStateError } from './import-set.js';
69
26
  export type { DiscoverImportSetOptions, ImportSetItem, ImportSetReceipt, ImportSetItemResult, ImportSetResult, ImportSetEvent, ImportSetLockOwner, SiteArchiveImportSetOptions, } from './import-set.js';
@@ -6,70 +6,26 @@
6
6
  /**
7
7
  * Job execution operations for B2C Commerce.
8
8
  *
9
- * This module provides functions for running and monitoring jobs
10
- * on B2C Commerce instances via OCAPI.
9
+ * SDK consumers should call SCAPI ops directly via the free functions
10
+ * exported from `./scapi-ops` (or, for legacy code, the OCAPI free
11
+ * functions exported from `./run`). The CLI's `BackendDispatcher`
12
+ * arbitrates between them based on the user's `apiBackend` preference;
13
+ * that policy lives in the CLI layer.
11
14
  *
12
- * ## Core Job Functions
13
- *
14
- * - {@link executeJob} - Start a job execution
15
- * - {@link getJobExecution} - Get the status of a job execution
16
- * - {@link waitForJob} - Wait for a job to complete
17
- * - {@link searchJobExecutions} - Search for job executions
18
- * - {@link findRunningJobExecution} - Find a running execution
19
- * - {@link getJobLog} - Retrieve job log file content
20
- *
21
- * ## System Jobs
22
- *
23
- * - {@link siteArchiveImport} - Import a site archive
24
- * - {@link siteArchiveImportSet} - Apply an ordered, receipted set of site archives
25
- * - {@link siteArchiveImportSplit} - Import a large site archive in multiple parts
26
- * - {@link siteArchiveExport} - Export a site archive
27
- * - {@link siteArchiveExportToPath} - Export and save to local path
28
- *
29
- * ## Usage
30
- *
31
- * ```typescript
32
- * import {
33
- * executeJob,
34
- * waitForJob,
35
- * searchJobExecutions,
36
- * siteArchiveImport,
37
- * siteArchiveExport,
38
- * } from '@salesforce/b2c-tooling-sdk/operations/jobs';
39
- * import { resolveConfig } from '@salesforce/b2c-tooling-sdk/config';
40
- *
41
- * const config = resolveConfig();
42
- * const instance = config.createB2CInstance();
43
- *
44
- * // Run a custom job and wait for completion
45
- * const execution = await executeJob(instance, 'my-job-id');
46
- * const result = await waitForJob(instance, 'my-job-id', execution.id);
47
- *
48
- * // Search for recent job executions
49
- * const results = await searchJobExecutions(instance, {
50
- * jobId: 'my-job-id',
51
- * count: 10
52
- * });
53
- *
54
- * // Import a site archive
55
- * await siteArchiveImport(instance, './my-import-data');
56
- *
57
- * // Export site data
58
- * const exportResult = await siteArchiveExport(instance, {
59
- * global_data: { meta_data: true }
60
- * });
61
- * ```
62
- *
63
- * ## Authentication
64
- *
65
- * Job operations require OAuth authentication with appropriate OCAPI permissions
66
- * for the /jobs and /job_execution_search resources.
15
+ * Ordered import sets are exported from `./import-set` and continue to use
16
+ * the site-archive/WebDAV workflow.
67
17
  *
68
18
  * @module operations/jobs
69
19
  */
70
- // Core job execution
20
+ // OCAPI ops (legacy — will be removed when OCAPI is deprecated)
71
21
  export { executeJob, getJobExecution, waitForJob, searchJobExecutions, findRunningJobExecution, getJobLog, getJobErrorMessage, JobExecutionError, } from './run.js';
72
- // Site archive import/export
22
+ // SCAPI ops + canonical types (primary surface)
23
+ export { executeJob as scapiExecuteJob, getJobExecution as scapiGetJobExecution, searchJobExecutions as scapiSearchJobExecutions, deleteJobExecution as scapiDeleteJobExecution, getJobLog as scapiGetJobLog, ScapiJobStartError, } from './scapi-ops.js';
24
+ // Backend-agnostic helpers
25
+ export { waitForJobExecution, CanonicalJobExecutionError } from './wait-canonical.js';
26
+ export { mapOcapiExecution, mapOcapiSearchResult, mapCanonicalToOcapiExecution } from './ocapi-mapping.js';
27
+ export { runSystemJob } from './run-system-job.js';
28
+ // Site archive import/export (uses OCAPI WebDAV path)
73
29
  export { siteArchiveImport, siteArchiveImportSplit, siteArchiveExport, siteArchiveExportToBuffer, siteArchiveExportToPath, } from './site-archive.js';
74
30
  // Ordered, idempotent import sets
75
31
  export { discoverImportSet, siteArchiveImportSet, ImportSetStateError } from './import-set.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/operations/jobs/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG;AAEH,qBAAqB;AACrB,OAAO,EACL,UAAU,EACV,eAAe,EACf,UAAU,EACV,mBAAmB,EACnB,uBAAuB,EACvB,SAAS,EACT,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,UAAU,CAAC;AAclB,6BAA6B;AAC7B,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,iBAAiB,EACjB,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,mBAAmB,CAAC;AAE3B,kCAAkC;AAClC,OAAO,EAAC,iBAAiB,EAAE,oBAAoB,EAAE,mBAAmB,EAAC,MAAM,iBAAiB,CAAC;AA0B7F,iCAAiC;AACjC,OAAO,EAAC,uBAAuB,EAAC,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/operations/jobs/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH;;;;;;;;;;;;;GAaG;AAEH,gEAAgE;AAChE,OAAO,EACL,UAAU,EACV,eAAe,EACf,UAAU,EACV,mBAAmB,EACnB,uBAAuB,EACvB,SAAS,EACT,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,UAAU,CAAC;AAclB,gDAAgD;AAChD,OAAO,EACL,UAAU,IAAI,eAAe,EAC7B,eAAe,IAAI,oBAAoB,EACvC,mBAAmB,IAAI,wBAAwB,EAC/C,kBAAkB,IAAI,uBAAuB,EAC7C,SAAS,IAAI,cAAc,EAC3B,kBAAkB,GACnB,MAAM,gBAAgB,CAAC;AAIxB,2BAA2B;AAC3B,OAAO,EAAC,mBAAmB,EAAE,0BAA0B,EAAC,MAAM,qBAAqB,CAAC;AACpF,OAAO,EAAC,iBAAiB,EAAE,oBAAoB,EAAE,4BAA4B,EAAC,MAAM,oBAAoB,CAAC;AACzG,OAAO,EAAC,YAAY,EAAC,MAAM,qBAAqB,CAAC;AAGjD,sDAAsD;AACtD,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACtB,iBAAiB,EACjB,yBAAyB,EACzB,uBAAuB,GACxB,MAAM,mBAAmB,CAAC;AAE3B,kCAAkC;AAClC,OAAO,EAAC,iBAAiB,EAAE,oBAAoB,EAAE,mBAAmB,EAAC,MAAM,iBAAiB,CAAC;AA0B7F,iCAAiC;AACjC,OAAO,EAAC,uBAAuB,EAAC,MAAM,eAAe,CAAC"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Mapping helpers from raw OCAPI shapes (snake_case) to canonical
3
+ * {@link JobExecutionInfo} (camelCase).
4
+ *
5
+ * These exist as transitional utilities to bridge the two API shapes. They
6
+ * will be deleted along with the OCAPI ops once OCAPI is removed.
7
+ *
8
+ * @module operations/jobs/ocapi-mapping
9
+ */
10
+ import type { JobExecution } from './run.js';
11
+ import type { JobExecutionInfo, JobExecutionSearchResults } from './types.js';
12
+ /** Map a raw OCAPI {@link JobExecution} into the canonical shape. */
13
+ export declare function mapOcapiExecution(ocapi: JobExecution): JobExecutionInfo;
14
+ /**
15
+ * Map a canonical {@link JobExecutionInfo} back into the raw OCAPI
16
+ * {@link JobExecution} (snake_case) shape.
17
+ *
18
+ * The reverse of {@link mapOcapiExecution}. System-job operations
19
+ * (site-archive import/export, CAP install/uninstall) expose the raw OCAPI
20
+ * `JobExecution` in their public result/error types; when those operations are
21
+ * served over SCAPI, the canonical result is mapped back through this so the
22
+ * public contract stays identical across backends.
23
+ *
24
+ * Prefers the original OCAPI payload when present in `_raw` (lossless
25
+ * round-trip for the OCAPI path); otherwise projects the canonical fields.
26
+ */
27
+ export declare function mapCanonicalToOcapiExecution(canonical: JobExecutionInfo): JobExecution;
28
+ /** Map a raw OCAPI search result into the canonical shape. */
29
+ export declare function mapOcapiSearchResult(result: {
30
+ total: number;
31
+ count: number;
32
+ start: number;
33
+ hits: JobExecution[];
34
+ }): JobExecutionSearchResults;
@@ -0,0 +1,100 @@
1
+ function mapStepExecution(step) {
2
+ return {
3
+ id: step.id,
4
+ stepId: step.step_id,
5
+ executionStatus: step.execution_status,
6
+ exitStatus: step.exit_status
7
+ ? {
8
+ code: step.exit_status.code ?? '',
9
+ message: step.exit_status.message,
10
+ status: step.exit_status.status,
11
+ }
12
+ : undefined,
13
+ duration: step.duration,
14
+ };
15
+ }
16
+ /** Map a raw OCAPI {@link JobExecution} into the canonical shape. */
17
+ export function mapOcapiExecution(ocapi) {
18
+ return {
19
+ id: ocapi.id ?? '',
20
+ jobId: ocapi.job_id ?? '',
21
+ executionStatus: (ocapi.execution_status ?? 'unknown'),
22
+ exitStatus: ocapi.exit_status
23
+ ? {
24
+ code: ocapi.exit_status.code ?? '',
25
+ message: ocapi.exit_status.message,
26
+ status: ocapi.exit_status.status,
27
+ }
28
+ : undefined,
29
+ startTime: ocapi.start_time,
30
+ endTime: ocapi.end_time,
31
+ duration: ocapi.duration,
32
+ stepExecutions: ocapi.step_executions?.map(mapStepExecution),
33
+ logFilePath: ocapi.log_file_path,
34
+ isLogFileExisting: ocapi.is_log_file_existing,
35
+ parameters: ocapi.parameters,
36
+ _raw: ocapi,
37
+ };
38
+ }
39
+ function mapCanonicalStepExecution(step) {
40
+ return {
41
+ id: step.id,
42
+ step_id: step.stepId,
43
+ execution_status: step.executionStatus,
44
+ exit_status: step.exitStatus
45
+ ? {
46
+ code: step.exitStatus.code,
47
+ message: step.exitStatus.message,
48
+ status: step.exitStatus.status,
49
+ }
50
+ : undefined,
51
+ duration: step.duration,
52
+ };
53
+ }
54
+ /**
55
+ * Map a canonical {@link JobExecutionInfo} back into the raw OCAPI
56
+ * {@link JobExecution} (snake_case) shape.
57
+ *
58
+ * The reverse of {@link mapOcapiExecution}. System-job operations
59
+ * (site-archive import/export, CAP install/uninstall) expose the raw OCAPI
60
+ * `JobExecution` in their public result/error types; when those operations are
61
+ * served over SCAPI, the canonical result is mapped back through this so the
62
+ * public contract stays identical across backends.
63
+ *
64
+ * Prefers the original OCAPI payload when present in `_raw` (lossless
65
+ * round-trip for the OCAPI path); otherwise projects the canonical fields.
66
+ */
67
+ export function mapCanonicalToOcapiExecution(canonical) {
68
+ if (canonical._raw && typeof canonical._raw === 'object' && 'execution_status' in canonical._raw) {
69
+ return canonical._raw;
70
+ }
71
+ return {
72
+ id: canonical.id,
73
+ job_id: canonical.jobId,
74
+ execution_status: canonical.executionStatus,
75
+ exit_status: canonical.exitStatus
76
+ ? {
77
+ code: canonical.exitStatus.code,
78
+ message: canonical.exitStatus.message,
79
+ status: canonical.exitStatus.status,
80
+ }
81
+ : undefined,
82
+ start_time: canonical.startTime,
83
+ end_time: canonical.endTime,
84
+ duration: canonical.duration,
85
+ step_executions: canonical.stepExecutions?.map(mapCanonicalStepExecution),
86
+ log_file_path: canonical.logFilePath,
87
+ is_log_file_existing: canonical.isLogFileExisting,
88
+ parameters: canonical.parameters,
89
+ };
90
+ }
91
+ /** Map a raw OCAPI search result into the canonical shape. */
92
+ export function mapOcapiSearchResult(result) {
93
+ return {
94
+ total: result.total,
95
+ limit: result.count,
96
+ offset: result.start,
97
+ hits: result.hits.map(mapOcapiExecution),
98
+ };
99
+ }
100
+ //# sourceMappingURL=ocapi-mapping.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ocapi-mapping.js","sourceRoot":"","sources":["../../../../src/operations/jobs/ocapi-mapping.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,81 @@
1
+ /**
2
+ * Dual-backend runner for B2C Commerce **system jobs** (site-archive
3
+ * import/export, CAP install/uninstall).
4
+ *
5
+ * These operations all follow the same shape: trigger a named system job,
6
+ * wait for it to finish, and surface the job log on failure. This module
7
+ * centralizes that flow over either backend so each operation declares only
8
+ * its job ID and request body — not the OCAPI-vs-SCAPI plumbing.
9
+ *
10
+ * ## Contract
11
+ *
12
+ * The public result/error types of every caller expose the **raw OCAPI**
13
+ * {@link JobExecution} (snake_case). To keep that contract identical across
14
+ * backends, the SCAPI path maps its canonical result back to the OCAPI shape
15
+ * via {@link mapCanonicalToOcapiExecution}, and a SCAPI job failure is
16
+ * re-thrown as the raw {@link JobExecutionError} — so a caller's existing
17
+ * `catch (JobExecutionError) → getJobLog(instance, err.execution)` works
18
+ * unchanged regardless of which backend served the job.
19
+ *
20
+ * ## Backend selection & fallback
21
+ *
22
+ * Honors {@link B2CInstance.apiBackend}:
23
+ * - `'ocapi'`: always OCAPI.
24
+ * - `'scapi'`: always SCAPI (throws if the instance can't reach SCAPI).
25
+ * - `'auto'` (default): SCAPI when {@link B2CInstance.scapiClientConfig} is
26
+ * available, else OCAPI. **Fallback to OCAPI happens only when the SCAPI
27
+ * start provably created no job** — an Account Manager scope rejection
28
+ * (before the POST) or a client-side rejection status (the server refused
29
+ * the start). Ambiguous failures (network drop after dispatch, timeout,
30
+ * 5xx) and any post-start failure propagate without a re-run, because
31
+ * re-running a mutating system job over OCAPI could execute it twice. See
32
+ * {@link isSafeStartFallback}.
33
+ *
34
+ * ## Lifecycle
35
+ *
36
+ * Lives alongside the other transitional jobs plumbing. When OCAPI is removed,
37
+ * delete the OCAPI branch and inline the SCAPI calls.
38
+ *
39
+ * @module operations/jobs/run-system-job
40
+ */
41
+ import type { B2CInstance } from '../../instance/index.js';
42
+ import { type JobExecution, type WaitForJobOptions } from './run.js';
43
+ /**
44
+ * Declarative description of a system job to run. The operation supplies its
45
+ * job ID and the two request-body forms; this module drives the rest.
46
+ */
47
+ export interface SystemJobSpec {
48
+ /** System job ID, e.g. `sfcc-site-archive-import`. */
49
+ jobId: string;
50
+ /**
51
+ * System-job configuration sent on both APIs (e.g.
52
+ * `{file_name}`, `{export_file, data_units}`, or the CAP `{app_name, ...}`
53
+ * shape). These system jobs retain snake_case fields on SCAPI. When the
54
+ * instance rejects it with `UnknownPropertyException`, the
55
+ * OCAPI path retries with {@link parameters}.
56
+ */
57
+ body: Record<string, unknown>;
58
+ /**
59
+ * Job parameters (`[{name, value}]`) for the OCAPI internal-user retry.
60
+ * System jobs do not use the generic SCAPI JobExecutionRequest body.
61
+ */
62
+ parameters: Array<{
63
+ name: string;
64
+ value: string;
65
+ }>;
66
+ /** Scopes named in the OCAPI-deprecation error (the rw jobs scope). */
67
+ deprecatedScopes?: string[];
68
+ /** Whether to wait for completion (default `true`). */
69
+ wait?: boolean;
70
+ /** Wait options forwarded to the poll loop. */
71
+ waitOptions?: WaitForJobOptions;
72
+ /** Human-readable verb for error messages, e.g. `'execute import job'`. */
73
+ failVerb: string;
74
+ }
75
+ /**
76
+ * Starts a system job (waiting for completion unless `spec.wait === false`)
77
+ * and returns the raw OCAPI {@link JobExecution}. Throws {@link JobExecutionError}
78
+ * (raw) when the job fails, or {@link OcapiDeprecatedError} when the only
79
+ * reachable backend is a deprecated OCAPI.
80
+ */
81
+ export declare function runSystemJob(instance: B2CInstance, spec: SystemJobSpec): Promise<JobExecution>;