sfcc-dev-mcp 1.0.19 → 1.0.21

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 (987) 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/dist/utils/path-resolver.d.ts +5 -0
  57. package/dist/utils/path-resolver.d.ts.map +1 -1
  58. package/dist/utils/path-resolver.js +27 -5
  59. package/dist/utils/path-resolver.js.map +1 -1
  60. package/package.json +9 -3
  61. package/.github/ISSUE_TEMPLATE/bug_report.yml +0 -131
  62. package/.github/ISSUE_TEMPLATE/config.yml +0 -9
  63. package/.github/ISSUE_TEMPLATE/documentation.yml +0 -117
  64. package/.github/ISSUE_TEMPLATE/feature_request.yml +0 -151
  65. package/.github/ISSUE_TEMPLATE/question.yml +0 -102
  66. package/.github/PULL_REQUEST_TEMPLATE/bug_fix.md +0 -59
  67. package/.github/PULL_REQUEST_TEMPLATE/documentation.md +0 -48
  68. package/.github/PULL_REQUEST_TEMPLATE/new_tool.md +0 -55
  69. package/.github/agents/official-docs-researcher.agent.md +0 -56
  70. package/.github/dependabot.yml +0 -65
  71. package/.github/instructions/mcp-node-tests.instructions.md +0 -30
  72. package/.github/instructions/mcp-yml-tests.instructions.md +0 -27
  73. package/.github/pull_request_template.md +0 -103
  74. package/.github/skills/agent-authoring/SKILL.md +0 -66
  75. package/.github/skills/mcp-log-debugging/SKILL.md +0 -69
  76. package/.github/skills/mcp-programmatic-testing/SKILL.md +0 -142
  77. package/.github/skills/mcp-yaml-testing/SKILL.md +0 -136
  78. package/.github/skills/salesforce-developer-site-scraper/SKILL.md +0 -102
  79. package/.github/skills/salesforce-developer-site-scraper/scripts/scrape-to-markdown.js +0 -205
  80. package/.github/skills/salesforce-help-site-scraper/SKILL.md +0 -84
  81. package/.github/skills/salesforce-help-site-scraper/scripts/scrape-help-to-markdown.js +0 -212
  82. package/.github/skills/skill-authoring/SKILL.md +0 -228
  83. package/.github/skills/skill-authoring/references/PATTERNS.md +0 -384
  84. package/.github/workflows/ci.yml +0 -103
  85. package/.github/workflows/deploy-pages.yml +0 -59
  86. package/.github/workflows/publish.yml +0 -112
  87. package/.github/workflows/update-docs.yml +0 -182
  88. package/.husky/pre-commit +0 -2
  89. package/AGENTS.md +0 -638
  90. package/CONTRIBUTING.md +0 -323
  91. package/SECURITY.md +0 -148
  92. package/aegis.config.docs-only.json +0 -9
  93. package/aegis.config.json +0 -12
  94. package/aegis.config.with-dw.json +0 -15
  95. package/ai-instructions/AGENTS.md +0 -628
  96. package/ai-instructions/skills/sfcc-caching/SKILL.md +0 -89
  97. package/ai-instructions/skills/sfcc-cartridge-development/SKILL.md +0 -240
  98. package/ai-instructions/skills/sfcc-forms-development/SKILL.md +0 -261
  99. package/ai-instructions/skills/sfcc-forms-development/references/ARCHITECTURE-SGJC-SFRA.md +0 -143
  100. package/ai-instructions/skills/sfcc-forms-development/references/FORM-XML-CHEATSHEET.md +0 -127
  101. package/ai-instructions/skills/sfcc-fraud-prevention/SKILL.md +0 -95
  102. package/ai-instructions/skills/sfcc-hooks-registration/SKILL.md +0 -39
  103. package/ai-instructions/skills/sfcc-isml-development/SKILL.md +0 -370
  104. package/ai-instructions/skills/sfcc-isml-development/references/REMOTE-INCLUDES.md +0 -116
  105. package/ai-instructions/skills/sfcc-isml-development/references/SFRA-LAYOUTS.md +0 -50
  106. package/ai-instructions/skills/sfcc-isml-development/references/SFRA-PAGES-CART-ACCOUNT-AUTH.md +0 -45
  107. package/ai-instructions/skills/sfcc-isml-development/references/SFRA-PAGES-CATALOG.md +0 -85
  108. package/ai-instructions/skills/sfcc-isml-development/references/SFRA-STRUCTURE-COMPONENTS.md +0 -63
  109. package/ai-instructions/skills/sfcc-isml-development/references/UTILITIES-EXPRESSIONS.md +0 -159
  110. package/ai-instructions/skills/sfcc-isml-development/references/sfra-base-templates-architecture.md +0 -13
  111. package/ai-instructions/skills/sfcc-job-development/SKILL.md +0 -334
  112. package/ai-instructions/skills/sfcc-job-development/references/CHUNK-ORIENTED.md +0 -393
  113. package/ai-instructions/skills/sfcc-job-development/references/STEPTYPES-JSON.md +0 -271
  114. package/ai-instructions/skills/sfcc-job-development/references/TASK-ORIENTED.md +0 -257
  115. package/ai-instructions/skills/sfcc-localization/SKILL.md +0 -92
  116. package/ai-instructions/skills/sfcc-localization/references/CONTROLLERS.md +0 -63
  117. package/ai-instructions/skills/sfcc-localization/references/FORMATTING.md +0 -29
  118. package/ai-instructions/skills/sfcc-localization/references/FORMS-LOCALIZATION.md +0 -33
  119. package/ai-instructions/skills/sfcc-localization/references/JAVASCRIPT-LOCALIZATION.md +0 -41
  120. package/ai-instructions/skills/sfcc-localization/references/LOCALE-SWITCHING.md +0 -35
  121. package/ai-instructions/skills/sfcc-localization/references/PATTERNS.md +0 -740
  122. package/ai-instructions/skills/sfcc-localization/references/PROPERTIES-ENCODING.md +0 -25
  123. package/ai-instructions/skills/sfcc-localization/references/RESOURCE-BUNDLES.md +0 -67
  124. package/ai-instructions/skills/sfcc-localization/references/STATIC-FILES.md +0 -23
  125. package/ai-instructions/skills/sfcc-localization/references/TESTING.md +0 -21
  126. package/ai-instructions/skills/sfcc-localserviceregistry/SKILL.md +0 -374
  127. package/ai-instructions/skills/sfcc-logging/SKILL.md +0 -352
  128. package/ai-instructions/skills/sfcc-logging/references/LOG-FILES.md +0 -282
  129. package/ai-instructions/skills/sfcc-ocapi-hooks/SKILL.md +0 -350
  130. package/ai-instructions/skills/sfcc-ocapi-scapi-slas/SKILL.md +0 -108
  131. package/ai-instructions/skills/sfcc-page-designer/SKILL.md +0 -353
  132. package/ai-instructions/skills/sfcc-page-designer/references/ATTRIBUTE-TYPES.md +0 -436
  133. package/ai-instructions/skills/sfcc-page-designer/references/META-DEFINITIONS.md +0 -322
  134. package/ai-instructions/skills/sfcc-performance/SKILL.md +0 -424
  135. package/ai-instructions/skills/sfcc-platform-limits/SKILL.md +0 -89
  136. package/ai-instructions/skills/sfcc-scapi-custom-endpoints/SKILL.md +0 -237
  137. package/ai-instructions/skills/sfcc-scapi-custom-endpoints/references/AUTHENTICATION.md +0 -214
  138. package/ai-instructions/skills/sfcc-scapi-custom-endpoints/references/URL-MAPPING.md +0 -253
  139. package/ai-instructions/skills/sfcc-scapi-hooks/SKILL.md +0 -341
  140. package/ai-instructions/skills/sfcc-script-evaluation/SKILL.md +0 -380
  141. package/ai-instructions/skills/sfcc-security/SKILL.md +0 -394
  142. package/ai-instructions/skills/sfcc-sfra-client-side-js/SKILL.md +0 -270
  143. package/ai-instructions/skills/sfcc-sfra-client-side-js/references/AJAX-CSRF-VALIDATION.md +0 -285
  144. package/ai-instructions/skills/sfcc-sfra-client-side-js/references/BASE-MODULE-INDEX.md +0 -206
  145. package/ai-instructions/skills/sfcc-sfra-client-side-js/references/EXTENSION-PATTERNS.md +0 -165
  146. package/ai-instructions/skills/sfcc-sfra-client-side-js/references/PLUGIN-PATTERNS.md +0 -185
  147. package/ai-instructions/skills/sfcc-sfra-controllers/SKILL.md +0 -347
  148. package/ai-instructions/skills/sfcc-sfra-controllers/references/MIDDLEWARE-REFERENCE.md +0 -257
  149. package/ai-instructions/skills/sfcc-sfra-controllers/references/REMOTE-INCLUDES.md +0 -193
  150. package/ai-instructions/skills/sfcc-sfra-controllers/references/standard-sfra-controllers.md +0 -814
  151. package/ai-instructions/skills/sfcc-sfra-models/SKILL.md +0 -322
  152. package/ai-instructions/skills/sfcc-sfra-models/references/MODEL-PATTERNS.md +0 -530
  153. package/ai-instructions/skills/sfcc-sfra-models/references/MODEL-STRUCTURE.md +0 -234
  154. package/ai-instructions/skills/sfcc-sfra-models/references/TESTING-SECURITY.md +0 -417
  155. package/ai-instructions/skills/sfcc-sfra-scss/SKILL.md +0 -393
  156. package/ai-instructions/skills/sfcc-webdav-workflows/SKILL.md +0 -111
  157. package/docs/TopLevel/APIException.md +0 -68
  158. package/docs/TopLevel/Array.md +0 -897
  159. package/docs/TopLevel/ArrayBuffer.md +0 -79
  160. package/docs/TopLevel/BigInt.md +0 -132
  161. package/docs/TopLevel/Boolean.md +0 -62
  162. package/docs/TopLevel/ConversionError.md +0 -23
  163. package/docs/TopLevel/DataView.md +0 -352
  164. package/docs/TopLevel/Date.md +0 -924
  165. package/docs/TopLevel/ES6Iterator.md +0 -33
  166. package/docs/TopLevel/Error.md +0 -88
  167. package/docs/TopLevel/EvalError.md +0 -23
  168. package/docs/TopLevel/Fault.md +0 -87
  169. package/docs/TopLevel/Float32Array.md +0 -130
  170. package/docs/TopLevel/Float64Array.md +0 -130
  171. package/docs/TopLevel/Function.md +0 -105
  172. package/docs/TopLevel/Generator.md +0 -78
  173. package/docs/TopLevel/IOError.md +0 -62
  174. package/docs/TopLevel/Int16Array.md +0 -130
  175. package/docs/TopLevel/Int32Array.md +0 -130
  176. package/docs/TopLevel/Int8Array.md +0 -130
  177. package/docs/TopLevel/InternalError.md +0 -23
  178. package/docs/TopLevel/Iterable.md +0 -41
  179. package/docs/TopLevel/Iterator.md +0 -48
  180. package/docs/TopLevel/JSON.md +0 -162
  181. package/docs/TopLevel/Map.md +0 -216
  182. package/docs/TopLevel/Math.md +0 -913
  183. package/docs/TopLevel/Module.md +0 -45
  184. package/docs/TopLevel/Namespace.md +0 -96
  185. package/docs/TopLevel/Number.md +0 -417
  186. package/docs/TopLevel/Object.md +0 -641
  187. package/docs/TopLevel/QName.md +0 -96
  188. package/docs/TopLevel/RangeError.md +0 -23
  189. package/docs/TopLevel/ReferenceError.md +0 -23
  190. package/docs/TopLevel/RegExp.md +0 -109
  191. package/docs/TopLevel/Set.md +0 -165
  192. package/docs/TopLevel/StopIteration.md +0 -20
  193. package/docs/TopLevel/String.md +0 -1299
  194. package/docs/TopLevel/Symbol.md +0 -78
  195. package/docs/TopLevel/SyntaxError.md +0 -23
  196. package/docs/TopLevel/SystemError.md +0 -62
  197. package/docs/TopLevel/TypeError.md +0 -23
  198. package/docs/TopLevel/URIError.md +0 -23
  199. package/docs/TopLevel/Uint16Array.md +0 -130
  200. package/docs/TopLevel/Uint32Array.md +0 -130
  201. package/docs/TopLevel/Uint8Array.md +0 -130
  202. package/docs/TopLevel/Uint8ClampedArray.md +0 -130
  203. package/docs/TopLevel/WeakMap.md +0 -137
  204. package/docs/TopLevel/WeakSet.md +0 -92
  205. package/docs/TopLevel/XML.md +0 -937
  206. package/docs/TopLevel/XMLList.md +0 -484
  207. package/docs/TopLevel/XMLStreamError.md +0 -74
  208. package/docs/TopLevel/arguments.md +0 -34
  209. package/docs/TopLevel/global.md +0 -474
  210. package/docs/dw_campaign/ABTest.md +0 -47
  211. package/docs/dw_campaign/ABTestMgr.md +0 -70
  212. package/docs/dw_campaign/ABTestSegment.md +0 -96
  213. package/docs/dw_campaign/AmountDiscount.md +0 -51
  214. package/docs/dw_campaign/ApproachingDiscount.md +0 -124
  215. package/docs/dw_campaign/BonusChoiceDiscount.md +0 -146
  216. package/docs/dw_campaign/BonusDiscount.md +0 -48
  217. package/docs/dw_campaign/Campaign.md +0 -365
  218. package/docs/dw_campaign/CampaignMgr.md +0 -395
  219. package/docs/dw_campaign/CampaignStatusCodes.md +0 -48
  220. package/docs/dw_campaign/Coupon.md +0 -310
  221. package/docs/dw_campaign/CouponMgr.md +0 -144
  222. package/docs/dw_campaign/CouponRedemption.md +0 -94
  223. package/docs/dw_campaign/CouponStatusCodes.md +0 -86
  224. package/docs/dw_campaign/Discount.md +0 -226
  225. package/docs/dw_campaign/DiscountPlan.md +0 -282
  226. package/docs/dw_campaign/FixedPriceDiscount.md +0 -52
  227. package/docs/dw_campaign/FixedPriceShippingDiscount.md +0 -52
  228. package/docs/dw_campaign/FreeDiscount.md +0 -17
  229. package/docs/dw_campaign/FreeShippingDiscount.md +0 -17
  230. package/docs/dw_campaign/PercentageDiscount.md +0 -52
  231. package/docs/dw_campaign/PercentageOptionDiscount.md +0 -48
  232. package/docs/dw_campaign/PriceBookPriceDiscount.md +0 -47
  233. package/docs/dw_campaign/Promotion.md +0 -874
  234. package/docs/dw_campaign/PromotionMgr.md +0 -386
  235. package/docs/dw_campaign/PromotionPlan.md +0 -330
  236. package/docs/dw_campaign/SlotContent.md +0 -144
  237. package/docs/dw_campaign/SourceCodeGroup.md +0 -72
  238. package/docs/dw_campaign/SourceCodeInfo.md +0 -144
  239. package/docs/dw_campaign/SourceCodeStatusCodes.md +0 -36
  240. package/docs/dw_campaign/TotalFixedPriceDiscount.md +0 -47
  241. package/docs/dw_catalog/Catalog.md +0 -122
  242. package/docs/dw_catalog/CatalogMgr.md +0 -182
  243. package/docs/dw_catalog/Category.md +0 -1308
  244. package/docs/dw_catalog/CategoryAssignment.md +0 -192
  245. package/docs/dw_catalog/CategoryLink.md +0 -126
  246. package/docs/dw_catalog/PriceBook.md +0 -242
  247. package/docs/dw_catalog/PriceBookMgr.md +0 -204
  248. package/docs/dw_catalog/Product.md +0 -2593
  249. package/docs/dw_catalog/ProductActiveData.md +0 -1275
  250. package/docs/dw_catalog/ProductAttributeModel.md +0 -277
  251. package/docs/dw_catalog/ProductAvailabilityLevels.md +0 -142
  252. package/docs/dw_catalog/ProductAvailabilityModel.md +0 -380
  253. package/docs/dw_catalog/ProductInventoryList.md +0 -140
  254. package/docs/dw_catalog/ProductInventoryMgr.md +0 -117
  255. package/docs/dw_catalog/ProductInventoryRecord.md +0 -563
  256. package/docs/dw_catalog/ProductLink.md +0 -144
  257. package/docs/dw_catalog/ProductMgr.md +0 -138
  258. package/docs/dw_catalog/ProductOption.md +0 -214
  259. package/docs/dw_catalog/ProductOptionModel.md +0 -246
  260. package/docs/dw_catalog/ProductOptionValue.md +0 -123
  261. package/docs/dw_catalog/ProductPriceInfo.md +0 -172
  262. package/docs/dw_catalog/ProductPriceModel.md +0 -745
  263. package/docs/dw_catalog/ProductPriceTable.md +0 -134
  264. package/docs/dw_catalog/ProductSearchHit.md +0 -581
  265. package/docs/dw_catalog/ProductSearchModel.md +0 -2018
  266. package/docs/dw_catalog/ProductSearchRefinementDefinition.md +0 -97
  267. package/docs/dw_catalog/ProductSearchRefinementValue.md +0 -73
  268. package/docs/dw_catalog/ProductSearchRefinements.md +0 -216
  269. package/docs/dw_catalog/ProductVariationAttribute.md +0 -100
  270. package/docs/dw_catalog/ProductVariationAttributeValue.md +0 -238
  271. package/docs/dw_catalog/ProductVariationModel.md +0 -849
  272. package/docs/dw_catalog/Recommendation.md +0 -314
  273. package/docs/dw_catalog/SearchModel.md +0 -901
  274. package/docs/dw_catalog/SearchRefinementDefinition.md +0 -146
  275. package/docs/dw_catalog/SearchRefinementValue.md +0 -185
  276. package/docs/dw_catalog/SearchRefinements.md +0 -180
  277. package/docs/dw_catalog/SortingOption.md +0 -120
  278. package/docs/dw_catalog/SortingRule.md +0 -47
  279. package/docs/dw_catalog/Store.md +0 -562
  280. package/docs/dw_catalog/StoreGroup.md +0 -96
  281. package/docs/dw_catalog/StoreInventoryFilter.md +0 -74
  282. package/docs/dw_catalog/StoreInventoryFilterValue.md +0 -74
  283. package/docs/dw_catalog/StoreMgr.md +0 -236
  284. package/docs/dw_catalog/Variant.md +0 -859
  285. package/docs/dw_catalog/VariationGroup.md +0 -792
  286. package/docs/dw_content/Content.md +0 -534
  287. package/docs/dw_content/ContentMgr.md +0 -166
  288. package/docs/dw_content/ContentSearchModel.md +0 -682
  289. package/docs/dw_content/ContentSearchRefinementDefinition.md +0 -49
  290. package/docs/dw_content/ContentSearchRefinementValue.md +0 -17
  291. package/docs/dw_content/ContentSearchRefinements.md +0 -208
  292. package/docs/dw_content/Folder.md +0 -467
  293. package/docs/dw_content/Library.md +0 -121
  294. package/docs/dw_content/MarkupText.md +0 -88
  295. package/docs/dw_content/MediaFile.md +0 -317
  296. package/docs/dw_crypto/CertificateRef.md +0 -42
  297. package/docs/dw_crypto/CertificateUtils.md +0 -187
  298. package/docs/dw_crypto/Cipher.md +0 -530
  299. package/docs/dw_crypto/Encoding.md +0 -220
  300. package/docs/dw_crypto/JWE.md +0 -224
  301. package/docs/dw_crypto/JWEHeader.md +0 -172
  302. package/docs/dw_crypto/JWS.md +0 -264
  303. package/docs/dw_crypto/JWSHeader.md +0 -148
  304. package/docs/dw_crypto/KeyRef.md +0 -44
  305. package/docs/dw_crypto/Mac.md +0 -139
  306. package/docs/dw_crypto/MessageDigest.md +0 -175
  307. package/docs/dw_crypto/SecureRandom.md +0 -148
  308. package/docs/dw_crypto/Signature.md +0 -252
  309. package/docs/dw_crypto/WeakCipher.md +0 -538
  310. package/docs/dw_crypto/WeakMac.md +0 -121
  311. package/docs/dw_crypto/WeakMessageDigest.md +0 -163
  312. package/docs/dw_crypto/WeakSignature.md +0 -242
  313. package/docs/dw_crypto/X509Certificate.md +0 -193
  314. package/docs/dw_customer/AddressBook.md +0 -163
  315. package/docs/dw_customer/AgentUserMgr.md +0 -83
  316. package/docs/dw_customer/AgentUserStatusCodes.md +0 -96
  317. package/docs/dw_customer/AuthenticationStatus.md +0 -138
  318. package/docs/dw_customer/Credentials.md +0 -494
  319. package/docs/dw_customer/Customer.md +0 -571
  320. package/docs/dw_customer/CustomerActiveData.md +0 -552
  321. package/docs/dw_customer/CustomerAddress.md +0 -852
  322. package/docs/dw_customer/CustomerCDPData.md +0 -70
  323. package/docs/dw_customer/CustomerContextMgr.md +0 -64
  324. package/docs/dw_customer/CustomerGroup.md +0 -134
  325. package/docs/dw_customer/CustomerList.md +0 -71
  326. package/docs/dw_customer/CustomerMgr.md +0 -735
  327. package/docs/dw_customer/CustomerPasswordConstraints.md +0 -142
  328. package/docs/dw_customer/CustomerPaymentInstrument.md +0 -125
  329. package/docs/dw_customer/CustomerStatusCodes.md +0 -30
  330. package/docs/dw_customer/EncryptedObject.md +0 -18
  331. package/docs/dw_customer/ExternalProfile.md +0 -160
  332. package/docs/dw_customer/OrderHistory.md +0 -111
  333. package/docs/dw_customer/ProductList.md +0 -1000
  334. package/docs/dw_customer/ProductListItem.md +0 -504
  335. package/docs/dw_customer/ProductListItemPurchase.md +0 -145
  336. package/docs/dw_customer/ProductListMgr.md +0 -234
  337. package/docs/dw_customer/ProductListRegistrant.md +0 -193
  338. package/docs/dw_customer/Profile.md +0 -1128
  339. package/docs/dw_customer/Wallet.md +0 -118
  340. package/docs/dw_extensions.applepay/ApplePayHookResult.md +0 -209
  341. package/docs/dw_extensions.applepay/ApplePayHooks.md +0 -255
  342. package/docs/dw_extensions.facebook/FacebookFeedHooks.md +0 -47
  343. package/docs/dw_extensions.facebook/FacebookProduct.md +0 -1621
  344. package/docs/dw_extensions.paymentrequest/PaymentRequestHookResult.md +0 -159
  345. package/docs/dw_extensions.paymentrequest/PaymentRequestHooks.md +0 -160
  346. package/docs/dw_extensions.payments/SalesforceBancontactPaymentDetails.md +0 -79
  347. package/docs/dw_extensions.payments/SalesforceCardPaymentDetails.md +0 -103
  348. package/docs/dw_extensions.payments/SalesforceEpsPaymentDetails.md +0 -51
  349. package/docs/dw_extensions.payments/SalesforceIdealPaymentDetails.md +0 -51
  350. package/docs/dw_extensions.payments/SalesforceKlarnaPaymentDetails.md +0 -51
  351. package/docs/dw_extensions.payments/SalesforcePayPalOrder.md +0 -246
  352. package/docs/dw_extensions.payments/SalesforcePayPalOrderAddress.md +0 -191
  353. package/docs/dw_extensions.payments/SalesforcePayPalOrderPayer.md +0 -118
  354. package/docs/dw_extensions.payments/SalesforcePayPalPaymentDetails.md +0 -79
  355. package/docs/dw_extensions.payments/SalesforcePaymentDetails.md +0 -57
  356. package/docs/dw_extensions.payments/SalesforcePaymentIntent.md +0 -281
  357. package/docs/dw_extensions.payments/SalesforcePaymentMethod.md +0 -346
  358. package/docs/dw_extensions.payments/SalesforcePaymentRequest.md +0 -784
  359. package/docs/dw_extensions.payments/SalesforcePaymentsHooks.md +0 -45
  360. package/docs/dw_extensions.payments/SalesforcePaymentsMgr.md +0 -634
  361. package/docs/dw_extensions.payments/SalesforcePaymentsSiteConfiguration.md +0 -95
  362. package/docs/dw_extensions.payments/SalesforceSepaDebitPaymentDetails.md +0 -51
  363. package/docs/dw_extensions.payments/SalesforceVenmoPaymentDetails.md +0 -79
  364. package/docs/dw_extensions.pinterest/PinterestAvailability.md +0 -86
  365. package/docs/dw_extensions.pinterest/PinterestFeedHooks.md +0 -69
  366. package/docs/dw_extensions.pinterest/PinterestOrder.md +0 -232
  367. package/docs/dw_extensions.pinterest/PinterestOrderHooks.md +0 -45
  368. package/docs/dw_extensions.pinterest/PinterestProduct.md +0 -850
  369. package/docs/dw_io/CSVStreamReader.md +0 -80
  370. package/docs/dw_io/CSVStreamWriter.md +0 -60
  371. package/docs/dw_io/File.md +0 -614
  372. package/docs/dw_io/FileReader.md +0 -41
  373. package/docs/dw_io/FileWriter.md +0 -103
  374. package/docs/dw_io/InputStream.md +0 -34
  375. package/docs/dw_io/OutputStream.md +0 -34
  376. package/docs/dw_io/PrintWriter.md +0 -71
  377. package/docs/dw_io/RandomAccessFileReader.md +0 -173
  378. package/docs/dw_io/Reader.md +0 -274
  379. package/docs/dw_io/StringWriter.md +0 -81
  380. package/docs/dw_io/Writer.md +0 -92
  381. package/docs/dw_io/XMLIndentingStreamWriter.md +0 -112
  382. package/docs/dw_io/XMLStreamConstants.md +0 -114
  383. package/docs/dw_io/XMLStreamReader.md +0 -1043
  384. package/docs/dw_io/XMLStreamWriter.md +0 -572
  385. package/docs/dw_job/JobExecution.md +0 -107
  386. package/docs/dw_job/JobStepExecution.md +0 -151
  387. package/docs/dw_net/FTPClient.md +0 -699
  388. package/docs/dw_net/FTPFileInfo.md +0 -122
  389. package/docs/dw_net/HTTPClient.md +0 -831
  390. package/docs/dw_net/HTTPClientLoggingConfig.md +0 -296
  391. package/docs/dw_net/HTTPRequestPart.md +0 -206
  392. package/docs/dw_net/Mail.md +0 -551
  393. package/docs/dw_net/SFTPClient.md +0 -591
  394. package/docs/dw_net/SFTPFileInfo.md +0 -122
  395. package/docs/dw_net/WebDAVClient.md +0 -715
  396. package/docs/dw_net/WebDAVFileInfo.md +0 -184
  397. package/docs/dw_object/ActiveData.md +0 -75
  398. package/docs/dw_object/CustomAttributes.md +0 -16
  399. package/docs/dw_object/CustomObject.md +0 -73
  400. package/docs/dw_object/CustomObjectMgr.md +0 -291
  401. package/docs/dw_object/Extensible.md +0 -64
  402. package/docs/dw_object/ExtensibleObject.md +0 -68
  403. package/docs/dw_object/Note.md +0 -121
  404. package/docs/dw_object/ObjectAttributeDefinition.md +0 -481
  405. package/docs/dw_object/ObjectAttributeGroup.md +0 -170
  406. package/docs/dw_object/ObjectAttributeValueDefinition.md +0 -72
  407. package/docs/dw_object/ObjectTypeDefinition.md +0 -216
  408. package/docs/dw_object/PersistentObject.md +0 -94
  409. package/docs/dw_object/SimpleExtensible.md +0 -46
  410. package/docs/dw_object/SystemObjectMgr.md +0 -153
  411. package/docs/dw_order/AbstractItem.md +0 -244
  412. package/docs/dw_order/AbstractItemCtnr.md +0 -240
  413. package/docs/dw_order/Appeasement.md +0 -367
  414. package/docs/dw_order/AppeasementItem.md +0 -90
  415. package/docs/dw_order/Basket.md +0 -362
  416. package/docs/dw_order/BasketMgr.md +0 -418
  417. package/docs/dw_order/BonusDiscountLineItem.md +0 -248
  418. package/docs/dw_order/CouponLineItem.md +0 -272
  419. package/docs/dw_order/CreateAgentBasketLimitExceededException.md +0 -18
  420. package/docs/dw_order/CreateBasketFromOrderException.md +0 -26
  421. package/docs/dw_order/CreateCouponLineItemException.md +0 -26
  422. package/docs/dw_order/CreateOrderException.md +0 -18
  423. package/docs/dw_order/CreateTemporaryBasketLimitExceededException.md +0 -18
  424. package/docs/dw_order/GiftCertificate.md +0 -569
  425. package/docs/dw_order/GiftCertificateLineItem.md +0 -324
  426. package/docs/dw_order/GiftCertificateMgr.md +0 -197
  427. package/docs/dw_order/GiftCertificateStatusCodes.md +0 -60
  428. package/docs/dw_order/Invoice.md +0 -418
  429. package/docs/dw_order/InvoiceItem.md +0 -222
  430. package/docs/dw_order/LineItem.md +0 -532
  431. package/docs/dw_order/LineItemCtnr.md +0 -2431
  432. package/docs/dw_order/Order.md +0 -2567
  433. package/docs/dw_order/OrderAddress.md +0 -807
  434. package/docs/dw_order/OrderItem.md +0 -536
  435. package/docs/dw_order/OrderMgr.md +0 -535
  436. package/docs/dw_order/OrderPaymentInstrument.md +0 -220
  437. package/docs/dw_order/OrderProcessStatusCodes.md +0 -84
  438. package/docs/dw_order/PaymentCard.md +0 -217
  439. package/docs/dw_order/PaymentInstrument.md +0 -1462
  440. package/docs/dw_order/PaymentMethod.md +0 -242
  441. package/docs/dw_order/PaymentMgr.md +0 -117
  442. package/docs/dw_order/PaymentProcessor.md +0 -70
  443. package/docs/dw_order/PaymentStatusCodes.md +0 -42
  444. package/docs/dw_order/PaymentTransaction.md +0 -328
  445. package/docs/dw_order/PriceAdjustment.md +0 -640
  446. package/docs/dw_order/PriceAdjustmentLimitTypes.md +0 -38
  447. package/docs/dw_order/ProductLineItem.md +0 -1821
  448. package/docs/dw_order/ProductShippingCost.md +0 -96
  449. package/docs/dw_order/ProductShippingLineItem.md +0 -326
  450. package/docs/dw_order/ProductShippingModel.md +0 -125
  451. package/docs/dw_order/Return.md +0 -360
  452. package/docs/dw_order/ReturnCase.md +0 -400
  453. package/docs/dw_order/ReturnCaseItem.md +0 -373
  454. package/docs/dw_order/ReturnItem.md +0 -362
  455. package/docs/dw_order/Shipment.md +0 -1251
  456. package/docs/dw_order/ShipmentShippingCost.md +0 -46
  457. package/docs/dw_order/ShipmentShippingModel.md +0 -146
  458. package/docs/dw_order/ShippingLineItem.md +0 -278
  459. package/docs/dw_order/ShippingLocation.md +0 -366
  460. package/docs/dw_order/ShippingMethod.md +0 -266
  461. package/docs/dw_order/ShippingMgr.md +0 -158
  462. package/docs/dw_order/ShippingOrder.md +0 -561
  463. package/docs/dw_order/ShippingOrderItem.md +0 -355
  464. package/docs/dw_order/SumItem.md +0 -147
  465. package/docs/dw_order/TaxGroup.md +0 -143
  466. package/docs/dw_order/TaxItem.md +0 -74
  467. package/docs/dw_order/TaxMgr.md +0 -227
  468. package/docs/dw_order/TrackingInfo.md +0 -312
  469. package/docs/dw_order/TrackingRef.md +0 -113
  470. package/docs/dw_order.hooks/BasketMergeHooks.md +0 -42
  471. package/docs/dw_order.hooks/CalculateHooks.md +0 -77
  472. package/docs/dw_order.hooks/OrderHooks.md +0 -41
  473. package/docs/dw_order.hooks/PaymentHooks.md +0 -180
  474. package/docs/dw_order.hooks/ReturnHooks.md +0 -135
  475. package/docs/dw_order.hooks/ShippingOrderHooks.md +0 -245
  476. package/docs/dw_rpc/SOAPUtil.md +0 -465
  477. package/docs/dw_rpc/Stub.md +0 -289
  478. package/docs/dw_rpc/WebReference.md +0 -83
  479. package/docs/dw_suggest/BrandSuggestions.md +0 -17
  480. package/docs/dw_suggest/CategorySuggestions.md +0 -53
  481. package/docs/dw_suggest/ContentSuggestions.md +0 -53
  482. package/docs/dw_suggest/CustomSuggestions.md +0 -17
  483. package/docs/dw_suggest/ProductSuggestions.md +0 -53
  484. package/docs/dw_suggest/SearchPhraseSuggestions.md +0 -117
  485. package/docs/dw_suggest/SuggestModel.md +0 -403
  486. package/docs/dw_suggest/SuggestedCategory.md +0 -46
  487. package/docs/dw_suggest/SuggestedContent.md +0 -46
  488. package/docs/dw_suggest/SuggestedPhrase.md +0 -70
  489. package/docs/dw_suggest/SuggestedProduct.md +0 -47
  490. package/docs/dw_suggest/SuggestedTerm.md +0 -143
  491. package/docs/dw_suggest/SuggestedTerms.md +0 -132
  492. package/docs/dw_suggest/Suggestions.md +0 -179
  493. package/docs/dw_svc/FTPService.md +0 -118
  494. package/docs/dw_svc/FTPServiceDefinition.md +0 -69
  495. package/docs/dw_svc/HTTPFormService.md +0 -18
  496. package/docs/dw_svc/HTTPFormServiceDefinition.md +0 -18
  497. package/docs/dw_svc/HTTPService.md +0 -415
  498. package/docs/dw_svc/HTTPServiceDefinition.md +0 -303
  499. package/docs/dw_svc/LocalServiceRegistry.md +0 -43
  500. package/docs/dw_svc/Result.md +0 -303
  501. package/docs/dw_svc/SOAPService.md +0 -115
  502. package/docs/dw_svc/SOAPServiceDefinition.md +0 -17
  503. package/docs/dw_svc/Service.md +0 -295
  504. package/docs/dw_svc/ServiceCallback.md +0 -268
  505. package/docs/dw_svc/ServiceConfig.md +0 -120
  506. package/docs/dw_svc/ServiceCredential.md +0 -156
  507. package/docs/dw_svc/ServiceDefinition.md +0 -176
  508. package/docs/dw_svc/ServiceProfile.md +0 -168
  509. package/docs/dw_svc/ServiceRegistry.md +0 -109
  510. package/docs/dw_system/AgentUserStatusCodes.md +0 -21
  511. package/docs/dw_system/Cache.md +0 -102
  512. package/docs/dw_system/CacheMgr.md +0 -42
  513. package/docs/dw_system/HookMgr.md +0 -66
  514. package/docs/dw_system/InternalObject.md +0 -56
  515. package/docs/dw_system/JobProcessMonitor.md +0 -124
  516. package/docs/dw_system/Log.md +0 -237
  517. package/docs/dw_system/LogNDC.md +0 -88
  518. package/docs/dw_system/Logger.md +0 -263
  519. package/docs/dw_system/OrganizationPreferences.md +0 -18
  520. package/docs/dw_system/Pipeline.md +0 -73
  521. package/docs/dw_system/PipelineDictionary.md +0 -16
  522. package/docs/dw_system/RESTErrorResponse.md +0 -66
  523. package/docs/dw_system/RESTResponseMgr.md +0 -258
  524. package/docs/dw_system/RESTSuccessResponse.md +0 -39
  525. package/docs/dw_system/RemoteInclude.md +0 -74
  526. package/docs/dw_system/Request.md +0 -839
  527. package/docs/dw_system/RequestHooks.md +0 -59
  528. package/docs/dw_system/Response.md +0 -522
  529. package/docs/dw_system/SearchStatus.md +0 -151
  530. package/docs/dw_system/Session.md +0 -476
  531. package/docs/dw_system/Site.md +0 -585
  532. package/docs/dw_system/SitePreferences.md +0 -49
  533. package/docs/dw_system/Status.md +0 -273
  534. package/docs/dw_system/StatusItem.md +0 -273
  535. package/docs/dw_system/System.md +0 -200
  536. package/docs/dw_system/Transaction.md +0 -84
  537. package/docs/dw_util/ArrayList.md +0 -50
  538. package/docs/dw_util/Assert.md +0 -391
  539. package/docs/dw_util/BigInteger.md +0 -326
  540. package/docs/dw_util/Bytes.md +0 -252
  541. package/docs/dw_util/Calendar.md +0 -921
  542. package/docs/dw_util/Collection.md +0 -338
  543. package/docs/dw_util/Currency.md +0 -163
  544. package/docs/dw_util/DateUtils.md +0 -86
  545. package/docs/dw_util/Decimal.md +0 -438
  546. package/docs/dw_util/FilteringCollection.md +0 -93
  547. package/docs/dw_util/Geolocation.md +0 -271
  548. package/docs/dw_util/HashMap.md +0 -43
  549. package/docs/dw_util/HashSet.md +0 -46
  550. package/docs/dw_util/Iterator.md +0 -97
  551. package/docs/dw_util/LinkedHashMap.md +0 -43
  552. package/docs/dw_util/LinkedHashSet.md +0 -46
  553. package/docs/dw_util/List.md +0 -519
  554. package/docs/dw_util/Locale.md +0 -267
  555. package/docs/dw_util/Map.md +0 -313
  556. package/docs/dw_util/MapEntry.md +0 -70
  557. package/docs/dw_util/MappingKey.md +0 -76
  558. package/docs/dw_util/MappingMgr.md +0 -122
  559. package/docs/dw_util/PropertyComparator.md +0 -51
  560. package/docs/dw_util/SecureEncoder.md +0 -350
  561. package/docs/dw_util/SecureFilter.md +0 -350
  562. package/docs/dw_util/SeekableIterator.md +0 -176
  563. package/docs/dw_util/Set.md +0 -19
  564. package/docs/dw_util/SortedMap.md +0 -148
  565. package/docs/dw_util/SortedSet.md +0 -151
  566. package/docs/dw_util/StringUtils.md +0 -753
  567. package/docs/dw_util/Template.md +0 -88
  568. package/docs/dw_util/UUIDUtils.md +0 -38
  569. package/docs/dw_value/EnumValue.md +0 -92
  570. package/docs/dw_value/MimeEncodedText.md +0 -103
  571. package/docs/dw_value/Money.md +0 -610
  572. package/docs/dw_value/Quantity.md +0 -376
  573. package/docs/dw_web/CSRFProtection.md +0 -83
  574. package/docs/dw_web/ClickStream.md +0 -157
  575. package/docs/dw_web/ClickStreamEntry.md +0 -289
  576. package/docs/dw_web/Cookie.md +0 -396
  577. package/docs/dw_web/Cookies.md +0 -46
  578. package/docs/dw_web/Form.md +0 -74
  579. package/docs/dw_web/FormAction.md +0 -199
  580. package/docs/dw_web/FormElement.md +0 -220
  581. package/docs/dw_web/FormElementValidationResult.md +0 -157
  582. package/docs/dw_web/FormField.md +0 -603
  583. package/docs/dw_web/FormFieldOption.md +0 -238
  584. package/docs/dw_web/FormFieldOptions.md +0 -42
  585. package/docs/dw_web/FormGroup.md +0 -199
  586. package/docs/dw_web/FormList.md +0 -126
  587. package/docs/dw_web/FormListItem.md +0 -48
  588. package/docs/dw_web/Forms.md +0 -16
  589. package/docs/dw_web/HttpParameter.md +0 -513
  590. package/docs/dw_web/HttpParameterMap.md +0 -185
  591. package/docs/dw_web/LoopIterator.md +0 -261
  592. package/docs/dw_web/PageMetaData.md +0 -230
  593. package/docs/dw_web/PageMetaTag.md +0 -142
  594. package/docs/dw_web/PagingModel.md +0 -389
  595. package/docs/dw_web/Resource.md +0 -126
  596. package/docs/dw_web/URL.md +0 -213
  597. package/docs/dw_web/URLAction.md +0 -26
  598. package/docs/dw_web/URLParameter.md +0 -22
  599. package/docs/dw_web/URLRedirect.md +0 -71
  600. package/docs/dw_web/URLRedirectMgr.md +0 -73
  601. package/docs/dw_web/URLUtils.md +0 -1264
  602. package/docs/isml/isactivedatacontext.md +0 -382
  603. package/docs/isml/isactivedatahead.md +0 -566
  604. package/docs/isml/isanalyticsoff.md +0 -537
  605. package/docs/isml/isapplepay.md +0 -667
  606. package/docs/isml/isbreak.md +0 -687
  607. package/docs/isml/isbuynow.md +0 -682
  608. package/docs/isml/iscache.md +0 -802
  609. package/docs/isml/iscomment.md +0 -794
  610. package/docs/isml/iscomponent.md +0 -797
  611. package/docs/isml/iscontent.md +0 -594
  612. package/docs/isml/iscontinue.md +0 -563
  613. package/docs/isml/iscookie.md +0 -798
  614. package/docs/isml/isdecorate.md +0 -818
  615. package/docs/isml/isif.md +0 -737
  616. package/docs/isml/isinclude.md +0 -874
  617. package/docs/isml/isloop.md +0 -377
  618. package/docs/isml/ismodule.md +0 -844
  619. package/docs/isml/isnext.md +0 -672
  620. package/docs/isml/isobject.md +0 -760
  621. package/docs/isml/ispayment.md +0 -577
  622. package/docs/isml/ispaymentmessages.md +0 -664
  623. package/docs/isml/isprint.md +0 -875
  624. package/docs/isml/isredirect.md +0 -716
  625. package/docs/isml/isremove.md +0 -725
  626. package/docs/isml/isreplace.md +0 -783
  627. package/docs/isml/isscript.md +0 -859
  628. package/docs/isml/isselect.md +0 -908
  629. package/docs/isml/isset.md +0 -585
  630. package/docs/isml/isslot.md +0 -824
  631. package/docs/isml/isstatus.md +0 -711
  632. package/docs/sfra/account.md +0 -145
  633. package/docs/sfra/address.md +0 -84
  634. package/docs/sfra/billing.md +0 -90
  635. package/docs/sfra/cart.md +0 -134
  636. package/docs/sfra/categories.md +0 -124
  637. package/docs/sfra/content.md +0 -133
  638. package/docs/sfra/locale.md +0 -126
  639. package/docs/sfra/order.md +0 -219
  640. package/docs/sfra/payment.md +0 -131
  641. package/docs/sfra/price-default.md +0 -118
  642. package/docs/sfra/price-range.md +0 -77
  643. package/docs/sfra/price-tiered.md +0 -117
  644. package/docs/sfra/product-bundle.md +0 -164
  645. package/docs/sfra/product-full.md +0 -179
  646. package/docs/sfra/product-line-items.md +0 -147
  647. package/docs/sfra/product-search.md +0 -245
  648. package/docs/sfra/product-tile.md +0 -95
  649. package/docs/sfra/querystring.md +0 -240
  650. package/docs/sfra/render.md +0 -354
  651. package/docs/sfra/request.md +0 -210
  652. package/docs/sfra/response.md +0 -391
  653. package/docs/sfra/server.md +0 -375
  654. package/docs/sfra/shipping.md +0 -181
  655. package/docs/sfra/store.md +0 -145
  656. package/docs/sfra/stores.md +0 -190
  657. package/docs/sfra/totals.md +0 -184
  658. package/docs-site-v2/.vitepress/config.mts +0 -190
  659. package/docs-site-v2/.vitepress/theme/components/AssistantTabs.vue +0 -96
  660. package/docs-site-v2/.vitepress/theme/components/Callout.vue +0 -10
  661. package/docs-site-v2/.vitepress/theme/components/Collapsible.vue +0 -14
  662. package/docs-site-v2/.vitepress/theme/components/DwJsonBuilder.vue +0 -82
  663. package/docs-site-v2/.vitepress/theme/components/HomeSections.vue +0 -552
  664. package/docs-site-v2/.vitepress/theme/components/InstructionFilesTabs.vue +0 -87
  665. package/docs-site-v2/.vitepress/theme/components/ModeTabs.vue +0 -70
  666. package/docs-site-v2/.vitepress/theme/components/NewcomerCTA.vue +0 -14
  667. package/docs-site-v2/.vitepress/theme/components/QuickStartCards.vue +0 -20
  668. package/docs-site-v2/.vitepress/theme/components/QuickStartHero.vue +0 -20
  669. package/docs-site-v2/.vitepress/theme/components/SkillsList.vue +0 -48
  670. package/docs-site-v2/.vitepress/theme/components/ToolExplorer.vue +0 -85
  671. package/docs-site-v2/.vitepress/theme/custom.css +0 -1373
  672. package/docs-site-v2/.vitepress/theme/index.ts +0 -39
  673. package/docs-site-v2/data/skills.ts +0 -147
  674. package/docs-site-v2/data/tools.ts +0 -490
  675. package/docs-site-v2/development/index.md +0 -151
  676. package/docs-site-v2/examples/index.md +0 -333
  677. package/docs-site-v2/features/index.md +0 -144
  678. package/docs-site-v2/guide/ai-interfaces.md +0 -58
  679. package/docs-site-v2/guide/configuration.md +0 -208
  680. package/docs-site-v2/guide/index.md +0 -50
  681. package/docs-site-v2/index.md +0 -32
  682. package/docs-site-v2/package-lock.json +0 -2511
  683. package/docs-site-v2/package.json +0 -15
  684. package/docs-site-v2/public/404.html +0 -15
  685. package/docs-site-v2/public/android-chrome-192x192.png +0 -0
  686. package/docs-site-v2/public/android-chrome-512x512.png +0 -0
  687. package/docs-site-v2/public/apple-touch-icon.png +0 -0
  688. package/docs-site-v2/public/explain-product-pricing-methods-no-mcp.png +0 -0
  689. package/docs-site-v2/public/explain-product-pricing-methods.png +0 -0
  690. package/docs-site-v2/public/favicon-16x16.png +0 -0
  691. package/docs-site-v2/public/favicon-32x32.png +0 -0
  692. package/docs-site-v2/public/favicon.ico +0 -0
  693. package/docs-site-v2/public/index.css +0 -4174
  694. package/docs-site-v2/public/llms.txt +0 -44
  695. package/docs-site-v2/public/logo-dark.svg +0 -8
  696. package/docs-site-v2/public/logo.svg +0 -8
  697. package/docs-site-v2/public/robots.txt +0 -20
  698. package/docs-site-v2/public/site.webmanifest +0 -50
  699. package/docs-site-v2/public/sitemap.xml +0 -90
  700. package/docs-site-v2/script-debugger/index.md +0 -105
  701. package/docs-site-v2/scripts/generate-llms.js +0 -71
  702. package/docs-site-v2/scripts/generate-sitemap.js +0 -97
  703. package/docs-site-v2/security/index.md +0 -115
  704. package/docs-site-v2/skills/index.md +0 -40
  705. package/docs-site-v2/tools/index.md +0 -36
  706. package/docs-site-v2/troubleshooting/index.md +0 -204
  707. package/eslint.config.js +0 -139
  708. package/jest.config.js +0 -27
  709. package/memories/repo/docs-site-v2-build.json +0 -11
  710. package/scripts/convert-docs.js +0 -633
  711. package/scripts/validate-server-json.js +0 -68
  712. package/server.json +0 -20
  713. package/src/clients/agent-instructions-client.ts +0 -370
  714. package/src/clients/base/abstract-documentation-client.ts +0 -405
  715. package/src/clients/base/http-client.ts +0 -152
  716. package/src/clients/base/oauth-token.ts +0 -164
  717. package/src/clients/base/ocapi-auth-client.ts +0 -133
  718. package/src/clients/cartridge/cartridge-generation-client.ts +0 -302
  719. package/src/clients/cartridge/cartridge-structure.ts +0 -37
  720. package/src/clients/cartridge/cartridge-templates.ts +0 -246
  721. package/src/clients/cartridge/index.ts +0 -6
  722. package/src/clients/docs/class-content-parser.ts +0 -308
  723. package/src/clients/docs/class-name-resolver.ts +0 -99
  724. package/src/clients/docs/documentation-scanner.ts +0 -255
  725. package/src/clients/docs/index.ts +0 -16
  726. package/src/clients/docs/referenced-types-extractor.ts +0 -92
  727. package/src/clients/docs-client.ts +0 -393
  728. package/src/clients/isml-client.ts +0 -353
  729. package/src/clients/log-client.ts +0 -19
  730. package/src/clients/ocapi/code-versions-client.ts +0 -54
  731. package/src/clients/ocapi/site-preferences-client.ts +0 -106
  732. package/src/clients/ocapi/system-objects-client.ts +0 -148
  733. package/src/clients/ocapi-client.ts +0 -53
  734. package/src/clients/script-debugger/index.ts +0 -5
  735. package/src/clients/script-debugger/script-debugger-client.ts +0 -754
  736. package/src/clients/sfra-client.ts +0 -339
  737. package/src/config/configuration-factory.ts +0 -201
  738. package/src/config/dw-json-loader.ts +0 -248
  739. package/src/config/workspace-roots.ts +0 -540
  740. package/src/constants/index.ts +0 -1
  741. package/src/core/handlers/abstract-client-handler.ts +0 -85
  742. package/src/core/handlers/agent-instructions-handler.ts +0 -48
  743. package/src/core/handlers/base-handler.ts +0 -172
  744. package/src/core/handlers/cartridge-handler.ts +0 -38
  745. package/src/core/handlers/client-factory.ts +0 -140
  746. package/src/core/handlers/code-version-handler.ts +0 -43
  747. package/src/core/handlers/docs-handler.ts +0 -19
  748. package/src/core/handlers/isml-handler.ts +0 -19
  749. package/src/core/handlers/job-log-handler.ts +0 -39
  750. package/src/core/handlers/log-handler.ts +0 -39
  751. package/src/core/handlers/script-debugger-handler.ts +0 -46
  752. package/src/core/handlers/sfra-handler.ts +0 -23
  753. package/src/core/handlers/simple-client-handler.ts +0 -78
  754. package/src/core/handlers/system-object-handler.ts +0 -43
  755. package/src/core/handlers/validation-helpers.ts +0 -206
  756. package/src/core/instruction-advisor.ts +0 -122
  757. package/src/core/server.ts +0 -374
  758. package/src/core/tool-definitions.ts +0 -30
  759. package/src/core/tool-schemas/agent-instruction-tools.ts +0 -72
  760. package/src/core/tool-schemas/cartridge-tools.ts +0 -29
  761. package/src/core/tool-schemas/code-version-tools.ts +0 -28
  762. package/src/core/tool-schemas/documentation-tools.ts +0 -104
  763. package/src/core/tool-schemas/index.ts +0 -27
  764. package/src/core/tool-schemas/isml-tools.ts +0 -89
  765. package/src/core/tool-schemas/log-tools.ts +0 -196
  766. package/src/core/tool-schemas/script-debugger-tools.ts +0 -83
  767. package/src/core/tool-schemas/sfra-tools.ts +0 -65
  768. package/src/core/tool-schemas/shared-schemas.ts +0 -158
  769. package/src/core/tool-schemas/system-object-tools.ts +0 -127
  770. package/src/index.ts +0 -20
  771. package/src/main.ts +0 -161
  772. package/src/services/file-system-service.ts +0 -117
  773. package/src/services/index.ts +0 -11
  774. package/src/services/path-service.ts +0 -124
  775. package/src/tool-configs/agent-instructions-tool-config.ts +0 -83
  776. package/src/tool-configs/cartridge-tool-config.ts +0 -41
  777. package/src/tool-configs/code-version-tool-config.ts +0 -37
  778. package/src/tool-configs/docs-tool-config.ts +0 -103
  779. package/src/tool-configs/isml-tool-config.ts +0 -87
  780. package/src/tool-configs/job-log-tool-config.ts +0 -119
  781. package/src/tool-configs/log-tool-config.ts +0 -110
  782. package/src/tool-configs/script-debugger-tool-config.ts +0 -69
  783. package/src/tool-configs/sfra-tool-config.ts +0 -74
  784. package/src/tool-configs/system-object-tool-config.ts +0 -142
  785. package/src/types/types.ts +0 -125
  786. package/src/utils/cache.ts +0 -291
  787. package/src/utils/category-utils.ts +0 -70
  788. package/src/utils/log-tool-constants.ts +0 -95
  789. package/src/utils/logger.ts +0 -260
  790. package/src/utils/markdown-utils.ts +0 -280
  791. package/src/utils/ocapi-url-builder.ts +0 -48
  792. package/src/utils/path-resolver.ts +0 -69
  793. package/src/utils/path-validation.ts +0 -113
  794. package/src/utils/query-builder.ts +0 -84
  795. package/src/utils/utils.ts +0 -139
  796. package/src/utils/validator.ts +0 -162
  797. package/tests/__mocks__/docs-client.ts +0 -8
  798. package/tests/__mocks__/src/clients/base/http-client.js +0 -43
  799. package/tests/__mocks__/webdav.js +0 -14
  800. package/tests/base-handler.test.ts +0 -527
  801. package/tests/base-http-client.test.ts +0 -311
  802. package/tests/cache.test.ts +0 -453
  803. package/tests/cartridge-handler.test.ts +0 -290
  804. package/tests/class-content-parser.test.ts +0 -629
  805. package/tests/class-name-resolver.test.ts +0 -365
  806. package/tests/client-factory.test.ts +0 -280
  807. package/tests/code-version-handler.test.ts +0 -291
  808. package/tests/code-versions-client.test.ts +0 -156
  809. package/tests/config.test.ts +0 -285
  810. package/tests/configuration-factory.test.ts +0 -233
  811. package/tests/docs-handler.test.ts +0 -359
  812. package/tests/documentation-scanner.test.ts +0 -755
  813. package/tests/file-system-service.test.ts +0 -111
  814. package/tests/isml-client.test.ts +0 -463
  815. package/tests/isml-handler.test.ts +0 -375
  816. package/tests/job-log-handler.test.ts +0 -283
  817. package/tests/log-client.test.ts +0 -768
  818. package/tests/log-handler.test.ts +0 -365
  819. package/tests/log-processor.test.ts +0 -243
  820. package/tests/log-validation.test.ts +0 -149
  821. package/tests/logger.test.ts +0 -303
  822. package/tests/mcp/AGENTS.md +0 -162
  823. package/tests/mcp/README.md +0 -237
  824. package/tests/mcp/node/activate-code-version-advanced.full-mode.programmatic.test.js +0 -669
  825. package/tests/mcp/node/code-versions.full-mode.programmatic.test.js +0 -605
  826. package/tests/mcp/node/evaluate-script.full-mode.programmatic.test.js +0 -387
  827. package/tests/mcp/node/generate-cartridge-structure.docs-only.programmatic.test.js +0 -644
  828. package/tests/mcp/node/get-available-sfra-documents.programmatic.test.js +0 -274
  829. package/tests/mcp/node/get-isml-categories.programmatic.test.js +0 -278
  830. package/tests/mcp/node/get-isml-element.programmatic.test.js +0 -278
  831. package/tests/mcp/node/get-isml-elements-by-category.programmatic.test.js +0 -363
  832. package/tests/mcp/node/get-job-execution-summary.full-mode.programmatic.test.js +0 -432
  833. package/tests/mcp/node/get-job-log-entries.full-mode.programmatic.test.js +0 -488
  834. package/tests/mcp/node/get-latest-debug.full-mode.programmatic.test.js +0 -338
  835. package/tests/mcp/node/get-latest-error.full-mode.programmatic.test.js +0 -255
  836. package/tests/mcp/node/get-latest-info.full-mode.programmatic.test.js +0 -347
  837. package/tests/mcp/node/get-latest-job-log-files.full-mode.programmatic.test.js +0 -460
  838. package/tests/mcp/node/get-latest-warn.full-mode.programmatic.test.js +0 -454
  839. package/tests/mcp/node/get-log-file-contents.full-mode.programmatic.test.js +0 -381
  840. package/tests/mcp/node/get-sfcc-class-documentation.docs-only.programmatic.test.js +0 -371
  841. package/tests/mcp/node/get-sfcc-class-info.docs-only.programmatic.test.js +0 -1032
  842. package/tests/mcp/node/get-sfra-categories.docs-only.programmatic.test.js +0 -369
  843. package/tests/mcp/node/get-sfra-document.programmatic.test.js +0 -473
  844. package/tests/mcp/node/get-sfra-documents-by-category.docs-only.programmatic.test.js +0 -510
  845. package/tests/mcp/node/get-system-object-definition.full-mode.programmatic.test.js +0 -389
  846. package/tests/mcp/node/get-system-object-definitions.docs-only.programmatic.test.js +0 -300
  847. package/tests/mcp/node/get-system-object-definitions.full-mode.programmatic.test.js +0 -387
  848. package/tests/mcp/node/list-isml-elements.programmatic.test.js +0 -311
  849. package/tests/mcp/node/list-log-files.full-mode.programmatic.test.js +0 -150
  850. package/tests/mcp/node/list-sfcc-classes.docs-only.programmatic.test.js +0 -612
  851. package/tests/mcp/node/search-custom-object-attribute-definitions.full-mode.programmatic.test.js +0 -875
  852. package/tests/mcp/node/search-isml-elements.programmatic.test.js +0 -325
  853. package/tests/mcp/node/search-job-logs-by-name.full-mode.programmatic.test.js +0 -330
  854. package/tests/mcp/node/search-job-logs.full-mode.programmatic.test.js +0 -526
  855. package/tests/mcp/node/search-logs.full-mode.programmatic.test.js +0 -478
  856. package/tests/mcp/node/search-sfcc-classes.docs-only.programmatic.test.js +0 -334
  857. package/tests/mcp/node/search-sfcc-methods.docs-only.programmatic.test.js +0 -487
  858. package/tests/mcp/node/search-sfra-documentation.docs-only.programmatic.test.js +0 -563
  859. package/tests/mcp/node/search-site-preferences.full-mode.programmatic.test.js +0 -556
  860. package/tests/mcp/node/search-system-object-attribute-definitions.full-mode.programmatic.test.js +0 -744
  861. package/tests/mcp/node/search-system-object-attribute-groups.full-mode.programmatic.test.js +0 -657
  862. package/tests/mcp/node/summarize-logs.full-mode.programmatic.test.js +0 -357
  863. package/tests/mcp/node/tools.docs-only.programmatic.test.js +0 -515
  864. package/tests/mcp/node/tools.full-mode.programmatic.test.js +0 -154
  865. package/tests/mcp/test-fixtures/dw.json +0 -10
  866. package/tests/mcp/yaml/activate-code-version.docs-only.test.mcp.yml +0 -318
  867. package/tests/mcp/yaml/activate-code-version.full-mode.test.mcp.yml +0 -507
  868. package/tests/mcp/yaml/evaluate-script.full-mode.test.mcp.yml +0 -281
  869. package/tests/mcp/yaml/get-available-sfra-documents.docs-only.test.mcp.yml +0 -684
  870. package/tests/mcp/yaml/get-available-sfra-documents.full-mode.test.mcp.yml +0 -684
  871. package/tests/mcp/yaml/get-code-versions.docs-only.test.mcp.yml +0 -196
  872. package/tests/mcp/yaml/get-code-versions.full-mode.test.mcp.yml +0 -273
  873. package/tests/mcp/yaml/get-isml-categories.docs-only.test.mcp.yml +0 -330
  874. package/tests/mcp/yaml/get-isml-element.docs-only.test.mcp.yml +0 -294
  875. package/tests/mcp/yaml/get-isml-elements-by-category.docs-only.test.mcp.yml +0 -334
  876. package/tests/mcp/yaml/get-job-execution-summary.full-mode.test.mcp.yml +0 -148
  877. package/tests/mcp/yaml/get-job-log-entries.full-mode.test.mcp.yml +0 -284
  878. package/tests/mcp/yaml/get-latest-debug.full-mode.test.mcp.yml +0 -191
  879. package/tests/mcp/yaml/get-latest-error.full-mode.test.mcp.yml +0 -195
  880. package/tests/mcp/yaml/get-latest-info.full-mode.test.mcp.yml +0 -242
  881. package/tests/mcp/yaml/get-latest-job-log-files.full-mode.test.mcp.yml +0 -189
  882. package/tests/mcp/yaml/get-latest-warn.full-mode.test.mcp.yml +0 -182
  883. package/tests/mcp/yaml/get-log-file-contents.full-mode.test.mcp.yml +0 -256
  884. package/tests/mcp/yaml/get-sfcc-class-documentation.docs-only.test.mcp.yml +0 -2416
  885. package/tests/mcp/yaml/get-sfcc-class-documentation.full-mode.test.mcp.yml +0 -2416
  886. package/tests/mcp/yaml/get-sfcc-class-info.docs-only.test.mcp.yml +0 -1225
  887. package/tests/mcp/yaml/get-sfcc-class-info.full-mode.test.mcp.yml +0 -1225
  888. package/tests/mcp/yaml/get-sfra-categories.docs-only.test.mcp.yml +0 -452
  889. package/tests/mcp/yaml/get-sfra-categories.full-mode.test.mcp.yml +0 -452
  890. package/tests/mcp/yaml/get-sfra-document.docs-only.test.mcp.yml +0 -525
  891. package/tests/mcp/yaml/get-sfra-document.full-mode.test.mcp.yml +0 -525
  892. package/tests/mcp/yaml/get-sfra-documents-by-category.docs-only.test.mcp.yml +0 -507
  893. package/tests/mcp/yaml/get-sfra-documents-by-category.full-mode.test.mcp.yml +0 -507
  894. package/tests/mcp/yaml/get-system-object-definition.docs-only.test.mcp.yml +0 -208
  895. package/tests/mcp/yaml/get-system-object-definition.full-mode.test.mcp.yml +0 -191
  896. package/tests/mcp/yaml/get-system-object-definitions.docs-only.test.mcp.yml +0 -257
  897. package/tests/mcp/yaml/get-system-object-definitions.full-mode.test.mcp.yml +0 -517
  898. package/tests/mcp/yaml/get_latest_error.test.mcp.yml +0 -472
  899. package/tests/mcp/yaml/list-isml-elements.docs-only.test.mcp.yml +0 -212
  900. package/tests/mcp/yaml/list-log-files.full-mode.test.mcp.yml +0 -89
  901. package/tests/mcp/yaml/list-sfcc-classes.docs-only.test.mcp.yml +0 -511
  902. package/tests/mcp/yaml/list-sfcc-classes.full-mode.test.mcp.yml +0 -511
  903. package/tests/mcp/yaml/search-custom-object-attribute-definitions.docs-only.test.mcp.yml +0 -82
  904. package/tests/mcp/yaml/search-custom-object-attribute-definitions.test.mcp.yml +0 -387
  905. package/tests/mcp/yaml/search-isml-elements.docs-only.test.mcp.yml +0 -312
  906. package/tests/mcp/yaml/search-job-logs-by-name.full-mode.test.mcp.yml +0 -169
  907. package/tests/mcp/yaml/search-job-logs.full-mode.test.mcp.yml +0 -174
  908. package/tests/mcp/yaml/search-logs.full-mode.test.mcp.yml +0 -207
  909. package/tests/mcp/yaml/search-sfcc-classes.docs-only.test.mcp.yml +0 -1157
  910. package/tests/mcp/yaml/search-sfcc-classes.full-mode.test.mcp.yml +0 -1157
  911. package/tests/mcp/yaml/search-sfcc-methods.docs-only.test.mcp.yml +0 -723
  912. package/tests/mcp/yaml/search-sfcc-methods.full-mode.test.mcp.yml +0 -723
  913. package/tests/mcp/yaml/search-sfra-documentation.docs-only.test.mcp.yml +0 -427
  914. package/tests/mcp/yaml/search-sfra-documentation.full-mode.test.mcp.yml +0 -427
  915. package/tests/mcp/yaml/search-site-preferences.docs-only.test.mcp.yml +0 -295
  916. package/tests/mcp/yaml/search-site-preferences.full-mode.test.mcp.yml +0 -574
  917. package/tests/mcp/yaml/search-system-object-attribute-definitions.docs-only.test.mcp.yml +0 -168
  918. package/tests/mcp/yaml/search-system-object-attribute-definitions.full-mode.test.mcp.yml +0 -500
  919. package/tests/mcp/yaml/search-system-object-attribute-groups.docs-only.test.mcp.yml +0 -278
  920. package/tests/mcp/yaml/search-system-object-attribute-groups.full-mode.test.mcp.yml +0 -612
  921. package/tests/mcp/yaml/summarize-logs.full-mode.test.mcp.yml +0 -173
  922. package/tests/mcp/yaml/tools.docs-only.test.mcp.yml +0 -535
  923. package/tests/mcp/yaml/tools.full-mode.test.mcp.yml +0 -378
  924. package/tests/oauth-token.test.ts +0 -725
  925. package/tests/ocapi-auth-client.test.ts +0 -276
  926. package/tests/ocapi-client.test.ts +0 -242
  927. package/tests/path-service.test.ts +0 -96
  928. package/tests/query-builder.test.ts +0 -281
  929. package/tests/referenced-types-extractor.test.ts +0 -814
  930. package/tests/script-debugger-client.test.ts +0 -430
  931. package/tests/servers/sfcc-mock-server/README.md +0 -208
  932. package/tests/servers/sfcc-mock-server/mock-data/ocapi/code-versions.json +0 -247
  933. package/tests/servers/sfcc-mock-server/mock-data/ocapi/custom-object-attributes-customapi.json +0 -128
  934. package/tests/servers/sfcc-mock-server/mock-data/ocapi/custom-object-attributes-globalsettings.json +0 -92
  935. package/tests/servers/sfcc-mock-server/mock-data/ocapi/custom-object-attributes-versionhistory.json +0 -256
  936. package/tests/servers/sfcc-mock-server/mock-data/ocapi/site-preferences-ccv.json +0 -275
  937. package/tests/servers/sfcc-mock-server/mock-data/ocapi/site-preferences-fastforward.json +0 -123
  938. package/tests/servers/sfcc-mock-server/mock-data/ocapi/site-preferences-sfra.json +0 -224
  939. package/tests/servers/sfcc-mock-server/mock-data/ocapi/site-preferences-storefront.json +0 -447
  940. package/tests/servers/sfcc-mock-server/mock-data/ocapi/site-preferences-system.json +0 -171
  941. package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-attribute-groups-campaign.json +0 -13
  942. package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-attribute-groups-category.json +0 -50
  943. package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-attribute-groups-order.json +0 -32
  944. package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-attribute-groups-product.json +0 -224
  945. package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-attribute-groups-sitepreferences.json +0 -62
  946. package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-attributes-customeraddress.json +0 -109
  947. package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-attributes-product-expanded.json +0 -183
  948. package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-attributes-product.json +0 -139
  949. package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-definition-category.json +0 -26
  950. package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-definition-customer.json +0 -26
  951. package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-definition-customeraddress.json +0 -26
  952. package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-definition-order.json +0 -26
  953. package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-definition-product.json +0 -26
  954. package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-definitions-old.json +0 -354
  955. package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-definitions.json +0 -172
  956. package/tests/servers/sfcc-mock-server/package-lock.json +0 -879
  957. package/tests/servers/sfcc-mock-server/package.json +0 -39
  958. package/tests/servers/sfcc-mock-server/scripts/setup-logs.js +0 -224
  959. package/tests/servers/sfcc-mock-server/server.js +0 -280
  960. package/tests/servers/sfcc-mock-server/src/app.js +0 -182
  961. package/tests/servers/sfcc-mock-server/src/config/server-config.js +0 -124
  962. package/tests/servers/sfcc-mock-server/src/middleware/auth.js +0 -101
  963. package/tests/servers/sfcc-mock-server/src/middleware/cors.js +0 -39
  964. package/tests/servers/sfcc-mock-server/src/middleware/logging.js +0 -124
  965. package/tests/servers/sfcc-mock-server/src/routes/cartridge-webdav.js +0 -258
  966. package/tests/servers/sfcc-mock-server/src/routes/ocapi/code-versions-handler.js +0 -184
  967. package/tests/servers/sfcc-mock-server/src/routes/ocapi/debugger-handler.js +0 -396
  968. package/tests/servers/sfcc-mock-server/src/routes/ocapi/oauth-handler.js +0 -36
  969. package/tests/servers/sfcc-mock-server/src/routes/ocapi/ocapi-error-utils.js +0 -221
  970. package/tests/servers/sfcc-mock-server/src/routes/ocapi/ocapi-utils.js +0 -440
  971. package/tests/servers/sfcc-mock-server/src/routes/ocapi/site-preferences-handler.js +0 -332
  972. package/tests/servers/sfcc-mock-server/src/routes/ocapi/system-objects-handler.js +0 -572
  973. package/tests/servers/sfcc-mock-server/src/routes/ocapi.js +0 -58
  974. package/tests/servers/sfcc-mock-server/src/routes/storefront.js +0 -86
  975. package/tests/servers/sfcc-mock-server/src/routes/webdav.js +0 -240
  976. package/tests/servers/sfcc-mock-server/src/utils/mock-data-loader.js +0 -84
  977. package/tests/servers/sfcc-mock-server/src/utils/webdav-xml.js +0 -121
  978. package/tests/servers/sfcc-mock-server-manager.ts +0 -280
  979. package/tests/sfcc-mock-server.test.ts +0 -423
  980. package/tests/site-preferences-client.test.ts +0 -358
  981. package/tests/system-objects-client.test.ts +0 -310
  982. package/tests/utils.test.ts +0 -477
  983. package/tests/validation-helpers.test.ts +0 -325
  984. package/tests/validator.test.ts +0 -416
  985. package/tests/workspace-roots.test.ts +0 -227
  986. package/tsconfig.json +0 -20
  987. 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