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/isremove.md
DELETED
|
@@ -1,725 +0,0 @@
|
|
|
1
|
-
# ISML isremove Element
|
|
2
|
-
|
|
3
|
-
## Overview
|
|
4
|
-
|
|
5
|
-
The `<isremove>` element removes a variable from a specified scope, providing the counterpart functionality to `<isset>` which defines variables. This element is useful for cleaning up variables, freeing memory, or removing sensitive data from scopes after use.
|
|
6
|
-
|
|
7
|
-
**Key Features:** Variable removal from session, request, and page scopes; memory management; security cleanup for sensitive data.
|
|
8
|
-
|
|
9
|
-
## Syntax
|
|
10
|
-
|
|
11
|
-
```isml
|
|
12
|
-
<isremove
|
|
13
|
-
name = var_name // required
|
|
14
|
-
scope = "session" | "request" | "page" // required
|
|
15
|
-
/>
|
|
16
|
-
```
|
|
17
|
-
|
|
18
|
-
## Required Attributes
|
|
19
|
-
|
|
20
|
-
### name
|
|
21
|
-
|
|
22
|
-
**Type:** String
|
|
23
|
-
**Required:** Yes
|
|
24
|
-
|
|
25
|
-
Specifies the name of the variable to be removed from the specified scope.
|
|
26
|
-
|
|
27
|
-
**Examples:**
|
|
28
|
-
```isml
|
|
29
|
-
<!-- Remove page-scoped variable -->
|
|
30
|
-
<isremove name="temporaryData" scope="page"/>
|
|
31
|
-
|
|
32
|
-
<!-- Remove session variable -->
|
|
33
|
-
<isremove name="tempSessionData" scope="session"/>
|
|
34
|
-
|
|
35
|
-
<!-- Remove request variable -->
|
|
36
|
-
<isremove name="processingFlag" scope="request"/>
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
### scope
|
|
40
|
-
|
|
41
|
-
**Type:** String
|
|
42
|
-
**Allowed Values:** `"session"`, `"request"`, `"page"`
|
|
43
|
-
**Required:** Yes
|
|
44
|
-
|
|
45
|
-
Specifies the scope from which the variable should be removed.
|
|
46
|
-
|
|
47
|
-
**Values:**
|
|
48
|
-
|
|
49
|
-
#### "session"
|
|
50
|
-
|
|
51
|
-
Removes variables from the session scope. Variables in session scope are available across multiple requests within a user's session.
|
|
52
|
-
|
|
53
|
-
**Use Cases:**
|
|
54
|
-
- Remove temporary session data after processing
|
|
55
|
-
- Clear sensitive information from session
|
|
56
|
-
- Clean up workflow state variables
|
|
57
|
-
- Remove session flags after use
|
|
58
|
-
|
|
59
|
-
```isml
|
|
60
|
-
<isremove name="checkoutStep" scope="session"/>
|
|
61
|
-
```
|
|
62
|
-
|
|
63
|
-
#### "request"
|
|
64
|
-
|
|
65
|
-
Removes variables from the request scope. Variables in request scope are available for the duration of the current internal Salesforce B2C Commerce request.
|
|
66
|
-
|
|
67
|
-
**Use Cases:**
|
|
68
|
-
- Clean up request-level processing variables
|
|
69
|
-
- Remove temporary request flags
|
|
70
|
-
- Clear request-specific data after use
|
|
71
|
-
|
|
72
|
-
```isml
|
|
73
|
-
<isremove name="processingComplete" scope="request"/>
|
|
74
|
-
```
|
|
75
|
-
|
|
76
|
-
**Note:** The `pdict` scope value has been **deprecated**. Use `"request"` instead for Pipeline Dictionary variables.
|
|
77
|
-
|
|
78
|
-
#### "page"
|
|
79
|
-
|
|
80
|
-
Removes variables from the page scope. Variables in page scope are available only on the current ISML page.
|
|
81
|
-
|
|
82
|
-
**Use Cases:**
|
|
83
|
-
- Remove temporary calculation variables
|
|
84
|
-
- Clean up loop iteration variables
|
|
85
|
-
- Free memory after complex processing
|
|
86
|
-
- Remove sensitive data after display
|
|
87
|
-
|
|
88
|
-
```isml
|
|
89
|
-
<isremove name="tempCalculation" scope="page"/>
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
## Purpose
|
|
93
|
-
|
|
94
|
-
The `<isremove>` element serves to:
|
|
95
|
-
|
|
96
|
-
1. **Memory Management:** Free memory by removing variables no longer needed
|
|
97
|
-
2. **Security:** Remove sensitive data from scopes after use (passwords, tokens, credit card data)
|
|
98
|
-
3. **Scope Cleanup:** Clean up temporary variables and flags
|
|
99
|
-
4. **State Management:** Remove workflow state variables after completion
|
|
100
|
-
5. **Variable Lifecycle Control:** Explicitly control when variables are removed from scopes
|
|
101
|
-
|
|
102
|
-
## Variable Scope Comparison
|
|
103
|
-
|
|
104
|
-
| Scope | Lifetime | Visibility | Common Use Cases |
|
|
105
|
-
|-------|----------|------------|------------------|
|
|
106
|
-
| `page` | Current ISML page only | Current page | Temporary calculations, loop variables |
|
|
107
|
-
| `request` | Current request | All templates in request | Request flags, processing state |
|
|
108
|
-
| `session` | User session (multiple requests) | All requests in session | User preferences, workflow state |
|
|
109
|
-
|
|
110
|
-
## Common Use Cases
|
|
111
|
-
|
|
112
|
-
### Security: Remove Sensitive Data
|
|
113
|
-
|
|
114
|
-
```isml
|
|
115
|
-
<!-- Process credit card data -->
|
|
116
|
-
<isset name="ccNumber" value="${pdict.creditCardNumber}" scope="page"/>
|
|
117
|
-
|
|
118
|
-
<!-- Use the data for processing -->
|
|
119
|
-
<isscript>
|
|
120
|
-
var PaymentProcessor = require('*/cartridge/scripts/payment/processor');
|
|
121
|
-
var result = PaymentProcessor.process(ccNumber);
|
|
122
|
-
</isscript>
|
|
123
|
-
|
|
124
|
-
<!-- Immediately remove sensitive data -->
|
|
125
|
-
<isremove name="ccNumber" scope="page"/>
|
|
126
|
-
|
|
127
|
-
<!-- Rest of template continues without sensitive data in scope -->
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
### Clean Up After Processing
|
|
131
|
-
|
|
132
|
-
```isml
|
|
133
|
-
<!-- Set temporary processing flag -->
|
|
134
|
-
<isset name="isProcessing" value="${true}" scope="request"/>
|
|
135
|
-
|
|
136
|
-
<!-- Perform processing -->
|
|
137
|
-
<isscript>
|
|
138
|
-
var OrderMgr = require('dw/order/OrderMgr');
|
|
139
|
-
var order = OrderMgr.processOrder();
|
|
140
|
-
</isscript>
|
|
141
|
-
|
|
142
|
-
<!-- Remove flag after processing complete -->
|
|
143
|
-
<isremove name="isProcessing" scope="request"/>
|
|
144
|
-
```
|
|
145
|
-
|
|
146
|
-
### Remove Session Variables After Checkout
|
|
147
|
-
|
|
148
|
-
```isml
|
|
149
|
-
<!-- After successful order placement, clean up session variables -->
|
|
150
|
-
<isif condition="${pdict.orderPlaced}">
|
|
151
|
-
<!-- Remove checkout-related session variables -->
|
|
152
|
-
<isremove name="checkoutStep" scope="session"/>
|
|
153
|
-
<isremove name="selectedShippingMethod" scope="session"/>
|
|
154
|
-
<isremove name="selectedPaymentMethod" scope="session"/>
|
|
155
|
-
<isremove name="guestCheckoutEmail" scope="session"/>
|
|
156
|
-
|
|
157
|
-
<!-- Redirect to confirmation -->
|
|
158
|
-
<isredirect location="${URLUtils.url('Order-Confirm', 'orderNo', pdict.orderNumber)}"/>
|
|
159
|
-
</isif>
|
|
160
|
-
```
|
|
161
|
-
|
|
162
|
-
### Clean Up Loop Variables
|
|
163
|
-
|
|
164
|
-
```isml
|
|
165
|
-
<!-- Process products with temporary calculations -->
|
|
166
|
-
<isloop items="${pdict.products}" var="product">
|
|
167
|
-
<!-- Calculate discount for each product -->
|
|
168
|
-
<isset name="discount" value="${product.price.list.value - product.price.sales.value}" scope="page"/>
|
|
169
|
-
<isset name="discountPercent" value="${(discount / product.price.list.value) * 100}" scope="page"/>
|
|
170
|
-
|
|
171
|
-
<div class="product">
|
|
172
|
-
<h3>${product.name}</h3>
|
|
173
|
-
<p>Save <isprint value="${discountPercent}" formatter="#0"/>%</p>
|
|
174
|
-
</div>
|
|
175
|
-
|
|
176
|
-
<!-- Clean up temporary variables after each iteration -->
|
|
177
|
-
<isremove name="discount" scope="page"/>
|
|
178
|
-
<isremove name="discountPercent" scope="page"/>
|
|
179
|
-
</isloop>
|
|
180
|
-
```
|
|
181
|
-
|
|
182
|
-
### Workflow State Management
|
|
183
|
-
|
|
184
|
-
```isml
|
|
185
|
-
<!-- Multi-step form: Remove state variables after completion -->
|
|
186
|
-
<isif condition="${pdict.formStep == 'complete'}">
|
|
187
|
-
<!-- Remove all form step variables from session -->
|
|
188
|
-
<isremove name="formStep1Data" scope="session"/>
|
|
189
|
-
<isremove name="formStep2Data" scope="session"/>
|
|
190
|
-
<isremove name="formStep3Data" scope="session"/>
|
|
191
|
-
<isremove name="currentFormStep" scope="session"/>
|
|
192
|
-
|
|
193
|
-
<h1>Form Submitted Successfully</h1>
|
|
194
|
-
</isif>
|
|
195
|
-
```
|
|
196
|
-
|
|
197
|
-
### Remove Temporary Flags
|
|
198
|
-
|
|
199
|
-
```isml
|
|
200
|
-
<!-- Set error flag for display -->
|
|
201
|
-
<isset name="hasError" value="${true}" scope="page"/>
|
|
202
|
-
<isset name="errorMessage" value="${pdict.error.message}" scope="page"/>
|
|
203
|
-
|
|
204
|
-
<!-- Display error -->
|
|
205
|
-
<div class="error-message">
|
|
206
|
-
<p>${errorMessage}</p>
|
|
207
|
-
</div>
|
|
208
|
-
|
|
209
|
-
<!-- Clean up error variables -->
|
|
210
|
-
<isremove name="hasError" scope="page"/>
|
|
211
|
-
<isremove name="errorMessage" scope="page"/>
|
|
212
|
-
|
|
213
|
-
<!-- Continue with rest of page without error variables -->
|
|
214
|
-
```
|
|
215
|
-
|
|
216
|
-
### Clean Up After A/B Testing
|
|
217
|
-
|
|
218
|
-
```isml
|
|
219
|
-
<!-- A/B test variant assignment -->
|
|
220
|
-
<isset name="variant" value="${pdict.abTestVariant}" scope="page"/>
|
|
221
|
-
|
|
222
|
-
<!-- Show variant-specific content -->
|
|
223
|
-
<isif condition="${variant == 'A'}">
|
|
224
|
-
<div class="variant-a">Content A</div>
|
|
225
|
-
<iselse>
|
|
226
|
-
<div class="variant-b">Content B</div>
|
|
227
|
-
</isif>
|
|
228
|
-
|
|
229
|
-
<!-- Remove variant variable -->
|
|
230
|
-
<isremove name="variant" scope="page"/>
|
|
231
|
-
```
|
|
232
|
-
|
|
233
|
-
### Remove Debug Variables
|
|
234
|
-
|
|
235
|
-
```isml
|
|
236
|
-
<!-- Debug mode: Set debug variables -->
|
|
237
|
-
<isif condition="${pdict.debugMode}">
|
|
238
|
-
<isset name="debugInfo" value="${pdict.debugData}" scope="page"/>
|
|
239
|
-
<isset name="debugTimestamp" value="${new Date()}" scope="page"/>
|
|
240
|
-
|
|
241
|
-
<!-- Display debug information -->
|
|
242
|
-
<div class="debug-panel">
|
|
243
|
-
<pre>${debugInfo}</pre>
|
|
244
|
-
<p>Generated: <isprint value="${debugTimestamp}" style="DATE_TIME"/></p>
|
|
245
|
-
</div>
|
|
246
|
-
|
|
247
|
-
<!-- Remove debug variables -->
|
|
248
|
-
<isremove name="debugInfo" scope="page"/>
|
|
249
|
-
<isremove name="debugTimestamp" scope="page"/>
|
|
250
|
-
</isif>
|
|
251
|
-
```
|
|
252
|
-
|
|
253
|
-
### Session Cleanup on Logout
|
|
254
|
-
|
|
255
|
-
```isml
|
|
256
|
-
<!-- User logout: Clean up all session variables -->
|
|
257
|
-
<isif condition="${pdict.isLogout}">
|
|
258
|
-
<!-- Remove user-specific session data -->
|
|
259
|
-
<isremove name="selectedStore" scope="session"/>
|
|
260
|
-
<isremove name="wishlistPreferences" scope="session"/>
|
|
261
|
-
<isremove name="recentlyViewedProducts" scope="session"/>
|
|
262
|
-
<isremove name="savedFilters" scope="session"/>
|
|
263
|
-
|
|
264
|
-
<!-- Redirect to home -->
|
|
265
|
-
<isredirect location="${URLUtils.url('Home-Show')}"/>
|
|
266
|
-
</isif>
|
|
267
|
-
```
|
|
268
|
-
|
|
269
|
-
### Complex Calculation Cleanup
|
|
270
|
-
|
|
271
|
-
```isml
|
|
272
|
-
<!-- Complex pricing calculation -->
|
|
273
|
-
<isset name="basePrice" value="${pdict.product.price.value}" scope="page"/>
|
|
274
|
-
<isset name="taxRate" value="${pdict.taxRate}" scope="page"/>
|
|
275
|
-
<isset name="shippingCost" value="${pdict.shippingCost}" scope="page"/>
|
|
276
|
-
<isset name="discount" value="${pdict.discount}" scope="page"/>
|
|
277
|
-
|
|
278
|
-
<isset name="subtotal" value="${basePrice + shippingCost}" scope="page"/>
|
|
279
|
-
<isset name="taxAmount" value="${subtotal * taxRate}" scope="page"/>
|
|
280
|
-
<isset name="totalBeforeDiscount" value="${subtotal + taxAmount}" scope="page"/>
|
|
281
|
-
<isset name="finalTotal" value="${totalBeforeDiscount - discount}" scope="page"/>
|
|
282
|
-
|
|
283
|
-
<div class="price-breakdown">
|
|
284
|
-
<p>Total: <isprint value="${finalTotal}" style="MONEY_LONG"/></p>
|
|
285
|
-
</div>
|
|
286
|
-
|
|
287
|
-
<!-- Clean up all calculation variables -->
|
|
288
|
-
<isremove name="basePrice" scope="page"/>
|
|
289
|
-
<isremove name="taxRate" scope="page"/>
|
|
290
|
-
<isremove name="shippingCost" scope="page"/>
|
|
291
|
-
<isremove name="discount" scope="page"/>
|
|
292
|
-
<isremove name="subtotal" scope="page"/>
|
|
293
|
-
<isremove name="taxAmount" scope="page"/>
|
|
294
|
-
<isremove name="totalBeforeDiscount" scope="page"/>
|
|
295
|
-
<isremove name="finalTotal" scope="page"/>
|
|
296
|
-
```
|
|
297
|
-
|
|
298
|
-
## Best Practices
|
|
299
|
-
|
|
300
|
-
### 1. Remove Sensitive Data Immediately After Use
|
|
301
|
-
|
|
302
|
-
Always remove sensitive information (passwords, credit cards, tokens) as soon as processing is complete:
|
|
303
|
-
|
|
304
|
-
```isml
|
|
305
|
-
<!-- Good: Immediate removal after use -->
|
|
306
|
-
<isset name="authToken" value="${pdict.token}" scope="page"/>
|
|
307
|
-
<!-- Use token -->
|
|
308
|
-
<isscript>
|
|
309
|
-
var result = APIClient.authenticate(authToken);
|
|
310
|
-
</isscript>
|
|
311
|
-
<isremove name="authToken" scope="page"/>
|
|
312
|
-
|
|
313
|
-
<!-- Bad: Leaving sensitive data in scope -->
|
|
314
|
-
<isset name="authToken" value="${pdict.token}" scope="page"/>
|
|
315
|
-
<!-- Use token -->
|
|
316
|
-
<!-- Token remains in scope for rest of page -->
|
|
317
|
-
```
|
|
318
|
-
|
|
319
|
-
### 2. Clean Up Session Variables After Workflow Completion
|
|
320
|
-
|
|
321
|
-
Remove session variables when workflows complete to prevent stale data:
|
|
322
|
-
|
|
323
|
-
```isml
|
|
324
|
-
<!-- Good: Clean up after checkout -->
|
|
325
|
-
<isif condition="${pdict.orderComplete}">
|
|
326
|
-
<isremove name="checkoutStep" scope="session"/>
|
|
327
|
-
<isremove name="guestEmail" scope="session"/>
|
|
328
|
-
</isif>
|
|
329
|
-
|
|
330
|
-
<!-- Bad: Leaving workflow variables in session -->
|
|
331
|
-
<!-- Variables persist across sessions and may cause issues -->
|
|
332
|
-
```
|
|
333
|
-
|
|
334
|
-
### 3. Use Page Scope for Temporary Variables
|
|
335
|
-
|
|
336
|
-
Prefer page scope for temporary variables and clean them up after use:
|
|
337
|
-
|
|
338
|
-
```isml
|
|
339
|
-
<!-- Good: Page scope for temporary calculations -->
|
|
340
|
-
<isset name="tempValue" value="${calculation}" scope="page"/>
|
|
341
|
-
<!-- Use tempValue -->
|
|
342
|
-
<isremove name="tempValue" scope="page"/>
|
|
343
|
-
|
|
344
|
-
<!-- Avoid: Session scope for temporary data -->
|
|
345
|
-
<isset name="tempValue" value="${calculation}" scope="session"/>
|
|
346
|
-
<!-- Harder to track and clean up -->
|
|
347
|
-
```
|
|
348
|
-
|
|
349
|
-
### 4. Document Why Variables Are Removed
|
|
350
|
-
|
|
351
|
-
Add comments explaining the reason for removal, especially for security:
|
|
352
|
-
|
|
353
|
-
```isml
|
|
354
|
-
<!-- Security: Remove credit card data after processing -->
|
|
355
|
-
<isremove name="ccNumber" scope="page"/>
|
|
356
|
-
|
|
357
|
-
<!-- Performance: Clean up large data set after display -->
|
|
358
|
-
<isremove name="productCatalog" scope="page"/>
|
|
359
|
-
|
|
360
|
-
<!-- State management: Clear form step after submission -->
|
|
361
|
-
<isremove name="formStep" scope="session"/>
|
|
362
|
-
```
|
|
363
|
-
|
|
364
|
-
### 5. Remove Variables in Same Scope They Were Set
|
|
365
|
-
|
|
366
|
-
Remove variables from the same scope where they were created:
|
|
367
|
-
|
|
368
|
-
```isml
|
|
369
|
-
<!-- Good: Same scope for set and remove -->
|
|
370
|
-
<isset name="myVar" value="${data}" scope="page"/>
|
|
371
|
-
<!-- Use variable -->
|
|
372
|
-
<isremove name="myVar" scope="page"/>
|
|
373
|
-
|
|
374
|
-
<!-- Incorrect: Different scopes -->
|
|
375
|
-
<isset name="myVar" value="${data}" scope="page"/>
|
|
376
|
-
<isremove name="myVar" scope="session"/> <!-- Won't work -->
|
|
377
|
-
```
|
|
378
|
-
|
|
379
|
-
### 6. Clean Up Before Redirects
|
|
380
|
-
|
|
381
|
-
Remove unnecessary variables before redirecting:
|
|
382
|
-
|
|
383
|
-
```isml
|
|
384
|
-
<isif condition="${pdict.success}">
|
|
385
|
-
<!-- Clean up processing variables -->
|
|
386
|
-
<isremove name="processingData" scope="session"/>
|
|
387
|
-
<isremove name="tempResults" scope="request"/>
|
|
388
|
-
|
|
389
|
-
<!-- Then redirect -->
|
|
390
|
-
<isredirect location="${URLUtils.url('Success-Show')}"/>
|
|
391
|
-
</isif>
|
|
392
|
-
```
|
|
393
|
-
|
|
394
|
-
### 7. Group Related Variable Removals
|
|
395
|
-
|
|
396
|
-
Group related variable removals together for clarity:
|
|
397
|
-
|
|
398
|
-
```isml
|
|
399
|
-
<!-- Good: Grouped cleanup -->
|
|
400
|
-
<!-- Remove all checkout-related variables -->
|
|
401
|
-
<isremove name="checkoutStep" scope="session"/>
|
|
402
|
-
<isremove name="selectedShipping" scope="session"/>
|
|
403
|
-
<isremove name="selectedPayment" scope="session"/>
|
|
404
|
-
|
|
405
|
-
<!-- Less clear: Scattered removals -->
|
|
406
|
-
<isremove name="checkoutStep" scope="session"/>
|
|
407
|
-
<!-- 50 lines of code -->
|
|
408
|
-
<isremove name="selectedShipping" scope="session"/>
|
|
409
|
-
<!-- 30 lines of code -->
|
|
410
|
-
<isremove name="selectedPayment" scope="session"/>
|
|
411
|
-
```
|
|
412
|
-
|
|
413
|
-
## Common Patterns
|
|
414
|
-
|
|
415
|
-
### Pattern 1: Set-Use-Remove
|
|
416
|
-
|
|
417
|
-
```isml
|
|
418
|
-
<!-- Set variable -->
|
|
419
|
-
<isset name="data" value="${pdict.value}" scope="page"/>
|
|
420
|
-
|
|
421
|
-
<!-- Use variable -->
|
|
422
|
-
<div class="content">${data}</div>
|
|
423
|
-
|
|
424
|
-
<!-- Remove variable -->
|
|
425
|
-
<isremove name="data" scope="page"/>
|
|
426
|
-
```
|
|
427
|
-
|
|
428
|
-
### Pattern 2: Conditional Cleanup
|
|
429
|
-
|
|
430
|
-
```isml
|
|
431
|
-
<isif condition="${pdict.cleanup}">
|
|
432
|
-
<isremove name="tempData" scope="session"/>
|
|
433
|
-
<isremove name="processingState" scope="request"/>
|
|
434
|
-
</isif>
|
|
435
|
-
```
|
|
436
|
-
|
|
437
|
-
### Pattern 3: Batch Cleanup
|
|
438
|
-
|
|
439
|
-
```isml
|
|
440
|
-
<!-- Remove multiple related variables -->
|
|
441
|
-
<isremove name="step1" scope="session"/>
|
|
442
|
-
<isremove name="step2" scope="session"/>
|
|
443
|
-
<isremove name="step3" scope="session"/>
|
|
444
|
-
<isremove name="currentStep" scope="session"/>
|
|
445
|
-
```
|
|
446
|
-
|
|
447
|
-
### Pattern 4: Security Cleanup in Script
|
|
448
|
-
|
|
449
|
-
```isml
|
|
450
|
-
<isscript>
|
|
451
|
-
// Set sensitive variable
|
|
452
|
-
var sensitiveData = pdict.secretKey;
|
|
453
|
-
|
|
454
|
-
// Use it
|
|
455
|
-
var result = processData(sensitiveData);
|
|
456
|
-
|
|
457
|
-
// Clean up in JavaScript (delete doesn't remove from ISML scope)
|
|
458
|
-
delete sensitiveData;
|
|
459
|
-
</isscript>
|
|
460
|
-
|
|
461
|
-
<!-- Still need to remove from ISML scope if set there -->
|
|
462
|
-
<isremove name="secretKey" scope="page"/>
|
|
463
|
-
```
|
|
464
|
-
|
|
465
|
-
## Differences from isset
|
|
466
|
-
|
|
467
|
-
| Feature | `<isset>` | `<isremove>` |
|
|
468
|
-
|---------|-----------|--------------|
|
|
469
|
-
| Purpose | Create/set variable | Remove variable |
|
|
470
|
-
| Value Attribute | Required | Not applicable |
|
|
471
|
-
| Scope Attribute | Required | Required |
|
|
472
|
-
| Effect | Adds variable to scope | Removes variable from scope |
|
|
473
|
-
| Use Case | Initialize data | Clean up data |
|
|
474
|
-
|
|
475
|
-
**Example:**
|
|
476
|
-
```isml
|
|
477
|
-
<!-- isset: Create variable -->
|
|
478
|
-
<isset name="myVar" value="${data}" scope="page"/>
|
|
479
|
-
|
|
480
|
-
<!-- Variable exists and can be used -->
|
|
481
|
-
<div>${myVar}</div>
|
|
482
|
-
|
|
483
|
-
<!-- isremove: Remove variable -->
|
|
484
|
-
<isremove name="myVar" scope="page"/>
|
|
485
|
-
|
|
486
|
-
<!-- Variable no longer exists in scope -->
|
|
487
|
-
```
|
|
488
|
-
|
|
489
|
-
## Scope-Specific Considerations
|
|
490
|
-
|
|
491
|
-
### Page Scope
|
|
492
|
-
|
|
493
|
-
**Lifetime:** Current ISML page only
|
|
494
|
-
**Auto Cleanup:** Variables are automatically removed when page processing completes
|
|
495
|
-
**Manual Removal:** Useful for freeing memory during long page processing
|
|
496
|
-
|
|
497
|
-
```isml
|
|
498
|
-
<!-- Page variables are auto-cleaned, but manual removal can help -->
|
|
499
|
-
<isset name="largeDataSet" value="${pdict.catalog}" scope="page"/>
|
|
500
|
-
<!-- Process data -->
|
|
501
|
-
<isremove name="largeDataSet" scope="page"/>
|
|
502
|
-
<!-- Rest of page processing with less memory usage -->
|
|
503
|
-
```
|
|
504
|
-
|
|
505
|
-
### Request Scope
|
|
506
|
-
|
|
507
|
-
**Lifetime:** Current request (may span multiple templates via includes)
|
|
508
|
-
**Auto Cleanup:** Variables removed when request completes
|
|
509
|
-
**Manual Removal:** Useful for cleaning up between template includes
|
|
510
|
-
|
|
511
|
-
```isml
|
|
512
|
-
<!-- Set in main template -->
|
|
513
|
-
<isset name="requestFlag" value="${true}" scope="request"/>
|
|
514
|
-
|
|
515
|
-
<!-- Include another template that uses the flag -->
|
|
516
|
-
<isinclude template="common/header"/>
|
|
517
|
-
|
|
518
|
-
<!-- Remove flag after include -->
|
|
519
|
-
<isremove name="requestFlag" scope="request"/>
|
|
520
|
-
```
|
|
521
|
-
|
|
522
|
-
### Session Scope
|
|
523
|
-
|
|
524
|
-
**Lifetime:** User session (multiple requests, can persist for hours/days)
|
|
525
|
-
**Auto Cleanup:** Only when session expires or is invalidated
|
|
526
|
-
**Manual Removal:** **Critical** for preventing stale data and memory leaks
|
|
527
|
-
|
|
528
|
-
```isml
|
|
529
|
-
<!-- Session variables persist - MUST be manually removed -->
|
|
530
|
-
<isset name="checkoutInProgress" value="${true}" scope="session"/>
|
|
531
|
-
|
|
532
|
-
<!-- After checkout completes -->
|
|
533
|
-
<isif condition="${pdict.orderPlaced}">
|
|
534
|
-
<isremove name="checkoutInProgress" scope="session"/>
|
|
535
|
-
</isif>
|
|
536
|
-
```
|
|
537
|
-
|
|
538
|
-
## Memory Management
|
|
539
|
-
|
|
540
|
-
### Why Remove Variables?
|
|
541
|
-
|
|
542
|
-
1. **Free Memory:** Large objects consume server memory
|
|
543
|
-
2. **Prevent Memory Leaks:** Especially in session scope
|
|
544
|
-
3. **Clear Stale Data:** Old data can cause bugs
|
|
545
|
-
4. **Security:** Sensitive data should not persist
|
|
546
|
-
|
|
547
|
-
### Example: Large Data Set Cleanup
|
|
548
|
-
|
|
549
|
-
```isml
|
|
550
|
-
<!-- Load large product catalog -->
|
|
551
|
-
<isset name="fullCatalog" value="${pdict.allProducts}" scope="page"/>
|
|
552
|
-
|
|
553
|
-
<!-- Display first 20 products -->
|
|
554
|
-
<isloop items="${fullCatalog}" var="product" begin="0" end="19">
|
|
555
|
-
<div class="product">${product.name}</div>
|
|
556
|
-
</isloop>
|
|
557
|
-
|
|
558
|
-
<!-- Remove large data set to free memory -->
|
|
559
|
-
<isremove name="fullCatalog" scope="page"/>
|
|
560
|
-
|
|
561
|
-
<!-- Rest of page processing with less memory pressure -->
|
|
562
|
-
```
|
|
563
|
-
|
|
564
|
-
## Security Considerations
|
|
565
|
-
|
|
566
|
-
### 1. Always Remove Sensitive Data
|
|
567
|
-
|
|
568
|
-
**Critical:** Remove passwords, credit cards, tokens, API keys after use:
|
|
569
|
-
|
|
570
|
-
```isml
|
|
571
|
-
<!-- CRITICAL: Remove after processing -->
|
|
572
|
-
<isset name="password" value="${pdict.userPassword}" scope="page"/>
|
|
573
|
-
<isscript>
|
|
574
|
-
var authenticated = authenticateUser(username, password);
|
|
575
|
-
</isscript>
|
|
576
|
-
<isremove name="password" scope="page"/>
|
|
577
|
-
|
|
578
|
-
<!-- NEVER leave in scope -->
|
|
579
|
-
<isset name="ccNumber" value="${pdict.creditCard}" scope="session"/> <!-- DANGEROUS -->
|
|
580
|
-
```
|
|
581
|
-
|
|
582
|
-
### 2. Remove Session Data on Logout
|
|
583
|
-
|
|
584
|
-
Clean up all user-specific session data on logout:
|
|
585
|
-
|
|
586
|
-
```isml
|
|
587
|
-
<isif condition="${pdict.logout}">
|
|
588
|
-
<isremove name="userPreferences" scope="session"/>
|
|
589
|
-
<isremove name="savedAddresses" scope="session"/>
|
|
590
|
-
<isremove name="paymentMethods" scope="session"/>
|
|
591
|
-
<isremove name="wishlist" scope="session"/>
|
|
592
|
-
</isif>
|
|
593
|
-
```
|
|
594
|
-
|
|
595
|
-
### 3. Clean Up Error Messages with Sensitive Data
|
|
596
|
-
|
|
597
|
-
Remove error messages that might contain sensitive information:
|
|
598
|
-
|
|
599
|
-
```isml
|
|
600
|
-
<isset name="errorMsg" value="${pdict.error.detailedMessage}" scope="page"/>
|
|
601
|
-
<div class="error">${errorMsg}</div>
|
|
602
|
-
<isremove name="errorMsg" scope="page"/>
|
|
603
|
-
```
|
|
604
|
-
|
|
605
|
-
## Performance Considerations
|
|
606
|
-
|
|
607
|
-
### 1. Remove Large Objects Early
|
|
608
|
-
|
|
609
|
-
Free memory by removing large objects as soon as possible:
|
|
610
|
-
|
|
611
|
-
```isml
|
|
612
|
-
<!-- Process large dataset -->
|
|
613
|
-
<isset name="bigData" value="${pdict.largeDataSet}" scope="page"/>
|
|
614
|
-
<!-- Use first 10 items -->
|
|
615
|
-
<isloop items="${bigData}" var="item" begin="0" end="9">
|
|
616
|
-
<!-- Process item -->
|
|
617
|
-
</isloop>
|
|
618
|
-
<!-- Immediately remove to free memory -->
|
|
619
|
-
<isremove name="bigData" scope="page"/>
|
|
620
|
-
```
|
|
621
|
-
|
|
622
|
-
### 2. Clean Up Session Variables Regularly
|
|
623
|
-
|
|
624
|
-
Prevent session bloat by removing variables when done:
|
|
625
|
-
|
|
626
|
-
```isml
|
|
627
|
-
<!-- Workflow complete - clean up -->
|
|
628
|
-
<isif condition="${pdict.workflowComplete}">
|
|
629
|
-
<isremove name="step1Data" scope="session"/>
|
|
630
|
-
<isremove name="step2Data" scope="session"/>
|
|
631
|
-
<isremove name="step3Data" scope="session"/>
|
|
632
|
-
</isif>
|
|
633
|
-
```
|
|
634
|
-
|
|
635
|
-
### 3. Balance Cleanup vs. Readability
|
|
636
|
-
|
|
637
|
-
Don't over-optimize by removing every variable immediately:
|
|
638
|
-
|
|
639
|
-
```isml
|
|
640
|
-
<!-- Good: Reasonable cleanup -->
|
|
641
|
-
<isset name="productCount" value="${products.length}" scope="page"/>
|
|
642
|
-
<h2>Showing ${productCount} products</h2>
|
|
643
|
-
<!-- Use productCount a few more times -->
|
|
644
|
-
<isremove name="productCount" scope="page"/>
|
|
645
|
-
|
|
646
|
-
<!-- Over-optimized: Removed too early -->
|
|
647
|
-
<isset name="productCount" value="${products.length}" scope="page"/>
|
|
648
|
-
<isremove name="productCount" scope="page"/> <!-- Can't use it anymore! -->
|
|
649
|
-
```
|
|
650
|
-
|
|
651
|
-
## Common Errors and Troubleshooting
|
|
652
|
-
|
|
653
|
-
### Variable Not Removed
|
|
654
|
-
|
|
655
|
-
**Symptom:** Variable still accessible after `<isremove>`.
|
|
656
|
-
|
|
657
|
-
**Causes:**
|
|
658
|
-
1. Wrong scope specified
|
|
659
|
-
2. Variable name typo
|
|
660
|
-
3. Variable re-created after removal
|
|
661
|
-
|
|
662
|
-
**Solution:**
|
|
663
|
-
```isml
|
|
664
|
-
<!-- Ensure correct scope -->
|
|
665
|
-
<isset name="myVar" value="${data}" scope="page"/>
|
|
666
|
-
<isremove name="myVar" scope="page"/> <!-- Same scope -->
|
|
667
|
-
|
|
668
|
-
<!-- Check for typos -->
|
|
669
|
-
<isset name="myVariable" value="${data}" scope="page"/>
|
|
670
|
-
<isremove name="myVarible" scope="page"/> <!-- TYPO! -->
|
|
671
|
-
|
|
672
|
-
<!-- Ensure not re-created -->
|
|
673
|
-
<isremove name="myVar" scope="page"/>
|
|
674
|
-
<isset name="myVar" value="${data}" scope="page"/> <!-- Re-created! -->
|
|
675
|
-
```
|
|
676
|
-
|
|
677
|
-
### Removing Non-Existent Variable
|
|
678
|
-
|
|
679
|
-
**Symptom:** No error, but variable was never set.
|
|
680
|
-
|
|
681
|
-
**Solution:** Check variable existence before removal if unsure:
|
|
682
|
-
|
|
683
|
-
```isml
|
|
684
|
-
<!-- Safe: Check before remove -->
|
|
685
|
-
<isif condition="${typeof myVar !== 'undefined'}">
|
|
686
|
-
<isremove name="myVar" scope="page"/>
|
|
687
|
-
</isif>
|
|
688
|
-
```
|
|
689
|
-
|
|
690
|
-
### Session Variable Not Cleaned Up
|
|
691
|
-
|
|
692
|
-
**Symptom:** Old session data persists across requests.
|
|
693
|
-
|
|
694
|
-
**Solution:** Ensure cleanup logic is in correct workflow path:
|
|
695
|
-
|
|
696
|
-
```isml
|
|
697
|
-
<!-- Make sure cleanup happens on all exit paths -->
|
|
698
|
-
<isif condition="${pdict.success}">
|
|
699
|
-
<isremove name="workflowData" scope="session"/>
|
|
700
|
-
<isredirect location="${URLUtils.url('Success-Show')}"/>
|
|
701
|
-
<iselseif condition="${pdict.cancelled}">
|
|
702
|
-
<isremove name="workflowData" scope="session"/> <!-- Don't forget! -->
|
|
703
|
-
<isredirect location="${URLUtils.url('Home-Show')}"/>
|
|
704
|
-
</isif>
|
|
705
|
-
```
|
|
706
|
-
|
|
707
|
-
## Related Elements
|
|
708
|
-
|
|
709
|
-
- **`<isset>`** - Create or set variables (counterpart to `<isremove>`)
|
|
710
|
-
- **`<isif>`** - Conditional removal of variables
|
|
711
|
-
- **`<isscript>`** - Script-based variable manipulation
|
|
712
|
-
|
|
713
|
-
## Related APIs
|
|
714
|
-
|
|
715
|
-
- **`dw.system.Session`** - Session object and custom properties
|
|
716
|
-
- **`dw.system.Request`** - Request object and custom properties
|
|
717
|
-
- **Pipeline Dictionary (pdict)** - Request-scoped variables
|
|
718
|
-
|
|
719
|
-
## See Also
|
|
720
|
-
|
|
721
|
-
- [isset Element](./isset.md)
|
|
722
|
-
- [ISML Variables and Scope](./variables.md)
|
|
723
|
-
- [Session Management](../dw_system/Session.md)
|
|
724
|
-
- [Security Skill](../../ai-instructions/skills/sfcc-security/SKILL.md)
|
|
725
|
-
- [Performance Skill](../../ai-instructions/skills/sfcc-performance/SKILL.md)
|