@salesforce/b2c-tooling-sdk 1.24.2 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (482) hide show
  1. package/data/content-schemas/componenttype.json +0 -30
  2. package/data/scapi-snippets/campaign-promotions.js +40 -0
  3. package/data/scapi-snippets/code-version-inspect.js +31 -0
  4. package/data/scapi-snippets/create-product.js +108 -0
  5. package/data/scapi-snippets/failed-job-triage.js +37 -0
  6. package/data/scapi-snippets/job-execution-inspect.js +52 -0
  7. package/data/scapi-snippets/job-execution-review.js +46 -0
  8. package/data/scapi-snippets/manifest.json +220 -0
  9. package/data/scapi-snippets/site-cartridge-inspect.js +27 -0
  10. package/data/tooling/index.json +83 -119
  11. package/dist/esm/auth/index.d.ts +2 -2
  12. package/dist/esm/auth/index.js +1 -1
  13. package/dist/esm/auth/index.js.map +1 -1
  14. package/dist/esm/auth/oauth-implicit.d.ts +1 -0
  15. package/dist/esm/auth/oauth-implicit.js +1 -0
  16. package/dist/esm/auth/oauth-implicit.js.map +1 -1
  17. package/dist/esm/auth/oauth-jwt.d.ts +18 -4
  18. package/dist/esm/auth/oauth-jwt.js +67 -17
  19. package/dist/esm/auth/oauth-jwt.js.map +1 -1
  20. package/dist/esm/auth/oauth-pkce-fallback.d.ts +1 -0
  21. package/dist/esm/auth/oauth-pkce-fallback.js +1 -0
  22. package/dist/esm/auth/oauth-pkce-fallback.js.map +1 -1
  23. package/dist/esm/auth/oauth-pkce.d.ts +1 -0
  24. package/dist/esm/auth/oauth-pkce.js +1 -0
  25. package/dist/esm/auth/oauth-pkce.js.map +1 -1
  26. package/dist/esm/auth/oauth.d.ts +55 -6
  27. package/dist/esm/auth/oauth.js +139 -21
  28. package/dist/esm/auth/oauth.js.map +1 -1
  29. package/dist/esm/auth/resolve.d.ts +37 -0
  30. package/dist/esm/auth/resolve.js +48 -0
  31. package/dist/esm/auth/resolve.js.map +1 -1
  32. package/dist/esm/auth/types.d.ts +44 -0
  33. package/dist/esm/auth/types.js.map +1 -1
  34. package/dist/esm/cli/base-command.d.ts +9 -0
  35. package/dist/esm/cli/base-command.js +31 -0
  36. package/dist/esm/cli/base-command.js.map +1 -1
  37. package/dist/esm/cli/bm-command.d.ts +15 -0
  38. package/dist/esm/cli/bm-command.js +25 -0
  39. package/dist/esm/cli/bm-command.js.map +1 -0
  40. package/dist/esm/cli/code-command.d.ts +14 -0
  41. package/dist/esm/cli/code-command.js +22 -0
  42. package/dist/esm/cli/code-command.js.map +1 -0
  43. package/dist/esm/cli/config.js +10 -1
  44. package/dist/esm/cli/config.js.map +1 -1
  45. package/dist/esm/cli/index.d.ts +5 -1
  46. package/dist/esm/cli/index.js +7 -1
  47. package/dist/esm/cli/index.js.map +1 -1
  48. package/dist/esm/cli/instance-command.d.ts +45 -0
  49. package/dist/esm/cli/instance-command.js +66 -1
  50. package/dist/esm/cli/instance-command.js.map +1 -1
  51. package/dist/esm/cli/job-command.d.ts +37 -16
  52. package/dist/esm/cli/job-command.js +73 -23
  53. package/dist/esm/cli/job-command.js.map +1 -1
  54. package/dist/esm/cli/mrt-command.d.ts +154 -9
  55. package/dist/esm/cli/mrt-command.js +299 -16
  56. package/dist/esm/cli/mrt-command.js.map +1 -1
  57. package/dist/esm/cli/oauth-command.d.ts +1 -1
  58. package/dist/esm/cli/oauth-command.js +2 -0
  59. package/dist/esm/cli/oauth-command.js.map +1 -1
  60. package/dist/esm/cli/webdav-command.d.ts +2 -0
  61. package/dist/esm/cli/webdav-command.js +1 -0
  62. package/dist/esm/cli/webdav-command.js.map +1 -1
  63. package/dist/esm/clients/cdn-zones.js +2 -5
  64. package/dist/esm/clients/cdn-zones.js.map +1 -1
  65. package/dist/esm/clients/cip.d.ts +12 -3
  66. package/dist/esm/clients/cip.js +85 -30
  67. package/dist/esm/clients/cip.js.map +1 -1
  68. package/dist/esm/clients/custom-apis.js +2 -5
  69. package/dist/esm/clients/custom-apis.js.map +1 -1
  70. package/dist/esm/clients/dual-backend-factory.d.ts +70 -0
  71. package/dist/esm/clients/dual-backend-factory.js +48 -0
  72. package/dist/esm/clients/dual-backend-factory.js.map +1 -0
  73. package/dist/esm/clients/error-utils.d.ts +62 -0
  74. package/dist/esm/clients/error-utils.js +98 -0
  75. package/dist/esm/clients/error-utils.js.map +1 -1
  76. package/dist/esm/clients/granular-replications.js +2 -5
  77. package/dist/esm/clients/granular-replications.js.map +1 -1
  78. package/dist/esm/clients/index.d.ts +30 -3
  79. package/dist/esm/clients/index.js +25 -2
  80. package/dist/esm/clients/index.js.map +1 -1
  81. package/dist/esm/clients/metrics.js +2 -5
  82. package/dist/esm/clients/metrics.js.map +1 -1
  83. package/dist/esm/clients/middleware-registry.d.ts +4 -2
  84. package/dist/esm/clients/middleware-registry.js +3 -1
  85. package/dist/esm/clients/middleware-registry.js.map +1 -1
  86. package/dist/esm/clients/middleware.d.ts +39 -0
  87. package/dist/esm/clients/middleware.js +126 -25
  88. package/dist/esm/clients/middleware.js.map +1 -1
  89. package/dist/esm/clients/mrt-b2c.js +3 -0
  90. package/dist/esm/clients/mrt-b2c.js.map +1 -1
  91. package/dist/esm/clients/mrt.d.ts +27 -10
  92. package/dist/esm/clients/mrt.generated.d.ts +77 -0
  93. package/dist/esm/clients/mrt.js +68 -0
  94. package/dist/esm/clients/mrt.js.map +1 -1
  95. package/dist/esm/clients/preferences.js +2 -5
  96. package/dist/esm/clients/preferences.js.map +1 -1
  97. package/dist/esm/clients/scapi-backend-utils.d.ts +163 -0
  98. package/dist/esm/clients/scapi-backend-utils.js +180 -0
  99. package/dist/esm/clients/scapi-backend-utils.js.map +1 -0
  100. package/dist/esm/clients/scapi-catalogs.d.ts +12 -0
  101. package/dist/esm/clients/scapi-catalogs.generated.d.ts +104 -0
  102. package/dist/esm/clients/scapi-catalogs.generated.js +6 -0
  103. package/dist/esm/clients/scapi-catalogs.generated.js.map +1 -0
  104. package/dist/esm/clients/scapi-catalogs.js +14 -0
  105. package/dist/esm/clients/scapi-catalogs.js.map +1 -0
  106. package/dist/esm/clients/scapi-client-factory.d.ts +81 -0
  107. package/dist/esm/clients/scapi-client-factory.js +84 -0
  108. package/dist/esm/clients/scapi-client-factory.js.map +1 -0
  109. package/dist/esm/clients/scapi-fallback-backend.d.ts +34 -0
  110. package/dist/esm/clients/scapi-fallback-backend.js +132 -0
  111. package/dist/esm/clients/scapi-fallback-backend.js.map +1 -0
  112. package/dist/esm/clients/scapi-jobs.d.ts +32 -0
  113. package/dist/esm/clients/scapi-jobs.generated.d.ts +535 -0
  114. package/dist/esm/clients/scapi-jobs.generated.js +6 -0
  115. package/dist/esm/clients/scapi-jobs.generated.js.map +1 -0
  116. package/dist/esm/clients/scapi-jobs.js +24 -0
  117. package/dist/esm/clients/scapi-jobs.js.map +1 -0
  118. package/dist/esm/clients/scapi-merchant-roles.d.ts +19 -0
  119. package/dist/esm/clients/scapi-merchant-roles.generated.d.ts +726 -0
  120. package/dist/esm/clients/scapi-merchant-roles.generated.js +6 -0
  121. package/dist/esm/clients/scapi-merchant-roles.generated.js.map +1 -0
  122. package/dist/esm/clients/scapi-merchant-roles.js +12 -0
  123. package/dist/esm/clients/scapi-merchant-roles.js.map +1 -0
  124. package/dist/esm/clients/scapi-merchant-users.d.ts +19 -0
  125. package/dist/esm/clients/scapi-merchant-users.generated.d.ts +300 -0
  126. package/dist/esm/clients/scapi-merchant-users.generated.js +6 -0
  127. package/dist/esm/clients/scapi-merchant-users.generated.js.map +1 -0
  128. package/dist/esm/clients/scapi-merchant-users.js +12 -0
  129. package/dist/esm/clients/scapi-merchant-users.js.map +1 -0
  130. package/dist/esm/clients/scapi-schemas.js +2 -5
  131. package/dist/esm/clients/scapi-schemas.js.map +1 -1
  132. package/dist/esm/clients/scapi-scope-tier.d.ts +78 -0
  133. package/dist/esm/clients/scapi-scope-tier.js +113 -0
  134. package/dist/esm/clients/scapi-scope-tier.js.map +1 -0
  135. package/dist/esm/clients/scapi-scripts.d.ts +17 -0
  136. package/dist/esm/clients/scapi-scripts.generated.d.ts +392 -0
  137. package/dist/esm/clients/scapi-scripts.generated.js +6 -0
  138. package/dist/esm/clients/scapi-scripts.generated.js.map +1 -0
  139. package/dist/esm/clients/scapi-scripts.js +12 -0
  140. package/dist/esm/clients/scapi-scripts.js.map +1 -0
  141. package/dist/esm/clients/scapi-sites.d.ts +26 -0
  142. package/dist/esm/clients/scapi-sites.generated.d.ts +500 -0
  143. package/dist/esm/clients/scapi-sites.generated.js +6 -0
  144. package/dist/esm/clients/scapi-sites.generated.js.map +1 -0
  145. package/dist/esm/clients/scapi-sites.js +25 -0
  146. package/dist/esm/clients/scapi-sites.js.map +1 -0
  147. package/dist/esm/clients/slas-shopper.d.ts +19 -0
  148. package/dist/esm/clients/slas-shopper.generated.d.ts +165 -0
  149. package/dist/esm/clients/slas-shopper.generated.js +6 -0
  150. package/dist/esm/clients/slas-shopper.generated.js.map +1 -0
  151. package/dist/esm/clients/slas-shopper.js +35 -0
  152. package/dist/esm/clients/slas-shopper.js.map +1 -0
  153. package/dist/esm/clients/storefront-deployments.d.ts +57 -0
  154. package/dist/esm/clients/storefront-deployments.generated.d.ts +558 -0
  155. package/dist/esm/clients/storefront-deployments.generated.js +6 -0
  156. package/dist/esm/clients/storefront-deployments.generated.js.map +1 -0
  157. package/dist/esm/clients/storefront-deployments.js +24 -0
  158. package/dist/esm/clients/storefront-deployments.js.map +1 -0
  159. package/dist/esm/clients/storefront-environments.d.ts +56 -0
  160. package/dist/esm/clients/storefront-environments.generated.d.ts +208 -0
  161. package/dist/esm/clients/storefront-environments.generated.js +6 -0
  162. package/dist/esm/clients/storefront-environments.generated.js.map +1 -0
  163. package/dist/esm/clients/storefront-environments.js +24 -0
  164. package/dist/esm/clients/storefront-environments.js.map +1 -0
  165. package/dist/esm/clients/webdav.js +4 -1
  166. package/dist/esm/clients/webdav.js.map +1 -1
  167. package/dist/esm/compat/dispatcher.d.ts +49 -0
  168. package/dist/esm/compat/dispatcher.js +124 -0
  169. package/dist/esm/compat/dispatcher.js.map +1 -0
  170. package/dist/esm/compat/index.d.ts +10 -0
  171. package/dist/esm/compat/index.js +15 -0
  172. package/dist/esm/compat/index.js.map +1 -0
  173. package/dist/esm/compat/jobs-backend.d.ts +31 -0
  174. package/dist/esm/compat/jobs-backend.js +76 -0
  175. package/dist/esm/compat/jobs-backend.js.map +1 -0
  176. package/dist/esm/config/dw-json.d.ts +4 -0
  177. package/dist/esm/config/dw-json.js.map +1 -1
  178. package/dist/esm/config/index.d.ts +1 -1
  179. package/dist/esm/config/index.js.map +1 -1
  180. package/dist/esm/config/mapping.d.ts +2 -5
  181. package/dist/esm/config/mapping.js +25 -1
  182. package/dist/esm/config/mapping.js.map +1 -1
  183. package/dist/esm/config/resolved-config.d.ts +2 -2
  184. package/dist/esm/config/resolved-config.js.map +1 -1
  185. package/dist/esm/config/resolver.js +12 -0
  186. package/dist/esm/config/resolver.js.map +1 -1
  187. package/dist/esm/config/sources/env-source.d.ts +10 -1
  188. package/dist/esm/config/sources/env-source.js +46 -1
  189. package/dist/esm/config/sources/env-source.js.map +1 -1
  190. package/dist/esm/config/types.d.ts +22 -3
  191. package/dist/esm/docs/search.js +2 -25
  192. package/dist/esm/docs/search.js.map +1 -1
  193. package/dist/esm/guidance/catalog.d.ts +37 -0
  194. package/dist/esm/guidance/catalog.js +282 -0
  195. package/dist/esm/guidance/catalog.js.map +1 -0
  196. package/dist/esm/guidance/index.d.ts +8 -0
  197. package/dist/esm/guidance/index.js +14 -0
  198. package/dist/esm/guidance/index.js.map +1 -0
  199. package/dist/esm/guidance/markdown.d.ts +10 -0
  200. package/dist/esm/guidance/markdown.js +52 -0
  201. package/dist/esm/guidance/markdown.js.map +1 -0
  202. package/dist/esm/guidance/types.d.ts +96 -0
  203. package/dist/esm/guidance/types.js +17 -0
  204. package/dist/esm/guidance/types.js.map +1 -0
  205. package/dist/esm/index.d.ts +14 -5
  206. package/dist/esm/index.js +14 -2
  207. package/dist/esm/index.js.map +1 -1
  208. package/dist/esm/instance/index.d.ts +96 -2
  209. package/dist/esm/instance/index.js +98 -5
  210. package/dist/esm/instance/index.js.map +1 -1
  211. package/dist/esm/operations/bm-roles/backend.d.ts +4 -0
  212. package/dist/esm/operations/bm-roles/backend.js +11 -0
  213. package/dist/esm/operations/bm-roles/backend.js.map +1 -0
  214. package/dist/esm/operations/bm-roles/index.d.ts +6 -0
  215. package/dist/esm/operations/bm-roles/index.js +4 -0
  216. package/dist/esm/operations/bm-roles/index.js.map +1 -1
  217. package/dist/esm/operations/bm-roles/ocapi-backend.d.ts +17 -0
  218. package/dist/esm/operations/bm-roles/ocapi-backend.js +151 -0
  219. package/dist/esm/operations/bm-roles/ocapi-backend.js.map +1 -0
  220. package/dist/esm/operations/bm-roles/roles.js +13 -17
  221. package/dist/esm/operations/bm-roles/roles.js.map +1 -1
  222. package/dist/esm/operations/bm-roles/scapi-backend.d.ts +27 -0
  223. package/dist/esm/operations/bm-roles/scapi-backend.js +138 -0
  224. package/dist/esm/operations/bm-roles/scapi-backend.js.map +1 -0
  225. package/dist/esm/operations/bm-roles/types.d.ts +49 -0
  226. package/dist/esm/operations/bm-roles/types.js +2 -0
  227. package/dist/esm/operations/bm-roles/types.js.map +1 -0
  228. package/dist/esm/operations/bm-users/backend.d.ts +4 -0
  229. package/dist/esm/operations/bm-users/backend.js +11 -0
  230. package/dist/esm/operations/bm-users/backend.js.map +1 -0
  231. package/dist/esm/operations/bm-users/index.d.ts +11 -3
  232. package/dist/esm/operations/bm-users/index.js +9 -3
  233. package/dist/esm/operations/bm-users/index.js.map +1 -1
  234. package/dist/esm/operations/bm-users/ocapi-backend.d.ts +13 -0
  235. package/dist/esm/operations/bm-users/ocapi-backend.js +92 -0
  236. package/dist/esm/operations/bm-users/ocapi-backend.js.map +1 -0
  237. package/dist/esm/operations/bm-users/scapi-backend.d.ts +23 -0
  238. package/dist/esm/operations/bm-users/scapi-backend.js +199 -0
  239. package/dist/esm/operations/bm-users/scapi-backend.js.map +1 -0
  240. package/dist/esm/operations/bm-users/types.d.ts +99 -0
  241. package/dist/esm/operations/bm-users/types.js +2 -0
  242. package/dist/esm/operations/bm-users/types.js.map +1 -0
  243. package/dist/esm/operations/bm-users/users.d.ts +4 -3
  244. package/dist/esm/operations/bm-users/users.js +23 -19
  245. package/dist/esm/operations/bm-users/users.js.map +1 -1
  246. package/dist/esm/operations/cap/install.js +23 -45
  247. package/dist/esm/operations/cap/install.js.map +1 -1
  248. package/dist/esm/operations/cap/list.js +4 -8
  249. package/dist/esm/operations/cap/list.js.map +1 -1
  250. package/dist/esm/operations/cap/uninstall.js +17 -37
  251. package/dist/esm/operations/cap/uninstall.js.map +1 -1
  252. package/dist/esm/operations/catalogs/catalogs-backend.d.ts +4 -0
  253. package/dist/esm/operations/catalogs/catalogs-backend.js +16 -0
  254. package/dist/esm/operations/catalogs/catalogs-backend.js.map +1 -0
  255. package/dist/esm/operations/catalogs/catalogs-types.d.ts +14 -0
  256. package/dist/esm/operations/catalogs/catalogs-types.js +2 -0
  257. package/dist/esm/operations/catalogs/catalogs-types.js.map +1 -0
  258. package/dist/esm/operations/catalogs/index.d.ts +7 -0
  259. package/dist/esm/operations/catalogs/index.js +10 -0
  260. package/dist/esm/operations/catalogs/index.js.map +1 -0
  261. package/dist/esm/operations/catalogs/ocapi-catalogs-backend.d.ts +8 -0
  262. package/dist/esm/operations/catalogs/ocapi-catalogs-backend.js +36 -0
  263. package/dist/esm/operations/catalogs/ocapi-catalogs-backend.js.map +1 -0
  264. package/dist/esm/operations/catalogs/scapi-catalogs-backend.d.ts +15 -0
  265. package/dist/esm/operations/catalogs/scapi-catalogs-backend.js +42 -0
  266. package/dist/esm/operations/catalogs/scapi-catalogs-backend.js.map +1 -0
  267. package/dist/esm/operations/cip/index.js +10 -2
  268. package/dist/esm/operations/cip/index.js.map +1 -1
  269. package/dist/esm/operations/cip/reports.js +19 -3
  270. package/dist/esm/operations/cip/reports.js.map +1 -1
  271. package/dist/esm/operations/cip/types.d.ts +8 -4
  272. package/dist/esm/operations/code/deploy.d.ts +3 -0
  273. package/dist/esm/operations/code/deploy.js +9 -3
  274. package/dist/esm/operations/code/deploy.js.map +1 -1
  275. package/dist/esm/operations/code/download.d.ts +3 -0
  276. package/dist/esm/operations/code/download.js +5 -5
  277. package/dist/esm/operations/code/download.js.map +1 -1
  278. package/dist/esm/operations/code/index.d.ts +7 -1
  279. package/dist/esm/operations/code/index.js +5 -1
  280. package/dist/esm/operations/code/index.js.map +1 -1
  281. package/dist/esm/operations/code/ocapi-scripts-backend.d.ts +12 -0
  282. package/dist/esm/operations/code/ocapi-scripts-backend.js +40 -0
  283. package/dist/esm/operations/code/ocapi-scripts-backend.js.map +1 -0
  284. package/dist/esm/operations/code/scapi-scripts-backend.d.ts +22 -0
  285. package/dist/esm/operations/code/scapi-scripts-backend.js +94 -0
  286. package/dist/esm/operations/code/scapi-scripts-backend.js.map +1 -0
  287. package/dist/esm/operations/code/scripts-backend.d.ts +17 -0
  288. package/dist/esm/operations/code/scripts-backend.js +40 -0
  289. package/dist/esm/operations/code/scripts-backend.js.map +1 -0
  290. package/dist/esm/operations/code/scripts-types.d.ts +43 -0
  291. package/dist/esm/operations/code/scripts-types.js +2 -0
  292. package/dist/esm/operations/code/scripts-types.js.map +1 -0
  293. package/dist/esm/operations/code/upload-files.d.ts +6 -0
  294. package/dist/esm/operations/code/upload-files.js +58 -7
  295. package/dist/esm/operations/code/upload-files.js.map +1 -1
  296. package/dist/esm/operations/code/versions.d.ts +0 -20
  297. package/dist/esm/operations/code/versions.js +16 -51
  298. package/dist/esm/operations/code/versions.js.map +1 -1
  299. package/dist/esm/operations/code/watch.d.ts +3 -0
  300. package/dist/esm/operations/code/watch.js +3 -2
  301. package/dist/esm/operations/code/watch.js.map +1 -1
  302. package/dist/esm/operations/jobs/discover.d.ts +1 -1
  303. package/dist/esm/operations/jobs/discover.js +51 -21
  304. package/dist/esm/operations/jobs/discover.js.map +1 -1
  305. package/dist/esm/operations/jobs/index.d.ts +14 -57
  306. package/dist/esm/operations/jobs/index.js +15 -59
  307. package/dist/esm/operations/jobs/index.js.map +1 -1
  308. package/dist/esm/operations/jobs/ocapi-mapping.d.ts +34 -0
  309. package/dist/esm/operations/jobs/ocapi-mapping.js +100 -0
  310. package/dist/esm/operations/jobs/ocapi-mapping.js.map +1 -0
  311. package/dist/esm/operations/jobs/run-system-job.d.ts +81 -0
  312. package/dist/esm/operations/jobs/run-system-job.js +137 -0
  313. package/dist/esm/operations/jobs/run-system-job.js.map +1 -0
  314. package/dist/esm/operations/jobs/run.js +16 -4
  315. package/dist/esm/operations/jobs/run.js.map +1 -1
  316. package/dist/esm/operations/jobs/scapi-ops.d.ts +61 -0
  317. package/dist/esm/operations/jobs/scapi-ops.js +214 -0
  318. package/dist/esm/operations/jobs/scapi-ops.js.map +1 -0
  319. package/dist/esm/operations/jobs/site-archive.d.ts +7 -0
  320. package/dist/esm/operations/jobs/site-archive.js +28 -66
  321. package/dist/esm/operations/jobs/site-archive.js.map +1 -1
  322. package/dist/esm/operations/jobs/types.d.ts +46 -0
  323. package/dist/esm/operations/jobs/types.js +2 -0
  324. package/dist/esm/operations/jobs/types.js.map +1 -0
  325. package/dist/esm/operations/jobs/wait-canonical.d.ts +28 -0
  326. package/dist/esm/operations/jobs/wait-canonical.js +48 -0
  327. package/dist/esm/operations/jobs/wait-canonical.js.map +1 -0
  328. package/dist/esm/operations/mrt/bundle.d.ts +164 -2
  329. package/dist/esm/operations/mrt/bundle.js +315 -9
  330. package/dist/esm/operations/mrt/bundle.js.map +1 -1
  331. package/dist/esm/operations/mrt/deployment.d.ts +248 -0
  332. package/dist/esm/operations/mrt/deployment.js +252 -0
  333. package/dist/esm/operations/mrt/deployment.js.map +1 -1
  334. package/dist/esm/operations/mrt/env-var.d.ts +135 -0
  335. package/dist/esm/operations/mrt/env-var.js +203 -0
  336. package/dist/esm/operations/mrt/env-var.js.map +1 -1
  337. package/dist/esm/operations/mrt/index.d.ts +10 -8
  338. package/dist/esm/operations/mrt/index.js +6 -4
  339. package/dist/esm/operations/mrt/index.js.map +1 -1
  340. package/dist/esm/operations/mrt/mrt-backend.d.ts +117 -0
  341. package/dist/esm/operations/mrt/mrt-backend.js +84 -0
  342. package/dist/esm/operations/mrt/mrt-backend.js.map +1 -0
  343. package/dist/esm/operations/mrt/push.d.ts +285 -1
  344. package/dist/esm/operations/mrt/push.js +382 -1
  345. package/dist/esm/operations/mrt/push.js.map +1 -1
  346. package/dist/esm/operations/sites/cartridges.d.ts +10 -8
  347. package/dist/esm/operations/sites/cartridges.js +35 -67
  348. package/dist/esm/operations/sites/cartridges.js.map +1 -1
  349. package/dist/esm/operations/sites/index.d.ts +10 -6
  350. package/dist/esm/operations/sites/index.js +9 -6
  351. package/dist/esm/operations/sites/index.js.map +1 -1
  352. package/dist/esm/operations/sites/ocapi-sites-backend.d.ts +20 -0
  353. package/dist/esm/operations/sites/ocapi-sites-backend.js +98 -0
  354. package/dist/esm/operations/sites/ocapi-sites-backend.js.map +1 -0
  355. package/dist/esm/operations/sites/scapi-sites-backend.d.ts +33 -0
  356. package/dist/esm/operations/sites/scapi-sites-backend.js +166 -0
  357. package/dist/esm/operations/sites/scapi-sites-backend.js.map +1 -0
  358. package/dist/esm/operations/sites/sites-backend.d.ts +9 -0
  359. package/dist/esm/operations/sites/sites-backend.js +16 -0
  360. package/dist/esm/operations/sites/sites-backend.js.map +1 -0
  361. package/dist/esm/operations/sites/sites-scopes.d.ts +2 -0
  362. package/dist/esm/operations/sites/sites-scopes.js +16 -0
  363. package/dist/esm/operations/sites/sites-scopes.js.map +1 -0
  364. package/dist/esm/operations/sites/sites-types.d.ts +50 -0
  365. package/dist/esm/operations/sites/sites-types.js +2 -0
  366. package/dist/esm/operations/sites/sites-types.js.map +1 -0
  367. package/dist/esm/safety/safety-guard.d.ts +1 -0
  368. package/dist/esm/safety/safety-guard.js +2 -1
  369. package/dist/esm/safety/safety-guard.js.map +1 -1
  370. package/dist/esm/safety/safety-middleware.d.ts +7 -3
  371. package/dist/esm/safety/safety-middleware.js +13 -9
  372. package/dist/esm/safety/safety-middleware.js.map +1 -1
  373. package/dist/esm/safety/types.d.ts +2 -2
  374. package/dist/esm/scaffold/sources.js +6 -9
  375. package/dist/esm/scaffold/sources.js.map +1 -1
  376. package/dist/esm/scapi/auth-primitives.d.ts +3 -0
  377. package/dist/esm/scapi/auth-primitives.js +104 -0
  378. package/dist/esm/scapi/auth-primitives.js.map +1 -0
  379. package/dist/esm/scapi/authentication.d.ts +30 -0
  380. package/dist/esm/scapi/authentication.js +136 -0
  381. package/dist/esm/scapi/authentication.js.map +1 -0
  382. package/dist/esm/scapi/catalog.d.ts +29 -0
  383. package/dist/esm/scapi/catalog.js +81 -0
  384. package/dist/esm/scapi/catalog.js.map +1 -0
  385. package/dist/esm/scapi/index.d.ts +12 -0
  386. package/dist/esm/scapi/index.js +13 -0
  387. package/dist/esm/scapi/index.js.map +1 -0
  388. package/dist/esm/scapi/request.d.ts +28 -0
  389. package/dist/esm/scapi/request.js +273 -0
  390. package/dist/esm/scapi/request.js.map +1 -0
  391. package/dist/esm/scapi/runtime.d.ts +27 -0
  392. package/dist/esm/scapi/runtime.js +161 -0
  393. package/dist/esm/scapi/runtime.js.map +1 -0
  394. package/dist/esm/scapi/snippets.d.ts +22 -0
  395. package/dist/esm/scapi/snippets.js +140 -0
  396. package/dist/esm/scapi/snippets.js.map +1 -0
  397. package/dist/esm/scapi/worker-source.d.ts +2 -0
  398. package/dist/esm/scapi/worker-source.js +101 -0
  399. package/dist/esm/scapi/worker-source.js.map +1 -0
  400. package/dist/esm/search/ranking.d.ts +12 -0
  401. package/dist/esm/search/ranking.js +28 -0
  402. package/dist/esm/search/ranking.js.map +1 -0
  403. package/dist/esm/skills/sources.d.ts +2 -2
  404. package/dist/esm/skills/sources.js +18 -2
  405. package/dist/esm/skills/sources.js.map +1 -1
  406. package/dist/esm/skills/types.d.ts +1 -1
  407. package/dist/esm/slas/token.js +33 -94
  408. package/dist/esm/slas/token.js.map +1 -1
  409. package/dist/esm/slas/types.d.ts +5 -0
  410. package/dist/esm/test-utils/config-isolation.js +2 -2
  411. package/dist/esm/test-utils/config-isolation.js.map +1 -1
  412. package/node_modules/@salesforce/b2c-api-schemas/README.md +23 -0
  413. package/node_modules/@salesforce/b2c-api-schemas/manifest.json +576 -0
  414. package/node_modules/@salesforce/b2c-api-schemas/package.json +15 -0
  415. package/node_modules/@salesforce/b2c-api-schemas/scapi/cdn/zones/v1.json +11490 -0
  416. package/node_modules/@salesforce/b2c-api-schemas/scapi/checkout/orders/v1.json +3589 -0
  417. package/node_modules/@salesforce/b2c-api-schemas/scapi/checkout/shopper-baskets/v1.json +6544 -0
  418. package/node_modules/@salesforce/b2c-api-schemas/scapi/checkout/shopper-baskets/v2.json +7148 -0
  419. package/node_modules/@salesforce/b2c-api-schemas/scapi/checkout/shopper-orders/v1.json +4411 -0
  420. package/node_modules/@salesforce/b2c-api-schemas/scapi/checkout/shopper-payments/v1.json +643 -0
  421. package/node_modules/@salesforce/b2c-api-schemas/scapi/configuration/cors/v1.json +295 -0
  422. package/node_modules/@salesforce/b2c-api-schemas/scapi/configuration/preferences/v1.json +2036 -0
  423. package/node_modules/@salesforce/b2c-api-schemas/scapi/configuration/shopper-configurations/v1.json +327 -0
  424. package/node_modules/@salesforce/b2c-api-schemas/scapi/configuration/timeouts/v1.json +234 -0
  425. package/node_modules/@salesforce/b2c-api-schemas/scapi/custom-object/custom-objects/v1.json +1542 -0
  426. package/node_modules/@salesforce/b2c-api-schemas/scapi/custom-object/shopper-custom-objects/v1.json +405 -0
  427. package/node_modules/@salesforce/b2c-api-schemas/scapi/customer/customers/v1.json +2531 -0
  428. package/node_modules/@salesforce/b2c-api-schemas/scapi/customer/shopper-customers/v1.json +7944 -0
  429. package/node_modules/@salesforce/b2c-api-schemas/scapi/dx/custom-apis/v1.json +292 -0
  430. package/node_modules/@salesforce/b2c-api-schemas/scapi/dx/object-definitions/v1.json +2537 -0
  431. package/node_modules/@salesforce/b2c-api-schemas/scapi/dx/scapi-schemas/v1.json +517 -0
  432. package/node_modules/@salesforce/b2c-api-schemas/scapi/dx/scripts/v1.json +589 -0
  433. package/node_modules/@salesforce/b2c-api-schemas/scapi/experience/experiences/v1.json +3600 -0
  434. package/node_modules/@salesforce/b2c-api-schemas/scapi/experience/shopper-experience/v1.json +2319 -0
  435. package/node_modules/@salesforce/b2c-api-schemas/scapi/intelligence/analytics/v1.json +658 -0
  436. package/node_modules/@salesforce/b2c-api-schemas/scapi/inventory/availability/v1.json +2649 -0
  437. package/node_modules/@salesforce/b2c-api-schemas/scapi/inventory/impex/v1.json +6615 -0
  438. package/node_modules/@salesforce/b2c-api-schemas/scapi/inventory/reservation/v1.json +2103 -0
  439. package/node_modules/@salesforce/b2c-api-schemas/scapi/merchant/roles/v1.json +1760 -0
  440. package/node_modules/@salesforce/b2c-api-schemas/scapi/merchant/users/v1.json +640 -0
  441. package/node_modules/@salesforce/b2c-api-schemas/scapi/observability/metrics/v1.json +1263 -0
  442. package/node_modules/@salesforce/b2c-api-schemas/scapi/operation/jobs/v1.json +1259 -0
  443. package/node_modules/@salesforce/b2c-api-schemas/scapi/operation/replications/v1.json +760 -0
  444. package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/assignments/v1.json +1047 -0
  445. package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/campaigns/v1.json +1929 -0
  446. package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/coupons/v1.json +1542 -0
  447. package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/gift-certificates/v1.json +1093 -0
  448. package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/promotions/v1.json +1324 -0
  449. package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/shopper-gift-certificates/v1.json +325 -0
  450. package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/shopper-promotions/v1.json +631 -0
  451. package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/source-code-groups/v1.json +1036 -0
  452. package/node_modules/@salesforce/b2c-api-schemas/scapi/product/catalogs/v1.json +5175 -0
  453. package/node_modules/@salesforce/b2c-api-schemas/scapi/product/inventory-lists/v1.json +866 -0
  454. package/node_modules/@salesforce/b2c-api-schemas/scapi/product/price-books/v1.json +747 -0
  455. package/node_modules/@salesforce/b2c-api-schemas/scapi/product/products/v1.json +5076 -0
  456. package/node_modules/@salesforce/b2c-api-schemas/scapi/product/shopper-availability/v1.json +509 -0
  457. package/node_modules/@salesforce/b2c-api-schemas/scapi/product/shopper-delivery-estimates/v1.json +517 -0
  458. package/node_modules/@salesforce/b2c-api-schemas/scapi/product/shopper-products/v1.json +2961 -0
  459. package/node_modules/@salesforce/b2c-api-schemas/scapi/search/shopper-search/v1.json +1889 -0
  460. package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/auth/v1.json +7014 -0
  461. package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/auth-admin/v1.json +1898 -0
  462. package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/consents/v1.json +622 -0
  463. package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/shopper-agents/v1.json +192 -0
  464. package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/shopper-consents/v1.json +913 -0
  465. package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/shopper-context/v1.json +630 -0
  466. package/node_modules/@salesforce/b2c-api-schemas/scapi/site/seo/v1.json +223 -0
  467. package/node_modules/@salesforce/b2c-api-schemas/scapi/site/shopper-seo/v1.json +423 -0
  468. package/node_modules/@salesforce/b2c-api-schemas/scapi/site/sites/v1.json +1088 -0
  469. package/node_modules/@salesforce/b2c-api-schemas/scapi/store/shopper-stores/v1.json +798 -0
  470. package/node_modules/@salesforce/b2c-api-schemas/scapi/store/store-redirect-mappings/v1.json +607 -0
  471. package/node_modules/@salesforce/b2c-api-schemas/scapi/store/stores/v1.json +1418 -0
  472. package/package.json +24 -3
  473. package/specs/dx-scripts-v1.yaml +409 -0
  474. package/specs/merchant-roles-v1.yaml +1085 -0
  475. package/specs/merchant-users-v1.yaml +398 -0
  476. package/specs/mrt-api-v1.json +105 -0
  477. package/specs/operations-jobs-v1.yaml +793 -0
  478. package/specs/product-catalogs-v1.yaml +111 -0
  479. package/specs/site-sites-v1.yaml +667 -0
  480. package/specs/slas-shopper-v1.yaml +83 -0
  481. package/specs/storefront-deployments-v1.yaml +630 -0
  482. package/specs/storefront-environments-v1.yaml +272 -0
@@ -3,17 +3,26 @@ export type { Logger, LoggerOptions, LogLevel, LogContext } from './logging/inde
3
3
  export { t, setLanguage, getLanguage, getI18nInstance, registerTranslations, B2C_NAMESPACE } from './i18n/index.js';
4
4
  export type { TOptions } from './i18n/index.js';
5
5
  export { loadDwJson, findDwJson, resolveConfig, ConfigResolver, createConfigResolver } from './config/index.js';
6
- export type { DwJsonConfig, DwJsonMultiConfig, LoadDwJsonOptions, NormalizedConfig, ResolvedB2CConfig, ConfigWarning, ConfigWarningCode, ConfigSourceInfo, ConfigSource, ResolveConfigOptions, CreateOAuthOptions, } from './config/index.js';
6
+ export type { DwJsonConfig, DwJsonMultiConfig, LoadDwJsonOptions, NormalizedConfig, ResolvedB2CConfig, ConfigWarning, ConfigWarningCode, ConfigSourceInfo, ConfigSource, ResolveConfigOptions, CreateOAuthOptions, CreateB2CInstanceOptions, } from './config/index.js';
7
7
  export { BasicAuthStrategy, OAuthStrategy, ImplicitOAuthStrategy, PkceOAuthStrategy, JwtOAuthStrategy, ApiKeyStrategy, decodeJWT, resolveAuthStrategy, checkAvailableAuthMethods, ALL_AUTH_METHODS, } from './auth/index.js';
8
8
  export type { AuthStrategy, AccessTokenResponse, DecodedJWT, OAuthConfig, ImplicitOAuthConfig, PkceOAuthConfig, JwtOAuthConfig, AuthConfig, BasicAuthConfig, OAuthAuthConfig, ApiKeyAuthConfig, AuthMethod, AuthCredentials, ResolveAuthStrategyOptions, AvailableAuthMethods, } from './auth/index.js';
9
9
  export { B2CInstance } from './instance/index.js';
10
- export type { InstanceConfig } from './instance/index.js';
11
- export { WebDavClient, createOcapiClient, createAuthMiddleware, createExtraParamsMiddleware, createSlasClient, createOdsClient, createCustomApisClient, createAccountManagerUsersClient, createAccountManagerRolesClient, createAccountManagerApiClientsClient, createAccountManagerOrgsClient, createCdnZonesClient, createPreferencesClient, createGranularReplicationsClient, createCipClient, createMetricsClient, METRICS_DEFAULT_SCOPES, toOrganizationId, normalizeTenantId, buildTenantScope, getApiErrorMessage, isValidRoleTenantFilter, fetchRoleMapping, resolveToInternalRole, resolveFromInternalRole, ORGANIZATION_ID_PREFIX, ROLE_TENANT_FILTER_PATTERN, SCAPI_TENANT_SCOPE_PREFIX, CUSTOM_APIS_DEFAULT_SCOPES, CDN_ZONES_READ_SCOPES, CDN_ZONES_RW_SCOPES, PREFERENCES_READ_SCOPES, PREFERENCES_RW_SCOPES, DEFAULT_CIP_HOST, DEFAULT_CIP_STAGING_HOST, } from './clients/index.js';
10
+ export type { B2CInstanceOptions, InstanceConfig, ScapiClientConfig } from './instance/index.js';
11
+ export { WebDavClient, createOcapiClient, createAuthMiddleware, createExtraParamsMiddleware, createSlasClient, createOdsClient, createCustomApisClient, createAccountManagerUsersClient, createAccountManagerRolesClient, createAccountManagerApiClientsClient, createAccountManagerOrgsClient, createCdnZonesClient, createPreferencesClient, createGranularReplicationsClient, createCipClient, createMetricsClient, METRICS_DEFAULT_SCOPES, toOrganizationId, normalizeTenantId, buildTenantScope, getApiErrorMessage, isOcapiDeprecatedFault, throwOcapiError, OcapiDeprecatedError, OCAPI_DEPRECATED_MESSAGE, ocapiDeprecatedMessage, isValidRoleTenantFilter, fetchRoleMapping, resolveToInternalRole, resolveFromInternalRole, ORGANIZATION_ID_PREFIX, ROLE_TENANT_FILTER_PATTERN, SCAPI_TENANT_SCOPE_PREFIX, CUSTOM_APIS_DEFAULT_SCOPES, CDN_ZONES_READ_SCOPES, CDN_ZONES_RW_SCOPES, PREFERENCES_READ_SCOPES, PREFERENCES_RW_SCOPES, DEFAULT_CIP_HOST, DEFAULT_CIP_STAGING_HOST, } from './clients/index.js';
12
12
  export type { PropfindEntry, ExtraParamsConfig, OcapiClient, OcapiError, OcapiResponse, OcapiPaths, OcapiComponents, SlasClient, SlasClientConfig, SlasError, SlasResponse, SlasPaths, SlasComponents, OdsClient, OdsClientConfig, OdsError, OdsResponse, OdsPaths, OdsComponents, CustomApisClient, CustomApisClientConfig, CustomApisError, CustomApisResponse, CustomApisPaths, CustomApisComponents, AccountManagerUsersClient, AccountManagerClientConfig, AccountManagerUser, AccountManagerResponse, AccountManagerError, UserCreate, UserUpdate, UserCollection, UserState, UserExpandOption, AccountManagerRolesClient, AccountManagerRole, AccountManagerRolesResponse, AccountManagerRolesError, RoleCollection, ListRolesOptions, RoleMapping, OrgMapping, AccountManagerApiClientsClient, AccountManagerApiClient, APIClientCreate, APIClientUpdate, APIClientCollection, ApiClientExpandOption, ListApiClientsOptions, AccountManagerOrgsClient, AccountManagerOrganization, OrganizationCollection, ListOrgsOptions, CdnZonesClient, CdnZonesClientConfig, CdnZonesClientOptions, CdnZonesError, CdnZonesResponse, Zone, ZonesEnvelope, CdnZonesPaths, CdnZonesComponents, PreferencesClient, PreferencesClientConfig, PreferencesClientOptions, PreferencesError, PreferencesResponse, PreferenceInstanceType, CustomPreference, CustomPreferenceList, OrganizationPreferences, SitePreferences, PreferenceValue, PreferenceValueSearchResult, PreferencesSearchRequest, PreferencesPaths, PreferencesComponents, GranularReplicationsClient, GranularReplicationsClientConfig, GranularReplicationsError, GranularReplicationsResponse, ProductItem, PriceTableItem, ContentAssetItemPrivate, ContentAssetItemShared, PublishProcessResponse, PublishProcessListResponse, PublishIdResponse, GranularReplicationsPaths, GranularReplicationsComponents, CipClient, CipClientConfig, CipColumn, CipExecuteResponse, CipFetchResponse, CipFrame, CipQueryOptions, CipQueryResult, MetricsClient, MetricsClientConfig, MetricsResponse, MetricsDataResponse, Metric, MetricDataSeries, MetricDataPoint, MetricsError, } from './clients/index.js';
13
13
  export { findCartridges, listCodeVersions, getActiveCodeVersion, activateCodeVersion, reloadCodeVersion, deleteCodeVersion, createCodeVersion, findAndDeployCartridges, uploadCartridges, deleteCartridges, watchCartridges, } from './operations/code/index.js';
14
14
  export type { CartridgeMapping, FindCartridgesOptions, CodeVersion, CodeVersionActivationResult, CodeVersionResult, DeployOptions, DeployResult, WatchOptions, WatchResult, } from './operations/code/index.js';
15
- export { executeJob, getJobExecution, waitForJob, searchJobExecutions, findRunningJobExecution, getJobLog, getJobErrorMessage, JobExecutionError, siteArchiveImport, siteArchiveExport, siteArchiveExportToPath, } from './operations/jobs/index.js';
16
- export type { JobExecution, JobStepExecution, JobExecutionStatus, JobExecutionParameter, ExecuteJobOptions, WaitForJobOptions, WaitForJobPollInfo, SearchJobExecutionsOptions, JobExecutionSearchResult, SiteArchiveImportOptions, SiteArchiveImportResult, SiteArchiveExportOptions, SiteArchiveExportResult, ExportDataUnitsConfiguration, ExportSitesConfiguration, ExportGlobalDataConfiguration, } from './operations/jobs/index.js';
15
+ export { createScriptsBackend, OcapiScriptsBackend, ScapiScriptsBackend } from './operations/code/index.js';
16
+ export type { ScriptsBackend, ScriptsBackendConfig, CodeVersionInfo, ScapiScriptsBackendConfig, } from './operations/code/index.js';
17
+ export { createUsersBackend, OcapiUsersBackend, ScapiUsersBackend } from './operations/bm-users/index.js';
18
+ export type { UsersBackend, UsersBackendConfig, UserInfo, ListUsersResult, ListUsersOptions, SearchUsersOptions, CreateUserInput, UpdateUserChanges, ScapiUsersBackendConfig, } from './operations/bm-users/index.js';
19
+ export { createRolesBackend, OcapiRolesBackend, ScapiRolesBackend } from './operations/bm-roles/index.js';
20
+ export type { RolesBackend, RolesBackendConfig, RoleInfo, RolePermissionsInfo, ListRolesResult, ListRolesOptions as ListBmRolesScopedOptions, CreateRoleInput, ScapiRolesBackendConfig, } from './operations/bm-roles/index.js';
21
+ export { createCatalogsBackend, OcapiCatalogsBackend, ScapiCatalogsBackend } from './operations/catalogs/index.js';
22
+ export type { CatalogsBackend, CatalogsBackendConfig, CatalogInfo, ListCatalogsOptions, ScapiCatalogsBackendConfig, } from './operations/catalogs/index.js';
23
+ export { createJobsCompatibilityBackend, JobsCompatibilityBackend } from './compat/index.js';
24
+ export { executeJob, getJobExecution, waitForJob, searchJobExecutions, findRunningJobExecution, getJobLog, getJobErrorMessage, JobExecutionError, siteArchiveImport, siteArchiveExport, siteArchiveExportToPath, scapiExecuteJob, scapiGetJobExecution, scapiSearchJobExecutions, scapiDeleteJobExecution, scapiGetJobLog, waitForJobExecution, CanonicalJobExecutionError, } from './operations/jobs/index.js';
25
+ export type { JobExecution, JobStepExecution, JobExecutionStatus, JobExecutionParameter, ExecuteJobOptions, WaitForJobOptions, WaitForJobPollInfo, SearchJobExecutionsOptions, JobExecutionSearchResult, JobExecutionInfo, JobStepExecutionResult, JobExecutionSearchResults, ExecuteJobScapiOptions, SearchJobExecutionsScapiOptions, SiteArchiveImportOptions, SiteArchiveImportResult, SiteArchiveExportOptions, SiteArchiveExportResult, ExportDataUnitsConfiguration, ExportSitesConfiguration, ExportGlobalDataConfiguration, } from './operations/jobs/index.js';
17
26
  export { searchDocs, readDoc, readDocByQuery, listDocs, loadSearchIndex, listSchemas, readSchema, readSchemaByQuery, searchSchemas, downloadDocs, } from './docs/index.js';
18
27
  export type { DocEntry, SearchIndex, SearchResult, SchemaEntry, SchemaIndex, SchemaSearchResult, DownloadDocsOptions, DownloadDocsResult, } from './docs/index.js';
19
28
  export { isUuid, isFriendlySandboxId, parseFriendlySandboxId, resolveSandboxId, SandboxNotFoundError, waitForSandbox, SandboxPollingTimeoutError, SandboxPollingError, SandboxTerminalStateError, waitForClone, ClonePollingTimeoutError, ClonePollingError, CloneFailedError, buildSandboxSettings, DEFAULT_OCAPI_RESOURCES, DEFAULT_WEBDAV_PERMISSIONS, waitForClones, CloneBatchPollingTimeoutError, CloneBatchPollingError, CloneBatchFailedError, } from './operations/ods/index.js';
package/dist/esm/index.js CHANGED
@@ -13,11 +13,23 @@ export { BasicAuthStrategy, OAuthStrategy, ImplicitOAuthStrategy, PkceOAuthStrat
13
13
  // Context Layer - Instance
14
14
  export { B2CInstance } from './instance/index.js';
15
15
  // Clients
16
- export { WebDavClient, createOcapiClient, createAuthMiddleware, createExtraParamsMiddleware, createSlasClient, createOdsClient, createCustomApisClient, createAccountManagerUsersClient, createAccountManagerRolesClient, createAccountManagerApiClientsClient, createAccountManagerOrgsClient, createCdnZonesClient, createPreferencesClient, createGranularReplicationsClient, createCipClient, createMetricsClient, METRICS_DEFAULT_SCOPES, toOrganizationId, normalizeTenantId, buildTenantScope, getApiErrorMessage, isValidRoleTenantFilter, fetchRoleMapping, resolveToInternalRole, resolveFromInternalRole, ORGANIZATION_ID_PREFIX, ROLE_TENANT_FILTER_PATTERN, SCAPI_TENANT_SCOPE_PREFIX, CUSTOM_APIS_DEFAULT_SCOPES, CDN_ZONES_READ_SCOPES, CDN_ZONES_RW_SCOPES, PREFERENCES_READ_SCOPES, PREFERENCES_RW_SCOPES, DEFAULT_CIP_HOST, DEFAULT_CIP_STAGING_HOST, } from './clients/index.js';
16
+ export { WebDavClient, createOcapiClient, createAuthMiddleware, createExtraParamsMiddleware, createSlasClient, createOdsClient, createCustomApisClient, createAccountManagerUsersClient, createAccountManagerRolesClient, createAccountManagerApiClientsClient, createAccountManagerOrgsClient, createCdnZonesClient, createPreferencesClient, createGranularReplicationsClient, createCipClient, createMetricsClient, METRICS_DEFAULT_SCOPES, toOrganizationId, normalizeTenantId, buildTenantScope, getApiErrorMessage, isOcapiDeprecatedFault, throwOcapiError, OcapiDeprecatedError, OCAPI_DEPRECATED_MESSAGE, ocapiDeprecatedMessage, isValidRoleTenantFilter, fetchRoleMapping, resolveToInternalRole, resolveFromInternalRole, ORGANIZATION_ID_PREFIX, ROLE_TENANT_FILTER_PATTERN, SCAPI_TENANT_SCOPE_PREFIX, CUSTOM_APIS_DEFAULT_SCOPES, CDN_ZONES_READ_SCOPES, CDN_ZONES_RW_SCOPES, PREFERENCES_READ_SCOPES, PREFERENCES_RW_SCOPES, DEFAULT_CIP_HOST, DEFAULT_CIP_STAGING_HOST, } from './clients/index.js';
17
17
  // Operations - Code
18
18
  export { findCartridges, listCodeVersions, getActiveCodeVersion, activateCodeVersion, reloadCodeVersion, deleteCodeVersion, createCodeVersion, findAndDeployCartridges, uploadCartridges, deleteCartridges, watchCartridges, } from './operations/code/index.js';
19
+ // Scripts (code versions) backend abstraction
20
+ export { createScriptsBackend, OcapiScriptsBackend, ScapiScriptsBackend } from './operations/code/index.js';
21
+ // Users (BM) backend abstraction
22
+ export { createUsersBackend, OcapiUsersBackend, ScapiUsersBackend } from './operations/bm-users/index.js';
23
+ // Roles (BM) backend abstraction
24
+ export { createRolesBackend, OcapiRolesBackend, ScapiRolesBackend } from './operations/bm-roles/index.js';
25
+ // Catalog backend abstraction
26
+ export { createCatalogsBackend, OcapiCatalogsBackend, ScapiCatalogsBackend } from './operations/catalogs/index.js';
27
+ // Explicit transitional fallback surfaces
28
+ export { createJobsCompatibilityBackend, JobsCompatibilityBackend } from './compat/index.js';
19
29
  // Operations - Jobs
20
- export { executeJob, getJobExecution, waitForJob, searchJobExecutions, findRunningJobExecution, getJobLog, getJobErrorMessage, JobExecutionError, siteArchiveImport, siteArchiveExport, siteArchiveExportToPath, } from './operations/jobs/index.js';
30
+ export { executeJob, getJobExecution, waitForJob, searchJobExecutions, findRunningJobExecution, getJobLog, getJobErrorMessage, JobExecutionError, siteArchiveImport, siteArchiveExport, siteArchiveExportToPath,
31
+ // Canonical surface (SCAPI free functions + canonical helpers)
32
+ scapiExecuteJob, scapiGetJobExecution, scapiSearchJobExecutions, scapiDeleteJobExecution, scapiGetJobLog, waitForJobExecution, CanonicalJobExecutionError, } from './operations/jobs/index.js';
21
33
  // Docs - Documentation search
22
34
  export { searchDocs, readDoc, readDocByQuery, listDocs, loadSearchIndex, listSchemas, readSchema, readSchemaByQuery, searchSchemas, downloadDocs, } from './docs/index.js';
23
35
  // Operations - ODS
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -37,10 +37,36 @@
37
37
  *
38
38
  * @module instance
39
39
  */
40
- import type { AuthConfig } from '../auth/types.js';
40
+ import type { AuthConfig, AuthStrategy } from '../auth/types.js';
41
41
  import { WebDavClient } from '../clients/webdav.js';
42
42
  import { type OcapiClient } from '../clients/ocapi.js';
43
43
  import { type TlsOptions } from '../clients/tls-dispatcher.js';
44
+ /**
45
+ * SCAPI connection coordinates plus an auth strategy able to request the
46
+ * `sfcc.*` scopes each Commerce API operation needs.
47
+ *
48
+ * Returned by {@link B2CInstance.scapiClientConfig} when — and only when — the
49
+ * instance carries both a shortCode and tenantId and is configured with a
50
+ * stateless OAuth flow (client-credentials or JWT Bearer) that can go back to
51
+ * Account Manager per request for arbitrary scopes. This is the single handle
52
+ * every SCAPI client factory consumes, so SCAPI operations need nothing beyond
53
+ * a {@link B2CInstance}.
54
+ */
55
+ export interface ScapiClientConfig {
56
+ shortCode: string;
57
+ tenantId: string;
58
+ auth: AuthStrategy;
59
+ }
60
+ /**
61
+ * Optional runtime dependencies for a {@link B2CInstance}.
62
+ *
63
+ * The OAuth strategy factory lets CLI commands reuse their session-aware auth
64
+ * resolution (including PKCE refresh and the temporary implicit fallback)
65
+ * without eagerly starting browser authentication for Basic-only WebDAV work.
66
+ */
67
+ export interface B2CInstanceOptions {
68
+ oauthStrategy?: AuthStrategy | (() => AuthStrategy);
69
+ }
44
70
  /**
45
71
  * Instance configuration (hostname, code version, etc.)
46
72
  */
@@ -53,6 +79,22 @@ export interface InstanceConfig {
53
79
  webdavHostname?: string;
54
80
  /** TLS options for mTLS/self-signed certificate support */
55
81
  tlsOptions?: TlsOptions;
82
+ /**
83
+ * SCAPI short code (e.g. `kv7kzm78`). Required, together with {@link tenantId},
84
+ * to reach the Salesforce Commerce API. Populated from resolved configuration.
85
+ */
86
+ shortCode?: string;
87
+ /**
88
+ * SCAPI tenant/organization ID (e.g. `zzxy_prd`). Required, together with
89
+ * {@link shortCode}, to reach the Salesforce Commerce API.
90
+ */
91
+ tenantId?: string;
92
+ /**
93
+ * Backend preference for operations that support both OCAPI (legacy) and
94
+ * SCAPI. Defaults to `'auto'` when unset. Lets the instance answer "should
95
+ * this operation prefer SCAPI?" without the caller re-reading config.
96
+ */
97
+ apiBackend?: 'ocapi' | 'scapi' | 'auto';
56
98
  }
57
99
  /**
58
100
  * Represents a connection to a B2C Commerce instance.
@@ -79,20 +121,54 @@ export interface InstanceConfig {
79
121
  export declare class B2CInstance {
80
122
  readonly config: InstanceConfig;
81
123
  readonly auth: AuthConfig;
124
+ private readonly options;
82
125
  private _webdav?;
83
126
  private _ocapi?;
127
+ private _oauthStrategy?;
84
128
  /**
85
129
  * Creates a new B2CInstance.
86
130
  *
87
131
  * @param config - Instance configuration (hostname, code version)
88
132
  * @param auth - Authentication configuration
133
+ * @param options - Optional runtime dependencies, including a pre-resolved OAuth strategy
89
134
  */
90
- constructor(config: InstanceConfig, auth: AuthConfig);
135
+ constructor(config: InstanceConfig, auth: AuthConfig, options?: B2CInstanceOptions);
91
136
  /**
92
137
  * The hostname to use for WebDAV operations.
93
138
  * Falls back to main hostname if not specified.
94
139
  */
95
140
  get webdavHostname(): string;
141
+ /**
142
+ * Backend preference for operations that support both OCAPI and SCAPI.
143
+ * Defaults to `'auto'` when not configured.
144
+ */
145
+ get apiBackend(): 'ocapi' | 'scapi' | 'auto';
146
+ /**
147
+ * SCAPI connection coordinates + a scope-flexible auth strategy, or
148
+ * `undefined` when this instance cannot reach SCAPI under `auto` mode.
149
+ *
150
+ * This is the forward-looking seam for the OCAPI → SCAPI transition: a SCAPI
151
+ * client factory (jobs, sites, scripts, …) needs only a {@link B2CInstance},
152
+ * not a separately-threaded shortCode/tenantId/auth bundle. When OCAPI is
153
+ * eventually removed, the OCAPI accessors disappear and this stays.
154
+ *
155
+ * Returns `undefined` unless **all** of the following hold:
156
+ * 1. `shortCode` and `tenantId` are configured, and
157
+ * 2. the configured OAuth flow is stateless and scope-flexible —
158
+ * client-credentials (clientId + clientSecret) or JWT Bearer
159
+ * (clientId + cert/key).
160
+ *
161
+ * Browser user-auth flows (Authorization Code + PKCE and deprecated
162
+ * implicit) are excluded on purpose because SCAPI Admin APIs currently only
163
+ * support system authentication. Fixed-token stored sessions are also
164
+ * excluded because they cannot request the `sfcc.*` scopes SCAPI needs.
165
+ * This is not an `auto`-only restriction —
166
+ * because both consumers (the dual-backend factory and the system-job runner)
167
+ * gate on this getter, even explicit `--api-backend scapi` cannot use SCAPI
168
+ * with implicit/stateful auth; it fails with a clear error naming the flow
169
+ * requirement. SCAPI requires client-credentials or JWT Bearer.
170
+ */
171
+ get scapiClientConfig(): ScapiClientConfig | undefined;
96
172
  /**
97
173
  * WebDAV client for file operations.
98
174
  *
@@ -135,6 +211,24 @@ export declare class B2CInstance {
135
211
  * @throws Error if no valid OAuth method is available
136
212
  */
137
213
  private getOAuthStrategy;
214
+ /**
215
+ * Builds the scope-flexible OAuth strategy used for SCAPI, or `undefined`
216
+ * when the configured credentials are not eligible for `auto`-mode SCAPI.
217
+ *
218
+ * Only the stateless flows qualify, because only they can request arbitrary
219
+ * `sfcc.*` scopes from Account Manager per call (via the cascade / additional
220
+ * scopes hooks the SCAPI client factories rely on):
221
+ * - **client-credentials**: clientId + clientSecret.
222
+ * - **JWT Bearer**: clientId + cert/key paths.
223
+ *
224
+ * Honors `authMethods` ordering, defaulting to client-credentials before JWT
225
+ * to match the CLI's auth priority. Returns `undefined` for implicit- or
226
+ * basic-only configs.
227
+ */
228
+ private buildScapiAuthStrategy;
229
+ /** Builds a configured non-interactive OAuth strategy for SCAPI or OCAPI. */
230
+ private buildSystemOAuthStrategy;
138
231
  }
139
232
  export type { AuthConfig };
140
233
  export type { TlsOptions };
234
+ export type { AuthStrategy };
@@ -1,5 +1,5 @@
1
1
  import { BasicAuthStrategy } from '../auth/basic.js';
2
- import { resolveAuthStrategy } from '../auth/resolve.js';
2
+ import { resolveAuthStrategy, resolveSystemOAuthStrategy } from '../auth/resolve.js';
3
3
  import { WebDavClient } from '../clients/webdav.js';
4
4
  import { createOcapiClient } from '../clients/ocapi.js';
5
5
  import { createTlsDispatcher } from '../clients/tls-dispatcher.js';
@@ -28,17 +28,21 @@ import { createTlsDispatcher } from '../clients/tls-dispatcher.js';
28
28
  export class B2CInstance {
29
29
  config;
30
30
  auth;
31
+ options;
31
32
  _webdav;
32
33
  _ocapi;
34
+ _oauthStrategy;
33
35
  /**
34
36
  * Creates a new B2CInstance.
35
37
  *
36
38
  * @param config - Instance configuration (hostname, code version)
37
39
  * @param auth - Authentication configuration
40
+ * @param options - Optional runtime dependencies, including a pre-resolved OAuth strategy
38
41
  */
39
- constructor(config, auth) {
42
+ constructor(config, auth, options = {}) {
40
43
  this.config = config;
41
44
  this.auth = auth;
45
+ this.options = options;
42
46
  }
43
47
  /**
44
48
  * The hostname to use for WebDAV operations.
@@ -47,6 +51,49 @@ export class B2CInstance {
47
51
  get webdavHostname() {
48
52
  return this.config.webdavHostname || this.config.hostname;
49
53
  }
54
+ /**
55
+ * Backend preference for operations that support both OCAPI and SCAPI.
56
+ * Defaults to `'auto'` when not configured.
57
+ */
58
+ get apiBackend() {
59
+ return this.config.apiBackend ?? 'auto';
60
+ }
61
+ /**
62
+ * SCAPI connection coordinates + a scope-flexible auth strategy, or
63
+ * `undefined` when this instance cannot reach SCAPI under `auto` mode.
64
+ *
65
+ * This is the forward-looking seam for the OCAPI → SCAPI transition: a SCAPI
66
+ * client factory (jobs, sites, scripts, …) needs only a {@link B2CInstance},
67
+ * not a separately-threaded shortCode/tenantId/auth bundle. When OCAPI is
68
+ * eventually removed, the OCAPI accessors disappear and this stays.
69
+ *
70
+ * Returns `undefined` unless **all** of the following hold:
71
+ * 1. `shortCode` and `tenantId` are configured, and
72
+ * 2. the configured OAuth flow is stateless and scope-flexible —
73
+ * client-credentials (clientId + clientSecret) or JWT Bearer
74
+ * (clientId + cert/key).
75
+ *
76
+ * Browser user-auth flows (Authorization Code + PKCE and deprecated
77
+ * implicit) are excluded on purpose because SCAPI Admin APIs currently only
78
+ * support system authentication. Fixed-token stored sessions are also
79
+ * excluded because they cannot request the `sfcc.*` scopes SCAPI needs.
80
+ * This is not an `auto`-only restriction —
81
+ * because both consumers (the dual-backend factory and the system-job runner)
82
+ * gate on this getter, even explicit `--api-backend scapi` cannot use SCAPI
83
+ * with implicit/stateful auth; it fails with a clear error naming the flow
84
+ * requirement. SCAPI requires client-credentials or JWT Bearer.
85
+ */
86
+ get scapiClientConfig() {
87
+ const { shortCode, tenantId } = this.config;
88
+ if (!shortCode || !tenantId) {
89
+ return undefined;
90
+ }
91
+ const auth = this.buildScapiAuthStrategy();
92
+ if (!auth) {
93
+ return undefined;
94
+ }
95
+ return { shortCode, tenantId, auth };
96
+ }
50
97
  /**
51
98
  * WebDAV client for file operations.
52
99
  *
@@ -112,6 +159,14 @@ export class B2CInstance {
112
159
  * @throws Error if no valid OAuth method is available
113
160
  */
114
161
  getOAuthStrategy() {
162
+ if (this._oauthStrategy) {
163
+ return this._oauthStrategy;
164
+ }
165
+ if (this.options.oauthStrategy) {
166
+ this._oauthStrategy =
167
+ typeof this.options.oauthStrategy === 'function' ? this.options.oauthStrategy() : this.options.oauthStrategy;
168
+ return this._oauthStrategy;
169
+ }
115
170
  if (!this.auth.oauth) {
116
171
  throw new Error('OAuth credentials required. Provide at least clientId.');
117
172
  }
@@ -124,12 +179,50 @@ export class B2CInstance {
124
179
  redirectUri: this.auth.oauth.redirectUri,
125
180
  openBrowser: this.auth.oauth.openBrowser,
126
181
  };
127
- // Filter to only OAuth methods (client-credentials, user, implicit)
128
- const oauthMethods = (this.auth.authMethods || ['client-credentials', 'user']).filter((m) => m === 'client-credentials' || m === 'user' || m === 'implicit');
182
+ // Filter to OAuth methods while preserving the configured priority. JWT
183
+ // is equivalent to client credentials once it has obtained an AM token,
184
+ // so it must remain eligible for OCAPI and WebDAV OAuth calls as well as
185
+ // SCAPI.
186
+ const oauthMethods = (this.auth.authMethods || ['client-credentials', 'jwt', 'user']).filter((m) => m === 'client-credentials' || m === 'jwt' || m === 'user' || m === 'implicit');
129
187
  if (oauthMethods.length === 0) {
130
188
  throw new Error('No OAuth methods allowed. Check authMethods configuration.');
131
189
  }
132
- return resolveAuthStrategy(credentials, { allowedMethods: oauthMethods });
190
+ for (const method of oauthMethods) {
191
+ if (method === 'client-credentials' || method === 'jwt') {
192
+ const systemStrategy = this.buildSystemOAuthStrategy(method);
193
+ if (systemStrategy) {
194
+ this._oauthStrategy = systemStrategy;
195
+ return this._oauthStrategy;
196
+ }
197
+ continue;
198
+ }
199
+ if (credentials.clientId) {
200
+ this._oauthStrategy = resolveAuthStrategy(credentials, { allowedMethods: [method] });
201
+ return this._oauthStrategy;
202
+ }
203
+ }
204
+ throw new Error(`No valid OAuth method available. Allowed methods: [${oauthMethods.join(', ')}].`);
205
+ }
206
+ /**
207
+ * Builds the scope-flexible OAuth strategy used for SCAPI, or `undefined`
208
+ * when the configured credentials are not eligible for `auto`-mode SCAPI.
209
+ *
210
+ * Only the stateless flows qualify, because only they can request arbitrary
211
+ * `sfcc.*` scopes from Account Manager per call (via the cascade / additional
212
+ * scopes hooks the SCAPI client factories rely on):
213
+ * - **client-credentials**: clientId + clientSecret.
214
+ * - **JWT Bearer**: clientId + cert/key paths.
215
+ *
216
+ * Honors `authMethods` ordering, defaulting to client-credentials before JWT
217
+ * to match the CLI's auth priority. Returns `undefined` for implicit- or
218
+ * basic-only configs.
219
+ */
220
+ buildScapiAuthStrategy() {
221
+ return this.auth.oauth ? resolveSystemOAuthStrategy(this.auth.oauth, this.auth.authMethods) : undefined;
222
+ }
223
+ /** Builds a configured non-interactive OAuth strategy for SCAPI or OCAPI. */
224
+ buildSystemOAuthStrategy(method) {
225
+ return this.auth.oauth ? resolveSystemOAuthStrategy(this.auth.oauth, [method]) : undefined;
133
226
  }
134
227
  }
135
228
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/instance/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/instance/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { RolesBackend } from './types.js';
2
+ import { type DualBackendConfig } from '../../clients/dual-backend-factory.js';
3
+ export type RolesBackendConfig = DualBackendConfig;
4
+ export declare function createRolesBackend(config: RolesBackendConfig): RolesBackend;
@@ -0,0 +1,11 @@
1
+ import { OcapiRolesBackend } from './ocapi-backend.js';
2
+ import { ScapiRolesBackend } from './scapi-backend.js';
3
+ import { createDualBackend } from '../../clients/dual-backend-factory.js';
4
+ export function createRolesBackend(config) {
5
+ return createDualBackend(config, {
6
+ domainName: 'Roles',
7
+ Scapi: ScapiRolesBackend,
8
+ Ocapi: OcapiRolesBackend,
9
+ });
10
+ }
11
+ //# sourceMappingURL=backend.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backend.js","sourceRoot":"","sources":["../../../../src/operations/bm-roles/backend.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,iBAAiB,EAAC,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAC,iBAAiB,EAAC,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAC,iBAAiB,EAAyB,MAAM,uCAAuC,CAAC;AAIhG,MAAM,UAAU,kBAAkB,CAAC,MAA0B;IAC3D,OAAO,iBAAiB,CAAe,MAAM,EAAE;QAC7C,UAAU,EAAE,OAAO;QACnB,KAAK,EAAE,iBAAiB;QACxB,KAAK,EAAE,iBAAiB;KACzB,CAAC,CAAC;AACL,CAAC"}
@@ -50,3 +50,9 @@
50
50
  */
51
51
  export { listBmRoles, getBmRole, createBmRole, deleteBmRole, grantBmRole, revokeBmRole, getBmRolePermissions, setBmRolePermissions, } from './roles.js';
52
52
  export type { BmRole, BmRoles, BmRolePermissions, ListBmRolesOptions, GetBmRoleOptions } from './roles.js';
53
+ export { createRolesBackend } from './backend.js';
54
+ export type { RolesBackendConfig } from './backend.js';
55
+ export { OcapiRolesBackend } from './ocapi-backend.js';
56
+ export { ScapiRolesBackend } from './scapi-backend.js';
57
+ export type { ScapiRolesBackendConfig } from './scapi-backend.js';
58
+ export type { RolesBackend, RoleInfo, RolePermissionsInfo, ListRolesResult, ListRolesOptions, CreateRoleInput, } from './types.js';
@@ -54,4 +54,8 @@
54
54
  * @module operations/bm-roles
55
55
  */
56
56
  export { listBmRoles, getBmRole, createBmRole, deleteBmRole, grantBmRole, revokeBmRole, getBmRolePermissions, setBmRolePermissions, } from './roles.js';
57
+ // Roles backend abstraction — supports OCAPI + SCAPI
58
+ export { createRolesBackend } from './backend.js';
59
+ export { OcapiRolesBackend } from './ocapi-backend.js';
60
+ export { ScapiRolesBackend } from './scapi-backend.js';
57
61
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/operations/bm-roles/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,OAAO,EACL,WAAW,EACX,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/operations/bm-roles/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AACH,OAAO,EACL,WAAW,EACX,SAAS,EACT,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,oBAAoB,EACpB,oBAAoB,GACrB,MAAM,YAAY,CAAC;AAIpB,qDAAqD;AACrD,OAAO,EAAC,kBAAkB,EAAC,MAAM,cAAc,CAAC;AAEhD,OAAO,EAAC,iBAAiB,EAAC,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAC,iBAAiB,EAAC,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,17 @@
1
+ import type { B2CInstance } from '../../instance/index.js';
2
+ import type { RolesBackend, RoleInfo, ListRolesResult, ListRolesOptions, RolePermissionsInfo, CreateRoleInput } from './types.js';
3
+ export declare class OcapiRolesBackend implements RolesBackend {
4
+ private instance;
5
+ readonly name: "ocapi";
6
+ constructor(instance: B2CInstance);
7
+ listRoles(options?: ListRolesOptions): Promise<ListRolesResult>;
8
+ getRole(roleId: string, options?: {
9
+ expand?: ('users' | 'permissions')[];
10
+ }): Promise<RoleInfo>;
11
+ createRole(roleId: string, input?: CreateRoleInput): Promise<RoleInfo>;
12
+ deleteRole(roleId: string): Promise<void>;
13
+ getPermissions(roleId: string): Promise<RolePermissionsInfo>;
14
+ setPermissions(roleId: string, permissions: RolePermissionsInfo): Promise<RolePermissionsInfo>;
15
+ grantRole(roleId: string, login: string): Promise<void>;
16
+ revokeRole(roleId: string, login: string): Promise<void>;
17
+ }
@@ -0,0 +1,151 @@
1
+ import { listBmRoles as ocapiListBmRoles, getBmRole as ocapiGetBmRole, createBmRole as ocapiCreateBmRole, deleteBmRole as ocapiDeleteBmRole, getBmRolePermissions as ocapiGetBmRolePermissions, setBmRolePermissions as ocapiSetBmRolePermissions, grantBmRole as ocapiGrantBmRole, revokeBmRole as ocapiRevokeBmRole, } from './roles.js';
2
+ function mapOcapiRole(ocapi) {
3
+ return {
4
+ id: ocapi.id ?? '',
5
+ description: ocapi.description,
6
+ userCount: ocapi.user_count,
7
+ userManager: ocapi.user_manager,
8
+ // OCAPI returns permissions inline on the role when expanded, same as SCAPI.
9
+ // Map snake_case → camelCase to match the canonical RoleInfo shape so that
10
+ // callers see consistent data after a fallback from SCAPI to OCAPI.
11
+ permissions: ocapi.permissions ? mapOcapiPermissions(ocapi.permissions) : undefined,
12
+ _raw: ocapi,
13
+ };
14
+ }
15
+ function mapOcapiModulePermission(permission) {
16
+ return {
17
+ application: permission.application,
18
+ name: permission.name,
19
+ type: permission.type,
20
+ system: permission.system,
21
+ value: permission.value,
22
+ values: permission.values,
23
+ };
24
+ }
25
+ function mapOcapiFunctionalPermission(permission) {
26
+ return {
27
+ name: permission.name,
28
+ type: permission.type,
29
+ value: permission.value,
30
+ values: permission.values,
31
+ };
32
+ }
33
+ function mapOcapiLocalePermission(permission) {
34
+ return {
35
+ localeId: permission.locale_id,
36
+ type: permission.type,
37
+ value: permission.value,
38
+ values: permission.values,
39
+ };
40
+ }
41
+ function mapOcapiWebdavPermission(permission) {
42
+ return {
43
+ folder: permission.folder,
44
+ type: permission.type,
45
+ value: permission.value,
46
+ values: permission.values,
47
+ };
48
+ }
49
+ function mapOcapiPermissions(ocapi) {
50
+ // OCAPI uses snake_case for innermost permission fields (locale_id, etc.)
51
+ // while SCAPI uses camelCase (localeId). Convert at this boundary.
52
+ const result = {};
53
+ if (ocapi.module) {
54
+ result.module = {
55
+ organization: (ocapi.module.organization ?? []).map(mapOcapiModulePermission),
56
+ site: (ocapi.module.site ?? []).map(mapOcapiModulePermission),
57
+ };
58
+ }
59
+ if (ocapi.functional) {
60
+ result.functional = {
61
+ organization: (ocapi.functional.organization ?? []).map(mapOcapiFunctionalPermission),
62
+ site: (ocapi.functional.site ?? []).map(mapOcapiFunctionalPermission),
63
+ };
64
+ }
65
+ if (ocapi.locale) {
66
+ result.locale = {
67
+ unscoped: (ocapi.locale.unscoped ?? []).map(mapOcapiLocalePermission),
68
+ };
69
+ }
70
+ if (ocapi.webdav) {
71
+ result.webdav = {
72
+ unscoped: (ocapi.webdav.unscoped ?? []).map(mapOcapiWebdavPermission),
73
+ };
74
+ }
75
+ return result;
76
+ }
77
+ function mapScapiPermissionsToOcapi(perms) {
78
+ // Reverse: camelCase → snake_case for the inner locale field.
79
+ const result = {};
80
+ if (perms.module) {
81
+ result.module = {
82
+ organization: (perms.module.organization ?? []).map((permission) => ({ ...permission })),
83
+ site: (perms.module.site ?? []).map((permission) => ({ ...permission })),
84
+ };
85
+ }
86
+ if (perms.functional) {
87
+ result.functional = {
88
+ organization: (perms.functional.organization ?? []).map((permission) => ({ ...permission })),
89
+ site: (perms.functional.site ?? []).map((permission) => ({ ...permission })),
90
+ };
91
+ }
92
+ if (perms.locale) {
93
+ result.locale = {
94
+ unscoped: (perms.locale.unscoped ?? []).map((permission) => ({
95
+ locale_id: permission.localeId,
96
+ type: permission.type,
97
+ value: permission.value,
98
+ values: permission.values,
99
+ })),
100
+ };
101
+ }
102
+ if (perms.webdav) {
103
+ result.webdav = {
104
+ unscoped: (perms.webdav.unscoped ?? []).map((permission) => ({ ...permission })),
105
+ };
106
+ }
107
+ return result;
108
+ }
109
+ export class OcapiRolesBackend {
110
+ instance;
111
+ name = 'ocapi';
112
+ constructor(instance) {
113
+ this.instance = instance;
114
+ }
115
+ async listRoles(options = {}) {
116
+ const result = await ocapiListBmRoles(this.instance, { start: options.start, count: options.count });
117
+ const items = (result.data ?? []);
118
+ return {
119
+ total: result.total ?? 0,
120
+ start: result.start ?? 0,
121
+ count: result.count ?? items.length,
122
+ hits: items.map(mapOcapiRole),
123
+ };
124
+ }
125
+ async getRole(roleId, options) {
126
+ const role = await ocapiGetBmRole(this.instance, roleId, { expand: options?.expand });
127
+ return mapOcapiRole(role);
128
+ }
129
+ async createRole(roleId, input) {
130
+ const role = await ocapiCreateBmRole(this.instance, roleId, { description: input?.description });
131
+ return mapOcapiRole(role);
132
+ }
133
+ async deleteRole(roleId) {
134
+ await ocapiDeleteBmRole(this.instance, roleId);
135
+ }
136
+ async getPermissions(roleId) {
137
+ const perms = await ocapiGetBmRolePermissions(this.instance, roleId);
138
+ return mapOcapiPermissions(perms);
139
+ }
140
+ async setPermissions(roleId, permissions) {
141
+ const updated = await ocapiSetBmRolePermissions(this.instance, roleId, mapScapiPermissionsToOcapi(permissions));
142
+ return mapOcapiPermissions(updated);
143
+ }
144
+ async grantRole(roleId, login) {
145
+ await ocapiGrantBmRole(this.instance, roleId, login);
146
+ }
147
+ async revokeRole(roleId, login) {
148
+ await ocapiRevokeBmRole(this.instance, roleId, login);
149
+ }
150
+ }
151
+ //# sourceMappingURL=ocapi-backend.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ocapi-backend.js","sourceRoot":"","sources":["../../../../src/operations/bm-roles/ocapi-backend.ts"],"names":[],"mappings":"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"}