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
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Path Resolver Helper
|
|
3
|
-
*
|
|
4
|
-
* Provides utilities for resolving file and directory paths based on the current working directory.
|
|
5
|
-
* This abstraction allows for easier path management and testing.
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
import path from 'path';
|
|
9
|
-
import { fileURLToPath } from 'url';
|
|
10
|
-
|
|
11
|
-
export class PathResolver {
|
|
12
|
-
/**
|
|
13
|
-
* Get the current working directory (project root)
|
|
14
|
-
*/
|
|
15
|
-
static getCurrentWorkingDir(): string {
|
|
16
|
-
// Get the directory of the current module file
|
|
17
|
-
// ts-jest may compile with a CommonJS module target in tests; suppress the
|
|
18
|
-
// diagnostic because runtime uses ESM (NodeNext) where import.meta is valid.
|
|
19
|
-
const __filename = fileURLToPath(import.meta.url);
|
|
20
|
-
const __dirname = path.dirname(__filename);
|
|
21
|
-
|
|
22
|
-
// Return the project root (handles both src/ and dist/ locations)
|
|
23
|
-
return path.resolve(__dirname, '..', '..');
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* Root path for bundled AI instructions (AGENTS.md + skills)
|
|
28
|
-
*/
|
|
29
|
-
static getAiInstructionsPath(): string {
|
|
30
|
-
return this.getRelativePath('ai-instructions');
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
/**
|
|
34
|
-
* Path to the bundled AGENTS.md
|
|
35
|
-
*/
|
|
36
|
-
static getAgentsInstructionsFile(): string {
|
|
37
|
-
return path.join(this.getAiInstructionsPath(), 'AGENTS.md');
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* Path to the bundled skills directory
|
|
42
|
-
*/
|
|
43
|
-
static getSkillsSourcePath(): string {
|
|
44
|
-
return path.join(this.getAiInstructionsPath(), 'skills');
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
/**
|
|
48
|
-
* Get a path relative to the current working directory
|
|
49
|
-
*/
|
|
50
|
-
static getRelativePath(...pathSegments: string[]): string {
|
|
51
|
-
const currentDir = this.getCurrentWorkingDir();
|
|
52
|
-
|
|
53
|
-
return path.join(currentDir, ...pathSegments);
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
/**
|
|
57
|
-
* Get the docs directory path relative to the current working directory
|
|
58
|
-
*/
|
|
59
|
-
static getDocsPath(): string {
|
|
60
|
-
return this.getRelativePath('docs');
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
/**
|
|
64
|
-
* Get the SFRA docs directory path relative to the current working directory
|
|
65
|
-
*/
|
|
66
|
-
static getSFRADocsPath(): string {
|
|
67
|
-
return this.getRelativePath('docs', 'sfra');
|
|
68
|
-
}
|
|
69
|
-
}
|
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Path Validation Utilities
|
|
3
|
-
*
|
|
4
|
-
* Provides secure path validation for file operations.
|
|
5
|
-
* Prevents path traversal attacks and validates file names.
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
import * as path from 'path';
|
|
9
|
-
|
|
10
|
-
export interface PathValidationOptions {
|
|
11
|
-
/** Allowed file extensions (e.g., ['.md', '.json']) */
|
|
12
|
-
allowedExtensions?: string[];
|
|
13
|
-
/** Whether to normalize the name to lowercase */
|
|
14
|
-
normalizeToLowerCase?: boolean;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
export class PathValidationError extends Error {
|
|
18
|
-
constructor(message: string, public readonly code: string = 'PATH_VALIDATION_ERROR') {
|
|
19
|
-
super(message);
|
|
20
|
-
this.name = 'PathValidationError';
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* Validate a file/document name for security issues
|
|
26
|
-
* @param name - The name to validate
|
|
27
|
-
* @param fieldName - Human-readable field name for error messages
|
|
28
|
-
* @throws PathValidationError if validation fails
|
|
29
|
-
*/
|
|
30
|
-
export function validateFileName(name: string, fieldName: string = 'name'): void {
|
|
31
|
-
if (!name || typeof name !== 'string') {
|
|
32
|
-
throw new PathValidationError(`Invalid ${fieldName}: must be a non-empty string`, 'INVALID_TYPE');
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
// Prevent null bytes
|
|
36
|
-
if (name.includes('\0') || name.includes('\x00')) {
|
|
37
|
-
throw new PathValidationError(`Invalid ${fieldName}: contains null bytes`, 'NULL_BYTES');
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
// Prevent path traversal sequences
|
|
41
|
-
if (name.includes('..') || name.includes('/') || name.includes('\\')) {
|
|
42
|
-
throw new PathValidationError(`Invalid ${fieldName}: contains path traversal sequences`, 'PATH_TRAVERSAL');
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
// Only allow safe characters
|
|
46
|
-
if (!/^[a-zA-Z0-9_-]+$/.test(name)) {
|
|
47
|
-
throw new PathValidationError(`Invalid ${fieldName}: contains invalid characters`, 'INVALID_CHARACTERS');
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
/**
|
|
52
|
-
* Construct and validate a file path within a base directory
|
|
53
|
-
* @param basePath - The base directory path
|
|
54
|
-
* @param fileName - The file name (without extension)
|
|
55
|
-
* @param options - Validation options
|
|
56
|
-
* @returns The validated, resolved file path
|
|
57
|
-
* @throws PathValidationError if validation fails
|
|
58
|
-
*/
|
|
59
|
-
export function constructValidatedPath(
|
|
60
|
-
basePath: string,
|
|
61
|
-
fileName: string,
|
|
62
|
-
options: PathValidationOptions = {},
|
|
63
|
-
): string {
|
|
64
|
-
const { allowedExtensions = ['.md'], normalizeToLowerCase = true } = options;
|
|
65
|
-
|
|
66
|
-
// Validate the file name first
|
|
67
|
-
validateFileName(fileName, 'file name');
|
|
68
|
-
|
|
69
|
-
// Normalize if requested
|
|
70
|
-
const normalizedName = normalizeToLowerCase ? fileName.toLowerCase() : fileName;
|
|
71
|
-
|
|
72
|
-
// Determine extension (use first allowed extension by default)
|
|
73
|
-
const extension = allowedExtensions[0] ?? '.md';
|
|
74
|
-
|
|
75
|
-
// Construct the path
|
|
76
|
-
const filePath = path.join(basePath, `${normalizedName}${extension}`);
|
|
77
|
-
const resolvedPath = path.resolve(filePath);
|
|
78
|
-
const resolvedBasePath = path.resolve(basePath);
|
|
79
|
-
|
|
80
|
-
// Ensure the path is within the base directory
|
|
81
|
-
if (!resolvedPath.startsWith(resolvedBasePath)) {
|
|
82
|
-
throw new PathValidationError('Invalid file name: path outside allowed directory', 'OUTSIDE_BASE_DIR');
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
// Ensure the file has the correct extension
|
|
86
|
-
const hasValidExtension = allowedExtensions.some(ext =>
|
|
87
|
-
resolvedPath.toLowerCase().endsWith(ext.toLowerCase()),
|
|
88
|
-
);
|
|
89
|
-
if (!hasValidExtension) {
|
|
90
|
-
throw new PathValidationError(
|
|
91
|
-
`Invalid file name: must reference a ${allowedExtensions.join(' or ')} file`,
|
|
92
|
-
'INVALID_EXTENSION',
|
|
93
|
-
);
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
return resolvedPath;
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
/**
|
|
100
|
-
* Validate binary content
|
|
101
|
-
* @param content - The content to validate
|
|
102
|
-
* @param fieldName - Human-readable field name for error messages
|
|
103
|
-
* @throws PathValidationError if content appears to be binary
|
|
104
|
-
*/
|
|
105
|
-
export function validateTextContent(content: string, fieldName: string = 'content'): void {
|
|
106
|
-
if (!content.trim()) {
|
|
107
|
-
throw new PathValidationError(`Empty ${fieldName}`, 'EMPTY_CONTENT');
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
if (content.includes('\0')) {
|
|
111
|
-
throw new PathValidationError(`Invalid ${fieldName}: contains binary data`, 'BINARY_CONTENT');
|
|
112
|
-
}
|
|
113
|
-
}
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Query Builder Utility
|
|
3
|
-
*
|
|
4
|
-
* This module provides utilities for building query strings and handling URL parameters
|
|
5
|
-
* for SFCC API requests with proper encoding and array handling.
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* Query parameter builder for SFCC APIs
|
|
10
|
-
*/
|
|
11
|
-
export class QueryBuilder {
|
|
12
|
-
private params: URLSearchParams;
|
|
13
|
-
|
|
14
|
-
constructor() {
|
|
15
|
-
this.params = new URLSearchParams();
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* Add a parameter to the query string
|
|
20
|
-
*/
|
|
21
|
-
add(key: string, value: string | number | boolean): QueryBuilder {
|
|
22
|
-
if (value !== undefined && value !== null) {
|
|
23
|
-
this.params.append(key, value.toString());
|
|
24
|
-
}
|
|
25
|
-
return this;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
/**
|
|
29
|
-
* Add an array parameter with proper handling for different parameter types
|
|
30
|
-
*/
|
|
31
|
-
addArray(key: string, values: (string | number)[]): QueryBuilder {
|
|
32
|
-
if (!Array.isArray(values) || values.length === 0) {
|
|
33
|
-
return this;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
if (key === 'refine') {
|
|
37
|
-
// Special handling for OCAPI refine parameters (multiple entries)
|
|
38
|
-
values.forEach(value => this.params.append(key, value.toString()));
|
|
39
|
-
} else {
|
|
40
|
-
// Join arrays with comma for most parameters
|
|
41
|
-
this.params.append(key, values.join(','));
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
return this;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
/**
|
|
48
|
-
* Add multiple parameters from an object
|
|
49
|
-
*/
|
|
50
|
-
addFromObject(params: Record<string, any>): QueryBuilder {
|
|
51
|
-
Object.entries(params).forEach(([key, value]) => {
|
|
52
|
-
if (value !== undefined && value !== null) {
|
|
53
|
-
if (Array.isArray(value)) {
|
|
54
|
-
this.addArray(key, value);
|
|
55
|
-
} else {
|
|
56
|
-
this.add(key, value);
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
});
|
|
60
|
-
return this;
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
/**
|
|
64
|
-
* Build the final query string
|
|
65
|
-
*/
|
|
66
|
-
build(): string {
|
|
67
|
-
return this.params.toString();
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
/**
|
|
71
|
-
* Reset the builder
|
|
72
|
-
*/
|
|
73
|
-
reset(): QueryBuilder {
|
|
74
|
-
this.params = new URLSearchParams();
|
|
75
|
-
return this;
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
/**
|
|
79
|
-
* Static method to build query string from object
|
|
80
|
-
*/
|
|
81
|
-
static fromObject(params: Record<string, any>): string {
|
|
82
|
-
return new QueryBuilder().addFromObject(params).build();
|
|
83
|
-
}
|
|
84
|
-
}
|
package/src/utils/utils.ts
DELETED
|
@@ -1,139 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Utility functions for SFCC MCP Server
|
|
3
|
-
*
|
|
4
|
-
* This module contains helper functions for date formatting, file size conversion,
|
|
5
|
-
* and other common operations used throughout the application.
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* Get current date in YYYYMMDD format
|
|
10
|
-
* Used for filtering log files by date
|
|
11
|
-
*
|
|
12
|
-
* @returns Current date string in YYYYMMDD format
|
|
13
|
-
*/
|
|
14
|
-
export function getCurrentDate(): string {
|
|
15
|
-
const now = new Date();
|
|
16
|
-
const year = now.getFullYear();
|
|
17
|
-
const month = String(now.getMonth() + 1).padStart(2, '0');
|
|
18
|
-
const day = String(now.getDate()).padStart(2, '0');
|
|
19
|
-
return `${year}${month}${day}`;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Convert bytes to human-readable format
|
|
24
|
-
*
|
|
25
|
-
* @param bytes - Number of bytes to format
|
|
26
|
-
* @returns Formatted string with appropriate unit (Bytes, KB, MB, GB)
|
|
27
|
-
*/
|
|
28
|
-
export function formatBytes(bytes: number): string {
|
|
29
|
-
if (bytes === 0) {return '0 Bytes';}
|
|
30
|
-
const k = 1024;
|
|
31
|
-
const sizes = ['Bytes', 'KB', 'MB', 'GB'];
|
|
32
|
-
const i = Math.floor(Math.log(bytes) / Math.log(k));
|
|
33
|
-
return `${parseFloat((bytes / Math.pow(k, i)).toFixed(2)) } ${ sizes[i]}`;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* Parse log content into individual entries based on log level
|
|
38
|
-
* Handles multi-line log entries properly by grouping lines that belong together
|
|
39
|
-
*
|
|
40
|
-
* @param content - Raw log file content
|
|
41
|
-
* @param level - Log level to filter for (ERROR, WARN, INFO)
|
|
42
|
-
* @returns Array of complete log entries
|
|
43
|
-
*/
|
|
44
|
-
export function parseLogEntries(content: string, level: string): string[] {
|
|
45
|
-
const lines = content.split('\n');
|
|
46
|
-
const entries: string[] = [];
|
|
47
|
-
let currentEntry = '';
|
|
48
|
-
|
|
49
|
-
for (const line of lines) {
|
|
50
|
-
// Check if this line starts a new log entry for the specified level
|
|
51
|
-
if (line.includes(`] ${level} `) && line.includes('GMT]')) {
|
|
52
|
-
// Save the previous entry if it exists
|
|
53
|
-
if (currentEntry) {
|
|
54
|
-
entries.push(currentEntry.trim());
|
|
55
|
-
}
|
|
56
|
-
// Start a new entry
|
|
57
|
-
currentEntry = line;
|
|
58
|
-
} else if (currentEntry && line.trim()) {
|
|
59
|
-
// Add continuation lines to the current entry
|
|
60
|
-
currentEntry += `\n${ line}`;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
// Don't forget the last entry
|
|
65
|
-
if (currentEntry) {
|
|
66
|
-
entries.push(currentEntry.trim());
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
return entries;
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
/**
|
|
73
|
-
* Extract timestamp from a log entry
|
|
74
|
-
* @param logEntry - Complete log entry string
|
|
75
|
-
* @returns Date object or null if timestamp cannot be parsed
|
|
76
|
-
*/
|
|
77
|
-
export function extractTimestampFromLogEntry(logEntry: string): Date | null {
|
|
78
|
-
// Match pattern: [2025-08-19T10:30:00.000 GMT] or [2025-09-19 20:47:32.324 GMT]
|
|
79
|
-
const timestampMatch = logEntry.match(/^\[(\d{4}-\d{2}-\d{2}[T ]\d{2}:\d{2}:\d{2}\.\d{3}) GMT\]/);
|
|
80
|
-
|
|
81
|
-
if (!timestampMatch) {
|
|
82
|
-
return null;
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
try {
|
|
86
|
-
// Normalize the timestamp format for parsing
|
|
87
|
-
let timestampStr = timestampMatch[1];
|
|
88
|
-
|
|
89
|
-
// Convert space format to ISO format if needed
|
|
90
|
-
if (timestampStr.includes(' ')) {
|
|
91
|
-
timestampStr = timestampStr.replace(' ', 'T');
|
|
92
|
-
}
|
|
93
|
-
|
|
94
|
-
// Parse the ISO timestamp (adding 'Z' for UTC)
|
|
95
|
-
const date = new Date(`${timestampStr}Z`);
|
|
96
|
-
|
|
97
|
-
// Check if the date is valid
|
|
98
|
-
if (isNaN(date.getTime())) {
|
|
99
|
-
return null;
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
return date;
|
|
103
|
-
} catch {
|
|
104
|
-
return null;
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
/**
|
|
109
|
-
* Extract unique error patterns from error log entries
|
|
110
|
-
* Removes timestamps and common formatting to identify core error messages
|
|
111
|
-
*
|
|
112
|
-
* @param errors - Array of error log entries
|
|
113
|
-
* @returns Array of unique error patterns (limited to top 10)
|
|
114
|
-
*/
|
|
115
|
-
export function extractUniqueErrors(errors: string[]): string[] {
|
|
116
|
-
const patterns = new Set<string>();
|
|
117
|
-
|
|
118
|
-
for (const error of errors) {
|
|
119
|
-
// Extract main error message after the class name
|
|
120
|
-
// Pattern: [timestamp] ERROR ClassName - ErrorMessage
|
|
121
|
-
const match = error.match(/] ERROR [^-]+ - (.+?)(?:\n|$)/);
|
|
122
|
-
if (match) {
|
|
123
|
-
patterns.add(match[1].trim());
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
|
|
127
|
-
return Array.from(patterns).slice(0, 10); // Limit to top 10 unique errors
|
|
128
|
-
}
|
|
129
|
-
|
|
130
|
-
/**
|
|
131
|
-
* Normalize file path by removing leading slash if present
|
|
132
|
-
* SFCC WebDAV sometimes returns paths with leading slashes that need to be handled
|
|
133
|
-
*
|
|
134
|
-
* @param filePath - File path that may have a leading slash
|
|
135
|
-
* @returns Normalized file path without leading slash
|
|
136
|
-
*/
|
|
137
|
-
export function normalizeFilePath(filePath: string): string {
|
|
138
|
-
return filePath.startsWith('/') ? filePath.substring(1) : filePath;
|
|
139
|
-
}
|
package/src/utils/validator.ts
DELETED
|
@@ -1,162 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Validation Utilities
|
|
3
|
-
*
|
|
4
|
-
* This module provides validation functions for SFCC API parameters and inputs.
|
|
5
|
-
* It includes common validation patterns used across different API clients.
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* Custom validation error class
|
|
10
|
-
*/
|
|
11
|
-
export class ValidationError extends Error {
|
|
12
|
-
constructor(message: string) {
|
|
13
|
-
super(message);
|
|
14
|
-
this.name = 'ValidationError';
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* Valid instance types for SFCC site preferences
|
|
20
|
-
*/
|
|
21
|
-
const VALID_INSTANCE_TYPES = ['staging', 'development', 'sandbox', 'production'] as const;
|
|
22
|
-
export type InstanceType = typeof VALID_INSTANCE_TYPES[number];
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* Validation utility class
|
|
26
|
-
*/
|
|
27
|
-
export class Validator {
|
|
28
|
-
/**
|
|
29
|
-
* Validate that required fields are present and not empty
|
|
30
|
-
*/
|
|
31
|
-
static validateRequired(params: Record<string, any>, requiredFields: string[]): void {
|
|
32
|
-
const missingFields: string[] = [];
|
|
33
|
-
|
|
34
|
-
for (const field of requiredFields) {
|
|
35
|
-
const value = params[field];
|
|
36
|
-
if (value === undefined || value === null || (typeof value === 'string' && value.trim().length === 0)) {
|
|
37
|
-
missingFields.push(field);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
if (missingFields.length > 0) {
|
|
42
|
-
throw new ValidationError(`Required fields are missing or empty: ${missingFields.join(', ')}`);
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
/**
|
|
47
|
-
* Validate instance type for site preferences
|
|
48
|
-
*/
|
|
49
|
-
static validateInstanceType(instanceType: string): InstanceType {
|
|
50
|
-
if (!VALID_INSTANCE_TYPES.includes(instanceType as InstanceType)) {
|
|
51
|
-
throw new ValidationError(
|
|
52
|
-
`Invalid instance type '${instanceType}'. Must be one of: ${VALID_INSTANCE_TYPES.join(', ')}`,
|
|
53
|
-
);
|
|
54
|
-
}
|
|
55
|
-
return instanceType as InstanceType;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
/**
|
|
59
|
-
* Validate that a string is not empty
|
|
60
|
-
*/
|
|
61
|
-
static validateNotEmpty(value: string, fieldName: string): void {
|
|
62
|
-
if (!value || value.trim().length === 0) {
|
|
63
|
-
throw new ValidationError(`${fieldName} cannot be empty`);
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
/**
|
|
68
|
-
* Validate that a value is a positive number
|
|
69
|
-
*/
|
|
70
|
-
static validatePositiveNumber(value: number, fieldName: string): void {
|
|
71
|
-
if (value < 0) {
|
|
72
|
-
throw new ValidationError(`${fieldName} must be a positive number`);
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
/**
|
|
77
|
-
* Validate object type for system objects
|
|
78
|
-
*/
|
|
79
|
-
static validateObjectType(objectType: string): void {
|
|
80
|
-
Validator.validateNotEmpty(objectType, 'objectType');
|
|
81
|
-
|
|
82
|
-
// Basic validation - could be extended with specific object type patterns
|
|
83
|
-
if (!/^[a-zA-Z][a-zA-Z0-9_]*$/.test(objectType)) {
|
|
84
|
-
throw new ValidationError(
|
|
85
|
-
`Invalid object type '${objectType}'. Must start with a letter and contain only letters, numbers, and underscores.`,
|
|
86
|
-
);
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
/**
|
|
91
|
-
* Validate search request structure
|
|
92
|
-
*/
|
|
93
|
-
static validateSearchRequest(searchRequest: any): void {
|
|
94
|
-
if (!searchRequest || typeof searchRequest !== 'object') {
|
|
95
|
-
throw new ValidationError('Search request must be a valid object');
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
// Validate query structure if present
|
|
99
|
-
if (searchRequest.query) {
|
|
100
|
-
const query = searchRequest.query;
|
|
101
|
-
|
|
102
|
-
// Check that at least one query type is specified
|
|
103
|
-
const queryTypes = ['text_query', 'term_query', 'filtered_query', 'bool_query', 'match_all_query'];
|
|
104
|
-
const hasValidQuery = queryTypes.some(type => query[type]);
|
|
105
|
-
|
|
106
|
-
if (!hasValidQuery) {
|
|
107
|
-
throw new ValidationError(
|
|
108
|
-
`Search query must contain at least one of: ${queryTypes.join(', ')}`,
|
|
109
|
-
);
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
// Validate text_query structure
|
|
113
|
-
if (query.text_query) {
|
|
114
|
-
const textQuery = query.text_query;
|
|
115
|
-
if (!textQuery.fields || !Array.isArray(textQuery.fields) || textQuery.fields.length === 0) {
|
|
116
|
-
throw new ValidationError('text_query.fields must be a non-empty array');
|
|
117
|
-
}
|
|
118
|
-
if (!textQuery.search_phrase || typeof textQuery.search_phrase !== 'string') {
|
|
119
|
-
throw new ValidationError('text_query.search_phrase must be a non-empty string');
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
// Validate term_query structure
|
|
124
|
-
if (query.term_query) {
|
|
125
|
-
const termQuery = query.term_query;
|
|
126
|
-
if (!termQuery.fields || !Array.isArray(termQuery.fields) || termQuery.fields.length === 0) {
|
|
127
|
-
throw new ValidationError('term_query.fields must be a non-empty array');
|
|
128
|
-
}
|
|
129
|
-
if (!termQuery.operator || typeof termQuery.operator !== 'string') {
|
|
130
|
-
throw new ValidationError('term_query.operator must be a non-empty string');
|
|
131
|
-
}
|
|
132
|
-
if (!termQuery.values || !Array.isArray(termQuery.values) || termQuery.values.length === 0) {
|
|
133
|
-
throw new ValidationError('term_query.values must be a non-empty array');
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
// Validate sorts structure if present
|
|
139
|
-
if (searchRequest.sorts) {
|
|
140
|
-
if (!Array.isArray(searchRequest.sorts)) {
|
|
141
|
-
throw new ValidationError('sorts must be an array');
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
searchRequest.sorts.forEach((sort: any, index: number) => {
|
|
145
|
-
if (!sort.field || typeof sort.field !== 'string') {
|
|
146
|
-
throw new ValidationError(`sorts[${index}].field must be a non-empty string`);
|
|
147
|
-
}
|
|
148
|
-
if (sort.sort_order && !['asc', 'desc'].includes(sort.sort_order)) {
|
|
149
|
-
throw new ValidationError(`sorts[${index}].sort_order must be either 'asc' or 'desc'`);
|
|
150
|
-
}
|
|
151
|
-
});
|
|
152
|
-
}
|
|
153
|
-
|
|
154
|
-
// Validate pagination parameters
|
|
155
|
-
if (searchRequest.start !== undefined) {
|
|
156
|
-
Validator.validatePositiveNumber(searchRequest.start, 'start');
|
|
157
|
-
}
|
|
158
|
-
if (searchRequest.count !== undefined) {
|
|
159
|
-
Validator.validatePositiveNumber(searchRequest.count, 'count');
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
// Mock for SFCCDocumentationClient
|
|
2
|
-
export const SFCCDocumentationClient = jest.fn().mockImplementation(() => ({
|
|
3
|
-
getClassDetailsExpanded: jest.fn(),
|
|
4
|
-
getAvailableClasses: jest.fn(),
|
|
5
|
-
searchClasses: jest.fn(),
|
|
6
|
-
searchMethods: jest.fn(),
|
|
7
|
-
getClassDocumentation: jest.fn(),
|
|
8
|
-
}));
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Mock for BaseHttpClient
|
|
3
|
-
*/
|
|
4
|
-
|
|
5
|
-
export class BaseHttpClient {
|
|
6
|
-
constructor(baseUrl) {
|
|
7
|
-
this.baseUrl = baseUrl;
|
|
8
|
-
this.logger = {
|
|
9
|
-
debug: jest.fn(),
|
|
10
|
-
info: jest.fn(),
|
|
11
|
-
warn: jest.fn(),
|
|
12
|
-
error: jest.fn(),
|
|
13
|
-
};
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
async makeRequest() {
|
|
17
|
-
return { data: 'mocked' };
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
async get() {
|
|
21
|
-
return { data: 'mocked' };
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
async post() {
|
|
25
|
-
return { data: 'mocked' };
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
async put() {
|
|
29
|
-
return { data: 'mocked' };
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
async patch() {
|
|
33
|
-
return { data: 'mocked' };
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
async delete() {
|
|
37
|
-
return { data: 'mocked' };
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
async handleAuthError() {
|
|
41
|
-
// Mock implementation
|
|
42
|
-
}
|
|
43
|
-
}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
// Mock implementation of webdav module
|
|
2
|
-
const mockWebdavClient = {
|
|
3
|
-
getDirectoryContents: jest.fn(),
|
|
4
|
-
getFileContents: jest.fn(),
|
|
5
|
-
stat: jest.fn(),
|
|
6
|
-
createReadStream: jest.fn(),
|
|
7
|
-
};
|
|
8
|
-
|
|
9
|
-
const createClient = jest.fn(() => mockWebdavClient);
|
|
10
|
-
|
|
11
|
-
module.exports = {
|
|
12
|
-
createClient,
|
|
13
|
-
__mockWebdavClient: mockWebdavClient,
|
|
14
|
-
};
|