@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
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { throwOcapiError } from '../../clients/error-utils.js';
|
|
2
|
+
import { SCAPI_SITES_READ_AND_RW_SCOPES } from './sites-scopes.js';
|
|
3
|
+
function mapOcapiSite(ocapi) {
|
|
4
|
+
return {
|
|
5
|
+
id: ocapi.id ?? '',
|
|
6
|
+
displayName: ocapi.display_name?.default ?? ocapi.id ?? '',
|
|
7
|
+
storefrontStatus: ocapi.storefront_status,
|
|
8
|
+
cartridges: ocapi.cartridges,
|
|
9
|
+
_raw: ocapi,
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* OCAPI Sites backend (legacy/fallback). Reads sites and per-site detail via
|
|
14
|
+
* the OCAPI Data API `/sites` resource.
|
|
15
|
+
*/
|
|
16
|
+
export class OcapiSitesBackend {
|
|
17
|
+
instance;
|
|
18
|
+
name = 'ocapi';
|
|
19
|
+
constructor(instance) {
|
|
20
|
+
this.instance = instance;
|
|
21
|
+
}
|
|
22
|
+
async listSites(options = {}) {
|
|
23
|
+
// When the caller bounds the result (start/count), honor it as a single
|
|
24
|
+
// page. Otherwise page through the whole collection so callers that need
|
|
25
|
+
// *all* sites (export-unit discovery, CAP feature listing) don't silently
|
|
26
|
+
// truncate at the OCAPI default page size.
|
|
27
|
+
if (options.start !== undefined || options.count !== undefined) {
|
|
28
|
+
return this.fetchSitePage(options.start, options.count);
|
|
29
|
+
}
|
|
30
|
+
const all = [];
|
|
31
|
+
const pageSize = 200;
|
|
32
|
+
let start = 0;
|
|
33
|
+
for (;;) {
|
|
34
|
+
const { sites, total } = await this.fetchSitePageWithTotal(start, pageSize);
|
|
35
|
+
all.push(...sites);
|
|
36
|
+
start += pageSize;
|
|
37
|
+
if (sites.length === 0 || start >= total)
|
|
38
|
+
break;
|
|
39
|
+
}
|
|
40
|
+
return all;
|
|
41
|
+
}
|
|
42
|
+
async fetchSitePage(start, count) {
|
|
43
|
+
return (await this.fetchSitePageWithTotal(start, count)).sites;
|
|
44
|
+
}
|
|
45
|
+
async fetchSitePageWithTotal(start, count) {
|
|
46
|
+
const { data, error, response } = await this.instance.ocapi.GET('/sites', {
|
|
47
|
+
params: { query: { start, count, select: '(**)' } },
|
|
48
|
+
});
|
|
49
|
+
if (error || !data) {
|
|
50
|
+
throwOcapiError(error, response, 'Failed to list sites', SCAPI_SITES_READ_AND_RW_SCOPES);
|
|
51
|
+
}
|
|
52
|
+
const body = data;
|
|
53
|
+
const sites = (body.data ?? []).map(mapOcapiSite);
|
|
54
|
+
return { sites, total: body.total ?? (start ?? 0) + sites.length };
|
|
55
|
+
}
|
|
56
|
+
async getSite(siteId) {
|
|
57
|
+
const { data, error, response } = await this.instance.ocapi.GET('/sites/{site_id}', {
|
|
58
|
+
params: { path: { site_id: siteId } },
|
|
59
|
+
});
|
|
60
|
+
if (error || !data) {
|
|
61
|
+
throwOcapiError(error, response, `Failed to get site ${siteId}`, SCAPI_SITES_READ_AND_RW_SCOPES);
|
|
62
|
+
}
|
|
63
|
+
return mapOcapiSite(data);
|
|
64
|
+
}
|
|
65
|
+
async getCartridgePath(siteId) {
|
|
66
|
+
return (await this.getSite(siteId)).cartridges ?? '';
|
|
67
|
+
}
|
|
68
|
+
async setCartridgePath(siteId, cartridges) {
|
|
69
|
+
const { data, error, response } = await this.instance.ocapi.PUT('/sites/{site_id}/cartridges', {
|
|
70
|
+
params: { path: { site_id: siteId } },
|
|
71
|
+
body: { cartridges },
|
|
72
|
+
});
|
|
73
|
+
if (error || !data) {
|
|
74
|
+
throwOcapiError(error, response, `Failed to set cartridge path for site ${siteId}`, SCAPI_SITES_READ_AND_RW_SCOPES);
|
|
75
|
+
}
|
|
76
|
+
return data.cartridges ?? cartridges;
|
|
77
|
+
}
|
|
78
|
+
async addCartridge(siteId, name, position, target) {
|
|
79
|
+
const { data, error, response } = await this.instance.ocapi.POST('/sites/{site_id}/cartridges', {
|
|
80
|
+
params: { path: { site_id: siteId } },
|
|
81
|
+
body: { name, position, target },
|
|
82
|
+
});
|
|
83
|
+
if (error || !data) {
|
|
84
|
+
throwOcapiError(error, response, `Failed to add cartridge ${name} to site ${siteId}`, SCAPI_SITES_READ_AND_RW_SCOPES);
|
|
85
|
+
}
|
|
86
|
+
return data.cartridges ?? '';
|
|
87
|
+
}
|
|
88
|
+
async removeCartridge(siteId, name) {
|
|
89
|
+
const { data, error, response } = await this.instance.ocapi.DELETE('/sites/{site_id}/cartridges/{cartridge_name}', {
|
|
90
|
+
params: { path: { site_id: siteId, cartridge_name: name } },
|
|
91
|
+
});
|
|
92
|
+
if (error || !data) {
|
|
93
|
+
throwOcapiError(error, response, `Failed to remove cartridge ${name} from site ${siteId}`, SCAPI_SITES_READ_AND_RW_SCOPES);
|
|
94
|
+
}
|
|
95
|
+
return data.cartridges ?? '';
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
//# sourceMappingURL=ocapi-sites-backend.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ocapi-sites-backend.js","sourceRoot":"","sources":["../../../../src/operations/sites/ocapi-sites-backend.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { AuthStrategy } from '../../auth/types.js';
|
|
2
|
+
import type { SitesBackend, SiteInfo, ListSitesOptions, CartridgePosition } from './sites-types.js';
|
|
3
|
+
export interface ScapiSitesBackendConfig {
|
|
4
|
+
shortCode: string;
|
|
5
|
+
tenantId: string;
|
|
6
|
+
auth: AuthStrategy;
|
|
7
|
+
/** Unused by Sites; accepted for compatibility with the dual-backend factory. */
|
|
8
|
+
instance?: unknown;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* SCAPI Sites backend. Reads sites and manages custom cartridge paths via the
|
|
12
|
+
* `site/sites/v1` Admin API.
|
|
13
|
+
*/
|
|
14
|
+
export declare class ScapiSitesBackend implements SitesBackend {
|
|
15
|
+
readonly name: "scapi";
|
|
16
|
+
private organizationId;
|
|
17
|
+
private client;
|
|
18
|
+
constructor(config: ScapiSitesBackendConfig);
|
|
19
|
+
listSites(options?: ListSitesOptions): Promise<SiteInfo[]>;
|
|
20
|
+
/**
|
|
21
|
+
* Fetches the requested window of sites, paginating across 50-item SCAPI
|
|
22
|
+
* pages. `start` is the offset into the full result set; `count` bounds how
|
|
23
|
+
* many are returned (unbounded when omitted).
|
|
24
|
+
*/
|
|
25
|
+
private fetchSitePage;
|
|
26
|
+
/** Maps sites, fetching per-site detail (bounded concurrency) for sparse items. */
|
|
27
|
+
private enrichSites;
|
|
28
|
+
getSite(siteId: string): Promise<SiteInfo>;
|
|
29
|
+
getCartridgePath(siteId: string): Promise<string>;
|
|
30
|
+
setCartridgePath(siteId: string, cartridges: string): Promise<string>;
|
|
31
|
+
addCartridge(siteId: string, name: string, position: CartridgePosition, target?: string): Promise<string>;
|
|
32
|
+
removeCartridge(siteId: string, name: string): Promise<string>;
|
|
33
|
+
}
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
import { createScapiSitesClient, toOrganizationId, } from '../../clients/scapi-sites.js';
|
|
2
|
+
import { SCOPE_MODE_HEADER } from '../../clients/middleware.js';
|
|
3
|
+
import { createScapiRequestError } from '../../clients/scapi-backend-utils.js';
|
|
4
|
+
const READ_HEADERS = { [SCOPE_MODE_HEADER]: 'read' };
|
|
5
|
+
const WRITE_HEADERS = { [SCOPE_MODE_HEADER]: 'write' };
|
|
6
|
+
/** SCAPI `getSites` caps `limit` at 50 (spec `site-sites-v1.yaml`). */
|
|
7
|
+
const SCAPI_SITES_MAX_PAGE = 50;
|
|
8
|
+
/** Concurrency for per-site detail enrichment; bounds rate-limit pressure. */
|
|
9
|
+
const ENRICH_CONCURRENCY = 5;
|
|
10
|
+
function defaultLocaleValue(map) {
|
|
11
|
+
if (!map)
|
|
12
|
+
return undefined;
|
|
13
|
+
return map.default ?? Object.values(map)[0];
|
|
14
|
+
}
|
|
15
|
+
function mapScapiSite(scapi) {
|
|
16
|
+
return {
|
|
17
|
+
id: scapi.id,
|
|
18
|
+
displayName: defaultLocaleValue(scapi.displayName) ?? scapi.id,
|
|
19
|
+
storefrontStatus: scapi.storefrontStatus,
|
|
20
|
+
cartridges: scapi.cartridges,
|
|
21
|
+
_raw: scapi,
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* SCAPI Sites backend. Reads sites and manages custom cartridge paths via the
|
|
26
|
+
* `site/sites/v1` Admin API.
|
|
27
|
+
*/
|
|
28
|
+
export class ScapiSitesBackend {
|
|
29
|
+
name = 'scapi';
|
|
30
|
+
organizationId;
|
|
31
|
+
client;
|
|
32
|
+
constructor(config) {
|
|
33
|
+
this.organizationId = toOrganizationId(config.tenantId);
|
|
34
|
+
const clientConfig = { shortCode: config.shortCode, tenantId: config.tenantId };
|
|
35
|
+
this.client = createScapiSitesClient(clientConfig, config.auth);
|
|
36
|
+
}
|
|
37
|
+
async listSites(options = {}) {
|
|
38
|
+
// Page through `getSites` on the server (limit capped at 50) rather than
|
|
39
|
+
// relying on the default single 25-item page — otherwise instances with
|
|
40
|
+
// more than 25 sites silently lose the rest. The caller's start/count map
|
|
41
|
+
// to SCAPI offset/limit.
|
|
42
|
+
const rawSites = await this.fetchSitePage(options);
|
|
43
|
+
// `getSites` returns items that carry only the id (display name, storefront
|
|
44
|
+
// status, and cartridges live on the per-site detail endpoint). Enrich any
|
|
45
|
+
// sparse item via `getSite`, with bounded concurrency to limit rate-limit
|
|
46
|
+
// pressure. Items that already arrive rich (future-proofing if the platform
|
|
47
|
+
// starts populating list fields) are mapped directly with no extra call.
|
|
48
|
+
return this.enrichSites(rawSites);
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Fetches the requested window of sites, paginating across 50-item SCAPI
|
|
52
|
+
* pages. `start` is the offset into the full result set; `count` bounds how
|
|
53
|
+
* many are returned (unbounded when omitted).
|
|
54
|
+
*/
|
|
55
|
+
async fetchSitePage(options) {
|
|
56
|
+
const startOffset = options.start ?? 0;
|
|
57
|
+
const target = options.count; // undefined → all remaining
|
|
58
|
+
const collected = [];
|
|
59
|
+
let offset = startOffset;
|
|
60
|
+
while (true) {
|
|
61
|
+
const remaining = target === undefined ? SCAPI_SITES_MAX_PAGE : target - collected.length;
|
|
62
|
+
if (remaining <= 0)
|
|
63
|
+
break;
|
|
64
|
+
const limit = Math.min(SCAPI_SITES_MAX_PAGE, remaining);
|
|
65
|
+
const { data, error, response } = await this.client.GET('/organizations/{organizationId}/sites', {
|
|
66
|
+
params: { path: { organizationId: this.organizationId }, query: { limit, offset } },
|
|
67
|
+
headers: READ_HEADERS,
|
|
68
|
+
});
|
|
69
|
+
if (error || !data) {
|
|
70
|
+
throw createScapiRequestError(error, response, 'Failed to list sites');
|
|
71
|
+
}
|
|
72
|
+
const page = data;
|
|
73
|
+
const items = page.data ?? [];
|
|
74
|
+
collected.push(...items);
|
|
75
|
+
offset += items.length;
|
|
76
|
+
// Stop when the server has no more items, or we've reached the reported
|
|
77
|
+
// total, or the page came back short (defensive against a missing total).
|
|
78
|
+
const total = page.total ?? startOffset + collected.length;
|
|
79
|
+
if (items.length === 0 || offset >= total)
|
|
80
|
+
break;
|
|
81
|
+
}
|
|
82
|
+
return collected;
|
|
83
|
+
}
|
|
84
|
+
/** Maps sites, fetching per-site detail (bounded concurrency) for sparse items. */
|
|
85
|
+
async enrichSites(sites) {
|
|
86
|
+
const results = [];
|
|
87
|
+
for (let i = 0; i < sites.length; i += ENRICH_CONCURRENCY) {
|
|
88
|
+
const batch = sites.slice(i, i + ENRICH_CONCURRENCY);
|
|
89
|
+
const mapped = await Promise.all(batch.map((site) => {
|
|
90
|
+
// If the list item is already rich, avoid the extra detail call.
|
|
91
|
+
if (site.displayName !== undefined || site.storefrontStatus !== undefined) {
|
|
92
|
+
return Promise.resolve(mapScapiSite(site));
|
|
93
|
+
}
|
|
94
|
+
return site.id ? this.getSite(site.id) : Promise.resolve(mapScapiSite(site));
|
|
95
|
+
}));
|
|
96
|
+
results.push(...mapped);
|
|
97
|
+
}
|
|
98
|
+
return results;
|
|
99
|
+
}
|
|
100
|
+
async getSite(siteId) {
|
|
101
|
+
const { data, error, response } = await this.client.GET('/organizations/{organizationId}/sites/{siteId}', {
|
|
102
|
+
params: { path: { organizationId: this.organizationId, siteId } },
|
|
103
|
+
headers: READ_HEADERS,
|
|
104
|
+
});
|
|
105
|
+
if (error || !data) {
|
|
106
|
+
throw createScapiRequestError(error, response, `Failed to get site ${siteId}`);
|
|
107
|
+
}
|
|
108
|
+
return mapScapiSite(data);
|
|
109
|
+
}
|
|
110
|
+
async getCartridgePath(siteId) {
|
|
111
|
+
const { data, error, response } = await this.client.GET('/organizations/{organizationId}/sites/{siteId}/custom-cartridges', {
|
|
112
|
+
params: { path: { organizationId: this.organizationId, siteId } },
|
|
113
|
+
headers: READ_HEADERS,
|
|
114
|
+
});
|
|
115
|
+
if (error || !data) {
|
|
116
|
+
throw createScapiRequestError(error, response, `Failed to get cartridge path for site ${siteId}`);
|
|
117
|
+
}
|
|
118
|
+
return data.customCartridges;
|
|
119
|
+
}
|
|
120
|
+
async setCartridgePath(siteId, cartridges) {
|
|
121
|
+
const { data, error, response } = await this.client.PUT('/organizations/{organizationId}/sites/{siteId}/custom-cartridges', {
|
|
122
|
+
params: { path: { organizationId: this.organizationId, siteId } },
|
|
123
|
+
headers: WRITE_HEADERS,
|
|
124
|
+
body: { customCartridges: cartridges },
|
|
125
|
+
});
|
|
126
|
+
if (error || !data) {
|
|
127
|
+
throw createScapiRequestError(error, response, `Failed to set cartridge path for site ${siteId}`);
|
|
128
|
+
}
|
|
129
|
+
return data.customCartridges;
|
|
130
|
+
}
|
|
131
|
+
async addCartridge(siteId, name, position, target) {
|
|
132
|
+
const current = await this.getCartridgePath(siteId);
|
|
133
|
+
const cartridges = current ? current.split(':') : [];
|
|
134
|
+
if (cartridges.includes(name)) {
|
|
135
|
+
throw new Error(`Cartridge "${name}" already exists in the cartridge path for site "${siteId}"`);
|
|
136
|
+
}
|
|
137
|
+
insertCartridge(cartridges, name, position, target);
|
|
138
|
+
return this.setCartridgePath(siteId, cartridges.join(':'));
|
|
139
|
+
}
|
|
140
|
+
async removeCartridge(siteId, name) {
|
|
141
|
+
const current = await this.getCartridgePath(siteId);
|
|
142
|
+
const cartridges = current ? current.split(':') : [];
|
|
143
|
+
const index = cartridges.indexOf(name);
|
|
144
|
+
if (index < 0)
|
|
145
|
+
throw new Error(`Cartridge "${name}" not found in the cartridge path for site "${siteId}"`);
|
|
146
|
+
cartridges.splice(index, 1);
|
|
147
|
+
return this.setCartridgePath(siteId, cartridges.join(':'));
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
function insertCartridge(cartridges, name, position, target) {
|
|
151
|
+
if (position === 'first') {
|
|
152
|
+
cartridges.unshift(name);
|
|
153
|
+
return;
|
|
154
|
+
}
|
|
155
|
+
if (position === 'last') {
|
|
156
|
+
cartridges.push(name);
|
|
157
|
+
return;
|
|
158
|
+
}
|
|
159
|
+
if (!target)
|
|
160
|
+
throw new Error(`Target cartridge is required for position "${position}"`);
|
|
161
|
+
const targetIndex = cartridges.indexOf(target);
|
|
162
|
+
if (targetIndex < 0)
|
|
163
|
+
throw new Error(`Target cartridge "${target}" not found in cartridge path`);
|
|
164
|
+
cartridges.splice(position === 'before' ? targetIndex : targetIndex + 1, 0, name);
|
|
165
|
+
}
|
|
166
|
+
//# sourceMappingURL=scapi-sites-backend.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scapi-sites-backend.js","sourceRoot":"","sources":["../../../../src/operations/sites/scapi-sites-backend.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { SitesBackend } from './sites-types.js';
|
|
2
|
+
import { type DualBackendConfig } from '../../clients/dual-backend-factory.js';
|
|
3
|
+
export type SitesBackendConfig = DualBackendConfig;
|
|
4
|
+
/**
|
|
5
|
+
* Builds a Sites backend for site and cartridge-path operations. In `auto` mode
|
|
6
|
+
* (the default) it prefers SCAPI (`site/sites/v1`) and falls back to the
|
|
7
|
+
* deprecated OCAPI Data API on a safe capability/auth/request rejection.
|
|
8
|
+
*/
|
|
9
|
+
export declare function createSitesBackend(config: SitesBackendConfig): SitesBackend;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { OcapiSitesBackend } from './ocapi-sites-backend.js';
|
|
2
|
+
import { ScapiSitesBackend } from './scapi-sites-backend.js';
|
|
3
|
+
import { createDualBackend } from '../../clients/dual-backend-factory.js';
|
|
4
|
+
/**
|
|
5
|
+
* Builds a Sites backend for site and cartridge-path operations. In `auto` mode
|
|
6
|
+
* (the default) it prefers SCAPI (`site/sites/v1`) and falls back to the
|
|
7
|
+
* deprecated OCAPI Data API on a safe capability/auth/request rejection.
|
|
8
|
+
*/
|
|
9
|
+
export function createSitesBackend(config) {
|
|
10
|
+
return createDualBackend(config, {
|
|
11
|
+
domainName: 'Sites',
|
|
12
|
+
Scapi: ScapiSitesBackend,
|
|
13
|
+
Ocapi: OcapiSitesBackend,
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=sites-backend.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sites-backend.js","sourceRoot":"","sources":["../../../../src/operations/sites/sites-backend.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,iBAAiB,EAAC,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAC,iBAAiB,EAAC,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAC,iBAAiB,EAAyB,MAAM,uCAAuC,CAAC;AAIhG;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAA0B;IAC3D,OAAO,iBAAiB,CAAe,MAAM,EAAE;QAC7C,UAAU,EAAE,OAAO;QACnB,KAAK,EAAE,iBAAiB;QACxB,KAAK,EAAE,iBAAiB;KACzB,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) 2025, Salesforce, Inc.
|
|
3
|
+
* SPDX-License-Identifier: Apache-2
|
|
4
|
+
* For full license text, see the license.txt file in the repo root or http://www.apache.org/licenses/LICENSE-2.0
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* SCAPI Sites scopes named in OCAPI-deprecation error messages, derived from
|
|
8
|
+
* the canonical cascade so they can't drift. The union covers read-only and
|
|
9
|
+
* read-write operations.
|
|
10
|
+
*
|
|
11
|
+
* @module operations/sites/sites-scopes
|
|
12
|
+
*/
|
|
13
|
+
import { SCAPI_SITES_CASCADE } from '../../clients/scapi-sites.js';
|
|
14
|
+
/** Distinct sites read scopes (e.g. `['sfcc.sites.rw', 'sfcc.sites']`). */
|
|
15
|
+
export const SCAPI_SITES_READ_AND_RW_SCOPES = [...new Set(SCAPI_SITES_CASCADE.read.flat())];
|
|
16
|
+
//# sourceMappingURL=sites-scopes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sites-scopes.js","sourceRoot":"","sources":["../../../../src/operations/sites/sites-scopes.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH;;;;;;GAMG;AACH,OAAO,EAAC,mBAAmB,EAAC,MAAM,8BAA8B,CAAC;AAEjE,2EAA2E;AAC3E,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Canonical types and backend interface for site read operations.
|
|
3
|
+
*
|
|
4
|
+
* The OCAPI Data API (`/sites`) and the SCAPI Sites API (`site/sites/v1`)
|
|
5
|
+
* both expose site listing and per-site detail (including the cartridge
|
|
6
|
+
* path). We expose a single canonical shape here so command code is agnostic
|
|
7
|
+
* to which backend serves the request.
|
|
8
|
+
*
|
|
9
|
+
* SCAPI Sites v1.3 exposes dedicated custom-cartridge read/write operations;
|
|
10
|
+
* OCAPI remains as the temporary compatibility backend.
|
|
11
|
+
*
|
|
12
|
+
* @module operations/sites/sites-types
|
|
13
|
+
*/
|
|
14
|
+
import type { BackendBase } from '../../clients/scapi-backend-utils.js';
|
|
15
|
+
/**
|
|
16
|
+
* Canonical site. CamelCase fields match SCAPI; the OCAPI backend maps from
|
|
17
|
+
* snake_case. `displayName` is the default-locale display name (both APIs
|
|
18
|
+
* return a locale map; we surface the default for table output and keep the
|
|
19
|
+
* full object on `_raw`).
|
|
20
|
+
*/
|
|
21
|
+
export interface SiteInfo {
|
|
22
|
+
id: string;
|
|
23
|
+
displayName?: string;
|
|
24
|
+
storefrontStatus?: string;
|
|
25
|
+
cartridges?: string;
|
|
26
|
+
/** Original backend response, for advanced consumers. */
|
|
27
|
+
_raw?: unknown;
|
|
28
|
+
}
|
|
29
|
+
/** Options for listing sites. */
|
|
30
|
+
export interface ListSitesOptions {
|
|
31
|
+
/** Max sites to return (SCAPI `limit`; OCAPI `count`). */
|
|
32
|
+
count?: number;
|
|
33
|
+
/** Offset (SCAPI `offset`; OCAPI `start`). */
|
|
34
|
+
start?: number;
|
|
35
|
+
}
|
|
36
|
+
export type CartridgePosition = 'first' | 'last' | 'before' | 'after';
|
|
37
|
+
/**
|
|
38
|
+
* Backend contract for site read operations.
|
|
39
|
+
*
|
|
40
|
+
* Cartridge-path methods model the SCAPI v1.3 custom-cartridges resource and
|
|
41
|
+
* the equivalent OCAPI Data API resource.
|
|
42
|
+
*/
|
|
43
|
+
export interface SitesBackend extends BackendBase {
|
|
44
|
+
listSites(options?: ListSitesOptions): Promise<SiteInfo[]>;
|
|
45
|
+
getSite(siteId: string): Promise<SiteInfo>;
|
|
46
|
+
getCartridgePath(siteId: string): Promise<string>;
|
|
47
|
+
setCartridgePath(siteId: string, cartridges: string): Promise<string>;
|
|
48
|
+
addCartridge(siteId: string, name: string, position: CartridgePosition, target?: string): Promise<string>;
|
|
49
|
+
removeCartridge(siteId: string, name: string): Promise<string>;
|
|
50
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sites-types.js","sourceRoot":"","sources":["../../../../src/operations/sites/sites-types.ts"],"names":[],"mappings":""}
|
|
@@ -84,9 +84,10 @@ export declare function checkSafetyViolation(method: string, url: string, config
|
|
|
84
84
|
* as a warning and the default level is returned.
|
|
85
85
|
*
|
|
86
86
|
* @param defaultLevel - Default level if no environment variable is set or value is invalid
|
|
87
|
+
* @param environment - Environment snapshot; defaults to the process environment
|
|
87
88
|
* @returns Parsed safety level
|
|
88
89
|
*/
|
|
89
|
-
export declare function getSafetyLevel(defaultLevel?: SafetyLevel): SafetyLevel;
|
|
90
|
+
export declare function getSafetyLevel(defaultLevel?: SafetyLevel, environment?: Record<string, string | undefined>): SafetyLevel;
|
|
90
91
|
/**
|
|
91
92
|
* Get a user-friendly description of the safety level.
|
|
92
93
|
*/
|
|
@@ -110,9 +111,11 @@ export interface SafetyConfigFragment {
|
|
|
110
111
|
* ```
|
|
111
112
|
*
|
|
112
113
|
* @param configDir - oclif config directory path (e.g., `this.config.configDir`)
|
|
114
|
+
* @param environment - Environment snapshot; defaults to the process environment
|
|
115
|
+
* @param directory - Base for a relative SFCC_SAFETY_CONFIG path
|
|
113
116
|
* @returns Validated safety config fragment, or undefined if no file found
|
|
114
117
|
*/
|
|
115
|
-
export declare function loadGlobalSafetyConfig(configDir?: string): SafetyConfigFragment | undefined;
|
|
118
|
+
export declare function loadGlobalSafetyConfig(configDir?: string, environment?: Record<string, string | undefined>, directory?: string): SafetyConfigFragment | undefined;
|
|
116
119
|
/**
|
|
117
120
|
* Compute effective safety config by merging environment variables, global
|
|
118
121
|
* safety config, and per-instance config.
|
|
@@ -125,6 +128,7 @@ export declare function loadGlobalSafetyConfig(configDir?: string): SafetyConfig
|
|
|
125
128
|
*
|
|
126
129
|
* @param instanceSafety - Per-instance safety config from dw.json
|
|
127
130
|
* @param globalSafety - Global safety config from safety.json
|
|
131
|
+
* @param environment - Environment snapshot; defaults to the process environment
|
|
128
132
|
* @returns Merged SafetyConfig
|
|
129
133
|
*/
|
|
130
|
-
export declare function resolveEffectiveSafetyConfig(instanceSafety?: SafetyConfigFragment, globalSafety?: SafetyConfigFragment): SafetyConfig;
|
|
134
|
+
export declare function resolveEffectiveSafetyConfig(instanceSafety?: SafetyConfigFragment, globalSafety?: SafetyConfigFragment, environment?: Record<string, string | undefined>): SafetyConfig;
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* For full license text, see the license.txt file in the repo root or http://www.apache.org/licenses/LICENSE-2.0
|
|
5
5
|
*/
|
|
6
6
|
import { existsSync, readFileSync } from 'node:fs';
|
|
7
|
-
import { join } from 'node:path';
|
|
7
|
+
import { join, resolve } from 'node:path';
|
|
8
8
|
import { getLogger } from '../logging/logger.js';
|
|
9
9
|
import { isValidSafetyAction } from './types.js';
|
|
10
10
|
/**
|
|
@@ -132,10 +132,11 @@ export function checkSafetyViolation(method, url, config) {
|
|
|
132
132
|
* as a warning and the default level is returned.
|
|
133
133
|
*
|
|
134
134
|
* @param defaultLevel - Default level if no environment variable is set or value is invalid
|
|
135
|
+
* @param environment - Environment snapshot; defaults to the process environment
|
|
135
136
|
* @returns Parsed safety level
|
|
136
137
|
*/
|
|
137
|
-
export function getSafetyLevel(defaultLevel = 'NONE') {
|
|
138
|
-
const safetyLevelEnv =
|
|
138
|
+
export function getSafetyLevel(defaultLevel = 'NONE', environment = process.env) {
|
|
139
|
+
const safetyLevelEnv = environment['SFCC_SAFETY_LEVEL'];
|
|
139
140
|
if (safetyLevelEnv) {
|
|
140
141
|
const parsed = parseSafetyLevelString(safetyLevelEnv);
|
|
141
142
|
if (parsed)
|
|
@@ -174,13 +175,15 @@ export function describeSafetyLevel(level) {
|
|
|
174
175
|
* ```
|
|
175
176
|
*
|
|
176
177
|
* @param configDir - oclif config directory path (e.g., `this.config.configDir`)
|
|
178
|
+
* @param environment - Environment snapshot; defaults to the process environment
|
|
179
|
+
* @param directory - Base for a relative SFCC_SAFETY_CONFIG path
|
|
177
180
|
* @returns Validated safety config fragment, or undefined if no file found
|
|
178
181
|
*/
|
|
179
|
-
export function loadGlobalSafetyConfig(configDir) {
|
|
182
|
+
export function loadGlobalSafetyConfig(configDir, environment = process.env, directory = process.cwd()) {
|
|
180
183
|
const logger = getLogger();
|
|
181
184
|
// 1. Check SFCC_SAFETY_CONFIG env var
|
|
182
|
-
const envPath =
|
|
183
|
-
const filePath = envPath
|
|
185
|
+
const envPath = environment['SFCC_SAFETY_CONFIG'];
|
|
186
|
+
const filePath = envPath ? resolve(directory, envPath) : configDir ? join(configDir, 'safety.json') : undefined;
|
|
184
187
|
if (!filePath || !existsSync(filePath)) {
|
|
185
188
|
return undefined;
|
|
186
189
|
}
|
|
@@ -228,11 +231,12 @@ export function loadGlobalSafetyConfig(configDir) {
|
|
|
228
231
|
*
|
|
229
232
|
* @param instanceSafety - Per-instance safety config from dw.json
|
|
230
233
|
* @param globalSafety - Global safety config from safety.json
|
|
234
|
+
* @param environment - Environment snapshot; defaults to the process environment
|
|
231
235
|
* @returns Merged SafetyConfig
|
|
232
236
|
*/
|
|
233
|
-
export function resolveEffectiveSafetyConfig(instanceSafety, globalSafety) {
|
|
234
|
-
const envLevel = getSafetyLevel('NONE');
|
|
235
|
-
const envConfirm =
|
|
237
|
+
export function resolveEffectiveSafetyConfig(instanceSafety, globalSafety, environment = process.env) {
|
|
238
|
+
const envLevel = getSafetyLevel('NONE', environment);
|
|
239
|
+
const envConfirm = environment['SFCC_SAFETY_CONFIRM'] === 'true' || environment['SFCC_SAFETY_CONFIRM'] === '1';
|
|
236
240
|
const instanceLevel = instanceSafety?.level ?? 'NONE';
|
|
237
241
|
const globalLevel = globalSafety?.level ?? 'NONE';
|
|
238
242
|
// Merge rules: instance first, then global (first-match-wins)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"safety-middleware.js","sourceRoot":"","sources":["../../../src/safety/safety-middleware.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAC,UAAU,EAAE,YAAY,EAAC,MAAM,SAAS,CAAC;AACjD,OAAO,EAAC,IAAI,EAAC,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"safety-middleware.js","sourceRoot":"","sources":["../../../src/safety/safety-middleware.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
import fs from 'node:fs';
|
|
7
7
|
import path from 'node:path';
|
|
8
8
|
import { findCartridges } from '../operations/code/cartridges.js';
|
|
9
|
+
import { createSitesBackend } from '../operations/sites/index.js';
|
|
9
10
|
/**
|
|
10
11
|
* SCAPI/OCAPI hook extension points for basket, order, customer, auth, and product resources.
|
|
11
12
|
* Each choice includes a hook value and display label suitable for parameter selection.
|
|
@@ -136,16 +137,12 @@ export function resolveLocalSource(source, projectRoot) {
|
|
|
136
137
|
export async function resolveRemoteSource(source, instance) {
|
|
137
138
|
switch (source) {
|
|
138
139
|
case 'sites': {
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
});
|
|
142
|
-
|
|
143
|
-
throw new Error('Failed to fetch sites from B2C instance');
|
|
144
|
-
}
|
|
145
|
-
const sites = data;
|
|
146
|
-
return (sites.data ?? []).map((s) => ({
|
|
140
|
+
// SCAPI (site/sites) with OCAPI fallback; the backend surfaces the
|
|
141
|
+
// OcapiDeprecatedError itself when only a deprecated OCAPI is reachable.
|
|
142
|
+
const sites = await createSitesBackend({ instance }).listSites();
|
|
143
|
+
return sites.map((s) => ({
|
|
147
144
|
value: s.id ?? '',
|
|
148
|
-
label: s.
|
|
145
|
+
label: s.displayName || s.id || '',
|
|
149
146
|
}));
|
|
150
147
|
}
|
|
151
148
|
default: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sources.js","sourceRoot":"","sources":["../../../src/scaffold/sources.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAC,cAAc,EAAC,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"sources.js","sourceRoot":"","sources":["../../../src/scaffold/sources.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { NormalizedConfig } from '../config/types.js';
|
|
2
|
+
/** Token exports for external clients; managed SCAPI requests authenticate independently. */
|
|
3
|
+
export declare function createScapiAuth(config: NormalizedConfig, cwd?: string): (operation: string, options: unknown, signal: AbortSignal) => Promise<unknown>;
|