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/isinclude.md
DELETED
|
@@ -1,874 +0,0 @@
|
|
|
1
|
-
# ISML isinclude Element
|
|
2
|
-
|
|
3
|
-
## Overview
|
|
4
|
-
|
|
5
|
-
The `<isinclude>` element includes the contents of one template inside another (local include) or the contents of a URL (remote include). This enables template composition, code reuse, and dynamic content assembly without client-side frames.
|
|
6
|
-
|
|
7
|
-
**Key Use Cases:** Reusable components (headers, footers, navigation), dynamic content insertion, server-side template composition, and avoiding client-side frame limitations.
|
|
8
|
-
|
|
9
|
-
## Syntax
|
|
10
|
-
|
|
11
|
-
```isml
|
|
12
|
-
<isinclude
|
|
13
|
-
(template="template_name") | (url="url_path") // required - one or the other, not both
|
|
14
|
-
sf-toolkit="on" | "off" // optional (default: "on")
|
|
15
|
-
/>
|
|
16
|
-
```
|
|
17
|
-
|
|
18
|
-
## Required Attributes
|
|
19
|
-
|
|
20
|
-
### template OR url (Mutually Exclusive)
|
|
21
|
-
|
|
22
|
-
**You must specify either `template` OR `url`, but not both.**
|
|
23
|
-
|
|
24
|
-
#### template
|
|
25
|
-
|
|
26
|
-
**Type:** String or Expression
|
|
27
|
-
**Required:** Yes (if `url` is not specified)
|
|
28
|
-
|
|
29
|
-
Specifies the name and location of the template to include. This is a **local include** where the ISML code is processed by the application server.
|
|
30
|
-
|
|
31
|
-
**Path Specification:**
|
|
32
|
-
- Relative to cartridge's `templates/default` directory
|
|
33
|
-
- Can use forward slashes (`/`) only (no backslashes)
|
|
34
|
-
- File extension `.isml` is optional (automatically appended if missing)
|
|
35
|
-
- Can be a fixed string or dynamic expression
|
|
36
|
-
- Maximum include depth: **20 levels**
|
|
37
|
-
|
|
38
|
-
**Examples:**
|
|
39
|
-
```isml
|
|
40
|
-
<!-- Fixed template name -->
|
|
41
|
-
<isinclude template="inc/blueBar"/>
|
|
42
|
-
|
|
43
|
-
<!-- With .isml extension (optional) -->
|
|
44
|
-
<isinclude template="reporting/ReportABTesting.isml"/>
|
|
45
|
-
|
|
46
|
-
<!-- Expression-based (dynamic template selection) -->
|
|
47
|
-
<isinclude template="${pdict.Content.template}"/>
|
|
48
|
-
|
|
49
|
-
<!-- Dynamic template selection -->
|
|
50
|
-
<isinclude template="${'ProductTemplates/Template' + pdict.product.templateNumber}"/>
|
|
51
|
-
|
|
52
|
-
<!-- Common components -->
|
|
53
|
-
<isinclude template="common/header"/>
|
|
54
|
-
<isinclude template="common/footer"/>
|
|
55
|
-
<isinclude template="components/breadcrumbs"/>
|
|
56
|
-
```
|
|
57
|
-
|
|
58
|
-
#### url
|
|
59
|
-
|
|
60
|
-
**Type:** String or Expression
|
|
61
|
-
**Required:** Yes (if `template` is not specified)
|
|
62
|
-
|
|
63
|
-
Specifies a URL to include via HTTP(S) connection. This is a **remote include** where content is fetched from a URL (typically on the same server) and the ISML code is **not processed**.
|
|
64
|
-
|
|
65
|
-
**Important Restrictions:**
|
|
66
|
-
- Includes from another server are **not supported**
|
|
67
|
-
- SEO URLs **cannot** be included remotely
|
|
68
|
-
- Maximum include depth: **16 levels**
|
|
69
|
-
|
|
70
|
-
**Use Cases:**
|
|
71
|
-
- Embed dynamic content with different caching policies
|
|
72
|
-
- Trigger another pipeline for content generation
|
|
73
|
-
- Combine data from multiple sources into one template
|
|
74
|
-
|
|
75
|
-
**Examples:**
|
|
76
|
-
```isml
|
|
77
|
-
<!-- Using URLUtils to construct URL -->
|
|
78
|
-
<isinclude url="${URLUtils.url('Page-Include', 'cid', 'COOKIE_TEST')}"/>
|
|
79
|
-
|
|
80
|
-
<!-- Pipeline trigger for hot deals -->
|
|
81
|
-
<isinclude url="${URLUtils.url('BrowseCatalog-Hotdeals', 'catalogCategoryID', 'Storefront')}"/>
|
|
82
|
-
|
|
83
|
-
<!-- Content asset include -->
|
|
84
|
-
<isinclude url="${URLUtils.url('Page-Show', 'cid', pdict.contentAssetID)}"/>
|
|
85
|
-
|
|
86
|
-
<!-- Dynamic URL -->
|
|
87
|
-
<isinclude url="${pdict.remoteContentURL}"/>
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
## Optional Attributes
|
|
91
|
-
|
|
92
|
-
### sf-toolkit
|
|
93
|
-
|
|
94
|
-
**Type:** String
|
|
95
|
-
**Allowed Values:** `"on"`, `"off"`
|
|
96
|
-
**Default:** `"on"`
|
|
97
|
-
**Optional:** Yes
|
|
98
|
-
|
|
99
|
-
Controls whether the `dwMarker` tag is rendered around included content when the Storefront Toolkit is enabled.
|
|
100
|
-
|
|
101
|
-
**Purpose:** Suppress `dwMarker` tags that can cause Internet Explorer to enter Quirks mode.
|
|
102
|
-
|
|
103
|
-
**dwMarker Tag Example:**
|
|
104
|
-
```html
|
|
105
|
-
<!-- dwMarker="linclude" dwTemplateTitle="/default/test/customassets.isml (SiteGenesis Storefront cartridge)" dwTemplateURL="http://localhost:60606/target=/c/sitegenesis_storefront_richUI/t/default/test/customassets.isml" -->
|
|
106
|
-
<!DOCTYPE html>
|
|
107
|
-
```
|
|
108
|
-
|
|
109
|
-
**Values:**
|
|
110
|
-
- `"on"` (default): Renders `dwMarker` tags when Storefront Toolkit is enabled
|
|
111
|
-
- `"off"`: Suppresses `dwMarker` tags to prevent IE Quirks mode
|
|
112
|
-
|
|
113
|
-
**Important Limitations:**
|
|
114
|
-
- Only supported for **local includes** (not remote URL includes)
|
|
115
|
-
- **Not applied recursively** - only suppresses marker for the specific include tag, not for child includes within that template
|
|
116
|
-
|
|
117
|
-
**Examples:**
|
|
118
|
-
```isml
|
|
119
|
-
<!-- Default: dwMarker rendered (if toolkit enabled) -->
|
|
120
|
-
<isinclude template="test/customassets"/>
|
|
121
|
-
|
|
122
|
-
<!-- Suppress dwMarker to prevent IE Quirks mode -->
|
|
123
|
-
<isinclude template="test/customassets" sf-toolkit="off"/>
|
|
124
|
-
|
|
125
|
-
<!-- Remote includes don't support sf-toolkit attribute -->
|
|
126
|
-
<isinclude url="${URLUtils.url('Page-Include')}"/> <!-- sf-toolkit not applicable -->
|
|
127
|
-
```
|
|
128
|
-
|
|
129
|
-
## Purpose
|
|
130
|
-
|
|
131
|
-
The `<isinclude>` element enables:
|
|
132
|
-
|
|
133
|
-
1. **Code Reuse:** Share common components across multiple templates
|
|
134
|
-
2. **Template Composition:** Build complex pages from smaller, manageable pieces
|
|
135
|
-
3. **Server-Side Frames:** Implement frame-like functionality without client-side frame issues
|
|
136
|
-
4. **Dynamic Content:** Include content based on runtime conditions
|
|
137
|
-
5. **Caching Flexibility:** Embed content with different caching policies
|
|
138
|
-
6. **Pipeline Triggering:** Execute other pipelines to generate included content
|
|
139
|
-
7. **Modular Design:** Separate concerns and improve maintainability
|
|
140
|
-
|
|
141
|
-
## Local Includes (template attribute)
|
|
142
|
-
|
|
143
|
-
### How It Works
|
|
144
|
-
|
|
145
|
-
When using the `template` attribute:
|
|
146
|
-
1. Template path is resolved relative to `cartridge/templates/default`
|
|
147
|
-
2. ISML code in the included template **is processed**
|
|
148
|
-
3. Included template has access to:
|
|
149
|
-
- Pipeline Dictionary (`pdict`)
|
|
150
|
-
- Variables from including template
|
|
151
|
-
- Iterators from including template loops
|
|
152
|
-
4. Maximum depth: 20 levels (protection against infinite recursion)
|
|
153
|
-
5. Processed by application server
|
|
154
|
-
|
|
155
|
-
### Template Path Resolution
|
|
156
|
-
|
|
157
|
-
```isml
|
|
158
|
-
<!-- Template structure -->
|
|
159
|
-
cartridges/
|
|
160
|
-
app_storefront_base/
|
|
161
|
-
templates/
|
|
162
|
-
default/
|
|
163
|
-
inc/
|
|
164
|
-
blueBar.isml
|
|
165
|
-
reporting/
|
|
166
|
-
ReportABTesting.isml
|
|
167
|
-
common/
|
|
168
|
-
header.isml
|
|
169
|
-
footer.isml
|
|
170
|
-
|
|
171
|
-
<!-- Include paths (relative to templates/default) -->
|
|
172
|
-
<isinclude template="inc/blueBar"/>
|
|
173
|
-
<isinclude template="reporting/ReportABTesting.isml"/>
|
|
174
|
-
<isinclude template="common/header"/>
|
|
175
|
-
```
|
|
176
|
-
|
|
177
|
-
### Path Rules
|
|
178
|
-
|
|
179
|
-
```isml
|
|
180
|
-
<!-- Good: Forward slashes only -->
|
|
181
|
-
<isinclude template="components/product/tile"/>
|
|
182
|
-
|
|
183
|
-
<!-- Bad: Backslashes not supported -->
|
|
184
|
-
<isinclude template="components\product\tile"/> <!-- ERROR -->
|
|
185
|
-
|
|
186
|
-
<!-- Extension optional -->
|
|
187
|
-
<isinclude template="common/header"/> <!-- OK -->
|
|
188
|
-
<isinclude template="common/header.isml"/> <!-- Also OK -->
|
|
189
|
-
|
|
190
|
-
<!-- Expression-based paths -->
|
|
191
|
-
<isinclude template="${'components/' + pdict.componentType}"/>
|
|
192
|
-
```
|
|
193
|
-
|
|
194
|
-
### Variable and Iterator Access
|
|
195
|
-
|
|
196
|
-
Included templates can access variables and iterators from the including template:
|
|
197
|
-
|
|
198
|
-
```isml
|
|
199
|
-
<!-- Including template -->
|
|
200
|
-
<isset name="pageTitle" value="Product Details" scope="page"/>
|
|
201
|
-
|
|
202
|
-
<isloop items="${pdict.Basket.productLineItems}" var="lineItem">
|
|
203
|
-
<isinclude template="inc/cartRow"/>
|
|
204
|
-
</isloop>
|
|
205
|
-
|
|
206
|
-
<!-- inc/cartRow.isml (included template) -->
|
|
207
|
-
<!-- Can access pageTitle and lineItem from parent template -->
|
|
208
|
-
<tr>
|
|
209
|
-
<td>${pageTitle}</td> <!-- From parent -->
|
|
210
|
-
<td>${lineItem.productName}</td> <!-- From parent loop -->
|
|
211
|
-
<td>${lineItem.price}</td>
|
|
212
|
-
</tr>
|
|
213
|
-
```
|
|
214
|
-
|
|
215
|
-
### Recursion Protection
|
|
216
|
-
|
|
217
|
-
Maximum include depth prevents infinite loops:
|
|
218
|
-
|
|
219
|
-
```isml
|
|
220
|
-
<!-- Template A includes B -->
|
|
221
|
-
<isinclude template="templateB"/>
|
|
222
|
-
|
|
223
|
-
<!-- Template B includes C -->
|
|
224
|
-
<isinclude template="templateC"/>
|
|
225
|
-
|
|
226
|
-
<!-- ... continues up to 20 levels deep -->
|
|
227
|
-
|
|
228
|
-
<!-- Level 21: Error logged, include omitted -->
|
|
229
|
-
```
|
|
230
|
-
|
|
231
|
-
## Remote Includes (url attribute)
|
|
232
|
-
|
|
233
|
-
### How It Works
|
|
234
|
-
|
|
235
|
-
When using the `url` attribute:
|
|
236
|
-
1. Opens HTTP(S) connection to specified URL during runtime
|
|
237
|
-
2. Fetches content from URL
|
|
238
|
-
3. ISML code in fetched content **is not processed**
|
|
239
|
-
4. Result added to template as-is
|
|
240
|
-
5. Maximum depth: 16 levels (Web Server configuration)
|
|
241
|
-
6. Processed by Web Adapter with calls to application server
|
|
242
|
-
|
|
243
|
-
### Important Restrictions
|
|
244
|
-
|
|
245
|
-
```isml
|
|
246
|
-
<!-- Supported: URLs on same server -->
|
|
247
|
-
<isinclude url="${URLUtils.url('Page-Include', 'cid', 'header')}"/>
|
|
248
|
-
|
|
249
|
-
<!-- Not Supported: External servers -->
|
|
250
|
-
<isinclude url="https://external-site.com/content"/> <!-- NOT SUPPORTED -->
|
|
251
|
-
|
|
252
|
-
<!-- Not Supported: SEO URLs -->
|
|
253
|
-
<isinclude url="${URLUtils.url('Product-Show', 'pid', productID)}"/> <!-- SEO URLs not supported -->
|
|
254
|
-
```
|
|
255
|
-
|
|
256
|
-
### Pipeline Dictionary Access
|
|
257
|
-
|
|
258
|
-
**Important:** Remote includes trigger a new request, so the original Pipeline Dictionary is **not available**.
|
|
259
|
-
|
|
260
|
-
```isml
|
|
261
|
-
<!-- Original request has pdict.Product -->
|
|
262
|
-
|
|
263
|
-
<!-- Remote include: pdict.Product is NOT available -->
|
|
264
|
-
<isinclude url="${URLUtils.url('BrowseCatalog-Hotdeals')}"/>
|
|
265
|
-
|
|
266
|
-
<!-- Pass data via URL parameters instead -->
|
|
267
|
-
<isinclude url="${URLUtils.url('Product-Include', 'pid', pdict.Product.ID)}"/>
|
|
268
|
-
```
|
|
269
|
-
|
|
270
|
-
### Caching Flexibility
|
|
271
|
-
|
|
272
|
-
Remote includes can have different caching policies than the surrounding page:
|
|
273
|
-
|
|
274
|
-
```isml
|
|
275
|
-
<!-- Cached page template -->
|
|
276
|
-
<iscache type="relative" hour="1"/>
|
|
277
|
-
<!DOCTYPE html>
|
|
278
|
-
<html>
|
|
279
|
-
<body>
|
|
280
|
-
<!-- Cached content -->
|
|
281
|
-
|
|
282
|
-
<!-- Uncached dynamic snippet -->
|
|
283
|
-
<isinclude url="${URLUtils.url('Page-DynamicContent')}"/>
|
|
284
|
-
|
|
285
|
-
<!-- More cached content -->
|
|
286
|
-
</body>
|
|
287
|
-
</html>
|
|
288
|
-
```
|
|
289
|
-
|
|
290
|
-
**Opposite scenario:**
|
|
291
|
-
```isml
|
|
292
|
-
<!-- Uncached page template -->
|
|
293
|
-
<!DOCTYPE html>
|
|
294
|
-
<html>
|
|
295
|
-
<body>
|
|
296
|
-
<!-- Dynamic content -->
|
|
297
|
-
|
|
298
|
-
<!-- Cached snippet embedded in dynamic page -->
|
|
299
|
-
<isinclude url="${URLUtils.url('Page-CachedFooter')}"/>
|
|
300
|
-
</body>
|
|
301
|
-
</html>
|
|
302
|
-
```
|
|
303
|
-
|
|
304
|
-
## Common Use Cases
|
|
305
|
-
|
|
306
|
-
### Header and Footer
|
|
307
|
-
|
|
308
|
-
```isml
|
|
309
|
-
<!-- Standard page structure -->
|
|
310
|
-
<!DOCTYPE html>
|
|
311
|
-
<html>
|
|
312
|
-
<head>
|
|
313
|
-
<isinclude template="common/htmlHead"/>
|
|
314
|
-
</head>
|
|
315
|
-
<body>
|
|
316
|
-
<!-- Header -->
|
|
317
|
-
<isinclude template="common/header"/>
|
|
318
|
-
|
|
319
|
-
<!-- Main content -->
|
|
320
|
-
<main>
|
|
321
|
-
<h1>Page Content</h1>
|
|
322
|
-
</main>
|
|
323
|
-
|
|
324
|
-
<!-- Footer -->
|
|
325
|
-
<isinclude template="common/footer"/>
|
|
326
|
-
</body>
|
|
327
|
-
</html>
|
|
328
|
-
```
|
|
329
|
-
|
|
330
|
-
### Navigation Menu
|
|
331
|
-
|
|
332
|
-
```isml
|
|
333
|
-
<!-- Menu bar component -->
|
|
334
|
-
<isinclude template="inc/blueBar"/>
|
|
335
|
-
|
|
336
|
-
<!-- The blueBar.isml template provides navigation to:
|
|
337
|
-
- Shopping basket
|
|
338
|
-
- Search functionality
|
|
339
|
-
- Account management
|
|
340
|
-
- etc.
|
|
341
|
-
-->
|
|
342
|
-
```
|
|
343
|
-
|
|
344
|
-
### Product Tile in Loop
|
|
345
|
-
|
|
346
|
-
```isml
|
|
347
|
-
<!-- Product grid -->
|
|
348
|
-
<div class="product-grid">
|
|
349
|
-
<isloop items="${pdict.products}" var="product">
|
|
350
|
-
<!-- Include reusable product tile -->
|
|
351
|
-
<isinclude template="product/productTile"/>
|
|
352
|
-
<!-- productTile.isml has access to 'product' variable from loop -->
|
|
353
|
-
</isloop>
|
|
354
|
-
</div>
|
|
355
|
-
|
|
356
|
-
<!-- product/productTile.isml -->
|
|
357
|
-
<div class="product-tile">
|
|
358
|
-
<img src="${product.images.small[0].url}" alt="${product.name}"/>
|
|
359
|
-
<h3>${product.name}</h3>
|
|
360
|
-
<span class="price">${product.price}</span>
|
|
361
|
-
</div>
|
|
362
|
-
```
|
|
363
|
-
|
|
364
|
-
### Cart Line Item
|
|
365
|
-
|
|
366
|
-
```isml
|
|
367
|
-
<!-- Shopping cart -->
|
|
368
|
-
<table class="cart-items">
|
|
369
|
-
<isloop items="${pdict.Basket.productLineItems}" var="lineItem">
|
|
370
|
-
<isinclude template="inc/cartRow"/>
|
|
371
|
-
</isloop>
|
|
372
|
-
</table>
|
|
373
|
-
|
|
374
|
-
<!-- inc/cartRow.isml -->
|
|
375
|
-
<tr class="cart-row">
|
|
376
|
-
<td>${lineItem.productName}</td>
|
|
377
|
-
<td>${lineItem.quantity}</td>
|
|
378
|
-
<td>${lineItem.price}</td>
|
|
379
|
-
<td>${lineItem.quantity * lineItem.price.value}</td>
|
|
380
|
-
</tr>
|
|
381
|
-
```
|
|
382
|
-
|
|
383
|
-
### Dynamic Template Selection
|
|
384
|
-
|
|
385
|
-
```isml
|
|
386
|
-
<!-- Select template based on product type -->
|
|
387
|
-
<isscript>
|
|
388
|
-
var templatePath = 'product/components/';
|
|
389
|
-
if (pdict.Product.isBundle()) {
|
|
390
|
-
templatePath += 'bundleDetails';
|
|
391
|
-
} else if (pdict.Product.isVariationGroup()) {
|
|
392
|
-
templatePath += 'variationGroup';
|
|
393
|
-
} else {
|
|
394
|
-
templatePath += 'standardProduct';
|
|
395
|
-
}
|
|
396
|
-
</isscript>
|
|
397
|
-
|
|
398
|
-
<isinclude template="${templatePath}"/>
|
|
399
|
-
```
|
|
400
|
-
|
|
401
|
-
### Template Selection by Number
|
|
402
|
-
|
|
403
|
-
```isml
|
|
404
|
-
<!-- Dynamic template selection based on template number -->
|
|
405
|
-
<isinclude template="${'ProductTemplates/Template' + pdict.product.templateNumber}"/>
|
|
406
|
-
|
|
407
|
-
<!-- If templateNumber = 5, includes: ProductTemplates/Template5.isml -->
|
|
408
|
-
```
|
|
409
|
-
|
|
410
|
-
### Content Asset Include
|
|
411
|
-
|
|
412
|
-
```isml
|
|
413
|
-
<!-- Include content asset via pipeline -->
|
|
414
|
-
<isinclude url="${URLUtils.url('Page-Include', 'cid', 'COOKIE_TEST')}"/>
|
|
415
|
-
|
|
416
|
-
<!-- Include dynamic content asset -->
|
|
417
|
-
<isinclude url="${URLUtils.url('Page-Show', 'cid', pdict.contentAssetID)}"/>
|
|
418
|
-
```
|
|
419
|
-
|
|
420
|
-
### Hot Deals Section
|
|
421
|
-
|
|
422
|
-
```isml
|
|
423
|
-
<!-- Trigger BrowseCatalog-Hotdeals pipeline for content -->
|
|
424
|
-
<isinclude url="${URLUtils.url('BrowseCatalog-Hotdeals', 'catalogCategoryID', 'Storefront')}"/>
|
|
425
|
-
```
|
|
426
|
-
|
|
427
|
-
### Breadcrumbs
|
|
428
|
-
|
|
429
|
-
```isml
|
|
430
|
-
<!-- Reusable breadcrumb navigation -->
|
|
431
|
-
<isif condition="${pdict.showBreadcrumbs}">
|
|
432
|
-
<isinclude template="components/breadcrumbs"/>
|
|
433
|
-
</isif>
|
|
434
|
-
```
|
|
435
|
-
|
|
436
|
-
### Error Messages
|
|
437
|
-
|
|
438
|
-
```isml
|
|
439
|
-
<!-- Include form validation errors -->
|
|
440
|
-
<isif condition="${pdict.CurrentForms.profile.valid === false}">
|
|
441
|
-
<isinclude template="components/errorMessages"/>
|
|
442
|
-
</isif>
|
|
443
|
-
```
|
|
444
|
-
|
|
445
|
-
### Modal Dialog Content
|
|
446
|
-
|
|
447
|
-
```isml
|
|
448
|
-
<!-- Main page -->
|
|
449
|
-
<div class="quick-view-modal">
|
|
450
|
-
<isinclude template="product/quickView"/>
|
|
451
|
-
</div>
|
|
452
|
-
```
|
|
453
|
-
|
|
454
|
-
### Email Template Components
|
|
455
|
-
|
|
456
|
-
```isml
|
|
457
|
-
<!-- Email template -->
|
|
458
|
-
<isinclude template="email/header"/>
|
|
459
|
-
|
|
460
|
-
<div class="email-content">
|
|
461
|
-
<h1>Order Confirmation</h1>
|
|
462
|
-
<p>Thank you for your order!</p>
|
|
463
|
-
</div>
|
|
464
|
-
|
|
465
|
-
<isinclude template="email/footer"/>
|
|
466
|
-
```
|
|
467
|
-
|
|
468
|
-
### Conditional Component Loading
|
|
469
|
-
|
|
470
|
-
```isml
|
|
471
|
-
<!-- Include different components based on customer type -->
|
|
472
|
-
<isif condition="${customer.authenticated}">
|
|
473
|
-
<isinclude template="account/loggedInMenu"/>
|
|
474
|
-
<iselse>
|
|
475
|
-
<isinclude template="account/guestMenu"/>
|
|
476
|
-
</isif>
|
|
477
|
-
```
|
|
478
|
-
|
|
479
|
-
### Responsive Templates
|
|
480
|
-
|
|
481
|
-
```isml
|
|
482
|
-
<!-- Include mobile or desktop template -->
|
|
483
|
-
<isscript>
|
|
484
|
-
var isMobile = request.httpUserAgent.indexOf('Mobile') > -1;
|
|
485
|
-
var templatePath = isMobile ? 'mobile/productDetails' : 'desktop/productDetails';
|
|
486
|
-
</isscript>
|
|
487
|
-
|
|
488
|
-
<isinclude template="${templatePath}"/>
|
|
489
|
-
```
|
|
490
|
-
|
|
491
|
-
### A/B Testing
|
|
492
|
-
|
|
493
|
-
```isml
|
|
494
|
-
<!-- Include different templates for A/B test variants -->
|
|
495
|
-
<isscript>
|
|
496
|
-
var variant = session.custom.experimentVariant || 'A';
|
|
497
|
-
var templatePath = 'experiments/checkout' + variant;
|
|
498
|
-
</isscript>
|
|
499
|
-
|
|
500
|
-
<isinclude template="${templatePath}"/>
|
|
501
|
-
```
|
|
502
|
-
|
|
503
|
-
## Internet Explorer Quirks Mode Prevention
|
|
504
|
-
|
|
505
|
-
### The Problem
|
|
506
|
-
|
|
507
|
-
When Storefront Toolkit is enabled, `dwMarker` tags are inserted around includes:
|
|
508
|
-
|
|
509
|
-
```html
|
|
510
|
-
<!-- dwMarker causes IE to switch to Quirks mode -->
|
|
511
|
-
<!-- dwMarker="linclude" dwTemplateTitle="..." dwTemplateURL="..." -->
|
|
512
|
-
<!DOCTYPE html>
|
|
513
|
-
<html>
|
|
514
|
-
```
|
|
515
|
-
|
|
516
|
-
**Issue:** The `dwMarker` comment before `<!DOCTYPE html>` causes Internet Explorer to enter Quirks mode, breaking CSS layouts.
|
|
517
|
-
|
|
518
|
-
### The Solution
|
|
519
|
-
|
|
520
|
-
Use `sf-toolkit="off"` to suppress the `dwMarker` tag:
|
|
521
|
-
|
|
522
|
-
```isml
|
|
523
|
-
<!-- Without suppression (IE Quirks mode risk) -->
|
|
524
|
-
<isinclude template="test/customassets"/>
|
|
525
|
-
|
|
526
|
-
<!-- With suppression (prevents IE Quirks mode) -->
|
|
527
|
-
<isinclude template="test/customassets" sf-toolkit="off"/>
|
|
528
|
-
```
|
|
529
|
-
|
|
530
|
-
### Important Limitations
|
|
531
|
-
|
|
532
|
-
**Not Recursive:** The `sf-toolkit="off"` attribute only suppresses the marker for that specific include, not for child includes:
|
|
533
|
-
|
|
534
|
-
```isml
|
|
535
|
-
<!-- Parent template -->
|
|
536
|
-
<isinclude template="parent" sf-toolkit="off"/>
|
|
537
|
-
<!-- dwMarker suppressed for parent -->
|
|
538
|
-
|
|
539
|
-
<!-- parent.isml -->
|
|
540
|
-
<isinclude template="child"/>
|
|
541
|
-
<!-- dwMarker NOT suppressed for child (not recursive) -->
|
|
542
|
-
```
|
|
543
|
-
|
|
544
|
-
**Local Includes Only:** Remote URL includes do not support the `sf-toolkit` attribute:
|
|
545
|
-
|
|
546
|
-
```isml
|
|
547
|
-
<!-- Not applicable to remote includes -->
|
|
548
|
-
<isinclude url="${URLUtils.url('Page-Include')}" sf-toolkit="off"/>
|
|
549
|
-
<!-- sf-toolkit ignored for URL includes -->
|
|
550
|
-
```
|
|
551
|
-
|
|
552
|
-
## Best Practices
|
|
553
|
-
|
|
554
|
-
### Organize Templates by Purpose
|
|
555
|
-
|
|
556
|
-
```
|
|
557
|
-
templates/
|
|
558
|
-
default/
|
|
559
|
-
common/ - Shared components (header, footer)
|
|
560
|
-
header.isml
|
|
561
|
-
footer.isml
|
|
562
|
-
navigation.isml
|
|
563
|
-
components/ - Reusable UI components
|
|
564
|
-
breadcrumbs.isml
|
|
565
|
-
productTile.isml
|
|
566
|
-
errorMessages.isml
|
|
567
|
-
inc/ - Include fragments
|
|
568
|
-
blueBar.isml
|
|
569
|
-
cartRow.isml
|
|
570
|
-
email/ - Email template components
|
|
571
|
-
header.isml
|
|
572
|
-
footer.isml
|
|
573
|
-
```
|
|
574
|
-
|
|
575
|
-
### Keep Included Templates Focused
|
|
576
|
-
|
|
577
|
-
```isml
|
|
578
|
-
<!-- Good: Single responsibility -->
|
|
579
|
-
<!-- components/productPrice.isml -->
|
|
580
|
-
<div class="price-container">
|
|
581
|
-
<span class="price">${product.price}</span>
|
|
582
|
-
</div>
|
|
583
|
-
|
|
584
|
-
<!-- Avoid: Too many responsibilities in one include -->
|
|
585
|
-
<!-- components/productEverything.isml -->
|
|
586
|
-
<!-- (Contains price, availability, ratings, reviews, etc.) -->
|
|
587
|
-
```
|
|
588
|
-
|
|
589
|
-
### Use Descriptive Names
|
|
590
|
-
|
|
591
|
-
```isml
|
|
592
|
-
<!-- Good: Clear purpose -->
|
|
593
|
-
<isinclude template="checkout/shippingMethodSelector"/>
|
|
594
|
-
<isinclude template="product/availabilityMessage"/>
|
|
595
|
-
|
|
596
|
-
<!-- Less clear -->
|
|
597
|
-
<isinclude template="inc/component1"/>
|
|
598
|
-
<isinclude template="misc/helper"/>
|
|
599
|
-
```
|
|
600
|
-
|
|
601
|
-
### Document Include Dependencies
|
|
602
|
-
|
|
603
|
-
```isml
|
|
604
|
-
<iscomment>
|
|
605
|
-
This template requires the following pdict properties:
|
|
606
|
-
- Product: dw.catalog.Product object
|
|
607
|
-
- Quantity: Number (default: 1)
|
|
608
|
-
</iscomment>
|
|
609
|
-
<isinclude template="product/addToCart"/>
|
|
610
|
-
```
|
|
611
|
-
|
|
612
|
-
### Prefer Local Includes for Template Code
|
|
613
|
-
|
|
614
|
-
```isml
|
|
615
|
-
<!-- Good: Local include for ISML templates -->
|
|
616
|
-
<isinclude template="components/productTile"/>
|
|
617
|
-
|
|
618
|
-
<!-- Avoid: Remote include for simple templates -->
|
|
619
|
-
<isinclude url="${URLUtils.url('Page-ProductTile')}"/>
|
|
620
|
-
<!-- Unnecessary overhead for simple template inclusion -->
|
|
621
|
-
```
|
|
622
|
-
|
|
623
|
-
### Use Remote Includes for Pipeline Triggers
|
|
624
|
-
|
|
625
|
-
```isml
|
|
626
|
-
<!-- Good: Remote include when triggering another pipeline -->
|
|
627
|
-
<isinclude url="${URLUtils.url('Content-GetAsset', 'cid', 'homepage-banner')}"/>
|
|
628
|
-
|
|
629
|
-
<!-- Good: Remote include for different caching policy -->
|
|
630
|
-
<isinclude url="${URLUtils.url('Page-DynamicPromo')}"/>
|
|
631
|
-
```
|
|
632
|
-
|
|
633
|
-
### Pass Context Through pdict
|
|
634
|
-
|
|
635
|
-
For local includes, use pdict to pass context:
|
|
636
|
-
|
|
637
|
-
```isml
|
|
638
|
-
<!-- Controller prepares data -->
|
|
639
|
-
res.render('product/details', {
|
|
640
|
-
Product: product,
|
|
641
|
-
Quantity: 1,
|
|
642
|
-
showReviews: true
|
|
643
|
-
});
|
|
644
|
-
|
|
645
|
-
<!-- Template uses prepared data -->
|
|
646
|
-
<isinclude template="product/reviewSection"/>
|
|
647
|
-
<!-- reviewSection.isml accesses pdict.Product and pdict.showReviews -->
|
|
648
|
-
```
|
|
649
|
-
|
|
650
|
-
### Avoid Deep Include Nesting
|
|
651
|
-
|
|
652
|
-
```isml
|
|
653
|
-
<!-- Acceptable: 2-3 levels -->
|
|
654
|
-
page.isml
|
|
655
|
-
└─ includes header.isml
|
|
656
|
-
└─ includes navigation.isml
|
|
657
|
-
|
|
658
|
-
<!-- Avoid: Excessive nesting (harder to maintain) -->
|
|
659
|
-
page.isml
|
|
660
|
-
└─ includes layout.isml
|
|
661
|
-
└─ includes section.isml
|
|
662
|
-
└─ includes component.isml
|
|
663
|
-
└─ includes subcomponent.isml
|
|
664
|
-
└─ includes detail.isml <!-- Too deep! -->
|
|
665
|
-
```
|
|
666
|
-
|
|
667
|
-
## Performance Considerations
|
|
668
|
-
|
|
669
|
-
### Local Include Performance
|
|
670
|
-
|
|
671
|
-
- Fast: Processed by application server without network overhead
|
|
672
|
-
- Efficient caching: Entire template tree cached together
|
|
673
|
-
- No HTTP request overhead
|
|
674
|
-
|
|
675
|
-
```isml
|
|
676
|
-
<!-- Efficient: Local includes -->
|
|
677
|
-
<isinclude template="common/header"/>
|
|
678
|
-
<isinclude template="common/footer"/>
|
|
679
|
-
```
|
|
680
|
-
|
|
681
|
-
### Remote Include Performance
|
|
682
|
-
|
|
683
|
-
- Slower: Requires HTTP request to Web Adapter
|
|
684
|
-
- Separate caching: Can have independent cache policy
|
|
685
|
-
- Network overhead: Extra request processing
|
|
686
|
-
|
|
687
|
-
```isml
|
|
688
|
-
<!-- Less efficient due to HTTP overhead -->
|
|
689
|
-
<isinclude url="${URLUtils.url('Page-Include')}"/>
|
|
690
|
-
|
|
691
|
-
<!-- Use only when necessary (different caching, pipeline trigger) -->
|
|
692
|
-
```
|
|
693
|
-
|
|
694
|
-
### Caching Strategies
|
|
695
|
-
|
|
696
|
-
```isml
|
|
697
|
-
<!-- Cached page with dynamic snippet -->
|
|
698
|
-
<iscache type="relative" hour="1"/>
|
|
699
|
-
<!DOCTYPE html>
|
|
700
|
-
<html>
|
|
701
|
-
<body>
|
|
702
|
-
<!-- Static cached content -->
|
|
703
|
-
<div class="static-header">...</div>
|
|
704
|
-
|
|
705
|
-
<!-- Dynamic uncached snippet via remote include -->
|
|
706
|
-
<isinclude url="${URLUtils.url('Page-PersonalizedContent')}"/>
|
|
707
|
-
|
|
708
|
-
<!-- More static cached content -->
|
|
709
|
-
<div class="static-footer">...</div>
|
|
710
|
-
</body>
|
|
711
|
-
</html>
|
|
712
|
-
```
|
|
713
|
-
|
|
714
|
-
## Troubleshooting
|
|
715
|
-
|
|
716
|
-
### Template Not Found
|
|
717
|
-
|
|
718
|
-
**Problem:** Error message about template not found.
|
|
719
|
-
|
|
720
|
-
**Solution:** Verify template path is correct and relative to `templates/default`:
|
|
721
|
-
|
|
722
|
-
```isml
|
|
723
|
-
<!-- Check path -->
|
|
724
|
-
templates/
|
|
725
|
-
default/
|
|
726
|
-
components/
|
|
727
|
-
productTile.isml
|
|
728
|
-
|
|
729
|
-
<!-- Correct include path -->
|
|
730
|
-
<isinclude template="components/productTile"/>
|
|
731
|
-
|
|
732
|
-
<!-- Wrong: Includes "templates/default" in path -->
|
|
733
|
-
<isinclude template="templates/default/components/productTile"/> <!-- ERROR -->
|
|
734
|
-
```
|
|
735
|
-
|
|
736
|
-
### Infinite Include Loop
|
|
737
|
-
|
|
738
|
-
**Problem:** Template includes itself directly or indirectly.
|
|
739
|
-
|
|
740
|
-
**Solution:** Review include chain to find circular reference:
|
|
741
|
-
|
|
742
|
-
```isml
|
|
743
|
-
<!-- Template A -->
|
|
744
|
-
<isinclude template="templateB"/>
|
|
745
|
-
|
|
746
|
-
<!-- Template B -->
|
|
747
|
-
<isinclude template="templateA"/> <!-- Circular! -->
|
|
748
|
-
|
|
749
|
-
<!-- Error logged at depth 20, further includes omitted -->
|
|
750
|
-
```
|
|
751
|
-
|
|
752
|
-
### Variable Not Available in Included Template
|
|
753
|
-
|
|
754
|
-
**Problem:** Variable from including template not accessible.
|
|
755
|
-
|
|
756
|
-
**Solution:** Ensure variable is defined before include:
|
|
757
|
-
|
|
758
|
-
```isml
|
|
759
|
-
<!-- Set variable before include -->
|
|
760
|
-
<isset name="pageTitle" value="Products" scope="page"/>
|
|
761
|
-
<isinclude template="components/header"/>
|
|
762
|
-
|
|
763
|
-
<!-- components/header.isml can access pageTitle -->
|
|
764
|
-
<h1>${pageTitle}</h1>
|
|
765
|
-
```
|
|
766
|
-
|
|
767
|
-
### Remote Include Not Working
|
|
768
|
-
|
|
769
|
-
**Problem:** Remote include fails or returns empty.
|
|
770
|
-
|
|
771
|
-
**Solution:** Check URL is valid and points to same server:
|
|
772
|
-
|
|
773
|
-
```isml
|
|
774
|
-
<!-- Verify URLUtils generates correct URL -->
|
|
775
|
-
<isscript>
|
|
776
|
-
var includeURL = URLUtils.url('Page-Include', 'cid', 'test');
|
|
777
|
-
// Log or debug to verify URL
|
|
778
|
-
</isscript>
|
|
779
|
-
<isinclude url="${includeURL}"/>
|
|
780
|
-
```
|
|
781
|
-
|
|
782
|
-
### IE Quirks Mode Issue
|
|
783
|
-
|
|
784
|
-
**Problem:** Internet Explorer renders in Quirks mode.
|
|
785
|
-
|
|
786
|
-
**Solution:** Use `sf-toolkit="off"` to suppress dwMarker:
|
|
787
|
-
|
|
788
|
-
```isml
|
|
789
|
-
<!-- Prevents IE Quirks mode -->
|
|
790
|
-
<isinclude template="common/htmlHead" sf-toolkit="off"/>
|
|
791
|
-
```
|
|
792
|
-
|
|
793
|
-
## Include Depth Limits
|
|
794
|
-
|
|
795
|
-
### Local Includes (template)
|
|
796
|
-
|
|
797
|
-
**Maximum Depth:** 20 levels
|
|
798
|
-
|
|
799
|
-
**When Reached:**
|
|
800
|
-
- Error logged to application server logs
|
|
801
|
-
- Templates beyond depth 20 are omitted
|
|
802
|
-
- Prevents infinite recursion
|
|
803
|
-
|
|
804
|
-
```isml
|
|
805
|
-
<!-- Level 1 -->
|
|
806
|
-
<isinclude template="level2"/>
|
|
807
|
-
<!-- Level 2 -->
|
|
808
|
-
<isinclude template="level3"/>
|
|
809
|
-
<!-- ... continues ... -->
|
|
810
|
-
<!-- Level 20 -->
|
|
811
|
-
<isinclude template="level21"/> <!-- Error: Omitted -->
|
|
812
|
-
```
|
|
813
|
-
|
|
814
|
-
### Remote Includes (url)
|
|
815
|
-
|
|
816
|
-
**Maximum Depth:** 16 levels
|
|
817
|
-
|
|
818
|
-
**When Reached:**
|
|
819
|
-
- Error logged to B2C Commerce Web Server logs
|
|
820
|
-
- Request processing cancelled
|
|
821
|
-
- Part of Web Server configuration
|
|
822
|
-
|
|
823
|
-
```isml
|
|
824
|
-
<!-- Level 1 -->
|
|
825
|
-
<isinclude url="${URLUtils.url('Page-Level2')}"/>
|
|
826
|
-
<!-- Level 2 -->
|
|
827
|
-
<isinclude url="${URLUtils.url('Page-Level3')}"/>
|
|
828
|
-
<!-- ... continues ... -->
|
|
829
|
-
<!-- Level 16 -->
|
|
830
|
-
<isinclude url="${URLUtils.url('Page-Level17')}"/> <!-- Error: Cancelled -->
|
|
831
|
-
```
|
|
832
|
-
|
|
833
|
-
## Comparison: isinclude vs isdecorate
|
|
834
|
-
|
|
835
|
-
| Feature | `<isinclude>` | `<isdecorate>` |
|
|
836
|
-
|---------|---------------|----------------|
|
|
837
|
-
| **Purpose** | Insert template content | Wrap content with layout |
|
|
838
|
-
| **Content flow** | Included template renders in place | Content goes into decorator's `<isreplace/>` |
|
|
839
|
-
| **Use case** | Reusable components, partials | Page layouts, wrappers |
|
|
840
|
-
| **Variable access** | Shares variables with parent | Shares variables with decorated content |
|
|
841
|
-
|
|
842
|
-
```isml
|
|
843
|
-
<!-- isinclude: Inserts content at location -->
|
|
844
|
-
<div class="header">
|
|
845
|
-
<isinclude template="components/logo"/>
|
|
846
|
-
</div>
|
|
847
|
-
|
|
848
|
-
<!-- isdecorate: Wraps content with layout -->
|
|
849
|
-
<isdecorate template="layouts/page">
|
|
850
|
-
<h1>Page content wrapped by layout</h1>
|
|
851
|
-
</isdecorate>
|
|
852
|
-
```
|
|
853
|
-
|
|
854
|
-
## Related Elements
|
|
855
|
-
|
|
856
|
-
- **`<isdecorate>`**: Wrap content with decorator templates
|
|
857
|
-
- **`<isreplace/>`**: Used in decorator templates (not with `<isinclude>`)
|
|
858
|
-
- **`<ismodule>`**: Include templates with custom attributes
|
|
859
|
-
- **`<isslot>`**: Include content slots
|
|
860
|
-
|
|
861
|
-
## Summary
|
|
862
|
-
|
|
863
|
-
The `<isinclude>` element is essential for:
|
|
864
|
-
|
|
865
|
-
- ✅ Building modular, reusable templates
|
|
866
|
-
- ✅ Sharing common components (headers, footers, navigation)
|
|
867
|
-
- ✅ Creating server-side composition without client frames
|
|
868
|
-
- ✅ Dynamic template selection based on runtime conditions
|
|
869
|
-
- ✅ Flexible caching with different policies per component
|
|
870
|
-
- ✅ Triggering pipelines for content generation
|
|
871
|
-
- ✅ Maintaining DRY principle in templates
|
|
872
|
-
- ✅ Preventing IE Quirks mode with `sf-toolkit` control
|
|
873
|
-
|
|
874
|
-
Use `<isinclude>` to create maintainable, modular SFCC templates that promote code reuse and separation of concerns.
|