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
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { BaseToolHandler, ToolExecutionContext, GenericToolSpec, HandlerContext, ToolArguments } from './base-handler.js';
|
|
2
|
+
import { ClientFactory } from './client-factory.js';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Abstract base class for handlers that need a client with factory-based creation.
|
|
6
|
+
* This provides a simpler alternative to SimpleClientHandler when you need
|
|
7
|
+
* access to ClientFactory for more complex client creation scenarios.
|
|
8
|
+
*
|
|
9
|
+
* Use this when:
|
|
10
|
+
* - Your client needs ClientFactory for creation (e.g., requires config/credentials)
|
|
11
|
+
* - You need a simple single-client handler pattern
|
|
12
|
+
*
|
|
13
|
+
* Use SimpleClientHandler when:
|
|
14
|
+
* - Your client has a simple constructor with no dependencies
|
|
15
|
+
* - You want the most minimal boilerplate
|
|
16
|
+
*/
|
|
17
|
+
export abstract class AbstractClientHandler<TToolName extends string, TClient> extends BaseToolHandler<TToolName> {
|
|
18
|
+
protected client: TClient | null = null;
|
|
19
|
+
protected clientFactory: ClientFactory;
|
|
20
|
+
|
|
21
|
+
constructor(context: HandlerContext, subLoggerName: string) {
|
|
22
|
+
super(context, subLoggerName);
|
|
23
|
+
this.clientFactory = new ClientFactory(context, this.logger);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Create the client for this handler.
|
|
28
|
+
* Returns null if the client cannot be created (e.g., missing credentials).
|
|
29
|
+
*/
|
|
30
|
+
protected abstract createClient(): TClient | null;
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Get the context key used to expose the client in the execution context.
|
|
34
|
+
*/
|
|
35
|
+
protected abstract getClientContextKey(): string;
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Get a descriptive name for the client (used in logging and error messages).
|
|
39
|
+
*/
|
|
40
|
+
protected abstract getClientDisplayName(): string;
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Get the error message when the client is not available.
|
|
44
|
+
* Override this for custom error messages.
|
|
45
|
+
*/
|
|
46
|
+
protected getClientRequiredError(): string {
|
|
47
|
+
return `${this.getClientDisplayName()} client not initialized`;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
protected async onInitialize(): Promise<void> {
|
|
51
|
+
this.client = this.createClient();
|
|
52
|
+
if (this.client) {
|
|
53
|
+
this.logger.debug(`${this.getClientDisplayName()} client initialized`);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
protected async onDispose(): Promise<void> {
|
|
58
|
+
this.client = null;
|
|
59
|
+
this.logger.debug(`${this.getClientDisplayName()} client disposed`);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
protected async createExecutionContext(): Promise<ToolExecutionContext> {
|
|
63
|
+
if (!this.client) {
|
|
64
|
+
throw new Error(this.getClientRequiredError());
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
return {
|
|
68
|
+
handlerContext: this.context,
|
|
69
|
+
logger: this.logger,
|
|
70
|
+
[this.getClientContextKey()]: this.client,
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Abstract method to get tool configuration.
|
|
76
|
+
* Each concrete handler implements this with their specific config.
|
|
77
|
+
*/
|
|
78
|
+
protected abstract getToolConfig(): Record<TToolName, GenericToolSpec<ToolArguments, any>>;
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Abstract method to get tool name set for O(1) lookup.
|
|
82
|
+
* Each concrete handler implements this with their specific tool set.
|
|
83
|
+
*/
|
|
84
|
+
protected abstract getToolNameSet(): Set<TToolName>;
|
|
85
|
+
}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { HandlerContext, ToolExecutionContext } from './base-handler.js';
|
|
2
|
+
import { SimpleClientHandler } from './simple-client-handler.js';
|
|
3
|
+
import { AgentInstructionsClient } from '../../clients/agent-instructions-client.js';
|
|
4
|
+
import { InstructionAdvisor } from '../instruction-advisor.js';
|
|
5
|
+
import {
|
|
6
|
+
AGENT_INSTRUCTION_TOOL_CONFIG,
|
|
7
|
+
AgentInstructionToolName,
|
|
8
|
+
AGENT_INSTRUCTION_TOOL_NAMES_SET,
|
|
9
|
+
} from '../../tool-configs/agent-instructions-tool-config.js';
|
|
10
|
+
import { WorkspaceRootsService } from '../../config/workspace-roots.js';
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Handler for installing/merging AGENTS.md and skills into the user's project
|
|
14
|
+
*/
|
|
15
|
+
export class AgentInstructionsToolHandler extends SimpleClientHandler<
|
|
16
|
+
AgentInstructionToolName,
|
|
17
|
+
AgentInstructionsClient
|
|
18
|
+
> {
|
|
19
|
+
private readonly instructionAdvisor: InstructionAdvisor;
|
|
20
|
+
private agentInstructionsClient: AgentInstructionsClient | null = null;
|
|
21
|
+
|
|
22
|
+
constructor(context: HandlerContext) {
|
|
23
|
+
const rootsService = context.workspaceRootsService ?? new WorkspaceRootsService(context.logger);
|
|
24
|
+
const client = new AgentInstructionsClient(rootsService);
|
|
25
|
+
super(context, 'AgentInstructions', {
|
|
26
|
+
toolConfig: AGENT_INSTRUCTION_TOOL_CONFIG,
|
|
27
|
+
toolNameSet: AGENT_INSTRUCTION_TOOL_NAMES_SET,
|
|
28
|
+
clientContextKey: 'agentInstructionsClient',
|
|
29
|
+
clientDisplayName: 'Agent instructions',
|
|
30
|
+
createClient: () => {
|
|
31
|
+
this.agentInstructionsClient = client;
|
|
32
|
+
return client;
|
|
33
|
+
},
|
|
34
|
+
});
|
|
35
|
+
this.instructionAdvisor = new InstructionAdvisor(client, context.logger);
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Override to add instructionAdvisor to execution context
|
|
40
|
+
*/
|
|
41
|
+
protected override async createExecutionContext(): Promise<ToolExecutionContext> {
|
|
42
|
+
const baseContext = await super.createExecutionContext();
|
|
43
|
+
return {
|
|
44
|
+
...baseContext,
|
|
45
|
+
instructionAdvisor: this.instructionAdvisor,
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Logger } from '../../utils/logger.js';
|
|
2
2
|
import { SFCCConfig } from '../../types/types.js';
|
|
3
|
+
import { WorkspaceRootsService } from '../../config/workspace-roots.js';
|
|
3
4
|
|
|
4
5
|
export interface HandlerContext {
|
|
5
6
|
logger: Logger;
|
|
@@ -8,6 +9,7 @@ export interface HandlerContext {
|
|
|
8
9
|
canAccessLogs: boolean;
|
|
9
10
|
canAccessOCAPI: boolean;
|
|
10
11
|
};
|
|
12
|
+
workspaceRootsService?: WorkspaceRootsService;
|
|
11
13
|
}
|
|
12
14
|
|
|
13
15
|
export interface ToolExecutionResult {
|
|
@@ -20,30 +22,21 @@ export interface ToolArguments {
|
|
|
20
22
|
}
|
|
21
23
|
|
|
22
24
|
/**
|
|
23
|
-
* Generic tool specification interface
|
|
24
|
-
* Defines the contract for declarative tool configuration
|
|
25
|
+
* Generic tool specification interface for declarative tool configuration
|
|
25
26
|
*/
|
|
26
27
|
export interface GenericToolSpec<TArgs = ToolArguments, TResult = any> {
|
|
27
|
-
/** Optional validation function for tool arguments */
|
|
28
28
|
validate?: (args: TArgs, toolName: string) => void;
|
|
29
|
-
/** Optional function to apply default values to arguments */
|
|
30
29
|
defaults?: (args: TArgs) => Partial<TArgs>;
|
|
31
|
-
/** Main execution function for the tool */
|
|
32
30
|
exec: (args: TArgs, context: ToolExecutionContext) => Promise<TResult>;
|
|
33
|
-
/** Function to generate log message for the tool execution */
|
|
34
31
|
logMessage: (args: TArgs) => string;
|
|
35
32
|
}
|
|
36
33
|
|
|
37
34
|
/**
|
|
38
35
|
* Context provided to tool execution functions
|
|
39
|
-
* Allows tools to access clients and other resources
|
|
40
36
|
*/
|
|
41
37
|
export interface ToolExecutionContext {
|
|
42
|
-
/** Handler context with configuration and capabilities */
|
|
43
38
|
handlerContext: HandlerContext;
|
|
44
|
-
/** Logger instance for the handler */
|
|
45
39
|
logger: any;
|
|
46
|
-
/** Additional context data that can be provided by concrete handlers */
|
|
47
40
|
[key: string]: any;
|
|
48
41
|
}
|
|
49
42
|
|
|
@@ -69,43 +62,20 @@ export abstract class BaseToolHandler<TToolName extends string = string> {
|
|
|
69
62
|
this.logger = Logger.getChildLogger(`Handler:${subLoggerName}`);
|
|
70
63
|
}
|
|
71
64
|
|
|
72
|
-
/**
|
|
73
|
-
* Abstract method to get tool configuration
|
|
74
|
-
* Each concrete handler implements this with their specific config
|
|
75
|
-
*/
|
|
76
65
|
protected abstract getToolConfig(): Record<TToolName, GenericToolSpec>;
|
|
77
|
-
|
|
78
|
-
/**
|
|
79
|
-
* Abstract method to get tool name set for O(1) lookup
|
|
80
|
-
* Each concrete handler implements this with their specific tool set
|
|
81
|
-
*/
|
|
82
66
|
protected abstract getToolNameSet(): Set<string>;
|
|
83
|
-
|
|
84
|
-
/**
|
|
85
|
-
* Abstract method to create execution context
|
|
86
|
-
* Each concrete handler can provide specialized context
|
|
87
|
-
*/
|
|
88
67
|
protected abstract createExecutionContext(): Promise<ToolExecutionContext>;
|
|
89
68
|
|
|
90
|
-
/**
|
|
91
|
-
* Check if this handler can handle the given tool
|
|
92
|
-
*/
|
|
93
69
|
canHandle(toolName: string): boolean {
|
|
94
70
|
return this.getToolNameSet().has(toolName);
|
|
95
71
|
}
|
|
96
72
|
|
|
97
|
-
/**
|
|
98
|
-
* Config-driven tool execution
|
|
99
|
-
* Handles validation, defaults, execution, and logging uniformly
|
|
100
|
-
*/
|
|
101
73
|
async handle(toolName: string, args: ToolArguments, startTime: number): Promise<ToolExecutionResult> {
|
|
102
74
|
if (!this.canHandle(toolName)) {
|
|
103
75
|
throw new Error(`Unsupported tool: ${toolName}`);
|
|
104
76
|
}
|
|
105
77
|
|
|
106
|
-
const
|
|
107
|
-
const spec = toolConfig[toolName as TToolName];
|
|
108
|
-
|
|
78
|
+
const spec = this.getToolConfig()[toolName as TToolName];
|
|
109
79
|
if (!spec) {
|
|
110
80
|
throw new Error(`No configuration found for tool: ${toolName}`);
|
|
111
81
|
}
|
|
@@ -118,80 +88,36 @@ export abstract class BaseToolHandler<TToolName extends string = string> {
|
|
|
118
88
|
);
|
|
119
89
|
}
|
|
120
90
|
|
|
121
|
-
/**
|
|
122
|
-
* Generic tool dispatch using configuration
|
|
123
|
-
* Handles validation, defaults, and execution
|
|
124
|
-
*/
|
|
125
91
|
private async dispatchTool(spec: GenericToolSpec, args: ToolArguments): Promise<any> {
|
|
126
92
|
const context = await this.createExecutionContext();
|
|
127
|
-
const processedArgs = this.createValidatedArgs(spec, args, 'tool');
|
|
128
|
-
|
|
129
|
-
return spec.exec(processedArgs, context);
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
/**
|
|
133
|
-
* Apply default values to arguments
|
|
134
|
-
*/
|
|
135
|
-
private applyDefaults(spec: GenericToolSpec, args: ToolArguments): ToolArguments {
|
|
136
|
-
if (!spec.defaults) {
|
|
137
|
-
return args;
|
|
138
|
-
}
|
|
139
|
-
|
|
140
|
-
const defaults = spec.defaults(args);
|
|
141
|
-
return { ...args, ...defaults };
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
/**
|
|
145
|
-
* Create validated arguments with defaults applied
|
|
146
|
-
*/
|
|
147
|
-
private createValidatedArgs(spec: GenericToolSpec, args: ToolArguments, toolName: string): ToolArguments {
|
|
148
|
-
// Apply defaults first
|
|
149
93
|
const processedArgs = this.applyDefaults(spec, args);
|
|
150
94
|
|
|
151
|
-
// Validate if validator exists
|
|
152
95
|
if (spec.validate) {
|
|
153
|
-
spec.validate(processedArgs,
|
|
96
|
+
spec.validate(processedArgs, 'tool');
|
|
154
97
|
}
|
|
155
98
|
|
|
156
|
-
return processedArgs;
|
|
99
|
+
return spec.exec(processedArgs, context);
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
private applyDefaults(spec: GenericToolSpec, args: ToolArguments): ToolArguments {
|
|
103
|
+
return spec.defaults ? { ...args, ...spec.defaults(args) } : args;
|
|
157
104
|
}
|
|
158
105
|
|
|
159
|
-
/**
|
|
160
|
-
* Initialize the handler (lazy initialization)
|
|
161
|
-
*/
|
|
162
106
|
protected async initialize(): Promise<void> {
|
|
163
|
-
if (this._isInitialized) {
|
|
164
|
-
return;
|
|
165
|
-
}
|
|
107
|
+
if (this._isInitialized) { return; }
|
|
166
108
|
await this.onInitialize();
|
|
167
109
|
this._isInitialized = true;
|
|
168
110
|
}
|
|
169
111
|
|
|
170
|
-
|
|
171
|
-
* Override this method for custom initialization logic
|
|
172
|
-
*/
|
|
173
|
-
protected async onInitialize(): Promise<void> {
|
|
174
|
-
// Default: no-op
|
|
175
|
-
}
|
|
112
|
+
protected async onInitialize(): Promise<void> { /* no-op */ }
|
|
176
113
|
|
|
177
|
-
/**
|
|
178
|
-
* Clean up resources when handler is destroyed
|
|
179
|
-
*/
|
|
180
114
|
async dispose(): Promise<void> {
|
|
181
115
|
await this.onDispose();
|
|
182
116
|
this._isInitialized = false;
|
|
183
117
|
}
|
|
184
118
|
|
|
185
|
-
|
|
186
|
-
* Override this method for custom cleanup logic
|
|
187
|
-
*/
|
|
188
|
-
protected async onDispose(): Promise<void> {
|
|
189
|
-
// Default: no-op
|
|
190
|
-
}
|
|
119
|
+
protected async onDispose(): Promise<void> { /* no-op */ }
|
|
191
120
|
|
|
192
|
-
/**
|
|
193
|
-
* Validate required arguments
|
|
194
|
-
*/
|
|
195
121
|
protected validateArgs(args: ToolArguments, required: string[], toolName: string): void {
|
|
196
122
|
for (const field of required) {
|
|
197
123
|
if (!args?.[field]) {
|
|
@@ -205,39 +131,21 @@ export abstract class BaseToolHandler<TToolName extends string = string> {
|
|
|
205
131
|
}
|
|
206
132
|
}
|
|
207
133
|
|
|
208
|
-
/**
|
|
209
|
-
* Create a standardized response
|
|
210
|
-
*/
|
|
211
134
|
protected createResponse(data: any, stringify: boolean = true): ToolExecutionResult {
|
|
212
135
|
return {
|
|
213
|
-
content: [
|
|
214
|
-
{ type: 'text', text: stringify ? JSON.stringify(data, null, 2) : data },
|
|
215
|
-
],
|
|
136
|
+
content: [{ type: 'text', text: stringify ? JSON.stringify(data, null, 2) : data }],
|
|
216
137
|
isError: false,
|
|
217
138
|
};
|
|
218
139
|
}
|
|
219
140
|
|
|
220
|
-
/**
|
|
221
|
-
* Create an error response
|
|
222
|
-
*/
|
|
223
141
|
protected createErrorResponse(error: Error, toolName: string): ToolExecutionResult {
|
|
224
142
|
this.logger.error(`Error in ${toolName}:`, error);
|
|
225
143
|
return {
|
|
226
|
-
content: [
|
|
227
|
-
{
|
|
228
|
-
type: 'text',
|
|
229
|
-
text: error instanceof HandlerError
|
|
230
|
-
? `Error: ${error.message}`
|
|
231
|
-
: `Error: ${error.message}`,
|
|
232
|
-
},
|
|
233
|
-
],
|
|
144
|
+
content: [{ type: 'text', text: `Error: ${error.message}` }],
|
|
234
145
|
isError: true,
|
|
235
146
|
};
|
|
236
147
|
}
|
|
237
148
|
|
|
238
|
-
/**
|
|
239
|
-
* Execute a tool operation with standardized logging and error handling
|
|
240
|
-
*/
|
|
241
149
|
protected async executeWithLogging(
|
|
242
150
|
toolName: string,
|
|
243
151
|
startTime: number,
|
|
@@ -246,19 +154,13 @@ export abstract class BaseToolHandler<TToolName extends string = string> {
|
|
|
246
154
|
): Promise<ToolExecutionResult> {
|
|
247
155
|
try {
|
|
248
156
|
await this.initialize();
|
|
249
|
-
|
|
250
|
-
if (logMessage) {
|
|
251
|
-
this.logger.debug(logMessage);
|
|
252
|
-
}
|
|
157
|
+
if (logMessage) { this.logger.debug(logMessage); }
|
|
253
158
|
|
|
254
159
|
const result = await operation();
|
|
255
160
|
this.logger.timing(toolName, startTime);
|
|
256
|
-
|
|
257
|
-
// Log result metadata for debugging
|
|
258
|
-
this.logger.debug(`${toolName} completed successfully`, {
|
|
161
|
+
this.logger.debug(`${toolName} completed`, {
|
|
259
162
|
resultType: typeof result,
|
|
260
163
|
resultLength: Array.isArray(result) ? result.length : undefined,
|
|
261
|
-
hasData: result != null,
|
|
262
164
|
});
|
|
263
165
|
|
|
264
166
|
return this.createResponse(result);
|
|
@@ -267,16 +169,4 @@ export abstract class BaseToolHandler<TToolName extends string = string> {
|
|
|
267
169
|
return this.createErrorResponse(error as Error, toolName);
|
|
268
170
|
}
|
|
269
171
|
}
|
|
270
|
-
|
|
271
|
-
/**
|
|
272
|
-
* @deprecated Use executeWithLogging instead
|
|
273
|
-
*/
|
|
274
|
-
protected async wrap(
|
|
275
|
-
toolName: string,
|
|
276
|
-
startTime: number,
|
|
277
|
-
fn: () => Promise<any>,
|
|
278
|
-
logMessage?: string,
|
|
279
|
-
): Promise<ToolExecutionResult> {
|
|
280
|
-
return this.executeWithLogging(toolName, startTime, fn, logMessage);
|
|
281
|
-
}
|
|
282
172
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import { GenericToolSpec, ToolArguments, HandlerContext } from './base-handler.js';
|
|
2
|
+
import { AbstractClientHandler } from './abstract-client-handler.js';
|
|
3
|
+
import { CartridgeGenerationClient } from '../../clients/cartridge/index.js';
|
|
4
4
|
import {
|
|
5
5
|
CARTRIDGE_TOOL_CONFIG,
|
|
6
6
|
CartridgeToolName,
|
|
@@ -8,51 +8,31 @@ import {
|
|
|
8
8
|
} from '../../tool-configs/cartridge-tool-config.js';
|
|
9
9
|
|
|
10
10
|
/**
|
|
11
|
-
* Handler for cartridge generation tools using config-driven dispatch
|
|
12
|
-
* Provides automated cartridge structure creation with complete project setup
|
|
11
|
+
* Handler for cartridge generation tools using config-driven dispatch.
|
|
12
|
+
* Provides automated cartridge structure creation with complete project setup.
|
|
13
13
|
*/
|
|
14
|
-
export class CartridgeToolHandler extends
|
|
15
|
-
private cartridgeClient: CartridgeGenerationClient | null = null;
|
|
16
|
-
private clientFactory: ClientFactory;
|
|
17
|
-
|
|
14
|
+
export class CartridgeToolHandler extends AbstractClientHandler<CartridgeToolName, CartridgeGenerationClient> {
|
|
18
15
|
constructor(context: HandlerContext, subLoggerName: string) {
|
|
19
16
|
super(context, subLoggerName);
|
|
20
|
-
this.clientFactory = new ClientFactory(context, this.logger);
|
|
21
17
|
}
|
|
22
18
|
|
|
23
|
-
protected
|
|
24
|
-
|
|
25
|
-
this.cartridgeClient = this.clientFactory.createCartridgeClient();
|
|
26
|
-
this.logger.debug('Cartridge generation client initialized');
|
|
27
|
-
}
|
|
19
|
+
protected createClient(): CartridgeGenerationClient {
|
|
20
|
+
return this.clientFactory.createCartridgeClient();
|
|
28
21
|
}
|
|
29
22
|
|
|
30
|
-
protected
|
|
31
|
-
|
|
32
|
-
this.logger.debug('Cartridge generation client disposed');
|
|
23
|
+
protected getClientContextKey(): string {
|
|
24
|
+
return 'cartridgeClient';
|
|
33
25
|
}
|
|
34
26
|
|
|
35
|
-
|
|
36
|
-
return
|
|
27
|
+
protected getClientDisplayName(): string {
|
|
28
|
+
return 'Cartridge Generation';
|
|
37
29
|
}
|
|
38
30
|
|
|
39
31
|
protected getToolNameSet(): Set<CartridgeToolName> {
|
|
40
32
|
return CARTRIDGE_TOOL_NAMES_SET;
|
|
41
33
|
}
|
|
42
34
|
|
|
43
|
-
protected getToolConfig(): Record<
|
|
35
|
+
protected getToolConfig(): Record<CartridgeToolName, GenericToolSpec<ToolArguments, any>> {
|
|
44
36
|
return CARTRIDGE_TOOL_CONFIG;
|
|
45
37
|
}
|
|
46
|
-
|
|
47
|
-
protected async createExecutionContext(): Promise<ToolExecutionContext> {
|
|
48
|
-
if (!this.cartridgeClient) {
|
|
49
|
-
throw new Error('Cartridge generation client not initialized');
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
return {
|
|
53
|
-
handlerContext: this.context,
|
|
54
|
-
logger: this.logger,
|
|
55
|
-
cartridgeClient: this.cartridgeClient,
|
|
56
|
-
};
|
|
57
|
-
}
|
|
58
38
|
}
|
|
@@ -2,7 +2,8 @@ import { HandlerContext } from './base-handler.js';
|
|
|
2
2
|
import { SFCCLogClient } from '../../clients/log-client.js';
|
|
3
3
|
import { OCAPIClient } from '../../clients/ocapi-client.js';
|
|
4
4
|
import { OCAPICodeVersionsClient } from '../../clients/ocapi/code-versions-client.js';
|
|
5
|
-
import { CartridgeGenerationClient } from '../../clients/cartridge
|
|
5
|
+
import { CartridgeGenerationClient } from '../../clients/cartridge/index.js';
|
|
6
|
+
import { ScriptDebuggerClient } from '../../clients/script-debugger/index.js';
|
|
6
7
|
import { Logger } from '../../utils/logger.js';
|
|
7
8
|
import { IFileSystemService, IPathService, FileSystemService, PathService } from '../../services/index.js';
|
|
8
9
|
|
|
@@ -94,15 +95,44 @@ export class ClientFactory {
|
|
|
94
95
|
);
|
|
95
96
|
}
|
|
96
97
|
|
|
98
|
+
/**
|
|
99
|
+
* Create a Script Debugger Client if full credentials are available
|
|
100
|
+
*/
|
|
101
|
+
createScriptDebuggerClient(): ScriptDebuggerClient | null {
|
|
102
|
+
if (!this.hasScriptDebuggerAccess()) {
|
|
103
|
+
this.logger.debug('Script Debugger client not created: missing credentials');
|
|
104
|
+
return null;
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
this.logger.debug('Creating Script Debugger Client');
|
|
108
|
+
return new ScriptDebuggerClient(this.context.config!, this.logger);
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* Check if Script Debugger access is available
|
|
113
|
+
* Requires hostname and either basic auth or client credentials
|
|
114
|
+
*/
|
|
115
|
+
private hasScriptDebuggerAccess(): boolean {
|
|
116
|
+
const config = this.context.config;
|
|
117
|
+
if (!config?.hostname) {return false;}
|
|
118
|
+
|
|
119
|
+
const hasBasicAuth = !!(config.username && config.password);
|
|
120
|
+
const hasClientAuth = !!(config.clientId && config.clientSecret);
|
|
121
|
+
|
|
122
|
+
return hasBasicAuth || hasClientAuth;
|
|
123
|
+
}
|
|
124
|
+
|
|
97
125
|
/**
|
|
98
126
|
* Get the required error message for a client type
|
|
99
127
|
*/
|
|
100
|
-
static getClientRequiredError(clientType: 'OCAPI' | 'Log'): string {
|
|
128
|
+
static getClientRequiredError(clientType: 'OCAPI' | 'Log' | 'ScriptDebugger'): string {
|
|
101
129
|
switch (clientType) {
|
|
102
130
|
case 'OCAPI':
|
|
103
131
|
return 'OCAPI client not configured - ensure credentials are provided in full mode.';
|
|
104
132
|
case 'Log':
|
|
105
133
|
return 'Log client not configured - ensure log access is enabled.';
|
|
134
|
+
case 'ScriptDebugger':
|
|
135
|
+
return 'Script Debugger client not configured - ensure SFCC credentials (hostname + username/password or clientId/clientSecret) are provided.';
|
|
106
136
|
default:
|
|
107
137
|
return 'Required client not configured.';
|
|
108
138
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { GenericToolSpec, ToolArguments, HandlerContext } from './base-handler.js';
|
|
2
|
+
import { AbstractClientHandler } from './abstract-client-handler.js';
|
|
3
3
|
import { ClientFactory } from './client-factory.js';
|
|
4
|
+
import { OCAPICodeVersionsClient } from '../../clients/ocapi/code-versions-client.js';
|
|
4
5
|
import {
|
|
5
6
|
CODE_VERSION_TOOL_CONFIG,
|
|
6
7
|
CodeVersionToolName,
|
|
@@ -8,51 +9,35 @@ import {
|
|
|
8
9
|
} from '../../tool-configs/code-version-tool-config.js';
|
|
9
10
|
|
|
10
11
|
/**
|
|
11
|
-
* Handler for code version management tools using config-driven dispatch
|
|
12
|
-
* Provides code version listing, activation, and deployment management
|
|
12
|
+
* Handler for code version management tools using config-driven dispatch.
|
|
13
|
+
* Provides code version listing, activation, and deployment management.
|
|
13
14
|
*/
|
|
14
|
-
export class CodeVersionToolHandler extends
|
|
15
|
-
private codeVersionsClient: OCAPICodeVersionsClient | null = null;
|
|
16
|
-
private clientFactory: ClientFactory;
|
|
17
|
-
|
|
15
|
+
export class CodeVersionToolHandler extends AbstractClientHandler<CodeVersionToolName, OCAPICodeVersionsClient> {
|
|
18
16
|
constructor(context: HandlerContext, subLoggerName: string) {
|
|
19
17
|
super(context, subLoggerName);
|
|
20
|
-
this.clientFactory = new ClientFactory(context, this.logger);
|
|
21
18
|
}
|
|
22
19
|
|
|
23
|
-
protected
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
20
|
+
protected createClient(): OCAPICodeVersionsClient | null {
|
|
21
|
+
return this.clientFactory.createCodeVersionsClient();
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
protected getClientContextKey(): string {
|
|
25
|
+
return 'codeVersionsClient';
|
|
28
26
|
}
|
|
29
27
|
|
|
30
|
-
protected
|
|
31
|
-
|
|
32
|
-
this.logger.debug('Code versions client disposed');
|
|
28
|
+
protected getClientDisplayName(): string {
|
|
29
|
+
return 'OCAPI (Code Versions)';
|
|
33
30
|
}
|
|
34
31
|
|
|
35
|
-
|
|
36
|
-
return
|
|
32
|
+
protected getClientRequiredError(): string {
|
|
33
|
+
return ClientFactory.getClientRequiredError('OCAPI');
|
|
37
34
|
}
|
|
38
35
|
|
|
39
36
|
protected getToolNameSet(): Set<CodeVersionToolName> {
|
|
40
37
|
return CODE_VERSION_TOOL_NAMES_SET;
|
|
41
38
|
}
|
|
42
39
|
|
|
43
|
-
protected getToolConfig(): Record<
|
|
40
|
+
protected getToolConfig(): Record<CodeVersionToolName, GenericToolSpec<ToolArguments, any>> {
|
|
44
41
|
return CODE_VERSION_TOOL_CONFIG;
|
|
45
42
|
}
|
|
46
|
-
|
|
47
|
-
protected async createExecutionContext(): Promise<ToolExecutionContext> {
|
|
48
|
-
if (!this.codeVersionsClient) {
|
|
49
|
-
throw new Error(ClientFactory.getClientRequiredError('OCAPI'));
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
return {
|
|
53
|
-
handlerContext: this.context,
|
|
54
|
-
logger: this.logger,
|
|
55
|
-
codeVersionsClient: this.codeVersionsClient,
|
|
56
|
-
};
|
|
57
|
-
}
|
|
58
43
|
}
|
|
@@ -1,51 +1,19 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { HandlerContext } from './base-handler.js';
|
|
2
|
+
import { SimpleClientHandler } from './simple-client-handler.js';
|
|
2
3
|
import { SFCCDocumentationClient } from '../../clients/docs-client.js';
|
|
3
4
|
import { DOCS_TOOL_CONFIG, DocToolName, DOC_TOOL_NAMES_SET } from '../../tool-configs/docs-tool-config.js';
|
|
4
5
|
|
|
5
6
|
/**
|
|
6
|
-
* Handler for SFCC documentation tools
|
|
7
|
-
* Provides access to SFCC class information, search, and documentation
|
|
7
|
+
* Handler for SFCC documentation tools
|
|
8
8
|
*/
|
|
9
|
-
export class DocsToolHandler extends
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
this.docsClient = new SFCCDocumentationClient();
|
|
19
|
-
this.logger.debug('Documentation client initialized');
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
protected async onDispose(): Promise<void> {
|
|
24
|
-
this.docsClient = null;
|
|
25
|
-
this.logger.debug('Documentation client disposed');
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
canHandle(toolName: string): boolean {
|
|
29
|
-
return DOC_TOOL_NAMES_SET.has(toolName as DocToolName);
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
protected getToolNameSet(): Set<DocToolName> {
|
|
33
|
-
return DOC_TOOL_NAMES_SET;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
protected getToolConfig(): Record<string, GenericToolSpec<ToolArguments, any>> {
|
|
37
|
-
return DOCS_TOOL_CONFIG;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
protected async createExecutionContext(): Promise<ToolExecutionContext> {
|
|
41
|
-
if (!this.docsClient) {
|
|
42
|
-
throw new Error('Documentation client not initialized');
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
return {
|
|
46
|
-
handlerContext: this.context,
|
|
47
|
-
logger: this.logger,
|
|
48
|
-
docsClient: this.docsClient,
|
|
49
|
-
};
|
|
9
|
+
export class DocsToolHandler extends SimpleClientHandler<DocToolName, SFCCDocumentationClient> {
|
|
10
|
+
constructor(context: HandlerContext) {
|
|
11
|
+
super(context, 'Docs', {
|
|
12
|
+
toolConfig: DOCS_TOOL_CONFIG,
|
|
13
|
+
toolNameSet: DOC_TOOL_NAMES_SET,
|
|
14
|
+
clientContextKey: 'docsClient',
|
|
15
|
+
clientDisplayName: 'Documentation',
|
|
16
|
+
createClient: () => new SFCCDocumentationClient(),
|
|
17
|
+
});
|
|
50
18
|
}
|
|
51
19
|
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { HandlerContext } from './base-handler.js';
|
|
2
|
+
import { SimpleClientHandler } from './simple-client-handler.js';
|
|
3
|
+
import { ISMLClient } from '../../clients/isml-client.js';
|
|
4
|
+
import { ISML_TOOL_CONFIG, ISMLToolName, ISML_TOOL_NAMES_SET } from '../../tool-configs/isml-tool-config.js';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Handler for ISML documentation tools
|
|
8
|
+
*/
|
|
9
|
+
export class ISMLToolHandler extends SimpleClientHandler<ISMLToolName, ISMLClient> {
|
|
10
|
+
constructor(context: HandlerContext) {
|
|
11
|
+
super(context, 'ISML', {
|
|
12
|
+
toolConfig: ISML_TOOL_CONFIG,
|
|
13
|
+
toolNameSet: ISML_TOOL_NAMES_SET,
|
|
14
|
+
clientContextKey: 'ismlClient',
|
|
15
|
+
clientDisplayName: 'ISML',
|
|
16
|
+
createClient: () => new ISMLClient(),
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
}
|