@adobe/alloy 2.30.1-beta.9 → 2.31.0

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.
Files changed (241) hide show
  1. package/libEs5/components/Advertising/createComponent.js +7 -3
  2. package/libEs5/components/Advertising/handlers/onBeforeSendEventHandler.js +8 -2
  3. package/libEs5/components/Advertising/handlers/sendAdConversion.js +11 -6
  4. package/libEs5/components/Advertising/handlers/viewThroughHandler.js +8 -2
  5. package/libEs5/components/Advertising/identities/collectSurferId.js +8 -1
  6. package/libEs5/components/Advertising/index.js +2 -1
  7. package/libEs5/components/BrandConcierge/configValidators.js +25 -0
  8. package/libEs5/components/BrandConcierge/constants.js +16 -0
  9. package/libEs5/components/BrandConcierge/createBuildEndpointUrl.js +33 -0
  10. package/libEs5/components/BrandConcierge/createConversationServiceRequest.js +35 -0
  11. package/libEs5/components/BrandConcierge/createSendConversationEvent.js +148 -0
  12. package/libEs5/components/BrandConcierge/createSendConversationServiceRequest.js +85 -0
  13. package/libEs5/components/BrandConcierge/createStreamParser.js +131 -0
  14. package/libEs5/components/BrandConcierge/createTimeoutWrapper.js +79 -0
  15. package/libEs5/components/BrandConcierge/index.js +102 -0
  16. package/libEs5/components/BrandConcierge/utils.js +33 -0
  17. package/libEs5/components/BrandConcierge/validateMessage.js +44 -0
  18. package/libEs5/components/Consent/types.js +12 -0
  19. package/libEs5/components/Context/createComponent.js +1 -2
  20. package/libEs5/components/Context/implementationDetails.js +7 -9
  21. package/libEs5/components/Context/index.js +4 -1
  22. package/libEs5/components/Context/injectDevice.js +2 -2
  23. package/libEs5/components/Context/injectEnvironment.js +2 -2
  24. package/libEs5/components/Context/injectHighEntropyUserAgentHints.js +2 -2
  25. package/libEs5/components/Context/injectOneTimeAnalyticsReferrer.js +52 -0
  26. package/libEs5/components/Context/injectPlaceContext.js +2 -2
  27. package/libEs5/components/Context/injectTimestamp.js +2 -3
  28. package/libEs5/components/Context/injectWeb.js +9 -11
  29. package/libEs5/components/EventMerge/createEventMergeId.js +1 -1
  30. package/libEs5/components/Personalization/createComponent.js +3 -1
  31. package/libEs5/components/Personalization/createFetchDataHandler.js +10 -4
  32. package/libEs5/components/Personalization/createNotificationHandler.js +5 -3
  33. package/libEs5/components/Personalization/createOnDecisionHandler.js +4 -3
  34. package/libEs5/components/Personalization/createPersonalizationDetails.js +1 -1
  35. package/libEs5/components/Personalization/dom-actions/initDomActionsModules.js +1 -1
  36. package/libEs5/components/Personalization/dom-actions/remapHeadOffers.js +5 -0
  37. package/libEs5/components/Personalization/handlers/createProcessInAppMessage.js +2 -1
  38. package/libEs5/components/Personalization/handlers/createProcessRedirect.js +2 -1
  39. package/libEs5/components/Personalization/handlers/injectCreateProposition.js +4 -1
  40. package/libEs5/components/Personalization/in-app-message-actions/actions/displayIframeContent.js +4 -2
  41. package/libEs5/components/Personalization/index.js +2 -2
  42. package/libEs5/components/PushNotifications/types.js +12 -0
  43. package/libEs5/components/RulesEngine/createApplyResponse.js +3 -1
  44. package/libEs5/components/RulesEngine/types.js +12 -0
  45. package/libEs5/components/StreamingMedia/createMediaEventManager.js +1 -1
  46. package/libEs5/constants/libraryVersion.js +1 -1
  47. package/libEs5/constants/surface.js +19 -0
  48. package/libEs5/core/componentCreators.js +8 -1
  49. package/libEs5/core/consent/types.js +12 -0
  50. package/libEs5/core/createEvent.js +7 -0
  51. package/libEs5/core/edgeNetwork/injectSendEdgeNetworkRequest.js +23 -0
  52. package/libEs5/core/edgeNetwork/types.js +12 -0
  53. package/libEs5/core/identity/types.js +12 -0
  54. package/libEs5/core/index.js +5 -1
  55. package/libEs5/core/types.js +12 -0
  56. package/libEs5/utils/clamp.js +25 -0
  57. package/libEs5/utils/createCollect.js +4 -2
  58. package/libEs5/utils/deepAssign.js +5 -0
  59. package/libEs5/utils/dom/createGetPageLocation.js +20 -0
  60. package/libEs5/utils/filterObject.js +1 -1
  61. package/libEs5/utils/index.js +8 -1
  62. package/libEs5/utils/prepareConfigOverridesForEdge.js +4 -2
  63. package/libEs5/utils/request/createDataCollectionRequestPayload.js +3 -0
  64. package/libEs5/utils/request/createRequest.js +5 -1
  65. package/libEs5/utils/request/createRequestParams.js +1 -0
  66. package/libEs5/utils/request/createRequestPayload.js +11 -1
  67. package/libEs5/utils/request/types.js +13 -0
  68. package/libEs5/utils/surfaceUtils.js +82 -0
  69. package/libEs5/utils/types.js +12 -0
  70. package/libEs6/components/Advertising/createComponent.js +7 -3
  71. package/libEs6/components/Advertising/handlers/onBeforeSendEventHandler.js +8 -2
  72. package/libEs6/components/Advertising/handlers/sendAdConversion.js +11 -6
  73. package/libEs6/components/Advertising/handlers/viewThroughHandler.js +8 -2
  74. package/libEs6/components/Advertising/identities/collectSurferId.js +8 -1
  75. package/libEs6/components/Advertising/index.js +2 -1
  76. package/libEs6/components/BrandConcierge/configValidators.js +22 -0
  77. package/libEs6/components/BrandConcierge/constants.js +13 -0
  78. package/libEs6/components/BrandConcierge/createBuildEndpointUrl.js +30 -0
  79. package/libEs6/components/BrandConcierge/createConversationServiceRequest.js +31 -0
  80. package/libEs6/components/BrandConcierge/createSendConversationEvent.js +144 -0
  81. package/libEs6/components/BrandConcierge/createSendConversationServiceRequest.js +81 -0
  82. package/libEs6/components/BrandConcierge/createStreamParser.js +127 -0
  83. package/libEs6/components/BrandConcierge/createTimeoutWrapper.js +76 -0
  84. package/libEs6/components/BrandConcierge/index.js +98 -0
  85. package/libEs6/components/BrandConcierge/utils.js +27 -0
  86. package/libEs6/components/BrandConcierge/validateMessage.js +40 -0
  87. package/libEs6/components/Consent/types.js +12 -0
  88. package/libEs6/components/Context/createComponent.js +1 -2
  89. package/libEs6/components/Context/implementationDetails.js +7 -9
  90. package/libEs6/components/Context/index.js +4 -1
  91. package/libEs6/components/Context/injectDevice.js +3 -3
  92. package/libEs6/components/Context/injectEnvironment.js +3 -3
  93. package/libEs6/components/Context/injectHighEntropyUserAgentHints.js +3 -3
  94. package/libEs6/components/Context/injectOneTimeAnalyticsReferrer.js +48 -0
  95. package/libEs6/components/Context/injectPlaceContext.js +3 -3
  96. package/libEs6/components/Context/injectTimestamp.js +2 -3
  97. package/libEs6/components/Context/injectWeb.js +9 -11
  98. package/libEs6/components/EventMerge/createEventMergeId.js +1 -1
  99. package/libEs6/components/Personalization/createComponent.js +3 -1
  100. package/libEs6/components/Personalization/createFetchDataHandler.js +10 -4
  101. package/libEs6/components/Personalization/createNotificationHandler.js +5 -3
  102. package/libEs6/components/Personalization/createOnDecisionHandler.js +4 -3
  103. package/libEs6/components/Personalization/createPersonalizationDetails.js +1 -1
  104. package/libEs6/components/Personalization/dom-actions/initDomActionsModules.js +1 -1
  105. package/libEs6/components/Personalization/dom-actions/remapHeadOffers.js +6 -1
  106. package/libEs6/components/Personalization/handlers/createProcessInAppMessage.js +2 -1
  107. package/libEs6/components/Personalization/handlers/createProcessRedirect.js +2 -1
  108. package/libEs6/components/Personalization/handlers/injectCreateProposition.js +4 -1
  109. package/libEs6/components/Personalization/in-app-message-actions/actions/displayIframeContent.js +4 -2
  110. package/libEs6/components/Personalization/index.js +2 -2
  111. package/libEs6/components/PushNotifications/types.js +12 -0
  112. package/libEs6/components/RulesEngine/createApplyResponse.js +3 -1
  113. package/libEs6/components/RulesEngine/types.js +12 -0
  114. package/libEs6/components/StreamingMedia/createMediaEventManager.js +1 -1
  115. package/libEs6/constants/libraryVersion.js +1 -1
  116. package/libEs6/constants/surface.js +16 -0
  117. package/libEs6/core/componentCreators.js +2 -1
  118. package/libEs6/core/consent/types.js +12 -0
  119. package/libEs6/core/createEvent.js +7 -0
  120. package/libEs6/core/edgeNetwork/injectSendEdgeNetworkRequest.js +23 -0
  121. package/libEs6/core/edgeNetwork/types.js +12 -0
  122. package/libEs6/core/identity/types.js +12 -0
  123. package/libEs6/core/index.js +5 -1
  124. package/libEs6/core/types.js +12 -0
  125. package/libEs6/utils/clamp.js +22 -0
  126. package/libEs6/utils/createCollect.js +4 -2
  127. package/libEs6/utils/deepAssign.js +6 -0
  128. package/libEs6/utils/dom/createGetPageLocation.js +17 -0
  129. package/libEs6/utils/filterObject.js +1 -1
  130. package/libEs6/utils/index.js +2 -1
  131. package/libEs6/utils/prepareConfigOverridesForEdge.js +4 -2
  132. package/libEs6/utils/request/createDataCollectionRequestPayload.js +3 -0
  133. package/libEs6/utils/request/createRequest.js +5 -1
  134. package/libEs6/utils/request/createRequestParams.js +1 -0
  135. package/libEs6/utils/request/createRequestPayload.js +11 -1
  136. package/libEs6/utils/request/types.js +13 -0
  137. package/libEs6/utils/surfaceUtils.js +76 -0
  138. package/libEs6/utils/types.js +12 -0
  139. package/package.json +32 -36
  140. package/scripts/helpers/path.js +12 -0
  141. package/scripts/helpers/versionBabelPlugin.js +12 -0
  142. package/types/components/Advertising/createComponent.d.ts +3 -2
  143. package/types/components/Advertising/createComponent.d.ts.map +1 -1
  144. package/types/components/Advertising/handlers/onBeforeSendEventHandler.d.ts.map +1 -1
  145. package/types/components/Advertising/handlers/sendAdConversion.d.ts +2 -1
  146. package/types/components/Advertising/handlers/sendAdConversion.d.ts.map +1 -1
  147. package/types/components/Advertising/handlers/viewThroughHandler.d.ts.map +1 -1
  148. package/types/components/Advertising/identities/collectSurferId.d.ts.map +1 -1
  149. package/types/components/Advertising/index.d.ts +1 -1
  150. package/types/components/Advertising/index.d.ts.map +1 -1
  151. package/types/components/BrandConcierge/configValidators.d.ts +3 -0
  152. package/types/components/BrandConcierge/configValidators.d.ts.map +1 -0
  153. package/types/components/BrandConcierge/constants.d.ts +3 -0
  154. package/types/components/BrandConcierge/constants.d.ts.map +1 -0
  155. package/types/components/BrandConcierge/createBuildEndpointUrl.d.ts +9 -0
  156. package/types/components/BrandConcierge/createBuildEndpointUrl.d.ts.map +1 -0
  157. package/types/components/BrandConcierge/createConversationServiceRequest.d.ts +7 -0
  158. package/types/components/BrandConcierge/createConversationServiceRequest.d.ts.map +1 -0
  159. package/types/components/BrandConcierge/createSendConversationEvent.d.ts +15 -0
  160. package/types/components/BrandConcierge/createSendConversationEvent.d.ts.map +1 -0
  161. package/types/components/BrandConcierge/createSendConversationServiceRequest.d.ts +11 -0
  162. package/types/components/BrandConcierge/createSendConversationServiceRequest.d.ts.map +1 -0
  163. package/types/components/BrandConcierge/createStreamParser.d.ts +7 -0
  164. package/types/components/BrandConcierge/createStreamParser.d.ts.map +1 -0
  165. package/types/components/BrandConcierge/createTimeoutWrapper.d.ts +6 -0
  166. package/types/components/BrandConcierge/createTimeoutWrapper.d.ts.map +1 -0
  167. package/types/components/BrandConcierge/index.d.ts +32 -0
  168. package/types/components/BrandConcierge/index.d.ts.map +1 -0
  169. package/types/components/BrandConcierge/utils.d.ts +6 -0
  170. package/types/components/BrandConcierge/utils.d.ts.map +1 -0
  171. package/types/components/BrandConcierge/validateMessage.d.ts +5 -0
  172. package/types/components/BrandConcierge/validateMessage.d.ts.map +1 -0
  173. package/types/components/Consent/types.d.ts.map +1 -1
  174. package/types/components/Context/createComponent.d.ts +1 -1
  175. package/types/components/Context/createComponent.d.ts.map +1 -1
  176. package/types/components/Context/implementationDetails.d.ts +1 -1
  177. package/types/components/Context/implementationDetails.d.ts.map +1 -1
  178. package/types/components/Context/index.d.ts +1 -1
  179. package/types/components/Context/index.d.ts.map +1 -1
  180. package/types/components/Context/injectDevice.d.ts +1 -1
  181. package/types/components/Context/injectDevice.d.ts.map +1 -1
  182. package/types/components/Context/injectEnvironment.d.ts +1 -1
  183. package/types/components/Context/injectEnvironment.d.ts.map +1 -1
  184. package/types/components/Context/injectHighEntropyUserAgentHints.d.ts +1 -1
  185. package/types/components/Context/injectHighEntropyUserAgentHints.d.ts.map +1 -1
  186. package/types/components/Context/injectOneTimeAnalyticsReferrer.d.ts +3 -0
  187. package/types/components/Context/injectOneTimeAnalyticsReferrer.d.ts.map +1 -0
  188. package/types/components/Context/injectPlaceContext.d.ts +1 -1
  189. package/types/components/Context/injectPlaceContext.d.ts.map +1 -1
  190. package/types/components/Context/injectTimestamp.d.ts +1 -1
  191. package/types/components/Context/injectTimestamp.d.ts.map +1 -1
  192. package/types/components/Context/injectWeb.d.ts +1 -1
  193. package/types/components/Context/injectWeb.d.ts.map +1 -1
  194. package/types/components/Personalization/createComponent.d.ts.map +1 -1
  195. package/types/components/Personalization/createFetchDataHandler.d.ts +2 -1
  196. package/types/components/Personalization/createFetchDataHandler.d.ts.map +1 -1
  197. package/types/components/Personalization/createNotificationHandler.d.ts +1 -1
  198. package/types/components/Personalization/createNotificationHandler.d.ts.map +1 -1
  199. package/types/components/Personalization/createOnDecisionHandler.d.ts +2 -1
  200. package/types/components/Personalization/createOnDecisionHandler.d.ts.map +1 -1
  201. package/types/components/Personalization/createPersonalizationDetails.d.ts.map +1 -1
  202. package/types/components/Personalization/dom-actions/remapHeadOffers.d.ts.map +1 -1
  203. package/types/components/Personalization/handlers/createProcessInAppMessage.d.ts.map +1 -1
  204. package/types/components/Personalization/handlers/createProcessRedirect.d.ts.map +1 -1
  205. package/types/components/Personalization/handlers/injectCreateProposition.d.ts +2 -1
  206. package/types/components/Personalization/handlers/injectCreateProposition.d.ts.map +1 -1
  207. package/types/components/Personalization/in-app-message-actions/actions/displayIframeContent.d.ts.map +1 -1
  208. package/types/components/Personalization/index.d.ts.map +1 -1
  209. package/types/components/PushNotifications/types.d.ts.map +1 -1
  210. package/types/components/RulesEngine/createApplyResponse.d.ts.map +1 -1
  211. package/types/components/RulesEngine/index.d.ts.map +1 -1
  212. package/types/components/RulesEngine/types.d.ts.map +1 -1
  213. package/types/constants/surface.d.ts +5 -0
  214. package/types/constants/surface.d.ts.map +1 -0
  215. package/types/core/componentCreators.d.ts +1 -0
  216. package/types/core/consent/types.d.ts.map +1 -1
  217. package/types/core/createEvent.d.ts +2 -0
  218. package/types/core/createEvent.d.ts.map +1 -1
  219. package/types/core/edgeNetwork/injectSendEdgeNetworkRequest.d.ts.map +1 -1
  220. package/types/core/edgeNetwork/types.d.ts.map +1 -1
  221. package/types/core/identity/types.d.ts.map +1 -1
  222. package/types/core/index.d.ts.map +1 -1
  223. package/types/core/types.d.ts.map +1 -1
  224. package/types/utils/clamp.d.ts +3 -0
  225. package/types/utils/clamp.d.ts.map +1 -0
  226. package/types/utils/createCollect.d.ts +2 -1
  227. package/types/utils/createCollect.d.ts.map +1 -1
  228. package/types/utils/deepAssign.d.ts.map +1 -1
  229. package/types/utils/dom/createGetPageLocation.d.ts +5 -0
  230. package/types/utils/dom/createGetPageLocation.d.ts.map +1 -0
  231. package/types/utils/index.d.ts +1 -0
  232. package/types/utils/prepareConfigOverridesForEdge.d.ts.map +1 -1
  233. package/types/utils/request/createDataCollectionRequestPayload.d.ts.map +1 -1
  234. package/types/utils/request/createRequest.d.ts.map +1 -1
  235. package/types/utils/request/createRequestParams.d.ts.map +1 -1
  236. package/types/utils/request/createRequestPayload.d.ts.map +1 -1
  237. package/types/utils/request/types.d.ts +2 -0
  238. package/types/utils/request/types.d.ts.map +1 -1
  239. package/types/utils/surfaceUtils.d.ts +4 -0
  240. package/types/utils/surfaceUtils.d.ts.map +1 -0
  241. package/types/utils/types.d.ts.map +1 -1
@@ -0,0 +1,102 @@
1
+ "use strict";
2
+
3
+ exports.default = void 0;
4
+ var _validateMessage = require("./validateMessage.js");
5
+ var _createSendConversationEvent = require("./createSendConversationEvent.js");
6
+ var _createBuildEndpointUrl = require("./createBuildEndpointUrl.js");
7
+ var _reactorQueryString = require("@adobe/reactor-query-string");
8
+ var _index = require("../../utils/index.js");
9
+ var _constants = require("./constants.js");
10
+ var _createDecodeKndctrCookie = require("../../utils/createDecodeKndctrCookie.js");
11
+ var _createSendConversationServiceRequest = require("./createSendConversationServiceRequest.js");
12
+ var _configValidators = require("./configValidators.js");
13
+ /*
14
+ Copyright 2024 Adobe. All rights reserved.
15
+ This file is licensed to you under the Apache License, Version 2.0 (the "License");
16
+ you may not use this file except in compliance with the License. You may obtain a copy
17
+ of the License at http://www.apache.org/licenses/LICENSE-2.0
18
+
19
+ Unless required by applicable law or agreed to in writing, software distributed under
20
+ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
21
+ OF ANY KIND, either express or implied. See the License for the specific language
22
+ governing permissions and limitations under the License.
23
+ */
24
+
25
+ const createConciergeComponent = ({
26
+ loggingCookieJar,
27
+ logger,
28
+ eventManager,
29
+ consent,
30
+ instanceName,
31
+ sendEdgeNetworkRequest,
32
+ config,
33
+ lifecycle,
34
+ cookieTransfer,
35
+ createResponse,
36
+ apexDomain
37
+ }) => {
38
+ const {
39
+ fetch
40
+ } = window;
41
+ if (!config.conversation.stickyConversationSession) {
42
+ loggingCookieJar.remove((0, _index.getNamespacedCookieName)(config.orgId, _constants.BC_SESSION_COOKIE_NAME), {
43
+ domain: apexDomain
44
+ });
45
+ }
46
+ const buildEndpointUrl = (0, _createBuildEndpointUrl.default)({
47
+ queryString: _reactorQueryString.default
48
+ });
49
+ const sendConversationServiceRequest = (0, _createSendConversationServiceRequest.default)({
50
+ logger,
51
+ fetch,
52
+ config
53
+ });
54
+ const decodeKndctrCookie = (0, _createDecodeKndctrCookie.default)({
55
+ orgId: config.orgId,
56
+ cookieJar: loggingCookieJar,
57
+ logger
58
+ });
59
+ const sendConversationEvent = (0, _createSendConversationEvent.default)({
60
+ loggingCookieJar,
61
+ logger,
62
+ eventManager,
63
+ consent,
64
+ instanceName,
65
+ sendEdgeNetworkRequest,
66
+ config,
67
+ buildEndpointUrl,
68
+ lifecycle,
69
+ cookieTransfer,
70
+ createResponse,
71
+ sendConversationServiceRequest,
72
+ decodeKndctrCookie
73
+ });
74
+ return {
75
+ lifecycle: {
76
+ onBeforeEvent({
77
+ event
78
+ }) {
79
+ const parsedParams = _reactorQueryString.default.parse(window.location.search);
80
+ if (parsedParams.source) {
81
+ const source = parsedParams.source;
82
+ event.mergeXdm({
83
+ channel: {
84
+ referringSource: source
85
+ }
86
+ });
87
+ }
88
+ }
89
+ },
90
+ commands: {
91
+ sendConversationEvent: {
92
+ optionsValidator: options => (0, _validateMessage.default)({
93
+ options
94
+ }),
95
+ run: sendConversationEvent
96
+ }
97
+ }
98
+ };
99
+ };
100
+ createConciergeComponent.namespace = "BrandConcierge";
101
+ createConciergeComponent.configValidators = _configValidators.default;
102
+ var _default = exports.default = createConciergeComponent;
@@ -0,0 +1,33 @@
1
+ "use strict";
2
+
3
+ exports.getPageSurface = exports.getConciergeSessionCookie = void 0;
4
+ var _index = require("../../utils/index.js");
5
+ var _surfaceUtils = require("../../utils/surfaceUtils.js");
6
+ var _constants = require("./constants.js");
7
+ /*
8
+ Copyright 2025 Adobe. All rights reserved.
9
+ This file is licensed to you under the Apache License, Version 2.0 (the "License");
10
+ you may not use this file except in compliance with the License. You may obtain a copy
11
+ of the License at http://www.apache.org/licenses/LICENSE-2.0
12
+
13
+ Unless required by applicable law or agreed to in writing, software distributed under
14
+ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
15
+ OF ANY KIND, either express or implied. See the License for the specific language
16
+ governing permissions and limitations under the License.
17
+ */
18
+
19
+ const getPageSurface = () => {
20
+ const pageLocation = (0, _index.createGetPageLocation)({
21
+ window: window
22
+ });
23
+ return (0, _surfaceUtils.buildPageSurface)(pageLocation);
24
+ };
25
+ exports.getPageSurface = getPageSurface;
26
+ const getConciergeSessionCookie = ({
27
+ loggingCookieJar,
28
+ config
29
+ }) => {
30
+ const cookieName = (0, _index.getNamespacedCookieName)(config.orgId, _constants.BC_SESSION_COOKIE_NAME);
31
+ return loggingCookieJar.get(cookieName);
32
+ };
33
+ exports.getConciergeSessionCookie = getConciergeSessionCookie;
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+
3
+ exports.default = void 0;
4
+ var _index = require("../../utils/validation/index.js");
5
+ var _index2 = require("../../utils/index.js");
6
+ /*
7
+ Copyright 2025 Adobe. All rights reserved.
8
+ This file is licensed to you under the Apache License, Version 2.0 (the "License");
9
+ you may not use this file except in compliance with the License. You may obtain a copy
10
+ of the License at http://www.apache.org/licenses/LICENSE-2.0
11
+
12
+ Unless required by applicable law or agreed to in writing, software distributed under
13
+ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
14
+ OF ANY KIND, either express or implied. See the License for the specific language
15
+ governing permissions and limitations under the License.
16
+ */
17
+ var _default = ({
18
+ options
19
+ }) => {
20
+ const brandConciergeEventValidator = (0, _index.anyOf)([(0, _index.objectOf)({
21
+ message: (0, _index.string)().required(),
22
+ onStreamResponse: (0, _index.callback)().default(_index2.noop)
23
+ }), (0, _index.objectOf)({
24
+ xdm: (0, _index.objectOf)({
25
+ interactionId: (0, _index.string)(),
26
+ conversationId: (0, _index.string)(),
27
+ conversation: (0, _index.objectOf)({
28
+ feedback: (0, _index.objectOf)({
29
+ classification: (0, _index.string)(),
30
+ comment: (0, _index.string)(),
31
+ reasons: (0, _index.arrayOf)((0, _index.string)())
32
+ })
33
+ })
34
+ })
35
+ }).required(), (0, _index.objectOf)({
36
+ data: (0, _index.objectOf)({
37
+ type: (0, _index.string)().required(),
38
+ payload: (0, _index.objectOf)({})
39
+ }).required(),
40
+ onStreamResponse: (0, _index.callback)().default(_index2.noop)
41
+ })]);
42
+ return brandConciergeEventValidator(options);
43
+ };
44
+ exports.default = _default;
@@ -1,6 +1,18 @@
1
1
  "use strict";
2
2
 
3
3
  exports.Types = void 0;
4
+ /*
5
+ Copyright 2025 Adobe. All rights reserved.
6
+ This file is licensed to you under the Apache License, Version 2.0 (the "License");
7
+ you may not use this file except in compliance with the License. You may obtain a copy
8
+ of the License at http://www.apache.org/licenses/LICENSE-2.0
9
+
10
+ Unless required by applicable law or agreed to in writing, software distributed under
11
+ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
12
+ OF ANY KIND, either express or implied. See the License for the specific language
13
+ governing permissions and limitations under the License.
14
+ */
15
+
4
16
  /**
5
17
  * Request payload object with methods for merging different types of data.
6
18
  *
@@ -27,8 +27,7 @@ var _default = (config, logger, optionalContexts, requiredContexts) => {
27
27
  onBeforeEvent({
28
28
  event
29
29
  }) {
30
- const xdm = {};
31
- return Promise.all(contexts.map(context => Promise.resolve(context(xdm, logger)))).then(() => event.mergeXdm(xdm));
30
+ return Promise.all(contexts.map(context => Promise.resolve(context(event, logger))));
32
31
  }
33
32
  }
34
33
  };
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  exports.default = void 0;
4
- var _index = require("../../utils/index.js");
5
4
  var _libraryName = require("../../constants/libraryName.js");
6
5
  var _libraryVersion = require("../../constants/libraryVersion.js");
7
6
  /*
@@ -15,14 +14,13 @@ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTA
15
14
  OF ANY KIND, either express or implied. See the License for the specific language
16
15
  governing permissions and limitations under the License.
17
16
  */
18
- var _default = xdm => {
19
- const implementationDetails = {
20
- name: _libraryName.default,
21
- version: _libraryVersion.default,
22
- environment: "browser"
23
- };
24
- (0, _index.deepAssign)(xdm, {
25
- implementationDetails
17
+ var _default = event => {
18
+ event.mergeXdm({
19
+ implementationDetails: {
20
+ name: _libraryName.default,
21
+ version: _libraryVersion.default,
22
+ environment: "browser"
23
+ }
26
24
  });
27
25
  };
28
26
  exports.default = _default;
@@ -9,6 +9,7 @@ var _injectTimestamp = require("./injectTimestamp.js");
9
9
  var _implementationDetails = require("./implementationDetails.js");
10
10
  var _createComponent = require("./createComponent.js");
11
11
  var _injectHighEntropyUserAgentHints = require("./injectHighEntropyUserAgentHints.js");
12
+ var _injectOneTimeAnalyticsReferrer = require("./injectOneTimeAnalyticsReferrer.js");
12
13
  var _index = require("../../utils/validation/index.js");
13
14
  /*
14
15
  Copyright 2019 Adobe. All rights reserved.
@@ -28,6 +29,7 @@ const environment = (0, _injectEnvironment.default)(window);
28
29
  const placeContext = (0, _injectPlaceContext.default)(() => new Date());
29
30
  const timestamp = (0, _injectTimestamp.default)(() => new Date());
30
31
  const highEntropyUserAgentHints = (0, _injectHighEntropyUserAgentHints.default)(navigator);
32
+ const oneTimeAnalyticsReferrer = (0, _injectOneTimeAnalyticsReferrer.default)(window);
31
33
  const defaultEnabledContexts = {
32
34
  web,
33
35
  device,
@@ -35,7 +37,8 @@ const defaultEnabledContexts = {
35
37
  placeContext
36
38
  };
37
39
  const defaultDisabledContexts = {
38
- highEntropyUserAgentHints
40
+ highEntropyUserAgentHints,
41
+ oneTimeAnalyticsReferrer
39
42
  };
40
43
  const optionalContexts = {
41
44
  ...defaultEnabledContexts,
@@ -44,7 +44,7 @@ const getScreenOrientationViaMediaQuery = window => {
44
44
  return null;
45
45
  };
46
46
  var _default = window => {
47
- return xdm => {
47
+ return event => {
48
48
  const {
49
49
  screen: {
50
50
  width,
@@ -65,7 +65,7 @@ var _default = window => {
65
65
  device.screenOrientation = orientation;
66
66
  }
67
67
  if (Object.keys(device).length > 0) {
68
- (0, _index.deepAssign)(xdm, {
68
+ event.mergeXdm({
69
69
  device
70
70
  });
71
71
  }
@@ -14,7 +14,7 @@ OF ANY KIND, either express or implied. See the License for the specific languag
14
14
  governing permissions and limitations under the License.
15
15
  */
16
16
  var _default = window => {
17
- return xdm => {
17
+ return event => {
18
18
  const {
19
19
  document: {
20
20
  documentElement: {
@@ -37,7 +37,7 @@ var _default = window => {
37
37
  environment.browserDetails = environment.browserDetails || {};
38
38
  environment.browserDetails.viewportHeight = viewportHeight;
39
39
  }
40
- (0, _index.deepAssign)(xdm, {
40
+ event.mergeXdm({
41
41
  environment
42
42
  });
43
43
  };
@@ -22,7 +22,7 @@ var _default = navigator => {
22
22
  if (!browserSupportsUserAgentClientHints(navigator)) {
23
23
  return _index.noop;
24
24
  }
25
- return (xdm, logger) => {
25
+ return (event, logger) => {
26
26
  try {
27
27
  // eslint-disable-next-line compat/compat -- userAgentData support is checked before calling
28
28
  return navigator.userAgentData.getHighEntropyValues(_highEntropyUserAgentClientHints.default.map(hint => hint[0])).then(hints => {
@@ -33,7 +33,7 @@ var _default = navigator => {
33
33
  userAgentClientHints[hintName] = hints[hintName];
34
34
  }
35
35
  });
36
- (0, _index.deepAssign)(xdm, {
36
+ event.mergeXdm({
37
37
  environment: {
38
38
  browserDetails: {
39
39
  userAgentClientHints
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+
3
+ exports.default = void 0;
4
+ /*
5
+ Copyright 2025 Adobe. All rights reserved.
6
+ This file is licensed to you under the Apache License, Version 2.0 (the "License");
7
+ you may not use this file except in compliance with the License. You may obtain a copy
8
+ of the License at http://www.apache.org/licenses/LICENSE-2.0
9
+
10
+ Unless required by applicable law or agreed to in writing, software distributed under
11
+ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
12
+ OF ANY KIND, either express or implied. See the License for the specific language
13
+ governing permissions and limitations under the License.
14
+ */
15
+
16
+ // Because these events are originated by the SDK rather than user actions, don't change the referrer
17
+ const IGNORED_EVENT_TYPES = new Set(["decisioning.propositionFetch", "decisioning.propositionDisplay", "decisioning.propositionInteract"]);
18
+ var _default = window => {
19
+ let lastReferrerSent = null;
20
+ return event => {
21
+ const content = event.getContent();
22
+ const eventType = content.xdm?.eventType;
23
+ if (IGNORED_EVENT_TYPES.has(eventType)) {
24
+ return;
25
+ }
26
+
27
+ // Allow customers to explicitly set the referrer (for SPA view changes)
28
+ // Otherwise, use document.referrer
29
+ // eslint-disable-next-line no-underscore-dangle
30
+ const explicitReferrer = content.data?.__adobe?.analytics?.referrer;
31
+ const currentReferrer = explicitReferrer !== undefined ? explicitReferrer : window.document.referrer;
32
+ if (currentReferrer === lastReferrerSent) {
33
+ event.mergeData({
34
+ __adobe: {
35
+ analytics: {
36
+ referrer: ""
37
+ }
38
+ }
39
+ });
40
+ return;
41
+ }
42
+ event.mergeData({
43
+ __adobe: {
44
+ analytics: {
45
+ referrer: currentReferrer
46
+ }
47
+ }
48
+ });
49
+ lastReferrerSent = currentReferrer;
50
+ };
51
+ };
52
+ exports.default = _default;
@@ -14,7 +14,7 @@ OF ANY KIND, either express or implied. See the License for the specific languag
14
14
  governing permissions and limitations under the License.
15
15
  */
16
16
  var _default = dateProvider => {
17
- return xdm => {
17
+ return event => {
18
18
  const date = dateProvider();
19
19
  const placeContext = {};
20
20
  const localTimezoneOffset = (0, _index.toInteger)(date.getTimezoneOffset());
@@ -25,7 +25,7 @@ var _default = dateProvider => {
25
25
  if (localTimezoneOffset === undefined || Math.abs(localTimezoneOffset) < 6000) {
26
26
  placeContext.localTime = (0, _index.toISOStringLocal)(date);
27
27
  }
28
- (0, _index.deepAssign)(xdm, {
28
+ event.mergeXdm({
29
29
  placeContext
30
30
  });
31
31
  };
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  exports.default = void 0;
4
- var _index = require("../../utils/index.js");
5
4
  /*
6
5
  Copyright 2019 Adobe. All rights reserved.
7
6
  This file is licensed to you under the Apache License, Version 2.0 (the "License");
@@ -14,9 +13,9 @@ OF ANY KIND, either express or implied. See the License for the specific languag
14
13
  governing permissions and limitations under the License.
15
14
  */
16
15
  var _default = dateProvider => {
17
- return xdm => {
16
+ return event => {
18
17
  const timestamp = dateProvider().toISOString();
19
- (0, _index.deepAssign)(xdm, {
18
+ event.mergeXdm({
20
19
  timestamp
21
20
  });
22
21
  };
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
 
3
3
  exports.default = void 0;
4
- var _index = require("../../utils/index.js");
5
4
  /*
6
5
  Copyright 2019 Adobe. All rights reserved.
7
6
  This file is licensed to you under the Apache License, Version 2.0 (the "License");
@@ -14,17 +13,16 @@ OF ANY KIND, either express or implied. See the License for the specific languag
14
13
  governing permissions and limitations under the License.
15
14
  */
16
15
  var _default = window => {
17
- return xdm => {
18
- const web = {
19
- webPageDetails: {
20
- URL: window.location.href || window.location
21
- },
22
- webReferrer: {
23
- URL: window.document.referrer
16
+ return event => {
17
+ event.mergeXdm({
18
+ web: {
19
+ webPageDetails: {
20
+ URL: window.location.href || window.location
21
+ },
22
+ webReferrer: {
23
+ URL: window.document.referrer
24
+ }
24
25
  }
25
- };
26
- (0, _index.deepAssign)(xdm, {
27
- web
28
26
  });
29
27
  };
30
28
  };
@@ -3,7 +3,7 @@
3
3
  exports.default = void 0;
4
4
  var _index = require("../../utils/index.js");
5
5
  /*
6
- Copyright 20219 Adobe. All rights reserved.
6
+ Copyright 2025 Adobe. All rights reserved.
7
7
  This file is licensed to you under the Apache License, Version 2.0 (the "License");
8
8
  you may not use this file except in compliance with the License. You may obtain a copy
9
9
  of the License at http://www.apache.org/licenses/LICENSE-2.0
@@ -84,11 +84,13 @@ var _default = ({
84
84
  if (personalizationDetails.shouldFetchData()) {
85
85
  const cacheUpdate = viewCache.createCacheUpdate(personalizationDetails.getViewName());
86
86
  onRequestFailure(() => cacheUpdate.cancel());
87
+ const identityMap = event.getUserIdentityMap();
87
88
  fetchDataHandler({
88
89
  cacheUpdate,
89
90
  personalizationDetails,
90
91
  event,
91
- onResponse
92
+ onResponse,
93
+ identityMap
92
94
  });
93
95
  } else if (personalizationDetails.shouldUseCachedData()) {
94
96
  decisionsMetaPromises.push(viewChangeHandler({
@@ -3,6 +3,7 @@
3
3
  exports.default = void 0;
4
4
  var _index = require("../../utils/index.js");
5
5
  var _pageWideScope = require("../../constants/pageWideScope.js");
6
+ var _schema = require("../../constants/schema.js");
6
7
  /*
7
8
  Copyright 2023 Adobe. All rights reserved.
8
9
  This file is licensed to you under the Apache License, Version 2.0 (the "License");
@@ -31,7 +32,8 @@ var _default = ({
31
32
  cacheUpdate,
32
33
  personalizationDetails,
33
34
  event,
34
- onResponse
35
+ onResponse,
36
+ identityMap
35
37
  }) => {
36
38
  const {
37
39
  state,
@@ -48,7 +50,7 @@ var _default = ({
48
50
 
49
51
  // This needs to be called before the response so that future sendEvent calls
50
52
  // can know to wait until this request is complete for pending display notifications.
51
- const handleNotifications = notificationHandler(personalizationDetails.isRenderDecisions(), personalizationDetails.isSendDisplayEvent(), personalizationDetails.getViewName());
53
+ const handleNotifications = notificationHandler(personalizationDetails.isRenderDecisions(), personalizationDetails.isSendDisplayEvent(), personalizationDetails.getViewName(), identityMap);
52
54
  onResponse(({
53
55
  response
54
56
  }) => {
@@ -63,7 +65,7 @@ var _default = ({
63
65
  }
64
66
  });
65
67
  }
66
- const propositions = handles.map(handle => createProposition(handle));
68
+ const propositions = handles.map(handle => createProposition(handle, true, false, identityMap));
67
69
  const {
68
70
  page: pagePropositions = [],
69
71
  view: viewPropositions = [],
@@ -106,7 +108,11 @@ var _default = ({
106
108
  // Render could take a long time especially if one of the renders
107
109
  // is waiting for html to appear on the page. We show the containers
108
110
  // immediately, and whatever renders quickly will not have flicker.
109
- showContainers();
111
+ // However, skip showing containers if there's only one page proposition with a single REDIRECT_ITEM
112
+ const shouldSkipShowContainers = pagePropositions.length === 1 && pagePropositions[0].getItems().every(p => p.getSchema() === _schema.REDIRECT_ITEM);
113
+ if (!shouldSkipShowContainers) {
114
+ showContainers();
115
+ }
110
116
  } else {
111
117
  ({
112
118
  returnedPropositions,
@@ -16,7 +16,7 @@ OF ANY KIND, either express or implied. See the License for the specific languag
16
16
  governing permissions and limitations under the License.
17
17
  */
18
18
  var _default = (collect, renderedPropositions) => {
19
- return (isRenderDecisions, isSendDisplayEvent, viewName) => {
19
+ return (isRenderDecisions, isSendDisplayEvent, viewName, identityMap) => {
20
20
  if (!isRenderDecisions) {
21
21
  // If we aren't rendering anything, then we don't need to sendDisplayEvents.
22
22
  return () => undefined;
@@ -30,7 +30,8 @@ var _default = (collect, renderedPropositions) => {
30
30
  if ((0, _isNonEmptyArray.default)(decisionsMetaDisplay)) {
31
31
  collect({
32
32
  decisionsMeta: decisionsMetaDisplay,
33
- viewName
33
+ viewName,
34
+ identityMap
34
35
  });
35
36
  }
36
37
  if ((0, _isNonEmptyArray.default)(decisionsMetaSuppressed)) {
@@ -40,7 +41,8 @@ var _default = (collect, renderedPropositions) => {
40
41
  propositionAction: {
41
42
  reason: "Conflict"
42
43
  },
43
- viewName
44
+ viewName,
45
+ identityMap
44
46
  });
45
47
  }
46
48
  };
@@ -40,7 +40,8 @@ var _default = ({
40
40
  renderDecisions,
41
41
  propositions,
42
42
  event,
43
- personalization = {}
43
+ personalization = {},
44
+ identityMap
44
45
  }) => {
45
46
  if (!renderDecisions) {
46
47
  return Promise.resolve();
@@ -50,12 +51,12 @@ var _default = ({
50
51
  } = personalization;
51
52
  const viewName = event ? event.getViewName() : undefined;
52
53
  const shouldSuppressDisplay = createShouldSuppressDisplay();
53
- const propositionsToExecute = propositions.map(proposition => createProposition(proposition, true, shouldSuppressDisplay(proposition)));
54
+ const propositionsToExecute = propositions.map(proposition => createProposition(proposition, true, shouldSuppressDisplay(proposition), identityMap));
54
55
  const {
55
56
  render,
56
57
  returnedPropositions
57
58
  } = processPropositions(propositionsToExecute);
58
- const handleNotifications = notificationHandler(renderDecisions, sendDisplayEvent, viewName);
59
+ const handleNotifications = notificationHandler(renderDecisions, sendDisplayEvent, viewName, identityMap);
59
60
  const propositionsById = propositionsToExecute.reduce((tot, proposition) => {
60
61
  tot[proposition.getId()] = proposition;
61
62
  return tot;
@@ -2,9 +2,9 @@
2
2
 
3
3
  exports.default = void 0;
4
4
  var _index = require("../../utils/index.js");
5
- var _surfaceUtils = require("./utils/surfaceUtils.js");
6
5
  var _pageWideScope = require("../../constants/pageWideScope.js");
7
6
  var _schema = require("../../constants/schema.js");
7
+ var _surfaceUtils = require("../../utils/surfaceUtils.js");
8
8
  /*
9
9
  Copyright 2020 Adobe. All rights reserved.
10
10
  This file is licensed to you under the Apache License, Version 2.0 (the "License");
@@ -49,7 +49,7 @@ const DOM_ACTION_COLLECT_INTERACTIONS = exports.DOM_ACTION_COLLECT_INTERACTIONS
49
49
  var _default = () => {
50
50
  return {
51
51
  [DOM_ACTION_SET_HTML]: (0, _action.createAction)(_setHtml.default, true),
52
- [DOM_ACTION_CUSTOM_CODE]: (0, _action.createAction)(_prependHtml.default),
52
+ [DOM_ACTION_CUSTOM_CODE]: (0, _action.createAction)(_prependHtml.default, true),
53
53
  [DOM_ACTION_SET_TEXT]: (0, _action.createAction)(_setText.default, true),
54
54
  [DOM_ACTION_SET_ATTRIBUTE]: (0, _action.createAction)(_setAttributes.default, true),
55
55
  [DOM_ACTION_SET_IMAGE_SOURCE]: (0, _action.createAction)(_swapImage.default, true),
@@ -39,6 +39,11 @@ var _default = action => {
39
39
  content,
40
40
  selector
41
41
  } = result;
42
+
43
+ // Custom code actions have a "HEAD" selector, but are handled differently.
44
+ if (result.type === _initDomActionsModules.DOM_ACTION_CUSTOM_CODE) {
45
+ return result;
46
+ }
42
47
  if ((0, _isBlankString.default)(content)) {
43
48
  return result;
44
49
  }
@@ -73,7 +73,8 @@ var _default = ({
73
73
  render: () => {
74
74
  return shouldSuppressDisplay ? null : modules[type]({
75
75
  ...data,
76
- meta
76
+ meta,
77
+ identityMap: proposition.getIdentityMap()
77
78
  });
78
79
  },
79
80
  setRenderAttempted: true,
@@ -31,7 +31,8 @@ var _default = ({
31
31
  (0, _index.hideElements)(REDIRECT_HIDING_ELEMENT);
32
32
  return collect({
33
33
  decisionsMeta: [item.getProposition().getNotification()],
34
- documentMayUnload: true
34
+ documentMayUnload: true,
35
+ identityMap: item.getProposition().getIdentityMap()
35
36
  }).then(() => {
36
37
  logger.logOnContentRendering({
37
38
  status: "rendering-redirect",
@@ -59,7 +59,7 @@ var _default = ({
59
59
  }
60
60
  };
61
61
  };
62
- return (payload, visibleInReturnedItems = true, shouldSuppressDisplay = false) => {
62
+ return (payload, visibleInReturnedItems = true, shouldSuppressDisplay = false, identityMap = undefined) => {
63
63
  const {
64
64
  id,
65
65
  scope,
@@ -97,6 +97,9 @@ var _default = ({
97
97
  getId() {
98
98
  return id;
99
99
  },
100
+ getIdentityMap() {
101
+ return identityMap;
102
+ },
100
103
  toJSON() {
101
104
  return payload;
102
105
  },