@salesforce/b2c-tooling-sdk 1.24.2 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +80 -116
- 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 +3 -0
- 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 +138 -9
- package/dist/esm/cli/mrt-command.js +277 -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 +1 -0
- 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 +28 -3
- package/dist/esm/clients/index.js +24 -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 +56 -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/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/sources/env-source.js +17 -0
- package/dist/esm/config/sources/env-source.js.map +1 -1
- package/dist/esm/config/types.d.ts +21 -2
- 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 +92 -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 +5 -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.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 +221 -0
- package/dist/esm/operations/mrt/deployment.js +239 -0
- package/dist/esm/operations/mrt/deployment.js.map +1 -1
- package/dist/esm/operations/mrt/index.d.ts +8 -6
- package/dist/esm/operations/mrt/index.js +5 -3
- 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 +83 -1
- package/dist/esm/operations/mrt/push.js +102 -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-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/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 +15 -0
- package/dist/esm/scapi/request.js +239 -0
- package/dist/esm/scapi/request.js.map +1 -0
- package/dist/esm/scapi/runtime.d.ts +20 -0
- package/dist/esm/scapi/runtime.js +131 -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 +10 -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/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
|
@@ -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,239 @@ export async function createDeployment(options, auth) {
|
|
|
112
116
|
warnings,
|
|
113
117
|
};
|
|
114
118
|
}
|
|
119
|
+
// ---------------------------------------------------------------------------
|
|
120
|
+
// Backend-neutral deployment view + SCAPI MRT operations
|
|
121
|
+
// ---------------------------------------------------------------------------
|
|
122
|
+
const READ_HEADERS = { [SCOPE_MODE_HEADER]: 'read' };
|
|
123
|
+
const WRITE_HEADERS = { [SCOPE_MODE_HEADER]: 'write' };
|
|
124
|
+
/**
|
|
125
|
+
* Thrown when a backend-aware operation resolves to the legacy backend but no
|
|
126
|
+
* legacy auth was supplied. `legacyAuth` is optional so SCAPI-only callers
|
|
127
|
+
* aren't forced to configure a `~/.mobify` API key; this guards the case where
|
|
128
|
+
* legacy is actually needed (explicit `legacy`, or `auto` falling back).
|
|
129
|
+
*/
|
|
130
|
+
const LEGACY_AUTH_REQUIRED_MESSAGE = 'Legacy MRT credentials are required for this backend but none were provided. ' +
|
|
131
|
+
'Provide an API key (--api-key / MRT_API_KEY / ~/.mobify) or use the SCAPI MRT backend.';
|
|
132
|
+
/** SCAPI deployment statuses that end the poll loop. */
|
|
133
|
+
const SCAPI_TERMINAL_STATUSES = new Set(['finished', 'failed']);
|
|
134
|
+
/** Normalizes a legacy MRT deployment list item into an {@link MrtDeploymentView}. */
|
|
135
|
+
export function normalizeLegacyDeployment(deploy) {
|
|
136
|
+
return {
|
|
137
|
+
bundleId: deploy.bundle?.id ?? undefined,
|
|
138
|
+
bundleMessage: deploy.bundle?.message ?? undefined,
|
|
139
|
+
status: deploy.status ?? undefined,
|
|
140
|
+
deploymentType: deploy.deploy_type ?? undefined,
|
|
141
|
+
creationDate: deploy.created_at ?? undefined,
|
|
142
|
+
createdBy: deploy.user ?? undefined,
|
|
143
|
+
backend: 'legacy',
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
/** Normalizes a SCAPI MRT {@link DeploymentScapi} into an {@link MrtDeploymentView}. */
|
|
147
|
+
export function normalizeDeploymentScapi(deployment) {
|
|
148
|
+
return {
|
|
149
|
+
deploymentId: deployment.deploymentId ?? undefined,
|
|
150
|
+
bundleId: deployment.bundle?.bundleId ?? undefined,
|
|
151
|
+
bundleMessage: deployment.bundle?.description ?? undefined,
|
|
152
|
+
status: deployment.status ?? undefined,
|
|
153
|
+
deploymentType: deployment.deploymentType ?? undefined,
|
|
154
|
+
creationDate: deployment.creationDate ?? undefined,
|
|
155
|
+
createdBy: deployment.createdBy ?? undefined,
|
|
156
|
+
backend: 'scapi',
|
|
157
|
+
};
|
|
158
|
+
}
|
|
159
|
+
function buildScapiDeploymentsClient(conn) {
|
|
160
|
+
return createStorefrontDeploymentsClient({ shortCode: conn.shortCode, tenantId: conn.tenantId }, conn.auth);
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Lists deployments for an environment via the SCAPI MRT Deployments API.
|
|
164
|
+
*
|
|
165
|
+
* Forwards the standard SCAPI `limit`/`offset` pagination query parameters when
|
|
166
|
+
* provided (max 200 per page, default 25 server-side; the response echoes the
|
|
167
|
+
* full `total`), mirroring the legacy list and the other SCAPI collection
|
|
168
|
+
* clients (`scapi-sites`, `scapi-catalogs`).
|
|
169
|
+
*
|
|
170
|
+
* @throws {ScapiRequestError} carrying the HTTP status on a non-2xx response.
|
|
171
|
+
*/
|
|
172
|
+
export async function listDeploymentsScapi(conn, params) {
|
|
173
|
+
const logger = getLogger();
|
|
174
|
+
const { storefrontId, environmentId, limit, offset } = params;
|
|
175
|
+
const organizationId = toOrganizationId(conn.tenantId);
|
|
176
|
+
logger.debug({ organizationId, storefrontId, environmentId, limit, offset }, '[MRT-SCAPI] Listing deployments');
|
|
177
|
+
const client = buildScapiDeploymentsClient(conn);
|
|
178
|
+
const { data, error, response } = await client.GET('/organizations/{organizationId}/storefronts/{storefrontId}/environments/{environmentId}/deployments', {
|
|
179
|
+
params: { path: { organizationId, storefrontId, environmentId }, query: { limit, offset } },
|
|
180
|
+
headers: READ_HEADERS,
|
|
181
|
+
});
|
|
182
|
+
if (error || !data) {
|
|
183
|
+
throw createScapiRequestError(error, response, 'Failed to list deployments');
|
|
184
|
+
}
|
|
185
|
+
return {
|
|
186
|
+
deployments: (data.data ?? []).map(normalizeDeploymentScapi),
|
|
187
|
+
count: data.total ?? data.data?.length ?? 0,
|
|
188
|
+
raw: data,
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* Creates (queues) a deployment via the SCAPI MRT Deployments API.
|
|
193
|
+
*
|
|
194
|
+
* @throws {ScapiRequestError} carrying the HTTP status on a non-2xx response
|
|
195
|
+
* (including 409 Conflict — the caller decides whether that is fatal).
|
|
196
|
+
*/
|
|
197
|
+
export async function createDeploymentScapi(conn, params) {
|
|
198
|
+
const logger = getLogger();
|
|
199
|
+
const { storefrontId, environmentId, bundleId } = params;
|
|
200
|
+
const organizationId = toOrganizationId(conn.tenantId);
|
|
201
|
+
logger.debug({ organizationId, storefrontId, environmentId, bundleId }, '[MRT-SCAPI] Creating deployment');
|
|
202
|
+
const client = buildScapiDeploymentsClient(conn);
|
|
203
|
+
const { data, error, response } = await client.POST('/organizations/{organizationId}/storefronts/{storefrontId}/environments/{environmentId}/deployments', {
|
|
204
|
+
params: { path: { organizationId, storefrontId, environmentId } },
|
|
205
|
+
headers: WRITE_HEADERS,
|
|
206
|
+
body: { bundleId },
|
|
207
|
+
});
|
|
208
|
+
if (error || !data) {
|
|
209
|
+
throw createScapiRequestError(error, response, `Failed to deploy bundle ${bundleId}`);
|
|
210
|
+
}
|
|
211
|
+
return { deploymentId: data.deploymentId, status: data.status, bundleId, raw: data };
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Fetches a single deployment by ID via the SCAPI MRT Deployments API.
|
|
215
|
+
*
|
|
216
|
+
* @throws {ScapiRequestError} carrying the HTTP status on a non-2xx response.
|
|
217
|
+
*/
|
|
218
|
+
export async function getDeploymentScapi(conn, params) {
|
|
219
|
+
const { storefrontId, environmentId, deploymentId } = params;
|
|
220
|
+
const organizationId = toOrganizationId(conn.tenantId);
|
|
221
|
+
const client = buildScapiDeploymentsClient(conn);
|
|
222
|
+
const { data, error, response } = await client.GET('/organizations/{organizationId}/storefronts/{storefrontId}/environments/{environmentId}/deployments/{deploymentId}', {
|
|
223
|
+
params: { path: { organizationId, storefrontId, environmentId, deploymentId } },
|
|
224
|
+
headers: READ_HEADERS,
|
|
225
|
+
});
|
|
226
|
+
if (error || !data) {
|
|
227
|
+
throw createScapiRequestError(error, response, `Failed to get deployment ${deploymentId}`);
|
|
228
|
+
}
|
|
229
|
+
return data;
|
|
230
|
+
}
|
|
231
|
+
async function defaultSleep(ms) {
|
|
232
|
+
await new Promise((resolve) => {
|
|
233
|
+
setTimeout(resolve, ms);
|
|
234
|
+
});
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* Polls a SCAPI deployment by ID until it reaches a terminal status
|
|
238
|
+
* (`finished` or `failed`) or the timeout elapses.
|
|
239
|
+
*
|
|
240
|
+
* Uses `getDeploymentById`, which shares the `sfcc.storefront.deployments` read
|
|
241
|
+
* scope with the list — a direct by-ID poll costs no extra scope over
|
|
242
|
+
* list-polling and avoids page-scanning ambiguity.
|
|
243
|
+
*
|
|
244
|
+
* @throws Error if the timeout is reached or the deployment fails.
|
|
245
|
+
*/
|
|
246
|
+
export async function waitForDeploymentScapi(conn, options) {
|
|
247
|
+
const logger = getLogger();
|
|
248
|
+
const { storefrontId, environmentId, deploymentId, pollIntervalSeconds = 30, timeoutSeconds = 600, onPoll } = options;
|
|
249
|
+
const sleepFn = options.sleep ?? defaultSleep;
|
|
250
|
+
const nowFn = options.now ?? Date.now;
|
|
251
|
+
const startTime = nowFn();
|
|
252
|
+
const pollIntervalMs = pollIntervalSeconds * 1000;
|
|
253
|
+
const timeoutMs = timeoutSeconds * 1000;
|
|
254
|
+
logger.debug({ deploymentId, pollIntervalSeconds, timeoutSeconds }, '[MRT-SCAPI] Waiting for deployment');
|
|
255
|
+
// Poll immediately (before any sleep) so an already-finished deployment
|
|
256
|
+
// returns without waiting a full interval, and so a timeout shorter than the
|
|
257
|
+
// poll interval still gets at least one status check.
|
|
258
|
+
while (true) {
|
|
259
|
+
const elapsedSeconds = Math.round((nowFn() - startTime) / 1000);
|
|
260
|
+
if (timeoutSeconds > 0 && nowFn() - startTime > timeoutMs) {
|
|
261
|
+
throw new Error(`Timeout waiting for deployment "${deploymentId}" after ${timeoutSeconds}s`);
|
|
262
|
+
}
|
|
263
|
+
const deployment = await getDeploymentScapi(conn, { storefrontId, environmentId, deploymentId });
|
|
264
|
+
const status = deployment.status ?? 'unknown';
|
|
265
|
+
logger.trace({ deploymentId, elapsedSeconds, status }, '[MRT-SCAPI] Deployment poll');
|
|
266
|
+
onPoll?.({
|
|
267
|
+
elapsedSeconds,
|
|
268
|
+
status,
|
|
269
|
+
description: deployment.progress?.description ?? undefined,
|
|
270
|
+
percentage: deployment.progress?.percentage ?? undefined,
|
|
271
|
+
});
|
|
272
|
+
if (deployment.status && SCAPI_TERMINAL_STATUSES.has(deployment.status)) {
|
|
273
|
+
if (deployment.status === 'failed') {
|
|
274
|
+
const detail = deployment.statusMessage ? `: ${deployment.statusMessage}` : '';
|
|
275
|
+
throw new Error(`Deployment ${deploymentId} failed${detail}`);
|
|
276
|
+
}
|
|
277
|
+
logger.debug({ deploymentId, status: deployment.status }, '[MRT-SCAPI] Deployment reached terminal status');
|
|
278
|
+
return deployment;
|
|
279
|
+
}
|
|
280
|
+
await sleepFn(pollIntervalMs);
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
/**
|
|
284
|
+
* Lists deployment history, routing to the SCAPI or legacy backend per the
|
|
285
|
+
* given preference (with safe `auto` fallback). Returns normalized rows.
|
|
286
|
+
*/
|
|
287
|
+
export async function listMrtDeployments(options) {
|
|
288
|
+
const { preference, scapiConnection, legacyAuth, projectSlug, targetSlug, limit, offset, origin, onFallback, onResolve, } = options;
|
|
289
|
+
const run = await runMrtWithFallback({
|
|
290
|
+
preference,
|
|
291
|
+
hasScapiConfig: Boolean(scapiConnection),
|
|
292
|
+
canFallbackToLegacy: Boolean(legacyAuth),
|
|
293
|
+
onFallback,
|
|
294
|
+
onResolve,
|
|
295
|
+
}, {
|
|
296
|
+
scapi: () => listDeploymentsScapi(scapiConnection, {
|
|
297
|
+
storefrontId: projectSlug,
|
|
298
|
+
environmentId: targetSlug,
|
|
299
|
+
limit,
|
|
300
|
+
offset,
|
|
301
|
+
}),
|
|
302
|
+
legacy: async () => {
|
|
303
|
+
if (!legacyAuth) {
|
|
304
|
+
throw new Error(LEGACY_AUTH_REQUIRED_MESSAGE);
|
|
305
|
+
}
|
|
306
|
+
const result = await listDeployments({ projectSlug, targetSlug, limit, offset, origin }, legacyAuth);
|
|
307
|
+
// The legacy list result already mirrors the raw MRT Cloud API shape
|
|
308
|
+
// (count/next/previous/deployments), so surface it verbatim under --json.
|
|
309
|
+
return { count: result.count, deployments: result.deployments.map(normalizeLegacyDeployment), raw: result };
|
|
310
|
+
},
|
|
311
|
+
});
|
|
312
|
+
return { backend: run.backend, count: run.value.count, deployments: run.value.deployments, raw: run.value.raw };
|
|
313
|
+
}
|
|
314
|
+
/**
|
|
315
|
+
* Deploys an existing bundle, routing to the SCAPI or legacy backend per the
|
|
316
|
+
* given preference (with safe `auto` fallback). The returned `backend` pins
|
|
317
|
+
* which `--wait` strategy the caller should use.
|
|
318
|
+
*/
|
|
319
|
+
export async function deployMrtBundle(options) {
|
|
320
|
+
const { preference, scapiConnection, legacyAuth, projectSlug, targetSlug, bundleId, origin, onFallback, onResolve } = options;
|
|
321
|
+
const run = await runMrtWithFallback({
|
|
322
|
+
preference,
|
|
323
|
+
hasScapiConfig: Boolean(scapiConnection),
|
|
324
|
+
canFallbackToLegacy: Boolean(legacyAuth),
|
|
325
|
+
onFallback,
|
|
326
|
+
onResolve,
|
|
327
|
+
}, {
|
|
328
|
+
scapi: async () => {
|
|
329
|
+
const result = await createDeploymentScapi(scapiConnection, {
|
|
330
|
+
storefrontId: projectSlug,
|
|
331
|
+
environmentId: targetSlug,
|
|
332
|
+
bundleId,
|
|
333
|
+
});
|
|
334
|
+
return {
|
|
335
|
+
backend: 'scapi',
|
|
336
|
+
bundleId,
|
|
337
|
+
deploymentId: result.deploymentId,
|
|
338
|
+
status: result.status ?? 'queued',
|
|
339
|
+
raw: result.raw,
|
|
340
|
+
};
|
|
341
|
+
},
|
|
342
|
+
legacy: async () => {
|
|
343
|
+
if (!legacyAuth) {
|
|
344
|
+
throw new Error(LEGACY_AUTH_REQUIRED_MESSAGE);
|
|
345
|
+
}
|
|
346
|
+
const result = await createDeployment({ projectSlug, targetSlug, bundleId, origin }, legacyAuth);
|
|
347
|
+
// `createDeployment` returns the synthesized legacy deploy result, which
|
|
348
|
+
// is the shape legacy `--json` emitted before the backend split.
|
|
349
|
+
return { backend: 'legacy', bundleId, status: result.status, warnings: result.warnings, raw: result };
|
|
350
|
+
},
|
|
351
|
+
});
|
|
352
|
+
return run.value;
|
|
353
|
+
}
|
|
115
354
|
//# 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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"}
|
|
@@ -39,16 +39,18 @@
|
|
|
39
39
|
*
|
|
40
40
|
* @module operations/mrt
|
|
41
41
|
*/
|
|
42
|
-
export { createBundle, createGlobFilter, getDefaultMessage, DEFAULT_SSR_PARAMETERS, DEFAULT_SSR_ONLY, DEFAULT_SSR_SHARED, } from './bundle.js';
|
|
43
|
-
export type { CreateBundleOptions, Bundle, MrtServerConfig } from './bundle.js';
|
|
44
|
-
export { pushBundle, uploadBundle, listBundles, downloadBundle, deleteBundle, bulkDeleteBundles } from './push.js';
|
|
45
|
-
export type { PushOptions, PushResult, ListBundlesOptions, ListBundlesResult, DownloadBundleOptions, DownloadBundleResult, DeleteBundleOptions, BulkDeleteBundlesOptions, BulkDeleteBundlesResult, BulkDeleteRejectedBundle, MrtBundle, } from './push.js';
|
|
42
|
+
export { createBundle, createBundleV2, createGlobFilter, getDefaultMessage, DEFAULT_SSR_PARAMETERS, DEFAULT_SSR_ONLY, DEFAULT_SSR_SHARED, DEFAULT_V2_ROOT_DIR, DEFAULT_V2_CONFIG_PATH, DEFAULT_V2_MATCH_MODE, } from './bundle.js';
|
|
43
|
+
export type { CreateBundleOptions, Bundle, MrtServerConfig, CreateBundleV2Options, BundleV2, BundleV2Config, BundleV2Metadata, BundleV2MatchMode, } from './bundle.js';
|
|
44
|
+
export { pushBundle, uploadBundle, pushBundleV2, uploadBundleV2, listBundles, downloadBundle, deleteBundle, bulkDeleteBundles, } from './push.js';
|
|
45
|
+
export type { PushOptions, PushResult, PushV2Options, PushV2Result, ListBundlesOptions, ListBundlesResult, DownloadBundleOptions, DownloadBundleResult, DeleteBundleOptions, BulkDeleteBundlesOptions, BulkDeleteBundlesResult, BulkDeleteRejectedBundle, MrtBundle, } from './push.js';
|
|
46
46
|
export { listEnvVars, setEnvVar, setEnvVars, deleteEnvVar } from './env-var.js';
|
|
47
47
|
export type { EnvVarOptions, SetEnvVarOptions, SetEnvVarsOptions, DeleteEnvVarOptions, ListEnvVarsResult, EnvironmentVariable, } from './env-var.js';
|
|
48
48
|
export { cloneEnv, createEnv, deleteEnv, getEnv, waitForEnv, listEnvs, updateEnv } from './env.js';
|
|
49
49
|
export type { CloneEnvOptions, CreateEnvOptions, DeleteEnvOptions, GetEnvOptions, WaitForEnvOptions, WaitForEnvPollInfo, ListEnvsOptions, ListEnvsResult, UpdateEnvOptions, MrtEnvironment, MrtEnvironmentState, MrtEnvironmentUpdate, PatchedMrtEnvironment, } from './env.js';
|
|
50
|
-
export { listDeployments, createDeployment } from './deployment.js';
|
|
51
|
-
export type { ListDeploymentsOptions, ListDeploymentsResult, CreateDeploymentOptions, CreateDeploymentResult, MrtDeployment, MrtDeploymentCreate, } from './deployment.js';
|
|
50
|
+
export { listDeployments, createDeployment, listDeploymentsScapi, createDeploymentScapi, getDeploymentScapi, waitForDeploymentScapi, listMrtDeployments, deployMrtBundle, normalizeLegacyDeployment, normalizeDeploymentScapi, } from './deployment.js';
|
|
51
|
+
export type { ListDeploymentsOptions, ListDeploymentsResult, CreateDeploymentOptions, CreateDeploymentResult, MrtDeployment, MrtDeploymentCreate, MrtDeploymentView, MrtDeploymentsView, MrtDeployResultView, CreateDeploymentScapiResult, DeploymentScapiPollInfo, WaitForDeploymentScapiOptions, ListMrtDeploymentsBackendOptions, DeployMrtBundleBackendOptions, } from './deployment.js';
|
|
52
|
+
export { resolveMrtBackend, runMrtWithFallback, mrtScapiUnavailableMessage } from './mrt-backend.js';
|
|
53
|
+
export type { MrtBackend, MrtBackendPreference, ScapiMrtConnection, MrtBackendBranches, MrtBackendRun, RunMrtWithFallbackOptions, } from './mrt-backend.js';
|
|
52
54
|
export { listOrganizations } from './organization.js';
|
|
53
55
|
export type { ListOrganizationsOptions, ListOrganizationsResult, MrtOrganization, OrganizationLimits, } from './organization.js';
|
|
54
56
|
export { listCertificates, getCertificate, createCertificate, deleteCertificate, restartCertificateValidation, } from './certificate.js';
|
|
@@ -45,15 +45,17 @@
|
|
|
45
45
|
* @module operations/mrt
|
|
46
46
|
*/
|
|
47
47
|
// Bundle creation
|
|
48
|
-
export { createBundle, createGlobFilter, getDefaultMessage, DEFAULT_SSR_PARAMETERS, DEFAULT_SSR_ONLY, DEFAULT_SSR_SHARED, } from './bundle.js';
|
|
48
|
+
export { createBundle, createBundleV2, createGlobFilter, getDefaultMessage, DEFAULT_SSR_PARAMETERS, DEFAULT_SSR_ONLY, DEFAULT_SSR_SHARED, DEFAULT_V2_ROOT_DIR, DEFAULT_V2_CONFIG_PATH, DEFAULT_V2_MATCH_MODE, } from './bundle.js';
|
|
49
49
|
// Push and bundle operations
|
|
50
|
-
export { pushBundle, uploadBundle, listBundles, downloadBundle, deleteBundle, bulkDeleteBundles } from './push.js';
|
|
50
|
+
export { pushBundle, uploadBundle, pushBundleV2, uploadBundleV2, listBundles, downloadBundle, deleteBundle, bulkDeleteBundles, } from './push.js';
|
|
51
51
|
// Environment variable operations
|
|
52
52
|
export { listEnvVars, setEnvVar, setEnvVars, deleteEnvVar } from './env-var.js';
|
|
53
53
|
// Environment (target) operations
|
|
54
54
|
export { cloneEnv, createEnv, deleteEnv, getEnv, waitForEnv, listEnvs, updateEnv } from './env.js';
|
|
55
55
|
// Deployment operations
|
|
56
|
-
export { listDeployments, createDeployment } from './deployment.js';
|
|
56
|
+
export { listDeployments, createDeployment, listDeploymentsScapi, createDeploymentScapi, getDeploymentScapi, waitForDeploymentScapi, listMrtDeployments, deployMrtBundle, normalizeLegacyDeployment, normalizeDeploymentScapi, } from './deployment.js';
|
|
57
|
+
// MRT backend selection and fallback
|
|
58
|
+
export { resolveMrtBackend, runMrtWithFallback, mrtScapiUnavailableMessage } from './mrt-backend.js';
|
|
57
59
|
// Organization operations
|
|
58
60
|
export { listOrganizations } from './organization.js';
|
|
59
61
|
// Certificate operations (organization-scoped, used by env clone/create with custom domains)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/operations/mrt/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,kBAAkB;AAClB,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACtB,gBAAgB,EAChB,kBAAkB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/operations/mrt/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,kBAAkB;AAClB,OAAO,EACL,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,sBAAsB,EACtB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,aAAa,CAAC;AAYrB,6BAA6B;AAC7B,OAAO,EACL,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,WAAW,EACX,cAAc,EACd,YAAY,EACZ,iBAAiB,GAClB,MAAM,WAAW,CAAC;AAiBnB,kCAAkC;AAClC,OAAO,EAAC,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAC,MAAM,cAAc,CAAC;AAU9E,kCAAkC;AAClC,OAAO,EAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAC,MAAM,UAAU,CAAC;AAiBjG,wBAAwB;AACxB,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,EAClB,eAAe,EACf,yBAAyB,EACzB,wBAAwB,GACzB,MAAM,iBAAiB,CAAC;AAkBzB,qCAAqC;AACrC,OAAO,EAAC,iBAAiB,EAAE,kBAAkB,EAAE,0BAA0B,EAAC,MAAM,kBAAkB,CAAC;AAUnG,0BAA0B;AAC1B,OAAO,EAAC,iBAAiB,EAAC,MAAM,mBAAmB,CAAC;AAQpD,6FAA6F;AAC7F,OAAO,EACL,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,4BAA4B,GAC7B,MAAM,kBAAkB,CAAC;AAY1B,iCAAiC;AACjC,OAAO,EACL,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,eAAe,EACf,eAAe,EACf,SAAS,GACV,MAAM,0BAA0B,CAAC;AAelC,qBAAqB;AACrB,OAAO,EAAC,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,aAAa,EAAC,MAAM,cAAc,CAAC;AAcnG,oBAAoB;AACpB,OAAO,EAAC,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAC,MAAM,aAAa,CAAC;AAaxG,0BAA0B;AAC1B,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAa3B,sBAAsB;AACtB,OAAO,EACL,aAAa,EACb,cAAc,EACd,WAAW,EACX,cAAc,EACd,cAAc,EACd,cAAc,GACf,MAAM,eAAe,CAAC;AAevB,mCAAmC;AACnC,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,sBAAsB,EACtB,yBAAyB,GAC1B,MAAM,qBAAqB,CAAC;AAU7B,mBAAmB;AACnB,OAAO,EAAC,eAAe,EAAC,MAAM,YAAY,CAAC;AAG3C,kBAAkB;AAClB,OAAO,EAAC,UAAU,EAAE,WAAW,EAAE,mBAAmB,EAAE,sBAAsB,EAAC,MAAM,WAAW,CAAC;AAU/F,iCAAiC;AACjC,OAAO,EAAC,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,mBAAmB,EAAC,MAAM,iBAAiB,CAAC;AAWvG,yBAAyB;AACzB,OAAO,EAAC,kBAAkB,EAAE,eAAe,EAAE,mBAAmB,EAAE,WAAW,EAAC,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MRT backend selection and legacy↔SCAPI fallback.
|
|
3
|
+
*
|
|
4
|
+
* Managed Runtime has two backends:
|
|
5
|
+
* - **legacy** — the MRT Cloud API (`cloud.mobify.com`), per-user API key.
|
|
6
|
+
* - **scapi** — the SCAPI Storefront APIs (`storefront/<api>/v1`), stateless
|
|
7
|
+
* OAuth (client-credentials or JWT Bearer) with the `sfcc.storefront.*` scopes.
|
|
8
|
+
*
|
|
9
|
+
* This module is the MRT analogue of `clients/scapi-backend-utils.ts`
|
|
10
|
+
* (`resolveScapiOrOcapi`) and `compat/dispatcher.ts`: it resolves a user
|
|
11
|
+
* preference plus config availability into a concrete backend, and runs a
|
|
12
|
+
* SCAPI branch optimistically in `auto` mode with a one-shot, safe fallback to
|
|
13
|
+
* legacy. Unlike the OCAPI dispatcher, MRT resolves once per invocation (the
|
|
14
|
+
* supported surface — list and create — is single-call, and `--wait` pins to
|
|
15
|
+
* whichever backend the create resolved to), so a plain resolve + branch is
|
|
16
|
+
* clearer than the stateful `BackendDispatcher`.
|
|
17
|
+
*
|
|
18
|
+
* @module operations/mrt/mrt-backend
|
|
19
|
+
*/
|
|
20
|
+
import type { AuthStrategy } from '../../auth/types.js';
|
|
21
|
+
/** User-facing MRT backend preference (`--mrt-backend` / `MRT_BACKEND` / `mrtBackend`). */
|
|
22
|
+
export type MrtBackendPreference = 'auto' | 'legacy' | 'scapi';
|
|
23
|
+
/** A concrete, resolved MRT backend. */
|
|
24
|
+
export type MrtBackend = 'legacy' | 'scapi';
|
|
25
|
+
/**
|
|
26
|
+
* SCAPI MRT connection bundle: everything a SCAPI MRT operation needs to build a
|
|
27
|
+
* client. The presence of one signals SCAPI eligibility to
|
|
28
|
+
* {@link resolveMrtBackend} / {@link runMrtWithFallback}.
|
|
29
|
+
*/
|
|
30
|
+
export interface ScapiMrtConnection {
|
|
31
|
+
/** SCAPI short code, e.g. `kv7kzm78`. */
|
|
32
|
+
shortCode: string;
|
|
33
|
+
/** Tenant identifier, e.g. `zzxy_prd` (the organization ID is derived from it). */
|
|
34
|
+
tenantId: string;
|
|
35
|
+
/**
|
|
36
|
+
* A SCAPI-capable OAuth strategy — client-credentials or JWT Bearer, whether
|
|
37
|
+
* configured directly or reused from a stored `b2c auth client` session.
|
|
38
|
+
*/
|
|
39
|
+
auth: AuthStrategy;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Error message for when explicit `--mrt-backend scapi` is requested but the
|
|
43
|
+
* SCAPI MRT prerequisites are missing. Names both reasons the connection can
|
|
44
|
+
* be unavailable — missing coordinates OR an auth flow SCAPI Admin does not
|
|
45
|
+
* accept. Unlike the OCAPI {@link scapiUnavailableMessage}, MRT resolves auth
|
|
46
|
+
* through the shared `getOAuthStrategy()` path, so a stored `b2c auth client`
|
|
47
|
+
* session counts as a supported flow here.
|
|
48
|
+
*/
|
|
49
|
+
export declare function mrtScapiUnavailableMessage(): string;
|
|
50
|
+
/**
|
|
51
|
+
* Resolves a preference plus SCAPI availability into a concrete backend.
|
|
52
|
+
*
|
|
53
|
+
* - `legacy` → always `legacy`.
|
|
54
|
+
* - `scapi` → `scapi`, throwing {@link mrtScapiUnavailableMessage} if the SCAPI
|
|
55
|
+
* connection is missing (fail loud; never silently use legacy).
|
|
56
|
+
* - `auto` → `scapi` when a connection is available, otherwise `legacy`.
|
|
57
|
+
*/
|
|
58
|
+
export declare function resolveMrtBackend(opts: {
|
|
59
|
+
preference: MrtBackendPreference;
|
|
60
|
+
hasScapiConfig: boolean;
|
|
61
|
+
}): MrtBackend;
|
|
62
|
+
/** One async branch per backend, run by {@link runMrtWithFallback}. */
|
|
63
|
+
export interface MrtBackendBranches<T> {
|
|
64
|
+
scapi: () => Promise<T>;
|
|
65
|
+
legacy: () => Promise<T>;
|
|
66
|
+
}
|
|
67
|
+
/** Options controlling {@link runMrtWithFallback}. */
|
|
68
|
+
export interface RunMrtWithFallbackOptions {
|
|
69
|
+
/** Resolved user preference. */
|
|
70
|
+
preference: MrtBackendPreference;
|
|
71
|
+
/** True iff a {@link ScapiMrtConnection} is available. */
|
|
72
|
+
hasScapiConfig: boolean;
|
|
73
|
+
/**
|
|
74
|
+
* Whether a legacy fallback target actually exists (i.e. legacy credentials
|
|
75
|
+
* are configured). When `auto` would otherwise fall back but this is `false`,
|
|
76
|
+
* the original SCAPI error is rethrown instead of running the legacy branch —
|
|
77
|
+
* which would throw a misleading "provide an API key" error and bury the real
|
|
78
|
+
* SCAPI failure (e.g. a missing scope) that the user needs to fix. Defaults to
|
|
79
|
+
* `true`.
|
|
80
|
+
*/
|
|
81
|
+
canFallbackToLegacy?: boolean;
|
|
82
|
+
/**
|
|
83
|
+
* Invoked once when `auto` mode falls back from SCAPI to legacy, with the
|
|
84
|
+
* SCAPI rejection reason. Use to warn the user.
|
|
85
|
+
*/
|
|
86
|
+
onFallback?: (reason: string) => void;
|
|
87
|
+
/**
|
|
88
|
+
* Invoked with the backend that will actually serve the call — before the
|
|
89
|
+
* SCAPI attempt, and again with `'legacy'` if `auto` falls back. Use for
|
|
90
|
+
* `-D`/debug output.
|
|
91
|
+
*/
|
|
92
|
+
onResolve?: (backend: MrtBackend) => void;
|
|
93
|
+
}
|
|
94
|
+
/** The backend that served a call and its result. */
|
|
95
|
+
export interface MrtBackendRun<T> {
|
|
96
|
+
/** Backend that actually produced {@link value} (post-fallback in `auto`). */
|
|
97
|
+
backend: MrtBackend;
|
|
98
|
+
value: T;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Resolves the backend and runs the matching branch.
|
|
102
|
+
*
|
|
103
|
+
* - `legacy` (explicit or `auto` with no SCAPI config): runs the legacy branch.
|
|
104
|
+
* - `scapi` (explicit): runs the SCAPI branch with **no** fallback — every
|
|
105
|
+
* error surfaces, including 409 Conflict.
|
|
106
|
+
* - `auto` with a SCAPI connection: runs SCAPI optimistically; on a
|
|
107
|
+
* {@link isFallbackTrigger safe} rejection (a definite pre-execution client
|
|
108
|
+
* error or `invalid_scope`) it warns and retries on legacy — but only when a
|
|
109
|
+
* legacy target exists ({@link RunMrtWithFallbackOptions.canFallbackToLegacy}).
|
|
110
|
+
* With no legacy credentials, the original SCAPI error is rethrown so the user
|
|
111
|
+
* sees the real failure rather than a "provide an API key" message. Ambiguous
|
|
112
|
+
* failures (429, 5xx, network) and 409 Conflict never fall back — a mutating
|
|
113
|
+
* deploy must not cross backends after the request may have reached SCAPI.
|
|
114
|
+
*
|
|
115
|
+
* @returns the backend that served the call and its result.
|
|
116
|
+
*/
|
|
117
|
+
export declare function runMrtWithFallback<T>(options: RunMrtWithFallbackOptions, branches: MrtBackendBranches<T>): Promise<MrtBackendRun<T>>;
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { isFallbackTrigger, resolvePreferredBackend, SCAPI_CAPABILITY_BASELINE_RELEASE, } from '../../clients/scapi-backend-utils.js';
|
|
2
|
+
import { getLogger } from '../../logging/logger.js';
|
|
3
|
+
/**
|
|
4
|
+
* Error message for when explicit `--mrt-backend scapi` is requested but the
|
|
5
|
+
* SCAPI MRT prerequisites are missing. Names both reasons the connection can
|
|
6
|
+
* be unavailable — missing coordinates OR an auth flow SCAPI Admin does not
|
|
7
|
+
* accept. Unlike the OCAPI {@link scapiUnavailableMessage}, MRT resolves auth
|
|
8
|
+
* through the shared `getOAuthStrategy()` path, so a stored `b2c auth client`
|
|
9
|
+
* session counts as a supported flow here.
|
|
10
|
+
*/
|
|
11
|
+
export function mrtScapiUnavailableMessage() {
|
|
12
|
+
return (`The SCAPI MRT backend requires shortCode, tenantId, and an OAuth flow SCAPI Admin accepts ` +
|
|
13
|
+
`that can request the sfcc.storefront.* scopes — client-credentials or JWT Bearer, configured ` +
|
|
14
|
+
`directly (--client-id/--client-secret or JWT) or as a stored \`b2c auth client\` session. ` +
|
|
15
|
+
`Browser user auth (Authorization Code + PKCE or the deprecated implicit flow) is not supported ` +
|
|
16
|
+
`for SCAPI Admin as of B2C Commerce release ${SCAPI_CAPABILITY_BASELINE_RELEASE}. ` +
|
|
17
|
+
`Provide --short-code and --tenant-id with a supported flow, or use --mrt-backend legacy ` +
|
|
18
|
+
`(per-user API key via --api-key / ~/.mobify).`);
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Resolves a preference plus SCAPI availability into a concrete backend.
|
|
22
|
+
*
|
|
23
|
+
* - `legacy` → always `legacy`.
|
|
24
|
+
* - `scapi` → `scapi`, throwing {@link mrtScapiUnavailableMessage} if the SCAPI
|
|
25
|
+
* connection is missing (fail loud; never silently use legacy).
|
|
26
|
+
* - `auto` → `scapi` when a connection is available, otherwise `legacy`.
|
|
27
|
+
*/
|
|
28
|
+
export function resolveMrtBackend(opts) {
|
|
29
|
+
const { preference, hasScapiConfig } = opts;
|
|
30
|
+
return resolvePreferredBackend({
|
|
31
|
+
preference,
|
|
32
|
+
primary: 'legacy',
|
|
33
|
+
hasScapiConfig,
|
|
34
|
+
unavailableMessage: mrtScapiUnavailableMessage,
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Resolves the backend and runs the matching branch.
|
|
39
|
+
*
|
|
40
|
+
* - `legacy` (explicit or `auto` with no SCAPI config): runs the legacy branch.
|
|
41
|
+
* - `scapi` (explicit): runs the SCAPI branch with **no** fallback — every
|
|
42
|
+
* error surfaces, including 409 Conflict.
|
|
43
|
+
* - `auto` with a SCAPI connection: runs SCAPI optimistically; on a
|
|
44
|
+
* {@link isFallbackTrigger safe} rejection (a definite pre-execution client
|
|
45
|
+
* error or `invalid_scope`) it warns and retries on legacy — but only when a
|
|
46
|
+
* legacy target exists ({@link RunMrtWithFallbackOptions.canFallbackToLegacy}).
|
|
47
|
+
* With no legacy credentials, the original SCAPI error is rethrown so the user
|
|
48
|
+
* sees the real failure rather than a "provide an API key" message. Ambiguous
|
|
49
|
+
* failures (429, 5xx, network) and 409 Conflict never fall back — a mutating
|
|
50
|
+
* deploy must not cross backends after the request may have reached SCAPI.
|
|
51
|
+
*
|
|
52
|
+
* @returns the backend that served the call and its result.
|
|
53
|
+
*/
|
|
54
|
+
export async function runMrtWithFallback(options, branches) {
|
|
55
|
+
const { preference, hasScapiConfig, canFallbackToLegacy = true, onFallback, onResolve } = options;
|
|
56
|
+
const backend = resolveMrtBackend({ preference, hasScapiConfig });
|
|
57
|
+
if (backend === 'legacy') {
|
|
58
|
+
onResolve?.('legacy');
|
|
59
|
+
return { backend: 'legacy', value: await branches.legacy() };
|
|
60
|
+
}
|
|
61
|
+
onResolve?.('scapi');
|
|
62
|
+
// Explicit SCAPI: no fallback, surface all errors.
|
|
63
|
+
if (preference === 'scapi') {
|
|
64
|
+
return { backend: 'scapi', value: await branches.scapi() };
|
|
65
|
+
}
|
|
66
|
+
// auto + SCAPI available: optimistic SCAPI with a one-shot safe fallback.
|
|
67
|
+
try {
|
|
68
|
+
return { backend: 'scapi', value: await branches.scapi() };
|
|
69
|
+
}
|
|
70
|
+
catch (error) {
|
|
71
|
+
// Rethrow the real SCAPI error on ambiguous/non-safe failures, or when
|
|
72
|
+
// there is no legacy target to fall back to (falling back would only
|
|
73
|
+
// surface a misleading "provide an API key" error).
|
|
74
|
+
if (!isFallbackTrigger(error) || !canFallbackToLegacy) {
|
|
75
|
+
throw error;
|
|
76
|
+
}
|
|
77
|
+
const reason = error instanceof Error ? error.message : String(error);
|
|
78
|
+
getLogger().warn({ reason }, '[MRT] SCAPI backend rejected the request; falling back to legacy MRT');
|
|
79
|
+
onFallback?.(reason);
|
|
80
|
+
onResolve?.('legacy');
|
|
81
|
+
return { backend: 'legacy', value: await branches.legacy() };
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=mrt-backend.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mrt-backend.js","sourceRoot":"","sources":["../../../../src/operations/mrt/mrt-backend.ts"],"names":[],"mappings":"AAyBA,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,iCAAiC,GAClC,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAC,SAAS,EAAC,MAAM,yBAAyB,CAAC;AAyBlD;;;;;;;GAOG;AACH,MAAM,UAAU,0BAA0B;IACxC,OAAO,CACL,4FAA4F;QAC5F,+FAA+F;QAC/F,4FAA4F;QAC5F,iGAAiG;QACjG,8CAA8C,iCAAiC,IAAI;QACnF,0FAA0F;QAC1F,+CAA+C,CAChD,CAAC;AACJ,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAiE;IACjG,MAAM,EAAC,UAAU,EAAE,cAAc,EAAC,GAAG,IAAI,CAAC;IAC1C,OAAO,uBAAuB,CAAC;QAC7B,UAAU;QACV,OAAO,EAAE,QAAQ;QACjB,cAAc;QACd,kBAAkB,EAAE,0BAA0B;KAC/C,CAAC,CAAC;AACL,CAAC;AA2CD;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,OAAkC,EAClC,QAA+B;IAE/B,MAAM,EAAC,UAAU,EAAE,cAAc,EAAE,mBAAmB,GAAG,IAAI,EAAE,UAAU,EAAE,SAAS,EAAC,GAAG,OAAO,CAAC;IAChG,MAAM,OAAO,GAAG,iBAAiB,CAAC,EAAC,UAAU,EAAE,cAAc,EAAC,CAAC,CAAC;IAEhE,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzB,SAAS,EAAE,CAAC,QAAQ,CAAC,CAAC;QACtB,OAAO,EAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC,MAAM,EAAE,EAAC,CAAC;IAC7D,CAAC;IAED,SAAS,EAAE,CAAC,OAAO,CAAC,CAAC;IAErB,mDAAmD;IACnD,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;QAC3B,OAAO,EAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC,KAAK,EAAE,EAAC,CAAC;IAC3D,CAAC;IAED,0EAA0E;IAC1E,IAAI,CAAC;QACH,OAAO,EAAC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC,KAAK,EAAE,EAAC,CAAC;IAC3D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,uEAAuE;QACvE,qEAAqE;QACrE,oDAAoD;QACpD,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACtD,MAAM,KAAK,CAAC;QACd,CAAC;QACD,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACtE,SAAS,EAAE,CAAC,IAAI,CAAC,EAAC,MAAM,EAAC,EAAE,sEAAsE,CAAC,CAAC;QACnG,UAAU,EAAE,CAAC,MAAM,CAAC,CAAC;QACrB,SAAS,EAAE,CAAC,QAAQ,CAAC,CAAC;QACtB,OAAO,EAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC,MAAM,EAAE,EAAC,CAAC;IAC7D,CAAC;AACH,CAAC"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import type { AuthStrategy } from '../../auth/types.js';
|
|
9
9
|
import type { MrtClient, components } from '../../clients/mrt.js';
|
|
10
|
-
import type { CreateBundleOptions, Bundle } from './bundle.js';
|
|
10
|
+
import type { CreateBundleOptions, Bundle, BundleV2, CreateBundleV2Options } from './bundle.js';
|
|
11
11
|
/**
|
|
12
12
|
* Options for pushing a bundle to MRT.
|
|
13
13
|
*/
|
|
@@ -99,6 +99,88 @@ export declare function pushBundle(options: PushOptions, auth: AuthStrategy): Pr
|
|
|
99
99
|
* @returns Result of the upload
|
|
100
100
|
*/
|
|
101
101
|
export declare function uploadBundle(client: MrtClient, projectSlug: string, bundle: Bundle, target?: string): Promise<PushResult>;
|
|
102
|
+
/**
|
|
103
|
+
* Options for pushing a v2-format bundle to MRT.
|
|
104
|
+
*/
|
|
105
|
+
export interface PushV2Options extends CreateBundleV2Options {
|
|
106
|
+
/**
|
|
107
|
+
* The project slug to upload to.
|
|
108
|
+
*/
|
|
109
|
+
projectSlug: string;
|
|
110
|
+
/**
|
|
111
|
+
* MRT API origin URL.
|
|
112
|
+
* @default "https://cloud.mobify.com"
|
|
113
|
+
*/
|
|
114
|
+
origin?: string;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Result of a v2 push (upload) operation.
|
|
118
|
+
*/
|
|
119
|
+
export interface PushV2Result {
|
|
120
|
+
/**
|
|
121
|
+
* The bundle ID assigned by MRT.
|
|
122
|
+
*/
|
|
123
|
+
bundleId: number;
|
|
124
|
+
/**
|
|
125
|
+
* The project slug the bundle was uploaded to.
|
|
126
|
+
*/
|
|
127
|
+
projectSlug: string;
|
|
128
|
+
/**
|
|
129
|
+
* The bundle message.
|
|
130
|
+
*/
|
|
131
|
+
message: string;
|
|
132
|
+
/**
|
|
133
|
+
* Non-blocking warnings returned by MRT (e.g. deprecated runtime).
|
|
134
|
+
*/
|
|
135
|
+
warnings: string[];
|
|
136
|
+
/**
|
|
137
|
+
* Server-computed ssrOnly/ssrShared file matches.
|
|
138
|
+
*/
|
|
139
|
+
matches: Record<string, unknown>;
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Builds a v2-format archive from a build directory and uploads it to MRT.
|
|
143
|
+
*
|
|
144
|
+
* This is upload-only: it does not deploy the bundle. Deploy separately with
|
|
145
|
+
* {@link createDeployment} (or the `b2c mrt bundle deploy <bundleId>` command).
|
|
146
|
+
*
|
|
147
|
+
* @param options - v2 push configuration options
|
|
148
|
+
* @param auth - Authentication strategy (ApiKeyStrategy)
|
|
149
|
+
* @returns Result of the upload operation
|
|
150
|
+
* @throws Error if the upload fails
|
|
151
|
+
*
|
|
152
|
+
* @example
|
|
153
|
+
* ```typescript
|
|
154
|
+
* import { ApiKeyStrategy } from '@salesforce/b2c-tooling-sdk/auth';
|
|
155
|
+
* import { pushBundleV2 } from '@salesforce/b2c-tooling-sdk/operations/mrt';
|
|
156
|
+
*
|
|
157
|
+
* const auth = new ApiKeyStrategy(process.env.MRT_API_KEY!, 'Authorization');
|
|
158
|
+
*
|
|
159
|
+
* const result = await pushBundleV2({
|
|
160
|
+
* projectSlug: 'my-storefront',
|
|
161
|
+
* ssrOnly: ['ssr.js'],
|
|
162
|
+
* ssrShared: ['static/**\/*'],
|
|
163
|
+
* buildDirectory: './build',
|
|
164
|
+
* message: 'Release v1.0.0'
|
|
165
|
+
* }, auth);
|
|
166
|
+
*
|
|
167
|
+
* console.log(`Bundle ${result.bundleId} uploaded to ${result.projectSlug}`);
|
|
168
|
+
* ```
|
|
169
|
+
*/
|
|
170
|
+
export declare function pushBundleV2(options: PushV2Options, auth: AuthStrategy): Promise<PushV2Result>;
|
|
171
|
+
/**
|
|
172
|
+
* Uploads a pre-built v2 bundle archive to MRT as multipart/form-data.
|
|
173
|
+
*
|
|
174
|
+
* Use this if you've already built a v2 bundle with {@link createBundleV2} and
|
|
175
|
+
* want to upload it separately.
|
|
176
|
+
*
|
|
177
|
+
* @param client - MRT client instance
|
|
178
|
+
* @param projectSlug - Project to upload to
|
|
179
|
+
* @param bundle - v2 bundle to upload
|
|
180
|
+
* @returns Result of the upload
|
|
181
|
+
* @throws Error if the upload fails or the response omits a bundle id
|
|
182
|
+
*/
|
|
183
|
+
export declare function uploadBundleV2(client: MrtClient, projectSlug: string, bundle: BundleV2): Promise<PushV2Result>;
|
|
102
184
|
/**
|
|
103
185
|
* Bundle list item from API.
|
|
104
186
|
*/
|