@salesforce/b2c-tooling-sdk 1.24.2 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/data/content-schemas/componenttype.json +0 -30
- package/data/scapi-snippets/campaign-promotions.js +40 -0
- package/data/scapi-snippets/code-version-inspect.js +31 -0
- package/data/scapi-snippets/create-product.js +108 -0
- package/data/scapi-snippets/failed-job-triage.js +37 -0
- package/data/scapi-snippets/job-execution-inspect.js +52 -0
- package/data/scapi-snippets/job-execution-review.js +46 -0
- package/data/scapi-snippets/manifest.json +220 -0
- package/data/scapi-snippets/site-cartridge-inspect.js +27 -0
- package/data/tooling/index.json +83 -119
- package/dist/esm/auth/index.d.ts +2 -2
- package/dist/esm/auth/index.js +1 -1
- package/dist/esm/auth/index.js.map +1 -1
- package/dist/esm/auth/oauth-implicit.d.ts +1 -0
- package/dist/esm/auth/oauth-implicit.js +1 -0
- package/dist/esm/auth/oauth-implicit.js.map +1 -1
- package/dist/esm/auth/oauth-jwt.d.ts +18 -4
- package/dist/esm/auth/oauth-jwt.js +67 -17
- package/dist/esm/auth/oauth-jwt.js.map +1 -1
- package/dist/esm/auth/oauth-pkce-fallback.d.ts +1 -0
- package/dist/esm/auth/oauth-pkce-fallback.js +1 -0
- package/dist/esm/auth/oauth-pkce-fallback.js.map +1 -1
- package/dist/esm/auth/oauth-pkce.d.ts +1 -0
- package/dist/esm/auth/oauth-pkce.js +1 -0
- package/dist/esm/auth/oauth-pkce.js.map +1 -1
- package/dist/esm/auth/oauth.d.ts +55 -6
- package/dist/esm/auth/oauth.js +139 -21
- package/dist/esm/auth/oauth.js.map +1 -1
- package/dist/esm/auth/resolve.d.ts +37 -0
- package/dist/esm/auth/resolve.js +48 -0
- package/dist/esm/auth/resolve.js.map +1 -1
- package/dist/esm/auth/types.d.ts +44 -0
- package/dist/esm/auth/types.js.map +1 -1
- package/dist/esm/cli/base-command.d.ts +9 -0
- package/dist/esm/cli/base-command.js +31 -0
- package/dist/esm/cli/base-command.js.map +1 -1
- package/dist/esm/cli/bm-command.d.ts +15 -0
- package/dist/esm/cli/bm-command.js +25 -0
- package/dist/esm/cli/bm-command.js.map +1 -0
- package/dist/esm/cli/code-command.d.ts +14 -0
- package/dist/esm/cli/code-command.js +22 -0
- package/dist/esm/cli/code-command.js.map +1 -0
- package/dist/esm/cli/config.js +10 -1
- package/dist/esm/cli/config.js.map +1 -1
- package/dist/esm/cli/index.d.ts +5 -1
- package/dist/esm/cli/index.js +7 -1
- package/dist/esm/cli/index.js.map +1 -1
- package/dist/esm/cli/instance-command.d.ts +45 -0
- package/dist/esm/cli/instance-command.js +66 -1
- package/dist/esm/cli/instance-command.js.map +1 -1
- package/dist/esm/cli/job-command.d.ts +37 -16
- package/dist/esm/cli/job-command.js +73 -23
- package/dist/esm/cli/job-command.js.map +1 -1
- package/dist/esm/cli/mrt-command.d.ts +154 -9
- package/dist/esm/cli/mrt-command.js +299 -16
- package/dist/esm/cli/mrt-command.js.map +1 -1
- package/dist/esm/cli/oauth-command.d.ts +1 -1
- package/dist/esm/cli/oauth-command.js +2 -0
- package/dist/esm/cli/oauth-command.js.map +1 -1
- package/dist/esm/cli/webdav-command.d.ts +2 -0
- package/dist/esm/cli/webdav-command.js +1 -0
- package/dist/esm/cli/webdav-command.js.map +1 -1
- package/dist/esm/clients/cdn-zones.js +2 -5
- package/dist/esm/clients/cdn-zones.js.map +1 -1
- package/dist/esm/clients/cip.d.ts +12 -3
- package/dist/esm/clients/cip.js +85 -30
- package/dist/esm/clients/cip.js.map +1 -1
- package/dist/esm/clients/custom-apis.js +2 -5
- package/dist/esm/clients/custom-apis.js.map +1 -1
- package/dist/esm/clients/dual-backend-factory.d.ts +70 -0
- package/dist/esm/clients/dual-backend-factory.js +48 -0
- package/dist/esm/clients/dual-backend-factory.js.map +1 -0
- package/dist/esm/clients/error-utils.d.ts +62 -0
- package/dist/esm/clients/error-utils.js +98 -0
- package/dist/esm/clients/error-utils.js.map +1 -1
- package/dist/esm/clients/granular-replications.js +2 -5
- package/dist/esm/clients/granular-replications.js.map +1 -1
- package/dist/esm/clients/index.d.ts +30 -3
- package/dist/esm/clients/index.js +25 -2
- package/dist/esm/clients/index.js.map +1 -1
- package/dist/esm/clients/metrics.js +2 -5
- package/dist/esm/clients/metrics.js.map +1 -1
- package/dist/esm/clients/middleware-registry.d.ts +4 -2
- package/dist/esm/clients/middleware-registry.js +3 -1
- package/dist/esm/clients/middleware-registry.js.map +1 -1
- package/dist/esm/clients/middleware.d.ts +39 -0
- package/dist/esm/clients/middleware.js +126 -25
- package/dist/esm/clients/middleware.js.map +1 -1
- package/dist/esm/clients/mrt-b2c.js +3 -0
- package/dist/esm/clients/mrt-b2c.js.map +1 -1
- package/dist/esm/clients/mrt.d.ts +27 -10
- package/dist/esm/clients/mrt.generated.d.ts +77 -0
- package/dist/esm/clients/mrt.js +68 -0
- package/dist/esm/clients/mrt.js.map +1 -1
- package/dist/esm/clients/preferences.js +2 -5
- package/dist/esm/clients/preferences.js.map +1 -1
- package/dist/esm/clients/scapi-backend-utils.d.ts +163 -0
- package/dist/esm/clients/scapi-backend-utils.js +180 -0
- package/dist/esm/clients/scapi-backend-utils.js.map +1 -0
- package/dist/esm/clients/scapi-catalogs.d.ts +12 -0
- package/dist/esm/clients/scapi-catalogs.generated.d.ts +104 -0
- package/dist/esm/clients/scapi-catalogs.generated.js +6 -0
- package/dist/esm/clients/scapi-catalogs.generated.js.map +1 -0
- package/dist/esm/clients/scapi-catalogs.js +14 -0
- package/dist/esm/clients/scapi-catalogs.js.map +1 -0
- package/dist/esm/clients/scapi-client-factory.d.ts +81 -0
- package/dist/esm/clients/scapi-client-factory.js +84 -0
- package/dist/esm/clients/scapi-client-factory.js.map +1 -0
- package/dist/esm/clients/scapi-fallback-backend.d.ts +34 -0
- package/dist/esm/clients/scapi-fallback-backend.js +132 -0
- package/dist/esm/clients/scapi-fallback-backend.js.map +1 -0
- package/dist/esm/clients/scapi-jobs.d.ts +32 -0
- package/dist/esm/clients/scapi-jobs.generated.d.ts +535 -0
- package/dist/esm/clients/scapi-jobs.generated.js +6 -0
- package/dist/esm/clients/scapi-jobs.generated.js.map +1 -0
- package/dist/esm/clients/scapi-jobs.js +24 -0
- package/dist/esm/clients/scapi-jobs.js.map +1 -0
- package/dist/esm/clients/scapi-merchant-roles.d.ts +19 -0
- package/dist/esm/clients/scapi-merchant-roles.generated.d.ts +726 -0
- package/dist/esm/clients/scapi-merchant-roles.generated.js +6 -0
- package/dist/esm/clients/scapi-merchant-roles.generated.js.map +1 -0
- package/dist/esm/clients/scapi-merchant-roles.js +12 -0
- package/dist/esm/clients/scapi-merchant-roles.js.map +1 -0
- package/dist/esm/clients/scapi-merchant-users.d.ts +19 -0
- package/dist/esm/clients/scapi-merchant-users.generated.d.ts +300 -0
- package/dist/esm/clients/scapi-merchant-users.generated.js +6 -0
- package/dist/esm/clients/scapi-merchant-users.generated.js.map +1 -0
- package/dist/esm/clients/scapi-merchant-users.js +12 -0
- package/dist/esm/clients/scapi-merchant-users.js.map +1 -0
- package/dist/esm/clients/scapi-schemas.js +2 -5
- package/dist/esm/clients/scapi-schemas.js.map +1 -1
- package/dist/esm/clients/scapi-scope-tier.d.ts +78 -0
- package/dist/esm/clients/scapi-scope-tier.js +113 -0
- package/dist/esm/clients/scapi-scope-tier.js.map +1 -0
- package/dist/esm/clients/scapi-scripts.d.ts +17 -0
- package/dist/esm/clients/scapi-scripts.generated.d.ts +392 -0
- package/dist/esm/clients/scapi-scripts.generated.js +6 -0
- package/dist/esm/clients/scapi-scripts.generated.js.map +1 -0
- package/dist/esm/clients/scapi-scripts.js +12 -0
- package/dist/esm/clients/scapi-scripts.js.map +1 -0
- package/dist/esm/clients/scapi-sites.d.ts +26 -0
- package/dist/esm/clients/scapi-sites.generated.d.ts +500 -0
- package/dist/esm/clients/scapi-sites.generated.js +6 -0
- package/dist/esm/clients/scapi-sites.generated.js.map +1 -0
- package/dist/esm/clients/scapi-sites.js +25 -0
- package/dist/esm/clients/scapi-sites.js.map +1 -0
- package/dist/esm/clients/slas-shopper.d.ts +19 -0
- package/dist/esm/clients/slas-shopper.generated.d.ts +165 -0
- package/dist/esm/clients/slas-shopper.generated.js +6 -0
- package/dist/esm/clients/slas-shopper.generated.js.map +1 -0
- package/dist/esm/clients/slas-shopper.js +35 -0
- package/dist/esm/clients/slas-shopper.js.map +1 -0
- package/dist/esm/clients/storefront-deployments.d.ts +57 -0
- package/dist/esm/clients/storefront-deployments.generated.d.ts +558 -0
- package/dist/esm/clients/storefront-deployments.generated.js +6 -0
- package/dist/esm/clients/storefront-deployments.generated.js.map +1 -0
- package/dist/esm/clients/storefront-deployments.js +24 -0
- package/dist/esm/clients/storefront-deployments.js.map +1 -0
- package/dist/esm/clients/storefront-environments.d.ts +56 -0
- package/dist/esm/clients/storefront-environments.generated.d.ts +208 -0
- package/dist/esm/clients/storefront-environments.generated.js +6 -0
- package/dist/esm/clients/storefront-environments.generated.js.map +1 -0
- package/dist/esm/clients/storefront-environments.js +24 -0
- package/dist/esm/clients/storefront-environments.js.map +1 -0
- package/dist/esm/clients/webdav.js +4 -1
- package/dist/esm/clients/webdav.js.map +1 -1
- package/dist/esm/compat/dispatcher.d.ts +49 -0
- package/dist/esm/compat/dispatcher.js +124 -0
- package/dist/esm/compat/dispatcher.js.map +1 -0
- package/dist/esm/compat/index.d.ts +10 -0
- package/dist/esm/compat/index.js +15 -0
- package/dist/esm/compat/index.js.map +1 -0
- package/dist/esm/compat/jobs-backend.d.ts +31 -0
- package/dist/esm/compat/jobs-backend.js +76 -0
- package/dist/esm/compat/jobs-backend.js.map +1 -0
- package/dist/esm/config/dw-json.d.ts +4 -0
- package/dist/esm/config/dw-json.js.map +1 -1
- package/dist/esm/config/index.d.ts +1 -1
- package/dist/esm/config/index.js.map +1 -1
- package/dist/esm/config/mapping.d.ts +2 -5
- package/dist/esm/config/mapping.js +25 -1
- package/dist/esm/config/mapping.js.map +1 -1
- package/dist/esm/config/resolved-config.d.ts +2 -2
- package/dist/esm/config/resolved-config.js.map +1 -1
- package/dist/esm/config/resolver.js +12 -0
- package/dist/esm/config/resolver.js.map +1 -1
- package/dist/esm/config/sources/env-source.d.ts +10 -1
- package/dist/esm/config/sources/env-source.js +46 -1
- package/dist/esm/config/sources/env-source.js.map +1 -1
- package/dist/esm/config/types.d.ts +22 -3
- package/dist/esm/docs/search.js +2 -25
- package/dist/esm/docs/search.js.map +1 -1
- package/dist/esm/guidance/catalog.d.ts +37 -0
- package/dist/esm/guidance/catalog.js +282 -0
- package/dist/esm/guidance/catalog.js.map +1 -0
- package/dist/esm/guidance/index.d.ts +8 -0
- package/dist/esm/guidance/index.js +14 -0
- package/dist/esm/guidance/index.js.map +1 -0
- package/dist/esm/guidance/markdown.d.ts +10 -0
- package/dist/esm/guidance/markdown.js +52 -0
- package/dist/esm/guidance/markdown.js.map +1 -0
- package/dist/esm/guidance/types.d.ts +96 -0
- package/dist/esm/guidance/types.js +17 -0
- package/dist/esm/guidance/types.js.map +1 -0
- package/dist/esm/index.d.ts +14 -5
- package/dist/esm/index.js +14 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/instance/index.d.ts +96 -2
- package/dist/esm/instance/index.js +98 -5
- package/dist/esm/instance/index.js.map +1 -1
- package/dist/esm/operations/bm-roles/backend.d.ts +4 -0
- package/dist/esm/operations/bm-roles/backend.js +11 -0
- package/dist/esm/operations/bm-roles/backend.js.map +1 -0
- package/dist/esm/operations/bm-roles/index.d.ts +6 -0
- package/dist/esm/operations/bm-roles/index.js +4 -0
- package/dist/esm/operations/bm-roles/index.js.map +1 -1
- package/dist/esm/operations/bm-roles/ocapi-backend.d.ts +17 -0
- package/dist/esm/operations/bm-roles/ocapi-backend.js +151 -0
- package/dist/esm/operations/bm-roles/ocapi-backend.js.map +1 -0
- package/dist/esm/operations/bm-roles/roles.js +13 -17
- package/dist/esm/operations/bm-roles/roles.js.map +1 -1
- package/dist/esm/operations/bm-roles/scapi-backend.d.ts +27 -0
- package/dist/esm/operations/bm-roles/scapi-backend.js +138 -0
- package/dist/esm/operations/bm-roles/scapi-backend.js.map +1 -0
- package/dist/esm/operations/bm-roles/types.d.ts +49 -0
- package/dist/esm/operations/bm-roles/types.js +2 -0
- package/dist/esm/operations/bm-roles/types.js.map +1 -0
- package/dist/esm/operations/bm-users/backend.d.ts +4 -0
- package/dist/esm/operations/bm-users/backend.js +11 -0
- package/dist/esm/operations/bm-users/backend.js.map +1 -0
- package/dist/esm/operations/bm-users/index.d.ts +11 -3
- package/dist/esm/operations/bm-users/index.js +9 -3
- package/dist/esm/operations/bm-users/index.js.map +1 -1
- package/dist/esm/operations/bm-users/ocapi-backend.d.ts +13 -0
- package/dist/esm/operations/bm-users/ocapi-backend.js +92 -0
- package/dist/esm/operations/bm-users/ocapi-backend.js.map +1 -0
- package/dist/esm/operations/bm-users/scapi-backend.d.ts +23 -0
- package/dist/esm/operations/bm-users/scapi-backend.js +199 -0
- package/dist/esm/operations/bm-users/scapi-backend.js.map +1 -0
- package/dist/esm/operations/bm-users/types.d.ts +99 -0
- package/dist/esm/operations/bm-users/types.js +2 -0
- package/dist/esm/operations/bm-users/types.js.map +1 -0
- package/dist/esm/operations/bm-users/users.d.ts +4 -3
- package/dist/esm/operations/bm-users/users.js +23 -19
- package/dist/esm/operations/bm-users/users.js.map +1 -1
- package/dist/esm/operations/cap/install.js +23 -45
- package/dist/esm/operations/cap/install.js.map +1 -1
- package/dist/esm/operations/cap/list.js +4 -8
- package/dist/esm/operations/cap/list.js.map +1 -1
- package/dist/esm/operations/cap/uninstall.js +17 -37
- package/dist/esm/operations/cap/uninstall.js.map +1 -1
- package/dist/esm/operations/catalogs/catalogs-backend.d.ts +4 -0
- package/dist/esm/operations/catalogs/catalogs-backend.js +16 -0
- package/dist/esm/operations/catalogs/catalogs-backend.js.map +1 -0
- package/dist/esm/operations/catalogs/catalogs-types.d.ts +14 -0
- package/dist/esm/operations/catalogs/catalogs-types.js +2 -0
- package/dist/esm/operations/catalogs/catalogs-types.js.map +1 -0
- package/dist/esm/operations/catalogs/index.d.ts +7 -0
- package/dist/esm/operations/catalogs/index.js +10 -0
- package/dist/esm/operations/catalogs/index.js.map +1 -0
- package/dist/esm/operations/catalogs/ocapi-catalogs-backend.d.ts +8 -0
- package/dist/esm/operations/catalogs/ocapi-catalogs-backend.js +36 -0
- package/dist/esm/operations/catalogs/ocapi-catalogs-backend.js.map +1 -0
- package/dist/esm/operations/catalogs/scapi-catalogs-backend.d.ts +15 -0
- package/dist/esm/operations/catalogs/scapi-catalogs-backend.js +42 -0
- package/dist/esm/operations/catalogs/scapi-catalogs-backend.js.map +1 -0
- package/dist/esm/operations/cip/index.js +10 -2
- package/dist/esm/operations/cip/index.js.map +1 -1
- package/dist/esm/operations/cip/reports.js +19 -3
- package/dist/esm/operations/cip/reports.js.map +1 -1
- package/dist/esm/operations/cip/types.d.ts +8 -4
- package/dist/esm/operations/code/deploy.d.ts +3 -0
- package/dist/esm/operations/code/deploy.js +9 -3
- package/dist/esm/operations/code/deploy.js.map +1 -1
- package/dist/esm/operations/code/download.d.ts +3 -0
- package/dist/esm/operations/code/download.js +5 -5
- package/dist/esm/operations/code/download.js.map +1 -1
- package/dist/esm/operations/code/index.d.ts +7 -1
- package/dist/esm/operations/code/index.js +5 -1
- package/dist/esm/operations/code/index.js.map +1 -1
- package/dist/esm/operations/code/ocapi-scripts-backend.d.ts +12 -0
- package/dist/esm/operations/code/ocapi-scripts-backend.js +40 -0
- package/dist/esm/operations/code/ocapi-scripts-backend.js.map +1 -0
- package/dist/esm/operations/code/scapi-scripts-backend.d.ts +22 -0
- package/dist/esm/operations/code/scapi-scripts-backend.js +94 -0
- package/dist/esm/operations/code/scapi-scripts-backend.js.map +1 -0
- package/dist/esm/operations/code/scripts-backend.d.ts +17 -0
- package/dist/esm/operations/code/scripts-backend.js +40 -0
- package/dist/esm/operations/code/scripts-backend.js.map +1 -0
- package/dist/esm/operations/code/scripts-types.d.ts +43 -0
- package/dist/esm/operations/code/scripts-types.js +2 -0
- package/dist/esm/operations/code/scripts-types.js.map +1 -0
- package/dist/esm/operations/code/upload-files.d.ts +6 -0
- package/dist/esm/operations/code/upload-files.js +58 -7
- package/dist/esm/operations/code/upload-files.js.map +1 -1
- package/dist/esm/operations/code/versions.d.ts +0 -20
- package/dist/esm/operations/code/versions.js +16 -51
- package/dist/esm/operations/code/versions.js.map +1 -1
- package/dist/esm/operations/code/watch.d.ts +3 -0
- package/dist/esm/operations/code/watch.js +3 -2
- package/dist/esm/operations/code/watch.js.map +1 -1
- package/dist/esm/operations/jobs/discover.d.ts +1 -1
- package/dist/esm/operations/jobs/discover.js +51 -21
- package/dist/esm/operations/jobs/discover.js.map +1 -1
- package/dist/esm/operations/jobs/index.d.ts +14 -57
- package/dist/esm/operations/jobs/index.js +15 -59
- package/dist/esm/operations/jobs/index.js.map +1 -1
- package/dist/esm/operations/jobs/ocapi-mapping.d.ts +34 -0
- package/dist/esm/operations/jobs/ocapi-mapping.js +100 -0
- package/dist/esm/operations/jobs/ocapi-mapping.js.map +1 -0
- package/dist/esm/operations/jobs/run-system-job.d.ts +81 -0
- package/dist/esm/operations/jobs/run-system-job.js +137 -0
- package/dist/esm/operations/jobs/run-system-job.js.map +1 -0
- package/dist/esm/operations/jobs/run.js +16 -4
- package/dist/esm/operations/jobs/run.js.map +1 -1
- package/dist/esm/operations/jobs/scapi-ops.d.ts +61 -0
- package/dist/esm/operations/jobs/scapi-ops.js +214 -0
- package/dist/esm/operations/jobs/scapi-ops.js.map +1 -0
- package/dist/esm/operations/jobs/site-archive.d.ts +7 -0
- package/dist/esm/operations/jobs/site-archive.js +28 -66
- package/dist/esm/operations/jobs/site-archive.js.map +1 -1
- package/dist/esm/operations/jobs/types.d.ts +46 -0
- package/dist/esm/operations/jobs/types.js +2 -0
- package/dist/esm/operations/jobs/types.js.map +1 -0
- package/dist/esm/operations/jobs/wait-canonical.d.ts +28 -0
- package/dist/esm/operations/jobs/wait-canonical.js +48 -0
- package/dist/esm/operations/jobs/wait-canonical.js.map +1 -0
- package/dist/esm/operations/mrt/bundle.d.ts +164 -2
- package/dist/esm/operations/mrt/bundle.js +315 -9
- package/dist/esm/operations/mrt/bundle.js.map +1 -1
- package/dist/esm/operations/mrt/deployment.d.ts +248 -0
- package/dist/esm/operations/mrt/deployment.js +252 -0
- package/dist/esm/operations/mrt/deployment.js.map +1 -1
- package/dist/esm/operations/mrt/env-var.d.ts +135 -0
- package/dist/esm/operations/mrt/env-var.js +203 -0
- package/dist/esm/operations/mrt/env-var.js.map +1 -1
- package/dist/esm/operations/mrt/index.d.ts +10 -8
- package/dist/esm/operations/mrt/index.js +6 -4
- package/dist/esm/operations/mrt/index.js.map +1 -1
- package/dist/esm/operations/mrt/mrt-backend.d.ts +117 -0
- package/dist/esm/operations/mrt/mrt-backend.js +84 -0
- package/dist/esm/operations/mrt/mrt-backend.js.map +1 -0
- package/dist/esm/operations/mrt/push.d.ts +285 -1
- package/dist/esm/operations/mrt/push.js +382 -1
- package/dist/esm/operations/mrt/push.js.map +1 -1
- package/dist/esm/operations/sites/cartridges.d.ts +10 -8
- package/dist/esm/operations/sites/cartridges.js +35 -67
- package/dist/esm/operations/sites/cartridges.js.map +1 -1
- package/dist/esm/operations/sites/index.d.ts +10 -6
- package/dist/esm/operations/sites/index.js +9 -6
- package/dist/esm/operations/sites/index.js.map +1 -1
- package/dist/esm/operations/sites/ocapi-sites-backend.d.ts +20 -0
- package/dist/esm/operations/sites/ocapi-sites-backend.js +98 -0
- package/dist/esm/operations/sites/ocapi-sites-backend.js.map +1 -0
- package/dist/esm/operations/sites/scapi-sites-backend.d.ts +33 -0
- package/dist/esm/operations/sites/scapi-sites-backend.js +166 -0
- package/dist/esm/operations/sites/scapi-sites-backend.js.map +1 -0
- package/dist/esm/operations/sites/sites-backend.d.ts +9 -0
- package/dist/esm/operations/sites/sites-backend.js +16 -0
- package/dist/esm/operations/sites/sites-backend.js.map +1 -0
- package/dist/esm/operations/sites/sites-scopes.d.ts +2 -0
- package/dist/esm/operations/sites/sites-scopes.js +16 -0
- package/dist/esm/operations/sites/sites-scopes.js.map +1 -0
- package/dist/esm/operations/sites/sites-types.d.ts +50 -0
- package/dist/esm/operations/sites/sites-types.js +2 -0
- package/dist/esm/operations/sites/sites-types.js.map +1 -0
- package/dist/esm/safety/safety-guard.d.ts +1 -0
- package/dist/esm/safety/safety-guard.js +2 -1
- package/dist/esm/safety/safety-guard.js.map +1 -1
- package/dist/esm/safety/safety-middleware.d.ts +7 -3
- package/dist/esm/safety/safety-middleware.js +13 -9
- package/dist/esm/safety/safety-middleware.js.map +1 -1
- package/dist/esm/safety/types.d.ts +2 -2
- package/dist/esm/scaffold/sources.js +6 -9
- package/dist/esm/scaffold/sources.js.map +1 -1
- package/dist/esm/scapi/auth-primitives.d.ts +3 -0
- package/dist/esm/scapi/auth-primitives.js +104 -0
- package/dist/esm/scapi/auth-primitives.js.map +1 -0
- package/dist/esm/scapi/authentication.d.ts +30 -0
- package/dist/esm/scapi/authentication.js +136 -0
- package/dist/esm/scapi/authentication.js.map +1 -0
- package/dist/esm/scapi/catalog.d.ts +29 -0
- package/dist/esm/scapi/catalog.js +81 -0
- package/dist/esm/scapi/catalog.js.map +1 -0
- package/dist/esm/scapi/index.d.ts +12 -0
- package/dist/esm/scapi/index.js +13 -0
- package/dist/esm/scapi/index.js.map +1 -0
- package/dist/esm/scapi/request.d.ts +28 -0
- package/dist/esm/scapi/request.js +273 -0
- package/dist/esm/scapi/request.js.map +1 -0
- package/dist/esm/scapi/runtime.d.ts +27 -0
- package/dist/esm/scapi/runtime.js +161 -0
- package/dist/esm/scapi/runtime.js.map +1 -0
- package/dist/esm/scapi/snippets.d.ts +22 -0
- package/dist/esm/scapi/snippets.js +140 -0
- package/dist/esm/scapi/snippets.js.map +1 -0
- package/dist/esm/scapi/worker-source.d.ts +2 -0
- package/dist/esm/scapi/worker-source.js +101 -0
- package/dist/esm/scapi/worker-source.js.map +1 -0
- package/dist/esm/search/ranking.d.ts +12 -0
- package/dist/esm/search/ranking.js +28 -0
- package/dist/esm/search/ranking.js.map +1 -0
- package/dist/esm/skills/sources.d.ts +2 -2
- package/dist/esm/skills/sources.js +18 -2
- package/dist/esm/skills/sources.js.map +1 -1
- package/dist/esm/skills/types.d.ts +1 -1
- package/dist/esm/slas/token.js +33 -94
- package/dist/esm/slas/token.js.map +1 -1
- package/dist/esm/slas/types.d.ts +5 -0
- package/dist/esm/test-utils/config-isolation.js +2 -2
- package/dist/esm/test-utils/config-isolation.js.map +1 -1
- package/node_modules/@salesforce/b2c-api-schemas/README.md +23 -0
- package/node_modules/@salesforce/b2c-api-schemas/manifest.json +576 -0
- package/node_modules/@salesforce/b2c-api-schemas/package.json +15 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/cdn/zones/v1.json +11490 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/checkout/orders/v1.json +3589 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/checkout/shopper-baskets/v1.json +6544 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/checkout/shopper-baskets/v2.json +7148 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/checkout/shopper-orders/v1.json +4411 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/checkout/shopper-payments/v1.json +643 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/configuration/cors/v1.json +295 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/configuration/preferences/v1.json +2036 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/configuration/shopper-configurations/v1.json +327 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/configuration/timeouts/v1.json +234 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/custom-object/custom-objects/v1.json +1542 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/custom-object/shopper-custom-objects/v1.json +405 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/customer/customers/v1.json +2531 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/customer/shopper-customers/v1.json +7944 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/dx/custom-apis/v1.json +292 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/dx/object-definitions/v1.json +2537 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/dx/scapi-schemas/v1.json +517 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/dx/scripts/v1.json +589 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/experience/experiences/v1.json +3600 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/experience/shopper-experience/v1.json +2319 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/intelligence/analytics/v1.json +658 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/inventory/availability/v1.json +2649 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/inventory/impex/v1.json +6615 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/inventory/reservation/v1.json +2103 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/merchant/roles/v1.json +1760 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/merchant/users/v1.json +640 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/observability/metrics/v1.json +1263 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/operation/jobs/v1.json +1259 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/operation/replications/v1.json +760 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/assignments/v1.json +1047 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/campaigns/v1.json +1929 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/coupons/v1.json +1542 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/gift-certificates/v1.json +1093 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/promotions/v1.json +1324 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/shopper-gift-certificates/v1.json +325 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/shopper-promotions/v1.json +631 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/pricing/source-code-groups/v1.json +1036 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/product/catalogs/v1.json +5175 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/product/inventory-lists/v1.json +866 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/product/price-books/v1.json +747 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/product/products/v1.json +5076 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/product/shopper-availability/v1.json +509 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/product/shopper-delivery-estimates/v1.json +517 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/product/shopper-products/v1.json +2961 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/search/shopper-search/v1.json +1889 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/auth/v1.json +7014 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/auth-admin/v1.json +1898 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/consents/v1.json +622 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/shopper-agents/v1.json +192 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/shopper-consents/v1.json +913 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/shopper/shopper-context/v1.json +630 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/site/seo/v1.json +223 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/site/shopper-seo/v1.json +423 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/site/sites/v1.json +1088 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/store/shopper-stores/v1.json +798 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/store/store-redirect-mappings/v1.json +607 -0
- package/node_modules/@salesforce/b2c-api-schemas/scapi/store/stores/v1.json +1418 -0
- package/package.json +24 -3
- package/specs/dx-scripts-v1.yaml +409 -0
- package/specs/merchant-roles-v1.yaml +1085 -0
- package/specs/merchant-users-v1.yaml +398 -0
- package/specs/mrt-api-v1.json +105 -0
- package/specs/operations-jobs-v1.yaml +793 -0
- package/specs/product-catalogs-v1.yaml +111 -0
- package/specs/site-sites-v1.yaml +667 -0
- package/specs/slas-shopper-v1.yaml +83 -0
- package/specs/storefront-deployments-v1.yaml +630 -0
- package/specs/storefront-environments-v1.yaml +272 -0
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import path from 'node:path';
|
|
7
7
|
import fs from 'node:fs';
|
|
8
|
+
import { randomUUID } from 'node:crypto';
|
|
8
9
|
import JSZip from 'jszip';
|
|
9
10
|
import { getLogger } from '../../logging/logger.js';
|
|
10
11
|
const UNZIP_BODY = new URLSearchParams({ method: 'UNZIP' }).toString();
|
|
@@ -16,12 +17,15 @@ const UNZIP_BODY = new URLSearchParams({ method: 'UNZIP' }).toString();
|
|
|
16
17
|
* @returns The file change with src and dest, or undefined if the path is not inside any cartridge
|
|
17
18
|
*/
|
|
18
19
|
export function fileToCartridgePath(absolutePath, cartridges) {
|
|
19
|
-
const cartridge = cartridges.find((c) =>
|
|
20
|
+
const cartridge = cartridges.find((c) => {
|
|
21
|
+
const relative = path.relative(c.src, absolutePath);
|
|
22
|
+
return relative !== '' && relative !== '..' && !relative.startsWith(`..${path.sep}`) && !path.isAbsolute(relative);
|
|
23
|
+
});
|
|
20
24
|
if (!cartridge) {
|
|
21
25
|
return undefined;
|
|
22
26
|
}
|
|
23
|
-
const relativePath =
|
|
24
|
-
const destPath = path.join(cartridge.dest, relativePath);
|
|
27
|
+
const relativePath = path.relative(cartridge.src, absolutePath);
|
|
28
|
+
const destPath = path.join(cartridge.dest, relativePath).split(path.sep).join('/');
|
|
25
29
|
return {
|
|
26
30
|
src: absolutePath,
|
|
27
31
|
dest: destPath,
|
|
@@ -50,21 +54,55 @@ export async function uploadFiles(instance, codeVersion, uploads, deletes, optio
|
|
|
50
54
|
const webdavLocation = `Cartridges/${codeVersion}`;
|
|
51
55
|
const validUploadFiles = uploads.filter((f) => {
|
|
52
56
|
if (!fs.existsSync(f.src)) {
|
|
57
|
+
if (options?.strict)
|
|
58
|
+
throw new Error(`Upload source does not exist: ${f.src}`);
|
|
53
59
|
logger.debug({ file: f.src }, 'Skipping missing file');
|
|
54
60
|
return false;
|
|
55
61
|
}
|
|
56
62
|
return true;
|
|
57
63
|
});
|
|
58
64
|
if (validUploadFiles.length > 0) {
|
|
59
|
-
const uploadPath = `${webdavLocation}/_upload-${
|
|
65
|
+
const uploadPath = `${webdavLocation}/_upload-${randomUUID()}.zip`;
|
|
66
|
+
let stage = 'preparing';
|
|
60
67
|
try {
|
|
61
68
|
const zip = new JSZip();
|
|
69
|
+
let totalBytes = 0;
|
|
62
70
|
for (const f of validUploadFiles) {
|
|
63
71
|
try {
|
|
64
|
-
|
|
72
|
+
let content;
|
|
73
|
+
if (options?.maxBytes !== undefined) {
|
|
74
|
+
const handle = await fs.promises.open(f.src, 'r');
|
|
75
|
+
try {
|
|
76
|
+
const stat = await handle.stat();
|
|
77
|
+
const remaining = options.maxBytes - totalBytes;
|
|
78
|
+
if (!stat.isFile() || stat.size > remaining)
|
|
79
|
+
throw new Error('Upload exceeds the file/byte limit.');
|
|
80
|
+
// A bounded read detects growth after stat without allocating an unbounded file.
|
|
81
|
+
const buffer = Buffer.alloc(stat.size + 1);
|
|
82
|
+
let length = 0;
|
|
83
|
+
while (length < buffer.length) {
|
|
84
|
+
const { bytesRead } = await handle.read(buffer, length, buffer.length - length);
|
|
85
|
+
if (!bytesRead)
|
|
86
|
+
break;
|
|
87
|
+
length += bytesRead;
|
|
88
|
+
}
|
|
89
|
+
if (length !== stat.size)
|
|
90
|
+
throw new Error(`Upload source changed while reading: ${f.src}`);
|
|
91
|
+
content = buffer.subarray(0, length);
|
|
92
|
+
}
|
|
93
|
+
finally {
|
|
94
|
+
await handle.close();
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
content = await fs.promises.readFile(f.src);
|
|
99
|
+
}
|
|
100
|
+
totalBytes += content.length;
|
|
65
101
|
zip.file(f.dest, content);
|
|
66
102
|
}
|
|
67
103
|
catch (error) {
|
|
104
|
+
if (options?.strict)
|
|
105
|
+
throw error;
|
|
68
106
|
logger.warn({ file: f.src, error }, 'Failed to add file to archive');
|
|
69
107
|
}
|
|
70
108
|
}
|
|
@@ -73,8 +111,10 @@ export async function uploadFiles(instance, codeVersion, uploads, deletes, optio
|
|
|
73
111
|
compression: 'DEFLATE',
|
|
74
112
|
compressionOptions: { level: 5 },
|
|
75
113
|
});
|
|
114
|
+
stage = 'uploading';
|
|
76
115
|
await webdav.put(uploadPath, buffer, 'application/zip');
|
|
77
116
|
logger.debug({ uploadPath }, 'Archive uploaded');
|
|
117
|
+
stage = 'extracting';
|
|
78
118
|
const response = await webdav.request(uploadPath, {
|
|
79
119
|
method: 'POST',
|
|
80
120
|
body: UNZIP_BODY,
|
|
@@ -85,12 +125,23 @@ export async function uploadFiles(instance, codeVersion, uploads, deletes, optio
|
|
|
85
125
|
if (!response.ok) {
|
|
86
126
|
throw new Error(`Unzip failed: ${response.status}`);
|
|
87
127
|
}
|
|
88
|
-
|
|
128
|
+
stage = 'cleaning';
|
|
129
|
+
try {
|
|
130
|
+
await webdav.delete(uploadPath);
|
|
131
|
+
}
|
|
132
|
+
catch (error) {
|
|
133
|
+
if (!options?.onWarning)
|
|
134
|
+
throw error;
|
|
135
|
+
options.onWarning(`Files uploaded, but temporary archive cleanup failed at ${uploadPath}: ${String(error)}`);
|
|
136
|
+
}
|
|
89
137
|
logger.debug({ fileCount: validUploadFiles.length, server: instance.config.hostname }, `Uploaded ${validUploadFiles.length} file(s)`);
|
|
90
138
|
options?.onUpload?.(validUploadFiles.map((f) => f.dest));
|
|
91
139
|
}
|
|
92
140
|
catch (error) {
|
|
93
|
-
const
|
|
141
|
+
const original = error instanceof Error ? error : new Error(String(error));
|
|
142
|
+
const err = options?.strict && stage !== 'preparing'
|
|
143
|
+
? new Error(`Failed while ${stage} ${uploadPath}: ${original.message}. Remote files may have changed; inspect before retrying.`, { cause: original })
|
|
144
|
+
: original;
|
|
94
145
|
logger.error({ error: err }, `Upload error: ${err.message}`);
|
|
95
146
|
options?.onError?.(err);
|
|
96
147
|
throw err;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"upload-files.js","sourceRoot":"","sources":["../../../../src/operations/code/upload-files.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAC,SAAS,EAAC,MAAM,yBAAyB,CAAC;AAGlD,MAAM,UAAU,GAAG,IAAI,eAAe,CAAC,EAAC,MAAM,EAAE,OAAO,EAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"upload-files.js","sourceRoot":"","sources":["../../../../src/operations/code/upload-files.ts"],"names":[],"mappings":"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"}
|
|
@@ -57,26 +57,6 @@ export declare function getActiveCodeVersion(instance: B2CInstance): Promise<Cod
|
|
|
57
57
|
* ```
|
|
58
58
|
*/
|
|
59
59
|
export declare function activateCodeVersion(instance: B2CInstance, codeVersionId: string): Promise<CodeVersionActivationResult>;
|
|
60
|
-
/**
|
|
61
|
-
* Reloads (re-activates) the current code version.
|
|
62
|
-
*
|
|
63
|
-
* This performs a "toggle" activation - first activating a different code version,
|
|
64
|
-
* then re-activating the target version. This forces the instance to reload the code.
|
|
65
|
-
*
|
|
66
|
-
* @param instance - B2C instance
|
|
67
|
-
* @param codeVersionId - Code version to reload (defaults to current active)
|
|
68
|
-
* @throws Error if reload fails or no alternate version is available
|
|
69
|
-
*
|
|
70
|
-
* @example
|
|
71
|
-
* ```typescript
|
|
72
|
-
* // Reload the currently active code version
|
|
73
|
-
* await reloadCodeVersion(instance);
|
|
74
|
-
*
|
|
75
|
-
* // Reload a specific code version
|
|
76
|
-
* await reloadCodeVersion(instance, 'v1');
|
|
77
|
-
* ```
|
|
78
|
-
*/
|
|
79
|
-
export declare function reloadCodeVersion(instance: B2CInstance, codeVersionId?: string): Promise<void>;
|
|
80
60
|
/**
|
|
81
61
|
* Deletes a code version from an instance.
|
|
82
62
|
*
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {} from '../../clients/index.js';
|
|
2
|
+
import { throwOcapiError } from '../../clients/error-utils.js';
|
|
3
|
+
import { SCAPI_SCRIPTS_READ_SCOPES, SCAPI_SCRIPTS_RW_SCOPES } from '../../clients/scapi-scripts.js';
|
|
2
4
|
import { getLogger } from '../../logging/logger.js';
|
|
3
5
|
function isAlreadyActiveFault(error, status, codeVersionId) {
|
|
4
6
|
if (status !== 400 || !error || typeof error !== 'object')
|
|
@@ -27,9 +29,12 @@ function isAlreadyActiveFault(error, status, codeVersionId) {
|
|
|
27
29
|
* ```
|
|
28
30
|
*/
|
|
29
31
|
export async function listCodeVersions(instance) {
|
|
30
|
-
const { data, error } = await instance.ocapi.GET('/code_versions', {});
|
|
32
|
+
const { data, error, response } = await instance.ocapi.GET('/code_versions', {});
|
|
31
33
|
if (error) {
|
|
32
|
-
|
|
34
|
+
throwOcapiError(error, response, 'Failed to list code versions', [
|
|
35
|
+
...SCAPI_SCRIPTS_READ_SCOPES,
|
|
36
|
+
...SCAPI_SCRIPTS_RW_SCOPES,
|
|
37
|
+
]);
|
|
33
38
|
}
|
|
34
39
|
return data.data ?? [];
|
|
35
40
|
}
|
|
@@ -75,58 +80,18 @@ export async function activateCodeVersion(instance, codeVersionId) {
|
|
|
75
80
|
body: { active: true },
|
|
76
81
|
});
|
|
77
82
|
if (error) {
|
|
83
|
+
// Activating the current active version is an idempotent success.
|
|
78
84
|
if (isAlreadyActiveFault(error, response.status, codeVersionId)) {
|
|
79
85
|
logger.debug({ codeVersionId }, `Code version ${codeVersionId} is already active`);
|
|
80
86
|
return { alreadyActive: true };
|
|
81
87
|
}
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
});
|
|
88
|
+
// Deprecation-aware: names the SCAPI scope on OCAPI-disabled instances,
|
|
89
|
+
// otherwise throws a rich message via getApiErrorMessage.
|
|
90
|
+
throwOcapiError(error, response, `Could not activate code version "${codeVersionId}"`, SCAPI_SCRIPTS_RW_SCOPES);
|
|
85
91
|
}
|
|
86
92
|
logger.debug({ codeVersionId }, `Code version ${codeVersionId} activated`);
|
|
87
93
|
return { alreadyActive: false };
|
|
88
94
|
}
|
|
89
|
-
/**
|
|
90
|
-
* Reloads (re-activates) the current code version.
|
|
91
|
-
*
|
|
92
|
-
* This performs a "toggle" activation - first activating a different code version,
|
|
93
|
-
* then re-activating the target version. This forces the instance to reload the code.
|
|
94
|
-
*
|
|
95
|
-
* @param instance - B2C instance
|
|
96
|
-
* @param codeVersionId - Code version to reload (defaults to current active)
|
|
97
|
-
* @throws Error if reload fails or no alternate version is available
|
|
98
|
-
*
|
|
99
|
-
* @example
|
|
100
|
-
* ```typescript
|
|
101
|
-
* // Reload the currently active code version
|
|
102
|
-
* await reloadCodeVersion(instance);
|
|
103
|
-
*
|
|
104
|
-
* // Reload a specific code version
|
|
105
|
-
* await reloadCodeVersion(instance, 'v1');
|
|
106
|
-
* ```
|
|
107
|
-
*/
|
|
108
|
-
export async function reloadCodeVersion(instance, codeVersionId) {
|
|
109
|
-
const logger = getLogger();
|
|
110
|
-
const versions = await listCodeVersions(instance);
|
|
111
|
-
const activeVersion = versions.find((v) => v.active);
|
|
112
|
-
const targetVersion = codeVersionId ?? activeVersion?.id;
|
|
113
|
-
if (!targetVersion) {
|
|
114
|
-
throw new Error('No code version specified and no active version found');
|
|
115
|
-
}
|
|
116
|
-
logger.debug({ codeVersionId: targetVersion }, `Reloading code version ${targetVersion}`);
|
|
117
|
-
// If the target is already active, we need to toggle to another version first
|
|
118
|
-
if (activeVersion?.id === targetVersion) {
|
|
119
|
-
const alternateVersion = versions.find((v) => v.id !== targetVersion);
|
|
120
|
-
if (!alternateVersion) {
|
|
121
|
-
throw new Error('Cannot reload: no alternate code version available for toggle');
|
|
122
|
-
}
|
|
123
|
-
logger.debug({ codeVersionId: alternateVersion.id }, `Temporarily activating ${alternateVersion.id}`);
|
|
124
|
-
await activateCodeVersion(instance, alternateVersion.id);
|
|
125
|
-
}
|
|
126
|
-
// Now activate the target version
|
|
127
|
-
await activateCodeVersion(instance, targetVersion);
|
|
128
|
-
logger.debug({ codeVersionId: targetVersion }, `Code version ${targetVersion} reloaded`);
|
|
129
|
-
}
|
|
130
95
|
/**
|
|
131
96
|
* Deletes a code version from an instance.
|
|
132
97
|
*
|
|
@@ -144,11 +109,11 @@ export async function reloadCodeVersion(instance, codeVersionId) {
|
|
|
144
109
|
export async function deleteCodeVersion(instance, codeVersionId) {
|
|
145
110
|
const logger = getLogger();
|
|
146
111
|
logger.debug({ codeVersionId }, `Deleting code version ${codeVersionId}`);
|
|
147
|
-
const { error } = await instance.ocapi.DELETE('/code_versions/{code_version_id}', {
|
|
112
|
+
const { error, response } = await instance.ocapi.DELETE('/code_versions/{code_version_id}', {
|
|
148
113
|
params: { path: { code_version_id: codeVersionId } },
|
|
149
114
|
});
|
|
150
115
|
if (error) {
|
|
151
|
-
|
|
116
|
+
throwOcapiError(error, response, 'Failed to delete code version', SCAPI_SCRIPTS_RW_SCOPES);
|
|
152
117
|
}
|
|
153
118
|
logger.debug({ codeVersionId }, `Code version ${codeVersionId} deleted`);
|
|
154
119
|
}
|
|
@@ -169,11 +134,11 @@ export async function deleteCodeVersion(instance, codeVersionId) {
|
|
|
169
134
|
export async function createCodeVersion(instance, codeVersionId) {
|
|
170
135
|
const logger = getLogger();
|
|
171
136
|
logger.debug({ codeVersionId }, `Creating code version ${codeVersionId}`);
|
|
172
|
-
const { error } = await instance.ocapi.PUT('/code_versions/{code_version_id}', {
|
|
137
|
+
const { error, response } = await instance.ocapi.PUT('/code_versions/{code_version_id}', {
|
|
173
138
|
params: { path: { code_version_id: codeVersionId } },
|
|
174
139
|
});
|
|
175
140
|
if (error) {
|
|
176
|
-
|
|
141
|
+
throwOcapiError(error, response, 'Failed to create code version', SCAPI_SCRIPTS_RW_SCOPES);
|
|
177
142
|
}
|
|
178
143
|
logger.debug({ codeVersionId }, `Code version ${codeVersionId} created`);
|
|
179
144
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"versions.js","sourceRoot":"","sources":["../../../../src/operations/code/versions.ts"],"names":[],"mappings":"AAMA,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"versions.js","sourceRoot":"","sources":["../../../../src/operations/code/versions.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import { type FSWatcher } from 'chokidar';
|
|
2
2
|
import type { B2CInstance } from '../../instance/index.js';
|
|
3
3
|
import { type CartridgeMapping, type FindCartridgesOptions } from './cartridges.js';
|
|
4
|
+
import type { ScriptsBackend } from './scripts-types.js';
|
|
4
5
|
/**
|
|
5
6
|
* Options for watching cartridges.
|
|
6
7
|
*/
|
|
7
8
|
export interface WatchOptions extends FindCartridgesOptions {
|
|
9
|
+
/** Explicit code-version backend. Defaults to OCAPI for SDK compatibility. */
|
|
10
|
+
scriptsBackend?: ScriptsBackend;
|
|
8
11
|
/** Debounce time in ms for batching file changes */
|
|
9
12
|
debounceTime?: number;
|
|
10
13
|
/** Callback when files are uploaded */
|
|
@@ -8,7 +8,7 @@ import { watch } from 'chokidar';
|
|
|
8
8
|
import { getLogger } from '../../logging/logger.js';
|
|
9
9
|
import { findCartridges } from './cartridges.js';
|
|
10
10
|
import { fileToCartridgePath, uploadFiles } from './upload-files.js';
|
|
11
|
-
import {
|
|
11
|
+
import { OcapiScriptsBackend } from './ocapi-scripts-backend.js';
|
|
12
12
|
/** Default debounce time in ms for batching file uploads */
|
|
13
13
|
const DEFAULT_DEBOUNCE_TIME = parseInt(process.env.SFCC_UPLOAD_DEBOUNCE_TIME ?? '100', 10);
|
|
14
14
|
/**
|
|
@@ -58,10 +58,11 @@ export async function watchCartridges(instance, directory, options = {}) {
|
|
|
58
58
|
const logger = getLogger();
|
|
59
59
|
let codeVersion = instance.config.codeVersion;
|
|
60
60
|
const debounceTime = options.debounceTime ?? DEFAULT_DEBOUNCE_TIME;
|
|
61
|
+
const scriptsBackend = options.scriptsBackend ?? new OcapiScriptsBackend(instance);
|
|
61
62
|
// If no code version specified, get the active one
|
|
62
63
|
if (!codeVersion) {
|
|
63
64
|
logger.debug('No code version specified, getting active version...');
|
|
64
|
-
const active = await getActiveCodeVersion(
|
|
65
|
+
const active = await scriptsBackend.getActiveCodeVersion();
|
|
65
66
|
if (!active?.id) {
|
|
66
67
|
throw new Error('No code version specified and no active code version found');
|
|
67
68
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"watch.js","sourceRoot":"","sources":["../../../../src/operations/code/watch.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAC,KAAK,EAAiB,MAAM,UAAU,CAAC;AAE/C,OAAO,EAAC,SAAS,EAAC,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAC,cAAc,EAAoD,MAAM,iBAAiB,CAAC;AAClG,OAAO,EAAC,mBAAmB,EAAE,WAAW,EAAC,MAAM,mBAAmB,CAAC;AACnE,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"watch.js","sourceRoot":"","sources":["../../../../src/operations/code/watch.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,7 +30,7 @@ export interface ExportableUnits {
|
|
|
30
30
|
* Discovers the data units that can be exported from an instance.
|
|
31
31
|
*
|
|
32
32
|
* Each category is read independently: a failure in one (e.g. the OCAPI client
|
|
33
|
-
* lacks read permission for
|
|
33
|
+
* lacks read permission for a category) records a warning and leaves that list
|
|
34
34
|
* empty rather than failing the whole discovery, so the caller can still offer
|
|
35
35
|
* the categories that succeeded.
|
|
36
36
|
*
|
|
@@ -16,28 +16,27 @@
|
|
|
16
16
|
*/
|
|
17
17
|
import { B2CInstance } from '../../instance/index.js';
|
|
18
18
|
import { getLogger } from '../../logging/logger.js';
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
{ key: 'catalogs', path: '/catalogs', label: 'catalogs' },
|
|
23
|
-
{ key: 'inventoryLists', path: '/inventory_lists', label: 'inventory lists' },
|
|
24
|
-
];
|
|
19
|
+
import { assertOcapiCompatibilityAllowed } from '../../clients/scapi-backend-utils.js';
|
|
20
|
+
import { createCatalogsBackend } from '../catalogs/index.js';
|
|
21
|
+
import { createSitesBackend } from '../sites/index.js';
|
|
25
22
|
/** Page size for paginated list endpoints (OCAPI default is 25). */
|
|
26
23
|
const PAGE_COUNT = 200;
|
|
27
24
|
/**
|
|
28
|
-
* Lists
|
|
25
|
+
* Lists inventory lists through the remaining paginated OCAPI collection,
|
|
26
|
+
* following `start`/`count` until all
|
|
29
27
|
* documents are read. Returns the `id` of each document.
|
|
30
28
|
*/
|
|
31
|
-
async function
|
|
29
|
+
async function listInventoryListIds(instance) {
|
|
30
|
+
assertOcapiCompatibilityAllowed(instance.apiBackend, 'inventory-list enumeration');
|
|
32
31
|
const ids = [];
|
|
33
32
|
let start = 0;
|
|
34
33
|
// OCAPI collections page via start/count; `total` reports the full size.
|
|
35
34
|
for (;;) {
|
|
36
|
-
const { data, error } = await instance.ocapi.GET(
|
|
35
|
+
const { data, error } = await instance.ocapi.GET('/inventory_lists', {
|
|
37
36
|
params: { query: { start, count: PAGE_COUNT } },
|
|
38
37
|
});
|
|
39
38
|
if (error || !data) {
|
|
40
|
-
throw new Error(error?.fault?.message ??
|
|
39
|
+
throw new Error(error?.fault?.message ?? 'Failed to list inventory lists');
|
|
41
40
|
}
|
|
42
41
|
for (const item of data.data ?? []) {
|
|
43
42
|
if (item.id) {
|
|
@@ -56,7 +55,7 @@ async function listIds(instance, path) {
|
|
|
56
55
|
* Discovers the data units that can be exported from an instance.
|
|
57
56
|
*
|
|
58
57
|
* Each category is read independently: a failure in one (e.g. the OCAPI client
|
|
59
|
-
* lacks read permission for
|
|
58
|
+
* lacks read permission for a category) records a warning and leaves that list
|
|
60
59
|
* empty rather than failing the whole discovery, so the caller can still offer
|
|
61
60
|
* the categories that succeeded.
|
|
62
61
|
*
|
|
@@ -72,16 +71,47 @@ async function listIds(instance, path) {
|
|
|
72
71
|
export async function discoverExportableUnits(instance) {
|
|
73
72
|
const logger = getLogger();
|
|
74
73
|
const result = { sites: [], catalogs: [], inventoryLists: [], warnings: [] };
|
|
75
|
-
await Promise.all(
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
74
|
+
await Promise.all([
|
|
75
|
+
// Sites: SCAPI (site/sites) with OCAPI fallback.
|
|
76
|
+
(async () => {
|
|
77
|
+
try {
|
|
78
|
+
const sites = await createSitesBackend({ instance }).listSites();
|
|
79
|
+
result.sites = sites
|
|
80
|
+
.map((s) => s.id)
|
|
81
|
+
.filter((id) => !!id)
|
|
82
|
+
.sort((a, b) => a.localeCompare(b));
|
|
83
|
+
}
|
|
84
|
+
catch (err) {
|
|
85
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
86
|
+
logger.debug({ err: message }, 'Failed to discover sites');
|
|
87
|
+
result.warnings.push(`Could not list sites: ${message}`);
|
|
88
|
+
}
|
|
89
|
+
})(),
|
|
90
|
+
// Catalogs: SCAPI product/catalogs with OCAPI fallback.
|
|
91
|
+
(async () => {
|
|
92
|
+
try {
|
|
93
|
+
const catalogs = await createCatalogsBackend({ instance }).listCatalogs();
|
|
94
|
+
result.catalogs = catalogs.map(({ id }) => id).sort((a, b) => a.localeCompare(b));
|
|
95
|
+
}
|
|
96
|
+
catch (err) {
|
|
97
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
98
|
+
logger.debug({ err: message }, 'Failed to discover catalogs');
|
|
99
|
+
result.warnings.push(`Could not list catalogs: ${message}`);
|
|
100
|
+
}
|
|
101
|
+
})(),
|
|
102
|
+
// The live SCAPI inventory APIs expose list detail/records but no
|
|
103
|
+
// organization-level inventory-list enumeration endpoint yet.
|
|
104
|
+
(async () => {
|
|
105
|
+
try {
|
|
106
|
+
result.inventoryLists = (await listInventoryListIds(instance)).sort((a, b) => a.localeCompare(b));
|
|
107
|
+
}
|
|
108
|
+
catch (err) {
|
|
109
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
110
|
+
logger.debug({ err: message }, 'Failed to discover inventory lists');
|
|
111
|
+
result.warnings.push(`Could not list inventory lists: ${message}`);
|
|
112
|
+
}
|
|
113
|
+
})(),
|
|
114
|
+
]);
|
|
85
115
|
return result;
|
|
86
116
|
}
|
|
87
117
|
//# sourceMappingURL=discover.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discover.js","sourceRoot":"","sources":["../../../../src/operations/jobs/discover.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH;;;;;;;;;;GAUG;AACH,OAAO,EAAC,WAAW,EAAC,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAC,SAAS,EAAC,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"discover.js","sourceRoot":"","sources":["../../../../src/operations/jobs/discover.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,69 +1,26 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Job execution operations for B2C Commerce.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* SDK consumers should call SCAPI ops directly via the free functions
|
|
5
|
+
* exported from `./scapi-ops` (or, for legacy code, the OCAPI free
|
|
6
|
+
* functions exported from `./run`). The CLI's `BackendDispatcher`
|
|
7
|
+
* arbitrates between them based on the user's `apiBackend` preference;
|
|
8
|
+
* that policy lives in the CLI layer.
|
|
6
9
|
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* - {@link executeJob} - Start a job execution
|
|
10
|
-
* - {@link getJobExecution} - Get the status of a job execution
|
|
11
|
-
* - {@link waitForJob} - Wait for a job to complete
|
|
12
|
-
* - {@link searchJobExecutions} - Search for job executions
|
|
13
|
-
* - {@link findRunningJobExecution} - Find a running execution
|
|
14
|
-
* - {@link getJobLog} - Retrieve job log file content
|
|
15
|
-
*
|
|
16
|
-
* ## System Jobs
|
|
17
|
-
*
|
|
18
|
-
* - {@link siteArchiveImport} - Import a site archive
|
|
19
|
-
* - {@link siteArchiveImportSet} - Apply an ordered, receipted set of site archives
|
|
20
|
-
* - {@link siteArchiveImportSplit} - Import a large site archive in multiple parts
|
|
21
|
-
* - {@link siteArchiveExport} - Export a site archive
|
|
22
|
-
* - {@link siteArchiveExportToPath} - Export and save to local path
|
|
23
|
-
*
|
|
24
|
-
* ## Usage
|
|
25
|
-
*
|
|
26
|
-
* ```typescript
|
|
27
|
-
* import {
|
|
28
|
-
* executeJob,
|
|
29
|
-
* waitForJob,
|
|
30
|
-
* searchJobExecutions,
|
|
31
|
-
* siteArchiveImport,
|
|
32
|
-
* siteArchiveExport,
|
|
33
|
-
* } from '@salesforce/b2c-tooling-sdk/operations/jobs';
|
|
34
|
-
* import { resolveConfig } from '@salesforce/b2c-tooling-sdk/config';
|
|
35
|
-
*
|
|
36
|
-
* const config = resolveConfig();
|
|
37
|
-
* const instance = config.createB2CInstance();
|
|
38
|
-
*
|
|
39
|
-
* // Run a custom job and wait for completion
|
|
40
|
-
* const execution = await executeJob(instance, 'my-job-id');
|
|
41
|
-
* const result = await waitForJob(instance, 'my-job-id', execution.id);
|
|
42
|
-
*
|
|
43
|
-
* // Search for recent job executions
|
|
44
|
-
* const results = await searchJobExecutions(instance, {
|
|
45
|
-
* jobId: 'my-job-id',
|
|
46
|
-
* count: 10
|
|
47
|
-
* });
|
|
48
|
-
*
|
|
49
|
-
* // Import a site archive
|
|
50
|
-
* await siteArchiveImport(instance, './my-import-data');
|
|
51
|
-
*
|
|
52
|
-
* // Export site data
|
|
53
|
-
* const exportResult = await siteArchiveExport(instance, {
|
|
54
|
-
* global_data: { meta_data: true }
|
|
55
|
-
* });
|
|
56
|
-
* ```
|
|
57
|
-
*
|
|
58
|
-
* ## Authentication
|
|
59
|
-
*
|
|
60
|
-
* Job operations require OAuth authentication with appropriate OCAPI permissions
|
|
61
|
-
* for the /jobs and /job_execution_search resources.
|
|
10
|
+
* Ordered import sets are exported from `./import-set` and continue to use
|
|
11
|
+
* the site-archive/WebDAV workflow.
|
|
62
12
|
*
|
|
63
13
|
* @module operations/jobs
|
|
64
14
|
*/
|
|
65
15
|
export { executeJob, getJobExecution, waitForJob, searchJobExecutions, findRunningJobExecution, getJobLog, getJobErrorMessage, JobExecutionError, } from './run.js';
|
|
66
16
|
export type { JobExecution, JobStepExecution, JobExecutionStatus, JobExecutionParameter, ExecuteJobOptions, WaitForJobOptions, WaitForJobPollInfo, SearchJobExecutionsOptions, JobExecutionSearchResult, } from './run.js';
|
|
17
|
+
export { executeJob as scapiExecuteJob, getJobExecution as scapiGetJobExecution, searchJobExecutions as scapiSearchJobExecutions, deleteJobExecution as scapiDeleteJobExecution, getJobLog as scapiGetJobLog, ScapiJobStartError, } from './scapi-ops.js';
|
|
18
|
+
export type { ExecuteJobScapiOptions, SearchJobExecutionsScapiOptions } from './scapi-ops.js';
|
|
19
|
+
export type { JobExecutionInfo, JobStepExecutionResult, JobExecutionSearchResults } from './types.js';
|
|
20
|
+
export { waitForJobExecution, CanonicalJobExecutionError } from './wait-canonical.js';
|
|
21
|
+
export { mapOcapiExecution, mapOcapiSearchResult, mapCanonicalToOcapiExecution } from './ocapi-mapping.js';
|
|
22
|
+
export { runSystemJob } from './run-system-job.js';
|
|
23
|
+
export type { SystemJobSpec } from './run-system-job.js';
|
|
67
24
|
export { siteArchiveImport, siteArchiveImportSplit, siteArchiveExport, siteArchiveExportToBuffer, siteArchiveExportToPath, } from './site-archive.js';
|
|
68
25
|
export { discoverImportSet, siteArchiveImportSet, ImportSetStateError } from './import-set.js';
|
|
69
26
|
export type { DiscoverImportSetOptions, ImportSetItem, ImportSetReceipt, ImportSetItemResult, ImportSetResult, ImportSetEvent, ImportSetLockOwner, SiteArchiveImportSetOptions, } from './import-set.js';
|