@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.
- package/data/content-schemas/componenttype.json +0 -30
- package/data/scapi-snippets/campaign-promotions.js +40 -0
- package/data/scapi-snippets/code-version-inspect.js +31 -0
- package/data/scapi-snippets/create-product.js +108 -0
- package/data/scapi-snippets/failed-job-triage.js +37 -0
- package/data/scapi-snippets/job-execution-inspect.js +52 -0
- package/data/scapi-snippets/job-execution-review.js +46 -0
- package/data/scapi-snippets/manifest.json +220 -0
- package/data/scapi-snippets/site-cartridge-inspect.js +27 -0
- package/data/tooling/index.json +83 -119
- package/dist/esm/auth/index.d.ts +2 -2
- package/dist/esm/auth/index.js +1 -1
- package/dist/esm/auth/index.js.map +1 -1
- package/dist/esm/auth/oauth-implicit.d.ts +1 -0
- package/dist/esm/auth/oauth-implicit.js +1 -0
- package/dist/esm/auth/oauth-implicit.js.map +1 -1
- package/dist/esm/auth/oauth-jwt.d.ts +18 -4
- package/dist/esm/auth/oauth-jwt.js +67 -17
- package/dist/esm/auth/oauth-jwt.js.map +1 -1
- package/dist/esm/auth/oauth-pkce-fallback.d.ts +1 -0
- package/dist/esm/auth/oauth-pkce-fallback.js +1 -0
- package/dist/esm/auth/oauth-pkce-fallback.js.map +1 -1
- package/dist/esm/auth/oauth-pkce.d.ts +1 -0
- package/dist/esm/auth/oauth-pkce.js +1 -0
- package/dist/esm/auth/oauth-pkce.js.map +1 -1
- package/dist/esm/auth/oauth.d.ts +55 -6
- package/dist/esm/auth/oauth.js +139 -21
- package/dist/esm/auth/oauth.js.map +1 -1
- package/dist/esm/auth/resolve.d.ts +37 -0
- package/dist/esm/auth/resolve.js +48 -0
- package/dist/esm/auth/resolve.js.map +1 -1
- package/dist/esm/auth/types.d.ts +44 -0
- package/dist/esm/auth/types.js.map +1 -1
- package/dist/esm/cli/base-command.d.ts +9 -0
- package/dist/esm/cli/base-command.js +31 -0
- package/dist/esm/cli/base-command.js.map +1 -1
- package/dist/esm/cli/bm-command.d.ts +15 -0
- package/dist/esm/cli/bm-command.js +25 -0
- package/dist/esm/cli/bm-command.js.map +1 -0
- package/dist/esm/cli/code-command.d.ts +14 -0
- package/dist/esm/cli/code-command.js +22 -0
- package/dist/esm/cli/code-command.js.map +1 -0
- package/dist/esm/cli/config.js +10 -1
- package/dist/esm/cli/config.js.map +1 -1
- package/dist/esm/cli/index.d.ts +5 -1
- package/dist/esm/cli/index.js +7 -1
- package/dist/esm/cli/index.js.map +1 -1
- package/dist/esm/cli/instance-command.d.ts +45 -0
- package/dist/esm/cli/instance-command.js +66 -1
- package/dist/esm/cli/instance-command.js.map +1 -1
- package/dist/esm/cli/job-command.d.ts +37 -16
- package/dist/esm/cli/job-command.js +73 -23
- package/dist/esm/cli/job-command.js.map +1 -1
- package/dist/esm/cli/mrt-command.d.ts +154 -9
- package/dist/esm/cli/mrt-command.js +299 -16
- package/dist/esm/cli/mrt-command.js.map +1 -1
- package/dist/esm/cli/oauth-command.d.ts +1 -1
- package/dist/esm/cli/oauth-command.js +2 -0
- package/dist/esm/cli/oauth-command.js.map +1 -1
- package/dist/esm/cli/webdav-command.d.ts +2 -0
- package/dist/esm/cli/webdav-command.js +1 -0
- package/dist/esm/cli/webdav-command.js.map +1 -1
- package/dist/esm/clients/cdn-zones.js +2 -5
- package/dist/esm/clients/cdn-zones.js.map +1 -1
- package/dist/esm/clients/cip.d.ts +12 -3
- package/dist/esm/clients/cip.js +85 -30
- package/dist/esm/clients/cip.js.map +1 -1
- package/dist/esm/clients/custom-apis.js +2 -5
- package/dist/esm/clients/custom-apis.js.map +1 -1
- package/dist/esm/clients/dual-backend-factory.d.ts +70 -0
- package/dist/esm/clients/dual-backend-factory.js +48 -0
- package/dist/esm/clients/dual-backend-factory.js.map +1 -0
- package/dist/esm/clients/error-utils.d.ts +62 -0
- package/dist/esm/clients/error-utils.js +98 -0
- package/dist/esm/clients/error-utils.js.map +1 -1
- package/dist/esm/clients/granular-replications.js +2 -5
- package/dist/esm/clients/granular-replications.js.map +1 -1
- package/dist/esm/clients/index.d.ts +30 -3
- package/dist/esm/clients/index.js +25 -2
- package/dist/esm/clients/index.js.map +1 -1
- package/dist/esm/clients/metrics.js +2 -5
- package/dist/esm/clients/metrics.js.map +1 -1
- package/dist/esm/clients/middleware-registry.d.ts +4 -2
- package/dist/esm/clients/middleware-registry.js +3 -1
- package/dist/esm/clients/middleware-registry.js.map +1 -1
- package/dist/esm/clients/middleware.d.ts +39 -0
- package/dist/esm/clients/middleware.js +126 -25
- package/dist/esm/clients/middleware.js.map +1 -1
- package/dist/esm/clients/mrt-b2c.js +3 -0
- package/dist/esm/clients/mrt-b2c.js.map +1 -1
- package/dist/esm/clients/mrt.d.ts +27 -10
- package/dist/esm/clients/mrt.generated.d.ts +77 -0
- package/dist/esm/clients/mrt.js +68 -0
- package/dist/esm/clients/mrt.js.map +1 -1
- package/dist/esm/clients/preferences.js +2 -5
- package/dist/esm/clients/preferences.js.map +1 -1
- package/dist/esm/clients/scapi-backend-utils.d.ts +163 -0
- package/dist/esm/clients/scapi-backend-utils.js +180 -0
- package/dist/esm/clients/scapi-backend-utils.js.map +1 -0
- package/dist/esm/clients/scapi-catalogs.d.ts +12 -0
- package/dist/esm/clients/scapi-catalogs.generated.d.ts +104 -0
- package/dist/esm/clients/scapi-catalogs.generated.js +6 -0
- package/dist/esm/clients/scapi-catalogs.generated.js.map +1 -0
- package/dist/esm/clients/scapi-catalogs.js +14 -0
- package/dist/esm/clients/scapi-catalogs.js.map +1 -0
- package/dist/esm/clients/scapi-client-factory.d.ts +81 -0
- package/dist/esm/clients/scapi-client-factory.js +84 -0
- package/dist/esm/clients/scapi-client-factory.js.map +1 -0
- package/dist/esm/clients/scapi-fallback-backend.d.ts +34 -0
- package/dist/esm/clients/scapi-fallback-backend.js +132 -0
- package/dist/esm/clients/scapi-fallback-backend.js.map +1 -0
- package/dist/esm/clients/scapi-jobs.d.ts +32 -0
- package/dist/esm/clients/scapi-jobs.generated.d.ts +535 -0
- package/dist/esm/clients/scapi-jobs.generated.js +6 -0
- package/dist/esm/clients/scapi-jobs.generated.js.map +1 -0
- package/dist/esm/clients/scapi-jobs.js +24 -0
- package/dist/esm/clients/scapi-jobs.js.map +1 -0
- package/dist/esm/clients/scapi-merchant-roles.d.ts +19 -0
- package/dist/esm/clients/scapi-merchant-roles.generated.d.ts +726 -0
- package/dist/esm/clients/scapi-merchant-roles.generated.js +6 -0
- package/dist/esm/clients/scapi-merchant-roles.generated.js.map +1 -0
- package/dist/esm/clients/scapi-merchant-roles.js +12 -0
- package/dist/esm/clients/scapi-merchant-roles.js.map +1 -0
- package/dist/esm/clients/scapi-merchant-users.d.ts +19 -0
- package/dist/esm/clients/scapi-merchant-users.generated.d.ts +300 -0
- package/dist/esm/clients/scapi-merchant-users.generated.js +6 -0
- package/dist/esm/clients/scapi-merchant-users.generated.js.map +1 -0
- package/dist/esm/clients/scapi-merchant-users.js +12 -0
- package/dist/esm/clients/scapi-merchant-users.js.map +1 -0
- package/dist/esm/clients/scapi-schemas.js +2 -5
- package/dist/esm/clients/scapi-schemas.js.map +1 -1
- package/dist/esm/clients/scapi-scope-tier.d.ts +78 -0
- package/dist/esm/clients/scapi-scope-tier.js +113 -0
- package/dist/esm/clients/scapi-scope-tier.js.map +1 -0
- package/dist/esm/clients/scapi-scripts.d.ts +17 -0
- package/dist/esm/clients/scapi-scripts.generated.d.ts +392 -0
- package/dist/esm/clients/scapi-scripts.generated.js +6 -0
- package/dist/esm/clients/scapi-scripts.generated.js.map +1 -0
- package/dist/esm/clients/scapi-scripts.js +12 -0
- package/dist/esm/clients/scapi-scripts.js.map +1 -0
- package/dist/esm/clients/scapi-sites.d.ts +26 -0
- package/dist/esm/clients/scapi-sites.generated.d.ts +500 -0
- package/dist/esm/clients/scapi-sites.generated.js +6 -0
- package/dist/esm/clients/scapi-sites.generated.js.map +1 -0
- package/dist/esm/clients/scapi-sites.js +25 -0
- package/dist/esm/clients/scapi-sites.js.map +1 -0
- package/dist/esm/clients/slas-shopper.d.ts +19 -0
- package/dist/esm/clients/slas-shopper.generated.d.ts +165 -0
- package/dist/esm/clients/slas-shopper.generated.js +6 -0
- package/dist/esm/clients/slas-shopper.generated.js.map +1 -0
- package/dist/esm/clients/slas-shopper.js +35 -0
- package/dist/esm/clients/slas-shopper.js.map +1 -0
- package/dist/esm/clients/storefront-deployments.d.ts +57 -0
- package/dist/esm/clients/storefront-deployments.generated.d.ts +558 -0
- package/dist/esm/clients/storefront-deployments.generated.js +6 -0
- package/dist/esm/clients/storefront-deployments.generated.js.map +1 -0
- package/dist/esm/clients/storefront-deployments.js +24 -0
- package/dist/esm/clients/storefront-deployments.js.map +1 -0
- package/dist/esm/clients/storefront-environments.d.ts +56 -0
- package/dist/esm/clients/storefront-environments.generated.d.ts +208 -0
- package/dist/esm/clients/storefront-environments.generated.js +6 -0
- package/dist/esm/clients/storefront-environments.generated.js.map +1 -0
- package/dist/esm/clients/storefront-environments.js +24 -0
- package/dist/esm/clients/storefront-environments.js.map +1 -0
- package/dist/esm/clients/webdav.js +4 -1
- package/dist/esm/clients/webdav.js.map +1 -1
- package/dist/esm/compat/dispatcher.d.ts +49 -0
- package/dist/esm/compat/dispatcher.js +124 -0
- package/dist/esm/compat/dispatcher.js.map +1 -0
- package/dist/esm/compat/index.d.ts +10 -0
- package/dist/esm/compat/index.js +15 -0
- package/dist/esm/compat/index.js.map +1 -0
- package/dist/esm/compat/jobs-backend.d.ts +31 -0
- package/dist/esm/compat/jobs-backend.js +76 -0
- package/dist/esm/compat/jobs-backend.js.map +1 -0
- package/dist/esm/config/dw-json.d.ts +4 -0
- package/dist/esm/config/dw-json.js.map +1 -1
- package/dist/esm/config/index.d.ts +1 -1
- package/dist/esm/config/index.js.map +1 -1
- package/dist/esm/config/mapping.d.ts +2 -5
- package/dist/esm/config/mapping.js +25 -1
- package/dist/esm/config/mapping.js.map +1 -1
- package/dist/esm/config/resolved-config.d.ts +2 -2
- package/dist/esm/config/resolved-config.js.map +1 -1
- package/dist/esm/config/resolver.js +12 -0
- package/dist/esm/config/resolver.js.map +1 -1
- package/dist/esm/config/sources/env-source.d.ts +10 -1
- package/dist/esm/config/sources/env-source.js +46 -1
- package/dist/esm/config/sources/env-source.js.map +1 -1
- package/dist/esm/config/types.d.ts +22 -3
- package/dist/esm/docs/search.js +2 -25
- package/dist/esm/docs/search.js.map +1 -1
- package/dist/esm/guidance/catalog.d.ts +37 -0
- package/dist/esm/guidance/catalog.js +282 -0
- package/dist/esm/guidance/catalog.js.map +1 -0
- package/dist/esm/guidance/index.d.ts +8 -0
- package/dist/esm/guidance/index.js +14 -0
- package/dist/esm/guidance/index.js.map +1 -0
- package/dist/esm/guidance/markdown.d.ts +10 -0
- package/dist/esm/guidance/markdown.js +52 -0
- package/dist/esm/guidance/markdown.js.map +1 -0
- package/dist/esm/guidance/types.d.ts +96 -0
- package/dist/esm/guidance/types.js +17 -0
- package/dist/esm/guidance/types.js.map +1 -0
- package/dist/esm/index.d.ts +14 -5
- package/dist/esm/index.js +14 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/instance/index.d.ts +96 -2
- package/dist/esm/instance/index.js +98 -5
- package/dist/esm/instance/index.js.map +1 -1
- package/dist/esm/operations/bm-roles/backend.d.ts +4 -0
- package/dist/esm/operations/bm-roles/backend.js +11 -0
- package/dist/esm/operations/bm-roles/backend.js.map +1 -0
- package/dist/esm/operations/bm-roles/index.d.ts +6 -0
- package/dist/esm/operations/bm-roles/index.js +4 -0
- package/dist/esm/operations/bm-roles/index.js.map +1 -1
- package/dist/esm/operations/bm-roles/ocapi-backend.d.ts +17 -0
- package/dist/esm/operations/bm-roles/ocapi-backend.js +151 -0
- package/dist/esm/operations/bm-roles/ocapi-backend.js.map +1 -0
- package/dist/esm/operations/bm-roles/roles.js +13 -17
- package/dist/esm/operations/bm-roles/roles.js.map +1 -1
- package/dist/esm/operations/bm-roles/scapi-backend.d.ts +27 -0
- package/dist/esm/operations/bm-roles/scapi-backend.js +138 -0
- package/dist/esm/operations/bm-roles/scapi-backend.js.map +1 -0
- package/dist/esm/operations/bm-roles/types.d.ts +49 -0
- package/dist/esm/operations/bm-roles/types.js +2 -0
- package/dist/esm/operations/bm-roles/types.js.map +1 -0
- package/dist/esm/operations/bm-users/backend.d.ts +4 -0
- package/dist/esm/operations/bm-users/backend.js +11 -0
- package/dist/esm/operations/bm-users/backend.js.map +1 -0
- package/dist/esm/operations/bm-users/index.d.ts +11 -3
- package/dist/esm/operations/bm-users/index.js +9 -3
- package/dist/esm/operations/bm-users/index.js.map +1 -1
- package/dist/esm/operations/bm-users/ocapi-backend.d.ts +13 -0
- package/dist/esm/operations/bm-users/ocapi-backend.js +92 -0
- package/dist/esm/operations/bm-users/ocapi-backend.js.map +1 -0
- package/dist/esm/operations/bm-users/scapi-backend.d.ts +23 -0
- package/dist/esm/operations/bm-users/scapi-backend.js +199 -0
- package/dist/esm/operations/bm-users/scapi-backend.js.map +1 -0
- package/dist/esm/operations/bm-users/types.d.ts +99 -0
- package/dist/esm/operations/bm-users/types.js +2 -0
- package/dist/esm/operations/bm-users/types.js.map +1 -0
- package/dist/esm/operations/bm-users/users.d.ts +4 -3
- package/dist/esm/operations/bm-users/users.js +23 -19
- package/dist/esm/operations/bm-users/users.js.map +1 -1
- package/dist/esm/operations/cap/install.js +23 -45
- package/dist/esm/operations/cap/install.js.map +1 -1
- package/dist/esm/operations/cap/list.js +4 -8
- package/dist/esm/operations/cap/list.js.map +1 -1
- package/dist/esm/operations/cap/uninstall.js +17 -37
- package/dist/esm/operations/cap/uninstall.js.map +1 -1
- package/dist/esm/operations/catalogs/catalogs-backend.d.ts +4 -0
- package/dist/esm/operations/catalogs/catalogs-backend.js +16 -0
- package/dist/esm/operations/catalogs/catalogs-backend.js.map +1 -0
- package/dist/esm/operations/catalogs/catalogs-types.d.ts +14 -0
- package/dist/esm/operations/catalogs/catalogs-types.js +2 -0
- package/dist/esm/operations/catalogs/catalogs-types.js.map +1 -0
- package/dist/esm/operations/catalogs/index.d.ts +7 -0
- package/dist/esm/operations/catalogs/index.js +10 -0
- package/dist/esm/operations/catalogs/index.js.map +1 -0
- package/dist/esm/operations/catalogs/ocapi-catalogs-backend.d.ts +8 -0
- package/dist/esm/operations/catalogs/ocapi-catalogs-backend.js +36 -0
- package/dist/esm/operations/catalogs/ocapi-catalogs-backend.js.map +1 -0
- package/dist/esm/operations/catalogs/scapi-catalogs-backend.d.ts +15 -0
- package/dist/esm/operations/catalogs/scapi-catalogs-backend.js +42 -0
- package/dist/esm/operations/catalogs/scapi-catalogs-backend.js.map +1 -0
- package/dist/esm/operations/cip/index.js +10 -2
- package/dist/esm/operations/cip/index.js.map +1 -1
- package/dist/esm/operations/cip/reports.js +19 -3
- package/dist/esm/operations/cip/reports.js.map +1 -1
- package/dist/esm/operations/cip/types.d.ts +8 -4
- package/dist/esm/operations/code/deploy.d.ts +3 -0
- package/dist/esm/operations/code/deploy.js +9 -3
- package/dist/esm/operations/code/deploy.js.map +1 -1
- package/dist/esm/operations/code/download.d.ts +3 -0
- package/dist/esm/operations/code/download.js +5 -5
- package/dist/esm/operations/code/download.js.map +1 -1
- package/dist/esm/operations/code/index.d.ts +7 -1
- package/dist/esm/operations/code/index.js +5 -1
- package/dist/esm/operations/code/index.js.map +1 -1
- package/dist/esm/operations/code/ocapi-scripts-backend.d.ts +12 -0
- package/dist/esm/operations/code/ocapi-scripts-backend.js +40 -0
- package/dist/esm/operations/code/ocapi-scripts-backend.js.map +1 -0
- package/dist/esm/operations/code/scapi-scripts-backend.d.ts +22 -0
- package/dist/esm/operations/code/scapi-scripts-backend.js +94 -0
- package/dist/esm/operations/code/scapi-scripts-backend.js.map +1 -0
- package/dist/esm/operations/code/scripts-backend.d.ts +17 -0
- package/dist/esm/operations/code/scripts-backend.js +40 -0
- package/dist/esm/operations/code/scripts-backend.js.map +1 -0
- package/dist/esm/operations/code/scripts-types.d.ts +43 -0
- package/dist/esm/operations/code/scripts-types.js +2 -0
- package/dist/esm/operations/code/scripts-types.js.map +1 -0
- package/dist/esm/operations/code/upload-files.d.ts +6 -0
- package/dist/esm/operations/code/upload-files.js +58 -7
- package/dist/esm/operations/code/upload-files.js.map +1 -1
- package/dist/esm/operations/code/versions.d.ts +0 -20
- package/dist/esm/operations/code/versions.js +16 -51
- package/dist/esm/operations/code/versions.js.map +1 -1
- package/dist/esm/operations/code/watch.d.ts +3 -0
- package/dist/esm/operations/code/watch.js +3 -2
- package/dist/esm/operations/code/watch.js.map +1 -1
- package/dist/esm/operations/jobs/discover.d.ts +1 -1
- package/dist/esm/operations/jobs/discover.js +51 -21
- package/dist/esm/operations/jobs/discover.js.map +1 -1
- package/dist/esm/operations/jobs/index.d.ts +14 -57
- package/dist/esm/operations/jobs/index.js +15 -59
- package/dist/esm/operations/jobs/index.js.map +1 -1
- package/dist/esm/operations/jobs/ocapi-mapping.d.ts +34 -0
- package/dist/esm/operations/jobs/ocapi-mapping.js +100 -0
- package/dist/esm/operations/jobs/ocapi-mapping.js.map +1 -0
- package/dist/esm/operations/jobs/run-system-job.d.ts +81 -0
- package/dist/esm/operations/jobs/run-system-job.js +137 -0
- package/dist/esm/operations/jobs/run-system-job.js.map +1 -0
- package/dist/esm/operations/jobs/run.js +16 -4
- package/dist/esm/operations/jobs/run.js.map +1 -1
- package/dist/esm/operations/jobs/scapi-ops.d.ts +61 -0
- package/dist/esm/operations/jobs/scapi-ops.js +214 -0
- package/dist/esm/operations/jobs/scapi-ops.js.map +1 -0
- package/dist/esm/operations/jobs/site-archive.d.ts +7 -0
- package/dist/esm/operations/jobs/site-archive.js +28 -66
- package/dist/esm/operations/jobs/site-archive.js.map +1 -1
- package/dist/esm/operations/jobs/types.d.ts +46 -0
- package/dist/esm/operations/jobs/types.js +2 -0
- package/dist/esm/operations/jobs/types.js.map +1 -0
- package/dist/esm/operations/jobs/wait-canonical.d.ts +28 -0
- package/dist/esm/operations/jobs/wait-canonical.js +48 -0
- package/dist/esm/operations/jobs/wait-canonical.js.map +1 -0
- package/dist/esm/operations/mrt/bundle.d.ts +164 -2
- package/dist/esm/operations/mrt/bundle.js +315 -9
- package/dist/esm/operations/mrt/bundle.js.map +1 -1
- package/dist/esm/operations/mrt/deployment.d.ts +248 -0
- package/dist/esm/operations/mrt/deployment.js +252 -0
- package/dist/esm/operations/mrt/deployment.js.map +1 -1
- package/dist/esm/operations/mrt/env-var.d.ts +135 -0
- package/dist/esm/operations/mrt/env-var.js +203 -0
- package/dist/esm/operations/mrt/env-var.js.map +1 -1
- package/dist/esm/operations/mrt/index.d.ts +10 -8
- package/dist/esm/operations/mrt/index.js +6 -4
- package/dist/esm/operations/mrt/index.js.map +1 -1
- package/dist/esm/operations/mrt/mrt-backend.d.ts +117 -0
- package/dist/esm/operations/mrt/mrt-backend.js +84 -0
- package/dist/esm/operations/mrt/mrt-backend.js.map +1 -0
- package/dist/esm/operations/mrt/push.d.ts +285 -1
- package/dist/esm/operations/mrt/push.js +382 -1
- package/dist/esm/operations/mrt/push.js.map +1 -1
- package/dist/esm/operations/sites/cartridges.d.ts +10 -8
- package/dist/esm/operations/sites/cartridges.js +35 -67
- package/dist/esm/operations/sites/cartridges.js.map +1 -1
- package/dist/esm/operations/sites/index.d.ts +10 -6
- package/dist/esm/operations/sites/index.js +9 -6
- package/dist/esm/operations/sites/index.js.map +1 -1
- package/dist/esm/operations/sites/ocapi-sites-backend.d.ts +20 -0
- package/dist/esm/operations/sites/ocapi-sites-backend.js +98 -0
- package/dist/esm/operations/sites/ocapi-sites-backend.js.map +1 -0
- package/dist/esm/operations/sites/scapi-sites-backend.d.ts +33 -0
- package/dist/esm/operations/sites/scapi-sites-backend.js +166 -0
- package/dist/esm/operations/sites/scapi-sites-backend.js.map +1 -0
- package/dist/esm/operations/sites/sites-backend.d.ts +9 -0
- package/dist/esm/operations/sites/sites-backend.js +16 -0
- package/dist/esm/operations/sites/sites-backend.js.map +1 -0
- package/dist/esm/operations/sites/sites-scopes.d.ts +2 -0
- package/dist/esm/operations/sites/sites-scopes.js +16 -0
- package/dist/esm/operations/sites/sites-scopes.js.map +1 -0
- package/dist/esm/operations/sites/sites-types.d.ts +50 -0
- package/dist/esm/operations/sites/sites-types.js +2 -0
- package/dist/esm/operations/sites/sites-types.js.map +1 -0
- package/dist/esm/safety/safety-guard.d.ts +1 -0
- package/dist/esm/safety/safety-guard.js +2 -1
- package/dist/esm/safety/safety-guard.js.map +1 -1
- package/dist/esm/safety/safety-middleware.d.ts +7 -3
- package/dist/esm/safety/safety-middleware.js +13 -9
- package/dist/esm/safety/safety-middleware.js.map +1 -1
- package/dist/esm/safety/types.d.ts +2 -2
- package/dist/esm/scaffold/sources.js +6 -9
- package/dist/esm/scaffold/sources.js.map +1 -1
- package/dist/esm/scapi/auth-primitives.d.ts +3 -0
- package/dist/esm/scapi/auth-primitives.js +104 -0
- package/dist/esm/scapi/auth-primitives.js.map +1 -0
- package/dist/esm/scapi/authentication.d.ts +30 -0
- package/dist/esm/scapi/authentication.js +136 -0
- package/dist/esm/scapi/authentication.js.map +1 -0
- package/dist/esm/scapi/catalog.d.ts +29 -0
- package/dist/esm/scapi/catalog.js +81 -0
- package/dist/esm/scapi/catalog.js.map +1 -0
- package/dist/esm/scapi/index.d.ts +12 -0
- package/dist/esm/scapi/index.js +13 -0
- package/dist/esm/scapi/index.js.map +1 -0
- package/dist/esm/scapi/request.d.ts +28 -0
- package/dist/esm/scapi/request.js +273 -0
- package/dist/esm/scapi/request.js.map +1 -0
- package/dist/esm/scapi/runtime.d.ts +27 -0
- package/dist/esm/scapi/runtime.js +161 -0
- package/dist/esm/scapi/runtime.js.map +1 -0
- package/dist/esm/scapi/snippets.d.ts +22 -0
- package/dist/esm/scapi/snippets.js +140 -0
- package/dist/esm/scapi/snippets.js.map +1 -0
- package/dist/esm/scapi/worker-source.d.ts +2 -0
- package/dist/esm/scapi/worker-source.js +101 -0
- package/dist/esm/scapi/worker-source.js.map +1 -0
- package/dist/esm/search/ranking.d.ts +12 -0
- package/dist/esm/search/ranking.js +28 -0
- package/dist/esm/search/ranking.js.map +1 -0
- package/dist/esm/skills/sources.d.ts +2 -2
- package/dist/esm/skills/sources.js +18 -2
- package/dist/esm/skills/sources.js.map +1 -1
- package/dist/esm/skills/types.d.ts +1 -1
- package/dist/esm/slas/token.js +33 -94
- package/dist/esm/slas/token.js.map +1 -1
- package/dist/esm/slas/types.d.ts +5 -0
- package/dist/esm/test-utils/config-isolation.js +2 -2
- package/dist/esm/test-utils/config-isolation.js.map +1 -1
- package/node_modules/@salesforce/b2c-api-schemas/README.md +23 -0
- package/node_modules/@salesforce/b2c-api-schemas/manifest.json +576 -0
- package/node_modules/@salesforce/b2c-api-schemas/package.json +15 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/cdn/zones/v1.json +11490 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/checkout/orders/v1.json +3589 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/checkout/shopper-baskets/v1.json +6544 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/checkout/shopper-baskets/v2.json +7148 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/checkout/shopper-orders/v1.json +4411 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/checkout/shopper-payments/v1.json +643 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/configuration/cors/v1.json +295 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/configuration/preferences/v1.json +2036 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/configuration/shopper-configurations/v1.json +327 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/configuration/timeouts/v1.json +234 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/custom-object/custom-objects/v1.json +1542 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/custom-object/shopper-custom-objects/v1.json +405 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/customer/customers/v1.json +2531 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/customer/shopper-customers/v1.json +7944 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/dx/custom-apis/v1.json +292 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/dx/object-definitions/v1.json +2537 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/dx/scapi-schemas/v1.json +517 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/dx/scripts/v1.json +589 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/experience/experiences/v1.json +3600 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/experience/shopper-experience/v1.json +2319 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/intelligence/analytics/v1.json +658 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/inventory/availability/v1.json +2649 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/inventory/impex/v1.json +6615 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/inventory/reservation/v1.json +2103 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/merchant/roles/v1.json +1760 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/merchant/users/v1.json +640 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/observability/metrics/v1.json +1263 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/operation/jobs/v1.json +1259 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/operation/replications/v1.json +760 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/assignments/v1.json +1047 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/campaigns/v1.json +1929 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/coupons/v1.json +1542 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/gift-certificates/v1.json +1093 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/promotions/v1.json +1324 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/shopper-gift-certificates/v1.json +325 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/shopper-promotions/v1.json +631 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/source-code-groups/v1.json +1036 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/product/catalogs/v1.json +5175 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/product/inventory-lists/v1.json +866 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/product/price-books/v1.json +747 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/product/products/v1.json +5076 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/product/shopper-availability/v1.json +509 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/product/shopper-delivery-estimates/v1.json +517 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/product/shopper-products/v1.json +2961 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/search/shopper-search/v1.json +1889 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/auth/v1.json +7014 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/auth-admin/v1.json +1898 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/consents/v1.json +622 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/shopper-agents/v1.json +192 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/shopper-consents/v1.json +913 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/shopper-context/v1.json +630 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/site/seo/v1.json +223 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/site/shopper-seo/v1.json +423 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/site/sites/v1.json +1088 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/store/shopper-stores/v1.json +798 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/store/store-redirect-mappings/v1.json +607 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/store/stores/v1.json +1418 -0
- package/package.json +24 -3
- package/specs/dx-scripts-v1.yaml +409 -0
- package/specs/merchant-roles-v1.yaml +1085 -0
- package/specs/merchant-users-v1.yaml +398 -0
- package/specs/mrt-api-v1.json +105 -0
- package/specs/operations-jobs-v1.yaml +793 -0
- package/specs/product-catalogs-v1.yaml +111 -0
- package/specs/site-sites-v1.yaml +667 -0
- package/specs/slas-shopper-v1.yaml +83 -0
- package/specs/storefront-deployments-v1.yaml +630 -0
- 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":"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"}
|