@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,101 @@
|
|
|
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
|
+
/** Plain Node JavaScript, packaged with the SDK. This is local execution, not a security sandbox. */
|
|
7
|
+
export const SCAPI_WORKER_SOURCE = String.raw `
|
|
8
|
+
const send = process.send.bind(process);
|
|
9
|
+
const pending = new Map();
|
|
10
|
+
let sequence = 0;
|
|
11
|
+
function directNetwork() {
|
|
12
|
+
throw new Error('SCAPI_DIRECT_NETWORK_DISABLED: Use scapi.request() in code mode. For direct HTTP calls, export a token and use a client outside code mode; SDK safety does not govern those calls.');
|
|
13
|
+
}
|
|
14
|
+
// Prevent accidental use of ambient networking; this is not a hostile-code sandbox.
|
|
15
|
+
for (const name of ['fetch', 'WebSocket']) {
|
|
16
|
+
Object.defineProperty(globalThis, name, {value: directNetwork, writable: false, configurable: false});
|
|
17
|
+
}
|
|
18
|
+
process.on('disconnect', () => process.exit(0));
|
|
19
|
+
process.on('message', async message => {
|
|
20
|
+
if (message.type === 'reply') {
|
|
21
|
+
const waiter = pending.get(message.id);
|
|
22
|
+
if (!waiter) return;
|
|
23
|
+
pending.delete(message.id);
|
|
24
|
+
if (message.error) waiter.reject(new Error(message.error));
|
|
25
|
+
else waiter.resolve(message.value);
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
if (message.type !== 'run') return;
|
|
29
|
+
const documents = message.documents || [];
|
|
30
|
+
const byId = new Map(documents.map(d => [d.entry.id, d.schema]));
|
|
31
|
+
function resolve(value, api, seen = new Set(), depth = 0) {
|
|
32
|
+
if (depth > 20) return value;
|
|
33
|
+
if (!value || typeof value !== 'object') return value;
|
|
34
|
+
if (Array.isArray(value)) return value.map(v => resolve(v, api, seen, depth + 1));
|
|
35
|
+
if (typeof value.$ref === 'string') {
|
|
36
|
+
if (!value.$ref.startsWith('#/') || seen.has(value.$ref)) return value;
|
|
37
|
+
const next = new Set(seen); next.add(value.$ref);
|
|
38
|
+
const target = value.$ref.slice(2).split('/').reduce((obj, key) => obj?.[key.replaceAll('~1','/').replaceAll('~0','~')], byId.get(api));
|
|
39
|
+
if (!target) throw new Error('Unresolved schema reference: ' + value.$ref);
|
|
40
|
+
return resolve(target, api, next, depth + 1);
|
|
41
|
+
}
|
|
42
|
+
return Object.fromEntries(Object.entries(value).map(([key, v]) => [key, resolve(v, api, seen, depth + 1)]));
|
|
43
|
+
}
|
|
44
|
+
const spec = {apis: documents.map(d => d.entry), paths: {}, resolve};
|
|
45
|
+
for (const {entry, schema} of documents) {
|
|
46
|
+
for (const [path, item] of Object.entries(schema.paths || {})) {
|
|
47
|
+
const methods = {};
|
|
48
|
+
for (const method of ['get','head','post','put','patch','delete','options']) {
|
|
49
|
+
if (item[method]) methods[method] = resolve({...item[method], api: entry.id,
|
|
50
|
+
parameters: [...(item.parameters || []), ...(item[method].parameters || [])],
|
|
51
|
+
security: item[method].security ?? schema.security ?? []}, entry.id);
|
|
52
|
+
}
|
|
53
|
+
spec.paths['/' + entry.id + path] = methods;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
const scapi = {request: options => new Promise((resolve, reject) => {
|
|
57
|
+
const id = ++sequence;
|
|
58
|
+
pending.set(id, {resolve, reject});
|
|
59
|
+
send({type:'request', id, options});
|
|
60
|
+
})};
|
|
61
|
+
const authCall = (operation, options = {}) => new Promise((resolve, reject) => {
|
|
62
|
+
const id = ++sequence;
|
|
63
|
+
pending.set(id, {resolve, reject});
|
|
64
|
+
send({type:'auth', id, operation, options});
|
|
65
|
+
});
|
|
66
|
+
const auth = {accountManager: options => authCall('accountManager', options), slas: options => authCall('slas', options)};
|
|
67
|
+
const snippetCall = (operation, name, input) => new Promise((resolve, reject) => {
|
|
68
|
+
const id = ++sequence;
|
|
69
|
+
pending.set(id, {resolve, reject});
|
|
70
|
+
send({type:'snippet', id, operation, name, input});
|
|
71
|
+
});
|
|
72
|
+
let runningSnippets = 0;
|
|
73
|
+
const evaluate = (code, input) => new Function('spec', 'scapi', 'codemode', 'auth', 'organizationId', 'siteId', 'input',
|
|
74
|
+
'return (' + code + ')(input);')(spec, scapi, codemode, auth, message.organizationId, message.siteId, input);
|
|
75
|
+
const codemode = {
|
|
76
|
+
search: (query = '') => snippetCall('search', String(query)),
|
|
77
|
+
describe: name => snippetCall('describe', String(name)),
|
|
78
|
+
run: async (name, input) => {
|
|
79
|
+
if (runningSnippets >= 16) throw new Error('SCAPI_SNIPPET_LIMIT: at most 16 active snippet calls.');
|
|
80
|
+
runningSnippets++;
|
|
81
|
+
try {
|
|
82
|
+
const code = await snippetCall('run', String(name), input);
|
|
83
|
+
return await evaluate(code, input);
|
|
84
|
+
} finally { runningSnippets--; }
|
|
85
|
+
}
|
|
86
|
+
};
|
|
87
|
+
try {
|
|
88
|
+
const value = await evaluate(message.code, message.input);
|
|
89
|
+
if (pending.size || runningSnippets) throw new Error('Await every scapi.request, auth, and codemode call before returning. Requests may already have taken effect.');
|
|
90
|
+
const json = JSON.stringify(value === undefined ? null : value);
|
|
91
|
+
if (Buffer.byteLength(json) > message.maxOutputBytes) throw new Error('SCAPI_RESULT_TOO_LARGE: return fewer fields or a smaller page.');
|
|
92
|
+
send({type:'result', value: JSON.parse(json)});
|
|
93
|
+
} catch (error) {
|
|
94
|
+
const message = error.code === 'ERR_ACCESS_DENIED'
|
|
95
|
+
? 'SCAPI_RUNTIME_RESTRICTED: Code mode supports API discovery, managed requests, and result processing. Use terminal or file tools outside code mode for filesystem access, subprocesses, or other local development work.'
|
|
96
|
+
: String(error.message || error);
|
|
97
|
+
send({type:'error', error: message.slice(0, 4000)});
|
|
98
|
+
}
|
|
99
|
+
});
|
|
100
|
+
`;
|
|
101
|
+
//# sourceMappingURL=worker-source.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worker-source.js","sourceRoot":"","sources":["../../../src/scapi/worker-source.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,qGAAqG;AACrG,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6F5C,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import MiniSearch from 'minisearch';
|
|
2
|
+
/** Shared ranking fields; each corpus owns its index and query-time filters. */
|
|
3
|
+
export interface RankedDocument {
|
|
4
|
+
id: string;
|
|
5
|
+
title: string;
|
|
6
|
+
category?: string;
|
|
7
|
+
headings?: string;
|
|
8
|
+
summary?: string;
|
|
9
|
+
keywords?: string[];
|
|
10
|
+
}
|
|
11
|
+
/** Build an independent index using the established documentation ranking. */
|
|
12
|
+
export declare function createRankedIndex(entries: readonly RankedDocument[]): MiniSearch;
|
|
@@ -0,0 +1,28 @@
|
|
|
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
|
+
import MiniSearch from 'minisearch';
|
|
7
|
+
/** Build an independent index using the established documentation ranking. */
|
|
8
|
+
export function createRankedIndex(entries) {
|
|
9
|
+
const index = new MiniSearch({
|
|
10
|
+
idField: 'id',
|
|
11
|
+
fields: ['title', 'id', 'headings', 'keywords', 'summary'],
|
|
12
|
+
storeFields: ['category'],
|
|
13
|
+
searchOptions: {
|
|
14
|
+
boost: { title: 3, id: 2.5, keywords: 2, headings: 2, summary: 1.5 },
|
|
15
|
+
fuzzy: 0.2,
|
|
16
|
+
prefix: true,
|
|
17
|
+
},
|
|
18
|
+
});
|
|
19
|
+
index.addAll(entries.map((entry) => ({
|
|
20
|
+
...entry,
|
|
21
|
+
category: entry.category ?? '',
|
|
22
|
+
headings: entry.headings ?? '',
|
|
23
|
+
summary: entry.summary ?? '',
|
|
24
|
+
keywords: entry.keywords?.join(' ') ?? '',
|
|
25
|
+
})));
|
|
26
|
+
return index;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=ranking.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ranking.js","sourceRoot":"","sources":["../../../src/search/ranking.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,UAAU,MAAM,YAAY,CAAC;AAYpC,8EAA8E;AAC9E,MAAM,UAAU,iBAAiB,CAAC,OAAkC;IAClE,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC;QAC3B,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,CAAC;QAC1D,WAAW,EAAE,CAAC,UAAU,CAAC;QACzB,aAAa,EAAE;YACb,KAAK,EAAE,EAAC,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,EAAC;YAClE,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,IAAI;SACb;KACF,CAAC,CAAC;IACH,KAAK,CAAC,MAAM,CACV,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACtB,GAAG,KAAK;QACR,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,EAAE;QAC9B,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,EAAE;QAC9B,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,EAAE;QAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;KAC1C,CAAC,CAAC,CACJ,CAAC;IACF,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -2,7 +2,7 @@ import type { SkillSet, SkillSourceConfig } from './types.js';
|
|
|
2
2
|
/**
|
|
3
3
|
* Registry mapping skill sets to their source configurations.
|
|
4
4
|
*
|
|
5
|
-
* Each skill set
|
|
5
|
+
* Each registered skill set
|
|
6
6
|
* maps to its respective GitHub repository and download configuration for
|
|
7
7
|
* artifact retrieval.
|
|
8
8
|
*/
|
|
@@ -10,7 +10,7 @@ export declare const SKILL_SOURCES: Record<SkillSet, SkillSourceConfig>;
|
|
|
10
10
|
/**
|
|
11
11
|
* Get the source configuration for a specific skill set.
|
|
12
12
|
*
|
|
13
|
-
* @param skillSet -
|
|
13
|
+
* @param skillSet - A registered skill set identifier
|
|
14
14
|
* @returns The source configuration for the skill set
|
|
15
15
|
* @throws Error if the skill set is not recognized
|
|
16
16
|
*/
|
|
@@ -10,7 +10,7 @@ function pluginsTag(version) {
|
|
|
10
10
|
/**
|
|
11
11
|
* Registry mapping skill sets to their source configurations.
|
|
12
12
|
*
|
|
13
|
-
* Each skill set
|
|
13
|
+
* Each registered skill set
|
|
14
14
|
* maps to its respective GitHub repository and download configuration for
|
|
15
15
|
* artifact retrieval.
|
|
16
16
|
*/
|
|
@@ -31,6 +31,14 @@ export const SKILL_SOURCES = {
|
|
|
31
31
|
assetName: 'b2c-cli-skills.zip',
|
|
32
32
|
tagPattern: pluginsTag,
|
|
33
33
|
},
|
|
34
|
+
'b2c-ops': {
|
|
35
|
+
id: 'b2c-ops',
|
|
36
|
+
displayName: 'B2C Commerce operator and administrator runbooks',
|
|
37
|
+
type: 'release-artifact',
|
|
38
|
+
repo: 'SalesforceCommerceCloud/b2c-developer-tooling',
|
|
39
|
+
assetName: 'b2c-ops-skills.zip',
|
|
40
|
+
tagPattern: pluginsTag,
|
|
41
|
+
},
|
|
34
42
|
'storefront-next': {
|
|
35
43
|
id: 'storefront-next',
|
|
36
44
|
displayName: 'Storefront Next development skills',
|
|
@@ -59,7 +67,7 @@ export const SKILL_SOURCES = {
|
|
|
59
67
|
/**
|
|
60
68
|
* Get the source configuration for a specific skill set.
|
|
61
69
|
*
|
|
62
|
-
* @param skillSet -
|
|
70
|
+
* @param skillSet - A registered skill set identifier
|
|
63
71
|
* @returns The source configuration for the skill set
|
|
64
72
|
* @throws Error if the skill set is not recognized
|
|
65
73
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sources.js","sourceRoot":"","sources":["../../../src/skills/sources.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,SAAS,UAAU,CAAC,OAAe;IACjC,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACvC,OAAO,qBAAqB,IAAI,EAAE,CAAC;AACrC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,aAAa,GAAwC;IAChE,GAAG,EAAE;QACH,EAAE,EAAE,KAAK;QACT,WAAW,EAAE,mCAAmC;QAChD,IAAI,EAAE,kBAAkB;QACxB,IAAI,EAAE,+CAA+C;QACrD,SAAS,EAAE,gBAAgB;QAC3B,UAAU,EAAE,UAAU;KACvB;IACD,SAAS,EAAE;QACT,EAAE,EAAE,SAAS;QACb,WAAW,EAAE,iCAAiC;QAC9C,IAAI,EAAE,kBAAkB;QACxB,IAAI,EAAE,+CAA+C;QACrD,SAAS,EAAE,oBAAoB;QAC/B,UAAU,EAAE,UAAU;KACvB;IACD,iBAAiB,EAAE;QACjB,EAAE,EAAE,iBAAiB;QACrB,WAAW,EAAE,oCAAoC;QACjD,IAAI,EAAE,kBAAkB;QACxB,IAAI,EAAE,+CAA+C;QACrD,SAAS,EAAE,4BAA4B;QACvC,UAAU,EAAE,UAAU;KACvB;IACD,uBAAuB,EAAE;QACvB,EAAE,EAAE,uBAAuB;QAC3B,WAAW,EAAE,yEAAyE;QACtF,IAAI,EAAE,kBAAkB;QACxB,IAAI,EAAE,+CAA+C;QACrD,SAAS,EAAE,kCAAkC;QAC7C,UAAU,EAAE,UAAU;KACvB;IACD,SAAS,EAAE;QACT,EAAE,EAAE,SAAS;QACb,WAAW,EAAE,kCAAkC;QAC/C,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,uCAAuC;QAC7C,GAAG,EAAE,MAAM;QACX,UAAU,EAAE,gBAAgB;KAC7B;CACF,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,QAAkB;IAC/C,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IACvC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,sBAAsB,QAAQ,EAAE,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAe,MAAM,CAAC,IAAI,CAAC,aAAa,CAAe,CAAC"}
|
|
1
|
+
{"version":3,"file":"sources.js","sourceRoot":"","sources":["../../../src/skills/sources.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,SAAS,UAAU,CAAC,OAAe;IACjC,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACvC,OAAO,qBAAqB,IAAI,EAAE,CAAC;AACrC,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,aAAa,GAAwC;IAChE,GAAG,EAAE;QACH,EAAE,EAAE,KAAK;QACT,WAAW,EAAE,mCAAmC;QAChD,IAAI,EAAE,kBAAkB;QACxB,IAAI,EAAE,+CAA+C;QACrD,SAAS,EAAE,gBAAgB;QAC3B,UAAU,EAAE,UAAU;KACvB;IACD,SAAS,EAAE;QACT,EAAE,EAAE,SAAS;QACb,WAAW,EAAE,iCAAiC;QAC9C,IAAI,EAAE,kBAAkB;QACxB,IAAI,EAAE,+CAA+C;QACrD,SAAS,EAAE,oBAAoB;QAC/B,UAAU,EAAE,UAAU;KACvB;IACD,SAAS,EAAE;QACT,EAAE,EAAE,SAAS;QACb,WAAW,EAAE,kDAAkD;QAC/D,IAAI,EAAE,kBAAkB;QACxB,IAAI,EAAE,+CAA+C;QACrD,SAAS,EAAE,oBAAoB;QAC/B,UAAU,EAAE,UAAU;KACvB;IACD,iBAAiB,EAAE;QACjB,EAAE,EAAE,iBAAiB;QACrB,WAAW,EAAE,oCAAoC;QACjD,IAAI,EAAE,kBAAkB;QACxB,IAAI,EAAE,+CAA+C;QACrD,SAAS,EAAE,4BAA4B;QACvC,UAAU,EAAE,UAAU;KACvB;IACD,uBAAuB,EAAE;QACvB,EAAE,EAAE,uBAAuB;QAC3B,WAAW,EAAE,yEAAyE;QACtF,IAAI,EAAE,kBAAkB;QACxB,IAAI,EAAE,+CAA+C;QACrD,SAAS,EAAE,kCAAkC;QAC7C,UAAU,EAAE,UAAU;KACvB;IACD,SAAS,EAAE;QACT,EAAE,EAAE,SAAS;QACb,WAAW,EAAE,kCAAkC;QAC/C,IAAI,EAAE,eAAe;QACrB,IAAI,EAAE,uCAAuC;QAC7C,GAAG,EAAE,MAAM;QACX,UAAU,EAAE,gBAAgB;KAC7B;CACF,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,QAAkB;IAC/C,MAAM,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;IACvC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,sBAAsB,QAAQ,EAAE,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,cAAc,GAAe,MAAM,CAAC,IAAI,CAAC,aAAa,CAAe,CAAC"}
|
|
@@ -5,7 +5,7 @@ export type IdeType = 'claude-code' | 'cursor' | 'windsurf' | 'vscode' | 'codex'
|
|
|
5
5
|
/**
|
|
6
6
|
* Skill set categories matching the plugins directory structure.
|
|
7
7
|
*/
|
|
8
|
-
export type SkillSet = 'b2c' | 'b2c-cli' | 'cap-dev' | 'storefront-next' | 'storefront-next-figma';
|
|
8
|
+
export type SkillSet = 'b2c' | 'b2c-cli' | 'b2c-ops' | 'cap-dev' | 'storefront-next' | 'storefront-next-figma';
|
|
9
9
|
/**
|
|
10
10
|
* Configuration for a skill source — defines how to fetch skills from a particular repository.
|
|
11
11
|
*/
|
package/dist/esm/slas/token.js
CHANGED
|
@@ -12,15 +12,9 @@
|
|
|
12
12
|
* @module slas/token
|
|
13
13
|
*/
|
|
14
14
|
import { encodeBasicClientCredentials } from '../auth/client-credentials.js';
|
|
15
|
-
import {
|
|
15
|
+
import { createSlasShopperClient } from '../clients/slas-shopper.js';
|
|
16
16
|
import { getLogger } from '../logging/logger.js';
|
|
17
17
|
import { generateCodeChallenge, generateCodeVerifier } from './pkce.js';
|
|
18
|
-
/**
|
|
19
|
-
* Builds the SLAS shopper auth base URL.
|
|
20
|
-
*/
|
|
21
|
-
function buildBaseUrl(shortCode, organizationId) {
|
|
22
|
-
return `https://${shortCode}.api.commercecloud.salesforce.com/shopper/auth/v1/organizations/${organizationId}`;
|
|
23
|
-
}
|
|
24
18
|
/**
|
|
25
19
|
* Parses an authorization code and usid from a redirect Location header.
|
|
26
20
|
*
|
|
@@ -38,50 +32,11 @@ function parseRedirectCode(locationHeader) {
|
|
|
38
32
|
/**
|
|
39
33
|
* Checks a SLAS response for errors and throws with details.
|
|
40
34
|
*/
|
|
41
|
-
|
|
35
|
+
function checkResponse(response, context, error) {
|
|
42
36
|
if (response.ok)
|
|
43
37
|
return;
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
const body = await response.text();
|
|
47
|
-
detail = body ? ` — ${body}` : '';
|
|
48
|
-
}
|
|
49
|
-
catch {
|
|
50
|
-
// ignore body parse errors
|
|
51
|
-
}
|
|
52
|
-
throw new Error(`SLAS ${context} failed (HTTP ${response.status})${detail}`);
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* Helper to collect response headers as a plain object for logging.
|
|
56
|
-
*/
|
|
57
|
-
function serializeHeaders(response) {
|
|
58
|
-
const headers = {};
|
|
59
|
-
response.headers.forEach((value, key) => {
|
|
60
|
-
headers[key] = value;
|
|
61
|
-
});
|
|
62
|
-
return headers;
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* Performs a logged fetch request following the Auth logging conventions.
|
|
66
|
-
* Returns the response (caller must check status).
|
|
67
|
-
*/
|
|
68
|
-
async function loggedFetch(url, init) {
|
|
69
|
-
const logger = getLogger();
|
|
70
|
-
const method = init.method ?? 'GET';
|
|
71
|
-
logger.debug({ method, url }, `[SLAS REQ] ${method} ${url}`);
|
|
72
|
-
logger.trace({ method, url, headers: init.headers, body: init.body?.toString() }, `[SLAS REQ BODY] ${method} ${url}`);
|
|
73
|
-
const startTime = Date.now();
|
|
74
|
-
let response;
|
|
75
|
-
try {
|
|
76
|
-
response = await fetch(url, init);
|
|
77
|
-
}
|
|
78
|
-
catch (err) {
|
|
79
|
-
const host = new URL(url).host;
|
|
80
|
-
throw wrapNetworkError(err, { operation: 'SLAS token request', host });
|
|
81
|
-
}
|
|
82
|
-
const duration = Date.now() - startTime;
|
|
83
|
-
logger.debug({ method, url, status: response.status, duration }, `[SLAS RESP] ${method} ${url} ${response.status} ${duration}ms`);
|
|
84
|
-
return { response, duration };
|
|
38
|
+
const body = typeof error === 'string' ? error : error ? JSON.stringify(error) : '';
|
|
39
|
+
throw new Error(`SLAS ${context} failed (HTTP ${response.status})${body ? ` — ${body}` : ''}`);
|
|
85
40
|
}
|
|
86
41
|
/**
|
|
87
42
|
* Retrieves a guest shopper access token from SLAS.
|
|
@@ -98,23 +53,23 @@ export async function getGuestToken(config) {
|
|
|
98
53
|
return getPrivateClientGuestToken(config);
|
|
99
54
|
}
|
|
100
55
|
logger.debug({ clientId: config.slasClientId }, '[SLAS] Using public client PKCE guest flow');
|
|
101
|
-
const
|
|
56
|
+
const client = createSlasShopperClient(config);
|
|
102
57
|
const verifier = generateCodeVerifier();
|
|
103
58
|
const challenge = generateCodeChallenge(verifier);
|
|
104
59
|
// Step 1: Authorize — get authorization code via 303 redirect
|
|
105
|
-
const authorizeParams =
|
|
60
|
+
const authorizeParams = {
|
|
106
61
|
client_id: config.slasClientId,
|
|
107
62
|
response_type: 'code',
|
|
108
63
|
redirect_uri: config.redirectUri,
|
|
109
64
|
hint: 'guest',
|
|
110
65
|
code_challenge: challenge,
|
|
66
|
+
};
|
|
67
|
+
const { response: authorizeResponse, error: authorizeError } = await client.GET('/oauth2/authorize', {
|
|
68
|
+
params: { query: authorizeParams },
|
|
69
|
+
parseAs: 'text',
|
|
111
70
|
});
|
|
112
|
-
const authorizeUrl = `${baseUrl}/oauth2/authorize?${authorizeParams.toString()}`;
|
|
113
|
-
const { response: authorizeResponse } = await loggedFetch(authorizeUrl, { redirect: 'manual' });
|
|
114
71
|
if (authorizeResponse.status !== 303) {
|
|
115
|
-
|
|
116
|
-
logger.trace({ headers: respHeaders }, `[SLAS RESP BODY] GET ${authorizeUrl}`);
|
|
117
|
-
await checkResponse(authorizeResponse, 'authorize');
|
|
72
|
+
checkResponse(authorizeResponse, 'authorize', authorizeError);
|
|
118
73
|
throw new Error(`Expected 303 redirect from SLAS authorize, got ${authorizeResponse.status}`);
|
|
119
74
|
}
|
|
120
75
|
const location = authorizeResponse.headers.get('location');
|
|
@@ -124,7 +79,7 @@ export async function getGuestToken(config) {
|
|
|
124
79
|
const { code, usid } = parseRedirectCode(location);
|
|
125
80
|
logger.debug({ usid }, '[SLAS] Got authorization code');
|
|
126
81
|
// Step 2: Exchange code for token
|
|
127
|
-
const tokenBody =
|
|
82
|
+
const tokenBody = {
|
|
128
83
|
grant_type: 'authorization_code_pkce',
|
|
129
84
|
client_id: config.slasClientId,
|
|
130
85
|
code,
|
|
@@ -132,17 +87,13 @@ export async function getGuestToken(config) {
|
|
|
132
87
|
redirect_uri: config.redirectUri,
|
|
133
88
|
channel_id: config.siteId,
|
|
134
89
|
usid,
|
|
135
|
-
}
|
|
136
|
-
const
|
|
137
|
-
|
|
138
|
-
method: 'POST',
|
|
90
|
+
};
|
|
91
|
+
const { data, error, response: tokenResponse, } = await client.POST('/oauth2/token', {
|
|
92
|
+
redirect: 'error',
|
|
139
93
|
headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
|
|
140
94
|
body: tokenBody,
|
|
141
95
|
});
|
|
142
|
-
|
|
143
|
-
const data = (await tokenResponse.json());
|
|
144
|
-
const respHeaders = serializeHeaders(tokenResponse);
|
|
145
|
-
logger.trace({ headers: respHeaders, body: data }, `[SLAS RESP BODY] POST ${tokenUrl}`);
|
|
96
|
+
checkResponse(tokenResponse, 'token exchange (authorization_code_pkce)', error);
|
|
146
97
|
return data;
|
|
147
98
|
}
|
|
148
99
|
/**
|
|
@@ -151,25 +102,21 @@ export async function getGuestToken(config) {
|
|
|
151
102
|
async function getPrivateClientGuestToken(config) {
|
|
152
103
|
const logger = getLogger();
|
|
153
104
|
logger.debug({ clientId: config.slasClientId }, '[SLAS] Using private client client_credentials guest flow');
|
|
154
|
-
const
|
|
105
|
+
const client = createSlasShopperClient(config);
|
|
155
106
|
const basicAuth = encodeBasicClientCredentials(config.slasClientId, config.slasClientSecret);
|
|
156
|
-
const tokenBody =
|
|
107
|
+
const tokenBody = {
|
|
157
108
|
grant_type: 'client_credentials',
|
|
158
109
|
channel_id: config.siteId,
|
|
159
|
-
}
|
|
160
|
-
const
|
|
161
|
-
|
|
162
|
-
method: 'POST',
|
|
110
|
+
};
|
|
111
|
+
const { data, error, response: tokenResponse, } = await client.POST('/oauth2/token', {
|
|
112
|
+
redirect: 'error',
|
|
163
113
|
headers: {
|
|
164
114
|
'Content-Type': 'application/x-www-form-urlencoded',
|
|
165
115
|
Authorization: `Basic ${basicAuth}`,
|
|
166
116
|
},
|
|
167
117
|
body: tokenBody,
|
|
168
118
|
});
|
|
169
|
-
|
|
170
|
-
const data = (await tokenResponse.json());
|
|
171
|
-
const respHeaders = serializeHeaders(tokenResponse);
|
|
172
|
-
logger.trace({ headers: respHeaders, body: data }, `[SLAS RESP BODY] POST ${tokenUrl}`);
|
|
119
|
+
checkResponse(tokenResponse, 'token (client_credentials)', error);
|
|
173
120
|
return data;
|
|
174
121
|
}
|
|
175
122
|
/**
|
|
@@ -193,33 +140,29 @@ async function getPrivateClientGuestToken(config) {
|
|
|
193
140
|
*/
|
|
194
141
|
export async function getRegisteredToken(config) {
|
|
195
142
|
const logger = getLogger();
|
|
196
|
-
const
|
|
143
|
+
const client = createSlasShopperClient(config);
|
|
197
144
|
const isPrivate = Boolean(config.slasClientSecret);
|
|
198
145
|
logger.debug({ clientId: config.slasClientId, isPrivate }, '[SLAS] Using registered customer login flow');
|
|
199
146
|
const verifier = generateCodeVerifier();
|
|
200
147
|
const challenge = generateCodeChallenge(verifier);
|
|
201
148
|
// Step 1: Login with shopper credentials
|
|
202
149
|
const shopperAuth = Buffer.from(`${config.shopperLogin}:${config.shopperPassword}`).toString('base64');
|
|
203
|
-
const loginBody =
|
|
150
|
+
const loginBody = {
|
|
204
151
|
client_id: config.slasClientId,
|
|
205
152
|
channel_id: config.siteId,
|
|
206
153
|
code_challenge: challenge,
|
|
207
154
|
redirect_uri: config.redirectUri,
|
|
208
|
-
}
|
|
209
|
-
const
|
|
210
|
-
const { response: loginResponse } = await loggedFetch(loginUrl, {
|
|
211
|
-
method: 'POST',
|
|
155
|
+
};
|
|
156
|
+
const { response: loginResponse, error: loginError } = await client.POST('/oauth2/login', {
|
|
212
157
|
headers: {
|
|
213
158
|
'Content-Type': 'application/x-www-form-urlencoded',
|
|
214
159
|
Authorization: `Basic ${shopperAuth}`,
|
|
215
160
|
},
|
|
216
161
|
body: loginBody,
|
|
217
|
-
|
|
162
|
+
parseAs: 'text',
|
|
218
163
|
});
|
|
219
164
|
if (loginResponse.status !== 303) {
|
|
220
|
-
|
|
221
|
-
logger.trace({ headers: respHeaders }, `[SLAS RESP BODY] POST ${loginUrl}`);
|
|
222
|
-
await checkResponse(loginResponse, 'login');
|
|
165
|
+
checkResponse(loginResponse, 'login', loginError);
|
|
223
166
|
throw new Error(`Expected 303 redirect from SLAS login, got ${loginResponse.status}`);
|
|
224
167
|
}
|
|
225
168
|
const location = loginResponse.headers.get('location');
|
|
@@ -236,8 +179,7 @@ export async function getRegisteredToken(config) {
|
|
|
236
179
|
// A private client additionally authenticates with HTTP Basic using its
|
|
237
180
|
// secret; it must NOT downgrade to the plain `authorization_code` grant or
|
|
238
181
|
// SLAS rejects the exchange with `400 code_verifier is required`.
|
|
239
|
-
const
|
|
240
|
-
const tokenBody = new URLSearchParams({
|
|
182
|
+
const tokenBody = {
|
|
241
183
|
grant_type: 'authorization_code_pkce',
|
|
242
184
|
client_id: config.slasClientId,
|
|
243
185
|
code,
|
|
@@ -245,21 +187,18 @@ export async function getRegisteredToken(config) {
|
|
|
245
187
|
redirect_uri: config.redirectUri,
|
|
246
188
|
channel_id: config.siteId,
|
|
247
189
|
usid,
|
|
248
|
-
}
|
|
190
|
+
};
|
|
249
191
|
const tokenHeaders = { 'Content-Type': 'application/x-www-form-urlencoded' };
|
|
250
192
|
if (isPrivate) {
|
|
251
193
|
const basicAuth = encodeBasicClientCredentials(config.slasClientId, config.slasClientSecret);
|
|
252
194
|
tokenHeaders.Authorization = `Basic ${basicAuth}`;
|
|
253
195
|
}
|
|
254
|
-
const { response: tokenResponse } = await
|
|
255
|
-
|
|
196
|
+
const { data, error, response: tokenResponse, } = await client.POST('/oauth2/token', {
|
|
197
|
+
redirect: 'error',
|
|
256
198
|
headers: tokenHeaders,
|
|
257
199
|
body: tokenBody,
|
|
258
200
|
});
|
|
259
|
-
|
|
260
|
-
const data = (await tokenResponse.json());
|
|
261
|
-
const respHeaders = serializeHeaders(tokenResponse);
|
|
262
|
-
logger.trace({ headers: respHeaders, body: data }, `[SLAS RESP BODY] POST ${tokenUrl}`);
|
|
201
|
+
checkResponse(tokenResponse, 'token exchange (authorization_code_pkce)', error);
|
|
263
202
|
return data;
|
|
264
203
|
}
|
|
265
204
|
//# sourceMappingURL=token.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token.js","sourceRoot":"","sources":["../../../src/slas/token.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;;GAOG;AACH,OAAO,EAAC,4BAA4B,EAAC,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"token.js","sourceRoot":"","sources":["../../../src/slas/token.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;;;GAOG;AACH,OAAO,EAAC,4BAA4B,EAAC,MAAM,+BAA+B,CAAC;AAC3E,OAAO,EAAC,uBAAuB,EAAC,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAC,SAAS,EAAC,MAAM,sBAAsB,CAAC;AAC/C,OAAO,EAAC,qBAAqB,EAAE,oBAAoB,EAAC,MAAM,WAAW,CAAC;AAGtE;;;;GAIG;AACH,SAAS,iBAAiB,CAAC,cAAsB;IAC/C,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;IACxD,MAAM,IAAI,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1C,MAAM,IAAI,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAEhD,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,+DAA+D,cAAc,EAAE,CAAC,CAAC;IACnG,CAAC;IAED,OAAO,EAAC,IAAI,EAAE,IAAI,EAAC,CAAC;AACtB,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CAAC,QAAkB,EAAE,OAAe,EAAE,KAAc;IACxE,IAAI,QAAQ,CAAC,EAAE;QAAE,OAAO;IAExB,MAAM,IAAI,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACpF,MAAM,IAAI,KAAK,CAAC,QAAQ,OAAO,iBAAiB,QAAQ,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACjG,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,MAAuB;IACzD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAE3B,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAC5B,OAAO,0BAA0B,CAAC,MAAM,CAAC,CAAC;IAC5C,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,EAAC,QAAQ,EAAE,MAAM,CAAC,YAAY,EAAC,EAAE,4CAA4C,CAAC,CAAC;IAE5F,MAAM,MAAM,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG,oBAAoB,EAAE,CAAC;IACxC,MAAM,SAAS,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAElD,8DAA8D;IAC9D,MAAM,eAAe,GAAG;QACtB,SAAS,EAAE,MAAM,CAAC,YAAY;QAC9B,aAAa,EAAE,MAAe;QAC9B,YAAY,EAAE,MAAM,CAAC,WAAW;QAChC,IAAI,EAAE,OAAgB;QACtB,cAAc,EAAE,SAAS;KAC1B,CAAC;IAEF,MAAM,EAAC,QAAQ,EAAE,iBAAiB,EAAE,KAAK,EAAE,cAAc,EAAC,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,mBAAmB,EAAE;QACjG,MAAM,EAAE,EAAC,KAAK,EAAE,eAAe,EAAC;QAChC,OAAO,EAAE,MAAM;KAChB,CAAC,CAAC;IAEH,IAAI,iBAAiB,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QACrC,aAAa,CAAC,iBAAiB,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;QAC9D,MAAM,IAAI,KAAK,CAAC,kDAAkD,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC;IAChG,CAAC;IAED,MAAM,QAAQ,GAAG,iBAAiB,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC3D,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACrE,CAAC;IAED,MAAM,EAAC,IAAI,EAAE,IAAI,EAAC,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IACjD,MAAM,CAAC,KAAK,CAAC,EAAC,IAAI,EAAC,EAAE,+BAA+B,CAAC,CAAC;IAEtD,kCAAkC;IAClC,MAAM,SAAS,GAAG;QAChB,UAAU,EAAE,yBAAkC;QAC9C,SAAS,EAAE,MAAM,CAAC,YAAY;QAC9B,IAAI;QACJ,aAAa,EAAE,QAAQ;QACvB,YAAY,EAAE,MAAM,CAAC,WAAW;QAChC,UAAU,EAAE,MAAM,CAAC,MAAM;QACzB,IAAI;KACL,CAAC;IAEF,MAAM,EACJ,IAAI,EACJ,KAAK,EACL,QAAQ,EAAE,aAAa,GACxB,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE;QACrC,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,EAAC,cAAc,EAAE,mCAAmC,EAAC;QAC9D,IAAI,EAAE,SAAS;KAChB,CAAC,CAAC;IAEH,aAAa,CAAC,aAAa,EAAE,0CAA0C,EAAE,KAAK,CAAC,CAAC;IAChF,OAAO,IAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,0BAA0B,CAAC,MAAuB;IAC/D,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,CAAC,KAAK,CAAC,EAAC,QAAQ,EAAE,MAAM,CAAC,YAAY,EAAC,EAAE,2DAA2D,CAAC,CAAC;IAE3G,MAAM,MAAM,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,SAAS,GAAG,4BAA4B,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,gBAAiB,CAAC,CAAC;IAE9F,MAAM,SAAS,GAAG;QAChB,UAAU,EAAE,oBAA6B;QACzC,UAAU,EAAE,MAAM,CAAC,MAAM;KAC1B,CAAC;IAEF,MAAM,EACJ,IAAI,EACJ,KAAK,EACL,QAAQ,EAAE,aAAa,GACxB,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE;QACrC,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE;YACP,cAAc,EAAE,mCAAmC;YACnD,aAAa,EAAE,SAAS,SAAS,EAAE;SACpC;QACD,IAAI,EAAE,SAAS;KAChB,CAAC,CAAC;IAEH,aAAa,CAAC,aAAa,EAAE,4BAA4B,EAAE,KAAK,CAAC,CAAC;IAClE,OAAO,IAAK,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,MAAiC;IACxE,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,MAAM,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAEnD,MAAM,CAAC,KAAK,CAAC,EAAC,QAAQ,EAAE,MAAM,CAAC,YAAY,EAAE,SAAS,EAAC,EAAE,6CAA6C,CAAC,CAAC;IAExG,MAAM,QAAQ,GAAG,oBAAoB,EAAE,CAAC;IACxC,MAAM,SAAS,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAElD,yCAAyC;IACzC,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAEvG,MAAM,SAAS,GAAG;QAChB,SAAS,EAAE,MAAM,CAAC,YAAY;QAC9B,UAAU,EAAE,MAAM,CAAC,MAAM;QACzB,cAAc,EAAE,SAAS;QACzB,YAAY,EAAE,MAAM,CAAC,WAAW;KACjC,CAAC;IAEF,MAAM,EAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,EAAC,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE;QACtF,OAAO,EAAE;YACP,cAAc,EAAE,mCAAmC;YACnD,aAAa,EAAE,SAAS,WAAW,EAAE;SACtC;QACD,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,MAAM;KAChB,CAAC,CAAC;IAEH,IAAI,aAAa,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QACjC,aAAa,CAAC,aAAa,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QAClD,MAAM,IAAI,KAAK,CAAC,8CAA8C,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC;IACxF,CAAC;IAED,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACvD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,EAAC,IAAI,EAAE,IAAI,EAAC,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IACjD,MAAM,CAAC,KAAK,CAAC,EAAC,IAAI,EAAC,EAAE,0CAA0C,CAAC,CAAC;IAEjE,mCAAmC;IACnC,EAAE;IACF,2EAA2E;IAC3E,yDAAyD;IACzD,yEAAyE;IACzE,wEAAwE;IACxE,2EAA2E;IAC3E,kEAAkE;IAElE,MAAM,SAAS,GAAG;QAChB,UAAU,EAAE,yBAAkC;QAC9C,SAAS,EAAE,MAAM,CAAC,YAAY;QAC9B,IAAI;QACJ,aAAa,EAAE,QAAQ;QACvB,YAAY,EAAE,MAAM,CAAC,WAAW;QAChC,UAAU,EAAE,MAAM,CAAC,MAAM;QACzB,IAAI;KACL,CAAC;IAEF,MAAM,YAAY,GAA2B,EAAC,cAAc,EAAE,mCAAmC,EAAC,CAAC;IACnG,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,SAAS,GAAG,4BAA4B,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,gBAAiB,CAAC,CAAC;QAC9F,YAAY,CAAC,aAAa,GAAG,SAAS,SAAS,EAAE,CAAC;IACpD,CAAC;IAED,MAAM,EACJ,IAAI,EACJ,KAAK,EACL,QAAQ,EAAE,aAAa,GACxB,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE;QACrC,QAAQ,EAAE,OAAO;QACjB,OAAO,EAAE,YAAY;QACrB,IAAI,EAAE,SAAS;KAChB,CAAC,CAAC;IAEH,aAAa,CAAC,aAAa,EAAE,0CAA0C,EAAE,KAAK,CAAC,CAAC;IAChF,OAAO,IAAK,CAAC;AACf,CAAC"}
|
package/dist/esm/slas/types.d.ts
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* @module slas/types
|
|
5
5
|
*/
|
|
6
|
+
import type { MiddlewareRegistry } from '../clients/middleware-registry.js';
|
|
6
7
|
/**
|
|
7
8
|
* Response from SLAS token endpoints.
|
|
8
9
|
*/
|
|
@@ -19,6 +20,10 @@ export interface SlasTokenResponse {
|
|
|
19
20
|
* Configuration for SLAS shopper token retrieval.
|
|
20
21
|
*/
|
|
21
22
|
export interface SlasTokenConfig {
|
|
23
|
+
/** Cancel authorization and token exchange. */
|
|
24
|
+
signal?: AbortSignal;
|
|
25
|
+
/** Defaults to the global HTTP middleware registry. */
|
|
26
|
+
middlewareRegistry?: MiddlewareRegistry;
|
|
22
27
|
/** SCAPI short code */
|
|
23
28
|
shortCode: string;
|
|
24
29
|
/** Organization ID in f_ecom_xxxx_yyy format */
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# B2C API schemas
|
|
2
|
+
|
|
3
|
+
Language-neutral OpenAPI files and `manifest.json` for standard SCAPI APIs.
|
|
4
|
+
The private workspace package is bundled with the TypeScript SDK. No npm access
|
|
5
|
+
to this package is needed by consumers. Other languages can read these JSON files
|
|
6
|
+
directly from a versioned repository snapshot.
|
|
7
|
+
|
|
8
|
+
The manifest identifies API/version/status, relative file path, and upstream source.
|
|
9
|
+
Contracts come from the SCAPI Schemas API without tenant custom
|
|
10
|
+
property expansion. Custom API contracts are excluded. Coverage is the complete
|
|
11
|
+
standard listing returned by the source instance, including deprecated versions;
|
|
12
|
+
the manifest is the exact supported inventory, not a claim about future APIs.
|
|
13
|
+
|
|
14
|
+
Refresh from a configured instance with `sfcc.scapi-schemas` access:
|
|
15
|
+
|
|
16
|
+
```sh
|
|
17
|
+
pnpm --filter @salesforce/b2c-tooling-sdk exec tsx --conditions=development scripts/refresh-scapi-schemas.ts --project-directory /path/to/project
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
Review the diff and add a changeset for `@salesforce/b2c-api-schemas`. Its regular
|
|
21
|
+
workspace dependency triggers an SDK release and dependent package bumps.
|
|
22
|
+
Normal builds use checked-in files and never fetch schemas. Consumer-specific
|
|
23
|
+
code generation stays outside this package.
|