sfcc-dev-mcp 1.0.16 → 1.0.20

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 (983) hide show
  1. package/dist/clients/logs/index.d.ts +13 -0
  2. package/dist/clients/logs/index.d.ts.map +1 -0
  3. package/dist/clients/logs/index.js +15 -0
  4. package/dist/clients/logs/index.js.map +1 -0
  5. package/dist/clients/logs/log-analyzer.d.ts +55 -0
  6. package/dist/clients/logs/log-analyzer.d.ts.map +1 -0
  7. package/dist/clients/logs/log-analyzer.js +228 -0
  8. package/dist/clients/logs/log-analyzer.js.map +1 -0
  9. package/dist/clients/logs/log-client.d.ts +87 -0
  10. package/dist/clients/logs/log-client.d.ts.map +1 -0
  11. package/dist/clients/logs/log-client.js +418 -0
  12. package/dist/clients/logs/log-client.js.map +1 -0
  13. package/dist/clients/logs/log-constants.d.ts +37 -0
  14. package/dist/clients/logs/log-constants.d.ts.map +1 -0
  15. package/dist/clients/logs/log-constants.js +37 -0
  16. package/dist/clients/logs/log-constants.js.map +1 -0
  17. package/dist/clients/logs/log-file-discovery.d.ts +64 -0
  18. package/dist/clients/logs/log-file-discovery.d.ts.map +1 -0
  19. package/dist/clients/logs/log-file-discovery.js +249 -0
  20. package/dist/clients/logs/log-file-discovery.js.map +1 -0
  21. package/dist/clients/logs/log-file-reader.d.ts +55 -0
  22. package/dist/clients/logs/log-file-reader.d.ts.map +1 -0
  23. package/dist/clients/logs/log-file-reader.js +207 -0
  24. package/dist/clients/logs/log-file-reader.js.map +1 -0
  25. package/dist/clients/logs/log-formatter.d.ts +90 -0
  26. package/dist/clients/logs/log-formatter.d.ts.map +1 -0
  27. package/dist/clients/logs/log-formatter.js +189 -0
  28. package/dist/clients/logs/log-formatter.js.map +1 -0
  29. package/dist/clients/logs/log-processor.d.ts +91 -0
  30. package/dist/clients/logs/log-processor.d.ts.map +1 -0
  31. package/dist/clients/logs/log-processor.js +328 -0
  32. package/dist/clients/logs/log-processor.js.map +1 -0
  33. package/dist/clients/logs/log-types.d.ts +58 -0
  34. package/dist/clients/logs/log-types.d.ts.map +1 -0
  35. package/dist/clients/logs/log-types.js +8 -0
  36. package/dist/clients/logs/log-types.js.map +1 -0
  37. package/dist/clients/logs/webdav-client-manager.d.ts +28 -0
  38. package/dist/clients/logs/webdav-client-manager.d.ts.map +1 -0
  39. package/dist/clients/logs/webdav-client-manager.js +77 -0
  40. package/dist/clients/logs/webdav-client-manager.js.map +1 -0
  41. package/dist/docs/dw_customer/CustomerMgr.md +3 -3
  42. package/dist/docs/dw_customer/Wallet.md +25 -0
  43. package/dist/docs/dw_extensions.payments/SalesforceAdyenPaymentIntent.md +156 -0
  44. package/dist/docs/dw_extensions.payments/SalesforceAdyenSavedPaymentMethod.md +258 -0
  45. package/dist/docs/dw_extensions.payments/SalesforcePayPalOrder.md +36 -0
  46. package/dist/docs/dw_extensions.payments/SalesforcePaymentIntent.md +1 -1
  47. package/dist/docs/dw_extensions.payments/SalesforcePaymentsHooks.md +68 -1
  48. package/dist/docs/dw_extensions.payments/SalesforcePaymentsMerchantAccount.md +154 -0
  49. package/dist/docs/dw_extensions.payments/SalesforcePaymentsMerchantAccountPaymentMethod.md +96 -0
  50. package/dist/docs/dw_extensions.payments/SalesforcePaymentsMgr.md +311 -2
  51. package/dist/docs/dw_extensions.payments/SalesforcePaymentsSiteConfiguration.md +26 -0
  52. package/dist/docs/dw_extensions.payments/SalesforcePaymentsZone.md +458 -0
  53. package/dist/docs/dw_order/OrderMgr.md +3 -3
  54. package/dist/docs/dw_order.hooks/BasketMergeHooks.md +4 -4
  55. package/dist/docs/dw_order.hooks/CheckoutHooks.md +42 -0
  56. package/package.json +9 -3
  57. package/.github/ISSUE_TEMPLATE/bug_report.yml +0 -131
  58. package/.github/ISSUE_TEMPLATE/config.yml +0 -9
  59. package/.github/ISSUE_TEMPLATE/documentation.yml +0 -117
  60. package/.github/ISSUE_TEMPLATE/feature_request.yml +0 -151
  61. package/.github/ISSUE_TEMPLATE/question.yml +0 -102
  62. package/.github/PULL_REQUEST_TEMPLATE/bug_fix.md +0 -59
  63. package/.github/PULL_REQUEST_TEMPLATE/documentation.md +0 -48
  64. package/.github/PULL_REQUEST_TEMPLATE/new_tool.md +0 -55
  65. package/.github/agents/official-docs-researcher.agent.md +0 -56
  66. package/.github/dependabot.yml +0 -65
  67. package/.github/instructions/mcp-node-tests.instructions.md +0 -30
  68. package/.github/instructions/mcp-yml-tests.instructions.md +0 -27
  69. package/.github/pull_request_template.md +0 -103
  70. package/.github/skills/agent-authoring/SKILL.md +0 -66
  71. package/.github/skills/mcp-log-debugging/SKILL.md +0 -69
  72. package/.github/skills/mcp-programmatic-testing/SKILL.md +0 -142
  73. package/.github/skills/mcp-yaml-testing/SKILL.md +0 -136
  74. package/.github/skills/salesforce-developer-site-scraper/SKILL.md +0 -102
  75. package/.github/skills/salesforce-developer-site-scraper/scripts/scrape-to-markdown.js +0 -205
  76. package/.github/skills/salesforce-help-site-scraper/SKILL.md +0 -84
  77. package/.github/skills/salesforce-help-site-scraper/scripts/scrape-help-to-markdown.js +0 -212
  78. package/.github/skills/skill-authoring/SKILL.md +0 -228
  79. package/.github/skills/skill-authoring/references/PATTERNS.md +0 -384
  80. package/.github/workflows/ci.yml +0 -103
  81. package/.github/workflows/deploy-pages.yml +0 -59
  82. package/.github/workflows/publish.yml +0 -112
  83. package/.github/workflows/update-docs.yml +0 -182
  84. package/.husky/pre-commit +0 -2
  85. package/AGENTS.md +0 -638
  86. package/CONTRIBUTING.md +0 -323
  87. package/SECURITY.md +0 -148
  88. package/aegis.config.docs-only.json +0 -9
  89. package/aegis.config.json +0 -12
  90. package/aegis.config.with-dw.json +0 -15
  91. package/ai-instructions/AGENTS.md +0 -628
  92. package/ai-instructions/skills/sfcc-caching/SKILL.md +0 -89
  93. package/ai-instructions/skills/sfcc-cartridge-development/SKILL.md +0 -240
  94. package/ai-instructions/skills/sfcc-forms-development/SKILL.md +0 -261
  95. package/ai-instructions/skills/sfcc-forms-development/references/ARCHITECTURE-SGJC-SFRA.md +0 -143
  96. package/ai-instructions/skills/sfcc-forms-development/references/FORM-XML-CHEATSHEET.md +0 -127
  97. package/ai-instructions/skills/sfcc-fraud-prevention/SKILL.md +0 -95
  98. package/ai-instructions/skills/sfcc-hooks-registration/SKILL.md +0 -39
  99. package/ai-instructions/skills/sfcc-isml-development/SKILL.md +0 -370
  100. package/ai-instructions/skills/sfcc-isml-development/references/REMOTE-INCLUDES.md +0 -116
  101. package/ai-instructions/skills/sfcc-isml-development/references/SFRA-LAYOUTS.md +0 -50
  102. package/ai-instructions/skills/sfcc-isml-development/references/SFRA-PAGES-CART-ACCOUNT-AUTH.md +0 -45
  103. package/ai-instructions/skills/sfcc-isml-development/references/SFRA-PAGES-CATALOG.md +0 -85
  104. package/ai-instructions/skills/sfcc-isml-development/references/SFRA-STRUCTURE-COMPONENTS.md +0 -63
  105. package/ai-instructions/skills/sfcc-isml-development/references/UTILITIES-EXPRESSIONS.md +0 -159
  106. package/ai-instructions/skills/sfcc-isml-development/references/sfra-base-templates-architecture.md +0 -13
  107. package/ai-instructions/skills/sfcc-job-development/SKILL.md +0 -334
  108. package/ai-instructions/skills/sfcc-job-development/references/CHUNK-ORIENTED.md +0 -393
  109. package/ai-instructions/skills/sfcc-job-development/references/STEPTYPES-JSON.md +0 -271
  110. package/ai-instructions/skills/sfcc-job-development/references/TASK-ORIENTED.md +0 -257
  111. package/ai-instructions/skills/sfcc-localization/SKILL.md +0 -92
  112. package/ai-instructions/skills/sfcc-localization/references/CONTROLLERS.md +0 -63
  113. package/ai-instructions/skills/sfcc-localization/references/FORMATTING.md +0 -29
  114. package/ai-instructions/skills/sfcc-localization/references/FORMS-LOCALIZATION.md +0 -33
  115. package/ai-instructions/skills/sfcc-localization/references/JAVASCRIPT-LOCALIZATION.md +0 -41
  116. package/ai-instructions/skills/sfcc-localization/references/LOCALE-SWITCHING.md +0 -35
  117. package/ai-instructions/skills/sfcc-localization/references/PATTERNS.md +0 -740
  118. package/ai-instructions/skills/sfcc-localization/references/PROPERTIES-ENCODING.md +0 -25
  119. package/ai-instructions/skills/sfcc-localization/references/RESOURCE-BUNDLES.md +0 -67
  120. package/ai-instructions/skills/sfcc-localization/references/STATIC-FILES.md +0 -23
  121. package/ai-instructions/skills/sfcc-localization/references/TESTING.md +0 -21
  122. package/ai-instructions/skills/sfcc-localserviceregistry/SKILL.md +0 -374
  123. package/ai-instructions/skills/sfcc-logging/SKILL.md +0 -352
  124. package/ai-instructions/skills/sfcc-logging/references/LOG-FILES.md +0 -282
  125. package/ai-instructions/skills/sfcc-ocapi-hooks/SKILL.md +0 -350
  126. package/ai-instructions/skills/sfcc-ocapi-scapi-slas/SKILL.md +0 -108
  127. package/ai-instructions/skills/sfcc-page-designer/SKILL.md +0 -353
  128. package/ai-instructions/skills/sfcc-page-designer/references/ATTRIBUTE-TYPES.md +0 -436
  129. package/ai-instructions/skills/sfcc-page-designer/references/META-DEFINITIONS.md +0 -322
  130. package/ai-instructions/skills/sfcc-performance/SKILL.md +0 -424
  131. package/ai-instructions/skills/sfcc-platform-limits/SKILL.md +0 -89
  132. package/ai-instructions/skills/sfcc-scapi-custom-endpoints/SKILL.md +0 -237
  133. package/ai-instructions/skills/sfcc-scapi-custom-endpoints/references/AUTHENTICATION.md +0 -214
  134. package/ai-instructions/skills/sfcc-scapi-custom-endpoints/references/URL-MAPPING.md +0 -253
  135. package/ai-instructions/skills/sfcc-scapi-hooks/SKILL.md +0 -341
  136. package/ai-instructions/skills/sfcc-script-evaluation/SKILL.md +0 -380
  137. package/ai-instructions/skills/sfcc-security/SKILL.md +0 -394
  138. package/ai-instructions/skills/sfcc-sfra-client-side-js/SKILL.md +0 -270
  139. package/ai-instructions/skills/sfcc-sfra-client-side-js/references/AJAX-CSRF-VALIDATION.md +0 -285
  140. package/ai-instructions/skills/sfcc-sfra-client-side-js/references/BASE-MODULE-INDEX.md +0 -206
  141. package/ai-instructions/skills/sfcc-sfra-client-side-js/references/EXTENSION-PATTERNS.md +0 -165
  142. package/ai-instructions/skills/sfcc-sfra-client-side-js/references/PLUGIN-PATTERNS.md +0 -185
  143. package/ai-instructions/skills/sfcc-sfra-controllers/SKILL.md +0 -347
  144. package/ai-instructions/skills/sfcc-sfra-controllers/references/MIDDLEWARE-REFERENCE.md +0 -257
  145. package/ai-instructions/skills/sfcc-sfra-controllers/references/REMOTE-INCLUDES.md +0 -193
  146. package/ai-instructions/skills/sfcc-sfra-controllers/references/standard-sfra-controllers.md +0 -814
  147. package/ai-instructions/skills/sfcc-sfra-models/SKILL.md +0 -322
  148. package/ai-instructions/skills/sfcc-sfra-models/references/MODEL-PATTERNS.md +0 -530
  149. package/ai-instructions/skills/sfcc-sfra-models/references/MODEL-STRUCTURE.md +0 -234
  150. package/ai-instructions/skills/sfcc-sfra-models/references/TESTING-SECURITY.md +0 -417
  151. package/ai-instructions/skills/sfcc-sfra-scss/SKILL.md +0 -393
  152. package/ai-instructions/skills/sfcc-webdav-workflows/SKILL.md +0 -111
  153. package/docs/TopLevel/APIException.md +0 -68
  154. package/docs/TopLevel/Array.md +0 -897
  155. package/docs/TopLevel/ArrayBuffer.md +0 -79
  156. package/docs/TopLevel/BigInt.md +0 -132
  157. package/docs/TopLevel/Boolean.md +0 -62
  158. package/docs/TopLevel/ConversionError.md +0 -23
  159. package/docs/TopLevel/DataView.md +0 -352
  160. package/docs/TopLevel/Date.md +0 -924
  161. package/docs/TopLevel/ES6Iterator.md +0 -33
  162. package/docs/TopLevel/Error.md +0 -88
  163. package/docs/TopLevel/EvalError.md +0 -23
  164. package/docs/TopLevel/Fault.md +0 -87
  165. package/docs/TopLevel/Float32Array.md +0 -130
  166. package/docs/TopLevel/Float64Array.md +0 -130
  167. package/docs/TopLevel/Function.md +0 -105
  168. package/docs/TopLevel/Generator.md +0 -78
  169. package/docs/TopLevel/IOError.md +0 -62
  170. package/docs/TopLevel/Int16Array.md +0 -130
  171. package/docs/TopLevel/Int32Array.md +0 -130
  172. package/docs/TopLevel/Int8Array.md +0 -130
  173. package/docs/TopLevel/InternalError.md +0 -23
  174. package/docs/TopLevel/Iterable.md +0 -41
  175. package/docs/TopLevel/Iterator.md +0 -48
  176. package/docs/TopLevel/JSON.md +0 -162
  177. package/docs/TopLevel/Map.md +0 -216
  178. package/docs/TopLevel/Math.md +0 -913
  179. package/docs/TopLevel/Module.md +0 -45
  180. package/docs/TopLevel/Namespace.md +0 -96
  181. package/docs/TopLevel/Number.md +0 -417
  182. package/docs/TopLevel/Object.md +0 -641
  183. package/docs/TopLevel/QName.md +0 -96
  184. package/docs/TopLevel/RangeError.md +0 -23
  185. package/docs/TopLevel/ReferenceError.md +0 -23
  186. package/docs/TopLevel/RegExp.md +0 -109
  187. package/docs/TopLevel/Set.md +0 -165
  188. package/docs/TopLevel/StopIteration.md +0 -20
  189. package/docs/TopLevel/String.md +0 -1299
  190. package/docs/TopLevel/Symbol.md +0 -78
  191. package/docs/TopLevel/SyntaxError.md +0 -23
  192. package/docs/TopLevel/SystemError.md +0 -62
  193. package/docs/TopLevel/TypeError.md +0 -23
  194. package/docs/TopLevel/URIError.md +0 -23
  195. package/docs/TopLevel/Uint16Array.md +0 -130
  196. package/docs/TopLevel/Uint32Array.md +0 -130
  197. package/docs/TopLevel/Uint8Array.md +0 -130
  198. package/docs/TopLevel/Uint8ClampedArray.md +0 -130
  199. package/docs/TopLevel/WeakMap.md +0 -137
  200. package/docs/TopLevel/WeakSet.md +0 -92
  201. package/docs/TopLevel/XML.md +0 -937
  202. package/docs/TopLevel/XMLList.md +0 -484
  203. package/docs/TopLevel/XMLStreamError.md +0 -74
  204. package/docs/TopLevel/arguments.md +0 -34
  205. package/docs/TopLevel/global.md +0 -474
  206. package/docs/dw_campaign/ABTest.md +0 -47
  207. package/docs/dw_campaign/ABTestMgr.md +0 -70
  208. package/docs/dw_campaign/ABTestSegment.md +0 -96
  209. package/docs/dw_campaign/AmountDiscount.md +0 -51
  210. package/docs/dw_campaign/ApproachingDiscount.md +0 -124
  211. package/docs/dw_campaign/BonusChoiceDiscount.md +0 -146
  212. package/docs/dw_campaign/BonusDiscount.md +0 -48
  213. package/docs/dw_campaign/Campaign.md +0 -365
  214. package/docs/dw_campaign/CampaignMgr.md +0 -395
  215. package/docs/dw_campaign/CampaignStatusCodes.md +0 -48
  216. package/docs/dw_campaign/Coupon.md +0 -310
  217. package/docs/dw_campaign/CouponMgr.md +0 -144
  218. package/docs/dw_campaign/CouponRedemption.md +0 -94
  219. package/docs/dw_campaign/CouponStatusCodes.md +0 -86
  220. package/docs/dw_campaign/Discount.md +0 -226
  221. package/docs/dw_campaign/DiscountPlan.md +0 -282
  222. package/docs/dw_campaign/FixedPriceDiscount.md +0 -52
  223. package/docs/dw_campaign/FixedPriceShippingDiscount.md +0 -52
  224. package/docs/dw_campaign/FreeDiscount.md +0 -17
  225. package/docs/dw_campaign/FreeShippingDiscount.md +0 -17
  226. package/docs/dw_campaign/PercentageDiscount.md +0 -52
  227. package/docs/dw_campaign/PercentageOptionDiscount.md +0 -48
  228. package/docs/dw_campaign/PriceBookPriceDiscount.md +0 -47
  229. package/docs/dw_campaign/Promotion.md +0 -874
  230. package/docs/dw_campaign/PromotionMgr.md +0 -386
  231. package/docs/dw_campaign/PromotionPlan.md +0 -330
  232. package/docs/dw_campaign/SlotContent.md +0 -144
  233. package/docs/dw_campaign/SourceCodeGroup.md +0 -72
  234. package/docs/dw_campaign/SourceCodeInfo.md +0 -144
  235. package/docs/dw_campaign/SourceCodeStatusCodes.md +0 -36
  236. package/docs/dw_campaign/TotalFixedPriceDiscount.md +0 -47
  237. package/docs/dw_catalog/Catalog.md +0 -122
  238. package/docs/dw_catalog/CatalogMgr.md +0 -182
  239. package/docs/dw_catalog/Category.md +0 -1308
  240. package/docs/dw_catalog/CategoryAssignment.md +0 -192
  241. package/docs/dw_catalog/CategoryLink.md +0 -126
  242. package/docs/dw_catalog/PriceBook.md +0 -242
  243. package/docs/dw_catalog/PriceBookMgr.md +0 -204
  244. package/docs/dw_catalog/Product.md +0 -2593
  245. package/docs/dw_catalog/ProductActiveData.md +0 -1275
  246. package/docs/dw_catalog/ProductAttributeModel.md +0 -277
  247. package/docs/dw_catalog/ProductAvailabilityLevels.md +0 -142
  248. package/docs/dw_catalog/ProductAvailabilityModel.md +0 -380
  249. package/docs/dw_catalog/ProductInventoryList.md +0 -140
  250. package/docs/dw_catalog/ProductInventoryMgr.md +0 -117
  251. package/docs/dw_catalog/ProductInventoryRecord.md +0 -563
  252. package/docs/dw_catalog/ProductLink.md +0 -144
  253. package/docs/dw_catalog/ProductMgr.md +0 -138
  254. package/docs/dw_catalog/ProductOption.md +0 -214
  255. package/docs/dw_catalog/ProductOptionModel.md +0 -246
  256. package/docs/dw_catalog/ProductOptionValue.md +0 -123
  257. package/docs/dw_catalog/ProductPriceInfo.md +0 -172
  258. package/docs/dw_catalog/ProductPriceModel.md +0 -745
  259. package/docs/dw_catalog/ProductPriceTable.md +0 -134
  260. package/docs/dw_catalog/ProductSearchHit.md +0 -581
  261. package/docs/dw_catalog/ProductSearchModel.md +0 -2018
  262. package/docs/dw_catalog/ProductSearchRefinementDefinition.md +0 -97
  263. package/docs/dw_catalog/ProductSearchRefinementValue.md +0 -73
  264. package/docs/dw_catalog/ProductSearchRefinements.md +0 -216
  265. package/docs/dw_catalog/ProductVariationAttribute.md +0 -100
  266. package/docs/dw_catalog/ProductVariationAttributeValue.md +0 -238
  267. package/docs/dw_catalog/ProductVariationModel.md +0 -849
  268. package/docs/dw_catalog/Recommendation.md +0 -314
  269. package/docs/dw_catalog/SearchModel.md +0 -901
  270. package/docs/dw_catalog/SearchRefinementDefinition.md +0 -146
  271. package/docs/dw_catalog/SearchRefinementValue.md +0 -185
  272. package/docs/dw_catalog/SearchRefinements.md +0 -180
  273. package/docs/dw_catalog/SortingOption.md +0 -120
  274. package/docs/dw_catalog/SortingRule.md +0 -47
  275. package/docs/dw_catalog/Store.md +0 -562
  276. package/docs/dw_catalog/StoreGroup.md +0 -96
  277. package/docs/dw_catalog/StoreInventoryFilter.md +0 -74
  278. package/docs/dw_catalog/StoreInventoryFilterValue.md +0 -74
  279. package/docs/dw_catalog/StoreMgr.md +0 -236
  280. package/docs/dw_catalog/Variant.md +0 -859
  281. package/docs/dw_catalog/VariationGroup.md +0 -792
  282. package/docs/dw_content/Content.md +0 -534
  283. package/docs/dw_content/ContentMgr.md +0 -166
  284. package/docs/dw_content/ContentSearchModel.md +0 -682
  285. package/docs/dw_content/ContentSearchRefinementDefinition.md +0 -49
  286. package/docs/dw_content/ContentSearchRefinementValue.md +0 -17
  287. package/docs/dw_content/ContentSearchRefinements.md +0 -208
  288. package/docs/dw_content/Folder.md +0 -467
  289. package/docs/dw_content/Library.md +0 -121
  290. package/docs/dw_content/MarkupText.md +0 -88
  291. package/docs/dw_content/MediaFile.md +0 -317
  292. package/docs/dw_crypto/CertificateRef.md +0 -42
  293. package/docs/dw_crypto/CertificateUtils.md +0 -187
  294. package/docs/dw_crypto/Cipher.md +0 -530
  295. package/docs/dw_crypto/Encoding.md +0 -220
  296. package/docs/dw_crypto/JWE.md +0 -224
  297. package/docs/dw_crypto/JWEHeader.md +0 -172
  298. package/docs/dw_crypto/JWS.md +0 -264
  299. package/docs/dw_crypto/JWSHeader.md +0 -148
  300. package/docs/dw_crypto/KeyRef.md +0 -44
  301. package/docs/dw_crypto/Mac.md +0 -139
  302. package/docs/dw_crypto/MessageDigest.md +0 -175
  303. package/docs/dw_crypto/SecureRandom.md +0 -148
  304. package/docs/dw_crypto/Signature.md +0 -252
  305. package/docs/dw_crypto/WeakCipher.md +0 -538
  306. package/docs/dw_crypto/WeakMac.md +0 -121
  307. package/docs/dw_crypto/WeakMessageDigest.md +0 -163
  308. package/docs/dw_crypto/WeakSignature.md +0 -242
  309. package/docs/dw_crypto/X509Certificate.md +0 -193
  310. package/docs/dw_customer/AddressBook.md +0 -163
  311. package/docs/dw_customer/AgentUserMgr.md +0 -83
  312. package/docs/dw_customer/AgentUserStatusCodes.md +0 -96
  313. package/docs/dw_customer/AuthenticationStatus.md +0 -138
  314. package/docs/dw_customer/Credentials.md +0 -494
  315. package/docs/dw_customer/Customer.md +0 -571
  316. package/docs/dw_customer/CustomerActiveData.md +0 -552
  317. package/docs/dw_customer/CustomerAddress.md +0 -852
  318. package/docs/dw_customer/CustomerCDPData.md +0 -70
  319. package/docs/dw_customer/CustomerContextMgr.md +0 -64
  320. package/docs/dw_customer/CustomerGroup.md +0 -134
  321. package/docs/dw_customer/CustomerList.md +0 -71
  322. package/docs/dw_customer/CustomerMgr.md +0 -735
  323. package/docs/dw_customer/CustomerPasswordConstraints.md +0 -142
  324. package/docs/dw_customer/CustomerPaymentInstrument.md +0 -125
  325. package/docs/dw_customer/CustomerStatusCodes.md +0 -30
  326. package/docs/dw_customer/EncryptedObject.md +0 -18
  327. package/docs/dw_customer/ExternalProfile.md +0 -160
  328. package/docs/dw_customer/OrderHistory.md +0 -111
  329. package/docs/dw_customer/ProductList.md +0 -1000
  330. package/docs/dw_customer/ProductListItem.md +0 -504
  331. package/docs/dw_customer/ProductListItemPurchase.md +0 -145
  332. package/docs/dw_customer/ProductListMgr.md +0 -234
  333. package/docs/dw_customer/ProductListRegistrant.md +0 -193
  334. package/docs/dw_customer/Profile.md +0 -1128
  335. package/docs/dw_customer/Wallet.md +0 -118
  336. package/docs/dw_extensions.applepay/ApplePayHookResult.md +0 -209
  337. package/docs/dw_extensions.applepay/ApplePayHooks.md +0 -255
  338. package/docs/dw_extensions.facebook/FacebookFeedHooks.md +0 -47
  339. package/docs/dw_extensions.facebook/FacebookProduct.md +0 -1621
  340. package/docs/dw_extensions.paymentrequest/PaymentRequestHookResult.md +0 -159
  341. package/docs/dw_extensions.paymentrequest/PaymentRequestHooks.md +0 -160
  342. package/docs/dw_extensions.payments/SalesforceBancontactPaymentDetails.md +0 -79
  343. package/docs/dw_extensions.payments/SalesforceCardPaymentDetails.md +0 -103
  344. package/docs/dw_extensions.payments/SalesforceEpsPaymentDetails.md +0 -51
  345. package/docs/dw_extensions.payments/SalesforceIdealPaymentDetails.md +0 -51
  346. package/docs/dw_extensions.payments/SalesforceKlarnaPaymentDetails.md +0 -51
  347. package/docs/dw_extensions.payments/SalesforcePayPalOrder.md +0 -246
  348. package/docs/dw_extensions.payments/SalesforcePayPalOrderAddress.md +0 -191
  349. package/docs/dw_extensions.payments/SalesforcePayPalOrderPayer.md +0 -118
  350. package/docs/dw_extensions.payments/SalesforcePayPalPaymentDetails.md +0 -79
  351. package/docs/dw_extensions.payments/SalesforcePaymentDetails.md +0 -57
  352. package/docs/dw_extensions.payments/SalesforcePaymentIntent.md +0 -281
  353. package/docs/dw_extensions.payments/SalesforcePaymentMethod.md +0 -346
  354. package/docs/dw_extensions.payments/SalesforcePaymentRequest.md +0 -784
  355. package/docs/dw_extensions.payments/SalesforcePaymentsHooks.md +0 -45
  356. package/docs/dw_extensions.payments/SalesforcePaymentsMgr.md +0 -634
  357. package/docs/dw_extensions.payments/SalesforcePaymentsSiteConfiguration.md +0 -95
  358. package/docs/dw_extensions.payments/SalesforceSepaDebitPaymentDetails.md +0 -51
  359. package/docs/dw_extensions.payments/SalesforceVenmoPaymentDetails.md +0 -79
  360. package/docs/dw_extensions.pinterest/PinterestAvailability.md +0 -86
  361. package/docs/dw_extensions.pinterest/PinterestFeedHooks.md +0 -69
  362. package/docs/dw_extensions.pinterest/PinterestOrder.md +0 -232
  363. package/docs/dw_extensions.pinterest/PinterestOrderHooks.md +0 -45
  364. package/docs/dw_extensions.pinterest/PinterestProduct.md +0 -850
  365. package/docs/dw_io/CSVStreamReader.md +0 -80
  366. package/docs/dw_io/CSVStreamWriter.md +0 -60
  367. package/docs/dw_io/File.md +0 -614
  368. package/docs/dw_io/FileReader.md +0 -41
  369. package/docs/dw_io/FileWriter.md +0 -103
  370. package/docs/dw_io/InputStream.md +0 -34
  371. package/docs/dw_io/OutputStream.md +0 -34
  372. package/docs/dw_io/PrintWriter.md +0 -71
  373. package/docs/dw_io/RandomAccessFileReader.md +0 -173
  374. package/docs/dw_io/Reader.md +0 -274
  375. package/docs/dw_io/StringWriter.md +0 -81
  376. package/docs/dw_io/Writer.md +0 -92
  377. package/docs/dw_io/XMLIndentingStreamWriter.md +0 -112
  378. package/docs/dw_io/XMLStreamConstants.md +0 -114
  379. package/docs/dw_io/XMLStreamReader.md +0 -1043
  380. package/docs/dw_io/XMLStreamWriter.md +0 -572
  381. package/docs/dw_job/JobExecution.md +0 -107
  382. package/docs/dw_job/JobStepExecution.md +0 -151
  383. package/docs/dw_net/FTPClient.md +0 -699
  384. package/docs/dw_net/FTPFileInfo.md +0 -122
  385. package/docs/dw_net/HTTPClient.md +0 -831
  386. package/docs/dw_net/HTTPClientLoggingConfig.md +0 -296
  387. package/docs/dw_net/HTTPRequestPart.md +0 -206
  388. package/docs/dw_net/Mail.md +0 -551
  389. package/docs/dw_net/SFTPClient.md +0 -591
  390. package/docs/dw_net/SFTPFileInfo.md +0 -122
  391. package/docs/dw_net/WebDAVClient.md +0 -715
  392. package/docs/dw_net/WebDAVFileInfo.md +0 -184
  393. package/docs/dw_object/ActiveData.md +0 -75
  394. package/docs/dw_object/CustomAttributes.md +0 -16
  395. package/docs/dw_object/CustomObject.md +0 -73
  396. package/docs/dw_object/CustomObjectMgr.md +0 -291
  397. package/docs/dw_object/Extensible.md +0 -64
  398. package/docs/dw_object/ExtensibleObject.md +0 -68
  399. package/docs/dw_object/Note.md +0 -121
  400. package/docs/dw_object/ObjectAttributeDefinition.md +0 -481
  401. package/docs/dw_object/ObjectAttributeGroup.md +0 -170
  402. package/docs/dw_object/ObjectAttributeValueDefinition.md +0 -72
  403. package/docs/dw_object/ObjectTypeDefinition.md +0 -216
  404. package/docs/dw_object/PersistentObject.md +0 -94
  405. package/docs/dw_object/SimpleExtensible.md +0 -46
  406. package/docs/dw_object/SystemObjectMgr.md +0 -153
  407. package/docs/dw_order/AbstractItem.md +0 -244
  408. package/docs/dw_order/AbstractItemCtnr.md +0 -240
  409. package/docs/dw_order/Appeasement.md +0 -367
  410. package/docs/dw_order/AppeasementItem.md +0 -90
  411. package/docs/dw_order/Basket.md +0 -362
  412. package/docs/dw_order/BasketMgr.md +0 -418
  413. package/docs/dw_order/BonusDiscountLineItem.md +0 -248
  414. package/docs/dw_order/CouponLineItem.md +0 -272
  415. package/docs/dw_order/CreateAgentBasketLimitExceededException.md +0 -18
  416. package/docs/dw_order/CreateBasketFromOrderException.md +0 -26
  417. package/docs/dw_order/CreateCouponLineItemException.md +0 -26
  418. package/docs/dw_order/CreateOrderException.md +0 -18
  419. package/docs/dw_order/CreateTemporaryBasketLimitExceededException.md +0 -18
  420. package/docs/dw_order/GiftCertificate.md +0 -569
  421. package/docs/dw_order/GiftCertificateLineItem.md +0 -324
  422. package/docs/dw_order/GiftCertificateMgr.md +0 -197
  423. package/docs/dw_order/GiftCertificateStatusCodes.md +0 -60
  424. package/docs/dw_order/Invoice.md +0 -418
  425. package/docs/dw_order/InvoiceItem.md +0 -222
  426. package/docs/dw_order/LineItem.md +0 -532
  427. package/docs/dw_order/LineItemCtnr.md +0 -2431
  428. package/docs/dw_order/Order.md +0 -2567
  429. package/docs/dw_order/OrderAddress.md +0 -807
  430. package/docs/dw_order/OrderItem.md +0 -536
  431. package/docs/dw_order/OrderMgr.md +0 -535
  432. package/docs/dw_order/OrderPaymentInstrument.md +0 -220
  433. package/docs/dw_order/OrderProcessStatusCodes.md +0 -84
  434. package/docs/dw_order/PaymentCard.md +0 -217
  435. package/docs/dw_order/PaymentInstrument.md +0 -1462
  436. package/docs/dw_order/PaymentMethod.md +0 -242
  437. package/docs/dw_order/PaymentMgr.md +0 -117
  438. package/docs/dw_order/PaymentProcessor.md +0 -70
  439. package/docs/dw_order/PaymentStatusCodes.md +0 -42
  440. package/docs/dw_order/PaymentTransaction.md +0 -328
  441. package/docs/dw_order/PriceAdjustment.md +0 -640
  442. package/docs/dw_order/PriceAdjustmentLimitTypes.md +0 -38
  443. package/docs/dw_order/ProductLineItem.md +0 -1821
  444. package/docs/dw_order/ProductShippingCost.md +0 -96
  445. package/docs/dw_order/ProductShippingLineItem.md +0 -326
  446. package/docs/dw_order/ProductShippingModel.md +0 -125
  447. package/docs/dw_order/Return.md +0 -360
  448. package/docs/dw_order/ReturnCase.md +0 -400
  449. package/docs/dw_order/ReturnCaseItem.md +0 -373
  450. package/docs/dw_order/ReturnItem.md +0 -362
  451. package/docs/dw_order/Shipment.md +0 -1251
  452. package/docs/dw_order/ShipmentShippingCost.md +0 -46
  453. package/docs/dw_order/ShipmentShippingModel.md +0 -146
  454. package/docs/dw_order/ShippingLineItem.md +0 -278
  455. package/docs/dw_order/ShippingLocation.md +0 -366
  456. package/docs/dw_order/ShippingMethod.md +0 -266
  457. package/docs/dw_order/ShippingMgr.md +0 -158
  458. package/docs/dw_order/ShippingOrder.md +0 -561
  459. package/docs/dw_order/ShippingOrderItem.md +0 -355
  460. package/docs/dw_order/SumItem.md +0 -147
  461. package/docs/dw_order/TaxGroup.md +0 -143
  462. package/docs/dw_order/TaxItem.md +0 -74
  463. package/docs/dw_order/TaxMgr.md +0 -227
  464. package/docs/dw_order/TrackingInfo.md +0 -312
  465. package/docs/dw_order/TrackingRef.md +0 -113
  466. package/docs/dw_order.hooks/BasketMergeHooks.md +0 -42
  467. package/docs/dw_order.hooks/CalculateHooks.md +0 -77
  468. package/docs/dw_order.hooks/OrderHooks.md +0 -41
  469. package/docs/dw_order.hooks/PaymentHooks.md +0 -180
  470. package/docs/dw_order.hooks/ReturnHooks.md +0 -135
  471. package/docs/dw_order.hooks/ShippingOrderHooks.md +0 -245
  472. package/docs/dw_rpc/SOAPUtil.md +0 -465
  473. package/docs/dw_rpc/Stub.md +0 -289
  474. package/docs/dw_rpc/WebReference.md +0 -83
  475. package/docs/dw_suggest/BrandSuggestions.md +0 -17
  476. package/docs/dw_suggest/CategorySuggestions.md +0 -53
  477. package/docs/dw_suggest/ContentSuggestions.md +0 -53
  478. package/docs/dw_suggest/CustomSuggestions.md +0 -17
  479. package/docs/dw_suggest/ProductSuggestions.md +0 -53
  480. package/docs/dw_suggest/SearchPhraseSuggestions.md +0 -117
  481. package/docs/dw_suggest/SuggestModel.md +0 -403
  482. package/docs/dw_suggest/SuggestedCategory.md +0 -46
  483. package/docs/dw_suggest/SuggestedContent.md +0 -46
  484. package/docs/dw_suggest/SuggestedPhrase.md +0 -70
  485. package/docs/dw_suggest/SuggestedProduct.md +0 -47
  486. package/docs/dw_suggest/SuggestedTerm.md +0 -143
  487. package/docs/dw_suggest/SuggestedTerms.md +0 -132
  488. package/docs/dw_suggest/Suggestions.md +0 -179
  489. package/docs/dw_svc/FTPService.md +0 -118
  490. package/docs/dw_svc/FTPServiceDefinition.md +0 -69
  491. package/docs/dw_svc/HTTPFormService.md +0 -18
  492. package/docs/dw_svc/HTTPFormServiceDefinition.md +0 -18
  493. package/docs/dw_svc/HTTPService.md +0 -415
  494. package/docs/dw_svc/HTTPServiceDefinition.md +0 -303
  495. package/docs/dw_svc/LocalServiceRegistry.md +0 -43
  496. package/docs/dw_svc/Result.md +0 -303
  497. package/docs/dw_svc/SOAPService.md +0 -115
  498. package/docs/dw_svc/SOAPServiceDefinition.md +0 -17
  499. package/docs/dw_svc/Service.md +0 -295
  500. package/docs/dw_svc/ServiceCallback.md +0 -268
  501. package/docs/dw_svc/ServiceConfig.md +0 -120
  502. package/docs/dw_svc/ServiceCredential.md +0 -156
  503. package/docs/dw_svc/ServiceDefinition.md +0 -176
  504. package/docs/dw_svc/ServiceProfile.md +0 -168
  505. package/docs/dw_svc/ServiceRegistry.md +0 -109
  506. package/docs/dw_system/AgentUserStatusCodes.md +0 -21
  507. package/docs/dw_system/Cache.md +0 -102
  508. package/docs/dw_system/CacheMgr.md +0 -42
  509. package/docs/dw_system/HookMgr.md +0 -66
  510. package/docs/dw_system/InternalObject.md +0 -56
  511. package/docs/dw_system/JobProcessMonitor.md +0 -124
  512. package/docs/dw_system/Log.md +0 -237
  513. package/docs/dw_system/LogNDC.md +0 -88
  514. package/docs/dw_system/Logger.md +0 -263
  515. package/docs/dw_system/OrganizationPreferences.md +0 -18
  516. package/docs/dw_system/Pipeline.md +0 -73
  517. package/docs/dw_system/PipelineDictionary.md +0 -16
  518. package/docs/dw_system/RESTErrorResponse.md +0 -66
  519. package/docs/dw_system/RESTResponseMgr.md +0 -258
  520. package/docs/dw_system/RESTSuccessResponse.md +0 -39
  521. package/docs/dw_system/RemoteInclude.md +0 -74
  522. package/docs/dw_system/Request.md +0 -839
  523. package/docs/dw_system/RequestHooks.md +0 -59
  524. package/docs/dw_system/Response.md +0 -522
  525. package/docs/dw_system/SearchStatus.md +0 -151
  526. package/docs/dw_system/Session.md +0 -476
  527. package/docs/dw_system/Site.md +0 -585
  528. package/docs/dw_system/SitePreferences.md +0 -49
  529. package/docs/dw_system/Status.md +0 -273
  530. package/docs/dw_system/StatusItem.md +0 -273
  531. package/docs/dw_system/System.md +0 -200
  532. package/docs/dw_system/Transaction.md +0 -84
  533. package/docs/dw_util/ArrayList.md +0 -50
  534. package/docs/dw_util/Assert.md +0 -391
  535. package/docs/dw_util/BigInteger.md +0 -326
  536. package/docs/dw_util/Bytes.md +0 -252
  537. package/docs/dw_util/Calendar.md +0 -921
  538. package/docs/dw_util/Collection.md +0 -338
  539. package/docs/dw_util/Currency.md +0 -163
  540. package/docs/dw_util/DateUtils.md +0 -86
  541. package/docs/dw_util/Decimal.md +0 -438
  542. package/docs/dw_util/FilteringCollection.md +0 -93
  543. package/docs/dw_util/Geolocation.md +0 -271
  544. package/docs/dw_util/HashMap.md +0 -43
  545. package/docs/dw_util/HashSet.md +0 -46
  546. package/docs/dw_util/Iterator.md +0 -97
  547. package/docs/dw_util/LinkedHashMap.md +0 -43
  548. package/docs/dw_util/LinkedHashSet.md +0 -46
  549. package/docs/dw_util/List.md +0 -519
  550. package/docs/dw_util/Locale.md +0 -267
  551. package/docs/dw_util/Map.md +0 -313
  552. package/docs/dw_util/MapEntry.md +0 -70
  553. package/docs/dw_util/MappingKey.md +0 -76
  554. package/docs/dw_util/MappingMgr.md +0 -122
  555. package/docs/dw_util/PropertyComparator.md +0 -51
  556. package/docs/dw_util/SecureEncoder.md +0 -350
  557. package/docs/dw_util/SecureFilter.md +0 -350
  558. package/docs/dw_util/SeekableIterator.md +0 -176
  559. package/docs/dw_util/Set.md +0 -19
  560. package/docs/dw_util/SortedMap.md +0 -148
  561. package/docs/dw_util/SortedSet.md +0 -151
  562. package/docs/dw_util/StringUtils.md +0 -753
  563. package/docs/dw_util/Template.md +0 -88
  564. package/docs/dw_util/UUIDUtils.md +0 -38
  565. package/docs/dw_value/EnumValue.md +0 -92
  566. package/docs/dw_value/MimeEncodedText.md +0 -103
  567. package/docs/dw_value/Money.md +0 -610
  568. package/docs/dw_value/Quantity.md +0 -376
  569. package/docs/dw_web/CSRFProtection.md +0 -83
  570. package/docs/dw_web/ClickStream.md +0 -157
  571. package/docs/dw_web/ClickStreamEntry.md +0 -289
  572. package/docs/dw_web/Cookie.md +0 -396
  573. package/docs/dw_web/Cookies.md +0 -46
  574. package/docs/dw_web/Form.md +0 -74
  575. package/docs/dw_web/FormAction.md +0 -199
  576. package/docs/dw_web/FormElement.md +0 -220
  577. package/docs/dw_web/FormElementValidationResult.md +0 -157
  578. package/docs/dw_web/FormField.md +0 -603
  579. package/docs/dw_web/FormFieldOption.md +0 -238
  580. package/docs/dw_web/FormFieldOptions.md +0 -42
  581. package/docs/dw_web/FormGroup.md +0 -199
  582. package/docs/dw_web/FormList.md +0 -126
  583. package/docs/dw_web/FormListItem.md +0 -48
  584. package/docs/dw_web/Forms.md +0 -16
  585. package/docs/dw_web/HttpParameter.md +0 -513
  586. package/docs/dw_web/HttpParameterMap.md +0 -185
  587. package/docs/dw_web/LoopIterator.md +0 -261
  588. package/docs/dw_web/PageMetaData.md +0 -230
  589. package/docs/dw_web/PageMetaTag.md +0 -142
  590. package/docs/dw_web/PagingModel.md +0 -389
  591. package/docs/dw_web/Resource.md +0 -126
  592. package/docs/dw_web/URL.md +0 -213
  593. package/docs/dw_web/URLAction.md +0 -26
  594. package/docs/dw_web/URLParameter.md +0 -22
  595. package/docs/dw_web/URLRedirect.md +0 -71
  596. package/docs/dw_web/URLRedirectMgr.md +0 -73
  597. package/docs/dw_web/URLUtils.md +0 -1264
  598. package/docs/isml/isactivedatacontext.md +0 -382
  599. package/docs/isml/isactivedatahead.md +0 -566
  600. package/docs/isml/isanalyticsoff.md +0 -537
  601. package/docs/isml/isapplepay.md +0 -667
  602. package/docs/isml/isbreak.md +0 -687
  603. package/docs/isml/isbuynow.md +0 -682
  604. package/docs/isml/iscache.md +0 -802
  605. package/docs/isml/iscomment.md +0 -794
  606. package/docs/isml/iscomponent.md +0 -797
  607. package/docs/isml/iscontent.md +0 -594
  608. package/docs/isml/iscontinue.md +0 -563
  609. package/docs/isml/iscookie.md +0 -798
  610. package/docs/isml/isdecorate.md +0 -818
  611. package/docs/isml/isif.md +0 -737
  612. package/docs/isml/isinclude.md +0 -874
  613. package/docs/isml/isloop.md +0 -377
  614. package/docs/isml/ismodule.md +0 -844
  615. package/docs/isml/isnext.md +0 -672
  616. package/docs/isml/isobject.md +0 -760
  617. package/docs/isml/ispayment.md +0 -577
  618. package/docs/isml/ispaymentmessages.md +0 -664
  619. package/docs/isml/isprint.md +0 -875
  620. package/docs/isml/isredirect.md +0 -716
  621. package/docs/isml/isremove.md +0 -725
  622. package/docs/isml/isreplace.md +0 -783
  623. package/docs/isml/isscript.md +0 -859
  624. package/docs/isml/isselect.md +0 -908
  625. package/docs/isml/isset.md +0 -585
  626. package/docs/isml/isslot.md +0 -824
  627. package/docs/isml/isstatus.md +0 -711
  628. package/docs/sfra/account.md +0 -145
  629. package/docs/sfra/address.md +0 -84
  630. package/docs/sfra/billing.md +0 -90
  631. package/docs/sfra/cart.md +0 -134
  632. package/docs/sfra/categories.md +0 -124
  633. package/docs/sfra/content.md +0 -133
  634. package/docs/sfra/locale.md +0 -126
  635. package/docs/sfra/order.md +0 -219
  636. package/docs/sfra/payment.md +0 -131
  637. package/docs/sfra/price-default.md +0 -118
  638. package/docs/sfra/price-range.md +0 -77
  639. package/docs/sfra/price-tiered.md +0 -117
  640. package/docs/sfra/product-bundle.md +0 -164
  641. package/docs/sfra/product-full.md +0 -179
  642. package/docs/sfra/product-line-items.md +0 -147
  643. package/docs/sfra/product-search.md +0 -245
  644. package/docs/sfra/product-tile.md +0 -95
  645. package/docs/sfra/querystring.md +0 -240
  646. package/docs/sfra/render.md +0 -354
  647. package/docs/sfra/request.md +0 -210
  648. package/docs/sfra/response.md +0 -391
  649. package/docs/sfra/server.md +0 -375
  650. package/docs/sfra/shipping.md +0 -181
  651. package/docs/sfra/store.md +0 -145
  652. package/docs/sfra/stores.md +0 -190
  653. package/docs/sfra/totals.md +0 -184
  654. package/docs-site-v2/.vitepress/config.mts +0 -190
  655. package/docs-site-v2/.vitepress/theme/components/AssistantTabs.vue +0 -96
  656. package/docs-site-v2/.vitepress/theme/components/Callout.vue +0 -10
  657. package/docs-site-v2/.vitepress/theme/components/Collapsible.vue +0 -14
  658. package/docs-site-v2/.vitepress/theme/components/DwJsonBuilder.vue +0 -82
  659. package/docs-site-v2/.vitepress/theme/components/HomeSections.vue +0 -552
  660. package/docs-site-v2/.vitepress/theme/components/InstructionFilesTabs.vue +0 -87
  661. package/docs-site-v2/.vitepress/theme/components/ModeTabs.vue +0 -70
  662. package/docs-site-v2/.vitepress/theme/components/NewcomerCTA.vue +0 -14
  663. package/docs-site-v2/.vitepress/theme/components/QuickStartCards.vue +0 -20
  664. package/docs-site-v2/.vitepress/theme/components/QuickStartHero.vue +0 -20
  665. package/docs-site-v2/.vitepress/theme/components/SkillsList.vue +0 -48
  666. package/docs-site-v2/.vitepress/theme/components/ToolExplorer.vue +0 -85
  667. package/docs-site-v2/.vitepress/theme/custom.css +0 -1373
  668. package/docs-site-v2/.vitepress/theme/index.ts +0 -39
  669. package/docs-site-v2/data/skills.ts +0 -147
  670. package/docs-site-v2/data/tools.ts +0 -490
  671. package/docs-site-v2/development/index.md +0 -151
  672. package/docs-site-v2/examples/index.md +0 -333
  673. package/docs-site-v2/features/index.md +0 -144
  674. package/docs-site-v2/guide/ai-interfaces.md +0 -58
  675. package/docs-site-v2/guide/configuration.md +0 -208
  676. package/docs-site-v2/guide/index.md +0 -50
  677. package/docs-site-v2/index.md +0 -32
  678. package/docs-site-v2/package-lock.json +0 -2511
  679. package/docs-site-v2/package.json +0 -15
  680. package/docs-site-v2/public/404.html +0 -15
  681. package/docs-site-v2/public/android-chrome-192x192.png +0 -0
  682. package/docs-site-v2/public/android-chrome-512x512.png +0 -0
  683. package/docs-site-v2/public/apple-touch-icon.png +0 -0
  684. package/docs-site-v2/public/explain-product-pricing-methods-no-mcp.png +0 -0
  685. package/docs-site-v2/public/explain-product-pricing-methods.png +0 -0
  686. package/docs-site-v2/public/favicon-16x16.png +0 -0
  687. package/docs-site-v2/public/favicon-32x32.png +0 -0
  688. package/docs-site-v2/public/favicon.ico +0 -0
  689. package/docs-site-v2/public/index.css +0 -4174
  690. package/docs-site-v2/public/llms.txt +0 -44
  691. package/docs-site-v2/public/logo-dark.svg +0 -8
  692. package/docs-site-v2/public/logo.svg +0 -8
  693. package/docs-site-v2/public/robots.txt +0 -20
  694. package/docs-site-v2/public/site.webmanifest +0 -50
  695. package/docs-site-v2/public/sitemap.xml +0 -90
  696. package/docs-site-v2/script-debugger/index.md +0 -105
  697. package/docs-site-v2/scripts/generate-llms.js +0 -71
  698. package/docs-site-v2/scripts/generate-sitemap.js +0 -97
  699. package/docs-site-v2/security/index.md +0 -115
  700. package/docs-site-v2/skills/index.md +0 -40
  701. package/docs-site-v2/tools/index.md +0 -36
  702. package/docs-site-v2/troubleshooting/index.md +0 -204
  703. package/eslint.config.js +0 -139
  704. package/jest.config.js +0 -27
  705. package/memories/repo/docs-site-v2-build.json +0 -11
  706. package/scripts/convert-docs.js +0 -633
  707. package/scripts/validate-server-json.js +0 -68
  708. package/server.json +0 -20
  709. package/src/clients/agent-instructions-client.ts +0 -370
  710. package/src/clients/base/abstract-documentation-client.ts +0 -405
  711. package/src/clients/base/http-client.ts +0 -152
  712. package/src/clients/base/oauth-token.ts +0 -164
  713. package/src/clients/base/ocapi-auth-client.ts +0 -133
  714. package/src/clients/cartridge/cartridge-generation-client.ts +0 -302
  715. package/src/clients/cartridge/cartridge-structure.ts +0 -37
  716. package/src/clients/cartridge/cartridge-templates.ts +0 -246
  717. package/src/clients/cartridge/index.ts +0 -6
  718. package/src/clients/docs/class-content-parser.ts +0 -308
  719. package/src/clients/docs/class-name-resolver.ts +0 -99
  720. package/src/clients/docs/documentation-scanner.ts +0 -255
  721. package/src/clients/docs/index.ts +0 -16
  722. package/src/clients/docs/referenced-types-extractor.ts +0 -92
  723. package/src/clients/docs-client.ts +0 -393
  724. package/src/clients/isml-client.ts +0 -353
  725. package/src/clients/log-client.ts +0 -19
  726. package/src/clients/ocapi/code-versions-client.ts +0 -54
  727. package/src/clients/ocapi/site-preferences-client.ts +0 -106
  728. package/src/clients/ocapi/system-objects-client.ts +0 -148
  729. package/src/clients/ocapi-client.ts +0 -53
  730. package/src/clients/script-debugger/index.ts +0 -5
  731. package/src/clients/script-debugger/script-debugger-client.ts +0 -754
  732. package/src/clients/sfra-client.ts +0 -339
  733. package/src/config/configuration-factory.ts +0 -201
  734. package/src/config/dw-json-loader.ts +0 -248
  735. package/src/config/workspace-roots.ts +0 -540
  736. package/src/constants/index.ts +0 -1
  737. package/src/core/handlers/abstract-client-handler.ts +0 -85
  738. package/src/core/handlers/agent-instructions-handler.ts +0 -48
  739. package/src/core/handlers/base-handler.ts +0 -172
  740. package/src/core/handlers/cartridge-handler.ts +0 -38
  741. package/src/core/handlers/client-factory.ts +0 -140
  742. package/src/core/handlers/code-version-handler.ts +0 -43
  743. package/src/core/handlers/docs-handler.ts +0 -19
  744. package/src/core/handlers/isml-handler.ts +0 -19
  745. package/src/core/handlers/job-log-handler.ts +0 -39
  746. package/src/core/handlers/log-handler.ts +0 -39
  747. package/src/core/handlers/script-debugger-handler.ts +0 -46
  748. package/src/core/handlers/sfra-handler.ts +0 -23
  749. package/src/core/handlers/simple-client-handler.ts +0 -78
  750. package/src/core/handlers/system-object-handler.ts +0 -43
  751. package/src/core/handlers/validation-helpers.ts +0 -206
  752. package/src/core/instruction-advisor.ts +0 -122
  753. package/src/core/server.ts +0 -374
  754. package/src/core/tool-definitions.ts +0 -30
  755. package/src/core/tool-schemas/agent-instruction-tools.ts +0 -72
  756. package/src/core/tool-schemas/cartridge-tools.ts +0 -29
  757. package/src/core/tool-schemas/code-version-tools.ts +0 -28
  758. package/src/core/tool-schemas/documentation-tools.ts +0 -104
  759. package/src/core/tool-schemas/index.ts +0 -27
  760. package/src/core/tool-schemas/isml-tools.ts +0 -89
  761. package/src/core/tool-schemas/log-tools.ts +0 -196
  762. package/src/core/tool-schemas/script-debugger-tools.ts +0 -83
  763. package/src/core/tool-schemas/sfra-tools.ts +0 -65
  764. package/src/core/tool-schemas/shared-schemas.ts +0 -158
  765. package/src/core/tool-schemas/system-object-tools.ts +0 -127
  766. package/src/index.ts +0 -20
  767. package/src/main.ts +0 -161
  768. package/src/services/file-system-service.ts +0 -117
  769. package/src/services/index.ts +0 -11
  770. package/src/services/path-service.ts +0 -124
  771. package/src/tool-configs/agent-instructions-tool-config.ts +0 -83
  772. package/src/tool-configs/cartridge-tool-config.ts +0 -41
  773. package/src/tool-configs/code-version-tool-config.ts +0 -37
  774. package/src/tool-configs/docs-tool-config.ts +0 -103
  775. package/src/tool-configs/isml-tool-config.ts +0 -87
  776. package/src/tool-configs/job-log-tool-config.ts +0 -119
  777. package/src/tool-configs/log-tool-config.ts +0 -110
  778. package/src/tool-configs/script-debugger-tool-config.ts +0 -69
  779. package/src/tool-configs/sfra-tool-config.ts +0 -74
  780. package/src/tool-configs/system-object-tool-config.ts +0 -142
  781. package/src/types/types.ts +0 -125
  782. package/src/utils/cache.ts +0 -291
  783. package/src/utils/category-utils.ts +0 -70
  784. package/src/utils/log-tool-constants.ts +0 -95
  785. package/src/utils/logger.ts +0 -260
  786. package/src/utils/markdown-utils.ts +0 -280
  787. package/src/utils/ocapi-url-builder.ts +0 -48
  788. package/src/utils/path-resolver.ts +0 -69
  789. package/src/utils/path-validation.ts +0 -113
  790. package/src/utils/query-builder.ts +0 -84
  791. package/src/utils/utils.ts +0 -139
  792. package/src/utils/validator.ts +0 -162
  793. package/tests/__mocks__/docs-client.ts +0 -8
  794. package/tests/__mocks__/src/clients/base/http-client.js +0 -43
  795. package/tests/__mocks__/webdav.js +0 -14
  796. package/tests/base-handler.test.ts +0 -527
  797. package/tests/base-http-client.test.ts +0 -311
  798. package/tests/cache.test.ts +0 -453
  799. package/tests/cartridge-handler.test.ts +0 -290
  800. package/tests/class-content-parser.test.ts +0 -629
  801. package/tests/class-name-resolver.test.ts +0 -365
  802. package/tests/client-factory.test.ts +0 -280
  803. package/tests/code-version-handler.test.ts +0 -291
  804. package/tests/code-versions-client.test.ts +0 -156
  805. package/tests/config.test.ts +0 -285
  806. package/tests/configuration-factory.test.ts +0 -233
  807. package/tests/docs-handler.test.ts +0 -359
  808. package/tests/documentation-scanner.test.ts +0 -755
  809. package/tests/file-system-service.test.ts +0 -111
  810. package/tests/isml-client.test.ts +0 -463
  811. package/tests/isml-handler.test.ts +0 -375
  812. package/tests/job-log-handler.test.ts +0 -283
  813. package/tests/log-client.test.ts +0 -768
  814. package/tests/log-handler.test.ts +0 -365
  815. package/tests/log-processor.test.ts +0 -243
  816. package/tests/log-validation.test.ts +0 -149
  817. package/tests/logger.test.ts +0 -303
  818. package/tests/mcp/AGENTS.md +0 -162
  819. package/tests/mcp/README.md +0 -237
  820. package/tests/mcp/node/activate-code-version-advanced.full-mode.programmatic.test.js +0 -669
  821. package/tests/mcp/node/code-versions.full-mode.programmatic.test.js +0 -605
  822. package/tests/mcp/node/evaluate-script.full-mode.programmatic.test.js +0 -387
  823. package/tests/mcp/node/generate-cartridge-structure.docs-only.programmatic.test.js +0 -644
  824. package/tests/mcp/node/get-available-sfra-documents.programmatic.test.js +0 -274
  825. package/tests/mcp/node/get-isml-categories.programmatic.test.js +0 -278
  826. package/tests/mcp/node/get-isml-element.programmatic.test.js +0 -278
  827. package/tests/mcp/node/get-isml-elements-by-category.programmatic.test.js +0 -363
  828. package/tests/mcp/node/get-job-execution-summary.full-mode.programmatic.test.js +0 -432
  829. package/tests/mcp/node/get-job-log-entries.full-mode.programmatic.test.js +0 -488
  830. package/tests/mcp/node/get-latest-debug.full-mode.programmatic.test.js +0 -338
  831. package/tests/mcp/node/get-latest-error.full-mode.programmatic.test.js +0 -255
  832. package/tests/mcp/node/get-latest-info.full-mode.programmatic.test.js +0 -347
  833. package/tests/mcp/node/get-latest-job-log-files.full-mode.programmatic.test.js +0 -460
  834. package/tests/mcp/node/get-latest-warn.full-mode.programmatic.test.js +0 -454
  835. package/tests/mcp/node/get-log-file-contents.full-mode.programmatic.test.js +0 -381
  836. package/tests/mcp/node/get-sfcc-class-documentation.docs-only.programmatic.test.js +0 -371
  837. package/tests/mcp/node/get-sfcc-class-info.docs-only.programmatic.test.js +0 -1032
  838. package/tests/mcp/node/get-sfra-categories.docs-only.programmatic.test.js +0 -369
  839. package/tests/mcp/node/get-sfra-document.programmatic.test.js +0 -473
  840. package/tests/mcp/node/get-sfra-documents-by-category.docs-only.programmatic.test.js +0 -510
  841. package/tests/mcp/node/get-system-object-definition.full-mode.programmatic.test.js +0 -389
  842. package/tests/mcp/node/get-system-object-definitions.docs-only.programmatic.test.js +0 -300
  843. package/tests/mcp/node/get-system-object-definitions.full-mode.programmatic.test.js +0 -387
  844. package/tests/mcp/node/list-isml-elements.programmatic.test.js +0 -311
  845. package/tests/mcp/node/list-log-files.full-mode.programmatic.test.js +0 -150
  846. package/tests/mcp/node/list-sfcc-classes.docs-only.programmatic.test.js +0 -612
  847. package/tests/mcp/node/search-custom-object-attribute-definitions.full-mode.programmatic.test.js +0 -875
  848. package/tests/mcp/node/search-isml-elements.programmatic.test.js +0 -325
  849. package/tests/mcp/node/search-job-logs-by-name.full-mode.programmatic.test.js +0 -330
  850. package/tests/mcp/node/search-job-logs.full-mode.programmatic.test.js +0 -526
  851. package/tests/mcp/node/search-logs.full-mode.programmatic.test.js +0 -478
  852. package/tests/mcp/node/search-sfcc-classes.docs-only.programmatic.test.js +0 -334
  853. package/tests/mcp/node/search-sfcc-methods.docs-only.programmatic.test.js +0 -487
  854. package/tests/mcp/node/search-sfra-documentation.docs-only.programmatic.test.js +0 -563
  855. package/tests/mcp/node/search-site-preferences.full-mode.programmatic.test.js +0 -556
  856. package/tests/mcp/node/search-system-object-attribute-definitions.full-mode.programmatic.test.js +0 -744
  857. package/tests/mcp/node/search-system-object-attribute-groups.full-mode.programmatic.test.js +0 -657
  858. package/tests/mcp/node/summarize-logs.full-mode.programmatic.test.js +0 -357
  859. package/tests/mcp/node/tools.docs-only.programmatic.test.js +0 -515
  860. package/tests/mcp/node/tools.full-mode.programmatic.test.js +0 -154
  861. package/tests/mcp/test-fixtures/dw.json +0 -10
  862. package/tests/mcp/yaml/activate-code-version.docs-only.test.mcp.yml +0 -318
  863. package/tests/mcp/yaml/activate-code-version.full-mode.test.mcp.yml +0 -507
  864. package/tests/mcp/yaml/evaluate-script.full-mode.test.mcp.yml +0 -281
  865. package/tests/mcp/yaml/get-available-sfra-documents.docs-only.test.mcp.yml +0 -684
  866. package/tests/mcp/yaml/get-available-sfra-documents.full-mode.test.mcp.yml +0 -684
  867. package/tests/mcp/yaml/get-code-versions.docs-only.test.mcp.yml +0 -196
  868. package/tests/mcp/yaml/get-code-versions.full-mode.test.mcp.yml +0 -273
  869. package/tests/mcp/yaml/get-isml-categories.docs-only.test.mcp.yml +0 -330
  870. package/tests/mcp/yaml/get-isml-element.docs-only.test.mcp.yml +0 -294
  871. package/tests/mcp/yaml/get-isml-elements-by-category.docs-only.test.mcp.yml +0 -334
  872. package/tests/mcp/yaml/get-job-execution-summary.full-mode.test.mcp.yml +0 -148
  873. package/tests/mcp/yaml/get-job-log-entries.full-mode.test.mcp.yml +0 -284
  874. package/tests/mcp/yaml/get-latest-debug.full-mode.test.mcp.yml +0 -191
  875. package/tests/mcp/yaml/get-latest-error.full-mode.test.mcp.yml +0 -195
  876. package/tests/mcp/yaml/get-latest-info.full-mode.test.mcp.yml +0 -242
  877. package/tests/mcp/yaml/get-latest-job-log-files.full-mode.test.mcp.yml +0 -189
  878. package/tests/mcp/yaml/get-latest-warn.full-mode.test.mcp.yml +0 -182
  879. package/tests/mcp/yaml/get-log-file-contents.full-mode.test.mcp.yml +0 -256
  880. package/tests/mcp/yaml/get-sfcc-class-documentation.docs-only.test.mcp.yml +0 -2416
  881. package/tests/mcp/yaml/get-sfcc-class-documentation.full-mode.test.mcp.yml +0 -2416
  882. package/tests/mcp/yaml/get-sfcc-class-info.docs-only.test.mcp.yml +0 -1225
  883. package/tests/mcp/yaml/get-sfcc-class-info.full-mode.test.mcp.yml +0 -1225
  884. package/tests/mcp/yaml/get-sfra-categories.docs-only.test.mcp.yml +0 -452
  885. package/tests/mcp/yaml/get-sfra-categories.full-mode.test.mcp.yml +0 -452
  886. package/tests/mcp/yaml/get-sfra-document.docs-only.test.mcp.yml +0 -525
  887. package/tests/mcp/yaml/get-sfra-document.full-mode.test.mcp.yml +0 -525
  888. package/tests/mcp/yaml/get-sfra-documents-by-category.docs-only.test.mcp.yml +0 -507
  889. package/tests/mcp/yaml/get-sfra-documents-by-category.full-mode.test.mcp.yml +0 -507
  890. package/tests/mcp/yaml/get-system-object-definition.docs-only.test.mcp.yml +0 -208
  891. package/tests/mcp/yaml/get-system-object-definition.full-mode.test.mcp.yml +0 -191
  892. package/tests/mcp/yaml/get-system-object-definitions.docs-only.test.mcp.yml +0 -257
  893. package/tests/mcp/yaml/get-system-object-definitions.full-mode.test.mcp.yml +0 -517
  894. package/tests/mcp/yaml/get_latest_error.test.mcp.yml +0 -472
  895. package/tests/mcp/yaml/list-isml-elements.docs-only.test.mcp.yml +0 -212
  896. package/tests/mcp/yaml/list-log-files.full-mode.test.mcp.yml +0 -89
  897. package/tests/mcp/yaml/list-sfcc-classes.docs-only.test.mcp.yml +0 -511
  898. package/tests/mcp/yaml/list-sfcc-classes.full-mode.test.mcp.yml +0 -511
  899. package/tests/mcp/yaml/search-custom-object-attribute-definitions.docs-only.test.mcp.yml +0 -82
  900. package/tests/mcp/yaml/search-custom-object-attribute-definitions.test.mcp.yml +0 -387
  901. package/tests/mcp/yaml/search-isml-elements.docs-only.test.mcp.yml +0 -312
  902. package/tests/mcp/yaml/search-job-logs-by-name.full-mode.test.mcp.yml +0 -169
  903. package/tests/mcp/yaml/search-job-logs.full-mode.test.mcp.yml +0 -174
  904. package/tests/mcp/yaml/search-logs.full-mode.test.mcp.yml +0 -207
  905. package/tests/mcp/yaml/search-sfcc-classes.docs-only.test.mcp.yml +0 -1157
  906. package/tests/mcp/yaml/search-sfcc-classes.full-mode.test.mcp.yml +0 -1157
  907. package/tests/mcp/yaml/search-sfcc-methods.docs-only.test.mcp.yml +0 -723
  908. package/tests/mcp/yaml/search-sfcc-methods.full-mode.test.mcp.yml +0 -723
  909. package/tests/mcp/yaml/search-sfra-documentation.docs-only.test.mcp.yml +0 -427
  910. package/tests/mcp/yaml/search-sfra-documentation.full-mode.test.mcp.yml +0 -427
  911. package/tests/mcp/yaml/search-site-preferences.docs-only.test.mcp.yml +0 -295
  912. package/tests/mcp/yaml/search-site-preferences.full-mode.test.mcp.yml +0 -574
  913. package/tests/mcp/yaml/search-system-object-attribute-definitions.docs-only.test.mcp.yml +0 -168
  914. package/tests/mcp/yaml/search-system-object-attribute-definitions.full-mode.test.mcp.yml +0 -500
  915. package/tests/mcp/yaml/search-system-object-attribute-groups.docs-only.test.mcp.yml +0 -278
  916. package/tests/mcp/yaml/search-system-object-attribute-groups.full-mode.test.mcp.yml +0 -612
  917. package/tests/mcp/yaml/summarize-logs.full-mode.test.mcp.yml +0 -173
  918. package/tests/mcp/yaml/tools.docs-only.test.mcp.yml +0 -535
  919. package/tests/mcp/yaml/tools.full-mode.test.mcp.yml +0 -378
  920. package/tests/oauth-token.test.ts +0 -725
  921. package/tests/ocapi-auth-client.test.ts +0 -276
  922. package/tests/ocapi-client.test.ts +0 -242
  923. package/tests/path-service.test.ts +0 -96
  924. package/tests/query-builder.test.ts +0 -281
  925. package/tests/referenced-types-extractor.test.ts +0 -814
  926. package/tests/script-debugger-client.test.ts +0 -430
  927. package/tests/servers/sfcc-mock-server/README.md +0 -208
  928. package/tests/servers/sfcc-mock-server/mock-data/ocapi/code-versions.json +0 -247
  929. package/tests/servers/sfcc-mock-server/mock-data/ocapi/custom-object-attributes-customapi.json +0 -128
  930. package/tests/servers/sfcc-mock-server/mock-data/ocapi/custom-object-attributes-globalsettings.json +0 -92
  931. package/tests/servers/sfcc-mock-server/mock-data/ocapi/custom-object-attributes-versionhistory.json +0 -256
  932. package/tests/servers/sfcc-mock-server/mock-data/ocapi/site-preferences-ccv.json +0 -275
  933. package/tests/servers/sfcc-mock-server/mock-data/ocapi/site-preferences-fastforward.json +0 -123
  934. package/tests/servers/sfcc-mock-server/mock-data/ocapi/site-preferences-sfra.json +0 -224
  935. package/tests/servers/sfcc-mock-server/mock-data/ocapi/site-preferences-storefront.json +0 -447
  936. package/tests/servers/sfcc-mock-server/mock-data/ocapi/site-preferences-system.json +0 -171
  937. package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-attribute-groups-campaign.json +0 -13
  938. package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-attribute-groups-category.json +0 -50
  939. package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-attribute-groups-order.json +0 -32
  940. package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-attribute-groups-product.json +0 -224
  941. package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-attribute-groups-sitepreferences.json +0 -62
  942. package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-attributes-customeraddress.json +0 -109
  943. package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-attributes-product-expanded.json +0 -183
  944. package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-attributes-product.json +0 -139
  945. package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-definition-category.json +0 -26
  946. package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-definition-customer.json +0 -26
  947. package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-definition-customeraddress.json +0 -26
  948. package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-definition-order.json +0 -26
  949. package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-definition-product.json +0 -26
  950. package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-definitions-old.json +0 -354
  951. package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-definitions.json +0 -172
  952. package/tests/servers/sfcc-mock-server/package-lock.json +0 -879
  953. package/tests/servers/sfcc-mock-server/package.json +0 -39
  954. package/tests/servers/sfcc-mock-server/scripts/setup-logs.js +0 -224
  955. package/tests/servers/sfcc-mock-server/server.js +0 -280
  956. package/tests/servers/sfcc-mock-server/src/app.js +0 -182
  957. package/tests/servers/sfcc-mock-server/src/config/server-config.js +0 -124
  958. package/tests/servers/sfcc-mock-server/src/middleware/auth.js +0 -101
  959. package/tests/servers/sfcc-mock-server/src/middleware/cors.js +0 -39
  960. package/tests/servers/sfcc-mock-server/src/middleware/logging.js +0 -124
  961. package/tests/servers/sfcc-mock-server/src/routes/cartridge-webdav.js +0 -258
  962. package/tests/servers/sfcc-mock-server/src/routes/ocapi/code-versions-handler.js +0 -184
  963. package/tests/servers/sfcc-mock-server/src/routes/ocapi/debugger-handler.js +0 -396
  964. package/tests/servers/sfcc-mock-server/src/routes/ocapi/oauth-handler.js +0 -36
  965. package/tests/servers/sfcc-mock-server/src/routes/ocapi/ocapi-error-utils.js +0 -221
  966. package/tests/servers/sfcc-mock-server/src/routes/ocapi/ocapi-utils.js +0 -440
  967. package/tests/servers/sfcc-mock-server/src/routes/ocapi/site-preferences-handler.js +0 -332
  968. package/tests/servers/sfcc-mock-server/src/routes/ocapi/system-objects-handler.js +0 -572
  969. package/tests/servers/sfcc-mock-server/src/routes/ocapi.js +0 -58
  970. package/tests/servers/sfcc-mock-server/src/routes/storefront.js +0 -86
  971. package/tests/servers/sfcc-mock-server/src/routes/webdav.js +0 -240
  972. package/tests/servers/sfcc-mock-server/src/utils/mock-data-loader.js +0 -84
  973. package/tests/servers/sfcc-mock-server/src/utils/webdav-xml.js +0 -121
  974. package/tests/servers/sfcc-mock-server-manager.ts +0 -280
  975. package/tests/sfcc-mock-server.test.ts +0 -423
  976. package/tests/site-preferences-client.test.ts +0 -358
  977. package/tests/system-objects-client.test.ts +0 -310
  978. package/tests/utils.test.ts +0 -477
  979. package/tests/validation-helpers.test.ts +0 -325
  980. package/tests/validator.test.ts +0 -416
  981. package/tests/workspace-roots.test.ts +0 -227
  982. package/tsconfig.json +0 -20
  983. package/tsconfig.test.json +0 -20
@@ -1,424 +0,0 @@
1
- ---
2
- name: sfcc-performance
3
- description: Performance optimization strategies for Salesforce B2C Commerce Cloud including caching, efficient data retrieval, index-friendly APIs, and job optimization. Use when asked about SFCC performance, caching strategies, or optimization.
4
- ---
5
-
6
- # Salesforce B2C Commerce Cloud: Performance Best Practices
7
-
8
- This document outlines key performance optimization strategies for Salesforce B2C Commerce Cloud, focusing on caching and efficient data retrieval.
9
-
10
- ---
11
-
12
- ## Performance and Stability Coding Standards
13
-
14
- Ecommerce applications built on Salesforce B2C Commerce can run fast and perform reliably. Use B2C Commerce within its capabilities and ensure that your customizations follow coding best practices. Identify permissible designs that ensure the scalability and robustness of your customizations.
15
-
16
- ### Data Transfer Volume
17
-
18
- B2C Commerce imposes limits on incoming and outgoing network traffic for B2C Commerce instances and the Content Delivery Network.
19
-
20
- These limits are relative to the Gross Merchandise Value (GMV) and are defined in the Main Subscription Agreement (MSA). Data transfers within the limits are at no additional charge (are included in the subscription fee). There is a fee for data transfers exceeding the limits.
21
-
22
- ### Storefront Development for Performance and Stability
23
-
24
- When developing your storefront, consider storefront development best practices:
25
-
26
- #### Search and Product Processing
27
-
28
- - **Don't post-process product or content search results.** Search results can be large sets. Instead, all search criteria must go into the query for efficiency execution. Don't post-process with custom code.
29
-
30
- - **Don't iterate over variations of a base product on a search result page** (or any page where multiple base products appear). This approach can significantly increase the number of touched business objects. Instead, use native Salesforce B2C Commerce features:
31
- - Use pipelet Search with input parameter `OrderableProductsOnly` to deal with variation product availability
32
- - Use `dw.catalog.ProductSearchHit.getRepresentedVariationValues()` to determine available variation values
33
- - Use `dw.catalog.ProductSearchHit.minPrice` or `Product.priceMode.minPrice` to determine price ranges
34
-
35
- - **Break search results into pages** before processing or displaying in the storefront (pipelet Paging, class PagingModel). Limit the maximum page size, for example, a maximum of 120 products per page, especially if the "View All" functionality is provided.
36
-
37
- #### External System Integration
38
-
39
- - **Don't trigger live calls to external systems on frequently visited pages** (homepage, category, search result pages, and product pages). Where live calls are needed, specify a low timeout value (for example, 1 second). A B2C Commerce application server thread waiting for a response from an external system can't serve other requests. Many threads waiting for responses can make the entire cluster unresponsive.
40
-
41
- #### Long-Running Operations
42
-
43
- - **Don't execute any long running operations in a storefront controller or pipeline** (for example, import or export). Instead, use "jobs" for all long running tasks. The web tier closes browser connections after 5 minutes. The controller or pipeline could still be running at this time.
44
-
45
- #### Concurrency and Data Integrity
46
-
47
- - **Avoid concurrent changes to the same object.** Storefront controllers and pipelines should only:
48
- - Read shared data (for example, catalogs and prices)
49
- - Read or write customer-specific data (for example, customer profiles, shopping carts or orders)
50
-
51
- - The inventory framework is designed to support concurrent change (for example, two customers buying the same product at the same time or a customer buying a product while the inventory import is running).
52
-
53
- - The storefront controller or pipeline marks the order with `EXPORT_STATUS_READY` as the last step in order creation. Then order processing jobs can start modifying the order object.
54
-
55
- - Concurrent requests for the same session are serialized at the application server. Concurrent Script API controller or pipeline requests can lead to Optimistic Locking exceptions.
56
-
57
- #### Transaction Management
58
-
59
- - **Limit transaction size.** The system is designed to deal with transactions with up to 1,000 modified business objects. A storefront controller or pipeline shouldn't even come close to this number.
60
-
61
- #### Critical Page Performance
62
-
63
- - **Make sure that the most visited pages are cacheable and well performing.** These controllers and pages are usually:
64
- - Category page or search result pages (Search-Show)
65
- - Product detail pages (Product-Show)
66
- - Home pages (Default-Start, Home-Show)
67
- - Cart Page (Cart-Show)
68
- - Checkout pages
69
-
70
- - **Limit expensive (> 10 ms) custom server logic** on OnSession and OnRequest controllers.
71
-
72
- ### Use Index-Friendly APIs
73
-
74
- Replace database intensive or inefficient APIs with appropriate index-friendly APIs. Check code for database intensive APIs in most-visited pages:
75
-
76
- #### Avoid These Database-Intensive APIs:
77
- - `Category.getProducts()`
78
- - `Category.getOnlineProducts()`
79
- - `Category.getProductAssignments()`
80
- - `Category.getOnlineCategoryAssignments()`
81
- - `ProductMgr.queryAllSiteProducts()`
82
- - `Product.getPriceModel()`
83
- - `Product.getVariants()`
84
- - `Product.getVariationModel()`
85
-
86
- #### Use These Index-Friendly APIs Instead:
87
- - `ProductSearchModel.search()`
88
- - `ProductSearchModel.orderableProductsOnly(true)`
89
- - `ProductSearchModel.getRefinements()`
90
- - `ProductSearchRefinements.getNextLevelRefinementValues()`
91
- - `ProductSearchModel.getProductSearchHits()`
92
- - `ProductSearchHit.getMinPrice()`
93
- - `ProductSearchHit.getMaxPrice()`
94
- - `ProductSearchHit.getRepresentedProductIDs()`
95
- - `ProductSearchHit.getRepresentedVariationValues(attribute)`
96
-
97
- ### Additional Performance Requirements
98
-
99
- - **Ensure all direct 3rd-party HTTP calls are migrated to Web Service Framework**
100
- - **Ensure no Enforced quota violations** are reported in STAGING and PRODUCTION, and that Quota Dashboard alerts have been subscribed by all site admins
101
- - **Ensure there isn't unnecessary creation** of custom Session objects, productlist objects, or cookies
102
- - **Ensure a WishList isn't created for every anonymous user** (e.g., created at the end of every product item add to cart calls)
103
- - **Ensure Custom Object volume is kept in check** with purge jobs
104
-
105
- #### OCAPI Specific Requirements:
106
- - **Ensure Shop API GET requests are limited to smaller blocks of data.** Instead of 200 products payload, retrieve 100 or 50
107
- - **Ensure there's no OCAPI request of persistent objects within a hook customization** such as `ProductMgr.getProduct()` or `product.getVariations()`
108
-
109
- #### SFRA Specific Requirements:
110
- - **Ensure SFRA templates don't include multi-part, embedded, or nested forms.** We don't recommend them as a best practice
111
- - **Ensure that controllers don't call each other,** because controller functionality should be self-contained to avoid circular dependencies
112
- - **Ensure no calling pipelets from within a controller.** It's allowed while there are still pipelets that don't have equivalent B2C Commerce script methods, but won't be supported in future
113
-
114
- ### Job Development for Performance and Stability
115
-
116
- To optimize job performance, follow the job development standards:
117
-
118
- #### Import and Data Processing
119
-
120
- - **To modify objects in Salesforce B2C Commerce, use standard imports instead of customizations.** In jobs, use B2C Commerce Job Steps for imports.
121
-
122
- - **B2C Commerce standard imports are designed to process arbitrary feed sizes.** Changes are committed to the database on a per business object basis. If related changes must be committed in a single transaction, enclose the import pipelets in an explicit controller or pipeline transaction. Choose this approach only as an exception.
123
-
124
- - **The transaction size is limited to 1,000 modified business objects.** Ensure that this limit isn't exceeded. B2C Commerce does not enforce this limit today, but might in the future.
125
-
126
- #### Data Quality and Validation
127
-
128
- - **Don't implement data validation jobs on B2C Commerce** (for example, products with no names or $0 prices). Instead, ensure that the feeds into B2C Commerce are of high quality, and don't include products with incomplete attribution or are marked offline. You can manually review catalog data on a staging instance.
129
-
130
- #### Memory Management
131
-
132
- When processing large data sets, pay attention to the memory footprint:
133
-
134
- - **Design loop logic so that memory consumption doesn't increase with result set size**
135
- - **Keep only currently processed objects in memory,** and do not retain references to that object (so that the object can be freed from memory). Specifically, don't perform sorting or other types of collections in memory
136
- - **Stream data to file regularly** (do not build large structures in memory)
137
- - **Read feeds record by record** (do not read an entire file into memory)
138
- - **If you must create multiple feeds,** query the objects once and write records to all feeds as you iterate over the results. This approach saves time because the objects must be created in memory only once
139
-
140
- #### Concurrency and Resource Management
141
-
142
- - **Avoid concurrent changes to the same object.** Use the locking framework to ensure exclusive access. Specify named resources for job schedules.
143
-
144
- - **Keep application server utilization by jobs to a minimum.** Calculate the job load factor: total number of seconds of job execution time on an instance (Staging or Production) on a day divided by 86,400 (number of seconds in a day). Try to keep the job load factor below 0.20.
145
-
146
- #### Recovery and Reliability
147
-
148
- - **Pay attention to recovery in solution design.** A job might end abnormally, for example, server restart or application server failure. The job can be resumed or restarted. Design the job so that it recovers gracefully. It must be possible to repeat a job step that was aborted.
149
-
150
- - **Don't start many jobs at the same time.** Instead, disperse job start times to balance the job load.
151
-
152
- ---
153
-
154
- ## 1. Page Caching
155
-
156
- The web-server page cache is the most critical performance feature for server-rendered storefronts. The goal is to serve fully rendered HTML from this cache to avoid hitting the application server.
157
-
158
- ### Controller-Driven Caching (Best Practice)
159
-
160
- Control caching within your controller using the response object. This is superior to the legacy `<iscache>` tag.
161
-
162
- `response.setExpires(milliseconds)`: Sets a cache duration for the entire page response.
163
-
164
- **Example:**
165
-
166
- ```javascript
167
- // cartridge/controllers/Product.js
168
- var server = require('server');
169
-
170
- server.get('Show', function (req, res, next) {
171
- // Cache for 24 hours
172
- var oneDay = 24 * 60 * 60 * 1000;
173
- response.setExpires(Date.now() + oneDay);
174
-
175
- res.render('product/productDetails');
176
- next();
177
- });
178
- ```
179
-
180
- ### Remote Includes for Dynamic Content
181
-
182
- Use remote includes (`<isinclude url="..." />`) to assemble pages from components with different cache policies. A long-cached main page can include a dynamic, non-cached header with user-specific info. [1, 2]
183
-
184
- **Anti-Pattern:** Avoid creating remote includes with unique URL parameters for each item in a list (e.g., `&position=1`, `&position=2`). This creates an N+1 request problem at the HTTP level and defeats the cache. [1, 3]
185
-
186
- ### Cache Key Strategy
187
-
188
- The cache key is the full URL. To maximize the cache hit ratio:
189
-
190
- - **Ignore Volatile Parameters:** Use Business Manager (`Administration > Sites > Feature Switches`) to ignore marketing parameters (e.g., `utm_source`, `utm_campaign`) when generating the cache key. [4, 5]
191
- - **Personalized Caching:** Use `response.setVaryBy('price_promotion')` to create separate cache entries for users with different prices or promotions. Use this carefully, as it can fragment the cache. [4, 5]
192
-
193
- ---
194
-
195
- ## 2. Custom Caches (`CacheMgr`)
196
-
197
- Use custom caches for application-level data caching within dynamic requests (e.g., cart, checkout) where page caching isn't possible.
198
-
199
- **Use Cases:**
200
- - Caching expensive calculations (e.g., iterating variants to check for a sale).
201
- - Caching responses from external services (e.g., inventory, ratings).
202
-
203
- ### Implementation
204
-
205
- 1. **Define in `caches.json`:**
206
- ```json
207
- {
208
- "caches": [
209
- {
210
- "id": "ExternalAPICache",
211
- "expireAfterSeconds": 300
212
- }
213
- ]
214
- }
215
- ```
216
-
217
- 2. **Register in `package.json`:**
218
- ```json
219
- {
220
- "caches": "./caches.json"
221
- }
222
- ```
223
- The `package.json` must be in the cartridge root (cartridges/{{mycartridge}}/package.json), and the `caches.json` path is relative to that.
224
-
225
- ### Practical Constraints (Why Cache Design Matters)
226
-
227
- - Custom cache memory is limited (roughly tens of MB per app server for all custom caches combined).
228
- - Individual entries have size limits; store only primitives / arrays / plain objects (use `null`, not `undefined`).
229
- - Caches are **per app server** (no cross-node synchronization). Always handle cache misses gracefully.
230
-
231
- ### Recommended Usage Pattern: `get(key, loader)`
232
-
233
- Prefer the loader form so the expensive work only runs on cache miss:
234
-
235
- ```javascript
236
- var CacheMgr = require('dw/system/CacheMgr');
237
- var Site = require('dw/system/Site');
238
-
239
- var cache = CacheMgr.getCache('ExternalAPICache');
240
-
241
- function getSiteScopedValue(keySuffix, loader) {
242
- var key = Site.current.ID + '_' + keySuffix;
243
- return cache.get(key, loader);
244
- }
245
- ```
246
-
247
- ### Cache Invalidation Reality
248
-
249
- Custom caches can be cleared by operational events (code changes/activation, replications). Design code so cache eviction is safe and does not break core flows.
250
-
251
- ### The "Get-or-Load" Pattern (Required)
252
-
253
- Always use the atomic `cache.get(key, loader)` method to prevent a "thundering herd" problem on cache misses. [6, 9]
254
-
255
- **Example:**
256
-
257
- ```javascript
258
- var CacheMgr = require('dw/system/CacheMgr');
259
- var MyHTTPService = require('~/cartridge/scripts/services/myHTTPService');
260
-
261
- function getExternalData() {
262
- var apiCache = CacheMgr.getCache('ExternalAPICache');
263
- var cacheKey = 'myExternalData';
264
-
265
- // get() executes the loader function ONLY on a cache miss.
266
- var data = apiCache.get(cacheKey, function () {
267
- // This expensive call only runs if data is not in cache.
268
- var result = MyHTTPService.getService().call();
269
- return result.ok ? JSON.parse(result.object.text) : null;
270
- });
271
-
272
- return data;
273
- }
274
- ```
275
-
276
- **Key Limitation:** Custom caches are local to each application server pod and are not a distributed, instance-wide cache. Data stored on one pod is not visible to others.
277
-
278
- ## 3. ProductSearchModel vs. ProductMgr
279
-
280
- This is a critical performance distinction.
281
-
282
- - **ProductSearchModel (PSM):** Queries the fast, optimized Search Index. Use for any list of products (PLPs, search results, filtering).
283
- - **ProductMgr:** Queries the live Database. Use only to get a single, known product by its ID (e.g., on a PDP).
284
-
285
- ### The N+1 Anti-Pattern (CRITICAL)
286
-
287
- **NEVER** use `ProductMgr.getProduct()` inside a loop over ProductSearchModel results. This causes one fast index query followed by N slow database queries, which will crash a site under load.
288
-
289
- **Incorrect (Anti-Pattern):**
290
-
291
- ```javascript
292
- // In a PLP template, looping over search results
293
- var psm = new ProductSearchModel();
294
- //... configure psm...
295
- psm.search();
296
- var hits = psm.getProductSearchHits();
297
- while (hits.hasNext()) {
298
- var hit = hits.next();
299
- // ANTI-PATTERN: Calling ProductMgr in a loop!
300
- var product = ProductMgr.getProduct(hit.getProductID());
301
- //... do something with the full product object...
302
- }
303
- ```
304
-
305
- **Correct:**
306
-
307
- Use the ProductSearchHit object directly. It contains all necessary data from the index for display on a listing page. If data is missing, add it to the search index configuration.
308
-
309
- ```javascript
310
- // In a PLP template, looping over search results
311
- var psm = new ProductSearchModel();
312
- //... configure psm...
313
- psm.search();
314
- var hits = psm.getProductSearchHits();
315
- while (hits.hasNext()) {
316
- var hit = hits.next();
317
- // CORRECT: Use the hit object directly for name, price, etc.
318
- var minPrice = hit.getMinPrice();
319
- var variationValues = hit.getRepresentedVariationValues('color');
320
- //... render tile using data from 'hit'...
321
- }
322
- ```
323
-
324
- ## 4. Caching in OCAPI/SCAPI Hooks
325
-
326
- The caching models for OCAPI and SCAPI are fundamentally different.
327
-
328
- - **OCAPI:** The hook runs before the response is cached. The modified response is what gets stored in OCAPI's application-tier cache.
329
- - **SCAPI:** The web-tier cache is checked before the hook runs. The hook only executes on a cache miss. The original, unmodified response from the platform is what gets cached.
330
-
331
- ### SCAPI Web-Tier Cache Fundamentals
332
-
333
- One of the Commerce Cloud application layer components performs web-tier caching for SCAPI **GET** requests across multiple API families. This cache lives on the server side and is applied only after a request reaches the platform. Any additional caching layers you add (CDN, browser, SPA state) operate independently—you could have a cache miss on the web tier but a hit in your edge cache, and vice versa. Plan your caching strategy with this multi-layer reality in mind.
334
-
335
- ### Personalized Cache Keys
336
-
337
- When personalization is enabled for a SCAPI resource, the cache key includes the following in addition to the URL string:
338
-
339
- - Active promotions
340
- - Active product sorting rules
341
- - Applicable price books
342
- - Active AB test groups
343
-
344
- The platform keeps separate cache entries for each combination. For example, if shopper A qualifies for promotion X and shopper B qualifies for promotion Y, the same product URL produces two cache entries. This segmentation can be powerful but also multiplies cache storage. Use personalization only when you have well-sized groups and a clear business reason.
345
-
346
- By default, product requests that expand prices or promotions—and product search requests with the `prices` expand—are already personalized. Calling `response.setVaryBy('price_promotion')` in a script reinforces that behavior. Note that `price_promotion` is the only supported value; other strings have no effect.
347
-
348
- ### Script-Level Cache Controls
349
-
350
- Use the Script API to adjust cache policies dynamically:
351
-
352
- - `dw.system.Response#setExpires(milliseconds)`: Sets an explicit expiration timestamp. The value must be at least 1,000 ms in the future and no more than 86,400,000 ms (24 hours).
353
- - `dw.system.Response#setVaryBy('price_promotion')`: Opts into personalized caching for price- or promotion-sensitive responses.
354
-
355
- ```javascript
356
- exports.modifyGETResponse = function (scriptCategory, categoryWO) {
357
- // Cache for one hour instead of the default TTL
358
- response.setExpires(Date.now() + 3_600_000);
359
-
360
- // Optional: personalize by price & promotion eligibility
361
- response.setVaryBy('price_promotion');
362
-
363
- return new Status(Status.OK);
364
- };
365
- ```
366
-
367
- ### Best Practices
368
-
369
- - **OCAPI Hook:** Your modifications will be cached. Keep the logic simple and avoid slow calls like `ProductMgr.getProduct()`.
370
- - **SCAPI Hook:** To cache a modification, you must create a unique cache key by adding a custom query parameter to the URL.
371
-
372
- **Example (SCAPI):**
373
-
374
- ```javascript
375
- // Client makes a call with a custom parameter
376
- // GET /shopper-products/v1/.../products/my-prod?c_view=light
377
-
378
- // SCAPI Hook Script (product.js)
379
- exports.modifyResponse = function (product, productResponse) {
380
- // Logic is conditional on the custom parameter
381
- if (request.httpParameters.c_view === 'light') {
382
- delete productResponse.long_description;
383
- }
384
- };
385
- ```
386
-
387
- This creates a separate, cacheable version of the response for the `c_view=light` URL.
388
-
389
- **SCAPI expand Parameter:** The cache TTL for a SCAPI response is determined by the lowest TTL of all requested expand parameters. Avoid requesting volatile data (like availability, 60s TTL) alongside stable data (like images, 24hr TTL).
390
-
391
- ## 5. Caching in Custom SCAPI Endpoints
392
-
393
- You can build your own REST endpoints that integrate with SCAPI's caching, security, and other framework features.
394
-
395
- ### Implementation
396
-
397
- Custom endpoints can leverage the same powerful web-tier page cache. Enable it by calling `response.setExpires()` in your implementation script.
398
-
399
- **Example:**
400
-
401
- ```javascript
402
- // cartridge/rest-apis/my-api/v1/script.js
403
- var RESTResponseMgr = require('dw/system/RESTResponseMgr');
404
-
405
- exports.getLoyaltyInfo = function (params) {
406
- var loyaltyData = { id: params.c_customer_id, points: 1234 };
407
-
408
- // Cache this custom API response for 5 minutes
409
- response.setExpires(Date.now() + (5 * 60 * 1000));
410
-
411
- RESTResponseMgr.createSuccess(loyaltyData).render();
412
- };
413
- exports.getLoyaltyInfo.public = true;
414
- ```
415
-
416
- ### Two-Tier Caching Pattern (for External Services)
417
-
418
- For maximum resilience and performance when calling external systems, combine both cache layers:
419
-
420
- 1. **Tier 1 (Application Cache):** Use CacheMgr with the "get-or-load" pattern to cache the raw data from the external service. This acts as a buffer if the service is slow or down.
421
-
422
- 2. **Tier 2 (Web-Tier Cache):** In your custom endpoint script, after getting data from the Tier 1 cache, format the final JSON response and set a web-tier cache policy on it using `response.setExpires()`.
423
-
424
- This pattern ensures that most requests are served instantly from the web-tier, and even on a miss, the data is likely served from the fast application-tier cache, minimizing slow calls to the external dependency.
@@ -1,89 +0,0 @@
1
- ---
2
- name: sfcc-platform-limits
3
- description: Cheat-sheet and design patterns for surviving SFCC quotas and limits (script timeouts, HTTPClient call caps, session size, custom object quotas, file I/O restrictions, and headless rate limits). Use this when debugging enforced quota violations or designing scalable SFCC architectures.
4
- ---
5
-
6
- # SFCC Platform Limits (Quota Survival Skill)
7
-
8
- SFCC limits are not “edge cases”; they shape correct architecture. This skill is a pragmatic guide to:
9
- - Recognizing limit symptoms
10
- - Picking the correct workaround pattern
11
- - Avoiding designs that will fail under load
12
-
13
- ## Quick Checklist
14
-
15
- ```text
16
- [ ] Identify your execution context (storefront controller vs hook vs job)
17
- [ ] Assume strict timeouts in hook/script contexts (design for the smallest budget)
18
- [ ] Keep external calls bounded; cache aggressively; avoid chatty integrations
19
- [ ] Never store large objects in session (store IDs; refetch/cache)
20
- [ ] Never write files from storefront requests (offload to jobs)
21
- [ ] Put retention policies on temporary custom objects from day one
22
- ```
23
-
24
- ## Common Limits → Symptoms → Fix Patterns
25
-
26
- | Symptom | Likely limit | Fix pattern |
27
- |---|---|---|
28
- | “ScriptingTimeoutError” / request abort | Storefront script timeout | Move heavy work to jobs; reduce synchronous work; fail fast on services |
29
- | Generic 500 from OCAPI hook | Hook execution timeout | Keep hooks lightweight; move heavy logic to async processing or custom endpoint |
30
- | “Too many HTTPClient calls” / enforced quota | Outbound call cap per request | Aggregate calls (BFF), cache, pre-load via feeds/jobs |
31
- | Session data truncation / instability | Session size cap | Store identifiers only; use cache or refetch |
32
- | Errors creating custom objects | CO quotas / create-per-request cap | Consolidate data; implement purge jobs; avoid COs for transactional logging |
33
- | “Page size limit exceeded” | Rendered HTML size cap | Pagination, remote includes, lazy loading, move logic out of templates |
34
- | Storefront fails when writing files | Storefront file I/O = 0 | Use job + WebDAV download pattern |
35
- | SCAPI returns 429 | Rate limiting / load shedding | Honor `Retry-After`; exponential backoff; client-side caching |
36
-
37
- ## Context Matters: Timeouts Differ
38
-
39
- Design for the *most restrictive* context a script might run in.
40
- - Storefront controllers can have relatively generous execution budgets.
41
- - Hook/script contexts (OCAPI hooks, Page Designer scripts, etc.) can be much tighter.
42
-
43
- Rule of thumb: if code could run in a hook, keep it hook-safe.
44
-
45
- ## Integration Limits: External Calls Must Be Budgeted
46
-
47
- Common failure mode: a page that makes many independent external calls.
48
-
49
- Preferred architecture:
50
- - **Aggregation layer** (BFF/gateway): 1 call from SFCC, many calls downstream outside SFCC quotas
51
- - **Aggressive caching** for anything not truly real-time
52
- - **Data feeds via jobs** for data that can be slightly stale
53
-
54
- ## Session: Treat It Like a Tiny Backpack
55
-
56
- - Store small primitives (IDs, flags), not full objects
57
- - Prefer `session.privacy` for user-specific temporary values that should clear on logout
58
-
59
- ## Custom Objects: Treat Quotas as a Data Hygiene Contract
60
-
61
- Anti-pattern: using custom objects as a high-volume event log.
62
-
63
- Better:
64
- - Put integration/event logs in an external system of record
65
- - If you must store temporary records, define:
66
- - retention period
67
- - purge job
68
- - monitoring alerts
69
-
70
- ## Storefront File I/O: The Asynchronous File Pattern
71
-
72
- When you need a file (export/report) initiated by a shopper:
73
- 1. Storefront creates a “token” record (status = pending)
74
- 2. Job generates file into WebDAV (`/impex/src/...`)
75
- 3. UI polls a lightweight endpoint for status
76
- 4. UI offers download link once complete
77
- 5. Purge token + old files
78
-
79
- ## Headless / Composable Notes
80
-
81
- - Expect **HTTP 429**; design the client to retry responsibly
82
- - Token churn can trigger SLAS limits; token caching + refresh flow correctness is mandatory
83
- - Managed runtime proxies can enforce hard request timeouts; long-running work must be async + poll
84
-
85
- ## References
86
- - Rhino Inquisitor: The SFCC Quota Gauntlet (platform limits)
87
- - https://www.rhino-inquisitor.com/a-survival-guide-to-sfcc-platform-limits/
88
- - Salesforce Commerce API docs (timeouts troubleshooting)
89
- - https://developer.salesforce.com/docs/commerce/commerce-api/guide/timeout-troubleshoot.html