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
|
@@ -12,10 +12,30 @@ export class PathResolver {
|
|
|
12
12
|
*/
|
|
13
13
|
static getCurrentWorkingDir() {
|
|
14
14
|
// Get the directory of the current module file
|
|
15
|
+
// ts-jest may compile with a CommonJS module target in tests; suppress the
|
|
16
|
+
// diagnostic because runtime uses ESM (NodeNext) where import.meta is valid.
|
|
15
17
|
const __filename = fileURLToPath(import.meta.url);
|
|
16
18
|
const __dirname = path.dirname(__filename);
|
|
17
|
-
// Return the
|
|
18
|
-
return path.resolve(__dirname, '..');
|
|
19
|
+
// Return the project root (handles both src/ and dist/ locations)
|
|
20
|
+
return path.resolve(__dirname, '..', '..');
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Root path for bundled AI instructions (AGENTS.md + skills)
|
|
24
|
+
*/
|
|
25
|
+
static getAiInstructionsPath() {
|
|
26
|
+
return this.getRelativePath('ai-instructions');
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Path to the bundled AGENTS.md
|
|
30
|
+
*/
|
|
31
|
+
static getAgentsInstructionsFile() {
|
|
32
|
+
return path.join(this.getAiInstructionsPath(), 'AGENTS.md');
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Path to the bundled skills directory
|
|
36
|
+
*/
|
|
37
|
+
static getSkillsSourcePath() {
|
|
38
|
+
return path.join(this.getAiInstructionsPath(), 'skills');
|
|
19
39
|
}
|
|
20
40
|
/**
|
|
21
41
|
* Get a path relative to the current working directory
|
|
@@ -30,12 +50,6 @@ export class PathResolver {
|
|
|
30
50
|
static getDocsPath() {
|
|
31
51
|
return this.getRelativePath('docs');
|
|
32
52
|
}
|
|
33
|
-
/**
|
|
34
|
-
* Get the best practices docs directory path relative to the current working directory
|
|
35
|
-
*/
|
|
36
|
-
static getBestPracticesPath() {
|
|
37
|
-
return this.getRelativePath('docs', 'best-practices');
|
|
38
|
-
}
|
|
39
53
|
/**
|
|
40
54
|
* Get the SFRA docs directory path relative to the current working directory
|
|
41
55
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"path-resolver.js","sourceRoot":"","sources":["../../src/utils/path-resolver.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,MAAM,OAAO,YAAY;IACvB;;OAEG;IACH,MAAM,CAAC,oBAAoB;QACzB,+CAA+C;QAC/C,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAE3C,
|
|
1
|
+
{"version":3,"file":"path-resolver.js","sourceRoot":"","sources":["../../src/utils/path-resolver.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,MAAM,OAAO,YAAY;IACvB;;OAEG;IACH,MAAM,CAAC,oBAAoB;QACzB,+CAA+C;QAC/C,2EAA2E;QAC3E,6EAA6E;QAC7E,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAE3C,kEAAkE;QAClE,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,qBAAqB;QAC1B,OAAO,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC;IACjD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,yBAAyB;QAC9B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,WAAW,CAAC,CAAC;IAC9D,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,mBAAmB;QACxB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC3D,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,GAAG,YAAsB;QAC9C,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAE/C,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,YAAY,CAAC,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,WAAW;QAChB,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,eAAe;QACpB,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9C,CAAC;CACF"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Path Validation Utilities
|
|
3
|
+
*
|
|
4
|
+
* Provides secure path validation for file operations.
|
|
5
|
+
* Prevents path traversal attacks and validates file names.
|
|
6
|
+
*/
|
|
7
|
+
export interface PathValidationOptions {
|
|
8
|
+
/** Allowed file extensions (e.g., ['.md', '.json']) */
|
|
9
|
+
allowedExtensions?: string[];
|
|
10
|
+
/** Whether to normalize the name to lowercase */
|
|
11
|
+
normalizeToLowerCase?: boolean;
|
|
12
|
+
}
|
|
13
|
+
export declare class PathValidationError extends Error {
|
|
14
|
+
readonly code: string;
|
|
15
|
+
constructor(message: string, code?: string);
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Validate a file/document name for security issues
|
|
19
|
+
* @param name - The name to validate
|
|
20
|
+
* @param fieldName - Human-readable field name for error messages
|
|
21
|
+
* @throws PathValidationError if validation fails
|
|
22
|
+
*/
|
|
23
|
+
export declare function validateFileName(name: string, fieldName?: string): void;
|
|
24
|
+
/**
|
|
25
|
+
* Construct and validate a file path within a base directory
|
|
26
|
+
* @param basePath - The base directory path
|
|
27
|
+
* @param fileName - The file name (without extension)
|
|
28
|
+
* @param options - Validation options
|
|
29
|
+
* @returns The validated, resolved file path
|
|
30
|
+
* @throws PathValidationError if validation fails
|
|
31
|
+
*/
|
|
32
|
+
export declare function constructValidatedPath(basePath: string, fileName: string, options?: PathValidationOptions): string;
|
|
33
|
+
/**
|
|
34
|
+
* Validate binary content
|
|
35
|
+
* @param content - The content to validate
|
|
36
|
+
* @param fieldName - Human-readable field name for error messages
|
|
37
|
+
* @throws PathValidationError if content appears to be binary
|
|
38
|
+
*/
|
|
39
|
+
export declare function validateTextContent(content: string, fieldName?: string): void;
|
|
40
|
+
//# sourceMappingURL=path-validation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"path-validation.d.ts","sourceRoot":"","sources":["../../src/utils/path-validation.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,MAAM,WAAW,qBAAqB;IACpC,uDAAuD;IACvD,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,iDAAiD;IACjD,oBAAoB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,qBAAa,mBAAoB,SAAQ,KAAK;aACC,IAAI,EAAE,MAAM;gBAA7C,OAAO,EAAE,MAAM,EAAkB,IAAI,GAAE,MAAgC;CAIpF;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,GAAE,MAAe,GAAG,IAAI,CAmB/E;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,qBAA0B,GAClC,MAAM,CAkCR;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,GAAE,MAAkB,GAAG,IAAI,CAQxF"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Path Validation Utilities
|
|
3
|
+
*
|
|
4
|
+
* Provides secure path validation for file operations.
|
|
5
|
+
* Prevents path traversal attacks and validates file names.
|
|
6
|
+
*/
|
|
7
|
+
import * as path from 'path';
|
|
8
|
+
export class PathValidationError extends Error {
|
|
9
|
+
code;
|
|
10
|
+
constructor(message, code = 'PATH_VALIDATION_ERROR') {
|
|
11
|
+
super(message);
|
|
12
|
+
this.code = code;
|
|
13
|
+
this.name = 'PathValidationError';
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Validate a file/document name for security issues
|
|
18
|
+
* @param name - The name to validate
|
|
19
|
+
* @param fieldName - Human-readable field name for error messages
|
|
20
|
+
* @throws PathValidationError if validation fails
|
|
21
|
+
*/
|
|
22
|
+
export function validateFileName(name, fieldName = 'name') {
|
|
23
|
+
if (!name || typeof name !== 'string') {
|
|
24
|
+
throw new PathValidationError(`Invalid ${fieldName}: must be a non-empty string`, 'INVALID_TYPE');
|
|
25
|
+
}
|
|
26
|
+
// Prevent null bytes
|
|
27
|
+
if (name.includes('\0') || name.includes('\x00')) {
|
|
28
|
+
throw new PathValidationError(`Invalid ${fieldName}: contains null bytes`, 'NULL_BYTES');
|
|
29
|
+
}
|
|
30
|
+
// Prevent path traversal sequences
|
|
31
|
+
if (name.includes('..') || name.includes('/') || name.includes('\\')) {
|
|
32
|
+
throw new PathValidationError(`Invalid ${fieldName}: contains path traversal sequences`, 'PATH_TRAVERSAL');
|
|
33
|
+
}
|
|
34
|
+
// Only allow safe characters
|
|
35
|
+
if (!/^[a-zA-Z0-9_-]+$/.test(name)) {
|
|
36
|
+
throw new PathValidationError(`Invalid ${fieldName}: contains invalid characters`, 'INVALID_CHARACTERS');
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Construct and validate a file path within a base directory
|
|
41
|
+
* @param basePath - The base directory path
|
|
42
|
+
* @param fileName - The file name (without extension)
|
|
43
|
+
* @param options - Validation options
|
|
44
|
+
* @returns The validated, resolved file path
|
|
45
|
+
* @throws PathValidationError if validation fails
|
|
46
|
+
*/
|
|
47
|
+
export function constructValidatedPath(basePath, fileName, options = {}) {
|
|
48
|
+
const { allowedExtensions = ['.md'], normalizeToLowerCase = true } = options;
|
|
49
|
+
// Validate the file name first
|
|
50
|
+
validateFileName(fileName, 'file name');
|
|
51
|
+
// Normalize if requested
|
|
52
|
+
const normalizedName = normalizeToLowerCase ? fileName.toLowerCase() : fileName;
|
|
53
|
+
// Determine extension (use first allowed extension by default)
|
|
54
|
+
const extension = allowedExtensions[0] ?? '.md';
|
|
55
|
+
// Construct the path
|
|
56
|
+
const filePath = path.join(basePath, `${normalizedName}${extension}`);
|
|
57
|
+
const resolvedPath = path.resolve(filePath);
|
|
58
|
+
const resolvedBasePath = path.resolve(basePath);
|
|
59
|
+
// Ensure the path is within the base directory
|
|
60
|
+
if (!resolvedPath.startsWith(resolvedBasePath)) {
|
|
61
|
+
throw new PathValidationError('Invalid file name: path outside allowed directory', 'OUTSIDE_BASE_DIR');
|
|
62
|
+
}
|
|
63
|
+
// Ensure the file has the correct extension
|
|
64
|
+
const hasValidExtension = allowedExtensions.some(ext => resolvedPath.toLowerCase().endsWith(ext.toLowerCase()));
|
|
65
|
+
if (!hasValidExtension) {
|
|
66
|
+
throw new PathValidationError(`Invalid file name: must reference a ${allowedExtensions.join(' or ')} file`, 'INVALID_EXTENSION');
|
|
67
|
+
}
|
|
68
|
+
return resolvedPath;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Validate binary content
|
|
72
|
+
* @param content - The content to validate
|
|
73
|
+
* @param fieldName - Human-readable field name for error messages
|
|
74
|
+
* @throws PathValidationError if content appears to be binary
|
|
75
|
+
*/
|
|
76
|
+
export function validateTextContent(content, fieldName = 'content') {
|
|
77
|
+
if (!content.trim()) {
|
|
78
|
+
throw new PathValidationError(`Empty ${fieldName}`, 'EMPTY_CONTENT');
|
|
79
|
+
}
|
|
80
|
+
if (content.includes('\0')) {
|
|
81
|
+
throw new PathValidationError(`Invalid ${fieldName}: contains binary data`, 'BINARY_CONTENT');
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=path-validation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"path-validation.js","sourceRoot":"","sources":["../../src/utils/path-validation.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAS7B,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IACC;IAA7C,YAAY,OAAe,EAAkB,OAAe,uBAAuB;QACjF,KAAK,CAAC,OAAO,CAAC,CAAC;QAD4B,SAAI,GAAJ,IAAI,CAAkC;QAEjF,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY,EAAE,YAAoB,MAAM;IACvE,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtC,MAAM,IAAI,mBAAmB,CAAC,WAAW,SAAS,8BAA8B,EAAE,cAAc,CAAC,CAAC;IACpG,CAAC;IAED,qBAAqB;IACrB,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACjD,MAAM,IAAI,mBAAmB,CAAC,WAAW,SAAS,uBAAuB,EAAE,YAAY,CAAC,CAAC;IAC3F,CAAC;IAED,mCAAmC;IACnC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACrE,MAAM,IAAI,mBAAmB,CAAC,WAAW,SAAS,qCAAqC,EAAE,gBAAgB,CAAC,CAAC;IAC7G,CAAC;IAED,6BAA6B;IAC7B,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,mBAAmB,CAAC,WAAW,SAAS,+BAA+B,EAAE,oBAAoB,CAAC,CAAC;IAC3G,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,sBAAsB,CACpC,QAAgB,EAChB,QAAgB,EAChB,UAAiC,EAAE;IAEnC,MAAM,EAAE,iBAAiB,GAAG,CAAC,KAAK,CAAC,EAAE,oBAAoB,GAAG,IAAI,EAAE,GAAG,OAAO,CAAC;IAE7E,+BAA+B;IAC/B,gBAAgB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAExC,yBAAyB;IACzB,MAAM,cAAc,GAAG,oBAAoB,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;IAEhF,+DAA+D;IAC/D,MAAM,SAAS,GAAG,iBAAiB,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC;IAEhD,qBAAqB;IACrB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,cAAc,GAAG,SAAS,EAAE,CAAC,CAAC;IACtE,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEhD,+CAA+C;IAC/C,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAC/C,MAAM,IAAI,mBAAmB,CAAC,mDAAmD,EAAE,kBAAkB,CAAC,CAAC;IACzG,CAAC;IAED,4CAA4C;IAC5C,MAAM,iBAAiB,GAAG,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CACrD,YAAY,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CACvD,CAAC;IACF,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,MAAM,IAAI,mBAAmB,CAC3B,uCAAuC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAC5E,mBAAmB,CACpB,CAAC;IACJ,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAe,EAAE,YAAoB,SAAS;IAChF,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;QACpB,MAAM,IAAI,mBAAmB,CAAC,SAAS,SAAS,EAAE,EAAE,eAAe,CAAC,CAAC;IACvE,CAAC;IAED,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,mBAAmB,CAAC,WAAW,SAAS,wBAAwB,EAAE,gBAAgB,CAAC,CAAC;IAChG,CAAC;AACH,CAAC"}
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
|
|
10
10
|
## Description
|
|
11
11
|
|
|
12
|
-
The HTTPClient class supports the HTTP methods GET, POST, HEAD, PUT, PATCH, OPTIONS, and DELETE. If a secure connection via HTTPS is established the used server certificate or the signing CAs certificate needs to be imported into the customer key store via Business Manager. Note: when this class is used with sensitive data, be careful in persisting sensitive information. Key selection for mutual TLS: Check if there is an explicit identity requested setIdentity(KeyRef) Else, Check if there is a mapping for hostname in the keystore Deprecated: Select an arbitrary private key from the keystore var httpClient
|
|
12
|
+
The HTTPClient class supports the HTTP methods GET, POST, HEAD, PUT, PATCH, OPTIONS, and DELETE. If a secure connection via HTTPS is established the used server certificate or the signing CAs certificate needs to be imported into the customer key store via Business Manager. Note: when this class is used with sensitive data, be careful in persisting sensitive information. Key selection for mutual TLS: Check if there is an explicit identity requested setIdentity(KeyRef) Else, Check if there is a mapping for hostname in the keystore Deprecated: Select an arbitrary private key from the keystore var httpClient = new HTTPClient(); var message; httpClient.open('GET', 'http://www.myinstance.com/feed.xml'); httpClient.setTimeout(3000); httpClient.send(); if (httpClient.statusCode == 200) { message = httpClient.text; } else { // error handling message = "An error occurred with status code "+httpClient.statusCode; }
|
|
13
13
|
|
|
14
14
|
## Constants
|
|
15
15
|
|
|
@@ -77,6 +77,12 @@ Determines whether host name verification is enabled.
|
|
|
77
77
|
|
|
78
78
|
Gets the identity used for mutual TLS (mTLS).
|
|
79
79
|
|
|
80
|
+
### loggingConfig
|
|
81
|
+
|
|
82
|
+
**Type:** HTTPClientLoggingConfig
|
|
83
|
+
|
|
84
|
+
Gets the logging configuration for this HTTP client.
|
|
85
|
+
|
|
80
86
|
### responseHeaders
|
|
81
87
|
|
|
82
88
|
**Type:** Map (Read Only)
|
|
@@ -110,7 +116,9 @@ The timeout for this client, in milliseconds.
|
|
|
110
116
|
|
|
111
117
|
## Constructor Summary
|
|
112
118
|
|
|
113
|
-
HTTPClient()
|
|
119
|
+
HTTPClient() Constructs the HTTPClient instance with the default configuration.
|
|
120
|
+
|
|
121
|
+
HTTPClient(configMap : Object) Constructs the HTTPClient instance with the given configuration.
|
|
114
122
|
|
|
115
123
|
## Method Summary
|
|
116
124
|
|
|
@@ -162,6 +170,12 @@ Determines whether host name verification is enabled.
|
|
|
162
170
|
|
|
163
171
|
Gets the identity used for mutual TLS (mTLS).
|
|
164
172
|
|
|
173
|
+
### getLoggingConfig
|
|
174
|
+
|
|
175
|
+
**Signature:** `getLoggingConfig() : HTTPClientLoggingConfig`
|
|
176
|
+
|
|
177
|
+
Gets the logging configuration for this HTTP client.
|
|
178
|
+
|
|
165
179
|
### getResponseHeader
|
|
166
180
|
|
|
167
181
|
**Signature:** `getResponseHeader(header : String) : String`
|
|
@@ -306,6 +320,12 @@ Sets whether certificate host name verification is enabled.
|
|
|
306
320
|
|
|
307
321
|
Sets the identity (private key) to use when mutual TLS (mTLS) is configured.
|
|
308
322
|
|
|
323
|
+
### setLoggingConfig
|
|
324
|
+
|
|
325
|
+
**Signature:** `setLoggingConfig(config : HTTPClientLoggingConfig) : void`
|
|
326
|
+
|
|
327
|
+
Sets the logging configuration for this HTTP client.
|
|
328
|
+
|
|
309
329
|
### setRequestHeader
|
|
310
330
|
|
|
311
331
|
**Signature:** `setRequestHeader(key : String, value : String) : void`
|
|
@@ -424,6 +444,18 @@ Reference to the private key, or null if not configured
|
|
|
424
444
|
|
|
425
445
|
---
|
|
426
446
|
|
|
447
|
+
### getLoggingConfig
|
|
448
|
+
|
|
449
|
+
**Signature:** `getLoggingConfig() : HTTPClientLoggingConfig`
|
|
450
|
+
|
|
451
|
+
**Description:** Gets the logging configuration for this HTTP client.
|
|
452
|
+
|
|
453
|
+
**Returns:**
|
|
454
|
+
|
|
455
|
+
the current logging configuration
|
|
456
|
+
|
|
457
|
+
---
|
|
458
|
+
|
|
427
459
|
### getResponseHeader
|
|
428
460
|
|
|
429
461
|
**Signature:** `getResponseHeader(header : String) : String`
|
|
@@ -761,6 +793,18 @@ true if the returned code was a positive status code.
|
|
|
761
793
|
|
|
762
794
|
---
|
|
763
795
|
|
|
796
|
+
### setLoggingConfig
|
|
797
|
+
|
|
798
|
+
**Signature:** `setLoggingConfig(config : HTTPClientLoggingConfig) : void`
|
|
799
|
+
|
|
800
|
+
**Description:** Sets the logging configuration for this HTTP client.
|
|
801
|
+
|
|
802
|
+
**Parameters:**
|
|
803
|
+
|
|
804
|
+
- `config`: the logging configuration to use
|
|
805
|
+
|
|
806
|
+
---
|
|
807
|
+
|
|
764
808
|
### setRequestHeader
|
|
765
809
|
|
|
766
810
|
**Signature:** `setRequestHeader(key : String, value : String) : void`
|
|
@@ -0,0 +1,296 @@
|
|
|
1
|
+
## Package: dw.net
|
|
2
|
+
|
|
3
|
+
# Class HTTPClientLoggingConfig
|
|
4
|
+
|
|
5
|
+
## Inheritance Hierarchy
|
|
6
|
+
|
|
7
|
+
- Object
|
|
8
|
+
- dw.net.HTTPClientLoggingConfig
|
|
9
|
+
|
|
10
|
+
## Description
|
|
11
|
+
|
|
12
|
+
Script API for configuring HTTP client logging and sensitive data redaction. This class provides a customer-facing interface for configuring HTTP client logging behavior, including enabling/disabling logging, setting log levels, and defining sensitive fields that should be redacted from HTTP request and response bodies. Security Note: This class handles sensitive security-related data and logging configuration. Pay special attention to PCI DSS requirements when configuring sensitive field redaction to ensure proper data protection. Sensitive Fields of appropriate types MUST be set else logging will be skipped. Usage Example: var config = new dw.net.HTTPClientLoggingConfig(); // Enable logging and set level config.setEnabled(true); config.setLevel("INFO"); // Configure sensitive JSON fields config.setSensitiveJsonFields(["password", "creditCard", "ssn"]); // Configure sensitive XML fields config.setSensitiveXmlFields(["password", "creditCard", "ssn"]); // Configure sensitive headers config.setSensitiveHeaders(["authorization", "x-api-key", "cookie"]); // Configure sensitive body fields (for form data) config.setSensitiveBodyFields(["password", "creditCard", "ssn"]); // Configure text patterns for plain text/HTML content config.setSensitiveTextPatterns([["password\\s*=\\s*[^\\s&]+"]]); Content Type Support: JSON: Use setSensitiveJsonFields() to specify field names to redact XML: Use setSensitiveXmlFields() to specify element/attribute names to redact Form Data: Use setSensitiveBodyFields() to specify parameter names to redact Plain Text/HTML: Use setSensitiveTextPatterns() to specify regex patterns Binary/Multipart: Entire body is automatically treated as sensitive
|
|
13
|
+
|
|
14
|
+
## Properties
|
|
15
|
+
|
|
16
|
+
### enabled
|
|
17
|
+
|
|
18
|
+
**Type:** boolean
|
|
19
|
+
|
|
20
|
+
Gets whether HTTP client logging is enabled.
|
|
21
|
+
|
|
22
|
+
### level
|
|
23
|
+
|
|
24
|
+
**Type:** String
|
|
25
|
+
|
|
26
|
+
Gets the current log level for HTTP client logging.
|
|
27
|
+
|
|
28
|
+
### sensitiveBodyFields
|
|
29
|
+
|
|
30
|
+
**Type:** String
|
|
31
|
+
|
|
32
|
+
Gets the sensitive body fields configured for form data redaction.
|
|
33
|
+
|
|
34
|
+
### sensitiveHeaders
|
|
35
|
+
|
|
36
|
+
**Type:** String
|
|
37
|
+
|
|
38
|
+
Gets the sensitive headers configured for redaction.
|
|
39
|
+
|
|
40
|
+
### sensitiveJsonFields
|
|
41
|
+
|
|
42
|
+
**Type:** String
|
|
43
|
+
|
|
44
|
+
Gets the sensitive JSON fields configured for redaction.
|
|
45
|
+
|
|
46
|
+
### sensitiveXmlFields
|
|
47
|
+
|
|
48
|
+
**Type:** String
|
|
49
|
+
|
|
50
|
+
Gets the sensitive XML fields configured for redaction.
|
|
51
|
+
|
|
52
|
+
## Constructor Summary
|
|
53
|
+
|
|
54
|
+
HTTPClientLoggingConfig() Creates a new HTTPClientLoggingConfig instance.
|
|
55
|
+
|
|
56
|
+
## Method Summary
|
|
57
|
+
|
|
58
|
+
### getLevel
|
|
59
|
+
|
|
60
|
+
**Signature:** `getLevel() : String`
|
|
61
|
+
|
|
62
|
+
Gets the current log level for HTTP client logging.
|
|
63
|
+
|
|
64
|
+
### getSensitiveBodyFields
|
|
65
|
+
|
|
66
|
+
**Signature:** `getSensitiveBodyFields() : String[]`
|
|
67
|
+
|
|
68
|
+
Gets the sensitive body fields configured for form data redaction.
|
|
69
|
+
|
|
70
|
+
### getSensitiveHeaders
|
|
71
|
+
|
|
72
|
+
**Signature:** `getSensitiveHeaders() : String[]`
|
|
73
|
+
|
|
74
|
+
Gets the sensitive headers configured for redaction.
|
|
75
|
+
|
|
76
|
+
### getSensitiveJsonFields
|
|
77
|
+
|
|
78
|
+
**Signature:** `getSensitiveJsonFields() : String[]`
|
|
79
|
+
|
|
80
|
+
Gets the sensitive JSON fields configured for redaction.
|
|
81
|
+
|
|
82
|
+
### getSensitiveXmlFields
|
|
83
|
+
|
|
84
|
+
**Signature:** `getSensitiveXmlFields() : String[]`
|
|
85
|
+
|
|
86
|
+
Gets the sensitive XML fields configured for redaction.
|
|
87
|
+
|
|
88
|
+
### isEnabled
|
|
89
|
+
|
|
90
|
+
**Signature:** `isEnabled() : boolean`
|
|
91
|
+
|
|
92
|
+
Gets whether HTTP client logging is enabled.
|
|
93
|
+
|
|
94
|
+
### setEnabled
|
|
95
|
+
|
|
96
|
+
**Signature:** `setEnabled(enabled : boolean) : void`
|
|
97
|
+
|
|
98
|
+
Sets whether HTTP client logging is enabled.
|
|
99
|
+
|
|
100
|
+
### setLevel
|
|
101
|
+
|
|
102
|
+
**Signature:** `setLevel(level : String) : void`
|
|
103
|
+
|
|
104
|
+
Sets the log level for HTTP client logging.
|
|
105
|
+
|
|
106
|
+
### setSensitiveBodyFields
|
|
107
|
+
|
|
108
|
+
**Signature:** `setSensitiveBodyFields(fields : String...) : void`
|
|
109
|
+
|
|
110
|
+
Sets the sensitive body fields that should be redacted from HTTP form data.
|
|
111
|
+
|
|
112
|
+
### setSensitiveHeaders
|
|
113
|
+
|
|
114
|
+
**Signature:** `setSensitiveHeaders(headers : String...) : void`
|
|
115
|
+
|
|
116
|
+
Sets the sensitive headers that should be redacted from HTTP requests/responses.
|
|
117
|
+
|
|
118
|
+
### setSensitiveJsonFields
|
|
119
|
+
|
|
120
|
+
**Signature:** `setSensitiveJsonFields(fields : String...) : void`
|
|
121
|
+
|
|
122
|
+
Sets the sensitive JSON fields that should be redacted from HTTP request/response bodies.
|
|
123
|
+
|
|
124
|
+
### setSensitiveTextPatterns
|
|
125
|
+
|
|
126
|
+
**Signature:** `setSensitiveTextPatterns(patterns : String...) : void`
|
|
127
|
+
|
|
128
|
+
Sets the sensitive text patterns that should be redacted from HTTP request/response bodies.
|
|
129
|
+
|
|
130
|
+
### setSensitiveXmlFields
|
|
131
|
+
|
|
132
|
+
**Signature:** `setSensitiveXmlFields(fields : String...) : void`
|
|
133
|
+
|
|
134
|
+
Sets the sensitive XML fields that should be redacted from HTTP request/response bodies.
|
|
135
|
+
|
|
136
|
+
## Constructor Detail
|
|
137
|
+
|
|
138
|
+
## Method Detail
|
|
139
|
+
|
|
140
|
+
## Method Details
|
|
141
|
+
|
|
142
|
+
### getLevel
|
|
143
|
+
|
|
144
|
+
**Signature:** `getLevel() : String`
|
|
145
|
+
|
|
146
|
+
**Description:** Gets the current log level for HTTP client logging.
|
|
147
|
+
|
|
148
|
+
**Returns:**
|
|
149
|
+
|
|
150
|
+
the log level as a string (DEBUG, INFO, WARN, ERROR)
|
|
151
|
+
|
|
152
|
+
---
|
|
153
|
+
|
|
154
|
+
### getSensitiveBodyFields
|
|
155
|
+
|
|
156
|
+
**Signature:** `getSensitiveBodyFields() : String[]`
|
|
157
|
+
|
|
158
|
+
**Description:** Gets the sensitive body fields configured for form data redaction.
|
|
159
|
+
|
|
160
|
+
**Returns:**
|
|
161
|
+
|
|
162
|
+
an array of field names that will be redacted from form data
|
|
163
|
+
|
|
164
|
+
---
|
|
165
|
+
|
|
166
|
+
### getSensitiveHeaders
|
|
167
|
+
|
|
168
|
+
**Signature:** `getSensitiveHeaders() : String[]`
|
|
169
|
+
|
|
170
|
+
**Description:** Gets the sensitive headers configured for redaction.
|
|
171
|
+
|
|
172
|
+
**Returns:**
|
|
173
|
+
|
|
174
|
+
an array of header names that will be redacted
|
|
175
|
+
|
|
176
|
+
---
|
|
177
|
+
|
|
178
|
+
### getSensitiveJsonFields
|
|
179
|
+
|
|
180
|
+
**Signature:** `getSensitiveJsonFields() : String[]`
|
|
181
|
+
|
|
182
|
+
**Description:** Gets the sensitive JSON fields configured for redaction.
|
|
183
|
+
|
|
184
|
+
**Returns:**
|
|
185
|
+
|
|
186
|
+
an array of field names that will be redacted from JSON content
|
|
187
|
+
|
|
188
|
+
---
|
|
189
|
+
|
|
190
|
+
### getSensitiveXmlFields
|
|
191
|
+
|
|
192
|
+
**Signature:** `getSensitiveXmlFields() : String[]`
|
|
193
|
+
|
|
194
|
+
**Description:** Gets the sensitive XML fields configured for redaction.
|
|
195
|
+
|
|
196
|
+
**Returns:**
|
|
197
|
+
|
|
198
|
+
an array of field names that will be redacted from XML content
|
|
199
|
+
|
|
200
|
+
---
|
|
201
|
+
|
|
202
|
+
### isEnabled
|
|
203
|
+
|
|
204
|
+
**Signature:** `isEnabled() : boolean`
|
|
205
|
+
|
|
206
|
+
**Description:** Gets whether HTTP client logging is enabled.
|
|
207
|
+
|
|
208
|
+
**Returns:**
|
|
209
|
+
|
|
210
|
+
true if logging is enabled, false otherwise
|
|
211
|
+
|
|
212
|
+
---
|
|
213
|
+
|
|
214
|
+
### setEnabled
|
|
215
|
+
|
|
216
|
+
**Signature:** `setEnabled(enabled : boolean) : void`
|
|
217
|
+
|
|
218
|
+
**Description:** Sets whether HTTP client logging is enabled. When enabled, HTTP requests and responses will be logged according to the configured log level and sensitive field redaction settings. When disabled, no HTTP logging will occur.
|
|
219
|
+
|
|
220
|
+
**Parameters:**
|
|
221
|
+
|
|
222
|
+
- `enabled`: true to enable logging, false to disable
|
|
223
|
+
|
|
224
|
+
---
|
|
225
|
+
|
|
226
|
+
### setLevel
|
|
227
|
+
|
|
228
|
+
**Signature:** `setLevel(level : String) : void`
|
|
229
|
+
|
|
230
|
+
**Description:** Sets the log level for HTTP client logging. The log level determines the verbosity of HTTP logging output. Available levels: DEBUG: Most verbose, includes detailed request/response information INFO: Standard level, includes basic request/response details WARN: Only logs warnings and errors ERROR: Only logs errors
|
|
231
|
+
|
|
232
|
+
**Parameters:**
|
|
233
|
+
|
|
234
|
+
- `level`: the log level (DEBUG, INFO, WARN, ERROR). Case-insensitive.
|
|
235
|
+
|
|
236
|
+
---
|
|
237
|
+
|
|
238
|
+
### setSensitiveBodyFields
|
|
239
|
+
|
|
240
|
+
**Signature:** `setSensitiveBodyFields(fields : String...) : void`
|
|
241
|
+
|
|
242
|
+
**Description:** Sets the sensitive body fields that should be redacted from HTTP form data. When HTTP requests or responses contain form data (application/x-www-form-urlencoded), any parameters matching the specified field names will be redacted with "****FILTERED****" in the logs. Sensitive Field MUST be set else logging will be skipped for form body type Setting with empty array will use default values ["name", "email", "email_address", "ssn", "first_name", "last_name"] Example: config.setSensitiveBodyFields(["fname", "creditCard", "ssn_last_4"]);
|
|
243
|
+
|
|
244
|
+
**Parameters:**
|
|
245
|
+
|
|
246
|
+
- `fields`: an array of field names to redact from form data
|
|
247
|
+
|
|
248
|
+
---
|
|
249
|
+
|
|
250
|
+
### setSensitiveHeaders
|
|
251
|
+
|
|
252
|
+
**Signature:** `setSensitiveHeaders(headers : String...) : void`
|
|
253
|
+
|
|
254
|
+
**Description:** Sets the sensitive headers that should be redacted from HTTP requests/responses. Any HTTP headers matching the specified names will be redacted with "****FILTERED****" in the logs. This is useful for protecting sensitive authentication tokens, API keys, and session information. Sensitive Headers MUST be set else logging will be skipped for headers Setting the sensitive headers with empty array will use default values ["authorization", "cookie"] Example: config.setSensitiveHeaders([ "x-api-key", "x-auth-token"]); config.setSensiviteHeaders([]);
|
|
255
|
+
|
|
256
|
+
**Parameters:**
|
|
257
|
+
|
|
258
|
+
- `headers`: an array of header names to redact
|
|
259
|
+
|
|
260
|
+
---
|
|
261
|
+
|
|
262
|
+
### setSensitiveJsonFields
|
|
263
|
+
|
|
264
|
+
**Signature:** `setSensitiveJsonFields(fields : String...) : void`
|
|
265
|
+
|
|
266
|
+
**Description:** Sets the sensitive JSON fields that should be redacted from HTTP request/response bodies. When HTTP requests or responses contain JSON content, any fields matching the specified names will be redacted with "****FILTERED****" in the logs. Sensitive Field MUST be set else logging will be skipped for JSON body type Setting with empty array will use default values ["name", "email", "email_address", "ssn", "first_name", "last_name", "password"] Example: config.setSensitiveJsonFields(["password", "creditCard", "ssn"]);
|
|
267
|
+
|
|
268
|
+
**Parameters:**
|
|
269
|
+
|
|
270
|
+
- `fields`: an array of field names to redact from JSON content
|
|
271
|
+
|
|
272
|
+
---
|
|
273
|
+
|
|
274
|
+
### setSensitiveTextPatterns
|
|
275
|
+
|
|
276
|
+
**Signature:** `setSensitiveTextPatterns(patterns : String...) : void`
|
|
277
|
+
|
|
278
|
+
**Description:** Sets the sensitive text patterns that should be redacted from HTTP request/response bodies. When HTTP requests or responses contain text content, any text matching the specified regex patterns will be redacted with "****FILTERED****" in the logs. Example: config.setSensitiveTextPatterns(["password", "credit.*card", "\\d{3}-\\d{2}-\\d{4}"]);
|
|
279
|
+
|
|
280
|
+
**Parameters:**
|
|
281
|
+
|
|
282
|
+
- `patterns`: an array of regex patterns to match and redact from text content
|
|
283
|
+
|
|
284
|
+
---
|
|
285
|
+
|
|
286
|
+
### setSensitiveXmlFields
|
|
287
|
+
|
|
288
|
+
**Signature:** `setSensitiveXmlFields(fields : String...) : void`
|
|
289
|
+
|
|
290
|
+
**Description:** Sets the sensitive XML fields that should be redacted from HTTP request/response bodies. When HTTP requests or responses contain XML content, any elements or attributes matching the specified names will be redacted with "****FILTERED****" in the logs. Sensitive Field MUST be set else logging will be skipped for XML body type Setting with empty array will use default values ["name", "email", "email_address", "ssn", "first_name", "last_name", "password"] Example: config.setSensitiveXmlFields(["password", "creditCard", "ssn"]);
|
|
291
|
+
|
|
292
|
+
**Parameters:**
|
|
293
|
+
|
|
294
|
+
- `fields`: an array of element/attribute names to redact from XML content
|
|
295
|
+
|
|
296
|
+
---
|