sfcc-dev-mcp 1.0.19 → 1.0.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/clients/logs/index.d.ts +13 -0
- package/dist/clients/logs/index.d.ts.map +1 -0
- package/dist/clients/logs/index.js +15 -0
- package/dist/clients/logs/index.js.map +1 -0
- package/dist/clients/logs/log-analyzer.d.ts +55 -0
- package/dist/clients/logs/log-analyzer.d.ts.map +1 -0
- package/dist/clients/logs/log-analyzer.js +228 -0
- package/dist/clients/logs/log-analyzer.js.map +1 -0
- package/dist/clients/logs/log-client.d.ts +87 -0
- package/dist/clients/logs/log-client.d.ts.map +1 -0
- package/dist/clients/logs/log-client.js +418 -0
- package/dist/clients/logs/log-client.js.map +1 -0
- package/dist/clients/logs/log-constants.d.ts +37 -0
- package/dist/clients/logs/log-constants.d.ts.map +1 -0
- package/dist/clients/logs/log-constants.js +37 -0
- package/dist/clients/logs/log-constants.js.map +1 -0
- package/dist/clients/logs/log-file-discovery.d.ts +64 -0
- package/dist/clients/logs/log-file-discovery.d.ts.map +1 -0
- package/dist/clients/logs/log-file-discovery.js +249 -0
- package/dist/clients/logs/log-file-discovery.js.map +1 -0
- package/dist/clients/logs/log-file-reader.d.ts +55 -0
- package/dist/clients/logs/log-file-reader.d.ts.map +1 -0
- package/dist/clients/logs/log-file-reader.js +207 -0
- package/dist/clients/logs/log-file-reader.js.map +1 -0
- package/dist/clients/logs/log-formatter.d.ts +90 -0
- package/dist/clients/logs/log-formatter.d.ts.map +1 -0
- package/dist/clients/logs/log-formatter.js +189 -0
- package/dist/clients/logs/log-formatter.js.map +1 -0
- package/dist/clients/logs/log-processor.d.ts +91 -0
- package/dist/clients/logs/log-processor.d.ts.map +1 -0
- package/dist/clients/logs/log-processor.js +328 -0
- package/dist/clients/logs/log-processor.js.map +1 -0
- package/dist/clients/logs/log-types.d.ts +58 -0
- package/dist/clients/logs/log-types.d.ts.map +1 -0
- package/dist/clients/logs/log-types.js +8 -0
- package/dist/clients/logs/log-types.js.map +1 -0
- package/dist/clients/logs/webdav-client-manager.d.ts +28 -0
- package/dist/clients/logs/webdav-client-manager.d.ts.map +1 -0
- package/dist/clients/logs/webdav-client-manager.js +77 -0
- package/dist/clients/logs/webdav-client-manager.js.map +1 -0
- package/dist/docs/dw_customer/CustomerMgr.md +3 -3
- package/dist/docs/dw_customer/Wallet.md +25 -0
- package/dist/docs/dw_extensions.payments/SalesforceAdyenPaymentIntent.md +156 -0
- package/dist/docs/dw_extensions.payments/SalesforceAdyenSavedPaymentMethod.md +258 -0
- package/dist/docs/dw_extensions.payments/SalesforcePayPalOrder.md +36 -0
- package/dist/docs/dw_extensions.payments/SalesforcePaymentIntent.md +1 -1
- package/dist/docs/dw_extensions.payments/SalesforcePaymentsHooks.md +68 -1
- package/dist/docs/dw_extensions.payments/SalesforcePaymentsMerchantAccount.md +154 -0
- package/dist/docs/dw_extensions.payments/SalesforcePaymentsMerchantAccountPaymentMethod.md +96 -0
- package/dist/docs/dw_extensions.payments/SalesforcePaymentsMgr.md +311 -2
- package/dist/docs/dw_extensions.payments/SalesforcePaymentsSiteConfiguration.md +26 -0
- package/dist/docs/dw_extensions.payments/SalesforcePaymentsZone.md +458 -0
- package/dist/docs/dw_order/OrderMgr.md +3 -3
- package/dist/docs/dw_order.hooks/BasketMergeHooks.md +4 -4
- package/dist/docs/dw_order.hooks/CheckoutHooks.md +42 -0
- package/dist/utils/path-resolver.d.ts +5 -0
- package/dist/utils/path-resolver.d.ts.map +1 -1
- package/dist/utils/path-resolver.js +27 -5
- package/dist/utils/path-resolver.js.map +1 -1
- package/package.json +9 -3
- package/.github/ISSUE_TEMPLATE/bug_report.yml +0 -131
- package/.github/ISSUE_TEMPLATE/config.yml +0 -9
- package/.github/ISSUE_TEMPLATE/documentation.yml +0 -117
- package/.github/ISSUE_TEMPLATE/feature_request.yml +0 -151
- package/.github/ISSUE_TEMPLATE/question.yml +0 -102
- package/.github/PULL_REQUEST_TEMPLATE/bug_fix.md +0 -59
- package/.github/PULL_REQUEST_TEMPLATE/documentation.md +0 -48
- package/.github/PULL_REQUEST_TEMPLATE/new_tool.md +0 -55
- package/.github/agents/official-docs-researcher.agent.md +0 -56
- package/.github/dependabot.yml +0 -65
- package/.github/instructions/mcp-node-tests.instructions.md +0 -30
- package/.github/instructions/mcp-yml-tests.instructions.md +0 -27
- package/.github/pull_request_template.md +0 -103
- package/.github/skills/agent-authoring/SKILL.md +0 -66
- package/.github/skills/mcp-log-debugging/SKILL.md +0 -69
- package/.github/skills/mcp-programmatic-testing/SKILL.md +0 -142
- package/.github/skills/mcp-yaml-testing/SKILL.md +0 -136
- package/.github/skills/salesforce-developer-site-scraper/SKILL.md +0 -102
- package/.github/skills/salesforce-developer-site-scraper/scripts/scrape-to-markdown.js +0 -205
- package/.github/skills/salesforce-help-site-scraper/SKILL.md +0 -84
- package/.github/skills/salesforce-help-site-scraper/scripts/scrape-help-to-markdown.js +0 -212
- package/.github/skills/skill-authoring/SKILL.md +0 -228
- package/.github/skills/skill-authoring/references/PATTERNS.md +0 -384
- package/.github/workflows/ci.yml +0 -103
- package/.github/workflows/deploy-pages.yml +0 -59
- package/.github/workflows/publish.yml +0 -112
- package/.github/workflows/update-docs.yml +0 -182
- package/.husky/pre-commit +0 -2
- package/AGENTS.md +0 -638
- package/CONTRIBUTING.md +0 -323
- package/SECURITY.md +0 -148
- package/aegis.config.docs-only.json +0 -9
- package/aegis.config.json +0 -12
- package/aegis.config.with-dw.json +0 -15
- package/ai-instructions/AGENTS.md +0 -628
- package/ai-instructions/skills/sfcc-caching/SKILL.md +0 -89
- package/ai-instructions/skills/sfcc-cartridge-development/SKILL.md +0 -240
- package/ai-instructions/skills/sfcc-forms-development/SKILL.md +0 -261
- package/ai-instructions/skills/sfcc-forms-development/references/ARCHITECTURE-SGJC-SFRA.md +0 -143
- package/ai-instructions/skills/sfcc-forms-development/references/FORM-XML-CHEATSHEET.md +0 -127
- package/ai-instructions/skills/sfcc-fraud-prevention/SKILL.md +0 -95
- package/ai-instructions/skills/sfcc-hooks-registration/SKILL.md +0 -39
- package/ai-instructions/skills/sfcc-isml-development/SKILL.md +0 -370
- package/ai-instructions/skills/sfcc-isml-development/references/REMOTE-INCLUDES.md +0 -116
- package/ai-instructions/skills/sfcc-isml-development/references/SFRA-LAYOUTS.md +0 -50
- package/ai-instructions/skills/sfcc-isml-development/references/SFRA-PAGES-CART-ACCOUNT-AUTH.md +0 -45
- package/ai-instructions/skills/sfcc-isml-development/references/SFRA-PAGES-CATALOG.md +0 -85
- package/ai-instructions/skills/sfcc-isml-development/references/SFRA-STRUCTURE-COMPONENTS.md +0 -63
- package/ai-instructions/skills/sfcc-isml-development/references/UTILITIES-EXPRESSIONS.md +0 -159
- package/ai-instructions/skills/sfcc-isml-development/references/sfra-base-templates-architecture.md +0 -13
- package/ai-instructions/skills/sfcc-job-development/SKILL.md +0 -334
- package/ai-instructions/skills/sfcc-job-development/references/CHUNK-ORIENTED.md +0 -393
- package/ai-instructions/skills/sfcc-job-development/references/STEPTYPES-JSON.md +0 -271
- package/ai-instructions/skills/sfcc-job-development/references/TASK-ORIENTED.md +0 -257
- package/ai-instructions/skills/sfcc-localization/SKILL.md +0 -92
- package/ai-instructions/skills/sfcc-localization/references/CONTROLLERS.md +0 -63
- package/ai-instructions/skills/sfcc-localization/references/FORMATTING.md +0 -29
- package/ai-instructions/skills/sfcc-localization/references/FORMS-LOCALIZATION.md +0 -33
- package/ai-instructions/skills/sfcc-localization/references/JAVASCRIPT-LOCALIZATION.md +0 -41
- package/ai-instructions/skills/sfcc-localization/references/LOCALE-SWITCHING.md +0 -35
- package/ai-instructions/skills/sfcc-localization/references/PATTERNS.md +0 -740
- package/ai-instructions/skills/sfcc-localization/references/PROPERTIES-ENCODING.md +0 -25
- package/ai-instructions/skills/sfcc-localization/references/RESOURCE-BUNDLES.md +0 -67
- package/ai-instructions/skills/sfcc-localization/references/STATIC-FILES.md +0 -23
- package/ai-instructions/skills/sfcc-localization/references/TESTING.md +0 -21
- package/ai-instructions/skills/sfcc-localserviceregistry/SKILL.md +0 -374
- package/ai-instructions/skills/sfcc-logging/SKILL.md +0 -352
- package/ai-instructions/skills/sfcc-logging/references/LOG-FILES.md +0 -282
- package/ai-instructions/skills/sfcc-ocapi-hooks/SKILL.md +0 -350
- package/ai-instructions/skills/sfcc-ocapi-scapi-slas/SKILL.md +0 -108
- package/ai-instructions/skills/sfcc-page-designer/SKILL.md +0 -353
- package/ai-instructions/skills/sfcc-page-designer/references/ATTRIBUTE-TYPES.md +0 -436
- package/ai-instructions/skills/sfcc-page-designer/references/META-DEFINITIONS.md +0 -322
- package/ai-instructions/skills/sfcc-performance/SKILL.md +0 -424
- package/ai-instructions/skills/sfcc-platform-limits/SKILL.md +0 -89
- package/ai-instructions/skills/sfcc-scapi-custom-endpoints/SKILL.md +0 -237
- package/ai-instructions/skills/sfcc-scapi-custom-endpoints/references/AUTHENTICATION.md +0 -214
- package/ai-instructions/skills/sfcc-scapi-custom-endpoints/references/URL-MAPPING.md +0 -253
- package/ai-instructions/skills/sfcc-scapi-hooks/SKILL.md +0 -341
- package/ai-instructions/skills/sfcc-script-evaluation/SKILL.md +0 -380
- package/ai-instructions/skills/sfcc-security/SKILL.md +0 -394
- package/ai-instructions/skills/sfcc-sfra-client-side-js/SKILL.md +0 -270
- package/ai-instructions/skills/sfcc-sfra-client-side-js/references/AJAX-CSRF-VALIDATION.md +0 -285
- package/ai-instructions/skills/sfcc-sfra-client-side-js/references/BASE-MODULE-INDEX.md +0 -206
- package/ai-instructions/skills/sfcc-sfra-client-side-js/references/EXTENSION-PATTERNS.md +0 -165
- package/ai-instructions/skills/sfcc-sfra-client-side-js/references/PLUGIN-PATTERNS.md +0 -185
- package/ai-instructions/skills/sfcc-sfra-controllers/SKILL.md +0 -347
- package/ai-instructions/skills/sfcc-sfra-controllers/references/MIDDLEWARE-REFERENCE.md +0 -257
- package/ai-instructions/skills/sfcc-sfra-controllers/references/REMOTE-INCLUDES.md +0 -193
- package/ai-instructions/skills/sfcc-sfra-controllers/references/standard-sfra-controllers.md +0 -814
- package/ai-instructions/skills/sfcc-sfra-models/SKILL.md +0 -322
- package/ai-instructions/skills/sfcc-sfra-models/references/MODEL-PATTERNS.md +0 -530
- package/ai-instructions/skills/sfcc-sfra-models/references/MODEL-STRUCTURE.md +0 -234
- package/ai-instructions/skills/sfcc-sfra-models/references/TESTING-SECURITY.md +0 -417
- package/ai-instructions/skills/sfcc-sfra-scss/SKILL.md +0 -393
- package/ai-instructions/skills/sfcc-webdav-workflows/SKILL.md +0 -111
- package/docs/TopLevel/APIException.md +0 -68
- package/docs/TopLevel/Array.md +0 -897
- package/docs/TopLevel/ArrayBuffer.md +0 -79
- package/docs/TopLevel/BigInt.md +0 -132
- package/docs/TopLevel/Boolean.md +0 -62
- package/docs/TopLevel/ConversionError.md +0 -23
- package/docs/TopLevel/DataView.md +0 -352
- package/docs/TopLevel/Date.md +0 -924
- package/docs/TopLevel/ES6Iterator.md +0 -33
- package/docs/TopLevel/Error.md +0 -88
- package/docs/TopLevel/EvalError.md +0 -23
- package/docs/TopLevel/Fault.md +0 -87
- package/docs/TopLevel/Float32Array.md +0 -130
- package/docs/TopLevel/Float64Array.md +0 -130
- package/docs/TopLevel/Function.md +0 -105
- package/docs/TopLevel/Generator.md +0 -78
- package/docs/TopLevel/IOError.md +0 -62
- package/docs/TopLevel/Int16Array.md +0 -130
- package/docs/TopLevel/Int32Array.md +0 -130
- package/docs/TopLevel/Int8Array.md +0 -130
- package/docs/TopLevel/InternalError.md +0 -23
- package/docs/TopLevel/Iterable.md +0 -41
- package/docs/TopLevel/Iterator.md +0 -48
- package/docs/TopLevel/JSON.md +0 -162
- package/docs/TopLevel/Map.md +0 -216
- package/docs/TopLevel/Math.md +0 -913
- package/docs/TopLevel/Module.md +0 -45
- package/docs/TopLevel/Namespace.md +0 -96
- package/docs/TopLevel/Number.md +0 -417
- package/docs/TopLevel/Object.md +0 -641
- package/docs/TopLevel/QName.md +0 -96
- package/docs/TopLevel/RangeError.md +0 -23
- package/docs/TopLevel/ReferenceError.md +0 -23
- package/docs/TopLevel/RegExp.md +0 -109
- package/docs/TopLevel/Set.md +0 -165
- package/docs/TopLevel/StopIteration.md +0 -20
- package/docs/TopLevel/String.md +0 -1299
- package/docs/TopLevel/Symbol.md +0 -78
- package/docs/TopLevel/SyntaxError.md +0 -23
- package/docs/TopLevel/SystemError.md +0 -62
- package/docs/TopLevel/TypeError.md +0 -23
- package/docs/TopLevel/URIError.md +0 -23
- package/docs/TopLevel/Uint16Array.md +0 -130
- package/docs/TopLevel/Uint32Array.md +0 -130
- package/docs/TopLevel/Uint8Array.md +0 -130
- package/docs/TopLevel/Uint8ClampedArray.md +0 -130
- package/docs/TopLevel/WeakMap.md +0 -137
- package/docs/TopLevel/WeakSet.md +0 -92
- package/docs/TopLevel/XML.md +0 -937
- package/docs/TopLevel/XMLList.md +0 -484
- package/docs/TopLevel/XMLStreamError.md +0 -74
- package/docs/TopLevel/arguments.md +0 -34
- package/docs/TopLevel/global.md +0 -474
- package/docs/dw_campaign/ABTest.md +0 -47
- package/docs/dw_campaign/ABTestMgr.md +0 -70
- package/docs/dw_campaign/ABTestSegment.md +0 -96
- package/docs/dw_campaign/AmountDiscount.md +0 -51
- package/docs/dw_campaign/ApproachingDiscount.md +0 -124
- package/docs/dw_campaign/BonusChoiceDiscount.md +0 -146
- package/docs/dw_campaign/BonusDiscount.md +0 -48
- package/docs/dw_campaign/Campaign.md +0 -365
- package/docs/dw_campaign/CampaignMgr.md +0 -395
- package/docs/dw_campaign/CampaignStatusCodes.md +0 -48
- package/docs/dw_campaign/Coupon.md +0 -310
- package/docs/dw_campaign/CouponMgr.md +0 -144
- package/docs/dw_campaign/CouponRedemption.md +0 -94
- package/docs/dw_campaign/CouponStatusCodes.md +0 -86
- package/docs/dw_campaign/Discount.md +0 -226
- package/docs/dw_campaign/DiscountPlan.md +0 -282
- package/docs/dw_campaign/FixedPriceDiscount.md +0 -52
- package/docs/dw_campaign/FixedPriceShippingDiscount.md +0 -52
- package/docs/dw_campaign/FreeDiscount.md +0 -17
- package/docs/dw_campaign/FreeShippingDiscount.md +0 -17
- package/docs/dw_campaign/PercentageDiscount.md +0 -52
- package/docs/dw_campaign/PercentageOptionDiscount.md +0 -48
- package/docs/dw_campaign/PriceBookPriceDiscount.md +0 -47
- package/docs/dw_campaign/Promotion.md +0 -874
- package/docs/dw_campaign/PromotionMgr.md +0 -386
- package/docs/dw_campaign/PromotionPlan.md +0 -330
- package/docs/dw_campaign/SlotContent.md +0 -144
- package/docs/dw_campaign/SourceCodeGroup.md +0 -72
- package/docs/dw_campaign/SourceCodeInfo.md +0 -144
- package/docs/dw_campaign/SourceCodeStatusCodes.md +0 -36
- package/docs/dw_campaign/TotalFixedPriceDiscount.md +0 -47
- package/docs/dw_catalog/Catalog.md +0 -122
- package/docs/dw_catalog/CatalogMgr.md +0 -182
- package/docs/dw_catalog/Category.md +0 -1308
- package/docs/dw_catalog/CategoryAssignment.md +0 -192
- package/docs/dw_catalog/CategoryLink.md +0 -126
- package/docs/dw_catalog/PriceBook.md +0 -242
- package/docs/dw_catalog/PriceBookMgr.md +0 -204
- package/docs/dw_catalog/Product.md +0 -2593
- package/docs/dw_catalog/ProductActiveData.md +0 -1275
- package/docs/dw_catalog/ProductAttributeModel.md +0 -277
- package/docs/dw_catalog/ProductAvailabilityLevels.md +0 -142
- package/docs/dw_catalog/ProductAvailabilityModel.md +0 -380
- package/docs/dw_catalog/ProductInventoryList.md +0 -140
- package/docs/dw_catalog/ProductInventoryMgr.md +0 -117
- package/docs/dw_catalog/ProductInventoryRecord.md +0 -563
- package/docs/dw_catalog/ProductLink.md +0 -144
- package/docs/dw_catalog/ProductMgr.md +0 -138
- package/docs/dw_catalog/ProductOption.md +0 -214
- package/docs/dw_catalog/ProductOptionModel.md +0 -246
- package/docs/dw_catalog/ProductOptionValue.md +0 -123
- package/docs/dw_catalog/ProductPriceInfo.md +0 -172
- package/docs/dw_catalog/ProductPriceModel.md +0 -745
- package/docs/dw_catalog/ProductPriceTable.md +0 -134
- package/docs/dw_catalog/ProductSearchHit.md +0 -581
- package/docs/dw_catalog/ProductSearchModel.md +0 -2018
- package/docs/dw_catalog/ProductSearchRefinementDefinition.md +0 -97
- package/docs/dw_catalog/ProductSearchRefinementValue.md +0 -73
- package/docs/dw_catalog/ProductSearchRefinements.md +0 -216
- package/docs/dw_catalog/ProductVariationAttribute.md +0 -100
- package/docs/dw_catalog/ProductVariationAttributeValue.md +0 -238
- package/docs/dw_catalog/ProductVariationModel.md +0 -849
- package/docs/dw_catalog/Recommendation.md +0 -314
- package/docs/dw_catalog/SearchModel.md +0 -901
- package/docs/dw_catalog/SearchRefinementDefinition.md +0 -146
- package/docs/dw_catalog/SearchRefinementValue.md +0 -185
- package/docs/dw_catalog/SearchRefinements.md +0 -180
- package/docs/dw_catalog/SortingOption.md +0 -120
- package/docs/dw_catalog/SortingRule.md +0 -47
- package/docs/dw_catalog/Store.md +0 -562
- package/docs/dw_catalog/StoreGroup.md +0 -96
- package/docs/dw_catalog/StoreInventoryFilter.md +0 -74
- package/docs/dw_catalog/StoreInventoryFilterValue.md +0 -74
- package/docs/dw_catalog/StoreMgr.md +0 -236
- package/docs/dw_catalog/Variant.md +0 -859
- package/docs/dw_catalog/VariationGroup.md +0 -792
- package/docs/dw_content/Content.md +0 -534
- package/docs/dw_content/ContentMgr.md +0 -166
- package/docs/dw_content/ContentSearchModel.md +0 -682
- package/docs/dw_content/ContentSearchRefinementDefinition.md +0 -49
- package/docs/dw_content/ContentSearchRefinementValue.md +0 -17
- package/docs/dw_content/ContentSearchRefinements.md +0 -208
- package/docs/dw_content/Folder.md +0 -467
- package/docs/dw_content/Library.md +0 -121
- package/docs/dw_content/MarkupText.md +0 -88
- package/docs/dw_content/MediaFile.md +0 -317
- package/docs/dw_crypto/CertificateRef.md +0 -42
- package/docs/dw_crypto/CertificateUtils.md +0 -187
- package/docs/dw_crypto/Cipher.md +0 -530
- package/docs/dw_crypto/Encoding.md +0 -220
- package/docs/dw_crypto/JWE.md +0 -224
- package/docs/dw_crypto/JWEHeader.md +0 -172
- package/docs/dw_crypto/JWS.md +0 -264
- package/docs/dw_crypto/JWSHeader.md +0 -148
- package/docs/dw_crypto/KeyRef.md +0 -44
- package/docs/dw_crypto/Mac.md +0 -139
- package/docs/dw_crypto/MessageDigest.md +0 -175
- package/docs/dw_crypto/SecureRandom.md +0 -148
- package/docs/dw_crypto/Signature.md +0 -252
- package/docs/dw_crypto/WeakCipher.md +0 -538
- package/docs/dw_crypto/WeakMac.md +0 -121
- package/docs/dw_crypto/WeakMessageDigest.md +0 -163
- package/docs/dw_crypto/WeakSignature.md +0 -242
- package/docs/dw_crypto/X509Certificate.md +0 -193
- package/docs/dw_customer/AddressBook.md +0 -163
- package/docs/dw_customer/AgentUserMgr.md +0 -83
- package/docs/dw_customer/AgentUserStatusCodes.md +0 -96
- package/docs/dw_customer/AuthenticationStatus.md +0 -138
- package/docs/dw_customer/Credentials.md +0 -494
- package/docs/dw_customer/Customer.md +0 -571
- package/docs/dw_customer/CustomerActiveData.md +0 -552
- package/docs/dw_customer/CustomerAddress.md +0 -852
- package/docs/dw_customer/CustomerCDPData.md +0 -70
- package/docs/dw_customer/CustomerContextMgr.md +0 -64
- package/docs/dw_customer/CustomerGroup.md +0 -134
- package/docs/dw_customer/CustomerList.md +0 -71
- package/docs/dw_customer/CustomerMgr.md +0 -735
- package/docs/dw_customer/CustomerPasswordConstraints.md +0 -142
- package/docs/dw_customer/CustomerPaymentInstrument.md +0 -125
- package/docs/dw_customer/CustomerStatusCodes.md +0 -30
- package/docs/dw_customer/EncryptedObject.md +0 -18
- package/docs/dw_customer/ExternalProfile.md +0 -160
- package/docs/dw_customer/OrderHistory.md +0 -111
- package/docs/dw_customer/ProductList.md +0 -1000
- package/docs/dw_customer/ProductListItem.md +0 -504
- package/docs/dw_customer/ProductListItemPurchase.md +0 -145
- package/docs/dw_customer/ProductListMgr.md +0 -234
- package/docs/dw_customer/ProductListRegistrant.md +0 -193
- package/docs/dw_customer/Profile.md +0 -1128
- package/docs/dw_customer/Wallet.md +0 -118
- package/docs/dw_extensions.applepay/ApplePayHookResult.md +0 -209
- package/docs/dw_extensions.applepay/ApplePayHooks.md +0 -255
- package/docs/dw_extensions.facebook/FacebookFeedHooks.md +0 -47
- package/docs/dw_extensions.facebook/FacebookProduct.md +0 -1621
- package/docs/dw_extensions.paymentrequest/PaymentRequestHookResult.md +0 -159
- package/docs/dw_extensions.paymentrequest/PaymentRequestHooks.md +0 -160
- package/docs/dw_extensions.payments/SalesforceBancontactPaymentDetails.md +0 -79
- package/docs/dw_extensions.payments/SalesforceCardPaymentDetails.md +0 -103
- package/docs/dw_extensions.payments/SalesforceEpsPaymentDetails.md +0 -51
- package/docs/dw_extensions.payments/SalesforceIdealPaymentDetails.md +0 -51
- package/docs/dw_extensions.payments/SalesforceKlarnaPaymentDetails.md +0 -51
- package/docs/dw_extensions.payments/SalesforcePayPalOrder.md +0 -246
- package/docs/dw_extensions.payments/SalesforcePayPalOrderAddress.md +0 -191
- package/docs/dw_extensions.payments/SalesforcePayPalOrderPayer.md +0 -118
- package/docs/dw_extensions.payments/SalesforcePayPalPaymentDetails.md +0 -79
- package/docs/dw_extensions.payments/SalesforcePaymentDetails.md +0 -57
- package/docs/dw_extensions.payments/SalesforcePaymentIntent.md +0 -281
- package/docs/dw_extensions.payments/SalesforcePaymentMethod.md +0 -346
- package/docs/dw_extensions.payments/SalesforcePaymentRequest.md +0 -784
- package/docs/dw_extensions.payments/SalesforcePaymentsHooks.md +0 -45
- package/docs/dw_extensions.payments/SalesforcePaymentsMgr.md +0 -634
- package/docs/dw_extensions.payments/SalesforcePaymentsSiteConfiguration.md +0 -95
- package/docs/dw_extensions.payments/SalesforceSepaDebitPaymentDetails.md +0 -51
- package/docs/dw_extensions.payments/SalesforceVenmoPaymentDetails.md +0 -79
- package/docs/dw_extensions.pinterest/PinterestAvailability.md +0 -86
- package/docs/dw_extensions.pinterest/PinterestFeedHooks.md +0 -69
- package/docs/dw_extensions.pinterest/PinterestOrder.md +0 -232
- package/docs/dw_extensions.pinterest/PinterestOrderHooks.md +0 -45
- package/docs/dw_extensions.pinterest/PinterestProduct.md +0 -850
- package/docs/dw_io/CSVStreamReader.md +0 -80
- package/docs/dw_io/CSVStreamWriter.md +0 -60
- package/docs/dw_io/File.md +0 -614
- package/docs/dw_io/FileReader.md +0 -41
- package/docs/dw_io/FileWriter.md +0 -103
- package/docs/dw_io/InputStream.md +0 -34
- package/docs/dw_io/OutputStream.md +0 -34
- package/docs/dw_io/PrintWriter.md +0 -71
- package/docs/dw_io/RandomAccessFileReader.md +0 -173
- package/docs/dw_io/Reader.md +0 -274
- package/docs/dw_io/StringWriter.md +0 -81
- package/docs/dw_io/Writer.md +0 -92
- package/docs/dw_io/XMLIndentingStreamWriter.md +0 -112
- package/docs/dw_io/XMLStreamConstants.md +0 -114
- package/docs/dw_io/XMLStreamReader.md +0 -1043
- package/docs/dw_io/XMLStreamWriter.md +0 -572
- package/docs/dw_job/JobExecution.md +0 -107
- package/docs/dw_job/JobStepExecution.md +0 -151
- package/docs/dw_net/FTPClient.md +0 -699
- package/docs/dw_net/FTPFileInfo.md +0 -122
- package/docs/dw_net/HTTPClient.md +0 -831
- package/docs/dw_net/HTTPClientLoggingConfig.md +0 -296
- package/docs/dw_net/HTTPRequestPart.md +0 -206
- package/docs/dw_net/Mail.md +0 -551
- package/docs/dw_net/SFTPClient.md +0 -591
- package/docs/dw_net/SFTPFileInfo.md +0 -122
- package/docs/dw_net/WebDAVClient.md +0 -715
- package/docs/dw_net/WebDAVFileInfo.md +0 -184
- package/docs/dw_object/ActiveData.md +0 -75
- package/docs/dw_object/CustomAttributes.md +0 -16
- package/docs/dw_object/CustomObject.md +0 -73
- package/docs/dw_object/CustomObjectMgr.md +0 -291
- package/docs/dw_object/Extensible.md +0 -64
- package/docs/dw_object/ExtensibleObject.md +0 -68
- package/docs/dw_object/Note.md +0 -121
- package/docs/dw_object/ObjectAttributeDefinition.md +0 -481
- package/docs/dw_object/ObjectAttributeGroup.md +0 -170
- package/docs/dw_object/ObjectAttributeValueDefinition.md +0 -72
- package/docs/dw_object/ObjectTypeDefinition.md +0 -216
- package/docs/dw_object/PersistentObject.md +0 -94
- package/docs/dw_object/SimpleExtensible.md +0 -46
- package/docs/dw_object/SystemObjectMgr.md +0 -153
- package/docs/dw_order/AbstractItem.md +0 -244
- package/docs/dw_order/AbstractItemCtnr.md +0 -240
- package/docs/dw_order/Appeasement.md +0 -367
- package/docs/dw_order/AppeasementItem.md +0 -90
- package/docs/dw_order/Basket.md +0 -362
- package/docs/dw_order/BasketMgr.md +0 -418
- package/docs/dw_order/BonusDiscountLineItem.md +0 -248
- package/docs/dw_order/CouponLineItem.md +0 -272
- package/docs/dw_order/CreateAgentBasketLimitExceededException.md +0 -18
- package/docs/dw_order/CreateBasketFromOrderException.md +0 -26
- package/docs/dw_order/CreateCouponLineItemException.md +0 -26
- package/docs/dw_order/CreateOrderException.md +0 -18
- package/docs/dw_order/CreateTemporaryBasketLimitExceededException.md +0 -18
- package/docs/dw_order/GiftCertificate.md +0 -569
- package/docs/dw_order/GiftCertificateLineItem.md +0 -324
- package/docs/dw_order/GiftCertificateMgr.md +0 -197
- package/docs/dw_order/GiftCertificateStatusCodes.md +0 -60
- package/docs/dw_order/Invoice.md +0 -418
- package/docs/dw_order/InvoiceItem.md +0 -222
- package/docs/dw_order/LineItem.md +0 -532
- package/docs/dw_order/LineItemCtnr.md +0 -2431
- package/docs/dw_order/Order.md +0 -2567
- package/docs/dw_order/OrderAddress.md +0 -807
- package/docs/dw_order/OrderItem.md +0 -536
- package/docs/dw_order/OrderMgr.md +0 -535
- package/docs/dw_order/OrderPaymentInstrument.md +0 -220
- package/docs/dw_order/OrderProcessStatusCodes.md +0 -84
- package/docs/dw_order/PaymentCard.md +0 -217
- package/docs/dw_order/PaymentInstrument.md +0 -1462
- package/docs/dw_order/PaymentMethod.md +0 -242
- package/docs/dw_order/PaymentMgr.md +0 -117
- package/docs/dw_order/PaymentProcessor.md +0 -70
- package/docs/dw_order/PaymentStatusCodes.md +0 -42
- package/docs/dw_order/PaymentTransaction.md +0 -328
- package/docs/dw_order/PriceAdjustment.md +0 -640
- package/docs/dw_order/PriceAdjustmentLimitTypes.md +0 -38
- package/docs/dw_order/ProductLineItem.md +0 -1821
- package/docs/dw_order/ProductShippingCost.md +0 -96
- package/docs/dw_order/ProductShippingLineItem.md +0 -326
- package/docs/dw_order/ProductShippingModel.md +0 -125
- package/docs/dw_order/Return.md +0 -360
- package/docs/dw_order/ReturnCase.md +0 -400
- package/docs/dw_order/ReturnCaseItem.md +0 -373
- package/docs/dw_order/ReturnItem.md +0 -362
- package/docs/dw_order/Shipment.md +0 -1251
- package/docs/dw_order/ShipmentShippingCost.md +0 -46
- package/docs/dw_order/ShipmentShippingModel.md +0 -146
- package/docs/dw_order/ShippingLineItem.md +0 -278
- package/docs/dw_order/ShippingLocation.md +0 -366
- package/docs/dw_order/ShippingMethod.md +0 -266
- package/docs/dw_order/ShippingMgr.md +0 -158
- package/docs/dw_order/ShippingOrder.md +0 -561
- package/docs/dw_order/ShippingOrderItem.md +0 -355
- package/docs/dw_order/SumItem.md +0 -147
- package/docs/dw_order/TaxGroup.md +0 -143
- package/docs/dw_order/TaxItem.md +0 -74
- package/docs/dw_order/TaxMgr.md +0 -227
- package/docs/dw_order/TrackingInfo.md +0 -312
- package/docs/dw_order/TrackingRef.md +0 -113
- package/docs/dw_order.hooks/BasketMergeHooks.md +0 -42
- package/docs/dw_order.hooks/CalculateHooks.md +0 -77
- package/docs/dw_order.hooks/OrderHooks.md +0 -41
- package/docs/dw_order.hooks/PaymentHooks.md +0 -180
- package/docs/dw_order.hooks/ReturnHooks.md +0 -135
- package/docs/dw_order.hooks/ShippingOrderHooks.md +0 -245
- package/docs/dw_rpc/SOAPUtil.md +0 -465
- package/docs/dw_rpc/Stub.md +0 -289
- package/docs/dw_rpc/WebReference.md +0 -83
- package/docs/dw_suggest/BrandSuggestions.md +0 -17
- package/docs/dw_suggest/CategorySuggestions.md +0 -53
- package/docs/dw_suggest/ContentSuggestions.md +0 -53
- package/docs/dw_suggest/CustomSuggestions.md +0 -17
- package/docs/dw_suggest/ProductSuggestions.md +0 -53
- package/docs/dw_suggest/SearchPhraseSuggestions.md +0 -117
- package/docs/dw_suggest/SuggestModel.md +0 -403
- package/docs/dw_suggest/SuggestedCategory.md +0 -46
- package/docs/dw_suggest/SuggestedContent.md +0 -46
- package/docs/dw_suggest/SuggestedPhrase.md +0 -70
- package/docs/dw_suggest/SuggestedProduct.md +0 -47
- package/docs/dw_suggest/SuggestedTerm.md +0 -143
- package/docs/dw_suggest/SuggestedTerms.md +0 -132
- package/docs/dw_suggest/Suggestions.md +0 -179
- package/docs/dw_svc/FTPService.md +0 -118
- package/docs/dw_svc/FTPServiceDefinition.md +0 -69
- package/docs/dw_svc/HTTPFormService.md +0 -18
- package/docs/dw_svc/HTTPFormServiceDefinition.md +0 -18
- package/docs/dw_svc/HTTPService.md +0 -415
- package/docs/dw_svc/HTTPServiceDefinition.md +0 -303
- package/docs/dw_svc/LocalServiceRegistry.md +0 -43
- package/docs/dw_svc/Result.md +0 -303
- package/docs/dw_svc/SOAPService.md +0 -115
- package/docs/dw_svc/SOAPServiceDefinition.md +0 -17
- package/docs/dw_svc/Service.md +0 -295
- package/docs/dw_svc/ServiceCallback.md +0 -268
- package/docs/dw_svc/ServiceConfig.md +0 -120
- package/docs/dw_svc/ServiceCredential.md +0 -156
- package/docs/dw_svc/ServiceDefinition.md +0 -176
- package/docs/dw_svc/ServiceProfile.md +0 -168
- package/docs/dw_svc/ServiceRegistry.md +0 -109
- package/docs/dw_system/AgentUserStatusCodes.md +0 -21
- package/docs/dw_system/Cache.md +0 -102
- package/docs/dw_system/CacheMgr.md +0 -42
- package/docs/dw_system/HookMgr.md +0 -66
- package/docs/dw_system/InternalObject.md +0 -56
- package/docs/dw_system/JobProcessMonitor.md +0 -124
- package/docs/dw_system/Log.md +0 -237
- package/docs/dw_system/LogNDC.md +0 -88
- package/docs/dw_system/Logger.md +0 -263
- package/docs/dw_system/OrganizationPreferences.md +0 -18
- package/docs/dw_system/Pipeline.md +0 -73
- package/docs/dw_system/PipelineDictionary.md +0 -16
- package/docs/dw_system/RESTErrorResponse.md +0 -66
- package/docs/dw_system/RESTResponseMgr.md +0 -258
- package/docs/dw_system/RESTSuccessResponse.md +0 -39
- package/docs/dw_system/RemoteInclude.md +0 -74
- package/docs/dw_system/Request.md +0 -839
- package/docs/dw_system/RequestHooks.md +0 -59
- package/docs/dw_system/Response.md +0 -522
- package/docs/dw_system/SearchStatus.md +0 -151
- package/docs/dw_system/Session.md +0 -476
- package/docs/dw_system/Site.md +0 -585
- package/docs/dw_system/SitePreferences.md +0 -49
- package/docs/dw_system/Status.md +0 -273
- package/docs/dw_system/StatusItem.md +0 -273
- package/docs/dw_system/System.md +0 -200
- package/docs/dw_system/Transaction.md +0 -84
- package/docs/dw_util/ArrayList.md +0 -50
- package/docs/dw_util/Assert.md +0 -391
- package/docs/dw_util/BigInteger.md +0 -326
- package/docs/dw_util/Bytes.md +0 -252
- package/docs/dw_util/Calendar.md +0 -921
- package/docs/dw_util/Collection.md +0 -338
- package/docs/dw_util/Currency.md +0 -163
- package/docs/dw_util/DateUtils.md +0 -86
- package/docs/dw_util/Decimal.md +0 -438
- package/docs/dw_util/FilteringCollection.md +0 -93
- package/docs/dw_util/Geolocation.md +0 -271
- package/docs/dw_util/HashMap.md +0 -43
- package/docs/dw_util/HashSet.md +0 -46
- package/docs/dw_util/Iterator.md +0 -97
- package/docs/dw_util/LinkedHashMap.md +0 -43
- package/docs/dw_util/LinkedHashSet.md +0 -46
- package/docs/dw_util/List.md +0 -519
- package/docs/dw_util/Locale.md +0 -267
- package/docs/dw_util/Map.md +0 -313
- package/docs/dw_util/MapEntry.md +0 -70
- package/docs/dw_util/MappingKey.md +0 -76
- package/docs/dw_util/MappingMgr.md +0 -122
- package/docs/dw_util/PropertyComparator.md +0 -51
- package/docs/dw_util/SecureEncoder.md +0 -350
- package/docs/dw_util/SecureFilter.md +0 -350
- package/docs/dw_util/SeekableIterator.md +0 -176
- package/docs/dw_util/Set.md +0 -19
- package/docs/dw_util/SortedMap.md +0 -148
- package/docs/dw_util/SortedSet.md +0 -151
- package/docs/dw_util/StringUtils.md +0 -753
- package/docs/dw_util/Template.md +0 -88
- package/docs/dw_util/UUIDUtils.md +0 -38
- package/docs/dw_value/EnumValue.md +0 -92
- package/docs/dw_value/MimeEncodedText.md +0 -103
- package/docs/dw_value/Money.md +0 -610
- package/docs/dw_value/Quantity.md +0 -376
- package/docs/dw_web/CSRFProtection.md +0 -83
- package/docs/dw_web/ClickStream.md +0 -157
- package/docs/dw_web/ClickStreamEntry.md +0 -289
- package/docs/dw_web/Cookie.md +0 -396
- package/docs/dw_web/Cookies.md +0 -46
- package/docs/dw_web/Form.md +0 -74
- package/docs/dw_web/FormAction.md +0 -199
- package/docs/dw_web/FormElement.md +0 -220
- package/docs/dw_web/FormElementValidationResult.md +0 -157
- package/docs/dw_web/FormField.md +0 -603
- package/docs/dw_web/FormFieldOption.md +0 -238
- package/docs/dw_web/FormFieldOptions.md +0 -42
- package/docs/dw_web/FormGroup.md +0 -199
- package/docs/dw_web/FormList.md +0 -126
- package/docs/dw_web/FormListItem.md +0 -48
- package/docs/dw_web/Forms.md +0 -16
- package/docs/dw_web/HttpParameter.md +0 -513
- package/docs/dw_web/HttpParameterMap.md +0 -185
- package/docs/dw_web/LoopIterator.md +0 -261
- package/docs/dw_web/PageMetaData.md +0 -230
- package/docs/dw_web/PageMetaTag.md +0 -142
- package/docs/dw_web/PagingModel.md +0 -389
- package/docs/dw_web/Resource.md +0 -126
- package/docs/dw_web/URL.md +0 -213
- package/docs/dw_web/URLAction.md +0 -26
- package/docs/dw_web/URLParameter.md +0 -22
- package/docs/dw_web/URLRedirect.md +0 -71
- package/docs/dw_web/URLRedirectMgr.md +0 -73
- package/docs/dw_web/URLUtils.md +0 -1264
- package/docs/isml/isactivedatacontext.md +0 -382
- package/docs/isml/isactivedatahead.md +0 -566
- package/docs/isml/isanalyticsoff.md +0 -537
- package/docs/isml/isapplepay.md +0 -667
- package/docs/isml/isbreak.md +0 -687
- package/docs/isml/isbuynow.md +0 -682
- package/docs/isml/iscache.md +0 -802
- package/docs/isml/iscomment.md +0 -794
- package/docs/isml/iscomponent.md +0 -797
- package/docs/isml/iscontent.md +0 -594
- package/docs/isml/iscontinue.md +0 -563
- package/docs/isml/iscookie.md +0 -798
- package/docs/isml/isdecorate.md +0 -818
- package/docs/isml/isif.md +0 -737
- package/docs/isml/isinclude.md +0 -874
- package/docs/isml/isloop.md +0 -377
- package/docs/isml/ismodule.md +0 -844
- package/docs/isml/isnext.md +0 -672
- package/docs/isml/isobject.md +0 -760
- package/docs/isml/ispayment.md +0 -577
- package/docs/isml/ispaymentmessages.md +0 -664
- package/docs/isml/isprint.md +0 -875
- package/docs/isml/isredirect.md +0 -716
- package/docs/isml/isremove.md +0 -725
- package/docs/isml/isreplace.md +0 -783
- package/docs/isml/isscript.md +0 -859
- package/docs/isml/isselect.md +0 -908
- package/docs/isml/isset.md +0 -585
- package/docs/isml/isslot.md +0 -824
- package/docs/isml/isstatus.md +0 -711
- package/docs/sfra/account.md +0 -145
- package/docs/sfra/address.md +0 -84
- package/docs/sfra/billing.md +0 -90
- package/docs/sfra/cart.md +0 -134
- package/docs/sfra/categories.md +0 -124
- package/docs/sfra/content.md +0 -133
- package/docs/sfra/locale.md +0 -126
- package/docs/sfra/order.md +0 -219
- package/docs/sfra/payment.md +0 -131
- package/docs/sfra/price-default.md +0 -118
- package/docs/sfra/price-range.md +0 -77
- package/docs/sfra/price-tiered.md +0 -117
- package/docs/sfra/product-bundle.md +0 -164
- package/docs/sfra/product-full.md +0 -179
- package/docs/sfra/product-line-items.md +0 -147
- package/docs/sfra/product-search.md +0 -245
- package/docs/sfra/product-tile.md +0 -95
- package/docs/sfra/querystring.md +0 -240
- package/docs/sfra/render.md +0 -354
- package/docs/sfra/request.md +0 -210
- package/docs/sfra/response.md +0 -391
- package/docs/sfra/server.md +0 -375
- package/docs/sfra/shipping.md +0 -181
- package/docs/sfra/store.md +0 -145
- package/docs/sfra/stores.md +0 -190
- package/docs/sfra/totals.md +0 -184
- package/docs-site-v2/.vitepress/config.mts +0 -190
- package/docs-site-v2/.vitepress/theme/components/AssistantTabs.vue +0 -96
- package/docs-site-v2/.vitepress/theme/components/Callout.vue +0 -10
- package/docs-site-v2/.vitepress/theme/components/Collapsible.vue +0 -14
- package/docs-site-v2/.vitepress/theme/components/DwJsonBuilder.vue +0 -82
- package/docs-site-v2/.vitepress/theme/components/HomeSections.vue +0 -552
- package/docs-site-v2/.vitepress/theme/components/InstructionFilesTabs.vue +0 -87
- package/docs-site-v2/.vitepress/theme/components/ModeTabs.vue +0 -70
- package/docs-site-v2/.vitepress/theme/components/NewcomerCTA.vue +0 -14
- package/docs-site-v2/.vitepress/theme/components/QuickStartCards.vue +0 -20
- package/docs-site-v2/.vitepress/theme/components/QuickStartHero.vue +0 -20
- package/docs-site-v2/.vitepress/theme/components/SkillsList.vue +0 -48
- package/docs-site-v2/.vitepress/theme/components/ToolExplorer.vue +0 -85
- package/docs-site-v2/.vitepress/theme/custom.css +0 -1373
- package/docs-site-v2/.vitepress/theme/index.ts +0 -39
- package/docs-site-v2/data/skills.ts +0 -147
- package/docs-site-v2/data/tools.ts +0 -490
- package/docs-site-v2/development/index.md +0 -151
- package/docs-site-v2/examples/index.md +0 -333
- package/docs-site-v2/features/index.md +0 -144
- package/docs-site-v2/guide/ai-interfaces.md +0 -58
- package/docs-site-v2/guide/configuration.md +0 -208
- package/docs-site-v2/guide/index.md +0 -50
- package/docs-site-v2/index.md +0 -32
- package/docs-site-v2/package-lock.json +0 -2511
- package/docs-site-v2/package.json +0 -15
- package/docs-site-v2/public/404.html +0 -15
- package/docs-site-v2/public/android-chrome-192x192.png +0 -0
- package/docs-site-v2/public/android-chrome-512x512.png +0 -0
- package/docs-site-v2/public/apple-touch-icon.png +0 -0
- package/docs-site-v2/public/explain-product-pricing-methods-no-mcp.png +0 -0
- package/docs-site-v2/public/explain-product-pricing-methods.png +0 -0
- package/docs-site-v2/public/favicon-16x16.png +0 -0
- package/docs-site-v2/public/favicon-32x32.png +0 -0
- package/docs-site-v2/public/favicon.ico +0 -0
- package/docs-site-v2/public/index.css +0 -4174
- package/docs-site-v2/public/llms.txt +0 -44
- package/docs-site-v2/public/logo-dark.svg +0 -8
- package/docs-site-v2/public/logo.svg +0 -8
- package/docs-site-v2/public/robots.txt +0 -20
- package/docs-site-v2/public/site.webmanifest +0 -50
- package/docs-site-v2/public/sitemap.xml +0 -90
- package/docs-site-v2/script-debugger/index.md +0 -105
- package/docs-site-v2/scripts/generate-llms.js +0 -71
- package/docs-site-v2/scripts/generate-sitemap.js +0 -97
- package/docs-site-v2/security/index.md +0 -115
- package/docs-site-v2/skills/index.md +0 -40
- package/docs-site-v2/tools/index.md +0 -36
- package/docs-site-v2/troubleshooting/index.md +0 -204
- package/eslint.config.js +0 -139
- package/jest.config.js +0 -27
- package/memories/repo/docs-site-v2-build.json +0 -11
- package/scripts/convert-docs.js +0 -633
- package/scripts/validate-server-json.js +0 -68
- package/server.json +0 -20
- package/src/clients/agent-instructions-client.ts +0 -370
- package/src/clients/base/abstract-documentation-client.ts +0 -405
- package/src/clients/base/http-client.ts +0 -152
- package/src/clients/base/oauth-token.ts +0 -164
- package/src/clients/base/ocapi-auth-client.ts +0 -133
- package/src/clients/cartridge/cartridge-generation-client.ts +0 -302
- package/src/clients/cartridge/cartridge-structure.ts +0 -37
- package/src/clients/cartridge/cartridge-templates.ts +0 -246
- package/src/clients/cartridge/index.ts +0 -6
- package/src/clients/docs/class-content-parser.ts +0 -308
- package/src/clients/docs/class-name-resolver.ts +0 -99
- package/src/clients/docs/documentation-scanner.ts +0 -255
- package/src/clients/docs/index.ts +0 -16
- package/src/clients/docs/referenced-types-extractor.ts +0 -92
- package/src/clients/docs-client.ts +0 -393
- package/src/clients/isml-client.ts +0 -353
- package/src/clients/log-client.ts +0 -19
- package/src/clients/ocapi/code-versions-client.ts +0 -54
- package/src/clients/ocapi/site-preferences-client.ts +0 -106
- package/src/clients/ocapi/system-objects-client.ts +0 -148
- package/src/clients/ocapi-client.ts +0 -53
- package/src/clients/script-debugger/index.ts +0 -5
- package/src/clients/script-debugger/script-debugger-client.ts +0 -754
- package/src/clients/sfra-client.ts +0 -339
- package/src/config/configuration-factory.ts +0 -201
- package/src/config/dw-json-loader.ts +0 -248
- package/src/config/workspace-roots.ts +0 -540
- package/src/constants/index.ts +0 -1
- package/src/core/handlers/abstract-client-handler.ts +0 -85
- package/src/core/handlers/agent-instructions-handler.ts +0 -48
- package/src/core/handlers/base-handler.ts +0 -172
- package/src/core/handlers/cartridge-handler.ts +0 -38
- package/src/core/handlers/client-factory.ts +0 -140
- package/src/core/handlers/code-version-handler.ts +0 -43
- package/src/core/handlers/docs-handler.ts +0 -19
- package/src/core/handlers/isml-handler.ts +0 -19
- package/src/core/handlers/job-log-handler.ts +0 -39
- package/src/core/handlers/log-handler.ts +0 -39
- package/src/core/handlers/script-debugger-handler.ts +0 -46
- package/src/core/handlers/sfra-handler.ts +0 -23
- package/src/core/handlers/simple-client-handler.ts +0 -78
- package/src/core/handlers/system-object-handler.ts +0 -43
- package/src/core/handlers/validation-helpers.ts +0 -206
- package/src/core/instruction-advisor.ts +0 -122
- package/src/core/server.ts +0 -374
- package/src/core/tool-definitions.ts +0 -30
- package/src/core/tool-schemas/agent-instruction-tools.ts +0 -72
- package/src/core/tool-schemas/cartridge-tools.ts +0 -29
- package/src/core/tool-schemas/code-version-tools.ts +0 -28
- package/src/core/tool-schemas/documentation-tools.ts +0 -104
- package/src/core/tool-schemas/index.ts +0 -27
- package/src/core/tool-schemas/isml-tools.ts +0 -89
- package/src/core/tool-schemas/log-tools.ts +0 -196
- package/src/core/tool-schemas/script-debugger-tools.ts +0 -83
- package/src/core/tool-schemas/sfra-tools.ts +0 -65
- package/src/core/tool-schemas/shared-schemas.ts +0 -158
- package/src/core/tool-schemas/system-object-tools.ts +0 -127
- package/src/index.ts +0 -20
- package/src/main.ts +0 -161
- package/src/services/file-system-service.ts +0 -117
- package/src/services/index.ts +0 -11
- package/src/services/path-service.ts +0 -124
- package/src/tool-configs/agent-instructions-tool-config.ts +0 -83
- package/src/tool-configs/cartridge-tool-config.ts +0 -41
- package/src/tool-configs/code-version-tool-config.ts +0 -37
- package/src/tool-configs/docs-tool-config.ts +0 -103
- package/src/tool-configs/isml-tool-config.ts +0 -87
- package/src/tool-configs/job-log-tool-config.ts +0 -119
- package/src/tool-configs/log-tool-config.ts +0 -110
- package/src/tool-configs/script-debugger-tool-config.ts +0 -69
- package/src/tool-configs/sfra-tool-config.ts +0 -74
- package/src/tool-configs/system-object-tool-config.ts +0 -142
- package/src/types/types.ts +0 -125
- package/src/utils/cache.ts +0 -291
- package/src/utils/category-utils.ts +0 -70
- package/src/utils/log-tool-constants.ts +0 -95
- package/src/utils/logger.ts +0 -260
- package/src/utils/markdown-utils.ts +0 -280
- package/src/utils/ocapi-url-builder.ts +0 -48
- package/src/utils/path-resolver.ts +0 -69
- package/src/utils/path-validation.ts +0 -113
- package/src/utils/query-builder.ts +0 -84
- package/src/utils/utils.ts +0 -139
- package/src/utils/validator.ts +0 -162
- package/tests/__mocks__/docs-client.ts +0 -8
- package/tests/__mocks__/src/clients/base/http-client.js +0 -43
- package/tests/__mocks__/webdav.js +0 -14
- package/tests/base-handler.test.ts +0 -527
- package/tests/base-http-client.test.ts +0 -311
- package/tests/cache.test.ts +0 -453
- package/tests/cartridge-handler.test.ts +0 -290
- package/tests/class-content-parser.test.ts +0 -629
- package/tests/class-name-resolver.test.ts +0 -365
- package/tests/client-factory.test.ts +0 -280
- package/tests/code-version-handler.test.ts +0 -291
- package/tests/code-versions-client.test.ts +0 -156
- package/tests/config.test.ts +0 -285
- package/tests/configuration-factory.test.ts +0 -233
- package/tests/docs-handler.test.ts +0 -359
- package/tests/documentation-scanner.test.ts +0 -755
- package/tests/file-system-service.test.ts +0 -111
- package/tests/isml-client.test.ts +0 -463
- package/tests/isml-handler.test.ts +0 -375
- package/tests/job-log-handler.test.ts +0 -283
- package/tests/log-client.test.ts +0 -768
- package/tests/log-handler.test.ts +0 -365
- package/tests/log-processor.test.ts +0 -243
- package/tests/log-validation.test.ts +0 -149
- package/tests/logger.test.ts +0 -303
- package/tests/mcp/AGENTS.md +0 -162
- package/tests/mcp/README.md +0 -237
- package/tests/mcp/node/activate-code-version-advanced.full-mode.programmatic.test.js +0 -669
- package/tests/mcp/node/code-versions.full-mode.programmatic.test.js +0 -605
- package/tests/mcp/node/evaluate-script.full-mode.programmatic.test.js +0 -387
- package/tests/mcp/node/generate-cartridge-structure.docs-only.programmatic.test.js +0 -644
- package/tests/mcp/node/get-available-sfra-documents.programmatic.test.js +0 -274
- package/tests/mcp/node/get-isml-categories.programmatic.test.js +0 -278
- package/tests/mcp/node/get-isml-element.programmatic.test.js +0 -278
- package/tests/mcp/node/get-isml-elements-by-category.programmatic.test.js +0 -363
- package/tests/mcp/node/get-job-execution-summary.full-mode.programmatic.test.js +0 -432
- package/tests/mcp/node/get-job-log-entries.full-mode.programmatic.test.js +0 -488
- package/tests/mcp/node/get-latest-debug.full-mode.programmatic.test.js +0 -338
- package/tests/mcp/node/get-latest-error.full-mode.programmatic.test.js +0 -255
- package/tests/mcp/node/get-latest-info.full-mode.programmatic.test.js +0 -347
- package/tests/mcp/node/get-latest-job-log-files.full-mode.programmatic.test.js +0 -460
- package/tests/mcp/node/get-latest-warn.full-mode.programmatic.test.js +0 -454
- package/tests/mcp/node/get-log-file-contents.full-mode.programmatic.test.js +0 -381
- package/tests/mcp/node/get-sfcc-class-documentation.docs-only.programmatic.test.js +0 -371
- package/tests/mcp/node/get-sfcc-class-info.docs-only.programmatic.test.js +0 -1032
- package/tests/mcp/node/get-sfra-categories.docs-only.programmatic.test.js +0 -369
- package/tests/mcp/node/get-sfra-document.programmatic.test.js +0 -473
- package/tests/mcp/node/get-sfra-documents-by-category.docs-only.programmatic.test.js +0 -510
- package/tests/mcp/node/get-system-object-definition.full-mode.programmatic.test.js +0 -389
- package/tests/mcp/node/get-system-object-definitions.docs-only.programmatic.test.js +0 -300
- package/tests/mcp/node/get-system-object-definitions.full-mode.programmatic.test.js +0 -387
- package/tests/mcp/node/list-isml-elements.programmatic.test.js +0 -311
- package/tests/mcp/node/list-log-files.full-mode.programmatic.test.js +0 -150
- package/tests/mcp/node/list-sfcc-classes.docs-only.programmatic.test.js +0 -612
- package/tests/mcp/node/search-custom-object-attribute-definitions.full-mode.programmatic.test.js +0 -875
- package/tests/mcp/node/search-isml-elements.programmatic.test.js +0 -325
- package/tests/mcp/node/search-job-logs-by-name.full-mode.programmatic.test.js +0 -330
- package/tests/mcp/node/search-job-logs.full-mode.programmatic.test.js +0 -526
- package/tests/mcp/node/search-logs.full-mode.programmatic.test.js +0 -478
- package/tests/mcp/node/search-sfcc-classes.docs-only.programmatic.test.js +0 -334
- package/tests/mcp/node/search-sfcc-methods.docs-only.programmatic.test.js +0 -487
- package/tests/mcp/node/search-sfra-documentation.docs-only.programmatic.test.js +0 -563
- package/tests/mcp/node/search-site-preferences.full-mode.programmatic.test.js +0 -556
- package/tests/mcp/node/search-system-object-attribute-definitions.full-mode.programmatic.test.js +0 -744
- package/tests/mcp/node/search-system-object-attribute-groups.full-mode.programmatic.test.js +0 -657
- package/tests/mcp/node/summarize-logs.full-mode.programmatic.test.js +0 -357
- package/tests/mcp/node/tools.docs-only.programmatic.test.js +0 -515
- package/tests/mcp/node/tools.full-mode.programmatic.test.js +0 -154
- package/tests/mcp/test-fixtures/dw.json +0 -10
- package/tests/mcp/yaml/activate-code-version.docs-only.test.mcp.yml +0 -318
- package/tests/mcp/yaml/activate-code-version.full-mode.test.mcp.yml +0 -507
- package/tests/mcp/yaml/evaluate-script.full-mode.test.mcp.yml +0 -281
- package/tests/mcp/yaml/get-available-sfra-documents.docs-only.test.mcp.yml +0 -684
- package/tests/mcp/yaml/get-available-sfra-documents.full-mode.test.mcp.yml +0 -684
- package/tests/mcp/yaml/get-code-versions.docs-only.test.mcp.yml +0 -196
- package/tests/mcp/yaml/get-code-versions.full-mode.test.mcp.yml +0 -273
- package/tests/mcp/yaml/get-isml-categories.docs-only.test.mcp.yml +0 -330
- package/tests/mcp/yaml/get-isml-element.docs-only.test.mcp.yml +0 -294
- package/tests/mcp/yaml/get-isml-elements-by-category.docs-only.test.mcp.yml +0 -334
- package/tests/mcp/yaml/get-job-execution-summary.full-mode.test.mcp.yml +0 -148
- package/tests/mcp/yaml/get-job-log-entries.full-mode.test.mcp.yml +0 -284
- package/tests/mcp/yaml/get-latest-debug.full-mode.test.mcp.yml +0 -191
- package/tests/mcp/yaml/get-latest-error.full-mode.test.mcp.yml +0 -195
- package/tests/mcp/yaml/get-latest-info.full-mode.test.mcp.yml +0 -242
- package/tests/mcp/yaml/get-latest-job-log-files.full-mode.test.mcp.yml +0 -189
- package/tests/mcp/yaml/get-latest-warn.full-mode.test.mcp.yml +0 -182
- package/tests/mcp/yaml/get-log-file-contents.full-mode.test.mcp.yml +0 -256
- package/tests/mcp/yaml/get-sfcc-class-documentation.docs-only.test.mcp.yml +0 -2416
- package/tests/mcp/yaml/get-sfcc-class-documentation.full-mode.test.mcp.yml +0 -2416
- package/tests/mcp/yaml/get-sfcc-class-info.docs-only.test.mcp.yml +0 -1225
- package/tests/mcp/yaml/get-sfcc-class-info.full-mode.test.mcp.yml +0 -1225
- package/tests/mcp/yaml/get-sfra-categories.docs-only.test.mcp.yml +0 -452
- package/tests/mcp/yaml/get-sfra-categories.full-mode.test.mcp.yml +0 -452
- package/tests/mcp/yaml/get-sfra-document.docs-only.test.mcp.yml +0 -525
- package/tests/mcp/yaml/get-sfra-document.full-mode.test.mcp.yml +0 -525
- package/tests/mcp/yaml/get-sfra-documents-by-category.docs-only.test.mcp.yml +0 -507
- package/tests/mcp/yaml/get-sfra-documents-by-category.full-mode.test.mcp.yml +0 -507
- package/tests/mcp/yaml/get-system-object-definition.docs-only.test.mcp.yml +0 -208
- package/tests/mcp/yaml/get-system-object-definition.full-mode.test.mcp.yml +0 -191
- package/tests/mcp/yaml/get-system-object-definitions.docs-only.test.mcp.yml +0 -257
- package/tests/mcp/yaml/get-system-object-definitions.full-mode.test.mcp.yml +0 -517
- package/tests/mcp/yaml/get_latest_error.test.mcp.yml +0 -472
- package/tests/mcp/yaml/list-isml-elements.docs-only.test.mcp.yml +0 -212
- package/tests/mcp/yaml/list-log-files.full-mode.test.mcp.yml +0 -89
- package/tests/mcp/yaml/list-sfcc-classes.docs-only.test.mcp.yml +0 -511
- package/tests/mcp/yaml/list-sfcc-classes.full-mode.test.mcp.yml +0 -511
- package/tests/mcp/yaml/search-custom-object-attribute-definitions.docs-only.test.mcp.yml +0 -82
- package/tests/mcp/yaml/search-custom-object-attribute-definitions.test.mcp.yml +0 -387
- package/tests/mcp/yaml/search-isml-elements.docs-only.test.mcp.yml +0 -312
- package/tests/mcp/yaml/search-job-logs-by-name.full-mode.test.mcp.yml +0 -169
- package/tests/mcp/yaml/search-job-logs.full-mode.test.mcp.yml +0 -174
- package/tests/mcp/yaml/search-logs.full-mode.test.mcp.yml +0 -207
- package/tests/mcp/yaml/search-sfcc-classes.docs-only.test.mcp.yml +0 -1157
- package/tests/mcp/yaml/search-sfcc-classes.full-mode.test.mcp.yml +0 -1157
- package/tests/mcp/yaml/search-sfcc-methods.docs-only.test.mcp.yml +0 -723
- package/tests/mcp/yaml/search-sfcc-methods.full-mode.test.mcp.yml +0 -723
- package/tests/mcp/yaml/search-sfra-documentation.docs-only.test.mcp.yml +0 -427
- package/tests/mcp/yaml/search-sfra-documentation.full-mode.test.mcp.yml +0 -427
- package/tests/mcp/yaml/search-site-preferences.docs-only.test.mcp.yml +0 -295
- package/tests/mcp/yaml/search-site-preferences.full-mode.test.mcp.yml +0 -574
- package/tests/mcp/yaml/search-system-object-attribute-definitions.docs-only.test.mcp.yml +0 -168
- package/tests/mcp/yaml/search-system-object-attribute-definitions.full-mode.test.mcp.yml +0 -500
- package/tests/mcp/yaml/search-system-object-attribute-groups.docs-only.test.mcp.yml +0 -278
- package/tests/mcp/yaml/search-system-object-attribute-groups.full-mode.test.mcp.yml +0 -612
- package/tests/mcp/yaml/summarize-logs.full-mode.test.mcp.yml +0 -173
- package/tests/mcp/yaml/tools.docs-only.test.mcp.yml +0 -535
- package/tests/mcp/yaml/tools.full-mode.test.mcp.yml +0 -378
- package/tests/oauth-token.test.ts +0 -725
- package/tests/ocapi-auth-client.test.ts +0 -276
- package/tests/ocapi-client.test.ts +0 -242
- package/tests/path-service.test.ts +0 -96
- package/tests/query-builder.test.ts +0 -281
- package/tests/referenced-types-extractor.test.ts +0 -814
- package/tests/script-debugger-client.test.ts +0 -430
- package/tests/servers/sfcc-mock-server/README.md +0 -208
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/code-versions.json +0 -247
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/custom-object-attributes-customapi.json +0 -128
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/custom-object-attributes-globalsettings.json +0 -92
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/custom-object-attributes-versionhistory.json +0 -256
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/site-preferences-ccv.json +0 -275
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/site-preferences-fastforward.json +0 -123
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/site-preferences-sfra.json +0 -224
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/site-preferences-storefront.json +0 -447
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/site-preferences-system.json +0 -171
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-attribute-groups-campaign.json +0 -13
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-attribute-groups-category.json +0 -50
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-attribute-groups-order.json +0 -32
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-attribute-groups-product.json +0 -224
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-attribute-groups-sitepreferences.json +0 -62
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-attributes-customeraddress.json +0 -109
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-attributes-product-expanded.json +0 -183
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-attributes-product.json +0 -139
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-definition-category.json +0 -26
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-definition-customer.json +0 -26
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-definition-customeraddress.json +0 -26
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-definition-order.json +0 -26
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-definition-product.json +0 -26
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-definitions-old.json +0 -354
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-definitions.json +0 -172
- package/tests/servers/sfcc-mock-server/package-lock.json +0 -879
- package/tests/servers/sfcc-mock-server/package.json +0 -39
- package/tests/servers/sfcc-mock-server/scripts/setup-logs.js +0 -224
- package/tests/servers/sfcc-mock-server/server.js +0 -280
- package/tests/servers/sfcc-mock-server/src/app.js +0 -182
- package/tests/servers/sfcc-mock-server/src/config/server-config.js +0 -124
- package/tests/servers/sfcc-mock-server/src/middleware/auth.js +0 -101
- package/tests/servers/sfcc-mock-server/src/middleware/cors.js +0 -39
- package/tests/servers/sfcc-mock-server/src/middleware/logging.js +0 -124
- package/tests/servers/sfcc-mock-server/src/routes/cartridge-webdav.js +0 -258
- package/tests/servers/sfcc-mock-server/src/routes/ocapi/code-versions-handler.js +0 -184
- package/tests/servers/sfcc-mock-server/src/routes/ocapi/debugger-handler.js +0 -396
- package/tests/servers/sfcc-mock-server/src/routes/ocapi/oauth-handler.js +0 -36
- package/tests/servers/sfcc-mock-server/src/routes/ocapi/ocapi-error-utils.js +0 -221
- package/tests/servers/sfcc-mock-server/src/routes/ocapi/ocapi-utils.js +0 -440
- package/tests/servers/sfcc-mock-server/src/routes/ocapi/site-preferences-handler.js +0 -332
- package/tests/servers/sfcc-mock-server/src/routes/ocapi/system-objects-handler.js +0 -572
- package/tests/servers/sfcc-mock-server/src/routes/ocapi.js +0 -58
- package/tests/servers/sfcc-mock-server/src/routes/storefront.js +0 -86
- package/tests/servers/sfcc-mock-server/src/routes/webdav.js +0 -240
- package/tests/servers/sfcc-mock-server/src/utils/mock-data-loader.js +0 -84
- package/tests/servers/sfcc-mock-server/src/utils/webdav-xml.js +0 -121
- package/tests/servers/sfcc-mock-server-manager.ts +0 -280
- package/tests/sfcc-mock-server.test.ts +0 -423
- package/tests/site-preferences-client.test.ts +0 -358
- package/tests/system-objects-client.test.ts +0 -310
- package/tests/utils.test.ts +0 -477
- package/tests/validation-helpers.test.ts +0 -325
- package/tests/validator.test.ts +0 -416
- package/tests/workspace-roots.test.ts +0 -227
- package/tsconfig.json +0 -20
- package/tsconfig.test.json +0 -20
package/docs/isml/iscomponent.md
DELETED
|
@@ -1,797 +0,0 @@
|
|
|
1
|
-
# ISML iscomponent Element
|
|
2
|
-
|
|
3
|
-
## Overview
|
|
4
|
-
|
|
5
|
-
The `<iscomponent>` element includes the output of a pipeline or controller in the current page, functioning as a remote include with explicit pipeline-based syntax. It enables embedding reusable functionality encapsulated in pipelines/controllers while allowing independent caching policies. This element makes the purpose of remote includes obvious by directly associating them with specific pipelines or controllers.
|
|
6
|
-
|
|
7
|
-
**Key Difference from `<isinclude>`:** `<iscomponent>` performs a remote server request to execute a pipeline/controller, while `<isinclude>` (without `url` attribute) performs a local template include.
|
|
8
|
-
|
|
9
|
-
## Syntax
|
|
10
|
-
|
|
11
|
-
```isml
|
|
12
|
-
<iscomponent
|
|
13
|
-
pipeline = pipeline_name // required
|
|
14
|
-
locale = locale_name // optional
|
|
15
|
-
parameterN = valueN // zero or more custom parameters
|
|
16
|
-
/>
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
## Required Attributes
|
|
20
|
-
|
|
21
|
-
### pipeline
|
|
22
|
-
|
|
23
|
-
**Type:** String or Expression
|
|
24
|
-
**Required:** Yes
|
|
25
|
-
|
|
26
|
-
Specifies the name of the pipeline or controller to execute. Uses the full pipeline syntax: `Pipeline-Node` or `Controller-Endpoint`.
|
|
27
|
-
|
|
28
|
-
**Important:** SEO URLs cannot be used. You must use the full pipeline/controller syntax.
|
|
29
|
-
|
|
30
|
-
```isml
|
|
31
|
-
<!-- String literal -->
|
|
32
|
-
<iscomponent pipeline="Product-Show" />
|
|
33
|
-
|
|
34
|
-
<!-- Expression -->
|
|
35
|
-
<iscomponent pipeline="${pdict.componentPipeline}" />
|
|
36
|
-
|
|
37
|
-
<!-- SFRA Controller syntax -->
|
|
38
|
-
<iscomponent pipeline="Product-ShowQuickView" />
|
|
39
|
-
|
|
40
|
-
<!-- Legacy pipeline syntax -->
|
|
41
|
-
<iscomponent pipeline="Product-Show" />
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
**Examples:**
|
|
45
|
-
- `"Product-Show"` - Product controller Show endpoint
|
|
46
|
-
- `"Search-Show"` - Search controller Show endpoint
|
|
47
|
-
- `"Page-Include"` - Page controller Include endpoint
|
|
48
|
-
- `"Account-Header"` - Account controller Header endpoint
|
|
49
|
-
|
|
50
|
-
## Optional Attributes
|
|
51
|
-
|
|
52
|
-
### locale
|
|
53
|
-
|
|
54
|
-
**Type:** String or Expression
|
|
55
|
-
**Optional:** Yes
|
|
56
|
-
|
|
57
|
-
Specifies an optional locale for the pipeline call. Overrides the current request locale for the component execution.
|
|
58
|
-
|
|
59
|
-
```isml
|
|
60
|
-
<!-- String literal locale -->
|
|
61
|
-
<iscomponent pipeline="Product-Show" locale="en_US" productid="123" />
|
|
62
|
-
|
|
63
|
-
<!-- Expression locale -->
|
|
64
|
-
<iscomponent pipeline="Product-Show" locale="${pdict.preferredLocale}" productid="123" />
|
|
65
|
-
|
|
66
|
-
<!-- Default locale (from request) -->
|
|
67
|
-
<iscomponent pipeline="Product-Show" productid="123" />
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
**Use Cases:**
|
|
71
|
-
- Multi-language components
|
|
72
|
-
- Locale-specific content rendering
|
|
73
|
-
- International site components
|
|
74
|
-
|
|
75
|
-
### Custom Parameters (parameterN = valueN)
|
|
76
|
-
|
|
77
|
-
**Type:** Any (passed as query parameters)
|
|
78
|
-
**Optional:** Yes (zero or more)
|
|
79
|
-
|
|
80
|
-
Define any number of additional parameters that are passed to the pipeline/controller. These parameters are accessible in the controller via `request.httpParameterMap` or as query string parameters.
|
|
81
|
-
|
|
82
|
-
```isml
|
|
83
|
-
<!-- Single parameter -->
|
|
84
|
-
<iscomponent pipeline="Product-Show" productid="12345" />
|
|
85
|
-
|
|
86
|
-
<!-- Multiple parameters -->
|
|
87
|
-
<iscomponent
|
|
88
|
-
pipeline="Product-Show"
|
|
89
|
-
productid="12345"
|
|
90
|
-
name="Wide-screen television"
|
|
91
|
-
view="quickview"
|
|
92
|
-
/>
|
|
93
|
-
|
|
94
|
-
<!-- Expression parameters -->
|
|
95
|
-
<iscomponent
|
|
96
|
-
pipeline="Product-Show"
|
|
97
|
-
productid="${product.ID}"
|
|
98
|
-
source="recommendation"
|
|
99
|
-
/>
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
**In the controller, access parameters:**
|
|
103
|
-
```javascript
|
|
104
|
-
// Controller: Product-Show
|
|
105
|
-
server.get('Show', function (req, res, next) {
|
|
106
|
-
var productid = request.httpParameterMap.productid.stringValue;
|
|
107
|
-
var name = request.httpParameterMap.name.stringValue;
|
|
108
|
-
var view = request.httpParameterMap.view.stringValue;
|
|
109
|
-
|
|
110
|
-
// Use parameters to customize output
|
|
111
|
-
res.render('product/productQuickView', {
|
|
112
|
-
productID: productid,
|
|
113
|
-
productName: name,
|
|
114
|
-
viewType: view
|
|
115
|
-
});
|
|
116
|
-
|
|
117
|
-
next();
|
|
118
|
-
});
|
|
119
|
-
```
|
|
120
|
-
|
|
121
|
-
## Purpose
|
|
122
|
-
|
|
123
|
-
The `<iscomponent>` element serves several key purposes:
|
|
124
|
-
|
|
125
|
-
1. **Remote Pipeline Execution:** Execute a pipeline/controller and include its output
|
|
126
|
-
2. **Reusable Components:** Embed encapsulated functionality across multiple pages
|
|
127
|
-
3. **Independent Caching:** Allow component to have different caching policy than parent page
|
|
128
|
-
4. **Clear Intent:** Make the purpose of remote includes obvious through pipeline association
|
|
129
|
-
5. **Modular Architecture:** Separate concerns by isolating component logic in dedicated controllers
|
|
130
|
-
6. **Dynamic Content:** Include personalized or session-specific content in cached pages
|
|
131
|
-
|
|
132
|
-
### Technical Behavior
|
|
133
|
-
|
|
134
|
-
**Remote Include:**
|
|
135
|
-
- Performs a **server-side HTTP request** to the specified pipeline/controller
|
|
136
|
-
- Executes the pipeline/controller independently
|
|
137
|
-
- Returns rendered HTML that is inserted into the parent page
|
|
138
|
-
- Component has its own execution context and caching policy
|
|
139
|
-
|
|
140
|
-
**Caching Independence:**
|
|
141
|
-
- Parent page can be cached while component remains dynamic
|
|
142
|
-
- Component can be cached while parent page is dynamic
|
|
143
|
-
- Each has separate `<iscache>` directives
|
|
144
|
-
|
|
145
|
-
## Common Use Cases
|
|
146
|
-
|
|
147
|
-
### Product Quick View Modal
|
|
148
|
-
|
|
149
|
-
```isml
|
|
150
|
-
<!-- search/productGrid.isml (parent page - cached) -->
|
|
151
|
-
<iscache type="relative" hour="1"/>
|
|
152
|
-
|
|
153
|
-
<div class="product-grid">
|
|
154
|
-
<isloop items="${pdict.products}" var="product">
|
|
155
|
-
<div class="product-tile">
|
|
156
|
-
<h3>${product.name}</h3>
|
|
157
|
-
<button class="quick-view" data-pid="${product.id}">Quick View</button>
|
|
158
|
-
</div>
|
|
159
|
-
</isloop>
|
|
160
|
-
</div>
|
|
161
|
-
|
|
162
|
-
<!-- Modal container where quick view is loaded -->
|
|
163
|
-
<div id="quickview-modal" class="modal">
|
|
164
|
-
<!-- Component loaded here via AJAX when quick view clicked -->
|
|
165
|
-
</div>
|
|
166
|
-
```
|
|
167
|
-
|
|
168
|
-
```isml
|
|
169
|
-
<!-- product/quickView.isml (component - not cached) -->
|
|
170
|
-
<!-- No iscache - always fresh data -->
|
|
171
|
-
|
|
172
|
-
<iscomponent
|
|
173
|
-
pipeline="Product-ShowQuickView"
|
|
174
|
-
productid="${pdict.pid}"
|
|
175
|
-
source="quickview"
|
|
176
|
-
/>
|
|
177
|
-
```
|
|
178
|
-
|
|
179
|
-
```javascript
|
|
180
|
-
// Controller: Product-ShowQuickView
|
|
181
|
-
server.get('ShowQuickView', function (req, res, next) {
|
|
182
|
-
var ProductFactory = require('*/cartridge/scripts/factories/product');
|
|
183
|
-
var productID = request.httpParameterMap.productid.stringValue;
|
|
184
|
-
var product = ProductFactory.get(productID);
|
|
185
|
-
|
|
186
|
-
res.render('product/quickViewContent', {
|
|
187
|
-
product: product
|
|
188
|
-
});
|
|
189
|
-
|
|
190
|
-
next();
|
|
191
|
-
});
|
|
192
|
-
```
|
|
193
|
-
|
|
194
|
-
### Mini Cart (Dynamic in Cached Page)
|
|
195
|
-
|
|
196
|
-
```isml
|
|
197
|
-
<!-- homepage.isml (cached) -->
|
|
198
|
-
<iscache type="daily"/>
|
|
199
|
-
|
|
200
|
-
<!DOCTYPE html>
|
|
201
|
-
<html>
|
|
202
|
-
<head>
|
|
203
|
-
<title>Welcome</title>
|
|
204
|
-
</head>
|
|
205
|
-
<body>
|
|
206
|
-
<header>
|
|
207
|
-
<div class="logo">Company Logo</div>
|
|
208
|
-
|
|
209
|
-
<!-- Mini cart component (dynamic, not cached) -->
|
|
210
|
-
<iscomponent pipeline="Cart-MiniCart" />
|
|
211
|
-
</header>
|
|
212
|
-
|
|
213
|
-
<!-- Cached homepage content -->
|
|
214
|
-
<div class="homepage-content">
|
|
215
|
-
<!-- Static/cached content -->
|
|
216
|
-
</div>
|
|
217
|
-
</body>
|
|
218
|
-
</html>
|
|
219
|
-
```
|
|
220
|
-
|
|
221
|
-
```isml
|
|
222
|
-
<!-- cart/miniCart.isml (component) -->
|
|
223
|
-
<!-- No cache - always shows current basket -->
|
|
224
|
-
|
|
225
|
-
<div class="mini-cart">
|
|
226
|
-
<span class="item-count">${pdict.Basket.productQuantityTotal}</span>
|
|
227
|
-
<span class="total">${pdict.Basket.totalGrossPrice}</span>
|
|
228
|
-
|
|
229
|
-
<div class="mini-cart-dropdown">
|
|
230
|
-
<isloop items="${pdict.Basket.productLineItems}" var="item">
|
|
231
|
-
<div class="mini-cart-item">
|
|
232
|
-
<span>${item.productName}</span>
|
|
233
|
-
<span>${item.price}</span>
|
|
234
|
-
</div>
|
|
235
|
-
</isloop>
|
|
236
|
-
</div>
|
|
237
|
-
</div>
|
|
238
|
-
```
|
|
239
|
-
|
|
240
|
-
### User Account Greeting
|
|
241
|
-
|
|
242
|
-
```isml
|
|
243
|
-
<!-- Cached page with dynamic greeting -->
|
|
244
|
-
<iscache type="relative" hour="2"/>
|
|
245
|
-
|
|
246
|
-
<div class="page-header">
|
|
247
|
-
<!-- Dynamic user greeting (not cached) -->
|
|
248
|
-
<iscomponent pipeline="Account-Header" />
|
|
249
|
-
|
|
250
|
-
<!-- Cached page content -->
|
|
251
|
-
<div class="content">
|
|
252
|
-
<!-- Static content -->
|
|
253
|
-
</div>
|
|
254
|
-
</div>
|
|
255
|
-
```
|
|
256
|
-
|
|
257
|
-
```isml
|
|
258
|
-
<!-- account/header.isml -->
|
|
259
|
-
<div class="user-greeting">
|
|
260
|
-
<isif condition="${customer.authenticated}">
|
|
261
|
-
<span>Welcome back, ${customer.profile.firstName}!</span>
|
|
262
|
-
<a href="${URLUtils.url('Account-Show')}">My Account</a>
|
|
263
|
-
<iselse>
|
|
264
|
-
<a href="${URLUtils.url('Login-Show')}">Sign In</a>
|
|
265
|
-
</isif>
|
|
266
|
-
</div>
|
|
267
|
-
```
|
|
268
|
-
|
|
269
|
-
### Product Recommendations (Personalized)
|
|
270
|
-
|
|
271
|
-
```isml
|
|
272
|
-
<!-- product/productDetails.isml (cached) -->
|
|
273
|
-
<iscache type="relative" hour="1"/>
|
|
274
|
-
|
|
275
|
-
<div class="product-detail">
|
|
276
|
-
<h1>${pdict.Product.name}</h1>
|
|
277
|
-
<p>${pdict.Product.longDescription}</p>
|
|
278
|
-
|
|
279
|
-
<!-- Static product details (cached) -->
|
|
280
|
-
</div>
|
|
281
|
-
|
|
282
|
-
<!-- Einstein recommendations (personalized, not cached) -->
|
|
283
|
-
<div class="recommendations">
|
|
284
|
-
<h2>Recommended for You</h2>
|
|
285
|
-
<iscomponent
|
|
286
|
-
pipeline="Einstein-Recommendations"
|
|
287
|
-
productid="${pdict.Product.ID}"
|
|
288
|
-
type="pdp-recs"
|
|
289
|
-
/>
|
|
290
|
-
</div>
|
|
291
|
-
```
|
|
292
|
-
|
|
293
|
-
### Locale-Specific Content
|
|
294
|
-
|
|
295
|
-
```isml
|
|
296
|
-
<!-- Multi-language footer component -->
|
|
297
|
-
<div class="page-footer">
|
|
298
|
-
<iscomponent
|
|
299
|
-
pipeline="Page-Footer"
|
|
300
|
-
locale="en_US"
|
|
301
|
-
/>
|
|
302
|
-
</div>
|
|
303
|
-
|
|
304
|
-
<!-- Or dynamic locale -->
|
|
305
|
-
<div class="page-footer">
|
|
306
|
-
<iscomponent
|
|
307
|
-
pipeline="Page-Footer"
|
|
308
|
-
locale="${pdict.currentLocale}"
|
|
309
|
-
/>
|
|
310
|
-
</div>
|
|
311
|
-
```
|
|
312
|
-
|
|
313
|
-
### Store Locator Widget
|
|
314
|
-
|
|
315
|
-
```isml
|
|
316
|
-
<!-- Homepage with store locator -->
|
|
317
|
-
<iscache type="daily"/>
|
|
318
|
-
|
|
319
|
-
<div class="homepage">
|
|
320
|
-
<h1>Welcome to Our Store</h1>
|
|
321
|
-
|
|
322
|
-
<!-- Store locator component (may have different cache) -->
|
|
323
|
-
<iscomponent
|
|
324
|
-
pipeline="Stores-NearestStores"
|
|
325
|
-
lat="${pdict.userLat}"
|
|
326
|
-
lng="${pdict.userLng}"
|
|
327
|
-
limit="5"
|
|
328
|
-
/>
|
|
329
|
-
</div>
|
|
330
|
-
```
|
|
331
|
-
|
|
332
|
-
### Recently Viewed Products
|
|
333
|
-
|
|
334
|
-
```isml
|
|
335
|
-
<!-- Cached product page with dynamic recently viewed -->
|
|
336
|
-
<iscache type="relative" hour="1" varyby="price_promotion"/>
|
|
337
|
-
|
|
338
|
-
<div class="product-page">
|
|
339
|
-
<!-- Product details (cached) -->
|
|
340
|
-
|
|
341
|
-
<div class="recently-viewed">
|
|
342
|
-
<h3>Recently Viewed</h3>
|
|
343
|
-
<!-- Dynamic, session-specific content -->
|
|
344
|
-
<iscomponent pipeline="Product-RecentlyViewed" />
|
|
345
|
-
</div>
|
|
346
|
-
</div>
|
|
347
|
-
```
|
|
348
|
-
|
|
349
|
-
### Promotional Banner (Time-Sensitive)
|
|
350
|
-
|
|
351
|
-
```isml
|
|
352
|
-
<!-- Cached page with dynamic promotional banner -->
|
|
353
|
-
<iscache type="relative" hour="4"/>
|
|
354
|
-
|
|
355
|
-
<div class="homepage">
|
|
356
|
-
<!-- Dynamic promotional banner (updates every 15 minutes) -->
|
|
357
|
-
<iscomponent pipeline="Content-PromotionalBanner" />
|
|
358
|
-
|
|
359
|
-
<!-- Cached homepage content (updates every 4 hours) -->
|
|
360
|
-
<div class="featured-products">
|
|
361
|
-
<!-- Products -->
|
|
362
|
-
</div>
|
|
363
|
-
</div>
|
|
364
|
-
```
|
|
365
|
-
|
|
366
|
-
Component can have shorter cache:
|
|
367
|
-
```isml
|
|
368
|
-
<!-- content/promotionalBanner.isml -->
|
|
369
|
-
<iscache type="relative" minute="15"/>
|
|
370
|
-
|
|
371
|
-
<div class="promo-banner">
|
|
372
|
-
<img src="${pdict.banner.imageURL}" alt="${pdict.banner.alt}" />
|
|
373
|
-
<h2>${pdict.banner.headline}</h2>
|
|
374
|
-
</div>
|
|
375
|
-
```
|
|
376
|
-
|
|
377
|
-
## Best Practices
|
|
378
|
-
|
|
379
|
-
1. **Use for Dynamic Content in Cached Pages:**
|
|
380
|
-
```isml
|
|
381
|
-
<!-- Cached page -->
|
|
382
|
-
<iscache type="relative" hour="2"/>
|
|
383
|
-
|
|
384
|
-
<!-- Dynamic component -->
|
|
385
|
-
<iscomponent pipeline="Cart-MiniCart" />
|
|
386
|
-
```
|
|
387
|
-
|
|
388
|
-
2. **Pass All Required Parameters:**
|
|
389
|
-
```isml
|
|
390
|
-
<!-- Good: All parameters provided -->
|
|
391
|
-
<iscomponent
|
|
392
|
-
pipeline="Product-Show"
|
|
393
|
-
productid="${product.ID}"
|
|
394
|
-
view="quickview"
|
|
395
|
-
/>
|
|
396
|
-
|
|
397
|
-
<!-- Bad: Missing required parameter -->
|
|
398
|
-
<iscomponent pipeline="Product-Show" />
|
|
399
|
-
```
|
|
400
|
-
|
|
401
|
-
3. **Use Descriptive Parameter Names:**
|
|
402
|
-
```isml
|
|
403
|
-
<!-- Good: Clear parameter names -->
|
|
404
|
-
<iscomponent
|
|
405
|
-
pipeline="Search-Show"
|
|
406
|
-
query="${searchTerm}"
|
|
407
|
-
category="${categoryID}"
|
|
408
|
-
resultsPerPage="12"
|
|
409
|
-
/>
|
|
410
|
-
```
|
|
411
|
-
|
|
412
|
-
4. **Handle Component Errors Gracefully:**
|
|
413
|
-
```isml
|
|
414
|
-
<!-- In parent template -->
|
|
415
|
-
<iscomponent pipeline="Recommendations-Show" productid="${pdict.Product.ID}" />
|
|
416
|
-
|
|
417
|
-
<!-- In component controller -->
|
|
418
|
-
// Handle missing product gracefully
|
|
419
|
-
if (!product) {
|
|
420
|
-
res.render('components/empty');
|
|
421
|
-
return next();
|
|
422
|
-
}
|
|
423
|
-
```
|
|
424
|
-
|
|
425
|
-
5. **Consider Performance Impact:**
|
|
426
|
-
```isml
|
|
427
|
-
<iscomment>
|
|
428
|
-
Each iscomponent is a separate server request
|
|
429
|
-
Use sparingly to avoid performance degradation
|
|
430
|
-
</iscomment>
|
|
431
|
-
|
|
432
|
-
<!-- Good: One component for related functionality -->
|
|
433
|
-
<iscomponent pipeline="Product-Recommendations" />
|
|
434
|
-
|
|
435
|
-
<!-- Bad: Multiple separate components for same feature -->
|
|
436
|
-
<iscomponent pipeline="Product-Recommendation1" />
|
|
437
|
-
<iscomponent pipeline="Product-Recommendation2" />
|
|
438
|
-
<iscomponent pipeline="Product-Recommendation3" />
|
|
439
|
-
```
|
|
440
|
-
|
|
441
|
-
6. **Use Full Pipeline Syntax:**
|
|
442
|
-
```isml
|
|
443
|
-
<!-- Good: Full pipeline syntax -->
|
|
444
|
-
<iscomponent pipeline="Product-Show" />
|
|
445
|
-
|
|
446
|
-
<!-- Bad: SEO URL (not supported) -->
|
|
447
|
-
<iscomponent pipeline="/product/wide-screen-tv-12345.html" />
|
|
448
|
-
```
|
|
449
|
-
|
|
450
|
-
7. **Document Component Dependencies:**
|
|
451
|
-
```isml
|
|
452
|
-
<iscomment>
|
|
453
|
-
User Greeting Component
|
|
454
|
-
Pipeline: Account-Header
|
|
455
|
-
Required Parameters: None
|
|
456
|
-
Caching: Not cached (session-specific)
|
|
457
|
-
Purpose: Display user greeting or login link
|
|
458
|
-
</iscomment>
|
|
459
|
-
|
|
460
|
-
<iscomponent pipeline="Account-Header" />
|
|
461
|
-
```
|
|
462
|
-
|
|
463
|
-
8. **Test Component Independently:**
|
|
464
|
-
```javascript
|
|
465
|
-
// Component should work standalone
|
|
466
|
-
server.get('MiniCart', function (req, res, next) {
|
|
467
|
-
var BasketMgr = require('dw/order/BasketMgr');
|
|
468
|
-
var basket = BasketMgr.getCurrentBasket();
|
|
469
|
-
|
|
470
|
-
// Render even if no basket
|
|
471
|
-
res.render('components/miniCart', {
|
|
472
|
-
Basket: basket || null
|
|
473
|
-
});
|
|
474
|
-
|
|
475
|
-
next();
|
|
476
|
-
});
|
|
477
|
-
```
|
|
478
|
-
|
|
479
|
-
## Caching Strategies
|
|
480
|
-
|
|
481
|
-
### Parent Cached, Component Dynamic
|
|
482
|
-
|
|
483
|
-
```isml
|
|
484
|
-
<!-- Parent: category.isml -->
|
|
485
|
-
<iscache type="relative" hour="2"/>
|
|
486
|
-
|
|
487
|
-
<div class="category-page">
|
|
488
|
-
<!-- Cached category content -->
|
|
489
|
-
|
|
490
|
-
<!-- Dynamic user-specific content -->
|
|
491
|
-
<iscomponent pipeline="User-Recommendations" />
|
|
492
|
-
</div>
|
|
493
|
-
```
|
|
494
|
-
|
|
495
|
-
**Use Case:** Category page content rarely changes, but recommendations are personalized.
|
|
496
|
-
|
|
497
|
-
### Parent Dynamic, Component Cached
|
|
498
|
-
|
|
499
|
-
```isml
|
|
500
|
-
<!-- Parent: account.isml -->
|
|
501
|
-
<!-- No cache (user-specific) -->
|
|
502
|
-
|
|
503
|
-
<div class="account-page">
|
|
504
|
-
<h1>My Account</h1>
|
|
505
|
-
<p>Welcome, ${customer.profile.firstName}!</p>
|
|
506
|
-
|
|
507
|
-
<!-- Cached help content (same for all users) -->
|
|
508
|
-
<iscomponent pipeline="Content-HelpSection" />
|
|
509
|
-
</div>
|
|
510
|
-
```
|
|
511
|
-
|
|
512
|
-
**Use Case:** Account page is personalized, but help content is static.
|
|
513
|
-
|
|
514
|
-
### Both Cached (Different Durations)
|
|
515
|
-
|
|
516
|
-
```isml
|
|
517
|
-
<!-- Parent: homepage.isml -->
|
|
518
|
-
<iscache type="daily"/>
|
|
519
|
-
|
|
520
|
-
<div class="homepage">
|
|
521
|
-
<!-- Daily cache -->
|
|
522
|
-
|
|
523
|
-
<!-- Component with shorter cache -->
|
|
524
|
-
<iscomponent pipeline="Content-DailyDeal" />
|
|
525
|
-
</div>
|
|
526
|
-
```
|
|
527
|
-
|
|
528
|
-
Component:
|
|
529
|
-
```isml
|
|
530
|
-
<!-- content/dailyDeal.isml -->
|
|
531
|
-
<iscache type="relative" hour="1"/>
|
|
532
|
-
|
|
533
|
-
<div class="daily-deal">
|
|
534
|
-
<!-- Updates every hour -->
|
|
535
|
-
</div>
|
|
536
|
-
```
|
|
537
|
-
|
|
538
|
-
**Use Case:** Homepage updates daily, but daily deal changes hourly.
|
|
539
|
-
|
|
540
|
-
### Both Dynamic (Different Logic)
|
|
541
|
-
|
|
542
|
-
```isml
|
|
543
|
-
<!-- Parent: checkout.isml -->
|
|
544
|
-
<!-- No cache (order-specific) -->
|
|
545
|
-
|
|
546
|
-
<div class="checkout-page">
|
|
547
|
-
<!-- Order details -->
|
|
548
|
-
|
|
549
|
-
<!-- Dynamic shipping options component -->
|
|
550
|
-
<iscomponent
|
|
551
|
-
pipeline="Checkout-ShippingOptions"
|
|
552
|
-
addressid="${pdict.shippingAddress.ID}"
|
|
553
|
-
/>
|
|
554
|
-
</div>
|
|
555
|
-
```
|
|
556
|
-
|
|
557
|
-
**Use Case:** Both need to be dynamic but have separate concerns.
|
|
558
|
-
|
|
559
|
-
## Comparison with Other Include Methods
|
|
560
|
-
|
|
561
|
-
| Feature | `<iscomponent>` | `<isinclude template>` | `<isinclude url>` |
|
|
562
|
-
|---------|----------------|----------------------|------------------|
|
|
563
|
-
| **Type** | Remote (server request) | Local (file include) | Remote (HTTP request) |
|
|
564
|
-
| **Execution** | Pipeline/Controller | Template only | Any URL |
|
|
565
|
-
| **Caching** | Independent | Inherits parent | Independent |
|
|
566
|
-
| **Parameters** | Custom attributes | pdict only | URL parameters |
|
|
567
|
-
| **Performance** | Slower (HTTP) | Fast (file) | Slower (HTTP) |
|
|
568
|
-
| **Use Case** | Reusable components | Template fragments | External content |
|
|
569
|
-
| **Syntax** | Pipeline-based | File path | Full URL |
|
|
570
|
-
|
|
571
|
-
```isml
|
|
572
|
-
<!-- iscomponent: Remote pipeline execution -->
|
|
573
|
-
<iscomponent pipeline="Product-Show" productid="123" />
|
|
574
|
-
|
|
575
|
-
<!-- isinclude template: Local template include -->
|
|
576
|
-
<isinclude template="components/productTile" />
|
|
577
|
-
|
|
578
|
-
<!-- isinclude url: Remote URL include -->
|
|
579
|
-
<isinclude url="${URLUtils.url('Product-Show', 'pid', '123')}" />
|
|
580
|
-
```
|
|
581
|
-
|
|
582
|
-
## Parameter Handling
|
|
583
|
-
|
|
584
|
-
### Accessing Parameters in Controller
|
|
585
|
-
|
|
586
|
-
```javascript
|
|
587
|
-
// SFRA Controller
|
|
588
|
-
server.get('ShowQuickView', function (req, res, next) {
|
|
589
|
-
// Method 1: httpParameterMap
|
|
590
|
-
var productID = request.httpParameterMap.productid.stringValue;
|
|
591
|
-
var source = request.httpParameterMap.source.stringValue;
|
|
592
|
-
|
|
593
|
-
// Method 2: req.querystring (SFRA)
|
|
594
|
-
var productID = req.querystring.productid;
|
|
595
|
-
var source = req.querystring.source;
|
|
596
|
-
|
|
597
|
-
res.render('template', {
|
|
598
|
-
productID: productID,
|
|
599
|
-
source: source
|
|
600
|
-
});
|
|
601
|
-
|
|
602
|
-
next();
|
|
603
|
-
});
|
|
604
|
-
```
|
|
605
|
-
|
|
606
|
-
### Parameter Types
|
|
607
|
-
|
|
608
|
-
```isml
|
|
609
|
-
<!-- String parameters -->
|
|
610
|
-
<iscomponent pipeline="Product-Show" productid="12345" />
|
|
611
|
-
|
|
612
|
-
<!-- Numeric parameters -->
|
|
613
|
-
<iscomponent pipeline="Search-Show" start="0" count="12" />
|
|
614
|
-
|
|
615
|
-
<!-- Boolean parameters -->
|
|
616
|
-
<iscomponent pipeline="Content-Show" showprices="true" />
|
|
617
|
-
|
|
618
|
-
<!-- Expression parameters -->
|
|
619
|
-
<iscomponent
|
|
620
|
-
pipeline="Product-Show"
|
|
621
|
-
productid="${product.ID}"
|
|
622
|
-
quantity="${selectedQuantity}"
|
|
623
|
-
/>
|
|
624
|
-
```
|
|
625
|
-
|
|
626
|
-
## Error Handling
|
|
627
|
-
|
|
628
|
-
### Component Controller Error Handling
|
|
629
|
-
|
|
630
|
-
```javascript
|
|
631
|
-
server.get('Recommendations', function (req, res, next) {
|
|
632
|
-
try {
|
|
633
|
-
var productID = request.httpParameterMap.productid.stringValue;
|
|
634
|
-
|
|
635
|
-
if (!productID) {
|
|
636
|
-
// Render empty component
|
|
637
|
-
res.render('components/empty');
|
|
638
|
-
return next();
|
|
639
|
-
}
|
|
640
|
-
|
|
641
|
-
var recommendations = getRecommendations(productID);
|
|
642
|
-
|
|
643
|
-
res.render('components/recommendations', {
|
|
644
|
-
recommendations: recommendations
|
|
645
|
-
});
|
|
646
|
-
} catch (e) {
|
|
647
|
-
// Log error and render fallback
|
|
648
|
-
Logger.error('Recommendations component failed: ' + e.message);
|
|
649
|
-
res.render('components/empty');
|
|
650
|
-
}
|
|
651
|
-
|
|
652
|
-
next();
|
|
653
|
-
});
|
|
654
|
-
```
|
|
655
|
-
|
|
656
|
-
### Parent Template Error Handling
|
|
657
|
-
|
|
658
|
-
```isml
|
|
659
|
-
<!-- Component may fail gracefully -->
|
|
660
|
-
<div class="recommendations">
|
|
661
|
-
<iscomponent
|
|
662
|
-
pipeline="Einstein-Recommendations"
|
|
663
|
-
productid="${pdict.Product.ID}"
|
|
664
|
-
/>
|
|
665
|
-
<!-- If component fails, renders empty or fallback -->
|
|
666
|
-
</div>
|
|
667
|
-
|
|
668
|
-
<!-- Page continues normally -->
|
|
669
|
-
<div class="product-details">
|
|
670
|
-
<!-- Product information -->
|
|
671
|
-
</div>
|
|
672
|
-
```
|
|
673
|
-
|
|
674
|
-
## Performance Considerations
|
|
675
|
-
|
|
676
|
-
### Impact
|
|
677
|
-
|
|
678
|
-
- **Server Request:** Each `<iscomponent>` performs a separate server-side HTTP request
|
|
679
|
-
- **Latency:** Adds latency to page rendering (sequential execution)
|
|
680
|
-
- **Resource Usage:** Multiple components increase server load
|
|
681
|
-
|
|
682
|
-
### Optimization Strategies
|
|
683
|
-
|
|
684
|
-
1. **Minimize Component Count:**
|
|
685
|
-
```isml
|
|
686
|
-
<!-- Better: One component -->
|
|
687
|
-
<iscomponent pipeline="Product-AllRecommendations" />
|
|
688
|
-
|
|
689
|
-
<!-- Avoid: Multiple components -->
|
|
690
|
-
<iscomponent pipeline="Product-Recommendation1" />
|
|
691
|
-
<iscomponent pipeline="Product-Recommendation2" />
|
|
692
|
-
<iscomponent pipeline="Product-Recommendation3" />
|
|
693
|
-
```
|
|
694
|
-
|
|
695
|
-
2. **Cache Components When Possible:**
|
|
696
|
-
```isml
|
|
697
|
-
<!-- Component template with caching -->
|
|
698
|
-
<iscache type="relative" minute="30"/>
|
|
699
|
-
|
|
700
|
-
<div class="component-content">
|
|
701
|
-
<!-- Cached component output -->
|
|
702
|
-
</div>
|
|
703
|
-
```
|
|
704
|
-
|
|
705
|
-
3. **Use Async Loading for Non-Critical Components:**
|
|
706
|
-
```isml
|
|
707
|
-
<!-- Critical content -->
|
|
708
|
-
<div class="main-content">
|
|
709
|
-
${pdict.Product.name}
|
|
710
|
-
</div>
|
|
711
|
-
|
|
712
|
-
<!-- Non-critical component (could be AJAX-loaded) -->
|
|
713
|
-
<div id="recommendations-container" data-pid="${pdict.Product.ID}">
|
|
714
|
-
<!-- Load via JavaScript after page load -->
|
|
715
|
-
</div>
|
|
716
|
-
```
|
|
717
|
-
|
|
718
|
-
4. **Combine Related Functionality:**
|
|
719
|
-
```javascript
|
|
720
|
-
// Good: One controller handles related data
|
|
721
|
-
server.get('ProductExtras', function (req, res, next) {
|
|
722
|
-
var recommendations = getRecommendations(productID);
|
|
723
|
-
var reviews = getReviews(productID);
|
|
724
|
-
var relatedProducts = getRelatedProducts(productID);
|
|
725
|
-
|
|
726
|
-
res.render('components/productExtras', {
|
|
727
|
-
recommendations: recommendations,
|
|
728
|
-
reviews: reviews,
|
|
729
|
-
relatedProducts: relatedProducts
|
|
730
|
-
});
|
|
731
|
-
|
|
732
|
-
next();
|
|
733
|
-
});
|
|
734
|
-
```
|
|
735
|
-
|
|
736
|
-
## SEO and URL Considerations
|
|
737
|
-
|
|
738
|
-
⚠️ **Important:** SEO URLs cannot be used with `<iscomponent>`.
|
|
739
|
-
|
|
740
|
-
```isml
|
|
741
|
-
<!-- Good: Full pipeline syntax -->
|
|
742
|
-
<iscomponent pipeline="Product-Show" productid="12345" />
|
|
743
|
-
|
|
744
|
-
<!-- Bad: SEO URL (NOT SUPPORTED) -->
|
|
745
|
-
<iscomponent pipeline="/product/wide-screen-tv-12345.html" />
|
|
746
|
-
|
|
747
|
-
<!-- Bad: Pretty URL (NOT SUPPORTED) -->
|
|
748
|
-
<iscomponent pipeline="/s/Site/Product-Show?pid=12345" />
|
|
749
|
-
```
|
|
750
|
-
|
|
751
|
-
**Always use:** `Controller-Endpoint` format.
|
|
752
|
-
|
|
753
|
-
## Related Elements
|
|
754
|
-
|
|
755
|
-
- `<isinclude template>` - Local template include (faster, shares cache)
|
|
756
|
-
- `<isinclude url>` - Remote URL include (similar to iscomponent)
|
|
757
|
-
- `<iscache>` - Control caching policy for component
|
|
758
|
-
- `<isdecorate>` - Template decoration (use with components)
|
|
759
|
-
|
|
760
|
-
## Notes
|
|
761
|
-
|
|
762
|
-
- Performs remote server-side HTTP request to execute pipeline/controller
|
|
763
|
-
- Each component has independent caching policy
|
|
764
|
-
- Parameters passed as query string parameters
|
|
765
|
-
- Full pipeline syntax required (SEO URLs not supported)
|
|
766
|
-
- Slower than local includes due to HTTP request overhead
|
|
767
|
-
- Ideal for embedding reusable, encapsulated functionality
|
|
768
|
-
- Component can be personalized while parent page is cached
|
|
769
|
-
- Use sparingly to avoid performance degradation
|
|
770
|
-
- Component failures should be handled gracefully
|
|
771
|
-
- Makes remote include purpose obvious through pipeline association
|
|
772
|
-
|
|
773
|
-
## Migration Notes
|
|
774
|
-
|
|
775
|
-
### Legacy Pipelines to SFRA Controllers
|
|
776
|
-
|
|
777
|
-
```isml
|
|
778
|
-
<!-- Legacy Pipeline Syntax -->
|
|
779
|
-
<iscomponent pipeline="Product-Show" productid="12345" />
|
|
780
|
-
|
|
781
|
-
<!-- SFRA Controller Syntax (same format) -->
|
|
782
|
-
<iscomponent pipeline="Product-Show" productid="12345" />
|
|
783
|
-
```
|
|
784
|
-
|
|
785
|
-
The syntax remains the same; only the underlying implementation changes from pipelines to SFRA controllers.
|
|
786
|
-
|
|
787
|
-
### Converting Remote Includes to iscomponent
|
|
788
|
-
|
|
789
|
-
```isml
|
|
790
|
-
<!-- Before: Remote include with URL -->
|
|
791
|
-
<isinclude url="${URLUtils.url('Product-Show', 'pid', '12345')}" />
|
|
792
|
-
|
|
793
|
-
<!-- After: Component (clearer intent) -->
|
|
794
|
-
<iscomponent pipeline="Product-Show" productid="12345" />
|
|
795
|
-
```
|
|
796
|
-
|
|
797
|
-
Benefits: Clearer purpose, easier to understand, more maintainable.
|