sfcc-dev-mcp 1.0.19 → 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,768 +0,0 @@
1
- import { SFCCLogClient } from '../src/clients/log-client';
2
- import { SFCCConfig, LogLevel } from '../src/types/types';
3
-
4
- // Use manual mock for webdav
5
- // eslint-disable-next-line @typescript-eslint/no-require-imports
6
- const webdav = require('webdav');
7
- const mockWebdavClient = webdav.__mockWebdavClient;
8
-
9
- // Mock the logger
10
- jest.mock('../src/utils/logger', () => ({
11
- Logger: {
12
- initialize: jest.fn(),
13
- getInstance: jest.fn(() => ({
14
- methodEntry: jest.fn(),
15
- methodExit: jest.fn(),
16
- debug: jest.fn(),
17
- warn: jest.fn(),
18
- error: jest.fn(),
19
- timing: jest.fn(),
20
- log: jest.fn(),
21
- info: jest.fn(),
22
- })),
23
- getChildLogger: jest.fn(() => ({
24
- methodEntry: jest.fn(),
25
- methodExit: jest.fn(),
26
- debug: jest.fn(),
27
- warn: jest.fn(),
28
- error: jest.fn(),
29
- timing: jest.fn(),
30
- log: jest.fn(),
31
- info: jest.fn(),
32
- })),
33
- },
34
- }));
35
-
36
- // Mock utils
37
- jest.mock('../src/utils/utils', () => ({
38
- getCurrentDate: jest.fn(() => '20250815'),
39
- formatBytes: jest.fn((bytes: number) => `${bytes} bytes`),
40
- parseLogEntries: jest.fn((content: string, level: string) => {
41
- // Better mock implementation - split by lines and filter by level, return the actual lines
42
- return content.split('\n').filter(line => line.includes(level));
43
- }),
44
- extractUniqueErrors: jest.fn((errors: string[]) => {
45
- // Mock implementation that returns unique error messages
46
- return [...new Set(errors.map(error => error.trim()))];
47
- }),
48
- normalizeFilePath: jest.fn((path: string) => path),
49
- }));
50
-
51
- describe('SFCCLogClient', () => {
52
- let logClient: SFCCLogClient;
53
- let config: SFCCConfig;
54
-
55
- beforeEach(() => {
56
- // Setup test config
57
- config = {
58
- hostname: 'test.demandware.net',
59
- username: 'testuser',
60
- password: 'testpass',
61
- };
62
-
63
- logClient = new SFCCLogClient(config);
64
-
65
- // Setup default mock for stat method (small file size so it uses getFileContents)
66
- mockWebdavClient.stat.mockResolvedValue({ size: 1024 });
67
- });
68
-
69
- afterEach(() => {
70
- jest.clearAllMocks();
71
- });
72
-
73
- describe('constructor', () => {
74
- it('should create client with username/password authentication', () => {
75
- const config: SFCCConfig = {
76
- hostname: 'test.demandware.net',
77
- username: 'testuser',
78
- password: 'testpass',
79
- };
80
-
81
- new SFCCLogClient(config);
82
-
83
- expect(webdav.createClient).toHaveBeenCalledWith(
84
- 'https://test.demandware.net/on/demandware.servlet/webdav/Sites/Logs/',
85
- {
86
- username: 'testuser',
87
- password: 'testpass',
88
- timeout: 30000,
89
- maxBodyLength: 10 * 1024 * 1024,
90
- maxContentLength: 10 * 1024 * 1024,
91
- },
92
- );
93
- });
94
-
95
- it('should create client with OAuth authentication', () => {
96
- const config: SFCCConfig = {
97
- hostname: 'test.demandware.net',
98
- clientId: 'testclientid',
99
- clientSecret: 'testclientsecret',
100
- };
101
-
102
- new SFCCLogClient(config);
103
-
104
- expect(webdav.createClient).toHaveBeenCalledWith(
105
- 'https://test.demandware.net/on/demandware.servlet/webdav/Sites/Logs/',
106
- {
107
- username: 'testclientid',
108
- password: 'testclientsecret',
109
- timeout: 30000,
110
- maxBodyLength: 10 * 1024 * 1024,
111
- maxContentLength: 10 * 1024 * 1024,
112
- },
113
- );
114
- });
115
-
116
- it('should throw error when no authentication provided', () => {
117
- const config: SFCCConfig = {
118
- hostname: 'test.demandware.net',
119
- };
120
-
121
- expect(() => new SFCCLogClient(config)).toThrow(
122
- 'Either username/password or clientId/clientSecret must be provided',
123
- );
124
- });
125
- });
126
-
127
- describe('getLogFiles', () => {
128
- it('should return log files for specified date', async () => {
129
- const mockContents = [
130
- { type: 'file', filename: 'error-20250815-blade1-001.log' },
131
- { type: 'file', filename: 'warn-20250815-blade1-001.log' },
132
- { type: 'file', filename: 'info-20250815-blade1-001.log' },
133
- { type: 'file', filename: 'debug-20250815-blade1-001.log' },
134
- { type: 'file', filename: 'error-20250814-blade1-001.log' }, // Different date
135
- { type: 'directory', filename: 'somedir' }, // Directory
136
- { type: 'file', filename: 'not-a-log.txt' }, // Not a log file
137
- ];
138
-
139
- mockWebdavClient.getDirectoryContents.mockResolvedValue(mockContents);
140
-
141
- const result = await logClient.getLogFiles('20250815');
142
-
143
- expect(result).toEqual([
144
- { filename: 'error-20250815-blade1-001.log', lastmod: expect.any(String) },
145
- { filename: 'warn-20250815-blade1-001.log', lastmod: expect.any(String) },
146
- { filename: 'info-20250815-blade1-001.log', lastmod: expect.any(String) },
147
- { filename: 'debug-20250815-blade1-001.log', lastmod: expect.any(String) },
148
- ]);
149
- expect(mockWebdavClient.getDirectoryContents).toHaveBeenCalledWith('/');
150
- });
151
-
152
- it('should use current date when no date provided', async () => {
153
- mockWebdavClient.getDirectoryContents.mockResolvedValue([]);
154
-
155
- await logClient.getLogFiles();
156
-
157
- // Should call getCurrentDate() from utils which returns '20250815'
158
- expect(mockWebdavClient.getDirectoryContents).toHaveBeenCalledWith('/');
159
- });
160
-
161
- it('should return empty array when no log files found', async () => {
162
- mockWebdavClient.getDirectoryContents.mockResolvedValue([]);
163
-
164
- const result = await logClient.getLogFiles('20250815');
165
-
166
- expect(result).toEqual([]);
167
- });
168
- });
169
-
170
- describe('getLatestLogs', () => {
171
- describe('standard log files', () => {
172
- beforeEach(() => {
173
- const mockContents = [
174
- { type: 'file', filename: 'error-20250815-blade1-001.log' },
175
- { type: 'file', filename: 'error-20250815-blade1-002.log' },
176
- { type: 'file', filename: 'warn-20250815-blade1-001.log' },
177
- ];
178
- mockWebdavClient.getDirectoryContents.mockResolvedValue(mockContents);
179
- });
180
-
181
- it('should return latest error logs', async () => {
182
- const mockLogContent = 'ERROR Line 1\nERROR Line 2\nERROR Line 3\nERROR Line 4\nERROR Line 5';
183
- mockWebdavClient.getFileContents.mockResolvedValue(mockLogContent);
184
-
185
- const result = await logClient.getLatestLogs('error' as LogLevel, 3, '20250815');
186
-
187
- expect(result).toContain('Latest 3 error messages');
188
- expect(result).toContain('error-20250815-blade1-002.log'); // Should use the latest file
189
- // Since files are small (1024 bytes), getFileContentsTail should call getFileContents
190
- expect(mockWebdavClient.getFileContents).toHaveBeenCalledWith(
191
- 'error-20250815-blade1-002.log',
192
- { format: 'text' },
193
- );
194
- });
195
-
196
- it('should return warning when no files found for level', async () => {
197
- const mockContents = [
198
- { type: 'file', filename: 'info-20250815-blade1-001.log' },
199
- ];
200
- mockWebdavClient.getDirectoryContents.mockResolvedValue(mockContents);
201
-
202
- const result = await logClient.getLatestLogs('error' as LogLevel, 10, '20250815');
203
-
204
- expect(result).toContain('No error log files found');
205
- expect(result).toContain('Available files: info-20250815-blade1-001.log');
206
- });
207
- });
208
-
209
- describe('custom log files support', () => {
210
- it('should include both standard and custom log files for warn level', async () => {
211
- const mockContents = [
212
- { type: 'file', filename: 'warn-odspod-0-appserver-20250815.log' },
213
- { type: 'file', filename: 'customwarn-odspod-0-appserver-20250815.log' }, // Same date
214
- { type: 'file', filename: 'warn-blade1-20250815.log' }, // Another warn file same date
215
- { type: 'file', filename: 'error-odspod-0-appserver-20250815.log' }, // Different level - should be ignored
216
- ];
217
- mockWebdavClient.getDirectoryContents.mockResolvedValue(mockContents);
218
-
219
- const mockWarnContent = 'WARN Entry from standard warn file';
220
- const mockCustomWarnContent = 'WARN Entry from custom warn file';
221
-
222
- mockWebdavClient.getFileContents
223
- .mockResolvedValueOnce(mockWarnContent) // newest standard file first
224
- .mockResolvedValueOnce(mockWarnContent) // second standard file
225
- .mockResolvedValueOnce(mockCustomWarnContent); // custom file
226
-
227
- const result = await logClient.getLatestLogs('warn' as LogLevel, 5, '20250815');
228
-
229
- expect(result).toContain('Latest 5 warn messages from files');
230
- expect(result).toContain('warn-odspod-0-appserver-20250815.log'); // Should include newest standard
231
- expect(result).toContain('customwarn-odspod-0-appserver-20250815.log'); // Should include custom
232
- expect(mockWebdavClient.getFileContents).toHaveBeenCalledTimes(3); // All matching files
233
- });
234
-
235
- it('should include both standard and custom log files for error level', async () => {
236
- const mockContents = [
237
- { type: 'file', filename: 'error-odspod-0-appserver-20250815.log' },
238
- { type: 'file', filename: 'customerror-odspod-0-appserver-20250815.log' },
239
- { type: 'file', filename: 'warn-odspod-0-appserver-20250815.log' }, // Different level - should be ignored
240
- ];
241
- mockWebdavClient.getDirectoryContents.mockResolvedValue(mockContents);
242
-
243
- const mockErrorContent = 'ERROR Standard error entry';
244
- const mockCustomErrorContent = 'ERROR Custom error entry';
245
-
246
- mockWebdavClient.getFileContents
247
- .mockResolvedValueOnce(mockErrorContent) // newest standard file
248
- .mockResolvedValueOnce(mockCustomErrorContent); // custom file same day
249
-
250
- const result = await logClient.getLatestLogs('error' as LogLevel, 3, '20250815');
251
-
252
- expect(result).toContain('Latest 3 error messages from files');
253
- expect(result).toContain('error-odspod-0-appserver-20250815.log');
254
- expect(result).toContain('customerror-odspod-0-appserver-20250815.log');
255
- expect(mockWebdavClient.getFileContents).toHaveBeenCalledTimes(2); // Only files for the specified date
256
- });
257
- });
258
-
259
- describe('chronological sorting with real-world filenames', () => {
260
- it('should process files by lastmod timestamp (newest first)', async () => {
261
- // Real-world log files with different lastmod timestamps
262
- const mockContents = [
263
- {
264
- type: 'file',
265
- filename: 'warn-blade1-20250815.log',
266
- lastmod: '2025-08-15T06:30:00.000Z', // Older timestamp
267
- },
268
- {
269
- type: 'file',
270
- filename: 'warn-odspod-0-appserver-20250815.log',
271
- lastmod: '2025-08-15T08:15:00.000Z', // Middle timestamp
272
- },
273
- {
274
- type: 'file',
275
- filename: 'warn-xyz-server-20250815.log',
276
- lastmod: '2025-08-15T10:45:00.000Z', // Newest timestamp
277
- },
278
- ];
279
- mockWebdavClient.getDirectoryContents.mockResolvedValue(mockContents);
280
-
281
- // Mock content for each warn file
282
- const mockContent1 = 'WARN 06:32:07 Warning from blade1\nWARN 06:30:00 Another warning from blade1';
283
- const mockContent2 = 'WARN 08:16:33 Warning from odspod\nWARN 08:15:00 Another warning from odspod';
284
- const mockContent3 = 'WARN 10:45:12 Warning from xyz\nWARN 10:44:00 Another warning from xyz';
285
-
286
- // Files should be processed by lastmod order (newest first): xyz, odspod, blade1
287
- mockWebdavClient.getFileContents
288
- .mockResolvedValueOnce(mockContent3) // warn-xyz-server- (newest lastmod, processed first)
289
- .mockResolvedValueOnce(mockContent2) // warn-odspod- (middle lastmod)
290
- .mockResolvedValueOnce(mockContent1); // warn-blade1- (oldest lastmod, processed last)
291
-
292
- const result = await logClient.getLatestLogs('warn' as LogLevel, 4, '20250815');
293
-
294
- expect(result).toContain('Latest 4 warn messages');
295
- expect(result).toContain('warn-xyz-server-20250815.log');
296
- expect(result).toContain('warn-odspod-0-appserver-20250815.log');
297
- expect(result).toContain('warn-blade1-20250815.log');
298
- expect(mockWebdavClient.getFileContents).toHaveBeenCalledTimes(3);
299
-
300
- // Verify the processing order matches chronological sorting by lastmod
301
- expect(mockWebdavClient.getFileContents).toHaveBeenNthCalledWith(1, 'warn-xyz-server-20250815.log', { format: 'text' });
302
- expect(mockWebdavClient.getFileContents).toHaveBeenNthCalledWith(2, 'warn-odspod-0-appserver-20250815.log', { format: 'text' });
303
- expect(mockWebdavClient.getFileContents).toHaveBeenNthCalledWith(3, 'warn-blade1-20250815.log', { format: 'text' });
304
- });
305
-
306
- it('should handle custom log files in chronological sorting', async () => {
307
- const mockContents = [
308
- {
309
- type: 'file',
310
- filename: 'customwarn-alpha-20250815.log',
311
- lastmod: '2025-08-15T10:00:00.000Z', // Newest timestamp
312
- },
313
- {
314
- type: 'file',
315
- filename: 'warn-beta-20250815.log',
316
- lastmod: '2025-08-15T08:00:00.000Z', // Oldest timestamp
317
- },
318
- {
319
- type: 'file',
320
- filename: 'customwarn-gamma-20250815.log',
321
- lastmod: '2025-08-15T09:00:00.000Z', // Middle timestamp
322
- },
323
- ];
324
- mockWebdavClient.getDirectoryContents.mockResolvedValue(mockContents);
325
-
326
- const mockContent1 = 'WARN 10:00:00 Custom warning from alpha';
327
- const mockContent2 = 'WARN 08:00:00 Standard warning from beta';
328
- const mockContent3 = 'WARN 09:00:00 Custom warning from gamma';
329
-
330
- // Expected chronological order by lastmod: alpha (10:00), gamma (09:00), beta (08:00)
331
- mockWebdavClient.getFileContents
332
- .mockResolvedValueOnce(mockContent1) // customwarn-alpha- (newest lastmod, processed first)
333
- .mockResolvedValueOnce(mockContent3) // customwarn-gamma- (middle lastmod)
334
- .mockResolvedValueOnce(mockContent2); // warn-beta- (oldest lastmod, processed last)
335
-
336
- const result = await logClient.getLatestLogs('warn' as LogLevel, 3, '20250815');
337
-
338
- expect(result).toContain('Latest 3 warn messages');
339
- expect(mockWebdavClient.getFileContents).toHaveBeenCalledTimes(3);
340
-
341
- // Verify processing order follows chronological sorting by lastmod
342
- expect(mockWebdavClient.getFileContents).toHaveBeenNthCalledWith(1, 'customwarn-alpha-20250815.log', { format: 'text' });
343
- expect(mockWebdavClient.getFileContents).toHaveBeenNthCalledWith(2, 'customwarn-gamma-20250815.log', { format: 'text' });
344
- expect(mockWebdavClient.getFileContents).toHaveBeenNthCalledWith(3, 'warn-beta-20250815.log', { format: 'text' });
345
- });
346
-
347
- it('should handle missing lastmod gracefully with fallback', async () => {
348
- const mockContents = [
349
- {
350
- type: 'file',
351
- filename: 'warn-file1-20250815.log',
352
- lastmod: '2025-08-15T08:00:00.000Z',
353
- },
354
- {
355
- type: 'file',
356
- filename: 'warn-file2-20250815.log',
357
- // Missing lastmod - should use fallback
358
- },
359
- ];
360
- mockWebdavClient.getDirectoryContents.mockResolvedValue(mockContents);
361
-
362
- const mockContent1 = 'WARN Content from file1';
363
- const mockContent2 = 'WARN Content from file2';
364
-
365
- mockWebdavClient.getFileContents
366
- .mockResolvedValueOnce(mockContent2) // file2 (fallback to current time, processed first)
367
- .mockResolvedValueOnce(mockContent1); // file1 (has lastmod, processed second)
368
-
369
- const result = await logClient.getLatestLogs('warn' as LogLevel, 2, '20250815');
370
-
371
- expect(result).toContain('Latest 2 warn messages');
372
- expect(mockWebdavClient.getFileContents).toHaveBeenCalledTimes(2);
373
- // Should handle both files even with missing lastmod
374
- expect(result).toContain('warn-file1-20250815.log');
375
- expect(result).toContain('warn-file2-20250815.log');
376
- });
377
- });
378
-
379
- describe('file sorting and date filtering', () => {
380
-
381
- it('should only process files matching the specified date', async () => {
382
- // Mix of files from different dates
383
- const mockContents = [
384
- { type: 'file', filename: 'error-odspod-0-appserver-20250815.log' }, // Target date
385
- { type: 'file', filename: 'error-blade1-20250815.log' }, // Target date
386
- { type: 'file', filename: 'error-odspod-0-appserver-20250814.log' }, // Previous day
387
- { type: 'file', filename: 'error-blade1-20250816.log' }, // Next day
388
- { type: 'file', filename: 'error-xyz-20250813.log' }, // Older date
389
- ];
390
- mockWebdavClient.getDirectoryContents.mockResolvedValue(mockContents);
391
-
392
- // Mock content for the target date files only
393
- const targetDateContent1 = 'ERROR 05:17:54 Error from target date file 1\nERROR 05:16:00 Another error from file 1';
394
- const targetDateContent2 = 'ERROR 11:24:07 Error from target date file 2\nERROR 11:20:00 Another error from file 2';
395
-
396
- mockWebdavClient.getFileContents
397
- .mockResolvedValueOnce(targetDateContent1) // error-odspod-0-appserver-20250815.log
398
- .mockResolvedValueOnce(targetDateContent2); // error-blade1-20250815.log
399
-
400
- const result = await logClient.getLatestLogs('error' as LogLevel, 3, '20250815');
401
-
402
- // Should only process files from the target date (20250815)
403
- expect(result).toContain('Latest 3 error messages from files');
404
- expect(result).toContain('error-odspod-0-appserver-20250815.log');
405
- expect(result).toContain('error-blade1-20250815.log');
406
-
407
- // Should NOT contain files from other dates
408
- expect(result).not.toContain('20250814');
409
- expect(result).not.toContain('20250816');
410
- expect(result).not.toContain('20250813');
411
-
412
- // Should only call getFileContents for files matching the target date
413
- expect(mockWebdavClient.getFileContents).toHaveBeenCalledTimes(2);
414
- expect(mockWebdavClient.getFileContents).toHaveBeenCalledWith('error-odspod-0-appserver-20250815.log', { format: 'text' });
415
- expect(mockWebdavClient.getFileContents).toHaveBeenCalledWith('error-blade1-20250815.log', { format: 'text' });
416
- });
417
-
418
- it('should handle multiple dates correctly when getLogFiles filters by specific date', async () => {
419
- // Test with a different date to ensure date filtering works correctly
420
- const mockContents = [
421
- { type: 'file', filename: 'warn-server1-20250810.log' },
422
- { type: 'file', filename: 'warn-server2-20250810.log' },
423
- { type: 'file', filename: 'customwarn-server3-20250810.log' },
424
- { type: 'file', filename: 'warn-server1-20250815.log' }, // Different date - should be filtered out
425
- ];
426
- mockWebdavClient.getDirectoryContents.mockResolvedValue(mockContents);
427
-
428
- const mockContent1 = 'WARN 08:00:00 Warning from server1 on 20250810';
429
- const mockContent2 = 'WARN 09:00:00 Warning from server2 on 20250810';
430
- const mockContent3 = 'WARN 10:00:00 Custom warning from server3 on 20250810';
431
-
432
- mockWebdavClient.getFileContents
433
- .mockResolvedValueOnce(mockContent1)
434
- .mockResolvedValueOnce(mockContent2)
435
- .mockResolvedValueOnce(mockContent3);
436
-
437
- const result = await logClient.getLatestLogs('warn' as LogLevel, 5, '20250810');
438
-
439
- expect(result).toContain('Latest 5 warn messages');
440
- expect(result).toContain('warn-server1-20250810.log');
441
- expect(result).toContain('warn-server2-20250810.log');
442
- expect(result).toContain('customwarn-server3-20250810.log');
443
-
444
- // Should not include the file from 20250815
445
- expect(result).not.toContain('20250815');
446
-
447
- // Should process 3 files from the target date only
448
- expect(mockWebdavClient.getFileContents).toHaveBeenCalledTimes(3);
449
- });
450
- });
451
-
452
- it('should handle file read errors gracefully and continue processing other files', async () => {
453
- const mockContents = [
454
- { type: 'file', filename: 'warn-20250815-blade1-001.log' },
455
- { type: 'file', filename: 'warn-20250815-blade1-002.log' },
456
- { type: 'file', filename: 'warn-20250815-blade1-003.log' },
457
- ];
458
- mockWebdavClient.getDirectoryContents.mockResolvedValue(mockContents);
459
-
460
- const mockContent = 'WARN Working file content';
461
-
462
- // Clear previous mocks to ensure clean state
463
- mockWebdavClient.getFileContents.mockClear();
464
-
465
- mockWebdavClient.getFileContents
466
- .mockResolvedValueOnce(mockContent) // First file succeeds
467
- .mockRejectedValueOnce(new Error('File read error')) // Second file fails
468
- .mockResolvedValueOnce(mockContent); // Third file succeeds
469
-
470
- const result = await logClient.getLatestLogs('warn' as LogLevel, 5, '20250815');
471
-
472
- expect(result).toContain('Latest 5 warn messages');
473
- // With our new implementation using getFileContentsTail, the call pattern may be different
474
- // The important thing is that it handles errors gracefully and continues processing
475
- expect(mockWebdavClient.getFileContents.mock.calls.length).toBeGreaterThanOrEqual(3);
476
- // Should complete processing despite errors - verifies error resilience
477
- expect(result).toContain('warn-20250815-blade1');
478
- });
479
- });
480
-
481
- describe('summarizeLogs', () => {
482
- it('should return summary when no log files found', async () => {
483
- mockWebdavClient.getDirectoryContents.mockResolvedValue([]);
484
-
485
- const result = await logClient.summarizeLogs('20250815');
486
-
487
- expect(result).toBe('No log files found for date 20250815');
488
- });
489
-
490
- it('should generate comprehensive log summary', async () => {
491
- const mockContents = [
492
- { type: 'file', filename: 'error-20250815-blade1-001.log' },
493
- { type: 'file', filename: 'warn-20250815-blade1-001.log' },
494
- { type: 'file', filename: 'info-20250815-blade1-001.log' },
495
- { type: 'file', filename: 'debug-20250815-blade1-001.log' },
496
- ];
497
- mockWebdavClient.getDirectoryContents.mockResolvedValue(mockContents);
498
-
499
- // Update content to match what the actual summarizeLogs method expects
500
- const mockErrorContent = 'First line\n ERROR Something went wrong\nAnother line\n ERROR Another error\n INFO Some info';
501
- const mockWarnContent = 'Start line\n WARN Warning message\n INFO Info message';
502
- const mockInfoContent = 'Header\n INFO First info\n INFO Second info\n INFO Third info';
503
- const mockDebugContent = 'Prefix\n DEBUG Debug message 1\n DEBUG Debug message 2\n DEBUG Debug message 3';
504
-
505
- mockWebdavClient.getFileContents
506
- .mockResolvedValueOnce(mockErrorContent)
507
- .mockResolvedValueOnce(mockWarnContent)
508
- .mockResolvedValueOnce(mockInfoContent)
509
- .mockResolvedValueOnce(mockDebugContent);
510
-
511
- const result = await logClient.summarizeLogs('20250815');
512
-
513
- expect(result).toContain('Log Summary for 20250815');
514
- expect(result).toContain('Errors: 2');
515
- expect(result).toContain('Warnings: 1');
516
- expect(result).toContain('Info: 5'); // 1 from error file + 1 from warn file + 3 from info file
517
- expect(result).toContain('Debug: 3');
518
- expect(result).toContain('Log Files (4)');
519
- });
520
-
521
- it('should handle file read errors gracefully', async () => {
522
- const mockContents = [
523
- { type: 'file', filename: 'error-20250815-blade1-001.log' },
524
- ];
525
- mockWebdavClient.getDirectoryContents.mockResolvedValue(mockContents);
526
- mockWebdavClient.getFileContents.mockRejectedValue(new Error('File read error'));
527
-
528
- const result = await logClient.summarizeLogs('20250815');
529
-
530
- expect(result).toContain('Log Summary for 20250815');
531
- expect(result).toContain('Errors: 0');
532
- expect(result).toContain('Debug: 0');
533
- });
534
- });
535
-
536
- describe('searchLogs', () => {
537
- beforeEach(() => {
538
- const mockContents = [
539
- { type: 'file', filename: 'error-20250815-blade1-001.log' },
540
- { type: 'file', filename: 'warn-20250815-blade1-001.log' },
541
- { type: 'file', filename: 'customwarn-20250815-blade1-001.log' },
542
- ];
543
- mockWebdavClient.getDirectoryContents.mockResolvedValue(mockContents);
544
- });
545
-
546
- it('should search across all log files when no level specified', async () => {
547
- const mockErrorContent = 'ERROR: Database connection failed\nINFO: System started';
548
- const mockWarnContent = 'WARN: Database connection slow\nINFO: Cache cleared';
549
- const mockCustomWarnContent = 'WARN: Custom database warning';
550
-
551
- mockWebdavClient.getFileContents
552
- .mockResolvedValueOnce(mockErrorContent)
553
- .mockResolvedValueOnce(mockWarnContent)
554
- .mockResolvedValueOnce(mockCustomWarnContent);
555
-
556
- const result = await logClient.searchLogs('database', undefined, 20, '20250815');
557
-
558
- expect(result).toContain('Found 3 matches for "database"');
559
- expect(result).toContain('Database connection failed');
560
- expect(result).toContain('Database connection slow');
561
- expect(result).toContain('Custom database warning');
562
- });
563
-
564
- it('should filter by log level including custom files when specified', async () => {
565
- const mockWarnContent = 'WARN: Standard warning message with the word warning';
566
- const mockCustomWarnContent = 'WARN: Custom warning message with the word warning';
567
-
568
- mockWebdavClient.getFileContents
569
- .mockResolvedValueOnce(mockWarnContent)
570
- .mockResolvedValueOnce(mockCustomWarnContent);
571
-
572
- const result = await logClient.searchLogs('warning', 'warn' as LogLevel, 20, '20250815');
573
-
574
- expect(mockWebdavClient.getFileContents).toHaveBeenCalledTimes(2); // Both warn files
575
- expect(mockWebdavClient.getFileContents).toHaveBeenCalledWith('warn-20250815-blade1-001.log', { format: 'text' });
576
- expect(mockWebdavClient.getFileContents).toHaveBeenCalledWith('customwarn-20250815-blade1-001.log', { format: 'text' });
577
- expect(result).toContain('Standard warning message');
578
- expect(result).toContain('Custom warning message');
579
- });
580
-
581
- it('should return no matches message when pattern not found', async () => {
582
- mockWebdavClient.getFileContents.mockResolvedValue('No matching content here');
583
-
584
- const result = await logClient.searchLogs('nonexistent', undefined, 20, '20250815');
585
-
586
- expect(result).toContain('No matches found for "nonexistent" in logs for 20250815');
587
- });
588
-
589
- it('should handle search errors gracefully', async () => {
590
- mockWebdavClient.getFileContents.mockRejectedValue(new Error('Search error'));
591
-
592
- const result = await logClient.searchLogs('pattern', undefined, 20, '20250815');
593
-
594
- expect(result).toContain('No matches found for "pattern"');
595
- });
596
- });
597
-
598
- describe('listLogFiles', () => {
599
- it('should return formatted list of log files sorted by modification date', async () => {
600
- const mockContents = [
601
- {
602
- type: 'file',
603
- filename: 'warn-odspod-0-appserver-20250815.log',
604
- size: 46387,
605
- lastmod: 'Fri, 15 Aug 2025 06:32:07 GMT',
606
- },
607
- {
608
- type: 'file',
609
- filename: 'error-odspod-0-appserver-20250815.log',
610
- size: 2560,
611
- lastmod: 'Fri, 15 Aug 2025 05:17:54 GMT',
612
- },
613
- {
614
- type: 'file',
615
- filename: 'warn-odspod-0-appserver-20250814.log',
616
- size: 139161,
617
- lastmod: 'Thu, 14 Aug 2025 23:59:25 GMT',
618
- },
619
- { type: 'directory', filename: 'log_archive' }, // Should be filtered out
620
- { type: 'file', filename: 'not-a-log.txt' }, // Should be filtered out
621
- ];
622
-
623
- mockWebdavClient.getDirectoryContents.mockResolvedValue(mockContents);
624
-
625
- const result = await logClient.listLogFiles();
626
-
627
- expect(result).toContain('Available log files:');
628
- expect(result).toContain('📄 warn-odspod-0-appserver-20250815.log');
629
- expect(result).toContain('📄 error-odspod-0-appserver-20250815.log');
630
- expect(result).toContain('📄 warn-odspod-0-appserver-20250814.log');
631
-
632
- // Should show newest file first
633
- const warnIndex = result.indexOf('warn-odspod-0-appserver-20250815.log');
634
- const errorIndex = result.indexOf('error-odspod-0-appserver-20250815.log');
635
- const oldWarnIndex = result.indexOf('warn-odspod-0-appserver-20250814.log');
636
-
637
- expect(warnIndex).toBeLessThan(errorIndex); // Newest file first
638
- expect(errorIndex).toBeLessThan(oldWarnIndex); // Then by date
639
-
640
- // Should not contain non-log files
641
- expect(result).not.toContain('log_archive');
642
- expect(result).not.toContain('not-a-log.txt');
643
- });
644
-
645
- it('should show total count when more than 50 files', async () => {
646
- // Create 60 mock log files
647
- const mockContents = Array.from({ length: 60 }, (_, i) => ({
648
- type: 'file',
649
- filename: `log-file-${i.toString().padStart(3, '0')}.log`,
650
- size: 1000,
651
- lastmod: new Date(2025, 7, 15, 12, i).toISOString(),
652
- }));
653
-
654
- mockWebdavClient.getDirectoryContents.mockResolvedValue(mockContents);
655
-
656
- const result = await logClient.listLogFiles();
657
-
658
- expect(result).toContain('(showing latest 50 of 60 total)');
659
- });
660
-
661
- it('should handle errors when listing files', async () => {
662
- mockWebdavClient.getDirectoryContents.mockRejectedValue(new Error('List error'));
663
-
664
- await expect(logClient.listLogFiles()).rejects.toThrow('Failed to list log files: List error');
665
- });
666
- });
667
-
668
- describe('getLogFileContents', () => {
669
- it('should read full file content when tailOnly is false and no maxBytes', async () => {
670
- const mockFileContent = 'This is a full log file content\nLine 2\nLine 3\nLine 4';
671
- mockWebdavClient.getFileContents.mockResolvedValue(mockFileContent);
672
-
673
- const result = await logClient.getLogFileContents('test.log', undefined, false);
674
-
675
- expect(mockWebdavClient.getFileContents).toHaveBeenCalledWith('test.log', { format: 'text' });
676
- expect(result).toContain('This is a full log file content');
677
- expect(result).toContain('Line 4');
678
- });
679
-
680
- it('should respect maxBytes when tailOnly is false and maxBytes is specified', async () => {
681
- const mockFileContent = 'This is a very long log file content that should be truncated';
682
- const mockStat = { size: 1000 }; // Simulate a large file
683
- mockWebdavClient.stat.mockResolvedValue(mockStat);
684
-
685
- // Mock the stream for range request from start
686
- const mockStream = {
687
- on: jest.fn((event, callback) => {
688
- if (event === 'data') {
689
- callback(Buffer.from(mockFileContent.substring(0, 50))); // First 50 bytes
690
- } else if (event === 'end') {
691
- callback();
692
- }
693
- }),
694
- };
695
- mockWebdavClient.createReadStream.mockReturnValue(mockStream);
696
-
697
- const result = await logClient.getLogFileContents('test.log', 50, false);
698
-
699
- expect(mockWebdavClient.stat).toHaveBeenCalledWith('test.log');
700
- expect(mockWebdavClient.createReadStream).toHaveBeenCalledWith('test.log', {
701
- range: { start: 0, end: 49 },
702
- });
703
- expect(result).toContain('This is a very long log file content that should');
704
- });
705
-
706
- it('should read tail content when tailOnly is true', async () => {
707
- const mockFileContent = 'Tail content from the end of the file';
708
- const mockStat = { size: 1000 };
709
- mockWebdavClient.stat.mockResolvedValue(mockStat);
710
-
711
- // Mock the stream for range request
712
- const mockStream = {
713
- on: jest.fn((event, callback) => {
714
- if (event === 'data') {
715
- callback(Buffer.from(mockFileContent));
716
- } else if (event === 'end') {
717
- callback();
718
- }
719
- }),
720
- };
721
- mockWebdavClient.createReadStream.mockReturnValue(mockStream);
722
-
723
- const result = await logClient.getLogFileContents('test.log', 200, true);
724
-
725
- expect(mockWebdavClient.stat).toHaveBeenCalledWith('test.log');
726
- expect(mockWebdavClient.createReadStream).toHaveBeenCalledWith('test.log', {
727
- range: { start: 800, end: 999 },
728
- });
729
- expect(result).toContain('Tail content from the end');
730
- });
731
-
732
- it('should handle file that is smaller than maxBytes when using tail', async () => {
733
- const mockFileContent = 'Small file';
734
- const mockStat = { size: 10 };
735
- mockWebdavClient.stat.mockResolvedValue(mockStat);
736
- mockWebdavClient.getFileContents.mockResolvedValue(mockFileContent);
737
-
738
- const result = await logClient.getLogFileContents('test.log', 200, true);
739
-
740
- // Should read full file since it's smaller than maxBytes
741
- expect(mockWebdavClient.getFileContents).toHaveBeenCalledWith('test.log', { format: 'text' });
742
- expect(result).toContain('Small file');
743
- });
744
- });
745
-
746
- describe('error handling', () => {
747
- it('should handle WebDAV connection errors in getLogFiles', async () => {
748
- mockWebdavClient.getDirectoryContents.mockRejectedValue(new Error('Connection failed'));
749
-
750
- await expect(logClient.getLogFiles()).rejects.toThrow('Connection failed');
751
- });
752
-
753
- it('should handle file read errors gracefully in getLatestLogs', async () => {
754
- const mockContents = [
755
- { type: 'file', filename: 'error-20250815-blade1-001.log' },
756
- ];
757
- mockWebdavClient.getDirectoryContents.mockResolvedValue(mockContents);
758
- mockWebdavClient.getFileContents.mockRejectedValue(new Error('File not found'));
759
-
760
- // Should not throw error but handle gracefully and return empty result
761
- const result = await logClient.getLatestLogs('error' as LogLevel, 10, '20250815');
762
-
763
- expect(result).toContain('Latest 10 error messages from files');
764
- expect(result).toContain('error-20250815-blade1-001.log');
765
- // Should handle the error gracefully and continue
766
- });
767
- });
768
- });