sfcc-dev-mcp 1.0.19 → 1.0.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/clients/logs/index.d.ts +13 -0
- package/dist/clients/logs/index.d.ts.map +1 -0
- package/dist/clients/logs/index.js +15 -0
- package/dist/clients/logs/index.js.map +1 -0
- package/dist/clients/logs/log-analyzer.d.ts +55 -0
- package/dist/clients/logs/log-analyzer.d.ts.map +1 -0
- package/dist/clients/logs/log-analyzer.js +228 -0
- package/dist/clients/logs/log-analyzer.js.map +1 -0
- package/dist/clients/logs/log-client.d.ts +87 -0
- package/dist/clients/logs/log-client.d.ts.map +1 -0
- package/dist/clients/logs/log-client.js +418 -0
- package/dist/clients/logs/log-client.js.map +1 -0
- package/dist/clients/logs/log-constants.d.ts +37 -0
- package/dist/clients/logs/log-constants.d.ts.map +1 -0
- package/dist/clients/logs/log-constants.js +37 -0
- package/dist/clients/logs/log-constants.js.map +1 -0
- package/dist/clients/logs/log-file-discovery.d.ts +64 -0
- package/dist/clients/logs/log-file-discovery.d.ts.map +1 -0
- package/dist/clients/logs/log-file-discovery.js +249 -0
- package/dist/clients/logs/log-file-discovery.js.map +1 -0
- package/dist/clients/logs/log-file-reader.d.ts +55 -0
- package/dist/clients/logs/log-file-reader.d.ts.map +1 -0
- package/dist/clients/logs/log-file-reader.js +207 -0
- package/dist/clients/logs/log-file-reader.js.map +1 -0
- package/dist/clients/logs/log-formatter.d.ts +90 -0
- package/dist/clients/logs/log-formatter.d.ts.map +1 -0
- package/dist/clients/logs/log-formatter.js +189 -0
- package/dist/clients/logs/log-formatter.js.map +1 -0
- package/dist/clients/logs/log-processor.d.ts +91 -0
- package/dist/clients/logs/log-processor.d.ts.map +1 -0
- package/dist/clients/logs/log-processor.js +328 -0
- package/dist/clients/logs/log-processor.js.map +1 -0
- package/dist/clients/logs/log-types.d.ts +58 -0
- package/dist/clients/logs/log-types.d.ts.map +1 -0
- package/dist/clients/logs/log-types.js +8 -0
- package/dist/clients/logs/log-types.js.map +1 -0
- package/dist/clients/logs/webdav-client-manager.d.ts +28 -0
- package/dist/clients/logs/webdav-client-manager.d.ts.map +1 -0
- package/dist/clients/logs/webdav-client-manager.js +77 -0
- package/dist/clients/logs/webdav-client-manager.js.map +1 -0
- package/dist/docs/dw_customer/CustomerMgr.md +3 -3
- package/dist/docs/dw_customer/Wallet.md +25 -0
- package/dist/docs/dw_extensions.payments/SalesforceAdyenPaymentIntent.md +156 -0
- package/dist/docs/dw_extensions.payments/SalesforceAdyenSavedPaymentMethod.md +258 -0
- package/dist/docs/dw_extensions.payments/SalesforcePayPalOrder.md +36 -0
- package/dist/docs/dw_extensions.payments/SalesforcePaymentIntent.md +1 -1
- package/dist/docs/dw_extensions.payments/SalesforcePaymentsHooks.md +68 -1
- package/dist/docs/dw_extensions.payments/SalesforcePaymentsMerchantAccount.md +154 -0
- package/dist/docs/dw_extensions.payments/SalesforcePaymentsMerchantAccountPaymentMethod.md +96 -0
- package/dist/docs/dw_extensions.payments/SalesforcePaymentsMgr.md +311 -2
- package/dist/docs/dw_extensions.payments/SalesforcePaymentsSiteConfiguration.md +26 -0
- package/dist/docs/dw_extensions.payments/SalesforcePaymentsZone.md +458 -0
- package/dist/docs/dw_order/OrderMgr.md +3 -3
- package/dist/docs/dw_order.hooks/BasketMergeHooks.md +4 -4
- package/dist/docs/dw_order.hooks/CheckoutHooks.md +42 -0
- package/dist/utils/path-resolver.d.ts +5 -0
- package/dist/utils/path-resolver.d.ts.map +1 -1
- package/dist/utils/path-resolver.js +27 -5
- package/dist/utils/path-resolver.js.map +1 -1
- package/package.json +9 -3
- package/.github/ISSUE_TEMPLATE/bug_report.yml +0 -131
- package/.github/ISSUE_TEMPLATE/config.yml +0 -9
- package/.github/ISSUE_TEMPLATE/documentation.yml +0 -117
- package/.github/ISSUE_TEMPLATE/feature_request.yml +0 -151
- package/.github/ISSUE_TEMPLATE/question.yml +0 -102
- package/.github/PULL_REQUEST_TEMPLATE/bug_fix.md +0 -59
- package/.github/PULL_REQUEST_TEMPLATE/documentation.md +0 -48
- package/.github/PULL_REQUEST_TEMPLATE/new_tool.md +0 -55
- package/.github/agents/official-docs-researcher.agent.md +0 -56
- package/.github/dependabot.yml +0 -65
- package/.github/instructions/mcp-node-tests.instructions.md +0 -30
- package/.github/instructions/mcp-yml-tests.instructions.md +0 -27
- package/.github/pull_request_template.md +0 -103
- package/.github/skills/agent-authoring/SKILL.md +0 -66
- package/.github/skills/mcp-log-debugging/SKILL.md +0 -69
- package/.github/skills/mcp-programmatic-testing/SKILL.md +0 -142
- package/.github/skills/mcp-yaml-testing/SKILL.md +0 -136
- package/.github/skills/salesforce-developer-site-scraper/SKILL.md +0 -102
- package/.github/skills/salesforce-developer-site-scraper/scripts/scrape-to-markdown.js +0 -205
- package/.github/skills/salesforce-help-site-scraper/SKILL.md +0 -84
- package/.github/skills/salesforce-help-site-scraper/scripts/scrape-help-to-markdown.js +0 -212
- package/.github/skills/skill-authoring/SKILL.md +0 -228
- package/.github/skills/skill-authoring/references/PATTERNS.md +0 -384
- package/.github/workflows/ci.yml +0 -103
- package/.github/workflows/deploy-pages.yml +0 -59
- package/.github/workflows/publish.yml +0 -112
- package/.github/workflows/update-docs.yml +0 -182
- package/.husky/pre-commit +0 -2
- package/AGENTS.md +0 -638
- package/CONTRIBUTING.md +0 -323
- package/SECURITY.md +0 -148
- package/aegis.config.docs-only.json +0 -9
- package/aegis.config.json +0 -12
- package/aegis.config.with-dw.json +0 -15
- package/ai-instructions/AGENTS.md +0 -628
- package/ai-instructions/skills/sfcc-caching/SKILL.md +0 -89
- package/ai-instructions/skills/sfcc-cartridge-development/SKILL.md +0 -240
- package/ai-instructions/skills/sfcc-forms-development/SKILL.md +0 -261
- package/ai-instructions/skills/sfcc-forms-development/references/ARCHITECTURE-SGJC-SFRA.md +0 -143
- package/ai-instructions/skills/sfcc-forms-development/references/FORM-XML-CHEATSHEET.md +0 -127
- package/ai-instructions/skills/sfcc-fraud-prevention/SKILL.md +0 -95
- package/ai-instructions/skills/sfcc-hooks-registration/SKILL.md +0 -39
- package/ai-instructions/skills/sfcc-isml-development/SKILL.md +0 -370
- package/ai-instructions/skills/sfcc-isml-development/references/REMOTE-INCLUDES.md +0 -116
- package/ai-instructions/skills/sfcc-isml-development/references/SFRA-LAYOUTS.md +0 -50
- package/ai-instructions/skills/sfcc-isml-development/references/SFRA-PAGES-CART-ACCOUNT-AUTH.md +0 -45
- package/ai-instructions/skills/sfcc-isml-development/references/SFRA-PAGES-CATALOG.md +0 -85
- package/ai-instructions/skills/sfcc-isml-development/references/SFRA-STRUCTURE-COMPONENTS.md +0 -63
- package/ai-instructions/skills/sfcc-isml-development/references/UTILITIES-EXPRESSIONS.md +0 -159
- package/ai-instructions/skills/sfcc-isml-development/references/sfra-base-templates-architecture.md +0 -13
- package/ai-instructions/skills/sfcc-job-development/SKILL.md +0 -334
- package/ai-instructions/skills/sfcc-job-development/references/CHUNK-ORIENTED.md +0 -393
- package/ai-instructions/skills/sfcc-job-development/references/STEPTYPES-JSON.md +0 -271
- package/ai-instructions/skills/sfcc-job-development/references/TASK-ORIENTED.md +0 -257
- package/ai-instructions/skills/sfcc-localization/SKILL.md +0 -92
- package/ai-instructions/skills/sfcc-localization/references/CONTROLLERS.md +0 -63
- package/ai-instructions/skills/sfcc-localization/references/FORMATTING.md +0 -29
- package/ai-instructions/skills/sfcc-localization/references/FORMS-LOCALIZATION.md +0 -33
- package/ai-instructions/skills/sfcc-localization/references/JAVASCRIPT-LOCALIZATION.md +0 -41
- package/ai-instructions/skills/sfcc-localization/references/LOCALE-SWITCHING.md +0 -35
- package/ai-instructions/skills/sfcc-localization/references/PATTERNS.md +0 -740
- package/ai-instructions/skills/sfcc-localization/references/PROPERTIES-ENCODING.md +0 -25
- package/ai-instructions/skills/sfcc-localization/references/RESOURCE-BUNDLES.md +0 -67
- package/ai-instructions/skills/sfcc-localization/references/STATIC-FILES.md +0 -23
- package/ai-instructions/skills/sfcc-localization/references/TESTING.md +0 -21
- package/ai-instructions/skills/sfcc-localserviceregistry/SKILL.md +0 -374
- package/ai-instructions/skills/sfcc-logging/SKILL.md +0 -352
- package/ai-instructions/skills/sfcc-logging/references/LOG-FILES.md +0 -282
- package/ai-instructions/skills/sfcc-ocapi-hooks/SKILL.md +0 -350
- package/ai-instructions/skills/sfcc-ocapi-scapi-slas/SKILL.md +0 -108
- package/ai-instructions/skills/sfcc-page-designer/SKILL.md +0 -353
- package/ai-instructions/skills/sfcc-page-designer/references/ATTRIBUTE-TYPES.md +0 -436
- package/ai-instructions/skills/sfcc-page-designer/references/META-DEFINITIONS.md +0 -322
- package/ai-instructions/skills/sfcc-performance/SKILL.md +0 -424
- package/ai-instructions/skills/sfcc-platform-limits/SKILL.md +0 -89
- package/ai-instructions/skills/sfcc-scapi-custom-endpoints/SKILL.md +0 -237
- package/ai-instructions/skills/sfcc-scapi-custom-endpoints/references/AUTHENTICATION.md +0 -214
- package/ai-instructions/skills/sfcc-scapi-custom-endpoints/references/URL-MAPPING.md +0 -253
- package/ai-instructions/skills/sfcc-scapi-hooks/SKILL.md +0 -341
- package/ai-instructions/skills/sfcc-script-evaluation/SKILL.md +0 -380
- package/ai-instructions/skills/sfcc-security/SKILL.md +0 -394
- package/ai-instructions/skills/sfcc-sfra-client-side-js/SKILL.md +0 -270
- package/ai-instructions/skills/sfcc-sfra-client-side-js/references/AJAX-CSRF-VALIDATION.md +0 -285
- package/ai-instructions/skills/sfcc-sfra-client-side-js/references/BASE-MODULE-INDEX.md +0 -206
- package/ai-instructions/skills/sfcc-sfra-client-side-js/references/EXTENSION-PATTERNS.md +0 -165
- package/ai-instructions/skills/sfcc-sfra-client-side-js/references/PLUGIN-PATTERNS.md +0 -185
- package/ai-instructions/skills/sfcc-sfra-controllers/SKILL.md +0 -347
- package/ai-instructions/skills/sfcc-sfra-controllers/references/MIDDLEWARE-REFERENCE.md +0 -257
- package/ai-instructions/skills/sfcc-sfra-controllers/references/REMOTE-INCLUDES.md +0 -193
- package/ai-instructions/skills/sfcc-sfra-controllers/references/standard-sfra-controllers.md +0 -814
- package/ai-instructions/skills/sfcc-sfra-models/SKILL.md +0 -322
- package/ai-instructions/skills/sfcc-sfra-models/references/MODEL-PATTERNS.md +0 -530
- package/ai-instructions/skills/sfcc-sfra-models/references/MODEL-STRUCTURE.md +0 -234
- package/ai-instructions/skills/sfcc-sfra-models/references/TESTING-SECURITY.md +0 -417
- package/ai-instructions/skills/sfcc-sfra-scss/SKILL.md +0 -393
- package/ai-instructions/skills/sfcc-webdav-workflows/SKILL.md +0 -111
- package/docs/TopLevel/APIException.md +0 -68
- package/docs/TopLevel/Array.md +0 -897
- package/docs/TopLevel/ArrayBuffer.md +0 -79
- package/docs/TopLevel/BigInt.md +0 -132
- package/docs/TopLevel/Boolean.md +0 -62
- package/docs/TopLevel/ConversionError.md +0 -23
- package/docs/TopLevel/DataView.md +0 -352
- package/docs/TopLevel/Date.md +0 -924
- package/docs/TopLevel/ES6Iterator.md +0 -33
- package/docs/TopLevel/Error.md +0 -88
- package/docs/TopLevel/EvalError.md +0 -23
- package/docs/TopLevel/Fault.md +0 -87
- package/docs/TopLevel/Float32Array.md +0 -130
- package/docs/TopLevel/Float64Array.md +0 -130
- package/docs/TopLevel/Function.md +0 -105
- package/docs/TopLevel/Generator.md +0 -78
- package/docs/TopLevel/IOError.md +0 -62
- package/docs/TopLevel/Int16Array.md +0 -130
- package/docs/TopLevel/Int32Array.md +0 -130
- package/docs/TopLevel/Int8Array.md +0 -130
- package/docs/TopLevel/InternalError.md +0 -23
- package/docs/TopLevel/Iterable.md +0 -41
- package/docs/TopLevel/Iterator.md +0 -48
- package/docs/TopLevel/JSON.md +0 -162
- package/docs/TopLevel/Map.md +0 -216
- package/docs/TopLevel/Math.md +0 -913
- package/docs/TopLevel/Module.md +0 -45
- package/docs/TopLevel/Namespace.md +0 -96
- package/docs/TopLevel/Number.md +0 -417
- package/docs/TopLevel/Object.md +0 -641
- package/docs/TopLevel/QName.md +0 -96
- package/docs/TopLevel/RangeError.md +0 -23
- package/docs/TopLevel/ReferenceError.md +0 -23
- package/docs/TopLevel/RegExp.md +0 -109
- package/docs/TopLevel/Set.md +0 -165
- package/docs/TopLevel/StopIteration.md +0 -20
- package/docs/TopLevel/String.md +0 -1299
- package/docs/TopLevel/Symbol.md +0 -78
- package/docs/TopLevel/SyntaxError.md +0 -23
- package/docs/TopLevel/SystemError.md +0 -62
- package/docs/TopLevel/TypeError.md +0 -23
- package/docs/TopLevel/URIError.md +0 -23
- package/docs/TopLevel/Uint16Array.md +0 -130
- package/docs/TopLevel/Uint32Array.md +0 -130
- package/docs/TopLevel/Uint8Array.md +0 -130
- package/docs/TopLevel/Uint8ClampedArray.md +0 -130
- package/docs/TopLevel/WeakMap.md +0 -137
- package/docs/TopLevel/WeakSet.md +0 -92
- package/docs/TopLevel/XML.md +0 -937
- package/docs/TopLevel/XMLList.md +0 -484
- package/docs/TopLevel/XMLStreamError.md +0 -74
- package/docs/TopLevel/arguments.md +0 -34
- package/docs/TopLevel/global.md +0 -474
- package/docs/dw_campaign/ABTest.md +0 -47
- package/docs/dw_campaign/ABTestMgr.md +0 -70
- package/docs/dw_campaign/ABTestSegment.md +0 -96
- package/docs/dw_campaign/AmountDiscount.md +0 -51
- package/docs/dw_campaign/ApproachingDiscount.md +0 -124
- package/docs/dw_campaign/BonusChoiceDiscount.md +0 -146
- package/docs/dw_campaign/BonusDiscount.md +0 -48
- package/docs/dw_campaign/Campaign.md +0 -365
- package/docs/dw_campaign/CampaignMgr.md +0 -395
- package/docs/dw_campaign/CampaignStatusCodes.md +0 -48
- package/docs/dw_campaign/Coupon.md +0 -310
- package/docs/dw_campaign/CouponMgr.md +0 -144
- package/docs/dw_campaign/CouponRedemption.md +0 -94
- package/docs/dw_campaign/CouponStatusCodes.md +0 -86
- package/docs/dw_campaign/Discount.md +0 -226
- package/docs/dw_campaign/DiscountPlan.md +0 -282
- package/docs/dw_campaign/FixedPriceDiscount.md +0 -52
- package/docs/dw_campaign/FixedPriceShippingDiscount.md +0 -52
- package/docs/dw_campaign/FreeDiscount.md +0 -17
- package/docs/dw_campaign/FreeShippingDiscount.md +0 -17
- package/docs/dw_campaign/PercentageDiscount.md +0 -52
- package/docs/dw_campaign/PercentageOptionDiscount.md +0 -48
- package/docs/dw_campaign/PriceBookPriceDiscount.md +0 -47
- package/docs/dw_campaign/Promotion.md +0 -874
- package/docs/dw_campaign/PromotionMgr.md +0 -386
- package/docs/dw_campaign/PromotionPlan.md +0 -330
- package/docs/dw_campaign/SlotContent.md +0 -144
- package/docs/dw_campaign/SourceCodeGroup.md +0 -72
- package/docs/dw_campaign/SourceCodeInfo.md +0 -144
- package/docs/dw_campaign/SourceCodeStatusCodes.md +0 -36
- package/docs/dw_campaign/TotalFixedPriceDiscount.md +0 -47
- package/docs/dw_catalog/Catalog.md +0 -122
- package/docs/dw_catalog/CatalogMgr.md +0 -182
- package/docs/dw_catalog/Category.md +0 -1308
- package/docs/dw_catalog/CategoryAssignment.md +0 -192
- package/docs/dw_catalog/CategoryLink.md +0 -126
- package/docs/dw_catalog/PriceBook.md +0 -242
- package/docs/dw_catalog/PriceBookMgr.md +0 -204
- package/docs/dw_catalog/Product.md +0 -2593
- package/docs/dw_catalog/ProductActiveData.md +0 -1275
- package/docs/dw_catalog/ProductAttributeModel.md +0 -277
- package/docs/dw_catalog/ProductAvailabilityLevels.md +0 -142
- package/docs/dw_catalog/ProductAvailabilityModel.md +0 -380
- package/docs/dw_catalog/ProductInventoryList.md +0 -140
- package/docs/dw_catalog/ProductInventoryMgr.md +0 -117
- package/docs/dw_catalog/ProductInventoryRecord.md +0 -563
- package/docs/dw_catalog/ProductLink.md +0 -144
- package/docs/dw_catalog/ProductMgr.md +0 -138
- package/docs/dw_catalog/ProductOption.md +0 -214
- package/docs/dw_catalog/ProductOptionModel.md +0 -246
- package/docs/dw_catalog/ProductOptionValue.md +0 -123
- package/docs/dw_catalog/ProductPriceInfo.md +0 -172
- package/docs/dw_catalog/ProductPriceModel.md +0 -745
- package/docs/dw_catalog/ProductPriceTable.md +0 -134
- package/docs/dw_catalog/ProductSearchHit.md +0 -581
- package/docs/dw_catalog/ProductSearchModel.md +0 -2018
- package/docs/dw_catalog/ProductSearchRefinementDefinition.md +0 -97
- package/docs/dw_catalog/ProductSearchRefinementValue.md +0 -73
- package/docs/dw_catalog/ProductSearchRefinements.md +0 -216
- package/docs/dw_catalog/ProductVariationAttribute.md +0 -100
- package/docs/dw_catalog/ProductVariationAttributeValue.md +0 -238
- package/docs/dw_catalog/ProductVariationModel.md +0 -849
- package/docs/dw_catalog/Recommendation.md +0 -314
- package/docs/dw_catalog/SearchModel.md +0 -901
- package/docs/dw_catalog/SearchRefinementDefinition.md +0 -146
- package/docs/dw_catalog/SearchRefinementValue.md +0 -185
- package/docs/dw_catalog/SearchRefinements.md +0 -180
- package/docs/dw_catalog/SortingOption.md +0 -120
- package/docs/dw_catalog/SortingRule.md +0 -47
- package/docs/dw_catalog/Store.md +0 -562
- package/docs/dw_catalog/StoreGroup.md +0 -96
- package/docs/dw_catalog/StoreInventoryFilter.md +0 -74
- package/docs/dw_catalog/StoreInventoryFilterValue.md +0 -74
- package/docs/dw_catalog/StoreMgr.md +0 -236
- package/docs/dw_catalog/Variant.md +0 -859
- package/docs/dw_catalog/VariationGroup.md +0 -792
- package/docs/dw_content/Content.md +0 -534
- package/docs/dw_content/ContentMgr.md +0 -166
- package/docs/dw_content/ContentSearchModel.md +0 -682
- package/docs/dw_content/ContentSearchRefinementDefinition.md +0 -49
- package/docs/dw_content/ContentSearchRefinementValue.md +0 -17
- package/docs/dw_content/ContentSearchRefinements.md +0 -208
- package/docs/dw_content/Folder.md +0 -467
- package/docs/dw_content/Library.md +0 -121
- package/docs/dw_content/MarkupText.md +0 -88
- package/docs/dw_content/MediaFile.md +0 -317
- package/docs/dw_crypto/CertificateRef.md +0 -42
- package/docs/dw_crypto/CertificateUtils.md +0 -187
- package/docs/dw_crypto/Cipher.md +0 -530
- package/docs/dw_crypto/Encoding.md +0 -220
- package/docs/dw_crypto/JWE.md +0 -224
- package/docs/dw_crypto/JWEHeader.md +0 -172
- package/docs/dw_crypto/JWS.md +0 -264
- package/docs/dw_crypto/JWSHeader.md +0 -148
- package/docs/dw_crypto/KeyRef.md +0 -44
- package/docs/dw_crypto/Mac.md +0 -139
- package/docs/dw_crypto/MessageDigest.md +0 -175
- package/docs/dw_crypto/SecureRandom.md +0 -148
- package/docs/dw_crypto/Signature.md +0 -252
- package/docs/dw_crypto/WeakCipher.md +0 -538
- package/docs/dw_crypto/WeakMac.md +0 -121
- package/docs/dw_crypto/WeakMessageDigest.md +0 -163
- package/docs/dw_crypto/WeakSignature.md +0 -242
- package/docs/dw_crypto/X509Certificate.md +0 -193
- package/docs/dw_customer/AddressBook.md +0 -163
- package/docs/dw_customer/AgentUserMgr.md +0 -83
- package/docs/dw_customer/AgentUserStatusCodes.md +0 -96
- package/docs/dw_customer/AuthenticationStatus.md +0 -138
- package/docs/dw_customer/Credentials.md +0 -494
- package/docs/dw_customer/Customer.md +0 -571
- package/docs/dw_customer/CustomerActiveData.md +0 -552
- package/docs/dw_customer/CustomerAddress.md +0 -852
- package/docs/dw_customer/CustomerCDPData.md +0 -70
- package/docs/dw_customer/CustomerContextMgr.md +0 -64
- package/docs/dw_customer/CustomerGroup.md +0 -134
- package/docs/dw_customer/CustomerList.md +0 -71
- package/docs/dw_customer/CustomerMgr.md +0 -735
- package/docs/dw_customer/CustomerPasswordConstraints.md +0 -142
- package/docs/dw_customer/CustomerPaymentInstrument.md +0 -125
- package/docs/dw_customer/CustomerStatusCodes.md +0 -30
- package/docs/dw_customer/EncryptedObject.md +0 -18
- package/docs/dw_customer/ExternalProfile.md +0 -160
- package/docs/dw_customer/OrderHistory.md +0 -111
- package/docs/dw_customer/ProductList.md +0 -1000
- package/docs/dw_customer/ProductListItem.md +0 -504
- package/docs/dw_customer/ProductListItemPurchase.md +0 -145
- package/docs/dw_customer/ProductListMgr.md +0 -234
- package/docs/dw_customer/ProductListRegistrant.md +0 -193
- package/docs/dw_customer/Profile.md +0 -1128
- package/docs/dw_customer/Wallet.md +0 -118
- package/docs/dw_extensions.applepay/ApplePayHookResult.md +0 -209
- package/docs/dw_extensions.applepay/ApplePayHooks.md +0 -255
- package/docs/dw_extensions.facebook/FacebookFeedHooks.md +0 -47
- package/docs/dw_extensions.facebook/FacebookProduct.md +0 -1621
- package/docs/dw_extensions.paymentrequest/PaymentRequestHookResult.md +0 -159
- package/docs/dw_extensions.paymentrequest/PaymentRequestHooks.md +0 -160
- package/docs/dw_extensions.payments/SalesforceBancontactPaymentDetails.md +0 -79
- package/docs/dw_extensions.payments/SalesforceCardPaymentDetails.md +0 -103
- package/docs/dw_extensions.payments/SalesforceEpsPaymentDetails.md +0 -51
- package/docs/dw_extensions.payments/SalesforceIdealPaymentDetails.md +0 -51
- package/docs/dw_extensions.payments/SalesforceKlarnaPaymentDetails.md +0 -51
- package/docs/dw_extensions.payments/SalesforcePayPalOrder.md +0 -246
- package/docs/dw_extensions.payments/SalesforcePayPalOrderAddress.md +0 -191
- package/docs/dw_extensions.payments/SalesforcePayPalOrderPayer.md +0 -118
- package/docs/dw_extensions.payments/SalesforcePayPalPaymentDetails.md +0 -79
- package/docs/dw_extensions.payments/SalesforcePaymentDetails.md +0 -57
- package/docs/dw_extensions.payments/SalesforcePaymentIntent.md +0 -281
- package/docs/dw_extensions.payments/SalesforcePaymentMethod.md +0 -346
- package/docs/dw_extensions.payments/SalesforcePaymentRequest.md +0 -784
- package/docs/dw_extensions.payments/SalesforcePaymentsHooks.md +0 -45
- package/docs/dw_extensions.payments/SalesforcePaymentsMgr.md +0 -634
- package/docs/dw_extensions.payments/SalesforcePaymentsSiteConfiguration.md +0 -95
- package/docs/dw_extensions.payments/SalesforceSepaDebitPaymentDetails.md +0 -51
- package/docs/dw_extensions.payments/SalesforceVenmoPaymentDetails.md +0 -79
- package/docs/dw_extensions.pinterest/PinterestAvailability.md +0 -86
- package/docs/dw_extensions.pinterest/PinterestFeedHooks.md +0 -69
- package/docs/dw_extensions.pinterest/PinterestOrder.md +0 -232
- package/docs/dw_extensions.pinterest/PinterestOrderHooks.md +0 -45
- package/docs/dw_extensions.pinterest/PinterestProduct.md +0 -850
- package/docs/dw_io/CSVStreamReader.md +0 -80
- package/docs/dw_io/CSVStreamWriter.md +0 -60
- package/docs/dw_io/File.md +0 -614
- package/docs/dw_io/FileReader.md +0 -41
- package/docs/dw_io/FileWriter.md +0 -103
- package/docs/dw_io/InputStream.md +0 -34
- package/docs/dw_io/OutputStream.md +0 -34
- package/docs/dw_io/PrintWriter.md +0 -71
- package/docs/dw_io/RandomAccessFileReader.md +0 -173
- package/docs/dw_io/Reader.md +0 -274
- package/docs/dw_io/StringWriter.md +0 -81
- package/docs/dw_io/Writer.md +0 -92
- package/docs/dw_io/XMLIndentingStreamWriter.md +0 -112
- package/docs/dw_io/XMLStreamConstants.md +0 -114
- package/docs/dw_io/XMLStreamReader.md +0 -1043
- package/docs/dw_io/XMLStreamWriter.md +0 -572
- package/docs/dw_job/JobExecution.md +0 -107
- package/docs/dw_job/JobStepExecution.md +0 -151
- package/docs/dw_net/FTPClient.md +0 -699
- package/docs/dw_net/FTPFileInfo.md +0 -122
- package/docs/dw_net/HTTPClient.md +0 -831
- package/docs/dw_net/HTTPClientLoggingConfig.md +0 -296
- package/docs/dw_net/HTTPRequestPart.md +0 -206
- package/docs/dw_net/Mail.md +0 -551
- package/docs/dw_net/SFTPClient.md +0 -591
- package/docs/dw_net/SFTPFileInfo.md +0 -122
- package/docs/dw_net/WebDAVClient.md +0 -715
- package/docs/dw_net/WebDAVFileInfo.md +0 -184
- package/docs/dw_object/ActiveData.md +0 -75
- package/docs/dw_object/CustomAttributes.md +0 -16
- package/docs/dw_object/CustomObject.md +0 -73
- package/docs/dw_object/CustomObjectMgr.md +0 -291
- package/docs/dw_object/Extensible.md +0 -64
- package/docs/dw_object/ExtensibleObject.md +0 -68
- package/docs/dw_object/Note.md +0 -121
- package/docs/dw_object/ObjectAttributeDefinition.md +0 -481
- package/docs/dw_object/ObjectAttributeGroup.md +0 -170
- package/docs/dw_object/ObjectAttributeValueDefinition.md +0 -72
- package/docs/dw_object/ObjectTypeDefinition.md +0 -216
- package/docs/dw_object/PersistentObject.md +0 -94
- package/docs/dw_object/SimpleExtensible.md +0 -46
- package/docs/dw_object/SystemObjectMgr.md +0 -153
- package/docs/dw_order/AbstractItem.md +0 -244
- package/docs/dw_order/AbstractItemCtnr.md +0 -240
- package/docs/dw_order/Appeasement.md +0 -367
- package/docs/dw_order/AppeasementItem.md +0 -90
- package/docs/dw_order/Basket.md +0 -362
- package/docs/dw_order/BasketMgr.md +0 -418
- package/docs/dw_order/BonusDiscountLineItem.md +0 -248
- package/docs/dw_order/CouponLineItem.md +0 -272
- package/docs/dw_order/CreateAgentBasketLimitExceededException.md +0 -18
- package/docs/dw_order/CreateBasketFromOrderException.md +0 -26
- package/docs/dw_order/CreateCouponLineItemException.md +0 -26
- package/docs/dw_order/CreateOrderException.md +0 -18
- package/docs/dw_order/CreateTemporaryBasketLimitExceededException.md +0 -18
- package/docs/dw_order/GiftCertificate.md +0 -569
- package/docs/dw_order/GiftCertificateLineItem.md +0 -324
- package/docs/dw_order/GiftCertificateMgr.md +0 -197
- package/docs/dw_order/GiftCertificateStatusCodes.md +0 -60
- package/docs/dw_order/Invoice.md +0 -418
- package/docs/dw_order/InvoiceItem.md +0 -222
- package/docs/dw_order/LineItem.md +0 -532
- package/docs/dw_order/LineItemCtnr.md +0 -2431
- package/docs/dw_order/Order.md +0 -2567
- package/docs/dw_order/OrderAddress.md +0 -807
- package/docs/dw_order/OrderItem.md +0 -536
- package/docs/dw_order/OrderMgr.md +0 -535
- package/docs/dw_order/OrderPaymentInstrument.md +0 -220
- package/docs/dw_order/OrderProcessStatusCodes.md +0 -84
- package/docs/dw_order/PaymentCard.md +0 -217
- package/docs/dw_order/PaymentInstrument.md +0 -1462
- package/docs/dw_order/PaymentMethod.md +0 -242
- package/docs/dw_order/PaymentMgr.md +0 -117
- package/docs/dw_order/PaymentProcessor.md +0 -70
- package/docs/dw_order/PaymentStatusCodes.md +0 -42
- package/docs/dw_order/PaymentTransaction.md +0 -328
- package/docs/dw_order/PriceAdjustment.md +0 -640
- package/docs/dw_order/PriceAdjustmentLimitTypes.md +0 -38
- package/docs/dw_order/ProductLineItem.md +0 -1821
- package/docs/dw_order/ProductShippingCost.md +0 -96
- package/docs/dw_order/ProductShippingLineItem.md +0 -326
- package/docs/dw_order/ProductShippingModel.md +0 -125
- package/docs/dw_order/Return.md +0 -360
- package/docs/dw_order/ReturnCase.md +0 -400
- package/docs/dw_order/ReturnCaseItem.md +0 -373
- package/docs/dw_order/ReturnItem.md +0 -362
- package/docs/dw_order/Shipment.md +0 -1251
- package/docs/dw_order/ShipmentShippingCost.md +0 -46
- package/docs/dw_order/ShipmentShippingModel.md +0 -146
- package/docs/dw_order/ShippingLineItem.md +0 -278
- package/docs/dw_order/ShippingLocation.md +0 -366
- package/docs/dw_order/ShippingMethod.md +0 -266
- package/docs/dw_order/ShippingMgr.md +0 -158
- package/docs/dw_order/ShippingOrder.md +0 -561
- package/docs/dw_order/ShippingOrderItem.md +0 -355
- package/docs/dw_order/SumItem.md +0 -147
- package/docs/dw_order/TaxGroup.md +0 -143
- package/docs/dw_order/TaxItem.md +0 -74
- package/docs/dw_order/TaxMgr.md +0 -227
- package/docs/dw_order/TrackingInfo.md +0 -312
- package/docs/dw_order/TrackingRef.md +0 -113
- package/docs/dw_order.hooks/BasketMergeHooks.md +0 -42
- package/docs/dw_order.hooks/CalculateHooks.md +0 -77
- package/docs/dw_order.hooks/OrderHooks.md +0 -41
- package/docs/dw_order.hooks/PaymentHooks.md +0 -180
- package/docs/dw_order.hooks/ReturnHooks.md +0 -135
- package/docs/dw_order.hooks/ShippingOrderHooks.md +0 -245
- package/docs/dw_rpc/SOAPUtil.md +0 -465
- package/docs/dw_rpc/Stub.md +0 -289
- package/docs/dw_rpc/WebReference.md +0 -83
- package/docs/dw_suggest/BrandSuggestions.md +0 -17
- package/docs/dw_suggest/CategorySuggestions.md +0 -53
- package/docs/dw_suggest/ContentSuggestions.md +0 -53
- package/docs/dw_suggest/CustomSuggestions.md +0 -17
- package/docs/dw_suggest/ProductSuggestions.md +0 -53
- package/docs/dw_suggest/SearchPhraseSuggestions.md +0 -117
- package/docs/dw_suggest/SuggestModel.md +0 -403
- package/docs/dw_suggest/SuggestedCategory.md +0 -46
- package/docs/dw_suggest/SuggestedContent.md +0 -46
- package/docs/dw_suggest/SuggestedPhrase.md +0 -70
- package/docs/dw_suggest/SuggestedProduct.md +0 -47
- package/docs/dw_suggest/SuggestedTerm.md +0 -143
- package/docs/dw_suggest/SuggestedTerms.md +0 -132
- package/docs/dw_suggest/Suggestions.md +0 -179
- package/docs/dw_svc/FTPService.md +0 -118
- package/docs/dw_svc/FTPServiceDefinition.md +0 -69
- package/docs/dw_svc/HTTPFormService.md +0 -18
- package/docs/dw_svc/HTTPFormServiceDefinition.md +0 -18
- package/docs/dw_svc/HTTPService.md +0 -415
- package/docs/dw_svc/HTTPServiceDefinition.md +0 -303
- package/docs/dw_svc/LocalServiceRegistry.md +0 -43
- package/docs/dw_svc/Result.md +0 -303
- package/docs/dw_svc/SOAPService.md +0 -115
- package/docs/dw_svc/SOAPServiceDefinition.md +0 -17
- package/docs/dw_svc/Service.md +0 -295
- package/docs/dw_svc/ServiceCallback.md +0 -268
- package/docs/dw_svc/ServiceConfig.md +0 -120
- package/docs/dw_svc/ServiceCredential.md +0 -156
- package/docs/dw_svc/ServiceDefinition.md +0 -176
- package/docs/dw_svc/ServiceProfile.md +0 -168
- package/docs/dw_svc/ServiceRegistry.md +0 -109
- package/docs/dw_system/AgentUserStatusCodes.md +0 -21
- package/docs/dw_system/Cache.md +0 -102
- package/docs/dw_system/CacheMgr.md +0 -42
- package/docs/dw_system/HookMgr.md +0 -66
- package/docs/dw_system/InternalObject.md +0 -56
- package/docs/dw_system/JobProcessMonitor.md +0 -124
- package/docs/dw_system/Log.md +0 -237
- package/docs/dw_system/LogNDC.md +0 -88
- package/docs/dw_system/Logger.md +0 -263
- package/docs/dw_system/OrganizationPreferences.md +0 -18
- package/docs/dw_system/Pipeline.md +0 -73
- package/docs/dw_system/PipelineDictionary.md +0 -16
- package/docs/dw_system/RESTErrorResponse.md +0 -66
- package/docs/dw_system/RESTResponseMgr.md +0 -258
- package/docs/dw_system/RESTSuccessResponse.md +0 -39
- package/docs/dw_system/RemoteInclude.md +0 -74
- package/docs/dw_system/Request.md +0 -839
- package/docs/dw_system/RequestHooks.md +0 -59
- package/docs/dw_system/Response.md +0 -522
- package/docs/dw_system/SearchStatus.md +0 -151
- package/docs/dw_system/Session.md +0 -476
- package/docs/dw_system/Site.md +0 -585
- package/docs/dw_system/SitePreferences.md +0 -49
- package/docs/dw_system/Status.md +0 -273
- package/docs/dw_system/StatusItem.md +0 -273
- package/docs/dw_system/System.md +0 -200
- package/docs/dw_system/Transaction.md +0 -84
- package/docs/dw_util/ArrayList.md +0 -50
- package/docs/dw_util/Assert.md +0 -391
- package/docs/dw_util/BigInteger.md +0 -326
- package/docs/dw_util/Bytes.md +0 -252
- package/docs/dw_util/Calendar.md +0 -921
- package/docs/dw_util/Collection.md +0 -338
- package/docs/dw_util/Currency.md +0 -163
- package/docs/dw_util/DateUtils.md +0 -86
- package/docs/dw_util/Decimal.md +0 -438
- package/docs/dw_util/FilteringCollection.md +0 -93
- package/docs/dw_util/Geolocation.md +0 -271
- package/docs/dw_util/HashMap.md +0 -43
- package/docs/dw_util/HashSet.md +0 -46
- package/docs/dw_util/Iterator.md +0 -97
- package/docs/dw_util/LinkedHashMap.md +0 -43
- package/docs/dw_util/LinkedHashSet.md +0 -46
- package/docs/dw_util/List.md +0 -519
- package/docs/dw_util/Locale.md +0 -267
- package/docs/dw_util/Map.md +0 -313
- package/docs/dw_util/MapEntry.md +0 -70
- package/docs/dw_util/MappingKey.md +0 -76
- package/docs/dw_util/MappingMgr.md +0 -122
- package/docs/dw_util/PropertyComparator.md +0 -51
- package/docs/dw_util/SecureEncoder.md +0 -350
- package/docs/dw_util/SecureFilter.md +0 -350
- package/docs/dw_util/SeekableIterator.md +0 -176
- package/docs/dw_util/Set.md +0 -19
- package/docs/dw_util/SortedMap.md +0 -148
- package/docs/dw_util/SortedSet.md +0 -151
- package/docs/dw_util/StringUtils.md +0 -753
- package/docs/dw_util/Template.md +0 -88
- package/docs/dw_util/UUIDUtils.md +0 -38
- package/docs/dw_value/EnumValue.md +0 -92
- package/docs/dw_value/MimeEncodedText.md +0 -103
- package/docs/dw_value/Money.md +0 -610
- package/docs/dw_value/Quantity.md +0 -376
- package/docs/dw_web/CSRFProtection.md +0 -83
- package/docs/dw_web/ClickStream.md +0 -157
- package/docs/dw_web/ClickStreamEntry.md +0 -289
- package/docs/dw_web/Cookie.md +0 -396
- package/docs/dw_web/Cookies.md +0 -46
- package/docs/dw_web/Form.md +0 -74
- package/docs/dw_web/FormAction.md +0 -199
- package/docs/dw_web/FormElement.md +0 -220
- package/docs/dw_web/FormElementValidationResult.md +0 -157
- package/docs/dw_web/FormField.md +0 -603
- package/docs/dw_web/FormFieldOption.md +0 -238
- package/docs/dw_web/FormFieldOptions.md +0 -42
- package/docs/dw_web/FormGroup.md +0 -199
- package/docs/dw_web/FormList.md +0 -126
- package/docs/dw_web/FormListItem.md +0 -48
- package/docs/dw_web/Forms.md +0 -16
- package/docs/dw_web/HttpParameter.md +0 -513
- package/docs/dw_web/HttpParameterMap.md +0 -185
- package/docs/dw_web/LoopIterator.md +0 -261
- package/docs/dw_web/PageMetaData.md +0 -230
- package/docs/dw_web/PageMetaTag.md +0 -142
- package/docs/dw_web/PagingModel.md +0 -389
- package/docs/dw_web/Resource.md +0 -126
- package/docs/dw_web/URL.md +0 -213
- package/docs/dw_web/URLAction.md +0 -26
- package/docs/dw_web/URLParameter.md +0 -22
- package/docs/dw_web/URLRedirect.md +0 -71
- package/docs/dw_web/URLRedirectMgr.md +0 -73
- package/docs/dw_web/URLUtils.md +0 -1264
- package/docs/isml/isactivedatacontext.md +0 -382
- package/docs/isml/isactivedatahead.md +0 -566
- package/docs/isml/isanalyticsoff.md +0 -537
- package/docs/isml/isapplepay.md +0 -667
- package/docs/isml/isbreak.md +0 -687
- package/docs/isml/isbuynow.md +0 -682
- package/docs/isml/iscache.md +0 -802
- package/docs/isml/iscomment.md +0 -794
- package/docs/isml/iscomponent.md +0 -797
- package/docs/isml/iscontent.md +0 -594
- package/docs/isml/iscontinue.md +0 -563
- package/docs/isml/iscookie.md +0 -798
- package/docs/isml/isdecorate.md +0 -818
- package/docs/isml/isif.md +0 -737
- package/docs/isml/isinclude.md +0 -874
- package/docs/isml/isloop.md +0 -377
- package/docs/isml/ismodule.md +0 -844
- package/docs/isml/isnext.md +0 -672
- package/docs/isml/isobject.md +0 -760
- package/docs/isml/ispayment.md +0 -577
- package/docs/isml/ispaymentmessages.md +0 -664
- package/docs/isml/isprint.md +0 -875
- package/docs/isml/isredirect.md +0 -716
- package/docs/isml/isremove.md +0 -725
- package/docs/isml/isreplace.md +0 -783
- package/docs/isml/isscript.md +0 -859
- package/docs/isml/isselect.md +0 -908
- package/docs/isml/isset.md +0 -585
- package/docs/isml/isslot.md +0 -824
- package/docs/isml/isstatus.md +0 -711
- package/docs/sfra/account.md +0 -145
- package/docs/sfra/address.md +0 -84
- package/docs/sfra/billing.md +0 -90
- package/docs/sfra/cart.md +0 -134
- package/docs/sfra/categories.md +0 -124
- package/docs/sfra/content.md +0 -133
- package/docs/sfra/locale.md +0 -126
- package/docs/sfra/order.md +0 -219
- package/docs/sfra/payment.md +0 -131
- package/docs/sfra/price-default.md +0 -118
- package/docs/sfra/price-range.md +0 -77
- package/docs/sfra/price-tiered.md +0 -117
- package/docs/sfra/product-bundle.md +0 -164
- package/docs/sfra/product-full.md +0 -179
- package/docs/sfra/product-line-items.md +0 -147
- package/docs/sfra/product-search.md +0 -245
- package/docs/sfra/product-tile.md +0 -95
- package/docs/sfra/querystring.md +0 -240
- package/docs/sfra/render.md +0 -354
- package/docs/sfra/request.md +0 -210
- package/docs/sfra/response.md +0 -391
- package/docs/sfra/server.md +0 -375
- package/docs/sfra/shipping.md +0 -181
- package/docs/sfra/store.md +0 -145
- package/docs/sfra/stores.md +0 -190
- package/docs/sfra/totals.md +0 -184
- package/docs-site-v2/.vitepress/config.mts +0 -190
- package/docs-site-v2/.vitepress/theme/components/AssistantTabs.vue +0 -96
- package/docs-site-v2/.vitepress/theme/components/Callout.vue +0 -10
- package/docs-site-v2/.vitepress/theme/components/Collapsible.vue +0 -14
- package/docs-site-v2/.vitepress/theme/components/DwJsonBuilder.vue +0 -82
- package/docs-site-v2/.vitepress/theme/components/HomeSections.vue +0 -552
- package/docs-site-v2/.vitepress/theme/components/InstructionFilesTabs.vue +0 -87
- package/docs-site-v2/.vitepress/theme/components/ModeTabs.vue +0 -70
- package/docs-site-v2/.vitepress/theme/components/NewcomerCTA.vue +0 -14
- package/docs-site-v2/.vitepress/theme/components/QuickStartCards.vue +0 -20
- package/docs-site-v2/.vitepress/theme/components/QuickStartHero.vue +0 -20
- package/docs-site-v2/.vitepress/theme/components/SkillsList.vue +0 -48
- package/docs-site-v2/.vitepress/theme/components/ToolExplorer.vue +0 -85
- package/docs-site-v2/.vitepress/theme/custom.css +0 -1373
- package/docs-site-v2/.vitepress/theme/index.ts +0 -39
- package/docs-site-v2/data/skills.ts +0 -147
- package/docs-site-v2/data/tools.ts +0 -490
- package/docs-site-v2/development/index.md +0 -151
- package/docs-site-v2/examples/index.md +0 -333
- package/docs-site-v2/features/index.md +0 -144
- package/docs-site-v2/guide/ai-interfaces.md +0 -58
- package/docs-site-v2/guide/configuration.md +0 -208
- package/docs-site-v2/guide/index.md +0 -50
- package/docs-site-v2/index.md +0 -32
- package/docs-site-v2/package-lock.json +0 -2511
- package/docs-site-v2/package.json +0 -15
- package/docs-site-v2/public/404.html +0 -15
- package/docs-site-v2/public/android-chrome-192x192.png +0 -0
- package/docs-site-v2/public/android-chrome-512x512.png +0 -0
- package/docs-site-v2/public/apple-touch-icon.png +0 -0
- package/docs-site-v2/public/explain-product-pricing-methods-no-mcp.png +0 -0
- package/docs-site-v2/public/explain-product-pricing-methods.png +0 -0
- package/docs-site-v2/public/favicon-16x16.png +0 -0
- package/docs-site-v2/public/favicon-32x32.png +0 -0
- package/docs-site-v2/public/favicon.ico +0 -0
- package/docs-site-v2/public/index.css +0 -4174
- package/docs-site-v2/public/llms.txt +0 -44
- package/docs-site-v2/public/logo-dark.svg +0 -8
- package/docs-site-v2/public/logo.svg +0 -8
- package/docs-site-v2/public/robots.txt +0 -20
- package/docs-site-v2/public/site.webmanifest +0 -50
- package/docs-site-v2/public/sitemap.xml +0 -90
- package/docs-site-v2/script-debugger/index.md +0 -105
- package/docs-site-v2/scripts/generate-llms.js +0 -71
- package/docs-site-v2/scripts/generate-sitemap.js +0 -97
- package/docs-site-v2/security/index.md +0 -115
- package/docs-site-v2/skills/index.md +0 -40
- package/docs-site-v2/tools/index.md +0 -36
- package/docs-site-v2/troubleshooting/index.md +0 -204
- package/eslint.config.js +0 -139
- package/jest.config.js +0 -27
- package/memories/repo/docs-site-v2-build.json +0 -11
- package/scripts/convert-docs.js +0 -633
- package/scripts/validate-server-json.js +0 -68
- package/server.json +0 -20
- package/src/clients/agent-instructions-client.ts +0 -370
- package/src/clients/base/abstract-documentation-client.ts +0 -405
- package/src/clients/base/http-client.ts +0 -152
- package/src/clients/base/oauth-token.ts +0 -164
- package/src/clients/base/ocapi-auth-client.ts +0 -133
- package/src/clients/cartridge/cartridge-generation-client.ts +0 -302
- package/src/clients/cartridge/cartridge-structure.ts +0 -37
- package/src/clients/cartridge/cartridge-templates.ts +0 -246
- package/src/clients/cartridge/index.ts +0 -6
- package/src/clients/docs/class-content-parser.ts +0 -308
- package/src/clients/docs/class-name-resolver.ts +0 -99
- package/src/clients/docs/documentation-scanner.ts +0 -255
- package/src/clients/docs/index.ts +0 -16
- package/src/clients/docs/referenced-types-extractor.ts +0 -92
- package/src/clients/docs-client.ts +0 -393
- package/src/clients/isml-client.ts +0 -353
- package/src/clients/log-client.ts +0 -19
- package/src/clients/ocapi/code-versions-client.ts +0 -54
- package/src/clients/ocapi/site-preferences-client.ts +0 -106
- package/src/clients/ocapi/system-objects-client.ts +0 -148
- package/src/clients/ocapi-client.ts +0 -53
- package/src/clients/script-debugger/index.ts +0 -5
- package/src/clients/script-debugger/script-debugger-client.ts +0 -754
- package/src/clients/sfra-client.ts +0 -339
- package/src/config/configuration-factory.ts +0 -201
- package/src/config/dw-json-loader.ts +0 -248
- package/src/config/workspace-roots.ts +0 -540
- package/src/constants/index.ts +0 -1
- package/src/core/handlers/abstract-client-handler.ts +0 -85
- package/src/core/handlers/agent-instructions-handler.ts +0 -48
- package/src/core/handlers/base-handler.ts +0 -172
- package/src/core/handlers/cartridge-handler.ts +0 -38
- package/src/core/handlers/client-factory.ts +0 -140
- package/src/core/handlers/code-version-handler.ts +0 -43
- package/src/core/handlers/docs-handler.ts +0 -19
- package/src/core/handlers/isml-handler.ts +0 -19
- package/src/core/handlers/job-log-handler.ts +0 -39
- package/src/core/handlers/log-handler.ts +0 -39
- package/src/core/handlers/script-debugger-handler.ts +0 -46
- package/src/core/handlers/sfra-handler.ts +0 -23
- package/src/core/handlers/simple-client-handler.ts +0 -78
- package/src/core/handlers/system-object-handler.ts +0 -43
- package/src/core/handlers/validation-helpers.ts +0 -206
- package/src/core/instruction-advisor.ts +0 -122
- package/src/core/server.ts +0 -374
- package/src/core/tool-definitions.ts +0 -30
- package/src/core/tool-schemas/agent-instruction-tools.ts +0 -72
- package/src/core/tool-schemas/cartridge-tools.ts +0 -29
- package/src/core/tool-schemas/code-version-tools.ts +0 -28
- package/src/core/tool-schemas/documentation-tools.ts +0 -104
- package/src/core/tool-schemas/index.ts +0 -27
- package/src/core/tool-schemas/isml-tools.ts +0 -89
- package/src/core/tool-schemas/log-tools.ts +0 -196
- package/src/core/tool-schemas/script-debugger-tools.ts +0 -83
- package/src/core/tool-schemas/sfra-tools.ts +0 -65
- package/src/core/tool-schemas/shared-schemas.ts +0 -158
- package/src/core/tool-schemas/system-object-tools.ts +0 -127
- package/src/index.ts +0 -20
- package/src/main.ts +0 -161
- package/src/services/file-system-service.ts +0 -117
- package/src/services/index.ts +0 -11
- package/src/services/path-service.ts +0 -124
- package/src/tool-configs/agent-instructions-tool-config.ts +0 -83
- package/src/tool-configs/cartridge-tool-config.ts +0 -41
- package/src/tool-configs/code-version-tool-config.ts +0 -37
- package/src/tool-configs/docs-tool-config.ts +0 -103
- package/src/tool-configs/isml-tool-config.ts +0 -87
- package/src/tool-configs/job-log-tool-config.ts +0 -119
- package/src/tool-configs/log-tool-config.ts +0 -110
- package/src/tool-configs/script-debugger-tool-config.ts +0 -69
- package/src/tool-configs/sfra-tool-config.ts +0 -74
- package/src/tool-configs/system-object-tool-config.ts +0 -142
- package/src/types/types.ts +0 -125
- package/src/utils/cache.ts +0 -291
- package/src/utils/category-utils.ts +0 -70
- package/src/utils/log-tool-constants.ts +0 -95
- package/src/utils/logger.ts +0 -260
- package/src/utils/markdown-utils.ts +0 -280
- package/src/utils/ocapi-url-builder.ts +0 -48
- package/src/utils/path-resolver.ts +0 -69
- package/src/utils/path-validation.ts +0 -113
- package/src/utils/query-builder.ts +0 -84
- package/src/utils/utils.ts +0 -139
- package/src/utils/validator.ts +0 -162
- package/tests/__mocks__/docs-client.ts +0 -8
- package/tests/__mocks__/src/clients/base/http-client.js +0 -43
- package/tests/__mocks__/webdav.js +0 -14
- package/tests/base-handler.test.ts +0 -527
- package/tests/base-http-client.test.ts +0 -311
- package/tests/cache.test.ts +0 -453
- package/tests/cartridge-handler.test.ts +0 -290
- package/tests/class-content-parser.test.ts +0 -629
- package/tests/class-name-resolver.test.ts +0 -365
- package/tests/client-factory.test.ts +0 -280
- package/tests/code-version-handler.test.ts +0 -291
- package/tests/code-versions-client.test.ts +0 -156
- package/tests/config.test.ts +0 -285
- package/tests/configuration-factory.test.ts +0 -233
- package/tests/docs-handler.test.ts +0 -359
- package/tests/documentation-scanner.test.ts +0 -755
- package/tests/file-system-service.test.ts +0 -111
- package/tests/isml-client.test.ts +0 -463
- package/tests/isml-handler.test.ts +0 -375
- package/tests/job-log-handler.test.ts +0 -283
- package/tests/log-client.test.ts +0 -768
- package/tests/log-handler.test.ts +0 -365
- package/tests/log-processor.test.ts +0 -243
- package/tests/log-validation.test.ts +0 -149
- package/tests/logger.test.ts +0 -303
- package/tests/mcp/AGENTS.md +0 -162
- package/tests/mcp/README.md +0 -237
- package/tests/mcp/node/activate-code-version-advanced.full-mode.programmatic.test.js +0 -669
- package/tests/mcp/node/code-versions.full-mode.programmatic.test.js +0 -605
- package/tests/mcp/node/evaluate-script.full-mode.programmatic.test.js +0 -387
- package/tests/mcp/node/generate-cartridge-structure.docs-only.programmatic.test.js +0 -644
- package/tests/mcp/node/get-available-sfra-documents.programmatic.test.js +0 -274
- package/tests/mcp/node/get-isml-categories.programmatic.test.js +0 -278
- package/tests/mcp/node/get-isml-element.programmatic.test.js +0 -278
- package/tests/mcp/node/get-isml-elements-by-category.programmatic.test.js +0 -363
- package/tests/mcp/node/get-job-execution-summary.full-mode.programmatic.test.js +0 -432
- package/tests/mcp/node/get-job-log-entries.full-mode.programmatic.test.js +0 -488
- package/tests/mcp/node/get-latest-debug.full-mode.programmatic.test.js +0 -338
- package/tests/mcp/node/get-latest-error.full-mode.programmatic.test.js +0 -255
- package/tests/mcp/node/get-latest-info.full-mode.programmatic.test.js +0 -347
- package/tests/mcp/node/get-latest-job-log-files.full-mode.programmatic.test.js +0 -460
- package/tests/mcp/node/get-latest-warn.full-mode.programmatic.test.js +0 -454
- package/tests/mcp/node/get-log-file-contents.full-mode.programmatic.test.js +0 -381
- package/tests/mcp/node/get-sfcc-class-documentation.docs-only.programmatic.test.js +0 -371
- package/tests/mcp/node/get-sfcc-class-info.docs-only.programmatic.test.js +0 -1032
- package/tests/mcp/node/get-sfra-categories.docs-only.programmatic.test.js +0 -369
- package/tests/mcp/node/get-sfra-document.programmatic.test.js +0 -473
- package/tests/mcp/node/get-sfra-documents-by-category.docs-only.programmatic.test.js +0 -510
- package/tests/mcp/node/get-system-object-definition.full-mode.programmatic.test.js +0 -389
- package/tests/mcp/node/get-system-object-definitions.docs-only.programmatic.test.js +0 -300
- package/tests/mcp/node/get-system-object-definitions.full-mode.programmatic.test.js +0 -387
- package/tests/mcp/node/list-isml-elements.programmatic.test.js +0 -311
- package/tests/mcp/node/list-log-files.full-mode.programmatic.test.js +0 -150
- package/tests/mcp/node/list-sfcc-classes.docs-only.programmatic.test.js +0 -612
- package/tests/mcp/node/search-custom-object-attribute-definitions.full-mode.programmatic.test.js +0 -875
- package/tests/mcp/node/search-isml-elements.programmatic.test.js +0 -325
- package/tests/mcp/node/search-job-logs-by-name.full-mode.programmatic.test.js +0 -330
- package/tests/mcp/node/search-job-logs.full-mode.programmatic.test.js +0 -526
- package/tests/mcp/node/search-logs.full-mode.programmatic.test.js +0 -478
- package/tests/mcp/node/search-sfcc-classes.docs-only.programmatic.test.js +0 -334
- package/tests/mcp/node/search-sfcc-methods.docs-only.programmatic.test.js +0 -487
- package/tests/mcp/node/search-sfra-documentation.docs-only.programmatic.test.js +0 -563
- package/tests/mcp/node/search-site-preferences.full-mode.programmatic.test.js +0 -556
- package/tests/mcp/node/search-system-object-attribute-definitions.full-mode.programmatic.test.js +0 -744
- package/tests/mcp/node/search-system-object-attribute-groups.full-mode.programmatic.test.js +0 -657
- package/tests/mcp/node/summarize-logs.full-mode.programmatic.test.js +0 -357
- package/tests/mcp/node/tools.docs-only.programmatic.test.js +0 -515
- package/tests/mcp/node/tools.full-mode.programmatic.test.js +0 -154
- package/tests/mcp/test-fixtures/dw.json +0 -10
- package/tests/mcp/yaml/activate-code-version.docs-only.test.mcp.yml +0 -318
- package/tests/mcp/yaml/activate-code-version.full-mode.test.mcp.yml +0 -507
- package/tests/mcp/yaml/evaluate-script.full-mode.test.mcp.yml +0 -281
- package/tests/mcp/yaml/get-available-sfra-documents.docs-only.test.mcp.yml +0 -684
- package/tests/mcp/yaml/get-available-sfra-documents.full-mode.test.mcp.yml +0 -684
- package/tests/mcp/yaml/get-code-versions.docs-only.test.mcp.yml +0 -196
- package/tests/mcp/yaml/get-code-versions.full-mode.test.mcp.yml +0 -273
- package/tests/mcp/yaml/get-isml-categories.docs-only.test.mcp.yml +0 -330
- package/tests/mcp/yaml/get-isml-element.docs-only.test.mcp.yml +0 -294
- package/tests/mcp/yaml/get-isml-elements-by-category.docs-only.test.mcp.yml +0 -334
- package/tests/mcp/yaml/get-job-execution-summary.full-mode.test.mcp.yml +0 -148
- package/tests/mcp/yaml/get-job-log-entries.full-mode.test.mcp.yml +0 -284
- package/tests/mcp/yaml/get-latest-debug.full-mode.test.mcp.yml +0 -191
- package/tests/mcp/yaml/get-latest-error.full-mode.test.mcp.yml +0 -195
- package/tests/mcp/yaml/get-latest-info.full-mode.test.mcp.yml +0 -242
- package/tests/mcp/yaml/get-latest-job-log-files.full-mode.test.mcp.yml +0 -189
- package/tests/mcp/yaml/get-latest-warn.full-mode.test.mcp.yml +0 -182
- package/tests/mcp/yaml/get-log-file-contents.full-mode.test.mcp.yml +0 -256
- package/tests/mcp/yaml/get-sfcc-class-documentation.docs-only.test.mcp.yml +0 -2416
- package/tests/mcp/yaml/get-sfcc-class-documentation.full-mode.test.mcp.yml +0 -2416
- package/tests/mcp/yaml/get-sfcc-class-info.docs-only.test.mcp.yml +0 -1225
- package/tests/mcp/yaml/get-sfcc-class-info.full-mode.test.mcp.yml +0 -1225
- package/tests/mcp/yaml/get-sfra-categories.docs-only.test.mcp.yml +0 -452
- package/tests/mcp/yaml/get-sfra-categories.full-mode.test.mcp.yml +0 -452
- package/tests/mcp/yaml/get-sfra-document.docs-only.test.mcp.yml +0 -525
- package/tests/mcp/yaml/get-sfra-document.full-mode.test.mcp.yml +0 -525
- package/tests/mcp/yaml/get-sfra-documents-by-category.docs-only.test.mcp.yml +0 -507
- package/tests/mcp/yaml/get-sfra-documents-by-category.full-mode.test.mcp.yml +0 -507
- package/tests/mcp/yaml/get-system-object-definition.docs-only.test.mcp.yml +0 -208
- package/tests/mcp/yaml/get-system-object-definition.full-mode.test.mcp.yml +0 -191
- package/tests/mcp/yaml/get-system-object-definitions.docs-only.test.mcp.yml +0 -257
- package/tests/mcp/yaml/get-system-object-definitions.full-mode.test.mcp.yml +0 -517
- package/tests/mcp/yaml/get_latest_error.test.mcp.yml +0 -472
- package/tests/mcp/yaml/list-isml-elements.docs-only.test.mcp.yml +0 -212
- package/tests/mcp/yaml/list-log-files.full-mode.test.mcp.yml +0 -89
- package/tests/mcp/yaml/list-sfcc-classes.docs-only.test.mcp.yml +0 -511
- package/tests/mcp/yaml/list-sfcc-classes.full-mode.test.mcp.yml +0 -511
- package/tests/mcp/yaml/search-custom-object-attribute-definitions.docs-only.test.mcp.yml +0 -82
- package/tests/mcp/yaml/search-custom-object-attribute-definitions.test.mcp.yml +0 -387
- package/tests/mcp/yaml/search-isml-elements.docs-only.test.mcp.yml +0 -312
- package/tests/mcp/yaml/search-job-logs-by-name.full-mode.test.mcp.yml +0 -169
- package/tests/mcp/yaml/search-job-logs.full-mode.test.mcp.yml +0 -174
- package/tests/mcp/yaml/search-logs.full-mode.test.mcp.yml +0 -207
- package/tests/mcp/yaml/search-sfcc-classes.docs-only.test.mcp.yml +0 -1157
- package/tests/mcp/yaml/search-sfcc-classes.full-mode.test.mcp.yml +0 -1157
- package/tests/mcp/yaml/search-sfcc-methods.docs-only.test.mcp.yml +0 -723
- package/tests/mcp/yaml/search-sfcc-methods.full-mode.test.mcp.yml +0 -723
- package/tests/mcp/yaml/search-sfra-documentation.docs-only.test.mcp.yml +0 -427
- package/tests/mcp/yaml/search-sfra-documentation.full-mode.test.mcp.yml +0 -427
- package/tests/mcp/yaml/search-site-preferences.docs-only.test.mcp.yml +0 -295
- package/tests/mcp/yaml/search-site-preferences.full-mode.test.mcp.yml +0 -574
- package/tests/mcp/yaml/search-system-object-attribute-definitions.docs-only.test.mcp.yml +0 -168
- package/tests/mcp/yaml/search-system-object-attribute-definitions.full-mode.test.mcp.yml +0 -500
- package/tests/mcp/yaml/search-system-object-attribute-groups.docs-only.test.mcp.yml +0 -278
- package/tests/mcp/yaml/search-system-object-attribute-groups.full-mode.test.mcp.yml +0 -612
- package/tests/mcp/yaml/summarize-logs.full-mode.test.mcp.yml +0 -173
- package/tests/mcp/yaml/tools.docs-only.test.mcp.yml +0 -535
- package/tests/mcp/yaml/tools.full-mode.test.mcp.yml +0 -378
- package/tests/oauth-token.test.ts +0 -725
- package/tests/ocapi-auth-client.test.ts +0 -276
- package/tests/ocapi-client.test.ts +0 -242
- package/tests/path-service.test.ts +0 -96
- package/tests/query-builder.test.ts +0 -281
- package/tests/referenced-types-extractor.test.ts +0 -814
- package/tests/script-debugger-client.test.ts +0 -430
- package/tests/servers/sfcc-mock-server/README.md +0 -208
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/code-versions.json +0 -247
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/custom-object-attributes-customapi.json +0 -128
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/custom-object-attributes-globalsettings.json +0 -92
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/custom-object-attributes-versionhistory.json +0 -256
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/site-preferences-ccv.json +0 -275
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/site-preferences-fastforward.json +0 -123
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/site-preferences-sfra.json +0 -224
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/site-preferences-storefront.json +0 -447
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/site-preferences-system.json +0 -171
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-attribute-groups-campaign.json +0 -13
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-attribute-groups-category.json +0 -50
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-attribute-groups-order.json +0 -32
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-attribute-groups-product.json +0 -224
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-attribute-groups-sitepreferences.json +0 -62
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-attributes-customeraddress.json +0 -109
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-attributes-product-expanded.json +0 -183
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-attributes-product.json +0 -139
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-definition-category.json +0 -26
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-definition-customer.json +0 -26
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-definition-customeraddress.json +0 -26
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-definition-order.json +0 -26
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-definition-product.json +0 -26
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-definitions-old.json +0 -354
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-definitions.json +0 -172
- package/tests/servers/sfcc-mock-server/package-lock.json +0 -879
- package/tests/servers/sfcc-mock-server/package.json +0 -39
- package/tests/servers/sfcc-mock-server/scripts/setup-logs.js +0 -224
- package/tests/servers/sfcc-mock-server/server.js +0 -280
- package/tests/servers/sfcc-mock-server/src/app.js +0 -182
- package/tests/servers/sfcc-mock-server/src/config/server-config.js +0 -124
- package/tests/servers/sfcc-mock-server/src/middleware/auth.js +0 -101
- package/tests/servers/sfcc-mock-server/src/middleware/cors.js +0 -39
- package/tests/servers/sfcc-mock-server/src/middleware/logging.js +0 -124
- package/tests/servers/sfcc-mock-server/src/routes/cartridge-webdav.js +0 -258
- package/tests/servers/sfcc-mock-server/src/routes/ocapi/code-versions-handler.js +0 -184
- package/tests/servers/sfcc-mock-server/src/routes/ocapi/debugger-handler.js +0 -396
- package/tests/servers/sfcc-mock-server/src/routes/ocapi/oauth-handler.js +0 -36
- package/tests/servers/sfcc-mock-server/src/routes/ocapi/ocapi-error-utils.js +0 -221
- package/tests/servers/sfcc-mock-server/src/routes/ocapi/ocapi-utils.js +0 -440
- package/tests/servers/sfcc-mock-server/src/routes/ocapi/site-preferences-handler.js +0 -332
- package/tests/servers/sfcc-mock-server/src/routes/ocapi/system-objects-handler.js +0 -572
- package/tests/servers/sfcc-mock-server/src/routes/ocapi.js +0 -58
- package/tests/servers/sfcc-mock-server/src/routes/storefront.js +0 -86
- package/tests/servers/sfcc-mock-server/src/routes/webdav.js +0 -240
- package/tests/servers/sfcc-mock-server/src/utils/mock-data-loader.js +0 -84
- package/tests/servers/sfcc-mock-server/src/utils/webdav-xml.js +0 -121
- package/tests/servers/sfcc-mock-server-manager.ts +0 -280
- package/tests/sfcc-mock-server.test.ts +0 -423
- package/tests/site-preferences-client.test.ts +0 -358
- package/tests/system-objects-client.test.ts +0 -310
- package/tests/utils.test.ts +0 -477
- package/tests/validation-helpers.test.ts +0 -325
- package/tests/validator.test.ts +0 -416
- package/tests/workspace-roots.test.ts +0 -227
- package/tsconfig.json +0 -20
- package/tsconfig.test.json +0 -20
package/AGENTS.md
DELETED
|
@@ -1,638 +0,0 @@
|
|
|
1
|
-
# AGENTS.md – SFCC Development MCP Server (AI Coding Agent Instructions)
|
|
2
|
-
|
|
3
|
-
This file provides authoritative, agent-focused operational guidelines. It complements `README.md` by documenting build/test workflows, architectural conventions, and maintenance rules that would clutter a human-facing introduction.
|
|
4
|
-
|
|
5
|
-
Goals of `AGENTS.md`:
|
|
6
|
-
- Give any AI coding agent (Copilot, Cursor, Claude, Gemini, Aider, Factory, Ona, Devin, Zed, etc.) a predictable place to load project instructions
|
|
7
|
-
- Separate contributor onboarding (README) from deep operational detail (here)
|
|
8
|
-
- Encourage portable, open, plain-Markdown instructions (no proprietary schema)
|
|
9
|
-
|
|
10
|
-
Agent Operating Principles (Quick Commit Rules):
|
|
11
|
-
1. Verify reality first (counts, structures) with commands—never guess
|
|
12
|
-
2. Make surgical diffs—no drive‑by formatting or unrelated refactors
|
|
13
|
-
3. Validate after every substantive change (build + lint + relevant tests)
|
|
14
|
-
4. Prefer explicit, readable code & docs over clever abstractions
|
|
15
|
-
5. Surface ambiguity or risky instructions with safer alternatives
|
|
16
|
-
6. Keep `AGENTS.md` ↔ `README.md` in sync where they overlap (update both or neither)
|
|
17
|
-
7. Discover actual tool response formats with `npx aegis query` before writing tests
|
|
18
|
-
8. Treat security (credentials, paths, network) as a first‑class concern—assume local but protect anyway
|
|
19
|
-
9. Defer performance tuning unless a measurable issue exists; avoid premature micro‑optimizations
|
|
20
|
-
10. Fail loud & clear: actionable error messages, user vs system error distinction
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
## 🤖 Unified Engineering Principles & Persona
|
|
24
|
-
Operate as a senior TypeScript / Node.js engineer with deep MCP + SFCC (OCAPI, SCAPI, WebDAV, logs, system objects, preferences) domain knowledge. Apply the following unified principles (consolidates former Persona, Professional Standards, Development Approach, and Development Guidelines):
|
|
25
|
-
|
|
26
|
-
### Core Competencies
|
|
27
|
-
- MCP protocol compliance & tool schema rigor
|
|
28
|
-
- SFCC integration breadth: logs, job logs, OCAPI auth, system objects, site preferences
|
|
29
|
-
- Strong TypeScript typing, safe narrowing, interface-driven design
|
|
30
|
-
- OAuth + token lifecycle correctness
|
|
31
|
-
- Log & job execution analysis (parsing, summarization, health signals)
|
|
32
|
-
- Documentation ingestion (scan → parse → resolve → extract types)
|
|
33
|
-
- Multi-layer test strategy: Jest (unit) + Aegis YAML (declarative) + Node programmatic (stateful)
|
|
34
|
-
|
|
35
|
-
### Quality & Safety
|
|
36
|
-
- Intentional, maintainable code; small reversible changes
|
|
37
|
-
- Security first: never leak credentials, avoid accidental network exfiltration, sanitize paths
|
|
38
|
-
- Explicit error modeling: distinguish user input errors vs system/internal failures
|
|
39
|
-
- Deterministic + cache-aware logic; avoid hidden side effects
|
|
40
|
-
- Respect local dev constraints—opt for lightweight operations
|
|
41
|
-
|
|
42
|
-
### Documentation Discipline
|
|
43
|
-
- Update BOTH `AGENTS.md` & `README.md` for: tool count changes, new handlers, structural moves, added operating modes, configuration shifts
|
|
44
|
-
- Quantify before asserting (grep / awk / find) – no hand-waved counts
|
|
45
|
-
- Keep architectural diagrams & tool categories consistent with `src/core/tool-definitions.ts`
|
|
46
|
-
|
|
47
|
-
### Testing Strategy
|
|
48
|
-
- Always discover response shapes with `npx aegis query` before writing tests (see `.github/skills/mcp-yaml-testing/` for detailed workflow)
|
|
49
|
-
- Unit tests (Jest): core utilities, parsing, validation, token & client logic
|
|
50
|
-
- YAML tests (Aegis): broad tool surface, schema validation (see `.github/skills/mcp-yaml-testing/`)
|
|
51
|
-
- Programmatic tests (Node): multi-step flows, stateful sequences (see `.github/skills/mcp-programmatic-testing/`)
|
|
52
|
-
- Performance assertions: CI‑tolerant (<500ms typical) – correctness first
|
|
53
|
-
|
|
54
|
-
### Implementation Workflow
|
|
55
|
-
1. Define or adjust tool schema (if new) in `core/tool-definitions.ts`
|
|
56
|
-
2. Implement / extend handler (or add new) with clear separation of concerns
|
|
57
|
-
3. Add / update clients & services with DI-friendly patterns (`ClientFactory` + interfaces)
|
|
58
|
-
4. Run targeted Aegis discovery (success + edge) to capture real output
|
|
59
|
-
5. Write/adjust tests (unit + YAML/programmatic where appropriate)
|
|
60
|
-
6. Verify counts & update docs (both files) atomically
|
|
61
|
-
7. Run lint + tests; address failures before further edits
|
|
62
|
-
8. Commit with concise, scope-focused message
|
|
63
|
-
|
|
64
|
-
### Performance & Stability
|
|
65
|
-
- Optimize only after measuring; instrument where ambiguity exists
|
|
66
|
-
- Use caching deliberately; document invalidation triggers
|
|
67
|
-
- Keep handler execution time predictable; stream or range-read logs where possible
|
|
68
|
-
|
|
69
|
-
### When In Doubt
|
|
70
|
-
- Pause and gather empirical data
|
|
71
|
-
- Prefer minimal, additive change over speculative refactor
|
|
72
|
-
- Escalate ambiguity via explicit options rather than guessing
|
|
73
|
-
|
|
74
|
-
---
|
|
75
|
-
|
|
76
|
-
## 📋 Project Overview
|
|
77
|
-
|
|
78
|
-
The **SFCC Development MCP Server** is a **local development** Model Context Protocol server that provides AI agents with comprehensive access to Salesforce B2C Commerce Cloud development tools and resources. This project bridges the gap between AI assistants and SFCC development workflows **for individual developers working on their local machines**.
|
|
79
|
-
|
|
80
|
-
### 🎯 Project Goals
|
|
81
|
-
|
|
82
|
-
1. **Enable AI-Assisted SFCC Development**: Provide AI agents with real-time access to SFCC documentation, logs, and system objects **during local development**
|
|
83
|
-
2. **Reduce Development Time**: Eliminate the need to manually search through documentation or logs **while coding**
|
|
84
|
-
3. **Improve Code Quality**: Provide access to current best practices and development guidelines **for personal projects**
|
|
85
|
-
4. **Enhance Local Debugging**: Offer real-time log analysis and error investigation tools **for developer sandbox instances**
|
|
86
|
-
5. **Support Multiple Use Cases**: Work in both documentation-only and full-credential modes **for different development scenarios**
|
|
87
|
-
|
|
88
|
-
### 🏗️ Project Structure
|
|
89
|
-
|
|
90
|
-
```
|
|
91
|
-
sfcc-dev-mcp/
|
|
92
|
-
├── src/ # Core TypeScript source code
|
|
93
|
-
│ ├── main.ts # CLI entry point and argument parsing
|
|
94
|
-
│ ├── index.ts # Package exports and compatibility
|
|
95
|
-
│ ├── core/ # Core MCP server functionality
|
|
96
|
-
│ │ ├── server.ts # Main MCP server implementation
|
|
97
|
-
│ │ ├── tool-definitions.ts # Re-exports tool schemas from modular files
|
|
98
|
-
│ │ ├── tool-schemas/ # Modular tool schema definitions
|
|
99
|
-
│ │ │ ├── index.ts # Aggregates and re-exports all tool schemas
|
|
100
|
-
│ │ │ ├── shared-schemas.ts # Reusable schema components (query, pagination, etc.)
|
|
101
|
-
│ │ │ ├── documentation-tools.ts # SFCC documentation tools (5 tools)
|
|
102
|
-
│ │ │ ├── best-practices-tools.ts # Best practices tools (4 tools)
|
|
103
|
-
│ │ │ ├── sfra-tools.ts # SFRA documentation tools (5 tools)
|
|
104
|
-
│ │ │ ├── isml-tools.ts # ISML documentation tools (5 tools)
|
|
105
|
-
│ │ │ ├── log-tools.ts # Log + Job log tools (8 + 5 tools)
|
|
106
|
-
│ │ │ ├── system-object-tools.ts # System object tools (6 tools)
|
|
107
|
-
│ │ │ ├── cartridge-tools.ts # Cartridge generation tools (1 tool)
|
|
108
|
-
│ │ │ └── code-version-tools.ts # Code version tools (2 tools)
|
|
109
|
-
│ │ └── handlers/ # Modular tool handlers
|
|
110
|
-
│ │ ├── base-handler.ts # Abstract base handler with common functionality
|
|
111
|
-
│ │ ├── abstract-client-handler.ts # Abstract handler for client-based tools
|
|
112
|
-
│ │ ├── simple-client-handler.ts # Simple handler for single-client tools
|
|
113
|
-
│ │ ├── client-factory.ts # Centralized client creation with dependency injection
|
|
114
|
-
│ │ ├── validation-helpers.ts # Common validation utilities for handlers
|
|
115
|
-
│ │ ├── docs-handler.ts # SFCC documentation tool handler
|
|
116
|
-
│ │ ├── best-practices-handler.ts # Best practices tool handler
|
|
117
|
-
│ │ ├── sfra-handler.ts # SFRA documentation tool handler
|
|
118
|
-
│ │ ├── isml-handler.ts # ISML documentation tool handler
|
|
119
|
-
│ │ ├── log-handler.ts # Log analysis tool handler
|
|
120
|
-
│ │ ├── job-log-handler.ts # Job log analysis tool handler
|
|
121
|
-
│ │ ├── system-object-handler.ts # System object tool handler
|
|
122
|
-
│ │ ├── code-version-handler.ts # Code version tool handler
|
|
123
|
-
│ │ └── cartridge-handler.ts # Cartridge generation tool handler
|
|
124
|
-
│ ├── clients/ # API clients for different services
|
|
125
|
-
│ │ ├── base/ # Base client classes and shared functionality
|
|
126
|
-
│ │ │ ├── http-client.ts # Base HTTP client with authentication
|
|
127
|
-
│ │ │ ├── ocapi-auth-client.ts # OCAPI OAuth authentication client
|
|
128
|
-
│ │ │ └── oauth-token.ts # OAuth token management for OCAPI
|
|
129
|
-
│ │ ├── ocapi/ # Specialized OCAPI clients
|
|
130
|
-
│ │ │ ├── site-preferences-client.ts # Site preferences management
|
|
131
|
-
│ │ │ └── system-objects-client.ts # System object definitions
|
|
132
|
-
│ │ ├── logs/ # Modular log analysis system
|
|
133
|
-
│ │ │ ├── log-client.ts # Main log client orchestrator
|
|
134
|
-
│ │ │ ├── webdav-client-manager.ts # WebDAV setup & authentication
|
|
135
|
-
│ │ │ ├── log-file-reader.ts # File reading with range requests
|
|
136
|
-
│ │ │ ├── log-file-discovery.ts # File listing & filtering
|
|
137
|
-
│ │ │ ├── log-processor.ts # Log parsing & entry processing
|
|
138
|
-
│ │ │ ├── log-analyzer.ts # Analysis & summarization
|
|
139
|
-
│ │ │ ├── log-formatter.ts # Output formatting
|
|
140
|
-
│ │ │ ├── log-constants.ts # Constants & configuration
|
|
141
|
-
│ │ │ ├── log-types.ts # TypeScript interfaces
|
|
142
|
-
│ │ │ └── index.ts # Module exports
|
|
143
|
-
│ │ ├── docs/ # Modular SFCC documentation system
|
|
144
|
-
│ │ │ ├── documentation-scanner.ts # Documentation file discovery and class listing
|
|
145
|
-
│ │ │ ├── class-content-parser.ts # Markdown parsing and content extraction
|
|
146
|
-
│ │ │ ├── class-name-resolver.ts # Class name normalization and resolution
|
|
147
|
-
│ │ │ ├── referenced-types-extractor.ts # Type extraction from documentation content
|
|
148
|
-
│ │ │ └── index.ts # Module exports
|
|
149
|
-
│ │ ├── cartridge/ # Cartridge generation system
|
|
150
|
-
│ │ │ ├── cartridge-generation-client.ts # Main cartridge structure generator
|
|
151
|
-
│ │ │ ├── cartridge-structure.ts # Directory structure definitions
|
|
152
|
-
│ │ │ ├── cartridge-templates.ts # File content templates
|
|
153
|
-
│ │ │ └── index.ts # Module exports
|
|
154
|
-
│ │ ├── log-client.ts # Log client compatibility wrapper
|
|
155
|
-
│ │ ├── docs-client.ts # SFCC documentation client orchestrator
|
|
156
|
-
│ │ ├── sfra-client.ts # SFRA documentation client
|
|
157
|
-
│ │ ├── isml-client.ts # ISML element documentation client
|
|
158
|
-
│ │ ├── ocapi-client.ts # Main OCAPI client coordinator
|
|
159
|
-
│ │ └── best-practices-client.ts # Best practices guide client
|
|
160
|
-
│ ├── services/ # Service layer with clean abstractions
|
|
161
|
-
│ │ ├── index.ts # Service exports and type definitions
|
|
162
|
-
│ │ ├── file-system-service.ts # File system operations service
|
|
163
|
-
│ │ └── path-service.ts # Path manipulation service
|
|
164
|
-
│ ├── config/ # Configuration management
|
|
165
|
-
│ │ ├── configuration-factory.ts # Config factory for different modes
|
|
166
|
-
│ │ └── dw-json-loader.ts # dw.json configuration loader
|
|
167
|
-
│ ├── constants/ # Application constants
|
|
168
|
-
│ │ ├── index.ts # Constants exports
|
|
169
|
-
│ │ └── best-practices-guides.ts # Best practices guide definitions
|
|
170
|
-
│ ├── tool-configs/ # Tool configuration definitions
|
|
171
|
-
│ │ ├── best-practices-tool-config.ts # Best practices tools configuration
|
|
172
|
-
│ │ ├── cartridge-tool-config.ts # Cartridge generation tools configuration
|
|
173
|
-
│ │ ├── code-version-tool-config.ts # Code version tools configuration
|
|
174
|
-
│ │ ├── docs-tool-config.ts # Documentation tools configuration
|
|
175
|
-
│ │ ├── job-log-tool-config.ts # Job log tools configuration
|
|
176
|
-
│ │ ├── log-tool-config.ts # Log analysis tools configuration
|
|
177
|
-
│ │ ├── sfra-tool-config.ts # SFRA documentation tools configuration
|
|
178
|
-
│ │ └── system-object-tool-config.ts # System object tools configuration
|
|
179
|
-
│ ├── utils/ # Utility functions and helpers
|
|
180
|
-
│ │ ├── cache.ts # Caching layer for API responses
|
|
181
|
-
│ │ ├── logger.ts # Structured logging system
|
|
182
|
-
│ │ ├── utils.ts # Common utility functions
|
|
183
|
-
│ │ ├── validator.ts # Input validation utilities
|
|
184
|
-
│ │ ├── query-builder.ts # Query string building utilities
|
|
185
|
-
│ │ └── path-resolver.ts # File path resolution utilities
|
|
186
|
-
│ └── types/ # TypeScript type definitions
|
|
187
|
-
│ └── types.ts # Comprehensive type definitions
|
|
188
|
-
├── docs/ # SFCC documentation and guides
|
|
189
|
-
│ ├── best-practices/ # Development best practice guides
|
|
190
|
-
│ │ ├── cartridge_creation.md
|
|
191
|
-
│ │ ├── isml_templates.md
|
|
192
|
-
│ │ ├── job_framework.md
|
|
193
|
-
│ │ ├── localserviceregistry.md # LocalServiceRegistry integration patterns
|
|
194
|
-
│ │ ├── ocapi_hooks.md
|
|
195
|
-
│ │ ├── scapi_hooks.md
|
|
196
|
-
│ │ ├── sfra_controllers.md
|
|
197
|
-
│ │ ├── sfra_models.md # SFRA models best practices
|
|
198
|
-
│ │ ├── sfra_client_side_js.md # SFRA client-side JavaScript patterns
|
|
199
|
-
│ │ ├── sfra_scss.md # SFRA SCSS override and theming guidance
|
|
200
|
-
│ │ ├── scapi_custom_endpoint.md
|
|
201
|
-
│ │ ├── performance.md
|
|
202
|
-
│ │ └── security.md
|
|
203
|
-
│ ├── sfra/ # SFRA documentation
|
|
204
|
-
│ │ ├── server.md
|
|
205
|
-
│ │ ├── request.md
|
|
206
|
-
│ │ ├── response.md
|
|
207
|
-
│ │ ├── querystring.md
|
|
208
|
-
│ │ └── render.md
|
|
209
|
-
│ ├── dw_catalog/ # SFCC Catalog API documentation
|
|
210
|
-
│ ├── dw_customer/ # SFCC Customer API documentation
|
|
211
|
-
│ ├── dw_order/ # SFCC Order API documentation
|
|
212
|
-
│ ├── dw_system/ # SFCC System API documentation
|
|
213
|
-
│ └── [other dw_* namespaces] # Complete SFCC API documentation
|
|
214
|
-
├── docs-site/ # React documentation website
|
|
215
|
-
│ ├── App.tsx # Main React application component
|
|
216
|
-
│ ├── main.tsx # React application entry point
|
|
217
|
-
│ ├── index.html # HTML template with SEO and structured data
|
|
218
|
-
│ ├── constants.tsx # Application constants and configuration
|
|
219
|
-
│ ├── metadata.json # Site metadata configuration
|
|
220
|
-
│ ├── types.ts # TypeScript type definitions
|
|
221
|
-
│ ├── package.json # Node.js dependencies and scripts
|
|
222
|
-
│ ├── vite.config.ts # Vite build configuration
|
|
223
|
-
│ ├── tailwind.config.js # Tailwind CSS configuration
|
|
224
|
-
│ ├── postcss.config.js # PostCSS configuration
|
|
225
|
-
│ ├── tsconfig.json # TypeScript configuration
|
|
226
|
-
│ ├── README.md # Documentation site specific README
|
|
227
|
-
│ ├── components/ # Reusable React components
|
|
228
|
-
│ │ ├── Badge.tsx # Badge component for status/categories
|
|
229
|
-
│ │ ├── CodeBlock.tsx # Syntax highlighted code blocks
|
|
230
|
-
│ │ ├── Collapsible.tsx # Collapsible content sections
|
|
231
|
-
│ │ ├── ConfigBuilder.tsx # Configuration builder component
|
|
232
|
-
│ │ ├── ConfigHero.tsx # Configuration page hero section
|
|
233
|
-
│ │ ├── ConfigModeTabs.tsx # Configuration mode tab switcher
|
|
234
|
-
│ │ ├── Layout.tsx # Main layout wrapper component
|
|
235
|
-
│ │ ├── NewcomerCTA.tsx # Call-to-action for new users
|
|
236
|
-
│ │ ├── NextStepsStrip.tsx # Next steps guidance component
|
|
237
|
-
│ │ ├── OnThisPage.tsx # Table of contents component
|
|
238
|
-
│ │ ├── Search.tsx # Search functionality component
|
|
239
|
-
│ │ ├── Sidebar.tsx # Site navigation sidebar
|
|
240
|
-
│ │ ├── ToolCard.tsx # Tool display card component
|
|
241
|
-
│ │ ├── ToolFilters.tsx # Tool filtering controls
|
|
242
|
-
│ │ ├── Typography.tsx # Typography components (H1, H2, etc.)
|
|
243
|
-
│ │ ├── VersionBadge.tsx # Version display badge
|
|
244
|
-
│ │ └── icons.tsx # Icon components library
|
|
245
|
-
│ ├── pages/ # Page components for routing
|
|
246
|
-
│ │ ├── HomePage.tsx # Homepage with quick start guide
|
|
247
|
-
│ │ ├── AIInterfacesPage.tsx # AI interface setup guides
|
|
248
|
-
│ │ ├── ConfigurationPage.tsx # Configuration documentation
|
|
249
|
-
│ │ ├── DevelopmentPage.tsx # Development guidelines
|
|
250
|
-
│ │ ├── ExamplesPage.tsx # Usage examples
|
|
251
|
-
│ │ ├── FeaturesPage.tsx # Feature documentation
|
|
252
|
-
│ │ ├── SecurityPage.tsx # Security considerations
|
|
253
|
-
│ │ ├── ToolsPage.tsx # Available tools documentation
|
|
254
|
-
│ │ └── TroubleshootingPage.tsx # Troubleshooting guide
|
|
255
|
-
│ ├── src/ # Source assets and generated files
|
|
256
|
-
│ │ ├── generated-search-index.ts # Generated search index
|
|
257
|
-
│ │ └── styles/ # CSS and styling files
|
|
258
|
-
│ ├── utils/ # Utility functions
|
|
259
|
-
│ │ ├── search.ts # Search functionality utilities
|
|
260
|
-
│ │ └── toolsData.ts # Tools data management
|
|
261
|
-
│ ├── scripts/ # Build and utility scripts
|
|
262
|
-
│ │ ├── generate-search-index.js # Search index generation script
|
|
263
|
-
│ │ ├── generate-sitemap.js # Sitemap generation script
|
|
264
|
-
│ │ └── search-dev.js # Development search utilities
|
|
265
|
-
│ ├── public/ # Static assets
|
|
266
|
-
│ │ ├── 404.html # Custom 404 error page
|
|
267
|
-
│ │ ├── robots.txt # Search engine crawling instructions
|
|
268
|
-
│ │ ├── sitemap.xml # Site map for search engines
|
|
269
|
-
│ │ ├── llms.txt # LLM-specific instructions
|
|
270
|
-
│ │ ├── favicon.ico # Website favicon
|
|
271
|
-
│ │ ├── favicon-16x16.png # 16x16 favicon variant
|
|
272
|
-
│ │ ├── favicon-32x32.png # 32x32 favicon variant
|
|
273
|
-
│ │ ├── apple-touch-icon.png # Apple touch icon
|
|
274
|
-
│ │ ├── android-chrome-192x192.png # Android Chrome icon 192x192
|
|
275
|
-
│ │ ├── android-chrome-512x512.png # Android Chrome icon 512x512
|
|
276
|
-
│ │ ├── site.webmanifest # Web app manifest
|
|
277
|
-
│ │ ├── index.css # Global CSS styles
|
|
278
|
-
│ │ ├── explain-product-pricing-methods.png # Demo screenshot with MCP
|
|
279
|
-
│ │ └── explain-product-pricing-methods-no-mcp.png # Demo screenshot without MCP
|
|
280
|
-
│ ├── dist/ # Built website output (Vite build)
|
|
281
|
-
│ └── node_modules/ # Node.js dependencies
|
|
282
|
-
├── docs-site-v2/ # VitePress documentation website
|
|
283
|
-
│ ├── .vitepress/ # VitePress config and theme
|
|
284
|
-
│ ├── guide/ # Getting started and configuration
|
|
285
|
-
│ ├── features/ # Feature overview
|
|
286
|
-
│ ├── tools/ # Tools catalog
|
|
287
|
-
│ ├── examples/ # Prompt examples
|
|
288
|
-
│ ├── script-debugger/ # Script debugger guide
|
|
289
|
-
│ ├── skills/ # Agent skills guide
|
|
290
|
-
│ ├── security/ # Security and privacy notes
|
|
291
|
-
│ ├── development/ # Development guide
|
|
292
|
-
│ ├── troubleshooting/ # Troubleshooting guide
|
|
293
|
-
│ ├── public/ # Static assets
|
|
294
|
-
│ └── package.json # VitePress scripts and dependencies
|
|
295
|
-
├── ai-instructions/ # AI instruction files for different platforms
|
|
296
|
-
│ ├── claude-desktop/ # Claude Desktop specific instructions
|
|
297
|
-
│ │ └── claude_custom_instructions.md
|
|
298
|
-
│ ├── cursor/ # Cursor editor specific instructions
|
|
299
|
-
│ └── github-copilot/ # GitHub Copilot specific instructions
|
|
300
|
-
│ └── copilot-instructions.md
|
|
301
|
-
├── tests/ # Comprehensive test suite
|
|
302
|
-
│ ├── __mocks__/ # Mock implementations for testing
|
|
303
|
-
│ │ └── src/ # Source code mocks
|
|
304
|
-
│ ├── mcp/ # MCP-specific testing tools
|
|
305
|
-
│ │ ├── node/ # Programmatic JavaScript/TypeScript testing
|
|
306
|
-
│ │ ├── yaml/ # YAML-based declarative testing
|
|
307
|
-
│ │ └── test-fixtures/ # Test fixtures and sample data
|
|
308
|
-
│ ├── servers/ # Test server implementations
|
|
309
|
-
│ │ └── webdav/ # WebDAV server mocks
|
|
310
|
-
│ ├── *.test.ts # Individual test files for components
|
|
311
|
-
│ └── [various test files] # Unit and integration tests
|
|
312
|
-
├── scripts/ # Build and documentation scripts
|
|
313
|
-
└── package.json # Node.js package configuration
|
|
314
|
-
```
|
|
315
|
-
|
|
316
|
-
### 🔧 Key Components
|
|
317
|
-
|
|
318
|
-
#### **MCP Server Core** (`core/server.ts`)
|
|
319
|
-
- Implements the Model Context Protocol specification
|
|
320
|
-
- Handles tool registration and request routing
|
|
321
|
-
- Manages configuration modes (documentation-only vs. full)
|
|
322
|
-
- Provides error handling and response formatting
|
|
323
|
-
- Orchestrates modular tool handlers for different functionality areas
|
|
324
|
-
- Issues a one-time advisory when AGENTS.md/skills are missing, pointing clients to the installer tool
|
|
325
|
-
|
|
326
|
-
#### **Tool Handler Architecture** (`core/handlers/`)
|
|
327
|
-
- **BaseToolHandler** (`base-handler.ts`): Abstract base class providing common handler functionality, standardized response formatting, execution timing, and error handling patterns
|
|
328
|
-
- **AbstractClientHandler** (`abstract-client-handler.ts`): Abstract handler for tools that require client instantiation
|
|
329
|
-
- **SimpleClientHandler** (`simple-client-handler.ts`): Simplified handler for single-client tools with less boilerplate
|
|
330
|
-
- **ClientFactory** (`client-factory.ts`): Centralized client creation with dependency injection support for testing and clean architecture
|
|
331
|
-
- **ValidationHelpers** (`validation-helpers.ts`): Common validation utilities shared across all handlers
|
|
332
|
-
- **DocsToolHandler** (`docs-handler.ts`): Handles SFCC documentation tools including class information, method search, and API discovery
|
|
333
|
-
- **BestPracticesToolHandler** (`best-practices-handler.ts`): Manages best practice guides, security recommendations, and hook reference tables
|
|
334
|
-
- **SFRAToolHandler** (`sfra-handler.ts`): Processes SFRA documentation requests with dynamic discovery and smart categorization
|
|
335
|
-
- **ISMLToolHandler** (`isml-handler.ts`): Handles ISML element documentation, search, and category browsing
|
|
336
|
-
- **LogToolHandler** (`log-handler.ts`): Handles real-time log analysis, error monitoring, and system health summarization
|
|
337
|
-
- **JobLogToolHandler** (`job-log-handler.ts`): Handles job log analysis, debugging, and execution summaries
|
|
338
|
-
- **SystemObjectToolHandler** (`system-object-handler.ts`): Manages system object definitions, custom attributes, and site preferences
|
|
339
|
-
- **CodeVersionToolHandler** (`code-version-handler.ts`): Handles code version listing, activation, and deployment management
|
|
340
|
-
- **CartridgeToolHandler** (`cartridge-handler.ts`): Processes cartridge generation requests with complete project setup using dependency injection
|
|
341
|
-
- **AgentInstructionsToolHandler** (`agent-instructions-handler.ts`): Installs or merges bundled AGENTS.md and skills into workspaces, user home, or temp directories
|
|
342
|
-
|
|
343
|
-
#### **Client Architecture**
|
|
344
|
-
|
|
345
|
-
##### **Base Client Infrastructure** (`clients/base/`)
|
|
346
|
-
- **BaseHttpClient** (`http-client.ts`): Abstract base class providing HTTP operations, authentication handling, and error recovery
|
|
347
|
-
- **OCAPIAuthClient** (`ocapi-auth-client.ts`): OCAPI-specific OAuth authentication with token management and automatic renewal
|
|
348
|
-
- **TokenManager** (`oauth-token.ts`): Singleton OAuth token manager for SFCC OCAPI authentication with automatic expiration handling
|
|
349
|
-
|
|
350
|
-
##### **Specialized OCAPI Clients** (`clients/ocapi/`)
|
|
351
|
-
- **OCAPISitePreferencesClient** (`site-preferences-client.ts`): Manages site preference searches and configuration discovery
|
|
352
|
-
- **OCAPISystemObjectsClient** (`system-objects-client.ts`): Provides system object definitions, attribute schemas, and custom object exploration
|
|
353
|
-
|
|
354
|
-
##### **Modular Log Analysis System** (`clients/logs/`)
|
|
355
|
-
- **SFCCLogClient** (`log-client.ts`): Main orchestrator that composes specialized log modules for comprehensive log analysis including job logs from deeper folder structures
|
|
356
|
-
- **WebDAVClientManager** (`webdav-client-manager.ts`): WebDAV authentication and client setup with OAuth and basic auth support
|
|
357
|
-
- **LogFileReader** (`log-file-reader.ts`): File reading with range request optimization (200KB tail reading) and comprehensive fallback mechanisms
|
|
358
|
-
- **LogFileDiscovery** (`log-file-discovery.ts`): File listing, filtering by date/level, metadata operations, chronological sorting, and job log discovery from `/Logs/jobs/[job name ID]/` folder structure
|
|
359
|
-
- **LogProcessor** (`log-processor.ts`): Log parsing, entry extraction, data manipulation, pattern processing, and job log processing (handles all log levels in single files)
|
|
360
|
-
- **LogAnalyzer** (`log-analyzer.ts`): Advanced analysis including pattern detection, health scoring, trend analysis, and recommendation generation
|
|
361
|
-
- **LogFormatter** (`log-formatter.ts`): Output formatting, presentation logic, user-friendly message templates, and job execution summaries
|
|
362
|
-
- **LogConstants** (`log-constants.ts`): Centralized constants, configuration values, message templates, and job log patterns
|
|
363
|
-
- **LogTypes** (`log-types.ts`): Comprehensive TypeScript interfaces for all log operations including job log types
|
|
364
|
-
|
|
365
|
-
##### **Modular SFCC Documentation System** (`clients/docs/`)
|
|
366
|
-
- **DocumentationScanner** (`documentation-scanner.ts`): File discovery and class listing across all SFCC namespaces, scanning Markdown documentation files and building comprehensive class inventories
|
|
367
|
-
- **ClassContentParser** (`class-content-parser.ts`): Markdown parsing and content extraction, processing class documentation to extract methods, properties, constants, and inheritance information
|
|
368
|
-
- **ClassNameResolver** (`class-name-resolver.ts`): Class name normalization and resolution, handling various naming patterns and ensuring consistent class identification across the documentation system
|
|
369
|
-
- **ReferencedTypesExtractor** (`referenced-types-extractor.ts`): Type extraction from documentation content with circular reference protection, identifying SFCC types used in method signatures and class relationships
|
|
370
|
-
|
|
371
|
-
##### **Service Clients** (`clients/`)
|
|
372
|
-
- **DocsClient** (`docs-client.ts`): Main orchestrator for SFCC documentation processing that coordinates specialized modules for documentation scanning, content parsing, class name resolution, and type extraction across all namespaces
|
|
373
|
-
- **LogClient** (`log-client.ts`): Backward compatibility wrapper that re-exports the modular log system
|
|
374
|
-
- **SFRAClient** (`sfra-client.ts`): Provides comprehensive SFRA (Storefront Reference Architecture) documentation access including Server, Request, Response, QueryString, and render module documentation with method and property details
|
|
375
|
-
- **ISMLClient** (`isml-client.ts`): Provides ISML element documentation, category-based browsing, and search functionality for template development
|
|
376
|
-
- **OCAPIClient** (`ocapi-client.ts`): Main OCAPI coordinator that orchestrates specialized clients and provides unified interface
|
|
377
|
-
- **BestPracticesClient** (`best-practices-client.ts`): Serves curated development guides including cartridge creation, ISML templates with security and performance guidelines, job framework development, LocalServiceRegistry service integrations with OAuth patterns and reusable module design, OCAPI/SCAPI hooks, SFRA controllers, SFRA models with JSON object layer design and architecture patterns, SFRA client-side JavaScript architecture (AJAX flows, validation, accessibility), custom endpoints, security recommendations, and performance optimization strategies with hook reference tables
|
|
378
|
-
- **AgentInstructionsClient** (`agent-instructions-client.ts`): Plans and installs bundled AI assets (AGENTS.md + skills) into workspaces, user home, or temp directories with merge strategies and missing-only copy support
|
|
379
|
-
|
|
380
|
-
##### **Cartridge Generation** (`clients/cartridge/`)
|
|
381
|
-
- **CartridgeGenerationClient** (`cartridge-generation-client.ts`): Generates complete cartridge structures with clean dependency injection for file system and path operations
|
|
382
|
-
- **CartridgeStructure** (`cartridge-structure.ts`): Defines standard SFCC cartridge directory structure
|
|
383
|
-
- **CartridgeTemplates** (`cartridge-templates.ts`): Contains file templates for controllers, models, scripts, and configurations
|
|
384
|
-
|
|
385
|
-
#### **Configuration Management** (`config/`)
|
|
386
|
-
- **Configuration Factory** (`configuration-factory.ts`): Creates configurations for different modes
|
|
387
|
-
- **Config Loader** (`dw-json-loader.ts`): Handles dw.json and environment variable loading
|
|
388
|
-
|
|
389
|
-
#### **Service Layer** (`services/`)
|
|
390
|
-
- **Service Interfaces** (`index.ts`): Exports clean abstractions for system operations (IFileSystemService, IPathService)
|
|
391
|
-
- **FileSystemService** (`file-system-service.ts`): Production implementation of file system operations with Node.js fs module
|
|
392
|
-
- **PathService** (`path-service.ts`): Production implementation of path manipulation with Node.js path module
|
|
393
|
-
- **Mock Services**: Test implementations providing controlled behavior for unit testing without real file system access
|
|
394
|
-
|
|
395
|
-
#### **Utilities** (`utils/`)
|
|
396
|
-
- **Caching System** (`cache.ts`): Efficient caching for API responses and documentation
|
|
397
|
-
- **Logging** (`logger.ts`): Structured logging with debug capabilities
|
|
398
|
-
- **Path Resolution** (`path-resolver.ts`): Secure file path handling
|
|
399
|
-
- **Common Utilities** (`utils.ts`): Shared utility functions
|
|
400
|
-
|
|
401
|
-
#### **Tool Categories**
|
|
402
|
-
|
|
403
|
-
1. **SFCC Documentation Tools** (5 tools)
|
|
404
|
-
- Class information and method documentation
|
|
405
|
-
- API search and discovery
|
|
406
|
-
- Complete SFCC namespace coverage
|
|
407
|
-
|
|
408
|
-
2. **Best Practices Guides** (4 tools)
|
|
409
|
-
- Curated development guidelines
|
|
410
|
-
- Security and performance recommendations
|
|
411
|
-
- SFRA client-side JavaScript architecture (AJAX, validation, accessibility)
|
|
412
|
-
- Hook reference tables and examples
|
|
413
|
-
|
|
414
|
-
3. **Enhanced SFRA Documentation Tools** (5 tools)
|
|
415
|
-
- **Dynamic Discovery**: Automatically finds all 26+ SFRA documents including core classes, extensive model documentation
|
|
416
|
-
- **Smart Categorization**: Organizes documents into 7 logical categories (core, product, order, customer, pricing, store, other)
|
|
417
|
-
- **Advanced Search**: Relevance-scored search across all documents with context highlighting
|
|
418
|
-
- **Category Filtering**: Explore documents by functional areas for efficient discovery
|
|
419
|
-
- **Complete Coverage**: Core SFRA classes (Server, Request, Response, QueryString, render) plus comprehensive model documentation (account, cart, products, pricing, billing, shipping, store, customer management, totals, categories, content, locale, addresses, and more)
|
|
420
|
-
|
|
421
|
-
4. **ISML Documentation Tools** (5 tools)
|
|
422
|
-
- Complete ISML element reference and documentation
|
|
423
|
-
- Control flow elements (isif, isloop, isnext, etc.)
|
|
424
|
-
- Output formatting (isprint) and includes (isinclude, iscomponent, isslot)
|
|
425
|
-
- Scripting elements (isscript, isset) and caching (iscache)
|
|
426
|
-
- Category-based browsing and advanced search capabilities
|
|
427
|
-
|
|
428
|
-
5. **Cartridge Generation Tools** (1 tool)
|
|
429
|
-
- Automated cartridge structure creation with direct file generation
|
|
430
|
-
- Complete project setup with all necessary configuration files
|
|
431
|
-
- Proper directory organization and file structure
|
|
432
|
-
|
|
433
|
-
6. **Log Analysis Tools** (8 tools)
|
|
434
|
-
- Real-time error monitoring
|
|
435
|
-
- Log search and pattern matching
|
|
436
|
-
- System health summarization
|
|
437
|
-
|
|
438
|
-
7. **Job Log Tools** (5 tools)
|
|
439
|
-
- Job log analysis and debugging
|
|
440
|
-
- Job execution summaries
|
|
441
|
-
- Custom job step monitoring
|
|
442
|
-
|
|
443
|
-
8. **System Object Tools** (6 tools)
|
|
444
|
-
- Custom attribute discovery
|
|
445
|
-
- Site preference management
|
|
446
|
-
- System object schema exploration
|
|
447
|
-
- Custom object attribute definitions search
|
|
448
|
-
|
|
449
|
-
9. **Code Version Tools** (2 tools)
|
|
450
|
-
- Code version listing and management
|
|
451
|
-
- Code version activation for deployment fixes
|
|
452
|
-
|
|
453
|
-
10. **Agent Instruction Tools** (1 tool)
|
|
454
|
-
- Copy or merge AGENTS.md and bundled skills into the current workspace, user home, or a temp directory
|
|
455
|
-
- Supports dry-run planning, append/replace/skip strategies, and missing-only installs
|
|
456
|
-
|
|
457
|
-
### 🚀 Operating Modes
|
|
458
|
-
|
|
459
|
-
#### **Configuration Discovery Priority**
|
|
460
|
-
The server discovers SFCC credentials in this order (highest to lowest priority):
|
|
461
|
-
|
|
462
|
-
1. **CLI parameter** (`--dw-json /path/to/dw.json`) - Explicit, highest priority
|
|
463
|
-
2. **Environment variables** (`SFCC_HOSTNAME`, `SFCC_USERNAME`, `SFCC_PASSWORD`, `SFCC_CLIENT_ID`, `SFCC_CLIENT_SECRET`)
|
|
464
|
-
3. **MCP workspace roots discovery** - Automatically finds `dw.json` in VS Code workspace folders after client connection
|
|
465
|
-
|
|
466
|
-
> **Note**: CWD-based auto-discovery is intentionally disabled because MCP servers often start with `cwd` set to the user's home directory, not the project directory. The MCP workspace roots mechanism provides reliable project context.
|
|
467
|
-
|
|
468
|
-
#### **Documentation-Only Mode**
|
|
469
|
-
- No SFCC credentials required
|
|
470
|
-
- Access to all documentation and best practices
|
|
471
|
-
- Perfect for learning and reference
|
|
472
|
-
|
|
473
|
-
#### **Full Mode**
|
|
474
|
-
- Requires SFCC instance credentials
|
|
475
|
-
- Complete access to logs, job logs, and system objects
|
|
476
|
-
- Real-time debugging and monitoring capabilities
|
|
477
|
-
|
|
478
|
-
### 🎯 Development Guidelines
|
|
479
|
-
See Unified Engineering Principles section above for the authoritative guidelines covering:
|
|
480
|
-
- Configuration options and operating modes
|
|
481
|
-
- Development workflows and best practices
|
|
482
|
-
- Tool categories and counts
|
|
483
|
-
- Installation and setup procedures
|
|
484
|
-
|
|
485
|
-
### 📝 Documentation Maintenance Requirements
|
|
486
|
-
|
|
487
|
-
**Critical**: When making any structural or functional changes to the codebase, you **MUST** update the relevant sections in **BOTH** `AGENTS.md` and `README.md`:
|
|
488
|
-
|
|
489
|
-
#### **Always Verify Counts with Command Line Tools:**
|
|
490
|
-
|
|
491
|
-
Before updating any documentation with tool counts or quantitative information, **ALWAYS** verify the actual numbers using command line tools:
|
|
492
|
-
|
|
493
|
-
```bash
|
|
494
|
-
# Total tool count verification (38 tools across all categories)
|
|
495
|
-
grep -c "name: '" src/core/tool-schemas/*.ts | grep -v ":0" | awk -F: '{sum+=$2} END {print "Total tools:", sum}'
|
|
496
|
-
|
|
497
|
-
# Individual category counts (from modular schema files)
|
|
498
|
-
echo "Documentation tools:" && grep -c "name: '" src/core/tool-schemas/documentation-tools.ts
|
|
499
|
-
echo "Best practices tools:" && grep -c "name: '" src/core/tool-schemas/best-practices-tools.ts
|
|
500
|
-
echo "SFRA tools:" && grep -c "name: '" src/core/tool-schemas/sfra-tools.ts
|
|
501
|
-
echo "ISML tools:" && grep -c "name: '" src/core/tool-schemas/isml-tools.ts
|
|
502
|
-
echo "Log + Job log tools:" && grep -c "name: '" src/core/tool-schemas/log-tools.ts
|
|
503
|
-
echo "System object tools:" && grep -c "name: '" src/core/tool-schemas/system-object-tools.ts
|
|
504
|
-
echo "Cartridge tools:" && grep -c "name: '" src/core/tool-schemas/cartridge-tools.ts
|
|
505
|
-
echo "Code version tools:" && grep -c "name: '" src/core/tool-schemas/code-version-tools.ts
|
|
506
|
-
|
|
507
|
-
# Verify file structure changes
|
|
508
|
-
find src -name "*.ts" -type f | wc -l # Count TypeScript files
|
|
509
|
-
find docs -name "*.md" -type f | wc -l # Count documentation files
|
|
510
|
-
```
|
|
511
|
-
|
|
512
|
-
**Never assume or estimate counts** - always verify with actual command line verification before updating documentation.
|
|
513
|
-
|
|
514
|
-
#### **Required Updates For:**
|
|
515
|
-
- **File Renames/Moves**: Update project structure diagram and component descriptions in AGENTS.md; update any file references in README.md
|
|
516
|
-
- **New Classes/Modules**: Add descriptions to the Key Components section in AGENTS.md; update feature lists in README.md if user-facing
|
|
517
|
-
- **Changed Responsibilities**: Modify class/module purpose descriptions in AGENTS.md; update feature descriptions in README.md
|
|
518
|
-
- **New Tools**: Update tool categories and counts in **both** files; add tool descriptions to README.md features section
|
|
519
|
-
- **Configuration Changes**: Update Operating Modes and Configuration Management sections in AGENTS.md; update configuration examples in README.md
|
|
520
|
-
- **New Development Patterns**: Add to Common Development Tasks in AGENTS.md
|
|
521
|
-
- **Architecture Changes**: Update Client Architecture and Key Components sections in AGENTS.md
|
|
522
|
-
- **Installation/Setup Changes**: Update installation and configuration sections in README.md
|
|
523
|
-
- **New Operating Modes**: Update both files with new mode descriptions and requirements
|
|
524
|
-
- **Tool Count Changes**: Update the "Available Tools by Mode" table in README.md and tool category counts in copilot-instructions.md
|
|
525
|
-
|
|
526
|
-
#### **Documentation Standards:**
|
|
527
|
-
- **copilot-instructions.md**: Focus on technical architecture, development guidelines, and internal structure
|
|
528
|
-
- **README.md**: Focus on user-facing features, installation, configuration, and usage examples
|
|
529
|
-
- Use clear, descriptive language that helps developers understand the codebase
|
|
530
|
-
- Include specific file paths and references where relevant
|
|
531
|
-
- Maintain consistency with existing documentation style and structure
|
|
532
|
-
- Provide context for why changes were made when updating architectural decisions
|
|
533
|
-
- Keep tool counts and feature lists accurate and current in both files
|
|
534
|
-
|
|
535
|
-
#### **When to Update:**
|
|
536
|
-
- **Immediately after** making structural changes (file renames, moves, deletions)
|
|
537
|
-
- **Before completing** feature development that adds new capabilities
|
|
538
|
-
- **During refactoring** that changes class responsibilities or module purposes
|
|
539
|
-
- **After adding** new tools, clients, or major functionality
|
|
540
|
-
- **When modifying** configuration systems or authentication flows
|
|
541
|
-
- **When changing** installation procedures or setup requirements
|
|
542
|
-
- **After updating** tool categories or operating modes
|
|
543
|
-
|
|
544
|
-
#### **Specific File Responsibilities:**
|
|
545
|
-
|
|
546
|
-
**AGENTS.md Updates:**
|
|
547
|
-
- Project structure diagram
|
|
548
|
-
- Key Components descriptions
|
|
549
|
-
- Tool Categories and counts
|
|
550
|
-
- Operating Modes technical details
|
|
551
|
-
- Development Guidelines
|
|
552
|
-
- Common Development Tasks
|
|
553
|
-
- Client Architecture descriptions
|
|
554
|
-
|
|
555
|
-
**README.md Updates:**
|
|
556
|
-
- Feature lists and descriptions
|
|
557
|
-
- Available Tools by Mode table
|
|
558
|
-
- Installation and setup instructions
|
|
559
|
-
- Configuration examples and options
|
|
560
|
-
- Usage examples and quick start guides
|
|
561
|
-
- Tool descriptions for end users
|
|
562
|
-
|
|
563
|
-
**Remember**: These documentation files serve as the primary source of truth for understanding the project. `AGENTS.md` guides development practices and architecture, while `README.md` serves users and contributors. Keeping both current ensures consistent understanding across all stakeholders and maintains professional project standards.
|
|
564
|
-
|
|
565
|
-
### 🔧 Common Development Tasks
|
|
566
|
-
|
|
567
|
-
**Code Development:**
|
|
568
|
-
- **Adding New Tools**: Define schema in `core/tool-schemas/[category]-tools.ts`, add to `index.ts`, implement in `core/handlers/`
|
|
569
|
-
- **Creating New Handlers**: Extend `BaseToolHandler`, implement `canHandle()` and `handle()`, register in `server.ts`
|
|
570
|
-
- **Using ClientFactory**: Create clients with `ClientFactory` for centralized creation and DI support
|
|
571
|
-
- **Implementing Services**: Create interfaces in `services/index.ts`, implement production + mock versions
|
|
572
|
-
|
|
573
|
-
**Testing** (see `.github/skills/` for detailed guides):
|
|
574
|
-
- **YAML Tests**: Use `mcp-yaml-testing` skill for declarative test creation
|
|
575
|
-
- **Programmatic Tests**: Use `mcp-programmatic-testing` skill for complex workflows
|
|
576
|
-
- **Unit Tests**: Jest for `tests/` directory; MCP tests use `node --test`
|
|
577
|
-
|
|
578
|
-
**SFCC-Specific Tasks** (see `.github/skills/` for detailed guides):
|
|
579
|
-
- **Cartridge Generation**: Use `sfcc-cartridge-generation` skill for scaffolding
|
|
580
|
-
- **Log Debugging**: Use `sfcc-log-debugging` skill for error investigation
|
|
581
|
-
|
|
582
|
-
**Modular Development:**
|
|
583
|
-
- **Log Modules**: Modify `clients/logs/` files for log functionality changes
|
|
584
|
-
- **Doc Modules**: Modify `clients/docs/` files for documentation parsing changes
|
|
585
|
-
- **Documentation**: Use verification commands before updating counts
|
|
586
|
-
|
|
587
|
-
### 🔍 Testing & Validation
|
|
588
|
-
|
|
589
|
-
**Skills Available**: For detailed testing workflows, use these Agent Skills (in `.github/skills/`):
|
|
590
|
-
- `mcp-yaml-testing` - YAML test creation, patterns, discovery workflow
|
|
591
|
-
- `mcp-programmatic-testing` - JavaScript tests, buffer management, multi-step workflows
|
|
592
|
-
|
|
593
|
-
**Test Type Decision Matrix**:
|
|
594
|
-
| Scenario | Recommended | Reason |
|
|
595
|
-
|----------|-------------|--------|
|
|
596
|
-
| Basic tool validation | YAML | Simple, declarative, CI-friendly |
|
|
597
|
-
| Schema/shape testing | YAML | Pattern matching built-in |
|
|
598
|
-
| Multi-step workflows | Programmatic | State management needed |
|
|
599
|
-
| Complex business logic | Programmatic | Code execution required |
|
|
600
|
-
|
|
601
|
-
**Essential Commands**:
|
|
602
|
-
```bash
|
|
603
|
-
# Discovery (ALWAYS run before writing tests)
|
|
604
|
-
npx aegis query [tool_name] '[params]' --config ./aegis.config.docs-only.json
|
|
605
|
-
|
|
606
|
-
# Test execution
|
|
607
|
-
npm run test:mcp:yaml # YAML tests (docs-only)
|
|
608
|
-
npm run test:mcp:yaml:full # YAML tests (full mode)
|
|
609
|
-
npm run test:mcp:node # Programmatic tests
|
|
610
|
-
npm test # Full suite (Jest + MCP)
|
|
611
|
-
```
|
|
612
|
-
|
|
613
|
-
**Critical Rules**:
|
|
614
|
-
1. Always discover response formats with `aegis query` before writing tests
|
|
615
|
-
2. Use `client.clearAllBuffers()` in programmatic test `beforeEach()` hooks
|
|
616
|
-
3. Never use `Promise.all()` with MCP requests (causes buffer conflicts)
|
|
617
|
-
4. Use CI-friendly timeouts (500ms+) for performance assertions
|
|
618
|
-
|
|
619
|
-
### 🧱 Architecture Advantages (Consolidated)
|
|
620
|
-
Unified benefits of the directory structure, handler model, dependency injection, modular log system, and modular documentation system:
|
|
621
|
-
|
|
622
|
-
| Concern | Key Advantages |
|
|
623
|
-
|---------|----------------|
|
|
624
|
-
| Directory Structure | Clear ownership, scalable growth, minimal cross-module coupling |
|
|
625
|
-
| Handlers | Category isolation, standardized lifecycle (canHandle/handle), centralized error & timing, easy extension |
|
|
626
|
-
| Dependency Injection | Swappable services, simplified testing (mock interfaces), boundary clarity, reduced coupling |
|
|
627
|
-
| Log Modules | SRP per stage (discover→read→process→analyze→format), range-tail efficiency, extensible analysis & output, backward compatibility wrapper |
|
|
628
|
-
| Documentation Modules | Streamlined pipeline (scan→parse→resolve→extract), focused optimizations, circular reference protection, type-safe expansion |
|
|
629
|
-
|
|
630
|
-
Cross-cutting wins:
|
|
631
|
-
- Strong typing across all layers
|
|
632
|
-
- Deterministic testability in isolation
|
|
633
|
-
- Backward compatibility through orchestrator wrappers (`log-client.ts`, `docs-client.ts`)
|
|
634
|
-
- Predictable extension points (add handler, client, or module without ripple)
|
|
635
|
-
- Low-risk refactoring zones due to SRP boundaries
|
|
636
|
-
|
|
637
|
-
Result: Faster iteration, safer modifications, and clearer mental model for both humans and AI agents.
|
|
638
|
-
|