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 | ---
```