@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
@@ -65,36 +65,6 @@
65
65
  }
66
66
  ]
67
67
  },
68
- {
69
- "anyOf": [
70
- {
71
- "not": {
72
- "properties": {
73
- "embedded": {
74
- "enum": [
75
- true
76
- ]
77
- }
78
- },
79
- "required": [
80
- "embedded"
81
- ]
82
- }
83
- },
84
- {
85
- "properties": {
86
- "arch_type": {
87
- "enum": [
88
- "headless"
89
- ]
90
- }
91
- },
92
- "required": [
93
- "arch_type"
94
- ]
95
- }
96
- ]
97
- },
98
68
  {
99
69
  "anyOf": [
100
70
  {
@@ -0,0 +1,40 @@
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
+ /* eslint-disable @typescript-eslint/no-unused-expressions -- Stored function expression, evaluated by code mode. */
8
+ async (input) => {
9
+ if (!siteId) throw new Error('SCAPI_SITE_REQUIRED: configure siteId for campaign inspection.');
10
+ const campaignId = input.campaignId;
11
+ const offset = input.offset ?? 0;
12
+ const org = encodeURIComponent(organizationId);
13
+ const assignments = await scapi.request({method: 'GET',
14
+ path: '/pricing/campaigns/v1/organizations/' + org + '/campaigns/'
15
+ + encodeURIComponent(campaignId) + '/promotions', query: {siteId}});
16
+ if (!assignments.ok) return {stage: 'assignments', ...assignments};
17
+ const all = assignments.data.data;
18
+ const selected = all.slice(offset, offset + (input.limit ?? 12));
19
+ const ids = [...new Set(selected.map(row => row.promotionId))];
20
+ const details = new Map();
21
+ for (let start = 0; start < ids.length; start += 4) {
22
+ const batch = await Promise.all(ids.slice(start, start + 4).map(async id => {
23
+ try {
24
+ const r = await scapi.request({method: 'GET',
25
+ path: '/pricing/promotions/v1/organizations/' + org + '/promotions/'
26
+ + encodeURIComponent(id), query: {siteId}});
27
+ return [id, r.ok ? {status: r.status, enabled: r.data.enabled,
28
+ archived: r.data.archived, promotionClass: r.data.promotionClass} : r];
29
+ } catch (error) {
30
+ return [id, {error: String(error)}];
31
+ }
32
+ }));
33
+ for (const [id, detail] of batch) details.set(id, detail);
34
+ }
35
+ const end = offset + selected.length;
36
+ return {campaignId, siteId, total: all.length, returned: selected.length,
37
+ nextOffset: end < all.length ? end : null,
38
+ assignments: selected.map(row => ({promotionId: row.promotionId,
39
+ assignmentEnabled: row.enabled, promotion: details.get(row.promotionId)}))};
40
+ }
@@ -0,0 +1,31 @@
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
+ /* eslint-disable @typescript-eslint/no-unused-expressions -- Stored function expression, evaluated by code mode. */
8
+ async (input) => {
9
+ const r = await scapi.request({method: 'GET', path: '/dx/scripts/v1/organizations/{organizationId}/code-versions'});
10
+ if (!r.ok) return {stage: 'versions', ...r};
11
+ const versions = r.data.data;
12
+ const offset = input.offset ?? 0;
13
+ const selected = versions.slice(offset, offset + (input.limit ?? 10));
14
+ const end = offset + selected.length;
15
+ return {
16
+ total: versions.length,
17
+ active: versions.filter((v) => v.active).map((v) => v.id),
18
+ rollback: versions.filter((v) => v.rollback).map((v) => v.id),
19
+ returned: selected.length,
20
+ hasMore: end < versions.length,
21
+ nextOffset: selected.length && end < versions.length ? end : null,
22
+ versions: selected.map((v) => ({
23
+ id: v.id,
24
+ active: v.active,
25
+ rollback: v.rollback,
26
+ activationTime: v.activationTime,
27
+ lastModificationTime: v.lastModificationTime,
28
+ compatibilityMode: v.compatibilityMode,
29
+ })),
30
+ };
31
+ }
@@ -0,0 +1,108 @@
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
+ /* eslint-disable @typescript-eslint/no-unused-expressions -- Stored function expression, evaluated by code mode. */
8
+ async (input) => {
9
+ const product = {
10
+ id: input.productId,
11
+ owningCatalogId: input.catalogId,
12
+ onlineFlag: {default: !(input.offline ?? true)},
13
+ ...(input.name === undefined ? {} : {name: {default: input.name}}),
14
+ };
15
+ const path =
16
+ '/product/products/v1/organizations/' +
17
+ encodeURIComponent(organizationId) +
18
+ '/products/' +
19
+ encodeURIComponent(product.id);
20
+ let stage = 'inspect';
21
+ let writeStatus;
22
+ let writeAttempted = false;
23
+ let summary;
24
+ let categoryWriteStatus;
25
+ const categoryPath = input.category
26
+ ? '/product/catalogs/v1/organizations/' +
27
+ encodeURIComponent(organizationId) +
28
+ '/catalogs/' +
29
+ encodeURIComponent(input.category.catalogId) +
30
+ '/categories/' +
31
+ encodeURIComponent(input.category.categoryId)
32
+ : undefined;
33
+ try {
34
+ const before = await scapi.request({method: 'GET', path});
35
+ if (before.ok) return {state: 'exists', id: product.id, changed: false};
36
+ if (before.status !== 404) return {stage, ...before};
37
+ if (categoryPath) {
38
+ stage = 'inspect-category';
39
+ const category = await scapi.request({method: 'GET', path: categoryPath});
40
+ if (!category.ok) return {stage, category: input.category, ...category};
41
+ }
42
+ stage = 'create';
43
+ writeAttempted = true;
44
+ const created = await scapi.request({method: 'PUT', path, body: product});
45
+ if (!created.ok) return {stage, id: product.id, ...created};
46
+ writeStatus = created.status;
47
+ stage = 'verify';
48
+ const after = await scapi.request({method: 'GET', path});
49
+ if (!after.ok) return {stage, id: product.id, writeStatus, ...after};
50
+ const saved = after.data;
51
+ const verified =
52
+ saved.id === product.id &&
53
+ saved.owningCatalogId === product.owningCatalogId &&
54
+ saved.onlineFlag?.default === product.onlineFlag.default &&
55
+ (input.name === undefined || saved.name?.default === input.name);
56
+ summary = {
57
+ state: verified ? 'verified' : 'verification_failed',
58
+ id: saved.id,
59
+ catalog: saved.owningCatalogId,
60
+ onlineFlag: saved.onlineFlag,
61
+ writeStatus,
62
+ ...(input.name === undefined ? {} : {name: saved.name?.default}),
63
+ };
64
+ if (!verified || !categoryPath) return summary;
65
+ const assignment = {...input.category, productId: saved.id};
66
+ const assignmentPath = categoryPath + '/products/' + encodeURIComponent(saved.id);
67
+ stage = 'assign-category';
68
+ const assigned = await scapi.request({method: 'PUT', path: assignmentPath, body: assignment});
69
+ if (!assigned.ok) return {...summary, state: 'partial', stage, category: assignment, ...assigned};
70
+ categoryWriteStatus = assigned.status;
71
+ stage = 'verify-category';
72
+ const checked = await scapi.request({method: 'GET', path: assignmentPath});
73
+ if (!checked.ok)
74
+ return {
75
+ ...summary,
76
+ state: 'partial',
77
+ stage,
78
+ category: {...assignment, writeStatus: categoryWriteStatus},
79
+ ...checked,
80
+ };
81
+ const observed = {
82
+ catalogId: checked.data.catalogId,
83
+ categoryId: checked.data.categoryId,
84
+ productId: checked.data.productId,
85
+ };
86
+ const categoryVerified = Object.keys(assignment).every((key) => observed[key] === assignment[key]);
87
+ return {
88
+ ...summary,
89
+ state: categoryVerified ? 'verified' : 'verification_failed',
90
+ category: {
91
+ ...assignment,
92
+ verified: categoryVerified,
93
+ writeStatus: categoryWriteStatus,
94
+ ...(categoryVerified ? {} : {observed}),
95
+ },
96
+ };
97
+ } catch (error) {
98
+ return {
99
+ ...(summary ? {...summary, state: 'partial'} : {}),
100
+ stage,
101
+ id: product.id,
102
+ writeStatus,
103
+ error: String(error),
104
+ ...(input.category ? {category: {...input.category, writeStatus: categoryWriteStatus}} : {}),
105
+ checkWriteBeforeRetry: writeAttempted,
106
+ };
107
+ }
108
+ }
@@ -0,0 +1,37 @@
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
+ /* eslint-disable @typescript-eslint/no-unused-expressions -- Stored function expression, evaluated by code mode. */
8
+ async (input) => {
9
+ const {from, to} = input;
10
+ if (Date.parse(from) >= Date.parse(to)) throw new Error('from must precede to.');
11
+ const offset = input.offset ?? 0;
12
+ const base = '/operation/jobs/v1/organizations/' + encodeURIComponent(organizationId);
13
+ const search = await scapi.request({method: 'POST', path: base + '/job-execution-search',
14
+ body: {query: {filteredQuery: {
15
+ query: {termQuery: {fields: ['status'], operator: 'is', values: ['ERROR']}},
16
+ filter: {rangeFilter: {field: 'startTime', from, to}}
17
+ }}, sorts: [{field: 'startTime', sortOrder: 'desc'}], offset, limit: input.limit ?? 3}});
18
+ if (!search.ok) return {stage: 'search', ...search};
19
+ const hits = search.data.hits;
20
+ const executions = await Promise.all(hits.map(async hit => {
21
+ const identity = {id: hit.id, jobId: hit.jobId};
22
+ try {
23
+ const r = await scapi.request({method: 'GET', path: base + '/jobs/'
24
+ + encodeURIComponent(hit.jobId) + '/executions/' + encodeURIComponent(hit.id)});
25
+ if (!r.ok) return {...identity, ...r};
26
+ const d = r.data;
27
+ return {...identity, status: r.status, jobStatus: d.status, startTime: d.startTime,
28
+ duration: d.duration, exitStatus: d.exitStatus, logFilePath: d.logFilePath};
29
+ } catch (error) {
30
+ return {...identity, error: String(error)};
31
+ }
32
+ }));
33
+ const end = offset + hits.length;
34
+ return {from, to, total: search.data.total, returned: hits.length,
35
+ hasMore: end < search.data.total,
36
+ nextOffset: hits.length && end < search.data.total ? end : null, executions};
37
+ }
@@ -0,0 +1,52 @@
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
+ /* eslint-disable @typescript-eslint/no-unused-expressions -- Stored function expression, evaluated by code mode. */
8
+ async (input) => {
9
+ const r = await scapi.request({
10
+ method: 'GET',
11
+ path:
12
+ '/operation/jobs/v1/organizations/{organizationId}/jobs/' +
13
+ encodeURIComponent(input.jobId) +
14
+ '/executions/' +
15
+ encodeURIComponent(input.executionId),
16
+ });
17
+ if (!r.ok) return {stage: 'execution', ...r};
18
+ const d = r.data;
19
+ const steps = d.stepExecutions ?? [];
20
+ const offset = input.offset ?? 0;
21
+ const selected = steps.slice(offset, offset + (input.limit ?? 10));
22
+ const end = offset + selected.length;
23
+ return {
24
+ id: d.id,
25
+ jobId: d.jobId,
26
+ executionStatus: d.executionStatus,
27
+ status: d.status,
28
+ exitStatus: d.exitStatus,
29
+ startTime: d.startTime,
30
+ endTime: d.endTime,
31
+ duration: d.duration,
32
+ logFilePath: d.logFilePath,
33
+ isLogFileExisting: d.isLogFileExisting,
34
+ totalSteps: steps.length,
35
+ returned: selected.length,
36
+ hasMore: end < steps.length,
37
+ nextOffset: selected.length && end < steps.length ? end : null,
38
+ steps: selected.map((s) => ({
39
+ id: s.id,
40
+ stepId: s.stepId,
41
+ executionScope: s.executionScope,
42
+ executionStatus: s.executionStatus,
43
+ status: s.status,
44
+ exitStatus: s.exitStatus,
45
+ startTime: s.startTime,
46
+ endTime: s.endTime,
47
+ duration: s.duration,
48
+ totalItemCount: s.totalItemCount,
49
+ itemWriteCount: s.itemWriteCount,
50
+ })),
51
+ };
52
+ }
@@ -0,0 +1,46 @@
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
+ /* eslint-disable @typescript-eslint/no-unused-expressions -- Stored function expression, evaluated by code mode. */
8
+ async (input) => {
9
+ if (Date.parse(input.from) >= Date.parse(input.to)) throw new Error('from must precede to.');
10
+ const offset = input.offset ?? 0;
11
+ const query = {
12
+ filteredQuery: {
13
+ query: {matchAllQuery: {}},
14
+ filter: {rangeFilter: {field: 'startTime', from: input.from, to: input.to}},
15
+ },
16
+ };
17
+ if (input.jobId) query.filteredQuery.query = {termQuery: {fields: ['jobId'], operator: 'is', values: [input.jobId]}};
18
+ const r = await scapi.request({
19
+ method: 'POST',
20
+ path: '/operation/jobs/v1/organizations/{organizationId}/job-execution-search',
21
+ body: {query, sorts: [{field: 'startTime', sortOrder: 'desc'}], offset, limit: input.limit ?? 10},
22
+ });
23
+ if (!r.ok) return {stage: 'search', ...r};
24
+ const hits = r.data.hits;
25
+ const end = offset + hits.length;
26
+ return {
27
+ from: input.from,
28
+ to: input.to,
29
+ total: r.data.total,
30
+ returned: hits.length,
31
+ hasMore: end < r.data.total,
32
+ nextOffset: hits.length && end < r.data.total ? end : null,
33
+ executions: hits.map((d) => ({
34
+ id: d.id,
35
+ jobId: d.jobId,
36
+ executionStatus: d.executionStatus,
37
+ status: d.status,
38
+ exitStatus: d.exitStatus,
39
+ startTime: d.startTime,
40
+ endTime: d.endTime,
41
+ duration: d.duration,
42
+ logFilePath: d.logFilePath,
43
+ isLogFileExisting: d.isLogFileExisting,
44
+ })),
45
+ };
46
+ }
@@ -0,0 +1,220 @@
1
+ {
2
+ "version": 1,
3
+ "snippets": [
4
+ {
5
+ "name": "builtin/create-product",
6
+ "description": "Create a basic product, optionally assign it to a storefront catalog category, and verify saved fields and assignment.",
7
+ "effect": "write",
8
+ "file": "create-product.js",
9
+ "inputSchema": {
10
+ "type": "object",
11
+ "properties": {
12
+ "productId": {
13
+ "type": "string",
14
+ "minLength": 1
15
+ },
16
+ "catalogId": {
17
+ "type": "string",
18
+ "minLength": 1,
19
+ "description": "Owning catalog for the new product."
20
+ },
21
+ "name": {
22
+ "type": "string",
23
+ "minLength": 1,
24
+ "description": "Product name in the default locale."
25
+ },
26
+ "offline": {
27
+ "type": "boolean",
28
+ "default": true,
29
+ "description": "Create offline by default; false sets the default online flag."
30
+ },
31
+ "category": {
32
+ "type": "object",
33
+ "description": "Optional assignment target; its catalog may differ from the owning catalog.",
34
+ "properties": {
35
+ "catalogId": {
36
+ "type": "string",
37
+ "minLength": 1
38
+ },
39
+ "categoryId": {
40
+ "type": "string",
41
+ "minLength": 1
42
+ }
43
+ },
44
+ "required": ["catalogId", "categoryId"],
45
+ "additionalProperties": false
46
+ }
47
+ },
48
+ "required": ["productId", "catalogId"],
49
+ "additionalProperties": false
50
+ }
51
+ },
52
+ {
53
+ "name": "builtin/campaign-promotions",
54
+ "description": "Inspect campaign assignments and promotion details in bounded batches.",
55
+ "effect": "read",
56
+ "file": "campaign-promotions.js",
57
+ "inputSchema": {
58
+ "type": "object",
59
+ "properties": {
60
+ "campaignId": {
61
+ "type": "string",
62
+ "minLength": 1
63
+ },
64
+ "offset": {
65
+ "type": "integer",
66
+ "minimum": 0
67
+ },
68
+ "limit": {
69
+ "type": "integer",
70
+ "minimum": 1,
71
+ "maximum": 12
72
+ }
73
+ },
74
+ "required": ["campaignId"],
75
+ "additionalProperties": false
76
+ }
77
+ },
78
+ {
79
+ "name": "builtin/failed-job-triage",
80
+ "description": "Search failed job executions and inspect a bounded page with continuation.",
81
+ "effect": "read",
82
+ "file": "failed-job-triage.js",
83
+ "inputSchema": {
84
+ "type": "object",
85
+ "properties": {
86
+ "from": {
87
+ "type": "string",
88
+ "format": "date-time"
89
+ },
90
+ "to": {
91
+ "type": "string",
92
+ "format": "date-time"
93
+ },
94
+ "offset": {
95
+ "type": "integer",
96
+ "minimum": 0
97
+ },
98
+ "limit": {
99
+ "type": "integer",
100
+ "minimum": 1,
101
+ "maximum": 3
102
+ }
103
+ },
104
+ "required": ["from", "to"],
105
+ "additionalProperties": false
106
+ }
107
+ },
108
+ {
109
+ "name": "builtin/job-execution-review",
110
+ "description": "Review job executions in a fixed interval, including successful runs; return compact statuses and continuation.",
111
+ "effect": "read",
112
+ "file": "job-execution-review.js",
113
+ "inputSchema": {
114
+ "type": "object",
115
+ "properties": {
116
+ "from": {
117
+ "type": "string",
118
+ "format": "date-time"
119
+ },
120
+ "to": {
121
+ "type": "string",
122
+ "format": "date-time"
123
+ },
124
+ "jobId": {
125
+ "type": "string",
126
+ "minLength": 1
127
+ },
128
+ "offset": {
129
+ "type": "integer",
130
+ "minimum": 0
131
+ },
132
+ "limit": {
133
+ "type": "integer",
134
+ "minimum": 1,
135
+ "maximum": 20
136
+ }
137
+ },
138
+ "required": ["from", "to"],
139
+ "additionalProperties": false
140
+ }
141
+ },
142
+ {
143
+ "name": "builtin/job-execution-inspect",
144
+ "description": "Inspect one execution and a bounded page of its steps; return the exact WebDAV log path.",
145
+ "effect": "read",
146
+ "file": "job-execution-inspect.js",
147
+ "inputSchema": {
148
+ "type": "object",
149
+ "properties": {
150
+ "jobId": {
151
+ "type": "string",
152
+ "minLength": 1
153
+ },
154
+ "executionId": {
155
+ "type": "string",
156
+ "minLength": 1
157
+ },
158
+ "offset": {
159
+ "type": "integer",
160
+ "minimum": 0
161
+ },
162
+ "limit": {
163
+ "type": "integer",
164
+ "minimum": 1,
165
+ "maximum": 20
166
+ }
167
+ },
168
+ "required": ["jobId", "executionId"],
169
+ "additionalProperties": false
170
+ }
171
+ },
172
+ {
173
+ "name": "builtin/code-version-inspect",
174
+ "description": "Identify active and rollback code versions and inspect a bounded page of version metadata.",
175
+ "effect": "read",
176
+ "file": "code-version-inspect.js",
177
+ "inputSchema": {
178
+ "type": "object",
179
+ "properties": {
180
+ "offset": {
181
+ "type": "integer",
182
+ "minimum": 0
183
+ },
184
+ "limit": {
185
+ "type": "integer",
186
+ "minimum": 1,
187
+ "maximum": 20
188
+ }
189
+ },
190
+ "required": [],
191
+ "additionalProperties": false
192
+ }
193
+ },
194
+ {
195
+ "name": "builtin/site-cartridge-inspect",
196
+ "description": "Inspect site status, catalog, and ordered cartridge paths; check expected cartridge names.",
197
+ "effect": "read",
198
+ "file": "site-cartridge-inspect.js",
199
+ "inputSchema": {
200
+ "type": "object",
201
+ "properties": {
202
+ "siteId": {
203
+ "type": "string",
204
+ "minLength": 1
205
+ },
206
+ "expectedCartridges": {
207
+ "type": "array",
208
+ "maxItems": 50,
209
+ "items": {
210
+ "type": "string",
211
+ "minLength": 1
212
+ }
213
+ }
214
+ },
215
+ "required": ["siteId"],
216
+ "additionalProperties": false
217
+ }
218
+ }
219
+ ]
220
+ }
@@ -0,0 +1,27 @@
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
+ /* eslint-disable @typescript-eslint/no-unused-expressions -- Stored function expression, evaluated by code mode. */
8
+ async (input) => {
9
+ const r = await scapi.request({
10
+ method: 'GET',
11
+ path: '/site/sites/v1/organizations/{organizationId}/sites/' + encodeURIComponent(input.siteId),
12
+ });
13
+ if (!r.ok) return {stage: 'site', ...r};
14
+ const site = r.data;
15
+ const cartridges = site.cartridges?.split(':').filter(Boolean);
16
+ const customCartridges = site.customCartridges?.split(':').filter(Boolean);
17
+ return {
18
+ siteId: site.id,
19
+ siteCatalogId: site.siteCatalogId,
20
+ storefrontStatus: site.storefrontStatus,
21
+ lastModified: site.lastModified,
22
+ cartridges,
23
+ customCartridges,
24
+ missing:
25
+ cartridges === undefined ? null : (input.expectedCartridges ?? []).filter((name) => !cartridges.includes(name)),
26
+ };
27
+ }