sfcc-dev-mcp 1.0.15 → 1.0.19
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/.github/ISSUE_TEMPLATE/bug_report.yml +3 -1
- package/.github/ISSUE_TEMPLATE/documentation.yml +2 -2
- package/.github/ISSUE_TEMPLATE/question.yml +1 -1
- package/.github/PULL_REQUEST_TEMPLATE/documentation.md +1 -1
- package/.github/PULL_REQUEST_TEMPLATE/new_tool.md +1 -1
- package/.github/agents/official-docs-researcher.agent.md +56 -0
- package/.github/instructions/mcp-node-tests.instructions.md +12 -916
- package/.github/instructions/mcp-yml-tests.instructions.md +14 -742
- package/.github/pull_request_template.md +1 -1
- package/.github/skills/agent-authoring/SKILL.md +66 -0
- package/.github/skills/mcp-log-debugging/SKILL.md +69 -0
- package/.github/skills/mcp-programmatic-testing/SKILL.md +142 -0
- package/.github/skills/mcp-yaml-testing/SKILL.md +136 -0
- package/.github/skills/salesforce-developer-site-scraper/SKILL.md +102 -0
- package/.github/skills/salesforce-developer-site-scraper/scripts/scrape-to-markdown.js +205 -0
- package/.github/skills/salesforce-help-site-scraper/SKILL.md +84 -0
- package/.github/skills/salesforce-help-site-scraper/scripts/scrape-help-to-markdown.js +212 -0
- package/.github/skills/skill-authoring/SKILL.md +228 -0
- package/.github/skills/skill-authoring/references/PATTERNS.md +384 -0
- package/.github/workflows/ci.yml +3 -3
- package/.github/workflows/deploy-pages.yml +9 -19
- package/.github/workflows/publish.yml +5 -2
- package/.github/workflows/update-docs.yml +1 -1
- package/AGENTS.md +140 -286
- package/CONTRIBUTING.md +10 -22
- package/README.md +48 -16
- package/ai-instructions/{github-copilot/copilot-instructions.md → AGENTS.md} +99 -127
- package/ai-instructions/skills/sfcc-caching/SKILL.md +89 -0
- package/{dist/docs/best-practices/cartridge_creation.md → ai-instructions/skills/sfcc-cartridge-development/SKILL.md} +31 -7
- package/ai-instructions/skills/sfcc-forms-development/SKILL.md +261 -0
- package/ai-instructions/skills/sfcc-forms-development/references/ARCHITECTURE-SGJC-SFRA.md +143 -0
- package/ai-instructions/skills/sfcc-forms-development/references/FORM-XML-CHEATSHEET.md +127 -0
- package/ai-instructions/skills/sfcc-fraud-prevention/SKILL.md +95 -0
- package/ai-instructions/skills/sfcc-hooks-registration/SKILL.md +39 -0
- package/ai-instructions/skills/sfcc-isml-development/SKILL.md +370 -0
- package/ai-instructions/skills/sfcc-isml-development/references/REMOTE-INCLUDES.md +116 -0
- package/ai-instructions/skills/sfcc-isml-development/references/SFRA-LAYOUTS.md +50 -0
- package/ai-instructions/skills/sfcc-isml-development/references/SFRA-PAGES-CART-ACCOUNT-AUTH.md +45 -0
- package/ai-instructions/skills/sfcc-isml-development/references/SFRA-PAGES-CATALOG.md +85 -0
- package/ai-instructions/skills/sfcc-isml-development/references/SFRA-STRUCTURE-COMPONENTS.md +63 -0
- package/ai-instructions/skills/sfcc-isml-development/references/UTILITIES-EXPRESSIONS.md +159 -0
- package/ai-instructions/skills/sfcc-isml-development/references/sfra-base-templates-architecture.md +13 -0
- package/ai-instructions/skills/sfcc-job-development/SKILL.md +334 -0
- package/ai-instructions/skills/sfcc-job-development/references/CHUNK-ORIENTED.md +393 -0
- package/ai-instructions/skills/sfcc-job-development/references/STEPTYPES-JSON.md +271 -0
- package/ai-instructions/skills/sfcc-job-development/references/TASK-ORIENTED.md +257 -0
- package/ai-instructions/skills/sfcc-localization/SKILL.md +92 -0
- package/ai-instructions/skills/sfcc-localization/references/CONTROLLERS.md +63 -0
- package/ai-instructions/skills/sfcc-localization/references/FORMATTING.md +29 -0
- package/ai-instructions/skills/sfcc-localization/references/FORMS-LOCALIZATION.md +33 -0
- package/ai-instructions/skills/sfcc-localization/references/JAVASCRIPT-LOCALIZATION.md +41 -0
- package/ai-instructions/skills/sfcc-localization/references/LOCALE-SWITCHING.md +35 -0
- package/ai-instructions/skills/sfcc-localization/references/PATTERNS.md +740 -0
- package/ai-instructions/skills/sfcc-localization/references/PROPERTIES-ENCODING.md +25 -0
- package/ai-instructions/skills/sfcc-localization/references/RESOURCE-BUNDLES.md +67 -0
- package/ai-instructions/skills/sfcc-localization/references/STATIC-FILES.md +23 -0
- package/ai-instructions/skills/sfcc-localization/references/TESTING.md +21 -0
- package/{docs/best-practices/localserviceregistry.md → ai-instructions/skills/sfcc-localserviceregistry/SKILL.md} +65 -31
- package/ai-instructions/skills/sfcc-logging/SKILL.md +352 -0
- package/ai-instructions/skills/sfcc-logging/references/LOG-FILES.md +282 -0
- package/{docs/best-practices/ocapi_hooks.md → ai-instructions/skills/sfcc-ocapi-hooks/SKILL.md} +51 -16
- package/ai-instructions/skills/sfcc-ocapi-scapi-slas/SKILL.md +108 -0
- package/ai-instructions/skills/sfcc-page-designer/SKILL.md +353 -0
- package/ai-instructions/skills/sfcc-page-designer/references/ATTRIBUTE-TYPES.md +436 -0
- package/ai-instructions/skills/sfcc-page-designer/references/META-DEFINITIONS.md +322 -0
- package/{dist/docs/best-practices/performance.md → ai-instructions/skills/sfcc-performance/SKILL.md} +35 -3
- package/ai-instructions/skills/sfcc-platform-limits/SKILL.md +89 -0
- package/ai-instructions/skills/sfcc-scapi-custom-endpoints/SKILL.md +237 -0
- package/ai-instructions/skills/sfcc-scapi-custom-endpoints/references/AUTHENTICATION.md +214 -0
- package/ai-instructions/skills/sfcc-scapi-custom-endpoints/references/URL-MAPPING.md +253 -0
- package/{docs/best-practices/scapi_hooks.md → ai-instructions/skills/sfcc-scapi-hooks/SKILL.md} +44 -17
- package/ai-instructions/skills/sfcc-script-evaluation/SKILL.md +380 -0
- package/{docs/best-practices/security.md → ai-instructions/skills/sfcc-security/SKILL.md} +12 -3
- package/ai-instructions/skills/sfcc-sfra-client-side-js/SKILL.md +270 -0
- package/ai-instructions/skills/sfcc-sfra-client-side-js/references/AJAX-CSRF-VALIDATION.md +285 -0
- package/ai-instructions/skills/sfcc-sfra-client-side-js/references/BASE-MODULE-INDEX.md +206 -0
- package/ai-instructions/skills/sfcc-sfra-client-side-js/references/EXTENSION-PATTERNS.md +165 -0
- package/ai-instructions/skills/sfcc-sfra-client-side-js/references/PLUGIN-PATTERNS.md +185 -0
- package/ai-instructions/skills/sfcc-sfra-controllers/SKILL.md +347 -0
- package/ai-instructions/skills/sfcc-sfra-controllers/references/MIDDLEWARE-REFERENCE.md +257 -0
- package/ai-instructions/skills/sfcc-sfra-controllers/references/REMOTE-INCLUDES.md +193 -0
- package/{dist/docs/best-practices/sfra_controllers.md → ai-instructions/skills/sfcc-sfra-controllers/references/standard-sfra-controllers.md} +0 -670
- package/ai-instructions/skills/sfcc-sfra-models/SKILL.md +322 -0
- package/ai-instructions/skills/sfcc-sfra-models/references/MODEL-PATTERNS.md +530 -0
- package/ai-instructions/skills/sfcc-sfra-models/references/MODEL-STRUCTURE.md +234 -0
- package/ai-instructions/skills/sfcc-sfra-models/references/TESTING-SECURITY.md +417 -0
- package/{dist/docs/best-practices/sfra_scss.md → ai-instructions/skills/sfcc-sfra-scss/SKILL.md} +5 -0
- package/ai-instructions/skills/sfcc-webdav-workflows/SKILL.md +111 -0
- package/dist/ai-instructions/AGENTS.md +628 -0
- package/dist/ai-instructions/skills/sfcc-caching/SKILL.md +89 -0
- package/{docs/best-practices/cartridge_creation.md → dist/ai-instructions/skills/sfcc-cartridge-development/SKILL.md} +31 -7
- package/dist/ai-instructions/skills/sfcc-forms-development/SKILL.md +261 -0
- package/dist/ai-instructions/skills/sfcc-forms-development/references/ARCHITECTURE-SGJC-SFRA.md +143 -0
- package/dist/ai-instructions/skills/sfcc-forms-development/references/FORM-XML-CHEATSHEET.md +127 -0
- package/dist/ai-instructions/skills/sfcc-fraud-prevention/SKILL.md +95 -0
- package/dist/ai-instructions/skills/sfcc-hooks-registration/SKILL.md +39 -0
- package/dist/ai-instructions/skills/sfcc-isml-development/SKILL.md +370 -0
- package/dist/ai-instructions/skills/sfcc-isml-development/references/REMOTE-INCLUDES.md +116 -0
- package/dist/ai-instructions/skills/sfcc-isml-development/references/SFRA-LAYOUTS.md +50 -0
- package/dist/ai-instructions/skills/sfcc-isml-development/references/SFRA-PAGES-CART-ACCOUNT-AUTH.md +45 -0
- package/dist/ai-instructions/skills/sfcc-isml-development/references/SFRA-PAGES-CATALOG.md +85 -0
- package/dist/ai-instructions/skills/sfcc-isml-development/references/SFRA-STRUCTURE-COMPONENTS.md +63 -0
- package/dist/ai-instructions/skills/sfcc-isml-development/references/UTILITIES-EXPRESSIONS.md +159 -0
- package/dist/ai-instructions/skills/sfcc-isml-development/references/sfra-base-templates-architecture.md +13 -0
- package/dist/ai-instructions/skills/sfcc-job-development/SKILL.md +334 -0
- package/dist/ai-instructions/skills/sfcc-job-development/references/CHUNK-ORIENTED.md +393 -0
- package/dist/ai-instructions/skills/sfcc-job-development/references/STEPTYPES-JSON.md +271 -0
- package/dist/ai-instructions/skills/sfcc-job-development/references/TASK-ORIENTED.md +257 -0
- package/dist/ai-instructions/skills/sfcc-localization/SKILL.md +92 -0
- package/dist/ai-instructions/skills/sfcc-localization/references/CONTROLLERS.md +63 -0
- package/dist/ai-instructions/skills/sfcc-localization/references/FORMATTING.md +29 -0
- package/dist/ai-instructions/skills/sfcc-localization/references/FORMS-LOCALIZATION.md +33 -0
- package/dist/ai-instructions/skills/sfcc-localization/references/JAVASCRIPT-LOCALIZATION.md +41 -0
- package/dist/ai-instructions/skills/sfcc-localization/references/LOCALE-SWITCHING.md +35 -0
- package/dist/ai-instructions/skills/sfcc-localization/references/PATTERNS.md +740 -0
- package/dist/ai-instructions/skills/sfcc-localization/references/PROPERTIES-ENCODING.md +25 -0
- package/dist/ai-instructions/skills/sfcc-localization/references/RESOURCE-BUNDLES.md +67 -0
- package/dist/ai-instructions/skills/sfcc-localization/references/STATIC-FILES.md +23 -0
- package/dist/ai-instructions/skills/sfcc-localization/references/TESTING.md +21 -0
- package/dist/{docs/best-practices/localserviceregistry.md → ai-instructions/skills/sfcc-localserviceregistry/SKILL.md} +65 -31
- package/dist/ai-instructions/skills/sfcc-logging/SKILL.md +352 -0
- package/dist/ai-instructions/skills/sfcc-logging/references/LOG-FILES.md +282 -0
- package/dist/{docs/best-practices/ocapi_hooks.md → ai-instructions/skills/sfcc-ocapi-hooks/SKILL.md} +51 -16
- package/dist/ai-instructions/skills/sfcc-ocapi-scapi-slas/SKILL.md +108 -0
- package/dist/ai-instructions/skills/sfcc-page-designer/SKILL.md +353 -0
- package/dist/ai-instructions/skills/sfcc-page-designer/references/ATTRIBUTE-TYPES.md +436 -0
- package/dist/ai-instructions/skills/sfcc-page-designer/references/META-DEFINITIONS.md +322 -0
- package/{docs/best-practices/performance.md → dist/ai-instructions/skills/sfcc-performance/SKILL.md} +35 -3
- package/dist/ai-instructions/skills/sfcc-platform-limits/SKILL.md +89 -0
- package/dist/ai-instructions/skills/sfcc-scapi-custom-endpoints/SKILL.md +237 -0
- package/dist/ai-instructions/skills/sfcc-scapi-custom-endpoints/references/AUTHENTICATION.md +214 -0
- package/dist/ai-instructions/skills/sfcc-scapi-custom-endpoints/references/URL-MAPPING.md +253 -0
- package/dist/{docs/best-practices/scapi_hooks.md → ai-instructions/skills/sfcc-scapi-hooks/SKILL.md} +44 -17
- package/dist/ai-instructions/skills/sfcc-script-evaluation/SKILL.md +380 -0
- package/dist/{docs/best-practices/security.md → ai-instructions/skills/sfcc-security/SKILL.md} +12 -3
- package/dist/ai-instructions/skills/sfcc-sfra-client-side-js/SKILL.md +270 -0
- package/dist/ai-instructions/skills/sfcc-sfra-client-side-js/references/AJAX-CSRF-VALIDATION.md +285 -0
- package/dist/ai-instructions/skills/sfcc-sfra-client-side-js/references/BASE-MODULE-INDEX.md +206 -0
- package/dist/ai-instructions/skills/sfcc-sfra-client-side-js/references/EXTENSION-PATTERNS.md +165 -0
- package/dist/ai-instructions/skills/sfcc-sfra-client-side-js/references/PLUGIN-PATTERNS.md +185 -0
- package/dist/ai-instructions/skills/sfcc-sfra-controllers/SKILL.md +347 -0
- package/dist/ai-instructions/skills/sfcc-sfra-controllers/references/MIDDLEWARE-REFERENCE.md +257 -0
- package/dist/ai-instructions/skills/sfcc-sfra-controllers/references/REMOTE-INCLUDES.md +193 -0
- package/{docs/best-practices/sfra_controllers.md → dist/ai-instructions/skills/sfcc-sfra-controllers/references/standard-sfra-controllers.md} +0 -670
- package/dist/ai-instructions/skills/sfcc-sfra-models/SKILL.md +322 -0
- package/dist/ai-instructions/skills/sfcc-sfra-models/references/MODEL-PATTERNS.md +530 -0
- package/dist/ai-instructions/skills/sfcc-sfra-models/references/MODEL-STRUCTURE.md +234 -0
- package/dist/ai-instructions/skills/sfcc-sfra-models/references/TESTING-SECURITY.md +417 -0
- package/{docs/best-practices/sfra_scss.md → dist/ai-instructions/skills/sfcc-sfra-scss/SKILL.md} +5 -0
- package/dist/ai-instructions/skills/sfcc-webdav-workflows/SKILL.md +111 -0
- package/dist/clients/agent-instructions-client.d.ts +66 -0
- package/dist/clients/agent-instructions-client.d.ts.map +1 -0
- package/dist/clients/agent-instructions-client.js +277 -0
- package/dist/clients/agent-instructions-client.js.map +1 -0
- package/dist/clients/base/abstract-documentation-client.d.ts +146 -0
- package/dist/clients/base/abstract-documentation-client.d.ts.map +1 -0
- package/dist/clients/base/abstract-documentation-client.js +265 -0
- package/dist/clients/base/abstract-documentation-client.js.map +1 -0
- package/dist/clients/base/oauth-token.d.ts +18 -0
- package/dist/clients/base/oauth-token.d.ts.map +1 -1
- package/dist/clients/base/oauth-token.js +45 -2
- package/dist/clients/base/oauth-token.js.map +1 -1
- package/dist/clients/cartridge/cartridge-generation-client.d.ts +59 -0
- package/dist/clients/cartridge/cartridge-generation-client.d.ts.map +1 -0
- package/dist/clients/cartridge/cartridge-generation-client.js +224 -0
- package/dist/clients/cartridge/cartridge-generation-client.js.map +1 -0
- package/dist/clients/cartridge/cartridge-structure.d.ts +17 -0
- package/dist/clients/cartridge/cartridge-structure.d.ts.map +1 -0
- package/dist/clients/cartridge/cartridge-structure.js +33 -0
- package/dist/clients/cartridge/cartridge-structure.js.map +1 -0
- package/dist/clients/cartridge/cartridge-templates.d.ts +22 -0
- package/dist/clients/cartridge/cartridge-templates.d.ts.map +1 -0
- package/dist/clients/cartridge/cartridge-templates.js +225 -0
- package/dist/clients/cartridge/cartridge-templates.js.map +1 -0
- package/dist/clients/cartridge/index.d.ts +7 -0
- package/dist/clients/cartridge/index.d.ts.map +1 -0
- package/dist/clients/cartridge/index.js +7 -0
- package/dist/clients/cartridge/index.js.map +1 -0
- package/dist/clients/docs/documentation-scanner.d.ts +5 -2
- package/dist/clients/docs/documentation-scanner.d.ts.map +1 -1
- package/dist/clients/docs/documentation-scanner.js +38 -23
- package/dist/clients/docs/documentation-scanner.js.map +1 -1
- package/dist/clients/docs-client.d.ts +13 -4
- package/dist/clients/docs-client.d.ts.map +1 -1
- package/dist/clients/docs-client.js +44 -11
- package/dist/clients/docs-client.js.map +1 -1
- package/dist/clients/isml-client.d.ts +71 -0
- package/dist/clients/isml-client.d.ts.map +1 -0
- package/dist/clients/isml-client.js +252 -0
- package/dist/clients/isml-client.js.map +1 -0
- package/dist/clients/ocapi/code-versions-client.d.ts.map +1 -1
- package/dist/clients/ocapi/code-versions-client.js +6 -1
- package/dist/clients/ocapi/code-versions-client.js.map +1 -1
- package/dist/clients/ocapi-client.d.ts +9 -101
- package/dist/clients/ocapi-client.d.ts.map +1 -1
- package/dist/clients/ocapi-client.js +11 -93
- package/dist/clients/ocapi-client.js.map +1 -1
- package/dist/clients/script-debugger/index.d.ts +5 -0
- package/dist/clients/script-debugger/index.d.ts.map +1 -0
- package/dist/clients/script-debugger/index.js +5 -0
- package/dist/clients/script-debugger/index.js.map +1 -0
- package/dist/clients/script-debugger/script-debugger-client.d.ts +147 -0
- package/dist/clients/script-debugger/script-debugger-client.d.ts.map +1 -0
- package/dist/clients/script-debugger/script-debugger-client.js +591 -0
- package/dist/clients/script-debugger/script-debugger-client.js.map +1 -0
- package/dist/clients/sfra-client.d.ts +13 -62
- package/dist/clients/sfra-client.d.ts.map +1 -1
- package/dist/clients/sfra-client.js +105 -326
- package/dist/clients/sfra-client.js.map +1 -1
- package/dist/config/configuration-factory.d.ts +1 -1
- package/dist/config/configuration-factory.d.ts.map +1 -1
- package/dist/config/configuration-factory.js +5 -1
- package/dist/config/configuration-factory.js.map +1 -1
- package/dist/config/dw-json-loader.d.ts +7 -0
- package/dist/config/dw-json-loader.d.ts.map +1 -1
- package/dist/config/dw-json-loader.js +92 -15
- package/dist/config/dw-json-loader.js.map +1 -1
- package/dist/config/workspace-roots.d.ts +143 -0
- package/dist/config/workspace-roots.d.ts.map +1 -0
- package/dist/config/workspace-roots.js +448 -0
- package/dist/config/workspace-roots.js.map +1 -0
- package/dist/constants/index.d.ts +1 -0
- package/dist/constants/index.d.ts.map +1 -0
- package/dist/constants/index.js +3 -0
- package/dist/constants/index.js.map +1 -0
- package/dist/core/handlers/abstract-client-handler.d.ts +52 -0
- package/dist/core/handlers/abstract-client-handler.d.ts.map +1 -0
- package/dist/core/handlers/abstract-client-handler.js +51 -0
- package/dist/core/handlers/abstract-client-handler.js.map +1 -0
- package/dist/core/handlers/agent-instructions-handler.d.ts +17 -0
- package/dist/core/handlers/agent-instructions-handler.d.ts.map +1 -0
- package/dist/core/handlers/agent-instructions-handler.js +38 -0
- package/dist/core/handlers/agent-instructions-handler.js.map +1 -0
- package/dist/core/handlers/base-handler.d.ts +3 -68
- package/dist/core/handlers/base-handler.d.ts.map +1 -1
- package/dist/core/handlers/base-handler.js +11 -84
- package/dist/core/handlers/base-handler.js.map +1 -1
- package/dist/core/handlers/cartridge-handler.d.ts +10 -11
- package/dist/core/handlers/cartridge-handler.d.ts.map +1 -1
- package/dist/core/handlers/cartridge-handler.js +10 -28
- package/dist/core/handlers/cartridge-handler.js.map +1 -1
- package/dist/core/handlers/client-factory.d.ts +12 -2
- package/dist/core/handlers/client-factory.d.ts.map +1 -1
- package/dist/core/handlers/client-factory.js +28 -1
- package/dist/core/handlers/client-factory.js.map +1 -1
- package/dist/core/handlers/code-version-handler.d.ts +11 -11
- package/dist/core/handlers/code-version-handler.d.ts.map +1 -1
- package/dist/core/handlers/code-version-handler.js +13 -27
- package/dist/core/handlers/code-version-handler.js.map +1 -1
- package/dist/core/handlers/docs-handler.d.ts +6 -12
- package/dist/core/handlers/docs-handler.d.ts.map +1 -1
- package/dist/core/handlers/docs-handler.js +11 -36
- package/dist/core/handlers/docs-handler.js.map +1 -1
- package/dist/core/handlers/isml-handler.d.ts +11 -0
- package/dist/core/handlers/isml-handler.d.ts.map +1 -0
- package/dist/core/handlers/isml-handler.js +18 -0
- package/dist/core/handlers/isml-handler.js.map +1 -0
- package/dist/core/handlers/job-log-handler.d.ts +8 -7
- package/dist/core/handlers/job-log-handler.d.ts.map +1 -1
- package/dist/core/handlers/job-log-handler.js +14 -5
- package/dist/core/handlers/job-log-handler.js.map +1 -1
- package/dist/core/handlers/log-handler.d.ts +8 -7
- package/dist/core/handlers/log-handler.d.ts.map +1 -1
- package/dist/core/handlers/log-handler.js +14 -5
- package/dist/core/handlers/log-handler.js.map +1 -1
- package/dist/core/handlers/script-debugger-handler.d.ts +18 -0
- package/dist/core/handlers/script-debugger-handler.d.ts.map +1 -0
- package/dist/core/handlers/script-debugger-handler.js +31 -0
- package/dist/core/handlers/script-debugger-handler.js.map +1 -0
- package/dist/core/handlers/sfra-handler.d.ts +6 -12
- package/dist/core/handlers/sfra-handler.d.ts.map +1 -1
- package/dist/core/handlers/sfra-handler.js +11 -36
- package/dist/core/handlers/sfra-handler.js.map +1 -1
- package/dist/core/handlers/simple-client-handler.d.ts +41 -0
- package/dist/core/handlers/simple-client-handler.d.ts.map +1 -0
- package/dist/core/handlers/simple-client-handler.js +49 -0
- package/dist/core/handlers/simple-client-handler.js.map +1 -0
- package/dist/core/handlers/system-object-handler.d.ts +11 -11
- package/dist/core/handlers/system-object-handler.d.ts.map +1 -1
- package/dist/core/handlers/system-object-handler.js +13 -27
- package/dist/core/handlers/system-object-handler.js.map +1 -1
- package/dist/core/handlers/validation-helpers.d.ts +22 -24
- package/dist/core/handlers/validation-helpers.d.ts.map +1 -1
- package/dist/core/handlers/validation-helpers.js +89 -39
- package/dist/core/handlers/validation-helpers.js.map +1 -1
- package/dist/core/instruction-advisor.d.ts +28 -0
- package/dist/core/instruction-advisor.d.ts.map +1 -0
- package/dist/core/instruction-advisor.js +114 -0
- package/dist/core/instruction-advisor.js.map +1 -0
- package/dist/core/server.d.ts +25 -0
- package/dist/core/server.d.ts.map +1 -1
- package/dist/core/server.js +151 -11
- package/dist/core/server.js.map +1 -1
- package/dist/core/tool-definitions.d.ts +6 -854
- package/dist/core/tool-definitions.d.ts.map +1 -1
- package/dist/core/tool-definitions.js +8 -1064
- package/dist/core/tool-definitions.js.map +1 -1
- package/dist/core/tool-schemas/agent-instruction-tools.d.ts +77 -0
- package/dist/core/tool-schemas/agent-instruction-tools.d.ts.map +1 -0
- package/dist/core/tool-schemas/agent-instruction-tools.js +72 -0
- package/dist/core/tool-schemas/agent-instruction-tools.js.map +1 -0
- package/dist/core/tool-schemas/cartridge-tools.d.ts +27 -0
- package/dist/core/tool-schemas/cartridge-tools.d.ts.map +1 -0
- package/dist/core/tool-schemas/cartridge-tools.js +29 -0
- package/dist/core/tool-schemas/cartridge-tools.js.map +1 -0
- package/dist/core/tool-schemas/code-version-tools.d.ts +28 -0
- package/dist/core/tool-schemas/code-version-tools.d.ts.map +1 -0
- package/dist/core/tool-schemas/code-version-tools.js +28 -0
- package/dist/core/tool-schemas/code-version-tools.js.map +1 -0
- package/dist/core/tool-schemas/documentation-tools.d.ts +139 -0
- package/dist/core/tool-schemas/documentation-tools.d.ts.map +1 -0
- package/dist/core/tool-schemas/documentation-tools.js +104 -0
- package/dist/core/tool-schemas/documentation-tools.js.map +1 -0
- package/dist/core/tool-schemas/index.d.ts +17 -0
- package/dist/core/tool-schemas/index.d.ts.map +1 -0
- package/dist/core/tool-schemas/index.js +19 -0
- package/dist/core/tool-schemas/index.js.map +1 -0
- package/dist/core/tool-schemas/isml-tools.d.ts +98 -0
- package/dist/core/tool-schemas/isml-tools.d.ts.map +1 -0
- package/dist/core/tool-schemas/isml-tools.js +89 -0
- package/dist/core/tool-schemas/isml-tools.js.map +1 -0
- package/dist/core/tool-schemas/log-tools.d.ts +221 -0
- package/dist/core/tool-schemas/log-tools.d.ts.map +1 -0
- package/dist/core/tool-schemas/log-tools.js +180 -0
- package/dist/core/tool-schemas/log-tools.js.map +1 -0
- package/dist/core/tool-schemas/script-debugger-tools.d.ts +44 -0
- package/dist/core/tool-schemas/script-debugger-tools.d.ts.map +1 -0
- package/dist/core/tool-schemas/script-debugger-tools.js +83 -0
- package/dist/core/tool-schemas/script-debugger-tools.js.map +1 -0
- package/dist/core/tool-schemas/sfra-tools.d.ts +63 -0
- package/dist/core/tool-schemas/sfra-tools.d.ts.map +1 -0
- package/dist/core/tool-schemas/sfra-tools.js +65 -0
- package/dist/core/tool-schemas/sfra-tools.js.map +1 -0
- package/dist/core/tool-schemas/shared-schemas.d.ts +350 -0
- package/dist/core/tool-schemas/shared-schemas.d.ts.map +1 -0
- package/dist/core/tool-schemas/shared-schemas.js +153 -0
- package/dist/core/tool-schemas/shared-schemas.js.map +1 -0
- package/dist/core/tool-schemas/system-object-tools.d.ts +511 -0
- package/dist/core/tool-schemas/system-object-tools.d.ts.map +1 -0
- package/dist/core/tool-schemas/system-object-tools.js +126 -0
- package/dist/core/tool-schemas/system-object-tools.js.map +1 -0
- package/dist/docs/dw_net/HTTPClient.md +46 -2
- package/dist/docs/dw_net/HTTPClientLoggingConfig.md +296 -0
- package/dist/docs/dw_order/Basket.md +7 -7
- package/dist/docs/dw_order/BasketMgr.md +22 -6
- package/dist/docs/dw_order.hooks/BasketMergeHooks.md +42 -0
- package/dist/docs/dw_svc/ServiceCallback.md +2 -2
- package/dist/docs/isml/isactivedatacontext.md +382 -0
- package/dist/docs/isml/isactivedatahead.md +566 -0
- package/dist/docs/isml/isanalyticsoff.md +537 -0
- package/dist/docs/isml/isapplepay.md +667 -0
- package/dist/docs/isml/isbreak.md +687 -0
- package/dist/docs/isml/isbuynow.md +682 -0
- package/dist/docs/isml/iscache.md +802 -0
- package/dist/docs/isml/iscomment.md +794 -0
- package/dist/docs/isml/iscomponent.md +797 -0
- package/dist/docs/isml/iscontent.md +594 -0
- package/dist/docs/isml/iscontinue.md +563 -0
- package/dist/docs/isml/iscookie.md +798 -0
- package/dist/docs/isml/isdecorate.md +818 -0
- package/dist/docs/isml/isif.md +737 -0
- package/dist/docs/isml/isinclude.md +874 -0
- package/dist/docs/isml/isloop.md +377 -0
- package/dist/docs/isml/ismodule.md +844 -0
- package/dist/docs/isml/isnext.md +672 -0
- package/dist/docs/isml/isobject.md +760 -0
- package/dist/docs/isml/ispayment.md +577 -0
- package/dist/docs/isml/ispaymentmessages.md +664 -0
- package/dist/docs/isml/isprint.md +875 -0
- package/dist/docs/isml/isredirect.md +716 -0
- package/dist/docs/isml/isremove.md +725 -0
- package/dist/docs/isml/isreplace.md +783 -0
- package/dist/docs/isml/isscript.md +859 -0
- package/dist/docs/isml/isselect.md +908 -0
- package/dist/docs/isml/isset.md +585 -0
- package/dist/docs/isml/isslot.md +824 -0
- package/dist/docs/isml/isstatus.md +711 -0
- package/dist/main.d.ts +16 -0
- package/dist/main.d.ts.map +1 -1
- package/dist/main.js +60 -28
- package/dist/main.js.map +1 -1
- package/dist/services/index.d.ts +4 -2
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +2 -2
- package/dist/services/index.js.map +1 -1
- package/dist/tool-configs/agent-instructions-tool-config.d.ts +6 -0
- package/dist/tool-configs/agent-instructions-tool-config.d.ts.map +1 -0
- package/dist/tool-configs/agent-instructions-tool-config.js +74 -0
- package/dist/tool-configs/agent-instructions-tool-config.js.map +1 -0
- package/dist/tool-configs/code-version-tool-config.d.ts.map +1 -1
- package/dist/tool-configs/code-version-tool-config.js +0 -5
- package/dist/tool-configs/code-version-tool-config.js.map +1 -1
- package/dist/tool-configs/docs-tool-config.d.ts.map +1 -1
- package/dist/tool-configs/docs-tool-config.js +0 -7
- package/dist/tool-configs/docs-tool-config.js.map +1 -1
- package/dist/tool-configs/isml-tool-config.d.ts +11 -0
- package/dist/tool-configs/isml-tool-config.d.ts.map +1 -0
- package/dist/tool-configs/isml-tool-config.js +77 -0
- package/dist/tool-configs/isml-tool-config.js.map +1 -0
- package/dist/tool-configs/job-log-tool-config.d.ts +1 -2
- package/dist/tool-configs/job-log-tool-config.d.ts.map +1 -1
- package/dist/tool-configs/job-log-tool-config.js +11 -15
- package/dist/tool-configs/job-log-tool-config.js.map +1 -1
- package/dist/tool-configs/log-tool-config.d.ts +1 -2
- package/dist/tool-configs/log-tool-config.d.ts.map +1 -1
- package/dist/tool-configs/log-tool-config.js +35 -51
- package/dist/tool-configs/log-tool-config.js.map +1 -1
- package/dist/tool-configs/script-debugger-tool-config.d.ts +11 -0
- package/dist/tool-configs/script-debugger-tool-config.d.ts.map +1 -0
- package/dist/tool-configs/script-debugger-tool-config.js +35 -0
- package/dist/tool-configs/script-debugger-tool-config.js.map +1 -0
- package/dist/tool-configs/sfra-tool-config.d.ts.map +1 -1
- package/dist/tool-configs/sfra-tool-config.js +0 -11
- package/dist/tool-configs/sfra-tool-config.js.map +1 -1
- package/dist/tool-configs/system-object-tool-config.d.ts.map +1 -1
- package/dist/tool-configs/system-object-tool-config.js +0 -5
- package/dist/tool-configs/system-object-tool-config.js.map +1 -1
- package/dist/types/types.d.ts +2 -0
- package/dist/types/types.d.ts.map +1 -1
- package/dist/utils/cache.d.ts +12 -10
- package/dist/utils/cache.d.ts.map +1 -1
- package/dist/utils/cache.js +47 -47
- package/dist/utils/cache.js.map +1 -1
- package/dist/utils/category-utils.d.ts +31 -0
- package/dist/utils/category-utils.d.ts.map +1 -0
- package/dist/utils/category-utils.js +45 -0
- package/dist/utils/category-utils.js.map +1 -0
- package/dist/utils/log-tool-constants.d.ts +16 -13
- package/dist/utils/log-tool-constants.d.ts.map +1 -1
- package/dist/utils/log-tool-constants.js +10 -11
- package/dist/utils/log-tool-constants.js.map +1 -1
- package/dist/utils/logger.d.ts +11 -0
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +35 -1
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/markdown-utils.d.ts +60 -0
- package/dist/utils/markdown-utils.d.ts.map +1 -0
- package/dist/utils/markdown-utils.js +206 -0
- package/dist/utils/markdown-utils.js.map +1 -0
- package/dist/utils/path-resolver.d.ts +12 -4
- package/dist/utils/path-resolver.d.ts.map +1 -1
- package/dist/utils/path-resolver.js +22 -8
- package/dist/utils/path-resolver.js.map +1 -1
- package/dist/utils/path-validation.d.ts +40 -0
- package/dist/utils/path-validation.d.ts.map +1 -0
- package/dist/utils/path-validation.js +84 -0
- package/dist/utils/path-validation.js.map +1 -0
- package/docs/dw_net/HTTPClient.md +46 -2
- package/docs/dw_net/HTTPClientLoggingConfig.md +296 -0
- package/docs/dw_order/Basket.md +7 -7
- package/docs/dw_order/BasketMgr.md +22 -6
- package/docs/dw_order.hooks/BasketMergeHooks.md +42 -0
- package/docs/dw_svc/ServiceCallback.md +2 -2
- package/docs/isml/isactivedatacontext.md +382 -0
- package/docs/isml/isactivedatahead.md +566 -0
- package/docs/isml/isanalyticsoff.md +537 -0
- package/docs/isml/isapplepay.md +667 -0
- package/docs/isml/isbreak.md +687 -0
- package/docs/isml/isbuynow.md +682 -0
- package/docs/isml/iscache.md +802 -0
- package/docs/isml/iscomment.md +794 -0
- package/docs/isml/iscomponent.md +797 -0
- package/docs/isml/iscontent.md +594 -0
- package/docs/isml/iscontinue.md +563 -0
- package/docs/isml/iscookie.md +798 -0
- package/docs/isml/isdecorate.md +818 -0
- package/docs/isml/isif.md +737 -0
- package/docs/isml/isinclude.md +874 -0
- package/docs/isml/isloop.md +377 -0
- package/docs/isml/ismodule.md +844 -0
- package/docs/isml/isnext.md +672 -0
- package/docs/isml/isobject.md +760 -0
- package/docs/isml/ispayment.md +577 -0
- package/docs/isml/ispaymentmessages.md +664 -0
- package/docs/isml/isprint.md +875 -0
- package/docs/isml/isredirect.md +716 -0
- package/docs/isml/isremove.md +725 -0
- package/docs/isml/isreplace.md +783 -0
- package/docs/isml/isscript.md +859 -0
- package/docs/isml/isselect.md +908 -0
- package/docs/isml/isset.md +585 -0
- package/docs/isml/isslot.md +824 -0
- package/docs/isml/isstatus.md +711 -0
- package/docs-site-v2/.vitepress/config.mts +190 -0
- package/docs-site-v2/.vitepress/theme/components/AssistantTabs.vue +96 -0
- package/docs-site-v2/.vitepress/theme/components/Callout.vue +10 -0
- package/docs-site-v2/.vitepress/theme/components/Collapsible.vue +14 -0
- package/docs-site-v2/.vitepress/theme/components/DwJsonBuilder.vue +82 -0
- package/docs-site-v2/.vitepress/theme/components/HomeSections.vue +552 -0
- package/docs-site-v2/.vitepress/theme/components/InstructionFilesTabs.vue +87 -0
- package/docs-site-v2/.vitepress/theme/components/ModeTabs.vue +70 -0
- package/docs-site-v2/.vitepress/theme/components/NewcomerCTA.vue +14 -0
- package/docs-site-v2/.vitepress/theme/components/QuickStartCards.vue +20 -0
- package/docs-site-v2/.vitepress/theme/components/QuickStartHero.vue +20 -0
- package/docs-site-v2/.vitepress/theme/components/SkillsList.vue +48 -0
- package/docs-site-v2/.vitepress/theme/components/ToolExplorer.vue +85 -0
- package/docs-site-v2/.vitepress/theme/custom.css +1373 -0
- package/docs-site-v2/.vitepress/theme/index.ts +39 -0
- package/docs-site-v2/data/skills.ts +147 -0
- package/docs-site-v2/data/tools.ts +490 -0
- package/docs-site-v2/development/index.md +151 -0
- package/docs-site-v2/examples/index.md +333 -0
- package/docs-site-v2/features/index.md +144 -0
- package/docs-site-v2/guide/ai-interfaces.md +58 -0
- package/docs-site-v2/guide/configuration.md +208 -0
- package/docs-site-v2/guide/index.md +50 -0
- package/docs-site-v2/index.md +32 -0
- package/docs-site-v2/package-lock.json +2511 -0
- package/docs-site-v2/package.json +15 -0
- package/docs-site-v2/public/android-chrome-192x192.png +0 -0
- package/docs-site-v2/public/android-chrome-512x512.png +0 -0
- package/docs-site-v2/public/apple-touch-icon.png +0 -0
- package/docs-site-v2/public/favicon-16x16.png +0 -0
- package/docs-site-v2/public/favicon-32x32.png +0 -0
- package/docs-site-v2/public/favicon.ico +0 -0
- package/docs-site-v2/public/index.css +4174 -0
- package/docs-site-v2/public/llms.txt +44 -0
- package/docs-site-v2/public/logo-dark.svg +8 -0
- package/docs-site-v2/public/logo.svg +8 -0
- package/{docs-site → docs-site-v2}/public/robots.txt +1 -6
- package/{docs-site → docs-site-v2}/public/site.webmanifest +1 -1
- package/{docs-site → docs-site-v2}/public/sitemap.xml +33 -12
- package/docs-site-v2/script-debugger/index.md +105 -0
- package/docs-site-v2/scripts/generate-llms.js +71 -0
- package/docs-site-v2/scripts/generate-sitemap.js +97 -0
- package/docs-site-v2/security/index.md +115 -0
- package/docs-site-v2/skills/index.md +40 -0
- package/docs-site-v2/tools/index.md +36 -0
- package/docs-site-v2/troubleshooting/index.md +204 -0
- package/eslint.config.js +3 -1
- package/memories/repo/docs-site-v2-build.json +11 -0
- package/package.json +18 -14
- package/scripts/validate-server-json.js +68 -0
- package/server.json +4 -6
- package/src/clients/agent-instructions-client.ts +370 -0
- package/src/clients/base/abstract-documentation-client.ts +405 -0
- package/src/clients/base/oauth-token.ts +52 -2
- package/src/clients/cartridge/cartridge-generation-client.ts +302 -0
- package/src/clients/cartridge/cartridge-structure.ts +37 -0
- package/src/clients/cartridge/cartridge-templates.ts +246 -0
- package/src/clients/cartridge/index.ts +6 -0
- package/src/clients/docs/documentation-scanner.ts +44 -28
- package/src/clients/docs-client.ts +54 -14
- package/src/clients/isml-client.ts +353 -0
- package/src/clients/ocapi/code-versions-client.ts +7 -1
- package/src/clients/ocapi-client.ts +11 -166
- package/src/clients/script-debugger/index.ts +5 -0
- package/src/clients/script-debugger/script-debugger-client.ts +754 -0
- package/src/clients/sfra-client.ts +134 -397
- package/src/config/configuration-factory.ts +6 -1
- package/src/config/dw-json-loader.ts +96 -15
- package/src/config/workspace-roots.ts +540 -0
- package/src/constants/index.ts +1 -0
- package/src/core/handlers/abstract-client-handler.ts +85 -0
- package/src/core/handlers/agent-instructions-handler.ts +48 -0
- package/src/core/handlers/base-handler.ts +17 -127
- package/src/core/handlers/cartridge-handler.ts +13 -33
- package/src/core/handlers/client-factory.ts +32 -2
- package/src/core/handlers/code-version-handler.ts +17 -32
- package/src/core/handlers/docs-handler.ts +12 -44
- package/src/core/handlers/isml-handler.ts +19 -0
- package/src/core/handlers/job-log-handler.ts +19 -8
- package/src/core/handlers/log-handler.ts +19 -8
- package/src/core/handlers/script-debugger-handler.ts +46 -0
- package/src/core/handlers/sfra-handler.ts +12 -44
- package/src/core/handlers/simple-client-handler.ts +78 -0
- package/src/core/handlers/system-object-handler.ts +17 -32
- package/src/core/handlers/validation-helpers.ts +87 -47
- package/src/core/instruction-advisor.ts +122 -0
- package/src/core/server.ts +178 -13
- package/src/core/tool-definitions.ts +25 -1071
- package/src/core/tool-schemas/agent-instruction-tools.ts +72 -0
- package/src/core/tool-schemas/cartridge-tools.ts +29 -0
- package/src/core/tool-schemas/code-version-tools.ts +28 -0
- package/src/core/tool-schemas/documentation-tools.ts +104 -0
- package/src/core/tool-schemas/index.ts +27 -0
- package/src/core/tool-schemas/isml-tools.ts +89 -0
- package/src/core/tool-schemas/log-tools.ts +196 -0
- package/src/core/tool-schemas/script-debugger-tools.ts +83 -0
- package/src/core/tool-schemas/sfra-tools.ts +65 -0
- package/src/core/tool-schemas/shared-schemas.ts +158 -0
- package/src/core/tool-schemas/system-object-tools.ts +127 -0
- package/src/main.ts +63 -30
- package/src/services/index.ts +4 -10
- package/src/tool-configs/agent-instructions-tool-config.ts +83 -0
- package/src/tool-configs/cartridge-tool-config.ts +1 -1
- package/src/tool-configs/code-version-tool-config.ts +0 -5
- package/src/tool-configs/docs-tool-config.ts +0 -7
- package/src/tool-configs/isml-tool-config.ts +87 -0
- package/src/tool-configs/job-log-tool-config.ts +18 -17
- package/src/tool-configs/log-tool-config.ts +49 -64
- package/src/tool-configs/script-debugger-tool-config.ts +69 -0
- package/src/tool-configs/sfra-tool-config.ts +0 -11
- package/src/tool-configs/system-object-tool-config.ts +0 -5
- package/src/types/types.ts +2 -0
- package/src/utils/cache.ts +49 -54
- package/src/utils/category-utils.ts +70 -0
- package/src/utils/log-tool-constants.ts +25 -17
- package/src/utils/logger.ts +38 -1
- package/src/utils/markdown-utils.ts +280 -0
- package/src/utils/path-resolver.ts +25 -9
- package/src/utils/path-validation.ts +113 -0
- package/tests/base-handler.test.ts +1 -1
- package/tests/cache.test.ts +2 -2
- package/tests/cartridge-handler.test.ts +4 -4
- package/tests/client-factory.test.ts +1 -1
- package/tests/code-version-handler.test.ts +3 -3
- package/tests/docs-handler.test.ts +2 -2
- package/tests/documentation-scanner.test.ts +4 -4
- package/tests/isml-client.test.ts +463 -0
- package/tests/isml-handler.test.ts +375 -0
- package/tests/job-log-handler.test.ts +1 -1
- package/tests/log-handler.test.ts +8 -8
- package/tests/log-validation.test.ts +149 -0
- package/tests/mcp/README.md +22 -18
- package/tests/mcp/node/activate-code-version-advanced.full-mode.programmatic.test.js +30 -12
- package/tests/mcp/node/evaluate-script.full-mode.programmatic.test.js +387 -0
- package/tests/mcp/node/generate-cartridge-structure.docs-only.programmatic.test.js +14 -8
- package/tests/mcp/node/get-isml-categories.programmatic.test.js +278 -0
- package/tests/mcp/node/get-isml-element.programmatic.test.js +278 -0
- package/tests/mcp/node/get-isml-elements-by-category.programmatic.test.js +363 -0
- package/tests/mcp/node/get-sfra-categories.docs-only.programmatic.test.js +24 -24
- package/tests/mcp/node/get-sfra-document.programmatic.test.js +4 -2
- package/tests/mcp/node/list-isml-elements.programmatic.test.js +311 -0
- package/tests/mcp/node/list-sfcc-classes.docs-only.programmatic.test.js +2 -33
- package/tests/mcp/node/search-isml-elements.programmatic.test.js +325 -0
- package/tests/mcp/node/search-sfcc-classes.docs-only.programmatic.test.js +5 -9
- package/tests/mcp/node/search-sfcc-methods.docs-only.programmatic.test.js +7 -9
- package/tests/mcp/node/tools.docs-only.programmatic.test.js +42 -65
- package/tests/mcp/node/tools.full-mode.programmatic.test.js +7 -8
- package/tests/mcp/yaml/activate-code-version.full-mode.test.mcp.yml +2 -2
- package/tests/mcp/yaml/evaluate-script.full-mode.test.mcp.yml +281 -0
- package/tests/mcp/yaml/get-isml-categories.docs-only.test.mcp.yml +330 -0
- package/tests/mcp/yaml/get-isml-element.docs-only.test.mcp.yml +294 -0
- package/tests/mcp/yaml/get-isml-elements-by-category.docs-only.test.mcp.yml +334 -0
- package/tests/mcp/yaml/get-sfcc-class-info.docs-only.test.mcp.yml +2 -2
- package/tests/mcp/yaml/get-sfra-categories.docs-only.test.mcp.yml +13 -13
- package/tests/mcp/yaml/get-sfra-categories.full-mode.test.mcp.yml +13 -13
- package/tests/mcp/yaml/get-system-object-definitions.docs-only.test.mcp.yml +1 -16
- package/tests/mcp/yaml/list-isml-elements.docs-only.test.mcp.yml +212 -0
- package/tests/mcp/yaml/search-isml-elements.docs-only.test.mcp.yml +312 -0
- package/tests/mcp/yaml/search-sfcc-classes.docs-only.test.mcp.yml +1 -1
- package/tests/mcp/yaml/search-sfcc-classes.full-mode.test.mcp.yml +1 -1
- package/tests/mcp/yaml/search-site-preferences.docs-only.test.mcp.yml +1 -1
- package/tests/mcp/yaml/tools.docs-only.test.mcp.yml +3 -57
- package/tests/mcp/yaml/tools.full-mode.test.mcp.yml +3 -3
- package/tests/oauth-token.test.ts +107 -12
- package/tests/ocapi-client.test.ts +53 -106
- package/tests/script-debugger-client.test.ts +430 -0
- package/tests/servers/sfcc-mock-server/src/app.js +15 -0
- package/tests/servers/sfcc-mock-server/src/routes/cartridge-webdav.js +258 -0
- package/tests/servers/sfcc-mock-server/src/routes/ocapi/debugger-handler.js +396 -0
- package/tests/servers/sfcc-mock-server/src/routes/ocapi.js +5 -0
- package/tests/servers/sfcc-mock-server/src/routes/storefront.js +86 -0
- package/tests/servers/sfcc-mock-server/src/routes/webdav.js +6 -4
- package/tests/validation-helpers.test.ts +0 -31
- package/tests/workspace-roots.test.ts +227 -0
- package/ai-instructions/claude-desktop/claude_custom_instructions.md +0 -321
- package/ai-instructions/cursor/.cursor/rules/debugging-workflows.mdc +0 -171
- package/ai-instructions/cursor/.cursor/rules/hooks-development.mdc +0 -168
- package/ai-instructions/cursor/.cursor/rules/isml-templates.mdc +0 -209
- package/ai-instructions/cursor/.cursor/rules/job-framework.mdc +0 -379
- package/ai-instructions/cursor/.cursor/rules/performance-optimization.mdc +0 -215
- package/ai-instructions/cursor/.cursor/rules/scapi-endpoints.mdc +0 -98
- package/ai-instructions/cursor/.cursor/rules/security-patterns.mdc +0 -375
- package/ai-instructions/cursor/.cursor/rules/sfcc-development.mdc +0 -144
- package/ai-instructions/cursor/.cursor/rules/sfra-controllers.mdc +0 -376
- package/ai-instructions/cursor/.cursor/rules/sfra-models.mdc +0 -412
- package/ai-instructions/cursor/.cursor/rules/system-objects.mdc +0 -383
- package/ai-instructions/cursor/.cursor/rules/testing-patterns.mdc +0 -418
- package/dist/clients/best-practices-client.d.ts +0 -57
- package/dist/clients/best-practices-client.d.ts.map +0 -1
- package/dist/clients/best-practices-client.js +0 -288
- package/dist/clients/best-practices-client.js.map +0 -1
- package/dist/clients/cartridge-generation-client.d.ts +0 -57
- package/dist/clients/cartridge-generation-client.d.ts.map +0 -1
- package/dist/clients/cartridge-generation-client.js +0 -384
- package/dist/clients/cartridge-generation-client.js.map +0 -1
- package/dist/clients/logs/index.d.ts +0 -13
- package/dist/clients/logs/index.d.ts.map +0 -1
- package/dist/clients/logs/index.js +0 -15
- package/dist/clients/logs/index.js.map +0 -1
- package/dist/clients/logs/log-analyzer.d.ts +0 -55
- package/dist/clients/logs/log-analyzer.d.ts.map +0 -1
- package/dist/clients/logs/log-analyzer.js +0 -228
- package/dist/clients/logs/log-analyzer.js.map +0 -1
- package/dist/clients/logs/log-client.d.ts +0 -87
- package/dist/clients/logs/log-client.d.ts.map +0 -1
- package/dist/clients/logs/log-client.js +0 -418
- package/dist/clients/logs/log-client.js.map +0 -1
- package/dist/clients/logs/log-constants.d.ts +0 -37
- package/dist/clients/logs/log-constants.d.ts.map +0 -1
- package/dist/clients/logs/log-constants.js +0 -37
- package/dist/clients/logs/log-constants.js.map +0 -1
- package/dist/clients/logs/log-file-discovery.d.ts +0 -62
- package/dist/clients/logs/log-file-discovery.d.ts.map +0 -1
- package/dist/clients/logs/log-file-discovery.js +0 -238
- package/dist/clients/logs/log-file-discovery.js.map +0 -1
- package/dist/clients/logs/log-file-reader.d.ts +0 -53
- package/dist/clients/logs/log-file-reader.d.ts.map +0 -1
- package/dist/clients/logs/log-file-reader.js +0 -194
- package/dist/clients/logs/log-file-reader.js.map +0 -1
- package/dist/clients/logs/log-formatter.d.ts +0 -90
- package/dist/clients/logs/log-formatter.d.ts.map +0 -1
- package/dist/clients/logs/log-formatter.js +0 -189
- package/dist/clients/logs/log-formatter.js.map +0 -1
- package/dist/clients/logs/log-processor.d.ts +0 -91
- package/dist/clients/logs/log-processor.d.ts.map +0 -1
- package/dist/clients/logs/log-processor.js +0 -328
- package/dist/clients/logs/log-processor.js.map +0 -1
- package/dist/clients/logs/log-types.d.ts +0 -69
- package/dist/clients/logs/log-types.d.ts.map +0 -1
- package/dist/clients/logs/log-types.js +0 -5
- package/dist/clients/logs/log-types.js.map +0 -1
- package/dist/clients/logs/webdav-client-manager.d.ts +0 -28
- package/dist/clients/logs/webdav-client-manager.d.ts.map +0 -1
- package/dist/clients/logs/webdav-client-manager.js +0 -77
- package/dist/clients/logs/webdav-client-manager.js.map +0 -1
- package/dist/core/handlers/abstract-log-tool-handler.d.ts +0 -35
- package/dist/core/handlers/abstract-log-tool-handler.d.ts.map +0 -1
- package/dist/core/handlers/abstract-log-tool-handler.js +0 -46
- package/dist/core/handlers/abstract-log-tool-handler.js.map +0 -1
- package/dist/core/handlers/best-practices-handler.d.ts +0 -17
- package/dist/core/handlers/best-practices-handler.d.ts.map +0 -1
- package/dist/core/handlers/best-practices-handler.js +0 -43
- package/dist/core/handlers/best-practices-handler.js.map +0 -1
- package/dist/core/handlers/job-log-tool-config.d.ts +0 -8
- package/dist/core/handlers/job-log-tool-config.d.ts.map +0 -1
- package/dist/core/handlers/job-log-tool-config.js +0 -76
- package/dist/core/handlers/job-log-tool-config.js.map +0 -1
- package/dist/core/handlers/log-tool-config.d.ts +0 -8
- package/dist/core/handlers/log-tool-config.d.ts.map +0 -1
- package/dist/core/handlers/log-tool-config.js +0 -73
- package/dist/core/handlers/log-tool-config.js.map +0 -1
- package/dist/docs/best-practices/isml_templates.md +0 -1933
- package/dist/docs/best-practices/job_framework.md +0 -1173
- package/dist/docs/best-practices/scapi_custom_endpoint.md +0 -963
- package/dist/docs/best-practices/sfra_client_side_js.md +0 -736
- package/dist/docs/best-practices/sfra_models.md +0 -1142
- package/dist/tool-configs/best-practices-tool-config.d.ts +0 -11
- package/dist/tool-configs/best-practices-tool-config.d.ts.map +0 -1
- package/dist/tool-configs/best-practices-tool-config.js +0 -59
- package/dist/tool-configs/best-practices-tool-config.js.map +0 -1
- package/dist/utils/job-log-tool-config.d.ts +0 -8
- package/dist/utils/job-log-tool-config.d.ts.map +0 -1
- package/dist/utils/job-log-tool-config.js +0 -76
- package/dist/utils/job-log-tool-config.js.map +0 -1
- package/dist/utils/job-log-utils.d.ts +0 -34
- package/dist/utils/job-log-utils.d.ts.map +0 -1
- package/dist/utils/job-log-utils.js +0 -60
- package/dist/utils/job-log-utils.js.map +0 -1
- package/dist/utils/log-cache.d.ts +0 -53
- package/dist/utils/log-cache.d.ts.map +0 -1
- package/dist/utils/log-cache.js +0 -114
- package/dist/utils/log-cache.js.map +0 -1
- package/dist/utils/log-tool-config.d.ts +0 -8
- package/dist/utils/log-tool-config.d.ts.map +0 -1
- package/dist/utils/log-tool-config.js +0 -73
- package/dist/utils/log-tool-config.js.map +0 -1
- package/dist/utils/log-tool-utils.d.ts +0 -39
- package/dist/utils/log-tool-utils.d.ts.map +0 -1
- package/dist/utils/log-tool-utils.js +0 -94
- package/dist/utils/log-tool-utils.js.map +0 -1
- package/docs/best-practices/isml_templates.md +0 -1933
- package/docs/best-practices/job_framework.md +0 -1173
- package/docs/best-practices/scapi_custom_endpoint.md +0 -963
- package/docs/best-practices/sfra_client_side_js.md +0 -736
- package/docs/best-practices/sfra_models.md +0 -1142
- package/docs-site/App.tsx +0 -103
- package/docs-site/README.md +0 -113
- package/docs-site/components/Badge.tsx +0 -38
- package/docs-site/components/BreadcrumbSchema.tsx +0 -34
- package/docs-site/components/CodeBlock.tsx +0 -132
- package/docs-site/components/Collapsible.tsx +0 -40
- package/docs-site/components/ConfigBuilder.tsx +0 -118
- package/docs-site/components/ConfigHero.tsx +0 -19
- package/docs-site/components/ConfigModeTabs.tsx +0 -42
- package/docs-site/components/Layout.tsx +0 -174
- package/docs-site/components/LightCodeContainer.tsx +0 -44
- package/docs-site/components/NewcomerCTA.tsx +0 -57
- package/docs-site/components/NextStepsStrip.tsx +0 -23
- package/docs-site/components/OnThisPage.tsx +0 -91
- package/docs-site/components/SEO.tsx +0 -79
- package/docs-site/components/Search.tsx +0 -207
- package/docs-site/components/Sidebar.tsx +0 -96
- package/docs-site/components/StructuredData.tsx +0 -72
- package/docs-site/components/ToolCard.tsx +0 -84
- package/docs-site/components/ToolFilters.tsx +0 -39
- package/docs-site/components/Typography.tsx +0 -30
- package/docs-site/components/VersionBadge.tsx +0 -18
- package/docs-site/components/icons.tsx +0 -37
- package/docs-site/constants.tsx +0 -34
- package/docs-site/index.html +0 -62
- package/docs-site/main.tsx +0 -16
- package/docs-site/metadata.json +0 -5
- package/docs-site/package-lock.json +0 -3966
- package/docs-site/package.json +0 -35
- package/docs-site/pages/AIInterfacesPage.tsx +0 -610
- package/docs-site/pages/ConfigurationPage.tsx +0 -315
- package/docs-site/pages/DevelopmentPage.tsx +0 -607
- package/docs-site/pages/ExamplesPage.tsx +0 -558
- package/docs-site/pages/FeaturesPage.tsx +0 -353
- package/docs-site/pages/HomePage.tsx +0 -1046
- package/docs-site/pages/SecurityPage.tsx +0 -372
- package/docs-site/pages/ToolsPage.tsx +0 -205
- package/docs-site/pages/TroubleshootingPage.tsx +0 -590
- package/docs-site/postcss.config.js +0 -6
- package/docs-site/public/.well-known/security.txt +0 -6
- package/docs-site/public/android-chrome-192x192.png +0 -0
- package/docs-site/public/android-chrome-512x512.png +0 -0
- package/docs-site/public/apple-touch-icon.png +0 -0
- package/docs-site/public/favicon-16x16.png +0 -0
- package/docs-site/public/favicon-32x32.png +0 -0
- package/docs-site/public/favicon.ico +0 -0
- package/docs-site/public/llms.txt +0 -47
- package/docs-site/scripts/generate-search-index.js +0 -323
- package/docs-site/scripts/generate-sitemap.js +0 -156
- package/docs-site/scripts/search-dev.js +0 -112
- package/docs-site/src/styles/input.css +0 -248
- package/docs-site/src/styles/prism-theme.css +0 -124
- package/docs-site/tailwind.config.js +0 -70
- package/docs-site/tsconfig.json +0 -29
- package/docs-site/types.ts +0 -16
- package/docs-site/utils/search.ts +0 -132
- package/docs-site/utils/toolsData.ts +0 -116
- package/docs-site/vite.config.ts +0 -63
- package/src/clients/best-practices-client.ts +0 -332
- package/src/clients/cartridge-generation-client.ts +0 -507
- package/src/clients/logs/index.ts +0 -18
- package/src/clients/logs/log-analyzer.ts +0 -289
- package/src/clients/logs/log-client.ts +0 -540
- package/src/clients/logs/log-constants.ts +0 -53
- package/src/clients/logs/log-file-discovery.ts +0 -299
- package/src/clients/logs/log-file-reader.ts +0 -227
- package/src/clients/logs/log-formatter.ts +0 -258
- package/src/clients/logs/log-processor.ts +0 -402
- package/src/clients/logs/log-types.ts +0 -80
- package/src/clients/logs/webdav-client-manager.ts +0 -93
- package/src/core/handlers/abstract-log-tool-handler.ts +0 -64
- package/src/core/handlers/best-practices-handler.ts +0 -55
- package/src/core/handlers/job-log-tool-config.ts +0 -89
- package/src/core/handlers/log-tool-config.ts +0 -98
- package/src/tool-configs/best-practices-tool-config.ts +0 -68
- package/src/utils/job-log-tool-config.ts +0 -89
- package/src/utils/job-log-utils.ts +0 -78
- package/src/utils/log-cache.ts +0 -134
- package/src/utils/log-tool-config.ts +0 -98
- package/src/utils/log-tool-utils.ts +0 -122
- package/tests/best-practices-handler.test.ts +0 -236
- package/tests/job-log-utils.test.ts +0 -182
- package/tests/mcp/node/get-available-best-practice-guides.docs-only.programmatic.test.js +0 -516
- package/tests/mcp/node/get-best-practice-guide.docs-only.programmatic.test.js +0 -733
- package/tests/mcp/node/get-hook-reference.docs-only.programmatic.test.js +0 -185
- package/tests/mcp/node/search-best-practices.docs-only.programmatic.test.js +0 -836
- package/tests/mcp/yaml/get-available-best-practice-guides.docs-only.test.mcp.yml +0 -885
- package/tests/mcp/yaml/get-available-best-practice-guides.full-mode.test.mcp.yml +0 -885
- package/tests/mcp/yaml/get-best-practice-guide.docs-only.test.mcp.yml +0 -462
- package/tests/mcp/yaml/get-best-practice-guide.full-mode.test.mcp.yml +0 -462
- package/tests/mcp/yaml/get-hook-reference.docs-only.test.mcp.yml +0 -321
- package/tests/mcp/yaml/get-hook-reference.full-mode.test.mcp.yml +0 -321
- package/tests/mcp/yaml/search-best-practices.docs-only.test.mcp.yml +0 -655
- package/tests/mcp/yaml/search-best-practices.full-mode.test.mcp.yml +0 -655
- /package/{docs-site → docs-site-v2}/public/404.html +0 -0
- /package/{docs-site → docs-site-v2}/public/explain-product-pricing-methods-no-mcp.png +0 -0
- /package/{docs-site → docs-site-v2}/public/explain-product-pricing-methods.png +0 -0
|
@@ -1,144 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Core SFCC development patterns and MCP tool usage
|
|
3
|
-
alwaysApply: true
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
# SFCC Development with MCP Server Integration
|
|
7
|
-
|
|
8
|
-
You are a **Senior Salesforce B2C Commerce Cloud Developer** working with the SFCC Development MCP Server.
|
|
9
|
-
|
|
10
|
-
## Core Principles
|
|
11
|
-
|
|
12
|
-
- **ALWAYS use MCP tools first** - Never make assumptions about SFCC APIs, classes, or configurations
|
|
13
|
-
- **MCP-first development** - Query available tools before implementing any SFCC functionality
|
|
14
|
-
- **Security-first development** with proper input validation and error handling
|
|
15
|
-
- **Performance-aware coding** with efficient queries and caching strategies
|
|
16
|
-
- **Follow SFCC best practices** exclusively from MCP best practice guides
|
|
17
|
-
|
|
18
|
-
## Cartridge Creation
|
|
19
|
-
|
|
20
|
-
!IMPORTANT!: Always do this step, don't attempt to create the cartridge structure manually. The MCP server ensures all necessary files and configurations are created correctly.
|
|
21
|
-
|
|
22
|
-
Use the `mcp_sfcc-dev_generate_cartridge_structure` tool to automatically create the complete cartridge structure:
|
|
23
|
-
|
|
24
|
-
```json
|
|
25
|
-
{
|
|
26
|
-
"cartridgeName": "plugin_my_custom_cartridge",
|
|
27
|
-
"targetPath": "/path/to/your/project",
|
|
28
|
-
"fullProjectSetup": true
|
|
29
|
-
}
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
This tool will:
|
|
33
|
-
- Create all necessary configuration files (package.json, webpack.config.js, etc.)
|
|
34
|
-
- Set up the complete cartridge structure with proper organization
|
|
35
|
-
- Generate all required directories and files for a fully functional cartridge
|
|
36
|
-
|
|
37
|
-
Be sure to follow the best practices provided by the MCP server on this item.
|
|
38
|
-
|
|
39
|
-
## Essential MCP Tool Usage Patterns
|
|
40
|
-
|
|
41
|
-
### 🔍 Discovery and Research Phase (Use FIRST):
|
|
42
|
-
1. `mcp_sfcc-dev_search_sfcc_classes` - Find relevant SFCC classes by functionality
|
|
43
|
-
2. `mcp_sfcc-dev_get_sfcc_class_info` - Get detailed class information and methods
|
|
44
|
-
3. `mcp_sfcc-dev_get_available_best_practice_guides` - List all available guides
|
|
45
|
-
4. `mcp_sfcc-dev_get_best_practice_guide` - Get specific implementation patterns
|
|
46
|
-
5. `mcp_sfcc-dev_search_best_practices` - Search across all guides for specific topics
|
|
47
|
-
|
|
48
|
-
### 🏗️ Development Implementation Phase:
|
|
49
|
-
1. `mcp_sfcc-dev_get_sfra_document` - For SFRA controller development
|
|
50
|
-
2. `mcp_sfcc-dev_search_sfra_documentation` - Find SFRA patterns and examples
|
|
51
|
-
3. `mcp_sfcc-dev_get_hook_reference` - For OCAPI/SCAPI hook development
|
|
52
|
-
4. `mcp_sfcc-dev_get_system_object_definitions` - Understand data models
|
|
53
|
-
5. `mcp_sfcc-dev_search_system_object_attribute_definitions` - Find specific attributes
|
|
54
|
-
|
|
55
|
-
### 🐛 Debugging and Troubleshooting Phase:
|
|
56
|
-
1. `mcp_sfcc-dev_summarize_logs` - Get system health overview FIRST
|
|
57
|
-
2. `mcp_sfcc-dev_get_latest_error` - Check recent critical errors
|
|
58
|
-
3. `mcp_sfcc-dev_get_latest_warn` - Check recent warnings
|
|
59
|
-
4. `mcp_sfcc-dev_get_latest_info` - Check info-level messages
|
|
60
|
-
5. `mcp_sfcc-dev_get_latest_debug` - Check debug-level messages
|
|
61
|
-
6. `mcp_sfcc-dev_search_logs` - Search for specific error patterns
|
|
62
|
-
7. `mcp_sfcc-dev_list_log_files` - List available log files
|
|
63
|
-
|
|
64
|
-
### 🎯 Configuration and Setup Phase:
|
|
65
|
-
1. `mcp_sfcc-dev_search_system_object_attribute_groups` - Find preference groups
|
|
66
|
-
2. `mcp_sfcc-dev_search_site_preferences` - Configure site-specific settings
|
|
67
|
-
3. `mcp_sfcc-dev_search_custom_object_attribute_definitions` - Work with custom objects
|
|
68
|
-
|
|
69
|
-
### 🚀 Deployment and Code Version Management:
|
|
70
|
-
1. `mcp_sfcc-dev_get_code_versions` - Get all code versions on the instance
|
|
71
|
-
2. `mcp_sfcc-dev_activate_code_version` - Activate specific code version (for code-switch fixes)
|
|
72
|
-
|
|
73
|
-
## Mandatory MCP Tool Workflow
|
|
74
|
-
|
|
75
|
-
**BEFORE writing ANY SFCC code:**
|
|
76
|
-
1. Use `mcp_sfcc-dev_search_sfcc_classes` to find relevant classes
|
|
77
|
-
2. Use `mcp_sfcc-dev_get_available_best_practice_guides` to see what guides exist
|
|
78
|
-
3. Use `mcp_sfcc-dev_get_best_practice_guide` for the relevant development area
|
|
79
|
-
4. Use `mcp_sfcc-dev_search_best_practices` for specific security/performance patterns
|
|
80
|
-
|
|
81
|
-
**NEVER:**
|
|
82
|
-
- Make assumptions about SFCC class methods or properties
|
|
83
|
-
- Implement patterns without consulting MCP best practice guides
|
|
84
|
-
- Debug without first using `mcp_sfcc-dev_summarize_logs`
|
|
85
|
-
- Access system objects without checking `mcp_sfcc-dev_get_system_object_definitions`
|
|
86
|
-
|
|
87
|
-
## Code Quality Standards
|
|
88
|
-
|
|
89
|
-
- Include comprehensive JSDoc comments
|
|
90
|
-
- Implement proper error handling with try-catch blocks
|
|
91
|
-
- Use TypeScript types when available
|
|
92
|
-
- Follow SFCC naming conventions from MCP guides
|
|
93
|
-
- Add security validation for all user inputs (validated via MCP security guides)
|
|
94
|
-
- Include performance considerations from MCP performance guides
|
|
95
|
-
|
|
96
|
-
## File Generation Patterns
|
|
97
|
-
|
|
98
|
-
When creating SFCC files:
|
|
99
|
-
1. **ALWAYS** use `mcp_sfcc-dev_get_best_practice_guide` first
|
|
100
|
-
2. **ALWAYS** use `mcp_sfcc-dev_search_best_practices` for security patterns
|
|
101
|
-
3. Generate proper file structure with appropriate imports
|
|
102
|
-
4. Include comprehensive error handling
|
|
103
|
-
5. Add security considerations from MCP security guides
|
|
104
|
-
6. Provide complete, working examples following MCP patterns
|
|
105
|
-
|
|
106
|
-
## 🎯 SFCC Override Path Requirements - MANDATORY MCP USAGE
|
|
107
|
-
|
|
108
|
-
**CRITICAL**: For ANY ISML template or model override, you MUST use MCP tools first:
|
|
109
|
-
|
|
110
|
-
### ISML Template Override - Required MCP Sequence:
|
|
111
|
-
```
|
|
112
|
-
MANDATORY before any ISML template:
|
|
113
|
-
1. → mcp_sfcc-dev_get_best_practice_guide(guideName: "isml_templates")
|
|
114
|
-
2. → Review "Template Directory Structure" section
|
|
115
|
-
3. → Confirm exact override path requirements
|
|
116
|
-
4. → Generate template ONLY after MCP verification
|
|
117
|
-
```
|
|
118
|
-
|
|
119
|
-
### SFRA Model Override - Required MCP Sequence:
|
|
120
|
-
```
|
|
121
|
-
MANDATORY before any SFRA model:
|
|
122
|
-
1. → mcp_sfcc-dev_get_best_practice_guide(guideName: "sfra_models")
|
|
123
|
-
2. → Review "Model Customization Strategies" section
|
|
124
|
-
3. → Confirm proper superModule patterns
|
|
125
|
-
4. → Generate model ONLY after MCP verification
|
|
126
|
-
```
|
|
127
|
-
|
|
128
|
-
### Controller Override - Required MCP Sequence:
|
|
129
|
-
```
|
|
130
|
-
MANDATORY before any controller:
|
|
131
|
-
1. → mcp_sfcc-dev_get_best_practice_guide(guideName: "sfra_controllers")
|
|
132
|
-
2. → Review controller extension patterns
|
|
133
|
-
3. → Confirm server.extend() usage
|
|
134
|
-
4. → Generate controller ONLY after MCP verification
|
|
135
|
-
```
|
|
136
|
-
|
|
137
|
-
**NEVER generate SFCC override code without these MCP tool calls!**
|
|
138
|
-
|
|
139
|
-
### Override Path Verification Checklist:
|
|
140
|
-
- [ ] Used appropriate MCP best practice guide
|
|
141
|
-
- [ ] Confirmed exact directory structure from MCP guide
|
|
142
|
-
- [ ] Validated extension patterns (superModule, server.extend)
|
|
143
|
-
- [ ] Checked security requirements from MCP guide
|
|
144
|
-
- [ ] Verified path matches base cartridge exactly
|
|
@@ -1,376 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
description: Enhanced SFRA controller development patterns and best practices with 26+ SFRA documents
|
|
3
|
-
globs: cartridges/**/controllers/*.js
|
|
4
|
-
alwaysApply: false
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
# Enhanced SFRA Controller Development
|
|
8
|
-
|
|
9
|
-
Use this rule when creating or modifying SFRA controllers. Now with access to 26+ SFRA documents and smart categorization.
|
|
10
|
-
|
|
11
|
-
## 🚀 Enhanced MCP Tools Sequence
|
|
12
|
-
|
|
13
|
-
**BEFORE writing ANY SFRA controller code:**
|
|
14
|
-
|
|
15
|
-
### Phase 1: Explore SFRA Architecture
|
|
16
|
-
1. `mcp_sfcc-dev_get_sfra_categories` - Discover all 7 SFRA documentation categories
|
|
17
|
-
2. `mcp_sfcc-dev_get_sfra_documents_by_category` with category: "core" - Get core SFRA classes
|
|
18
|
-
3. `mcp_sfcc-dev_get_best_practice_guide` with guideName: "sfra_controllers" - Get comprehensive controller patterns
|
|
19
|
-
|
|
20
|
-
### Phase 2: Research Specific Functionality
|
|
21
|
-
4. `mcp_sfcc-dev_get_sfra_document` with documentName: "server" - Server class methods and routing
|
|
22
|
-
5. `mcp_sfcc-dev_get_sfra_document` with documentName: "request" - Request object capabilities
|
|
23
|
-
6. `mcp_sfcc-dev_get_sfra_document` with documentName: "response" - Response object methods
|
|
24
|
-
|
|
25
|
-
### Phase 3: Model-Specific Research (based on controller type)
|
|
26
|
-
**For Product Controllers:**
|
|
27
|
-
- `mcp_sfcc-dev_get_sfra_documents_by_category` with category: "product"
|
|
28
|
-
- `mcp_sfcc-dev_get_sfra_document` with documentName: "product-full"
|
|
29
|
-
|
|
30
|
-
**For Cart/Checkout Controllers:**
|
|
31
|
-
- `mcp_sfcc-dev_get_sfra_documents_by_category` with category: "order"
|
|
32
|
-
- `mcp_sfcc-dev_get_sfra_document` with documentName: "cart"
|
|
33
|
-
- `mcp_sfcc-dev_get_sfra_document` with documentName: "billing"
|
|
34
|
-
|
|
35
|
-
**For Customer Controllers:**
|
|
36
|
-
- `mcp_sfcc-dev_get_sfra_documents_by_category` with category: "customer"
|
|
37
|
-
- `mcp_sfcc-dev_get_sfra_document` with documentName: "account"
|
|
38
|
-
|
|
39
|
-
### Phase 4: Security and Advanced Features
|
|
40
|
-
7. `mcp_sfcc-dev_search_best_practices` with query: "security" - Security patterns
|
|
41
|
-
8. `mcp_sfcc-dev_search_sfra_documentation` with query: [specific functionality] - Find relevant patterns
|
|
42
|
-
|
|
43
|
-
## 📂 SFRA Documentation Categories (26+ documents)
|
|
44
|
-
|
|
45
|
-
### Available Categories:
|
|
46
|
-
- **Core** (5 docs): server, request, response, querystring, render
|
|
47
|
-
- **Product** (5 docs): product-full, product-bundle, product-tile, product-search, product-line-items
|
|
48
|
-
- **Order** (6 docs): cart, order, billing, shipping, payment, totals
|
|
49
|
-
- **Customer** (2 docs): account, address
|
|
50
|
-
- **Pricing** (3 docs): price-default, price-range, price-tiered
|
|
51
|
-
- **Store** (2 docs): store, stores
|
|
52
|
-
- **Other** (3+ docs): categories, content, locale
|
|
53
|
-
|
|
54
|
-
## MCP-Enhanced Development Workflows
|
|
55
|
-
|
|
56
|
-
### Workflow 1: Product Controller Development
|
|
57
|
-
```
|
|
58
|
-
1. mcp_sfcc-dev_get_sfra_documents_by_category with category: "core"
|
|
59
|
-
2. mcp_sfcc-dev_get_sfra_documents_by_category with category: "product"
|
|
60
|
-
3. mcp_sfcc-dev_get_sfra_document with documentName: "product-full"
|
|
61
|
-
4. mcp_sfcc-dev_search_sfra_documentation with query: "variation"
|
|
62
|
-
5. mcp_sfcc-dev_get_best_practice_guide with guideName: "sfra_controllers"
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
### Workflow 2: Cart/Checkout Controller Development
|
|
66
|
-
```
|
|
67
|
-
1. mcp_sfcc-dev_get_sfra_documents_by_category with category: "core"
|
|
68
|
-
2. mcp_sfcc-dev_get_sfra_documents_by_category with category: "order"
|
|
69
|
-
3. mcp_sfcc-dev_get_sfra_document with documentName: "cart"
|
|
70
|
-
4. mcp_sfcc-dev_get_sfra_document with documentName: "billing"
|
|
71
|
-
5. mcp_sfcc-dev_search_sfra_documentation with query: "payment"
|
|
72
|
-
```
|
|
73
|
-
|
|
74
|
-
### Workflow 3: Customer Management Controller Development
|
|
75
|
-
```
|
|
76
|
-
1. mcp_sfcc-dev_get_sfra_documents_by_category with category: "core"
|
|
77
|
-
2. mcp_sfcc-dev_get_sfra_documents_by_category with category: "customer"
|
|
78
|
-
3. mcp_sfcc-dev_get_sfra_document with documentName: "account"
|
|
79
|
-
4. mcp_sfcc-dev_search_sfra_documentation with query: "address"
|
|
80
|
-
```
|
|
81
|
-
|
|
82
|
-
## Enhanced MCP-Guided Controller Template
|
|
83
|
-
|
|
84
|
-
```javascript
|
|
85
|
-
'use strict';
|
|
86
|
-
|
|
87
|
-
/**
|
|
88
|
-
* [Controller Name] Controller
|
|
89
|
-
* Purpose: [Brief description of controller functionality]
|
|
90
|
-
*
|
|
91
|
-
* Implementation based on Enhanced SFRA Documentation:
|
|
92
|
-
* - mcp_sfcc-dev_get_sfra_categories (discovered 7 categories)
|
|
93
|
-
* - mcp_sfcc-dev_get_sfra_documents_by_category with category: "core"
|
|
94
|
-
* - mcp_sfcc-dev_get_sfra_document with documentName: "server"
|
|
95
|
-
* - mcp_sfcc-dev_get_sfra_document with documentName: "request"
|
|
96
|
-
* - mcp_sfcc-dev_get_sfra_document with documentName: "response"
|
|
97
|
-
* - mcp_sfcc-dev_get_best_practice_guide with guideName: "sfra_controllers"
|
|
98
|
-
* - mcp_sfcc-dev_search_best_practices with query: "security"
|
|
99
|
-
*/
|
|
100
|
-
|
|
101
|
-
var server = require('server');
|
|
102
|
-
var Logger = require('dw/system/Logger').getLogger('controllers', 'ControllerName');
|
|
103
|
-
|
|
104
|
-
// Middleware imports (patterns from enhanced SFRA documentation)
|
|
105
|
-
var cache = require('*/cartridge/scripts/middleware/cache');
|
|
106
|
-
var csrfProtection = require('*/cartridge/scripts/middleware/csrf');
|
|
107
|
-
var userLoggedIn = require('*/cartridge/scripts/middleware/userLoggedIn');
|
|
108
|
-
var consentTracking = require('*/cartridge/scripts/middleware/consentTracking');
|
|
109
|
-
var pageMetaData = require('*/cartridge/scripts/middleware/pageMetaData');
|
|
110
|
-
|
|
111
|
-
/**
|
|
112
|
-
* Show endpoint - Display page
|
|
113
|
-
* Patterns from mcp_sfcc-dev_get_sfra_document with documentName: "server"
|
|
114
|
-
* Security from mcp_sfcc-dev_search_best_practices with query: "security"
|
|
115
|
-
*/
|
|
116
|
-
server.get('Show',
|
|
117
|
-
cache.applyDefaultCache, // Caching pattern from SFRA best practices
|
|
118
|
-
consentTracking.consent, // Consent tracking from middleware docs
|
|
119
|
-
pageMetaData.computedPageMetaData, // Page metadata from SFRA patterns
|
|
120
|
-
function (req, res, next) {
|
|
121
|
-
try {
|
|
122
|
-
// Request handling patterns from mcp_sfcc-dev_get_sfra_document "request"
|
|
123
|
-
var queryString = req.querystring;
|
|
124
|
-
var form = req.form;
|
|
125
|
-
var currentCustomer = req.currentCustomer;
|
|
126
|
-
|
|
127
|
-
// Input validation (patterns from MCP security guide)
|
|
128
|
-
var validationResult = validateInputs(queryString, form);
|
|
129
|
-
if (!validationResult.valid) {
|
|
130
|
-
Logger.error('Validation failed in ControllerName-Show: {0}', validationResult.error);
|
|
131
|
-
res.setStatusCode(400);
|
|
132
|
-
res.render('error/notfound');
|
|
133
|
-
return next();
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
// Business logic using appropriate models
|
|
137
|
-
// Use patterns from category-specific SFRA documents:
|
|
138
|
-
// - Product controllers: mcp_sfcc-dev_get_sfra_document "product-full"
|
|
139
|
-
// - Cart controllers: mcp_sfcc-dev_get_sfra_document "cart"
|
|
140
|
-
// - Customer controllers: mcp_sfcc-dev_get_sfra_document "account"
|
|
141
|
-
var viewData = buildViewData(req);
|
|
142
|
-
|
|
143
|
-
// Response patterns from mcp_sfcc-dev_get_sfra_document "response"
|
|
144
|
-
var responseData = sanitizeForTemplate(viewData);
|
|
145
|
-
|
|
146
|
-
Logger.info('ControllerName-Show executed successfully');
|
|
147
|
-
res.render('template/templateName', responseData);
|
|
148
|
-
|
|
149
|
-
} catch (error) {
|
|
150
|
-
Logger.error('Error in ControllerName-Show: {0}', error.message);
|
|
151
|
-
Logger.debug('Stack trace: {0}', error.stack);
|
|
152
|
-
|
|
153
|
-
res.setStatusCode(500);
|
|
154
|
-
res.render('error/servererror');
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
next();
|
|
158
|
-
}
|
|
159
|
-
);
|
|
160
|
-
|
|
161
|
-
/**
|
|
162
|
-
* AJAX endpoint example
|
|
163
|
-
* Patterns from enhanced SFRA documentation and security best practices
|
|
164
|
-
*/
|
|
165
|
-
server.post('UpdateData',
|
|
166
|
-
server.middleware.https, // HTTPS enforcement from security patterns
|
|
167
|
-
csrfProtection.validateAjaxRequest, // CSRF protection from security guide
|
|
168
|
-
userLoggedIn.validateLoggedInAjax, // Authentication from security patterns
|
|
169
|
-
function (req, res, next) {
|
|
170
|
-
try {
|
|
171
|
-
// AJAX request handling from mcp_sfcc-dev_get_sfra_document "request"
|
|
172
|
-
var requestData = req.form;
|
|
173
|
-
var customer = req.currentCustomer;
|
|
174
|
-
|
|
175
|
-
// Validation for AJAX requests
|
|
176
|
-
if (!validateAjaxInput(requestData)) {
|
|
177
|
-
Logger.warn('Invalid AJAX input in ControllerName-UpdateData');
|
|
178
|
-
res.json({
|
|
179
|
-
success: false,
|
|
180
|
-
error: 'Invalid input data'
|
|
181
|
-
});
|
|
182
|
-
return next();
|
|
183
|
-
}
|
|
184
|
-
|
|
185
|
-
// Process the request using appropriate SFRA models
|
|
186
|
-
var result = processUpdate(requestData, customer);
|
|
187
|
-
|
|
188
|
-
// Response patterns from mcp_sfcc-dev_get_sfra_document "response"
|
|
189
|
-
res.json({
|
|
190
|
-
success: true,
|
|
191
|
-
data: sanitizeForJson(result)
|
|
192
|
-
});
|
|
193
|
-
|
|
194
|
-
Logger.info('ControllerName-UpdateData completed successfully');
|
|
195
|
-
|
|
196
|
-
} catch (error) {
|
|
197
|
-
Logger.error('Error in ControllerName-UpdateData: {0}', error.message);
|
|
198
|
-
|
|
199
|
-
res.json({
|
|
200
|
-
success: false,
|
|
201
|
-
error: 'Internal server error'
|
|
202
|
-
});
|
|
203
|
-
}
|
|
204
|
-
|
|
205
|
-
next();
|
|
206
|
-
}
|
|
207
|
-
);
|
|
208
|
-
|
|
209
|
-
/**
|
|
210
|
-
* Controller extension example
|
|
211
|
-
* Using patterns from mcp_sfcc-dev_get_best_practice_guide "sfra_controllers"
|
|
212
|
-
*/
|
|
213
|
-
server.extend(module.superModule);
|
|
214
|
-
|
|
215
|
-
server.append('Show', function (req, res, next) {
|
|
216
|
-
try {
|
|
217
|
-
// Get existing view data from base controller
|
|
218
|
-
var viewData = res.getViewData();
|
|
219
|
-
|
|
220
|
-
// Add custom data using patterns from relevant SFRA model documentation
|
|
221
|
-
viewData.customData = enhanceWithCustomLogic(viewData);
|
|
222
|
-
|
|
223
|
-
// Security: Ensure no sensitive data exposure
|
|
224
|
-
viewData = sanitizeCustomData(viewData);
|
|
225
|
-
|
|
226
|
-
res.setViewData(viewData);
|
|
227
|
-
|
|
228
|
-
} catch (error) {
|
|
229
|
-
Logger.error('Error in ControllerName extension: {0}', error.message);
|
|
230
|
-
// Don't break the chain, let base functionality continue
|
|
231
|
-
}
|
|
232
|
-
|
|
233
|
-
next();
|
|
234
|
-
});
|
|
235
|
-
|
|
236
|
-
// Helper functions following SFRA patterns from enhanced documentation
|
|
237
|
-
|
|
238
|
-
/**
|
|
239
|
-
* Input validation using security patterns from MCP best practices
|
|
240
|
-
*/
|
|
241
|
-
function validateInputs(queryString, form) {
|
|
242
|
-
// Validation logic based on mcp_sfcc-dev_search_best_practices "security"
|
|
243
|
-
return {
|
|
244
|
-
valid: true, // Implement actual validation
|
|
245
|
-
error: null
|
|
246
|
-
};
|
|
247
|
-
}
|
|
248
|
-
|
|
249
|
-
/**
|
|
250
|
-
* Build view data using appropriate SFRA models
|
|
251
|
-
* Model selection based on controller type and MCP research
|
|
252
|
-
*/
|
|
253
|
-
function buildViewData(req) {
|
|
254
|
-
// Use patterns from category-specific SFRA documentation:
|
|
255
|
-
// - mcp_sfcc-dev_get_sfra_documents_by_category "product" for product data
|
|
256
|
-
// - mcp_sfcc-dev_get_sfra_documents_by_category "order" for cart/checkout data
|
|
257
|
-
// - mcp_sfcc-dev_get_sfra_documents_by_category "customer" for account data
|
|
258
|
-
|
|
259
|
-
var viewData = {};
|
|
260
|
-
|
|
261
|
-
// Implement based on controller purpose and SFRA model documentation
|
|
262
|
-
|
|
263
|
-
return viewData;
|
|
264
|
-
}
|
|
265
|
-
|
|
266
|
-
/**
|
|
267
|
-
* Sanitize data for template rendering
|
|
268
|
-
* Security patterns from mcp_sfcc-dev_search_best_practices "security"
|
|
269
|
-
*/
|
|
270
|
-
function sanitizeForTemplate(data) {
|
|
271
|
-
// Implement sanitization based on security best practices
|
|
272
|
-
return data;
|
|
273
|
-
}
|
|
274
|
-
|
|
275
|
-
/**
|
|
276
|
-
* Sanitize data for JSON responses
|
|
277
|
-
* Patterns from SFRA response documentation and security guide
|
|
278
|
-
*/
|
|
279
|
-
function sanitizeForJson(data) {
|
|
280
|
-
// Remove sensitive fields, format for JSON
|
|
281
|
-
return data;
|
|
282
|
-
}
|
|
283
|
-
|
|
284
|
-
module.exports = server.exports();
|
|
285
|
-
```
|
|
286
|
-
|
|
287
|
-
## 🔒 Enhanced Security Patterns
|
|
288
|
-
|
|
289
|
-
Based on `mcp_sfcc-dev_search_best_practices` with query: "security":
|
|
290
|
-
|
|
291
|
-
### Input Validation
|
|
292
|
-
```javascript
|
|
293
|
-
// Use patterns from security best practices guide
|
|
294
|
-
function validateInput(input, expectedType, maxLength) {
|
|
295
|
-
// Implement comprehensive validation
|
|
296
|
-
}
|
|
297
|
-
```
|
|
298
|
-
|
|
299
|
-
### CSRF Protection
|
|
300
|
-
```javascript
|
|
301
|
-
// Always use CSRF protection for state-changing operations
|
|
302
|
-
server.post('Action', csrfProtection.validateRequest, function(req, res, next) {
|
|
303
|
-
// Implementation
|
|
304
|
-
});
|
|
305
|
-
```
|
|
306
|
-
|
|
307
|
-
### Output Sanitization
|
|
308
|
-
```javascript
|
|
309
|
-
// Sanitize all output to prevent XSS
|
|
310
|
-
function sanitizeOutput(data) {
|
|
311
|
-
// Remove script tags, validate HTML, encode special characters
|
|
312
|
-
}
|
|
313
|
-
```
|
|
314
|
-
|
|
315
|
-
## 🚀 Performance Patterns
|
|
316
|
-
|
|
317
|
-
From enhanced SFRA documentation and best practices:
|
|
318
|
-
|
|
319
|
-
### Caching Strategies
|
|
320
|
-
```javascript
|
|
321
|
-
// Use appropriate cache middleware from SFRA patterns
|
|
322
|
-
server.get('Show',
|
|
323
|
-
cache.applyPromotionSensitiveCache, // For promotion-dependent content
|
|
324
|
-
// or cache.applyDefaultCache, // For static content
|
|
325
|
-
// or cache.applyInventorySensitiveCache, // For inventory-dependent content
|
|
326
|
-
function(req, res, next) {
|
|
327
|
-
// Controller logic
|
|
328
|
-
}
|
|
329
|
-
);
|
|
330
|
-
```
|
|
331
|
-
|
|
332
|
-
### Lazy Loading
|
|
333
|
-
```javascript
|
|
334
|
-
// Load heavy modules only when needed
|
|
335
|
-
server.get('Show', function(req, res, next) {
|
|
336
|
-
var HeavyModel = require('*/cartridge/models/heavyModel'); // Load when needed
|
|
337
|
-
// Use the model
|
|
338
|
-
});
|
|
339
|
-
```
|
|
340
|
-
|
|
341
|
-
## 📋 Enhanced Development Checklist
|
|
342
|
-
|
|
343
|
-
Before deploying any SFRA controller:
|
|
344
|
-
|
|
345
|
-
- [ ] Used `mcp_sfcc-dev_get_sfra_categories` to understand available documentation
|
|
346
|
-
- [ ] Consulted category-specific SFRA documents for relevant models
|
|
347
|
-
- [ ] Retrieved `mcp_sfcc-dev_get_best_practice_guide` with "sfra_controllers"
|
|
348
|
-
- [ ] Applied security patterns from `mcp_sfcc-dev_search_best_practices` "security"
|
|
349
|
-
- [ ] Researched core SFRA classes: server, request, response
|
|
350
|
-
- [ ] Used appropriate middleware based on SFRA patterns
|
|
351
|
-
- [ ] Implemented proper error handling and logging
|
|
352
|
-
- [ ] Applied input validation and output sanitization
|
|
353
|
-
- [ ] Used appropriate caching strategies
|
|
354
|
-
- [ ] Tested all routes and error conditions
|
|
355
|
-
- [ ] Verified CSRF protection for POST endpoints
|
|
356
|
-
- [ ] Confirmed proper authentication for protected routes
|
|
357
|
-
|
|
358
|
-
## 🎯 Controller Type-Specific Guidelines
|
|
359
|
-
|
|
360
|
-
### Product Controllers
|
|
361
|
-
Research: `mcp_sfcc-dev_get_sfra_documents_by_category` "product"
|
|
362
|
-
Key docs: product-full, product-bundle, product-tile, product-search
|
|
363
|
-
|
|
364
|
-
### Cart/Checkout Controllers
|
|
365
|
-
Research: `mcp_sfcc-dev_get_sfra_documents_by_category` "order"
|
|
366
|
-
Key docs: cart, order, billing, shipping, payment, totals
|
|
367
|
-
|
|
368
|
-
### Customer Controllers
|
|
369
|
-
Research: `mcp_sfcc-dev_get_sfra_documents_by_category` "customer"
|
|
370
|
-
Key docs: account, address
|
|
371
|
-
|
|
372
|
-
### Content Controllers
|
|
373
|
-
Research: `mcp_sfcc-dev_get_sfra_documents_by_category` "other"
|
|
374
|
-
Key docs: categories, content, locale
|
|
375
|
-
|
|
376
|
-
Remember: Always use the enhanced MCP tools to get current, accurate information about SFRA patterns and best practices!
|