@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,6 @@
1
+ /**
2
+ * This file was auto-generated by openapi-typescript.
3
+ * Do not make direct changes to the file.
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=scapi-merchant-roles.generated.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scapi-merchant-roles.generated.js","sourceRoot":"","sources":["../../../src/clients/scapi-merchant-roles.generated.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -0,0 +1,12 @@
1
+ import { buildScapiClient } from './scapi-client-factory.js';
2
+ export const SCAPI_MERCHANT_ROLES_READ_SCOPES = ['sfcc.roles'];
3
+ export const SCAPI_MERCHANT_ROLES_RW_SCOPES = ['sfcc.roles.rw'];
4
+ export function createScapiMerchantRolesClient(config, auth) {
5
+ return buildScapiClient({
6
+ pathSegment: 'merchant/roles/v1',
7
+ domainKey: 'scapi-merchant-roles',
8
+ defaultScopes: SCAPI_MERCHANT_ROLES_RW_SCOPES,
9
+ logPrefix: 'SCAPI-ROLES',
10
+ }, config, auth);
11
+ }
12
+ //# sourceMappingURL=scapi-merchant-roles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scapi-merchant-roles.js","sourceRoot":"","sources":["../../../src/clients/scapi-merchant-roles.ts"],"names":[],"mappings":"AAQA,OAAO,EAAC,gBAAgB,EAAyB,MAAM,2BAA2B,CAAC;AAWnF,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,YAAY,CAAC,CAAC;AAC/D,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,eAAe,CAAC,CAAC;AAIhE,MAAM,UAAU,8BAA8B,CAC5C,MAAsC,EACtC,IAAkB;IAElB,OAAO,gBAAgB,CACrB;QACE,WAAW,EAAE,mBAAmB;QAChC,SAAS,EAAE,sBAAsB;QACjC,aAAa,EAAE,8BAA8B;QAC7C,SAAS,EAAE,aAAa;KACzB,EACD,MAAM,EACN,IAAI,CACL,CAAC;AACJ,CAAC"}
@@ -0,0 +1,19 @@
1
+ import type { Client } from 'openapi-fetch';
2
+ import type { AuthStrategy } from '../auth/types.js';
3
+ import type { paths, components } from './scapi-merchant-users.generated.js';
4
+ import { type ScapiClientConfig } from './scapi-client-factory.js';
5
+ export type { paths, components };
6
+ export type ScapiMerchantUsersClient = Client<paths>;
7
+ export type ScapiMerchantUsersResponse<T> = T extends {
8
+ content: {
9
+ 'application/json': infer R;
10
+ };
11
+ } ? R : never;
12
+ export type ScapiMerchantUsersError = components['schemas']['ErrorResponse'];
13
+ export type User = components['schemas']['User'];
14
+ export type UserUpdateRequest = components['schemas']['UserUpdateRequest'];
15
+ export type UserSearch = components['schemas']['UserSearch'];
16
+ export declare const SCAPI_MERCHANT_USERS_READ_SCOPES: string[];
17
+ export declare const SCAPI_MERCHANT_USERS_RW_SCOPES: string[];
18
+ export type ScapiMerchantUsersClientConfig = ScapiClientConfig;
19
+ export declare function createScapiMerchantUsersClient(config: ScapiMerchantUsersClientConfig, auth: AuthStrategy): ScapiMerchantUsersClient;
@@ -0,0 +1,300 @@
1
+ /**
2
+ * This file was auto-generated by openapi-typescript.
3
+ * Do not make direct changes to the file.
4
+ */
5
+ export interface paths {
6
+ "/organizations/{organizationId}/users": {
7
+ parameters: {
8
+ query?: never;
9
+ header?: never;
10
+ path?: never;
11
+ cookie?: never;
12
+ };
13
+ get: operations["getUsers"];
14
+ put?: never;
15
+ post?: never;
16
+ delete?: never;
17
+ options?: never;
18
+ head?: never;
19
+ patch?: never;
20
+ trace?: never;
21
+ };
22
+ "/organizations/{organizationId}/users/{login}": {
23
+ parameters: {
24
+ query?: never;
25
+ header?: never;
26
+ path?: never;
27
+ cookie?: never;
28
+ };
29
+ get: operations["getUser"];
30
+ put: operations["createOrReplaceUser"];
31
+ post?: never;
32
+ delete: operations["deleteUser"];
33
+ options?: never;
34
+ head?: never;
35
+ patch: operations["updateUser"];
36
+ trace?: never;
37
+ };
38
+ }
39
+ export type webhooks = Record<string, never>;
40
+ export interface components {
41
+ schemas: {
42
+ OrganizationId: string;
43
+ Select: string;
44
+ /**
45
+ * Format: int32
46
+ * @default 0
47
+ */
48
+ Total: number;
49
+ ResultBase: {
50
+ /** Format: int32 */
51
+ limit: number;
52
+ total: components["schemas"]["Total"];
53
+ };
54
+ /**
55
+ * Format: int32
56
+ * @default 0
57
+ */
58
+ Offset: number;
59
+ PaginatedResultBase: {
60
+ offset: components["schemas"]["Offset"];
61
+ } & WithRequired<components["schemas"]["ResultBase"], "limit" | "total">;
62
+ LanguageCountry: string;
63
+ LanguageCode: string;
64
+ /** @default default */
65
+ DefaultFallback: string;
66
+ LocaleCode: components["schemas"]["LanguageCountry"] | components["schemas"]["LanguageCode"] | components["schemas"]["DefaultFallback"];
67
+ User: {
68
+ login: string;
69
+ password?: string;
70
+ email: string;
71
+ firstName?: string;
72
+ lastName?: string;
73
+ externalId?: string;
74
+ disabled?: boolean;
75
+ locked?: boolean;
76
+ /** Format: date */
77
+ lastLoginDate?: string;
78
+ /** Format: date-time */
79
+ passwordExpirationDate?: string;
80
+ /** Format: date-time */
81
+ passwordModificationDate?: string;
82
+ preferredDataLocale?: components["schemas"]["LocaleCode"];
83
+ preferredUiLocale?: components["schemas"]["LocaleCode"];
84
+ roles?: string[];
85
+ };
86
+ UserSearch: {
87
+ data: components["schemas"]["User"][];
88
+ } & components["schemas"]["PaginatedResultBase"];
89
+ ErrorResponse: {
90
+ title: string;
91
+ type: string;
92
+ detail: string;
93
+ instance?: string;
94
+ } & {
95
+ [key: string]: unknown;
96
+ };
97
+ UserUpdateRequest: {
98
+ email?: string;
99
+ firstName?: string;
100
+ lastName?: string;
101
+ externalId?: string;
102
+ preferredDataLocale?: components["schemas"]["LocaleCode"];
103
+ preferredUiLocale?: components["schemas"]["LocaleCode"];
104
+ };
105
+ };
106
+ responses: never;
107
+ parameters: {
108
+ organizationId: components["schemas"]["OrganizationId"];
109
+ select: components["schemas"]["Select"];
110
+ login: string;
111
+ };
112
+ requestBodies: never;
113
+ headers: never;
114
+ pathItems: never;
115
+ }
116
+ export type $defs = Record<string, never>;
117
+ export interface operations {
118
+ getUsers: {
119
+ parameters: {
120
+ query?: {
121
+ select?: components["schemas"]["Select"];
122
+ limit?: number;
123
+ offset?: number;
124
+ };
125
+ header?: never;
126
+ path: {
127
+ organizationId: components["schemas"]["OrganizationId"];
128
+ };
129
+ cookie?: never;
130
+ };
131
+ requestBody?: never;
132
+ responses: {
133
+ /** @description Returns the collection of users */
134
+ 200: {
135
+ headers: {
136
+ [name: string]: unknown;
137
+ };
138
+ content: {
139
+ "application/json": components["schemas"]["UserSearch"];
140
+ };
141
+ };
142
+ };
143
+ };
144
+ getUser: {
145
+ parameters: {
146
+ query?: never;
147
+ header?: never;
148
+ path: {
149
+ organizationId: components["schemas"]["OrganizationId"];
150
+ login: string;
151
+ };
152
+ cookie?: never;
153
+ };
154
+ requestBody?: never;
155
+ responses: {
156
+ /** @description Returns the user details */
157
+ 200: {
158
+ headers: {
159
+ [name: string]: unknown;
160
+ };
161
+ content: {
162
+ "application/json": components["schemas"]["User"];
163
+ };
164
+ };
165
+ /** @description User not found */
166
+ 404: {
167
+ headers: {
168
+ [name: string]: unknown;
169
+ };
170
+ content: {
171
+ "application/problem+json": components["schemas"]["ErrorResponse"];
172
+ };
173
+ };
174
+ };
175
+ };
176
+ createOrReplaceUser: {
177
+ parameters: {
178
+ query?: never;
179
+ header?: never;
180
+ path: {
181
+ organizationId: components["schemas"]["OrganizationId"];
182
+ login: string;
183
+ };
184
+ cookie?: never;
185
+ };
186
+ requestBody: {
187
+ content: {
188
+ "application/json": components["schemas"]["User"];
189
+ };
190
+ };
191
+ responses: {
192
+ /** @description The user was successfully updated */
193
+ 200: {
194
+ headers: {
195
+ [name: string]: unknown;
196
+ };
197
+ content: {
198
+ "application/json": components["schemas"]["User"];
199
+ };
200
+ };
201
+ /** @description The user was successfully created */
202
+ 201: {
203
+ headers: {
204
+ [name: string]: unknown;
205
+ };
206
+ content: {
207
+ "application/json": components["schemas"]["User"];
208
+ };
209
+ };
210
+ /** @description Bad Request - Invalid user request */
211
+ 400: {
212
+ headers: {
213
+ [name: string]: unknown;
214
+ };
215
+ content: {
216
+ "application/problem+json": components["schemas"]["ErrorResponse"];
217
+ };
218
+ };
219
+ };
220
+ };
221
+ deleteUser: {
222
+ parameters: {
223
+ query?: never;
224
+ header?: never;
225
+ path: {
226
+ organizationId: components["schemas"]["OrganizationId"];
227
+ login: string;
228
+ };
229
+ cookie?: never;
230
+ };
231
+ requestBody?: never;
232
+ responses: {
233
+ /** @description The user was successfully deleted */
234
+ 204: {
235
+ headers: {
236
+ [name: string]: unknown;
237
+ };
238
+ content?: never;
239
+ };
240
+ /** @description User not found */
241
+ 404: {
242
+ headers: {
243
+ [name: string]: unknown;
244
+ };
245
+ content: {
246
+ "application/problem+json": components["schemas"]["ErrorResponse"];
247
+ };
248
+ };
249
+ };
250
+ };
251
+ updateUser: {
252
+ parameters: {
253
+ query?: never;
254
+ header?: never;
255
+ path: {
256
+ organizationId: components["schemas"]["OrganizationId"];
257
+ login: string;
258
+ };
259
+ cookie?: never;
260
+ };
261
+ requestBody: {
262
+ content: {
263
+ "application/json": components["schemas"]["UserUpdateRequest"];
264
+ };
265
+ };
266
+ responses: {
267
+ /** @description The user was successfully updated */
268
+ 200: {
269
+ headers: {
270
+ [name: string]: unknown;
271
+ };
272
+ content: {
273
+ "application/json": components["schemas"]["User"];
274
+ };
275
+ };
276
+ /** @description Bad Request - Invalid user update request */
277
+ 400: {
278
+ headers: {
279
+ [name: string]: unknown;
280
+ };
281
+ content: {
282
+ "application/problem+json": components["schemas"]["ErrorResponse"];
283
+ };
284
+ };
285
+ /** @description User not found */
286
+ 404: {
287
+ headers: {
288
+ [name: string]: unknown;
289
+ };
290
+ content: {
291
+ "application/problem+json": components["schemas"]["ErrorResponse"];
292
+ };
293
+ };
294
+ };
295
+ };
296
+ }
297
+ type WithRequired<T, K extends keyof T> = T & {
298
+ [P in K]-?: T[P];
299
+ };
300
+ export {};
@@ -0,0 +1,6 @@
1
+ /**
2
+ * This file was auto-generated by openapi-typescript.
3
+ * Do not make direct changes to the file.
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=scapi-merchant-users.generated.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scapi-merchant-users.generated.js","sourceRoot":"","sources":["../../../src/clients/scapi-merchant-users.generated.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -0,0 +1,12 @@
1
+ import { buildScapiClient } from './scapi-client-factory.js';
2
+ export const SCAPI_MERCHANT_USERS_READ_SCOPES = ['sfcc.users'];
3
+ export const SCAPI_MERCHANT_USERS_RW_SCOPES = ['sfcc.users.rw'];
4
+ export function createScapiMerchantUsersClient(config, auth) {
5
+ return buildScapiClient({
6
+ pathSegment: 'merchant/users/v1',
7
+ domainKey: 'scapi-merchant-users',
8
+ defaultScopes: SCAPI_MERCHANT_USERS_RW_SCOPES,
9
+ logPrefix: 'SCAPI-USERS',
10
+ }, config, auth);
11
+ }
12
+ //# sourceMappingURL=scapi-merchant-users.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scapi-merchant-users.js","sourceRoot":"","sources":["../../../src/clients/scapi-merchant-users.ts"],"names":[],"mappings":"AAQA,OAAO,EAAC,gBAAgB,EAAyB,MAAM,2BAA2B,CAAC;AAWnF,MAAM,CAAC,MAAM,gCAAgC,GAAG,CAAC,YAAY,CAAC,CAAC;AAC/D,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,eAAe,CAAC,CAAC;AAIhE,MAAM,UAAU,8BAA8B,CAC5C,MAAsC,EACtC,IAAkB;IAElB,OAAO,gBAAgB,CACrB;QACE,WAAW,EAAE,mBAAmB;QAChC,SAAS,EAAE,sBAAsB;QACjC,aAAa,EAAE,8BAA8B;QAC7C,SAAS,EAAE,aAAa;KACzB,EACD,MAAM,EACN,IAAI,CACL,CAAC;AACJ,CAAC"}
@@ -13,11 +13,10 @@
13
13
  * @module clients/scapi-schemas
14
14
  */
15
15
  import createClient, {} from 'openapi-fetch';
16
- import { OAuthStrategy } from '../auth/oauth.js';
17
- import { JwtOAuthStrategy } from '../auth/oauth-jwt.js';
18
16
  import { createAuthMiddleware, createLoggingMiddleware } from './middleware.js';
19
17
  import { globalMiddlewareRegistry } from './middleware-registry.js';
20
18
  import { toOrganizationId, normalizeTenantId, buildTenantScope } from './custom-apis.js';
19
+ import { withScopes } from './scapi-backend-utils.js';
21
20
  /**
22
21
  * Re-export organization/tenant utilities for convenience.
23
22
  */
@@ -82,9 +81,7 @@ export function createScapiSchemasClient(config, auth) {
82
81
  // Build required scopes: domain scope + tenant-specific scope
83
82
  const requiredScopes = config.scopes ?? [...SCAPI_SCHEMAS_DEFAULT_SCOPES, buildTenantScope(config.tenantId)];
84
83
  // If auth supports scopes, add required scopes; otherwise use as-is
85
- const scopedAuth = auth instanceof OAuthStrategy || auth instanceof JwtOAuthStrategy
86
- ? auth.withAdditionalScopes(requiredScopes)
87
- : auth;
84
+ const scopedAuth = withScopes(auth, requiredScopes);
88
85
  // Core middleware: auth first
89
86
  client.use(createAuthMiddleware(scopedAuth));
90
87
  // Plugin middleware from registry
@@ -1 +1 @@
1
- {"version":3,"file":"scapi-schemas.js","sourceRoot":"","sources":["../../../src/clients/scapi-schemas.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH;;;;;;;;GAQG;AACH,OAAO,YAAY,EAAE,EAAa,MAAM,eAAe,CAAC;AAExD,OAAO,EAAC,aAAa,EAAC,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAC,gBAAgB,EAAC,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAC,oBAAoB,EAAE,uBAAuB,EAAC,MAAM,iBAAiB,CAAC;AAC9E,OAAO,EAAC,wBAAwB,EAA0B,MAAM,0BAA0B,CAAC;AAC3F,OAAO,EAAC,gBAAgB,EAAE,iBAAiB,EAAE,gBAAgB,EAAC,MAAM,kBAAkB,CAAC;AAOvF;;GAEG;AACH,OAAO,EAAC,gBAAgB,EAAE,iBAAiB,EAAE,gBAAgB,EAAC,CAAC;AA+D/D,kEAAkE;AAClE,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,oBAAoB,CAAC,CAAC;AAiCnE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,MAAM,UAAU,wBAAwB,CAAC,MAAgC,EAAE,IAAkB;IAC3F,MAAM,QAAQ,GAAG,MAAM,CAAC,kBAAkB,IAAI,wBAAwB,CAAC;IAEvE,MAAM,MAAM,GAAG,YAAY,CAAQ;QACjC,OAAO,EAAE,WAAW,MAAM,CAAC,SAAS,uDAAuD;KAC5F,CAAC,CAAC;IAEH,8DAA8D;IAC9D,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,GAAG,4BAA4B,EAAE,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE7G,oEAAoE;IACpE,MAAM,UAAU,GACd,IAAI,YAAY,aAAa,IAAI,IAAI,YAAY,gBAAgB;QAC/D,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,cAAc,CAAC;QAC3C,CAAC,CAAC,IAAI,CAAC;IAEX,8BAA8B;IAC9B,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC,CAAC;IAE7C,kCAAkC;IAClC,KAAK,MAAM,UAAU,IAAI,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAC,EAAE,CAAC;QACjE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACzB,CAAC;IAED,yEAAyE;IACzE,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC,eAAe,CAAC,CAAC,CAAC;IAErD,OAAO,MAAM,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"scapi-schemas.js","sourceRoot":"","sources":["../../../src/clients/scapi-schemas.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH;;;;;;;;GAQG;AACH,OAAO,YAAY,EAAE,EAAa,MAAM,eAAe,CAAC;AAGxD,OAAO,EAAC,oBAAoB,EAAE,uBAAuB,EAAC,MAAM,iBAAiB,CAAC;AAC9E,OAAO,EAAC,wBAAwB,EAA0B,MAAM,0BAA0B,CAAC;AAC3F,OAAO,EAAC,gBAAgB,EAAE,iBAAiB,EAAE,gBAAgB,EAAC,MAAM,kBAAkB,CAAC;AACvF,OAAO,EAAC,UAAU,EAAC,MAAM,0BAA0B,CAAC;AAOpD;;GAEG;AACH,OAAO,EAAC,gBAAgB,EAAE,iBAAiB,EAAE,gBAAgB,EAAC,CAAC;AA+D/D,kEAAkE;AAClE,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,oBAAoB,CAAC,CAAC;AAiCnE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,MAAM,UAAU,wBAAwB,CAAC,MAAgC,EAAE,IAAkB;IAC3F,MAAM,QAAQ,GAAG,MAAM,CAAC,kBAAkB,IAAI,wBAAwB,CAAC;IAEvE,MAAM,MAAM,GAAG,YAAY,CAAQ;QACjC,OAAO,EAAE,WAAW,MAAM,CAAC,SAAS,uDAAuD;KAC5F,CAAC,CAAC;IAEH,8DAA8D;IAC9D,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,GAAG,4BAA4B,EAAE,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE7G,oEAAoE;IACpE,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAEpD,8BAA8B;IAC9B,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC,CAAC;IAE7C,kCAAkC;IAClC,KAAK,MAAM,UAAU,IAAI,QAAQ,CAAC,aAAa,CAAC,eAAe,CAAC,EAAE,CAAC;QACjE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACzB,CAAC;IAED,yEAAyE;IACzE,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC,eAAe,CAAC,CAAC,CAAC;IAErD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,78 @@
1
+ /**
2
+ * Scope-tier client manager for SCAPI domains with dual scopes.
3
+ *
4
+ * Many SCAPI Admin APIs expose two scopes — read-only and read-write
5
+ * (e.g., `sfcc.jobs` and `sfcc.jobs.rw`). A given API client may have only
6
+ * one of them configured in Account Manager. The optimistic strategy is to
7
+ * request `rw` first and downgrade to read-only only when `invalid_scope`
8
+ * is detected on a read operation.
9
+ *
10
+ * `ScopeTierManager` encapsulates that state machine so each SCAPI backend
11
+ * doesn't have to reimplement it. Write operations always require `rw`;
12
+ * if we already know the client only has read scope, the manager throws
13
+ * a descriptive error rather than making a doomed request.
14
+ *
15
+ * @module clients/scapi-scope-tier
16
+ */
17
+ export type ScopeTier = 'rw' | 'read-only';
18
+ export interface ScopeTierManagerOptions<C> {
19
+ /** Builds a typed SCAPI client with the given OAuth scopes. */
20
+ buildClient(scopes: string[]): C;
21
+ /** Scopes for read-write operations, e.g., `['sfcc.jobs.rw']`. */
22
+ rwScopes: string[];
23
+ /** Scopes for read-only operations, e.g., `['sfcc.jobs']`. */
24
+ readScopes: string[];
25
+ /** Domain name surfaced in error messages, e.g. `'Jobs'`, `'Scripts'`. */
26
+ domainName: string;
27
+ }
28
+ /**
29
+ * Lazy-initialized manager for clients at different scope tiers.
30
+ *
31
+ * - First read or write call builds the rw client and caches it.
32
+ * - If the caller detects an `invalid_scope` error on a read attempt, it
33
+ * calls `downgradeToReadOnly()` and the next read uses the read-only client.
34
+ * - Once downgraded, write requests throw — the API client lacks rw scope.
35
+ *
36
+ * The same rw client serves both read and write while the rw scope is valid;
37
+ * we only build a separate read-only client after a downgrade.
38
+ */
39
+ export declare class ScopeTierManager<C> {
40
+ private opts;
41
+ private rwClient?;
42
+ private readClient?;
43
+ private resolved?;
44
+ constructor(opts: ScopeTierManagerOptions<C>);
45
+ /** The currently-resolved tier, or undefined before first use. */
46
+ get resolvedTier(): ScopeTier | undefined;
47
+ /**
48
+ * Returns a client suitable for write operations. Throws if we've already
49
+ * downgraded to read-only — the API client doesn't have the rw scope.
50
+ *
51
+ * Throws {@link ScapiCapabilityUnsupportedError} so the SCAPI/OCAPI
52
+ * fallback wrapper recognizes this as a capability gap and routes the
53
+ * write through OCAPI in `auto` mode (instead of pinning to SCAPI after
54
+ * a successful read and then failing the write).
55
+ */
56
+ getClientForWrite(): C;
57
+ /**
58
+ * Returns a client suitable for read operations. Prefers the rw client if
59
+ * it's already been used successfully (rw scope grants read too).
60
+ */
61
+ getClientForRead(): C;
62
+ /**
63
+ * Marks the rw scope as unavailable and builds a read-only client.
64
+ * Subsequent `getClientForWrite()` calls will throw; reads use the
65
+ * read-only client.
66
+ */
67
+ downgradeToReadOnly(): void;
68
+ /**
69
+ * Runs a read operation, downgrading to the read-only client and retrying
70
+ * once if the rw attempt fails with `invalid_scope`. Backends should wrap
71
+ * their reads with this so an API client provisioned with only the
72
+ * read-only scope (e.g. `sfcc.scripts`) can still read through SCAPI.
73
+ *
74
+ * Writes do not go through this helper — they always require rw, and
75
+ * `getClientForWrite()` already throws after a downgrade.
76
+ */
77
+ tryRead<R>(fn: (client: C) => Promise<R>): Promise<R>;
78
+ }
@@ -0,0 +1,113 @@
1
+ /*
2
+ * Copyright (c) 2025, Salesforce, Inc.
3
+ * SPDX-License-Identifier: Apache-2
4
+ * For full license text, see the license.txt file in the repo root or http://www.apache.org/licenses/LICENSE-2.0
5
+ */
6
+ /**
7
+ * Scope-tier client manager for SCAPI domains with dual scopes.
8
+ *
9
+ * Many SCAPI Admin APIs expose two scopes — read-only and read-write
10
+ * (e.g., `sfcc.jobs` and `sfcc.jobs.rw`). A given API client may have only
11
+ * one of them configured in Account Manager. The optimistic strategy is to
12
+ * request `rw` first and downgrade to read-only only when `invalid_scope`
13
+ * is detected on a read operation.
14
+ *
15
+ * `ScopeTierManager` encapsulates that state machine so each SCAPI backend
16
+ * doesn't have to reimplement it. Write operations always require `rw`;
17
+ * if we already know the client only has read scope, the manager throws
18
+ * a descriptive error rather than making a doomed request.
19
+ *
20
+ * @module clients/scapi-scope-tier
21
+ */
22
+ import { isInvalidScopeError, ScapiCapabilityUnsupportedError } from './scapi-backend-utils.js';
23
+ /**
24
+ * Lazy-initialized manager for clients at different scope tiers.
25
+ *
26
+ * - First read or write call builds the rw client and caches it.
27
+ * - If the caller detects an `invalid_scope` error on a read attempt, it
28
+ * calls `downgradeToReadOnly()` and the next read uses the read-only client.
29
+ * - Once downgraded, write requests throw — the API client lacks rw scope.
30
+ *
31
+ * The same rw client serves both read and write while the rw scope is valid;
32
+ * we only build a separate read-only client after a downgrade.
33
+ */
34
+ export class ScopeTierManager {
35
+ opts;
36
+ rwClient;
37
+ readClient;
38
+ resolved;
39
+ constructor(opts) {
40
+ this.opts = opts;
41
+ }
42
+ /** The currently-resolved tier, or undefined before first use. */
43
+ get resolvedTier() {
44
+ return this.resolved;
45
+ }
46
+ /**
47
+ * Returns a client suitable for write operations. Throws if we've already
48
+ * downgraded to read-only — the API client doesn't have the rw scope.
49
+ *
50
+ * Throws {@link ScapiCapabilityUnsupportedError} so the SCAPI/OCAPI
51
+ * fallback wrapper recognizes this as a capability gap and routes the
52
+ * write through OCAPI in `auto` mode (instead of pinning to SCAPI after
53
+ * a successful read and then failing the write).
54
+ */
55
+ getClientForWrite() {
56
+ if (this.resolved === 'read-only') {
57
+ throw new ScapiCapabilityUnsupportedError(`SCAPI ${this.opts.domainName} API requires the "${this.opts.rwScopes.join(' ')}" scope. ` +
58
+ `Add this scope to your API client in Account Manager.`);
59
+ }
60
+ if (!this.rwClient) {
61
+ this.rwClient = this.opts.buildClient(this.opts.rwScopes);
62
+ }
63
+ this.resolved = 'rw';
64
+ return this.rwClient;
65
+ }
66
+ /**
67
+ * Returns a client suitable for read operations. Prefers the rw client if
68
+ * it's already been used successfully (rw scope grants read too).
69
+ */
70
+ getClientForRead() {
71
+ if (this.resolved === 'read-only') {
72
+ // Already downgraded; readClient is built in downgradeToReadOnly()
73
+ return this.readClient;
74
+ }
75
+ if (!this.rwClient) {
76
+ this.rwClient = this.opts.buildClient(this.opts.rwScopes);
77
+ }
78
+ this.resolved = 'rw';
79
+ return this.rwClient;
80
+ }
81
+ /**
82
+ * Marks the rw scope as unavailable and builds a read-only client.
83
+ * Subsequent `getClientForWrite()` calls will throw; reads use the
84
+ * read-only client.
85
+ */
86
+ downgradeToReadOnly() {
87
+ this.resolved = 'read-only';
88
+ this.readClient = this.opts.buildClient(this.opts.readScopes);
89
+ }
90
+ /**
91
+ * Runs a read operation, downgrading to the read-only client and retrying
92
+ * once if the rw attempt fails with `invalid_scope`. Backends should wrap
93
+ * their reads with this so an API client provisioned with only the
94
+ * read-only scope (e.g. `sfcc.scripts`) can still read through SCAPI.
95
+ *
96
+ * Writes do not go through this helper — they always require rw, and
97
+ * `getClientForWrite()` already throws after a downgrade.
98
+ */
99
+ async tryRead(fn) {
100
+ const client = this.getClientForRead();
101
+ try {
102
+ return await fn(client);
103
+ }
104
+ catch (error) {
105
+ if (this.resolved === 'read-only' || !isInvalidScopeError(error)) {
106
+ throw error;
107
+ }
108
+ this.downgradeToReadOnly();
109
+ return fn(this.readClient);
110
+ }
111
+ }
112
+ }
113
+ //# sourceMappingURL=scapi-scope-tier.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scapi-scope-tier.js","sourceRoot":"","sources":["../../../src/clients/scapi-scope-tier.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAC,mBAAmB,EAAE,+BAA+B,EAAC,MAAM,0BAA0B,CAAC;AAe9F;;;;;;;;;;GAUG;AACH,MAAM,OAAO,gBAAgB;IAKP;IAJZ,QAAQ,CAAK;IACb,UAAU,CAAK;IACf,QAAQ,CAAa;IAE7B,YAAoB,IAAgC;QAAhC,SAAI,GAAJ,IAAI,CAA4B;IAAG,CAAC;IAExD,kEAAkE;IAClE,IAAI,YAAY;QACd,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;;;;;;;OAQG;IACH,iBAAiB;QACf,IAAI,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;YAClC,MAAM,IAAI,+BAA+B,CACvC,SAAS,IAAI,CAAC,IAAI,CAAC,UAAU,sBAAsB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW;gBACxF,uDAAuD,CAC1D,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;;OAGG;IACH,gBAAgB;QACd,IAAI,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;YAClC,mEAAmE;YACnE,OAAO,IAAI,CAAC,UAAW,CAAC;QAC1B,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5D,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED;;;;OAIG;IACH,mBAAmB;QACjB,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC;QAC5B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAChE,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,OAAO,CAAI,EAA6B;QAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACvC,IAAI,CAAC;YACH,OAAO,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC;QAC1B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,IAAI,CAAC,QAAQ,KAAK,WAAW,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;gBACjE,MAAM,KAAK,CAAC;YACd,CAAC;YACD,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC3B,OAAO,EAAE,CAAC,IAAI,CAAC,UAAW,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,17 @@
1
+ import type { Client } from 'openapi-fetch';
2
+ import type { AuthStrategy } from '../auth/types.js';
3
+ import type { paths, components } from './scapi-scripts.generated.js';
4
+ import { type ScapiClientConfig } from './scapi-client-factory.js';
5
+ export type { paths, components };
6
+ export type ScapiScriptsClient = Client<paths>;
7
+ export type ScapiScriptsResponse<T> = T extends {
8
+ content: {
9
+ 'application/json': infer R;
10
+ };
11
+ } ? R : never;
12
+ export type ScapiScriptsError = components['schemas']['ErrorResponse'];
13
+ export type CodeVersion = components['schemas']['CodeVersion'];
14
+ export declare const SCAPI_SCRIPTS_READ_SCOPES: string[];
15
+ export declare const SCAPI_SCRIPTS_RW_SCOPES: string[];
16
+ export type ScapiScriptsClientConfig = ScapiClientConfig;
17
+ export declare function createScapiScriptsClient(config: ScapiScriptsClientConfig, auth: AuthStrategy): ScapiScriptsClient;