@salesforce/b2c-cli 2.3.1 → 2.5.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/bin/dev.js +8 -8
- package/bin/run.js +5 -7
- package/content/guidance/b2c/b2c-business-manager-extensions/SKILL.md +361 -0
- package/content/guidance/b2c/b2c-business-manager-extensions/references/EXTENSIONS-XML.md +458 -0
- package/content/guidance/b2c/b2c-controllers/SKILL.md +301 -0
- package/content/guidance/b2c/b2c-controllers/references/CLASSIC-PATTERNS.md +335 -0
- package/content/guidance/b2c/b2c-controllers/references/SFRA-PATTERNS.md +400 -0
- package/content/guidance/b2c/b2c-custom-api-development/SKILL.md +281 -0
- package/content/guidance/b2c/b2c-custom-api-development/references/CONTRACT.md +142 -0
- package/content/guidance/b2c/b2c-custom-api-development/references/IMPLEMENTATION.md +153 -0
- package/content/guidance/b2c/b2c-custom-api-development/references/TESTING.md +118 -0
- package/content/guidance/b2c/b2c-custom-caches/SKILL.md +279 -0
- package/content/guidance/b2c/b2c-custom-job-steps/SKILL.md +520 -0
- package/content/guidance/b2c/b2c-custom-job-steps/references/CHUNK-ORIENTED.md +377 -0
- package/content/guidance/b2c/b2c-custom-job-steps/references/JOBS-XML.md +212 -0
- package/content/guidance/b2c/b2c-custom-job-steps/references/STEPTYPES-JSON.md +373 -0
- package/content/guidance/b2c/b2c-custom-job-steps/references/TASK-ORIENTED.md +344 -0
- package/content/guidance/b2c/b2c-custom-objects/SKILL.md +327 -0
- package/content/guidance/b2c/b2c-custom-objects/references/OCAPI-SEARCH.md +298 -0
- package/content/guidance/b2c/b2c-forms/SKILL.md +242 -0
- package/content/guidance/b2c/b2c-forms/references/FORM-XML.md +409 -0
- package/content/guidance/b2c/b2c-hooks/SKILL.md +500 -0
- package/content/guidance/b2c/b2c-hooks/references/OCAPI-SCAPI-HOOKS.md +403 -0
- package/content/guidance/b2c/b2c-hooks/references/ORDER-HOOK-LIFECYCLE.md +169 -0
- package/content/guidance/b2c/b2c-hooks/references/SYSTEM-HOOKS.md +433 -0
- package/content/guidance/b2c/b2c-isml/SKILL.md +320 -0
- package/content/guidance/b2c/b2c-isml/references/EXPRESSIONS.md +366 -0
- package/content/guidance/b2c/b2c-isml/references/TAGS.md +443 -0
- package/content/guidance/b2c/b2c-localization/SKILL.md +344 -0
- package/content/guidance/b2c/b2c-localization/references/PATTERNS.md +407 -0
- package/content/guidance/b2c/b2c-logging/SKILL.md +352 -0
- package/content/guidance/b2c/b2c-logging/references/LOG-FILES.md +282 -0
- package/content/guidance/b2c/b2c-metadata/SKILL.md +406 -0
- package/content/guidance/b2c/b2c-metadata/references/SYSTEM-OBJECTS.md +320 -0
- package/content/guidance/b2c/b2c-metadata/references/XML-EXAMPLES.md +366 -0
- package/content/guidance/b2c/b2c-onboarding/SKILL.md +154 -0
- package/content/guidance/b2c/b2c-ordering/SKILL.md +391 -0
- package/content/guidance/b2c/b2c-page-designer/SKILL.md +410 -0
- package/content/guidance/b2c/b2c-page-designer/references/ATTRIBUTE-TYPES.md +436 -0
- package/content/guidance/b2c/b2c-page-designer/references/META-DEFINITIONS.md +340 -0
- package/content/guidance/b2c/b2c-querying-data/SKILL.md +289 -0
- package/content/guidance/b2c/b2c-querying-data/references/PERFORMANCE-APIS.md +74 -0
- package/content/guidance/b2c/b2c-scapi-admin/SKILL.md +53 -0
- package/content/guidance/b2c/b2c-scapi-admin/references/CLIENT-EXAMPLES.md +440 -0
- package/content/guidance/b2c/b2c-scapi-admin/references/INTEGRATION-PATTERNS.md +518 -0
- package/content/guidance/b2c/b2c-scapi-admin/references/OAUTH-SCOPES.md +337 -0
- package/content/guidance/b2c/b2c-scapi-shopper/SKILL.md +56 -0
- package/content/guidance/b2c/b2c-scapi-shopper/references/CHECKOUT-FLOW.md +466 -0
- package/content/guidance/b2c/b2c-scapi-shopper/references/CLIENT-EXAMPLES.md +351 -0
- package/content/guidance/b2c/b2c-scapi-shopper/references/COMMON-PATTERNS.md +390 -0
- package/content/guidance/b2c/b2c-scapi-shopper/references/SCOPES.md +290 -0
- package/content/guidance/b2c/b2c-slas-auth-patterns/SKILL.md +420 -0
- package/content/guidance/b2c/b2c-slas-auth-patterns/references/PASSKEYS.md +126 -0
- package/content/guidance/b2c/b2c-slas-auth-patterns/references/SESSION-BRIDGE.md +267 -0
- package/content/guidance/b2c/b2c-slas-auth-patterns/references/TOKEN-LIFECYCLE.md +367 -0
- package/content/guidance/b2c/b2c-webservices/SKILL.md +318 -0
- package/content/guidance/b2c/b2c-webservices/references/FTP-SERVICES.md +524 -0
- package/content/guidance/b2c/b2c-webservices/references/HTTP-SERVICES.md +578 -0
- package/content/guidance/b2c/b2c-webservices/references/SERVICES-XML.md +351 -0
- package/content/guidance/b2c/b2c-webservices/references/SOAP-SERVICES.md +587 -0
- package/content/guidance/b2c-cli/b2c-am/SKILL.md +277 -0
- package/content/guidance/b2c-cli/b2c-bm-users-roles/SKILL.md +210 -0
- package/content/guidance/b2c-cli/b2c-cap/SKILL.md +131 -0
- package/content/guidance/b2c-cli/b2c-cip/SKILL.md +116 -0
- package/content/guidance/b2c-cli/b2c-cip/references/KNOWN_TABLES.md +105 -0
- package/content/guidance/b2c-cli/b2c-cip/references/SALES_ANALYSIS.md +50 -0
- package/content/guidance/b2c-cli/b2c-cip/references/STARTER_QUERIES.md +147 -0
- package/content/guidance/b2c-cli/b2c-code/SKILL.md +146 -0
- package/content/guidance/b2c-cli/b2c-config/SKILL.md +481 -0
- package/content/guidance/b2c-cli/b2c-content/SKILL.md +176 -0
- package/content/guidance/b2c-cli/b2c-debug/SKILL.md +138 -0
- package/content/guidance/b2c-cli/b2c-docs/SKILL.md +301 -0
- package/content/guidance/b2c-cli/b2c-ecdn/SKILL.md +137 -0
- package/content/guidance/b2c-cli/b2c-ecdn/references/ADVANCED.md +97 -0
- package/content/guidance/b2c-cli/b2c-ecdn/references/SECURITY.md +75 -0
- package/content/guidance/b2c-cli/b2c-import-set-migrations/SKILL.md +265 -0
- package/content/guidance/b2c-cli/b2c-job/SKILL.md +70 -0
- package/content/guidance/b2c-cli/b2c-job/references/EXPORT.md +121 -0
- package/content/guidance/b2c-cli/b2c-job/references/IMPORT.md +55 -0
- package/content/guidance/b2c-cli/b2c-job/references/RUN-AND-MONITOR.md +148 -0
- package/content/guidance/b2c-cli/b2c-logs/SKILL.md +249 -0
- package/content/guidance/b2c-cli/b2c-metrics/SKILL.md +315 -0
- package/content/guidance/b2c-cli/b2c-mrt/SKILL.md +207 -0
- package/content/guidance/b2c-cli/b2c-mrt/references/BUNDLE-COMMANDS.md +203 -0
- package/content/guidance/b2c-cli/b2c-mrt/references/ENVIRONMENT-COMMANDS.md +218 -0
- package/content/guidance/b2c-cli/b2c-mrt/references/PROJECT-COMMANDS.md +154 -0
- package/content/guidance/b2c-cli/b2c-sandbox/SKILL.md +112 -0
- package/content/guidance/b2c-cli/b2c-scapi-custom/SKILL.md +126 -0
- package/content/guidance/b2c-cli/b2c-scapi-schemas/SKILL.md +70 -0
- package/content/guidance/b2c-cli/b2c-scapi-schemas/references/CLI-EXAMPLES.md +108 -0
- package/content/guidance/b2c-cli/b2c-site-import-export/SKILL.md +57 -0
- package/content/guidance/b2c-cli/b2c-site-import-export/references/IMPORT-OPTIONS.md +118 -0
- package/content/guidance/b2c-cli/b2c-site-import-export/references/METADATA-XML.md +381 -0
- package/content/guidance/b2c-cli/b2c-site-import-export/references/WORKFLOWS.md +182 -0
- package/content/guidance/b2c-cli/b2c-sites/SKILL.md +112 -0
- package/content/guidance/b2c-cli/b2c-slas/SKILL.md +182 -0
- package/content/guidance/b2c-cli/b2c-webdav/SKILL.md +186 -0
- package/content/guidance/b2c-ops/b2c-checkout-triage/SKILL.md +68 -0
- package/content/guidance/b2c-ops/b2c-edge-traffic-triage/SKILL.md +69 -0
- package/content/guidance/b2c-ops/b2c-job-health/SKILL.md +80 -0
- package/content/guidance/b2c-ops/b2c-job-health/references/job-logs.md +21 -0
- package/content/guidance/b2c-ops/b2c-order-failure-triage/SKILL.md +66 -0
- package/content/guidance/b2c-ops/b2c-order-failure-triage/references/order-evidence.md +87 -0
- package/content/guidance/b2c-ops/b2c-production-triage/SKILL.md +88 -0
- package/content/guidance/b2c-ops/b2c-production-triage/references/escalation.md +57 -0
- package/content/guidance/index.json +1969 -0
- package/content/guidance/storefront-next/sfnext-accessibility/SKILL.md +103 -0
- package/content/guidance/storefront-next/sfnext-accessibility/references/checklist.md +64 -0
- package/content/guidance/storefront-next/sfnext-analytics-consent/SKILL.md +91 -0
- package/content/guidance/storefront-next/sfnext-analytics-consent/references/CUSTOM-ADAPTER.md +49 -0
- package/content/guidance/storefront-next/sfnext-authentication/SKILL.md +127 -0
- package/content/guidance/storefront-next/sfnext-authentication/references/COOKIES.md +39 -0
- package/content/guidance/storefront-next/sfnext-authentication/references/LOGIN-FLOWS.md +59 -0
- package/content/guidance/storefront-next/sfnext-commerce-features/SKILL.md +67 -0
- package/content/guidance/storefront-next/sfnext-commerce-features/references/FEATURE-PREREQUISITES.md +37 -0
- package/content/guidance/storefront-next/sfnext-components/SKILL.md +153 -0
- package/content/guidance/storefront-next/sfnext-components/references/COMPONENT-AUTHORING.md +118 -0
- package/content/guidance/storefront-next/sfnext-components/references/SHAPE-TOKENS.md +51 -0
- package/content/guidance/storefront-next/sfnext-components/references/STORYBOOK.md +54 -0
- package/content/guidance/storefront-next/sfnext-components/references/TOKEN-SYSTEM.md +53 -0
- package/content/guidance/storefront-next/sfnext-components/references/TROUBLESHOOTING.md +19 -0
- package/content/guidance/storefront-next/sfnext-configuration/SKILL.md +163 -0
- package/content/guidance/storefront-next/sfnext-configuration/references/ENV-VARIABLES.md +55 -0
- package/content/guidance/storefront-next/sfnext-configuration/references/MULTI-SITE-URLS.md +137 -0
- package/content/guidance/storefront-next/sfnext-data-fetching/SKILL.md +140 -0
- package/content/guidance/storefront-next/sfnext-data-fetching/references/ACTIONS.md +53 -0
- package/content/guidance/storefront-next/sfnext-data-fetching/references/API-CLIENTS.md +34 -0
- package/content/guidance/storefront-next/sfnext-data-fetching/references/LOADERS.md +73 -0
- package/content/guidance/storefront-next/sfnext-data-fetching/references/SCAPI-FETCHER.md +39 -0
- package/content/guidance/storefront-next/sfnext-deployment/SKILL.md +127 -0
- package/content/guidance/storefront-next/sfnext-deployment/references/MRT-DEPLOYMENT.md +59 -0
- package/content/guidance/storefront-next/sfnext-extensions/SKILL.md +118 -0
- package/content/guidance/storefront-next/sfnext-extensions/references/ACTION-HOOKS.md +57 -0
- package/content/guidance/storefront-next/sfnext-extensions/references/BASE-AUDIT.md +68 -0
- package/content/guidance/storefront-next/sfnext-extensions/references/CLI-AND-INSTALL.md +58 -0
- package/content/guidance/storefront-next/sfnext-extensions/references/EXTENSION-EXAMPLES.md +79 -0
- package/content/guidance/storefront-next/sfnext-hybrid-storefronts/SKILL.md +93 -0
- package/content/guidance/storefront-next/sfnext-hybrid-storefronts/references/HYBRID-PROXY-CONFIG.md +86 -0
- package/content/guidance/storefront-next/sfnext-i18n/SKILL.md +152 -0
- package/content/guidance/storefront-next/sfnext-i18n/references/locale-config.md +35 -0
- package/content/guidance/storefront-next/sfnext-overview/SKILL.md +101 -0
- package/content/guidance/storefront-next/sfnext-page-designer/SKILL.md +202 -0
- package/content/guidance/storefront-next/sfnext-page-designer/references/BUSINESS-MANAGER.md +46 -0
- package/content/guidance/storefront-next/sfnext-page-designer/references/COMPONENT-REGISTRY.md +111 -0
- package/content/guidance/storefront-next/sfnext-page-designer/references/DECORATOR-PATTERNS.md +168 -0
- package/content/guidance/storefront-next/sfnext-page-designer/references/REVIEW-CHECKLIST.md +83 -0
- package/content/guidance/storefront-next/sfnext-page-designer/references/TROUBLESHOOTING.md +35 -0
- package/content/guidance/storefront-next/sfnext-performance/SKILL.md +102 -0
- package/content/guidance/storefront-next/sfnext-performance/references/PERFORMANCE-REVIEW-CHECKLIST.md +85 -0
- package/content/guidance/storefront-next/sfnext-performance/references/SUSPENSE-AND-STREAMING.md +58 -0
- package/content/guidance/storefront-next/sfnext-project-setup/SKILL.md +147 -0
- package/content/guidance/storefront-next/sfnext-project-setup/references/PROJECT-STRUCTURE.md +61 -0
- package/content/guidance/storefront-next/sfnext-project-setup/references/SCRIPTS.md +47 -0
- package/content/guidance/storefront-next/sfnext-project-setup/references/SFNEXT-CLI.md +63 -0
- package/content/guidance/storefront-next/sfnext-quality-gates/SKILL.md +70 -0
- package/content/guidance/storefront-next/sfnext-quality-gates/references/lint-and-budgets.md +39 -0
- package/content/guidance/storefront-next/sfnext-revalidation/SKILL.md +121 -0
- package/content/guidance/storefront-next/sfnext-revalidation/references/POLICIES-AND-TAGS.md +55 -0
- package/content/guidance/storefront-next/sfnext-routing/SKILL.md +123 -0
- package/content/guidance/storefront-next/sfnext-routing/references/ROUTE-CONVENTIONS.md +65 -0
- package/content/guidance/storefront-next/sfnext-routing/references/URLS-AND-SEO-ROUTES.md +22 -0
- package/content/guidance/storefront-next/sfnext-scapi/SKILL.md +126 -0
- package/content/guidance/storefront-next/sfnext-scapi/references/WORKED-EXAMPLE.md +39 -0
- package/content/guidance/storefront-next/sfnext-security/SKILL.md +129 -0
- package/content/guidance/storefront-next/sfnext-security/references/COOKIE-DOMAIN.md +39 -0
- package/content/guidance/storefront-next/sfnext-security/references/TURNSTILE.md +43 -0
- package/content/guidance/storefront-next/sfnext-seo/SKILL.md +95 -0
- package/content/guidance/storefront-next/sfnext-seo/references/MULTI-DOMAIN-BASE-PATH.md +17 -0
- package/content/guidance/storefront-next/sfnext-seo/references/SEO-ROUTES.md +31 -0
- package/content/guidance/storefront-next/sfnext-state-management/SKILL.md +114 -0
- package/content/guidance/storefront-next/sfnext-state-management/references/PATTERNS.md +45 -0
- package/content/guidance/storefront-next/sfnext-testing/SKILL.md +151 -0
- package/content/guidance/storefront-next/sfnext-testing/references/E2E.md +38 -0
- package/content/guidance/storefront-next/sfnext-testing/references/STORYBOOK-PATTERNS.md +97 -0
- package/content/guidance/storefront-next/sfnext-testing/references/UNIT-AND-ROUTE-TESTS.md +60 -0
- package/content/guidance/storefront-next/sfnext-theming/SKILL.md +104 -0
- package/content/guidance/storefront-next/sfnext-theming/references/REBRAND-CHECKLIST.md +29 -0
- package/dist/commands/cap/install.d.ts +1 -0
- package/dist/commands/cap/list.d.ts +1 -0
- package/dist/commands/cap/pull.d.ts +1 -0
- package/dist/commands/cap/tasks.d.ts +1 -0
- package/dist/commands/cap/uninstall.d.ts +1 -0
- package/dist/commands/cip/describe.d.ts +1 -0
- package/dist/commands/cip/query.d.ts +1 -0
- package/dist/commands/cip/report/bot-traffic-share.d.ts +1 -0
- package/dist/commands/cip/report/checkout-funnel-dropoff.d.ts +1 -0
- package/dist/commands/cip/report/controller-error-rate-trend.d.ts +1 -0
- package/dist/commands/cip/report/controller-health-scorecard.d.ts +1 -0
- package/dist/commands/cip/report/customer-registration-trends.d.ts +1 -0
- package/dist/commands/cip/report/discount-depth-breakdown.d.ts +1 -0
- package/dist/commands/cip/report/inventory-stockout-by-location.d.ts +1 -0
- package/dist/commands/cip/report/new-vs-returning-buyer-revenue.d.ts +1 -0
- package/dist/commands/cip/report/ocapi-client-usage.d.ts +1 -0
- package/dist/commands/cip/report/ocapi-requests.d.ts +1 -0
- package/dist/commands/cip/report/payment-method-performance.d.ts +1 -0
- package/dist/commands/cip/report/product-co-purchase-analysis.d.ts +1 -0
- package/dist/commands/cip/report/promotion-discount-analysis.d.ts +1 -0
- package/dist/commands/cip/report/promotion-roi-leaderboard.d.ts +1 -0
- package/dist/commands/cip/report/recommender-effectiveness.d.ts +1 -0
- package/dist/commands/cip/report/remote-include-performance.d.ts +1 -0
- package/dist/commands/cip/report/revenue-by-channel.d.ts +1 -0
- package/dist/commands/cip/report/sales-analytics.d.ts +1 -0
- package/dist/commands/cip/report/sales-summary.d.ts +1 -0
- package/dist/commands/cip/report/scapi-cache-hit-ratio.d.ts +1 -0
- package/dist/commands/cip/report/scapi-error-rate-by-status.d.ts +1 -0
- package/dist/commands/cip/report/scapi-latency-distribution.d.ts +1 -0
- package/dist/commands/cip/report/scapi-traffic-latency.d.ts +1 -0
- package/dist/commands/cip/report/search-query-performance.d.ts +1 -0
- package/dist/commands/cip/report/top-referrers.d.ts +1 -0
- package/dist/commands/cip/report/top-selling-products.d.ts +1 -0
- package/dist/commands/cip/report/zero-result-searches.d.ts +1 -0
- package/dist/commands/cip/tables.d.ts +1 -0
- package/dist/commands/code/activate.d.ts +1 -0
- package/dist/commands/code/delete.d.ts +1 -0
- package/dist/commands/code/deploy.d.ts +1 -0
- package/dist/commands/code/download.d.ts +1 -0
- package/dist/commands/code/watch.d.ts +1 -0
- package/dist/commands/commands/search.d.ts +35 -0
- package/dist/commands/commands/search.js +85 -0
- package/dist/commands/commands/search.js.map +1 -0
- package/dist/commands/content/export.d.ts +1 -0
- package/dist/commands/content/list.d.ts +1 -0
- package/dist/commands/content/validate.d.ts +1 -0
- package/dist/commands/debug/cli.d.ts +1 -0
- package/dist/commands/debug/index.d.ts +1 -0
- package/dist/commands/docs/cache.d.ts +1 -0
- package/dist/commands/docs/download.d.ts +1 -0
- package/dist/commands/docs/read.d.ts +1 -0
- package/dist/commands/docs/schema.d.ts +1 -0
- package/dist/commands/docs/search.d.ts +1 -0
- package/dist/commands/docs/skill.d.ts +41 -0
- package/dist/commands/docs/skill.js +183 -0
- package/dist/commands/docs/skill.js.map +1 -0
- package/dist/commands/ecdn/cache/purge.d.ts +1 -0
- package/dist/commands/ecdn/certificates/add.d.ts +1 -0
- package/dist/commands/ecdn/certificates/delete.d.ts +1 -0
- package/dist/commands/ecdn/certificates/list.d.ts +1 -0
- package/dist/commands/ecdn/certificates/update.d.ts +1 -0
- package/dist/commands/ecdn/certificates/validate.d.ts +1 -0
- package/dist/commands/ecdn/cipher-suites/get.d.ts +1 -0
- package/dist/commands/ecdn/cipher-suites/update.d.ts +1 -0
- package/dist/commands/ecdn/firewall/create.d.ts +1 -0
- package/dist/commands/ecdn/firewall/delete.d.ts +1 -0
- package/dist/commands/ecdn/firewall/get.d.ts +1 -0
- package/dist/commands/ecdn/firewall/list.d.ts +1 -0
- package/dist/commands/ecdn/firewall/reorder.d.ts +1 -0
- package/dist/commands/ecdn/firewall/update.d.ts +1 -0
- package/dist/commands/ecdn/logpush/jobs/create.d.ts +1 -0
- package/dist/commands/ecdn/logpush/jobs/delete.d.ts +1 -0
- package/dist/commands/ecdn/logpush/jobs/get.d.ts +1 -0
- package/dist/commands/ecdn/logpush/jobs/list.d.ts +1 -0
- package/dist/commands/ecdn/logpush/jobs/update.d.ts +1 -0
- package/dist/commands/ecdn/logpush/ownership.d.ts +1 -0
- package/dist/commands/ecdn/mrt-rules/create.d.ts +1 -0
- package/dist/commands/ecdn/mrt-rules/delete.d.ts +1 -0
- package/dist/commands/ecdn/mrt-rules/get.d.ts +1 -0
- package/dist/commands/ecdn/mrt-rules/rules/delete.d.ts +1 -0
- package/dist/commands/ecdn/mrt-rules/rules/update.d.ts +1 -0
- package/dist/commands/ecdn/mrt-rules/update.d.ts +1 -0
- package/dist/commands/ecdn/mtls/create.d.ts +1 -0
- package/dist/commands/ecdn/mtls/delete.d.ts +1 -0
- package/dist/commands/ecdn/mtls/get.d.ts +1 -0
- package/dist/commands/ecdn/mtls/issue.d.ts +1 -0
- package/dist/commands/ecdn/mtls/list.d.ts +1 -0
- package/dist/commands/ecdn/mtls/setup.d.ts +1 -0
- package/dist/commands/ecdn/origin-headers/delete.d.ts +1 -0
- package/dist/commands/ecdn/origin-headers/get.d.ts +1 -0
- package/dist/commands/ecdn/origin-headers/set.d.ts +1 -0
- package/dist/commands/ecdn/page-shield/notifications/create.d.ts +1 -0
- package/dist/commands/ecdn/page-shield/notifications/delete.d.ts +1 -0
- package/dist/commands/ecdn/page-shield/notifications/list.d.ts +1 -0
- package/dist/commands/ecdn/page-shield/policies/create.d.ts +1 -0
- package/dist/commands/ecdn/page-shield/policies/delete.d.ts +1 -0
- package/dist/commands/ecdn/page-shield/policies/get.d.ts +1 -0
- package/dist/commands/ecdn/page-shield/policies/list.d.ts +1 -0
- package/dist/commands/ecdn/page-shield/policies/update.d.ts +1 -0
- package/dist/commands/ecdn/page-shield/scripts/get.d.ts +1 -0
- package/dist/commands/ecdn/page-shield/scripts/list.d.ts +1 -0
- package/dist/commands/ecdn/rate-limit/create.d.ts +1 -0
- package/dist/commands/ecdn/rate-limit/delete.d.ts +1 -0
- package/dist/commands/ecdn/rate-limit/get.d.ts +1 -0
- package/dist/commands/ecdn/rate-limit/list.d.ts +1 -0
- package/dist/commands/ecdn/rate-limit/update.d.ts +1 -0
- package/dist/commands/ecdn/security/get.d.ts +1 -0
- package/dist/commands/ecdn/security/update.d.ts +1 -0
- package/dist/commands/ecdn/speed/get.d.ts +1 -0
- package/dist/commands/ecdn/speed/update.d.ts +1 -0
- package/dist/commands/ecdn/waf/groups/list.d.ts +1 -0
- package/dist/commands/ecdn/waf/groups/update.d.ts +1 -0
- package/dist/commands/ecdn/waf/managed-rules/list.d.ts +1 -0
- package/dist/commands/ecdn/waf/managed-rules/update.d.ts +1 -0
- package/dist/commands/ecdn/waf/migrate.d.ts +1 -0
- package/dist/commands/ecdn/waf/owasp/get.d.ts +1 -0
- package/dist/commands/ecdn/waf/owasp/update.d.ts +1 -0
- package/dist/commands/ecdn/waf/rules/get.d.ts +1 -0
- package/dist/commands/ecdn/waf/rules/list.d.ts +1 -0
- package/dist/commands/ecdn/waf/rules/update.d.ts +1 -0
- package/dist/commands/ecdn/waf/rulesets/list.d.ts +1 -0
- package/dist/commands/ecdn/waf/rulesets/update.d.ts +1 -0
- package/dist/commands/ecdn/zones/create.d.ts +1 -0
- package/dist/commands/ecdn/zones/list.d.ts +1 -0
- package/dist/commands/job/execution/delete.d.ts +1 -0
- package/dist/commands/job/export.d.ts +1 -0
- package/dist/commands/job/import-set.d.ts +1 -0
- package/dist/commands/job/import.d.ts +1 -0
- package/dist/commands/job/log.d.ts +1 -0
- package/dist/commands/job/run.d.ts +1 -0
- package/dist/commands/job/run.js +1 -1
- package/dist/commands/job/run.js.map +1 -1
- package/dist/commands/job/search.d.ts +1 -0
- package/dist/commands/job/wait.d.ts +1 -0
- package/dist/commands/logs/get.d.ts +1 -0
- package/dist/commands/logs/list.d.ts +1 -0
- package/dist/commands/logs/tail.d.ts +1 -0
- package/dist/commands/metrics/controller.d.ts +1 -0
- package/dist/commands/metrics/ecdn.d.ts +1 -0
- package/dist/commands/metrics/mrt.d.ts +1 -0
- package/dist/commands/metrics/ocapi.d.ts +1 -0
- package/dist/commands/metrics/overall.d.ts +1 -0
- package/dist/commands/metrics/sales.d.ts +1 -0
- package/dist/commands/metrics/scapi-hooks.d.ts +1 -0
- package/dist/commands/metrics/scapi.d.ts +1 -0
- package/dist/commands/metrics/third-party.d.ts +1 -0
- package/dist/commands/mrt/bundle/delete.d.ts +1 -0
- package/dist/commands/mrt/bundle/deploy.d.ts +1 -0
- package/dist/commands/mrt/bundle/download.d.ts +1 -0
- package/dist/commands/mrt/bundle/history.d.ts +1 -0
- package/dist/commands/mrt/bundle/list.d.ts +1 -0
- package/dist/commands/mrt/bundle/save.d.ts +1 -0
- package/dist/commands/mrt/bundle/upload-v2.d.ts +1 -0
- package/dist/commands/mrt/env/access-control/list.d.ts +1 -0
- package/dist/commands/mrt/env/b2c.d.ts +1 -0
- package/dist/commands/mrt/env/clone.d.ts +1 -0
- package/dist/commands/mrt/env/create.d.ts +1 -0
- package/dist/commands/mrt/env/delete.d.ts +1 -0
- package/dist/commands/mrt/env/get.d.ts +1 -0
- package/dist/commands/mrt/env/invalidate.d.ts +1 -0
- package/dist/commands/mrt/env/list.d.ts +1 -0
- package/dist/commands/mrt/env/redirect/clone.d.ts +1 -0
- package/dist/commands/mrt/env/redirect/create.d.ts +1 -0
- package/dist/commands/mrt/env/redirect/delete.d.ts +1 -0
- package/dist/commands/mrt/env/redirect/list.d.ts +1 -0
- package/dist/commands/mrt/env/update.d.ts +1 -0
- package/dist/commands/mrt/env/var/delete.d.ts +1 -0
- package/dist/commands/mrt/env/var/list.d.ts +1 -0
- package/dist/commands/mrt/env/var/push.d.ts +1 -0
- package/dist/commands/mrt/env/var/set.d.ts +1 -0
- package/dist/commands/mrt/org/b2c.d.ts +1 -0
- package/dist/commands/mrt/org/cert/create.d.ts +1 -0
- package/dist/commands/mrt/org/cert/delete.d.ts +1 -0
- package/dist/commands/mrt/org/cert/get.d.ts +1 -0
- package/dist/commands/mrt/org/cert/list.d.ts +1 -0
- package/dist/commands/mrt/org/cert/restart-validation.d.ts +1 -0
- package/dist/commands/mrt/org/list.d.ts +1 -0
- package/dist/commands/mrt/org/member/add.d.ts +1 -0
- package/dist/commands/mrt/org/member/get.d.ts +1 -0
- package/dist/commands/mrt/org/member/list.d.ts +1 -0
- package/dist/commands/mrt/org/member/remove.d.ts +1 -0
- package/dist/commands/mrt/org/member/update.d.ts +1 -0
- package/dist/commands/mrt/project/create.d.ts +1 -0
- package/dist/commands/mrt/project/delete.d.ts +1 -0
- package/dist/commands/mrt/project/get.d.ts +1 -0
- package/dist/commands/mrt/project/list.d.ts +1 -0
- package/dist/commands/mrt/project/member/add.d.ts +1 -0
- package/dist/commands/mrt/project/member/get.d.ts +1 -0
- package/dist/commands/mrt/project/member/list.d.ts +1 -0
- package/dist/commands/mrt/project/member/remove.d.ts +1 -0
- package/dist/commands/mrt/project/member/update.d.ts +1 -0
- package/dist/commands/mrt/project/notification/delete.d.ts +1 -0
- package/dist/commands/mrt/project/notification/get.d.ts +1 -0
- package/dist/commands/mrt/project/update.d.ts +1 -0
- package/dist/commands/mrt/save-credentials.d.ts +1 -0
- package/dist/commands/mrt/tail-logs.d.ts +1 -0
- package/dist/commands/mrt/user/api-key.d.ts +1 -0
- package/dist/commands/mrt/user/email-prefs.d.ts +1 -0
- package/dist/commands/mrt/user/profile.d.ts +1 -0
- package/dist/commands/scaffold/init.js +2 -1
- package/dist/commands/scaffold/init.js.map +1 -1
- package/dist/commands/scapi/custom/status.d.ts +1 -0
- package/dist/commands/scapi/schemas/get.d.ts +9 -0
- package/dist/commands/scapi/schemas/get.js +51 -19
- package/dist/commands/scapi/schemas/get.js.map +1 -1
- package/dist/commands/scapi/schemas/list.d.ts +6 -0
- package/dist/commands/scapi/schemas/list.js +28 -18
- package/dist/commands/scapi/schemas/list.js.map +1 -1
- package/dist/commands/setup/get.d.ts +36 -0
- package/dist/commands/setup/get.js +67 -0
- package/dist/commands/setup/get.js.map +1 -0
- package/dist/commands/setup/ide/tsserver-plugin.d.ts +1 -0
- package/dist/commands/setup/ide/vscode-types.d.ts +1 -0
- package/dist/commands/setup/index.js +4 -3
- package/dist/commands/setup/index.js.map +1 -1
- package/dist/commands/setup/inspect.d.ts +1 -0
- package/dist/commands/setup/inspect.js +15 -4
- package/dist/commands/setup/inspect.js.map +1 -1
- package/dist/commands/setup/instance/create.d.ts +9 -0
- package/dist/commands/setup/instance/create.js +22 -6
- package/dist/commands/setup/instance/create.js.map +1 -1
- package/dist/commands/setup/instance/list.d.ts +1 -0
- package/dist/commands/setup/instance/list.js +3 -4
- package/dist/commands/setup/instance/list.js.map +1 -1
- package/dist/commands/setup/instance/remove.d.ts +1 -0
- package/dist/commands/setup/instance/remove.js +5 -5
- package/dist/commands/setup/instance/remove.js.map +1 -1
- package/dist/commands/setup/instance/set-active.d.ts +6 -0
- package/dist/commands/setup/instance/set-active.js +20 -5
- package/dist/commands/setup/instance/set-active.js.map +1 -1
- package/dist/commands/setup/openshell.d.ts +1 -0
- package/dist/commands/setup/set.d.ts +37 -0
- package/dist/commands/setup/set.js +87 -0
- package/dist/commands/setup/set.js.map +1 -0
- package/dist/commands/setup/skills.d.ts +1 -0
- package/dist/commands/setup/unset.d.ts +37 -0
- package/dist/commands/setup/unset.js +55 -0
- package/dist/commands/setup/unset.js.map +1 -0
- package/dist/commands/slas/client/create.d.ts +1 -0
- package/dist/commands/slas/client/delete.d.ts +1 -0
- package/dist/commands/slas/client/get.d.ts +1 -0
- package/dist/commands/slas/client/list.d.ts +1 -0
- package/dist/commands/slas/client/open.d.ts +1 -0
- package/dist/commands/slas/client/update.d.ts +1 -0
- package/dist/commands/slas/token.d.ts +1 -0
- package/dist/commands/slas/token.js +2 -1
- package/dist/commands/slas/token.js.map +1 -1
- package/dist/commands/webdav/get.d.ts +1 -0
- package/dist/commands/webdav/rm.d.ts +1 -0
- package/dist/help.d.ts +25 -0
- package/dist/help.js +96 -0
- package/dist/help.js.map +1 -0
- package/dist/lib/scaffold/generate-helper.js +3 -2
- package/dist/lib/scaffold/generate-helper.js.map +1 -1
- package/dist/lib/skills.d.ts +19 -0
- package/dist/lib/skills.js +75 -0
- package/dist/lib/skills.js.map +1 -0
- package/dist/utils/cip/command.d.ts +1 -0
- package/dist/utils/ecdn/zone-command.d.ts +1 -0
- package/dist/utils/setup/config-field-command.d.ts +25 -0
- package/dist/utils/setup/config-field-command.js +41 -0
- package/dist/utils/setup/config-field-command.js.map +1 -0
- package/dist/utils/slas/client.d.ts +1 -0
- package/oclif.manifest.json +20802 -16968
- package/package.json +11 -5
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
# Run and Monitor Jobs
|
|
2
|
+
|
|
3
|
+
### Run a Job
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
# run a job and return immediately
|
|
7
|
+
b2c job run my-custom-job
|
|
8
|
+
|
|
9
|
+
# run a job and wait for completion
|
|
10
|
+
b2c job run my-custom-job --wait
|
|
11
|
+
|
|
12
|
+
# run a job with a timeout (in seconds)
|
|
13
|
+
b2c job run my-custom-job --wait --timeout 600
|
|
14
|
+
|
|
15
|
+
# run a job with parameters (standard jobs)
|
|
16
|
+
b2c job run my-custom-job -P "SiteScope={\"all_storefront_sites\":true}" -P OtherParam=value
|
|
17
|
+
|
|
18
|
+
# show job log if the job fails
|
|
19
|
+
b2c job run my-custom-job --wait --show-log
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
### Run System Jobs with Custom Request Bodies
|
|
23
|
+
|
|
24
|
+
System jobs (`sfcc-*`) do **not** take the generic `parameters` array, so `-P` fails
|
|
25
|
+
for them (`unknown property 'parameters'`). Send the job's own document with `--body`
|
|
26
|
+
(`--body` and `-P` are mutually exclusive). The body is the same JSON on SCAPI and
|
|
27
|
+
OCAPI; field names are snake_case and `site_scope` is a plain array of site IDs.
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
# rebuild the product search index for one site
|
|
31
|
+
b2c job run sfcc-search-index-product-full-update --wait --body '{"site_scope":["RefArch"]}'
|
|
32
|
+
|
|
33
|
+
# several sites
|
|
34
|
+
b2c job run sfcc-search-index-product-full-update --wait --body '{"site_scope":["RefArch","SiteGenesis"]}'
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
| System job ID | Body |
|
|
38
|
+
| -------------------------------------------------- | --------------------------------------- |
|
|
39
|
+
| `sfcc-search-index-product-full-update` | `{"site_scope":["SiteId"]}` |
|
|
40
|
+
| `sfcc-search-index-product-incremental-update` | `{"site_scope":["SiteId"]}` |
|
|
41
|
+
| `sfcc-search-index-content-full-update` | `{"site_scope":["SiteId"]}` |
|
|
42
|
+
| `sfcc-search-index-content-incremental-update` | `{"site_scope":["SiteId"]}` |
|
|
43
|
+
| `sfcc-search-index-active-data-full-update` | `{"site_scope":["SiteId"]}` |
|
|
44
|
+
| `sfcc-search-index-active-data-incremental-update` | `{"site_scope":["SiteId"]}` |
|
|
45
|
+
| `sfcc-site-archive-import` / `-export` | use `b2c job import` / `b2c job export` |
|
|
46
|
+
|
|
47
|
+
Common mistakes (all wrong): `{"site_scope":{"named_sites":[...]}}` (object, rejected as
|
|
48
|
+
"expected START*ARRAY"), `siteScope`/camelCase, and `-P SiteScope=...`. The
|
|
49
|
+
`SiteScope={"named_sites":[...]}` value is a \_parameter* of custom/standard-step jobs
|
|
50
|
+
run with `-P`, not a system-job body. Source: OCAPI `SearchIndexUpdateConfiguration`
|
|
51
|
+
(`b2c docs read ocapi/searchindexupdateconfiguration`).
|
|
52
|
+
|
|
53
|
+
A `JobAlreadyRunningException` (400) means another index job of that kind is active for
|
|
54
|
+
a different site scope; wait for it rather than retrying.
|
|
55
|
+
|
|
56
|
+
A SCAPI 400 (for example a decode error naming the bad property) is a request error and is
|
|
57
|
+
reported as-is; `auto` does not retry it over OCAPI. Fallback happens only for
|
|
58
|
+
auth/capability rejections (invalid scope, 401/403/404/405/406/415); if OCAPI then also
|
|
59
|
+
fails, the error shows both, with "The SCAPI attempt was rejected first: ...". An OCAPI
|
|
60
|
+
"isn't allowed for the current client" means the client has no OCAPI job permission.
|
|
61
|
+
|
|
62
|
+
From MCP code mode, the same job is a SCAPI `createJobExecution` call; see
|
|
63
|
+
`skill://mcp/b2c-mcp-scapi/references/jobs.md` (section "Start a job").
|
|
64
|
+
|
|
65
|
+
### Standard (System) Job Steps
|
|
66
|
+
|
|
67
|
+
B2C Commerce ships a catalog of **standard job steps** — built-in step **type IDs** (for example `ImportCatalog`, `ExportCatalog`, `ImportInventoryLists`) that are added to job flows in **Business Manager → Administration → Operations → Jobs**, or referenced by type ID in a `jobs.xml` flow inside a site-import archive. They are the building blocks of the multi-step jobs you run with `b2c job run`.
|
|
68
|
+
|
|
69
|
+
Look up the catalog and any step's configuration parameters via the `b2c-cli:b2c-docs` skill — these docs are bundled with the CLI, so no instance connection is needed:
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
# Browse the standard step catalog
|
|
73
|
+
b2c docs read job-steps
|
|
74
|
+
|
|
75
|
+
# Look up a specific step's purpose + parameters
|
|
76
|
+
b2c docs read ImportCatalog
|
|
77
|
+
b2c docs search "export inventory"
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
**In-flow standard step vs. CLI command.** Some standard steps overlap with CLI commands — for instance, the standard catalog/site import steps vs. `b2c job import` (which itself runs the `sfcc-site-archive-import` system job). Use an **in-flow standard step** when the file is already staged on the instance or produced by an earlier step in the same flow (no round-trip, runs on a BM schedule). Use the **CLI** when moving data between your machine and the instance (uploading a local archive, downloading an export, or scripting from CI). For chaining custom + standard steps and IMPEX file hand-off, see the `b2c:b2c-custom-job-steps` skill.
|
|
81
|
+
|
|
82
|
+
### View Job Logs
|
|
83
|
+
|
|
84
|
+
```bash
|
|
85
|
+
# get the log from the most recent execution of a job
|
|
86
|
+
b2c job log my-custom-job
|
|
87
|
+
|
|
88
|
+
# get the log from the most recent failed execution
|
|
89
|
+
b2c job log my-custom-job --failed
|
|
90
|
+
|
|
91
|
+
# get the log from a specific execution
|
|
92
|
+
b2c job log my-custom-job abc123-def456
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### Search Job Executions
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
# search for recent job executions
|
|
99
|
+
b2c job search
|
|
100
|
+
|
|
101
|
+
# filter by job ID
|
|
102
|
+
b2c job search --job-id my-custom-job
|
|
103
|
+
|
|
104
|
+
# filter by status
|
|
105
|
+
b2c job search --status ERROR
|
|
106
|
+
b2c job search --status RUNNING,PENDING
|
|
107
|
+
|
|
108
|
+
# control result count and pagination
|
|
109
|
+
b2c job search --count 50 --start 0
|
|
110
|
+
|
|
111
|
+
# sort results
|
|
112
|
+
b2c job search --sort-by start_time --sort-order desc
|
|
113
|
+
|
|
114
|
+
# search with JSON output
|
|
115
|
+
b2c job search --json
|
|
116
|
+
```
|
|
117
|
+
|
|
118
|
+
### Delete Job Executions
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
# delete a job execution record (requires SCAPI)
|
|
122
|
+
b2c job execution delete my-job abc123-def456
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
### API Backend
|
|
126
|
+
|
|
127
|
+
Job commands run over SCAPI. Configure `shortCode`, `tenantId`, and the SCAPI scopes and `job run`, `job search`, `job wait`, and `job log` work out of the box.
|
|
128
|
+
|
|
129
|
+
**SCAPI scopes**: `sfcc.jobs.rw` (recommended) for full access, or `sfcc.jobs` for read-only (search, wait, log).
|
|
130
|
+
|
|
131
|
+
OCAPI is deprecated and disabled on newer instances. `--api-backend auto` (the default) falls back to the OCAPI Data API on safe SCAPI capability/auth/request rejections; force a backend with `--api-backend scapi|ocapi`, dw.json `"api-backend": "scapi"`, or `SFCC_API_BACKEND=scapi`.
|
|
132
|
+
|
|
133
|
+
SCAPI `DELETE` removes a completed execution record; it does not cancel a running job. The CLI does not expose job cancellation because the underlying job APIs do not provide that operation.
|
|
134
|
+
|
|
135
|
+
> **Note:** `job import` and `job export` trigger the site-archive system jobs and transfer archive files over WebDAV. The job trigger honors `--api-backend`: in `auto` mode it runs over SCAPI (needs `sfcc.jobs.rw`) with OCAPI fallback if the SCAPI start is rejected. The archive transfer always uses WebDAV.
|
|
136
|
+
|
|
137
|
+
### Wait for Job Completion
|
|
138
|
+
|
|
139
|
+
```bash
|
|
140
|
+
# wait for a specific job execution to complete (requires both job ID and execution ID)
|
|
141
|
+
b2c job wait <job-id> <execution-id>
|
|
142
|
+
|
|
143
|
+
# wait with a timeout
|
|
144
|
+
b2c job wait <job-id> <execution-id> --timeout 600
|
|
145
|
+
|
|
146
|
+
# wait with a custom polling interval
|
|
147
|
+
b2c job wait <job-id> <execution-id> --poll-interval 5
|
|
148
|
+
```
|
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: b2c-logs
|
|
3
|
+
description: Retrieve and search logs from B2C Commerce instances using the b2c CLI. Use this skill whenever the user needs to view server logs, search for errors, filter log entries by level or time, or monitor logs in real-time. Also use when the user reports a 500 error, broken checkout, failing job, or any server-side issue that needs log investigation — even if they just say "something's broken on the sandbox" or "check the logs".
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
# B2C Logs Skill
|
|
7
|
+
|
|
8
|
+
Use the `b2c` CLI to retrieve and monitor log files on Salesforce B2C Commerce instances. The `logs get` command is designed for agent-friendly, non-interactive log retrieval with structured JSON output.
|
|
9
|
+
|
|
10
|
+
> **Tip:** If `b2c` is not installed globally, use `npx @salesforce/b2c-cli` instead (e.g., `npx @salesforce/b2c-cli logs get`).
|
|
11
|
+
|
|
12
|
+
## Configuration & Authentication
|
|
13
|
+
|
|
14
|
+
The CLI auto-discovers the target instance and credentials from `SFCC_*` environment variables (including project `.env`), the selected project-local or shared `dw.json`, and configuration plugins. `package.json` supplies only non-sensitive defaults. **Flags like `--server`, `--client-id`, `--client-secret`, `--username`, and `--password` are usually unnecessary** — only pass them to override what's auto-detected.
|
|
15
|
+
|
|
16
|
+
Run `b2c setup inspect` to see the resolved configuration and which source provided each value (use `--json` for scripting; secrets stay masked by default). For precedence rules and troubleshooting, see the `b2c-cli:b2c-config` skill.
|
|
17
|
+
|
|
18
|
+
## Agent-Friendly Log Retrieval
|
|
19
|
+
|
|
20
|
+
The `logs get` command is optimized for coding agents:
|
|
21
|
+
|
|
22
|
+
- Exits immediately after retrieving logs (non-interactive)
|
|
23
|
+
- Supports `--json` for structured output
|
|
24
|
+
- Filters by time, level, and text search
|
|
25
|
+
- Auto-normalizes file paths for IDE click-to-open
|
|
26
|
+
|
|
27
|
+
## Examples
|
|
28
|
+
|
|
29
|
+
### Get Recent Logs
|
|
30
|
+
|
|
31
|
+
```bash
|
|
32
|
+
# Get last 20 entries from error and customerror logs (default)
|
|
33
|
+
b2c logs get
|
|
34
|
+
|
|
35
|
+
# Get last 50 entries
|
|
36
|
+
b2c logs get --count 50
|
|
37
|
+
|
|
38
|
+
# JSON output for programmatic parsing
|
|
39
|
+
b2c logs get --json
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
### Filter by Time
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
# Entries from the last 5 minutes
|
|
46
|
+
b2c logs get --since 5m
|
|
47
|
+
|
|
48
|
+
# Entries from the last 1 hour
|
|
49
|
+
b2c logs get --since 1h
|
|
50
|
+
|
|
51
|
+
# Entries from the last 2 days
|
|
52
|
+
b2c logs get --since 2d
|
|
53
|
+
|
|
54
|
+
# Entries after a specific time (ISO 8601)
|
|
55
|
+
b2c logs get --since "2026-01-25T10:00:00"
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### Filter by Log Level
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
# Only ERROR level entries
|
|
62
|
+
b2c logs get --level ERROR
|
|
63
|
+
|
|
64
|
+
# ERROR and FATAL entries
|
|
65
|
+
b2c logs get --level ERROR --level FATAL
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### Search Text
|
|
69
|
+
|
|
70
|
+
```bash
|
|
71
|
+
# Search for "OrderMgr" in messages
|
|
72
|
+
b2c logs get --search OrderMgr
|
|
73
|
+
|
|
74
|
+
# Search for payment errors
|
|
75
|
+
b2c logs get --search "PaymentProcessor"
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
### Combined Filters
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
# Recent errors containing "PaymentProcessor"
|
|
82
|
+
b2c logs get --since 1h --level ERROR --search "PaymentProcessor" --json
|
|
83
|
+
|
|
84
|
+
# Last hour of errors and fatals from specific log types
|
|
85
|
+
b2c logs get --filter error --filter warn --since 1h --level ERROR --level FATAL
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
### List Available Log Files
|
|
89
|
+
|
|
90
|
+
```bash
|
|
91
|
+
# List all log files
|
|
92
|
+
b2c logs list
|
|
93
|
+
|
|
94
|
+
# List specific log types
|
|
95
|
+
b2c logs list --filter error --filter customerror
|
|
96
|
+
|
|
97
|
+
# List logs in a subdirectory (path-like filter)
|
|
98
|
+
b2c logs list --filter internal/server
|
|
99
|
+
|
|
100
|
+
# JSON output
|
|
101
|
+
b2c logs list --json
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
### Real-Time Tailing (Human Use)
|
|
105
|
+
|
|
106
|
+
For interactive log monitoring (not for agents):
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
# Tail error and customerror logs
|
|
110
|
+
b2c logs tail
|
|
111
|
+
|
|
112
|
+
# Tail specific log types
|
|
113
|
+
b2c logs tail --filter debug --filter error
|
|
114
|
+
|
|
115
|
+
# Tail only ERROR and FATAL level entries
|
|
116
|
+
b2c logs tail --level ERROR --level FATAL
|
|
117
|
+
|
|
118
|
+
# Tail with text search
|
|
119
|
+
b2c logs tail --search "PaymentProcessor"
|
|
120
|
+
|
|
121
|
+
# Combined filtering
|
|
122
|
+
b2c logs tail --filter customerror --level ERROR --search "OrderMgr"
|
|
123
|
+
|
|
124
|
+
# Stop with Ctrl+C
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
## Downloading Full Log Files
|
|
128
|
+
|
|
129
|
+
To download the complete log file, use the `file` field from the JSON output with `b2c-cli:b2c-webdav`:
|
|
130
|
+
|
|
131
|
+
```bash
|
|
132
|
+
b2c webdav get error-odspod-0-appserver-20260126.log --root=logs -o -
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
## JSON Output Structure
|
|
136
|
+
|
|
137
|
+
When using `--json`, `logs get` returns:
|
|
138
|
+
|
|
139
|
+
```json
|
|
140
|
+
{
|
|
141
|
+
"count": 1,
|
|
142
|
+
"entries": [
|
|
143
|
+
{
|
|
144
|
+
"file": "error-odspod-0-appserver-20260126.log",
|
|
145
|
+
"timestamp": "2026-01-26 04:38:03.022 GMT",
|
|
146
|
+
"level": "ERROR",
|
|
147
|
+
"message": "PipelineCallServlet|156679877|Sites-Site|...",
|
|
148
|
+
"raw": "[2026-01-26 04:38:03.022 GMT] ERROR PipelineCallServlet|..."
|
|
149
|
+
}
|
|
150
|
+
]
|
|
151
|
+
}
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
| Field | Description |
|
|
155
|
+
| ----------- | -------------------------------------------------------------------------- |
|
|
156
|
+
| `file` | Source log file name (use with `b2c-cli:b2c-webdav` to download full file) |
|
|
157
|
+
| `level` | Log level: ERROR, WARN, INFO, DEBUG, FATAL, TRACE |
|
|
158
|
+
| `timestamp` | Entry timestamp |
|
|
159
|
+
| `message` | Log message (paths normalized for IDE click-to-open) |
|
|
160
|
+
| `raw` | Raw unprocessed log line |
|
|
161
|
+
|
|
162
|
+
## Log Types
|
|
163
|
+
|
|
164
|
+
Common log file prefixes:
|
|
165
|
+
|
|
166
|
+
| Prefix | Description |
|
|
167
|
+
| ------------- | --------------------------------------- |
|
|
168
|
+
| `error` | System errors |
|
|
169
|
+
| `customerror` | Custom script errors (`Logger.error()`) |
|
|
170
|
+
| `warn` | Warnings |
|
|
171
|
+
| `debug` | Debug output (when enabled) |
|
|
172
|
+
| `info` | Informational messages |
|
|
173
|
+
| `jobs` | Job execution logs |
|
|
174
|
+
| `api` | API problems and violations |
|
|
175
|
+
| `deprecation` | Deprecated API usage |
|
|
176
|
+
| `quota` | Quota warnings |
|
|
177
|
+
|
|
178
|
+
The prefixes above are the **built-in** log files. In addition, any script that logs through a _custom logger category_ writes to its own dedicated file with a `custom-` prefix — **distinct from `customerror`**. Integration and job code (payment gateways, ERP/OMS/CRM syncs, feed and import jobs) almost always logs this way, so the entry you need for a triage is frequently in a `custom-*` file, not in `error`/`customerror`.
|
|
179
|
+
|
|
180
|
+
Custom log file names follow this pattern:
|
|
181
|
+
|
|
182
|
+
```
|
|
183
|
+
custom-<prefix>-<hostname>-appserver-<date>.log
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
The `<prefix>` segment is the **first argument** passed to `Logger.getLogger(prefix, category)` in the emitting code, so it maps a log file straight back to the code that wrote it:
|
|
187
|
+
|
|
188
|
+
| Code | Log file | Filter to read it |
|
|
189
|
+
| ------------------------------------------------- | ------------------------------- | ---------------------------------- |
|
|
190
|
+
| `Logger.getLogger('PaymentProcessor', 'payment')` | `custom-PaymentProcessor-*.log` | `--filter custom-PaymentProcessor` |
|
|
191
|
+
| `Logger.getLogger('PimTaxImport', 'tax')` | `custom-PimTaxImport-*.log` | `--filter custom-PimTaxImport` |
|
|
192
|
+
| `Logger.getLogger('orderexport', 'export')` | `custom-orderexport-*.log` | `--filter custom-orderexport` |
|
|
193
|
+
|
|
194
|
+
(The second argument is the log _category_, used for configuration; it does not appear in the file name.) For the authoring side — how to create these loggers — see the `b2c:b2c-logging` skill.
|
|
195
|
+
|
|
196
|
+
> **Note:** `--filter` does a **prefix (starts-with) match** on a file's log category, not an exact match — so `--filter custom-` sweeps every `custom-*` file, and `--filter custom-Payment` also matches `custom-PaymentProcessor`. The category is extracted by taking everything up to the _second_ dash, so a custom logger name is treated as word characters only (no dashes): a file named `custom-payment-gateway-*.log` is seen as category `custom-payment`. To read one specific custom log, filter on its full extracted prefix (e.g. `--filter custom-PimTaxImport`); to sweep them all, use `--filter custom-`.
|
|
197
|
+
|
|
198
|
+
## Discovering Custom Log Files
|
|
199
|
+
|
|
200
|
+
Because custom log files are not covered by the default `error`/`customerror` retrieval, discover them explicitly when investigating an integration or job:
|
|
201
|
+
|
|
202
|
+
```bash
|
|
203
|
+
# 1. Enumerate all log files, or narrow to just custom ones
|
|
204
|
+
b2c logs list
|
|
205
|
+
b2c logs list --filter custom
|
|
206
|
+
|
|
207
|
+
# 2. Scan the output for an unfamiliar custom-* prefix whose size or
|
|
208
|
+
# last-modified time grew when the incident started, then read it
|
|
209
|
+
b2c logs get --filter custom-PimTaxImport --since 1h
|
|
210
|
+
|
|
211
|
+
# 3. Read all custom logs at once when you don't yet know the prefix
|
|
212
|
+
b2c logs get --filter custom-
|
|
213
|
+
```
|
|
214
|
+
|
|
215
|
+
`b2c logs list` reports each file with its size and last-modified timestamp, which is the fastest way to spot the custom logger that lit up during an incident. Once you have the prefix, `--filter custom-<prefix>` (or a bare `--filter custom-` to sweep them all) reads the entries.
|
|
216
|
+
|
|
217
|
+
If `logs list` output is incomplete or you want to confirm the raw `*.log` filenames on the instance, fall back to WebDAV:
|
|
218
|
+
|
|
219
|
+
```bash
|
|
220
|
+
# Enumerate log filenames directly over WebDAV
|
|
221
|
+
b2c webdav ls --root logs
|
|
222
|
+
```
|
|
223
|
+
|
|
224
|
+
## Logs in Subdirectories
|
|
225
|
+
|
|
226
|
+
The `Logs/` directory contains subdirectories such as `internal/` (e.g. `server`, `ccp`, `health`, `csrf-violations`, `internalquota`). These are **not** listed by default. To reach them, pass a path-like `--filter` (one containing a `/`): the tooling then recurses into that subdirectory and matches files by their path relative to `Logs/`.
|
|
227
|
+
|
|
228
|
+
```bash
|
|
229
|
+
# All "server" logs under internal/
|
|
230
|
+
b2c logs list --filter internal/server
|
|
231
|
+
|
|
232
|
+
# Everything under internal/ (trailing slash)
|
|
233
|
+
b2c logs tail --filter internal/
|
|
234
|
+
|
|
235
|
+
# Mix a subdirectory filter with normal prefix filters
|
|
236
|
+
b2c logs get --filter error --filter internal/server
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
This works the same across `logs list`, `logs get`, and `logs tail` (and the equivalent MCP tools).
|
|
240
|
+
|
|
241
|
+
## More Commands
|
|
242
|
+
|
|
243
|
+
See `b2c logs --help` for all available commands and options.
|
|
244
|
+
|
|
245
|
+
## Related Skills
|
|
246
|
+
|
|
247
|
+
- `b2c-cli:b2c-webdav` - Direct WebDAV file access for downloading full log files
|
|
248
|
+
- `b2c-cli:b2c-config` - Verify configuration and credentials
|
|
249
|
+
- `b2c:b2c-logging` - Authoring side: how server-side code creates custom logger categories that produce `custom-*` log files
|