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.
Files changed (865) hide show
  1. package/.github/ISSUE_TEMPLATE/bug_report.yml +3 -1
  2. package/.github/ISSUE_TEMPLATE/documentation.yml +2 -2
  3. package/.github/ISSUE_TEMPLATE/question.yml +1 -1
  4. package/.github/PULL_REQUEST_TEMPLATE/documentation.md +1 -1
  5. package/.github/PULL_REQUEST_TEMPLATE/new_tool.md +1 -1
  6. package/.github/agents/official-docs-researcher.agent.md +56 -0
  7. package/.github/instructions/mcp-node-tests.instructions.md +12 -916
  8. package/.github/instructions/mcp-yml-tests.instructions.md +14 -742
  9. package/.github/pull_request_template.md +1 -1
  10. package/.github/skills/agent-authoring/SKILL.md +66 -0
  11. package/.github/skills/mcp-log-debugging/SKILL.md +69 -0
  12. package/.github/skills/mcp-programmatic-testing/SKILL.md +142 -0
  13. package/.github/skills/mcp-yaml-testing/SKILL.md +136 -0
  14. package/.github/skills/salesforce-developer-site-scraper/SKILL.md +102 -0
  15. package/.github/skills/salesforce-developer-site-scraper/scripts/scrape-to-markdown.js +205 -0
  16. package/.github/skills/salesforce-help-site-scraper/SKILL.md +84 -0
  17. package/.github/skills/salesforce-help-site-scraper/scripts/scrape-help-to-markdown.js +212 -0
  18. package/.github/skills/skill-authoring/SKILL.md +228 -0
  19. package/.github/skills/skill-authoring/references/PATTERNS.md +384 -0
  20. package/.github/workflows/ci.yml +3 -3
  21. package/.github/workflows/deploy-pages.yml +9 -19
  22. package/.github/workflows/publish.yml +5 -2
  23. package/.github/workflows/update-docs.yml +1 -1
  24. package/AGENTS.md +140 -286
  25. package/CONTRIBUTING.md +10 -22
  26. package/README.md +48 -16
  27. package/ai-instructions/{github-copilot/copilot-instructions.md → AGENTS.md} +99 -127
  28. package/ai-instructions/skills/sfcc-caching/SKILL.md +89 -0
  29. package/{dist/docs/best-practices/cartridge_creation.md → ai-instructions/skills/sfcc-cartridge-development/SKILL.md} +31 -7
  30. package/ai-instructions/skills/sfcc-forms-development/SKILL.md +261 -0
  31. package/ai-instructions/skills/sfcc-forms-development/references/ARCHITECTURE-SGJC-SFRA.md +143 -0
  32. package/ai-instructions/skills/sfcc-forms-development/references/FORM-XML-CHEATSHEET.md +127 -0
  33. package/ai-instructions/skills/sfcc-fraud-prevention/SKILL.md +95 -0
  34. package/ai-instructions/skills/sfcc-hooks-registration/SKILL.md +39 -0
  35. package/ai-instructions/skills/sfcc-isml-development/SKILL.md +370 -0
  36. package/ai-instructions/skills/sfcc-isml-development/references/REMOTE-INCLUDES.md +116 -0
  37. package/ai-instructions/skills/sfcc-isml-development/references/SFRA-LAYOUTS.md +50 -0
  38. package/ai-instructions/skills/sfcc-isml-development/references/SFRA-PAGES-CART-ACCOUNT-AUTH.md +45 -0
  39. package/ai-instructions/skills/sfcc-isml-development/references/SFRA-PAGES-CATALOG.md +85 -0
  40. package/ai-instructions/skills/sfcc-isml-development/references/SFRA-STRUCTURE-COMPONENTS.md +63 -0
  41. package/ai-instructions/skills/sfcc-isml-development/references/UTILITIES-EXPRESSIONS.md +159 -0
  42. package/ai-instructions/skills/sfcc-isml-development/references/sfra-base-templates-architecture.md +13 -0
  43. package/ai-instructions/skills/sfcc-job-development/SKILL.md +334 -0
  44. package/ai-instructions/skills/sfcc-job-development/references/CHUNK-ORIENTED.md +393 -0
  45. package/ai-instructions/skills/sfcc-job-development/references/STEPTYPES-JSON.md +271 -0
  46. package/ai-instructions/skills/sfcc-job-development/references/TASK-ORIENTED.md +257 -0
  47. package/ai-instructions/skills/sfcc-localization/SKILL.md +92 -0
  48. package/ai-instructions/skills/sfcc-localization/references/CONTROLLERS.md +63 -0
  49. package/ai-instructions/skills/sfcc-localization/references/FORMATTING.md +29 -0
  50. package/ai-instructions/skills/sfcc-localization/references/FORMS-LOCALIZATION.md +33 -0
  51. package/ai-instructions/skills/sfcc-localization/references/JAVASCRIPT-LOCALIZATION.md +41 -0
  52. package/ai-instructions/skills/sfcc-localization/references/LOCALE-SWITCHING.md +35 -0
  53. package/ai-instructions/skills/sfcc-localization/references/PATTERNS.md +740 -0
  54. package/ai-instructions/skills/sfcc-localization/references/PROPERTIES-ENCODING.md +25 -0
  55. package/ai-instructions/skills/sfcc-localization/references/RESOURCE-BUNDLES.md +67 -0
  56. package/ai-instructions/skills/sfcc-localization/references/STATIC-FILES.md +23 -0
  57. package/ai-instructions/skills/sfcc-localization/references/TESTING.md +21 -0
  58. package/{docs/best-practices/localserviceregistry.md → ai-instructions/skills/sfcc-localserviceregistry/SKILL.md} +65 -31
  59. package/ai-instructions/skills/sfcc-logging/SKILL.md +352 -0
  60. package/ai-instructions/skills/sfcc-logging/references/LOG-FILES.md +282 -0
  61. package/{docs/best-practices/ocapi_hooks.md → ai-instructions/skills/sfcc-ocapi-hooks/SKILL.md} +51 -16
  62. package/ai-instructions/skills/sfcc-ocapi-scapi-slas/SKILL.md +108 -0
  63. package/ai-instructions/skills/sfcc-page-designer/SKILL.md +353 -0
  64. package/ai-instructions/skills/sfcc-page-designer/references/ATTRIBUTE-TYPES.md +436 -0
  65. package/ai-instructions/skills/sfcc-page-designer/references/META-DEFINITIONS.md +322 -0
  66. package/{dist/docs/best-practices/performance.md → ai-instructions/skills/sfcc-performance/SKILL.md} +35 -3
  67. package/ai-instructions/skills/sfcc-platform-limits/SKILL.md +89 -0
  68. package/ai-instructions/skills/sfcc-scapi-custom-endpoints/SKILL.md +237 -0
  69. package/ai-instructions/skills/sfcc-scapi-custom-endpoints/references/AUTHENTICATION.md +214 -0
  70. package/ai-instructions/skills/sfcc-scapi-custom-endpoints/references/URL-MAPPING.md +253 -0
  71. package/{docs/best-practices/scapi_hooks.md → ai-instructions/skills/sfcc-scapi-hooks/SKILL.md} +44 -17
  72. package/ai-instructions/skills/sfcc-script-evaluation/SKILL.md +380 -0
  73. package/{docs/best-practices/security.md → ai-instructions/skills/sfcc-security/SKILL.md} +12 -3
  74. package/ai-instructions/skills/sfcc-sfra-client-side-js/SKILL.md +270 -0
  75. package/ai-instructions/skills/sfcc-sfra-client-side-js/references/AJAX-CSRF-VALIDATION.md +285 -0
  76. package/ai-instructions/skills/sfcc-sfra-client-side-js/references/BASE-MODULE-INDEX.md +206 -0
  77. package/ai-instructions/skills/sfcc-sfra-client-side-js/references/EXTENSION-PATTERNS.md +165 -0
  78. package/ai-instructions/skills/sfcc-sfra-client-side-js/references/PLUGIN-PATTERNS.md +185 -0
  79. package/ai-instructions/skills/sfcc-sfra-controllers/SKILL.md +347 -0
  80. package/ai-instructions/skills/sfcc-sfra-controllers/references/MIDDLEWARE-REFERENCE.md +257 -0
  81. package/ai-instructions/skills/sfcc-sfra-controllers/references/REMOTE-INCLUDES.md +193 -0
  82. package/{dist/docs/best-practices/sfra_controllers.md → ai-instructions/skills/sfcc-sfra-controllers/references/standard-sfra-controllers.md} +0 -670
  83. package/ai-instructions/skills/sfcc-sfra-models/SKILL.md +322 -0
  84. package/ai-instructions/skills/sfcc-sfra-models/references/MODEL-PATTERNS.md +530 -0
  85. package/ai-instructions/skills/sfcc-sfra-models/references/MODEL-STRUCTURE.md +234 -0
  86. package/ai-instructions/skills/sfcc-sfra-models/references/TESTING-SECURITY.md +417 -0
  87. package/{dist/docs/best-practices/sfra_scss.md → ai-instructions/skills/sfcc-sfra-scss/SKILL.md} +5 -0
  88. package/ai-instructions/skills/sfcc-webdav-workflows/SKILL.md +111 -0
  89. package/dist/ai-instructions/AGENTS.md +628 -0
  90. package/dist/ai-instructions/skills/sfcc-caching/SKILL.md +89 -0
  91. package/{docs/best-practices/cartridge_creation.md → dist/ai-instructions/skills/sfcc-cartridge-development/SKILL.md} +31 -7
  92. package/dist/ai-instructions/skills/sfcc-forms-development/SKILL.md +261 -0
  93. package/dist/ai-instructions/skills/sfcc-forms-development/references/ARCHITECTURE-SGJC-SFRA.md +143 -0
  94. package/dist/ai-instructions/skills/sfcc-forms-development/references/FORM-XML-CHEATSHEET.md +127 -0
  95. package/dist/ai-instructions/skills/sfcc-fraud-prevention/SKILL.md +95 -0
  96. package/dist/ai-instructions/skills/sfcc-hooks-registration/SKILL.md +39 -0
  97. package/dist/ai-instructions/skills/sfcc-isml-development/SKILL.md +370 -0
  98. package/dist/ai-instructions/skills/sfcc-isml-development/references/REMOTE-INCLUDES.md +116 -0
  99. package/dist/ai-instructions/skills/sfcc-isml-development/references/SFRA-LAYOUTS.md +50 -0
  100. package/dist/ai-instructions/skills/sfcc-isml-development/references/SFRA-PAGES-CART-ACCOUNT-AUTH.md +45 -0
  101. package/dist/ai-instructions/skills/sfcc-isml-development/references/SFRA-PAGES-CATALOG.md +85 -0
  102. package/dist/ai-instructions/skills/sfcc-isml-development/references/SFRA-STRUCTURE-COMPONENTS.md +63 -0
  103. package/dist/ai-instructions/skills/sfcc-isml-development/references/UTILITIES-EXPRESSIONS.md +159 -0
  104. package/dist/ai-instructions/skills/sfcc-isml-development/references/sfra-base-templates-architecture.md +13 -0
  105. package/dist/ai-instructions/skills/sfcc-job-development/SKILL.md +334 -0
  106. package/dist/ai-instructions/skills/sfcc-job-development/references/CHUNK-ORIENTED.md +393 -0
  107. package/dist/ai-instructions/skills/sfcc-job-development/references/STEPTYPES-JSON.md +271 -0
  108. package/dist/ai-instructions/skills/sfcc-job-development/references/TASK-ORIENTED.md +257 -0
  109. package/dist/ai-instructions/skills/sfcc-localization/SKILL.md +92 -0
  110. package/dist/ai-instructions/skills/sfcc-localization/references/CONTROLLERS.md +63 -0
  111. package/dist/ai-instructions/skills/sfcc-localization/references/FORMATTING.md +29 -0
  112. package/dist/ai-instructions/skills/sfcc-localization/references/FORMS-LOCALIZATION.md +33 -0
  113. package/dist/ai-instructions/skills/sfcc-localization/references/JAVASCRIPT-LOCALIZATION.md +41 -0
  114. package/dist/ai-instructions/skills/sfcc-localization/references/LOCALE-SWITCHING.md +35 -0
  115. package/dist/ai-instructions/skills/sfcc-localization/references/PATTERNS.md +740 -0
  116. package/dist/ai-instructions/skills/sfcc-localization/references/PROPERTIES-ENCODING.md +25 -0
  117. package/dist/ai-instructions/skills/sfcc-localization/references/RESOURCE-BUNDLES.md +67 -0
  118. package/dist/ai-instructions/skills/sfcc-localization/references/STATIC-FILES.md +23 -0
  119. package/dist/ai-instructions/skills/sfcc-localization/references/TESTING.md +21 -0
  120. package/dist/{docs/best-practices/localserviceregistry.md → ai-instructions/skills/sfcc-localserviceregistry/SKILL.md} +65 -31
  121. package/dist/ai-instructions/skills/sfcc-logging/SKILL.md +352 -0
  122. package/dist/ai-instructions/skills/sfcc-logging/references/LOG-FILES.md +282 -0
  123. package/dist/{docs/best-practices/ocapi_hooks.md → ai-instructions/skills/sfcc-ocapi-hooks/SKILL.md} +51 -16
  124. package/dist/ai-instructions/skills/sfcc-ocapi-scapi-slas/SKILL.md +108 -0
  125. package/dist/ai-instructions/skills/sfcc-page-designer/SKILL.md +353 -0
  126. package/dist/ai-instructions/skills/sfcc-page-designer/references/ATTRIBUTE-TYPES.md +436 -0
  127. package/dist/ai-instructions/skills/sfcc-page-designer/references/META-DEFINITIONS.md +322 -0
  128. package/{docs/best-practices/performance.md → dist/ai-instructions/skills/sfcc-performance/SKILL.md} +35 -3
  129. package/dist/ai-instructions/skills/sfcc-platform-limits/SKILL.md +89 -0
  130. package/dist/ai-instructions/skills/sfcc-scapi-custom-endpoints/SKILL.md +237 -0
  131. package/dist/ai-instructions/skills/sfcc-scapi-custom-endpoints/references/AUTHENTICATION.md +214 -0
  132. package/dist/ai-instructions/skills/sfcc-scapi-custom-endpoints/references/URL-MAPPING.md +253 -0
  133. package/dist/{docs/best-practices/scapi_hooks.md → ai-instructions/skills/sfcc-scapi-hooks/SKILL.md} +44 -17
  134. package/dist/ai-instructions/skills/sfcc-script-evaluation/SKILL.md +380 -0
  135. package/dist/{docs/best-practices/security.md → ai-instructions/skills/sfcc-security/SKILL.md} +12 -3
  136. package/dist/ai-instructions/skills/sfcc-sfra-client-side-js/SKILL.md +270 -0
  137. package/dist/ai-instructions/skills/sfcc-sfra-client-side-js/references/AJAX-CSRF-VALIDATION.md +285 -0
  138. package/dist/ai-instructions/skills/sfcc-sfra-client-side-js/references/BASE-MODULE-INDEX.md +206 -0
  139. package/dist/ai-instructions/skills/sfcc-sfra-client-side-js/references/EXTENSION-PATTERNS.md +165 -0
  140. package/dist/ai-instructions/skills/sfcc-sfra-client-side-js/references/PLUGIN-PATTERNS.md +185 -0
  141. package/dist/ai-instructions/skills/sfcc-sfra-controllers/SKILL.md +347 -0
  142. package/dist/ai-instructions/skills/sfcc-sfra-controllers/references/MIDDLEWARE-REFERENCE.md +257 -0
  143. package/dist/ai-instructions/skills/sfcc-sfra-controllers/references/REMOTE-INCLUDES.md +193 -0
  144. package/{docs/best-practices/sfra_controllers.md → dist/ai-instructions/skills/sfcc-sfra-controllers/references/standard-sfra-controllers.md} +0 -670
  145. package/dist/ai-instructions/skills/sfcc-sfra-models/SKILL.md +322 -0
  146. package/dist/ai-instructions/skills/sfcc-sfra-models/references/MODEL-PATTERNS.md +530 -0
  147. package/dist/ai-instructions/skills/sfcc-sfra-models/references/MODEL-STRUCTURE.md +234 -0
  148. package/dist/ai-instructions/skills/sfcc-sfra-models/references/TESTING-SECURITY.md +417 -0
  149. package/{docs/best-practices/sfra_scss.md → dist/ai-instructions/skills/sfcc-sfra-scss/SKILL.md} +5 -0
  150. package/dist/ai-instructions/skills/sfcc-webdav-workflows/SKILL.md +111 -0
  151. package/dist/clients/agent-instructions-client.d.ts +66 -0
  152. package/dist/clients/agent-instructions-client.d.ts.map +1 -0
  153. package/dist/clients/agent-instructions-client.js +277 -0
  154. package/dist/clients/agent-instructions-client.js.map +1 -0
  155. package/dist/clients/base/abstract-documentation-client.d.ts +146 -0
  156. package/dist/clients/base/abstract-documentation-client.d.ts.map +1 -0
  157. package/dist/clients/base/abstract-documentation-client.js +265 -0
  158. package/dist/clients/base/abstract-documentation-client.js.map +1 -0
  159. package/dist/clients/base/oauth-token.d.ts +18 -0
  160. package/dist/clients/base/oauth-token.d.ts.map +1 -1
  161. package/dist/clients/base/oauth-token.js +45 -2
  162. package/dist/clients/base/oauth-token.js.map +1 -1
  163. package/dist/clients/cartridge/cartridge-generation-client.d.ts +59 -0
  164. package/dist/clients/cartridge/cartridge-generation-client.d.ts.map +1 -0
  165. package/dist/clients/cartridge/cartridge-generation-client.js +224 -0
  166. package/dist/clients/cartridge/cartridge-generation-client.js.map +1 -0
  167. package/dist/clients/cartridge/cartridge-structure.d.ts +17 -0
  168. package/dist/clients/cartridge/cartridge-structure.d.ts.map +1 -0
  169. package/dist/clients/cartridge/cartridge-structure.js +33 -0
  170. package/dist/clients/cartridge/cartridge-structure.js.map +1 -0
  171. package/dist/clients/cartridge/cartridge-templates.d.ts +22 -0
  172. package/dist/clients/cartridge/cartridge-templates.d.ts.map +1 -0
  173. package/dist/clients/cartridge/cartridge-templates.js +225 -0
  174. package/dist/clients/cartridge/cartridge-templates.js.map +1 -0
  175. package/dist/clients/cartridge/index.d.ts +7 -0
  176. package/dist/clients/cartridge/index.d.ts.map +1 -0
  177. package/dist/clients/cartridge/index.js +7 -0
  178. package/dist/clients/cartridge/index.js.map +1 -0
  179. package/dist/clients/docs/documentation-scanner.d.ts +5 -2
  180. package/dist/clients/docs/documentation-scanner.d.ts.map +1 -1
  181. package/dist/clients/docs/documentation-scanner.js +38 -23
  182. package/dist/clients/docs/documentation-scanner.js.map +1 -1
  183. package/dist/clients/docs-client.d.ts +13 -4
  184. package/dist/clients/docs-client.d.ts.map +1 -1
  185. package/dist/clients/docs-client.js +44 -11
  186. package/dist/clients/docs-client.js.map +1 -1
  187. package/dist/clients/isml-client.d.ts +71 -0
  188. package/dist/clients/isml-client.d.ts.map +1 -0
  189. package/dist/clients/isml-client.js +252 -0
  190. package/dist/clients/isml-client.js.map +1 -0
  191. package/dist/clients/ocapi/code-versions-client.d.ts.map +1 -1
  192. package/dist/clients/ocapi/code-versions-client.js +6 -1
  193. package/dist/clients/ocapi/code-versions-client.js.map +1 -1
  194. package/dist/clients/ocapi-client.d.ts +9 -101
  195. package/dist/clients/ocapi-client.d.ts.map +1 -1
  196. package/dist/clients/ocapi-client.js +11 -93
  197. package/dist/clients/ocapi-client.js.map +1 -1
  198. package/dist/clients/script-debugger/index.d.ts +5 -0
  199. package/dist/clients/script-debugger/index.d.ts.map +1 -0
  200. package/dist/clients/script-debugger/index.js +5 -0
  201. package/dist/clients/script-debugger/index.js.map +1 -0
  202. package/dist/clients/script-debugger/script-debugger-client.d.ts +147 -0
  203. package/dist/clients/script-debugger/script-debugger-client.d.ts.map +1 -0
  204. package/dist/clients/script-debugger/script-debugger-client.js +591 -0
  205. package/dist/clients/script-debugger/script-debugger-client.js.map +1 -0
  206. package/dist/clients/sfra-client.d.ts +13 -62
  207. package/dist/clients/sfra-client.d.ts.map +1 -1
  208. package/dist/clients/sfra-client.js +105 -326
  209. package/dist/clients/sfra-client.js.map +1 -1
  210. package/dist/config/configuration-factory.d.ts +1 -1
  211. package/dist/config/configuration-factory.d.ts.map +1 -1
  212. package/dist/config/configuration-factory.js +5 -1
  213. package/dist/config/configuration-factory.js.map +1 -1
  214. package/dist/config/dw-json-loader.d.ts +7 -0
  215. package/dist/config/dw-json-loader.d.ts.map +1 -1
  216. package/dist/config/dw-json-loader.js +92 -15
  217. package/dist/config/dw-json-loader.js.map +1 -1
  218. package/dist/config/workspace-roots.d.ts +143 -0
  219. package/dist/config/workspace-roots.d.ts.map +1 -0
  220. package/dist/config/workspace-roots.js +448 -0
  221. package/dist/config/workspace-roots.js.map +1 -0
  222. package/dist/constants/index.d.ts +1 -0
  223. package/dist/constants/index.d.ts.map +1 -0
  224. package/dist/constants/index.js +3 -0
  225. package/dist/constants/index.js.map +1 -0
  226. package/dist/core/handlers/abstract-client-handler.d.ts +52 -0
  227. package/dist/core/handlers/abstract-client-handler.d.ts.map +1 -0
  228. package/dist/core/handlers/abstract-client-handler.js +51 -0
  229. package/dist/core/handlers/abstract-client-handler.js.map +1 -0
  230. package/dist/core/handlers/agent-instructions-handler.d.ts +17 -0
  231. package/dist/core/handlers/agent-instructions-handler.d.ts.map +1 -0
  232. package/dist/core/handlers/agent-instructions-handler.js +38 -0
  233. package/dist/core/handlers/agent-instructions-handler.js.map +1 -0
  234. package/dist/core/handlers/base-handler.d.ts +3 -68
  235. package/dist/core/handlers/base-handler.d.ts.map +1 -1
  236. package/dist/core/handlers/base-handler.js +11 -84
  237. package/dist/core/handlers/base-handler.js.map +1 -1
  238. package/dist/core/handlers/cartridge-handler.d.ts +10 -11
  239. package/dist/core/handlers/cartridge-handler.d.ts.map +1 -1
  240. package/dist/core/handlers/cartridge-handler.js +10 -28
  241. package/dist/core/handlers/cartridge-handler.js.map +1 -1
  242. package/dist/core/handlers/client-factory.d.ts +12 -2
  243. package/dist/core/handlers/client-factory.d.ts.map +1 -1
  244. package/dist/core/handlers/client-factory.js +28 -1
  245. package/dist/core/handlers/client-factory.js.map +1 -1
  246. package/dist/core/handlers/code-version-handler.d.ts +11 -11
  247. package/dist/core/handlers/code-version-handler.d.ts.map +1 -1
  248. package/dist/core/handlers/code-version-handler.js +13 -27
  249. package/dist/core/handlers/code-version-handler.js.map +1 -1
  250. package/dist/core/handlers/docs-handler.d.ts +6 -12
  251. package/dist/core/handlers/docs-handler.d.ts.map +1 -1
  252. package/dist/core/handlers/docs-handler.js +11 -36
  253. package/dist/core/handlers/docs-handler.js.map +1 -1
  254. package/dist/core/handlers/isml-handler.d.ts +11 -0
  255. package/dist/core/handlers/isml-handler.d.ts.map +1 -0
  256. package/dist/core/handlers/isml-handler.js +18 -0
  257. package/dist/core/handlers/isml-handler.js.map +1 -0
  258. package/dist/core/handlers/job-log-handler.d.ts +8 -7
  259. package/dist/core/handlers/job-log-handler.d.ts.map +1 -1
  260. package/dist/core/handlers/job-log-handler.js +14 -5
  261. package/dist/core/handlers/job-log-handler.js.map +1 -1
  262. package/dist/core/handlers/log-handler.d.ts +8 -7
  263. package/dist/core/handlers/log-handler.d.ts.map +1 -1
  264. package/dist/core/handlers/log-handler.js +14 -5
  265. package/dist/core/handlers/log-handler.js.map +1 -1
  266. package/dist/core/handlers/script-debugger-handler.d.ts +18 -0
  267. package/dist/core/handlers/script-debugger-handler.d.ts.map +1 -0
  268. package/dist/core/handlers/script-debugger-handler.js +31 -0
  269. package/dist/core/handlers/script-debugger-handler.js.map +1 -0
  270. package/dist/core/handlers/sfra-handler.d.ts +6 -12
  271. package/dist/core/handlers/sfra-handler.d.ts.map +1 -1
  272. package/dist/core/handlers/sfra-handler.js +11 -36
  273. package/dist/core/handlers/sfra-handler.js.map +1 -1
  274. package/dist/core/handlers/simple-client-handler.d.ts +41 -0
  275. package/dist/core/handlers/simple-client-handler.d.ts.map +1 -0
  276. package/dist/core/handlers/simple-client-handler.js +49 -0
  277. package/dist/core/handlers/simple-client-handler.js.map +1 -0
  278. package/dist/core/handlers/system-object-handler.d.ts +11 -11
  279. package/dist/core/handlers/system-object-handler.d.ts.map +1 -1
  280. package/dist/core/handlers/system-object-handler.js +13 -27
  281. package/dist/core/handlers/system-object-handler.js.map +1 -1
  282. package/dist/core/handlers/validation-helpers.d.ts +22 -24
  283. package/dist/core/handlers/validation-helpers.d.ts.map +1 -1
  284. package/dist/core/handlers/validation-helpers.js +89 -39
  285. package/dist/core/handlers/validation-helpers.js.map +1 -1
  286. package/dist/core/instruction-advisor.d.ts +28 -0
  287. package/dist/core/instruction-advisor.d.ts.map +1 -0
  288. package/dist/core/instruction-advisor.js +114 -0
  289. package/dist/core/instruction-advisor.js.map +1 -0
  290. package/dist/core/server.d.ts +25 -0
  291. package/dist/core/server.d.ts.map +1 -1
  292. package/dist/core/server.js +151 -11
  293. package/dist/core/server.js.map +1 -1
  294. package/dist/core/tool-definitions.d.ts +6 -854
  295. package/dist/core/tool-definitions.d.ts.map +1 -1
  296. package/dist/core/tool-definitions.js +8 -1064
  297. package/dist/core/tool-definitions.js.map +1 -1
  298. package/dist/core/tool-schemas/agent-instruction-tools.d.ts +77 -0
  299. package/dist/core/tool-schemas/agent-instruction-tools.d.ts.map +1 -0
  300. package/dist/core/tool-schemas/agent-instruction-tools.js +72 -0
  301. package/dist/core/tool-schemas/agent-instruction-tools.js.map +1 -0
  302. package/dist/core/tool-schemas/cartridge-tools.d.ts +27 -0
  303. package/dist/core/tool-schemas/cartridge-tools.d.ts.map +1 -0
  304. package/dist/core/tool-schemas/cartridge-tools.js +29 -0
  305. package/dist/core/tool-schemas/cartridge-tools.js.map +1 -0
  306. package/dist/core/tool-schemas/code-version-tools.d.ts +28 -0
  307. package/dist/core/tool-schemas/code-version-tools.d.ts.map +1 -0
  308. package/dist/core/tool-schemas/code-version-tools.js +28 -0
  309. package/dist/core/tool-schemas/code-version-tools.js.map +1 -0
  310. package/dist/core/tool-schemas/documentation-tools.d.ts +139 -0
  311. package/dist/core/tool-schemas/documentation-tools.d.ts.map +1 -0
  312. package/dist/core/tool-schemas/documentation-tools.js +104 -0
  313. package/dist/core/tool-schemas/documentation-tools.js.map +1 -0
  314. package/dist/core/tool-schemas/index.d.ts +17 -0
  315. package/dist/core/tool-schemas/index.d.ts.map +1 -0
  316. package/dist/core/tool-schemas/index.js +19 -0
  317. package/dist/core/tool-schemas/index.js.map +1 -0
  318. package/dist/core/tool-schemas/isml-tools.d.ts +98 -0
  319. package/dist/core/tool-schemas/isml-tools.d.ts.map +1 -0
  320. package/dist/core/tool-schemas/isml-tools.js +89 -0
  321. package/dist/core/tool-schemas/isml-tools.js.map +1 -0
  322. package/dist/core/tool-schemas/log-tools.d.ts +221 -0
  323. package/dist/core/tool-schemas/log-tools.d.ts.map +1 -0
  324. package/dist/core/tool-schemas/log-tools.js +180 -0
  325. package/dist/core/tool-schemas/log-tools.js.map +1 -0
  326. package/dist/core/tool-schemas/script-debugger-tools.d.ts +44 -0
  327. package/dist/core/tool-schemas/script-debugger-tools.d.ts.map +1 -0
  328. package/dist/core/tool-schemas/script-debugger-tools.js +83 -0
  329. package/dist/core/tool-schemas/script-debugger-tools.js.map +1 -0
  330. package/dist/core/tool-schemas/sfra-tools.d.ts +63 -0
  331. package/dist/core/tool-schemas/sfra-tools.d.ts.map +1 -0
  332. package/dist/core/tool-schemas/sfra-tools.js +65 -0
  333. package/dist/core/tool-schemas/sfra-tools.js.map +1 -0
  334. package/dist/core/tool-schemas/shared-schemas.d.ts +350 -0
  335. package/dist/core/tool-schemas/shared-schemas.d.ts.map +1 -0
  336. package/dist/core/tool-schemas/shared-schemas.js +153 -0
  337. package/dist/core/tool-schemas/shared-schemas.js.map +1 -0
  338. package/dist/core/tool-schemas/system-object-tools.d.ts +511 -0
  339. package/dist/core/tool-schemas/system-object-tools.d.ts.map +1 -0
  340. package/dist/core/tool-schemas/system-object-tools.js +126 -0
  341. package/dist/core/tool-schemas/system-object-tools.js.map +1 -0
  342. package/dist/docs/dw_net/HTTPClient.md +46 -2
  343. package/dist/docs/dw_net/HTTPClientLoggingConfig.md +296 -0
  344. package/dist/docs/dw_order/Basket.md +7 -7
  345. package/dist/docs/dw_order/BasketMgr.md +22 -6
  346. package/dist/docs/dw_order.hooks/BasketMergeHooks.md +42 -0
  347. package/dist/docs/dw_svc/ServiceCallback.md +2 -2
  348. package/dist/docs/isml/isactivedatacontext.md +382 -0
  349. package/dist/docs/isml/isactivedatahead.md +566 -0
  350. package/dist/docs/isml/isanalyticsoff.md +537 -0
  351. package/dist/docs/isml/isapplepay.md +667 -0
  352. package/dist/docs/isml/isbreak.md +687 -0
  353. package/dist/docs/isml/isbuynow.md +682 -0
  354. package/dist/docs/isml/iscache.md +802 -0
  355. package/dist/docs/isml/iscomment.md +794 -0
  356. package/dist/docs/isml/iscomponent.md +797 -0
  357. package/dist/docs/isml/iscontent.md +594 -0
  358. package/dist/docs/isml/iscontinue.md +563 -0
  359. package/dist/docs/isml/iscookie.md +798 -0
  360. package/dist/docs/isml/isdecorate.md +818 -0
  361. package/dist/docs/isml/isif.md +737 -0
  362. package/dist/docs/isml/isinclude.md +874 -0
  363. package/dist/docs/isml/isloop.md +377 -0
  364. package/dist/docs/isml/ismodule.md +844 -0
  365. package/dist/docs/isml/isnext.md +672 -0
  366. package/dist/docs/isml/isobject.md +760 -0
  367. package/dist/docs/isml/ispayment.md +577 -0
  368. package/dist/docs/isml/ispaymentmessages.md +664 -0
  369. package/dist/docs/isml/isprint.md +875 -0
  370. package/dist/docs/isml/isredirect.md +716 -0
  371. package/dist/docs/isml/isremove.md +725 -0
  372. package/dist/docs/isml/isreplace.md +783 -0
  373. package/dist/docs/isml/isscript.md +859 -0
  374. package/dist/docs/isml/isselect.md +908 -0
  375. package/dist/docs/isml/isset.md +585 -0
  376. package/dist/docs/isml/isslot.md +824 -0
  377. package/dist/docs/isml/isstatus.md +711 -0
  378. package/dist/main.d.ts +16 -0
  379. package/dist/main.d.ts.map +1 -1
  380. package/dist/main.js +60 -28
  381. package/dist/main.js.map +1 -1
  382. package/dist/services/index.d.ts +4 -2
  383. package/dist/services/index.d.ts.map +1 -1
  384. package/dist/services/index.js +2 -2
  385. package/dist/services/index.js.map +1 -1
  386. package/dist/tool-configs/agent-instructions-tool-config.d.ts +6 -0
  387. package/dist/tool-configs/agent-instructions-tool-config.d.ts.map +1 -0
  388. package/dist/tool-configs/agent-instructions-tool-config.js +74 -0
  389. package/dist/tool-configs/agent-instructions-tool-config.js.map +1 -0
  390. package/dist/tool-configs/code-version-tool-config.d.ts.map +1 -1
  391. package/dist/tool-configs/code-version-tool-config.js +0 -5
  392. package/dist/tool-configs/code-version-tool-config.js.map +1 -1
  393. package/dist/tool-configs/docs-tool-config.d.ts.map +1 -1
  394. package/dist/tool-configs/docs-tool-config.js +0 -7
  395. package/dist/tool-configs/docs-tool-config.js.map +1 -1
  396. package/dist/tool-configs/isml-tool-config.d.ts +11 -0
  397. package/dist/tool-configs/isml-tool-config.d.ts.map +1 -0
  398. package/dist/tool-configs/isml-tool-config.js +77 -0
  399. package/dist/tool-configs/isml-tool-config.js.map +1 -0
  400. package/dist/tool-configs/job-log-tool-config.d.ts +1 -2
  401. package/dist/tool-configs/job-log-tool-config.d.ts.map +1 -1
  402. package/dist/tool-configs/job-log-tool-config.js +11 -15
  403. package/dist/tool-configs/job-log-tool-config.js.map +1 -1
  404. package/dist/tool-configs/log-tool-config.d.ts +1 -2
  405. package/dist/tool-configs/log-tool-config.d.ts.map +1 -1
  406. package/dist/tool-configs/log-tool-config.js +35 -51
  407. package/dist/tool-configs/log-tool-config.js.map +1 -1
  408. package/dist/tool-configs/script-debugger-tool-config.d.ts +11 -0
  409. package/dist/tool-configs/script-debugger-tool-config.d.ts.map +1 -0
  410. package/dist/tool-configs/script-debugger-tool-config.js +35 -0
  411. package/dist/tool-configs/script-debugger-tool-config.js.map +1 -0
  412. package/dist/tool-configs/sfra-tool-config.d.ts.map +1 -1
  413. package/dist/tool-configs/sfra-tool-config.js +0 -11
  414. package/dist/tool-configs/sfra-tool-config.js.map +1 -1
  415. package/dist/tool-configs/system-object-tool-config.d.ts.map +1 -1
  416. package/dist/tool-configs/system-object-tool-config.js +0 -5
  417. package/dist/tool-configs/system-object-tool-config.js.map +1 -1
  418. package/dist/types/types.d.ts +2 -0
  419. package/dist/types/types.d.ts.map +1 -1
  420. package/dist/utils/cache.d.ts +12 -10
  421. package/dist/utils/cache.d.ts.map +1 -1
  422. package/dist/utils/cache.js +47 -47
  423. package/dist/utils/cache.js.map +1 -1
  424. package/dist/utils/category-utils.d.ts +31 -0
  425. package/dist/utils/category-utils.d.ts.map +1 -0
  426. package/dist/utils/category-utils.js +45 -0
  427. package/dist/utils/category-utils.js.map +1 -0
  428. package/dist/utils/log-tool-constants.d.ts +16 -13
  429. package/dist/utils/log-tool-constants.d.ts.map +1 -1
  430. package/dist/utils/log-tool-constants.js +10 -11
  431. package/dist/utils/log-tool-constants.js.map +1 -1
  432. package/dist/utils/logger.d.ts +11 -0
  433. package/dist/utils/logger.d.ts.map +1 -1
  434. package/dist/utils/logger.js +35 -1
  435. package/dist/utils/logger.js.map +1 -1
  436. package/dist/utils/markdown-utils.d.ts +60 -0
  437. package/dist/utils/markdown-utils.d.ts.map +1 -0
  438. package/dist/utils/markdown-utils.js +206 -0
  439. package/dist/utils/markdown-utils.js.map +1 -0
  440. package/dist/utils/path-resolver.d.ts +12 -4
  441. package/dist/utils/path-resolver.d.ts.map +1 -1
  442. package/dist/utils/path-resolver.js +22 -8
  443. package/dist/utils/path-resolver.js.map +1 -1
  444. package/dist/utils/path-validation.d.ts +40 -0
  445. package/dist/utils/path-validation.d.ts.map +1 -0
  446. package/dist/utils/path-validation.js +84 -0
  447. package/dist/utils/path-validation.js.map +1 -0
  448. package/docs/dw_net/HTTPClient.md +46 -2
  449. package/docs/dw_net/HTTPClientLoggingConfig.md +296 -0
  450. package/docs/dw_order/Basket.md +7 -7
  451. package/docs/dw_order/BasketMgr.md +22 -6
  452. package/docs/dw_order.hooks/BasketMergeHooks.md +42 -0
  453. package/docs/dw_svc/ServiceCallback.md +2 -2
  454. package/docs/isml/isactivedatacontext.md +382 -0
  455. package/docs/isml/isactivedatahead.md +566 -0
  456. package/docs/isml/isanalyticsoff.md +537 -0
  457. package/docs/isml/isapplepay.md +667 -0
  458. package/docs/isml/isbreak.md +687 -0
  459. package/docs/isml/isbuynow.md +682 -0
  460. package/docs/isml/iscache.md +802 -0
  461. package/docs/isml/iscomment.md +794 -0
  462. package/docs/isml/iscomponent.md +797 -0
  463. package/docs/isml/iscontent.md +594 -0
  464. package/docs/isml/iscontinue.md +563 -0
  465. package/docs/isml/iscookie.md +798 -0
  466. package/docs/isml/isdecorate.md +818 -0
  467. package/docs/isml/isif.md +737 -0
  468. package/docs/isml/isinclude.md +874 -0
  469. package/docs/isml/isloop.md +377 -0
  470. package/docs/isml/ismodule.md +844 -0
  471. package/docs/isml/isnext.md +672 -0
  472. package/docs/isml/isobject.md +760 -0
  473. package/docs/isml/ispayment.md +577 -0
  474. package/docs/isml/ispaymentmessages.md +664 -0
  475. package/docs/isml/isprint.md +875 -0
  476. package/docs/isml/isredirect.md +716 -0
  477. package/docs/isml/isremove.md +725 -0
  478. package/docs/isml/isreplace.md +783 -0
  479. package/docs/isml/isscript.md +859 -0
  480. package/docs/isml/isselect.md +908 -0
  481. package/docs/isml/isset.md +585 -0
  482. package/docs/isml/isslot.md +824 -0
  483. package/docs/isml/isstatus.md +711 -0
  484. package/docs-site-v2/.vitepress/config.mts +190 -0
  485. package/docs-site-v2/.vitepress/theme/components/AssistantTabs.vue +96 -0
  486. package/docs-site-v2/.vitepress/theme/components/Callout.vue +10 -0
  487. package/docs-site-v2/.vitepress/theme/components/Collapsible.vue +14 -0
  488. package/docs-site-v2/.vitepress/theme/components/DwJsonBuilder.vue +82 -0
  489. package/docs-site-v2/.vitepress/theme/components/HomeSections.vue +552 -0
  490. package/docs-site-v2/.vitepress/theme/components/InstructionFilesTabs.vue +87 -0
  491. package/docs-site-v2/.vitepress/theme/components/ModeTabs.vue +70 -0
  492. package/docs-site-v2/.vitepress/theme/components/NewcomerCTA.vue +14 -0
  493. package/docs-site-v2/.vitepress/theme/components/QuickStartCards.vue +20 -0
  494. package/docs-site-v2/.vitepress/theme/components/QuickStartHero.vue +20 -0
  495. package/docs-site-v2/.vitepress/theme/components/SkillsList.vue +48 -0
  496. package/docs-site-v2/.vitepress/theme/components/ToolExplorer.vue +85 -0
  497. package/docs-site-v2/.vitepress/theme/custom.css +1373 -0
  498. package/docs-site-v2/.vitepress/theme/index.ts +39 -0
  499. package/docs-site-v2/data/skills.ts +147 -0
  500. package/docs-site-v2/data/tools.ts +490 -0
  501. package/docs-site-v2/development/index.md +151 -0
  502. package/docs-site-v2/examples/index.md +333 -0
  503. package/docs-site-v2/features/index.md +144 -0
  504. package/docs-site-v2/guide/ai-interfaces.md +58 -0
  505. package/docs-site-v2/guide/configuration.md +208 -0
  506. package/docs-site-v2/guide/index.md +50 -0
  507. package/docs-site-v2/index.md +32 -0
  508. package/docs-site-v2/package-lock.json +2511 -0
  509. package/docs-site-v2/package.json +15 -0
  510. package/docs-site-v2/public/android-chrome-192x192.png +0 -0
  511. package/docs-site-v2/public/android-chrome-512x512.png +0 -0
  512. package/docs-site-v2/public/apple-touch-icon.png +0 -0
  513. package/docs-site-v2/public/favicon-16x16.png +0 -0
  514. package/docs-site-v2/public/favicon-32x32.png +0 -0
  515. package/docs-site-v2/public/favicon.ico +0 -0
  516. package/docs-site-v2/public/index.css +4174 -0
  517. package/docs-site-v2/public/llms.txt +44 -0
  518. package/docs-site-v2/public/logo-dark.svg +8 -0
  519. package/docs-site-v2/public/logo.svg +8 -0
  520. package/{docs-site → docs-site-v2}/public/robots.txt +1 -6
  521. package/{docs-site → docs-site-v2}/public/site.webmanifest +1 -1
  522. package/{docs-site → docs-site-v2}/public/sitemap.xml +33 -12
  523. package/docs-site-v2/script-debugger/index.md +105 -0
  524. package/docs-site-v2/scripts/generate-llms.js +71 -0
  525. package/docs-site-v2/scripts/generate-sitemap.js +97 -0
  526. package/docs-site-v2/security/index.md +115 -0
  527. package/docs-site-v2/skills/index.md +40 -0
  528. package/docs-site-v2/tools/index.md +36 -0
  529. package/docs-site-v2/troubleshooting/index.md +204 -0
  530. package/eslint.config.js +3 -1
  531. package/memories/repo/docs-site-v2-build.json +11 -0
  532. package/package.json +18 -14
  533. package/scripts/validate-server-json.js +68 -0
  534. package/server.json +4 -6
  535. package/src/clients/agent-instructions-client.ts +370 -0
  536. package/src/clients/base/abstract-documentation-client.ts +405 -0
  537. package/src/clients/base/oauth-token.ts +52 -2
  538. package/src/clients/cartridge/cartridge-generation-client.ts +302 -0
  539. package/src/clients/cartridge/cartridge-structure.ts +37 -0
  540. package/src/clients/cartridge/cartridge-templates.ts +246 -0
  541. package/src/clients/cartridge/index.ts +6 -0
  542. package/src/clients/docs/documentation-scanner.ts +44 -28
  543. package/src/clients/docs-client.ts +54 -14
  544. package/src/clients/isml-client.ts +353 -0
  545. package/src/clients/ocapi/code-versions-client.ts +7 -1
  546. package/src/clients/ocapi-client.ts +11 -166
  547. package/src/clients/script-debugger/index.ts +5 -0
  548. package/src/clients/script-debugger/script-debugger-client.ts +754 -0
  549. package/src/clients/sfra-client.ts +134 -397
  550. package/src/config/configuration-factory.ts +6 -1
  551. package/src/config/dw-json-loader.ts +96 -15
  552. package/src/config/workspace-roots.ts +540 -0
  553. package/src/constants/index.ts +1 -0
  554. package/src/core/handlers/abstract-client-handler.ts +85 -0
  555. package/src/core/handlers/agent-instructions-handler.ts +48 -0
  556. package/src/core/handlers/base-handler.ts +17 -127
  557. package/src/core/handlers/cartridge-handler.ts +13 -33
  558. package/src/core/handlers/client-factory.ts +32 -2
  559. package/src/core/handlers/code-version-handler.ts +17 -32
  560. package/src/core/handlers/docs-handler.ts +12 -44
  561. package/src/core/handlers/isml-handler.ts +19 -0
  562. package/src/core/handlers/job-log-handler.ts +19 -8
  563. package/src/core/handlers/log-handler.ts +19 -8
  564. package/src/core/handlers/script-debugger-handler.ts +46 -0
  565. package/src/core/handlers/sfra-handler.ts +12 -44
  566. package/src/core/handlers/simple-client-handler.ts +78 -0
  567. package/src/core/handlers/system-object-handler.ts +17 -32
  568. package/src/core/handlers/validation-helpers.ts +87 -47
  569. package/src/core/instruction-advisor.ts +122 -0
  570. package/src/core/server.ts +178 -13
  571. package/src/core/tool-definitions.ts +25 -1071
  572. package/src/core/tool-schemas/agent-instruction-tools.ts +72 -0
  573. package/src/core/tool-schemas/cartridge-tools.ts +29 -0
  574. package/src/core/tool-schemas/code-version-tools.ts +28 -0
  575. package/src/core/tool-schemas/documentation-tools.ts +104 -0
  576. package/src/core/tool-schemas/index.ts +27 -0
  577. package/src/core/tool-schemas/isml-tools.ts +89 -0
  578. package/src/core/tool-schemas/log-tools.ts +196 -0
  579. package/src/core/tool-schemas/script-debugger-tools.ts +83 -0
  580. package/src/core/tool-schemas/sfra-tools.ts +65 -0
  581. package/src/core/tool-schemas/shared-schemas.ts +158 -0
  582. package/src/core/tool-schemas/system-object-tools.ts +127 -0
  583. package/src/main.ts +63 -30
  584. package/src/services/index.ts +4 -10
  585. package/src/tool-configs/agent-instructions-tool-config.ts +83 -0
  586. package/src/tool-configs/cartridge-tool-config.ts +1 -1
  587. package/src/tool-configs/code-version-tool-config.ts +0 -5
  588. package/src/tool-configs/docs-tool-config.ts +0 -7
  589. package/src/tool-configs/isml-tool-config.ts +87 -0
  590. package/src/tool-configs/job-log-tool-config.ts +18 -17
  591. package/src/tool-configs/log-tool-config.ts +49 -64
  592. package/src/tool-configs/script-debugger-tool-config.ts +69 -0
  593. package/src/tool-configs/sfra-tool-config.ts +0 -11
  594. package/src/tool-configs/system-object-tool-config.ts +0 -5
  595. package/src/types/types.ts +2 -0
  596. package/src/utils/cache.ts +49 -54
  597. package/src/utils/category-utils.ts +70 -0
  598. package/src/utils/log-tool-constants.ts +25 -17
  599. package/src/utils/logger.ts +38 -1
  600. package/src/utils/markdown-utils.ts +280 -0
  601. package/src/utils/path-resolver.ts +25 -9
  602. package/src/utils/path-validation.ts +113 -0
  603. package/tests/base-handler.test.ts +1 -1
  604. package/tests/cache.test.ts +2 -2
  605. package/tests/cartridge-handler.test.ts +4 -4
  606. package/tests/client-factory.test.ts +1 -1
  607. package/tests/code-version-handler.test.ts +3 -3
  608. package/tests/docs-handler.test.ts +2 -2
  609. package/tests/documentation-scanner.test.ts +4 -4
  610. package/tests/isml-client.test.ts +463 -0
  611. package/tests/isml-handler.test.ts +375 -0
  612. package/tests/job-log-handler.test.ts +1 -1
  613. package/tests/log-handler.test.ts +8 -8
  614. package/tests/log-validation.test.ts +149 -0
  615. package/tests/mcp/README.md +22 -18
  616. package/tests/mcp/node/activate-code-version-advanced.full-mode.programmatic.test.js +30 -12
  617. package/tests/mcp/node/evaluate-script.full-mode.programmatic.test.js +387 -0
  618. package/tests/mcp/node/generate-cartridge-structure.docs-only.programmatic.test.js +14 -8
  619. package/tests/mcp/node/get-isml-categories.programmatic.test.js +278 -0
  620. package/tests/mcp/node/get-isml-element.programmatic.test.js +278 -0
  621. package/tests/mcp/node/get-isml-elements-by-category.programmatic.test.js +363 -0
  622. package/tests/mcp/node/get-sfra-categories.docs-only.programmatic.test.js +24 -24
  623. package/tests/mcp/node/get-sfra-document.programmatic.test.js +4 -2
  624. package/tests/mcp/node/list-isml-elements.programmatic.test.js +311 -0
  625. package/tests/mcp/node/list-sfcc-classes.docs-only.programmatic.test.js +2 -33
  626. package/tests/mcp/node/search-isml-elements.programmatic.test.js +325 -0
  627. package/tests/mcp/node/search-sfcc-classes.docs-only.programmatic.test.js +5 -9
  628. package/tests/mcp/node/search-sfcc-methods.docs-only.programmatic.test.js +7 -9
  629. package/tests/mcp/node/tools.docs-only.programmatic.test.js +42 -65
  630. package/tests/mcp/node/tools.full-mode.programmatic.test.js +7 -8
  631. package/tests/mcp/yaml/activate-code-version.full-mode.test.mcp.yml +2 -2
  632. package/tests/mcp/yaml/evaluate-script.full-mode.test.mcp.yml +281 -0
  633. package/tests/mcp/yaml/get-isml-categories.docs-only.test.mcp.yml +330 -0
  634. package/tests/mcp/yaml/get-isml-element.docs-only.test.mcp.yml +294 -0
  635. package/tests/mcp/yaml/get-isml-elements-by-category.docs-only.test.mcp.yml +334 -0
  636. package/tests/mcp/yaml/get-sfcc-class-info.docs-only.test.mcp.yml +2 -2
  637. package/tests/mcp/yaml/get-sfra-categories.docs-only.test.mcp.yml +13 -13
  638. package/tests/mcp/yaml/get-sfra-categories.full-mode.test.mcp.yml +13 -13
  639. package/tests/mcp/yaml/get-system-object-definitions.docs-only.test.mcp.yml +1 -16
  640. package/tests/mcp/yaml/list-isml-elements.docs-only.test.mcp.yml +212 -0
  641. package/tests/mcp/yaml/search-isml-elements.docs-only.test.mcp.yml +312 -0
  642. package/tests/mcp/yaml/search-sfcc-classes.docs-only.test.mcp.yml +1 -1
  643. package/tests/mcp/yaml/search-sfcc-classes.full-mode.test.mcp.yml +1 -1
  644. package/tests/mcp/yaml/search-site-preferences.docs-only.test.mcp.yml +1 -1
  645. package/tests/mcp/yaml/tools.docs-only.test.mcp.yml +3 -57
  646. package/tests/mcp/yaml/tools.full-mode.test.mcp.yml +3 -3
  647. package/tests/oauth-token.test.ts +107 -12
  648. package/tests/ocapi-client.test.ts +53 -106
  649. package/tests/script-debugger-client.test.ts +430 -0
  650. package/tests/servers/sfcc-mock-server/src/app.js +15 -0
  651. package/tests/servers/sfcc-mock-server/src/routes/cartridge-webdav.js +258 -0
  652. package/tests/servers/sfcc-mock-server/src/routes/ocapi/debugger-handler.js +396 -0
  653. package/tests/servers/sfcc-mock-server/src/routes/ocapi.js +5 -0
  654. package/tests/servers/sfcc-mock-server/src/routes/storefront.js +86 -0
  655. package/tests/servers/sfcc-mock-server/src/routes/webdav.js +6 -4
  656. package/tests/validation-helpers.test.ts +0 -31
  657. package/tests/workspace-roots.test.ts +227 -0
  658. package/ai-instructions/claude-desktop/claude_custom_instructions.md +0 -321
  659. package/ai-instructions/cursor/.cursor/rules/debugging-workflows.mdc +0 -171
  660. package/ai-instructions/cursor/.cursor/rules/hooks-development.mdc +0 -168
  661. package/ai-instructions/cursor/.cursor/rules/isml-templates.mdc +0 -209
  662. package/ai-instructions/cursor/.cursor/rules/job-framework.mdc +0 -379
  663. package/ai-instructions/cursor/.cursor/rules/performance-optimization.mdc +0 -215
  664. package/ai-instructions/cursor/.cursor/rules/scapi-endpoints.mdc +0 -98
  665. package/ai-instructions/cursor/.cursor/rules/security-patterns.mdc +0 -375
  666. package/ai-instructions/cursor/.cursor/rules/sfcc-development.mdc +0 -144
  667. package/ai-instructions/cursor/.cursor/rules/sfra-controllers.mdc +0 -376
  668. package/ai-instructions/cursor/.cursor/rules/sfra-models.mdc +0 -412
  669. package/ai-instructions/cursor/.cursor/rules/system-objects.mdc +0 -383
  670. package/ai-instructions/cursor/.cursor/rules/testing-patterns.mdc +0 -418
  671. package/dist/clients/best-practices-client.d.ts +0 -57
  672. package/dist/clients/best-practices-client.d.ts.map +0 -1
  673. package/dist/clients/best-practices-client.js +0 -288
  674. package/dist/clients/best-practices-client.js.map +0 -1
  675. package/dist/clients/cartridge-generation-client.d.ts +0 -57
  676. package/dist/clients/cartridge-generation-client.d.ts.map +0 -1
  677. package/dist/clients/cartridge-generation-client.js +0 -384
  678. package/dist/clients/cartridge-generation-client.js.map +0 -1
  679. package/dist/clients/logs/index.d.ts +0 -13
  680. package/dist/clients/logs/index.d.ts.map +0 -1
  681. package/dist/clients/logs/index.js +0 -15
  682. package/dist/clients/logs/index.js.map +0 -1
  683. package/dist/clients/logs/log-analyzer.d.ts +0 -55
  684. package/dist/clients/logs/log-analyzer.d.ts.map +0 -1
  685. package/dist/clients/logs/log-analyzer.js +0 -228
  686. package/dist/clients/logs/log-analyzer.js.map +0 -1
  687. package/dist/clients/logs/log-client.d.ts +0 -87
  688. package/dist/clients/logs/log-client.d.ts.map +0 -1
  689. package/dist/clients/logs/log-client.js +0 -418
  690. package/dist/clients/logs/log-client.js.map +0 -1
  691. package/dist/clients/logs/log-constants.d.ts +0 -37
  692. package/dist/clients/logs/log-constants.d.ts.map +0 -1
  693. package/dist/clients/logs/log-constants.js +0 -37
  694. package/dist/clients/logs/log-constants.js.map +0 -1
  695. package/dist/clients/logs/log-file-discovery.d.ts +0 -62
  696. package/dist/clients/logs/log-file-discovery.d.ts.map +0 -1
  697. package/dist/clients/logs/log-file-discovery.js +0 -238
  698. package/dist/clients/logs/log-file-discovery.js.map +0 -1
  699. package/dist/clients/logs/log-file-reader.d.ts +0 -53
  700. package/dist/clients/logs/log-file-reader.d.ts.map +0 -1
  701. package/dist/clients/logs/log-file-reader.js +0 -194
  702. package/dist/clients/logs/log-file-reader.js.map +0 -1
  703. package/dist/clients/logs/log-formatter.d.ts +0 -90
  704. package/dist/clients/logs/log-formatter.d.ts.map +0 -1
  705. package/dist/clients/logs/log-formatter.js +0 -189
  706. package/dist/clients/logs/log-formatter.js.map +0 -1
  707. package/dist/clients/logs/log-processor.d.ts +0 -91
  708. package/dist/clients/logs/log-processor.d.ts.map +0 -1
  709. package/dist/clients/logs/log-processor.js +0 -328
  710. package/dist/clients/logs/log-processor.js.map +0 -1
  711. package/dist/clients/logs/log-types.d.ts +0 -69
  712. package/dist/clients/logs/log-types.d.ts.map +0 -1
  713. package/dist/clients/logs/log-types.js +0 -5
  714. package/dist/clients/logs/log-types.js.map +0 -1
  715. package/dist/clients/logs/webdav-client-manager.d.ts +0 -28
  716. package/dist/clients/logs/webdav-client-manager.d.ts.map +0 -1
  717. package/dist/clients/logs/webdav-client-manager.js +0 -77
  718. package/dist/clients/logs/webdav-client-manager.js.map +0 -1
  719. package/dist/core/handlers/abstract-log-tool-handler.d.ts +0 -35
  720. package/dist/core/handlers/abstract-log-tool-handler.d.ts.map +0 -1
  721. package/dist/core/handlers/abstract-log-tool-handler.js +0 -46
  722. package/dist/core/handlers/abstract-log-tool-handler.js.map +0 -1
  723. package/dist/core/handlers/best-practices-handler.d.ts +0 -17
  724. package/dist/core/handlers/best-practices-handler.d.ts.map +0 -1
  725. package/dist/core/handlers/best-practices-handler.js +0 -43
  726. package/dist/core/handlers/best-practices-handler.js.map +0 -1
  727. package/dist/core/handlers/job-log-tool-config.d.ts +0 -8
  728. package/dist/core/handlers/job-log-tool-config.d.ts.map +0 -1
  729. package/dist/core/handlers/job-log-tool-config.js +0 -76
  730. package/dist/core/handlers/job-log-tool-config.js.map +0 -1
  731. package/dist/core/handlers/log-tool-config.d.ts +0 -8
  732. package/dist/core/handlers/log-tool-config.d.ts.map +0 -1
  733. package/dist/core/handlers/log-tool-config.js +0 -73
  734. package/dist/core/handlers/log-tool-config.js.map +0 -1
  735. package/dist/docs/best-practices/isml_templates.md +0 -1933
  736. package/dist/docs/best-practices/job_framework.md +0 -1173
  737. package/dist/docs/best-practices/scapi_custom_endpoint.md +0 -963
  738. package/dist/docs/best-practices/sfra_client_side_js.md +0 -736
  739. package/dist/docs/best-practices/sfra_models.md +0 -1142
  740. package/dist/tool-configs/best-practices-tool-config.d.ts +0 -11
  741. package/dist/tool-configs/best-practices-tool-config.d.ts.map +0 -1
  742. package/dist/tool-configs/best-practices-tool-config.js +0 -59
  743. package/dist/tool-configs/best-practices-tool-config.js.map +0 -1
  744. package/dist/utils/job-log-tool-config.d.ts +0 -8
  745. package/dist/utils/job-log-tool-config.d.ts.map +0 -1
  746. package/dist/utils/job-log-tool-config.js +0 -76
  747. package/dist/utils/job-log-tool-config.js.map +0 -1
  748. package/dist/utils/job-log-utils.d.ts +0 -34
  749. package/dist/utils/job-log-utils.d.ts.map +0 -1
  750. package/dist/utils/job-log-utils.js +0 -60
  751. package/dist/utils/job-log-utils.js.map +0 -1
  752. package/dist/utils/log-cache.d.ts +0 -53
  753. package/dist/utils/log-cache.d.ts.map +0 -1
  754. package/dist/utils/log-cache.js +0 -114
  755. package/dist/utils/log-cache.js.map +0 -1
  756. package/dist/utils/log-tool-config.d.ts +0 -8
  757. package/dist/utils/log-tool-config.d.ts.map +0 -1
  758. package/dist/utils/log-tool-config.js +0 -73
  759. package/dist/utils/log-tool-config.js.map +0 -1
  760. package/dist/utils/log-tool-utils.d.ts +0 -39
  761. package/dist/utils/log-tool-utils.d.ts.map +0 -1
  762. package/dist/utils/log-tool-utils.js +0 -94
  763. package/dist/utils/log-tool-utils.js.map +0 -1
  764. package/docs/best-practices/isml_templates.md +0 -1933
  765. package/docs/best-practices/job_framework.md +0 -1173
  766. package/docs/best-practices/scapi_custom_endpoint.md +0 -963
  767. package/docs/best-practices/sfra_client_side_js.md +0 -736
  768. package/docs/best-practices/sfra_models.md +0 -1142
  769. package/docs-site/App.tsx +0 -103
  770. package/docs-site/README.md +0 -113
  771. package/docs-site/components/Badge.tsx +0 -38
  772. package/docs-site/components/BreadcrumbSchema.tsx +0 -34
  773. package/docs-site/components/CodeBlock.tsx +0 -132
  774. package/docs-site/components/Collapsible.tsx +0 -40
  775. package/docs-site/components/ConfigBuilder.tsx +0 -118
  776. package/docs-site/components/ConfigHero.tsx +0 -19
  777. package/docs-site/components/ConfigModeTabs.tsx +0 -42
  778. package/docs-site/components/Layout.tsx +0 -174
  779. package/docs-site/components/LightCodeContainer.tsx +0 -44
  780. package/docs-site/components/NewcomerCTA.tsx +0 -57
  781. package/docs-site/components/NextStepsStrip.tsx +0 -23
  782. package/docs-site/components/OnThisPage.tsx +0 -91
  783. package/docs-site/components/SEO.tsx +0 -79
  784. package/docs-site/components/Search.tsx +0 -207
  785. package/docs-site/components/Sidebar.tsx +0 -96
  786. package/docs-site/components/StructuredData.tsx +0 -72
  787. package/docs-site/components/ToolCard.tsx +0 -84
  788. package/docs-site/components/ToolFilters.tsx +0 -39
  789. package/docs-site/components/Typography.tsx +0 -30
  790. package/docs-site/components/VersionBadge.tsx +0 -18
  791. package/docs-site/components/icons.tsx +0 -37
  792. package/docs-site/constants.tsx +0 -34
  793. package/docs-site/index.html +0 -62
  794. package/docs-site/main.tsx +0 -16
  795. package/docs-site/metadata.json +0 -5
  796. package/docs-site/package-lock.json +0 -3966
  797. package/docs-site/package.json +0 -35
  798. package/docs-site/pages/AIInterfacesPage.tsx +0 -610
  799. package/docs-site/pages/ConfigurationPage.tsx +0 -315
  800. package/docs-site/pages/DevelopmentPage.tsx +0 -607
  801. package/docs-site/pages/ExamplesPage.tsx +0 -558
  802. package/docs-site/pages/FeaturesPage.tsx +0 -353
  803. package/docs-site/pages/HomePage.tsx +0 -1046
  804. package/docs-site/pages/SecurityPage.tsx +0 -372
  805. package/docs-site/pages/ToolsPage.tsx +0 -205
  806. package/docs-site/pages/TroubleshootingPage.tsx +0 -590
  807. package/docs-site/postcss.config.js +0 -6
  808. package/docs-site/public/.well-known/security.txt +0 -6
  809. package/docs-site/public/android-chrome-192x192.png +0 -0
  810. package/docs-site/public/android-chrome-512x512.png +0 -0
  811. package/docs-site/public/apple-touch-icon.png +0 -0
  812. package/docs-site/public/favicon-16x16.png +0 -0
  813. package/docs-site/public/favicon-32x32.png +0 -0
  814. package/docs-site/public/favicon.ico +0 -0
  815. package/docs-site/public/llms.txt +0 -47
  816. package/docs-site/scripts/generate-search-index.js +0 -323
  817. package/docs-site/scripts/generate-sitemap.js +0 -156
  818. package/docs-site/scripts/search-dev.js +0 -112
  819. package/docs-site/src/styles/input.css +0 -248
  820. package/docs-site/src/styles/prism-theme.css +0 -124
  821. package/docs-site/tailwind.config.js +0 -70
  822. package/docs-site/tsconfig.json +0 -29
  823. package/docs-site/types.ts +0 -16
  824. package/docs-site/utils/search.ts +0 -132
  825. package/docs-site/utils/toolsData.ts +0 -116
  826. package/docs-site/vite.config.ts +0 -63
  827. package/src/clients/best-practices-client.ts +0 -332
  828. package/src/clients/cartridge-generation-client.ts +0 -507
  829. package/src/clients/logs/index.ts +0 -18
  830. package/src/clients/logs/log-analyzer.ts +0 -289
  831. package/src/clients/logs/log-client.ts +0 -540
  832. package/src/clients/logs/log-constants.ts +0 -53
  833. package/src/clients/logs/log-file-discovery.ts +0 -299
  834. package/src/clients/logs/log-file-reader.ts +0 -227
  835. package/src/clients/logs/log-formatter.ts +0 -258
  836. package/src/clients/logs/log-processor.ts +0 -402
  837. package/src/clients/logs/log-types.ts +0 -80
  838. package/src/clients/logs/webdav-client-manager.ts +0 -93
  839. package/src/core/handlers/abstract-log-tool-handler.ts +0 -64
  840. package/src/core/handlers/best-practices-handler.ts +0 -55
  841. package/src/core/handlers/job-log-tool-config.ts +0 -89
  842. package/src/core/handlers/log-tool-config.ts +0 -98
  843. package/src/tool-configs/best-practices-tool-config.ts +0 -68
  844. package/src/utils/job-log-tool-config.ts +0 -89
  845. package/src/utils/job-log-utils.ts +0 -78
  846. package/src/utils/log-cache.ts +0 -134
  847. package/src/utils/log-tool-config.ts +0 -98
  848. package/src/utils/log-tool-utils.ts +0 -122
  849. package/tests/best-practices-handler.test.ts +0 -236
  850. package/tests/job-log-utils.test.ts +0 -182
  851. package/tests/mcp/node/get-available-best-practice-guides.docs-only.programmatic.test.js +0 -516
  852. package/tests/mcp/node/get-best-practice-guide.docs-only.programmatic.test.js +0 -733
  853. package/tests/mcp/node/get-hook-reference.docs-only.programmatic.test.js +0 -185
  854. package/tests/mcp/node/search-best-practices.docs-only.programmatic.test.js +0 -836
  855. package/tests/mcp/yaml/get-available-best-practice-guides.docs-only.test.mcp.yml +0 -885
  856. package/tests/mcp/yaml/get-available-best-practice-guides.full-mode.test.mcp.yml +0 -885
  857. package/tests/mcp/yaml/get-best-practice-guide.docs-only.test.mcp.yml +0 -462
  858. package/tests/mcp/yaml/get-best-practice-guide.full-mode.test.mcp.yml +0 -462
  859. package/tests/mcp/yaml/get-hook-reference.docs-only.test.mcp.yml +0 -321
  860. package/tests/mcp/yaml/get-hook-reference.full-mode.test.mcp.yml +0 -321
  861. package/tests/mcp/yaml/search-best-practices.docs-only.test.mcp.yml +0 -655
  862. package/tests/mcp/yaml/search-best-practices.full-mode.test.mcp.yml +0 -655
  863. /package/{docs-site → docs-site-v2}/public/404.html +0 -0
  864. /package/{docs-site → docs-site-v2}/public/explain-product-pricing-methods-no-mcp.png +0 -0
  865. /package/{docs-site → docs-site-v2}/public/explain-product-pricing-methods.png +0 -0
@@ -1,321 +0,0 @@
1
- # SFCC Development with Claude Desktop - MCP Integration
2
-
3
- ## 👨‍💻 Claude-Specific Agent Persona
4
-
5
- You are a **Senior Salesforce B2C Commerce Cloud (Demandware) Developer** with 8+ years of hands-on experience building enterprise-grade ecommerce solutions. Your expertise includes:
6
-
7
- ### 🏗️ Core Development Areas
8
- - **SFRA Controllers**: Expert in creating performant, maintainable controllers following MVC patterns
9
- - **LocalServiceRegistry**: Expert in server-to-server integrations, OAuth flows, and reusable service module patterns
10
- - **OCAPI Hooks**: Deep knowledge of extending Open Commerce APIs with custom business logic
11
- - **SCAPI Hooks**: Specialized in Shop API extensions and modern headless commerce patterns
12
- - **Custom SCAPI Endpoints**: Building secure, scalable REST APIs for custom integrations
13
- - **Cartridge Development**: Architecting modular, reusable cartridge solutions
14
-
15
- ### 🔒 Security & Best Practices
16
- - **Secure Coding**: OWASP compliance, input validation, XSS/CSRF prevention
17
- - **Performance Optimization**: Query optimization, caching strategies, code profiling
18
- - **Accessibility**: WCAG 2.1 AA compliance, semantic HTML, keyboard navigation
19
- - **Code Quality**: Clean code principles, design patterns, code reviews
20
- - **Testing**: Unit testing, integration testing, performance testing
21
-
22
- ### 💼 Professional Approach
23
- - **Solution-Oriented**: Always provide practical, implementable solutions
24
- - **Best Practice Focused**: Follow SFCC development standards and industry conventions
25
- - **Security-First**: Consider security implications in every recommendation
26
- - **Performance-Aware**: Optimize for scalability and user experience
27
- - **Documentation-Driven**: Provide clear explanations and code comments
28
-
29
- When providing assistance:
30
- 1. **Always use the MCP tools** to get current, accurate SFCC information
31
- 2. **Consider the full context** - security, performance, maintainability
32
- 3. **Provide working examples** with proper error handling and validation
33
- 4. **Explain the "why"** behind architectural decisions
34
- 5. **Reference official documentation** and best practices
35
- 6. **Cartridge Creation**: When asked to create a cartridge, use the `mcp_sfcc-dev_generate_cartridge_structure` tool to automatically create the complete cartridge structure with direct file generation, then follow the best practices from the MCP cartridge creation guide
36
-
37
- ### 🎪 Claude Desktop Advantages
38
- - **Multi-turn Conversations**: Leverage Claude's conversational nature for iterative development
39
- - **Code Analysis**: Use Claude's strong code understanding for complex debugging
40
- - **Architecture Reviews**: Benefit from Claude's ability to analyze system design patterns
41
- - **Documentation Generation**: Leverage Claude's writing capabilities for comprehensive docs
42
-
43
- ### 🔧 MCP Tool Usage in Claude Desktop
44
-
45
- Claude Desktop integrates MCP tools seamlessly into the conversation. When you see available tools, **always prefer MCP tools** over general knowledge:
46
-
47
- #### **🔍 Available SFCC MCP Tools:**
48
- - `mcp_sfcc-dev_get_sfcc_class_info` - Get detailed SFCC class information
49
- - `mcp_sfcc-dev_search_sfcc_classes` - Find SFCC classes by functionality
50
- - `mcp_sfcc-dev_search_sfcc_methods` - Find methods across all classes
51
- - `mcp_sfcc-dev_list_sfcc_classes` - Get complete list of SFCC classes
52
- - `mcp_sfcc-dev_get_sfcc_class_documentation` - Get raw class documentation
53
- - `mcp_sfcc-dev_get_available_best_practice_guides` - See available guides
54
- - `mcp_sfcc-dev_get_best_practice_guide` - Get implementation guides
55
- - `mcp_sfcc-dev_search_best_practices` - Find specific guidance
56
- - `mcp_sfcc-dev_get_hook_reference` - Get OCAPI/SCAPI hook references
57
- - `mcp_sfcc-dev_generate_cartridge_structure` - Generate complete cartridge structure with direct file generation
58
- - `mcp_sfcc-dev_get_available_sfra_documents` - See SFRA documentation
59
- - `mcp_sfcc-dev_get_sfra_document` - Get SFRA module documentation
60
- - `mcp_sfcc-dev_search_sfra_documentation` - Search SFRA docs
61
- - `mcp_sfcc-dev_get_system_object_definitions` - Get all system objects
62
- - `mcp_sfcc-dev_get_system_object_definition` - Get specific object details
63
- - `mcp_sfcc-dev_search_system_object_attribute_definitions` - Search attributes
64
- - `mcp_sfcc-dev_search_site_preferences` - Search site preferences
65
- - `mcp_sfcc-dev_search_system_object_attribute_groups` - Search attribute groups
66
- - `mcp_sfcc-dev_search_custom_object_attribute_definitions` - Search custom attributes
67
- - `mcp_sfcc-dev_get_code_versions` - Get all code versions on SFCC instance
68
- - `mcp_sfcc-dev_activate_code_version` - Activate a specific code version (for code-switch fixes)
69
- - `mcp_sfcc-dev_get_latest_error` - Get recent error logs
70
- - `mcp_sfcc-dev_get_latest_warn` - Get recent warning logs
71
- - `mcp_sfcc-dev_get_latest_info` - Get recent info logs
72
- - `mcp_sfcc-dev_get_latest_debug` - Get recent debug logs
73
- - `mcp_sfcc-dev_summarize_logs` - Get log overview
74
- - `mcp_sfcc-dev_search_logs` - Search logs by pattern
75
- - `mcp_sfcc-dev_list_log_files` - List available log files
76
- - `mcp_sfcc-dev_get_log_file_contents` - Read specific log files
77
- - `mcp_sfcc-dev_get_latest_job_log_files` - Get recent job log files
78
- - `mcp_sfcc-dev_search_job_logs_by_name` - Search job logs by name
79
- - `mcp_sfcc-dev_get_job_log_entries` - Get job log entries
80
- - `mcp_sfcc-dev_search_job_logs` - Search patterns in job logs
81
- - `mcp_sfcc-dev_get_job_execution_summary` - Get job execution summaries
82
-
83
- ## 🎯 Why Use the MCP Tools
84
-
85
- - **Accuracy**: Get current, verified SFCC API documentation and best practices
86
- - **Completeness**: Access comprehensive class information, methods, and properties
87
- - **Real-time**: Query live SFCC system objects and attributes from the actual instance
88
- - **Debugging**: Access actual SFCC logs for troubleshooting and error analysis
89
- - **Best Practices**: Get current SFCC development guidelines and security recommendations
90
-
91
- ## 📋 Available Tool Categories
92
-
93
- ### 🔍 SFCC Documentation Tools
94
- Use these tools for any SFCC API or class-related questions:
95
-
96
- - **`mcp_sfcc-dev_get_sfcc_class_info`** - Get detailed info about any SFCC class (dw.* namespace)
97
- - **`mcp_sfcc-dev_search_sfcc_classes`** - Find SFCC classes by name or functionality
98
- - **`mcp_sfcc-dev_search_sfcc_methods`** - Find methods across all classes by name
99
- - **`mcp_sfcc-dev_list_sfcc_classes`** - Get complete list of available SFCC classes
100
- - **`mcp_sfcc-dev_get_sfcc_class_documentation`** - Get raw documentation for any SFCC class
101
-
102
- ### 📚 Best Practices & Guidelines
103
- Use these for implementation guidance and best practices:
104
-
105
- - **`mcp_sfcc-dev_get_available_best_practice_guides`** - See what guides are available
106
- - **`mcp_sfcc-dev_get_best_practice_guide`** - Get complete guides for cartridges, hooks, controllers, etc.
107
- - **`mcp_sfcc-dev_search_best_practices`** - Find specific guidance on topics like security, performance
108
- - **`mcp_sfcc-dev_get_hook_reference`** - Get comprehensive OCAPI/SCAPI hook references
109
-
110
- ### 🏗️ Enhanced SFRA Documentation Tools
111
- Use these for SFRA (Storefront Reference Architecture) related questions - **now with 26+ documents and smart categorization**:
112
-
113
- - **`mcp_sfcc-dev_get_available_sfra_documents`** - See all 26+ SFRA documents with categorization
114
- - **`mcp_sfcc-dev_get_sfra_document`** - Get detailed SFRA class, module, or model documentation (no longer limited to 5 documents)
115
- - **`mcp_sfcc-dev_search_sfra_documentation`** - Advanced search across all SFRA docs with relevance scoring
116
- - **`mcp_sfcc-dev_get_sfra_documents_by_category`** ⭐ **NEW** - Filter documents by category (core, product, order, customer, pricing, store, other)
117
- - **`mcp_sfcc-dev_get_sfra_categories`** ⭐ **NEW** - Get all categories with counts and descriptions
118
-
119
- #### 📂 SFRA Document Categories (26+ documents total):
120
- - **Core** (5 docs): `server`, `request`, `response`, `querystring`, `render` - Essential SFRA classes
121
- - **Product** (5 docs): `product-full`, `product-bundle`, `product-tile`, `product-search`, `product-line-items` - Product model documentation
122
- - **Order** (6 docs): `cart`, `order`, `billing`, `shipping`, `payment`, `totals` - Cart and checkout models
123
- - **Customer** (2 docs): `account`, `address` - Customer management models
124
- - **Pricing** (3 docs): `price-default`, `price-range`, `price-tiered` - Pricing model documentation
125
- - **Store** (2 docs): `store`, `stores` - Store location models
126
- - **Other** (3+ docs): `categories`, `content`, `locale` - Additional utility models
127
-
128
- #### 🚀 Enhanced SFRA Workflow for Claude Desktop:
129
-
130
- ```javascript
131
- // 1. Explore SFRA architecture and discover available documentation
132
- mcp_sfcc-dev_get_sfra_categories()
133
- // See all 7 categories with document counts and descriptions
134
-
135
- // 2. Focus on specific functional areas
136
- mcp_sfcc-dev_get_sfra_documents_by_category("core")
137
- // Get core SFRA classes: server, request, response, querystring, render
138
-
139
- mcp_sfcc-dev_get_sfra_documents_by_category("product")
140
- // Get product models: product-full, product-bundle, product-tile, etc.
141
-
142
- // 3. Get detailed information about specific models
143
- mcp_sfcc-dev_get_sfra_document("server")
144
- // Complete Server class documentation with middleware patterns
145
-
146
- mcp_sfcc-dev_get_sfra_document("cart")
147
- // Cart model with properties, methods, and usage examples
148
-
149
- // 4. Search across all documentation
150
- mcp_sfcc-dev_search_sfra_documentation("middleware")
151
- // Find middleware-related content across all 26+ documents
152
-
153
- mcp_sfcc-dev_search_sfra_documentation("validation")
154
- // Search for validation patterns and examples
155
- ```
156
-
157
- #### 💡 SFRA Development Best Practices with Enhanced Tools:
158
-
159
- **For Controller Development:**
160
- 1. Start with `mcp_sfcc-dev_get_sfra_documents_by_category("core")` to understand Server, Request, Response objects
161
- 2. Use `mcp_sfcc-dev_get_sfra_document("server")` for detailed middleware patterns
162
- 3. For product controllers: `mcp_sfcc-dev_get_sfra_documents_by_category("product")`
163
- 4. For cart/checkout: `mcp_sfcc-dev_get_sfra_documents_by_category("order")`
164
-
165
- **For Model Implementation:**
166
- 1. Use `mcp_sfcc-dev_get_sfra_document("product-full")` for comprehensive product model structure
167
- 2. Use `mcp_sfcc-dev_get_sfra_document("cart")` for cart model properties and methods
168
- 3. Search specific functionality: `mcp_sfcc-dev_search_sfra_documentation("totals")`
169
-
170
- **For Architecture Understanding:**
171
- 1. `mcp_sfcc-dev_get_sfra_categories()` gives you the complete SFRA landscape
172
- 2. Use category filtering to explore related functionality systematically
173
- 3. Search across all docs to find patterns and best practices
174
-
175
- ### 🔧 System Object Definitions
176
- Use these for understanding SFCC data models and custom attributes:
177
-
178
- - **`mcp_sfcc-dev_get_system_object_definitions`** - Get all system objects (Product, Customer, Order, etc.)
179
- - **`mcp_sfcc-dev_get_system_object_definition`** - Get details about a specific system object
180
- - **`mcp_sfcc-dev_search_system_object_attribute_definitions`** - Search for specific attributes
181
- - **`mcp_sfcc-dev_search_site_preferences`** - Search for site preferences in preference groups
182
- - **`mcp_sfcc-dev_search_system_object_attribute_groups`** - Search for attribute groups (essential for finding site preference groups)
183
- - **`mcp_sfcc-dev_search_custom_object_attribute_definitions`** - Search for attributes in custom object types
184
-
185
- ### 📊 Log Analysis Tools
186
- Use these for debugging and troubleshooting:
187
-
188
- **Standard Log Analysis:**
189
- - **`mcp_sfcc-dev_get_latest_error`** - Get recent error logs
190
- - **`mcp_sfcc-dev_get_latest_warn`** - Get recent warning logs
191
- - **`mcp_sfcc-dev_get_latest_info`** - Get recent info logs
192
- - **`mcp_sfcc-dev_get_latest_debug`** - Get recent debug logs
193
- - **`mcp_sfcc-dev_summarize_logs`** - Get log overview
194
- - **`mcp_sfcc-dev_search_logs`** - Search logs by pattern
195
- - **`mcp_sfcc-dev_list_log_files`** - List available log files
196
- - **`mcp_sfcc-dev_get_log_file_contents`** - Get contents of a specific log file (supports size limits and head/tail reading)
197
-
198
- **Job Log Analysis:**
199
- - **`mcp_sfcc-dev_get_latest_job_log_files`** - Get recent job log files for debugging custom job steps
200
- - **`mcp_sfcc-dev_search_job_logs_by_name`** - Search job logs by job name
201
- - **`mcp_sfcc-dev_get_job_log_entries`** - Get job log entries by level (error, warn, info, debug, all)
202
- - **`mcp_sfcc-dev_search_job_logs`** - Search for patterns within job logs
203
- - **`mcp_sfcc-dev_get_job_execution_summary`** - Get comprehensive job execution summary with timing and status
204
-
205
- ## 🚀 When to Use These Tools
206
-
207
- ### ✅ DO Use MCP Tools For:
208
-
209
- 1. **API Documentation Questions**
210
- ```
211
- "What methods are available on dw.catalog.Product?"
212
- → Use: mcp_sfcc-dev_get_sfcc_class_info with className: "dw.catalog.Product"
213
- ```
214
-
215
- 2. **Finding the Right Class**
216
- ```
217
- "How do I work with customer data in SFCC?"
218
- → Use: mcp_sfcc-dev_search_sfcc_classes with query: "customer"
219
- ```
220
-
221
- 3. **Implementation Best Practices**
222
- ```
223
- "How should I create a new cartridge?"
224
- → Use: mcp_sfcc-dev_get_best_practice_guide with guideName: "cartridge_creation"
225
- ```
226
-
227
- 4. **Understanding System Objects**
228
- ```
229
- "What custom attributes are on the Product object?"
230
- → Use: mcp_sfcc-dev_search_system_object_attribute_definitions with objectType: "Product"
231
- ```
232
-
233
- 5. **Debugging Issues**
234
- ```
235
- "Are there any recent errors in the logs?"
236
- → Use: mcp_sfcc-dev_get_latest_error
237
-
238
- "What log files are available for today?"
239
- → Use: mcp_sfcc-dev_list_log_files
240
-
241
- "I need to see the full contents of a specific error log file"
242
- → Use: mcp_sfcc-dev_get_log_file_contents with filename: "error-2023-01-01.log"
243
-
244
- "Show me just the first 1MB of a large log file"
245
- → Use: mcp_sfcc-dev_get_log_file_contents with filename: "large.log", maxBytes: 1048576, tailOnly: false
246
- ```
247
-
248
- 6. **Code Version Management**
249
- ```
250
- "What code versions are available on the instance?"
251
- → Use: mcp_sfcc-dev_get_code_versions
252
-
253
- "Need to do a code-switch fix for SCAPI endpoints"
254
- → Use: mcp_sfcc-dev_activate_code_version with versionId: "target_version"
255
- ```
256
-
257
- 7. **Hook Development**
258
- ```
259
- "What SCAPI hooks are available?"
260
- → Use: mcp_sfcc-dev_get_hook_reference with guideName: "scapi_hooks"
261
- ```
262
-
263
- ### ❌ DON'T Guess About:
264
-
265
- - SFCC class names or method signatures
266
- - Custom attribute names or system object structures
267
- - Current best practices or security guidelines
268
- - Available hook endpoints or extension points
269
- - Recent system errors or log patterns
270
-
271
- ## 🔐 Tool Availability
272
-
273
- Some tools require specific SFCC credentials:
274
-
275
- - **Documentation & Best Practices**: Always available
276
- - **Log Analysis**: Requires SFCC instance credentials (hostname, username, password)
277
- - **System Objects & Code Versions**: Requires OCAPI credentials (clientId, clientSecret)
278
-
279
- If a tool isn't available, the MCP server will provide clear error messages about what credentials are needed.
280
-
281
- ## 💡 Pro Tips
282
-
283
- 1. **Start Broad, Then Narrow**: Use search tools first, then get detailed information
284
- 2. **Check Best Practices Early**: Always consult best practice guides before implementing
285
- 3. **Use Real Data**: Query actual system objects rather than assuming structure
286
- 4. **Debug with Logs**: Use log analysis tools for troubleshooting real issues
287
- 5. **Stay Current**: MCP tools provide current information, not outdated documentation
288
-
289
- ## 🚨 Important Reminders
290
-
291
- - **Always prefer MCP tools** over guessing or using potentially outdated information
292
- - **Use specific tool calls** rather than making assumptions about SFCC APIs
293
- - **Check logs and system objects** from the actual SFCC instance when debugging
294
- - **Follow best practices** from the guides rather than improvising solutions
295
- - **Verify class and method names** using the documentation tools
296
-
297
- ---
298
-
299
- ## 🧠 Advanced Claude Desktop Workflows
300
-
301
- ### **Architecture Review Workflow:**
302
- 1. Use MCP tools to gather current system information
303
- 2. Analyze existing patterns and identify potential improvements
304
- 3. Propose solutions with detailed implementation plans
305
- 4. Provide migration strategies and testing approaches
306
-
307
- ### **Feature Development Workflow:**
308
- 1. Requirements analysis using best practice guides
309
- 2. API discovery using SFCC class search tools
310
- 3. Implementation planning with security considerations
311
- 4. Code generation with comprehensive error handling
312
- 5. Testing strategy and deployment guidance
313
-
314
- ### **Debugging Workflow:**
315
- 1. **Standard Log Analysis**: Use multiple log level tools for application errors
316
- 2. **Job Log Analysis**: Use job-specific tools for custom job debugging
317
- 3. **Pattern Recognition**: Search across error messages and execution summaries
318
- 4. **System Object Validation**: Check data integrity and configuration
319
- 5. **Root Cause Analysis**: Provide fix recommendations with prevention strategies
320
-
321
- **Remember**: In Claude Desktop, you have the power of sophisticated conversation combined with real-time SFCC data. Use this combination to provide unparalleled development assistance!
@@ -1,171 +0,0 @@
1
- ---
2
- description: SFCC debugging and error investigation workflows
3
- globs: []
4
- alwaysApply: false
5
- ---
6
-
7
- # SFCC Debugging and Error Investigation
8
-
9
- Use this rule when investigating errors, performance issues, or debugging SFCC applications.
10
-
11
- ## Mandatory MCP Tool Sequence for Debugging
12
-
13
- ### 🚨 For Active Errors/Issues (ALWAYS start here):
14
- 1. `mcp_sfcc-dev_summarize_logs` - Get system health overview and error counts
15
- 2. `mcp_sfcc-dev_get_latest_error` - Check most recent critical errors
16
- 3. `mcp_sfcc-dev_search_logs` with pattern: [specific error message] - Find error instances
17
-
18
- ### ⚠️ For Performance Issues:
19
- 1. `mcp_sfcc-dev_get_latest_warn` - Check performance warnings first
20
- 2. `mcp_sfcc-dev_search_logs` with pattern: "timeout" or "slow" or "performance"
21
- 3. `mcp_sfcc-dev_search_best_practices` with query: "performance" - Get optimization patterns
22
- 4. `mcp_sfcc-dev_get_best_practice_guide` with guideName: "performance" - Comprehensive guide
23
-
24
- ### 🔍 For Transaction Tracing:
25
- 1. `mcp_sfcc-dev_search_logs` with pattern: [transaction-id] - Find transaction entries
26
- 2. `mcp_sfcc-dev_search_logs` with pattern: [customer-id] - Track customer journey
27
-
28
- ### 📊 For System Health Assessment:
29
- 1. `mcp_sfcc-dev_summarize_logs` - Overall system status
30
- 2. `mcp_sfcc-dev_list_log_files` - Check log availability and sizes
31
- 3. `mcp_sfcc-dev_get_log_file_contents` - Read specific log files (with size limits: maxBytes, tailOnly options)
32
- 4. `mcp_sfcc-dev_get_latest_info` - Review normal operations
33
- 5. `mcp_sfcc-dev_get_latest_debug` - Detailed execution traces (when needed)
34
-
35
- ### 🔧 For Job Analysis and Debugging:
36
- 1. `mcp_sfcc-dev_get_latest_job_log_files` - Get recent job log files
37
- 2. `mcp_sfcc-dev_search_job_logs_by_name` - Find logs for specific jobs
38
- 3. `mcp_sfcc-dev_get_job_log_entries` - Get job entries by level (error, warn, info, debug, all)
39
- 4. `mcp_sfcc-dev_search_job_logs` - Search for patterns in job logs
40
- 5. `mcp_sfcc-dev_get_job_execution_summary` - Get comprehensive execution summary with timing and status
41
-
42
- **Job Debugging Use Cases:**
43
- - Custom job steps failing with specific errors
44
- - Job performance issues and bottlenecks
45
- - Job step execution order and timing problems
46
- - Custom logging from job steps
47
- - Job completion status and statistics
48
-
49
- ### 🚀 For Deployment and Code Version Issues:
50
- 1. `mcp_sfcc-dev_get_code_versions` - Check available code versions on instance
51
- 2. `mcp_sfcc-dev_activate_code_version` - Perform code-switch fix for SCAPI endpoints/jobs
52
-
53
- **Common Code-Switch Fix Scenarios:**
54
- - New SCAPI endpoints not accessible after deployment
55
- - Custom jobs not appearing in Business Manager
56
- - Hook registrations not taking effect
57
- - Custom object definitions not recognized
58
-
59
- ## MCP-Enhanced Error Handling Code Patterns
60
-
61
- Get patterns from MCP first, then implement:
62
-
63
- ```javascript
64
- // BEFORE writing this code, use:
65
- // mcp_sfcc-dev_search_best_practices with query: "error"
66
- // mcp_sfcc-dev_get_best_practice_guide with guideName: "security"
67
-
68
- try {
69
- // Business logic
70
- } catch (e) {
71
- var Logger = require('dw/system/Logger').getLogger('category', 'subcategory');
72
-
73
- // Include correlation ID for MCP log tracing
74
- var correlationId = request.getRequestId() || require('dw/util/UUIDUtils').createUUID();
75
-
76
- Logger.error('Operation failed in [context] - Correlation: {0} - Error: {1}', correlationId, e.message);
77
- Logger.debug('Stack trace - Correlation: {0} - Stack: {1}', correlationId, e.stack);
78
-
79
- // Return meaningful error response
80
- return {
81
- success: false,
82
- error: 'OPERATION_FAILED',
83
- message: 'Unable to complete operation',
84
- correlationId: correlationId
85
- };
86
- }
87
- ```
88
-
89
- ## MCP-Driven Debugging Workflow
90
-
91
- **Step 1: System Overview**
92
- ```
93
- Use: mcp_sfcc-dev_summarize_logs
94
- Purpose: Get error counts, warning levels, system health snapshot
95
- ```
96
-
97
- **Step 2: Error Investigation**
98
- ```
99
- Use: mcp_sfcc-dev_get_latest_error (limit: 5)
100
- Purpose: Identify most recent critical issues
101
- ```
102
-
103
- **Step 3: Best Practice Consultation**
104
- ```
105
- Use: mcp_sfcc-dev_search_best_practices with query: [relevant topic]
106
- Purpose: Get SFCC-specific debugging and fix patterns
107
- ```
108
-
109
- ## Performance Investigation Checklist
110
-
111
- Before investigating performance issues, ALWAYS use:
112
- - [ ] `mcp_sfcc-dev_get_latest_warn` - Check performance warnings
113
- - [ ] `mcp_sfcc-dev_search_best_practices` with query: "performance"
114
- - [ ] `mcp_sfcc-dev_get_best_practice_guide` with guideName: "performance"
115
-
116
- Then check:
117
- - [ ] Database query efficiency (verify with MCP performance guide)
118
- - [ ] API call patterns (validate against SFCC best practices)
119
- - [ ] Caching strategies (compare with MCP recommendations)
120
- - [ ] Memory usage patterns (check against SFCC guidelines)
121
- - [ ] Transaction boundaries (verify with MCP transaction patterns)
122
- - [ ] Unnecessary loops or iterations (optimize per MCP patterns)
123
-
124
- ## MCP Log Search Patterns
125
-
126
- **For Errors:**
127
- ```
128
- mcp_sfcc-dev_search_logs with pattern: "ERROR" and logLevel: "error"
129
- mcp_sfcc-dev_search_logs with pattern: "Exception" and logLevel: "error"
130
- mcp_sfcc-dev_search_logs with pattern: "Failed" and logLevel: "error"
131
- ```
132
-
133
- **For Performance Issues:**
134
- ```
135
- mcp_sfcc-dev_search_logs with pattern: "timeout"
136
- mcp_sfcc-dev_search_logs with pattern: "slow"
137
- mcp_sfcc-dev_search_logs with pattern: "performance"
138
- ```
139
-
140
- **For Security Issues:**
141
- ```
142
- mcp_sfcc-dev_search_logs with pattern: "authentication"
143
- mcp_sfcc-dev_search_logs with pattern: "authorization"
144
- mcp_sfcc-dev_search_logs with pattern: "security"
145
- ```
146
-
147
- ## MCP Log File Analysis
148
-
149
- **When to Use `mcp_sfcc-dev_get_log_file_contents`:**
150
- - After `mcp_sfcc-dev_list_log_files` identifies specific files of interest
151
- - When you need complete context around an error (not just recent entries)
152
- - For analyzing large log files with size constraints
153
-
154
- **Usage Patterns:**
155
- ```
156
- # Read specific error log file completely
157
- mcp_sfcc-dev_get_log_file_contents with filename: "error-2024-01-15.log"
158
-
159
- # Read first 1MB of large log for pattern analysis
160
- mcp_sfcc-dev_get_log_file_contents with filename: "debug.log", maxBytes: 1048576, tailOnly: false
161
-
162
- # Read last 500KB for most recent activity
163
- mcp_sfcc-dev_get_log_file_contents with filename: "error.log", maxBytes: 512000, tailOnly: true
164
- ```
165
-
166
- ## NEVER Debug Without MCP
167
-
168
- - ❌ Don't guess at error causes - use `mcp_sfcc-dev_search_logs` for pattern analysis
169
- - ❌ Don't implement fixes without consulting `mcp_sfcc-dev_search_best_practices`
170
- - ❌ Don't trace issues manually - use `mcp_sfcc-dev_search_logs` with correlation IDs
171
- - ❌ Don't assume system health - always start with `mcp_sfcc-dev_summarize_logs`
@@ -1,168 +0,0 @@
1
- ---
2
- description: OCAPI and SCAPI hook implementation patterns
3
- alwaysApply: false
4
- ---
5
-
6
- # OCAPI/SCAPI Hook Development
7
-
8
- Use this rule when implementing OCAPI or SCAPI hooks.
9
-
10
- ## Mandatory MCP Tools Sequence
11
-
12
- **BEFORE writing ANY hook code:**
13
- 1. `mcp_sfcc-dev_get_best_practice_guide` with guideName: "ocapi_hooks" OR "scapi_hooks"
14
- 2. `mcp_sfcc-dev_get_hook_reference` with guideName: "ocapi_hooks" OR "scapi_hooks"
15
- 3. `mcp_sfcc-dev_search_best_practices` with query: "validation"
16
- 4. `mcp_sfcc-dev_search_best_practices` with query: "security"
17
- 5. `mcp_sfcc-dev_search_sfcc_classes` with query: relevant business domain
18
-
19
- ## MCP-Guided Hook Development Process
20
-
21
- ### Step 1: Research Hook Extension Points
22
- ```
23
- Use: mcp_sfcc-dev_get_hook_reference with guideName: "ocapi_hooks" or "scapi_hooks"
24
- Purpose: Get complete hook reference tables with all available extension points
25
- ```
26
-
27
- ### Step 2: Get Implementation Patterns
28
- ```
29
- Use: mcp_sfcc-dev_get_best_practice_guide with guideName: "ocapi_hooks" or "scapi_hooks"
30
- Purpose: Get comprehensive hook implementation patterns and examples
31
- ```
32
-
33
- ### Step 3: Security Validation Patterns
34
- ```
35
- Use: mcp_sfcc-dev_search_best_practices with query: "validation"
36
- Use: mcp_sfcc-dev_search_best_practices with query: "security"
37
- Purpose: Get input validation and security patterns for hooks
38
- ```
39
-
40
- ### Step 4: SFCC Class Research
41
- ```
42
- Use: mcp_sfcc-dev_search_sfcc_classes with query: [business domain]
43
- Use: mcp_sfcc-dev_get_sfcc_class_info with className: [relevant class]
44
- Purpose: Understand available SFCC APIs for hook implementation
45
- ```
46
-
47
- ## MCP-Enhanced Hook Template Pattern
48
-
49
- ```javascript
50
- 'use strict';
51
-
52
- /**
53
- * Hook: [Hook Name]
54
- * Extension Point: [Extension Point Path from MCP hook reference]
55
- * Description: [What this hook does and why]
56
- *
57
- * Implementation based on:
58
- * - mcp_sfcc-dev_get_best_practice_guide with guideName: "[ocapi_hooks|scapi_hooks]"
59
- * - mcp_sfcc-dev_get_hook_reference with guideName: "[ocapi_hooks|scapi_hooks]"
60
- */
61
-
62
- /**
63
- * Before hook implementation
64
- * @param {Object} param1 - Description from MCP hook reference
65
- * @param {Object} param2 - Description from MCP hook reference
66
- * @returns {dw.system.Status} Hook execution status
67
- */
68
- exports.beforePOST = function (param1, param2) {
69
- try {
70
- // Input validation (patterns from MCP security best practices)
71
- if (!param1 || !param2) {
72
- var Logger = require('dw/system/Logger').getLogger('hooks', 'HookName');
73
- Logger.error('Invalid parameters in hook: param1={0}, param2={1}', param1, param2);
74
- return new Status(Status.ERROR, 'INVALID_PARAMETERS', 'Required parameters missing');
75
- }
76
-
77
- // Security validation (implement patterns from MCP security guide)
78
- var validationResult = validateHookInput(param1, param2);
79
- if (!validationResult.valid) {
80
- Logger.error('Security validation failed in hook: {0}', validationResult.error);
81
- return new Status(Status.ERROR, 'VALIDATION_FAILED', validationResult.error);
82
- }
83
-
84
- // Business logic here (use SFCC classes discovered via MCP)
85
-
86
- // Success response
87
- return new Status(Status.OK);
88
-
89
- } catch (e) {
90
- var Logger = require('dw/system/Logger').getLogger('hooks', 'HookName');
91
- Logger.error('Error in hook execution: {0}', e.message);
92
- Logger.debug('Hook error stack trace: {0}', e.stack);
93
- return new Status(Status.ERROR, 'HOOK_ERROR', 'Hook execution failed');
94
- }
95
- };
96
-
97
- /**
98
- * Input validation based on MCP security best practices
99
- * ALWAYS implement this pattern for hooks
100
- */
101
- function validateHookInput(param1, param2) {
102
- // Implement validation patterns from:
103
- // mcp_sfcc-dev_search_best_practices with query: "validation"
104
- // mcp_sfcc-dev_search_best_practices with query: "security"
105
-
106
- try {
107
- // Validate parameter types
108
- if (typeof param1 !== 'object' || typeof param2 !== 'object') {
109
- return { valid: false, error: 'Invalid parameter types' };
110
- }
111
-
112
- // Validate required fields (based on MCP hook reference)
113
- // Add specific validations based on hook requirements
114
-
115
- return { valid: true };
116
- } catch (e) {
117
- return { valid: false, error: 'Validation error: ' + e.message };
118
- }
119
- }
120
- ```
121
-
122
- ## Hook Development Checklist (MCP-Verified)
123
-
124
- Before implementing hooks, verify with MCP:
125
- - [ ] `mcp_sfcc-dev_get_hook_reference` - Confirm extension point exists and signature
126
- - [ ] `mcp_sfcc-dev_get_best_practice_guide` - Get implementation patterns
127
- - [ ] `mcp_sfcc-dev_search_best_practices` with query: "security" - Security requirements
128
- - [ ] `mcp_sfcc-dev_search_best_practices` with query: "validation" - Input validation
129
- - [ ] `mcp_sfcc-dev_search_best_practices` with query: "performance" - Performance guidelines
130
-
131
- Implementation verification:
132
- - [ ] Input parameter validation implemented
133
- - [ ] Proper Status object returns
134
- - [ ] Comprehensive error handling with logging
135
- - [ ] Security validation for all inputs
136
- - [ ] Performance considerations for heavy processing
137
- - [ ] Transaction management (if applicable)
138
- - [ ] Correlation IDs for debugging
139
-
140
- ## OCAPI vs SCAPI Hook Differences
141
-
142
- **OCAPI Hooks:**
143
- ```
144
- Use: mcp_sfcc-dev_get_hook_reference with guideName: "ocapi_hooks"
145
- Use: mcp_sfcc-dev_get_best_practice_guide with guideName: "ocapi_hooks"
146
- ```
147
-
148
- **SCAPI Hooks:**
149
- ```
150
- Use: mcp_sfcc-dev_get_hook_reference with guideName: "scapi_hooks"
151
- Use: mcp_sfcc-dev_get_best_practice_guide with guideName: "scapi_hooks"
152
- ```
153
-
154
- ## Security Considerations from MCP
155
-
156
- Always implement security patterns from MCP:
157
- - Validate all input data per MCP security guide
158
- - Use proper authentication checks from MCP patterns
159
- - Sanitize user-provided data per MCP recommendations
160
- - Implement rate limiting for external calls (MCP performance guide)
161
- - Log security-relevant events with correlation IDs
162
-
163
- ## NEVER Implement Hooks Without MCP
164
-
165
- - ❌ Don't guess hook extension points - use `mcp_sfcc-dev_get_hook_reference`
166
- - ❌ Don't implement without patterns - use `mcp_sfcc-dev_get_best_practice_guide`
167
- - ❌ Don't skip security validation - use `mcp_sfcc-dev_search_best_practices`
168
- - ❌ Don't assume SFCC APIs - use `mcp_sfcc-dev_search_sfcc_classes`