@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
@@ -7,6 +7,8 @@
7
7
  */
8
8
  import type { AuthStrategy } from '../../auth/types.js';
9
9
  import type { components } from '../../clients/mrt.js';
10
+ import { type StorefrontDeploymentsClient, type Deployment as DeploymentScapi } from '../../clients/storefront-deployments.js';
11
+ import { type MrtBackend, type MrtBackendPreference, type ScapiMrtConnection } from './mrt-backend.js';
10
12
  /**
11
13
  * Deployment list item from API.
12
14
  */
@@ -160,3 +162,249 @@ export interface CreateDeploymentResult {
160
162
  * ```
161
163
  */
162
164
  export declare function createDeployment(options: CreateDeploymentOptions, auth: AuthStrategy): Promise<CreateDeploymentResult>;
165
+ /**
166
+ * SCAPI scope-mode header for reads. Shared with the bundle operations in
167
+ * `push.ts` so both modules request the same read scope.
168
+ */
169
+ export declare const READ_HEADERS: {
170
+ "x-b2c-scope-mode": string;
171
+ };
172
+ /**
173
+ * SCAPI scope-mode header for writes. Shared with the bundle operations in
174
+ * `push.ts` so both modules request the same write scope.
175
+ */
176
+ export declare const WRITE_HEADERS: {
177
+ "x-b2c-scope-mode": string;
178
+ };
179
+ /**
180
+ * Thrown when a backend-aware operation resolves to the legacy backend but no
181
+ * legacy auth was supplied. `legacyAuth` is optional so SCAPI-only callers
182
+ * aren't forced to configure a `~/.mobify` API key; this guards the case where
183
+ * legacy is actually needed (explicit `legacy`, or `auto` falling back).
184
+ */
185
+ export declare const LEGACY_AUTH_REQUIRED_MESSAGE: string;
186
+ /**
187
+ * A single deployment history row, normalized across the legacy and SCAPI
188
+ * backends so the CLI table renders one shape regardless of backend.
189
+ *
190
+ * Status and type strings are kept **raw** per backend (legacy `"Finished"` /
191
+ * `"Publish"`, SCAPI `"finished"` / `"publish"`) so display doesn't silently
192
+ * change for existing legacy users; terminal-state logic for `--wait` lives in
193
+ * {@link waitForDeploymentScapi} and operates on the SCAPI enum directly.
194
+ */
195
+ export interface MrtDeploymentView {
196
+ /** SCAPI deployment UUID. Undefined for legacy (its list has no per-deploy id). */
197
+ deploymentId?: string;
198
+ /** Numeric bundle identifier. */
199
+ bundleId?: number;
200
+ /** Human-readable bundle message/description. */
201
+ bundleMessage?: string;
202
+ /** Raw backend status string. */
203
+ status?: string;
204
+ /** Raw backend deployment type. */
205
+ deploymentType?: string;
206
+ /** Creation timestamp (ISO 8601). */
207
+ creationDate?: string;
208
+ /** Email of the user who triggered the deployment. */
209
+ createdBy?: string;
210
+ /** Backend that produced this row. */
211
+ backend: MrtBackend;
212
+ }
213
+ /** Normalizes a legacy MRT deployment list item into an {@link MrtDeploymentView}. */
214
+ export declare function normalizeLegacyDeployment(deploy: MrtDeployment): MrtDeploymentView;
215
+ /** Normalizes a SCAPI MRT {@link DeploymentScapi} into an {@link MrtDeploymentView}. */
216
+ export declare function normalizeDeploymentScapi(deployment: DeploymentScapi): MrtDeploymentView;
217
+ /**
218
+ * Builds a SCAPI Storefront Deployments client from a {@link ScapiMrtConnection}.
219
+ * Shared with the bundle operations in `push.ts` so both modules construct the
220
+ * client identically.
221
+ */
222
+ export declare function buildScapiDeploymentsClient(conn: ScapiMrtConnection): StorefrontDeploymentsClient;
223
+ /**
224
+ * Lists deployments for an environment via the SCAPI MRT Deployments API.
225
+ *
226
+ * Forwards the standard SCAPI `limit`/`offset` pagination query parameters when
227
+ * provided (max 200 per page, default 25 server-side; the response echoes the
228
+ * full `total`), mirroring the legacy list and the other SCAPI collection
229
+ * clients (`scapi-sites`, `scapi-catalogs`).
230
+ *
231
+ * @throws {ScapiRequestError} carrying the HTTP status on a non-2xx response.
232
+ */
233
+ export declare function listDeploymentsScapi(conn: ScapiMrtConnection, params: {
234
+ storefrontId: string;
235
+ environmentId: string;
236
+ limit?: number;
237
+ offset?: number;
238
+ }): Promise<{
239
+ deployments: MrtDeploymentView[];
240
+ count: number;
241
+ raw: unknown;
242
+ }>;
243
+ /** Result of a SCAPI deployment create. */
244
+ export interface CreateDeploymentScapiResult {
245
+ /** Deployment UUID assigned by SCAPI (used by `--wait`). */
246
+ deploymentId?: string;
247
+ /** Initial deployment status (typically `queued`). */
248
+ status?: string;
249
+ /** Bundle that was deployed. */
250
+ bundleId: number;
251
+ /** Raw, native SCAPI create response, surfaced verbatim under `--json`. */
252
+ raw: unknown;
253
+ }
254
+ /**
255
+ * Creates (queues) a deployment via the SCAPI MRT Deployments API.
256
+ *
257
+ * @throws {ScapiRequestError} carrying the HTTP status on a non-2xx response
258
+ * (including 409 Conflict — the caller decides whether that is fatal).
259
+ */
260
+ export declare function createDeploymentScapi(conn: ScapiMrtConnection, params: {
261
+ storefrontId: string;
262
+ environmentId: string;
263
+ bundleId: number;
264
+ }): Promise<CreateDeploymentScapiResult>;
265
+ /**
266
+ * Fetches a single deployment by ID via the SCAPI MRT Deployments API.
267
+ *
268
+ * @throws {ScapiRequestError} carrying the HTTP status on a non-2xx response.
269
+ */
270
+ export declare function getDeploymentScapi(conn: ScapiMrtConnection, params: {
271
+ storefrontId: string;
272
+ environmentId: string;
273
+ deploymentId: string;
274
+ }): Promise<DeploymentScapi>;
275
+ /** Progress info reported on each poll of {@link waitForDeploymentScapi}. */
276
+ export interface DeploymentScapiPollInfo {
277
+ /** Seconds elapsed since waiting started. */
278
+ elapsedSeconds: number;
279
+ /** Current raw deployment status. */
280
+ status: string;
281
+ /** Human-readable stage description, when present. */
282
+ description?: string;
283
+ /** Percentage complete, when present. */
284
+ percentage?: number | null;
285
+ }
286
+ /** Options for {@link waitForDeploymentScapi}. */
287
+ export interface WaitForDeploymentScapiOptions {
288
+ storefrontId: string;
289
+ environmentId: string;
290
+ /** Deployment UUID returned by {@link createDeploymentScapi}. */
291
+ deploymentId: string;
292
+ /**
293
+ * Polling interval in seconds.
294
+ * @default 30
295
+ */
296
+ pollIntervalSeconds?: number;
297
+ /**
298
+ * Maximum time to wait in seconds (0 for no timeout).
299
+ * @default 600
300
+ */
301
+ timeoutSeconds?: number;
302
+ /** Optional callback invoked on each poll with current status. */
303
+ onPoll?: (info: DeploymentScapiPollInfo) => void;
304
+ /** Custom sleep function for testing. */
305
+ sleep?: (ms: number) => Promise<void>;
306
+ /** Custom clock for testing. Defaults to Date.now. */
307
+ now?: () => number;
308
+ }
309
+ /**
310
+ * Polls a SCAPI deployment by ID until it reaches a terminal status
311
+ * (`finished` or `failed`) or the timeout elapses.
312
+ *
313
+ * Uses `getDeploymentById`, which shares the `sfcc.storefront.deployments` read
314
+ * scope with the list — a direct by-ID poll costs no extra scope over
315
+ * list-polling and avoids page-scanning ambiguity.
316
+ *
317
+ * @throws Error if the timeout is reached or the deployment fails.
318
+ */
319
+ export declare function waitForDeploymentScapi(conn: ScapiMrtConnection, options: WaitForDeploymentScapiOptions): Promise<DeploymentScapi>;
320
+ /** Options for {@link listMrtDeployments}. */
321
+ export interface ListMrtDeploymentsBackendOptions {
322
+ /** Resolved `--mrt-backend` preference. */
323
+ preference: MrtBackendPreference;
324
+ /** SCAPI connection; when absent, `auto` uses legacy and `scapi` throws. */
325
+ scapiConnection?: ScapiMrtConnection;
326
+ /** Legacy API-key auth strategy. Optional; required only when the legacy backend actually runs. */
327
+ legacyAuth?: AuthStrategy;
328
+ /** Project slug (= SCAPI storefront ID). */
329
+ projectSlug: string;
330
+ /** Target/environment slug (= SCAPI environment ID). */
331
+ targetSlug: string;
332
+ /** Maximum results per page (forwarded to both backends; SCAPI caps at 200). */
333
+ limit?: number;
334
+ /** Pagination offset (forwarded to both backends). */
335
+ offset?: number;
336
+ /** Legacy MRT API origin. */
337
+ origin?: string;
338
+ /** Invoked when `auto` falls back from SCAPI to legacy. */
339
+ onFallback?: (reason: string) => void;
340
+ /** Invoked with the backend that serves the call (for `-D` debug). */
341
+ onResolve?: (backend: MrtBackend) => void;
342
+ }
343
+ /** Backend-neutral deployment list result. */
344
+ export interface MrtDeploymentsView {
345
+ /** Backend that served the list. */
346
+ backend: MrtBackend;
347
+ /** Total count reported by the backend. */
348
+ count: number;
349
+ /** Normalized deployment rows, consumed by the CLI table. */
350
+ deployments: MrtDeploymentView[];
351
+ /**
352
+ * The raw, backend-native list response, surfaced verbatim under `--json` so
353
+ * each backend keeps its original machine contract (legacy: the MRT Cloud API
354
+ * list shape — `count`/`next`/`previous`/`deployments`; SCAPI: the Storefront
355
+ * Deployments response — `data`/`total`). The normalized {@link deployments}
356
+ * feed the human table only.
357
+ */
358
+ raw: unknown;
359
+ }
360
+ /**
361
+ * Lists deployment history, routing to the SCAPI or legacy backend per the
362
+ * given preference (with safe `auto` fallback). Returns normalized rows.
363
+ */
364
+ export declare function listMrtDeployments(options: ListMrtDeploymentsBackendOptions): Promise<MrtDeploymentsView>;
365
+ /** Options for {@link deployMrtBundle}. */
366
+ export interface DeployMrtBundleBackendOptions {
367
+ /** Resolved `--mrt-backend` preference. */
368
+ preference: MrtBackendPreference;
369
+ /** SCAPI connection; when absent, `auto` uses legacy and `scapi` throws. */
370
+ scapiConnection?: ScapiMrtConnection;
371
+ /** Legacy API-key auth strategy. Optional; required only when the legacy backend actually runs. */
372
+ legacyAuth?: AuthStrategy;
373
+ /** Project slug (= SCAPI storefront ID). */
374
+ projectSlug: string;
375
+ /** Target/environment slug (= SCAPI environment ID). */
376
+ targetSlug: string;
377
+ /** Bundle ID to deploy. */
378
+ bundleId: number;
379
+ /** Legacy MRT API origin. */
380
+ origin?: string;
381
+ /** Invoked when `auto` falls back from SCAPI to legacy. */
382
+ onFallback?: (reason: string) => void;
383
+ /** Invoked with the backend that serves the call (for `-D` debug). */
384
+ onResolve?: (backend: MrtBackend) => void;
385
+ }
386
+ /** Backend-neutral deploy result. */
387
+ export interface MrtDeployResultView {
388
+ /** Backend that served the deploy (pins the `--wait` strategy). */
389
+ backend: MrtBackend;
390
+ /** Bundle that was deployed. */
391
+ bundleId: number;
392
+ /** SCAPI deployment UUID for `--wait` polling; undefined for legacy. */
393
+ deploymentId?: string;
394
+ /** Initial deployment status. */
395
+ status: string;
396
+ /** Non-blocking warnings returned by the backend. */
397
+ warnings?: string[];
398
+ /**
399
+ * The raw, backend-native create response, surfaced verbatim under `--json`
400
+ * (legacy: the MRT Cloud API deploy result; SCAPI: the Storefront Deployments
401
+ * create response). The typed fields above drive `--wait` and human output.
402
+ */
403
+ raw: unknown;
404
+ }
405
+ /**
406
+ * Deploys an existing bundle, routing to the SCAPI or legacy backend per the
407
+ * given preference (with safe `auto` fallback). The returned `backend` pins
408
+ * which `--wait` strategy the caller should use.
409
+ */
410
+ export declare function deployMrtBundle(options: DeployMrtBundleBackendOptions): Promise<MrtDeployResultView>;
@@ -1,5 +1,9 @@
1
1
  import { createMrtClient, DEFAULT_MRT_ORIGIN } from '../../clients/mrt.js';
2
+ import { SCOPE_MODE_HEADER } from '../../clients/middleware.js';
3
+ import { createScapiRequestError } from '../../clients/scapi-backend-utils.js';
4
+ import { createStorefrontDeploymentsClient, toOrganizationId, } from '../../clients/storefront-deployments.js';
2
5
  import { getLogger } from '../../logging/logger.js';
6
+ import { runMrtWithFallback, } from './mrt-backend.js';
3
7
  /**
4
8
  * Lists deployment history for an MRT environment.
5
9
  *
@@ -112,4 +116,252 @@ export async function createDeployment(options, auth) {
112
116
  warnings,
113
117
  };
114
118
  }
119
+ // ---------------------------------------------------------------------------
120
+ // Backend-neutral deployment view + SCAPI MRT operations
121
+ // ---------------------------------------------------------------------------
122
+ /**
123
+ * SCAPI scope-mode header for reads. Shared with the bundle operations in
124
+ * `push.ts` so both modules request the same read scope.
125
+ */
126
+ export const READ_HEADERS = { [SCOPE_MODE_HEADER]: 'read' };
127
+ /**
128
+ * SCAPI scope-mode header for writes. Shared with the bundle operations in
129
+ * `push.ts` so both modules request the same write scope.
130
+ */
131
+ export const WRITE_HEADERS = { [SCOPE_MODE_HEADER]: 'write' };
132
+ /**
133
+ * Thrown when a backend-aware operation resolves to the legacy backend but no
134
+ * legacy auth was supplied. `legacyAuth` is optional so SCAPI-only callers
135
+ * aren't forced to configure a `~/.mobify` API key; this guards the case where
136
+ * legacy is actually needed (explicit `legacy`, or `auto` falling back).
137
+ */
138
+ export const LEGACY_AUTH_REQUIRED_MESSAGE = 'Legacy MRT credentials are required for this backend but none were provided. ' +
139
+ 'Provide an API key (--api-key / MRT_API_KEY / ~/.mobify) or use the SCAPI MRT backend.';
140
+ /** SCAPI deployment statuses that end the poll loop. */
141
+ const SCAPI_TERMINAL_STATUSES = new Set(['finished', 'failed']);
142
+ /** Normalizes a legacy MRT deployment list item into an {@link MrtDeploymentView}. */
143
+ export function normalizeLegacyDeployment(deploy) {
144
+ return {
145
+ bundleId: deploy.bundle?.id ?? undefined,
146
+ bundleMessage: deploy.bundle?.message ?? undefined,
147
+ status: deploy.status ?? undefined,
148
+ deploymentType: deploy.deploy_type ?? undefined,
149
+ creationDate: deploy.created_at ?? undefined,
150
+ createdBy: deploy.user ?? undefined,
151
+ backend: 'legacy',
152
+ };
153
+ }
154
+ /** Normalizes a SCAPI MRT {@link DeploymentScapi} into an {@link MrtDeploymentView}. */
155
+ export function normalizeDeploymentScapi(deployment) {
156
+ return {
157
+ deploymentId: deployment.deploymentId ?? undefined,
158
+ bundleId: deployment.bundle?.bundleId ?? undefined,
159
+ bundleMessage: deployment.bundle?.description ?? undefined,
160
+ status: deployment.status ?? undefined,
161
+ deploymentType: deployment.deploymentType ?? undefined,
162
+ creationDate: deployment.creationDate ?? undefined,
163
+ createdBy: deployment.createdBy ?? undefined,
164
+ backend: 'scapi',
165
+ };
166
+ }
167
+ /**
168
+ * Builds a SCAPI Storefront Deployments client from a {@link ScapiMrtConnection}.
169
+ * Shared with the bundle operations in `push.ts` so both modules construct the
170
+ * client identically.
171
+ */
172
+ export function buildScapiDeploymentsClient(conn) {
173
+ return createStorefrontDeploymentsClient({ shortCode: conn.shortCode, tenantId: conn.tenantId }, conn.auth);
174
+ }
175
+ /**
176
+ * Lists deployments for an environment via the SCAPI MRT Deployments API.
177
+ *
178
+ * Forwards the standard SCAPI `limit`/`offset` pagination query parameters when
179
+ * provided (max 200 per page, default 25 server-side; the response echoes the
180
+ * full `total`), mirroring the legacy list and the other SCAPI collection
181
+ * clients (`scapi-sites`, `scapi-catalogs`).
182
+ *
183
+ * @throws {ScapiRequestError} carrying the HTTP status on a non-2xx response.
184
+ */
185
+ export async function listDeploymentsScapi(conn, params) {
186
+ const logger = getLogger();
187
+ const { storefrontId, environmentId, limit, offset } = params;
188
+ const organizationId = toOrganizationId(conn.tenantId);
189
+ logger.debug({ organizationId, storefrontId, environmentId, limit, offset }, '[MRT-SCAPI] Listing deployments');
190
+ const client = buildScapiDeploymentsClient(conn);
191
+ const { data, error, response } = await client.GET('/organizations/{organizationId}/storefronts/{storefrontId}/environments/{environmentId}/deployments', {
192
+ params: { path: { organizationId, storefrontId, environmentId }, query: { limit, offset } },
193
+ headers: READ_HEADERS,
194
+ });
195
+ if (error || !data) {
196
+ throw createScapiRequestError(error, response, 'Failed to list deployments');
197
+ }
198
+ return {
199
+ deployments: (data.data ?? []).map(normalizeDeploymentScapi),
200
+ count: data.total ?? data.data?.length ?? 0,
201
+ raw: data,
202
+ };
203
+ }
204
+ /**
205
+ * Creates (queues) a deployment via the SCAPI MRT Deployments API.
206
+ *
207
+ * @throws {ScapiRequestError} carrying the HTTP status on a non-2xx response
208
+ * (including 409 Conflict — the caller decides whether that is fatal).
209
+ */
210
+ export async function createDeploymentScapi(conn, params) {
211
+ const logger = getLogger();
212
+ const { storefrontId, environmentId, bundleId } = params;
213
+ const organizationId = toOrganizationId(conn.tenantId);
214
+ logger.debug({ organizationId, storefrontId, environmentId, bundleId }, '[MRT-SCAPI] Creating deployment');
215
+ const client = buildScapiDeploymentsClient(conn);
216
+ const { data, error, response } = await client.POST('/organizations/{organizationId}/storefronts/{storefrontId}/environments/{environmentId}/deployments', {
217
+ params: { path: { organizationId, storefrontId, environmentId } },
218
+ headers: WRITE_HEADERS,
219
+ body: { bundleId },
220
+ });
221
+ if (error || !data) {
222
+ throw createScapiRequestError(error, response, `Failed to deploy bundle ${bundleId}`);
223
+ }
224
+ return { deploymentId: data.deploymentId, status: data.status, bundleId, raw: data };
225
+ }
226
+ /**
227
+ * Fetches a single deployment by ID via the SCAPI MRT Deployments API.
228
+ *
229
+ * @throws {ScapiRequestError} carrying the HTTP status on a non-2xx response.
230
+ */
231
+ export async function getDeploymentScapi(conn, params) {
232
+ const { storefrontId, environmentId, deploymentId } = params;
233
+ const organizationId = toOrganizationId(conn.tenantId);
234
+ const client = buildScapiDeploymentsClient(conn);
235
+ const { data, error, response } = await client.GET('/organizations/{organizationId}/storefronts/{storefrontId}/environments/{environmentId}/deployments/{deploymentId}', {
236
+ params: { path: { organizationId, storefrontId, environmentId, deploymentId } },
237
+ headers: READ_HEADERS,
238
+ });
239
+ if (error || !data) {
240
+ throw createScapiRequestError(error, response, `Failed to get deployment ${deploymentId}`);
241
+ }
242
+ return data;
243
+ }
244
+ async function defaultSleep(ms) {
245
+ await new Promise((resolve) => {
246
+ setTimeout(resolve, ms);
247
+ });
248
+ }
249
+ /**
250
+ * Polls a SCAPI deployment by ID until it reaches a terminal status
251
+ * (`finished` or `failed`) or the timeout elapses.
252
+ *
253
+ * Uses `getDeploymentById`, which shares the `sfcc.storefront.deployments` read
254
+ * scope with the list — a direct by-ID poll costs no extra scope over
255
+ * list-polling and avoids page-scanning ambiguity.
256
+ *
257
+ * @throws Error if the timeout is reached or the deployment fails.
258
+ */
259
+ export async function waitForDeploymentScapi(conn, options) {
260
+ const logger = getLogger();
261
+ const { storefrontId, environmentId, deploymentId, pollIntervalSeconds = 30, timeoutSeconds = 600, onPoll } = options;
262
+ const sleepFn = options.sleep ?? defaultSleep;
263
+ const nowFn = options.now ?? Date.now;
264
+ const startTime = nowFn();
265
+ const pollIntervalMs = pollIntervalSeconds * 1000;
266
+ const timeoutMs = timeoutSeconds * 1000;
267
+ logger.debug({ deploymentId, pollIntervalSeconds, timeoutSeconds }, '[MRT-SCAPI] Waiting for deployment');
268
+ // Poll immediately (before any sleep) so an already-finished deployment
269
+ // returns without waiting a full interval, and so a timeout shorter than the
270
+ // poll interval still gets at least one status check.
271
+ while (true) {
272
+ const elapsedSeconds = Math.round((nowFn() - startTime) / 1000);
273
+ if (timeoutSeconds > 0 && nowFn() - startTime > timeoutMs) {
274
+ throw new Error(`Timeout waiting for deployment "${deploymentId}" after ${timeoutSeconds}s`);
275
+ }
276
+ const deployment = await getDeploymentScapi(conn, { storefrontId, environmentId, deploymentId });
277
+ const status = deployment.status ?? 'unknown';
278
+ logger.trace({ deploymentId, elapsedSeconds, status }, '[MRT-SCAPI] Deployment poll');
279
+ onPoll?.({
280
+ elapsedSeconds,
281
+ status,
282
+ description: deployment.progress?.description ?? undefined,
283
+ percentage: deployment.progress?.percentage ?? undefined,
284
+ });
285
+ if (deployment.status && SCAPI_TERMINAL_STATUSES.has(deployment.status)) {
286
+ if (deployment.status === 'failed') {
287
+ const detail = deployment.statusMessage ? `: ${deployment.statusMessage}` : '';
288
+ throw new Error(`Deployment ${deploymentId} failed${detail}`);
289
+ }
290
+ logger.debug({ deploymentId, status: deployment.status }, '[MRT-SCAPI] Deployment reached terminal status');
291
+ return deployment;
292
+ }
293
+ await sleepFn(pollIntervalMs);
294
+ }
295
+ }
296
+ /**
297
+ * Lists deployment history, routing to the SCAPI or legacy backend per the
298
+ * given preference (with safe `auto` fallback). Returns normalized rows.
299
+ */
300
+ export async function listMrtDeployments(options) {
301
+ const { preference, scapiConnection, legacyAuth, projectSlug, targetSlug, limit, offset, origin, onFallback, onResolve, } = options;
302
+ const run = await runMrtWithFallback({
303
+ preference,
304
+ hasScapiConfig: Boolean(scapiConnection),
305
+ canFallbackToLegacy: Boolean(legacyAuth),
306
+ onFallback,
307
+ onResolve,
308
+ }, {
309
+ scapi: () => listDeploymentsScapi(scapiConnection, {
310
+ storefrontId: projectSlug,
311
+ environmentId: targetSlug,
312
+ limit,
313
+ offset,
314
+ }),
315
+ legacy: async () => {
316
+ if (!legacyAuth) {
317
+ throw new Error(LEGACY_AUTH_REQUIRED_MESSAGE);
318
+ }
319
+ const result = await listDeployments({ projectSlug, targetSlug, limit, offset, origin }, legacyAuth);
320
+ // The legacy list result already mirrors the raw MRT Cloud API shape
321
+ // (count/next/previous/deployments), so surface it verbatim under --json.
322
+ return { count: result.count, deployments: result.deployments.map(normalizeLegacyDeployment), raw: result };
323
+ },
324
+ });
325
+ return { backend: run.backend, count: run.value.count, deployments: run.value.deployments, raw: run.value.raw };
326
+ }
327
+ /**
328
+ * Deploys an existing bundle, routing to the SCAPI or legacy backend per the
329
+ * given preference (with safe `auto` fallback). The returned `backend` pins
330
+ * which `--wait` strategy the caller should use.
331
+ */
332
+ export async function deployMrtBundle(options) {
333
+ const { preference, scapiConnection, legacyAuth, projectSlug, targetSlug, bundleId, origin, onFallback, onResolve } = options;
334
+ const run = await runMrtWithFallback({
335
+ preference,
336
+ hasScapiConfig: Boolean(scapiConnection),
337
+ canFallbackToLegacy: Boolean(legacyAuth),
338
+ onFallback,
339
+ onResolve,
340
+ }, {
341
+ scapi: async () => {
342
+ const result = await createDeploymentScapi(scapiConnection, {
343
+ storefrontId: projectSlug,
344
+ environmentId: targetSlug,
345
+ bundleId,
346
+ });
347
+ return {
348
+ backend: 'scapi',
349
+ bundleId,
350
+ deploymentId: result.deploymentId,
351
+ status: result.status ?? 'queued',
352
+ raw: result.raw,
353
+ };
354
+ },
355
+ legacy: async () => {
356
+ if (!legacyAuth) {
357
+ throw new Error(LEGACY_AUTH_REQUIRED_MESSAGE);
358
+ }
359
+ const result = await createDeployment({ projectSlug, targetSlug, bundleId, origin }, legacyAuth);
360
+ // `createDeployment` returns the synthesized legacy deploy result, which
361
+ // is the shape legacy `--json` emitted before the backend split.
362
+ return { backend: 'legacy', bundleId, status: result.status, warnings: result.warnings, raw: result };
363
+ },
364
+ });
365
+ return run.value;
366
+ }
115
367
  //# sourceMappingURL=deployment.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"deployment.js","sourceRoot":"","sources":["../../../../src/operations/mrt/deployment.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deployment.js","sourceRoot":"","sources":["../../../../src/operations/mrt/deployment.ts"],"names":[],"mappings":"AAaA,OAAO,EAAC,eAAe,EAAE,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AAEzE,OAAO,EAAC,iBAAiB,EAAC,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAC,uBAAuB,EAAC,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EACL,iCAAiC,EACjC,gBAAgB,GAIjB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAC,SAAS,EAAC,MAAM,yBAAyB,CAAC;AAClD,OAAO,EACL,kBAAkB,GAInB,MAAM,kBAAkB,CAAC;AAoE1B;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,OAA+B,EAC/B,IAAkB;IAElB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,EAAC,WAAW,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAC,GAAG,OAAO,CAAC;IAEjE,MAAM,CAAC,KAAK,CAAC,EAAC,WAAW,EAAE,UAAU,EAAC,EAAE,2BAA2B,CAAC,CAAC;IAErE,MAAM,MAAM,GAAG,eAAe,CAAC,EAAC,MAAM,EAAE,MAAM,IAAI,kBAAkB,EAAC,EAAE,IAAI,CAAC,CAAC;IAE7E,MAAM,EAAC,IAAI,EAAE,KAAK,EAAC,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,2DAA2D,EAAE;QAClG,MAAM,EAAE;YACN,IAAI,EAAE,EAAC,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAC;YAC1D,KAAK,EAAE;gBACL,KAAK;gBACL,MAAM;aACP;SACF;KACF,CAAC,CAAC;IAEH,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,YAAY,GAChB,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,SAAS,IAAI,KAAK;YAC/D,CAAC,CAAC,MAAM,CAAE,KAA4B,CAAC,OAAO,CAAC;YAC/C,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,+BAA+B,YAAY,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,EAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAC,EAAE,0BAA0B,CAAC,CAAC;IAE9D,OAAO;QACL,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC;QACtB,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,IAAI;QACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI;QAC/B,WAAW,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE;KAChC,CAAC;AACJ,CAAC;AAsDD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAAgC,EAChC,IAAkB;IAElB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,EAAC,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAC,GAAG,OAAO,CAAC;IAE5D,MAAM,CAAC,KAAK,CAAC,EAAC,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAC,EAAE,2BAA2B,CAAC,CAAC;IAE/E,MAAM,MAAM,GAAG,eAAe,CAAC,EAAC,MAAM,EAAE,MAAM,IAAI,kBAAkB,EAAC,EAAE,IAAI,CAAC,CAAC;IAE7E,MAAM,EAAC,IAAI,EAAE,KAAK,EAAC,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,2DAA2D,EAAE;QACnG,MAAM,EAAE;YACN,IAAI,EAAE,EAAC,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAC;SAC3D;QACD,IAAI,EAAE;YACJ,SAAS,EAAE,QAAQ;SACpB;KACF,CAAC,CAAC;IAEH,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,YAAY,GAChB,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,SAAS,IAAI,KAAK;YAC/D,CAAC,CAAC,MAAM,CAAE,KAA4B,CAAC,OAAO,CAAC;YAC/C,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,gCAAgC,YAAY,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,kFAAkF;IAClF,sFAAsF;IACtF,gFAAgF;IAChF,MAAM,UAAU,GAAG,CAAC,IAAI,IAAI,EAAE,CAA0B,CAAC;IACzD,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,IAAI,EAAE,CAAC;IAE3C,MAAM,CAAC,KAAK,CAAC,EAAC,QAAQ,EAAC,EAAE,0BAA0B,CAAC,CAAC;IAErD,OAAO;QACL,QAAQ;QACR,UAAU;QACV,MAAM,EAAE,SAAS;QACjB,QAAQ;KACT,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,yDAAyD;AACzD,8EAA8E;AAE9E;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,EAAC,CAAC,iBAAiB,CAAC,EAAE,MAAM,EAAC,CAAC;AAC1D;;;GAGG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,EAAC,CAAC,iBAAiB,CAAC,EAAE,OAAO,EAAC,CAAC;AAE5D;;;;;GAKG;AACH,MAAM,CAAC,MAAM,4BAA4B,GACvC,+EAA+E;IAC/E,wFAAwF,CAAC;AAE3F,wDAAwD;AACxD,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAwB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAC;AA8BvF,sFAAsF;AACtF,MAAM,UAAU,yBAAyB,CAAC,MAAqB;IAC7D,OAAO;QACL,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,SAAS;QACxC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,IAAI,SAAS;QAClD,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,SAAS;QAClC,cAAc,EAAE,MAAM,CAAC,WAAW,IAAI,SAAS;QAC/C,YAAY,EAAE,MAAM,CAAC,UAAU,IAAI,SAAS;QAC5C,SAAS,EAAE,MAAM,CAAC,IAAI,IAAI,SAAS;QACnC,OAAO,EAAE,QAAQ;KAClB,CAAC;AACJ,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,wBAAwB,CAAC,UAA2B;IAClE,OAAO;QACL,YAAY,EAAE,UAAU,CAAC,YAAY,IAAI,SAAS;QAClD,QAAQ,EAAE,UAAU,CAAC,MAAM,EAAE,QAAQ,IAAI,SAAS;QAClD,aAAa,EAAE,UAAU,CAAC,MAAM,EAAE,WAAW,IAAI,SAAS;QAC1D,MAAM,EAAE,UAAU,CAAC,MAAM,IAAI,SAAS;QACtC,cAAc,EAAE,UAAU,CAAC,cAAc,IAAI,SAAS;QACtD,YAAY,EAAE,UAAU,CAAC,YAAY,IAAI,SAAS;QAClD,SAAS,EAAE,UAAU,CAAC,SAAS,IAAI,SAAS;QAC5C,OAAO,EAAE,OAAO;KACjB,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,2BAA2B,CAAC,IAAwB;IAClE,OAAO,iCAAiC,CAAC,EAAC,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;AAC5G,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,IAAwB,EACxB,MAAsF;IAEtF,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,EAAC,YAAY,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAC,GAAG,MAAM,CAAC;IAC5D,MAAM,cAAc,GAAG,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAEvD,MAAM,CAAC,KAAK,CAAC,EAAC,cAAc,EAAE,YAAY,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAC,EAAE,iCAAiC,CAAC,CAAC;IAE9G,MAAM,MAAM,GAAG,2BAA2B,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,EAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAC,GAAG,MAAM,MAAM,CAAC,GAAG,CAC9C,qGAAqG,EACrG;QACE,MAAM,EAAE,EAAC,IAAI,EAAE,EAAC,cAAc,EAAE,YAAY,EAAE,aAAa,EAAC,EAAE,KAAK,EAAE,EAAC,KAAK,EAAE,MAAM,EAAC,EAAC;QACrF,OAAO,EAAE,YAAY;KACtB,CACF,CAAC;IAEF,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;QACnB,MAAM,uBAAuB,CAAC,KAAK,EAAE,QAAQ,EAAE,4BAA4B,CAAC,CAAC;IAC/E,CAAC;IAED,OAAO;QACL,WAAW,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,wBAAwB,CAAC;QAC5D,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC;QAC3C,GAAG,EAAE,IAAI;KACV,CAAC;AACJ,CAAC;AAcD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,IAAwB,EACxB,MAAuE;IAEvE,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,EAAC,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAC,GAAG,MAAM,CAAC;IACvD,MAAM,cAAc,GAAG,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAEvD,MAAM,CAAC,KAAK,CAAC,EAAC,cAAc,EAAE,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAC,EAAE,iCAAiC,CAAC,CAAC;IAEzG,MAAM,MAAM,GAAG,2BAA2B,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,EAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAC,GAAG,MAAM,MAAM,CAAC,IAAI,CAC/C,qGAAqG,EACrG;QACE,MAAM,EAAE,EAAC,IAAI,EAAE,EAAC,cAAc,EAAE,YAAY,EAAE,aAAa,EAAC,EAAC;QAC7D,OAAO,EAAE,aAAa;QACtB,IAAI,EAAE,EAAC,QAAQ,EAAC;KACjB,CACF,CAAC;IAEF,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;QACnB,MAAM,uBAAuB,CAAC,KAAK,EAAE,QAAQ,EAAE,2BAA2B,QAAQ,EAAE,CAAC,CAAC;IACxF,CAAC;IAED,OAAO,EAAC,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,EAAC,CAAC;AACrF,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,IAAwB,EACxB,MAA2E;IAE3E,MAAM,EAAC,YAAY,EAAE,aAAa,EAAE,YAAY,EAAC,GAAG,MAAM,CAAC;IAC3D,MAAM,cAAc,GAAG,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAEvD,MAAM,MAAM,GAAG,2BAA2B,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,EAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAC,GAAG,MAAM,MAAM,CAAC,GAAG,CAC9C,oHAAoH,EACpH;QACE,MAAM,EAAE,EAAC,IAAI,EAAE,EAAC,cAAc,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAC,EAAC;QAC3E,OAAO,EAAE,YAAY;KACtB,CACF,CAAC;IAEF,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;QACnB,MAAM,uBAAuB,CAAC,KAAK,EAAE,QAAQ,EAAE,4BAA4B,YAAY,EAAE,CAAC,CAAC;IAC7F,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAsCD,KAAK,UAAU,YAAY,CAAC,EAAU;IACpC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC5B,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,IAAwB,EACxB,OAAsC;IAEtC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,EAAC,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,mBAAmB,GAAG,EAAE,EAAE,cAAc,GAAG,GAAG,EAAE,MAAM,EAAC,GAAG,OAAO,CAAC;IAEpH,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,IAAI,YAAY,CAAC;IAC9C,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC;IACtC,MAAM,SAAS,GAAG,KAAK,EAAE,CAAC;IAC1B,MAAM,cAAc,GAAG,mBAAmB,GAAG,IAAI,CAAC;IAClD,MAAM,SAAS,GAAG,cAAc,GAAG,IAAI,CAAC;IAExC,MAAM,CAAC,KAAK,CAAC,EAAC,YAAY,EAAE,mBAAmB,EAAE,cAAc,EAAC,EAAE,oCAAoC,CAAC,CAAC;IAExG,wEAAwE;IACxE,6EAA6E;IAC7E,sDAAsD;IACtD,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC;QAEhE,IAAI,cAAc,GAAG,CAAC,IAAI,KAAK,EAAE,GAAG,SAAS,GAAG,SAAS,EAAE,CAAC;YAC1D,MAAM,IAAI,KAAK,CAAC,mCAAmC,YAAY,WAAW,cAAc,GAAG,CAAC,CAAC;QAC/F,CAAC;QAED,MAAM,UAAU,GAAG,MAAM,kBAAkB,CAAC,IAAI,EAAE,EAAC,YAAY,EAAE,aAAa,EAAE,YAAY,EAAC,CAAC,CAAC;QAC/F,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,IAAI,SAAS,CAAC;QAE9C,MAAM,CAAC,KAAK,CAAC,EAAC,YAAY,EAAE,cAAc,EAAE,MAAM,EAAC,EAAE,6BAA6B,CAAC,CAAC;QACpF,MAAM,EAAE,CAAC;YACP,cAAc;YACd,MAAM;YACN,WAAW,EAAE,UAAU,CAAC,QAAQ,EAAE,WAAW,IAAI,SAAS;YAC1D,UAAU,EAAE,UAAU,CAAC,QAAQ,EAAE,UAAU,IAAI,SAAS;SACzD,CAAC,CAAC;QAEH,IAAI,UAAU,CAAC,MAAM,IAAI,uBAAuB,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACxE,IAAI,UAAU,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACnC,MAAM,MAAM,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/E,MAAM,IAAI,KAAK,CAAC,cAAc,YAAY,UAAU,MAAM,EAAE,CAAC,CAAC;YAChE,CAAC;YACD,MAAM,CAAC,KAAK,CAAC,EAAC,YAAY,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAC,EAAE,gDAAgD,CAAC,CAAC;YAC1G,OAAO,UAAU,CAAC;QACpB,CAAC;QAED,MAAM,OAAO,CAAC,cAAc,CAAC,CAAC;IAChC,CAAC;AACH,CAAC;AAgDD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,OAAyC;IAChF,MAAM,EACJ,UAAU,EACV,eAAe,EACf,UAAU,EACV,WAAW,EACX,UAAU,EACV,KAAK,EACL,MAAM,EACN,MAAM,EACN,UAAU,EACV,SAAS,GACV,GAAG,OAAO,CAAC;IAEZ,MAAM,GAAG,GAAG,MAAM,kBAAkB,CAClC;QACE,UAAU;QACV,cAAc,EAAE,OAAO,CAAC,eAAe,CAAC;QACxC,mBAAmB,EAAE,OAAO,CAAC,UAAU,CAAC;QACxC,UAAU;QACV,SAAS;KACV,EACD;QACE,KAAK,EAAE,GAAG,EAAE,CACV,oBAAoB,CAAC,eAAgB,EAAE;YACrC,YAAY,EAAE,WAAW;YACzB,aAAa,EAAE,UAAU;YACzB,KAAK;YACL,MAAM;SACP,CAAC;QACJ,MAAM,EAAE,KAAK,IAAI,EAAE;YACjB,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAChD,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,EAAC,WAAW,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAC,EAAE,UAAU,CAAC,CAAC;YACnG,qEAAqE;YACrE,0EAA0E;YAC1E,OAAO,EAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,yBAAyB,CAAC,EAAE,GAAG,EAAE,MAAM,EAAC,CAAC;QAC5G,CAAC;KACF,CACF,CAAC;IAEF,OAAO,EAAC,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,WAAW,EAAE,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,EAAC,CAAC;AAChH,CAAC;AA4CD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,OAAsC;IAC1E,MAAM,EAAC,UAAU,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAC,GAC/G,OAAO,CAAC;IAEV,MAAM,GAAG,GAAG,MAAM,kBAAkB,CAClC;QACE,UAAU;QACV,cAAc,EAAE,OAAO,CAAC,eAAe,CAAC;QACxC,mBAAmB,EAAE,OAAO,CAAC,UAAU,CAAC;QACxC,UAAU;QACV,SAAS;KACV,EACD;QACE,KAAK,EAAE,KAAK,IAAI,EAAE;YAChB,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,eAAgB,EAAE;gBAC3D,YAAY,EAAE,WAAW;gBACzB,aAAa,EAAE,UAAU;gBACzB,QAAQ;aACT,CAAC,CAAC;YACH,OAAO;gBACL,OAAO,EAAE,OAAO;gBAChB,QAAQ;gBACR,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,QAAQ;gBACjC,GAAG,EAAE,MAAM,CAAC,GAAG;aAChB,CAAC;QACJ,CAAC;QACD,MAAM,EAAE,KAAK,IAAI,EAAE;YACjB,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAChD,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,EAAC,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAC,EAAE,UAAU,CAAC,CAAC;YAC/F,yEAAyE;YACzE,iEAAiE;YACjE,OAAO,EAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAC,CAAC;QACtG,CAAC;KACF,CACF,CAAC;IAEF,OAAO,GAAG,CAAC,KAAK,CAAC;AACnB,CAAC"}