#
tokens: 49382/50000 46/825 files (page 4/61)
lines: on (toggle) GitHub
raw markdown copy reset
This is page 4 of 61. Use http://codebase.md/taurgis/sfcc-dev-mcp?lines=true&page={x} to view the full context.

# Directory Structure

```
├── .DS_Store
├── .github
│   ├── dependabot.yml
│   ├── instructions
│   │   ├── mcp-node-tests.instructions.md
│   │   └── mcp-yml-tests.instructions.md
│   ├── ISSUE_TEMPLATE
│   │   ├── bug_report.yml
│   │   ├── config.yml
│   │   ├── documentation.yml
│   │   ├── feature_request.yml
│   │   └── question.yml
│   ├── PULL_REQUEST_TEMPLATE
│   │   ├── bug_fix.md
│   │   ├── documentation.md
│   │   └── new_tool.md
│   ├── pull_request_template.md
│   └── workflows
│       ├── ci.yml
│       ├── deploy-pages.yml
│       ├── publish.yml
│       └── update-docs.yml
├── .gitignore
├── .husky
│   └── pre-commit
├── aegis.config.docs-only.json
├── aegis.config.json
├── aegis.config.with-dw.json
├── AGENTS.md
├── ai-instructions
│   ├── claude-desktop
│   │   └── claude_custom_instructions.md
│   ├── cursor
│   │   └── .cursor
│   │       └── rules
│   │           ├── debugging-workflows.mdc
│   │           ├── hooks-development.mdc
│   │           ├── isml-templates.mdc
│   │           ├── job-framework.mdc
│   │           ├── performance-optimization.mdc
│   │           ├── scapi-endpoints.mdc
│   │           ├── security-patterns.mdc
│   │           ├── sfcc-development.mdc
│   │           ├── sfra-controllers.mdc
│   │           ├── sfra-models.mdc
│   │           ├── system-objects.mdc
│   │           └── testing-patterns.mdc
│   └── github-copilot
│       └── copilot-instructions.md
├── CHANGELOG.md
├── CONTRIBUTING.md
├── docs
│   ├── best-practices
│   │   ├── cartridge_creation.md
│   │   ├── isml_templates.md
│   │   ├── job_framework.md
│   │   ├── localserviceregistry.md
│   │   ├── ocapi_hooks.md
│   │   ├── performance.md
│   │   ├── scapi_custom_endpoint.md
│   │   ├── scapi_hooks.md
│   │   ├── security.md
│   │   ├── sfra_client_side_js.md
│   │   ├── sfra_controllers.md
│   │   ├── sfra_models.md
│   │   └── sfra_scss.md
│   ├── dw_campaign
│   │   ├── ABTest.md
│   │   ├── ABTestMgr.md
│   │   ├── ABTestSegment.md
│   │   ├── AmountDiscount.md
│   │   ├── ApproachingDiscount.md
│   │   ├── BonusChoiceDiscount.md
│   │   ├── BonusDiscount.md
│   │   ├── Campaign.md
│   │   ├── CampaignMgr.md
│   │   ├── CampaignStatusCodes.md
│   │   ├── Coupon.md
│   │   ├── CouponMgr.md
│   │   ├── CouponRedemption.md
│   │   ├── CouponStatusCodes.md
│   │   ├── Discount.md
│   │   ├── DiscountPlan.md
│   │   ├── FixedPriceDiscount.md
│   │   ├── FixedPriceShippingDiscount.md
│   │   ├── FreeDiscount.md
│   │   ├── FreeShippingDiscount.md
│   │   ├── PercentageDiscount.md
│   │   ├── PercentageOptionDiscount.md
│   │   ├── PriceBookPriceDiscount.md
│   │   ├── Promotion.md
│   │   ├── PromotionMgr.md
│   │   ├── PromotionPlan.md
│   │   ├── SlotContent.md
│   │   ├── SourceCodeGroup.md
│   │   ├── SourceCodeInfo.md
│   │   ├── SourceCodeStatusCodes.md
│   │   └── TotalFixedPriceDiscount.md
│   ├── dw_catalog
│   │   ├── Catalog.md
│   │   ├── CatalogMgr.md
│   │   ├── Category.md
│   │   ├── CategoryAssignment.md
│   │   ├── CategoryLink.md
│   │   ├── PriceBook.md
│   │   ├── PriceBookMgr.md
│   │   ├── Product.md
│   │   ├── ProductActiveData.md
│   │   ├── ProductAttributeModel.md
│   │   ├── ProductAvailabilityLevels.md
│   │   ├── ProductAvailabilityModel.md
│   │   ├── ProductInventoryList.md
│   │   ├── ProductInventoryMgr.md
│   │   ├── ProductInventoryRecord.md
│   │   ├── ProductLink.md
│   │   ├── ProductMgr.md
│   │   ├── ProductOption.md
│   │   ├── ProductOptionModel.md
│   │   ├── ProductOptionValue.md
│   │   ├── ProductPriceInfo.md
│   │   ├── ProductPriceModel.md
│   │   ├── ProductPriceTable.md
│   │   ├── ProductSearchHit.md
│   │   ├── ProductSearchModel.md
│   │   ├── ProductSearchRefinementDefinition.md
│   │   ├── ProductSearchRefinements.md
│   │   ├── ProductSearchRefinementValue.md
│   │   ├── ProductVariationAttribute.md
│   │   ├── ProductVariationAttributeValue.md
│   │   ├── ProductVariationModel.md
│   │   ├── Recommendation.md
│   │   ├── SearchModel.md
│   │   ├── SearchRefinementDefinition.md
│   │   ├── SearchRefinements.md
│   │   ├── SearchRefinementValue.md
│   │   ├── SortingOption.md
│   │   ├── SortingRule.md
│   │   ├── Store.md
│   │   ├── StoreGroup.md
│   │   ├── StoreInventoryFilter.md
│   │   ├── StoreInventoryFilterValue.md
│   │   ├── StoreMgr.md
│   │   ├── Variant.md
│   │   └── VariationGroup.md
│   ├── dw_content
│   │   ├── Content.md
│   │   ├── ContentMgr.md
│   │   ├── ContentSearchModel.md
│   │   ├── ContentSearchRefinementDefinition.md
│   │   ├── ContentSearchRefinements.md
│   │   ├── ContentSearchRefinementValue.md
│   │   ├── Folder.md
│   │   ├── Library.md
│   │   ├── MarkupText.md
│   │   └── MediaFile.md
│   ├── dw_crypto
│   │   ├── CertificateRef.md
│   │   ├── CertificateUtils.md
│   │   ├── Cipher.md
│   │   ├── Encoding.md
│   │   ├── JWE.md
│   │   ├── JWEHeader.md
│   │   ├── JWS.md
│   │   ├── JWSHeader.md
│   │   ├── KeyRef.md
│   │   ├── Mac.md
│   │   ├── MessageDigest.md
│   │   ├── SecureRandom.md
│   │   ├── Signature.md
│   │   ├── WeakCipher.md
│   │   ├── WeakMac.md
│   │   ├── WeakMessageDigest.md
│   │   ├── WeakSignature.md
│   │   └── X509Certificate.md
│   ├── dw_customer
│   │   ├── AddressBook.md
│   │   ├── AgentUserMgr.md
│   │   ├── AgentUserStatusCodes.md
│   │   ├── AuthenticationStatus.md
│   │   ├── Credentials.md
│   │   ├── Customer.md
│   │   ├── CustomerActiveData.md
│   │   ├── CustomerAddress.md
│   │   ├── CustomerCDPData.md
│   │   ├── CustomerContextMgr.md
│   │   ├── CustomerGroup.md
│   │   ├── CustomerList.md
│   │   ├── CustomerMgr.md
│   │   ├── CustomerPasswordConstraints.md
│   │   ├── CustomerPaymentInstrument.md
│   │   ├── CustomerStatusCodes.md
│   │   ├── EncryptedObject.md
│   │   ├── ExternalProfile.md
│   │   ├── OrderHistory.md
│   │   ├── ProductList.md
│   │   ├── ProductListItem.md
│   │   ├── ProductListItemPurchase.md
│   │   ├── ProductListMgr.md
│   │   ├── ProductListRegistrant.md
│   │   ├── Profile.md
│   │   └── Wallet.md
│   ├── dw_extensions.applepay
│   │   ├── ApplePayHookResult.md
│   │   └── ApplePayHooks.md
│   ├── dw_extensions.facebook
│   │   ├── FacebookFeedHooks.md
│   │   └── FacebookProduct.md
│   ├── dw_extensions.paymentrequest
│   │   ├── PaymentRequestHookResult.md
│   │   └── PaymentRequestHooks.md
│   ├── dw_extensions.payments
│   │   ├── SalesforceBancontactPaymentDetails.md
│   │   ├── SalesforceCardPaymentDetails.md
│   │   ├── SalesforceEpsPaymentDetails.md
│   │   ├── SalesforceIdealPaymentDetails.md
│   │   ├── SalesforceKlarnaPaymentDetails.md
│   │   ├── SalesforcePaymentDetails.md
│   │   ├── SalesforcePaymentIntent.md
│   │   ├── SalesforcePaymentMethod.md
│   │   ├── SalesforcePaymentRequest.md
│   │   ├── SalesforcePaymentsHooks.md
│   │   ├── SalesforcePaymentsMgr.md
│   │   ├── SalesforcePaymentsSiteConfiguration.md
│   │   ├── SalesforcePayPalOrder.md
│   │   ├── SalesforcePayPalOrderAddress.md
│   │   ├── SalesforcePayPalOrderPayer.md
│   │   ├── SalesforcePayPalPaymentDetails.md
│   │   ├── SalesforceSepaDebitPaymentDetails.md
│   │   └── SalesforceVenmoPaymentDetails.md
│   ├── dw_extensions.pinterest
│   │   ├── PinterestAvailability.md
│   │   ├── PinterestFeedHooks.md
│   │   ├── PinterestOrder.md
│   │   ├── PinterestOrderHooks.md
│   │   └── PinterestProduct.md
│   ├── dw_io
│   │   ├── CSVStreamReader.md
│   │   ├── CSVStreamWriter.md
│   │   ├── File.md
│   │   ├── FileReader.md
│   │   ├── FileWriter.md
│   │   ├── InputStream.md
│   │   ├── OutputStream.md
│   │   ├── PrintWriter.md
│   │   ├── RandomAccessFileReader.md
│   │   ├── Reader.md
│   │   ├── StringWriter.md
│   │   ├── Writer.md
│   │   ├── XMLIndentingStreamWriter.md
│   │   ├── XMLStreamConstants.md
│   │   ├── XMLStreamReader.md
│   │   └── XMLStreamWriter.md
│   ├── dw_job
│   │   ├── JobExecution.md
│   │   └── JobStepExecution.md
│   ├── dw_net
│   │   ├── FTPClient.md
│   │   ├── FTPFileInfo.md
│   │   ├── HTTPClient.md
│   │   ├── HTTPRequestPart.md
│   │   ├── Mail.md
│   │   ├── SFTPClient.md
│   │   ├── SFTPFileInfo.md
│   │   ├── WebDAVClient.md
│   │   └── WebDAVFileInfo.md
│   ├── dw_object
│   │   ├── ActiveData.md
│   │   ├── CustomAttributes.md
│   │   ├── CustomObject.md
│   │   ├── CustomObjectMgr.md
│   │   ├── Extensible.md
│   │   ├── ExtensibleObject.md
│   │   ├── Note.md
│   │   ├── ObjectAttributeDefinition.md
│   │   ├── ObjectAttributeGroup.md
│   │   ├── ObjectAttributeValueDefinition.md
│   │   ├── ObjectTypeDefinition.md
│   │   ├── PersistentObject.md
│   │   ├── SimpleExtensible.md
│   │   └── SystemObjectMgr.md
│   ├── dw_order
│   │   ├── AbstractItem.md
│   │   ├── AbstractItemCtnr.md
│   │   ├── Appeasement.md
│   │   ├── AppeasementItem.md
│   │   ├── Basket.md
│   │   ├── BasketMgr.md
│   │   ├── BonusDiscountLineItem.md
│   │   ├── CouponLineItem.md
│   │   ├── CreateAgentBasketLimitExceededException.md
│   │   ├── CreateBasketFromOrderException.md
│   │   ├── CreateCouponLineItemException.md
│   │   ├── CreateOrderException.md
│   │   ├── CreateTemporaryBasketLimitExceededException.md
│   │   ├── GiftCertificate.md
│   │   ├── GiftCertificateLineItem.md
│   │   ├── GiftCertificateMgr.md
│   │   ├── GiftCertificateStatusCodes.md
│   │   ├── Invoice.md
│   │   ├── InvoiceItem.md
│   │   ├── LineItem.md
│   │   ├── LineItemCtnr.md
│   │   ├── Order.md
│   │   ├── OrderAddress.md
│   │   ├── OrderItem.md
│   │   ├── OrderMgr.md
│   │   ├── OrderPaymentInstrument.md
│   │   ├── OrderProcessStatusCodes.md
│   │   ├── PaymentCard.md
│   │   ├── PaymentInstrument.md
│   │   ├── PaymentMethod.md
│   │   ├── PaymentMgr.md
│   │   ├── PaymentProcessor.md
│   │   ├── PaymentStatusCodes.md
│   │   ├── PaymentTransaction.md
│   │   ├── PriceAdjustment.md
│   │   ├── PriceAdjustmentLimitTypes.md
│   │   ├── ProductLineItem.md
│   │   ├── ProductShippingCost.md
│   │   ├── ProductShippingLineItem.md
│   │   ├── ProductShippingModel.md
│   │   ├── Return.md
│   │   ├── ReturnCase.md
│   │   ├── ReturnCaseItem.md
│   │   ├── ReturnItem.md
│   │   ├── Shipment.md
│   │   ├── ShipmentShippingCost.md
│   │   ├── ShipmentShippingModel.md
│   │   ├── ShippingLineItem.md
│   │   ├── ShippingLocation.md
│   │   ├── ShippingMethod.md
│   │   ├── ShippingMgr.md
│   │   ├── ShippingOrder.md
│   │   ├── ShippingOrderItem.md
│   │   ├── SumItem.md
│   │   ├── TaxGroup.md
│   │   ├── TaxItem.md
│   │   ├── TaxMgr.md
│   │   ├── TrackingInfo.md
│   │   └── TrackingRef.md
│   ├── dw_order.hooks
│   │   ├── CalculateHooks.md
│   │   ├── OrderHooks.md
│   │   ├── PaymentHooks.md
│   │   ├── ReturnHooks.md
│   │   └── ShippingOrderHooks.md
│   ├── dw_rpc
│   │   ├── SOAPUtil.md
│   │   ├── Stub.md
│   │   └── WebReference.md
│   ├── dw_suggest
│   │   ├── BrandSuggestions.md
│   │   ├── CategorySuggestions.md
│   │   ├── ContentSuggestions.md
│   │   ├── CustomSuggestions.md
│   │   ├── ProductSuggestions.md
│   │   ├── SearchPhraseSuggestions.md
│   │   ├── SuggestedCategory.md
│   │   ├── SuggestedContent.md
│   │   ├── SuggestedPhrase.md
│   │   ├── SuggestedProduct.md
│   │   ├── SuggestedTerm.md
│   │   ├── SuggestedTerms.md
│   │   ├── Suggestions.md
│   │   └── SuggestModel.md
│   ├── dw_svc
│   │   ├── FTPService.md
│   │   ├── FTPServiceDefinition.md
│   │   ├── HTTPFormService.md
│   │   ├── HTTPFormServiceDefinition.md
│   │   ├── HTTPService.md
│   │   ├── HTTPServiceDefinition.md
│   │   ├── LocalServiceRegistry.md
│   │   ├── Result.md
│   │   ├── Service.md
│   │   ├── ServiceCallback.md
│   │   ├── ServiceConfig.md
│   │   ├── ServiceCredential.md
│   │   ├── ServiceDefinition.md
│   │   ├── ServiceProfile.md
│   │   ├── ServiceRegistry.md
│   │   ├── SOAPService.md
│   │   └── SOAPServiceDefinition.md
│   ├── dw_system
│   │   ├── AgentUserStatusCodes.md
│   │   ├── Cache.md
│   │   ├── CacheMgr.md
│   │   ├── HookMgr.md
│   │   ├── InternalObject.md
│   │   ├── JobProcessMonitor.md
│   │   ├── Log.md
│   │   ├── Logger.md
│   │   ├── LogNDC.md
│   │   ├── OrganizationPreferences.md
│   │   ├── Pipeline.md
│   │   ├── PipelineDictionary.md
│   │   ├── RemoteInclude.md
│   │   ├── Request.md
│   │   ├── RequestHooks.md
│   │   ├── Response.md
│   │   ├── RESTErrorResponse.md
│   │   ├── RESTResponseMgr.md
│   │   ├── RESTSuccessResponse.md
│   │   ├── SearchStatus.md
│   │   ├── Session.md
│   │   ├── Site.md
│   │   ├── SitePreferences.md
│   │   ├── Status.md
│   │   ├── StatusItem.md
│   │   ├── System.md
│   │   └── Transaction.md
│   ├── dw_util
│   │   ├── ArrayList.md
│   │   ├── Assert.md
│   │   ├── BigInteger.md
│   │   ├── Bytes.md
│   │   ├── Calendar.md
│   │   ├── Collection.md
│   │   ├── Currency.md
│   │   ├── DateUtils.md
│   │   ├── Decimal.md
│   │   ├── FilteringCollection.md
│   │   ├── Geolocation.md
│   │   ├── HashMap.md
│   │   ├── HashSet.md
│   │   ├── Iterator.md
│   │   ├── LinkedHashMap.md
│   │   ├── LinkedHashSet.md
│   │   ├── List.md
│   │   ├── Locale.md
│   │   ├── Map.md
│   │   ├── MapEntry.md
│   │   ├── MappingKey.md
│   │   ├── MappingMgr.md
│   │   ├── PropertyComparator.md
│   │   ├── SecureEncoder.md
│   │   ├── SecureFilter.md
│   │   ├── SeekableIterator.md
│   │   ├── Set.md
│   │   ├── SortedMap.md
│   │   ├── SortedSet.md
│   │   ├── StringUtils.md
│   │   ├── Template.md
│   │   └── UUIDUtils.md
│   ├── dw_value
│   │   ├── EnumValue.md
│   │   ├── MimeEncodedText.md
│   │   ├── Money.md
│   │   └── Quantity.md
│   ├── dw_web
│   │   ├── ClickStream.md
│   │   ├── ClickStreamEntry.md
│   │   ├── Cookie.md
│   │   ├── Cookies.md
│   │   ├── CSRFProtection.md
│   │   ├── Form.md
│   │   ├── FormAction.md
│   │   ├── FormElement.md
│   │   ├── FormElementValidationResult.md
│   │   ├── FormField.md
│   │   ├── FormFieldOption.md
│   │   ├── FormFieldOptions.md
│   │   ├── FormGroup.md
│   │   ├── FormList.md
│   │   ├── FormListItem.md
│   │   ├── Forms.md
│   │   ├── HttpParameter.md
│   │   ├── HttpParameterMap.md
│   │   ├── LoopIterator.md
│   │   ├── PageMetaData.md
│   │   ├── PageMetaTag.md
│   │   ├── PagingModel.md
│   │   ├── Resource.md
│   │   ├── URL.md
│   │   ├── URLAction.md
│   │   ├── URLParameter.md
│   │   ├── URLRedirect.md
│   │   ├── URLRedirectMgr.md
│   │   └── URLUtils.md
│   ├── sfra
│   │   ├── account.md
│   │   ├── address.md
│   │   ├── billing.md
│   │   ├── cart.md
│   │   ├── categories.md
│   │   ├── content.md
│   │   ├── locale.md
│   │   ├── order.md
│   │   ├── payment.md
│   │   ├── price-default.md
│   │   ├── price-range.md
│   │   ├── price-tiered.md
│   │   ├── product-bundle.md
│   │   ├── product-full.md
│   │   ├── product-line-items.md
│   │   ├── product-search.md
│   │   ├── product-tile.md
│   │   ├── querystring.md
│   │   ├── render.md
│   │   ├── request.md
│   │   ├── response.md
│   │   ├── server.md
│   │   ├── shipping.md
│   │   ├── store.md
│   │   ├── stores.md
│   │   └── totals.md
│   └── TopLevel
│       ├── APIException.md
│       ├── arguments.md
│       ├── Array.md
│       ├── ArrayBuffer.md
│       ├── BigInt.md
│       ├── Boolean.md
│       ├── ConversionError.md
│       ├── DataView.md
│       ├── Date.md
│       ├── Error.md
│       ├── ES6Iterator.md
│       ├── EvalError.md
│       ├── Fault.md
│       ├── Float32Array.md
│       ├── Float64Array.md
│       ├── Function.md
│       ├── Generator.md
│       ├── global.md
│       ├── Int16Array.md
│       ├── Int32Array.md
│       ├── Int8Array.md
│       ├── InternalError.md
│       ├── IOError.md
│       ├── Iterable.md
│       ├── Iterator.md
│       ├── JSON.md
│       ├── Map.md
│       ├── Math.md
│       ├── Module.md
│       ├── Namespace.md
│       ├── Number.md
│       ├── Object.md
│       ├── QName.md
│       ├── RangeError.md
│       ├── ReferenceError.md
│       ├── RegExp.md
│       ├── Set.md
│       ├── StopIteration.md
│       ├── String.md
│       ├── Symbol.md
│       ├── SyntaxError.md
│       ├── SystemError.md
│       ├── TypeError.md
│       ├── Uint16Array.md
│       ├── Uint32Array.md
│       ├── Uint8Array.md
│       ├── Uint8ClampedArray.md
│       ├── URIError.md
│       ├── WeakMap.md
│       ├── WeakSet.md
│       ├── XML.md
│       ├── XMLList.md
│       └── XMLStreamError.md
├── docs-site
│   ├── .gitignore
│   ├── App.tsx
│   ├── components
│   │   ├── Badge.tsx
│   │   ├── BreadcrumbSchema.tsx
│   │   ├── CodeBlock.tsx
│   │   ├── Collapsible.tsx
│   │   ├── ConfigBuilder.tsx
│   │   ├── ConfigHero.tsx
│   │   ├── ConfigModeTabs.tsx
│   │   ├── icons.tsx
│   │   ├── Layout.tsx
│   │   ├── LightCodeContainer.tsx
│   │   ├── NewcomerCTA.tsx
│   │   ├── NextStepsStrip.tsx
│   │   ├── OnThisPage.tsx
│   │   ├── Search.tsx
│   │   ├── SEO.tsx
│   │   ├── Sidebar.tsx
│   │   ├── StructuredData.tsx
│   │   ├── ToolCard.tsx
│   │   ├── ToolFilters.tsx
│   │   ├── Typography.tsx
│   │   └── VersionBadge.tsx
│   ├── constants.tsx
│   ├── index.html
│   ├── main.tsx
│   ├── metadata.json
│   ├── package-lock.json
│   ├── package.json
│   ├── pages
│   │   ├── AIInterfacesPage.tsx
│   │   ├── ConfigurationPage.tsx
│   │   ├── DevelopmentPage.tsx
│   │   ├── ExamplesPage.tsx
│   │   ├── FeaturesPage.tsx
│   │   ├── HomePage.tsx
│   │   ├── SecurityPage.tsx
│   │   ├── ToolsPage.tsx
│   │   └── TroubleshootingPage.tsx
│   ├── postcss.config.js
│   ├── public
│   │   ├── .well-known
│   │   │   └── security.txt
│   │   ├── 404.html
│   │   ├── android-chrome-192x192.png
│   │   ├── android-chrome-512x512.png
│   │   ├── apple-touch-icon.png
│   │   ├── explain-product-pricing-methods-no-mcp.png
│   │   ├── explain-product-pricing-methods.png
│   │   ├── favicon-16x16.png
│   │   ├── favicon-32x32.png
│   │   ├── favicon.ico
│   │   ├── llms.txt
│   │   ├── robots.txt
│   │   ├── site.webmanifest
│   │   └── sitemap.xml
│   ├── README.md
│   ├── scripts
│   │   ├── generate-search-index.js
│   │   ├── generate-sitemap.js
│   │   └── search-dev.js
│   ├── src
│   │   └── styles
│   │       ├── input.css
│   │       └── prism-theme.css
│   ├── tailwind.config.js
│   ├── tsconfig.json
│   ├── types.ts
│   ├── utils
│   │   ├── search.ts
│   │   └── toolsData.ts
│   └── vite.config.ts
├── eslint.config.js
├── jest.config.js
├── LICENSE
├── package-lock.json
├── package.json
├── README.md
├── scripts
│   └── convert-docs.js
├── SECURITY.md
├── server.json
├── src
│   ├── clients
│   │   ├── base
│   │   │   ├── http-client.ts
│   │   │   ├── oauth-token.ts
│   │   │   └── ocapi-auth-client.ts
│   │   ├── best-practices-client.ts
│   │   ├── cartridge-generation-client.ts
│   │   ├── docs
│   │   │   ├── class-content-parser.ts
│   │   │   ├── class-name-resolver.ts
│   │   │   ├── documentation-scanner.ts
│   │   │   ├── index.ts
│   │   │   └── referenced-types-extractor.ts
│   │   ├── docs-client.ts
│   │   ├── log-client.ts
│   │   ├── logs
│   │   │   ├── index.ts
│   │   │   ├── log-analyzer.ts
│   │   │   ├── log-client.ts
│   │   │   ├── log-constants.ts
│   │   │   ├── log-file-discovery.ts
│   │   │   ├── log-file-reader.ts
│   │   │   ├── log-formatter.ts
│   │   │   ├── log-processor.ts
│   │   │   ├── log-types.ts
│   │   │   └── webdav-client-manager.ts
│   │   ├── ocapi
│   │   │   ├── code-versions-client.ts
│   │   │   ├── site-preferences-client.ts
│   │   │   └── system-objects-client.ts
│   │   ├── ocapi-client.ts
│   │   └── sfra-client.ts
│   ├── config
│   │   ├── configuration-factory.ts
│   │   └── dw-json-loader.ts
│   ├── core
│   │   ├── handlers
│   │   │   ├── abstract-log-tool-handler.ts
│   │   │   ├── base-handler.ts
│   │   │   ├── best-practices-handler.ts
│   │   │   ├── cartridge-handler.ts
│   │   │   ├── client-factory.ts
│   │   │   ├── code-version-handler.ts
│   │   │   ├── docs-handler.ts
│   │   │   ├── job-log-handler.ts
│   │   │   ├── job-log-tool-config.ts
│   │   │   ├── log-handler.ts
│   │   │   ├── log-tool-config.ts
│   │   │   ├── sfra-handler.ts
│   │   │   ├── system-object-handler.ts
│   │   │   └── validation-helpers.ts
│   │   ├── server.ts
│   │   └── tool-definitions.ts
│   ├── index.ts
│   ├── main.ts
│   ├── services
│   │   ├── file-system-service.ts
│   │   ├── index.ts
│   │   └── path-service.ts
│   ├── tool-configs
│   │   ├── best-practices-tool-config.ts
│   │   ├── cartridge-tool-config.ts
│   │   ├── code-version-tool-config.ts
│   │   ├── docs-tool-config.ts
│   │   ├── job-log-tool-config.ts
│   │   ├── log-tool-config.ts
│   │   ├── sfra-tool-config.ts
│   │   └── system-object-tool-config.ts
│   ├── types
│   │   └── types.ts
│   └── utils
│       ├── cache.ts
│       ├── job-log-tool-config.ts
│       ├── job-log-utils.ts
│       ├── log-cache.ts
│       ├── log-tool-config.ts
│       ├── log-tool-constants.ts
│       ├── log-tool-utils.ts
│       ├── logger.ts
│       ├── ocapi-url-builder.ts
│       ├── path-resolver.ts
│       ├── query-builder.ts
│       ├── utils.ts
│       └── validator.ts
├── tests
│   ├── __mocks__
│   │   ├── docs-client.ts
│   │   ├── src
│   │   │   └── clients
│   │   │       └── base
│   │   │           └── http-client.js
│   │   └── webdav.js
│   ├── base-handler.test.ts
│   ├── base-http-client.test.ts
│   ├── best-practices-handler.test.ts
│   ├── cache.test.ts
│   ├── cartridge-handler.test.ts
│   ├── class-content-parser.test.ts
│   ├── class-name-resolver.test.ts
│   ├── client-factory.test.ts
│   ├── code-version-handler.test.ts
│   ├── code-versions-client.test.ts
│   ├── config.test.ts
│   ├── configuration-factory.test.ts
│   ├── docs-handler.test.ts
│   ├── documentation-scanner.test.ts
│   ├── file-system-service.test.ts
│   ├── job-log-handler.test.ts
│   ├── job-log-utils.test.ts
│   ├── log-client.test.ts
│   ├── log-handler.test.ts
│   ├── log-processor.test.ts
│   ├── logger.test.ts
│   ├── mcp
│   │   ├── AGENTS.md
│   │   ├── node
│   │   │   ├── activate-code-version-advanced.full-mode.programmatic.test.js
│   │   │   ├── code-versions.full-mode.programmatic.test.js
│   │   │   ├── generate-cartridge-structure.docs-only.programmatic.test.js
│   │   │   ├── get-available-best-practice-guides.docs-only.programmatic.test.js
│   │   │   ├── get-available-sfra-documents.programmatic.test.js
│   │   │   ├── get-best-practice-guide.docs-only.programmatic.test.js
│   │   │   ├── get-hook-reference.docs-only.programmatic.test.js
│   │   │   ├── get-job-execution-summary.full-mode.programmatic.test.js
│   │   │   ├── get-job-log-entries.full-mode.programmatic.test.js
│   │   │   ├── get-latest-debug.full-mode.programmatic.test.js
│   │   │   ├── get-latest-error.full-mode.programmatic.test.js
│   │   │   ├── get-latest-info.full-mode.programmatic.test.js
│   │   │   ├── get-latest-job-log-files.full-mode.programmatic.test.js
│   │   │   ├── get-latest-warn.full-mode.programmatic.test.js
│   │   │   ├── get-log-file-contents.full-mode.programmatic.test.js
│   │   │   ├── get-sfcc-class-documentation.docs-only.programmatic.test.js
│   │   │   ├── get-sfcc-class-info.docs-only.programmatic.test.js
│   │   │   ├── get-sfra-categories.docs-only.programmatic.test.js
│   │   │   ├── get-sfra-document.programmatic.test.js
│   │   │   ├── get-sfra-documents-by-category.docs-only.programmatic.test.js
│   │   │   ├── get-system-object-definition.full-mode.programmatic.test.js
│   │   │   ├── get-system-object-definitions.docs-only.programmatic.test.js
│   │   │   ├── get-system-object-definitions.full-mode.programmatic.test.js
│   │   │   ├── list-log-files.full-mode.programmatic.test.js
│   │   │   ├── list-sfcc-classes.docs-only.programmatic.test.js
│   │   │   ├── search-best-practices.docs-only.programmatic.test.js
│   │   │   ├── search-custom-object-attribute-definitions.full-mode.programmatic.test.js
│   │   │   ├── search-job-logs-by-name.full-mode.programmatic.test.js
│   │   │   ├── search-job-logs.full-mode.programmatic.test.js
│   │   │   ├── search-logs.full-mode.programmatic.test.js
│   │   │   ├── search-sfcc-classes.docs-only.programmatic.test.js
│   │   │   ├── search-sfcc-methods.docs-only.programmatic.test.js
│   │   │   ├── search-sfra-documentation.docs-only.programmatic.test.js
│   │   │   ├── search-site-preferences.full-mode.programmatic.test.js
│   │   │   ├── search-system-object-attribute-definitions.full-mode.programmatic.test.js
│   │   │   ├── search-system-object-attribute-groups.full-mode.programmatic.test.js
│   │   │   ├── summarize-logs.full-mode.programmatic.test.js
│   │   │   ├── tools.docs-only.programmatic.test.js
│   │   │   └── tools.full-mode.programmatic.test.js
│   │   ├── README.md
│   │   ├── test-fixtures
│   │   │   └── dw.json
│   │   └── yaml
│   │       ├── activate-code-version.docs-only.test.mcp.yml
│   │       ├── activate-code-version.full-mode.test.mcp.yml
│   │       ├── get_latest_error.test.mcp.yml
│   │       ├── get-available-best-practice-guides.docs-only.test.mcp.yml
│   │       ├── get-available-best-practice-guides.full-mode.test.mcp.yml
│   │       ├── get-available-sfra-documents.docs-only.test.mcp.yml
│   │       ├── get-available-sfra-documents.full-mode.test.mcp.yml
│   │       ├── get-best-practice-guide.docs-only.test.mcp.yml
│   │       ├── get-best-practice-guide.full-mode.test.mcp.yml
│   │       ├── get-code-versions.docs-only.test.mcp.yml
│   │       ├── get-code-versions.full-mode.test.mcp.yml
│   │       ├── get-hook-reference.docs-only.test.mcp.yml
│   │       ├── get-hook-reference.full-mode.test.mcp.yml
│   │       ├── get-job-execution-summary.full-mode.test.mcp.yml
│   │       ├── get-job-log-entries.full-mode.test.mcp.yml
│   │       ├── get-latest-debug.full-mode.test.mcp.yml
│   │       ├── get-latest-error.full-mode.test.mcp.yml
│   │       ├── get-latest-info.full-mode.test.mcp.yml
│   │       ├── get-latest-job-log-files.full-mode.test.mcp.yml
│   │       ├── get-latest-warn.full-mode.test.mcp.yml
│   │       ├── get-log-file-contents.full-mode.test.mcp.yml
│   │       ├── get-sfcc-class-documentation.docs-only.test.mcp.yml
│   │       ├── get-sfcc-class-documentation.full-mode.test.mcp.yml
│   │       ├── get-sfcc-class-info.docs-only.test.mcp.yml
│   │       ├── get-sfcc-class-info.full-mode.test.mcp.yml
│   │       ├── get-sfra-categories.docs-only.test.mcp.yml
│   │       ├── get-sfra-categories.full-mode.test.mcp.yml
│   │       ├── get-sfra-document.docs-only.test.mcp.yml
│   │       ├── get-sfra-document.full-mode.test.mcp.yml
│   │       ├── get-sfra-documents-by-category.docs-only.test.mcp.yml
│   │       ├── get-sfra-documents-by-category.full-mode.test.mcp.yml
│   │       ├── get-system-object-definition.docs-only.test.mcp.yml
│   │       ├── get-system-object-definition.full-mode.test.mcp.yml
│   │       ├── get-system-object-definitions.docs-only.test.mcp.yml
│   │       ├── get-system-object-definitions.full-mode.test.mcp.yml
│   │       ├── list-log-files.full-mode.test.mcp.yml
│   │       ├── list-sfcc-classes.docs-only.test.mcp.yml
│   │       ├── list-sfcc-classes.full-mode.test.mcp.yml
│   │       ├── search-best-practices.docs-only.test.mcp.yml
│   │       ├── search-best-practices.full-mode.test.mcp.yml
│   │       ├── search-custom-object-attribute-definitions.docs-only.test.mcp.yml
│   │       ├── search-custom-object-attribute-definitions.test.mcp.yml
│   │       ├── search-job-logs-by-name.full-mode.test.mcp.yml
│   │       ├── search-job-logs.full-mode.test.mcp.yml
│   │       ├── search-logs.full-mode.test.mcp.yml
│   │       ├── search-sfcc-classes.docs-only.test.mcp.yml
│   │       ├── search-sfcc-classes.full-mode.test.mcp.yml
│   │       ├── search-sfcc-methods.docs-only.test.mcp.yml
│   │       ├── search-sfcc-methods.full-mode.test.mcp.yml
│   │       ├── search-sfra-documentation.docs-only.test.mcp.yml
│   │       ├── search-sfra-documentation.full-mode.test.mcp.yml
│   │       ├── search-site-preferences.docs-only.test.mcp.yml
│   │       ├── search-site-preferences.full-mode.test.mcp.yml
│   │       ├── search-system-object-attribute-definitions.docs-only.test.mcp.yml
│   │       ├── search-system-object-attribute-definitions.full-mode.test.mcp.yml
│   │       ├── search-system-object-attribute-groups.docs-only.test.mcp.yml
│   │       ├── search-system-object-attribute-groups.full-mode.test.mcp.yml
│   │       ├── summarize-logs.full-mode.test.mcp.yml
│   │       ├── tools.docs-only.test.mcp.yml
│   │       └── tools.full-mode.test.mcp.yml
│   ├── oauth-token.test.ts
│   ├── ocapi-auth-client.test.ts
│   ├── ocapi-client.test.ts
│   ├── path-service.test.ts
│   ├── query-builder.test.ts
│   ├── referenced-types-extractor.test.ts
│   ├── servers
│   │   ├── sfcc-mock-server
│   │   │   ├── mock-data
│   │   │   │   └── ocapi
│   │   │   │       ├── code-versions.json
│   │   │   │       ├── custom-object-attributes-customapi.json
│   │   │   │       ├── custom-object-attributes-globalsettings.json
│   │   │   │       ├── custom-object-attributes-versionhistory.json
│   │   │   │       ├── site-preferences-ccv.json
│   │   │   │       ├── site-preferences-fastforward.json
│   │   │   │       ├── site-preferences-sfra.json
│   │   │   │       ├── site-preferences-storefront.json
│   │   │   │       ├── site-preferences-system.json
│   │   │   │       ├── system-object-attribute-groups-campaign.json
│   │   │   │       ├── system-object-attribute-groups-category.json
│   │   │   │       ├── system-object-attribute-groups-order.json
│   │   │   │       ├── system-object-attribute-groups-product.json
│   │   │   │       ├── system-object-attribute-groups-sitepreferences.json
│   │   │   │       ├── system-object-attributes-customeraddress.json
│   │   │   │       ├── system-object-attributes-product-expanded.json
│   │   │   │       ├── system-object-attributes-product.json
│   │   │   │       ├── system-object-definition-category.json
│   │   │   │       ├── system-object-definition-customer.json
│   │   │   │       ├── system-object-definition-customeraddress.json
│   │   │   │       ├── system-object-definition-order.json
│   │   │   │       ├── system-object-definition-product.json
│   │   │   │       ├── system-object-definitions-old.json
│   │   │   │       └── system-object-definitions.json
│   │   │   ├── package-lock.json
│   │   │   ├── package.json
│   │   │   ├── README.md
│   │   │   ├── scripts
│   │   │   │   └── setup-logs.js
│   │   │   ├── server.js
│   │   │   └── src
│   │   │       ├── app.js
│   │   │       ├── config
│   │   │       │   └── server-config.js
│   │   │       ├── middleware
│   │   │       │   ├── auth.js
│   │   │       │   ├── cors.js
│   │   │       │   └── logging.js
│   │   │       ├── routes
│   │   │       │   ├── ocapi
│   │   │       │   │   ├── code-versions-handler.js
│   │   │       │   │   ├── oauth-handler.js
│   │   │       │   │   ├── ocapi-error-utils.js
│   │   │       │   │   ├── ocapi-utils.js
│   │   │       │   │   ├── site-preferences-handler.js
│   │   │       │   │   └── system-objects-handler.js
│   │   │       │   ├── ocapi.js
│   │   │       │   └── webdav.js
│   │   │       └── utils
│   │   │           ├── mock-data-loader.js
│   │   │           └── webdav-xml.js
│   │   └── sfcc-mock-server-manager.ts
│   ├── sfcc-mock-server.test.ts
│   ├── site-preferences-client.test.ts
│   ├── system-objects-client.test.ts
│   ├── utils.test.ts
│   ├── validation-helpers.test.ts
│   └── validator.test.ts
├── tsconfig.json
└── tsconfig.test.json
```

# Files

--------------------------------------------------------------------------------
/tests/servers/sfcc-mock-server/src/utils/mock-data-loader.js:
--------------------------------------------------------------------------------

```javascript
 1 | /**
 2 |  * Mock Data Loader Utility
 3 |  * 
 4 |  * Handles loading and caching of mock data files with fallback strategies.
 5 |  * Provides consistent error handling and logging for data loading operations.
 6 |  */
 7 | 
 8 | const fs = require('fs');
 9 | const path = require('path');
10 | 
11 | class MockDataLoader {
12 |     constructor(basePath) {
13 |         this.basePath = basePath;
14 |         this.cache = new Map();
15 |     }
16 | 
17 |     /**
18 |      * Load mock data with caching and fallback
19 |      */
20 |     loadData(filename, fallbackData = null) {
21 |         // Check cache first
22 |         if (this.cache.has(filename)) {
23 |             return this.cache.get(filename);
24 |         }
25 | 
26 |         try {
27 |             const filePath = path.join(this.basePath, filename);
28 |             
29 |             if (fs.existsSync(filePath)) {
30 |                 const data = JSON.parse(fs.readFileSync(filePath, 'utf8'));
31 |                 this.cache.set(filename, data);
32 |                 return data;
33 |             }
34 |         } catch (error) {
35 |             console.warn(`Warning: Could not load mock data from ${filename}:`, error.message);
36 |         }
37 | 
38 |         // Use fallback data if provided
39 |         if (fallbackData !== null) {
40 |             this.cache.set(filename, fallbackData);
41 |             return fallbackData;
42 |         }
43 | 
44 |         return null;
45 |     }
46 | 
47 |     /**
48 |      * Load mock data from OCAPI subdirectory
49 |      */
50 |     loadOcapiData(filename, fallbackData = null) {
51 |         return this.loadData(path.join('ocapi', filename), fallbackData);
52 |     }
53 | 
54 |     /**
55 |      * Check if a file exists
56 |      */
57 |     fileExists(filename) {
58 |         const filePath = path.join(this.basePath, filename);
59 |         return fs.existsSync(filePath);
60 |     }
61 | 
62 |     /**
63 |      * Clear cache for a specific file or all files
64 |      */
65 |     clearCache(filename = null) {
66 |         if (filename) {
67 |             this.cache.delete(filename);
68 |         } else {
69 |             this.cache.clear();
70 |         }
71 |     }
72 | 
73 |     /**
74 |      * Get cache statistics
75 |      */
76 |     getCacheStats() {
77 |         return {
78 |             size: this.cache.size,
79 |             keys: Array.from(this.cache.keys())
80 |         };
81 |     }
82 | }
83 | 
84 | module.exports = MockDataLoader;
```

--------------------------------------------------------------------------------
/src/core/handlers/abstract-log-tool-handler.ts:
--------------------------------------------------------------------------------

```typescript
 1 | import { BaseToolHandler, GenericToolSpec, ToolExecutionContext, HandlerContext } from './base-handler.js';
 2 | import { SFCCLogClient } from '../../clients/logs/index.js';
 3 | import { ClientFactory } from './client-factory.js';
 4 | 
 5 | /**
 6 |  * Abstract base class for log-related tool handlers
 7 |  * Extends the generic config-driven handler with log-specific functionality
 8 |  */
 9 | export abstract class AbstractLogToolHandler<TToolName extends string = string> extends BaseToolHandler<TToolName> {
10 |   protected logClient: SFCCLogClient | null = null;
11 |   protected clientFactory: ClientFactory;
12 | 
13 |   constructor(context: HandlerContext, subLoggerName: string) {
14 |     super(context, subLoggerName);
15 |     this.clientFactory = new ClientFactory(context, this.logger);
16 |   }
17 | 
18 |   protected async onInitialize(): Promise<void> {
19 |     this.logClient = this.clientFactory.createLogClient();
20 |     if (this.logClient) {
21 |       this.logger.debug('Log client initialized');
22 |     }
23 |   }
24 | 
25 |   protected async onDispose(): Promise<void> {
26 |     this.logClient = null;
27 |     this.logger.debug('Log client disposed');
28 |   }
29 | 
30 |   /**
31 |    * Get the log client with proper error handling
32 |    * Eliminates repetitive null checks in handlers
33 |    */
34 |   protected getLogClient(): SFCCLogClient {
35 |     if (!this.logClient) {
36 |       throw new Error(ClientFactory.getClientRequiredError('Log'));
37 |     }
38 |     return this.logClient;
39 |   }
40 | 
41 |   /**
42 |    * Create execution context for log tools
43 |    * Provides access to log client and handler context
44 |    */
45 |   protected async createExecutionContext(): Promise<ToolExecutionContext> {
46 |     return {
47 |       handlerContext: this.context,
48 |       logger: this.logger,
49 |       logClient: this.getLogClient(),
50 |     };
51 |   }
52 | 
53 |   /**
54 |    * Abstract method to get tool configuration
55 |    * Each concrete log handler implements this with their specific config
56 |    */
57 |   protected abstract getToolConfig(): Record<TToolName, GenericToolSpec>;
58 | 
59 |   /**
60 |    * Abstract method to get tool name set for O(1) lookup
61 |    * Each concrete log handler implements this with their specific tool set
62 |    */
63 |   protected abstract getToolNameSet(): Set<string>;
64 | }
65 | 
```

--------------------------------------------------------------------------------
/docs/dw_catalog/CategoryLink.md:
--------------------------------------------------------------------------------

```markdown
  1 | ## Package: dw.catalog
  2 | 
  3 | # Class CategoryLink
  4 | 
  5 | ## Inheritance Hierarchy
  6 | 
  7 | - Object
  8 |   - dw.catalog.CategoryLink
  9 | 
 10 | ## Description
 11 | 
 12 | A CategoryLink represents a directed relationship between two catalog categories. Merchants create category links in order to market similar or related groups of products.
 13 | 
 14 | ## Constants
 15 | 
 16 | ### LINKTYPE_ACCESSORY
 17 | 
 18 | **Type:** Number = 2
 19 | 
 20 | Represents an accessory category link.
 21 | 
 22 | ### LINKTYPE_CROSS_SELL
 23 | 
 24 | **Type:** Number = 4
 25 | 
 26 | Represents a cross-sell category link.
 27 | 
 28 | ### LINKTYPE_OTHER
 29 | 
 30 | **Type:** Number = 1
 31 | 
 32 | Represents a miscellaneous category link.
 33 | 
 34 | ### LINKTYPE_SPARE_PART
 35 | 
 36 | **Type:** Number = 6
 37 | 
 38 | Represents a spare part category link.
 39 | 
 40 | ### LINKTYPE_UP_SELL
 41 | 
 42 | **Type:** Number = 5
 43 | 
 44 | Represents an up-sell category link.
 45 | 
 46 | ## Properties
 47 | 
 48 | ### sourceCategory
 49 | 
 50 | **Type:** Category (Read Only)
 51 | 
 52 | The object for the relation 'sourceCategory'.
 53 | 
 54 | ### targetCategory
 55 | 
 56 | **Type:** Category (Read Only)
 57 | 
 58 | The object for the relation 'targetCategory'.
 59 | 
 60 | ### typeCode
 61 | 
 62 | **Type:** Number (Read Only)
 63 | 
 64 | The type of this category link (see constants).
 65 | 
 66 | ## Constructor Summary
 67 | 
 68 | ## Method Summary
 69 | 
 70 | ### getSourceCategory
 71 | 
 72 | **Signature:** `getSourceCategory() : Category`
 73 | 
 74 | Returns the object for the relation 'sourceCategory'.
 75 | 
 76 | ### getTargetCategory
 77 | 
 78 | **Signature:** `getTargetCategory() : Category`
 79 | 
 80 | Returns the object for the relation 'targetCategory'.
 81 | 
 82 | ### getTypeCode
 83 | 
 84 | **Signature:** `getTypeCode() : Number`
 85 | 
 86 | Returns the type of this category link (see constants).
 87 | 
 88 | ## Method Detail
 89 | 
 90 | ## Method Details
 91 | 
 92 | ### getSourceCategory
 93 | 
 94 | **Signature:** `getSourceCategory() : Category`
 95 | 
 96 | **Description:** Returns the object for the relation 'sourceCategory'.
 97 | 
 98 | **Returns:**
 99 | 
100 | the object for the relation 'sourceCategory'
101 | 
102 | ---
103 | 
104 | ### getTargetCategory
105 | 
106 | **Signature:** `getTargetCategory() : Category`
107 | 
108 | **Description:** Returns the object for the relation 'targetCategory'.
109 | 
110 | **Returns:**
111 | 
112 | the object for the relation 'targetCategory'
113 | 
114 | ---
115 | 
116 | ### getTypeCode
117 | 
118 | **Signature:** `getTypeCode() : Number`
119 | 
120 | **Description:** Returns the type of this category link (see constants).
121 | 
122 | **Returns:**
123 | 
124 | the type of the link.
125 | 
126 | ---
```

--------------------------------------------------------------------------------
/docs/dw_catalog/ProductLink.md:
--------------------------------------------------------------------------------

```markdown
  1 | ## Package: dw.catalog
  2 | 
  3 | # Class ProductLink
  4 | 
  5 | ## Inheritance Hierarchy
  6 | 
  7 | - Object
  8 |   - dw.catalog.ProductLink
  9 | 
 10 | ## Description
 11 | 
 12 | The class represents a link between two products.
 13 | 
 14 | ## Constants
 15 | 
 16 | ### LINKTYPE_ACCESSORY
 17 | 
 18 | **Type:** Number = 4
 19 | 
 20 | Represents an accessory product link.
 21 | 
 22 | ### LINKTYPE_ALT_ORDERUNIT
 23 | 
 24 | **Type:** Number = 6
 25 | 
 26 | Represents an alternative order unit product link.
 27 | 
 28 | ### LINKTYPE_CROSS_SELL
 29 | 
 30 | **Type:** Number = 1
 31 | 
 32 | Represents a cross-sell product link.
 33 | 
 34 | ### LINKTYPE_NEWER_VERSION
 35 | 
 36 | **Type:** Number = 5
 37 | 
 38 | Represents a newer verion link.
 39 | 
 40 | ### LINKTYPE_OTHER
 41 | 
 42 | **Type:** Number = 8
 43 | 
 44 | Represents a miscellaneous product link.
 45 | 
 46 | ### LINKTYPE_REPLACEMENT
 47 | 
 48 | **Type:** Number = 2
 49 | 
 50 | Represents a replacement product link.
 51 | 
 52 | ### LINKTYPE_SPARE_PART
 53 | 
 54 | **Type:** Number = 7
 55 | 
 56 | Represents a spare part product link.
 57 | 
 58 | ### LINKTYPE_UP_SELL
 59 | 
 60 | **Type:** Number = 3
 61 | 
 62 | Represents an up-sell product link.
 63 | 
 64 | ## Properties
 65 | 
 66 | ### sourceProduct
 67 | 
 68 | **Type:** Product (Read Only)
 69 | 
 70 | The source product for this link.
 71 | 
 72 | ### targetProduct
 73 | 
 74 | **Type:** Product (Read Only)
 75 | 
 76 | The target product for this link.
 77 | 
 78 | ### typeCode
 79 | 
 80 | **Type:** Number (Read Only)
 81 | 
 82 | The type of this link (see constants).
 83 | 
 84 | ## Constructor Summary
 85 | 
 86 | ## Method Summary
 87 | 
 88 | ### getSourceProduct
 89 | 
 90 | **Signature:** `getSourceProduct() : Product`
 91 | 
 92 | Returns the source product for this link.
 93 | 
 94 | ### getTargetProduct
 95 | 
 96 | **Signature:** `getTargetProduct() : Product`
 97 | 
 98 | Returns the target product for this link.
 99 | 
100 | ### getTypeCode
101 | 
102 | **Signature:** `getTypeCode() : Number`
103 | 
104 | Returns the type of this link (see constants).
105 | 
106 | ## Method Detail
107 | 
108 | ## Method Details
109 | 
110 | ### getSourceProduct
111 | 
112 | **Signature:** `getSourceProduct() : Product`
113 | 
114 | **Description:** Returns the source product for this link.
115 | 
116 | **Returns:**
117 | 
118 | the source product for this link.
119 | 
120 | ---
121 | 
122 | ### getTargetProduct
123 | 
124 | **Signature:** `getTargetProduct() : Product`
125 | 
126 | **Description:** Returns the target product for this link.
127 | 
128 | **Returns:**
129 | 
130 | the target product for this link.
131 | 
132 | ---
133 | 
134 | ### getTypeCode
135 | 
136 | **Signature:** `getTypeCode() : Number`
137 | 
138 | **Description:** Returns the type of this link (see constants).
139 | 
140 | **Returns:**
141 | 
142 | the type of the link.
143 | 
144 | ---
```

--------------------------------------------------------------------------------
/docs/dw_catalog/ProductAvailabilityLevels.md:
--------------------------------------------------------------------------------

```markdown
  1 | ## Package: dw.catalog
  2 | 
  3 | # Class ProductAvailabilityLevels
  4 | 
  5 | ## Inheritance Hierarchy
  6 | 
  7 | - Object
  8 |   - dw.catalog.ProductAvailabilityLevels
  9 | 
 10 | ## Description
 11 | 
 12 | Encapsulates the quantity of items available for each availability status.
 13 | 
 14 | ## Properties
 15 | 
 16 | ### backorder
 17 | 
 18 | **Type:** Quantity (Read Only)
 19 | 
 20 | The backorder quantity.
 21 | 
 22 | ### count
 23 | 
 24 | **Type:** Number (Read Only)
 25 | 
 26 | The number of attributes that contain non-zero quantities.
 27 | 
 28 | ### inStock
 29 | 
 30 | **Type:** Quantity (Read Only)
 31 | 
 32 | The quantity in stock.
 33 | 
 34 | ### notAvailable
 35 | 
 36 | **Type:** Quantity (Read Only)
 37 | 
 38 | The quantity that is not available.
 39 | 
 40 | ### preorder
 41 | 
 42 | **Type:** Quantity (Read Only)
 43 | 
 44 | The pre-order quantity.
 45 | 
 46 | ## Constructor Summary
 47 | 
 48 | ## Method Summary
 49 | 
 50 | ### getBackorder
 51 | 
 52 | **Signature:** `getBackorder() : Quantity`
 53 | 
 54 | Returns the backorder quantity.
 55 | 
 56 | ### getCount
 57 | 
 58 | **Signature:** `getCount() : Number`
 59 | 
 60 | Returns the number of attributes that contain non-zero quantities.
 61 | 
 62 | ### getInStock
 63 | 
 64 | **Signature:** `getInStock() : Quantity`
 65 | 
 66 | Returns the quantity in stock.
 67 | 
 68 | ### getNotAvailable
 69 | 
 70 | **Signature:** `getNotAvailable() : Quantity`
 71 | 
 72 | Returns the quantity that is not available.
 73 | 
 74 | ### getPreorder
 75 | 
 76 | **Signature:** `getPreorder() : Quantity`
 77 | 
 78 | Returns the pre-order quantity.
 79 | 
 80 | ## Method Detail
 81 | 
 82 | ## Method Details
 83 | 
 84 | ### getBackorder
 85 | 
 86 | **Signature:** `getBackorder() : Quantity`
 87 | 
 88 | **Description:** Returns the backorder quantity.
 89 | 
 90 | **Returns:**
 91 | 
 92 | the backorder quantity.
 93 | 
 94 | ---
 95 | 
 96 | ### getCount
 97 | 
 98 | **Signature:** `getCount() : Number`
 99 | 
100 | **Description:** Returns the number of attributes that contain non-zero quantities.
101 | 
102 | **Returns:**
103 | 
104 | the number of attributes that contain non-zero quantities.
105 | 
106 | ---
107 | 
108 | ### getInStock
109 | 
110 | **Signature:** `getInStock() : Quantity`
111 | 
112 | **Description:** Returns the quantity in stock.
113 | 
114 | **Returns:**
115 | 
116 | the quantity in stock.
117 | 
118 | ---
119 | 
120 | ### getNotAvailable
121 | 
122 | **Signature:** `getNotAvailable() : Quantity`
123 | 
124 | **Description:** Returns the quantity that is not available.
125 | 
126 | **Returns:**
127 | 
128 | the quantity that is not available.
129 | 
130 | ---
131 | 
132 | ### getPreorder
133 | 
134 | **Signature:** `getPreorder() : Quantity`
135 | 
136 | **Description:** Returns the pre-order quantity.
137 | 
138 | **Returns:**
139 | 
140 | the pre-order quantity.
141 | 
142 | ---
```

--------------------------------------------------------------------------------
/docs/dw_content/Library.md:
--------------------------------------------------------------------------------

```markdown
  1 | ## Package: dw.content
  2 | 
  3 | # Class Library
  4 | 
  5 | ## Inheritance Hierarchy
  6 | 
  7 | - Object
  8 |   - dw.object.PersistentObject
  9 |   - dw.object.ExtensibleObject
 10 |     - dw.content.Library
 11 | 
 12 | ## Description
 13 | 
 14 | Class representing a collection of Content assets, and a Folder hierarchy organizing these content assets. Currently only one library is allowed per site. An instance of this library can be obtained by calling ContentMgr.getSiteLibrary().
 15 | 
 16 | ## Properties
 17 | 
 18 | ### CMSChannelID
 19 | 
 20 | **Type:** String (Read Only)
 21 | 
 22 | The CMS channel of the library.
 23 | 
 24 | ### displayName
 25 | 
 26 | **Type:** String (Read Only)
 27 | 
 28 | The display name for the library as known in the current
 29 |  locale or null if it cannot be found.
 30 | 
 31 | ### ID
 32 | 
 33 | **Type:** String (Read Only)
 34 | 
 35 | The ID of this library.
 36 | 
 37 | ### root
 38 | 
 39 | **Type:** Folder (Read Only)
 40 | 
 41 | The root folder for this library.
 42 | 
 43 | ## Constructor Summary
 44 | 
 45 | ## Method Summary
 46 | 
 47 | ### getCMSChannelID
 48 | 
 49 | **Signature:** `getCMSChannelID() : String`
 50 | 
 51 | Returns the CMS channel of the library.
 52 | 
 53 | ### getDisplayName
 54 | 
 55 | **Signature:** `getDisplayName() : String`
 56 | 
 57 | Returns the display name for the library as known in the current locale or null if it cannot be found.
 58 | 
 59 | ### getID
 60 | 
 61 | **Signature:** `getID() : String`
 62 | 
 63 | Returns the ID of this library.
 64 | 
 65 | ### getRoot
 66 | 
 67 | **Signature:** `getRoot() : Folder`
 68 | 
 69 | Returns the root folder for this library.
 70 | 
 71 | ## Method Detail
 72 | 
 73 | ## Method Details
 74 | 
 75 | ### getCMSChannelID
 76 | 
 77 | **Signature:** `getCMSChannelID() : String`
 78 | 
 79 | **Description:** Returns the CMS channel of the library.
 80 | 
 81 | **Returns:**
 82 | 
 83 | the CMS channel of the library
 84 | 
 85 | ---
 86 | 
 87 | ### getDisplayName
 88 | 
 89 | **Signature:** `getDisplayName() : String`
 90 | 
 91 | **Description:** Returns the display name for the library as known in the current locale or null if it cannot be found.
 92 | 
 93 | **Returns:**
 94 | 
 95 | the display name for the library as known in the current locale or null if it cannot be found.
 96 | 
 97 | ---
 98 | 
 99 | ### getID
100 | 
101 | **Signature:** `getID() : String`
102 | 
103 | **Description:** Returns the ID of this library.
104 | 
105 | **Returns:**
106 | 
107 | the ID of this library.
108 | 
109 | ---
110 | 
111 | ### getRoot
112 | 
113 | **Signature:** `getRoot() : Folder`
114 | 
115 | **Description:** Returns the root folder for this library.
116 | 
117 | **Returns:**
118 | 
119 | the root Folder for this library.
120 | 
121 | ---
```

--------------------------------------------------------------------------------
/docs-site/src/styles/prism-theme.css:
--------------------------------------------------------------------------------

```css
  1 | /* Custom Prism.js theme for SFCC Development MCP Server docs */
  2 | /* Override default Prism styles with a clean, modern theme */
  3 | 
  4 | pre[class*="language-"] {
  5 |   background: transparent;
  6 |   margin: 0;
  7 |   padding: 0;
  8 |   overflow: visible;
  9 | }
 10 | 
 11 | code[class*="language-"] {
 12 |   background: transparent;
 13 |   text-shadow: none;
 14 |   font-family: ui-monospace, SFMono-Regular, "SF Mono", Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
 15 |   font-size: 0.875rem;
 16 |   line-height: 1.5;
 17 |   color: #374151; /* slate-700 */
 18 | }
 19 | 
 20 | /* Tokens */
 21 | .token.comment,
 22 | .token.prolog,
 23 | .token.doctype,
 24 | .token.cdata {
 25 |   color: #6b7280; /* slate-500 */
 26 |   font-style: italic;
 27 | }
 28 | 
 29 | .token.punctuation {
 30 |   color: #6b7280; /* slate-500 */
 31 | }
 32 | 
 33 | .token.property,
 34 | .token.tag,
 35 | .token.boolean,
 36 | .token.number,
 37 | .token.constant,
 38 | .token.symbol,
 39 | .token.deleted {
 40 |   color: #dc2626; /* red-600 */
 41 | }
 42 | 
 43 | .token.selector,
 44 | .token.attr-name,
 45 | .token.string,
 46 | .token.char,
 47 | .token.builtin,
 48 | .token.inserted {
 49 |   color: #059669; /* emerald-600 */
 50 | }
 51 | 
 52 | .token.operator,
 53 | .token.entity,
 54 | .token.url,
 55 | .language-css .token.string,
 56 | .style .token.string {
 57 |   color: #7c3aed; /* violet-600 */
 58 | }
 59 | 
 60 | .token.atrule,
 61 | .token.attr-value,
 62 | .token.keyword {
 63 |   color: #2563eb; /* blue-600 */
 64 | }
 65 | 
 66 | .token.function,
 67 | .token.class-name {
 68 |   color: #ea580c; /* orange-600 */
 69 | }
 70 | 
 71 | .token.regex,
 72 | .token.important,
 73 | .token.variable {
 74 |   color: #dc2626; /* red-600 */
 75 | }
 76 | 
 77 | .token.important,
 78 | .token.bold {
 79 |   font-weight: bold;
 80 | }
 81 | 
 82 | .token.italic {
 83 |   font-style: italic;
 84 | }
 85 | 
 86 | .token.entity {
 87 |   cursor: help;
 88 | }
 89 | 
 90 | /* JSON specific */
 91 | .token.key {
 92 |   color: #2563eb; /* blue-600 */
 93 | }
 94 | 
 95 | /* YAML specific */
 96 | .token.title {
 97 |   color: #2563eb; /* blue-600 */
 98 | }
 99 | 
100 | /* Bash/Shell specific */
101 | .token.command {
102 |   color: #059669; /* emerald-600 */
103 | }
104 | 
105 | .token.parameter {
106 |   color: #dc2626; /* red-600 */
107 | }
108 | 
109 | /* JSX/TSX specific */
110 | .token.tag .token.punctuation {
111 |   color: #6b7280; /* slate-500 */
112 | }
113 | 
114 | .token.tag .token.script-punctuation {
115 |   color: #6b7280; /* slate-500 */
116 | }
117 | 
118 | .token.attr-value .token.punctuation {
119 |   color: #059669; /* emerald-600 */
120 | }
121 | 
122 | .token.attr-value .token.punctuation:first-child {
123 |   color: #059669; /* emerald-600 */
124 | }
125 | 
```

--------------------------------------------------------------------------------
/docs/dw_order/TaxGroup.md:
--------------------------------------------------------------------------------

```markdown
  1 | ## Package: dw.order
  2 | 
  3 | # Class TaxGroup
  4 | 
  5 | ## Inheritance Hierarchy
  6 | 
  7 | - Object
  8 |   - dw.order.TaxGroup
  9 | 
 10 | ## Description
 11 | 
 12 | Contains the formal definition of a tax including a type (it's just the key), a percentage value if provided, a caption and a description.
 13 | 
 14 | ## Properties
 15 | 
 16 | ### caption
 17 | 
 18 | **Type:** String (Read Only)
 19 | 
 20 | Gets the caption.
 21 | 
 22 | ### description
 23 | 
 24 | **Type:** String (Read Only)
 25 | 
 26 | Gets the description.
 27 | 
 28 | ### rate
 29 | 
 30 | **Type:** Number (Read Only)
 31 | 
 32 | Gets the percentage amount of the rate.
 33 | 
 34 | ### taxType
 35 | 
 36 | **Type:** String (Read Only)
 37 | 
 38 | Gets the tax type.
 39 | 
 40 | ## Constructor Summary
 41 | 
 42 | ## Method Summary
 43 | 
 44 | ### create
 45 | 
 46 | **Signature:** `static create(taxType : String, caption : String, description : String, taxRate : Decimal) : TaxGroup`
 47 | 
 48 | Creates a TaxGroup.
 49 | 
 50 | ### getCaption
 51 | 
 52 | **Signature:** `getCaption() : String`
 53 | 
 54 | Gets the caption.
 55 | 
 56 | ### getDescription
 57 | 
 58 | **Signature:** `getDescription() : String`
 59 | 
 60 | Gets the description.
 61 | 
 62 | ### getRate
 63 | 
 64 | **Signature:** `getRate() : Number`
 65 | 
 66 | Gets the percentage amount of the rate.
 67 | 
 68 | ### getTaxType
 69 | 
 70 | **Signature:** `getTaxType() : String`
 71 | 
 72 | Gets the tax type.
 73 | 
 74 | ## Method Detail
 75 | 
 76 | ## Method Details
 77 | 
 78 | ### create
 79 | 
 80 | **Signature:** `static create(taxType : String, caption : String, description : String, taxRate : Decimal) : TaxGroup`
 81 | 
 82 | **Description:** Creates a TaxGroup. This TaxGroup can be used for example in ReturnItem.addTaxItem(Decimal, TaxGroup).
 83 | 
 84 | **Parameters:**
 85 | 
 86 | - `taxType`: the tax type
 87 | - `caption`: the caption
 88 | - `description`: the description
 89 | - `taxRate`: the tax rate as floating point. 1.0 means 100 %.
 90 | 
 91 | **Returns:**
 92 | 
 93 | the tax group
 94 | 
 95 | ---
 96 | 
 97 | ### getCaption
 98 | 
 99 | **Signature:** `getCaption() : String`
100 | 
101 | **Description:** Gets the caption.
102 | 
103 | **Returns:**
104 | 
105 | the caption
106 | 
107 | ---
108 | 
109 | ### getDescription
110 | 
111 | **Signature:** `getDescription() : String`
112 | 
113 | **Description:** Gets the description.
114 | 
115 | **Returns:**
116 | 
117 | the description
118 | 
119 | ---
120 | 
121 | ### getRate
122 | 
123 | **Signature:** `getRate() : Number`
124 | 
125 | **Description:** Gets the percentage amount of the rate.
126 | 
127 | **Returns:**
128 | 
129 | the tax rate percentage value
130 | 
131 | ---
132 | 
133 | ### getTaxType
134 | 
135 | **Signature:** `getTaxType() : String`
136 | 
137 | **Description:** Gets the tax type.
138 | 
139 | **Returns:**
140 | 
141 | the tax type
142 | 
143 | ---
```

--------------------------------------------------------------------------------
/docs/dw_campaign/CouponStatusCodes.md:
--------------------------------------------------------------------------------

```markdown
 1 | ## Package: dw.campaign
 2 | 
 3 | # Class CouponStatusCodes
 4 | 
 5 | ## Inheritance Hierarchy
 6 | 
 7 | - Object
 8 |   - dw.campaign.CouponStatusCodes
 9 | 
10 | ## Description
11 | 
12 | Helper class containing status codes for why a coupon code cannot be added to cart or why a coupon code already in cart is not longer valid for redemption.
13 | 
14 | ## Constants
15 | 
16 | ### APPLIED
17 | 
18 | **Type:** String = "APPLIED"
19 | 
20 | Coupon is currently applied in basket = Coupon code is valid for redemption and Coupon is assigned to one or multiple applicable promotions.
21 | 
22 | ### COUPON_ALREADY_IN_BASKET
23 | 
24 | **Type:** String = "COUPON_ALREADY_IN_BASKET"
25 | 
26 | Indicates that another code of the same MultiCode/System coupon has already been added to basket.
27 | 
28 | ### COUPON_CODE_ALREADY_IN_BASKET
29 | 
30 | **Type:** String = "COUPON_CODE_ALREADY_IN_BASKET"
31 | 
32 | Indicates that coupon code has already been added to basket.
33 | 
34 | ### COUPON_CODE_ALREADY_REDEEMED
35 | 
36 | **Type:** String = "COUPON_CODE_ALREADY_REDEEMED"
37 | 
38 | Indicates that code of MultiCode/System coupon has already been redeemed.
39 | 
40 | ### COUPON_CODE_UNKNOWN
41 | 
42 | **Type:** String = "COUPON_CODE_UNKNOWN"
43 | 
44 | Indicates that coupon not found for given coupon code or that the code itself was not found.
45 | 
46 | ### COUPON_DISABLED
47 | 
48 | **Type:** String = "COUPON_DISABLED"
49 | 
50 | Indicates that coupon is not enabled.
51 | 
52 | ### CUSTOMER_REDEMPTION_LIMIT_EXCEEDED
53 | 
54 | **Type:** String = "CUSTOMER_REDEMPTION_LIMIT_EXCEEDED"
55 | 
56 | Indicates that No. of redemptions per code & customer exceeded.
57 | 
58 | ### NO_ACTIVE_PROMOTION
59 | 
60 | **Type:** String = "NO_ACTIVE_PROMOTION"
61 | 
62 | Indicates that coupon is not assigned to an active promotion.
63 | 
64 | ### NO_APPLICABLE_PROMOTION
65 | 
66 | **Type:** String = "NO_APPLICABLE_PROMOTION"
67 | 
68 | Coupon is assigned to one or multiple active promotions, but none of these promotions is currently applicable.
69 | 
70 | ### REDEMPTION_LIMIT_EXCEEDED
71 | 
72 | **Type:** String = "REDEMPTION_LIMIT_EXCEEDED"
73 | 
74 | Indicates that no. of redemptions per code exceeded. Usually happens for single code coupons
75 | 
76 | ### TIMEFRAME_REDEMPTION_LIMIT_EXCEEDED
77 | 
78 | **Type:** String = "TIMEFRAME_REDEMPTION_LIMIT_EXCEEDED"
79 | 
80 | Indicates that No. of redemptions per code,customer & time exceeded.
81 | 
82 | ## Properties
83 | 
84 | ## Constructor Summary
85 | 
86 | ## Method Summary
```

--------------------------------------------------------------------------------
/docs/dw_web/URLRedirectMgr.md:
--------------------------------------------------------------------------------

```markdown
 1 | ## Package: dw.web
 2 | 
 3 | # Class URLRedirectMgr
 4 | 
 5 | ## Inheritance Hierarchy
 6 | 
 7 | - Object
 8 |   - dw.web.URLRedirectMgr
 9 | 
10 | ## Description
11 | 
12 | URLRedirect manager class. Methods in this class generate URLRedirects based on the current configuration for Static, Dynamic and URLRedirect mappings in Commerce Cloud Digital. Information used to calculate URLRedirects are determined from the current HTTP request. The URL which is used to find a redirect can be accessed with getRedirectOrigin().
13 | 
14 | ## Properties
15 | 
16 | ### redirect
17 | 
18 | **Type:** URLRedirect (Read Only)
19 | 
20 | An URLRedirect object, containing a location and status. The redirect is calculated
21 |  based on origin url of current request and the configured Static, Dynamic and URLRedirect mappings for
22 |  the requested site.
23 | 
24 | ### redirectOrigin
25 | 
26 | **Type:** String (Read Only)
27 | 
28 | The relative origin url (without protocol, port, hostname and site path information)
29 |  which will be used in getRedirect() to calculate a redirect location for.
30 | 
31 | ## Constructor Summary
32 | 
33 | ## Method Summary
34 | 
35 | ### getRedirect
36 | 
37 | **Signature:** `static getRedirect() : URLRedirect`
38 | 
39 | Returns an URLRedirect object, containing a location and status.
40 | 
41 | ### getRedirectOrigin
42 | 
43 | **Signature:** `static getRedirectOrigin() : String`
44 | 
45 | Returns the relative origin url (without protocol, port, hostname and site path information) which will be used in getRedirect() to calculate a redirect location for.
46 | 
47 | ## Method Detail
48 | 
49 | ## Method Details
50 | 
51 | ### getRedirect
52 | 
53 | **Signature:** `static getRedirect() : URLRedirect`
54 | 
55 | **Description:** Returns an URLRedirect object, containing a location and status. The redirect is calculated based on origin url of current request and the configured Static, Dynamic and URLRedirect mappings for the requested site.
56 | 
57 | **Returns:**
58 | 
59 | URLRedirect containing the location and status code, null in case of no redirect was found
60 | 
61 | ---
62 | 
63 | ### getRedirectOrigin
64 | 
65 | **Signature:** `static getRedirectOrigin() : String`
66 | 
67 | **Description:** Returns the relative origin url (without protocol, port, hostname and site path information) which will be used in getRedirect() to calculate a redirect location for.
68 | 
69 | **Returns:**
70 | 
71 | relative origin url
72 | 
73 | ---
```

--------------------------------------------------------------------------------
/docs/dw_web/CSRFProtection.md:
--------------------------------------------------------------------------------

```markdown
 1 | ## Package: dw.web
 2 | 
 3 | # Class CSRFProtection
 4 | 
 5 | ## Inheritance Hierarchy
 6 | 
 7 | - Object
 8 |   - dw.web.CSRFProtection
 9 | 
10 | ## Description
11 | 
12 | Used to generate and validate CSRF tokens. CSRFProtection allows applications to protect themselves against CSRF attacks, using synchronizer tokens, a best practice. Once created, these tokens are tied to a user’s session and valid for 60 minutes. Usage: Adding CSRF token to forms: //CSRF token generation <form ... action="<protected location>"> <input name="foo" value="bar"> <input name="${dw.web.CSRFProtection.getTokenName()}" value="${dw.web.CSRFProtection.generateToken()"> </form> Then, in scripts call: dw.web.CSRFProtection.validateRequest();
13 | 
14 | ## Properties
15 | 
16 | ### tokenName
17 | 
18 | **Type:** String (Read Only)
19 | 
20 | The system generated CSRF token name. Currently, this name is not user configurable. Must be used for
21 |  validateRequest() to work
22 | 
23 | ## Constructor Summary
24 | 
25 | ## Method Summary
26 | 
27 | ### generateToken
28 | 
29 | **Signature:** `static generateToken() : String`
30 | 
31 | Constructs a new unique CSRF token for this session.
32 | 
33 | ### getTokenName
34 | 
35 | **Signature:** `static getTokenName() : String`
36 | 
37 | Returns the system generated CSRF token name.
38 | 
39 | ### validateRequest
40 | 
41 | **Signature:** `static validateRequest() : boolean`
42 | 
43 | Verifies that a client request contains a valid CSRF token, and that the token has not expired.
44 | 
45 | ## Method Detail
46 | 
47 | ## Method Details
48 | 
49 | ### generateToken
50 | 
51 | **Signature:** `static generateToken() : String`
52 | 
53 | **Description:** Constructs a new unique CSRF token for this session.
54 | 
55 | **Returns:**
56 | 
57 | a new CSRF token
58 | 
59 | ---
60 | 
61 | ### getTokenName
62 | 
63 | **Signature:** `static getTokenName() : String`
64 | 
65 | **Description:** Returns the system generated CSRF token name. Currently, this name is not user configurable. Must be used for validateRequest() to work
66 | 
67 | **Returns:**
68 | 
69 | System-generated CSRF token parameter name
70 | 
71 | ---
72 | 
73 | ### validateRequest
74 | 
75 | **Signature:** `static validateRequest() : boolean`
76 | 
77 | **Description:** Verifies that a client request contains a valid CSRF token, and that the token has not expired. Returns true if these conditions are met, and false otherwise
78 | 
79 | **Returns:**
80 | 
81 | true if request contains a valid CSRF token, false otherwise
82 | 
83 | ---
```

--------------------------------------------------------------------------------
/.github/workflows/ci.yml:
--------------------------------------------------------------------------------

```yaml
  1 | name: CI
  2 | 
  3 | on:
  4 |   push:
  5 |     branches: [ main, develop ]
  6 |   pull_request:
  7 |     branches: [ main, develop ]
  8 | 
  9 | jobs:
 10 |   lint:
 11 |     runs-on: ubuntu-latest
 12 |     permissions:
 13 |       contents: read
 14 | 
 15 |     steps:
 16 |     - name: Checkout code
 17 |       uses: actions/checkout@v5
 18 | 
 19 |     - name: Setup Node.js
 20 |       uses: actions/setup-node@v5
 21 |       with:
 22 |         node-version: '20'
 23 |         cache: 'npm'
 24 | 
 25 |     - name: Install dependencies
 26 |       run: npm ci
 27 | 
 28 |     - name: Run linting
 29 |       run: npm run lint:check
 30 | 
 31 |   security:
 32 |     runs-on: ubuntu-latest
 33 |     permissions:
 34 |       contents: read
 35 |       security-events: write
 36 | 
 37 |     steps:
 38 |     - name: Checkout code
 39 |       uses: actions/checkout@v5
 40 | 
 41 |     - name: Setup Node.js
 42 |       uses: actions/setup-node@v5
 43 |       with:
 44 |         node-version: '20'
 45 |         cache: 'npm'
 46 | 
 47 |     - name: Install dependencies
 48 |       run: npm ci
 49 | 
 50 |     - name: Run security audit
 51 |       run: npm audit --audit-level=moderate
 52 | 
 53 |   test:
 54 |     runs-on: ubuntu-latest
 55 |     permissions:
 56 |       contents: read
 57 | 
 58 |     strategy:
 59 |       matrix:
 60 |         node-version: [18, 20, 22, 24]
 61 | 
 62 |     steps:
 63 |     - name: Checkout code
 64 |       uses: actions/checkout@v5
 65 | 
 66 |     - name: Setup Node.js ${{ matrix.node-version }}
 67 |       uses: actions/setup-node@v5
 68 |       with:
 69 |         node-version: ${{ matrix.node-version }}
 70 |         cache: 'npm'
 71 | 
 72 |     - name: Install dependencies
 73 |       run: npm ci
 74 | 
 75 |     - name: Run build
 76 |       run: npm run build
 77 | 
 78 |     - name: Setup SFCC mock server
 79 |       run: |
 80 |         cd tests/servers/sfcc-mock-server
 81 |         npm install
 82 |         npm run setup:logs
 83 |         node server.js --port 3000 &
 84 |         sleep 5
 85 | 
 86 |     - name: Run tests
 87 |       run: npm test
 88 | 
 89 |     - name: Stop SFCC mock server
 90 |       if: always()
 91 |       run: |
 92 |         # Kill SFCC mock server process
 93 |         pkill -f "node.*server.js" || true
 94 |         # Fallback: kill any remaining server processes on port 3000
 95 |         lsof -ti :3000 | xargs kill -9 2>/dev/null || true
 96 | 
 97 |     - name: Upload coverage reports (Node.js 20 only)
 98 |       if: matrix.node-version == 20
 99 |       uses: codecov/codecov-action@5a1091511ad55cbe89839c7260b706298ca349f7 # v3
100 |       with:
101 |         fail_ci_if_error: false
102 |         verbose: true
103 |         files: ./coverage/lcov.info
104 | 
```

--------------------------------------------------------------------------------
/docs/dw_campaign/ABTestSegment.md:
--------------------------------------------------------------------------------

```markdown
 1 | ## Package: dw.campaign
 2 | 
 3 | # Class ABTestSegment
 4 | 
 5 | ## Inheritance Hierarchy
 6 | 
 7 | - Object
 8 |   - dw.object.PersistentObject
 9 |   - dw.campaign.ABTestSegment
10 | 
11 | ## Description
12 | 
13 | Object representing an AB-test segment in the Commerce Cloud Digital. Each AB-test defines 1 or more segments to which customers are randomly assigned by the platform when they qualify for the AB-test. Customers are assigned to segments according to allocation percentages controlled by the merchant. Each AB-test segment defines a set of "experiences" that the merchant is testing and which which apply only to the customers in that segment. There is always one "control" segment which contains only the default set of experiences for that site.
14 | 
15 | ## Properties
16 | 
17 | ### ABTest
18 | 
19 | **Type:** ABTest (Read Only)
20 | 
21 | Get the AB-test to which this segment belongs.
22 | 
23 | ### controlSegment
24 | 
25 | **Type:** boolean (Read Only)
26 | 
27 | Returns true if this is the "control segment" for the AB-test, meaning
28 |  the segment that has no experiences associated with it.
29 | 
30 | ### ID
31 | 
32 | **Type:** String (Read Only)
33 | 
34 | Get the ID of the AB-test segment.
35 | 
36 | ## Constructor Summary
37 | 
38 | ## Method Summary
39 | 
40 | ### getABTest
41 | 
42 | **Signature:** `getABTest() : ABTest`
43 | 
44 | Get the AB-test to which this segment belongs.
45 | 
46 | ### getID
47 | 
48 | **Signature:** `getID() : String`
49 | 
50 | Get the ID of the AB-test segment.
51 | 
52 | ### isControlSegment
53 | 
54 | **Signature:** `isControlSegment() : boolean`
55 | 
56 | Returns true if this is the "control segment" for the AB-test, meaning the segment that has no experiences associated with it.
57 | 
58 | ## Method Detail
59 | 
60 | ## Method Details
61 | 
62 | ### getABTest
63 | 
64 | **Signature:** `getABTest() : ABTest`
65 | 
66 | **Description:** Get the AB-test to which this segment belongs.
67 | 
68 | **Returns:**
69 | 
70 | the AB-test to which this segment belongs.
71 | 
72 | ---
73 | 
74 | ### getID
75 | 
76 | **Signature:** `getID() : String`
77 | 
78 | **Description:** Get the ID of the AB-test segment.
79 | 
80 | **Returns:**
81 | 
82 | the ID of the AB-test segment.
83 | 
84 | ---
85 | 
86 | ### isControlSegment
87 | 
88 | **Signature:** `isControlSegment() : boolean`
89 | 
90 | **Description:** Returns true if this is the "control segment" for the AB-test, meaning the segment that has no experiences associated with it.
91 | 
92 | **Returns:**
93 | 
94 | true if this segment is the "control segment" for the AB-test, or false otherwise.
95 | 
96 | ---
```

--------------------------------------------------------------------------------
/docs/dw_catalog/ProductVariationAttribute.md:
--------------------------------------------------------------------------------

```markdown
  1 | ## Package: dw.catalog
  2 | 
  3 | # Class ProductVariationAttribute
  4 | 
  5 | ## Inheritance Hierarchy
  6 | 
  7 | - Object
  8 |   - dw.catalog.ProductVariationAttribute
  9 | 
 10 | ## Description
 11 | 
 12 | Represents a product variation attribute
 13 | 
 14 | ## Properties
 15 | 
 16 | ### attributeID
 17 | 
 18 | **Type:** String (Read Only)
 19 | 
 20 | The ID of the product attribute defintion related to 
 21 |  this variation attribute.  This ID matches the
 22 |  value returned by ObjectAttributeDefinition.getID()  
 23 |  for the appropriate product attribute definition.
 24 |  This ID is generally different than the ID returned by 
 25 |  getID().
 26 | 
 27 | ### displayName
 28 | 
 29 | **Type:** String (Read Only)
 30 | 
 31 | The display name for the product variation attribute, which can be used in the
 32 |  user interface.
 33 | 
 34 | ### ID
 35 | 
 36 | **Type:** String (Read Only)
 37 | 
 38 | The ID of the product variation attribute.
 39 | 
 40 | ## Constructor Summary
 41 | 
 42 | ## Method Summary
 43 | 
 44 | ### getAttributeID
 45 | 
 46 | **Signature:** `getAttributeID() : String`
 47 | 
 48 | Returns the ID of the product attribute defintion related to this variation attribute.
 49 | 
 50 | ### getDisplayName
 51 | 
 52 | **Signature:** `getDisplayName() : String`
 53 | 
 54 | Returns the display name for the product variation attribute, which can be used in the user interface.
 55 | 
 56 | ### getID
 57 | 
 58 | **Signature:** `getID() : String`
 59 | 
 60 | Returns the ID of the product variation attribute.
 61 | 
 62 | ## Method Detail
 63 | 
 64 | ## Method Details
 65 | 
 66 | ### getAttributeID
 67 | 
 68 | **Signature:** `getAttributeID() : String`
 69 | 
 70 | **Description:** Returns the ID of the product attribute defintion related to this variation attribute. This ID matches the value returned by ObjectAttributeDefinition.getID() for the appropriate product attribute definition. This ID is generally different than the ID returned by getID().
 71 | 
 72 | **Returns:**
 73 | 
 74 | the ID of the product attribute definition of this variation attribute.
 75 | 
 76 | ---
 77 | 
 78 | ### getDisplayName
 79 | 
 80 | **Signature:** `getDisplayName() : String`
 81 | 
 82 | **Description:** Returns the display name for the product variation attribute, which can be used in the user interface.
 83 | 
 84 | **Returns:**
 85 | 
 86 | the display name for the product variation attribute, which can be used in the user interface.
 87 | 
 88 | ---
 89 | 
 90 | ### getID
 91 | 
 92 | **Signature:** `getID() : String`
 93 | 
 94 | **Description:** Returns the ID of the product variation attribute.
 95 | 
 96 | **Returns:**
 97 | 
 98 | the ID of the product variation attribute.
 99 | 
100 | ---
```

--------------------------------------------------------------------------------
/docs/dw_order/TrackingRef.md:
--------------------------------------------------------------------------------

```markdown
  1 | ## Package: dw.order
  2 | 
  3 | # Class TrackingRef
  4 | 
  5 | ## Inheritance Hierarchy
  6 | 
  7 | - Object
  8 |   - dw.order.TrackingRef
  9 | 
 10 | ## Description
 11 | 
 12 | Provides basic information about the TrackingInfo a ShippingOrderItem is contained.
 13 | 
 14 | ## Properties
 15 | 
 16 | ### quantity
 17 | 
 18 | **Type:** Quantity
 19 | 
 20 | Gets the quantity, the shipping order item is assigned to the tracking
 21 |  info.
 22 | 
 23 | ### shippingOrderItem
 24 | 
 25 | **Type:** ShippingOrderItem (Read Only)
 26 | 
 27 | Gets the shipping order item which is assigned to the tracking info.
 28 | 
 29 | ### trackingInfo
 30 | 
 31 | **Type:** TrackingInfo (Read Only)
 32 | 
 33 | Gets the tracking info, the shipping order item is assigned to.
 34 | 
 35 | ## Constructor Summary
 36 | 
 37 | ## Method Summary
 38 | 
 39 | ### getQuantity
 40 | 
 41 | **Signature:** `getQuantity() : Quantity`
 42 | 
 43 | Gets the quantity, the shipping order item is assigned to the tracking info.
 44 | 
 45 | ### getShippingOrderItem
 46 | 
 47 | **Signature:** `getShippingOrderItem() : ShippingOrderItem`
 48 | 
 49 | Gets the shipping order item which is assigned to the tracking info.
 50 | 
 51 | ### getTrackingInfo
 52 | 
 53 | **Signature:** `getTrackingInfo() : TrackingInfo`
 54 | 
 55 | Gets the tracking info, the shipping order item is assigned to.
 56 | 
 57 | ### setQuantity
 58 | 
 59 | **Signature:** `setQuantity(quantity : Quantity) : void`
 60 | 
 61 | Sets the quantity, the shipping order item is assigned to the tracking info.
 62 | 
 63 | ## Method Detail
 64 | 
 65 | ## Method Details
 66 | 
 67 | ### getQuantity
 68 | 
 69 | **Signature:** `getQuantity() : Quantity`
 70 | 
 71 | **Description:** Gets the quantity, the shipping order item is assigned to the tracking info.
 72 | 
 73 | **Returns:**
 74 | 
 75 | the quantity the shipping order item is assigned to the tracking info.
 76 | 
 77 | ---
 78 | 
 79 | ### getShippingOrderItem
 80 | 
 81 | **Signature:** `getShippingOrderItem() : ShippingOrderItem`
 82 | 
 83 | **Description:** Gets the shipping order item which is assigned to the tracking info.
 84 | 
 85 | **Returns:**
 86 | 
 87 | the shipping order item
 88 | 
 89 | ---
 90 | 
 91 | ### getTrackingInfo
 92 | 
 93 | **Signature:** `getTrackingInfo() : TrackingInfo`
 94 | 
 95 | **Description:** Gets the tracking info, the shipping order item is assigned to.
 96 | 
 97 | **Returns:**
 98 | 
 99 | the tracking info
100 | 
101 | ---
102 | 
103 | ### setQuantity
104 | 
105 | **Signature:** `setQuantity(quantity : Quantity) : void`
106 | 
107 | **Description:** Sets the quantity, the shipping order item is assigned to the tracking info.
108 | 
109 | **Parameters:**
110 | 
111 | - `quantity`: the quantity, the shipping order item is assigned to the tracking info.
112 | 
113 | ---
```

--------------------------------------------------------------------------------
/docs/dw_catalog/SortingOption.md:
--------------------------------------------------------------------------------

```markdown
  1 | ## Package: dw.catalog
  2 | 
  3 | # Class SortingOption
  4 | 
  5 | ## Inheritance Hierarchy
  6 | 
  7 | - Object
  8 |   - dw.object.PersistentObject
  9 |   - dw.catalog.SortingOption
 10 | 
 11 | ## Description
 12 | 
 13 | Represents an option for how to sort products in storefront search results.
 14 | 
 15 | ## Properties
 16 | 
 17 | ### description
 18 | 
 19 | **Type:** String (Read Only)
 20 | 
 21 | The description of the sorting option for the current locale.
 22 | 
 23 | ### displayName
 24 | 
 25 | **Type:** String (Read Only)
 26 | 
 27 | The display name of the of the sorting option for the current locale.
 28 | 
 29 | ### ID
 30 | 
 31 | **Type:** String (Read Only)
 32 | 
 33 | The ID of the sorting option.
 34 | 
 35 | ### sortingRule
 36 | 
 37 | **Type:** SortingRule (Read Only)
 38 | 
 39 | The sorting rule for this sorting option,
 40 |  or null if there is no associated rule.
 41 | 
 42 | ## Constructor Summary
 43 | 
 44 | ## Method Summary
 45 | 
 46 | ### getDescription
 47 | 
 48 | **Signature:** `getDescription() : String`
 49 | 
 50 | Returns the description of the sorting option for the current locale.
 51 | 
 52 | ### getDisplayName
 53 | 
 54 | **Signature:** `getDisplayName() : String`
 55 | 
 56 | Returns the display name of the of the sorting option for the current locale.
 57 | 
 58 | ### getID
 59 | 
 60 | **Signature:** `getID() : String`
 61 | 
 62 | Returns the ID of the sorting option.
 63 | 
 64 | ### getSortingRule
 65 | 
 66 | **Signature:** `getSortingRule() : SortingRule`
 67 | 
 68 | Returns the sorting rule for this sorting option, or null if there is no associated rule.
 69 | 
 70 | ## Method Detail
 71 | 
 72 | ## Method Details
 73 | 
 74 | ### getDescription
 75 | 
 76 | **Signature:** `getDescription() : String`
 77 | 
 78 | **Description:** Returns the description of the sorting option for the current locale.
 79 | 
 80 | **Returns:**
 81 | 
 82 | The value of the property for the current locale, or null if it wasn't found.
 83 | 
 84 | ---
 85 | 
 86 | ### getDisplayName
 87 | 
 88 | **Signature:** `getDisplayName() : String`
 89 | 
 90 | **Description:** Returns the display name of the of the sorting option for the current locale.
 91 | 
 92 | **Returns:**
 93 | 
 94 | The value of the property for the current locale, or null if it wasn't found.
 95 | 
 96 | ---
 97 | 
 98 | ### getID
 99 | 
100 | **Signature:** `getID() : String`
101 | 
102 | **Description:** Returns the ID of the sorting option.
103 | 
104 | **Returns:**
105 | 
106 | sorting option ID
107 | 
108 | ---
109 | 
110 | ### getSortingRule
111 | 
112 | **Signature:** `getSortingRule() : SortingRule`
113 | 
114 | **Description:** Returns the sorting rule for this sorting option, or null if there is no associated rule.
115 | 
116 | **Returns:**
117 | 
118 | a ProductSortingRule instance representing the rule for this option or null.
119 | 
120 | ---
```

--------------------------------------------------------------------------------
/docs/dw_customer/AgentUserStatusCodes.md:
--------------------------------------------------------------------------------

```markdown
 1 | ## Package: dw.customer
 2 | 
 3 | # Class AgentUserStatusCodes
 4 | 
 5 | ## Inheritance Hierarchy
 6 | 
 7 | - Object
 8 |   - dw.customer.AgentUserStatusCodes
 9 | 
10 | ## Description
11 | 
12 | AgentUserStatusCodes contains constants representing status codes that can be used with a Status object to indicate the success or failure of the agent user login process.
13 | 
14 | ## Constants
15 | 
16 | ### AGENT_USER_NOT_AVAILABLE
17 | 
18 | **Type:** String = "AGENT_USER_NOT_AVAILABLE"
19 | 
20 | Indicates that the agent user is not available.
21 | 
22 | ### AGENT_USER_NOT_LOGGED_IN
23 | 
24 | **Type:** String = "AGENT_USER_NOT_LOGGED_IN"
25 | 
26 | Indicates that the agent user is not logged in.
27 | 
28 | ### CREDENTIALS_INVALID
29 | 
30 | **Type:** String = "CREDENTIALS_INVALID"
31 | 
32 | Indicates that the given agent user login or password was wrong.
33 | 
34 | ### CUSTOMER_DISABLED
35 | 
36 | **Type:** String = "CUSTOMER_DISABLED"
37 | 
38 | Indicates that the customer is disabled.
39 | 
40 | ### CUSTOMER_UNREGISTERED
41 | 
42 | **Type:** String = "CUSTOMER_UNREGISTERED"
43 | 
44 | Indicates that the customer is either not registered or not registered with the current site.
45 | 
46 | ### INSECURE_CONNECTION
47 | 
48 | **Type:** String = "INSECURE_CONNECTION"
49 | 
50 | Indicates that the current connection is not secure (HTTP instead of HTTPS) and the server is configured to require a secure connection.
51 | 
52 | ### INSUFFICIENT_PERMISSION
53 | 
54 | **Type:** String = "INSUFFICIENT_PERMISSION"
55 | 
56 | Indicates that the given agent user does not have the permission 'Login_Agent' which is required to login to the storefront as an agent user.
57 | 
58 | ### LOGIN_SUCCESSFUL
59 | 
60 | **Type:** String = "LOGIN_SUCCESSFUL"
61 | 
62 | Indicates that the agent user login was successful.
63 | 
64 | ### NO_STOREFRONT
65 | 
66 | **Type:** String = "NO_STOREFRONT"
67 | 
68 | Indicates that the current context is not a storefront request.
69 | 
70 | ### PASSWORD_EXPIRED
71 | 
72 | **Type:** String = "PASSWORD_EXPIRED"
73 | 
74 | Indicates that the given agent user password has expired and needs to be changed in the Business Manager.
75 | 
76 | ### USER_DISABLED
77 | 
78 | **Type:** String = "USER_DISABLED"
79 | 
80 | Indicates that the agent user account has been disabled in the Business Manager.
81 | 
82 | ### USER_LOCKED
83 | 
84 | **Type:** String = "USER_LOCKED"
85 | 
86 | Indicates that the agent user account is locked, because the maximum number of failed login attempts was exceeded.
87 | 
88 | ## Properties
89 | 
90 | ## Constructor Summary
91 | 
92 | AgentUserStatusCodes()
93 | 
94 | ## Method Summary
95 | 
96 | ## Constructor Detail
```

--------------------------------------------------------------------------------
/docs/TopLevel/Namespace.md:
--------------------------------------------------------------------------------

```markdown
 1 | ## Package: TopLevel
 2 | 
 3 | # Class Namespace
 4 | 
 5 | ## Inheritance Hierarchy
 6 | 
 7 | - Object
 8 |   - Namespace
 9 | 
10 | ## Description
11 | 
12 | Namespace objects represent XML namespaces and provide an association between a namespace prefix and a Unique Resource Identifier (URI). The prefix is either the undefined value or a string value that may be used to reference the namespace within the lexical representation of an XML value. When an XML object containing a namespace with an undefined prefix is encoded as XML by the method toXMLString(), the implementation will automatically generate a prefix. The URI is a string value used to uniquely identify the namespace.
13 | 
14 | ## Properties
15 | 
16 | ### prefix
17 | 
18 | **Type:** String (Read Only)
19 | 
20 | The prefix of the Namespace object.
21 | 
22 | ### uri
23 | 
24 | **Type:** String (Read Only)
25 | 
26 | The Uniform Resource Identifier (URI) of the Namespace object.
27 | 
28 | ## Constructor Summary
29 | 
30 | Namespace() Constructs a simple namespace where the uri and prefix properties are set to an empty string.
31 | 
32 | Namespace(uriValue : Object) Constructs a Namespace object and assigns values to the uri and prefix properties based on the type of uriValue.
33 | 
34 | Namespace(prefixValue : Object, uriValue : Object) Constructs a Namespace object and assigns values to the uri and prefix properties.
35 | 
36 | ## Method Summary
37 | 
38 | ### getPrefix
39 | 
40 | **Signature:** `getPrefix() : String`
41 | 
42 | Returns the prefix of the Namespace object.
43 | 
44 | ### getUri
45 | 
46 | **Signature:** `getUri() : String`
47 | 
48 | Returns the Uniform Resource Identifier (URI) of the Namespace object.
49 | 
50 | ### toString
51 | 
52 | **Signature:** `toString() : String`
53 | 
54 | Returns a string representation of this Namespace object.
55 | 
56 | ## Constructor Detail
57 | 
58 | ## Method Detail
59 | 
60 | ## Method Details
61 | 
62 | ### getPrefix
63 | 
64 | **Signature:** `getPrefix() : String`
65 | 
66 | **Description:** Returns the prefix of the Namespace object.
67 | 
68 | **Returns:**
69 | 
70 | the prefix of the Namespace object.
71 | 
72 | ---
73 | 
74 | ### getUri
75 | 
76 | **Signature:** `getUri() : String`
77 | 
78 | **Description:** Returns the Uniform Resource Identifier (URI) of the Namespace object.
79 | 
80 | **Returns:**
81 | 
82 | the Uniform Resource Identifier (URI) of the Namespace object.
83 | 
84 | ---
85 | 
86 | ### toString
87 | 
88 | **Signature:** `toString() : String`
89 | 
90 | **Description:** Returns a string representation of this Namespace object.
91 | 
92 | **Returns:**
93 | 
94 | a string representation of this Namespace object.
95 | 
96 | ---
```

--------------------------------------------------------------------------------
/docs/dw_extensions.facebook/FacebookFeedHooks.md:
--------------------------------------------------------------------------------

```markdown
 1 | ## Package: dw.extensions.facebook
 2 | 
 3 | # Class FacebookFeedHooks
 4 | 
 5 | ## Inheritance Hierarchy
 6 | 
 7 | - dw.extensions.facebook.FacebookFeedHooks
 8 | 
 9 | ## Description
10 | 
11 | FacebookFeedHooks interface containing extension points for customizing Facebook export feeds. These hooks are not executed in a transaction. The extension points (hook names), and the functions that are called by each extension point. A function must be defined inside a JavaScript source and must be exported. The script with the exported hook function must be located inside a site cartridge. Inside the site cartridge a 'package.json' file with a 'hooks' entry must exist. "hooks": "./hooks.json" The hooks entry links to a json file, relative to the 'package.json' file. This file lists all registered hooks inside the hooks property: "hooks": [ {"name": "dw.extensions.facebook.feed.transformProduct", "script": "./hooks.ds"} ] A hook entry has a 'name' and a 'script' property. The 'name' contains the extension point, the hook name. The 'script' contains the script relative to the hooks file, with the exported hook function.
12 | 
13 | ## Constants
14 | 
15 | ## Properties
16 | 
17 | ## Constructor Summary
18 | 
19 | ## Method Summary
20 | 
21 | ### transformProduct
22 | 
23 | **Signature:** `transformProduct(product : Product, facebookProduct : FacebookProduct, feedId : String) : Status`
24 | 
25 | Called after default transformation of given Demandware product to Facebook product as part of the catalog feed export.
26 | 
27 | ## Method Detail
28 | 
29 | ## Method Details
30 | 
31 | ### transformProduct
32 | 
33 | **Signature:** `transformProduct(product : Product, facebookProduct : FacebookProduct, feedId : String) : Status`
34 | 
35 | **Description:** Called after default transformation of given Demandware product to Facebook product as part of the catalog feed export. To customize multiple feeds differently, for example if one is for Facebook Dynamic Ads and the other is for Instagram Commerce, use the feedId parameter to determine which feed is being exported. If the same customization should apply to all feeds, ignore the parameter.
36 | 
37 | **Parameters:**
38 | 
39 | - `product`: the Demandware product
40 | - `facebookProduct`: the Facebook representation of the product
41 | - `feedId`: the merchant-selected ID for the feed being exported
42 | 
43 | **Returns:**
44 | 
45 | a non-null Status ends the hook execution
46 | 
47 | ---
```

--------------------------------------------------------------------------------
/docs/dw_system/RESTErrorResponse.md:
--------------------------------------------------------------------------------

```markdown
 1 | ## Package: dw.system
 2 | 
 3 | # Class RESTErrorResponse
 4 | 
 5 | ## Inheritance Hierarchy
 6 | 
 7 | - Object
 8 |   - dw.system.RESTErrorResponse
 9 | 
10 | ## Description
11 | 
12 | This class represents a REST error response that is compliant with RFC 9457. It can only be instantiated using the createError methods in RESTResponseMgr. Here is an example: var error = RESTResponseMgr.createError(400); error.custom.foo = "bar"; error.render(); The above script would result in an HTTP response with status code 400 and the following body: { "type": "https://api.commercecloud.salesforce.com/documentation/error/v1/custom-errors/bad-request", "c_foo": "bar" } NOTE: Custom attributes are rendered with "c_" prefix as shown in the example above. Rendering works as described in JSON.stringify(Object).
13 | 
14 | ## Properties
15 | 
16 | ### custom
17 | 
18 | **Type:** CustomAttributes (Read Only)
19 | 
20 | All the custom attributes associated with the error response object. The attributes are stored for the
21 |  lifetime of the error response object.
22 | 
23 | ## Constructor Summary
24 | 
25 | ## Method Summary
26 | 
27 | ### getCustom
28 | 
29 | **Signature:** `getCustom() : CustomAttributes`
30 | 
31 | Returns all the custom attributes associated with the error response object.
32 | 
33 | ### render
34 | 
35 | **Signature:** `render() : void`
36 | 
37 | Sends the RESTErrorResponse object as an HTTP error response to the client, adhering to RFC 9457.
38 | 
39 | ## Method Detail
40 | 
41 | ## Method Details
42 | 
43 | ### getCustom
44 | 
45 | **Signature:** `getCustom() : CustomAttributes`
46 | 
47 | **Description:** Returns all the custom attributes associated with the error response object. The attributes are stored for the lifetime of the error response object.
48 | 
49 | **Returns:**
50 | 
51 | All the custom attributes associated with the error response object.
52 | 
53 | ---
54 | 
55 | ### render
56 | 
57 | **Signature:** `render() : void`
58 | 
59 | **Description:** Sends the RESTErrorResponse object as an HTTP error response to the client, adhering to RFC 9457. This method sets the "Content-Type" header to "application/problem+json", HTTP Status Code to statusCode attribute and constructs the body from type, title, detail and custom attributes of the object. Custom attributes are rendered with "c_" prefix to the attribute name.
60 | 
61 | **Throws:**
62 | 
63 | IllegalStateException - If the RESTErrorResponse object is already rendered.
64 | Exception - If there is an error while serializing the RESTErrorResponse object.
65 | 
66 | ---
```

--------------------------------------------------------------------------------
/docs/dw_customer/CustomerPasswordConstraints.md:
--------------------------------------------------------------------------------

```markdown
  1 | ## Package: dw.customer
  2 | 
  3 | # Class CustomerPasswordConstraints
  4 | 
  5 | ## Inheritance Hierarchy
  6 | 
  7 | - Object
  8 |   - dw.customer.CustomerPasswordConstraints
  9 | 
 10 | ## Description
 11 | 
 12 | Provides access to the constraints of customer passwords. An instance of this class can be obtained via CustomerMgr.getPasswordConstraints().
 13 | 
 14 | ## Properties
 15 | 
 16 | ### forceLetters
 17 | 
 18 | **Type:** boolean (Read Only)
 19 | 
 20 | Returns true if letters are enforced.
 21 | 
 22 | ### forceMixedCase
 23 | 
 24 | **Type:** boolean (Read Only)
 25 | 
 26 | Returns true if mixed case is enforced.
 27 | 
 28 | ### forceNumbers
 29 | 
 30 | **Type:** boolean (Read Only)
 31 | 
 32 | Returns true if numbers are enforced.
 33 | 
 34 | ### minLength
 35 | 
 36 | **Type:** Number (Read Only)
 37 | 
 38 | The minimum length.
 39 | 
 40 | ### minSpecialChars
 41 | 
 42 | **Type:** Number (Read Only)
 43 | 
 44 | The minimum number of special characters.
 45 | 
 46 | ## Constructor Summary
 47 | 
 48 | ## Method Summary
 49 | 
 50 | ### getMinLength
 51 | 
 52 | **Signature:** `static getMinLength() : Number`
 53 | 
 54 | Returns the minimum length.
 55 | 
 56 | ### getMinSpecialChars
 57 | 
 58 | **Signature:** `static getMinSpecialChars() : Number`
 59 | 
 60 | Returns the minimum number of special characters.
 61 | 
 62 | ### isForceLetters
 63 | 
 64 | **Signature:** `static isForceLetters() : boolean`
 65 | 
 66 | Returns true if letters are enforced.
 67 | 
 68 | ### isForceMixedCase
 69 | 
 70 | **Signature:** `static isForceMixedCase() : boolean`
 71 | 
 72 | Returns true if mixed case is enforced.
 73 | 
 74 | ### isForceNumbers
 75 | 
 76 | **Signature:** `static isForceNumbers() : boolean`
 77 | 
 78 | Returns true if numbers are enforced.
 79 | 
 80 | ## Method Detail
 81 | 
 82 | ## Method Details
 83 | 
 84 | ### getMinLength
 85 | 
 86 | **Signature:** `static getMinLength() : Number`
 87 | 
 88 | **Description:** Returns the minimum length.
 89 | 
 90 | **Returns:**
 91 | 
 92 | the minimum length
 93 | 
 94 | ---
 95 | 
 96 | ### getMinSpecialChars
 97 | 
 98 | **Signature:** `static getMinSpecialChars() : Number`
 99 | 
100 | **Description:** Returns the minimum number of special characters.
101 | 
102 | **Returns:**
103 | 
104 | the minimum number of special characters
105 | 
106 | ---
107 | 
108 | ### isForceLetters
109 | 
110 | **Signature:** `static isForceLetters() : boolean`
111 | 
112 | **Description:** Returns true if letters are enforced.
113 | 
114 | **Returns:**
115 | 
116 | if letters are enforced
117 | 
118 | ---
119 | 
120 | ### isForceMixedCase
121 | 
122 | **Signature:** `static isForceMixedCase() : boolean`
123 | 
124 | **Description:** Returns true if mixed case is enforced.
125 | 
126 | **Returns:**
127 | 
128 | if mixed case is enforced
129 | 
130 | ---
131 | 
132 | ### isForceNumbers
133 | 
134 | **Signature:** `static isForceNumbers() : boolean`
135 | 
136 | **Description:** Returns true if numbers are enforced.
137 | 
138 | **Returns:**
139 | 
140 | if numbers are enforced
141 | 
142 | ---
```

--------------------------------------------------------------------------------
/docs-site/components/icons.tsx:
--------------------------------------------------------------------------------

```typescript
 1 | 
 2 | import React from 'react';
 3 | 
 4 | export const SearchIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (
 5 |   <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" strokeWidth={1.5} stroke="currentColor" {...props}>
 6 |     <path strokeLinecap="round" strokeLinejoin="round" d="M21 21l-5.197-5.197m0 0A7.5 7.5 0 105.196 5.196a7.5 7.5 0 0010.607 10.607z" />
 7 |   </svg>
 8 | );
 9 | 
10 | export const ReactIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (
11 |     <svg xmlns="http://www.w3.org/2000/svg" viewBox="-11.5 -10.23174 23 20.46348" {...props}>
12 |         <circle cx="0" cy="0" r="2.05" fill="currentColor"></circle>
13 |         <g stroke="currentColor" strokeWidth="1" fill="none">
14 |             <ellipse rx="11" ry="4.2"></ellipse>
15 |             <ellipse rx="11" ry="4.2" transform="rotate(60)"></ellipse>
16 |             <ellipse rx="11" ry="4.2" transform="rotate(120)"></ellipse>
17 |         </g>
18 |     </svg>
19 | );
20 | 
21 | export const ChevronDownIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (
22 |     <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" strokeWidth={1.5} stroke="currentColor" {...props}>
23 |         <path strokeLinecap="round" strokeLinejoin="round" d="M19.5 8.25l-7.5 7.5-7.5-7.5" />
24 |     </svg>
25 | );
26 | 
27 | export const CopyIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (
28 |   <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" strokeWidth={1.5} stroke="currentColor" {...props}>
29 |     <path strokeLinecap="round" strokeLinejoin="round" d="M15.75 17.25v3.375c0 .621-.504 1.125-1.125 1.125h-9.75a1.125 1.125 0 01-1.125-1.125V7.875c0-.621.504-1.125 1.125-1.125H6.75a9.06 9.06 0 011.5.124m7.5 10.376h3.375c.621 0 1.125-.504 1.125-1.125V11.25c0-4.46-3.243-8.161-7.5-8.876a9.06 9.06 0 00-1.5-.124H9.375c-.621 0-1.125.504-1.125 1.125v3.5m7.5 10.375H9.375a1.125 1.125 0 01-1.125-1.125v-9.25m12 6.625v-1.875a3.375 3.375 0 00-3.375-3.375h-1.5a1.125 1.125 0 01-1.125-1.125v-1.5a3.375 3.375 0 00-3.375-3.375H9.75" />
30 |   </svg>
31 | );
32 | 
33 | export const CheckIcon: React.FC<React.SVGProps<SVGSVGElement>> = (props) => (
34 |     <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" strokeWidth={1.5} stroke="currentColor" {...props}>
35 |         <path strokeLinecap="round" strokeLinejoin="round" d="M4.5 12.75l6 6 9-13.5" />
36 |     </svg>
37 | );
38 | 
```

--------------------------------------------------------------------------------
/docs-site/components/NewcomerCTA.tsx:
--------------------------------------------------------------------------------

```typescript
 1 | import React from 'react';
 2 | import { Link } from 'react-router-dom';
 3 | 
 4 | interface NewcomerCTAProps {
 5 |   /** Additional CSS classes to apply to the wrapper */
 6 |   className?: string;
 7 |   /** Custom href if different from default */
 8 |   href?: string;
 9 |   /** Whether to show as centered or inline */
10 |   centered?: boolean;
11 | }
12 | 
13 | /**
14 |  * Prominent call-to-action button for users new to MCP servers.
15 |  * Directs them to the AI assistant setup guide.
16 |  */
17 | const NewcomerCTA: React.FC<NewcomerCTAProps> = ({ 
18 |   className = '', 
19 |   href = '/ai-interfaces/#ai-assistant-setup',
20 |   centered = true 
21 | }) => {
22 |   const wrapperClasses = centered ? 'text-center' : '';
23 |   
24 |   return (
25 |     <div className={`${wrapperClasses} ${className}`}>
26 |       <div className="inline-block bg-gradient-to-r from-orange-500 to-red-500 p-1 rounded-2xl shadow-lg">
27 |         <Link 
28 |           to={href}
29 |           className="group block bg-white rounded-xl px-8 py-4 text-center no-underline hover:no-underline focus:no-underline transition-all duration-300 hover:bg-gray-50"
30 |         >
31 |           <div className="flex items-center justify-center gap-3">
32 |             <div className="bg-gradient-to-r from-orange-500 to-red-500 rounded-full p-2 md:p-3 shadow-inner">
33 |               <svg className="w-6 h-6 md:w-7 md:h-7 text-white drop-shadow-sm" fill="currentColor" viewBox="0 0 20 20" aria-hidden="true" focusable="false">
34 |                 <path 
35 |                   fillRule="evenodd" 
36 |                   d="M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-3a1 1 0 00-.867.5 1 1 0 11-1.731-1A3 3 0 0113 8a3.001 3.001 0 01-2 2.83V11a1 1 0 11-2 0v-1a1 1 0 011-1 1 1 0 100-2zm0 8a1 1 0 100-2 1 1 0 000 2z" 
37 |                   clipRule="evenodd" 
38 |                 />
39 |               </svg>
40 |             </div>
41 |             <div className="text-left">
42 |               <div className="text-lg font-bold text-gray-900 mb-1">
43 |                 New to MCP servers? 
44 |                 <span className="ml-2 group-hover:translate-x-1 inline-block transition-transform text-orange-600">→</span>
45 |               </div>
46 |               <div className="text-sm text-gray-600">
47 |                 Complete setup guide for AI assistants (Claude, GitHub Copilot, etc.)
48 |               </div>
49 |             </div>
50 |           </div>
51 |         </Link>
52 |       </div>
53 |     </div>
54 |   );
55 | };
56 | 
57 | export default NewcomerCTA;
```

--------------------------------------------------------------------------------
/docs/TopLevel/Function.md:
--------------------------------------------------------------------------------

```markdown
  1 | ## Package: TopLevel
  2 | 
  3 | # Class Function
  4 | 
  5 | ## Inheritance Hierarchy
  6 | 
  7 | - Object
  8 |   - Function
  9 | 
 10 | ## Description
 11 | 
 12 | The Function class represent a JavaScript function.
 13 | 
 14 | ## Properties
 15 | 
 16 | ### length
 17 | 
 18 | **Type:** Number
 19 | 
 20 | The number of named arguments that were specified
 21 |  when the function was declared.
 22 | 
 23 | ### prototype
 24 | 
 25 | **Type:** Object
 26 | 
 27 | An object that defines properties and methods
 28 |  shared by all objects created with that
 29 |  constructor function.
 30 | 
 31 | ## Constructor Summary
 32 | 
 33 | Function(args : String...) Constructs the function with the specified arguments where the last argument represents the function body and all preceeding arguments represent the function parameters.
 34 | 
 35 | ## Method Summary
 36 | 
 37 | ### apply
 38 | 
 39 | **Signature:** `apply(thisobj : Object, args : Array) : Object`
 40 | 
 41 | Invokes this function as a method of the specified object passing the specified Array of arguments.
 42 | 
 43 | ### call
 44 | 
 45 | **Signature:** `call(thisobj : Object, args : Object...) : Object`
 46 | 
 47 | Invokes this function as a method of the specified object passing the specified optional arguments.
 48 | 
 49 | ### toString
 50 | 
 51 | **Signature:** `toString() : String`
 52 | 
 53 | Returns a String representation of this function object.
 54 | 
 55 | ## Constructor Detail
 56 | 
 57 | ## Method Detail
 58 | 
 59 | ## Method Details
 60 | 
 61 | ### apply
 62 | 
 63 | **Signature:** `apply(thisobj : Object, args : Array) : Object`
 64 | 
 65 | **Description:** Invokes this function as a method of the specified object passing the specified Array of arguments.
 66 | 
 67 | **Parameters:**
 68 | 
 69 | - `thisobj`: the object to which the function is applied.
 70 | - `args`: Array of values or an arguments object to be passed as arguments to the function.
 71 | 
 72 | **Returns:**
 73 | 
 74 | whatever value is returned by the invocation of the function.
 75 | 
 76 | ---
 77 | 
 78 | ### call
 79 | 
 80 | **Signature:** `call(thisobj : Object, args : Object...) : Object`
 81 | 
 82 | **Description:** Invokes this function as a method of the specified object passing the specified optional arguments.
 83 | 
 84 | **Parameters:**
 85 | 
 86 | - `thisobj`: the object to which the function is applied.
 87 | - `args`: an optional list of one or more arguments values that are passed as arguments to the function.
 88 | 
 89 | **Returns:**
 90 | 
 91 | whatever value is returned by the invocation of the function.
 92 | 
 93 | ---
 94 | 
 95 | ### toString
 96 | 
 97 | **Signature:** `toString() : String`
 98 | 
 99 | **Description:** Returns a String representation of this function object.
100 | 
101 | **Returns:**
102 | 
103 | a String representation of this function object.
104 | 
105 | ---
```

--------------------------------------------------------------------------------
/docs/dw_value/EnumValue.md:
--------------------------------------------------------------------------------

```markdown
 1 | ## Package: dw.value
 2 | 
 3 | # Class EnumValue
 4 | 
 5 | ## Inheritance Hierarchy
 6 | 
 7 | - Object
 8 |   - dw.value.EnumValue
 9 | 
10 | ## Description
11 | 
12 | The class represents a single value for an Enumeration type. Enumeration types can be configured through the business manager for custom attributes. Some system attributes, e.g. the order status, are also of Enumeration types. Each EnumValue has a base value and a display value. The type of the base value can be either String or Integer. Every EnumValue has a display value. If the value of an Enumeration type object attribute is null, when that attribute is accessed an EnumValue is returned that has a base value of null, rather than null itself. This means that empty(object.attribute) would be false, and empty(object.attribute.value) would be true.
13 | 
14 | ## Properties
15 | 
16 | ### displayValue
17 | 
18 | **Type:** String (Read Only)
19 | 
20 | The display value of the enumeration value. If no display value
21 |  is configured the method return the string representation of the value.
22 | 
23 | ### value
24 | 
25 | **Type:** Object (Read Only)
26 | 
27 | The value of the enumeration value. This is either an integer
28 |  value or a string.
29 | 
30 | ## Constructor Summary
31 | 
32 | ## Method Summary
33 | 
34 | ### getDisplayValue
35 | 
36 | **Signature:** `getDisplayValue() : String`
37 | 
38 | Returns the display value of the enumeration value.
39 | 
40 | ### getValue
41 | 
42 | **Signature:** `getValue() : Object`
43 | 
44 | Returns the value of the enumeration value.
45 | 
46 | ### toString
47 | 
48 | **Signature:** `toString() : String`
49 | 
50 | Same as getDisplayValue().
51 | 
52 | ### valueOf
53 | 
54 | **Signature:** `valueOf() : Object`
55 | 
56 | According the ECMA specification, this method returns the "natural" primitive value of this object.
57 | 
58 | ## Method Detail
59 | 
60 | ## Method Details
61 | 
62 | ### getDisplayValue
63 | 
64 | **Signature:** `getDisplayValue() : String`
65 | 
66 | **Description:** Returns the display value of the enumeration value. If no display value is configured the method return the string representation of the value.
67 | 
68 | ---
69 | 
70 | ### getValue
71 | 
72 | **Signature:** `getValue() : Object`
73 | 
74 | **Description:** Returns the value of the enumeration value. This is either an integer value or a string.
75 | 
76 | ---
77 | 
78 | ### toString
79 | 
80 | **Signature:** `toString() : String`
81 | 
82 | **Description:** Same as getDisplayValue().
83 | 
84 | ---
85 | 
86 | ### valueOf
87 | 
88 | **Signature:** `valueOf() : Object`
89 | 
90 | **Description:** According the ECMA specification, this method returns the "natural" primitive value of this object. Here it is equivalent to getValue().
91 | 
92 | ---
```

--------------------------------------------------------------------------------
/tests/mcp/yaml/search-custom-object-attribute-definitions.docs-only.test.mcp.yml:
--------------------------------------------------------------------------------

```yaml
 1 | description: "Tests for search_custom_object_attribute_definitions tool in docs-only mode"
 2 | # Run with: npx aegis "tests/mcp/yaml/search-custom-object-attribute-definitions.docs-only.test.mcp.yml" --config ./aegis.config.docs-only.json
 3 | 
 4 | tests:
 5 |   # Docs-Only Mode Tests (tool not configured)
 6 |   - it: "should return configuration error in docs-only mode"
 7 |     request:
 8 |       jsonrpc: "2.0"
 9 |       method: "tools/call"
10 |       id: 1
11 |       params:
12 |         name: "search_custom_object_attribute_definitions"
13 |         arguments:
14 |           objectType: "VersionHistory"
15 |           searchRequest:
16 |             query:
17 |               match_all_query: {}
18 |     expect:
19 |       response:
20 |         jsonrpc: "2.0"
21 |         id: 1
22 |         result:
23 |           content:
24 |             match:arrayElements:
25 |               match:partial:
26 |                 type: "text"
27 |                 text: "match:contains:OCAPI client not configured"
28 |           isError: true
29 |       stderr: "toBeEmpty"
30 |       performance:
31 |         maxResponseTime: "500ms"
32 | 
33 |   - it: "should handle error gracefully with minimal parameters in docs-only mode"
34 |     request:
35 |       jsonrpc: "2.0"
36 |       method: "tools/call"
37 |       id: 2
38 |       params:
39 |         name: "search_custom_object_attribute_definitions"
40 |         arguments:
41 |           objectType: "CustomAPI"
42 |     expect:
43 |       response:
44 |         jsonrpc: "2.0"
45 |         id: 2
46 |         result:
47 |           content:
48 |             match:arrayElements:
49 |               match:partial:
50 |                 type: "text"
51 |                 text: "match:contains:OCAPI client not configured"
52 |           isError: true
53 |       stderr: "toBeEmpty"
54 |       performance:
55 |         maxResponseTime: "500ms"
56 | 
57 |   - it: "should return OCAPI client not configured error even with invalid parameters"
58 |     request:
59 |       jsonrpc: "2.0"
60 |       method: "tools/call"
61 |       id: 3
62 |       params:
63 |         name: "search_custom_object_attribute_definitions"
64 |         arguments:
65 |           objectType: ""
66 |           searchRequest:
67 |             query:
68 |               match_all_query: {}
69 |     expect:
70 |       response:
71 |         jsonrpc: "2.0"
72 |         id: 3
73 |         result:
74 |           content:
75 |             match:arrayElements:
76 |               match:partial:
77 |                 type: "text"
78 |                 text: "match:contains:OCAPI client not configured"
79 |           isError: true
80 |       stderr: "toBeEmpty"
81 |       performance:
82 |         maxResponseTime: "500ms"
```

--------------------------------------------------------------------------------
/docs/dw_catalog/StoreInventoryFilterValue.md:
--------------------------------------------------------------------------------

```markdown
 1 | ## Package: dw.catalog
 2 | 
 3 | # Class StoreInventoryFilterValue
 4 | 
 5 | ## Inheritance Hierarchy
 6 | 
 7 | - Object
 8 |   - dw.catalog.StoreInventoryFilterValue
 9 | 
10 | ## Description
11 | 
12 | This class represents a store inventory filter value, which can be used for a StoreInventoryFilter to filter the search result by one or more store inventory list IDs via ProductSearchModel.setStoreInventoryFilter(StoreInventoryFilter). Compared to ProductSearchModel.setInventoryListIDs(List) the store inventory filter allows a customization of the inventory parameter name and the inventory list ID values for URL generations. A StoreInventoryFilterValue provides the mapping between a semantic value e.g. store1,store2 or Burlington,Boston to the related real inventory list ID. Example custom URL: city=Burlington|Boston new dw.catalog.StoreInventoryFilter("city", new dw.util.ArrayList( new dw.catalog.StoreInventoryFilterValue("Burlington","inventory_store_store9"), new dw.catalog.StoreInventoryFilterValue("Boston","inventory_store_store8") ));
13 | 
14 | ## Properties
15 | 
16 | ### inventoryListID
17 | 
18 | **Type:** String (Read Only)
19 | 
20 | The real inventory list ID of this store inventory filter value.
21 | 
22 | ### semanticInventoryID
23 | 
24 | **Type:** String (Read Only)
25 | 
26 | The semantic inventory ID of this store inventory filter value.
27 | 
28 | ## Constructor Summary
29 | 
30 | StoreInventoryFilterValue(semanticInventoryListID : String, inventoryListID : String) Creates a new StoreInventoryFilterValue instance for the semantic inventory ID and real inventory list ID.
31 | 
32 | ## Method Summary
33 | 
34 | ### getInventoryListID
35 | 
36 | **Signature:** `getInventoryListID() : String`
37 | 
38 | Returns the real inventory list ID of this store inventory filter value.
39 | 
40 | ### getSemanticInventoryID
41 | 
42 | **Signature:** `getSemanticInventoryID() : String`
43 | 
44 | Returns the semantic inventory ID of this store inventory filter value.
45 | 
46 | ## Constructor Detail
47 | 
48 | ## Method Detail
49 | 
50 | ## Method Details
51 | 
52 | ### getInventoryListID
53 | 
54 | **Signature:** `getInventoryListID() : String`
55 | 
56 | **Description:** Returns the real inventory list ID of this store inventory filter value.
57 | 
58 | **Returns:**
59 | 
60 | the real inventory list ID of this store inventory filter value.
61 | 
62 | ---
63 | 
64 | ### getSemanticInventoryID
65 | 
66 | **Signature:** `getSemanticInventoryID() : String`
67 | 
68 | **Description:** Returns the semantic inventory ID of this store inventory filter value.
69 | 
70 | **Returns:**
71 | 
72 | the semantic inventory ID of this store inventory filter value.
73 | 
74 | ---
```

--------------------------------------------------------------------------------
/docs/dw_io/FileWriter.md:
--------------------------------------------------------------------------------

```markdown
  1 | ## Package: dw.io
  2 | 
  3 | # Class FileWriter
  4 | 
  5 | ## Inheritance Hierarchy
  6 | 
  7 | - Object
  8 |   - dw.io.Writer
  9 |   - dw.io.FileWriter
 10 | 
 11 | ## Description
 12 | 
 13 | Convenience class for writing character files. Files are stored in a shared file system where multiple processes could access the same file. The client code is responsible for ensuring that no more than one process writes to a file at a given time. Note: when this class is used with sensitive data, be careful in persisting sensitive information to disk.
 14 | 
 15 | ## Properties
 16 | 
 17 | ### lineSeparator
 18 | 
 19 | **Type:** String
 20 | 
 21 | Get the current line separator (e.g. '\n' or '\r\n'), if no value is set the system default '\n' will be used.
 22 | 
 23 | ## Constructor Summary
 24 | 
 25 | FileWriter(file : File) Constructs the writer for the specified file.
 26 | 
 27 | FileWriter(file : File, append : boolean) Constructs the writer for the specified file.
 28 | 
 29 | FileWriter(file : File, encoding : String) Constructs the writer for the specified file with the specified encoding.
 30 | 
 31 | FileWriter(file : File, encoding : String, append : boolean) Constructs the writer for the specified file with the specified encoding.
 32 | 
 33 | ## Method Summary
 34 | 
 35 | ### close
 36 | 
 37 | **Signature:** `close() : void`
 38 | 
 39 | Closes the writer.
 40 | 
 41 | ### getLineSeparator
 42 | 
 43 | **Signature:** `getLineSeparator() : String`
 44 | 
 45 | Get the current line separator (e.g.
 46 | 
 47 | ### setLineSeparator
 48 | 
 49 | **Signature:** `setLineSeparator(lineSeparator : String) : void`
 50 | 
 51 | Set the line separator (e.g.
 52 | 
 53 | ### writeLine
 54 | 
 55 | **Signature:** `writeLine(str : String) : void`
 56 | 
 57 | Writes the specified line and appends the line separator.
 58 | 
 59 | ## Constructor Detail
 60 | 
 61 | ## Method Detail
 62 | 
 63 | ## Method Details
 64 | 
 65 | ### close
 66 | 
 67 | **Signature:** `close() : void`
 68 | 
 69 | **Description:** Closes the writer.
 70 | 
 71 | ---
 72 | 
 73 | ### getLineSeparator
 74 | 
 75 | **Signature:** `getLineSeparator() : String`
 76 | 
 77 | **Description:** Get the current line separator (e.g. '\n' or '\r\n'), if no value is set the system default '\n' will be used.
 78 | 
 79 | ---
 80 | 
 81 | ### setLineSeparator
 82 | 
 83 | **Signature:** `setLineSeparator(lineSeparator : String) : void`
 84 | 
 85 | **Description:** Set the line separator (e.g. '\n' or '\r\n'), if no value is set the system default '\n' will be used.
 86 | 
 87 | **Parameters:**
 88 | 
 89 | - `lineSeparator`: that will be written at the end of each line
 90 | 
 91 | ---
 92 | 
 93 | ### writeLine
 94 | 
 95 | **Signature:** `writeLine(str : String) : void`
 96 | 
 97 | **Description:** Writes the specified line and appends the line separator.
 98 | 
 99 | **Parameters:**
100 | 
101 | - `str`: the line to write to the file.
102 | 
103 | ---
```

--------------------------------------------------------------------------------
/docs/dw_order/AppeasementItem.md:
--------------------------------------------------------------------------------

```markdown
 1 | ## Package: dw.order
 2 | 
 3 | # Class AppeasementItem
 4 | 
 5 | ## Inheritance Hierarchy
 6 | 
 7 | - Object
 8 |   - dw.object.Extensible
 9 |   - dw.order.AbstractItem
10 |     - dw.order.AppeasementItem
11 | 
12 | ## Description
13 | 
14 | Represents an item of an Appeasement which is associated with one OrderItem usually representing an Order ProductLineItem. Items are created using method Appeasement.addItems(Money, List) When the related Appeasement were set to status COMPLETED, only the the custom attributes of the appeasement item can be changed. Order post-processing APIs (gillian) are now inactive by default and will throw an exception if accessed. Activation needs preliminary approval by Product Management. Please contact support in this case. Existing customers using these APIs are not affected by this change and can use the APIs until further notice.
15 | 
16 | ## Properties
17 | 
18 | ### appeasementNumber
19 | 
20 | **Type:** String (Read Only)
21 | 
22 | The number of the Appeasement to which this item belongs.
23 | 
24 | ### parentItem
25 | 
26 | **Type:** AppeasementItem
27 | 
28 | Returns null or the parent item.
29 | 
30 | ## Constructor Summary
31 | 
32 | ## Method Summary
33 | 
34 | ### getAppeasementNumber
35 | 
36 | **Signature:** `getAppeasementNumber() : String`
37 | 
38 | Returns the number of the Appeasement to which this item belongs.
39 | 
40 | ### getParentItem
41 | 
42 | **Signature:** `getParentItem() : AppeasementItem`
43 | 
44 | Returns null or the parent item.
45 | 
46 | ### setParentItem
47 | 
48 | **Signature:** `setParentItem(parentItem : AppeasementItem) : void`
49 | 
50 | Set a parent item.
51 | 
52 | ## Method Detail
53 | 
54 | ## Method Details
55 | 
56 | ### getAppeasementNumber
57 | 
58 | **Signature:** `getAppeasementNumber() : String`
59 | 
60 | **Description:** Returns the number of the Appeasement to which this item belongs.
61 | 
62 | **Returns:**
63 | 
64 | the number of the Appeasement to which this item belongs
65 | 
66 | ---
67 | 
68 | ### getParentItem
69 | 
70 | **Signature:** `getParentItem() : AppeasementItem`
71 | 
72 | **Description:** Returns null or the parent item.
73 | 
74 | **Returns:**
75 | 
76 | null or the parent item.
77 | 
78 | ---
79 | 
80 | ### setParentItem
81 | 
82 | **Signature:** `setParentItem(parentItem : AppeasementItem) : void`
83 | 
84 | **Description:** Set a parent item. The parent item must belong to the same Appeasement. An infinite parent-child loop is disallowed as is a parent-child depth greater than 10. Setting a parent item indicates a dependency of the child item on the parent item, and can be used to form a parallel structure to that accessed using ProductLineItem.getParent().
85 | 
86 | **Parameters:**
87 | 
88 | - `parentItem`: The parent item, null is allowed
89 | 
90 | ---
```

--------------------------------------------------------------------------------
/docs/TopLevel/WeakMap.md:
--------------------------------------------------------------------------------

```markdown
  1 | ## Package: TopLevel
  2 | 
  3 | # Class WeakMap
  4 | 
  5 | ## Inheritance Hierarchy
  6 | 
  7 | - Object
  8 |   - WeakMap
  9 | 
 10 | ## Description
 11 | 
 12 | The WeakMap is map whose entries are subject to garbage collection if there are no more references to the keys. Keys must be objects (no primitives). Elements can't be iterated.
 13 | 
 14 | ## Properties
 15 | 
 16 | ### size
 17 | 
 18 | **Type:** Number
 19 | 
 20 | Number of key/value pairs stored in this map.
 21 | 
 22 | ## Constructor Summary
 23 | 
 24 | WeakMap() Creates an empty map.
 25 | 
 26 | WeakMap(values : Iterable) If the passed value is null or undefined then an empty map is constructed.
 27 | 
 28 | ## Method Summary
 29 | 
 30 | ### clear
 31 | 
 32 | **Signature:** `clear() : void`
 33 | 
 34 | Removes all key/value pairs from this map.
 35 | 
 36 | ### delete
 37 | 
 38 | **Signature:** `delete(key : Object) : boolean`
 39 | 
 40 | Removes the entry for the given key.
 41 | 
 42 | ### get
 43 | 
 44 | **Signature:** `get(key : Object) : Object`
 45 | 
 46 | Returns the value associated with the given key.
 47 | 
 48 | ### has
 49 | 
 50 | **Signature:** `has(key : Object) : boolean`
 51 | 
 52 | Returns if this map has value associated with the given key.
 53 | 
 54 | ### set
 55 | 
 56 | **Signature:** `set(key : Object, value : Object) : WeakMap`
 57 | 
 58 | Adds or updates a key/value pair to the map.
 59 | 
 60 | ## Constructor Detail
 61 | 
 62 | ## Method Detail
 63 | 
 64 | ## Method Details
 65 | 
 66 | ### clear
 67 | 
 68 | **Signature:** `clear() : void`
 69 | 
 70 | **Description:** Removes all key/value pairs from this map.
 71 | 
 72 | ---
 73 | 
 74 | ### delete
 75 | 
 76 | **Signature:** `delete(key : Object) : boolean`
 77 | 
 78 | **Description:** Removes the entry for the given key.
 79 | 
 80 | **Parameters:**
 81 | 
 82 | - `key`: The key of the key/value pair to be removed from the map.
 83 | 
 84 | **Returns:**
 85 | 
 86 | true if the map contained an entry for the passed key that was removed. Else false is returned.
 87 | 
 88 | ---
 89 | 
 90 | ### get
 91 | 
 92 | **Signature:** `get(key : Object) : Object`
 93 | 
 94 | **Description:** Returns the value associated with the given key.
 95 | 
 96 | **Parameters:**
 97 | 
 98 | - `key`: The key to look for.
 99 | 
100 | **Returns:**
101 | 
102 | The value associated with the given key if an entry with the key exists else undefined is returned.
103 | 
104 | ---
105 | 
106 | ### has
107 | 
108 | **Signature:** `has(key : Object) : boolean`
109 | 
110 | **Description:** Returns if this map has value associated with the given key.
111 | 
112 | **Parameters:**
113 | 
114 | - `key`: The key to look for.
115 | 
116 | **Returns:**
117 | 
118 | true if an entry with the key exists else false is returned.
119 | 
120 | ---
121 | 
122 | ### set
123 | 
124 | **Signature:** `set(key : Object, value : Object) : WeakMap`
125 | 
126 | **Description:** Adds or updates a key/value pair to the map.
127 | 
128 | **Parameters:**
129 | 
130 | - `key`: The key object.
131 | - `value`: The value to be associate with the key.
132 | 
133 | **Returns:**
134 | 
135 | This map object.
136 | 
137 | ---
```

--------------------------------------------------------------------------------
/docs/dw_svc/LocalServiceRegistry.md:
--------------------------------------------------------------------------------

```markdown
 1 | ## Package: dw.svc
 2 | 
 3 | # Class LocalServiceRegistry
 4 | 
 5 | ## Inheritance Hierarchy
 6 | 
 7 | - Object
 8 |   - dw.svc.LocalServiceRegistry
 9 | 
10 | ## Description
11 | 
12 | The LocalServiceRegistry is responsible for managing Service instances. Typical usage involves several steps: The service is defined in the Business Manager and configured with necessary credentials. An instance of the service is created and configured in a script: var myFTPService = LocalServiceRegistry.createService("MyFTPService", { mockExec : function(svc:FTPService, params) { return [ { "name": "file1", "timestamp": new Date(2011, 02, 21)}, { "name": "file2", "timestamp": new Date(2012, 02, 21)}, { "name": "file3", "timestamp": new Date(2013, 02, 21)} ]; }, createRequest: function(svc:FTPService, params) { svc.setOperation("list", "/"); }, parseResponse : function(svc:FTPService, listOutput) { var x : Array = []; var resp : Array = listOutput; for(var i = 0; i < resp.length; i++) { var f = resp[i]; x.push( { "name": f['name'], "timestamp": f['timestamp'] } ); } return x; } }); The service is called in order to perform the operation: var result : Result = myFTPService.call(); if(result.status == 'OK') { // The result.object is the object returned by the 'after' callback. } else { // Handle the error. See result.error for more information. } Unlike ServiceRegistry, the configured service is local to the current script call, so this deals directly with Service instances rather than the intermediate ServiceDefinition. This means that a cartridge-level initialization script (and the package.json) is no longer needed. See ServiceCallback for all the callback options, and individual Service classes for customization specific to a service type.
13 | 
14 | ## Constructor Summary
15 | 
16 | ## Method Summary
17 | 
18 | ### createService
19 | 
20 | **Signature:** `static createService(serviceID : String, configObj : Object) : Service`
21 | 
22 | Constructs and configures a service with a callback.
23 | 
24 | ## Method Detail
25 | 
26 | ## Method Details
27 | 
28 | ### createService
29 | 
30 | **Signature:** `static createService(serviceID : String, configObj : Object) : Service`
31 | 
32 | **Description:** Constructs and configures a service with a callback.
33 | 
34 | **Parameters:**
35 | 
36 | - `serviceID`: Unique Service ID.
37 | - `configObj`: Configuration callback. See ServiceCallback for a description of available callback methods.
38 | 
39 | **Returns:**
40 | 
41 | Associated Service, which can be used for further protocol-specific configuration.
42 | 
43 | ---
```

--------------------------------------------------------------------------------
/docs-site/components/OnThisPage.tsx:
--------------------------------------------------------------------------------

```typescript
 1 | 
 2 | import React, { useState, useEffect } from 'react';
 3 | import { useLocation } from 'react-router-dom';
 4 | import { TocItem } from '../types';
 5 | 
 6 | interface OnThisPageProps {
 7 |   items: TocItem[];
 8 | }
 9 | 
10 | const OnThisPage: React.FC<OnThisPageProps> = ({ items }) => {
11 |   const [activeId, setActiveId] = useState<string>('');
12 |   const location = useLocation();
13 |   const [initialPathHash, setInitialPathHash] = useState('');
14 | 
15 |   // Reset active ID when location changes
16 |   useEffect(() => {
17 |     setActiveId('');
18 |   }, [location.pathname]);
19 | 
20 |   useEffect(() => {
21 |     // Only run on client side
22 |     if (typeof window === 'undefined') return;
23 |     
24 |     if (items.length === 0) {
25 |       setActiveId('');
26 |       return;
27 |     }
28 | 
29 |     // Set initial path hash on client side only to prevent SSR hydration mismatch
30 |     setInitialPathHash(window.location.hash);
31 | 
32 |     const observer = new IntersectionObserver(
33 |       (entries) => {
34 |         const visibleHeadings = entries
35 |           .filter(entry => entry.isIntersecting)
36 |           .map(entry => entry.target.id);
37 |         
38 |         if (visibleHeadings.length > 0) {
39 |           // Set the first visible heading as active
40 |           setActiveId(visibleHeadings[0]);
41 |         }
42 |       },
43 |       {
44 |         rootMargin: '-20px 0px -80% 0px',
45 |         threshold: 0
46 |       }
47 |     );
48 | 
49 |     // Observe all headings
50 |     items.forEach(item => {
51 |       const element = document.getElementById(item.id);
52 |       if (element) {
53 |         observer.observe(element);
54 |       }
55 |     });
56 | 
57 |     return () => {
58 |       observer.disconnect();
59 |     };
60 |   }, [items, location.pathname]); // Added location.pathname to dependencies
61 | 
62 |   if (items.length === 0) {
63 |     return null;
64 |   }
65 | 
66 |   return (
67 |     <div className="pt-12">
68 |       <h2 className="text-sm font-bold text-slate-800 mb-4">On this page</h2>
69 |       <div className="max-h-96 overflow-y-auto">
70 |         <ul className="space-y-2 text-sm">
71 |           {items.map(item => (
72 |             <li key={item.id}>
73 |               <a
74 |                 href={`#${item.id}`}
75 |                 className={`block transition-colors ${
76 |                   activeId === item.id
77 |                     ? 'text-blue-600 font-medium border-l-2 border-blue-600 pl-2 -ml-2'
78 |                     : 'text-slate-500 hover:text-slate-800'
79 |                 }`}
80 |               >
81 |                 {item.label}
82 |               </a>
83 |             </li>
84 |           ))}
85 |         </ul>
86 |       </div>
87 |     </div>
88 |   );
89 | };
90 | 
91 | export default OnThisPage;
92 | 
```

--------------------------------------------------------------------------------
/docs/dw_campaign/SlotContent.md:
--------------------------------------------------------------------------------

```markdown
  1 | ## Package: dw.campaign
  2 | 
  3 | # Class SlotContent
  4 | 
  5 | ## Inheritance Hierarchy
  6 | 
  7 | - Object
  8 |   - dw.campaign.SlotContent
  9 | 
 10 | ## Description
 11 | 
 12 | Represents content for a slot.
 13 | 
 14 | ## Properties
 15 | 
 16 | ### calloutMsg
 17 | 
 18 | **Type:** MarkupText (Read Only)
 19 | 
 20 | The callout message for the slot.
 21 | 
 22 | ### content
 23 | 
 24 | **Type:** Collection (Read Only)
 25 | 
 26 | A collection of content based on the content type
 27 |  for the slot. The collection will include one of the following
 28 |  types: Product, Content, Category, or MarkupText.
 29 | 
 30 | ### custom
 31 | 
 32 | **Type:** Map (Read Only)
 33 | 
 34 | The custom attributes for the slot.
 35 | 
 36 | ### recommenderName
 37 | 
 38 | **Type:** String (Read Only)
 39 | 
 40 | The recommender name for slot configurations of type 'Recommendation'
 41 | 
 42 | ### slotID
 43 | 
 44 | **Type:** String (Read Only)
 45 | 
 46 | The unique slot ID.
 47 | 
 48 | ## Constructor Summary
 49 | 
 50 | ## Method Summary
 51 | 
 52 | ### getCalloutMsg
 53 | 
 54 | **Signature:** `getCalloutMsg() : MarkupText`
 55 | 
 56 | Returns the callout message for the slot.
 57 | 
 58 | ### getContent
 59 | 
 60 | **Signature:** `getContent() : Collection`
 61 | 
 62 | Returns a collection of content based on the content type for the slot.
 63 | 
 64 | ### getCustom
 65 | 
 66 | **Signature:** `getCustom() : Map`
 67 | 
 68 | Returns the custom attributes for the slot.
 69 | 
 70 | ### getRecommenderName
 71 | 
 72 | **Signature:** `getRecommenderName() : String`
 73 | 
 74 | Returns the recommender name for slot configurations of type 'Recommendation'
 75 | 
 76 | ### getSlotID
 77 | 
 78 | **Signature:** `getSlotID() : String`
 79 | 
 80 | Returns the unique slot ID.
 81 | 
 82 | ## Method Detail
 83 | 
 84 | ## Method Details
 85 | 
 86 | ### getCalloutMsg
 87 | 
 88 | **Signature:** `getCalloutMsg() : MarkupText`
 89 | 
 90 | **Description:** Returns the callout message for the slot.
 91 | 
 92 | **Returns:**
 93 | 
 94 | Callout message of the slot.
 95 | 
 96 | ---
 97 | 
 98 | ### getContent
 99 | 
100 | **Signature:** `getContent() : Collection`
101 | 
102 | **Description:** Returns a collection of content based on the content type for the slot. The collection will include one of the following types: Product, Content, Category, or MarkupText.
103 | 
104 | **Returns:**
105 | 
106 | All content of the slot.
107 | 
108 | ---
109 | 
110 | ### getCustom
111 | 
112 | **Signature:** `getCustom() : Map`
113 | 
114 | **Description:** Returns the custom attributes for the slot.
115 | 
116 | **Returns:**
117 | 
118 | Custom attributes of the slot.
119 | 
120 | ---
121 | 
122 | ### getRecommenderName
123 | 
124 | **Signature:** `getRecommenderName() : String`
125 | 
126 | **Description:** Returns the recommender name for slot configurations of type 'Recommendation'
127 | 
128 | **Returns:**
129 | 
130 | the recommender name for slot configurations of type 'Recommendation'
131 | 
132 | ---
133 | 
134 | ### getSlotID
135 | 
136 | **Signature:** `getSlotID() : String`
137 | 
138 | **Description:** Returns the unique slot ID.
139 | 
140 | **Returns:**
141 | 
142 | ID of the slot.
143 | 
144 | ---
```

--------------------------------------------------------------------------------
/docs/dw_catalog/ProductOptionValue.md:
--------------------------------------------------------------------------------

```markdown
  1 | ## Package: dw.catalog
  2 | 
  3 | # Class ProductOptionValue
  4 | 
  5 | ## Inheritance Hierarchy
  6 | 
  7 | - Object
  8 |   - dw.object.PersistentObject
  9 |   - dw.object.ExtensibleObject
 10 |     - dw.catalog.ProductOptionValue
 11 | 
 12 | ## Description
 13 | 
 14 | Represents the value of a product option.
 15 | 
 16 | ## Properties
 17 | 
 18 | ### description
 19 | 
 20 | **Type:** String (Read Only)
 21 | 
 22 | The the product option value's description
 23 |  in the current locale.
 24 | 
 25 | ### displayValue
 26 | 
 27 | **Type:** String (Read Only)
 28 | 
 29 | The the product option value's display name
 30 |  in the current locale.
 31 | 
 32 | ### ID
 33 | 
 34 | **Type:** String (Read Only)
 35 | 
 36 | The product option value's ID.
 37 | 
 38 | ### productIDModifier
 39 | 
 40 | **Type:** String (Read Only)
 41 | 
 42 | The product option value's product ID modifier which
 43 |  can be used to build the SKU for the actual product.
 44 | 
 45 | ## Constructor Summary
 46 | 
 47 | ## Method Summary
 48 | 
 49 | ### getDescription
 50 | 
 51 | **Signature:** `getDescription() : String`
 52 | 
 53 | Returns the the product option value's description in the current locale.
 54 | 
 55 | ### getDisplayValue
 56 | 
 57 | **Signature:** `getDisplayValue() : String`
 58 | 
 59 | Returns the the product option value's display name in the current locale.
 60 | 
 61 | ### getID
 62 | 
 63 | **Signature:** `getID() : String`
 64 | 
 65 | Returns the product option value's ID.
 66 | 
 67 | ### getProductIDModifier
 68 | 
 69 | **Signature:** `getProductIDModifier() : String`
 70 | 
 71 | Returns the product option value's product ID modifier which can be used to build the SKU for the actual product.
 72 | 
 73 | ## Method Detail
 74 | 
 75 | ## Method Details
 76 | 
 77 | ### getDescription
 78 | 
 79 | **Signature:** `getDescription() : String`
 80 | 
 81 | **Description:** Returns the the product option value's description in the current locale.
 82 | 
 83 | **Returns:**
 84 | 
 85 | The value of the product option value's description in the current locale, or null if it wasn't found.
 86 | 
 87 | ---
 88 | 
 89 | ### getDisplayValue
 90 | 
 91 | **Signature:** `getDisplayValue() : String`
 92 | 
 93 | **Description:** Returns the the product option value's display name in the current locale.
 94 | 
 95 | **Returns:**
 96 | 
 97 | The value of the product option value's display name in the current locale, or null if it wasn't found.
 98 | 
 99 | ---
100 | 
101 | ### getID
102 | 
103 | **Signature:** `getID() : String`
104 | 
105 | **Description:** Returns the product option value's ID.
106 | 
107 | **Returns:**
108 | 
109 | the product option value's ID.
110 | 
111 | ---
112 | 
113 | ### getProductIDModifier
114 | 
115 | **Signature:** `getProductIDModifier() : String`
116 | 
117 | **Description:** Returns the product option value's product ID modifier which can be used to build the SKU for the actual product.
118 | 
119 | **Returns:**
120 | 
121 | the product option value's product ID modifier which can be used to build the SKU for the actual product.
122 | 
123 | ---
```

--------------------------------------------------------------------------------
/docs/dw_customer/AuthenticationStatus.md:
--------------------------------------------------------------------------------

```markdown
  1 | ## Package: dw.customer
  2 | 
  3 | # Class AuthenticationStatus
  4 | 
  5 | ## Inheritance Hierarchy
  6 | 
  7 | - Object
  8 |   - dw.customer.AuthenticationStatus
  9 | 
 10 | ## Description
 11 | 
 12 | Holds the status of an authentication process.
 13 | 
 14 | ## Constants
 15 | 
 16 | ### AUTH_OK
 17 | 
 18 | **Type:** String = "AUTH_OK"
 19 | 
 20 | Authentication was successful
 21 | 
 22 | ### ERROR_CUSTOMER_DISABLED
 23 | 
 24 | **Type:** String = "ERROR_CUSTOMER_DISABLED"
 25 | 
 26 | customer could be found, but is disabled. Password was not verified.
 27 | 
 28 | ### ERROR_CUSTOMER_LOCKED
 29 | 
 30 | **Type:** String = "ERROR_CUSTOMER_LOCKED"
 31 | 
 32 | customer could be found, but is locked (too many failed login attempts). Password was verified before.
 33 | 
 34 | ### ERROR_CUSTOMER_NOT_FOUND
 35 | 
 36 | **Type:** String = "ERROR_CUSTOMER_NOT_FOUND"
 37 | 
 38 | customer could not be found
 39 | 
 40 | ### ERROR_PASSWORD_EXPIRED
 41 | 
 42 | **Type:** String = "ERROR_PASSWORD_EXPIRED"
 43 | 
 44 | Password does match, but is expired.
 45 | 
 46 | ### ERROR_PASSWORD_MISMATCH
 47 | 
 48 | **Type:** String = "ERROR_PASSWORD_MISMATCH"
 49 | 
 50 | the used password is not correct
 51 | 
 52 | ### ERROR_UNKNOWN
 53 | 
 54 | **Type:** String = "ERROR_UNKNOWN"
 55 | 
 56 | Any other error
 57 | 
 58 | ## Properties
 59 | 
 60 | ### authenticated
 61 | 
 62 | **Type:** boolean (Read Only)
 63 | 
 64 | checks whether the authentication was successful or not
 65 | 
 66 | ### customer
 67 | 
 68 | **Type:** Customer (Read Only)
 69 | 
 70 | The customer, corresponding to the login used during authentication. This customer is not logged in after authentication.
 71 | 
 72 | ### status
 73 | 
 74 | **Type:** String (Read Only)
 75 | 
 76 | the status code (see the constants above)
 77 | 
 78 | ## Constructor Summary
 79 | 
 80 | ## Method Summary
 81 | 
 82 | ### getCustomer
 83 | 
 84 | **Signature:** `getCustomer() : Customer`
 85 | 
 86 | The customer, corresponding to the login used during authentication.
 87 | 
 88 | ### getStatus
 89 | 
 90 | **Signature:** `getStatus() : String`
 91 | 
 92 | the status code (see the constants above)
 93 | 
 94 | ### isAuthenticated
 95 | 
 96 | **Signature:** `isAuthenticated() : boolean`
 97 | 
 98 | checks whether the authentication was successful or not
 99 | 
100 | ## Method Detail
101 | 
102 | ## Method Details
103 | 
104 | ### getCustomer
105 | 
106 | **Signature:** `getCustomer() : Customer`
107 | 
108 | **Description:** The customer, corresponding to the login used during authentication. This customer is not logged in after authentication.
109 | 
110 | **Returns:**
111 | 
112 | the customer described by the login
113 | 
114 | ---
115 | 
116 | ### getStatus
117 | 
118 | **Signature:** `getStatus() : String`
119 | 
120 | **Description:** the status code (see the constants above)
121 | 
122 | **Returns:**
123 | 
124 | the status code
125 | 
126 | ---
127 | 
128 | ### isAuthenticated
129 | 
130 | **Signature:** `isAuthenticated() : boolean`
131 | 
132 | **Description:** checks whether the authentication was successful or not
133 | 
134 | **Returns:**
135 | 
136 | the when the authentication was successful
137 | 
138 | ---
```

--------------------------------------------------------------------------------
/tests/servers/sfcc-mock-server/mock-data/ocapi/custom-object-attributes-globalsettings.json:
--------------------------------------------------------------------------------

```json
 1 | {
 2 |   "_v": "23.2",
 3 |   "_type": "object_attribute_definition_search_result",
 4 |   "count": 3,
 5 |   "data": [
 6 |     {
 7 |       "_type": "object_attribute_definition",
 8 |       "id": "customString",
 9 |       "displayName": {
10 |         "default": "Custom String Field"
11 |       },
12 |       "description": {
13 |         "default": "A custom string field for storing additional data"
14 |       },
15 |       "value_type": "string",
16 |       "mandatory": false,
17 |       "max_length": 256,
18 |       "min_length": null,
19 |       "regular_expression": null,
20 |       "default_value": null,
21 |       "localizable": true,
22 |       "searchable": true,
23 |       "system": false,
24 |       "visible": true,
25 |       "_links": {
26 |         "self": {
27 |           "href": "https://{{hostname}}/s/-/dw/data/v23_2/custom_object_definitions/GlobalSettings/attribute_definitions/customString"
28 |         }
29 |       }
30 |     },
31 |     {
32 |       "_type": "object_attribute_definition",
33 |       "id": "customNumber",
34 |       "displayName": {
35 |         "default": "Custom Number Field"
36 |       },
37 |       "description": {
38 |         "default": "A custom number field for numeric values"
39 |       },
40 |       "value_type": "double",
41 |       "mandatory": false,
42 |       "max_length": null,
43 |       "min_length": null,
44 |       "regular_expression": null,
45 |       "scale": 2,
46 |       "max_value": 999999.99,
47 |       "min_value": 0.0,
48 |       "default_value": null,
49 |       "localizable": false,
50 |       "searchable": true,
51 |       "system": false,
52 |       "visible": true,
53 |       "_links": {
54 |         "self": {
55 |           "href": "https://{{hostname}}/s/-/dw/data/v23_2/custom_object_definitions/GlobalSettings/attribute_definitions/customNumber"
56 |         }
57 |       }
58 |     },
59 |     {
60 |       "_type": "object_attribute_definition",
61 |       "id": "customBoolean",
62 |       "displayName": {
63 |         "default": "Custom Boolean Field"
64 |       },
65 |       "description": {
66 |         "default": "A custom boolean field for true/false values"
67 |       },
68 |       "value_type": "boolean",
69 |       "mandatory": false,
70 |       "max_length": null,
71 |       "min_length": null,
72 |       "regular_expression": null,
73 |       "default_value": false,
74 |       "localizable": false,
75 |       "searchable": false,
76 |       "system": false,
77 |       "visible": true,
78 |       "_links": {
79 |         "self": {
80 |           "href": "https://{{hostname}}/s/-/dw/data/v23_2/custom_object_definitions/GlobalSettings/attribute_definitions/customBoolean"
81 |         }
82 |       }
83 |     }
84 |   ],
85 |   "next": null,
86 |   "previous": null,
87 |   "start": 0,
88 |   "total": 3,
89 |   "query": {
90 |     "match_all_query": {}
91 |   }
92 | }
```

--------------------------------------------------------------------------------
/docs/TopLevel/Int8Array.md:
--------------------------------------------------------------------------------

```markdown
  1 | ## Package: TopLevel
  2 | 
  3 | # Class Int8Array
  4 | 
  5 | ## Inheritance Hierarchy
  6 | 
  7 | - Object
  8 |   - Int8Array
  9 | 
 10 | ## Description
 11 | 
 12 | An optimized array to store 8-bit signed integer numbers. Elements of this array are stored in an ArrayBuffer object.
 13 | 
 14 | ## Constants
 15 | 
 16 | ### BYTES_PER_ELEMENT
 17 | 
 18 | **Type:** Number = 1
 19 | 
 20 | Number value of the element size.
 21 | 
 22 | ## Properties
 23 | 
 24 | ### buffer
 25 | 
 26 | **Type:** ArrayBuffer
 27 | 
 28 | The array buffer referenced by this typed array.
 29 | 
 30 | ### byteLength
 31 | 
 32 | **Type:** Number
 33 | 
 34 | The number of bytes in the array buffer used by this typed array.
 35 | 
 36 | ### byteOffset
 37 | 
 38 | **Type:** Number
 39 | 
 40 | The start offset for this typed array within the array buffer.
 41 | 
 42 | ### length
 43 | 
 44 | **Type:** Number
 45 | 
 46 | The number of elements.
 47 | 
 48 | ## Constructor Summary
 49 | 
 50 | Int8Array() Creates an empty array.
 51 | 
 52 | Int8Array(length : Number) Creates an array with the given element count.
 53 | 
 54 | Int8Array(typedArray : Object) Creates an array as a copy of the passed typed array.
 55 | 
 56 | Int8Array(array : Array) Creates an array as a copy of the passed array.
 57 | 
 58 | Int8Array(buffer : ArrayBuffer, byteOffset : Number, length : Number) Creates a typed array as a view on the given ArrayBuffer.
 59 | 
 60 | ## Method Summary
 61 | 
 62 | ### get
 63 | 
 64 | **Signature:** `get(index : Number) : Number`
 65 | 
 66 | Returns the value at the specified index.
 67 | 
 68 | ### set
 69 | 
 70 | **Signature:** `set(values : Object, offset : Number) : void`
 71 | 
 72 | Copies all values from the source array into this typed array.
 73 | 
 74 | ### subarray
 75 | 
 76 | **Signature:** `subarray(begin : Number, end : Number) : Int8Array`
 77 | 
 78 | Returns a new array object based on the same ArrayBuffer store.
 79 | 
 80 | ## Constructor Detail
 81 | 
 82 | ## Method Detail
 83 | 
 84 | ## Method Details
 85 | 
 86 | ### get
 87 | 
 88 | **Signature:** `get(index : Number) : Number`
 89 | 
 90 | **Description:** Returns the value at the specified index. Note: This is not ECMAScript standard. Use array element access syntax for single value access.
 91 | 
 92 | **Parameters:**
 93 | 
 94 | - `index`: The index to use.
 95 | 
 96 | **Returns:**
 97 | 
 98 | The value at the specified index.
 99 | 
100 | ---
101 | 
102 | ### set
103 | 
104 | **Signature:** `set(values : Object, offset : Number) : void`
105 | 
106 | **Description:** Copies all values from the source array into this typed array.
107 | 
108 | **Parameters:**
109 | 
110 | - `values`: The source values. Can be an array or a typed array.
111 | - `offset`: Optional. Target offset.
112 | 
113 | ---
114 | 
115 | ### subarray
116 | 
117 | **Signature:** `subarray(begin : Number, end : Number) : Int8Array`
118 | 
119 | **Description:** Returns a new array object based on the same ArrayBuffer store.
120 | 
121 | **Parameters:**
122 | 
123 | - `begin`: Optional. The first included element.
124 | - `end`: Optional. The index of the end. This element is not included.
125 | 
126 | **Returns:**
127 | 
128 | The new array object.
129 | 
130 | ---
```

--------------------------------------------------------------------------------
/docs/dw_extensions.payments/SalesforcePaymentsSiteConfiguration.md:
--------------------------------------------------------------------------------

```markdown
 1 | ## Package: dw.extensions.payments
 2 | 
 3 | # Class SalesforcePaymentsSiteConfiguration
 4 | 
 5 | ## Inheritance Hierarchy
 6 | 
 7 | - Object
 8 |   - dw.extensions.payments.SalesforcePaymentsSiteConfiguration
 9 | 
10 | ## Description
11 | 
12 | Salesforce Payments representation of a payment site configuration object. See Salesforce Payments documentation for how to gain access and configure it for use on your sites. A payment site configuration contains information about the configuration of the site such as whether the site is activated with Express Checkout, Multi-Step Checkout or both.
13 | 
14 | ## Properties
15 | 
16 | ### cardCaptureAutomatic
17 | 
18 | **Type:** boolean (Read Only)
19 | 
20 | Returns true if the capture method is set to automatic for credit card Payment Intents created for this site, or
21 |  false if the capture method is set to manual.
22 | 
23 | ### expressCheckoutEnabled
24 | 
25 | **Type:** boolean (Read Only)
26 | 
27 | Returns true if Express Checkout is enabled for the site.
28 | 
29 | ### multiStepCheckoutEnabled
30 | 
31 | **Type:** boolean (Read Only)
32 | 
33 | Returns true if Multi-Step Checkout is enabled for the site.
34 | 
35 | ## Constructor Summary
36 | 
37 | ## Method Summary
38 | 
39 | ### isCardCaptureAutomatic
40 | 
41 | **Signature:** `isCardCaptureAutomatic() : boolean`
42 | 
43 | Returns true if the capture method is set to automatic for credit card Payment Intents created for this site, or false if the capture method is set to manual.
44 | 
45 | ### isExpressCheckoutEnabled
46 | 
47 | **Signature:** `isExpressCheckoutEnabled() : boolean`
48 | 
49 | Returns true if Express Checkout is enabled for the site.
50 | 
51 | ### isMultiStepCheckoutEnabled
52 | 
53 | **Signature:** `isMultiStepCheckoutEnabled() : boolean`
54 | 
55 | Returns true if Multi-Step Checkout is enabled for the site.
56 | 
57 | ## Method Detail
58 | 
59 | ## Method Details
60 | 
61 | ### isCardCaptureAutomatic
62 | 
63 | **Signature:** `isCardCaptureAutomatic() : boolean`
64 | 
65 | **Description:** Returns true if the capture method is set to automatic for credit card Payment Intents created for this site, or false if the capture method is set to manual.
66 | 
67 | **Returns:**
68 | 
69 | true if the credit card capture method is automatic, or false if it is manual
70 | 
71 | ---
72 | 
73 | ### isExpressCheckoutEnabled
74 | 
75 | **Signature:** `isExpressCheckoutEnabled() : boolean`
76 | 
77 | **Description:** Returns true if Express Checkout is enabled for the site.
78 | 
79 | **Returns:**
80 | 
81 | true if Express Checkout is enabled for the site, or false if not
82 | 
83 | ---
84 | 
85 | ### isMultiStepCheckoutEnabled
86 | 
87 | **Signature:** `isMultiStepCheckoutEnabled() : boolean`
88 | 
89 | **Description:** Returns true if Multi-Step Checkout is enabled for the site.
90 | 
91 | **Returns:**
92 | 
93 | true if Multi-Step Checkout is enabled for the site, or false if not
94 | 
95 | ---
```

--------------------------------------------------------------------------------
/docs-site/public/sitemap.xml:
--------------------------------------------------------------------------------

```
 1 | <?xml version="1.0" encoding="UTF-8"?>
 2 | <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
 3 |         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4 |         xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9
 5 |         http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">    
 6 |     <!-- SFCC Development MCP Server Homepage -->
 7 |     <url>
 8 |         <loc>https://sfcc-mcp-dev.rhino-inquisitor.com</loc>
 9 |         <lastmod>2025-09-20</lastmod>
10 |         <changefreq>weekly</changefreq>
11 |         <priority>1.0</priority>
12 |     </url>    
13 |     <!-- Configuration Guide -->
14 |     <url>
15 |         <loc>https://sfcc-mcp-dev.rhino-inquisitor.com/configuration/</loc>
16 |         <lastmod>2025-09-20</lastmod>
17 |         <changefreq>monthly</changefreq>
18 |         <priority>0.9</priority>
19 |     </url>    
20 |     <!-- AI Interface Setup Guide -->
21 |     <url>
22 |         <loc>https://sfcc-mcp-dev.rhino-inquisitor.com/ai-interfaces/</loc>
23 |         <lastmod>2025-09-20</lastmod>
24 |         <changefreq>monthly</changefreq>
25 |         <priority>0.8</priority>
26 |     </url>    
27 |     <!-- Features Overview -->
28 |     <url>
29 |         <loc>https://sfcc-mcp-dev.rhino-inquisitor.com/features/</loc>
30 |         <lastmod>2025-09-20</lastmod>
31 |         <changefreq>monthly</changefreq>
32 |         <priority>0.8</priority>
33 |     </url>    
34 |     <!-- Available Tools -->
35 |     <url>
36 |         <loc>https://sfcc-mcp-dev.rhino-inquisitor.com/tools/</loc>
37 |         <lastmod>2025-09-20</lastmod>
38 |         <changefreq>monthly</changefreq>
39 |         <priority>0.8</priority>
40 |     </url>    
41 |     <!-- Examples and Use Cases -->
42 |     <url>
43 |         <loc>https://sfcc-mcp-dev.rhino-inquisitor.com/examples/</loc>
44 |         <lastmod>2025-09-20</lastmod>
45 |         <changefreq>monthly</changefreq>
46 |         <priority>0.8</priority>
47 |     </url>    
48 |     <!-- Security Guidelines -->
49 |     <url>
50 |         <loc>https://sfcc-mcp-dev.rhino-inquisitor.com/security/</loc>
51 |         <lastmod>2025-09-20</lastmod>
52 |         <changefreq>monthly</changefreq>
53 |         <priority>0.7</priority>
54 |     </url>    
55 |     <!-- Development Guide -->
56 |     <url>
57 |         <loc>https://sfcc-mcp-dev.rhino-inquisitor.com/development/</loc>
58 |         <lastmod>2025-09-20</lastmod>
59 |         <changefreq>monthly</changefreq>
60 |         <priority>0.6</priority>
61 |     </url>    
62 |     <!-- Troubleshooting Guide -->
63 |     <url>
64 |         <loc>https://sfcc-mcp-dev.rhino-inquisitor.com/troubleshooting/</loc>
65 |         <lastmod>2025-09-20</lastmod>
66 |         <changefreq>monthly</changefreq>
67 |         <priority>0.7</priority>
68 |     </url>
69 | </urlset>
```

--------------------------------------------------------------------------------
/docs/TopLevel/Int16Array.md:
--------------------------------------------------------------------------------

```markdown
  1 | ## Package: TopLevel
  2 | 
  3 | # Class Int16Array
  4 | 
  5 | ## Inheritance Hierarchy
  6 | 
  7 | - Object
  8 |   - Int16Array
  9 | 
 10 | ## Description
 11 | 
 12 | An optimized array to store 16-bit signed integer numbers. Elements of this array are stored in an ArrayBuffer object.
 13 | 
 14 | ## Constants
 15 | 
 16 | ### BYTES_PER_ELEMENT
 17 | 
 18 | **Type:** Number = 2
 19 | 
 20 | Number value of the element size.
 21 | 
 22 | ## Properties
 23 | 
 24 | ### buffer
 25 | 
 26 | **Type:** ArrayBuffer
 27 | 
 28 | The array buffer referenced by this typed array.
 29 | 
 30 | ### byteLength
 31 | 
 32 | **Type:** Number
 33 | 
 34 | The number of bytes in the array buffer used by this typed array.
 35 | 
 36 | ### byteOffset
 37 | 
 38 | **Type:** Number
 39 | 
 40 | The start offset for this typed array within the array buffer.
 41 | 
 42 | ### length
 43 | 
 44 | **Type:** Number
 45 | 
 46 | The number of elements.
 47 | 
 48 | ## Constructor Summary
 49 | 
 50 | Int16Array() Creates an empty array.
 51 | 
 52 | Int16Array(length : Number) Creates an array with the given element count.
 53 | 
 54 | Int16Array(typedArray : Object) Creates an array as a copy of the passed typed array.
 55 | 
 56 | Int16Array(array : Array) Creates an array as a copy of the passed array.
 57 | 
 58 | Int16Array(buffer : ArrayBuffer, byteOffset : Number, length : Number) Creates a typed array as a view on the given ArrayBuffer.
 59 | 
 60 | ## Method Summary
 61 | 
 62 | ### get
 63 | 
 64 | **Signature:** `get(index : Number) : Number`
 65 | 
 66 | Returns the value at the specified index.
 67 | 
 68 | ### set
 69 | 
 70 | **Signature:** `set(values : Object, offset : Number) : void`
 71 | 
 72 | Copies all values from the source array into this typed array.
 73 | 
 74 | ### subarray
 75 | 
 76 | **Signature:** `subarray(begin : Number, end : Number) : Int16Array`
 77 | 
 78 | Returns a new array object based on the same ArrayBuffer store.
 79 | 
 80 | ## Constructor Detail
 81 | 
 82 | ## Method Detail
 83 | 
 84 | ## Method Details
 85 | 
 86 | ### get
 87 | 
 88 | **Signature:** `get(index : Number) : Number`
 89 | 
 90 | **Description:** Returns the value at the specified index. Note: This is not ECMAScript standard. Use array element access syntax for single value access.
 91 | 
 92 | **Parameters:**
 93 | 
 94 | - `index`: The index to use.
 95 | 
 96 | **Returns:**
 97 | 
 98 | The value at the specified index.
 99 | 
100 | ---
101 | 
102 | ### set
103 | 
104 | **Signature:** `set(values : Object, offset : Number) : void`
105 | 
106 | **Description:** Copies all values from the source array into this typed array.
107 | 
108 | **Parameters:**
109 | 
110 | - `values`: The source values. Can be an array or a typed array.
111 | - `offset`: Optional. Target offset.
112 | 
113 | ---
114 | 
115 | ### subarray
116 | 
117 | **Signature:** `subarray(begin : Number, end : Number) : Int16Array`
118 | 
119 | **Description:** Returns a new array object based on the same ArrayBuffer store.
120 | 
121 | **Parameters:**
122 | 
123 | - `begin`: Optional. The first included element.
124 | - `end`: Optional. The index of the end. This element is not included.
125 | 
126 | **Returns:**
127 | 
128 | The new array object.
129 | 
130 | ---
```

--------------------------------------------------------------------------------
/docs/TopLevel/Int32Array.md:
--------------------------------------------------------------------------------

```markdown
  1 | ## Package: TopLevel
  2 | 
  3 | # Class Int32Array
  4 | 
  5 | ## Inheritance Hierarchy
  6 | 
  7 | - Object
  8 |   - Int32Array
  9 | 
 10 | ## Description
 11 | 
 12 | An optimized array to store 32-bit signed integer numbers. Elements of this array are stored in an ArrayBuffer object.
 13 | 
 14 | ## Constants
 15 | 
 16 | ### BYTES_PER_ELEMENT
 17 | 
 18 | **Type:** Number = 4
 19 | 
 20 | Number value of the element size.
 21 | 
 22 | ## Properties
 23 | 
 24 | ### buffer
 25 | 
 26 | **Type:** ArrayBuffer
 27 | 
 28 | The array buffer referenced by this typed array.
 29 | 
 30 | ### byteLength
 31 | 
 32 | **Type:** Number
 33 | 
 34 | The number of bytes in the array buffer used by this typed array.
 35 | 
 36 | ### byteOffset
 37 | 
 38 | **Type:** Number
 39 | 
 40 | The start offset for this typed array within the array buffer.
 41 | 
 42 | ### length
 43 | 
 44 | **Type:** Number
 45 | 
 46 | The number of elements.
 47 | 
 48 | ## Constructor Summary
 49 | 
 50 | Int32Array() Creates an empty array.
 51 | 
 52 | Int32Array(length : Number) Creates an array with the given element count.
 53 | 
 54 | Int32Array(typedArray : Object) Creates an array as a copy of the passed typed array.
 55 | 
 56 | Int32Array(array : Array) Creates an array as a copy of the passed array.
 57 | 
 58 | Int32Array(buffer : ArrayBuffer, byteOffset : Number, length : Number) Creates a typed array as a view on the given ArrayBuffer.
 59 | 
 60 | ## Method Summary
 61 | 
 62 | ### get
 63 | 
 64 | **Signature:** `get(index : Number) : Number`
 65 | 
 66 | Returns the value at the specified index.
 67 | 
 68 | ### set
 69 | 
 70 | **Signature:** `set(values : Object, offset : Number) : void`
 71 | 
 72 | Copies all values from the source array into this typed array.
 73 | 
 74 | ### subarray
 75 | 
 76 | **Signature:** `subarray(begin : Number, end : Number) : Int32Array`
 77 | 
 78 | Returns a new array object based on the same ArrayBuffer store.
 79 | 
 80 | ## Constructor Detail
 81 | 
 82 | ## Method Detail
 83 | 
 84 | ## Method Details
 85 | 
 86 | ### get
 87 | 
 88 | **Signature:** `get(index : Number) : Number`
 89 | 
 90 | **Description:** Returns the value at the specified index. Note: This is not ECMAScript standard. Use array element access syntax for single value access.
 91 | 
 92 | **Parameters:**
 93 | 
 94 | - `index`: The index to use.
 95 | 
 96 | **Returns:**
 97 | 
 98 | The value at the specified index.
 99 | 
100 | ---
101 | 
102 | ### set
103 | 
104 | **Signature:** `set(values : Object, offset : Number) : void`
105 | 
106 | **Description:** Copies all values from the source array into this typed array.
107 | 
108 | **Parameters:**
109 | 
110 | - `values`: The source values. Can be an array or a typed array.
111 | - `offset`: Optional. Target offset.
112 | 
113 | ---
114 | 
115 | ### subarray
116 | 
117 | **Signature:** `subarray(begin : Number, end : Number) : Int32Array`
118 | 
119 | **Description:** Returns a new array object based on the same ArrayBuffer store.
120 | 
121 | **Parameters:**
122 | 
123 | - `begin`: Optional. The first included element.
124 | - `end`: Optional. The index of the end. This element is not included.
125 | 
126 | **Returns:**
127 | 
128 | The new array object.
129 | 
130 | ---
```

--------------------------------------------------------------------------------
/docs/TopLevel/Uint8Array.md:
--------------------------------------------------------------------------------

```markdown
  1 | ## Package: TopLevel
  2 | 
  3 | # Class Uint8Array
  4 | 
  5 | ## Inheritance Hierarchy
  6 | 
  7 | - Object
  8 |   - Uint8Array
  9 | 
 10 | ## Description
 11 | 
 12 | An optimized array to store 8-bit unsigned integer numbers. Elements of this array are stored in an ArrayBuffer object.
 13 | 
 14 | ## Constants
 15 | 
 16 | ### BYTES_PER_ELEMENT
 17 | 
 18 | **Type:** Number = 1
 19 | 
 20 | Number value of the element size.
 21 | 
 22 | ## Properties
 23 | 
 24 | ### buffer
 25 | 
 26 | **Type:** ArrayBuffer
 27 | 
 28 | The array buffer referenced by this typed array.
 29 | 
 30 | ### byteLength
 31 | 
 32 | **Type:** Number
 33 | 
 34 | The number of bytes in the array buffer used by this typed array.
 35 | 
 36 | ### byteOffset
 37 | 
 38 | **Type:** Number
 39 | 
 40 | The start offset for this typed array within the array buffer.
 41 | 
 42 | ### length
 43 | 
 44 | **Type:** Number
 45 | 
 46 | The number of elements.
 47 | 
 48 | ## Constructor Summary
 49 | 
 50 | Uint8Array() Creates an empty array.
 51 | 
 52 | Uint8Array(length : Number) Creates an array with the given element count.
 53 | 
 54 | Uint8Array(typedArray : Object) Creates an array as a copy of the passed typed array.
 55 | 
 56 | Uint8Array(array : Array) Creates an array as a copy of the passed array.
 57 | 
 58 | Uint8Array(buffer : ArrayBuffer, byteOffset : Number, length : Number) Creates a typed array as a view on the given ArrayBuffer.
 59 | 
 60 | ## Method Summary
 61 | 
 62 | ### get
 63 | 
 64 | **Signature:** `get(index : Number) : Number`
 65 | 
 66 | Returns the value at the specified index.
 67 | 
 68 | ### set
 69 | 
 70 | **Signature:** `set(values : Object, offset : Number) : void`
 71 | 
 72 | Copies all values from the source array into this typed array.
 73 | 
 74 | ### subarray
 75 | 
 76 | **Signature:** `subarray(begin : Number, end : Number) : Uint8Array`
 77 | 
 78 | Returns a new array object based on the same ArrayBuffer store.
 79 | 
 80 | ## Constructor Detail
 81 | 
 82 | ## Method Detail
 83 | 
 84 | ## Method Details
 85 | 
 86 | ### get
 87 | 
 88 | **Signature:** `get(index : Number) : Number`
 89 | 
 90 | **Description:** Returns the value at the specified index. Note: This is not ECMAScript standard. Use array element access syntax for single value access.
 91 | 
 92 | **Parameters:**
 93 | 
 94 | - `index`: The index to use.
 95 | 
 96 | **Returns:**
 97 | 
 98 | The value at the specified index.
 99 | 
100 | ---
101 | 
102 | ### set
103 | 
104 | **Signature:** `set(values : Object, offset : Number) : void`
105 | 
106 | **Description:** Copies all values from the source array into this typed array.
107 | 
108 | **Parameters:**
109 | 
110 | - `values`: The source values. Can be an array or a typed array.
111 | - `offset`: Optional. Target offset.
112 | 
113 | ---
114 | 
115 | ### subarray
116 | 
117 | **Signature:** `subarray(begin : Number, end : Number) : Uint8Array`
118 | 
119 | **Description:** Returns a new array object based on the same ArrayBuffer store.
120 | 
121 | **Parameters:**
122 | 
123 | - `begin`: Optional. The first included element.
124 | - `end`: Optional. The index of the end. This element is not included.
125 | 
126 | **Returns:**
127 | 
128 | The new array object.
129 | 
130 | ---
```

--------------------------------------------------------------------------------
/docs/TopLevel/Uint32Array.md:
--------------------------------------------------------------------------------

```markdown
  1 | ## Package: TopLevel
  2 | 
  3 | # Class Uint32Array
  4 | 
  5 | ## Inheritance Hierarchy
  6 | 
  7 | - Object
  8 |   - Uint32Array
  9 | 
 10 | ## Description
 11 | 
 12 | An optimized array to store 32-bit unsigned integer numbers. Elements of this array are stored in an ArrayBuffer object.
 13 | 
 14 | ## Constants
 15 | 
 16 | ### BYTES_PER_ELEMENT
 17 | 
 18 | **Type:** Number = 4
 19 | 
 20 | Number value of the element size.
 21 | 
 22 | ## Properties
 23 | 
 24 | ### buffer
 25 | 
 26 | **Type:** ArrayBuffer
 27 | 
 28 | The array buffer referenced by this typed array.
 29 | 
 30 | ### byteLength
 31 | 
 32 | **Type:** Number
 33 | 
 34 | The number of bytes in the array buffer used by this typed array.
 35 | 
 36 | ### byteOffset
 37 | 
 38 | **Type:** Number
 39 | 
 40 | The start offset for this typed array within the array buffer.
 41 | 
 42 | ### length
 43 | 
 44 | **Type:** Number
 45 | 
 46 | The number of elements.
 47 | 
 48 | ## Constructor Summary
 49 | 
 50 | Uint32Array() Creates an empty array.
 51 | 
 52 | Uint32Array(length : Number) Creates an array with the given element count.
 53 | 
 54 | Uint32Array(typedArray : Object) Creates an array as a copy of the passed typed array.
 55 | 
 56 | Uint32Array(array : Array) Creates an array as a copy of the passed array.
 57 | 
 58 | Uint32Array(buffer : ArrayBuffer, byteOffset : Number, length : Number) Creates a typed array as a view on the given ArrayBuffer.
 59 | 
 60 | ## Method Summary
 61 | 
 62 | ### get
 63 | 
 64 | **Signature:** `get(index : Number) : Number`
 65 | 
 66 | Returns the value at the specified index.
 67 | 
 68 | ### set
 69 | 
 70 | **Signature:** `set(values : Object, offset : Number) : void`
 71 | 
 72 | Copies all values from the source array into this typed array.
 73 | 
 74 | ### subarray
 75 | 
 76 | **Signature:** `subarray(begin : Number, end : Number) : Uint32Array`
 77 | 
 78 | Returns a new array object based on the same ArrayBuffer store.
 79 | 
 80 | ## Constructor Detail
 81 | 
 82 | ## Method Detail
 83 | 
 84 | ## Method Details
 85 | 
 86 | ### get
 87 | 
 88 | **Signature:** `get(index : Number) : Number`
 89 | 
 90 | **Description:** Returns the value at the specified index. Note: This is not ECMAScript standard. Use array element access syntax for single value access.
 91 | 
 92 | **Parameters:**
 93 | 
 94 | - `index`: The index to use.
 95 | 
 96 | **Returns:**
 97 | 
 98 | The value at the specified index.
 99 | 
100 | ---
101 | 
102 | ### set
103 | 
104 | **Signature:** `set(values : Object, offset : Number) : void`
105 | 
106 | **Description:** Copies all values from the source array into this typed array.
107 | 
108 | **Parameters:**
109 | 
110 | - `values`: The source values. Can be an array or a typed array.
111 | - `offset`: Optional. Target offset.
112 | 
113 | ---
114 | 
115 | ### subarray
116 | 
117 | **Signature:** `subarray(begin : Number, end : Number) : Uint32Array`
118 | 
119 | **Description:** Returns a new array object based on the same ArrayBuffer store.
120 | 
121 | **Parameters:**
122 | 
123 | - `begin`: Optional. The first included element.
124 | - `end`: Optional. The index of the end. This element is not included.
125 | 
126 | **Returns:**
127 | 
128 | The new array object.
129 | 
130 | ---
```

--------------------------------------------------------------------------------
/docs/TopLevel/Uint16Array.md:
--------------------------------------------------------------------------------

```markdown
  1 | ## Package: TopLevel
  2 | 
  3 | # Class Uint16Array
  4 | 
  5 | ## Inheritance Hierarchy
  6 | 
  7 | - Object
  8 |   - Uint16Array
  9 | 
 10 | ## Description
 11 | 
 12 | An optimized array to store 16-bit unsigned integer numbers. Elements of this array are stored in an ArrayBuffer object.
 13 | 
 14 | ## Constants
 15 | 
 16 | ### BYTES_PER_ELEMENT
 17 | 
 18 | **Type:** Number = 2
 19 | 
 20 | The number value of the element size.
 21 | 
 22 | ## Properties
 23 | 
 24 | ### buffer
 25 | 
 26 | **Type:** ArrayBuffer
 27 | 
 28 | The array buffer referenced by this typed array.
 29 | 
 30 | ### byteLength
 31 | 
 32 | **Type:** Number
 33 | 
 34 | The number of bytes in the array buffer used by this typed array.
 35 | 
 36 | ### byteOffset
 37 | 
 38 | **Type:** Number
 39 | 
 40 | The start offset for this typed array within the array buffer.
 41 | 
 42 | ### length
 43 | 
 44 | **Type:** Number
 45 | 
 46 | The number of elements.
 47 | 
 48 | ## Constructor Summary
 49 | 
 50 | Uint16Array() Creates an empty array.
 51 | 
 52 | Uint16Array(length : Number) Creates an array with the given element count.
 53 | 
 54 | Uint16Array(typedArray : Object) Creates an array as a copy of the passed typed array.
 55 | 
 56 | Uint16Array(array : Array) Creates an array as a copy of the passed array.
 57 | 
 58 | Uint16Array(buffer : ArrayBuffer, byteOffset : Number, length : Number) Creates a typed array as a view on the given ArrayBuffer.
 59 | 
 60 | ## Method Summary
 61 | 
 62 | ### get
 63 | 
 64 | **Signature:** `get(index : Number) : Number`
 65 | 
 66 | Returns the value at the specified index.
 67 | 
 68 | ### set
 69 | 
 70 | **Signature:** `set(values : Object, offset : Number) : void`
 71 | 
 72 | Copies all values from the source array into this typed array.
 73 | 
 74 | ### subarray
 75 | 
 76 | **Signature:** `subarray(begin : Number, end : Number) : Uint16Array`
 77 | 
 78 | Returns a new array object based on the same ArrayBuffer store.
 79 | 
 80 | ## Constructor Detail
 81 | 
 82 | ## Method Detail
 83 | 
 84 | ## Method Details
 85 | 
 86 | ### get
 87 | 
 88 | **Signature:** `get(index : Number) : Number`
 89 | 
 90 | **Description:** Returns the value at the specified index. Note: This is not ECMAScript standard. Use array element access syntax for single value access.
 91 | 
 92 | **Parameters:**
 93 | 
 94 | - `index`: The index to use.
 95 | 
 96 | **Returns:**
 97 | 
 98 | The value at the specified index.
 99 | 
100 | ---
101 | 
102 | ### set
103 | 
104 | **Signature:** `set(values : Object, offset : Number) : void`
105 | 
106 | **Description:** Copies all values from the source array into this typed array.
107 | 
108 | **Parameters:**
109 | 
110 | - `values`: The source values. Can be an array or a typed array.
111 | - `offset`: Optional. Target offset.
112 | 
113 | ---
114 | 
115 | ### subarray
116 | 
117 | **Signature:** `subarray(begin : Number, end : Number) : Uint16Array`
118 | 
119 | **Description:** Returns a new array object based on the same ArrayBuffer store.
120 | 
121 | **Parameters:**
122 | 
123 | - `begin`: Optional. The first included element.
124 | - `end`: Optional. The index of the end. This element is not included.
125 | 
126 | **Returns:**
127 | 
128 | The new array object.
129 | 
130 | ---
```

--------------------------------------------------------------------------------
/docs/TopLevel/Float32Array.md:
--------------------------------------------------------------------------------

```markdown
  1 | ## Package: TopLevel
  2 | 
  3 | # Class Float32Array
  4 | 
  5 | ## Inheritance Hierarchy
  6 | 
  7 | - Object
  8 |   - Float32Array
  9 | 
 10 | ## Description
 11 | 
 12 | An optimized array to store 32-bit floating point numbers. Elements of this array are stored in an ArrayBuffer object.
 13 | 
 14 | ## Constants
 15 | 
 16 | ### BYTES_PER_ELEMENT
 17 | 
 18 | **Type:** Number = 4
 19 | 
 20 | Number value of the element size.
 21 | 
 22 | ## Properties
 23 | 
 24 | ### buffer
 25 | 
 26 | **Type:** ArrayBuffer
 27 | 
 28 | The array buffer referenced by this typed array.
 29 | 
 30 | ### byteLength
 31 | 
 32 | **Type:** Number
 33 | 
 34 | The number of bytes in the array buffer used by this typed array.
 35 | 
 36 | ### byteOffset
 37 | 
 38 | **Type:** Number
 39 | 
 40 | The start offset for this typed array within the array buffer.
 41 | 
 42 | ### length
 43 | 
 44 | **Type:** Number
 45 | 
 46 | The number of elements.
 47 | 
 48 | ## Constructor Summary
 49 | 
 50 | Float32Array() Creates an empty array.
 51 | 
 52 | Float32Array(length : Number) Creates an array with the given element count.
 53 | 
 54 | Float32Array(typedArray : Object) Creates an array as a copy of the passed typed array.
 55 | 
 56 | Float32Array(array : Array) Creates an array as a copy of the passed array.
 57 | 
 58 | Float32Array(buffer : ArrayBuffer, byteOffset : Number, length : Number) Creates a typed array as a view on the given ArrayBuffer.
 59 | 
 60 | ## Method Summary
 61 | 
 62 | ### get
 63 | 
 64 | **Signature:** `get(index : Number) : Number`
 65 | 
 66 | Returns the value at the specified index.
 67 | 
 68 | ### set
 69 | 
 70 | **Signature:** `set(values : Object, offset : Number) : void`
 71 | 
 72 | Copies all values from the source array into this typed array.
 73 | 
 74 | ### subarray
 75 | 
 76 | **Signature:** `subarray(begin : Number, end : Number) : Float32Array`
 77 | 
 78 | Returns a new array object based on the same ArrayBuffer store.
 79 | 
 80 | ## Constructor Detail
 81 | 
 82 | ## Method Detail
 83 | 
 84 | ## Method Details
 85 | 
 86 | ### get
 87 | 
 88 | **Signature:** `get(index : Number) : Number`
 89 | 
 90 | **Description:** Returns the value at the specified index. Note: This is not ECMAScript standard. Use array element access syntax for single value access.
 91 | 
 92 | **Parameters:**
 93 | 
 94 | - `index`: The index to use.
 95 | 
 96 | **Returns:**
 97 | 
 98 | The value at the specified index.
 99 | 
100 | ---
101 | 
102 | ### set
103 | 
104 | **Signature:** `set(values : Object, offset : Number) : void`
105 | 
106 | **Description:** Copies all values from the source array into this typed array.
107 | 
108 | **Parameters:**
109 | 
110 | - `values`: The source values. Can be an array or a typed array.
111 | - `offset`: Optional. Target offset.
112 | 
113 | ---
114 | 
115 | ### subarray
116 | 
117 | **Signature:** `subarray(begin : Number, end : Number) : Float32Array`
118 | 
119 | **Description:** Returns a new array object based on the same ArrayBuffer store.
120 | 
121 | **Parameters:**
122 | 
123 | - `begin`: Optional. The first included element.
124 | - `end`: Optional. The index of the end. This element is not included.
125 | 
126 | **Returns:**
127 | 
128 | The new array object.
129 | 
130 | ---
```

--------------------------------------------------------------------------------
/docs/TopLevel/Float64Array.md:
--------------------------------------------------------------------------------

```markdown
  1 | ## Package: TopLevel
  2 | 
  3 | # Class Float64Array
  4 | 
  5 | ## Inheritance Hierarchy
  6 | 
  7 | - Object
  8 |   - Float64Array
  9 | 
 10 | ## Description
 11 | 
 12 | An optimized array to store 64-bit floating point numbers. Elements of this array are stored in an ArrayBuffer object.
 13 | 
 14 | ## Constants
 15 | 
 16 | ### BYTES_PER_ELEMENT
 17 | 
 18 | **Type:** Number = 8
 19 | 
 20 | Number value of the element size.
 21 | 
 22 | ## Properties
 23 | 
 24 | ### buffer
 25 | 
 26 | **Type:** ArrayBuffer
 27 | 
 28 | The array buffer referenced by this typed array.
 29 | 
 30 | ### byteLength
 31 | 
 32 | **Type:** Number
 33 | 
 34 | The number of bytes in the array buffer used by this typed array.
 35 | 
 36 | ### byteOffset
 37 | 
 38 | **Type:** Number
 39 | 
 40 | The start offset for this typed array within the array buffer.
 41 | 
 42 | ### length
 43 | 
 44 | **Type:** Number
 45 | 
 46 | The number of elements.
 47 | 
 48 | ## Constructor Summary
 49 | 
 50 | Float64Array() Creates an empty array.
 51 | 
 52 | Float64Array(length : Number) Creates an array with the given element count.
 53 | 
 54 | Float64Array(typedArray : Object) Creates an array as a copy of the passed typed array.
 55 | 
 56 | Float64Array(array : Array) Creates an array as a copy of the passed array.
 57 | 
 58 | Float64Array(buffer : ArrayBuffer, byteOffset : Number, length : Number) Creates a typed array as a view on the given ArrayBuffer.
 59 | 
 60 | ## Method Summary
 61 | 
 62 | ### get
 63 | 
 64 | **Signature:** `get(index : Number) : Number`
 65 | 
 66 | Returns the value at the specified index.
 67 | 
 68 | ### set
 69 | 
 70 | **Signature:** `set(values : Object, offset : Number) : void`
 71 | 
 72 | Copies all values from the source array into this typed array.
 73 | 
 74 | ### subarray
 75 | 
 76 | **Signature:** `subarray(begin : Number, end : Number) : Float64Array`
 77 | 
 78 | Returns a new array object based on the same ArrayBuffer store.
 79 | 
 80 | ## Constructor Detail
 81 | 
 82 | ## Method Detail
 83 | 
 84 | ## Method Details
 85 | 
 86 | ### get
 87 | 
 88 | **Signature:** `get(index : Number) : Number`
 89 | 
 90 | **Description:** Returns the value at the specified index. Note: This is not ECMAScript standard. Use array element access syntax for single value access.
 91 | 
 92 | **Parameters:**
 93 | 
 94 | - `index`: The index to use.
 95 | 
 96 | **Returns:**
 97 | 
 98 | The value at the specified index.
 99 | 
100 | ---
101 | 
102 | ### set
103 | 
104 | **Signature:** `set(values : Object, offset : Number) : void`
105 | 
106 | **Description:** Copies all values from the source array into this typed array.
107 | 
108 | **Parameters:**
109 | 
110 | - `values`: The source values. Can be an array or a typed array.
111 | - `offset`: Optional. Target offset.
112 | 
113 | ---
114 | 
115 | ### subarray
116 | 
117 | **Signature:** `subarray(begin : Number, end : Number) : Float64Array`
118 | 
119 | **Description:** Returns a new array object based on the same ArrayBuffer store.
120 | 
121 | **Parameters:**
122 | 
123 | - `begin`: Optional. The first included element.
124 | - `end`: Optional. The index of the end. This element is not included.
125 | 
126 | **Returns:**
127 | 
128 | The new array object.
129 | 
130 | ---
```
Page 4/61FirstPrevNextLast