@walkeros/web-source-cmp-usercentrics 3.4.2 → 4.0.0-next-1777463920154

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/index.d.ts CHANGED
@@ -1,5 +1,13 @@
1
1
  import { Source, Elb, WalkerOS, Logger, Flow, Trigger } from '@walkeros/core';
2
2
 
3
+ declare module '@walkeros/core' {
4
+ interface SourceMap {
5
+ usercentrics: {
6
+ type: 'usercentrics';
7
+ platform?: 'web';
8
+ };
9
+ }
10
+ }
3
11
  /**
4
12
  * Usercentrics consent event detail structure.
5
13
  *
@@ -26,7 +34,7 @@ declare global {
26
34
  }
27
35
  /**
28
36
  * Usercentrics V2 service info shape returned by `UC_UI.getServicesBaseInfo()`.
29
- * Only the fields we use are typed minimal surface, not a full V2 API mirror.
37
+ * Only the fields we use are typed - minimal surface, not a full V2 API mirror.
30
38
  */
31
39
  interface UsercentricsV2Service {
32
40
  /** Category slug: 'essential' | 'functional' | 'marketing' | custom */
@@ -53,14 +61,14 @@ interface UsercentricsV2Api {
53
61
  */
54
62
  type UsercentricsV3CategoryState = 'ALL_ACCEPTED' | 'ALL_DENIED' | 'SOME_ACCEPTED' | 'NO_STATE' | string;
55
63
  /**
56
- * Minimal V3 CategoryData only fields the adapter reads.
64
+ * Minimal V3 CategoryData - only fields the adapter reads.
57
65
  */
58
66
  interface UsercentricsV3CategoryData {
59
67
  state: UsercentricsV3CategoryState;
60
68
  name: string;
61
69
  }
62
70
  /**
63
- * Minimal V3 ConsentData only the `type` field is used to distinguish
71
+ * Minimal V3 ConsentData - only the `type` field is used to distinguish
64
72
  * explicit vs implicit consent. Other fields (status, version, etc.) exist on
65
73
  * the real SDK but are not read by this adapter.
66
74
  */
@@ -68,7 +76,7 @@ interface UsercentricsV3ConsentData {
68
76
  type: 'EXPLICIT' | 'IMPLICIT' | string;
69
77
  }
70
78
  /**
71
- * Minimal V3 ConsentDetails only the fields the adapter reads.
79
+ * Minimal V3 ConsentDetails - only the fields the adapter reads.
72
80
  * The real SDK also exposes `services`, but the adapter currently operates
73
81
  * at category level only.
74
82
  */
@@ -79,7 +87,7 @@ interface UsercentricsV3ConsentDetails {
79
87
  /**
80
88
  * Usercentrics V3 window API (`window.__ucCmp`).
81
89
  *
82
- * Only the methods this adapter calls are typed the real SDK surface is
90
+ * Only the methods this adapter calls are typed - the real SDK surface is
83
91
  * much wider but we intentionally keep this narrow.
84
92
  */
85
93
  interface UsercentricsV3Api {
@@ -98,13 +106,13 @@ declare global {
98
106
  interface Window {
99
107
  /**
100
108
  * Usercentrics V2 CMP API. Attached once the V2 Browser SDK is
101
- * initialized. Optional because the SDK loads asynchronously guard
109
+ * initialized. Optional because the SDK loads asynchronously - guard
102
110
  * with a truthiness check before access.
103
111
  */
104
112
  UC_UI?: UsercentricsV2Api;
105
113
  /**
106
114
  * Usercentrics V3 CMP API. Attached once the V3 Browser SDK is
107
- * initialized. Optional because the SDK loads asynchronously guard
115
+ * initialized. Optional because the SDK loads asynchronously - guard
108
116
  * with a truthiness check before access.
109
117
  */
110
118
  __ucCmp?: UsercentricsV3Api;
@@ -156,7 +164,7 @@ interface Settings {
156
164
  * V3 window event name to listen for consent changes.
157
165
  *
158
166
  * Usercentrics V3 hardcodes its built-in event names (`UC_UI_CMP_EVENT`,
159
- * `UC_UI_INITIALIZED`, `UC_UI_VIEW_CHANGED`, `UC_CONSENT`) they cannot be
167
+ * `UC_UI_INITIALIZED`, `UC_UI_VIEW_CHANGED`, `UC_CONSENT`) - they cannot be
160
168
  * renamed. However, the Usercentrics admin dashboard (Implementation >
161
169
  * Data Layer & Events) lets admins configure an ADDITIONAL custom window
162
170
  * event. Use this setting to point at that custom event name if
package/dist/index.es5.js CHANGED
@@ -1 +1 @@
1
- "use strict";function _array_like_to_array(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=new Array(n);t<n;t++)r[t]=e[t];return r}function _array_with_holes(e){if(Array.isArray(e))return e}function _array_without_holes(e){if(Array.isArray(e))return _array_like_to_array(e)}function asyncGeneratorStep(e,n,t,r,o,a,s){try{var i=e[a](s),c=i.value}catch(e){return void t(e)}i.done?n(c):Promise.resolve(c).then(r,o)}function _async_to_generator(e){return function(){var n=this,t=arguments;return new Promise(function(r,o){var a=e.apply(n,t);function s(e){asyncGeneratorStep(a,r,o,s,i,"next",e)}function i(e){asyncGeneratorStep(a,r,o,s,i,"throw",e)}s(void 0)})}}function _define_property(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function _instanceof(e,n){return null!=n&&"undefined"!=typeof Symbol&&n[Symbol.hasInstance]?!!n[Symbol.hasInstance](e):e instanceof n}function _iterable_to_array(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function _iterable_to_array_limit(e,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var r,o,a=[],s=!0,i=!1;try{for(t=t.call(e);!(s=(r=t.next()).done)&&(a.push(r.value),!n||a.length!==n);s=!0);}catch(e){i=!0,o=e}finally{try{s||null==t.return||t.return()}finally{if(i)throw o}}return a}}function _non_iterable_rest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _non_iterable_spread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _object_spread(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{},r=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(t).filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.forEach(function(n){_define_property(e,n,t[n])})}return e}function ownKeys(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),t.push.apply(t,r)}return t}function _object_spread_props(e,n){return n=null!=n?n:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}),e}function _sliced_to_array(e,n){return _array_with_holes(e)||_iterable_to_array_limit(e,n)||_unsupported_iterable_to_array(e,n)||_non_iterable_rest()}function _to_consumable_array(e){return _array_without_holes(e)||_iterable_to_array(e)||_unsupported_iterable_to_array(e)||_non_iterable_spread()}function _type_of(e){return e&&"undefined"!=typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}function _unsupported_iterable_to_array(e,n){if(e){if("string"==typeof e)return _array_like_to_array(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(t):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_array_like_to_array(e,n):void 0}}function _ts_generator(e,n){var t,r,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},s=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(s,"next",{value:c(0)}),i(s,"throw",{value:c(1)}),i(s,"return",{value:c(2)}),"function"==typeof Symbol&&i(s,Symbol.iterator,{value:function(){return this}}),s;function c(i){return function(c){return function(i){if(t)throw new TypeError("Generator is already executing.");for(;s&&(s=0,i[0]&&(a=0)),a;)try{if(t=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,r=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(6===i[0]&&a.label<o[1]){a.label=o[1],o=i;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(i);break}o[2]&&a.ops.pop(),a.trys.pop();continue}i=n.call(e,a)}catch(e){i=[6,e],r=0}finally{t=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,c])}}}function _ts_values(e){var n="function"==typeof Symbol&&Symbol.iterator,t=n&&e[n],r=0;if(t)return t.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(n?"Object is not iterable.":"Symbol.iterator is not defined.")}var SourceUsercentrics=function(){var e=function(e,n,t){e[n]=(void 0===e[n]||Boolean(e[n]))&&t},n=function(n,t){var r,o={};return n.ucCategory&&(r=n.ucCategory,Object.values(r).every(function(e){return"boolean"==typeof e}))?Object.entries(n.ucCategory).forEach(function(n){var r,a,s=_sliced_to_array(n,2),i=s[0],c=s[1];if("boolean"==typeof c){var u=null!==(r=null===(a=t.categoryMap)||void 0===a?void 0:a[i])&&void 0!==r?r:i;e(o,u,c)}}):(n.ucCategory&&Object.entries(n.ucCategory).forEach(function(n){var r=_sliced_to_array(n,2),a=r[0],s=r[1];if("boolean"==typeof s){var i,c,u=null!==(i=null===(c=t.categoryMap)||void 0===c?void 0:c[a])&&void 0!==i?i:a;e(o,u,s)}}),Object.entries(n).forEach(function(n){var t=_sliced_to_array(n,2),r=t[0],a=t[1];if(!de.includes(r)&&"boolean"==typeof a){var s=r.toLowerCase().replace(/ /g,"_");e(o,s,a)}})),o},t=function(e){var n={};return e.forEach(function(e){var t,r,o=e.categorySlug,a=null!==(t=null===(r=e.consent)||void 0===r?void 0:r.status)&&void 0!==t&&t;n[o]=(void 0===n[o]||n[o])&&a}),n},r=function(e){var r,o,a=e.window,s=e.elb,i=e.settings,c=e.logger,u=null!==(r=i.eventName)&&void 0!==r?r:"ucEvent",l=function(e){var t;if(c.debug("event received",e),"consent_status"===e.event&&(!i.explicitOnly||"explicit"===(null===(t=e.type)||void 0===t?void 0:t.toLowerCase()))){var r=n(e,i);Object.keys(r).length>0&&s("walker consent",r)}},f=function(e){var n=e;n.detail&&l(n.detail)};a.addEventListener(u,f);var d=a.UC_UI;if((null==d||null===(o=d.isInitialized)||void 0===o?void 0:o.call(d))&&d.getServicesBaseInfo){var _=d.getServicesBaseInfo();_.length>0&&l(function(e){return{event:"consent_status",type:"implicit",ucCategory:t(e)}}(_))}return function(){a.removeEventListener(u,f)}},o=function(e){return _async_to_generator(function(){var t,r,o,a,s,i,c,u,l,f;return _ts_generator(this,function(d){switch(d.label){case 0:if(r=e.window,o=e.elb,a=e.settings,s=e.logger,i=null!==(t=a.v3EventName)&&void 0!==t?t:_e,c=function(e){return _async_to_generator(function(){var t,r,i;return _ts_generator(this,function(c){switch(c.label){case 0:return[4,e.getConsentDetails()];case 1:return t=c.sent(),r=function(e){var n={};return Object.entries(e.categories).forEach(function(e){var t=_sliced_to_array(e,2),r=t[0],o=t[1];n[r]="ALL_ACCEPTED"===o.state}),{event:"consent_status",type:"EXPLICIT"===e.consent.type?"explicit":"implicit",ucCategory:n}}(t),s.debug("event received",r),a.explicitOnly&&"explicit"!==r.type?[2]:(i=n(r,a),Object.keys(i).length>0&&o("walker consent",i),[2])}})})()},u=function(e){var n=r.__ucCmp;if(n){var t=e.detail;t&&"CMP"===t.source&&t.type&&ve.has(t.type)&&c(n).catch(function(){})}},r.addEventListener(i,u),!(l=r.__ucCmp))return[3,6];d.label=1;case 1:return d.trys.push([1,5,,6]),[4,l.isInitialized()];case 2:return d.sent()?[4,c(l)]:[3,4];case 3:d.sent(),d.label=4;case 4:return[3,6];case 5:return f=d.sent(),s.warn("v3 static consent read failed",f),[3,6];case 6:return[2,function(){r.removeEventListener(i,u)}]}})})()},a=function(e){return{_meta:{hops:0,path:[e]}}},s=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};t=_object_spread({},Ge,t);var r=Object.entries(n).reduce(function(n,r){var o=_sliced_to_array(r,2),a=o[0],s=o[1],i=e[a];return t.merge&&Array.isArray(i)&&Array.isArray(s)?n[a]=s.reduce(function(e,n){return e.includes(n)?e:_to_consumable_array(e).concat([n])},_to_consumable_array(i)):(t.extend||a in e)&&(n[a]=s),n},{});return t.shallow?_object_spread({},e,r):(Object.assign(e,r),e)},i=function(e){return Array.isArray(e)},c=function(e){return void 0!==e},u=function(e){return"function"==typeof e},l=function(e){return"object"==(void 0===e?"undefined":_type_of(e))&&null!==e&&!i(e)&&"[object Object]"===Object.prototype.toString.call(e)},f=function(e){return"string"==typeof e},d=function(e,n,t){if(!l(e))return e;for(var r=Le(e),o=n.split("."),a=r,s=0;s<o.length;s++){var i=o[s];s===o.length-1?a[i]=t:(i in a&&"object"==_type_of(a[i])&&null!==a[i]||(a[i]={}),a=a[i])}return r},_=function(e){var n=_object_spread({},arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}),t={},r=!e||0===Object.keys(e).length;return Object.keys(n).forEach(function(o){n[o]&&(t[o]=!0,e&&e[o]&&(r=!0))}),!!r&&t},v=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:6,n=arguments.length>1?arguments[1]:void 0;if(n){for(var t=n.length,r="",o=0;o<e;o++)r+=n[Math.random()*t|0];return r}for(var a="";a.length<e;)a+=(36*Math.random()|0).toString(36);return a},g=function(e){var n,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e3,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=null,a=!1;return function(){for(var s=arguments.length,i=new Array(s),c=0;c<s;c++)i[c]=arguments[c];return new Promise(function(s){var c=r&&!a;o&&clearTimeout(o),o=setTimeout(function(){o=null,r&&!a||(n=e.apply(void 0,_to_consumable_array(i)),s(n))},t),c&&(a=!0,n=e.apply(void 0,_to_consumable_array(i)),s(n))})}},p=function(e){return{message:e.message,name:e.name,stack:e.stack,cause:e.cause}},y=function(e,n){var t,r={};return _instanceof(e,Error)?(t=e.message,r.error=p(e)):t=e,void 0!==n&&(_instanceof(n,Error)?r.error=p(n):"object"==(void 0===n?"undefined":_type_of(n))&&null!==n?"error"in(r=_object_spread({},r,n))&&_instanceof(r.error,Error)&&(r.error=p(r.error)):r.value=n),{message:t,context:r}},b=function(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Be({level:void 0!==n.level?(e=n.level,"string"==typeof e?Re[e]:e):0,handler:n.handler,jsonHandler:n.jsonHandler,scope:[]})},h=function(e){return We(e)?e:void 0},m=function(e,n,t){return function(){for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];try{return e.apply(void 0,_to_consumable_array(o))}catch(e){if(!n)return;return n(e)}finally{null==t||t()}}},w=function(e,n,t){return function(){for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];return _async_to_generator(function(){var r;return _ts_generator(this,function(a){switch(a.label){case 0:return a.trys.push([0,2,4,6]),[4,e.apply(void 0,_to_consumable_array(o))];case 1:case 3:return[2,a.sent()];case 2:return r=a.sent(),n?[4,n(r)]:[2];case 4:return[4,null==t?void 0:t()];case 5:return a.sent(),[7];case 6:return[2]}})})()}},j=function(e,n){return _async_to_generator(function(){var t,r,o,a,s,c,u,l,f,d;return _ts_generator(this,function(_){return r=_sliced_to_array((e.name||"").split(" "),2),o=r[0],a=r[1],n&&o&&a?(c="",l=a,f=function(n){if(n)return(n=i(n)?n:[n]).find(function(n){return!n.condition||n.condition(e)})},n[u=o]||(u="*"),[2,((d=n[u])&&(d[l]||(l="*"),s=f(d[l])),s||(u="*",l="*",s=f(null===(t=n[u])||void 0===t?void 0:t[l])),s&&(c="".concat(u," ").concat(l)),{eventMapping:s,mappingKey:c})]):[2,{}]})})()},k=function(e){return _async_to_generator(function(e){var n,t,r,o,a,s,u,f,d,_,v,g,p,y=arguments;return _ts_generator(this,function(b){switch(b.label){case 0:if(n=y.length>1&&void 0!==y[1]?y[1]:{},t=y.length>2&&void 0!==y[2]?y[2]:{},!c(e))return[2];o=l(e)&&e.consent||t.consent||(null===(r=t.collector)||void 0===r?void 0:r.consent),a=i(n)?n:[n],s=!0,u=!1,f=void 0,b.label=1;case 1:b.trys.push([1,6,7,8]),d=a[Symbol.iterator](),b.label=2;case 2:return(s=(_=d.next()).done)?[3,5]:(v=_.value,[4,w(Fe)(e,v,_object_spread_props(_object_spread({},t),{consent:o}))]);case 3:if(g=b.sent(),c(g))return[2,g];b.label=4;case 4:return s=!0,[3,2];case 5:return[3,8];case 6:return p=b.sent(),u=!0,f=p,[3,8];case 7:try{s||null==d.return||d.return()}finally{if(u)throw f}return[7];case 8:return[2]}})}).apply(this,arguments)},O=function(e,n,t){return _async_to_generator(function(){var r,o,a,i,c,u,f,_,v,g,p;return _ts_generator(this,function(y){switch(y.label){case 0:return n.policy?[4,Promise.all(Object.entries(n.policy).map(function(n){var r=_sliced_to_array(n,2),o=r[0],a=r[1];return _async_to_generator(function(){var n;return _ts_generator(this,function(r){switch(r.label){case 0:return[4,k(e,a,{collector:t})];case 1:return n=r.sent(),e=d(e,o,n),[2]}})})()}))]:[3,2];case 1:y.sent(),y.label=2;case 2:return[4,j(e,n.mapping)];case 3:return o=y.sent(),a=o.eventMapping,i=o.mappingKey,(null==a?void 0:a.policy)?[4,Promise.all(Object.entries(a.policy).map(function(n){var r=_sliced_to_array(n,2),o=r[0],a=r[1];return _async_to_generator(function(){var n;return _ts_generator(this,function(r){switch(r.label){case 0:return[4,k(e,a,{collector:t})];case 1:return n=r.sent(),e=d(e,o,n),[2]}})})()}))]:[3,5];case 4:y.sent(),y.label=5;case 5:return(u=n.data)?[4,k(e,n.data,{collector:t})]:[3,7];case 6:u=y.sent(),y.label=7;case 7:return c=u,f=Boolean(null==a?void 0:a.skip),a?a.ignore?[2,{event:e,data:c,mapping:a,mappingKey:i,ignore:!0,skip:f}]:(a.name&&(e.name=a.name),a.data?(v=a.data)?[4,k(e,a.data,{collector:t})]:[3,9]:[3,10]):[3,10];case 8:v=y.sent(),y.label=9;case 9:_=v,c=l(c)&&l(_)?s(c,_):_,y.label=10;case 10:return(g=null!==(r=null==a?void 0:a.include)&&void 0!==r?r:n.include)&&g.length>0&&(p=function(e,n){var t={},r=n.includes("all")?Object.keys(Ke):n,o=!0,a=!1,s=void 0;try{for(var i,c=r[Symbol.iterator]();!(o=(i=c.next()).done);o=!0){var u=i.value,f=Ke[u];if(f){var d=f(e),_=!0,v=!1,g=void 0;if(l(d))try{for(var p,y=Object.entries(d)[Symbol.iterator]();!(_=(p=y.next()).done);_=!0){var b=_sliced_to_array(p.value,2),h=b[0],m=b[1];if(void 0!==m){var w="context"===u&&Array.isArray(m)?m[0]:m;t["".concat(u,"_").concat(h)]=w}}}catch(e){v=!0,g=e}finally{try{_||null==y.return||y.return()}finally{if(v)throw g}}}}}catch(e){a=!0,s=e}finally{try{o||null==c.return||c.return()}finally{if(a)throw s}}return t}(e,g),Object.keys(p).length>0&&(c=l(c)?s(p,c):null!=c?c:p)),[2,{event:e,data:c,mapping:a,mappingKey:i,ignore:!1,skip:f}]}})})()},S=function(e,n,t,r){return function(){for(var o=arguments.length,a=new Array(o),s=0;s<o;s++)a[s]=arguments[s];var i,c="pre"+n,u="post"+n,l=t[c],f=t[u],d=function(e,n){r?r.warn(e,{error:n}):console.warn(e,n)};if(l)try{i=l.apply(void 0,[{fn:e}].concat(_to_consumable_array(a)))}catch(n){d("Hook ".concat(String(c)," failed, falling back to original function"),n),i=e.apply(void 0,_to_consumable_array(a))}else i=e.apply(void 0,_to_consumable_array(a));if(f)try{i=f.apply(void 0,[{fn:e,result:i}].concat(_to_consumable_array(a)))}catch(e){d("Hook ".concat(String(u)," failed, keeping original result"),e)}return i}},C=function(e){return Array.isArray(e)&&e.length>0&&"object"==_type_of(e[0])&&null!==e[0]&&"match"in e[0]},x=function(e,n){var t={ingest:null!=e?e:{}};return void 0!==n&&(t.event=n),t},A=function(e){var n;return{full:null!==(n=e.full)&&void 0!==n&&n,storeId:e.store,rules:e.rules.map(function(e){return{match:ze(e.match),key:e.key,ttl:e.ttl,update:e.update}})}},E=function(e,n,t,r){var o=e.rules.find(function(e){return e.match(t)});if(!o)return null;var a=o.key.map(function(e){var n;return String(null!==(n=He(t,e))&&void 0!==n?n:"")});if(a.every(function(e){return""===e}))return null;var s="".concat(r,":").concat(a.join(":")),i=n.get(s);return void 0!==i?{status:"HIT",key:s,value:i,rule:o}:{status:"MISS",key:s,rule:o}},P=function(e,n,t,r){e.set(n,t,1e3*r)},D=function(e,n,t){return _async_to_generator(function(){var r,o,a,s,i,c,u,l,f,_,v;return _ts_generator(this,function(g){switch(g.label){case 0:if(!n)return[2,e];r=e,o=!0,a=!1,s=void 0,g.label=1;case 1:g.trys.push([1,6,7,8]),i=Object.entries(n)[Symbol.iterator](),g.label=2;case 2:return(o=(c=i.next()).done)?[3,5]:(u=_sliced_to_array(c.value,2),l=u[0],f=u[1],_=[r,l],[4,k(t,f)]);case 3:r=d.apply(void 0,_.concat([g.sent()])),g.label=4;case 4:return o=!0,[3,2];case 5:return[3,8];case 6:return v=g.sent(),a=!0,s=v,[3,8];case 7:try{o||null==i.return||i.return()}finally{if(a)throw s}return[7];case 8:return[2,r]}})})()},I=function(e,n){return e.storeId&&n.stores[e.storeId]?n.stores[e.storeId]:n.stores.__cache},M=function(e){var n={},t=!0,r=!1,o=void 0;try{for(var a,s=Object.entries(e)[Symbol.iterator]();!(t=(a=s.next()).done);t=!0){var i,c=_sliced_to_array(a.value,2),u=c[0],l=null===(i=c[1].config)||void 0===i?void 0:i.next;l&&!C(l)?n[u]={next:l}:n[u]={}}}catch(e){r=!0,o=e}finally{try{t||null==s.return||s.return()}finally{if(r)throw o}}return n},q=function(e,n){var t=e.config||{},r=e[n];return void 0!==r?{config:_object_spread_props(_object_spread({},t),_define_property({},n,r)),chainValue:r}:{config:t,chainValue:void 0}},N=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!e)return[];if(Array.isArray(e))return e;for(var t=[],r=new Set,o=e;o&&n[o]&&!r.has(o);){r.add(o),t.push(o);var a=n[o].next;if(Array.isArray(a)){var s;(s=t).push.apply(s,_to_consumable_array(a));break}o=a}return t},T=function(e,n,t){return _async_to_generator(function(){var r,o,s,i;return _ts_generator(this,function(c){switch(c.label){case 0:return!n.init||n.config.init?[3,2]:(r=n.type||"unknown",o=e.logger.scope("transformer:".concat(r)),s={collector:e,logger:o,id:t,ingest:a(t),config:n.config,env:R(n.config.env)},o.debug("init"),[4,S(n.init,"TransformerInit",e.hooks,e.logger)(s)]);case 1:if(!1===(i=c.sent()))return[2,!1];n.config=_object_spread_props(_object_spread({},i||n.config),{env:(null==i?void 0:i.env)||n.config.env,init:!0}),o.debug("init done"),c.label=2;case 2:return[2,!0]}})})()},U=function(e,n,t,r,o,a){return _async_to_generator(function(){var s,i,c,u;return _ts_generator(this,function(l){switch(l.label){case 0:return s=n.type||"unknown",i=e.logger.scope("transformer:".concat(s)),c={collector:e,logger:i,id:t,ingest:o,config:n.config,env:_object_spread({},R(n.config.env),a?{respond:a}:{})},i.debug("push",{event:r.name}),[4,S(n.push,"TransformerPush",e.hooks,e.logger)(r,c)];case 1:return u=l.sent(),[2,(i.debug("push done"),u)]}})})()},R=function(e){return e&&l(e)?e:{}},G=function(e,n,t){return _async_to_generator(function(){var r,o,s,i,c,u,l,f,d,_,v,g,p,y,b,h,m,j,O,S,q,T,U;return _ts_generator(this,function(R){switch(R.label){case 0:return o=t.code,s=t.config,i=void 0===s?{}:s,c=t.env,u=void 0===c?{}:c,l=t.primary,f=t.next,d=t.before,_=t.cache,g=a(n),p=_?A(_object_spread_props(_object_spread({},_),{full:null===(r=_.full)||void 0===r||r})):void 0,y=Je(f),b=Array.isArray(f)&&C(f)||!y?void 0:N(Xe(y),M(e.transformers)),h=Je(d),m=Array.isArray(d)&&C(d)||!h?void 0:N(Xe(h),M(e.transformers)),j=e.logger.scope("source").scope(n),O=_object_spread({push:function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return _async_to_generator(function(){var o,a,s,c,u,l,f,d,_,w,j,k,O,S,C;return _ts_generator(this,function(A){switch(A.label){case 0:return a=t,(s=null!=m?m:h?N(Xe(h,x(g)),M(e.transformers)):[]).length>0&&e.transformers&&Object.keys(e.transformers).length>0?[4,$e(e,e.transformers,s,a,g,v,"source.".concat(n,".before"))]:[3,2];case 1:if(null===(c=A.sent()).event)return[2,{ok:!0}];c.respond&&(v=c.respond),a=Array.isArray(c.event)?c.event[0]:c.event,A.label=2;case 2:return p&&(u=I(p,e))?(l=x(g),(f=E(p,u,l,"s:".concat(n)))?"HIT"===f.status&&void 0!==f.value&&p.full?(d=f.value,f.rule.update?[4,D(d,f.rule.update,_object_spread_props(_object_spread({},l),{cache:{status:"HIT"}}))]:[3,4]):[3,5]:[3,6]):[3,6];case 3:d=A.sent(),A.label=4;case 4:return[2,(null==v||v(d),{ok:!0})];case 5:"MISS"===f.status&&p.full&&v&&(_=v,w=f.rule.update,j=_object_spread_props(_object_spread({},l),{cache:{status:"MISS"}}),k=f.key,O=f.rule.ttl,v=function(e){P(u,k,e,O),w?o=_async_to_generator(function(){var n;return _ts_generator(this,function(t){switch(t.label){case 0:return[4,D(e,w,j)];case 1:return n=t.sent(),_(n),[2]}})})():_(e)}),"MISS"!==f.status||p.full||P(u,f.key,!0,f.rule.ttl),A.label=6;case 6:return S=null!=b?b:y?N(Xe(y,x(g)),M(e.transformers)):[],[4,e.push(a,_object_spread_props(_object_spread({},r),{id:n,ingest:g,respond:v,mapping:i,preChain:S}))];case 7:return C=A.sent(),o?[4,o]:[3,9];case 8:A.sent(),A.label=9;case 9:return[2,C]}})})()},command:e.command,sources:e.sources,elb:e.sources.elb.push,logger:j},u),S={collector:e,logger:j,id:n,config:i,env:O,setIngest:function(t){return _async_to_generator(function(){var r,o;return _ts_generator(this,function(s){switch(s.label){case 0:return i.ingest?[4,k(t,i.ingest,{collector:e})]:[2,void(g=a(n))];case 1:return r=s.sent(),o=a(n),g=_object_spread_props(_object_spread({},o,r),{_meta:o._meta}),[2]}})})()},setRespond:function(e){v=e}},[4,w(o)(S)];case 1:return(q=R.sent())?(T=q.type||"unknown",U=e.logger.scope(T).scope(n),[2,(O.logger=U,l&&(q.config=_object_spread_props(_object_spread({},q.config),{primary:l})),q)]):[2]}})})()},L=function(e){return _async_to_generator(function(e){var n,t,r,o,a,s,i,c,u,l,f,d,_,v,g=arguments;return _ts_generator(this,function(p){switch(p.label){case 0:n=g.length>1&&void 0!==g[1]?g[1]:{},t={},r=!0,o=!1,a=void 0,p.label=1;case 1:p.trys.push([1,6,7,8]),s=Object.entries(n)[Symbol.iterator](),p.label=2;case 2:return(r=(i=s.next()).done)?[3,5]:(c=_sliced_to_array(i.value,2),u=c[0],l=c[1],f=l.config,(d=void 0===f?{}:f).require&&d.require.length>0?(e.pending.sources[u]=l,[3,4]):[4,G(e,u,l)]);case 3:(_=p.sent())&&(t[u]=_),p.label=4;case 4:return r=!0,[3,2];case 5:return[3,8];case 6:return v=p.sent(),o=!0,a=v,[3,8];case 7:try{r||null==s.return||s.return()}finally{if(o)throw a}return[7];case 8:return[2,t]}})}).apply(this,arguments)},H=function(e,n,t){return _async_to_generator(function(){var r,o,a;return _ts_generator(this,function(s){return r=e.on,o=r[n]||[],(a=i(t)?t:[t]).forEach(function(e){o.push(e)}),r[n]=o,V(e,n,a),[2]})})()},K=function(e,n,t,r,o){if(n.on){var a=n.type||"unknown",s=e.logger.scope(a).scope("on").scope(r),i={collector:e,logger:s,id:t,config:n.config,data:o,env:Z(n.env,n.config.env)};m(n.on)(r,i)}},V=function(e,n,t,r){var o,a,s,i;switch(n){case Ye.Commands.Consent:o=r||e.consent;break;case Ye.Commands.Session:o=e.session;break;case Ye.Commands.User:o=r||e.user;break;case Ye.Commands.Custom:o=r||e.custom;break;case Ye.Commands.Globals:o=r||e.globals;break;case Ye.Commands.Config:o=r||e.config;break;case Ye.Commands.Ready:case Ye.Commands.Run:default:o=void 0}if(t.length)switch(n){case Ye.Commands.Consent:a=e,s=t,i=r||a.consent,s.forEach(function(e){Object.keys(i).filter(function(n){return n in e}).forEach(function(n){m(e[n])(a,i)})});break;case Ye.Commands.Ready:case Ye.Commands.Run:!function(e,n){e.allowed&&n.forEach(function(n){m(n)(e)})}(e,t);break;case Ye.Commands.Session:!function(e,n){e.session&&n.forEach(function(n){m(n)(e,e.session)})}(e,t);break;default:t.forEach(function(n){"function"==typeof n&&m(n)(e,o)})}},B=function(e,n,t,r){return _async_to_generator(function(){var o,a,s,i,c,u,l,f,d,_,v;return _ts_generator(this,function(g){switch(g.label){case 0:switch(a=t||[],t||(a=e.on[n]||[]),n){case Ye.Commands.Consent:o=r||e.consent;break;case Ye.Commands.Session:o=e.session;break;case Ye.Commands.User:o=r||e.user;break;case Ye.Commands.Custom:o=r||e.custom;break;case Ye.Commands.Globals:o=r||e.globals;break;case Ye.Commands.Config:o=r||e.config;break;case Ye.Commands.Ready:case Ye.Commands.Run:default:o=void 0}s=!1,i=!0,c=!1,u=void 0,g.label=1;case 1:g.trys.push([1,6,7,8]),l=Object.values(e.sources)[Symbol.iterator](),g.label=2;case 2:return(i=(f=l.next()).done)?[3,5]:(d=f.value).on?(_=!1,[4,w(d.on)(n,o)]):[3,4];case 3:_===g.sent()&&(s=!0),g.label=4;case 4:return i=!0,[3,2];case 5:return[3,8];case 6:return v=g.sent(),c=!0,u=v,[3,8];case 7:try{i||null==l.return||l.return()}finally{if(c)throw u}return[7];case 8:return Object.entries(e.destinations).forEach(function(t){var r=_sliced_to_array(t,2),a=r[0],s=r[1];if(s.on){if(!s.config.init)return s.queueOn=s.queueOn||[],void s.queueOn.push({type:n,data:o});K(e,s,a,n,o)}}),Object.keys(e.pending.sources).length>0||Object.keys(e.pending.destinations).length>0?[4,(p=e,y=n,_async_to_generator(function(){var e,n,t,r,o,a,s,i,c,u,l,f,d,_,v,g,b,h,m,w,j,k,O,S,C;return _ts_generator(this,function(x){switch(x.label){case 0:e=!0,n=!1,t=void 0,x.label=1;case 1:x.trys.push([1,6,7,8]),r=Object.entries(p.pending.sources)[Symbol.iterator](),x.label=2;case 2:return(e=(o=r.next()).done)?[3,5]:(a=_sliced_to_array(o.value,2),s=a[0],i=a[1],!p.pending.sources[s]||p.sources[s]?[3,4]:(u=null===(c=i.config)||void 0===c?void 0:c.require)?-1===(l=u.indexOf(y))?[3,4]:(u.splice(l,1),u.length>0?[3,4]:(delete p.pending.sources[s],[4,G(p,s,i)])):[3,4]);case 3:(f=x.sent())&&(p.sources[s]=f),x.label=4;case 4:return e=!0,[3,2];case 5:return[3,8];case 6:return d=x.sent(),n=!0,t=d,[3,8];case 7:try{e||null==r.return||r.return()}finally{if(n)throw t}return[7];case 8:_=!0,v=!1,g=void 0;try{for(b=Object.entries(p.pending.destinations)[Symbol.iterator]();!(_=(h=b.next()).done);_=!0)m=_sliced_to_array(h.value,2),w=m[0],j=m[1],p.pending.destinations[w]&&!p.destinations[w]&&(O=null===(k=j.config)||void 0===k?void 0:k.require)&&-1!==(S=O.indexOf(y))&&(O.splice(S,1),O.length>0||(delete p.pending.destinations[w],!1!==(C=$(j)).config.queue&&(C.queuePush=_to_consumable_array(p.queue)),p.destinations[w]=C))}catch(e){v=!0,g=e}finally{try{_||null==b.return||b.return()}finally{if(v)throw g}}return[2]}})})())]:[3,10];case 9:g.sent(),g.label=10;case 10:return[2,(V(e,n,a,r),!s)]}var p,y})})()},W=function(e,n,t,r){if(!e)return[];if(n){var o=Xe(n,x(r));return o?N(o,M(t)):[]}return N(e,M(t))},F=function(e,n,t){return _async_to_generator(function(){var r,o,a,s,i,c,l,f,d,_,g,p;return _ts_generator(this,function(y){if(r=n.code,o=n.config,a=void 0===o?{}:o,s=n.env,i=void 0===s?{}:s,c=n.before,l=n.next,f=n.cache,!u(r.push))return[2,Y({ok:!1,failed:{invalid:{type:"invalid",error:"Destination code must have a push method"}}})];if(d=t||a||{init:!1},_=c?_object_spread_props(_object_spread({},d),{before:c}):_object_spread({},d),l&&(_=_object_spread_props(_object_spread({},_),{next:l})),f&&(_=_object_spread_props(_object_spread({},_),{cache:f})),g=_object_spread_props(_object_spread({},r),{config:_,env:Z(r.env,i)}),!(p=g.config.id))do{p=v(5,"abcdefghijklmnopqrstuvwxyz")}while(e.destinations[p]);return[2,(e.destinations[p]=g,!1!==g.config.queue&&(g.queuePush=_to_consumable_array(e.queue)),z(e,void 0,{},_define_property({},p,g)))]})})()},z=function(e,n,t){return _async_to_generator(function(e,n){var t,r,o,i,c,u,l,f,d,v,g,p,y,b,h,m,j,k,O,S=arguments;return _ts_generator(this,function(D){switch(D.label){case 0:return t=S.length>2&&void 0!==S[2]?S[2]:{},r=S.length>3?S[3]:void 0,o=e.allowed,i=e.consent,c=e.globals,u=e.user,o?(n&&(e.queue.push(n),e.status.in++),r||(r=e.destinations),[4,Promise.all(Object.entries(r||{}).map(function(r){var o=_sliced_to_array(r,2),l=o[0],f=o[1];return _async_to_generator(function(){var r,o,d,v,g,p,y,b,h,m,j,k,O,S,D,M,q,N,T;return _ts_generator(this,function(U){switch(U.label){case 0:return f.config.disabled?[2,{id:l,destination:f,skipped:!0}]:(g=(f.queuePush||[]).map(function(e){return _object_spread_props(_object_spread({},e),{consent:i})}),f.queuePush=[],n&&g.push(Le(n)),p=t.ingest?_object_spread_props(_object_spread({},t.ingest),{_meta:_object_spread_props(_object_spread({},t.ingest._meta),{path:_to_consumable_array(t.ingest._meta.path)})}):a("unknown"),g.length||(null===(o=f.queueOn)||void 0===o?void 0:o.length)?g.length||!(null===(d=f.queueOn)||void 0===d?void 0:d.length)?[3,2]:[4,w(J)(e,f,l)]:[2,{id:l,destination:f,skipped:!0}]);case 1:return y=U.sent(),[2,{id:l,destination:f,skipped:!y}];case 2:return b=[],h=g.filter(function(e){var n=_(f.config.consent,i,e.consent);return!n||(e.consent=n,b.push(e),!1)}),(r=f.queuePush).push.apply(r,_to_consumable_array(h)),b.length?[4,w(J)(e,f,l)]:[2,{id:l,destination:f,queue:g}];case 3:return U.sent()?(f.dlq||(f.dlq=[]),k=f.config.before,O=W(k,k&&C(k)?Je(k):void 0,e.transformers,p),S=f.config.next,D=S&&C(S)?Je(S):void 0,M=null===(v=f.config)||void 0===v?void 0:v.cache,q=M?A(M):void 0,N=q?I(q,e):void 0,T=0,[4,Promise.all(b.map(function(n){return _async_to_generator(function(){var r,o,a,i,d,_,v,g,y,b,h,k,C;return _ts_generator(this,function(A){switch(A.label){case 0:if(n.globals=s(c,n.globals),n.user=s(u,n.user),(null==q?void 0:q.full)&&N){if(o=x(p,n),"HIT"===(null==(a=E(q,N,o,"d:".concat(l)))?void 0:a.status))return[2,n];"MISS"===(null==a?void 0:a.status)&&(r={key:a.key,ttl:a.rule.ttl})}return i=n,d=t.respond,O.length>0&&e.transformers&&Object.keys(e.transformers).length>0?[4,$e(e,e.transformers,O,n,p,t.respond,"destination.".concat(l,".before"))]:[3,2];case 1:if(null===(_=A.sent()).event)return[2,n];_.respond&&(d=_.respond),i=Array.isArray(_.event)?_.event[0]:_.event,A.label=2;case 2:if(q&&!q.full&&N){if(v=x(p,i),"HIT"===(null==(g=E(q,N,v,"d:".concat(l)))?void 0:g.status))return[2,n];"MISS"===(null==g?void 0:g.status)&&(r={key:g.key,ttl:g.rule.ttl})}return y=Date.now(),b=!1,[4,w(X,function(n){var t=f.type||"unknown";e.logger.scope(t).error("Push failed",{error:n,event:i.name}),m=n,b=!0,f.dlq.push([i,n])})(e,f,l,i,p,d)];case 3:return h=A.sent(),T+=Date.now()-y,r&&N&&void 0===f.config.mock&&P(N,r.key,null==h||h,r.ttl),void 0!==h&&(j=h),b||!S?[3,5]:(void 0!==h&&(p._response=h),(k=W(S,D,e.transformers,p)).length>0&&e.transformers&&Object.keys(e.transformers).length>0?[4,$e(e,e.transformers,k,i,p,d,"destination.".concat(l,".next"))]:[3,5]);case 4:(C=A.sent()).respond&&(d=C.respond),A.label=5;case 5:return[2,n]}})})()}))]):[2,{id:l,destination:f,queue:g}];case 4:return[2,(U.sent(),{id:l,destination:f,error:m,response:j,totalDuration:T})]}})})()}))]):[2,Y({ok:!1})];case 1:l=D.sent(),f={},d={},v={},g=!0,p=!1,y=void 0;try{for(b=l[Symbol.iterator]();!(g=(h=b.next()).done);g=!0)(m=h.value).skipped||(j={type:m.destination.type||"unknown",data:m.response},e.status.destinations[m.id]||(e.status.destinations[m.id]={count:0,failed:0,duration:0}),k=e.status.destinations[m.id],O=Date.now(),m.error?(j.error=m.error,v[m.id]=j,k.failed++,k.lastAt=O,k.duration+=m.totalDuration||0,e.status.failed++):m.queue&&m.queue.length?d[m.id]=j:(f[m.id]=j,k.count++,k.lastAt=O,k.duration+=m.totalDuration||0,e.status.out++))}catch(e){p=!0,y=e}finally{try{g||null==b.return||b.return()}finally{if(p)throw y}}return[2,Y(_object_spread({event:n},Object.keys(f).length&&{done:f},Object.keys(d).length&&{queued:d},Object.keys(v).length&&{failed:v}))]}})}).apply(this,arguments)},J=function(e,n,t){return _async_to_generator(function(){var r,o,a,s,i,c,u,l,f,d,_,v,g,p;return _ts_generator(this,function(y){switch(y.label){case 0:return!n.init||n.config.init?[3,2]:(o=n.type||"unknown",a=e.logger.scope(o),s={collector:e,logger:a,id:t,config:n.config,env:Z(n.env,n.config.env)},a.debug("init"),[4,S(n.init,"DestinationInit",e.hooks,e.logger)(s)]);case 1:if(!1===(i=y.sent()))return[2,i];if(n.config=_object_spread_props(_object_spread({},i||n.config),{init:!0}),null===(r=n.queueOn)||void 0===r?void 0:r.length){c=n.queueOn,n.queueOn=[],u=!0,l=!1,f=void 0;try{for(d=c[Symbol.iterator]();!(u=(_=d.next()).done);u=!0)v=_.value,g=v.type,p=v.data,K(e,n,t,g,p)}catch(e){l=!0,f=e}finally{try{u||null==d.return||d.return()}finally{if(l)throw f}}}a.debug("init done"),y.label=2;case 2:return[2,!0]}})})()},X=function(e,n,t,r,o,a){return _async_to_generator(function(){var s,i,u,l,f,d,_,v,p,y;return _ts_generator(this,function(b){switch(b.label){case 0:return s=n.config,[4,O(r,s,e)];case 1:return(i=b.sent()).ignore?[2,!1]:(u=n.type||"unknown",l=e.logger.scope(u),f={collector:e,logger:l,id:t,config:s,data:i.data,rule:i.mapping,ingest:o,env:_object_spread({},Z(n.env,s.env),a?{respond:a}:{})},void 0!==s.mock?[2,(l.debug("mock",{event:i.event.name}),s.mock)]:(d=i.mapping,_=i.mappingKey||"* *",(null==d?void 0:d.batch)&&n.pushBatch&&void 0===s.mock?[3,3]:(l.debug("push",{event:i.event.name}),[4,S(n.push,"DestinationPush",e.hooks,e.logger)(i.event,f)])));case 2:return v=b.sent(),[2,(l.debug("push done"),v)];case 3:return n.batches=n.batches||{},n.batches[_]||(p={key:_,events:[],data:[]},n.batches[_]={batched:p,batchFn:g(function(){var r=n.batches[_].batched,i={collector:e,logger:l,id:t,config:s,data:void 0,rule:d,ingest:o,env:_object_spread({},Z(n.env,s.env),a?{respond:a}:{})};l.debug("push batch",{events:r.events.length}),S(n.pushBatch,"DestinationPushBatch",e.hooks,e.logger)(r,i),l.debug("push batch done"),r.events=[],r.data=[]},d.batch)}),(y=n.batches[_]).batched.events.push(i.event),c(i.data)&&y.batched.data.push(i.data),y.batchFn(),[2,!0]}})})()},Y=function(e){return _object_spread({ok:!(null==e?void 0:e.failed)},e)},$=function(e){var n=e.code,t=e.config,r=void 0===t?{}:t,o=e.env,a=void 0===o?{}:o,s=e.cache,i=q(e,"before").config,c=q(_object_spread_props(_object_spread({},e),{config:i}),"next").config,u=_object_spread({},n.config,r,c);s&&(u.cache=s);var l=Z(n.env,a);return _object_spread_props(_object_spread({},n),{config:u,env:l})},Q=function(e){return _async_to_generator(function(e){var n,t,r,o,a,s,i,c,u,l,f,d,_=arguments;return _ts_generator(this,function(v){n=_.length>1&&void 0!==_[1]?_[1]:{},o={},a=!0,s=!1,i=void 0;try{for(c=Object.entries(n)[Symbol.iterator]();!(a=(u=c.next()).done);a=!0)l=_sliced_to_array(u.value,2),f=l[0],d=l[1],(null===(r=d.config)||void 0===r||null===(t=r.require)||void 0===t?void 0:t.length)?e.pending.destinations[f]=d:o[f]=$(d)}catch(e){s=!0,i=e}finally{try{a||null==c.return||c.return()}finally{if(s)throw i}}return[2,o]})}).apply(this,arguments)},Z=function(e,n){return e||n?n?e&&l(e)&&l(n)?_object_spread({},e,n):n:e:{}},ee=function(e,n,t){return _async_to_generator(function(){var r;return _ts_generator(this,function(o){switch(o.label){case 0:return r=Object.entries(e).map(function(e){var r=_sliced_to_array(e,2),o=r[0],a=r[1];return _async_to_generator(function(){var e,r,s,i,c,u;return _ts_generator(this,function(l){switch(l.label){case 0:if(!(r=a.destroy))return[2];s=a.type||"unknown",i=t.scope(s),c={id:o,config:a.config,env:null!==(e=a.env)&&void 0!==e?e:{},logger:i},l.label=1;case 1:return l.trys.push([1,3,,4]),[4,Promise.race([r(c),new Promise(function(e,t){return setTimeout(function(){return t(new Error("".concat(n," '").concat(o,"' destroy timed out")))},5e3)})])];case 2:return l.sent(),[3,4];case 3:return u=l.sent(),i.error("".concat(n," '").concat(o,"' destroy failed: ").concat(u)),[3,4];case 4:return[2]}})})()}),[4,Promise.allSettled(r)];case 1:return o.sent(),[2]}})})()},ne=function(e,n,t,r){return _async_to_generator(function(){var o,a,i,c,d,_,v;return _ts_generator(this,function(g){switch(g.label){case 0:switch(i=!1,n){case Ye.Commands.Config:return[3,1];case Ye.Commands.Consent:return[3,2];case Ye.Commands.Custom:return[3,3];case Ye.Commands.Destination:return[3,4];case Ye.Commands.Globals:return[3,11];case Ye.Commands.On:return[3,12];case Ye.Commands.Ready:return[3,15];case Ye.Commands.Run:return[3,16];case Ye.Commands.Session:return[3,18];case Ye.Commands.Shutdown:return[3,19];case Ye.Commands.User:return[3,21]}return[3,22];case 1:return l(t)&&(s(e.config,t,{shallow:!1}),a=t,i=!0),[3,22];case 2:return l(t)&&(c=function(e,n){var t={};return Object.entries(n).forEach(function(e){var n=_sliced_to_array(e,2),r=n[0],o=n[1];t[r]=!!o}),e.consent=s(e.consent,t),{update:t}}(e,t),d=c.update,a=d,i=!0),[3,22];case 3:return l(t)&&(e.custom=s(e.custom,t),a=t,i=!0),[3,22];case 4:return l(t)?"code"in t&&l(t.code)?[4,F(e,t,r)]:[3,6]:[3,10];case 5:return _=o=g.sent(),[3,9];case 6:return(v=u(t.push))?[4,F(e,{code:t},r)]:[3,8];case 7:v=o=g.sent(),g.label=8;case 8:_=v,g.label=9;case 9:g.label=10;case 10:return[3,22];case 11:return l(t)&&(e.globals=s(e.globals,t),a=t,i=!0),[3,22];case 12:return f(t)?[4,H(e,t,r)]:[3,14];case 13:g.sent(),g.label=14;case 14:return[3,22];case 15:return i=!0,[3,22];case 16:return[4,re(e,t)];case 17:return o=g.sent(),i=!0,[3,22];case 18:return i=!0,[3,22];case 19:return[4,(p=e,_async_to_generator(function(){var e;return _ts_generator(this,function(n){switch(n.label){case 0:return e=p.logger,[4,ee(p.sources,"source",e)];case 1:return n.sent(),[4,ee(p.destinations,"destination",e)];case 2:return n.sent(),[4,ee(p.transformers,"transformer",e)];case 3:return n.sent(),[4,ee(p.stores,"store",e)];case 4:return n.sent(),[2]}})})())];case 20:return g.sent(),[3,22];case 21:l(t)&&(s(e.user,t,{shallow:!1}),a=t,i=!0),g.label=22;case 22:return i?[4,B(e,n,void 0,a)]:[3,25];case 23:return g.sent(),[4,z(e)];case 24:o=g.sent(),g.label=25;case 25:return[2,o||Y({ok:!0})]}var p})})()},te=function(e,n){if(!n.name)throw new Error("Event name is required");var t=_sliced_to_array(n.name.split(" "),2),r=t[0],o=t[1];if(!r||!o)throw new Error("Event name is invalid");++e.count;var a=n.timestamp,s=void 0===a?Date.now():a,i=n.group,c=void 0===i?e.group:i,u=n.count,l=void 0===u?e.count:u,f=n.name,d=void 0===f?"".concat(r," ").concat(o):f,_=n.data,v=void 0===_?{}:_,g=n.context,p=void 0===g?{}:g,y=n.globals,b=void 0===y?e.globals:y,h=n.custom,m=void 0===h?{}:h,w=n.user,j=void 0===w?e.user:w,k=n.nested,O=void 0===k?[]:k,S=n.consent,C=void 0===S?e.consent:S,x=n.id,A=void 0===x?"".concat(s,"-").concat(c,"-").concat(l):x,E=n.trigger,P=void 0===E?"":E,D=n.entity,I=void 0===D?r:D,M=n.action,q=void 0===M?o:M,N=n.timing,T=void 0===N?0:N,U=n.version,R=void 0===U?{source:e.version,tagging:e.config.tagging||0}:U,G=n.source;return{name:d,data:v,context:p,globals:b,custom:m,user:j,nested:O,consent:C,id:A,trigger:P,entity:I,action:q,timestamp:s,timing:T,group:c,count:l,version:R,source:void 0===G?{type:"collector",id:"",previous_id:""}:G}},re=function(e,n){return _async_to_generator(function(){return _ts_generator(this,function(t){switch(t.label){case 0:return e.allowed=!0,e.count=0,e.group=v(),e.timing=Date.now(),n&&(n.consent&&(e.consent=s(e.consent,n.consent)),n.user&&(e.user=s(e.user,n.user)),n.globals&&(e.globals=s(e.config.globalsStatic||{},n.globals)),n.custom&&(e.custom=s(e.custom,n.custom))),Object.values(e.destinations).forEach(function(e){e.queuePush=[]}),e.queue=[],e.round++,[4,z(e)];case 1:return[2,t.sent()]}})})()},oe=function(e){return _async_to_generator(function(){var n,t,r,o,i,c,u,l,f;return _ts_generator(this,function(d){switch(d.label){case 0:return r=s({globalsStatic:{},sessionStatic:{},tagging:0,run:!0},e,{merge:!1,extend:!1}),o={level:null===(n=e.logger)||void 0===n?void 0:n.level,handler:null===(t=e.logger)||void 0===t?void 0:t.handler},i=b(o),c=_object_spread({},r.globalsStatic,e.globals),(u={allowed:!1,config:r,consent:e.consent||{},count:0,custom:e.custom||{},destinations:{},transformers:{},stores:{},globals:c,group:"",hooks:e.hooks||{},logger:i,on:{},queue:[],round:0,session:void 0,status:{startedAt:Date.now(),in:0,out:0,failed:0,sources:{},destinations:{}},timing:Date.now(),user:e.user||{},version:"3.4.2",sources:{},pending:{sources:{},destinations:{}},push:void 0,command:void 0}).push=function(e,n){return S(function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return _async_to_generator(function(){return _ts_generator(this,function(o){switch(o.label){case 0:return[4,w(function(){return _async_to_generator(function(){var o,s,i,c,u,l,f,d,v,g,p,y,b,h,m,w,j,k,S,C,x;return _ts_generator(this,function(A){switch(A.label){case 0:return o=Date.now(),s=r.id,i=r.ingest,c=r.respond,u=r.mapping,l=r.preChain,f=r.include,d=r.exclude,v=c,g=t,p=f||d?function(e,n,t){var r=e;return n&&(r=Object.fromEntries(Object.entries(r).filter(function(e){var t=_sliced_to_array(e,1)[0];return n.includes(t)}))),t&&(r=Object.fromEntries(Object.entries(r).filter(function(e){var n=_sliced_to_array(e,1)[0];return!t.includes(n)}))),r}(e.destinations,f,d):void 0,y=null!=i?i:a(s||"unknown"),u?[4,O(g,u,e)]:[3,2];case 1:if((b=A.sent()).ignore)return[2,Y({ok:!0})];if(u.consent&&!_(u.consent,e.consent,b.event.consent))return[2,Y({ok:!0})];g=b.event,A.label=2;case 2:return(null==l?void 0:l.length)&&e.transformers&&Object.keys(e.transformers).length>0?[4,$e(e,e.transformers,l,g,y,v,s?"source.".concat(s,".next"):void 0)]:[3,6];case 3:return null===(h=A.sent()).event?[2,Y({ok:!0})]:(h.respond&&(v=h.respond),Array.isArray(h.event)?[4,Promise.all(h.event.map(function(t){return _async_to_generator(function(){var r,o;return _ts_generator(this,function(a){return r=n(t),o=te(e,r),[2,z(e,o,{id:s,ingest:y,respond:v},p)]})})()}))]:[3,5]);case 4:return w=A.sent(),s&&(e.status.sources[s]||(e.status.sources[s]={count:0,duration:0}),(j=e.status.sources[s]).count+=h.event.length,j.lastAt=Date.now(),j.duration+=Date.now()-o),[2,null!==(m=w[0])&&void 0!==m?m:Y({ok:!0})];case 5:g=h.event,A.label=6;case 6:return k=n(g),S=te(e,k),[4,z(e,S,{id:s,ingest:y,respond:v},p)];case 7:return C=A.sent(),s&&(e.status.sources[s]||(e.status.sources[s]={count:0,duration:0}),(x=e.status.sources[s]).count++,x.lastAt=Date.now(),x.duration+=Date.now()-o),[2,C]}})})()},function(){return Y({ok:!1})})()];case 1:return[2,o.sent()]}})})()},"Push",e.hooks,e.logger)}(u,function(e){return _object_spread({timing:Math.round((Date.now()-u.timing)/10)/100,source:{type:"collector",id:"",previous_id:""}},e)}),u.command=function(e,n){return S(function(t,r,o){return _async_to_generator(function(){return _ts_generator(this,function(a){switch(a.label){case 0:return[4,w(function(){return _async_to_generator(function(){return _ts_generator(this,function(a){switch(a.label){case 0:return[4,n(e,t,r,o)];case 1:return[2,a.sent()]}})})()},function(){return Y({ok:!1})})()];case 1:return[2,a.sent()]}})})()},"Command",e.hooks,e.logger)}(u,ne),l=e.stores||{},[4,function(e){return _async_to_generator(function(e){var n,t,r,o,a,s,i,c,u,l,f,d,_,v,g,p,y,b,h,m,w,j=arguments;return _ts_generator(this,function(k){switch(k.label){case 0:n=j.length>1&&void 0!==j[1]?j[1]:{},t={},r=!0,o=!1,a=void 0,k.label=1;case 1:k.trys.push([1,6,7,8]),s=Object.entries(n)[Symbol.iterator](),k.label=2;case 2:return(r=(i=s.next()).done)?[3,5]:(c=_sliced_to_array(i.value,2),u=c[0],l=c[1],f=l.code,d=l.config,_=void 0===d?{}:d,v=l.env,g=void 0===v?{}:v,p=e.logger.scope("store").scope(u),[4,f({collector:e,logger:p,id:u,config:_,env:g})]);case 3:y=k.sent(),b=y.get,h=y.set,m=y.delete,y.get=S(b,"StoreGet",e.hooks,e.logger),y.set=S(h,"StoreSet",e.hooks,e.logger),y.delete=S(m,"StoreDelete",e.hooks,e.logger),t[u]=y,k.label=4;case 4:return r=!0,[3,2];case 5:return[3,8];case 6:return w=k.sent(),o=!0,a=w,[3,8];case 7:try{r||null==s.return||s.return()}finally{if(o)throw a}return[7];case 8:return[2,t]}})}).apply(this,arguments)}(u,l)];case 1:return u.stores=d.sent(),function(e,n,t){var r=new Map,o=!0,a=!1,s=void 0;try{for(var i,c=Object.entries(e)[Symbol.iterator]();!(o=(i=c.next()).done);o=!0){var u=_sliced_to_array(i.value,2),l=u[0],f=u[1];n[l]&&r.set(f,n[l])}}catch(e){a=!0,s=e}finally{try{o||null==c.return||c.return()}finally{if(a)throw s}}if(0!==r.size)for(var d=!0,_=!1,v=void 0,g=0,p=[t.transformers,t.destinations,t.sources];g<p.length;g++){var y=p[g];if(y)try{for(var b,h=Object.values(y)[Symbol.iterator]();!(d=(b=h.next()).done);d=!0){m(b.value.env)}}catch(e){_=!0,v=e}finally{try{d||null==h.return||h.return()}finally{if(_)throw v}}}function m(e){if(e){var n=!0,t=!1,o=void 0;try{for(var a,s=Object.entries(e)[Symbol.iterator]();!(n=(a=s.next()).done);n=!0){var i=_sliced_to_array(a.value,2),c=i[0],u=i[1];if("object"==(void 0===u?"undefined":_type_of(u))&&null!==u){var l=r.get(u);l&&(e[c]=l)}}}catch(e){t=!0,o=e}finally{try{n||null==s.return||s.return()}finally{if(t)throw o}}}}}(l,u.stores,e),u.stores.__cache||(f=new Map,u.stores.__cache={type:"memory",config:{},get:function(e){var n=f.get(e);if(n){if(!(n.expires&&Date.now()>n.expires))return n.value;f.delete(e)}},set:function(e,n,t){f.set(e,{value:n,expires:t?Date.now()+t:void 0})},delete:function(e){f.delete(e)}}),[4,Q(u,e.destinations||{})];case 2:return u.destinations=d.sent(),[4,function(e){return _async_to_generator(function(e){var n,t,r,o,s,i,c,u,l,f,d,_,v,g,p,y,b,h,m,w,j,k,O,S,C=arguments;return _ts_generator(this,function(x){switch(x.label){case 0:n=C.length>1&&void 0!==C[1]?C[1]:{},t={},r=!0,o=!1,s=void 0,x.label=1;case 1:x.trys.push([1,6,7,8]),i=Object.entries(n)[Symbol.iterator](),x.label=2;case 2:return(r=(c=i.next()).done)?[3,5]:(u=_sliced_to_array(c.value,2),l=u[0],f=u[1],d=f.code,_=f.env,v=void 0===_?{}:_,g=q(f,"before"),p=g.config,y=q(_object_spread_props(_object_spread({},f),{config:p}),"next"),b=y.config,h=Object.keys(v).length>0?_object_spread_props(_object_spread({},b),{env:v}):b,m=f.cache,w=m?_object_spread_props(_object_spread({},h),{cache:m}):h,j=e.logger.scope("transformer").scope(l),k={collector:e,logger:j,id:l,ingest:a(l),config:w,env:v},[4,d(k)]);case 3:O=x.sent(),t[l]=O,x.label=4;case 4:return r=!0,[3,2];case 5:return[3,8];case 6:return S=x.sent(),o=!0,s=S,[3,8];case 7:try{r||null==i.return||i.return()}finally{if(o)throw s}return[7];case 8:return[2,t]}})}).apply(this,arguments)}(u,e.transformers||{})];case 3:return[2,(u.transformers=d.sent(),u)]}})})()},ae=function(e){return _async_to_generator(function(){var n,t,r,o,a,s,i,c,u,l,f;return _ts_generator(this,function(d){switch(d.label){case 0:return[4,oe(e=e||{})];case 1:return n=d.sent(),r=n,t={type:"elb",config:{},push:function(e,n,t,o,a,s){return _async_to_generator(function(){var i,c;return _ts_generator(this,function(u){if("string"==typeof e&&e.startsWith("walker "))return i=e.replace("walker ",""),[2,r.command(i,n,t)];if("string"==typeof e)c={name:e},n&&"object"==(void 0===n?"undefined":_type_of(n))&&!Array.isArray(n)&&(c.data=n);else{if(!e||"object"!=(void 0===e?"undefined":_type_of(e)))return[2,Y({ok:!1})];c=e,n&&"object"==(void 0===n?"undefined":_type_of(n))&&!Array.isArray(n)&&(c.data=_object_spread({},c.data||{},n))}return[2,(o&&"object"==(void 0===o?"undefined":_type_of(o))&&(c.context=o),a&&Array.isArray(a)&&(c.nested=a),s&&"object"==(void 0===s?"undefined":_type_of(s))&&(c.custom=s),r.push(c))]})})()}},n.sources.elb=t,[4,L(n,e.sources||{})];case 2:return o=d.sent(),Object.assign(n.sources,o),a=e.consent,s=e.user,i=e.globals,c=e.custom,a?[4,n.command("consent",a)]:[3,4];case 3:d.sent(),d.label=4;case 4:return s?[4,n.command("user",s)]:[3,6];case 5:d.sent(),d.label=6;case 6:return i&&Object.assign(n.globals,i),c&&Object.assign(n.custom,c),n.config.run?[4,n.command("run")]:[3,8];case 7:d.sent(),d.label=8;case 8:return u=t.push,l=Object.values(n.sources).filter(function(e){return"elb"!==e.type}),[2,((f=l.find(function(e){return e.config.primary}))?u=f.push:l.length>0&&(u=l[0].push),{collector:n,elb:u})]}})})()},se=Object.defineProperty,ie=Object.getOwnPropertyDescriptor,ce=Object.getOwnPropertyNames,ue=Object.prototype.hasOwnProperty,le=function(e,n){for(var t in n)se(e,t,{get:n[t],enumerable:!0})},fe={};le(fe,{SourceUsercentrics:function(){return ge},createMockElbFn:function(){return Ee},createTrigger:function(){return Ze},default:function(){return tn},fullConsent:function(){return pe},fullConsentCustomMapped:function(){return Ce},fullConsentMapped:function(){return ke},fullConsentUpperCase:function(){return me},implicitConsent:function(){return he},minimalConsent:function(){return be},minimalConsentMapped:function(){return Se},nonConsentEvent:function(){return je},noopLogger:function(){return Pe},partialConsent:function(){return ye},partialConsentMapped:function(){return Oe},serviceLevelConsent:function(){return we},serviceLevelMapped:function(){return xe},sourceUsercentrics:function(){return nn},step:function(){return De},trigger:function(){return en}});var de=["action","event","type","ucCategory"],_e="UC_UI_CMP_EVENT",ve=new Set(["ACCEPT_ALL","DENY_ALL","SAVE"]),ge={},pe={event:"consent_status",type:"explicit",action:"onAcceptAllServices",ucCategory:{essential:!0,functional:!0,marketing:!0},"Google Analytics":!0,"Google Ads Remarketing":!0},ye={event:"consent_status",type:"explicit",action:"onUpdateServices",ucCategory:{essential:!0,functional:!0,marketing:!1},"Google Analytics":!0,"Google Ads Remarketing":!1},be={event:"consent_status",type:"explicit",action:"onDenyAllServices",ucCategory:{essential:!0,functional:!1,marketing:!1},"Google Analytics":!1,"Google Ads Remarketing":!1},he={event:"consent_status",type:"implicit",ucCategory:{essential:!0,functional:!1,marketing:!1},"Google Analytics":!1,"Google Ads Remarketing":!1},me={event:"consent_status",type:"EXPLICIT",action:"onAcceptAllServices",ucCategory:{essential:!0,functional:!0,marketing:!0}},we={event:"consent_status",type:"explicit",action:"onUpdateServices",ucCategory:{essential:!0,functional:"partial",marketing:"partial"},"Google Analytics":!0,"Google Ads Remarketing":!1,Hotjar:!0},je={event:"other_event",type:"explicit"},ke={essential:!0,functional:!0,marketing:!0},Oe={essential:!0,functional:!0,marketing:!1},Se={essential:!0,functional:!1,marketing:!1},Ce={functional:!0,marketing:!0},xe={essential:!0,google_analytics:!0,google_ads_remarketing:!1,hotjar:!0},Ae=function(){},Ee=function(){return function(){return Promise.resolve({ok:!0})}},Pe={error:Ae,warn:Ae,info:Ae,debug:Ae,throw:function(e){throw"string"==typeof e?new Error(e):e},json:Ae,scope:function(){return Pe}},De={};le(De,{categoryMapOverride:function(){return qe},customEventName:function(){return Ne},fullConsent:function(){return Ie},minimalConsent:function(){return Me}});var Ie={title:"Full consent",description:"A Usercentrics onAcceptAllServices event emits a walker consent command with essential, functional, and marketing granted.",trigger:{type:"consent"},in:{event:"consent_status",type:"explicit",action:"onAcceptAllServices",ucCategory:{essential:!0,functional:!0,marketing:!0}},out:[["elb","walker consent",{essential:!0,functional:!0,marketing:!0}]]},Me={title:"Minimal consent",description:"A Usercentrics onDenyAllServices event emits a walker consent command with only essential granted.",trigger:{type:"consent"},in:{event:"consent_status",type:"explicit",action:"onDenyAllServices",ucCategory:{essential:!0,functional:!1,marketing:!1}},out:[["elb","walker consent",{essential:!0,functional:!1,marketing:!1}]]},qe={title:"Category map override",description:"Custom categoryMap remaps essential to functional and functional to analytics",trigger:{type:"consent"},in:{event:"consent_status",type:"explicit",ucCategory:{essential:!0,functional:!0,marketing:!1}},mapping:{categoryMap:{essential:"functional",functional:"analytics"}},out:[["elb","walker consent",{functional:!0,analytics:!0,marketing:!1}]]},Ne={title:"Custom event name",description:"Using UC_SDK_EVENT instead of ucEvent for Usercentrics SDK v2",trigger:{type:"consent",options:{eventName:"UC_SDK_EVENT"}},in:{event:"consent_status",type:"explicit",ucCategory:{essential:!0,functional:!0,marketing:!0}},mapping:{eventName:"UC_SDK_EVENT"},out:[["elb","walker consent",{essential:!0,functional:!0,marketing:!0}]]},Te=Object.defineProperty;!function(e,n){for(var t in n)Te(e,t,{get:n[t],enumerable:!0})}({},{Level:function(){return Re}});var Ue,Re=((Ue=Re||{})[Ue.ERROR=0]="ERROR",Ue[Ue.WARN=1]="WARN",Ue[Ue.INFO=2]="INFO",Ue[Ue.DEBUG=3]="DEBUG",Ue),Ge={merge:!0,shallow:!0,extend:!0};function Le(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new WeakMap;if("object"!=(void 0===e?"undefined":_type_of(e))||null===e)return e;if(n.has(e))return n.get(e);var t=Object.prototype.toString.call(e);if("[object Object]"===t){var r={};for(var o in n.set(e,r),e)Object.prototype.hasOwnProperty.call(e,o)&&(r[o]=Le(e[o],n));return r}if("[object Array]"===t){var a=[];return n.set(e,a),e.forEach(function(e){a.push(Le(e,n))}),a}if("[object Date]"===t)return new Date(e.getTime());if("[object RegExp]"===t){var s=e;return new RegExp(s.source,s.flags)}return e}function He(e){for(var n=arguments.length>2?arguments[2]:void 0,t=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:"").split("."),r=e,o=0;o<t.length;o++){var a=t[o];if("*"===a&&i(r)){var s=t.slice(o+1).join("."),u=[],l=!0,f=!1,d=void 0;try{for(var _,v=r[Symbol.iterator]();!(l=(_=v.next()).done);l=!0){var g=He(_.value,s,n);u.push(g)}}catch(e){f=!0,d=e}finally{try{l||null==v.return||v.return()}finally{if(f)throw d}}return u}if(void 0===(r=_instanceof(r,Object)?r[a]:void 0))break}return c(r)?r:n}var Ke={data:function(e){return e.data},globals:function(e){return e.globals},context:function(e){return e.context},user:function(e){return e.user},source:function(e){return e.source},version:function(e){return e.version},event:function(e){return{entity:e.entity,action:e.action,id:e.id,timestamp:e.timestamp,name:e.name,trigger:e.trigger,group:e.group,count:e.count,timing:e.timing}}},Ve=function(e,n,t,r){var o="".concat(Re[e]).concat(r.length>0?" [".concat(r.join(":"),"]"):""),a=Object.keys(t).length>0,s=0===e?console.error:1===e?console.warn:console.log;a?s(o,n,t):s(o,n)};function Be(e){var n=e.level,t=e.handler,r=e.jsonHandler,o=e.scope,a=function(e,r,a){if(e<=n){var s=y(r,a);t?t(e,s.message,s.context,o,Ve):Ve(e,s.message,s.context,o)}};return{error:function(e,n){return a(0,e,n)},warn:function(e,n){return a(1,e,n)},info:function(e,n){return a(2,e,n)},debug:function(e,n){return a(3,e,n)},throw:function(e,n){var r=y(e,n);throw t?t(0,r.message,r.context,o,Ve):Ve(0,r.message,r.context,o),new Error(r.message)},json:function(e){r?r(e):console.log(JSON.stringify(e,null,2))},scope:function(e){return Be({level:n,handler:t,jsonHandler:r,scope:_to_consumable_array(o).concat([e])})}}}function We(e){return function(e){return"boolean"==typeof e}(e)||f(e)||function(e){return"number"==typeof e&&!Number.isNaN(e)}(e)||!c(e)||i(e)&&e.every(We)||l(e)&&Object.values(e).every(We)}function Fe(e,n){return _async_to_generator(function(e,n){var t,r,o,a=arguments;return _ts_generator(this,function(s){return r=(t=a.length>2&&void 0!==a[2]?a[2]:{}).collector,o=t.consent,[2,(i(n)?n:[n]).reduce(function(n,a){return _async_to_generator(function(){var s,u,l,d,v,g,p,y,b,m,j,O,S,C,x,A,E,P,D,I,M;return _ts_generator(this,function(q){switch(q.label){case 0:return[4,n];case 1:return(s=q.sent())?[2,s]:(u=f(a)?{key:a}:a,Object.keys(u).length?(l=u.condition,d=u.consent,v=u.fn,g=u.key,p=u.loop,y=u.map,b=u.set,m=u.validate,j=u.value,(O=l)?[4,w(l)(e,a,r)]:[3,3]):[2]);case 2:O=!q.sent(),q.label=3;case 3:return O?[2]:d&&!_(d,o)?[2,j]:(S=c(j)?j:e,v?[4,w(v)(e,a,t)]:[3,5]);case 4:S=q.sent(),q.label=5;case 5:return g&&(S=He(e,g,j)),p?(C=_sliced_to_array(p,2),x=C[0],A=C[1],"this"!==x?[3,6]:(P=[e],[3,8])):[3,11];case 6:return[4,k(e,x,t)];case 7:P=q.sent(),q.label=8;case 8:return i(E=P)?[4,Promise.all(E.map(function(e){return k(e,A,t)}))]:[3,10];case 9:S=q.sent().filter(c),q.label=10;case 10:return[3,17];case 11:return y?[4,Object.entries(y).reduce(function(n,r){var o=_sliced_to_array(r,2),a=o[0],s=o[1];return _async_to_generator(function(){var r,o;return _ts_generator(this,function(i){switch(i.label){case 0:return[4,n];case 1:return r=i.sent(),[4,k(e,s,t)];case 2:return o=i.sent(),[2,(c(o)&&(r[a]=o),r)]}})})()},Promise.resolve({}))]:[3,13];case 12:return S=q.sent(),[3,16];case 13:return(D=b)?[4,Promise.all(b.map(function(n){return Fe(e,n,t)}))]:[3,15];case 14:D=S=q.sent(),q.label=15;case 15:q.label=16;case 16:q.label=17;case 17:return(I=m)?[4,w(m)(S)]:[3,19];case 18:I=!q.sent(),q.label=19;case 19:return I&&(S=void 0),M=h(S),[2,c(M)?M:h(j)]}})})()},Promise.resolve(void 0))]})}).apply(this,arguments)}function ze(e){if("*"===e)return function(){return!0};if("and"in e){var n=e.and.map(ze);return function(e){return n.every(function(n){return n(e)})}}if("or"in e){var t=e.or.map(ze);return function(e){return t.some(function(n){return n(e)})}}return function(e){var n=e.key,t=e.operator,r=e.value,o=e.not,a=function(e,n){switch(e){case"eq":return function(e){return String(null!=e?e:"")===n};case"contains":return function(e){return String(null!=e?e:"").includes(n)};case"prefix":return function(e){return String(null!=e?e:"").startsWith(n)};case"suffix":return function(e){return String(null!=e?e:"").endsWith(n)};case"regex":var t=new RegExp(n);return function(e){return t.test(String(null!=e?e:""))};case"gt":var r=Number(n);return function(e){return Number(e)>r};case"lt":var o=Number(n);return function(e){return Number(e)<o};case"exists":return function(e){return null!=e}}}(t,r);return function(e){var t=He(e,n),r=a(t);return o?!r:r}}(e)}function Je(e){if(null!=e){if("string"==typeof e)return{type:"static",value:e};if(Array.isArray(e)){if(0===e.length)return;return C(e)?{type:"routes",routes:e.map(function(e){return{match:ze(e.match),next:Je(e.next)}})}:{type:"chain",value:e}}}}function Xe(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(e){if("static"===e.type)return e.value;if("chain"===e.type)return e.value;var t=!0,r=!1,o=void 0;try{for(var a,s=e.routes[Symbol.iterator]();!(t=(a=s.next()).done);t=!0){var i=a.value;if(i.match(n))return Xe(i.next,n)}}catch(e){r=!0,o=e}finally{try{t||null==s.return||s.return()}finally{if(r)throw o}}}}var Ye={Commands:{Action:"action",Actions:"actions",Config:"config",Consent:"consent",Context:"context",Custom:"custom",Destination:"destination",Elb:"elb",Globals:"globals",Hook:"hook",Init:"init",Link:"link",On:"on",Prefix:"data-elb",Ready:"ready",Run:"run",Session:"session",Shutdown:"shutdown",User:"user",Walker:"walker"},Utils:{Storage:{Cookie:"cookie",Local:"local",Session:"session"}}};function $e(e,n,t,r,o,s,i){return _async_to_generator(function(){var c,u,l,f,d,_,v,g,p,y;return _ts_generator(this,function(b){switch(b.label){case 0:i&&(null==o?void 0:o._meta)&&(o._meta.chainPath=i),c=r,u=s,l=!0,f=!1,d=void 0,b.label=1;case 1:b.trys.push([1,6,7,8]),_=function(){var r,s,l,f,d,_,v,p,y,b,h,m,j,k,O,S,D,q,R,G,L,H,K,V,B,W,F,z,J,X,Y,$,Q,Z,ee,ne,te,re,oe,ae,se;return _ts_generator(this,function(ie){switch(ie.label){case 0:return r=g.value,(v=n[r])?o&&o._meta&&o._meta.path.length>256?[2,{v:(e.logger.error("Max path length exceeded at ".concat(r)),{event:null,respond:u})}]:(o&&o._meta&&(o._meta.hops++,o._meta.path.push(r)),[4,w(T)(e,v,r)]):(e.logger.warn("Transformer not found: ".concat(r)),[2,"continue"]);case 1:if(!ie.sent())return[2,{v:(e.logger.error("Transformer init failed: ".concat(r)),{event:null,respond:u})}];if(i&&void 0!==(null===(l=v.config)||void 0===l||null===(s=l.chainMocks)||void 0===s?void 0:s[i]))return p=v.config.chainMocks[i],e.logger.scope("transformer:".concat(v.type||"unknown")).debug("chainMock",{chain:i}),c=p,[2,"continue"];if(void 0!==(null===(f=v.config)||void 0===f?void 0:f.mock))return e.logger.scope("transformer:".concat(v.type||"unknown")).debug("mock"),c=v.config.mock,[2,"continue"];if(null===(d=v.config)||void 0===d?void 0:d.disabled)return[2,"continue"];if(y=null===(_=v.config)||void 0===_?void 0:_.cache,b=y?A(y):void 0,h=b?I(b,e):void 0,m=void 0,b&&h){if(j=x(o,c),"HIT"===(null==(k=E(b,h,j,"t:".concat(r)))?void 0:k.status)&&k.value)return c=k.value,b.full?[2,{v:{event:c,respond:u}}]:[2,"continue"];"MISS"===(null==k?void 0:k.status)&&(m={key:k.key,ttl:k.rule.ttl})}return(O=v.config.before)&&(S=N("string"==typeof O||Array.isArray(O)&&!C(O)?O:Xe(Je(O),x(o,c))||void 0,M(n))).length>0?[4,$e(e,n,S,c,o,u,i)]:[3,3];case 2:if(null===(q=ie.sent()).event)return[2,{v:{event:null,respond:null!==(D=q.respond)&&void 0!==D?D:u}}];q.respond&&(u=q.respond),c=Array.isArray(q.event)?q.event[0]:q.event,ie.label=3;case 3:return[4,w(U,function(n){return e.logger.scope("transformer:".concat(v.type||"unknown")).error("Push failed",{error:n}),!1})(e,v,r,c,o,u)];case 4:return!1===(R=ie.sent())?[2,{v:{event:null,respond:u}}]:Array.isArray(R)?(G=t.slice(t.indexOf(r)+1),[4,Promise.all(R.map(function(t){return _async_to_generator(function(){var r,s,l,f,d;return _ts_generator(this,function(_){return r=t.event||c,s=o?_object_spread_props(_object_spread({},o),{_meta:_object_spread_props(_object_spread({},o._meta),{path:_to_consumable_array(o._meta.path)})}):a("unknown"),t.next?(l=t.next,C(t.next)&&(f=Je(t.next),l=Xe(f,x(s,r))),l&&(d=N(l,M(n))).length>0?[2,$e(e,n,d,r,s,u,i)]:[2,{event:r,respond:u}]):[2,G.length>0?$e(e,n,G,r,s,u,i):{event:r,respond:u}]})})()}))]):[3,6];case 5:L=ie.sent(),H=u,K=[],V=!0,B=!1,W=void 0;try{for(F=L.flat()[Symbol.iterator]();!(V=(z=F.next()).done);V=!0)if(null!==(J=z.value))if(J&&"object"==(void 0===J?"undefined":_type_of(J))&&"event"in J){if((Y=J).respond&&(H=Y.respond),null===Y.event)continue;Array.isArray(Y.event)?(X=K).push.apply(X,_to_consumable_array(Y.event)):K.push(Y.event)}else K.push(J)}catch(e){B=!0,W=e}finally{try{V||null==F.return||F.return()}finally{if(B)throw W}}return[2,{v:0===K.length?{event:null,respond:H}:1===K.length?{event:K[0],respond:H}:{event:K,respond:H}}];case 6:if(R&&"object"==(void 0===R?"undefined":_type_of(R))){if($=R.event,Q=R.respond,Z=R.next,Q&&(u=Q),Z)return ee=Z,!C(Z)||(ne=Je(Z),ee=Xe(ne,x(o,c)))?[2,{v:(te=N(ee,M(n))).length>0?$e(e,n,te,$||c,o,u,i):(e.logger.warn("Branch target not found: ".concat(JSON.stringify(Z))),{event:null,respond:u})}]:($&&(c=$),[2,"continue"]);$&&(c=$)}return m&&h&&P(h,m.key,c,m.ttl),(!R||"object"==(void 0===R?"undefined":_type_of(R))&&!R.next)&&v.config.next&&C(v.config.next)?(re=v.config.next,oe=Je(re),(ae=Xe(oe,x(o,c)))&&(se=N(ae,M(n))).length>0?[2,{v:$e(e,n,se,c,o,u,i)}]:[2,{v:{event:c,respond:u}}]):[2]}})},v=t[Symbol.iterator](),b.label=2;case 2:return(l=(g=v.next()).done)?[3,5]:[5,_ts_values(_())];case 3:if("object"===_type_of(p=b.sent()))return[2,p.v];b.label=4;case 4:return l=!0,[3,2];case 5:return[3,8];case 6:return y=b.sent(),f=!0,d=y,[3,8];case 7:try{l||null==v.return||v.return()}finally{if(f)throw d}return[7];case 8:return[2,{event:c,respond:u}]}})})()}var Qe,Ze=function(e){return _async_to_generator(function(){var n,t;return _ts_generator(this,function(r){return t=function(t,r){return function(t){return _async_to_generator(function(){var o,a,s;return _ts_generator(this,function(i){switch(i.label){case 0:return n?[3,2]:[4,ae(_object_spread_props(_object_spread({},e),{run:null===(o=e.run)||void 0===o||o}))];case 1:a=i.sent(),n={collector:a.collector,elb:a.elb},i.label=2;case 2:return s=(null==r?void 0:r.eventName)||"ucEvent",window.dispatchEvent(new CustomEvent(s,{detail:t})),[2]}})})()}},[2,{get flow(){return n},trigger:t}]})})()},en=function(e,n){if(e&&"object"===(void 0===e?"undefined":_type_of(e)))return function(){n.window.dispatchEvent(new CustomEvent("ucEvent",{detail:e}))}},nn=function(e){return _async_to_generator(function(){var n,t,a,s,i,c,u,l,f,d,_,v,g,p,y,b,h,m,w,j,k,O,S,C,x;return _ts_generator(this,function(A){switch(A.label){case 0:return v=e.config,g=e.env,p=g.elb,y=g.logger,b=null!==(n=g.window)&&void 0!==n?n:void 0!==globalThis.window?globalThis.window:void 0,h={eventName:null!==(t=null==v||null===(u=v.settings)||void 0===u?void 0:u.eventName)&&void 0!==t?t:"ucEvent",categoryMap:null!==(a=null==v||null===(l=v.settings)||void 0===l?void 0:l.categoryMap)&&void 0!==a?a:{},explicitOnly:null===(s=null==v||null===(f=v.settings)||void 0===f?void 0:f.explicitOnly)||void 0===s||s,apiVersion:null!==(i=null==v||null===(d=v.settings)||void 0===d?void 0:d.apiVersion)&&void 0!==i?i:"auto",v3EventName:null!==(c=null==v||null===(_=v.settings)||void 0===_?void 0:_.v3EventName)&&void 0!==c?c:"UC_UI_CMP_EVENT"},m={settings:h},w=[],b?(k={window:b,elb:p,settings:h,logger:y},"v2"!==(O=null!==(j=h.apiVersion)&&void 0!==j?j:"auto")?[3,1]:(w.push(r(k)),[3,8])):[3,8];case 1:return"v3"!==O?[3,3]:(S=w.push,[4,o(k)]);case 2:return S.apply(w,[A.sent()]),[3,8];case 3:return b.__ucCmp?(C=w.push,[4,o(k)]):[3,5];case 4:return C.apply(w,[A.sent()]),[3,8];case 5:return b.UC_UI?(w.push(r(k)),[3,8]):[3,6];case 6:return w.push(r(k)),x=w.push,[4,o(k)];case 7:x.apply(w,[A.sent()]),A.label=8;case 8:return[2,{type:"usercentrics",config:m,push:p,destroy:function(){return _async_to_generator(function(){return _ts_generator(this,function(e){return w.forEach(function(e){return e()}),[2]})})()}}]}})})()},tn=nn;return Qe=fe,function(e,n,t,r){if(n&&"object"===(void 0===n?"undefined":_type_of(n))||"function"==typeof n){var o=!0,a=!1,s=void 0;try{for(var i,c=function(){var o=i.value;ue.call(e,o)||o===t||se(e,o,{get:function(){return n[o]},enumerable:!(r=ie(n,o))||r.enumerable})},u=ce(n)[Symbol.iterator]();!(o=(i=u.next()).done);o=!0)c()}catch(e){a=!0,s=e}finally{try{o||null==u.return||u.return()}finally{if(a)throw s}}}return e}(se({},"__esModule",{value:!0}),Qe)}();
1
+ "use strict";function _array_like_to_array(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,r=new Array(n);t<n;t++)r[t]=e[t];return r}function _array_with_holes(e){if(Array.isArray(e))return e}function _array_without_holes(e){if(Array.isArray(e))return _array_like_to_array(e)}function asyncGeneratorStep(e,n,t,r,o,a,s){try{var i=e[a](s),c=i.value}catch(e){return void t(e)}i.done?n(c):Promise.resolve(c).then(r,o)}function _async_to_generator(e){return function(){var n=this,t=arguments;return new Promise(function(r,o){var a=e.apply(n,t);function s(e){asyncGeneratorStep(a,r,o,s,i,"next",e)}function i(e){asyncGeneratorStep(a,r,o,s,i,"throw",e)}s(void 0)})}}function _define_property(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function _instanceof(e,n){return null!=n&&"undefined"!=typeof Symbol&&n[Symbol.hasInstance]?!!n[Symbol.hasInstance](e):e instanceof n}function _iterable_to_array(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function _iterable_to_array_limit(e,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var r,o,a=[],s=!0,i=!1;try{for(t=t.call(e);!(s=(r=t.next()).done)&&(a.push(r.value),!n||a.length!==n);s=!0);}catch(e){i=!0,o=e}finally{try{s||null==t.return||t.return()}finally{if(i)throw o}}return a}}function _non_iterable_rest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _non_iterable_spread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _object_spread(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{},r=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(t).filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.forEach(function(n){_define_property(e,n,t[n])})}return e}function ownKeys(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter(function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable})),t.push.apply(t,r)}return t}function _object_spread_props(e,n){return n=null!=n?n:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}),e}function _sliced_to_array(e,n){return _array_with_holes(e)||_iterable_to_array_limit(e,n)||_unsupported_iterable_to_array(e,n)||_non_iterable_rest()}function _to_consumable_array(e){return _array_without_holes(e)||_iterable_to_array(e)||_unsupported_iterable_to_array(e)||_non_iterable_spread()}function _type_of(e){return e&&"undefined"!=typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}function _unsupported_iterable_to_array(e,n){if(e){if("string"==typeof e)return _array_like_to_array(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(t):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?_array_like_to_array(e,n):void 0}}function _ts_generator(e,n){var t,r,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},s=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(s,"next",{value:c(0)}),i(s,"throw",{value:c(1)}),i(s,"return",{value:c(2)}),"function"==typeof Symbol&&i(s,Symbol.iterator,{value:function(){return this}}),s;function c(i){return function(c){return function(i){if(t)throw new TypeError("Generator is already executing.");for(;s&&(s=0,i[0]&&(a=0)),a;)try{if(t=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,r=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(6===i[0]&&a.label<o[1]){a.label=o[1],o=i;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(i);break}o[2]&&a.ops.pop(),a.trys.pop();continue}i=n.call(e,a)}catch(e){i=[6,e],r=0}finally{t=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,c])}}}function _ts_values(e){var n="function"==typeof Symbol&&Symbol.iterator,t=n&&e[n],r=0;if(t)return t.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(n?"Object is not iterable.":"Symbol.iterator is not defined.")}var SourceUsercentrics=function(){var e=function(e,n,t){e[n]=(void 0===e[n]||Boolean(e[n]))&&t},n=function(n,t){var r,o={};return n.ucCategory&&(r=n.ucCategory,Object.values(r).every(function(e){return"boolean"==typeof e}))?Object.entries(n.ucCategory).forEach(function(n){var r,a,s=_sliced_to_array(n,2),i=s[0],c=s[1];if("boolean"==typeof c){var u=null!==(r=null===(a=t.categoryMap)||void 0===a?void 0:a[i])&&void 0!==r?r:i;e(o,u,c)}}):(n.ucCategory&&Object.entries(n.ucCategory).forEach(function(n){var r=_sliced_to_array(n,2),a=r[0],s=r[1];if("boolean"==typeof s){var i,c,u=null!==(i=null===(c=t.categoryMap)||void 0===c?void 0:c[a])&&void 0!==i?i:a;e(o,u,s)}}),Object.entries(n).forEach(function(n){var t=_sliced_to_array(n,2),r=t[0],a=t[1];if(!de.includes(r)&&"boolean"==typeof a){var s=r.toLowerCase().replace(/ /g,"_");e(o,s,a)}})),o},t=function(e){var n={};return e.forEach(function(e){var t,r,o=e.categorySlug,a=null!==(t=null===(r=e.consent)||void 0===r?void 0:r.status)&&void 0!==t&&t;n[o]=(void 0===n[o]||n[o])&&a}),n},r=function(e){var r,o,a=e.window,s=e.elb,i=e.settings,c=e.logger,u=null!==(r=i.eventName)&&void 0!==r?r:"ucEvent",l=function(e){var t;if(c.debug("event received",e),"consent_status"===e.event&&(!i.explicitOnly||"explicit"===(null===(t=e.type)||void 0===t?void 0:t.toLowerCase()))){var r=n(e,i);Object.keys(r).length>0&&s("walker consent",r)}},f=function(e){var n=e;n.detail&&l(n.detail)};a.addEventListener(u,f);var d=a.UC_UI;if((null==d||null===(o=d.isInitialized)||void 0===o?void 0:o.call(d))&&d.getServicesBaseInfo){var _=d.getServicesBaseInfo();_.length>0&&l(function(e){return{event:"consent_status",type:"implicit",ucCategory:t(e)}}(_))}return function(){a.removeEventListener(u,f)}},o=function(e){return _async_to_generator(function(){var t,r,o,a,s,i,c,u,l,f;return _ts_generator(this,function(d){switch(d.label){case 0:if(r=e.window,o=e.elb,a=e.settings,s=e.logger,i=null!==(t=a.v3EventName)&&void 0!==t?t:_e,c=function(e){return _async_to_generator(function(){var t,r,i;return _ts_generator(this,function(c){switch(c.label){case 0:return[4,e.getConsentDetails()];case 1:return t=c.sent(),r=function(e){var n={};return Object.entries(e.categories).forEach(function(e){var t=_sliced_to_array(e,2),r=t[0],o=t[1];n[r]="ALL_ACCEPTED"===o.state}),{event:"consent_status",type:"EXPLICIT"===e.consent.type?"explicit":"implicit",ucCategory:n}}(t),s.debug("event received",r),a.explicitOnly&&"explicit"!==r.type?[2]:(i=n(r,a),Object.keys(i).length>0&&o("walker consent",i),[2])}})})()},u=function(e){var n=r.__ucCmp;if(n){var t=e.detail;t&&"CMP"===t.source&&t.type&&ve.has(t.type)&&c(n).catch(function(){})}},r.addEventListener(i,u),!(l=r.__ucCmp))return[3,6];d.label=1;case 1:return d.trys.push([1,5,,6]),[4,l.isInitialized()];case 2:return d.sent()?[4,c(l)]:[3,4];case 3:d.sent(),d.label=4;case 4:return[3,6];case 5:return f=d.sent(),s.warn("v3 static consent read failed",f),[3,6];case 6:return[2,function(){r.removeEventListener(i,u)}]}})})()},a=function(e){return{_meta:{hops:0,path:[e]}}},s=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};t=_object_spread({},Ge,t);var r=Object.entries(n).reduce(function(n,r){var o=_sliced_to_array(r,2),a=o[0],s=o[1],i=e[a];return t.merge&&Array.isArray(i)&&Array.isArray(s)?n[a]=s.reduce(function(e,n){return e.includes(n)?e:_to_consumable_array(e).concat([n])},_to_consumable_array(i)):(t.extend||a in e)&&(n[a]=s),n},{});return t.shallow?_object_spread({},e,r):(Object.assign(e,r),e)},i=function(e){return Array.isArray(e)},c=function(e){return void 0!==e},u=function(e){return"function"==typeof e},l=function(e){return"object"==(void 0===e?"undefined":_type_of(e))&&null!==e&&!i(e)&&"[object Object]"===Object.prototype.toString.call(e)},f=function(e){return"string"==typeof e},d=function(e,n,t){if(!l(e))return e;for(var r=Le(e),o=n.split("."),a=r,s=0;s<o.length;s++){var i=o[s];s===o.length-1?a[i]=t:(i in a&&"object"==_type_of(a[i])&&null!==a[i]||(a[i]={}),a=a[i])}return r},_=function(e){var n=_object_spread({},arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}),t={},r=!e||0===Object.keys(e).length;return Object.keys(n).forEach(function(o){n[o]&&(t[o]=!0,e&&e[o]&&(r=!0))}),!!r&&t},v=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:6,n=arguments.length>1?arguments[1]:void 0;if(n){for(var t=n.length,r="",o=0;o<e;o++)r+=n[Math.random()*t|0];return r}for(var a="";a.length<e;)a+=(36*Math.random()|0).toString(36);return a},g=function(e){var n,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e3,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],o=null,a=!1;return function(){for(var s=arguments.length,i=new Array(s),c=0;c<s;c++)i[c]=arguments[c];return new Promise(function(s){var c=r&&!a;o&&clearTimeout(o),o=setTimeout(function(){o=null,r&&!a||(n=e.apply(void 0,_to_consumable_array(i)),s(n))},t),c&&(a=!0,n=e.apply(void 0,_to_consumable_array(i)),s(n))})}},p=function(e){return{message:e.message,name:e.name,stack:e.stack,cause:e.cause}},y=function(e,n){var t,r={};return _instanceof(e,Error)?(t=e.message,r.error=p(e)):t=e,void 0!==n&&(_instanceof(n,Error)?r.error=p(n):"object"==(void 0===n?"undefined":_type_of(n))&&null!==n?"error"in(r=_object_spread({},r,n))&&_instanceof(r.error,Error)&&(r.error=p(r.error)):r.value=n),{message:t,context:r}},b=function(){var e,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return Be({level:void 0!==n.level?(e=n.level,"string"==typeof e?Re[e]:e):0,handler:n.handler,jsonHandler:n.jsonHandler,scope:[]})},h=function(e){return We(e)?e:void 0},m=function(e,n,t){return function(){for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];try{return e.apply(void 0,_to_consumable_array(o))}catch(e){if(!n)return;return n(e)}finally{null==t||t()}}},w=function(e,n,t){return function(){for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];return _async_to_generator(function(){var r;return _ts_generator(this,function(a){switch(a.label){case 0:return a.trys.push([0,2,4,6]),[4,e.apply(void 0,_to_consumable_array(o))];case 1:case 3:return[2,a.sent()];case 2:return r=a.sent(),n?[4,n(r)]:[2];case 4:return[4,null==t?void 0:t()];case 5:return a.sent(),[7];case 6:return[2]}})})()}},j=function(e,n){return _async_to_generator(function(){var t,r,o,a,s,c,u,l,f,d;return _ts_generator(this,function(_){return r=_sliced_to_array((e.name||"").split(" "),2),o=r[0],a=r[1],n&&o&&a?(c="",l=a,f=function(n){if(n)return(n=i(n)?n:[n]).find(function(n){return!n.condition||n.condition(e)})},n[u=o]||(u="*"),[2,((d=n[u])&&(d[l]||(l="*"),s=f(d[l])),s||(u="*",l="*",s=f(null===(t=n[u])||void 0===t?void 0:t[l])),s&&(c="".concat(u," ").concat(l)),{eventMapping:s,mappingKey:c})]):[2,{}]})})()},k=function(e){return _async_to_generator(function(e){var n,t,r,o,a,s,u,f,d,_,v,g,p,y=arguments;return _ts_generator(this,function(b){switch(b.label){case 0:if(n=y.length>1&&void 0!==y[1]?y[1]:{},t=y.length>2&&void 0!==y[2]?y[2]:{},!c(e))return[2];o=l(e)&&e.consent||t.consent||(null===(r=t.collector)||void 0===r?void 0:r.consent),a=i(n)?n:[n],s=!0,u=!1,f=void 0,b.label=1;case 1:b.trys.push([1,6,7,8]),d=a[Symbol.iterator](),b.label=2;case 2:return(s=(_=d.next()).done)?[3,5]:(v=_.value,[4,w(Fe)(e,v,_object_spread_props(_object_spread({},t),{consent:o}))]);case 3:if(g=b.sent(),c(g))return[2,g];b.label=4;case 4:return s=!0,[3,2];case 5:return[3,8];case 6:return p=b.sent(),u=!0,f=p,[3,8];case 7:try{s||null==d.return||d.return()}finally{if(u)throw f}return[7];case 8:return[2]}})}).apply(this,arguments)},O=function(e,n,t){return _async_to_generator(function(){var r,o,a,i,c,u,f,_,v,g,p;return _ts_generator(this,function(y){switch(y.label){case 0:return n.policy?[4,Promise.all(Object.entries(n.policy).map(function(n){var r=_sliced_to_array(n,2),o=r[0],a=r[1];return _async_to_generator(function(){var n;return _ts_generator(this,function(r){switch(r.label){case 0:return[4,k(e,a,{collector:t})];case 1:return n=r.sent(),e=d(e,o,n),[2]}})})()}))]:[3,2];case 1:y.sent(),y.label=2;case 2:return[4,j(e,n.mapping)];case 3:return o=y.sent(),a=o.eventMapping,i=o.mappingKey,(null==a?void 0:a.policy)?[4,Promise.all(Object.entries(a.policy).map(function(n){var r=_sliced_to_array(n,2),o=r[0],a=r[1];return _async_to_generator(function(){var n;return _ts_generator(this,function(r){switch(r.label){case 0:return[4,k(e,a,{collector:t})];case 1:return n=r.sent(),e=d(e,o,n),[2]}})})()}))]:[3,5];case 4:y.sent(),y.label=5;case 5:return(u=n.data)?[4,k(e,n.data,{collector:t})]:[3,7];case 6:u=y.sent(),y.label=7;case 7:return c=u,f=Boolean(null==a?void 0:a.silent),a?a.ignore?[2,{event:e,data:c,mapping:a,mappingKey:i,ignore:!0,silent:f}]:(a.name&&(e.name=a.name),a.data?(v=a.data)?[4,k(e,a.data,{collector:t})]:[3,9]:[3,10]):[3,10];case 8:v=y.sent(),y.label=9;case 9:_=v,c=l(c)&&l(_)?s(c,_):_,y.label=10;case 10:return(g=null!==(r=null==a?void 0:a.include)&&void 0!==r?r:n.include)&&g.length>0&&(p=function(e,n){var t={},r=n.includes("all")?Object.keys(Ke):n,o=!0,a=!1,s=void 0;try{for(var i,c=r[Symbol.iterator]();!(o=(i=c.next()).done);o=!0){var u=i.value,f=Ke[u];if(f){var d=f(e),_=!0,v=!1,g=void 0;if(l(d))try{for(var p,y=Object.entries(d)[Symbol.iterator]();!(_=(p=y.next()).done);_=!0){var b=_sliced_to_array(p.value,2),h=b[0],m=b[1];if(void 0!==m){var w="context"===u&&Array.isArray(m)?m[0]:m;t["".concat(u,"_").concat(h)]=w}}}catch(e){v=!0,g=e}finally{try{_||null==y.return||y.return()}finally{if(v)throw g}}}}}catch(e){a=!0,s=e}finally{try{o||null==c.return||c.return()}finally{if(a)throw s}}return t}(e,g),Object.keys(p).length>0&&(c=l(c)?s(p,c):null!=c?c:p)),[2,{event:e,data:c,mapping:a,mappingKey:i,ignore:!1,silent:f}]}})})()},S=function(e,n,t,r){return function(){for(var o=arguments.length,a=new Array(o),s=0;s<o;s++)a[s]=arguments[s];var i,c="pre"+n,u="post"+n,l=t[c],f=t[u],d=function(e,n){r?r.warn(e,{error:n}):console.warn(e,n)};if(l)try{i=l.apply(void 0,[{fn:e}].concat(_to_consumable_array(a)))}catch(n){d("Hook ".concat(String(c)," failed, falling back to original function"),n),i=e.apply(void 0,_to_consumable_array(a))}else i=e.apply(void 0,_to_consumable_array(a));if(f)try{i=f.apply(void 0,[{fn:e,result:i}].concat(_to_consumable_array(a)))}catch(e){d("Hook ".concat(String(u)," failed, keeping original result"),e)}return i}},C=function(e){return Array.isArray(e)&&e.length>0&&"object"==_type_of(e[0])&&null!==e[0]&&"match"in e[0]},x=function(e,n){var t={ingest:null!=e?e:{}};return void 0!==n&&(t.event=n),t},A=function(e){var n;return{full:null!==(n=e.full)&&void 0!==n&&n,storeId:e.store,rules:e.rules.map(function(e){return{match:ze(e.match),key:e.key,ttl:e.ttl,update:e.update}})}},E=function(e,n,t,r){var o=e.rules.find(function(e){return e.match(t)});if(!o)return null;var a=o.key.map(function(e){var n;return String(null!==(n=He(t,e))&&void 0!==n?n:"")});if(a.every(function(e){return""===e}))return null;var s="".concat(r,":").concat(a.join(":")),i=n.get(s);return void 0!==i?{status:"HIT",key:s,value:i,rule:o}:{status:"MISS",key:s,rule:o}},P=function(e,n,t,r){e.set(n,t,1e3*r)},D=function(e,n,t){return _async_to_generator(function(){var r,o,a,s,i,c,u,l,f,_,v;return _ts_generator(this,function(g){switch(g.label){case 0:if(!n)return[2,e];r=e,o=!0,a=!1,s=void 0,g.label=1;case 1:g.trys.push([1,6,7,8]),i=Object.entries(n)[Symbol.iterator](),g.label=2;case 2:return(o=(c=i.next()).done)?[3,5]:(u=_sliced_to_array(c.value,2),l=u[0],f=u[1],_=[r,l],[4,k(t,f)]);case 3:r=d.apply(void 0,_.concat([g.sent()])),g.label=4;case 4:return o=!0,[3,2];case 5:return[3,8];case 6:return v=g.sent(),a=!0,s=v,[3,8];case 7:try{o||null==i.return||i.return()}finally{if(a)throw s}return[7];case 8:return[2,r]}})})()},I=function(e,n){return e.storeId&&n.stores[e.storeId]?n.stores[e.storeId]:n.stores.__cache},M=function(e){var n={},t=!0,r=!1,o=void 0;try{for(var a,s=Object.entries(e)[Symbol.iterator]();!(t=(a=s.next()).done);t=!0){var i,c=_sliced_to_array(a.value,2),u=c[0],l=null===(i=c[1].config)||void 0===i?void 0:i.next;l&&!C(l)?n[u]={next:l}:n[u]={}}}catch(e){r=!0,o=e}finally{try{t||null==s.return||s.return()}finally{if(r)throw o}}return n},q=function(e,n){var t=e.config||{},r=e[n];return void 0!==r?{config:_object_spread_props(_object_spread({},t),_define_property({},n,r)),chainValue:r}:{config:t,chainValue:void 0}},N=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!e)return[];if(Array.isArray(e))return e;for(var t=[],r=new Set,o=e;o&&n[o]&&!r.has(o);){r.add(o),t.push(o);var a=n[o].next;if(Array.isArray(a)){var s;(s=t).push.apply(s,_to_consumable_array(a));break}o=a}return t},T=function(e,n,t){return _async_to_generator(function(){var r,o,s,i;return _ts_generator(this,function(c){switch(c.label){case 0:return!n.init||n.config.init?[3,2]:(r=n.type||"unknown",o=e.logger.scope("transformer:".concat(r)),s={collector:e,logger:o,id:t,ingest:a(t),config:n.config,env:R(n.config.env)},o.debug("init"),[4,S(n.init,"TransformerInit",e.hooks,e.logger)(s)]);case 1:if(!1===(i=c.sent()))return[2,!1];n.config=_object_spread_props(_object_spread({},i||n.config),{env:(null==i?void 0:i.env)||n.config.env,init:!0}),o.debug("init done"),c.label=2;case 2:return[2,!0]}})})()},U=function(e,n,t,r,o,a){return _async_to_generator(function(){var s,i,c,u;return _ts_generator(this,function(l){switch(l.label){case 0:return s=n.type||"unknown",i=e.logger.scope("transformer:".concat(s)),c={collector:e,logger:i,id:t,ingest:o,config:n.config,env:_object_spread({},R(n.config.env),a?{respond:a}:{})},i.debug("push",{event:r.name}),[4,S(n.push,"TransformerPush",e.hooks,e.logger)(r,c)];case 1:return u=l.sent(),[2,(i.debug("push done"),u)]}})})()},R=function(e){return e&&l(e)?e:{}},G=function(e,n,t){return _async_to_generator(function(){var r,o,s,i,c,u,l,f,d,_,v,g,p,y,b,h,m,j,O,S,q,T,U;return _ts_generator(this,function(R){switch(R.label){case 0:return o=t.code,s=t.config,i=void 0===s?{}:s,c=t.env,u=void 0===c?{}:c,l=t.primary,f=t.next,d=t.before,_=t.cache,g=a(n),p=_?A(_object_spread_props(_object_spread({},_),{full:null===(r=_.full)||void 0===r||r})):void 0,y=Je(f),b=Array.isArray(f)&&C(f)||!y?void 0:N(Xe(y),M(e.transformers)),h=Je(d),m=Array.isArray(d)&&C(d)||!h?void 0:N(Xe(h),M(e.transformers)),j=e.logger.scope("source").scope(n),O=_object_spread({push:function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return _async_to_generator(function(){var o,a,s,c,u,l,f,d,_,w,j,k,O,S,C;return _ts_generator(this,function(A){switch(A.label){case 0:return a=t,(s=null!=m?m:h?N(Xe(h,x(g)),M(e.transformers)):[]).length>0&&e.transformers&&Object.keys(e.transformers).length>0?[4,$e(e,e.transformers,s,a,g,v,"source.".concat(n,".before"))]:[3,2];case 1:if(null===(c=A.sent()).event)return[2,{ok:!0}];c.respond&&(v=c.respond),a=Array.isArray(c.event)?c.event[0]:c.event,A.label=2;case 2:return p&&(u=I(p,e))?(l=x(g),(f=E(p,u,l,"s:".concat(n)))?"HIT"===f.status&&void 0!==f.value&&p.full?(d=f.value,f.rule.update?[4,D(d,f.rule.update,_object_spread_props(_object_spread({},l),{cache:{status:"HIT"}}))]:[3,4]):[3,5]:[3,6]):[3,6];case 3:d=A.sent(),A.label=4;case 4:return[2,(null==v||v(d),{ok:!0})];case 5:"MISS"===f.status&&p.full&&v&&(_=v,w=f.rule.update,j=_object_spread_props(_object_spread({},l),{cache:{status:"MISS"}}),k=f.key,O=f.rule.ttl,v=function(e){P(u,k,e,O),w?o=_async_to_generator(function(){var n;return _ts_generator(this,function(t){switch(t.label){case 0:return[4,D(e,w,j)];case 1:return n=t.sent(),_(n),[2]}})})():_(e)}),"MISS"!==f.status||p.full||P(u,f.key,!0,f.rule.ttl),A.label=6;case 6:return S=null!=b?b:y?N(Xe(y,x(g)),M(e.transformers)):[],[4,e.push(a,_object_spread_props(_object_spread({},r),{id:n,ingest:g,respond:v,mapping:i,preChain:S}))];case 7:return C=A.sent(),o?[4,o]:[3,9];case 8:A.sent(),A.label=9;case 9:return[2,C]}})})()},command:e.command,sources:e.sources,elb:e.sources.elb.push,logger:j},u),S={collector:e,logger:j,id:n,config:i,env:O,setIngest:function(t){return _async_to_generator(function(){var r,o;return _ts_generator(this,function(s){switch(s.label){case 0:return i.ingest?[4,k(t,i.ingest,{collector:e})]:[2,void(g=a(n))];case 1:return r=s.sent(),o=a(n),g=_object_spread_props(_object_spread({},o,r),{_meta:o._meta}),[2]}})})()},setRespond:function(e){v=e}},[4,w(o)(S)];case 1:return(q=R.sent())?(T=q.type||"unknown",U=e.logger.scope(T).scope(n),[2,(O.logger=U,l&&(q.config=_object_spread_props(_object_spread({},q.config),{primary:l})),q)]):[2]}})})()},L=function(e){return _async_to_generator(function(e){var n,t,r,o,a,s,i,c,u,l,f,d,_,v,g=arguments;return _ts_generator(this,function(p){switch(p.label){case 0:n=g.length>1&&void 0!==g[1]?g[1]:{},t={},r=!0,o=!1,a=void 0,p.label=1;case 1:p.trys.push([1,6,7,8]),s=Object.entries(n)[Symbol.iterator](),p.label=2;case 2:return(r=(i=s.next()).done)?[3,5]:(c=_sliced_to_array(i.value,2),u=c[0],l=c[1],f=l.config,(d=void 0===f?{}:f).require&&d.require.length>0?(e.pending.sources[u]=l,[3,4]):[4,G(e,u,l)]);case 3:(_=p.sent())&&(t[u]=_),p.label=4;case 4:return r=!0,[3,2];case 5:return[3,8];case 6:return v=p.sent(),o=!0,a=v,[3,8];case 7:try{r||null==s.return||s.return()}finally{if(o)throw a}return[7];case 8:return[2,t]}})}).apply(this,arguments)},H=function(e,n,t){return _async_to_generator(function(){var r,o,a;return _ts_generator(this,function(s){return r=e.on,o=r[n]||[],(a=i(t)?t:[t]).forEach(function(e){o.push(e)}),r[n]=o,V(e,n,a),[2]})})()},K=function(e,n,t,r,o){if(n.on){var a=n.type||"unknown",s=e.logger.scope(a).scope("on").scope(r),i={collector:e,logger:s,id:t,config:n.config,data:o,env:Z(n.env,n.config.env)};m(n.on)(r,i)}},V=function(e,n,t,r){var o,a,s,i;switch(n){case Ye.Commands.Consent:o=r||e.consent;break;case Ye.Commands.Session:o=e.session;break;case Ye.Commands.User:o=r||e.user;break;case Ye.Commands.Custom:o=r||e.custom;break;case Ye.Commands.Globals:o=r||e.globals;break;case Ye.Commands.Config:o=r||e.config;break;case Ye.Commands.Ready:case Ye.Commands.Run:default:o=void 0}if(t.length)switch(n){case Ye.Commands.Consent:a=e,s=t,i=r||a.consent,s.forEach(function(e){Object.keys(i).filter(function(n){return n in e}).forEach(function(n){m(e[n])(a,i)})});break;case Ye.Commands.Ready:case Ye.Commands.Run:!function(e,n){e.allowed&&n.forEach(function(n){m(n)(e)})}(e,t);break;case Ye.Commands.Session:!function(e,n){e.session&&n.forEach(function(n){m(n)(e,e.session)})}(e,t);break;default:t.forEach(function(n){"function"==typeof n&&m(n)(e,o)})}},B=function(e,n,t,r){return _async_to_generator(function(){var o,a,s,i,c,u,l,f,d,_,v;return _ts_generator(this,function(g){switch(g.label){case 0:switch(a=t||[],t||(a=e.on[n]||[]),n){case Ye.Commands.Consent:o=r||e.consent;break;case Ye.Commands.Session:o=e.session;break;case Ye.Commands.User:o=r||e.user;break;case Ye.Commands.Custom:o=r||e.custom;break;case Ye.Commands.Globals:o=r||e.globals;break;case Ye.Commands.Config:o=r||e.config;break;case Ye.Commands.Ready:case Ye.Commands.Run:default:o=void 0}s=!1,i=!0,c=!1,u=void 0,g.label=1;case 1:g.trys.push([1,6,7,8]),l=Object.values(e.sources)[Symbol.iterator](),g.label=2;case 2:return(i=(f=l.next()).done)?[3,5]:(d=f.value).on?(_=!1,[4,w(d.on)(n,o)]):[3,4];case 3:_===g.sent()&&(s=!0),g.label=4;case 4:return i=!0,[3,2];case 5:return[3,8];case 6:return v=g.sent(),c=!0,u=v,[3,8];case 7:try{i||null==l.return||l.return()}finally{if(c)throw u}return[7];case 8:return Object.entries(e.destinations).forEach(function(t){var r=_sliced_to_array(t,2),a=r[0],s=r[1];if(s.on){if(!s.config.init)return s.queueOn=s.queueOn||[],void s.queueOn.push({type:n,data:o});K(e,s,a,n,o)}}),Object.keys(e.pending.sources).length>0||Object.keys(e.pending.destinations).length>0?[4,(p=e,y=n,_async_to_generator(function(){var e,n,t,r,o,a,s,i,c,u,l,f,d,_,v,g,b,h,m,w,j,k,O,S,C;return _ts_generator(this,function(x){switch(x.label){case 0:e=!0,n=!1,t=void 0,x.label=1;case 1:x.trys.push([1,6,7,8]),r=Object.entries(p.pending.sources)[Symbol.iterator](),x.label=2;case 2:return(e=(o=r.next()).done)?[3,5]:(a=_sliced_to_array(o.value,2),s=a[0],i=a[1],!p.pending.sources[s]||p.sources[s]?[3,4]:(u=null===(c=i.config)||void 0===c?void 0:c.require)?-1===(l=u.indexOf(y))?[3,4]:(u.splice(l,1),u.length>0?[3,4]:(delete p.pending.sources[s],[4,G(p,s,i)])):[3,4]);case 3:(f=x.sent())&&(p.sources[s]=f),x.label=4;case 4:return e=!0,[3,2];case 5:return[3,8];case 6:return d=x.sent(),n=!0,t=d,[3,8];case 7:try{e||null==r.return||r.return()}finally{if(n)throw t}return[7];case 8:_=!0,v=!1,g=void 0;try{for(b=Object.entries(p.pending.destinations)[Symbol.iterator]();!(_=(h=b.next()).done);_=!0)m=_sliced_to_array(h.value,2),w=m[0],j=m[1],p.pending.destinations[w]&&!p.destinations[w]&&(O=null===(k=j.config)||void 0===k?void 0:k.require)&&-1!==(S=O.indexOf(y))&&(O.splice(S,1),O.length>0||(delete p.pending.destinations[w],!1!==(C=$(j)).config.queue&&(C.queuePush=_to_consumable_array(p.queue)),p.destinations[w]=C))}catch(e){v=!0,g=e}finally{try{_||null==b.return||b.return()}finally{if(v)throw g}}return[2]}})})())]:[3,10];case 9:g.sent(),g.label=10;case 10:return[2,(V(e,n,a,r),!s)]}var p,y})})()},W=function(e,n,t,r){if(!e)return[];if(n){var o=Xe(n,x(r));return o?N(o,M(t)):[]}return N(e,M(t))},F=function(e,n,t){return _async_to_generator(function(){var r,o,a,s,i,c,l,f,d,_,g,p;return _ts_generator(this,function(y){if(r=n.code,o=n.config,a=void 0===o?{}:o,s=n.env,i=void 0===s?{}:s,c=n.before,l=n.next,f=n.cache,!u(r.push))return[2,Y({ok:!1,failed:{invalid:{type:"invalid",error:"Destination code must have a push method"}}})];if(d=t||a||{init:!1},_=c?_object_spread_props(_object_spread({},d),{before:c}):_object_spread({},d),l&&(_=_object_spread_props(_object_spread({},_),{next:l})),f&&(_=_object_spread_props(_object_spread({},_),{cache:f})),g=_object_spread_props(_object_spread({},r),{config:_,env:Z(r.env,i)}),!(p=g.config.id))do{p=v(5,"abcdefghijklmnopqrstuvwxyz")}while(e.destinations[p]);return[2,(e.destinations[p]=g,!1!==g.config.queue&&(g.queuePush=_to_consumable_array(e.queue)),z(e,void 0,{},_define_property({},p,g)))]})})()},z=function(e,n,t){return _async_to_generator(function(e,n){var t,r,o,i,c,u,l,f,d,v,g,p,y,b,h,m,j,k,O,S=arguments;return _ts_generator(this,function(D){switch(D.label){case 0:return t=S.length>2&&void 0!==S[2]?S[2]:{},r=S.length>3?S[3]:void 0,o=e.allowed,i=e.consent,c=e.globals,u=e.user,o?(n&&(e.queue.push(n),e.status.in++),r||(r=e.destinations),[4,Promise.all(Object.entries(r||{}).map(function(r){var o=_sliced_to_array(r,2),l=o[0],f=o[1];return _async_to_generator(function(){var r,o,d,v,g,p,y,b,h,m,j,k,O,S,D,M,q,N,T;return _ts_generator(this,function(U){switch(U.label){case 0:return f.config.disabled?[2,{id:l,destination:f,skipped:!0}]:(g=(f.queuePush||[]).map(function(e){return _object_spread_props(_object_spread({},e),{consent:i})}),f.queuePush=[],n&&g.push(Le(n)),p=t.ingest?_object_spread_props(_object_spread({},t.ingest),{_meta:_object_spread_props(_object_spread({},t.ingest._meta),{path:_to_consumable_array(t.ingest._meta.path)})}):a("unknown"),g.length||(null===(o=f.queueOn)||void 0===o?void 0:o.length)?g.length||!(null===(d=f.queueOn)||void 0===d?void 0:d.length)?[3,2]:[4,w(J)(e,f,l)]:[2,{id:l,destination:f,skipped:!0}]);case 1:return y=U.sent(),[2,{id:l,destination:f,skipped:!y}];case 2:return b=[],h=g.filter(function(e){var n=_(f.config.consent,i,e.consent);return!n||(e.consent=n,b.push(e),!1)}),(r=f.queuePush).push.apply(r,_to_consumable_array(h)),b.length?[4,w(J)(e,f,l)]:[2,{id:l,destination:f,queue:g}];case 3:return U.sent()?(f.dlq||(f.dlq=[]),k=f.config.before,O=W(k,k&&C(k)?Je(k):void 0,e.transformers,p),S=f.config.next,D=S&&C(S)?Je(S):void 0,M=null===(v=f.config)||void 0===v?void 0:v.cache,q=M?A(M):void 0,N=q?I(q,e):void 0,T=0,[4,Promise.all(b.map(function(n){return _async_to_generator(function(){var r,o,a,i,d,_,v,g,y,b,h,k,C;return _ts_generator(this,function(A){switch(A.label){case 0:if(n.globals=s(c,n.globals),n.user=s(u,n.user),(null==q?void 0:q.full)&&N){if(o=x(p,n),"HIT"===(null==(a=E(q,N,o,"d:".concat(l)))?void 0:a.status))return[2,n];"MISS"===(null==a?void 0:a.status)&&(r={key:a.key,ttl:a.rule.ttl})}return i=n,d=t.respond,O.length>0&&e.transformers&&Object.keys(e.transformers).length>0?[4,$e(e,e.transformers,O,n,p,t.respond,"destination.".concat(l,".before"))]:[3,2];case 1:if(null===(_=A.sent()).event)return[2,n];_.respond&&(d=_.respond),i=Array.isArray(_.event)?_.event[0]:_.event,A.label=2;case 2:if(q&&!q.full&&N){if(v=x(p,i),"HIT"===(null==(g=E(q,N,v,"d:".concat(l)))?void 0:g.status))return[2,n];"MISS"===(null==g?void 0:g.status)&&(r={key:g.key,ttl:g.rule.ttl})}return y=Date.now(),b=!1,[4,w(X,function(n){var t=f.type||"unknown";e.logger.scope(t).error("Push failed",{error:n,event:i.name}),m=n,b=!0,f.dlq.push([i,n])})(e,f,l,i,p,d)];case 3:return h=A.sent(),T+=Date.now()-y,r&&N&&void 0===f.config.mock&&P(N,r.key,null==h||h,r.ttl),void 0!==h&&(j=h),b||!S?[3,5]:(void 0!==h&&(p._response=h),(k=W(S,D,e.transformers,p)).length>0&&e.transformers&&Object.keys(e.transformers).length>0?[4,$e(e,e.transformers,k,i,p,d,"destination.".concat(l,".next"))]:[3,5]);case 4:(C=A.sent()).respond&&(d=C.respond),A.label=5;case 5:return[2,n]}})})()}))]):[2,{id:l,destination:f,queue:g}];case 4:return[2,(U.sent(),{id:l,destination:f,error:m,response:j,totalDuration:T})]}})})()}))]):[2,Y({ok:!1})];case 1:l=D.sent(),f={},d={},v={},g=!0,p=!1,y=void 0;try{for(b=l[Symbol.iterator]();!(g=(h=b.next()).done);g=!0)(m=h.value).skipped||(j={type:m.destination.type||"unknown",data:m.response},e.status.destinations[m.id]||(e.status.destinations[m.id]={count:0,failed:0,duration:0}),k=e.status.destinations[m.id],O=Date.now(),m.error?(j.error=m.error,v[m.id]=j,k.failed++,k.lastAt=O,k.duration+=m.totalDuration||0,e.status.failed++):m.queue&&m.queue.length?d[m.id]=j:(f[m.id]=j,k.count++,k.lastAt=O,k.duration+=m.totalDuration||0,e.status.out++))}catch(e){p=!0,y=e}finally{try{g||null==b.return||b.return()}finally{if(p)throw y}}return[2,Y(_object_spread({event:n},Object.keys(f).length&&{done:f},Object.keys(d).length&&{queued:d},Object.keys(v).length&&{failed:v}))]}})}).apply(this,arguments)},J=function(e,n,t){return _async_to_generator(function(){var r,o,a,s,i,c,u,l,f,d,_,v,g,p;return _ts_generator(this,function(y){switch(y.label){case 0:return!n.init||n.config.init?[3,2]:(o=n.type||"unknown",a=e.logger.scope(o),s={collector:e,logger:a,id:t,config:n.config,env:Z(n.env,n.config.env)},a.debug("init"),[4,S(n.init,"DestinationInit",e.hooks,e.logger)(s)]);case 1:if(!1===(i=y.sent()))return[2,i];if(n.config=_object_spread_props(_object_spread({},i||n.config),{init:!0}),null===(r=n.queueOn)||void 0===r?void 0:r.length){c=n.queueOn,n.queueOn=[],u=!0,l=!1,f=void 0;try{for(d=c[Symbol.iterator]();!(u=(_=d.next()).done);u=!0)v=_.value,g=v.type,p=v.data,K(e,n,t,g,p)}catch(e){l=!0,f=e}finally{try{u||null==d.return||d.return()}finally{if(l)throw f}}}a.debug("init done"),y.label=2;case 2:return[2,!0]}})})()},X=function(e,n,t,r,o,a){return _async_to_generator(function(){var s,i,u,l,f,d,_,v,p,y;return _ts_generator(this,function(b){switch(b.label){case 0:return s=n.config,[4,O(r,s,e)];case 1:return(i=b.sent()).ignore?[2,!1]:(u=n.type||"unknown",l=e.logger.scope(u),f={collector:e,logger:l,id:t,config:s,data:i.data,rule:i.mapping,ingest:o,env:_object_spread({},Z(n.env,s.env),a?{respond:a}:{})},void 0!==s.mock?[2,(l.debug("mock",{event:i.event.name}),s.mock)]:(d=i.mapping,_=i.mappingKey||"* *",(null==d?void 0:d.batch)&&n.pushBatch&&void 0===s.mock?[3,3]:(l.debug("push",{event:i.event.name}),[4,S(n.push,"DestinationPush",e.hooks,e.logger)(i.event,f)])));case 2:return v=b.sent(),[2,(l.debug("push done"),v)];case 3:return n.batches=n.batches||{},n.batches[_]||(p={key:_,events:[],data:[]},n.batches[_]={batched:p,batchFn:g(function(){var r=n.batches[_].batched,i={collector:e,logger:l,id:t,config:s,data:void 0,rule:d,ingest:o,env:_object_spread({},Z(n.env,s.env),a?{respond:a}:{})};l.debug("push batch",{events:r.events.length}),S(n.pushBatch,"DestinationPushBatch",e.hooks,e.logger)(r,i),l.debug("push batch done"),r.events=[],r.data=[]},d.batch)}),(y=n.batches[_]).batched.events.push(i.event),c(i.data)&&y.batched.data.push(i.data),y.batchFn(),[2,!0]}})})()},Y=function(e){return _object_spread({ok:!(null==e?void 0:e.failed)},e)},$=function(e){var n=e.code,t=e.config,r=void 0===t?{}:t,o=e.env,a=void 0===o?{}:o,s=e.cache,i=q(e,"before").config,c=q(_object_spread_props(_object_spread({},e),{config:i}),"next").config,u=_object_spread({},n.config,r,c);s&&(u.cache=s);var l=Z(n.env,a);return _object_spread_props(_object_spread({},n),{config:u,env:l})},Q=function(e){return _async_to_generator(function(e){var n,t,r,o,a,s,i,c,u,l,f,d,_=arguments;return _ts_generator(this,function(v){n=_.length>1&&void 0!==_[1]?_[1]:{},o={},a=!0,s=!1,i=void 0;try{for(c=Object.entries(n)[Symbol.iterator]();!(a=(u=c.next()).done);a=!0)l=_sliced_to_array(u.value,2),f=l[0],d=l[1],(null===(r=d.config)||void 0===r||null===(t=r.require)||void 0===t?void 0:t.length)?e.pending.destinations[f]=d:o[f]=$(d)}catch(e){s=!0,i=e}finally{try{a||null==c.return||c.return()}finally{if(s)throw i}}return[2,o]})}).apply(this,arguments)},Z=function(e,n){return e||n?n?e&&l(e)&&l(n)?_object_spread({},e,n):n:e:{}},ee=function(e,n,t){return _async_to_generator(function(){var r;return _ts_generator(this,function(o){switch(o.label){case 0:return r=Object.entries(e).map(function(e){var r=_sliced_to_array(e,2),o=r[0],a=r[1];return _async_to_generator(function(){var e,r,s,i,c,u;return _ts_generator(this,function(l){switch(l.label){case 0:if(!(r=a.destroy))return[2];s=a.type||"unknown",i=t.scope(s),c={id:o,config:a.config,env:null!==(e=a.env)&&void 0!==e?e:{},logger:i},l.label=1;case 1:return l.trys.push([1,3,,4]),[4,Promise.race([r(c),new Promise(function(e,t){return setTimeout(function(){return t(new Error("".concat(n," '").concat(o,"' destroy timed out")))},5e3)})])];case 2:return l.sent(),[3,4];case 3:return u=l.sent(),i.error("".concat(n," '").concat(o,"' destroy failed: ").concat(u)),[3,4];case 4:return[2]}})})()}),[4,Promise.allSettled(r)];case 1:return o.sent(),[2]}})})()},ne=function(e,n,t,r){return _async_to_generator(function(){var o,a,i,c,d,_,v;return _ts_generator(this,function(g){switch(g.label){case 0:switch(i=!1,n){case Ye.Commands.Config:return[3,1];case Ye.Commands.Consent:return[3,2];case Ye.Commands.Custom:return[3,3];case Ye.Commands.Destination:return[3,4];case Ye.Commands.Globals:return[3,11];case Ye.Commands.On:return[3,12];case Ye.Commands.Ready:return[3,15];case Ye.Commands.Run:return[3,16];case Ye.Commands.Session:return[3,18];case Ye.Commands.Shutdown:return[3,19];case Ye.Commands.User:return[3,21]}return[3,22];case 1:return l(t)&&(s(e.config,t,{shallow:!1}),a=t,i=!0),[3,22];case 2:return l(t)&&(c=function(e,n){var t={};return Object.entries(n).forEach(function(e){var n=_sliced_to_array(e,2),r=n[0],o=n[1];t[r]=!!o}),e.consent=s(e.consent,t),{update:t}}(e,t),d=c.update,a=d,i=!0),[3,22];case 3:return l(t)&&(e.custom=s(e.custom,t),a=t,i=!0),[3,22];case 4:return l(t)?"code"in t&&l(t.code)?[4,F(e,t,r)]:[3,6]:[3,10];case 5:return _=o=g.sent(),[3,9];case 6:return(v=u(t.push))?[4,F(e,{code:t},r)]:[3,8];case 7:v=o=g.sent(),g.label=8;case 8:_=v,g.label=9;case 9:g.label=10;case 10:return[3,22];case 11:return l(t)&&(e.globals=s(e.globals,t),a=t,i=!0),[3,22];case 12:return f(t)?[4,H(e,t,r)]:[3,14];case 13:g.sent(),g.label=14;case 14:return[3,22];case 15:return i=!0,[3,22];case 16:return[4,re(e,t)];case 17:return o=g.sent(),i=!0,[3,22];case 18:return i=!0,[3,22];case 19:return[4,(p=e,_async_to_generator(function(){var e;return _ts_generator(this,function(n){switch(n.label){case 0:return e=p.logger,[4,ee(p.sources,"source",e)];case 1:return n.sent(),[4,ee(p.destinations,"destination",e)];case 2:return n.sent(),[4,ee(p.transformers,"transformer",e)];case 3:return n.sent(),[4,ee(p.stores,"store",e)];case 4:return n.sent(),[2]}})})())];case 20:return g.sent(),[3,22];case 21:l(t)&&(s(e.user,t,{shallow:!1}),a=t,i=!0),g.label=22;case 22:return i?[4,B(e,n,void 0,a)]:[3,25];case 23:return g.sent(),[4,z(e)];case 24:o=g.sent(),g.label=25;case 25:return[2,o||Y({ok:!0})]}var p})})()},te=function(e,n){if(!n.name)throw new Error("Event name is required");var t=_sliced_to_array(n.name.split(" "),2),r=t[0],o=t[1];if(!r||!o)throw new Error("Event name is invalid");var a=n.timestamp,s=void 0===a?Date.now():a,i=n.name,c=void 0===i?"".concat(r," ").concat(o):i,u=n.data,l=void 0===u?{}:u,f=n.context,d=void 0===f?{}:f,_=n.globals,v=void 0===_?e.globals:_,g=n.custom,p=void 0===g?{}:g,y=n.user,b=void 0===y?e.user:y,h=n.nested,m=void 0===h?[]:h,w=n.consent,j=void 0===w?e.consent:w,k=n.id,O=void 0===k?function(){for(var e="",n=0;n<16;n++)e+=(16*Math.random()|0).toString(16);return e}():k,S=n.trigger,C=void 0===S?"":S,x=n.entity,A=void 0===x?r:x,E=n.action,P=void 0===E?o:E,D=n.timing,I=void 0===D?0:D,M=n.source;return{name:c,data:l,context:d,globals:v,custom:p,user:b,nested:m,consent:j,id:O,trigger:C,entity:A,action:P,timestamp:s,timing:I,source:void 0===M?{type:"collector",schema:"4"}:M}},re=function(e,n){return _async_to_generator(function(){return _ts_generator(this,function(t){switch(t.label){case 0:return e.allowed=!0,e.timing=Date.now(),n&&(n.consent&&(e.consent=s(e.consent,n.consent)),n.user&&(e.user=s(e.user,n.user)),n.globals&&(e.globals=s(e.config.globalsStatic||{},n.globals)),n.custom&&(e.custom=s(e.custom,n.custom))),Object.values(e.destinations).forEach(function(e){e.queuePush=[]}),e.queue=[],e.round++,[4,z(e)];case 1:return[2,t.sent()]}})})()},oe=function(e){return _async_to_generator(function(){var n,t,r,o,i,c,u,l,f;return _ts_generator(this,function(d){switch(d.label){case 0:return r=s({globalsStatic:{},sessionStatic:{},run:!0},e,{merge:!1,extend:!1}),o={level:null===(n=e.logger)||void 0===n?void 0:n.level,handler:null===(t=e.logger)||void 0===t?void 0:t.handler},i=b(o),c=_object_spread({},r.globalsStatic,e.globals),(u={allowed:!1,config:r,consent:e.consent||{},custom:e.custom||{},destinations:{},transformers:{},stores:{},globals:c,hooks:e.hooks||{},logger:i,on:{},queue:[],round:0,session:void 0,status:{startedAt:Date.now(),in:0,out:0,failed:0,sources:{},destinations:{}},timing:Date.now(),user:e.user||{},sources:{},pending:{sources:{},destinations:{}},push:void 0,command:void 0}).push=function(e,n){return S(function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return _async_to_generator(function(){return _ts_generator(this,function(o){switch(o.label){case 0:return[4,w(function(){return _async_to_generator(function(){var o,s,i,c,u,l,f,d,v,g,p,y,b,h,m,w,j,k,S,C,x;return _ts_generator(this,function(A){switch(A.label){case 0:return o=Date.now(),s=r.id,i=r.ingest,c=r.respond,u=r.mapping,l=r.preChain,f=r.include,d=r.exclude,v=c,g=t,p=f||d?function(e,n,t){var r=e;return n&&(r=Object.fromEntries(Object.entries(r).filter(function(e){var t=_sliced_to_array(e,1)[0];return n.includes(t)}))),t&&(r=Object.fromEntries(Object.entries(r).filter(function(e){var n=_sliced_to_array(e,1)[0];return!t.includes(n)}))),r}(e.destinations,f,d):void 0,y=null!=i?i:a(s||"unknown"),u?[4,O(g,u,e)]:[3,2];case 1:if((b=A.sent()).ignore)return[2,Y({ok:!0})];if(u.consent&&!_(u.consent,e.consent,b.event.consent))return[2,Y({ok:!0})];g=b.event,A.label=2;case 2:return(null==l?void 0:l.length)&&e.transformers&&Object.keys(e.transformers).length>0?[4,$e(e,e.transformers,l,g,y,v,s?"source.".concat(s,".next"):void 0)]:[3,6];case 3:return null===(h=A.sent()).event?[2,Y({ok:!0})]:(h.respond&&(v=h.respond),Array.isArray(h.event)?[4,Promise.all(h.event.map(function(t){return _async_to_generator(function(){var r,o;return _ts_generator(this,function(a){return r=n(t),o=te(e,r),[2,z(e,o,{id:s,ingest:y,respond:v},p)]})})()}))]:[3,5]);case 4:return w=A.sent(),s&&(e.status.sources[s]||(e.status.sources[s]={count:0,duration:0}),(j=e.status.sources[s]).count+=h.event.length,j.lastAt=Date.now(),j.duration+=Date.now()-o),[2,null!==(m=w[0])&&void 0!==m?m:Y({ok:!0})];case 5:g=h.event,A.label=6;case 6:return k=n(g),S=te(e,k),[4,z(e,S,{id:s,ingest:y,respond:v},p)];case 7:return C=A.sent(),s&&(e.status.sources[s]||(e.status.sources[s]={count:0,duration:0}),(x=e.status.sources[s]).count++,x.lastAt=Date.now(),x.duration+=Date.now()-o),[2,C]}})})()},function(){return Y({ok:!1})})()];case 1:return[2,o.sent()]}})})()},"Push",e.hooks,e.logger)}(u,function(e){return _object_spread({timing:Math.round((Date.now()-u.timing)/10)/100,source:{type:"collector",schema:"4",version:"4.0.0-next-1777463920154"}},e)}),u.command=function(e,n){return S(function(t,r,o){return _async_to_generator(function(){return _ts_generator(this,function(a){switch(a.label){case 0:return[4,w(function(){return _async_to_generator(function(){return _ts_generator(this,function(a){switch(a.label){case 0:return[4,n(e,t,r,o)];case 1:return[2,a.sent()]}})})()},function(){return Y({ok:!1})})()];case 1:return[2,a.sent()]}})})()},"Command",e.hooks,e.logger)}(u,ne),l=e.stores||{},[4,function(e){return _async_to_generator(function(e){var n,t,r,o,a,s,i,c,u,l,f,d,_,v,g,p,y,b,h,m,w,j=arguments;return _ts_generator(this,function(k){switch(k.label){case 0:n=j.length>1&&void 0!==j[1]?j[1]:{},t={},r=!0,o=!1,a=void 0,k.label=1;case 1:k.trys.push([1,6,7,8]),s=Object.entries(n)[Symbol.iterator](),k.label=2;case 2:return(r=(i=s.next()).done)?[3,5]:(c=_sliced_to_array(i.value,2),u=c[0],l=c[1],f=l.code,d=l.config,_=void 0===d?{}:d,v=l.env,g=void 0===v?{}:v,p=e.logger.scope("store").scope(u),[4,f({collector:e,logger:p,id:u,config:_,env:g})]);case 3:y=k.sent(),b=y.get,h=y.set,m=y.delete,y.get=S(b,"StoreGet",e.hooks,e.logger),y.set=S(h,"StoreSet",e.hooks,e.logger),y.delete=S(m,"StoreDelete",e.hooks,e.logger),t[u]=y,k.label=4;case 4:return r=!0,[3,2];case 5:return[3,8];case 6:return w=k.sent(),o=!0,a=w,[3,8];case 7:try{r||null==s.return||s.return()}finally{if(o)throw a}return[7];case 8:return[2,t]}})}).apply(this,arguments)}(u,l)];case 1:return u.stores=d.sent(),function(e,n,t){var r=new Map,o=!0,a=!1,s=void 0;try{for(var i,c=Object.entries(e)[Symbol.iterator]();!(o=(i=c.next()).done);o=!0){var u=_sliced_to_array(i.value,2),l=u[0],f=u[1];n[l]&&r.set(f,n[l])}}catch(e){a=!0,s=e}finally{try{o||null==c.return||c.return()}finally{if(a)throw s}}if(0!==r.size)for(var d=!0,_=!1,v=void 0,g=0,p=[t.transformers,t.destinations,t.sources];g<p.length;g++){var y=p[g];if(y)try{for(var b,h=Object.values(y)[Symbol.iterator]();!(d=(b=h.next()).done);d=!0){m(b.value.env)}}catch(e){_=!0,v=e}finally{try{d||null==h.return||h.return()}finally{if(_)throw v}}}function m(e){if(e){var n=!0,t=!1,o=void 0;try{for(var a,s=Object.entries(e)[Symbol.iterator]();!(n=(a=s.next()).done);n=!0){var i=_sliced_to_array(a.value,2),c=i[0],u=i[1];if("object"==(void 0===u?"undefined":_type_of(u))&&null!==u){var l=r.get(u);l&&(e[c]=l)}}}catch(e){t=!0,o=e}finally{try{n||null==s.return||s.return()}finally{if(t)throw o}}}}}(l,u.stores,e),u.stores.__cache||(f=new Map,u.stores.__cache={type:"memory",config:{},get:function(e){var n=f.get(e);if(n){if(!(n.expires&&Date.now()>n.expires))return n.value;f.delete(e)}},set:function(e,n,t){f.set(e,{value:n,expires:t?Date.now()+t:void 0})},delete:function(e){f.delete(e)}}),[4,Q(u,e.destinations||{})];case 2:return u.destinations=d.sent(),[4,function(e){return _async_to_generator(function(e){var n,t,r,o,s,i,c,u,l,f,d,_,v,g,p,y,b,h,m,w,j,k,O,S,C=arguments;return _ts_generator(this,function(x){switch(x.label){case 0:n=C.length>1&&void 0!==C[1]?C[1]:{},t={},r=!0,o=!1,s=void 0,x.label=1;case 1:x.trys.push([1,6,7,8]),i=Object.entries(n)[Symbol.iterator](),x.label=2;case 2:return(r=(c=i.next()).done)?[3,5]:(u=_sliced_to_array(c.value,2),l=u[0],f=u[1],d=f.code,_=f.env,v=void 0===_?{}:_,g=q(f,"before"),p=g.config,y=q(_object_spread_props(_object_spread({},f),{config:p}),"next"),b=y.config,h=Object.keys(v).length>0?_object_spread_props(_object_spread({},b),{env:v}):b,m=f.cache,w=m?_object_spread_props(_object_spread({},h),{cache:m}):h,j=e.logger.scope("transformer").scope(l),k={collector:e,logger:j,id:l,ingest:a(l),config:w,env:v},[4,d(k)]);case 3:O=x.sent(),t[l]=O,x.label=4;case 4:return r=!0,[3,2];case 5:return[3,8];case 6:return S=x.sent(),o=!0,s=S,[3,8];case 7:try{r||null==i.return||i.return()}finally{if(o)throw s}return[7];case 8:return[2,t]}})}).apply(this,arguments)}(u,e.transformers||{})];case 3:return[2,(u.transformers=d.sent(),u)]}})})()},ae=function(e){return _async_to_generator(function(){var n,t,r,o,a,s,i,c,u,l,f;return _ts_generator(this,function(d){switch(d.label){case 0:return[4,oe(e=e||{})];case 1:return n=d.sent(),r=n,t={type:"elb",config:{},push:function(e,n,t,o,a,s){return _async_to_generator(function(){var i,c;return _ts_generator(this,function(u){if("string"==typeof e&&e.startsWith("walker "))return i=e.replace("walker ",""),[2,r.command(i,n,t)];if("string"==typeof e)c={name:e},n&&"object"==(void 0===n?"undefined":_type_of(n))&&!Array.isArray(n)&&(c.data=n);else{if(!e||"object"!=(void 0===e?"undefined":_type_of(e)))return[2,Y({ok:!1})];c=e,n&&"object"==(void 0===n?"undefined":_type_of(n))&&!Array.isArray(n)&&(c.data=_object_spread({},c.data||{},n))}return[2,(o&&"object"==(void 0===o?"undefined":_type_of(o))&&(c.context=o),a&&Array.isArray(a)&&(c.nested=a),s&&"object"==(void 0===s?"undefined":_type_of(s))&&(c.custom=s),r.push(c))]})})()}},n.sources.elb=t,[4,L(n,e.sources||{})];case 2:return o=d.sent(),Object.assign(n.sources,o),a=e.consent,s=e.user,i=e.globals,c=e.custom,a?[4,n.command("consent",a)]:[3,4];case 3:d.sent(),d.label=4;case 4:return s?[4,n.command("user",s)]:[3,6];case 5:d.sent(),d.label=6;case 6:return i&&Object.assign(n.globals,i),c&&Object.assign(n.custom,c),n.config.run?[4,n.command("run")]:[3,8];case 7:d.sent(),d.label=8;case 8:return u=t.push,l=Object.values(n.sources).filter(function(e){return"elb"!==e.type}),[2,((f=l.find(function(e){return e.config.primary}))?u=f.push:l.length>0&&(u=l[0].push),{collector:n,elb:u})]}})})()},se=Object.defineProperty,ie=Object.getOwnPropertyDescriptor,ce=Object.getOwnPropertyNames,ue=Object.prototype.hasOwnProperty,le=function(e,n){for(var t in n)se(e,t,{get:n[t],enumerable:!0})},fe={};le(fe,{SourceUsercentrics:function(){return ge},createMockElbFn:function(){return Ee},createTrigger:function(){return Ze},default:function(){return tn},fullConsent:function(){return pe},fullConsentCustomMapped:function(){return Ce},fullConsentMapped:function(){return ke},fullConsentUpperCase:function(){return me},implicitConsent:function(){return he},minimalConsent:function(){return be},minimalConsentMapped:function(){return Se},nonConsentEvent:function(){return je},noopLogger:function(){return Pe},partialConsent:function(){return ye},partialConsentMapped:function(){return Oe},serviceLevelConsent:function(){return we},serviceLevelMapped:function(){return xe},sourceUsercentrics:function(){return nn},step:function(){return De},trigger:function(){return en}});var de=["action","event","type","ucCategory"],_e="UC_UI_CMP_EVENT",ve=new Set(["ACCEPT_ALL","DENY_ALL","SAVE"]),ge={},pe={event:"consent_status",type:"explicit",action:"onAcceptAllServices",ucCategory:{essential:!0,functional:!0,marketing:!0},"Google Analytics":!0,"Google Ads Remarketing":!0},ye={event:"consent_status",type:"explicit",action:"onUpdateServices",ucCategory:{essential:!0,functional:!0,marketing:!1},"Google Analytics":!0,"Google Ads Remarketing":!1},be={event:"consent_status",type:"explicit",action:"onDenyAllServices",ucCategory:{essential:!0,functional:!1,marketing:!1},"Google Analytics":!1,"Google Ads Remarketing":!1},he={event:"consent_status",type:"implicit",ucCategory:{essential:!0,functional:!1,marketing:!1},"Google Analytics":!1,"Google Ads Remarketing":!1},me={event:"consent_status",type:"EXPLICIT",action:"onAcceptAllServices",ucCategory:{essential:!0,functional:!0,marketing:!0}},we={event:"consent_status",type:"explicit",action:"onUpdateServices",ucCategory:{essential:!0,functional:"partial",marketing:"partial"},"Google Analytics":!0,"Google Ads Remarketing":!1,Hotjar:!0},je={event:"other_event",type:"explicit"},ke={essential:!0,functional:!0,marketing:!0},Oe={essential:!0,functional:!0,marketing:!1},Se={essential:!0,functional:!1,marketing:!1},Ce={functional:!0,marketing:!0},xe={essential:!0,google_analytics:!0,google_ads_remarketing:!1,hotjar:!0},Ae=function(){},Ee=function(){return function(){return Promise.resolve({ok:!0})}},Pe={error:Ae,warn:Ae,info:Ae,debug:Ae,throw:function(e){throw"string"==typeof e?new Error(e):e},json:Ae,scope:function(){return Pe}},De={};le(De,{categoryMapOverride:function(){return qe},customEventName:function(){return Ne},fullConsent:function(){return Ie},minimalConsent:function(){return Me}});var Ie={title:"Full consent",description:"A Usercentrics onAcceptAllServices event emits a walker consent command with essential, functional, and marketing granted.",trigger:{type:"consent"},in:{event:"consent_status",type:"explicit",action:"onAcceptAllServices",ucCategory:{essential:!0,functional:!0,marketing:!0}},out:[["elb","walker consent",{essential:!0,functional:!0,marketing:!0}]]},Me={title:"Minimal consent",description:"A Usercentrics onDenyAllServices event emits a walker consent command with only essential granted.",trigger:{type:"consent"},in:{event:"consent_status",type:"explicit",action:"onDenyAllServices",ucCategory:{essential:!0,functional:!1,marketing:!1}},out:[["elb","walker consent",{essential:!0,functional:!1,marketing:!1}]]},qe={title:"Category map override",description:"Custom categoryMap remaps essential to functional and functional to analytics",trigger:{type:"consent"},in:{event:"consent_status",type:"explicit",ucCategory:{essential:!0,functional:!0,marketing:!1}},mapping:{categoryMap:{essential:"functional",functional:"analytics"}},out:[["elb","walker consent",{functional:!0,analytics:!0,marketing:!1}]]},Ne={title:"Custom event name",description:"Using UC_SDK_EVENT instead of ucEvent for Usercentrics SDK v2",trigger:{type:"consent",options:{eventName:"UC_SDK_EVENT"}},in:{event:"consent_status",type:"explicit",ucCategory:{essential:!0,functional:!0,marketing:!0}},mapping:{eventName:"UC_SDK_EVENT"},out:[["elb","walker consent",{essential:!0,functional:!0,marketing:!0}]]},Te=Object.defineProperty;!function(e,n){for(var t in n)Te(e,t,{get:n[t],enumerable:!0})}({},{Level:function(){return Re}});var Ue,Re=((Ue=Re||{})[Ue.ERROR=0]="ERROR",Ue[Ue.WARN=1]="WARN",Ue[Ue.INFO=2]="INFO",Ue[Ue.DEBUG=3]="DEBUG",Ue),Ge={merge:!0,shallow:!0,extend:!0};function Le(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new WeakMap;if("object"!=(void 0===e?"undefined":_type_of(e))||null===e)return e;if(n.has(e))return n.get(e);var t=Object.prototype.toString.call(e);if("[object Object]"===t){var r={};for(var o in n.set(e,r),e)Object.prototype.hasOwnProperty.call(e,o)&&(r[o]=Le(e[o],n));return r}if("[object Array]"===t){var a=[];return n.set(e,a),e.forEach(function(e){a.push(Le(e,n))}),a}if("[object Date]"===t)return new Date(e.getTime());if("[object RegExp]"===t){var s=e;return new RegExp(s.source,s.flags)}return e}function He(e){for(var n=arguments.length>2?arguments[2]:void 0,t=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:"").split("."),r=e,o=0;o<t.length;o++){var a=t[o];if("*"===a&&i(r)){var s=t.slice(o+1).join("."),u=[],l=!0,f=!1,d=void 0;try{for(var _,v=r[Symbol.iterator]();!(l=(_=v.next()).done);l=!0){var g=He(_.value,s,n);u.push(g)}}catch(e){f=!0,d=e}finally{try{l||null==v.return||v.return()}finally{if(f)throw d}}return u}if(void 0===(r=_instanceof(r,Object)?r[a]:void 0))break}return c(r)?r:n}var Ke={data:function(e){return e.data},globals:function(e){return e.globals},context:function(e){return e.context},user:function(e){return e.user},source:function(e){return e.source},event:function(e){return{entity:e.entity,action:e.action,id:e.id,timestamp:e.timestamp,name:e.name,trigger:e.trigger,timing:e.timing}}},Ve=function(e,n,t,r){var o="".concat(Re[e]).concat(r.length>0?" [".concat(r.join(":"),"]"):""),a=Object.keys(t).length>0,s=0===e?console.error:1===e?console.warn:console.log;a?s(o,n,t):s(o,n)};function Be(e){var n=e.level,t=e.handler,r=e.jsonHandler,o=e.scope,a=function(e,r,a){if(e<=n){var s=y(r,a);t?t(e,s.message,s.context,o,Ve):Ve(e,s.message,s.context,o)}};return{error:function(e,n){return a(0,e,n)},warn:function(e,n){return a(1,e,n)},info:function(e,n){return a(2,e,n)},debug:function(e,n){return a(3,e,n)},throw:function(e,n){var r=y(e,n);throw t?t(0,r.message,r.context,o,Ve):Ve(0,r.message,r.context,o),new Error(r.message)},json:function(e){r?r(e):console.log(JSON.stringify(e,null,2))},scope:function(e){return Be({level:n,handler:t,jsonHandler:r,scope:_to_consumable_array(o).concat([e])})}}}function We(e){return function(e){return"boolean"==typeof e}(e)||f(e)||function(e){return"number"==typeof e&&!Number.isNaN(e)}(e)||!c(e)||i(e)&&e.every(We)||l(e)&&Object.values(e).every(We)}function Fe(e,n){return _async_to_generator(function(e,n){var t,r,o,a=arguments;return _ts_generator(this,function(s){return r=(t=a.length>2&&void 0!==a[2]?a[2]:{}).collector,o=t.consent,[2,(i(n)?n:[n]).reduce(function(n,a){return _async_to_generator(function(){var s,u,l,d,v,g,p,y,b,m,j,O,S,C,x,A,E,P,D,I,M;return _ts_generator(this,function(q){switch(q.label){case 0:return[4,n];case 1:return(s=q.sent())?[2,s]:(u=f(a)?{key:a}:a,Object.keys(u).length?(l=u.condition,d=u.consent,v=u.fn,g=u.key,p=u.loop,y=u.map,b=u.set,m=u.validate,j=u.value,(O=l)?[4,w(l)(e,a,r)]:[3,3]):[2]);case 2:O=!q.sent(),q.label=3;case 3:return O?[2]:d&&!_(d,o)?[2,j]:(S=c(j)?j:e,v?[4,w(v)(e,a,t)]:[3,5]);case 4:S=q.sent(),q.label=5;case 5:return g&&(S=He(e,g,j)),p?(C=_sliced_to_array(p,2),x=C[0],A=C[1],"this"!==x?[3,6]:(P=[e],[3,8])):[3,11];case 6:return[4,k(e,x,t)];case 7:P=q.sent(),q.label=8;case 8:return i(E=P)?[4,Promise.all(E.map(function(e){return k(e,A,t)}))]:[3,10];case 9:S=q.sent().filter(c),q.label=10;case 10:return[3,17];case 11:return y?[4,Object.entries(y).reduce(function(n,r){var o=_sliced_to_array(r,2),a=o[0],s=o[1];return _async_to_generator(function(){var r,o;return _ts_generator(this,function(i){switch(i.label){case 0:return[4,n];case 1:return r=i.sent(),[4,k(e,s,t)];case 2:return o=i.sent(),[2,(c(o)&&(r[a]=o),r)]}})})()},Promise.resolve({}))]:[3,13];case 12:return S=q.sent(),[3,16];case 13:return(D=b)?[4,Promise.all(b.map(function(n){return Fe(e,n,t)}))]:[3,15];case 14:D=S=q.sent(),q.label=15;case 15:q.label=16;case 16:q.label=17;case 17:return(I=m)?[4,w(m)(S)]:[3,19];case 18:I=!q.sent(),q.label=19;case 19:return I&&(S=void 0),M=h(S),[2,c(M)?M:h(j)]}})})()},Promise.resolve(void 0))]})}).apply(this,arguments)}function ze(e){if("*"===e)return function(){return!0};if("and"in e){var n=e.and.map(ze);return function(e){return n.every(function(n){return n(e)})}}if("or"in e){var t=e.or.map(ze);return function(e){return t.some(function(n){return n(e)})}}return function(e){var n=e.key,t=e.operator,r=e.value,o=e.not,a=function(e,n){switch(e){case"eq":return function(e){return String(null!=e?e:"")===n};case"contains":return function(e){return String(null!=e?e:"").includes(n)};case"prefix":return function(e){return String(null!=e?e:"").startsWith(n)};case"suffix":return function(e){return String(null!=e?e:"").endsWith(n)};case"regex":var t=new RegExp(n);return function(e){return t.test(String(null!=e?e:""))};case"gt":var r=Number(n);return function(e){return Number(e)>r};case"lt":var o=Number(n);return function(e){return Number(e)<o};case"exists":return function(e){return null!=e}}}(t,r);return function(e){var t=He(e,n),r=a(t);return o?!r:r}}(e)}function Je(e){if(null!=e){if("string"==typeof e)return{type:"static",value:e};if(Array.isArray(e)){if(0===e.length)return;return C(e)?{type:"routes",routes:e.map(function(e){return{match:ze(e.match),next:Je(e.next)}})}:{type:"chain",value:e}}}}function Xe(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(e){if("static"===e.type)return e.value;if("chain"===e.type)return e.value;var t=!0,r=!1,o=void 0;try{for(var a,s=e.routes[Symbol.iterator]();!(t=(a=s.next()).done);t=!0){var i=a.value;if(i.match(n))return Xe(i.next,n)}}catch(e){r=!0,o=e}finally{try{t||null==s.return||s.return()}finally{if(r)throw o}}}}var Ye={Commands:{Action:"action",Actions:"actions",Config:"config",Consent:"consent",Context:"context",Custom:"custom",Destination:"destination",Elb:"elb",Globals:"globals",Hook:"hook",Init:"init",Link:"link",On:"on",Prefix:"data-elb",Ready:"ready",Run:"run",Session:"session",Shutdown:"shutdown",User:"user",Walker:"walker"},Utils:{Storage:{Cookie:"cookie",Local:"local",Session:"session"}}};function $e(e,n,t,r,o,s,i){return _async_to_generator(function(){var c,u,l,f,d,_,v,g,p,y;return _ts_generator(this,function(b){switch(b.label){case 0:i&&(null==o?void 0:o._meta)&&(o._meta.chainPath=i),c=r,u=s,l=!0,f=!1,d=void 0,b.label=1;case 1:b.trys.push([1,6,7,8]),_=function(){var r,s,l,f,d,_,v,p,y,b,h,m,j,k,O,S,D,q,R,G,L,H,K,V,B,W,F,z,J,X,Y,$,Q,Z,ee,ne,te,re,oe,ae,se;return _ts_generator(this,function(ie){switch(ie.label){case 0:return r=g.value,(v=n[r])?o&&o._meta&&o._meta.path.length>256?[2,{v:(e.logger.error("Max path length exceeded at ".concat(r)),{event:null,respond:u})}]:(o&&o._meta&&(o._meta.hops++,o._meta.path.push(r)),[4,w(T)(e,v,r)]):(e.logger.warn("Transformer not found: ".concat(r)),[2,"continue"]);case 1:if(!ie.sent())return[2,{v:(e.logger.error("Transformer init failed: ".concat(r)),{event:null,respond:u})}];if(i&&void 0!==(null===(l=v.config)||void 0===l||null===(s=l.chainMocks)||void 0===s?void 0:s[i]))return p=v.config.chainMocks[i],e.logger.scope("transformer:".concat(v.type||"unknown")).debug("chainMock",{chain:i}),c=p,[2,"continue"];if(void 0!==(null===(f=v.config)||void 0===f?void 0:f.mock))return e.logger.scope("transformer:".concat(v.type||"unknown")).debug("mock"),c=v.config.mock,[2,"continue"];if(null===(d=v.config)||void 0===d?void 0:d.disabled)return[2,"continue"];if(y=null===(_=v.config)||void 0===_?void 0:_.cache,b=y?A(y):void 0,h=b?I(b,e):void 0,m=void 0,b&&h){if(j=x(o,c),"HIT"===(null==(k=E(b,h,j,"t:".concat(r)))?void 0:k.status)&&k.value)return c=k.value,b.full?[2,{v:{event:c,respond:u}}]:[2,"continue"];"MISS"===(null==k?void 0:k.status)&&(m={key:k.key,ttl:k.rule.ttl})}return(O=v.config.before)&&(S=N("string"==typeof O||Array.isArray(O)&&!C(O)?O:Xe(Je(O),x(o,c))||void 0,M(n))).length>0?[4,$e(e,n,S,c,o,u,i)]:[3,3];case 2:if(null===(q=ie.sent()).event)return[2,{v:{event:null,respond:null!==(D=q.respond)&&void 0!==D?D:u}}];q.respond&&(u=q.respond),c=Array.isArray(q.event)?q.event[0]:q.event,ie.label=3;case 3:return[4,w(U,function(n){return e.logger.scope("transformer:".concat(v.type||"unknown")).error("Push failed",{error:n}),!1})(e,v,r,c,o,u)];case 4:return!1===(R=ie.sent())?[2,{v:{event:null,respond:u}}]:Array.isArray(R)?(G=t.slice(t.indexOf(r)+1),[4,Promise.all(R.map(function(t){return _async_to_generator(function(){var r,s,l,f,d;return _ts_generator(this,function(_){return r=t.event||c,s=o?_object_spread_props(_object_spread({},o),{_meta:_object_spread_props(_object_spread({},o._meta),{path:_to_consumable_array(o._meta.path)})}):a("unknown"),t.next?(l=t.next,C(t.next)&&(f=Je(t.next),l=Xe(f,x(s,r))),l&&(d=N(l,M(n))).length>0?[2,$e(e,n,d,r,s,u,i)]:[2,{event:r,respond:u}]):[2,G.length>0?$e(e,n,G,r,s,u,i):{event:r,respond:u}]})})()}))]):[3,6];case 5:L=ie.sent(),H=u,K=[],V=!0,B=!1,W=void 0;try{for(F=L.flat()[Symbol.iterator]();!(V=(z=F.next()).done);V=!0)if(null!==(J=z.value))if(J&&"object"==(void 0===J?"undefined":_type_of(J))&&"event"in J){if((Y=J).respond&&(H=Y.respond),null===Y.event)continue;Array.isArray(Y.event)?(X=K).push.apply(X,_to_consumable_array(Y.event)):K.push(Y.event)}else K.push(J)}catch(e){B=!0,W=e}finally{try{V||null==F.return||F.return()}finally{if(B)throw W}}return[2,{v:0===K.length?{event:null,respond:H}:1===K.length?{event:K[0],respond:H}:{event:K,respond:H}}];case 6:if(R&&"object"==(void 0===R?"undefined":_type_of(R))){if($=R.event,Q=R.respond,Z=R.next,Q&&(u=Q),Z)return ee=Z,!C(Z)||(ne=Je(Z),ee=Xe(ne,x(o,c)))?[2,{v:(te=N(ee,M(n))).length>0?$e(e,n,te,$||c,o,u,i):(e.logger.warn("Branch target not found: ".concat(JSON.stringify(Z))),{event:null,respond:u})}]:($&&(c=$),[2,"continue"]);$&&(c=$)}return m&&h&&P(h,m.key,c,m.ttl),(!R||"object"==(void 0===R?"undefined":_type_of(R))&&!R.next)&&v.config.next&&C(v.config.next)?(re=v.config.next,oe=Je(re),(ae=Xe(oe,x(o,c)))&&(se=N(ae,M(n))).length>0?[2,{v:$e(e,n,se,c,o,u,i)}]:[2,{v:{event:c,respond:u}}]):[2]}})},v=t[Symbol.iterator](),b.label=2;case 2:return(l=(g=v.next()).done)?[3,5]:[5,_ts_values(_())];case 3:if("object"===_type_of(p=b.sent()))return[2,p.v];b.label=4;case 4:return l=!0,[3,2];case 5:return[3,8];case 6:return y=b.sent(),f=!0,d=y,[3,8];case 7:try{l||null==v.return||v.return()}finally{if(f)throw d}return[7];case 8:return[2,{event:c,respond:u}]}})})()}var Qe,Ze=function(e){return _async_to_generator(function(){var n,t;return _ts_generator(this,function(r){return t=function(t,r){return function(t){return _async_to_generator(function(){var o,a,s;return _ts_generator(this,function(i){switch(i.label){case 0:return n?[3,2]:[4,ae(_object_spread_props(_object_spread({},e),{run:null===(o=e.run)||void 0===o||o}))];case 1:a=i.sent(),n={collector:a.collector,elb:a.elb},i.label=2;case 2:return s=(null==r?void 0:r.eventName)||"ucEvent",window.dispatchEvent(new CustomEvent(s,{detail:t})),[2]}})})()}},[2,{get flow(){return n},trigger:t}]})})()},en=function(e,n){if(e&&"object"===(void 0===e?"undefined":_type_of(e)))return function(){n.window.dispatchEvent(new CustomEvent("ucEvent",{detail:e}))}},nn=function(e){return _async_to_generator(function(){var n,t,a,s,i,c,u,l,f,d,_,v,g,p,y,b,h,m,w,j,k,O,S,C,x;return _ts_generator(this,function(A){switch(A.label){case 0:return v=e.config,g=e.env,p=g.elb,y=g.logger,b=null!==(n=g.window)&&void 0!==n?n:void 0!==globalThis.window?globalThis.window:void 0,h={eventName:null!==(t=null==v||null===(u=v.settings)||void 0===u?void 0:u.eventName)&&void 0!==t?t:"ucEvent",categoryMap:null!==(a=null==v||null===(l=v.settings)||void 0===l?void 0:l.categoryMap)&&void 0!==a?a:{},explicitOnly:null===(s=null==v||null===(f=v.settings)||void 0===f?void 0:f.explicitOnly)||void 0===s||s,apiVersion:null!==(i=null==v||null===(d=v.settings)||void 0===d?void 0:d.apiVersion)&&void 0!==i?i:"auto",v3EventName:null!==(c=null==v||null===(_=v.settings)||void 0===_?void 0:_.v3EventName)&&void 0!==c?c:"UC_UI_CMP_EVENT"},m={settings:h},w=[],b?(k={window:b,elb:p,settings:h,logger:y},"v2"!==(O=null!==(j=h.apiVersion)&&void 0!==j?j:"auto")?[3,1]:(w.push(r(k)),[3,8])):[3,8];case 1:return"v3"!==O?[3,3]:(S=w.push,[4,o(k)]);case 2:return S.apply(w,[A.sent()]),[3,8];case 3:return b.__ucCmp?(C=w.push,[4,o(k)]):[3,5];case 4:return C.apply(w,[A.sent()]),[3,8];case 5:return b.UC_UI?(w.push(r(k)),[3,8]):[3,6];case 6:return w.push(r(k)),x=w.push,[4,o(k)];case 7:x.apply(w,[A.sent()]),A.label=8;case 8:return[2,{type:"usercentrics",config:m,push:p,destroy:function(){return _async_to_generator(function(){return _ts_generator(this,function(e){return w.forEach(function(e){return e()}),[2]})})()}}]}})})()},tn=nn;return Qe=fe,function(e,n,t,r){if(n&&"object"===(void 0===n?"undefined":_type_of(n))||"function"==typeof n){var o=!0,a=!1,s=void 0;try{for(var i,c=function(){var o=i.value;ue.call(e,o)||o===t||se(e,o,{get:function(){return n[o]},enumerable:!(r=ie(n,o))||r.enumerable})},u=ce(n)[Symbol.iterator]();!(o=(i=u.next()).done);o=!0)c()}catch(e){a=!0,s=e}finally{try{o||null==u.return||u.return()}finally{if(a)throw s}}}return e}(se({},"__esModule",{value:!0}),Qe)}();
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/lib/parseConsent.ts","../src/lib/v2.ts","../src/lib/v3.ts","../src/types/index.ts","../src/examples/inputs.ts","../src/examples/outputs.ts","../src/examples/env.ts","../src/examples/step.ts","../src/examples/trigger.ts"],"sourcesContent":["import type { Source } from '@walkeros/core';\nimport type { Types, Settings } from './types';\nimport { setupV2Adapter } from './lib/v2';\nimport { setupV3Adapter } from './lib/v3';\n\n// Export types for external usage\nexport * as SourceUsercentrics from './types';\n\n// Export examples\nexport * from './examples';\n\n/**\n * Usercentrics consent management source for walkerOS.\n *\n * Listens to Usercentrics CMP events and translates consent states to\n * walkerOS consent commands. Supports both the legacy V2 API\n * (`window.UC_UI` + `ucEvent`) and the current V3 API\n * (`window.__ucCmp` + `UC_UI_CMP_EVENT`).\n *\n * @example\n * ```typescript\n * import { sourceUsercentrics } from '@walkeros/web-source-cmp-usercentrics';\n *\n * await startFlow({\n * sources: {\n * consent: {\n * code: sourceUsercentrics,\n * config: {\n * settings: {\n * eventName: 'ucEvent',\n * categoryMap: {\n * essential: 'functional',\n * functional: 'functional',\n * marketing: 'marketing',\n * },\n * },\n * },\n * },\n * },\n * });\n * ```\n */\nexport const sourceUsercentrics: Source.Init<Types> = async (context) => {\n const { config, env } = context;\n const { elb, logger } = env;\n\n // Resolve window with fallback to globalThis\n const actualWindow =\n env.window ??\n (typeof globalThis.window !== 'undefined' ? globalThis.window : undefined);\n\n // Merge user settings with defaults so adapters always see a fully-resolved Settings\n const settings: Settings = {\n eventName: config?.settings?.eventName ?? 'ucEvent',\n categoryMap: config?.settings?.categoryMap ?? {},\n explicitOnly: config?.settings?.explicitOnly ?? true,\n apiVersion: config?.settings?.apiVersion ?? 'auto',\n v3EventName: config?.settings?.v3EventName ?? 'UC_UI_CMP_EVENT',\n };\n\n const fullConfig: Source.Config<Types> = { settings };\n const cleanups: Array<() => void> = [];\n\n if (actualWindow) {\n const adapterCtx = { window: actualWindow, elb, settings, logger };\n const apiVersion = settings.apiVersion ?? 'auto';\n\n if (apiVersion === 'v2') {\n cleanups.push(setupV2Adapter(adapterCtx));\n } else if (apiVersion === 'v3') {\n cleanups.push(await setupV3Adapter(adapterCtx));\n } else {\n // auto: detect which API is present\n if (actualWindow.__ucCmp) {\n cleanups.push(await setupV3Adapter(adapterCtx));\n } else if (actualWindow.UC_UI) {\n cleanups.push(setupV2Adapter(adapterCtx));\n } else {\n // Neither loaded yet — attach both listeners so whichever loads later is caught.\n cleanups.push(setupV2Adapter(adapterCtx));\n cleanups.push(await setupV3Adapter(adapterCtx));\n }\n }\n }\n\n return {\n type: 'usercentrics',\n config: fullConfig,\n push: elb,\n destroy: async () => {\n cleanups.forEach((fn) => fn());\n },\n };\n};\n\nexport default sourceUsercentrics;\n","import type { WalkerOS } from '@walkeros/core';\nimport type { UsercentricsEventDetail, Settings } from '../types';\n\n/** Reserved keys in event.detail that are not service names */\nexport const RESERVED_KEYS = ['action', 'event', 'type', 'ucCategory'];\n\n/**\n * Determine if ucCategory represents group-level consent.\n * Group-level: all values are booleans.\n * Service-level: some values are non-boolean (e.g., 'partial').\n */\nexport function isGroupLevel(\n ucCategory: Record<string, boolean | unknown>,\n): boolean {\n return Object.values(ucCategory).every((val) => typeof val === 'boolean');\n}\n\n/**\n * Merge an incoming consent signal into the accumulating state using strict\n * AND semantics: absent key initialises from the incoming value; present key\n * becomes `true` only if both existing and incoming are `true`. Any single\n * `false` anywhere in the merge chain revokes consent for that key.\n *\n * This matches the consent rule of thumb: any deny signal denies. Permissive\n * (OR) and \"last-wins\" semantics are both unsafe for a privacy primitive.\n */\nfunction mergeConsent(\n state: WalkerOS.Consent,\n key: string,\n value: boolean,\n): void {\n state[key] = state[key] === undefined ? value : Boolean(state[key]) && value;\n}\n\n/**\n * Parse consent from Usercentrics event detail.\n *\n * Group-level: ucCategory values are all booleans → use them directly.\n * Service-level: ucCategory has non-booleans → mix boolean ucCategory entries\n * with top-level service keys from event.detail.\n *\n * categoryMap is applied in both modes to ucCategory boolean entries.\n * Strict AND: if multiple source categories map to the same target group,\n * the target is `true` only when ALL contributing sources are `true`.\n */\nexport function parseConsent(\n detail: UsercentricsEventDetail,\n settings: Settings,\n): WalkerOS.Consent {\n const state: WalkerOS.Consent = {};\n\n if (detail.ucCategory && isGroupLevel(detail.ucCategory)) {\n Object.entries(detail.ucCategory).forEach(([category, value]) => {\n if (typeof value !== 'boolean') return;\n const mapped = settings.categoryMap?.[category] ?? category;\n mergeConsent(state, mapped, value);\n });\n } else {\n if (detail.ucCategory) {\n Object.entries(detail.ucCategory).forEach(([key, value]) => {\n if (typeof value === 'boolean') {\n const mapped = settings.categoryMap?.[key] ?? key;\n mergeConsent(state, mapped, value);\n }\n });\n }\n\n Object.entries(detail).forEach(([key, value]) => {\n if (RESERVED_KEYS.includes(key)) return;\n if (typeof value !== 'boolean') return;\n const normalized = key.toLowerCase().replace(/ /g, '_');\n mergeConsent(state, normalized, value);\n });\n }\n\n return state;\n}\n","import type { Elb, Logger } from '@walkeros/core';\nimport type {\n Settings,\n UsercentricsEventDetail,\n UsercentricsV2Service,\n} from '../types';\nimport { parseConsent } from './parseConsent';\n\nexport interface V2AdapterContext {\n window: Window & typeof globalThis;\n elb: Elb.Fn;\n settings: Settings;\n logger: Logger.Instance;\n}\n\n/**\n * Aggregate V2 service array into a group-level ucCategory object using strict\n * AND logic. A category is `true` only if EVERY service in that category is\n * accepted. Any single denied service denies the whole category — this\n * matches the consent rule of thumb: any deny signal denies.\n */\nfunction aggregateByCategory(\n services: UsercentricsV2Service[],\n): Record<string, boolean> {\n const categories: Record<string, boolean> = {};\n services.forEach((service) => {\n const category = service.categorySlug;\n const status = service.consent?.status ?? false;\n categories[category] =\n categories[category] === undefined\n ? status\n : categories[category] && status;\n });\n return categories;\n}\n\n/**\n * Build a synthetic UsercentricsEventDetail from the V2 static API.\n * Marked as 'implicit' because UC_UI.isInitialized() === true does NOT prove\n * the read was user-initiated — it only proves the SDK has finished loading.\n * With settings.explicitOnly = true (the default), consumers correctly drop\n * this detail. Set explicitOnly = false to surface the static snapshot.\n */\nfunction buildDetailFromStatic(\n services: UsercentricsV2Service[],\n): UsercentricsEventDetail {\n return {\n event: 'consent_status',\n type: 'implicit',\n ucCategory: aggregateByCategory(services),\n };\n}\n\n/**\n * Set up the V2 adapter: listens on the configured event AND performs a\n * static read if UC_UI is already initialized.\n *\n * Returns a cleanup function that removes the event listener.\n */\nexport function setupV2Adapter(ctx: V2AdapterContext): () => void {\n const { window: win, elb, settings, logger } = ctx;\n const eventName = settings.eventName ?? 'ucEvent';\n\n const handleDetail = (detail: UsercentricsEventDetail) => {\n logger.debug('event received', detail);\n\n if (detail.event !== 'consent_status') return;\n if (settings.explicitOnly && detail.type?.toLowerCase() !== 'explicit')\n return;\n\n const state = parseConsent(detail, settings);\n if (Object.keys(state).length > 0) {\n elb('walker consent', state);\n }\n };\n\n const listener = (e: Event) => {\n const custom = e as CustomEvent<UsercentricsEventDetail>;\n if (custom.detail) handleDetail(custom.detail);\n };\n win.addEventListener(eventName, listener);\n\n // Static check: if UC_UI is already initialized, read current consent now.\n const api = win.UC_UI;\n if (api?.isInitialized?.() && api.getServicesBaseInfo) {\n const services = api.getServicesBaseInfo();\n if (services.length > 0) {\n handleDetail(buildDetailFromStatic(services));\n }\n }\n\n return () => {\n win.removeEventListener(eventName, listener);\n };\n}\n","import type { Elb, Logger } from '@walkeros/core';\nimport type {\n Settings,\n UsercentricsEventDetail,\n UsercentricsV3Api,\n UsercentricsV3CategoryState,\n UsercentricsV3CmpEventDetail,\n UsercentricsV3ConsentDetails,\n} from '../types';\nimport { parseConsent } from './parseConsent';\n\nexport interface V3AdapterContext {\n window: Window & typeof globalThis;\n elb: Elb.Fn;\n settings: Settings;\n logger: Logger.Instance;\n}\n\nconst V3_DEFAULT_EVENT_NAME = 'UC_UI_CMP_EVENT';\n\n/**\n * V3 CMP event types that represent a user consent decision. Presentation\n * events like `CMP_SHOWN` or `UI_INITIALIZED` must NOT trigger a consent\n * publish — they carry no user decision.\n */\nconst V3_DECISION_TYPES: ReadonlySet<string> = new Set([\n 'ACCEPT_ALL',\n 'DENY_ALL',\n 'SAVE',\n]);\n\n/**\n * Map a V3 CategoryData.state value to a walkerOS boolean using strict\n * semantics: only fully-accepted categories are `true`. Any partial or\n * denied state (including future/unknown states) resolves to `false`.\n *\n * This matches the consent rule of thumb: any deny signal denies.\n */\nfunction categoryStateToBoolean(state: UsercentricsV3CategoryState): boolean {\n return state === 'ALL_ACCEPTED';\n}\n\n/**\n * Build a synthetic UsercentricsEventDetail from V3 ConsentDetails.\n * Translates V3's structured consent state into the shape parseConsent expects.\n */\nfunction buildDetailFromV3(\n details: UsercentricsV3ConsentDetails,\n): UsercentricsEventDetail {\n const ucCategory: Record<string, boolean> = {};\n Object.entries(details.categories).forEach(([slug, category]) => {\n ucCategory[slug] = categoryStateToBoolean(category.state);\n });\n\n return {\n event: 'consent_status',\n type: details.consent.type === 'EXPLICIT' ? 'explicit' : 'implicit',\n ucCategory,\n };\n}\n\n/**\n * Set up the V3 adapter: registers a listener on the V3 consent event AND\n * (if __ucCmp is already initialized) performs a static read.\n *\n * Both paths re-fetch getConsentDetails() because the event payload does\n * not include consent state.\n *\n * Returns a cleanup function that removes the event listener.\n */\nexport async function setupV3Adapter(\n ctx: V3AdapterContext,\n): Promise<() => void> {\n const { window: win, elb, settings, logger } = ctx;\n const eventName = settings.v3EventName ?? V3_DEFAULT_EVENT_NAME;\n\n const publishConsent = async (cmp: UsercentricsV3Api): Promise<void> => {\n const details = await cmp.getConsentDetails();\n const detail = buildDetailFromV3(details);\n logger.debug('event received', detail);\n\n if (settings.explicitOnly && detail.type !== 'explicit') return;\n\n const state = parseConsent(detail, settings);\n if (Object.keys(state).length > 0) {\n elb('walker consent', state);\n }\n };\n\n const listener = (event: Event): void => {\n const cmp = win.__ucCmp;\n if (!cmp) return;\n const custom = event as CustomEvent<UsercentricsV3CmpEventDetail>;\n const detail = custom.detail;\n // Filter to decision events only: the CMP emits a broad set of events\n // (CMP_SHOWN, UI_INITIALIZED, VIEW_CHANGED, …) on this bus. Without\n // filtering, every view toggle would re-publish consent.\n if (!detail || detail.source !== 'CMP') return;\n if (!detail.type || !V3_DECISION_TYPES.has(detail.type)) return;\n publishConsent(cmp).catch(() => {\n // Swallow — a failed V3 fetch should not break the page.\n });\n };\n win.addEventListener(eventName, listener);\n\n // Static check: if __ucCmp is already initialized, fetch now.\n // Wrapped in try/catch so transient API failures during setup don't\n // reject setupV3Adapter() and tear down the whole flow — the listener\n // stays registered and will pick up the next real event.\n const cmp = win.__ucCmp;\n if (cmp) {\n try {\n const initialized = await cmp.isInitialized();\n if (initialized) {\n await publishConsent(cmp);\n }\n } catch (err) {\n logger.warn('v3 static consent read failed', err);\n }\n }\n\n return () => {\n win.removeEventListener(eventName, listener);\n };\n}\n","import type { Source, Elb } from '@walkeros/core';\n\n/**\n * Usercentrics consent event detail structure.\n *\n * Fired as event.detail on the configured window event (e.g. 'ucEvent').\n * Contains both category-level (ucCategory) and service-level consent.\n */\nexport interface UsercentricsEventDetail {\n /** Always 'consent_status' for consent events */\n event: string;\n /** 'explicit' when user actively chose, 'implicit' for page-load defaults (casing may vary) */\n type: string;\n /** Action taken: 'onAcceptAllServices', 'onDenyAllServices', 'onUpdateServices' */\n action?: string;\n /** Category-level consent booleans (e.g. { marketing: true, functional: false }) */\n ucCategory?: Record<string, boolean | unknown>;\n /** Service-level consent as top-level keys (e.g. 'Google Analytics': true) */\n [service: string]: unknown;\n}\n\ndeclare global {\n interface WindowEventMap {\n ucEvent: CustomEvent<UsercentricsEventDetail>;\n UC_UI_CMP_EVENT: CustomEvent<UsercentricsV3CmpEventDetail>;\n }\n}\n\n/**\n * Usercentrics V2 service info shape returned by `UC_UI.getServicesBaseInfo()`.\n * Only the fields we use are typed — minimal surface, not a full V2 API mirror.\n */\nexport interface UsercentricsV2Service {\n /** Category slug: 'essential' | 'functional' | 'marketing' | custom */\n categorySlug: string;\n /** Consent state for this service */\n consent: {\n status: boolean;\n };\n}\n\n/**\n * Usercentrics V2 window API (`window.UC_UI`).\n *\n * Methods are synchronous (unlike V3). All methods are optional because\n * Usercentrics does not guarantee every deployment exposes every method.\n */\nexport interface UsercentricsV2Api {\n isInitialized?: () => boolean;\n getServicesBaseInfo?: () => UsercentricsV2Service[];\n areAllConsentsAccepted?: () => boolean;\n}\n\n/**\n * Usercentrics V3 category state. The SDK may add future states; we handle\n * unknowns conservatively as non-accepting.\n */\nexport type UsercentricsV3CategoryState =\n | 'ALL_ACCEPTED'\n | 'ALL_DENIED'\n | 'SOME_ACCEPTED'\n | 'NO_STATE'\n | string;\n\n/**\n * Minimal V3 CategoryData — only fields the adapter reads.\n */\nexport interface UsercentricsV3CategoryData {\n state: UsercentricsV3CategoryState;\n name: string;\n}\n\n/**\n * Minimal V3 ConsentData — only the `type` field is used to distinguish\n * explicit vs implicit consent. Other fields (status, version, etc.) exist on\n * the real SDK but are not read by this adapter.\n */\nexport interface UsercentricsV3ConsentData {\n type: 'EXPLICIT' | 'IMPLICIT' | string;\n}\n\n/**\n * Minimal V3 ConsentDetails — only the fields the adapter reads.\n * The real SDK also exposes `services`, but the adapter currently operates\n * at category level only.\n */\nexport interface UsercentricsV3ConsentDetails {\n consent: UsercentricsV3ConsentData;\n categories: Record<string, UsercentricsV3CategoryData>;\n}\n\n/**\n * Usercentrics V3 window API (`window.__ucCmp`).\n *\n * Only the methods this adapter calls are typed — the real SDK surface is\n * much wider but we intentionally keep this narrow.\n */\nexport interface UsercentricsV3Api {\n isInitialized: () => Promise<boolean>;\n getConsentDetails: () => Promise<UsercentricsV3ConsentDetails>;\n}\n\n/**\n * V3 CMP event detail. Fired on `UC_UI_CMP_EVENT` (or custom name).\n * `source: 'CMP'` + a decision `type` tells us a user action has been taken.\n */\nexport interface UsercentricsV3CmpEventDetail {\n source?: string;\n type?: string;\n}\n\ndeclare global {\n interface Window {\n /**\n * Usercentrics V2 CMP API. Attached once the V2 Browser SDK is\n * initialized. Optional because the SDK loads asynchronously — guard\n * with a truthiness check before access.\n */\n UC_UI?: UsercentricsV2Api;\n /**\n * Usercentrics V3 CMP API. Attached once the V3 Browser SDK is\n * initialized. Optional because the SDK loads asynchronously — guard\n * with a truthiness check before access.\n */\n __ucCmp?: UsercentricsV3Api;\n }\n}\n\n/**\n * Settings for Usercentrics source\n */\nexport interface Settings {\n /**\n * Window event name to listen for.\n * Configured in Usercentrics admin under Implementation > Data Layer & Events.\n * Can also be set to 'UC_SDK_EVENT' for the built-in Browser SDK event.\n *\n * Default: 'ucEvent'\n */\n eventName?: string;\n\n /**\n * Map Usercentrics categories to walkerOS consent groups.\n * Keys: Usercentrics category names (from ucCategory)\n * Values: walkerOS consent group names\n *\n * Applied in both group-level and service-level consent modes.\n * When multiple source categories map to the same group, strict AND logic\n * applies: ALL contributing source categories must be true for the target\n * group to be true. Any single false denies consent.\n *\n * Default: {} (pass through category names as-is)\n */\n categoryMap?: Record<string, string>;\n\n /**\n * Only process explicit consent (user made a choice).\n * When true: Ignores events where type !== 'explicit'\n * When false: Processes any consent_status event including implicit/defaults\n *\n * Default: true\n */\n explicitOnly?: boolean;\n\n /**\n * Which Usercentrics API to target.\n * - 'auto' (default): detect at init. If `window.__ucCmp` is present, use V3.\n * If only `window.UC_UI` is present, use V2. If neither is present yet,\n * register listeners for both so late-loading CMPs are still caught.\n * - 'v2': force legacy `window.UC_UI` path.\n * - 'v3': force current `window.__ucCmp` path.\n */\n apiVersion?: 'auto' | 'v2' | 'v3';\n\n /**\n * V3 window event name to listen for consent changes.\n *\n * Usercentrics V3 hardcodes its built-in event names (`UC_UI_CMP_EVENT`,\n * `UC_UI_INITIALIZED`, `UC_UI_VIEW_CHANGED`, `UC_CONSENT`) — they cannot be\n * renamed. However, the Usercentrics admin dashboard (Implementation >\n * Data Layer & Events) lets admins configure an ADDITIONAL custom window\n * event. Use this setting to point at that custom event name if\n * configured; otherwise leave as default.\n *\n * Default: 'UC_UI_CMP_EVENT'\n */\n v3EventName?: string;\n}\n\n/**\n * User input settings (all optional)\n */\nexport type InitSettings = Partial<Settings>;\n\n/**\n * No mapping configuration for this source\n */\nexport interface Mapping {}\n\n/**\n * Push function type - uses elb for consent commands\n */\nexport type Push = Elb.Fn;\n\n/**\n * Environment interface for Usercentrics source\n */\nexport interface Env extends Source.BaseEnv {\n window?: Window & typeof globalThis;\n}\n\n/**\n * Types bundle for Usercentrics source\n */\nexport type Types = Source.Types<Settings, Mapping, Push, Env, InitSettings>;\n\n/**\n * Config type alias\n */\nexport type Config = Source.Config<Types>;\n","import type { UsercentricsEventDetail } from '../types';\n\n/**\n * Example Usercentrics consent event detail inputs.\n *\n * These represent real event.detail payloads from Usercentrics CMP.\n */\n\n/**\n * Full consent - user accepted all categories (explicit)\n */\nexport const fullConsent: UsercentricsEventDetail = {\n event: 'consent_status',\n type: 'explicit',\n action: 'onAcceptAllServices',\n ucCategory: {\n essential: true,\n functional: true,\n marketing: true,\n },\n 'Google Analytics': true,\n 'Google Ads Remarketing': true,\n};\n\n/**\n * Partial consent - user accepted only essential and functional (explicit)\n */\nexport const partialConsent: UsercentricsEventDetail = {\n event: 'consent_status',\n type: 'explicit',\n action: 'onUpdateServices',\n ucCategory: {\n essential: true,\n functional: true,\n marketing: false,\n },\n 'Google Analytics': true,\n 'Google Ads Remarketing': false,\n};\n\n/**\n * Minimal consent - user denied everything except essential (explicit)\n */\nexport const minimalConsent: UsercentricsEventDetail = {\n event: 'consent_status',\n type: 'explicit',\n action: 'onDenyAllServices',\n ucCategory: {\n essential: true,\n functional: false,\n marketing: false,\n },\n 'Google Analytics': false,\n 'Google Ads Remarketing': false,\n};\n\n/**\n * Implicit consent - page load with default consent state\n * (not an explicit user choice)\n */\nexport const implicitConsent: UsercentricsEventDetail = {\n event: 'consent_status',\n type: 'implicit',\n ucCategory: {\n essential: true,\n functional: false,\n marketing: false,\n },\n 'Google Analytics': false,\n 'Google Ads Remarketing': false,\n};\n\n/**\n * Explicit consent with uppercase type field (Usercentrics docs are\n * inconsistent about casing - some show 'EXPLICIT', others 'explicit')\n */\nexport const fullConsentUpperCase: UsercentricsEventDetail = {\n event: 'consent_status',\n type: 'EXPLICIT',\n action: 'onAcceptAllServices',\n ucCategory: {\n essential: true,\n functional: true,\n marketing: true,\n },\n};\n\n/**\n * Service-level consent - ucCategory has mixed types (non-boolean values\n * indicate individual service-level choice rather than group-level)\n */\nexport const serviceLevelConsent: UsercentricsEventDetail = {\n event: 'consent_status',\n type: 'explicit',\n action: 'onUpdateServices',\n ucCategory: {\n essential: true,\n functional: 'partial', // Non-boolean indicates mixed service choices\n marketing: 'partial',\n },\n 'Google Analytics': true,\n 'Google Ads Remarketing': false,\n Hotjar: true,\n};\n\n/**\n * Non-consent event (should be ignored)\n */\nexport const nonConsentEvent: UsercentricsEventDetail = {\n event: 'other_event',\n type: 'explicit',\n};\n","import type { WalkerOS } from '@walkeros/core';\n\n/**\n * Expected walkerOS consent outputs.\n *\n * These represent the consent state after parsing Usercentrics event details\n * with no category mapping configured (pass-through).\n */\n\n/**\n * Full consent - all categories true (group-level)\n */\nexport const fullConsentMapped: WalkerOS.Consent = {\n essential: true,\n functional: true,\n marketing: true,\n};\n\n/**\n * Partial consent - essential and functional true, marketing false\n */\nexport const partialConsentMapped: WalkerOS.Consent = {\n essential: true,\n functional: true,\n marketing: false,\n};\n\n/**\n * Minimal consent - only essential true\n */\nexport const minimalConsentMapped: WalkerOS.Consent = {\n essential: true,\n functional: false,\n marketing: false,\n};\n\n/**\n * Full consent with custom category mapping applied\n * (essential->functional, functional->functional, marketing->marketing)\n */\nexport const fullConsentCustomMapped: WalkerOS.Consent = {\n functional: true,\n marketing: true,\n};\n\n/**\n * Service-level consent - individual service booleans + boolean ucCategory entries\n * (services normalized: lowercase, spaces to underscores)\n * (ucCategory boolean entries mapped through categoryMap)\n */\nexport const serviceLevelMapped: WalkerOS.Consent = {\n essential: true,\n google_analytics: true,\n google_ads_remarketing: false,\n hotjar: true,\n};\n","import type { Elb, Logger } from '@walkeros/core';\n\n/**\n * Example environment configurations for Usercentrics source testing.\n */\n\nconst noop = () => {};\n\n/**\n * Create a properly typed elb/push function mock\n */\nexport const createMockElbFn = (): Elb.Fn => {\n const fn = (() =>\n Promise.resolve({\n ok: true,\n })) as Elb.Fn;\n return fn;\n};\n\n/**\n * Simple no-op logger for demo purposes\n */\nexport const noopLogger: Logger.Instance = {\n error: noop,\n warn: noop,\n info: noop,\n debug: noop,\n throw: (message: string | Error) => {\n throw typeof message === 'string' ? new Error(message) : message;\n },\n json: noop,\n scope: () => noopLogger,\n};\n","import type { Flow } from '@walkeros/core';\n\nexport const fullConsent: Flow.StepExample = {\n title: 'Full consent',\n description:\n 'A Usercentrics onAcceptAllServices event emits a walker consent command with essential, functional, and marketing granted.',\n trigger: { type: 'consent' },\n in: {\n event: 'consent_status',\n type: 'explicit',\n action: 'onAcceptAllServices',\n ucCategory: {\n essential: true,\n functional: true,\n marketing: true,\n },\n },\n out: [\n [\n 'elb',\n 'walker consent',\n {\n essential: true,\n functional: true,\n marketing: true,\n },\n ],\n ],\n};\n\nexport const minimalConsent: Flow.StepExample = {\n title: 'Minimal consent',\n description:\n 'A Usercentrics onDenyAllServices event emits a walker consent command with only essential granted.',\n trigger: { type: 'consent' },\n in: {\n event: 'consent_status',\n type: 'explicit',\n action: 'onDenyAllServices',\n ucCategory: {\n essential: true,\n functional: false,\n marketing: false,\n },\n },\n out: [\n [\n 'elb',\n 'walker consent',\n {\n essential: true,\n functional: false,\n marketing: false,\n },\n ],\n ],\n};\n\nexport const categoryMapOverride: Flow.StepExample = {\n title: 'Category map override',\n description:\n 'Custom categoryMap remaps essential to functional and functional to analytics',\n trigger: { type: 'consent' },\n in: {\n event: 'consent_status',\n type: 'explicit',\n ucCategory: {\n essential: true,\n functional: true,\n marketing: false,\n },\n },\n mapping: {\n categoryMap: { essential: 'functional', functional: 'analytics' },\n },\n out: [\n [\n 'elb',\n 'walker consent',\n {\n functional: true,\n analytics: true,\n marketing: false,\n },\n ],\n ],\n};\n\nexport const customEventName: Flow.StepExample = {\n title: 'Custom event name',\n description: 'Using UC_SDK_EVENT instead of ucEvent for Usercentrics SDK v2',\n trigger: { type: 'consent', options: { eventName: 'UC_SDK_EVENT' } },\n in: {\n event: 'consent_status',\n type: 'explicit',\n ucCategory: {\n essential: true,\n functional: true,\n marketing: true,\n },\n },\n mapping: { eventName: 'UC_SDK_EVENT' },\n out: [\n [\n 'elb',\n 'walker consent',\n {\n essential: true,\n functional: true,\n marketing: true,\n },\n ],\n ],\n};\n","import type { Trigger, Collector } from '@walkeros/core';\nimport { startFlow } from '@walkeros/collector';\n\ninterface UsercentricsContent {\n event: string;\n type: string;\n action?: string;\n ucCategory?: Record<string, boolean | unknown>;\n [service: string]: unknown;\n}\n\nconst createTrigger: Trigger.CreateFn<UsercentricsContent, void> = async (\n config: Collector.InitConfig,\n) => {\n let flow: Trigger.FlowHandle | undefined;\n\n const trigger: Trigger.Fn<UsercentricsContent, void> =\n (type?: string, opts?: unknown) => async (content: UsercentricsContent) => {\n // Lazy startFlow — source registers ucEvent listener during init\n if (!flow) {\n const result = await startFlow({ ...config, run: config.run ?? true });\n flow = { collector: result.collector, elb: result.elb };\n }\n\n // Dispatch the CMP event — source's listener catches it\n const eventName =\n (opts as { eventName?: string })?.eventName || 'ucEvent';\n window.dispatchEvent(new CustomEvent(eventName, { detail: content }));\n };\n\n return {\n get flow() {\n return flow;\n },\n trigger,\n };\n};\n\n/** Dispatches ucEvent CustomEvent after source init (post-init trigger). */\nconst trigger = (\n input: unknown,\n env: Record<string, unknown>,\n): void | (() => void) => {\n if (!input || typeof input !== 'object') return;\n return () => {\n (env.window as Window).dispatchEvent(\n new CustomEvent('ucEvent', { detail: input }),\n );\n };\n};\n\nexport { createTrigger, trigger };\n"],"mappings":"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","names":["_a","cmp","fullConsent","minimalConsent","trigger"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/lib/parseConsent.ts","../src/lib/v2.ts","../src/lib/v3.ts","../src/types/index.ts","../src/examples/inputs.ts","../src/examples/outputs.ts","../src/examples/env.ts","../src/examples/step.ts","../src/examples/trigger.ts"],"sourcesContent":["import type { Source } from '@walkeros/core';\nimport type { Types, Settings } from './types';\nimport { setupV2Adapter } from './lib/v2';\nimport { setupV3Adapter } from './lib/v3';\n\n// Export types for external usage\nexport * as SourceUsercentrics from './types';\n\n// Export examples\nexport * from './examples';\n\n/**\n * Usercentrics consent management source for walkerOS.\n *\n * Listens to Usercentrics CMP events and translates consent states to\n * walkerOS consent commands. Supports both the legacy V2 API\n * (`window.UC_UI` + `ucEvent`) and the current V3 API\n * (`window.__ucCmp` + `UC_UI_CMP_EVENT`).\n *\n * @example\n * ```typescript\n * import { sourceUsercentrics } from '@walkeros/web-source-cmp-usercentrics';\n *\n * await startFlow({\n * sources: {\n * consent: {\n * code: sourceUsercentrics,\n * config: {\n * settings: {\n * eventName: 'ucEvent',\n * categoryMap: {\n * essential: 'functional',\n * functional: 'functional',\n * marketing: 'marketing',\n * },\n * },\n * },\n * },\n * },\n * });\n * ```\n */\nexport const sourceUsercentrics: Source.Init<Types> = async (context) => {\n const { config, env } = context;\n const { elb, logger } = env;\n\n // Resolve window with fallback to globalThis\n const actualWindow =\n env.window ??\n (typeof globalThis.window !== 'undefined' ? globalThis.window : undefined);\n\n // Merge user settings with defaults so adapters always see a fully-resolved Settings\n const settings: Settings = {\n eventName: config?.settings?.eventName ?? 'ucEvent',\n categoryMap: config?.settings?.categoryMap ?? {},\n explicitOnly: config?.settings?.explicitOnly ?? true,\n apiVersion: config?.settings?.apiVersion ?? 'auto',\n v3EventName: config?.settings?.v3EventName ?? 'UC_UI_CMP_EVENT',\n };\n\n const fullConfig: Source.Config<Types> = { settings };\n const cleanups: Array<() => void> = [];\n\n if (actualWindow) {\n const adapterCtx = { window: actualWindow, elb, settings, logger };\n const apiVersion = settings.apiVersion ?? 'auto';\n\n if (apiVersion === 'v2') {\n cleanups.push(setupV2Adapter(adapterCtx));\n } else if (apiVersion === 'v3') {\n cleanups.push(await setupV3Adapter(adapterCtx));\n } else {\n // auto: detect which API is present\n if (actualWindow.__ucCmp) {\n cleanups.push(await setupV3Adapter(adapterCtx));\n } else if (actualWindow.UC_UI) {\n cleanups.push(setupV2Adapter(adapterCtx));\n } else {\n // Neither loaded yet — attach both listeners so whichever loads later is caught.\n cleanups.push(setupV2Adapter(adapterCtx));\n cleanups.push(await setupV3Adapter(adapterCtx));\n }\n }\n }\n\n return {\n type: 'usercentrics',\n config: fullConfig,\n push: elb,\n destroy: async () => {\n cleanups.forEach((fn) => fn());\n },\n };\n};\n\nexport default sourceUsercentrics;\n","import type { WalkerOS } from '@walkeros/core';\nimport type { UsercentricsEventDetail, Settings } from '../types';\n\n/** Reserved keys in event.detail that are not service names */\nexport const RESERVED_KEYS = ['action', 'event', 'type', 'ucCategory'];\n\n/**\n * Determine if ucCategory represents group-level consent.\n * Group-level: all values are booleans.\n * Service-level: some values are non-boolean (e.g., 'partial').\n */\nexport function isGroupLevel(\n ucCategory: Record<string, boolean | unknown>,\n): boolean {\n return Object.values(ucCategory).every((val) => typeof val === 'boolean');\n}\n\n/**\n * Merge an incoming consent signal into the accumulating state using strict\n * AND semantics: absent key initialises from the incoming value; present key\n * becomes `true` only if both existing and incoming are `true`. Any single\n * `false` anywhere in the merge chain revokes consent for that key.\n *\n * This matches the consent rule of thumb: any deny signal denies. Permissive\n * (OR) and \"last-wins\" semantics are both unsafe for a privacy primitive.\n */\nfunction mergeConsent(\n state: WalkerOS.Consent,\n key: string,\n value: boolean,\n): void {\n state[key] = state[key] === undefined ? value : Boolean(state[key]) && value;\n}\n\n/**\n * Parse consent from Usercentrics event detail.\n *\n * Group-level: ucCategory values are all booleans → use them directly.\n * Service-level: ucCategory has non-booleans → mix boolean ucCategory entries\n * with top-level service keys from event.detail.\n *\n * categoryMap is applied in both modes to ucCategory boolean entries.\n * Strict AND: if multiple source categories map to the same target group,\n * the target is `true` only when ALL contributing sources are `true`.\n */\nexport function parseConsent(\n detail: UsercentricsEventDetail,\n settings: Settings,\n): WalkerOS.Consent {\n const state: WalkerOS.Consent = {};\n\n if (detail.ucCategory && isGroupLevel(detail.ucCategory)) {\n Object.entries(detail.ucCategory).forEach(([category, value]) => {\n if (typeof value !== 'boolean') return;\n const mapped = settings.categoryMap?.[category] ?? category;\n mergeConsent(state, mapped, value);\n });\n } else {\n if (detail.ucCategory) {\n Object.entries(detail.ucCategory).forEach(([key, value]) => {\n if (typeof value === 'boolean') {\n const mapped = settings.categoryMap?.[key] ?? key;\n mergeConsent(state, mapped, value);\n }\n });\n }\n\n Object.entries(detail).forEach(([key, value]) => {\n if (RESERVED_KEYS.includes(key)) return;\n if (typeof value !== 'boolean') return;\n const normalized = key.toLowerCase().replace(/ /g, '_');\n mergeConsent(state, normalized, value);\n });\n }\n\n return state;\n}\n","import type { Elb, Logger } from '@walkeros/core';\nimport type {\n Settings,\n UsercentricsEventDetail,\n UsercentricsV2Service,\n} from '../types';\nimport { parseConsent } from './parseConsent';\n\nexport interface V2AdapterContext {\n window: Window & typeof globalThis;\n elb: Elb.Fn;\n settings: Settings;\n logger: Logger.Instance;\n}\n\n/**\n * Aggregate V2 service array into a group-level ucCategory object using strict\n * AND logic. A category is `true` only if EVERY service in that category is\n * accepted. Any single denied service denies the whole category — this\n * matches the consent rule of thumb: any deny signal denies.\n */\nfunction aggregateByCategory(\n services: UsercentricsV2Service[],\n): Record<string, boolean> {\n const categories: Record<string, boolean> = {};\n services.forEach((service) => {\n const category = service.categorySlug;\n const status = service.consent?.status ?? false;\n categories[category] =\n categories[category] === undefined\n ? status\n : categories[category] && status;\n });\n return categories;\n}\n\n/**\n * Build a synthetic UsercentricsEventDetail from the V2 static API.\n * Marked as 'implicit' because UC_UI.isInitialized() === true does NOT prove\n * the read was user-initiated — it only proves the SDK has finished loading.\n * With settings.explicitOnly = true (the default), consumers correctly drop\n * this detail. Set explicitOnly = false to surface the static snapshot.\n */\nfunction buildDetailFromStatic(\n services: UsercentricsV2Service[],\n): UsercentricsEventDetail {\n return {\n event: 'consent_status',\n type: 'implicit',\n ucCategory: aggregateByCategory(services),\n };\n}\n\n/**\n * Set up the V2 adapter: listens on the configured event AND performs a\n * static read if UC_UI is already initialized.\n *\n * Returns a cleanup function that removes the event listener.\n */\nexport function setupV2Adapter(ctx: V2AdapterContext): () => void {\n const { window: win, elb, settings, logger } = ctx;\n const eventName = settings.eventName ?? 'ucEvent';\n\n const handleDetail = (detail: UsercentricsEventDetail) => {\n logger.debug('event received', detail);\n\n if (detail.event !== 'consent_status') return;\n if (settings.explicitOnly && detail.type?.toLowerCase() !== 'explicit')\n return;\n\n const state = parseConsent(detail, settings);\n if (Object.keys(state).length > 0) {\n elb('walker consent', state);\n }\n };\n\n const listener = (e: Event) => {\n const custom = e as CustomEvent<UsercentricsEventDetail>;\n if (custom.detail) handleDetail(custom.detail);\n };\n win.addEventListener(eventName, listener);\n\n // Static check: if UC_UI is already initialized, read current consent now.\n const api = win.UC_UI;\n if (api?.isInitialized?.() && api.getServicesBaseInfo) {\n const services = api.getServicesBaseInfo();\n if (services.length > 0) {\n handleDetail(buildDetailFromStatic(services));\n }\n }\n\n return () => {\n win.removeEventListener(eventName, listener);\n };\n}\n","import type { Elb, Logger } from '@walkeros/core';\nimport type {\n Settings,\n UsercentricsEventDetail,\n UsercentricsV3Api,\n UsercentricsV3CategoryState,\n UsercentricsV3CmpEventDetail,\n UsercentricsV3ConsentDetails,\n} from '../types';\nimport { parseConsent } from './parseConsent';\n\nexport interface V3AdapterContext {\n window: Window & typeof globalThis;\n elb: Elb.Fn;\n settings: Settings;\n logger: Logger.Instance;\n}\n\nconst V3_DEFAULT_EVENT_NAME = 'UC_UI_CMP_EVENT';\n\n/**\n * V3 CMP event types that represent a user consent decision. Presentation\n * events like `CMP_SHOWN` or `UI_INITIALIZED` must NOT trigger a consent\n * publish — they carry no user decision.\n */\nconst V3_DECISION_TYPES: ReadonlySet<string> = new Set([\n 'ACCEPT_ALL',\n 'DENY_ALL',\n 'SAVE',\n]);\n\n/**\n * Map a V3 CategoryData.state value to a walkerOS boolean using strict\n * semantics: only fully-accepted categories are `true`. Any partial or\n * denied state (including future/unknown states) resolves to `false`.\n *\n * This matches the consent rule of thumb: any deny signal denies.\n */\nfunction categoryStateToBoolean(state: UsercentricsV3CategoryState): boolean {\n return state === 'ALL_ACCEPTED';\n}\n\n/**\n * Build a synthetic UsercentricsEventDetail from V3 ConsentDetails.\n * Translates V3's structured consent state into the shape parseConsent expects.\n */\nfunction buildDetailFromV3(\n details: UsercentricsV3ConsentDetails,\n): UsercentricsEventDetail {\n const ucCategory: Record<string, boolean> = {};\n Object.entries(details.categories).forEach(([slug, category]) => {\n ucCategory[slug] = categoryStateToBoolean(category.state);\n });\n\n return {\n event: 'consent_status',\n type: details.consent.type === 'EXPLICIT' ? 'explicit' : 'implicit',\n ucCategory,\n };\n}\n\n/**\n * Set up the V3 adapter: registers a listener on the V3 consent event AND\n * (if __ucCmp is already initialized) performs a static read.\n *\n * Both paths re-fetch getConsentDetails() because the event payload does\n * not include consent state.\n *\n * Returns a cleanup function that removes the event listener.\n */\nexport async function setupV3Adapter(\n ctx: V3AdapterContext,\n): Promise<() => void> {\n const { window: win, elb, settings, logger } = ctx;\n const eventName = settings.v3EventName ?? V3_DEFAULT_EVENT_NAME;\n\n const publishConsent = async (cmp: UsercentricsV3Api): Promise<void> => {\n const details = await cmp.getConsentDetails();\n const detail = buildDetailFromV3(details);\n logger.debug('event received', detail);\n\n if (settings.explicitOnly && detail.type !== 'explicit') return;\n\n const state = parseConsent(detail, settings);\n if (Object.keys(state).length > 0) {\n elb('walker consent', state);\n }\n };\n\n const listener = (event: Event): void => {\n const cmp = win.__ucCmp;\n if (!cmp) return;\n const custom = event as CustomEvent<UsercentricsV3CmpEventDetail>;\n const detail = custom.detail;\n // Filter to decision events only: the CMP emits a broad set of events\n // (CMP_SHOWN, UI_INITIALIZED, VIEW_CHANGED, …) on this bus. Without\n // filtering, every view toggle would re-publish consent.\n if (!detail || detail.source !== 'CMP') return;\n if (!detail.type || !V3_DECISION_TYPES.has(detail.type)) return;\n publishConsent(cmp).catch(() => {\n // Swallow — a failed V3 fetch should not break the page.\n });\n };\n win.addEventListener(eventName, listener);\n\n // Static check: if __ucCmp is already initialized, fetch now.\n // Wrapped in try/catch so transient API failures during setup don't\n // reject setupV3Adapter() and tear down the whole flow — the listener\n // stays registered and will pick up the next real event.\n const cmp = win.__ucCmp;\n if (cmp) {\n try {\n const initialized = await cmp.isInitialized();\n if (initialized) {\n await publishConsent(cmp);\n }\n } catch (err) {\n logger.warn('v3 static consent read failed', err);\n }\n }\n\n return () => {\n win.removeEventListener(eventName, listener);\n };\n}\n","import type { Source, Elb } from '@walkeros/core';\n\ndeclare module '@walkeros/core' {\n interface SourceMap {\n usercentrics: { type: 'usercentrics'; platform?: 'web' };\n }\n}\n\n/**\n * Usercentrics consent event detail structure.\n *\n * Fired as event.detail on the configured window event (e.g. 'ucEvent').\n * Contains both category-level (ucCategory) and service-level consent.\n */\nexport interface UsercentricsEventDetail {\n /** Always 'consent_status' for consent events */\n event: string;\n /** 'explicit' when user actively chose, 'implicit' for page-load defaults (casing may vary) */\n type: string;\n /** Action taken: 'onAcceptAllServices', 'onDenyAllServices', 'onUpdateServices' */\n action?: string;\n /** Category-level consent booleans (e.g. { marketing: true, functional: false }) */\n ucCategory?: Record<string, boolean | unknown>;\n /** Service-level consent as top-level keys (e.g. 'Google Analytics': true) */\n [service: string]: unknown;\n}\n\ndeclare global {\n interface WindowEventMap {\n ucEvent: CustomEvent<UsercentricsEventDetail>;\n UC_UI_CMP_EVENT: CustomEvent<UsercentricsV3CmpEventDetail>;\n }\n}\n\n/**\n * Usercentrics V2 service info shape returned by `UC_UI.getServicesBaseInfo()`.\n * Only the fields we use are typed - minimal surface, not a full V2 API mirror.\n */\nexport interface UsercentricsV2Service {\n /** Category slug: 'essential' | 'functional' | 'marketing' | custom */\n categorySlug: string;\n /** Consent state for this service */\n consent: {\n status: boolean;\n };\n}\n\n/**\n * Usercentrics V2 window API (`window.UC_UI`).\n *\n * Methods are synchronous (unlike V3). All methods are optional because\n * Usercentrics does not guarantee every deployment exposes every method.\n */\nexport interface UsercentricsV2Api {\n isInitialized?: () => boolean;\n getServicesBaseInfo?: () => UsercentricsV2Service[];\n areAllConsentsAccepted?: () => boolean;\n}\n\n/**\n * Usercentrics V3 category state. The SDK may add future states; we handle\n * unknowns conservatively as non-accepting.\n */\nexport type UsercentricsV3CategoryState =\n | 'ALL_ACCEPTED'\n | 'ALL_DENIED'\n | 'SOME_ACCEPTED'\n | 'NO_STATE'\n | string;\n\n/**\n * Minimal V3 CategoryData - only fields the adapter reads.\n */\nexport interface UsercentricsV3CategoryData {\n state: UsercentricsV3CategoryState;\n name: string;\n}\n\n/**\n * Minimal V3 ConsentData - only the `type` field is used to distinguish\n * explicit vs implicit consent. Other fields (status, version, etc.) exist on\n * the real SDK but are not read by this adapter.\n */\nexport interface UsercentricsV3ConsentData {\n type: 'EXPLICIT' | 'IMPLICIT' | string;\n}\n\n/**\n * Minimal V3 ConsentDetails - only the fields the adapter reads.\n * The real SDK also exposes `services`, but the adapter currently operates\n * at category level only.\n */\nexport interface UsercentricsV3ConsentDetails {\n consent: UsercentricsV3ConsentData;\n categories: Record<string, UsercentricsV3CategoryData>;\n}\n\n/**\n * Usercentrics V3 window API (`window.__ucCmp`).\n *\n * Only the methods this adapter calls are typed - the real SDK surface is\n * much wider but we intentionally keep this narrow.\n */\nexport interface UsercentricsV3Api {\n isInitialized: () => Promise<boolean>;\n getConsentDetails: () => Promise<UsercentricsV3ConsentDetails>;\n}\n\n/**\n * V3 CMP event detail. Fired on `UC_UI_CMP_EVENT` (or custom name).\n * `source: 'CMP'` + a decision `type` tells us a user action has been taken.\n */\nexport interface UsercentricsV3CmpEventDetail {\n source?: string;\n type?: string;\n}\n\ndeclare global {\n interface Window {\n /**\n * Usercentrics V2 CMP API. Attached once the V2 Browser SDK is\n * initialized. Optional because the SDK loads asynchronously - guard\n * with a truthiness check before access.\n */\n UC_UI?: UsercentricsV2Api;\n /**\n * Usercentrics V3 CMP API. Attached once the V3 Browser SDK is\n * initialized. Optional because the SDK loads asynchronously - guard\n * with a truthiness check before access.\n */\n __ucCmp?: UsercentricsV3Api;\n }\n}\n\n/**\n * Settings for Usercentrics source\n */\nexport interface Settings {\n /**\n * Window event name to listen for.\n * Configured in Usercentrics admin under Implementation > Data Layer & Events.\n * Can also be set to 'UC_SDK_EVENT' for the built-in Browser SDK event.\n *\n * Default: 'ucEvent'\n */\n eventName?: string;\n\n /**\n * Map Usercentrics categories to walkerOS consent groups.\n * Keys: Usercentrics category names (from ucCategory)\n * Values: walkerOS consent group names\n *\n * Applied in both group-level and service-level consent modes.\n * When multiple source categories map to the same group, strict AND logic\n * applies: ALL contributing source categories must be true for the target\n * group to be true. Any single false denies consent.\n *\n * Default: {} (pass through category names as-is)\n */\n categoryMap?: Record<string, string>;\n\n /**\n * Only process explicit consent (user made a choice).\n * When true: Ignores events where type !== 'explicit'\n * When false: Processes any consent_status event including implicit/defaults\n *\n * Default: true\n */\n explicitOnly?: boolean;\n\n /**\n * Which Usercentrics API to target.\n * - 'auto' (default): detect at init. If `window.__ucCmp` is present, use V3.\n * If only `window.UC_UI` is present, use V2. If neither is present yet,\n * register listeners for both so late-loading CMPs are still caught.\n * - 'v2': force legacy `window.UC_UI` path.\n * - 'v3': force current `window.__ucCmp` path.\n */\n apiVersion?: 'auto' | 'v2' | 'v3';\n\n /**\n * V3 window event name to listen for consent changes.\n *\n * Usercentrics V3 hardcodes its built-in event names (`UC_UI_CMP_EVENT`,\n * `UC_UI_INITIALIZED`, `UC_UI_VIEW_CHANGED`, `UC_CONSENT`) - they cannot be\n * renamed. However, the Usercentrics admin dashboard (Implementation >\n * Data Layer & Events) lets admins configure an ADDITIONAL custom window\n * event. Use this setting to point at that custom event name if\n * configured; otherwise leave as default.\n *\n * Default: 'UC_UI_CMP_EVENT'\n */\n v3EventName?: string;\n}\n\n/**\n * User input settings (all optional)\n */\nexport type InitSettings = Partial<Settings>;\n\n/**\n * No mapping configuration for this source\n */\nexport interface Mapping {}\n\n/**\n * Push function type - uses elb for consent commands\n */\nexport type Push = Elb.Fn;\n\n/**\n * Environment interface for Usercentrics source\n */\nexport interface Env extends Source.BaseEnv {\n window?: Window & typeof globalThis;\n}\n\n/**\n * Types bundle for Usercentrics source\n */\nexport type Types = Source.Types<Settings, Mapping, Push, Env, InitSettings>;\n\n/**\n * Config type alias\n */\nexport type Config = Source.Config<Types>;\n","import type { UsercentricsEventDetail } from '../types';\n\n/**\n * Example Usercentrics consent event detail inputs.\n *\n * These represent real event.detail payloads from Usercentrics CMP.\n */\n\n/**\n * Full consent - user accepted all categories (explicit)\n */\nexport const fullConsent: UsercentricsEventDetail = {\n event: 'consent_status',\n type: 'explicit',\n action: 'onAcceptAllServices',\n ucCategory: {\n essential: true,\n functional: true,\n marketing: true,\n },\n 'Google Analytics': true,\n 'Google Ads Remarketing': true,\n};\n\n/**\n * Partial consent - user accepted only essential and functional (explicit)\n */\nexport const partialConsent: UsercentricsEventDetail = {\n event: 'consent_status',\n type: 'explicit',\n action: 'onUpdateServices',\n ucCategory: {\n essential: true,\n functional: true,\n marketing: false,\n },\n 'Google Analytics': true,\n 'Google Ads Remarketing': false,\n};\n\n/**\n * Minimal consent - user denied everything except essential (explicit)\n */\nexport const minimalConsent: UsercentricsEventDetail = {\n event: 'consent_status',\n type: 'explicit',\n action: 'onDenyAllServices',\n ucCategory: {\n essential: true,\n functional: false,\n marketing: false,\n },\n 'Google Analytics': false,\n 'Google Ads Remarketing': false,\n};\n\n/**\n * Implicit consent - page load with default consent state\n * (not an explicit user choice)\n */\nexport const implicitConsent: UsercentricsEventDetail = {\n event: 'consent_status',\n type: 'implicit',\n ucCategory: {\n essential: true,\n functional: false,\n marketing: false,\n },\n 'Google Analytics': false,\n 'Google Ads Remarketing': false,\n};\n\n/**\n * Explicit consent with uppercase type field (Usercentrics docs are\n * inconsistent about casing - some show 'EXPLICIT', others 'explicit')\n */\nexport const fullConsentUpperCase: UsercentricsEventDetail = {\n event: 'consent_status',\n type: 'EXPLICIT',\n action: 'onAcceptAllServices',\n ucCategory: {\n essential: true,\n functional: true,\n marketing: true,\n },\n};\n\n/**\n * Service-level consent - ucCategory has mixed types (non-boolean values\n * indicate individual service-level choice rather than group-level)\n */\nexport const serviceLevelConsent: UsercentricsEventDetail = {\n event: 'consent_status',\n type: 'explicit',\n action: 'onUpdateServices',\n ucCategory: {\n essential: true,\n functional: 'partial', // Non-boolean indicates mixed service choices\n marketing: 'partial',\n },\n 'Google Analytics': true,\n 'Google Ads Remarketing': false,\n Hotjar: true,\n};\n\n/**\n * Non-consent event (should be ignored)\n */\nexport const nonConsentEvent: UsercentricsEventDetail = {\n event: 'other_event',\n type: 'explicit',\n};\n","import type { WalkerOS } from '@walkeros/core';\n\n/**\n * Expected walkerOS consent outputs.\n *\n * These represent the consent state after parsing Usercentrics event details\n * with no category mapping configured (pass-through).\n */\n\n/**\n * Full consent - all categories true (group-level)\n */\nexport const fullConsentMapped: WalkerOS.Consent = {\n essential: true,\n functional: true,\n marketing: true,\n};\n\n/**\n * Partial consent - essential and functional true, marketing false\n */\nexport const partialConsentMapped: WalkerOS.Consent = {\n essential: true,\n functional: true,\n marketing: false,\n};\n\n/**\n * Minimal consent - only essential true\n */\nexport const minimalConsentMapped: WalkerOS.Consent = {\n essential: true,\n functional: false,\n marketing: false,\n};\n\n/**\n * Full consent with custom category mapping applied\n * (essential->functional, functional->functional, marketing->marketing)\n */\nexport const fullConsentCustomMapped: WalkerOS.Consent = {\n functional: true,\n marketing: true,\n};\n\n/**\n * Service-level consent - individual service booleans + boolean ucCategory entries\n * (services normalized: lowercase, spaces to underscores)\n * (ucCategory boolean entries mapped through categoryMap)\n */\nexport const serviceLevelMapped: WalkerOS.Consent = {\n essential: true,\n google_analytics: true,\n google_ads_remarketing: false,\n hotjar: true,\n};\n","import type { Elb, Logger } from '@walkeros/core';\n\n/**\n * Example environment configurations for Usercentrics source testing.\n */\n\nconst noop = () => {};\n\n/**\n * Create a properly typed elb/push function mock\n */\nexport const createMockElbFn = (): Elb.Fn => {\n const fn = (() =>\n Promise.resolve({\n ok: true,\n })) as Elb.Fn;\n return fn;\n};\n\n/**\n * Simple no-op logger for demo purposes\n */\nexport const noopLogger: Logger.Instance = {\n error: noop,\n warn: noop,\n info: noop,\n debug: noop,\n throw: (message: string | Error) => {\n throw typeof message === 'string' ? new Error(message) : message;\n },\n json: noop,\n scope: () => noopLogger,\n};\n","import type { Flow } from '@walkeros/core';\n\nexport const fullConsent: Flow.StepExample = {\n title: 'Full consent',\n description:\n 'A Usercentrics onAcceptAllServices event emits a walker consent command with essential, functional, and marketing granted.',\n trigger: { type: 'consent' },\n in: {\n event: 'consent_status',\n type: 'explicit',\n action: 'onAcceptAllServices',\n ucCategory: {\n essential: true,\n functional: true,\n marketing: true,\n },\n },\n out: [\n [\n 'elb',\n 'walker consent',\n {\n essential: true,\n functional: true,\n marketing: true,\n },\n ],\n ],\n};\n\nexport const minimalConsent: Flow.StepExample = {\n title: 'Minimal consent',\n description:\n 'A Usercentrics onDenyAllServices event emits a walker consent command with only essential granted.',\n trigger: { type: 'consent' },\n in: {\n event: 'consent_status',\n type: 'explicit',\n action: 'onDenyAllServices',\n ucCategory: {\n essential: true,\n functional: false,\n marketing: false,\n },\n },\n out: [\n [\n 'elb',\n 'walker consent',\n {\n essential: true,\n functional: false,\n marketing: false,\n },\n ],\n ],\n};\n\nexport const categoryMapOverride: Flow.StepExample = {\n title: 'Category map override',\n description:\n 'Custom categoryMap remaps essential to functional and functional to analytics',\n trigger: { type: 'consent' },\n in: {\n event: 'consent_status',\n type: 'explicit',\n ucCategory: {\n essential: true,\n functional: true,\n marketing: false,\n },\n },\n mapping: {\n categoryMap: { essential: 'functional', functional: 'analytics' },\n },\n out: [\n [\n 'elb',\n 'walker consent',\n {\n functional: true,\n analytics: true,\n marketing: false,\n },\n ],\n ],\n};\n\nexport const customEventName: Flow.StepExample = {\n title: 'Custom event name',\n description: 'Using UC_SDK_EVENT instead of ucEvent for Usercentrics SDK v2',\n trigger: { type: 'consent', options: { eventName: 'UC_SDK_EVENT' } },\n in: {\n event: 'consent_status',\n type: 'explicit',\n ucCategory: {\n essential: true,\n functional: true,\n marketing: true,\n },\n },\n mapping: { eventName: 'UC_SDK_EVENT' },\n out: [\n [\n 'elb',\n 'walker consent',\n {\n essential: true,\n functional: true,\n marketing: true,\n },\n ],\n ],\n};\n","import type { Trigger, Collector } from '@walkeros/core';\nimport { startFlow } from '@walkeros/collector';\n\ninterface UsercentricsContent {\n event: string;\n type: string;\n action?: string;\n ucCategory?: Record<string, boolean | unknown>;\n [service: string]: unknown;\n}\n\nconst createTrigger: Trigger.CreateFn<UsercentricsContent, void> = async (\n config: Collector.InitConfig,\n) => {\n let flow: Trigger.FlowHandle | undefined;\n\n const trigger: Trigger.Fn<UsercentricsContent, void> =\n (type?: string, opts?: unknown) => async (content: UsercentricsContent) => {\n // Lazy startFlow — source registers ucEvent listener during init\n if (!flow) {\n const result = await startFlow({ ...config, run: config.run ?? true });\n flow = { collector: result.collector, elb: result.elb };\n }\n\n // Dispatch the CMP event — source's listener catches it\n const eventName =\n (opts as { eventName?: string })?.eventName || 'ucEvent';\n window.dispatchEvent(new CustomEvent(eventName, { detail: content }));\n };\n\n return {\n get flow() {\n return flow;\n },\n trigger,\n };\n};\n\n/** Dispatches ucEvent CustomEvent after source init (post-init trigger). */\nconst trigger = (\n input: unknown,\n env: Record<string, unknown>,\n): void | (() => void) => {\n if (!input || typeof input !== 'object') return;\n return () => {\n (env.window as Window).dispatchEvent(\n new CustomEvent('ucEvent', { detail: input }),\n );\n };\n};\n\nexport { createTrigger, trigger };\n"],"mappings":"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","names":["_a","cmp","fullConsent","minimalConsent","trigger"]}