@launchdarkly/browser-telemetry 1.0.1 → 1.0.3

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/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.0.3](https://github.com/launchdarkly/js-core/compare/browser-telemetry-v1.0.2...browser-telemetry-v1.0.3) (2025-03-26)
4
+
5
+
6
+ ### Dependencies
7
+
8
+ * The following workspace dependencies were updated
9
+ * devDependencies
10
+ * @launchdarkly/js-client-sdk bumped from 0.4.1 to 0.5.0
11
+
12
+ ## [1.0.2](https://github.com/launchdarkly/js-core/compare/browser-telemetry-v1.0.1...browser-telemetry-v1.0.2) (2025-02-28)
13
+
14
+
15
+ ### Bug Fixes
16
+
17
+ * Fix a bug where the incorrect src lines may have been captured. ([#792](https://github.com/launchdarkly/js-core/issues/792)) ([1f44dd5](https://github.com/launchdarkly/js-core/commit/1f44dd5bad3cc108beda5fb23d9b2b540812e7e6))
18
+
3
19
  ## [1.0.1](https://github.com/launchdarkly/js-core/compare/browser-telemetry-v1.0.0...browser-telemetry-v1.0.1) (2025-02-18)
4
20
 
5
21
 
@@ -53,7 +69,7 @@
53
69
 
54
70
  ### ⚠ BREAKING CHANGES
55
71
 
56
- * Updated AI config interface. ([#697](https://github.com/launchdarkly/js-core/issues/697))
72
+ * Updated AI Config interface. ([#697](https://github.com/launchdarkly/js-core/issues/697))
57
73
 
58
74
  ### Features
59
75
 
@@ -73,7 +89,7 @@
73
89
  * Random uuid for telemetry package. ([#689](https://github.com/launchdarkly/js-core/issues/689)) ([4cf34f9](https://github.com/launchdarkly/js-core/commit/4cf34f94f9d1a1949462187d09e7d84b096edb15))
74
90
  * Rename initializeTelemetryInstance to initTelemetryInstance for consistency with initTelemetry. ([257734f](https://github.com/launchdarkly/js-core/commit/257734f74d5c36d9e68441d6ca7dd7d1a6a2ba9b))
75
91
  * Source maps with inline sources for browser-telemetry. ([#735](https://github.com/launchdarkly/js-core/issues/735)) ([1656a85](https://github.com/launchdarkly/js-core/commit/1656a856e412a661af26ed08620aebedf2064ae1))
76
- * Updated AI config interface. ([#697](https://github.com/launchdarkly/js-core/issues/697)) ([cd72ea8](https://github.com/launchdarkly/js-core/commit/cd72ea8193888b0635b5beffa0a877b18294777e))
92
+ * Updated AI Config interface. ([#697](https://github.com/launchdarkly/js-core/issues/697)) ([cd72ea8](https://github.com/launchdarkly/js-core/commit/cd72ea8193888b0635b5beffa0a877b18294777e))
77
93
  * Vendor TraceKit ([d1b364e](https://github.com/launchdarkly/js-core/commit/d1b364eaf08502b8b7d65c124833b617577fd081))
78
94
 
79
95
 
package/dist/index.cjs CHANGED
@@ -1,13 +1,13 @@
1
- "use strict";var re=Object.defineProperty;var Ie=Object.getOwnPropertyDescriptor;var Ce=Object.getOwnPropertyNames;var Re=Object.prototype.hasOwnProperty;var De=(e,t)=>{for(var r in t)re(e,r,{get:t[r],enumerable:!0})},Me=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Ce(t))!Re.call(e,i)&&i!==r&&re(e,i,{get:()=>t[i],enumerable:!(n=Ie(t,i))||n.enumerable});return e};var Pe=e=>Me(re({},"__esModule",{value:!0}),e);var Rt={};De(Rt,{addBreadcrumb:()=>Ft,captureError:()=>St,captureErrorEvent:()=>Ot,close:()=>It,getTelemetryInstance:()=>O,initTelemetry:()=>kt,initTelemetryInstance:()=>Ct,inspectors:()=>wt,register:()=>Bt,resetTelemetryInstance:()=>Tt});module.exports=Pe(Rt);function N(e){try{return e.target}catch(t){return}}var Ne=">",Ue=` ${Ne} `;function $e(e){let t=e;return typeof t=="object"&&t!=null&&t.parentNode}function He(e){if(typeof e.className!="string")return;let t=e.className;if(e.className.includes(" ")&&(t=e.className.replace(" ",".")),t!=="")return`.${t}`}function Ae(e){if(!e.tagName)return"";let t=[];t.push(e.tagName.toLowerCase()),e.id&&t.push(`#${e.id}`);let r=He(e);return r&&t.push(r),t.join("")}function U(e,t={maxDepth:10}){let r=[],n=e;for(;$e(n)&&n.parentNode&&r.length<t.maxDepth;){let i=Ae(n);if(i==="html")break;r.push(i),n=n.parentNode}return r.reverse().join(Ue)}var $=class{constructor(){window.addEventListener("click",t=>{var n;let r=N(t);if(r){let i={class:"ui",type:"click",level:"info",timestamp:Date.now(),message:U(r)};(n=this._destination)==null||n.addBreadcrumb(i)}},!0)}register(t,r){this._destination=t}unregister(){this._destination=void 0}};var Xe=1e3,je=["INPUT","TEXTAREA"],H=class{constructor(){window.addEventListener("keypress",t=>{var i;let r=N(t),n=r;if(r&&(je.includes(r.tagName)||n!=null&&n.isContentEditable)){let f={class:"ui",type:"input",level:"info",timestamp:Date.now(),message:U(r)};this._shouldDeduplicate(f)||((i=this._destination)==null||i.addBreadcrumb(f),this._lastEvent=f)}},!0)}register(t,r){this._destination=t}unregister(){this._destination=void 0}_shouldDeduplicate(t){return this._lastEvent?Math.abs(t.timestamp-this._lastEvent.timestamp)<=Xe&&this._lastEvent.message===t.message:!1}};var A=class{constructor(){window.addEventListener("error",t=>{var r;(r=this._destination)==null||r.captureErrorEvent(t)},!0),window.addEventListener("unhandledrejection",t=>{var r;t.reason&&((r=this._destination)==null||r.captureError(t.reason))},!0)}register(t){this._destination=t}unregister(){this._destination=void 0}};function ne(e,t){return t?e.reduce((r,n)=>n(r),t):""}function X(e,t){var r;(r=e.data)!=null&&r.url&&(e.data.url=ne(t.urlFilters,e.data.url))}var qe="__LaunchDarkly_original_fetch",j=window.fetch;function Ke(e,t){var i;let r="",n="GET";return typeof e=="string"&&(r=e),typeof Request!="undefined"&&e instanceof Request&&(r=e.url,n=e.method),typeof URL!="undefined"&&e instanceof URL&&(r=e.toString()),t&&(n=(i=t.method)!=null?i:n),{url:r,method:n}}function ie(e){function t(...r){let n=Date.now();return j.apply(this,r).then(i=>{let f={class:"http",timestamp:n,level:i.ok?"info":"error",type:"fetch",data:{...Ke(r[0],r[1]),statusCode:i.status,statusText:i.statusText}};return e(f),i})}t.prototype=j==null?void 0:j.prototype;try{Object.defineProperty(t,qe,{value:j,writable:!0,configurable:!0})}catch(r){}window.fetch=t}var q=class{constructor(t){this._loggedIssue=!1;ie(r=>{var i,f,x;let n=!1;try{X(r,t),n=!0}catch(_){this._loggedIssue||((f=(i=t.getLogger)==null?void 0:i.call(t))==null||f.warn("Error filtering http breadcrumb",_),this._loggedIssue=!0)}n&&((x=this._destination)==null||x.addBreadcrumb(r))})}register(t,r){this._destination=t}unregister(){this._destination=void 0}};var ve="__LaunchDarkly_original_xhr",We=`${ve}_open`,Ge=`${ve}_send`,Q="__LaunchDarkly_data_xhr",xe=window.XMLHttpRequest.prototype.open,ye=window.XMLHttpRequest.prototype.send;function se(e){function t(...n){this.addEventListener("error",function(i){let f=this[Q];f.error=!0}),this.addEventListener("loadend",function(i){let f=this[Q];f&&f.timestamp&&e({class:"http",timestamp:f.timestamp,level:f.error?"error":"info",type:"xhr",data:{url:f.url,method:f.method,statusCode:this.status,statusText:this.statusText}})},!0),xe.apply(this,n);try{let i={method:n==null?void 0:n[0],url:n==null?void 0:n[1]};Object.defineProperty(this,Q,{value:i,writable:!0,configurable:!0})}catch(i){}}function r(...n){ye.apply(this,n);let i=this[Q];i&&(i.timestamp=Date.now())}window.XMLHttpRequest.prototype.open=t,window.XMLHttpRequest.prototype.send=r;try{Object.defineProperties(window.XMLHttpRequest,{[We]:{value:xe,writable:!0,configurable:!0},[Ge]:{value:ye,writable:!0,configurable:!0}})}catch(n){}}var K=class{constructor(t){this._loggedIssue=!1;se(r=>{var i,f,x;let n=!1;try{X(r,t),n=!0}catch(_){this._loggedIssue||((f=(i=t.getLogger)==null?void 0:i.call(t))==null||f.warn("Error filtering http breadcrumb",_),this._loggedIssue=!0)}n&&((x=this._destination)==null||x.addBreadcrumb(r))})}register(t,r){this._destination=t}unregister(){this._destination=void 0}};var ze=/sdk\/evalx\/[^/]+\/contexts\/(?<context>[^/?]*)\??.*?/,Ve=/\/eval\/[^/]+\/(?<context>[^/?]*)\??.*?/;function Ye(e){try{if(e.includes("://")){let t=new URL(e),r=!1;if(t.username&&(t.username="redacted",r=!0),t.password&&(t.password="redacted",r=!0),r)return t.toString()}}catch(t){}return e}function Ze(e){var t,r;if(e.includes("/sdk/evalx")){let n=e.match(ze),i=(t=n==null?void 0:n.groups)==null?void 0:t.context;if(i)return e.replace(i,"*".repeat(i.length))}if(e.includes("/eval/")){let n=e.match(Ve),i=(r=n==null?void 0:n.groups)==null?void 0:r.context;if(i)return e.replace(i,"*".repeat(i.length))}return e}function ae(e){return Ze(Ye(e))}function oe(e,t,r){e.breadcrumbs.evaluations&&t.push({type:"flag-used",name:"launchdarkly-browser-telemetry-flag-used",synchronous:!0,method(n,i,f){r.handleFlagUsed(n,i,f)}}),e.breadcrumbs.flagChange&&t.push({type:"flag-detail-changed",name:"launchdarkly-browser-telemetry-flag-used",synchronous:!0,method(n,i){r.handleFlagDetailChanged(n,i)}})}var w={warn:console.warn},Je="LaunchDarkly - Browser Telemetry:";function k(e){return`${Je} ${e}`}function C(e){return{warn:(...t)=>{if(!e){w.warn(...t);return}try{e.warn(...t)}catch(r){w.warn(...t),w.warn(k("The provided logger threw an exception, using fallback logger."))}}}}var Qe={start:0,end:3},et={start:4,end:5},ce={start:6,end:7},le={start:8,end:8},tt={start:9,end:9},rt={start:10,end:15};function nt(){if(crypto&&crypto.getRandomValues){let t=new Uint8Array(16);return crypto.getRandomValues(t),[...t.values()]}let e=[];for(let t=0;t<16;t+=1)e.push(Math.floor(Math.random()*256));return e}function R(e,t){let r="";for(let n=t.start;n<=t.end;n+=1)r+=e[n].toString(16).padStart(2,"0");return r}function it(e){return e[le.start]=(e[le.start]|128)&191,e[ce.start]=e[ce.start]&15|64,`${R(e,Qe)}-${R(e,et)}-${R(e,ce)}-${R(e,le)}${R(e,tt)}-${R(e,rt)}`}function st(){let e=nt();return it(e)}function ue(){return typeof crypto!==void 0&&typeof crypto.randomUUID=="function"?crypto.randomUUID():st()}var v={};(function(e,t){if(!e)return;let r=[].slice,n="?",i=/^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/;function f(_,z){return Object.prototype.hasOwnProperty.call(_,z)}function x(_){return typeof _=="undefined"}v.wrap=function(z){function M(){try{return z.apply(this,arguments)}catch(V){throw v.report(V),V}}return M},v.computeStackTrace=function(){let M={};function V(a){if(!v.remoteFetching)return"";try{let u=function(){try{return new e.XMLHttpRequest}catch(d){return new e.ActiveXObject("Microsoft.XMLHTTP")}}();return u.open("GET",a,!1),u.send(""),u.responseText}catch(c){return""}}function B(a){if(typeof a!="string")return[];if(!f(M,a)){let c="",u="";try{u=e.document.domain}catch(l){}let d=/(.*)\:\/\/([^:\/]+)([:\d]*)\/{0,1}([\s\S]*)/.exec(a);d&&d[2]===u&&(c=V(a)),M[a]=c?c.split(`
2
- `):[]}return M[a]}function I(a,c){typeof c!="number"&&(c=Number(c));let u=/function ([^(]*)\(([^)]*)\)/,d=/['"]?([0-9A-Za-z$_]+)['"]?\s*[:=]\s*(function|eval|new Function)/,l="",b=10,g=B(a),m;if(!g.length)return n;for(let o=0;o<b;++o)if(l=g[c-o]+l,!x(l)&&((m=d.exec(l))||(m=u.exec(l))))return m[1];return n}function P(a,c){typeof c!="number"&&(c=Number(c));let u=B(a);if(!u.length)return null;let d=[],l=Math.floor(v.linesOfContext/2),b=l+v.linesOfContext%2,g=Math.max(0,c-l-1),m=Math.min(u.length,c+b-1);c-=1;for(let o=g;o<m;++o)x(u[o])||d.push(u[o]);return d.length>0?d:null}function Y(a){return a.replace(/[\-\[\]{}()*+?.,\\\^$|#]/g,"\\$&")}function de(a){return Y(a).replace("<","(?:<|&lt;)").replace(">","(?:>|&gt;)").replace("&","(?:&|&amp;)").replace('"','(?:"|&quot;)').replace(/\s+/g,"\\s+")}function Z(a,c){let u,d;for(let l=0,b=c.length;l<b;++l)if((u=B(c[l])).length&&(u=u.join(`
3
- `),d=a.exec(u)))return{url:c[l],line:u.substring(0,d.index).split(`
4
- `).length,column:d.index-u.lastIndexOf(`
5
- `,d.index)-1};return null}function te(a,c,u){typeof u!="number"&&(u=Number(u));let d=B(c),l=new RegExp(`\\b${Y(a)}\\b`),b;return u-=1,d&&d.length>u&&(b=l.exec(d[u]))?b.index:null}function Se(a){if(x(e&&e.document))return;let c=[e.location.href],u=e.document.getElementsByTagName("script"),d,l=`${a}`,b=/^function(?:\s+([\w$]+))?\s*\(([\w\s,]*)\)\s*\{\s*(\S[\s\S]*\S)\s*\}\s*$/,g=/^function on([\w$]+)\s*\(event\)\s*\{\s*(\S[\s\S]*\S)\s*\}\s*$/,m,o,h;for(let s=0;s<u.length;++s){let p=u[s];p.src&&c.push(p.src)}if(!(o=b.exec(l)))m=new RegExp(Y(l).replace(/\s+/g,"\\s+"));else{let s=o[1]?`\\s+${o[1]}`:"",p=o[2].split(",").join("\\s*,\\s*");d=Y(o[3]).replace(/;$/,";?"),m=new RegExp(`function${s}\\s*\\(\\s*${p}\\s*\\)\\s*{\\s*${d}\\s*}`)}if(h=Z(m,c))return h;if(o=g.exec(l)){let s=o[1];if(d=de(o[2]),m=new RegExp(`on${s}=[\\'"]\\s*${d}\\s*[\\'"]`,"i"),(h=Z(m,c[0]))||(m=new RegExp(d),h=Z(m,c)))return h}return null}function pe(a){if(!a.stack)return null;let c=/^\s*at (.*?) ?\(((?:file|https?|blob|chrome-extension|native|eval|webpack|<anonymous>|\/).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,u=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)((?:file|https?|blob|chrome|webpack|resource|\[native).*?|[^@]*bundle)(?::(\d+))?(?::(\d+))?\s*$/i,d=/^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i,l,b=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,g=/\((\S*)(?::(\d+))(?::(\d+))\)/,m=a.stack.split(`
6
- `),o=[],h,s,p,T=/^(.*) is undefined$/.exec(a.message);for(let y=0,J=m.length;y<J;++y){if(s=c.exec(m[y])){let be=s[2]&&s[2].indexOf("native")===0;l=s[2]&&s[2].indexOf("eval")===0,l&&(h=g.exec(s[2]))&&(s[2]=h[1],s[3]=h[2],s[4]=h[3]),p={url:be?null:s[2],func:s[1]||n,args:be?[s[2]]:[],line:s[3]?+s[3]:null,column:s[4]?+s[4]:null}}else if(s=d.exec(m[y]))p={url:s[2],func:s[1]||n,args:[],line:+s[3],column:s[4]?+s[4]:null};else if(s=u.exec(m[y]))l=s[3]&&s[3].indexOf(" > eval")>-1,l&&(h=b.exec(s[3]))?(s[3]=h[1],s[4]=h[2],s[5]=null):y===0&&!s[5]&&!x(a.columnNumber)&&(o[0].column=a.columnNumber+1),p={url:s[3],func:s[1]||n,args:s[2]?s[2].split(","):[],line:s[4]?+s[4]:null,column:s[5]?+s[5]:null};else continue;!p.func&&p.line&&(p.func=I(p.url,p.line)),p.context=p.line?P(p.url,p.line):null,o.push(p)}return o.length?(o[0]&&o[0].line&&!o[0].column&&T&&(o[0].column=te(T[1],o[0].url,o[0].line)),{mode:"stack",name:a.name,message:a.message,stack:o}):null}function Oe(a){let{stacktrace:c}=a;if(!c)return null;let u=/ line (\d+).*script (?:in )?(\S+)(?:: in function (\S+))?$/i,d=/ line (\d+), column (\d+)\s*(?:in (?:<anonymous function: ([^>]+)>|([^\)]+))\((.*)\))? in (.*):\s*$/i,l=c.split(`
7
- `),b=[],g;for(let m=0;m<l.length;m+=2){let o=null;if((g=u.exec(l[m]))?o={url:g[2],line:+g[1],column:null,func:g[3],args:[]}:(g=d.exec(l[m]))&&(o={url:g[6],line:+g[1],column:+g[2],func:g[3]||g[4],args:g[5]?g[5].split(","):[]}),o){if(!o.func&&o.line&&(o.func=I(o.url,o.line)),o.line)try{o.context=P(o.url,o.line)}catch(h){}o.context||(o.context=[l[m+1]]),b.push(o)}}return b.length?{mode:"stacktrace",name:a.name,message:a.message,stack:b}:null}function Fe(a){let c=a.message.split(`
8
- `);if(c.length<4)return null;let u=/^\s*Line (\d+) of linked script ((?:file|https?|blob)\S+)(?:: in function (\S+))?\s*$/i,d=/^\s*Line (\d+) of inline#(\d+) script in ((?:file|https?|blob)\S+)(?:: in function (\S+))?\s*$/i,l=/^\s*Line (\d+) of function script\s*$/i,b=[],g=e&&e.document&&e.document.getElementsByTagName("script"),m=[],o;for(let h in g)f(g,h)&&!g[h].src&&m.push(g[h]);for(let h=2;h<c.length;h+=2){let s=null;if(o=u.exec(c[h]))s={url:o[2],func:o[3],args:[],line:+o[1],column:null};else if(o=d.exec(c[h])){s={url:o[3],func:o[4],args:[],line:+o[1],column:null};let p=+o[1],T=m[o[2]-1];if(T){let y=B(s.url);if(y){y=y.join(`
9
- `);let J=y.indexOf(T.innerText);J>=0&&(s.line=p+y.substring(0,J).split(`
10
- `).length)}}}else if(o=l.exec(c[h])){let p=e.location.href.replace(/#.*$/,""),T=new RegExp(de(c[h+1])),y=Z(T,[p]);s={url:p,func:"",args:[],line:y?y.line:o[1],column:null}}if(s){s.func||(s.func=I(s.url,s.line));let p=P(s.url,s.line),T=p?p[Math.floor(p.length/2)]:null;p&&T&&T.replace(/^\s*/,"")===c[h+1].replace(/^\s*/,"")?s.context=p:s.context=[c[h+1]],b.push(s)}}return b.length?{mode:"multiline",name:a.name,message:c[0],stack:b}:null}function ge(a,c,u,d){let l={url:c,line:u};if(l.url&&l.line){a.incomplete=!1,l.func||(l.func=I(l.url,l.line)),l.context||(l.context=P(l.url,l.line));let b=/ '([^']+)' /.exec(d);if(b&&(l.column=te(b[1],l.url,l.line)),a.stack.length>0&&a.stack[0].url===l.url){if(a.stack[0].line===l.line)return!1;if(!a.stack[0].line&&a.stack[0].func===l.func)return a.stack[0].line=l.line,a.stack[0].context=l.context,!1}return a.stack.unshift(l),a.partial=!0,!0}return a.incomplete=!0,!1}function he(a,c){let u=/function\s+([_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*)?\s*\(/i,d=[],l={},b=!1,g,m,o;for(let s=he.caller;s&&!b;s=s.caller)if(!(s===S||s===v.report)){if(m={url:null,func:n,args:[],line:null,column:null},s.name?m.func=s.name:(g=u.exec(s.toString()))&&(m.func=g[1]),typeof m.func=="undefined")try{m.func=g.input.substring(0,g.input.indexOf("{"))}catch(p){}if(o=Se(s)){m.url=o.url,m.line=o.line,m.func===n&&(m.func=I(m.url,m.line));let p=/ '([^']+)' /.exec(a.message||a.description);p&&(m.column=te(p[1],o.url,o.line))}l[`${s}`]?b=!0:l[`${s}`]=!0,d.push(m)}c&&d.splice(0,c);let h={mode:"callers",name:a.name,message:a.message,stack:d};return ge(h,a.sourceURL||a.fileName,a.line||a.lineNumber,a.message||a.description),h}function S(a,c){let u=null;c=c==null?0:+c;try{if(u=Oe(a),u)return u}catch(d){}try{if(u=pe(a),u)return u}catch(d){}try{if(u=Fe(a),u)return u}catch(d){}try{if(u=he(a,c+1),u)return u}catch(d){}return{name:a.name,message:a.message,mode:"failed",stack:[]}}function Be(a){a=(a==null?0:+a)+1;try{throw new Error}catch(c){return S(c,a+1)}}return S.augmentStackTraceWithInitialElement=ge,S.computeStackTraceFromStackProp=pe,S.guessFunctionName=I,S.gatherContext=P,S.ofCaller=Be,S.getSource=B,S}(),v.remoteFetching||(v.remoteFetching=!0),v.collectWindowErrors||(v.collectWindowErrors=!0),(!v.linesOfContext||v.linesOfContext<1)&&(v.linesOfContext=11)})(typeof window!="undefined"?window:global);function ee(){return v}var Ee="(index)";function at(e,t){let r=e;if(e.startsWith(t)){if(r=e.slice(t.length),r.startsWith("/")&&(r=r.slice(1)),r==="")return Ee;r.endsWith("/")&&(r+=Ee)}return r}function Le(e,t,r){if(t.length<=e.maxLength)return t;let n=Math.max(0,r-e.beforeColumnCharacters),i=Math.min(t.length,n+e.maxLength);return t.slice(n,i)}function _e(e,t,r,n){let i=e<0?0:e,f=t>r.length?r.length:t;return i<f?r.slice(i,f).map(n):[]}function ot(e,t){let{context:r}=e;if(!r)return{};let{maxLineLength:n}=t.source,i=Math.floor(n/2),f=_=>Le({maxLength:t.source.maxLineLength,beforeColumnCharacters:i},_,0),x=Math.floor(r.length/2);return{srcBefore:_e(x-t.source.beforeLines,x,r,f),srcLine:Le({maxLength:n,beforeColumnCharacters:i},r[x],e.column||0),srcAfter:_e(x+1,x+1+t.source.afterLines,r,f)}}function fe(e,t){return t.enabled?{frames:ee().computeStackTrace(e).stack.reverse().map(i=>({fileName:at(i.url,window.location.origin),function:i.func,line:i.line,col:i.column,...ot(i,t)}))}:{frames:[]}}var we="$ld:telemetry",ct=`${we}:error`,lt=`${we}:session:init`,ke="generic",ut="exception was null or undefined",ft="exception had no message",mt=5;function Te(e){switch(typeof e){case"string":case"boolean":case"number":return e;default:return}}function dt(e,t){return e===void 0?void 0:t(e)}function pt(e){if(!e.enabled)return;let t=ee(),r=Math.max(e.source.afterLines,e.source.beforeLines),n=t;n.linesOfContext=r*2+1}function gt(e){return e.logger!==void 0}function ht(e){return e.waitForInitialization!==void 0}var F=class{constructor(t){this._options=t;this._pendingEvents=[];this._breadcrumbs=[];this._inspectorInstances=[];this._collectors=[];this._sessionId=ue();this._registrationComplete=!1;this._eventsDropped=!1;this._breadcrumbFilterError=!1;this._errorFilterError=!1;var f;pt(t.stack),this._collectors.push(new A),this._collectors.push(...t.collectors),this._maxPendingEvents=t.maxPendingEvents,this._maxBreadcrumbs=t.breadcrumbs.maxBreadcrumbs,this._logger=(f=this._options.logger)!=null?f:w;let r=[ae];t.breadcrumbs.http.customUrlFilter&&r.push(t.breadcrumbs.http.customUrlFilter),t.breadcrumbs.http.instrumentFetch&&this._collectors.push(new q({urlFilters:r,getLogger:()=>this._logger})),t.breadcrumbs.http.instrumentXhr&&this._collectors.push(new K({urlFilters:r,getLogger:()=>this._logger})),t.breadcrumbs.click&&this._collectors.push(new $),t.breadcrumbs.keyboardInput&&this._collectors.push(new H),this._collectors.forEach(x=>x.register(this,this._sessionId));let n=this,i=[];oe(t,i,n),this._inspectorInstances.push(...i)}register(t){if(this._client!==void 0)return;this._client=t,this._setLogger();let r=()=>{var n;(n=this._client)==null||n.track(lt,{sessionId:this._sessionId}),this._pendingEvents.forEach(i=>{var f;(f=this._client)==null||f.track(i.type,i.data)}),this._pendingEvents=[],this._registrationComplete=!0};ht(t)?(async()=>{try{await t.waitForInitialization(mt)}catch(n){}r()})():r()}_setLogger(){this._options.logger?this._logger=this._options.logger:gt(this._client)?this._logger=this._client.logger:this._logger=w}inspectors(){return this._inspectorInstances}_capture(t,r){var i;let n=this._applyFilters(r,this._options.errorFilters,f=>{this._errorFilterError||(this._errorFilterError=!0,this._logger.warn(k(`Error applying error filters: ${f}`)))});n!==void 0&&(this._registrationComplete?(i=this._client)==null||i.track(t,n):(this._pendingEvents.push({type:t,data:n}),this._pendingEvents.length>this._maxPendingEvents&&(this._eventsDropped||(this._eventsDropped=!0,this._logger.warn(k("Maximum pending events reached. Old events will be dropped until the SDK client is registered."))),this._pendingEvents.shift())))}captureError(t){var i,f;let n=t!=null?{type:t.name||((i=t.constructor)==null?void 0:i.name)||ke,message:(f=t.message)!=null?f:ft,stack:fe(t,this._options.stack),breadcrumbs:[...this._breadcrumbs],sessionId:this._sessionId}:{type:ke,message:ut,stack:{frames:[]},breadcrumbs:[...this._breadcrumbs],sessionId:this._sessionId};this._capture(ct,n)}captureErrorEvent(t){this.captureError(t.error)}_applyFilters(t,r,n){try{return r.reduce((i,f)=>dt(i,f),t)}catch(i){n(i);return}}addBreadcrumb(t){let r=this._applyFilters(t,this._options.breadcrumbs.filters,n=>{this._breadcrumbFilterError||(this._breadcrumbFilterError=!0,this._logger.warn(k(`Error applying breadcrumb filters: ${n}`)))});r!==void 0&&(this._breadcrumbs.push(r),this._breadcrumbs.length>this._maxBreadcrumbs&&this._breadcrumbs.shift())}close(){this._collectors.forEach(t=>t.unregister())}handleFlagUsed(t,r,n){let i={type:"flag-evaluated",data:{key:t,value:Te(r.value)},timestamp:new Date().getTime(),class:"feature-management",level:"info"};this.addBreadcrumb(i)}handleFlagDetailChanged(t,r){let n={type:"flag-detail-changed",data:{key:t,value:Te(r.value)},timestamp:new Date().getTime(),class:"feature-management",level:"info"};this.addBreadcrumb(n)}};var bt={maxBreadcrumbs:0,evaluations:!1,flagChange:!1,click:!1,keyboardInput:!1,http:{instrumentFetch:!1,instrumentXhr:!1,customUrlFilter:void 0},filters:[]},xt={enabled:!1,source:{beforeLines:0,afterLines:0,maxLineLength:0}};function yt(){return{breadcrumbs:{maxBreadcrumbs:50,evaluations:!0,flagChange:!0,click:!0,keyboardInput:!0,http:{instrumentFetch:!0,instrumentXhr:!0},filters:[]},stack:{enabled:!0,source:{beforeLines:3,afterLines:3,maxLineLength:280}},maxPendingEvents:100,collectors:[],errorFilters:[]}}function D(e,t,r){return k(`Config option "${e}" should be of type ${t}, got ${r}, using default value`)}function L(e,t,r){return n=>{let i=typeof n;return i===e?!0:(r==null||r.warn(D(t,e,i)),!1)}}function E(e,t,r){return e!=null&&(!r||r(e))?e:t}function vt(e,t,r){if(e!==void 0&&e!==!1&&typeof e!="object")return r==null||r.warn(D("breadcrumbs.http","HttpBreadCrumbOptions | false",typeof e)),t;if(e===!1)return{instrumentFetch:!1,instrumentXhr:!1};e!=null&&e.customUrlFilter&&typeof e.customUrlFilter!="function"&&(r==null||r.warn(k(`The "breadcrumbs.http.customUrlFilter" must be a function. Received ${typeof e.customUrlFilter}`)));let n=e!=null&&e.customUrlFilter&&typeof(e==null?void 0:e.customUrlFilter)=="function"?e.customUrlFilter:void 0;return{instrumentFetch:E(e==null?void 0:e.instrumentFetch,t.instrumentFetch,L("boolean","breadcrumbs.http.instrumentFetch",r)),instrumentXhr:E(e==null?void 0:e.instrumentXhr,t.instrumentXhr,L("boolean","breadcrumbs.http.instrumentXhr",r)),customUrlFilter:n}}function Et(e){if(e.logger){let{logger:t}=e;if(typeof t=="object"&&t!==null&&"warn"in t)return C(t);w.warn(D("logger","MinLogger or LDLogger",typeof t))}}function Lt(e,t,r){var n,i,f;return e===!1?xt:{enabled:!0,source:{beforeLines:E((n=e==null?void 0:e.source)==null?void 0:n.beforeLines,t.source.beforeLines,L("number","stack.beforeLines",r)),afterLines:E((i=e==null?void 0:e.source)==null?void 0:i.afterLines,t.source.afterLines,L("number","stack.afterLines",r)),maxLineLength:E((f=e==null?void 0:e.source)==null?void 0:f.maxLineLength,t.source.maxLineLength,L("number","stack.maxLineLength",r))}}}function _t(e,t,r){return e===!1?bt:{maxBreadcrumbs:E(e==null?void 0:e.maxBreadcrumbs,t.maxBreadcrumbs,L("number","breadcrumbs.maxBreadcrumbs",r)),evaluations:E(e==null?void 0:e.evaluations,t.evaluations,L("boolean","breadcrumbs.evaluations",r)),flagChange:E(e==null?void 0:e.flagChange,t.flagChange,L("boolean","breadcrumbs.flagChange",r)),click:E(e==null?void 0:e.click,t.click,L("boolean","breadcrumbs.click",r)),keyboardInput:E(e==null?void 0:e.keyboardInput,t.keyboardInput,L("boolean","breadcrumbs.keyboardInput",r)),http:vt(e==null?void 0:e.http,t.http,r),filters:E(e==null?void 0:e.filters,t.filters,n=>Array.isArray(n)?!0:(r==null||r.warn(D("breadcrumbs.filters","BreadcrumbFilter[]",typeof n)),!1))}}function W(e,t){let r=yt();return e.breadcrumbs&&L("object","breadcrumbs",t)(e.breadcrumbs),e.stack&&L("object","stack",t)(e.stack),{breadcrumbs:_t(e.breadcrumbs,r.breadcrumbs,t),stack:Lt(e.stack,r.stack,t),maxPendingEvents:E(e.maxPendingEvents,r.maxPendingEvents,L("number","maxPendingEvents",t)),collectors:[...E(e.collectors,r.collectors,n=>Array.isArray(n)?!0:(t==null||t.warn(D("collectors","Collector[]",typeof n)),!1))],logger:Et(e),errorFilters:E(e.errorFilters,r.errorFilters,n=>Array.isArray(n)?!0:(t==null||t.warn(D("errorFilters","ErrorDataFilter[]",typeof n)),!1))}}var G,me=!1;function kt(e){let t=C(e==null?void 0:e.logger);if(G){t.warn(k("Telemetry has already been initialized. Ignoring new options."));return}let r=W(e||{},t);G=new F(r)}function O(){if(!G){if(me)return;w.warn(k("Telemetry has not been initialized")),me=!0;return}return G}function Tt(){G=void 0,me=!1}function wt(){var e;return((e=O())==null?void 0:e.inspectors())||[]}function St(e){var t;(t=O())==null||t.captureError(e)}function Ot(e){var t;(t=O())==null||t.captureErrorEvent(e)}function Ft(e){var t;(t=O())==null||t.addBreadcrumb(e)}function Bt(e){var t;(t=O())==null||t.register(e)}function It(){var e;(e=O())==null||e.close()}function Ct(e){let t=W(e||{},C(e==null?void 0:e.logger));return new F(t)}0&&(module.exports={addBreadcrumb,captureError,captureErrorEvent,close,getTelemetryInstance,initTelemetry,initTelemetryInstance,inspectors,register,resetTelemetryInstance});
1
+ "use strict";var ne=Object.defineProperty;var De=Object.getOwnPropertyDescriptor;var Ce=Object.getOwnPropertyNames;var Me=Object.prototype.hasOwnProperty;var Pe=(e,t)=>{for(var r in t)ne(e,r,{get:t[r],enumerable:!0})},Ne=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Ce(t))!Me.call(e,i)&&i!==r&&ne(e,i,{get:()=>t[i],enumerable:!(n=De(t,i))||n.enumerable});return e};var Ue=e=>Ne(ne({},"__esModule",{value:!0}),e);var Pt={};Pe(Pt,{addBreadcrumb:()=>Rt,captureError:()=>Bt,captureErrorEvent:()=>It,close:()=>Ct,getTelemetryInstance:()=>O,initTelemetry:()=>wt,initTelemetryInstance:()=>Mt,inspectors:()=>Ot,register:()=>Dt,resetTelemetryInstance:()=>Ft});module.exports=Ue(Pt);function H(e){try{return e.target}catch(t){return}}var $e=">",He=` ${$e} `;function Ae(e){let t=e;return typeof t=="object"&&t!=null&&t.parentNode}function Xe(e){if(typeof e.className!="string")return;let t=e.className;if(e.className.includes(" ")&&(t=e.className.replace(" ",".")),t!=="")return`.${t}`}function je(e){if(!e.tagName)return"";let t=[];t.push(e.tagName.toLowerCase()),e.id&&t.push(`#${e.id}`);let r=Xe(e);return r&&t.push(r),t.join("")}function A(e,t={maxDepth:10}){let r=[],n=e;for(;Ae(n)&&n.parentNode&&r.length<t.maxDepth;){let i=je(n);if(i==="html")break;r.push(i),n=n.parentNode}return r.reverse().join(He)}var X=class{constructor(){window.addEventListener("click",t=>{var n;let r=H(t);if(r){let i={class:"ui",type:"click",level:"info",timestamp:Date.now(),message:A(r)};(n=this._destination)==null||n.addBreadcrumb(i)}},!0)}register(t,r){this._destination=t}unregister(){this._destination=void 0}};var qe=1e3,Ke=["INPUT","TEXTAREA"],j=class{constructor(){window.addEventListener("keypress",t=>{var i;let r=H(t),n=r;if(r&&(Ke.includes(r.tagName)||n!=null&&n.isContentEditable)){let f={class:"ui",type:"input",level:"info",timestamp:Date.now(),message:A(r)};this._shouldDeduplicate(f)||((i=this._destination)==null||i.addBreadcrumb(f),this._lastEvent=f)}},!0)}register(t,r){this._destination=t}unregister(){this._destination=void 0}_shouldDeduplicate(t){return this._lastEvent?Math.abs(t.timestamp-this._lastEvent.timestamp)<=qe&&this._lastEvent.message===t.message:!1}};var q=class{constructor(){window.addEventListener("error",t=>{var r;(r=this._destination)==null||r.captureErrorEvent(t)},!0),window.addEventListener("unhandledrejection",t=>{var r;t.reason&&((r=this._destination)==null||r.captureError(t.reason))},!0)}register(t){this._destination=t}unregister(){this._destination=void 0}};function ie(e,t){return t?e.reduce((r,n)=>n(r),t):""}function K(e,t){var r;(r=e.data)!=null&&r.url&&(e.data.url=ie(t.urlFilters,e.data.url))}var We="__LaunchDarkly_original_fetch",W=window.fetch;function Ge(e,t){var i;let r="",n="GET";return typeof e=="string"&&(r=e),typeof Request!="undefined"&&e instanceof Request&&(r=e.url,n=e.method),typeof URL!="undefined"&&e instanceof URL&&(r=e.toString()),t&&(n=(i=t.method)!=null?i:n),{url:r,method:n}}function se(e){function t(...r){let n=Date.now();return W.apply(this,r).then(i=>{let f={class:"http",timestamp:n,level:i.ok?"info":"error",type:"fetch",data:{...Ge(r[0],r[1]),statusCode:i.status,statusText:i.statusText}};return e(f),i})}t.prototype=W==null?void 0:W.prototype;try{Object.defineProperty(t,We,{value:W,writable:!0,configurable:!0})}catch(r){}window.fetch=t}var G=class{constructor(t){this._loggedIssue=!1;se(r=>{var i,f,x;let n=!1;try{K(r,t),n=!0}catch(k){this._loggedIssue||((f=(i=t.getLogger)==null?void 0:i.call(t))==null||f.warn("Error filtering http breadcrumb",k),this._loggedIssue=!0)}n&&((x=this._destination)==null||x.addBreadcrumb(r))})}register(t,r){this._destination=t}unregister(){this._destination=void 0}};var ve="__LaunchDarkly_original_xhr",ze=`${ve}_open`,Ve=`${ve}_send`,ee="__LaunchDarkly_data_xhr",ye=window.XMLHttpRequest.prototype.open,Le=window.XMLHttpRequest.prototype.send;function ae(e){function t(...n){this.addEventListener("error",function(i){let f=this[ee];f.error=!0}),this.addEventListener("loadend",function(i){let f=this[ee];f&&f.timestamp&&e({class:"http",timestamp:f.timestamp,level:f.error?"error":"info",type:"xhr",data:{url:f.url,method:f.method,statusCode:this.status,statusText:this.statusText}})},!0),ye.apply(this,n);try{let i={method:n==null?void 0:n[0],url:n==null?void 0:n[1]};Object.defineProperty(this,ee,{value:i,writable:!0,configurable:!0})}catch(i){}}function r(...n){Le.apply(this,n);let i=this[ee];i&&(i.timestamp=Date.now())}window.XMLHttpRequest.prototype.open=t,window.XMLHttpRequest.prototype.send=r;try{Object.defineProperties(window.XMLHttpRequest,{[ze]:{value:ye,writable:!0,configurable:!0},[Ve]:{value:Le,writable:!0,configurable:!0}})}catch(n){}}var z=class{constructor(t){this._loggedIssue=!1;ae(r=>{var i,f,x;let n=!1;try{K(r,t),n=!0}catch(k){this._loggedIssue||((f=(i=t.getLogger)==null?void 0:i.call(t))==null||f.warn("Error filtering http breadcrumb",k),this._loggedIssue=!0)}n&&((x=this._destination)==null||x.addBreadcrumb(r))})}register(t,r){this._destination=t}unregister(){this._destination=void 0}};var Ye=/sdk\/evalx\/[^/]+\/contexts\/(?<context>[^/?]*)\??.*?/,Ze=/\/eval\/[^/]+\/(?<context>[^/?]*)\??.*?/;function Je(e){try{if(e.includes("://")){let t=new URL(e),r=!1;if(t.username&&(t.username="redacted",r=!0),t.password&&(t.password="redacted",r=!0),r)return t.toString()}}catch(t){}return e}function Qe(e){var t,r;if(e.includes("/sdk/evalx")){let n=e.match(Ye),i=(t=n==null?void 0:n.groups)==null?void 0:t.context;if(i)return e.replace(i,"*".repeat(i.length))}if(e.includes("/eval/")){let n=e.match(Ze),i=(r=n==null?void 0:n.groups)==null?void 0:r.context;if(i)return e.replace(i,"*".repeat(i.length))}return e}function oe(e){return Qe(Je(e))}function ce(e,t,r){e.breadcrumbs.evaluations&&t.push({type:"flag-used",name:"launchdarkly-browser-telemetry-flag-used",synchronous:!0,method(n,i,f){r.handleFlagUsed(n,i,f)}}),e.breadcrumbs.flagChange&&t.push({type:"flag-detail-changed",name:"launchdarkly-browser-telemetry-flag-used",synchronous:!0,method(n,i){r.handleFlagDetailChanged(n,i)}})}var S={warn:console.warn},et="LaunchDarkly - Browser Telemetry:";function T(e){return`${et} ${e}`}function P(e){return{warn:(...t)=>{if(!e){S.warn(...t);return}try{e.warn(...t)}catch(r){S.warn(...t),S.warn(T("The provided logger threw an exception, using fallback logger."))}}}}var tt={start:0,end:3},rt={start:4,end:5},ue={start:6,end:7},le={start:8,end:8},nt={start:9,end:9},it={start:10,end:15};function st(){if(crypto&&crypto.getRandomValues){let t=new Uint8Array(16);return crypto.getRandomValues(t),[...t.values()]}let e=[];for(let t=0;t<16;t+=1)e.push(Math.floor(Math.random()*256));return e}function N(e,t){let r="";for(let n=t.start;n<=t.end;n+=1)r+=e[n].toString(16).padStart(2,"0");return r}function at(e){return e[le.start]=(e[le.start]|128)&191,e[ue.start]=e[ue.start]&15|64,`${N(e,tt)}-${N(e,rt)}-${N(e,ue)}-${N(e,le)}${N(e,nt)}-${N(e,it)}`}function ot(){let e=st();return at(e)}function fe(){return typeof crypto!==void 0&&typeof crypto.randomUUID=="function"?crypto.randomUUID():ot()}var y={};(function(e,t){if(!e)return;let r=[].slice,n="?",i=/^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/;function f(k,B){return Object.prototype.hasOwnProperty.call(k,B)}function x(k){return typeof k=="undefined"}y.wrap=function(B){function I(){try{return B.apply(this,arguments)}catch(Z){throw y.report(Z),Z}}return I},y.computeStackTrace=function(){let I={};function Z(a){if(!y.remoteFetching)return"";try{let u=function(){try{return new e.XMLHttpRequest}catch(p){return new e.ActiveXObject("Microsoft.XMLHTTP")}}();return u.open("GET",a,!1),u.send(""),u.responseText}catch(c){return""}}function D(a){if(typeof a!="string")return[];if(!f(I,a)){let c="",u="";try{u=e.document.domain}catch(o){}let p=/(.*)\:\/\/([^:\/]+)([:\d]*)\/{0,1}([\s\S]*)/.exec(a);p&&p[2]===u&&(c=Z(a)),I[a]=c?c.split(`
2
+ `):[]}return I[a]}function C(a,c){typeof c!="number"&&(c=Number(c));let u=/function ([^(]*)\(([^)]*)\)/,p=/['"]?([0-9A-Za-z$_]+)['"]?\s*[:=]\s*(function|eval|new Function)/,o="",b=10,g=D(a),d;if(!g.length)return n;for(let l=0;l<b;++l)if(o=g[c-l]+o,!x(o)&&((d=p.exec(o))||(d=u.exec(o))))return d[1];return n}function $(a,c){typeof c!="number"&&(c=Number(c));let u=D(a);if(!u.length)return null;let p=[],o=Math.floor(y.linesOfContext/2),b=o+y.linesOfContext%2,g=Math.max(0,c-o-1),d=Math.min(u.length,c+b-1);c-=1;for(let l=g;l<d;++l)x(u[l])||p.push(u[l]);return p.length>0?{contextLines:p,startFromSource:g+1}:null}function J(a){return a.replace(/[\-\[\]{}()*+?.,\\\^$|#]/g,"\\$&")}function pe(a){return J(a).replace("<","(?:<|&lt;)").replace(">","(?:>|&gt;)").replace("&","(?:&|&amp;)").replace('"','(?:"|&quot;)').replace(/\s+/g,"\\s+")}function Q(a,c){let u,p;for(let o=0,b=c.length;o<b;++o)if((u=D(c[o])).length&&(u=u.join(`
3
+ `),p=a.exec(u)))return{url:c[o],line:u.substring(0,p.index).split(`
4
+ `).length,column:p.index-u.lastIndexOf(`
5
+ `,p.index)-1};return null}function re(a,c,u){typeof u!="number"&&(u=Number(u));let p=D(c),o=new RegExp(`\\b${J(a)}\\b`),b;return u-=1,p&&p.length>u&&(b=o.exec(p[u]))?b.index:null}function Fe(a){if(x(e&&e.document))return;let c=[e.location.href],u=e.document.getElementsByTagName("script"),p,o=`${a}`,b=/^function(?:\s+([\w$]+))?\s*\(([\w\s,]*)\)\s*\{\s*(\S[\s\S]*\S)\s*\}\s*$/,g=/^function on([\w$]+)\s*\(event\)\s*\{\s*(\S[\s\S]*\S)\s*\}\s*$/,d,l,m;for(let s=0;s<u.length;++s){let h=u[s];h.src&&c.push(h.src)}if(!(l=b.exec(o)))d=new RegExp(J(o).replace(/\s+/g,"\\s+"));else{let s=l[1]?`\\s+${l[1]}`:"",h=l[2].split(",").join("\\s*,\\s*");p=J(l[3]).replace(/;$/,";?"),d=new RegExp(`function${s}\\s*\\(\\s*${h}\\s*\\)\\s*{\\s*${p}\\s*}`)}if(m=Q(d,c))return m;if(l=g.exec(o)){let s=l[1];if(p=pe(l[2]),d=new RegExp(`on${s}=[\\'"]\\s*${p}\\s*[\\'"]`,"i"),(m=Q(d,c[0]))||(d=new RegExp(p),m=Q(d,c)))return m}return null}function ge(a){var L;if(!a.stack)return null;let c=/^\s*at (.*?) ?\(((?:file|https?|blob|chrome-extension|native|eval|webpack|<anonymous>|\/).*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,u=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)((?:file|https?|blob|chrome|webpack|resource|\[native).*?|[^@]*bundle)(?::(\d+))?(?::(\d+))?\s*$/i,p=/^\s*at (?:((?:\[object object\])?.+) )?\(?((?:file|ms-appx|https?|webpack|blob):.*?):(\d+)(?::(\d+))?\)?\s*$/i,o,b=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,g=/\((\S*)(?::(\d+))(?::(\d+))\)/,d=a.stack.split(`
6
+ `),l=[],m,s,h,E=/^(.*) is undefined$/.exec(a.message);for(let F=0,Re=d.length;F<Re;++F){if(s=c.exec(d[F])){let xe=s[2]&&s[2].indexOf("native")===0;o=s[2]&&s[2].indexOf("eval")===0,o&&(m=g.exec(s[2]))&&(s[2]=m[1],s[3]=m[2],s[4]=m[3]),h={url:xe?null:s[2],func:s[1]||n,args:xe?[s[2]]:[],line:s[3]?+s[3]:null,column:s[4]?+s[4]:null}}else if(s=p.exec(d[F]))h={url:s[2],func:s[1]||n,args:[],line:+s[3],column:s[4]?+s[4]:null};else if(s=u.exec(d[F]))o=s[3]&&s[3].indexOf(" > eval")>-1,o&&(m=b.exec(s[3]))?(s[3]=m[1],s[4]=m[2],s[5]=null):F===0&&!s[5]&&!x(a.columnNumber)&&(l[0].column=a.columnNumber+1),h={url:s[3],func:s[1]||n,args:s[2]?s[2].split(","):[],line:s[4]?+s[4]:null,column:s[5]?+s[5]:null};else continue;!h.func&&h.line&&(h.func=C(h.url,h.line));let M=$(h.url,h.line);h.context=h.line&&(L=M==null?void 0:M.contextLines)!=null?L:null,h.srcStart=M==null?void 0:M.startFromSource,l.push(h)}return l.length?(l[0]&&l[0].line&&!l[0].column&&E&&(l[0].column=re(E[1],l[0].url,l[0].line)),{mode:"stack",name:a.name,message:a.message,stack:l}):null}function Oe(a){var d;let{stacktrace:c}=a;if(!c)return null;let u=/ line (\d+).*script (?:in )?(\S+)(?:: in function (\S+))?$/i,p=/ line (\d+), column (\d+)\s*(?:in (?:<anonymous function: ([^>]+)>|([^\)]+))\((.*)\))? in (.*):\s*$/i,o=c.split(`
7
+ `),b=[],g;for(let l=0;l<o.length;l+=2){let m=null;if((g=u.exec(o[l]))?m={url:g[2],line:+g[1],column:null,func:g[3],args:[]}:(g=p.exec(o[l]))&&(m={url:g[6],line:+g[1],column:+g[2],func:g[3]||g[4],args:g[5]?g[5].split(","):[]}),m){if(!m.func&&m.line&&(m.func=C(m.url,m.line)),m.line)try{let s=$(m.url,m.line);m.srcStart=s==null?void 0:s.startFromSource,m.context=m.line&&(d=s==null?void 0:s.contextLines)!=null?d:null}catch(s){}m.context||(m.context=[o[l+1]]),b.push(m)}}return b.length?{mode:"stacktrace",name:a.name,message:a.message,stack:b}:null}function Be(a){let c=a.message.split(`
8
+ `);if(c.length<4)return null;let u=/^\s*Line (\d+) of linked script ((?:file|https?|blob)\S+)(?:: in function (\S+))?\s*$/i,p=/^\s*Line (\d+) of inline#(\d+) script in ((?:file|https?|blob)\S+)(?:: in function (\S+))?\s*$/i,o=/^\s*Line (\d+) of function script\s*$/i,b=[],g=e&&e.document&&e.document.getElementsByTagName("script"),d=[],l;for(let m in g)f(g,m)&&!g[m].src&&d.push(g[m]);for(let m=2;m<c.length;m+=2){let s=null;if(l=u.exec(c[m]))s={url:l[2],func:l[3],args:[],line:+l[1],column:null};else if(l=p.exec(c[m])){s={url:l[3],func:l[4],args:[],line:+l[1],column:null};let h=+l[1],E=d[l[2]-1];if(E){let L=D(s.url);if(L){L=L.join(`
9
+ `);let F=L.indexOf(E.innerText);F>=0&&(s.line=h+L.substring(0,F).split(`
10
+ `).length)}}}else if(l=o.exec(c[m])){let h=e.location.href.replace(/#.*$/,""),E=new RegExp(pe(c[m+1])),L=Q(E,[h]);s={url:h,func:"",args:[],line:L?L.line:l[1],column:null}}if(s){s.func||(s.func=C(s.url,s.line));let h=$(s.url,s.line);s.srcStart=h==null?void 0:h.startFromSource;let E=h==null?void 0:h.contextLines,L=E?E[Math.floor(E.length/2)]:null;E&&L&&L.replace(/^\s*/,"")===c[m+1].replace(/^\s*/,"")?s.context=E:s.context=[c[m+1]],b.push(s)}}return b.length?{mode:"multiline",name:a.name,message:c[0],stack:b}:null}function he(a,c,u,p){var b;let o={url:c,line:u};if(o.url&&o.line){if(a.incomplete=!1,o.func||(o.func=C(o.url,o.line)),!o.context){let d=$(o.url,o.line);o.context=(b=d==null?void 0:d.contextLines)!=null?b:null,o.srcStart=d==null?void 0:d.startFromSource}let g=/ '([^']+)' /.exec(p);if(g&&(o.column=re(g[1],o.url,o.line)),a.stack.length>0&&a.stack[0].url===o.url){if(a.stack[0].line===o.line)return!1;if(!a.stack[0].line&&a.stack[0].func===o.func)return a.stack[0].line=o.line,a.stack[0].context=o.context,!1}return a.stack.unshift(o),a.partial=!0,!0}return a.incomplete=!0,!1}function be(a,c){let u=/function\s+([_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*)?\s*\(/i,p=[],o={},b=!1,g,d,l;for(let s=be.caller;s&&!b;s=s.caller)if(!(s===w||s===y.report)){if(d={url:null,func:n,args:[],line:null,column:null},s.name?d.func=s.name:(g=u.exec(s.toString()))&&(d.func=g[1]),typeof d.func=="undefined")try{d.func=g.input.substring(0,g.input.indexOf("{"))}catch(h){}if(l=Fe(s)){d.url=l.url,d.line=l.line,d.func===n&&(d.func=C(d.url,d.line));let h=/ '([^']+)' /.exec(a.message||a.description);h&&(d.column=re(h[1],l.url,l.line))}o[`${s}`]?b=!0:o[`${s}`]=!0,p.push(d)}c&&p.splice(0,c);let m={mode:"callers",name:a.name,message:a.message,stack:p};return he(m,a.sourceURL||a.fileName,a.line||a.lineNumber,a.message||a.description),m}function w(a,c){let u=null;c=c==null?0:+c;try{if(u=Oe(a),u)return u}catch(p){}try{if(u=ge(a),u)return u}catch(p){}try{if(u=Be(a),u)return u}catch(p){}try{if(u=be(a,c+1),u)return u}catch(p){}return{name:a.name,message:a.message,mode:"failed",stack:[]}}function Ie(a){a=(a==null?0:+a)+1;try{throw new Error}catch(c){return w(c,a+1)}}return w.augmentStackTraceWithInitialElement=he,w.computeStackTraceFromStackProp=ge,w.guessFunctionName=C,w.gatherContext=$,w.ofCaller=Ie,w.getSource=D,w}(),y.remoteFetching||(y.remoteFetching=!0),y.collectWindowErrors||(y.collectWindowErrors=!0),(!y.linesOfContext||y.linesOfContext<1)&&(y.linesOfContext=11)})(typeof window!="undefined"?window:global);function te(){return y}var Ee="(index)";function ct(e,t){let r=e;if(e.startsWith(t)){if(r=e.slice(t.length),r.startsWith("/")&&(r=r.slice(1)),r==="")return Ee;r.endsWith("/")&&(r+=Ee)}return r}function ut(e,t,r){return Math.min(t,Math.max(e,r))}function _e(e,t,r){if(t.length<=e.maxLength)return t;let n=Math.max(0,r-e.beforeColumnCharacters),i=Math.min(t.length,n+e.maxLength);return t.slice(n,i)}function ke(e,t,r,n){let i=e<0?0:e,f=t>r.length?r.length:t;return i<f?r.slice(i,f).map(n):[]}function lt(e,t){var k,B;let{context:r}=e;if(!r)return{};let{maxLineLength:n}=t.source,i=Math.floor(n/2),f=I=>_e({maxLength:t.source.maxLineLength,beforeColumnCharacters:i},I,0),x=ut(0,r.length-1,((k=e==null?void 0:e.line)!=null?k:0)-((B=e.srcStart)!=null?B:0));return{srcBefore:ke(x-t.source.beforeLines,x,r,f),srcLine:_e({maxLength:n,beforeColumnCharacters:i},r[x],e.column||0),srcAfter:ke(x+1,x+1+t.source.afterLines,r,f)}}function me(e,t){return t.enabled?{frames:te().computeStackTrace(e).stack.reverse().map(i=>{var f,x;return{fileName:ct(i.url,window.location.origin),function:i.func,line:(f=i.line)!=null?f:void 0,col:(x=i.column)!=null?x:void 0,...lt(i,t)}})}:{frames:[]}}var we="$ld:telemetry",ft=`${we}:error`,mt=`${we}:session:init`,Te="generic",dt="exception was null or undefined",pt="exception had no message",gt=5;function Se(e){switch(typeof e){case"string":case"boolean":case"number":return e;default:return}}function ht(e,t){return e===void 0?void 0:t(e)}function bt(e){if(!e.enabled)return;let t=te(),r=Math.max(e.source.afterLines,e.source.beforeLines),n=t;n.linesOfContext=r*2+1}function xt(e){return e.logger!==void 0}function yt(e){return e.waitForInitialization!==void 0}var R=class{constructor(t){this._options=t;this._pendingEvents=[];this._breadcrumbs=[];this._inspectorInstances=[];this._collectors=[];this._sessionId=fe();this._registrationComplete=!1;this._eventsDropped=!1;this._breadcrumbFilterError=!1;this._errorFilterError=!1;var f;bt(t.stack),this._collectors.push(new q),this._collectors.push(...t.collectors),this._maxPendingEvents=t.maxPendingEvents,this._maxBreadcrumbs=t.breadcrumbs.maxBreadcrumbs,this._logger=(f=this._options.logger)!=null?f:S;let r=[oe];t.breadcrumbs.http.customUrlFilter&&r.push(t.breadcrumbs.http.customUrlFilter),t.breadcrumbs.http.instrumentFetch&&this._collectors.push(new G({urlFilters:r,getLogger:()=>this._logger})),t.breadcrumbs.http.instrumentXhr&&this._collectors.push(new z({urlFilters:r,getLogger:()=>this._logger})),t.breadcrumbs.click&&this._collectors.push(new X),t.breadcrumbs.keyboardInput&&this._collectors.push(new j),this._collectors.forEach(x=>x.register(this,this._sessionId));let n=this,i=[];ce(t,i,n),this._inspectorInstances.push(...i)}register(t){if(this._client!==void 0)return;this._client=t,this._setLogger();let r=()=>{var n;(n=this._client)==null||n.track(mt,{sessionId:this._sessionId}),this._pendingEvents.forEach(i=>{var f;(f=this._client)==null||f.track(i.type,i.data)}),this._pendingEvents=[],this._registrationComplete=!0};yt(t)?(async()=>{try{await t.waitForInitialization(gt)}catch(n){}r()})():r()}_setLogger(){this._options.logger?this._logger=this._options.logger:xt(this._client)?this._logger=this._client.logger:this._logger=S}inspectors(){return this._inspectorInstances}_capture(t,r){var i;let n=this._applyFilters(r,this._options.errorFilters,f=>{this._errorFilterError||(this._errorFilterError=!0,this._logger.warn(T(`Error applying error filters: ${f}`)))});n!==void 0&&(this._registrationComplete?(i=this._client)==null||i.track(t,n):(this._pendingEvents.push({type:t,data:n}),this._pendingEvents.length>this._maxPendingEvents&&(this._eventsDropped||(this._eventsDropped=!0,this._logger.warn(T("Maximum pending events reached. Old events will be dropped until the SDK client is registered."))),this._pendingEvents.shift())))}captureError(t){var i,f;let n=t!=null?{type:t.name||((i=t.constructor)==null?void 0:i.name)||Te,message:(f=t.message)!=null?f:pt,stack:me(t,this._options.stack),breadcrumbs:[...this._breadcrumbs],sessionId:this._sessionId}:{type:Te,message:dt,stack:{frames:[]},breadcrumbs:[...this._breadcrumbs],sessionId:this._sessionId};this._capture(ft,n)}captureErrorEvent(t){this.captureError(t.error)}_applyFilters(t,r,n){try{return r.reduce((i,f)=>ht(i,f),t)}catch(i){n(i);return}}addBreadcrumb(t){let r=this._applyFilters(t,this._options.breadcrumbs.filters,n=>{this._breadcrumbFilterError||(this._breadcrumbFilterError=!0,this._logger.warn(T(`Error applying breadcrumb filters: ${n}`)))});r!==void 0&&(this._breadcrumbs.push(r),this._breadcrumbs.length>this._maxBreadcrumbs&&this._breadcrumbs.shift())}close(){this._collectors.forEach(t=>t.unregister())}handleFlagUsed(t,r,n){let i={type:"flag-evaluated",data:{key:t,value:Se(r.value)},timestamp:new Date().getTime(),class:"feature-management",level:"info"};this.addBreadcrumb(i)}handleFlagDetailChanged(t,r){let n={type:"flag-detail-changed",data:{key:t,value:Se(r.value)},timestamp:new Date().getTime(),class:"feature-management",level:"info"};this.addBreadcrumb(n)}};var Lt={maxBreadcrumbs:0,evaluations:!1,flagChange:!1,click:!1,keyboardInput:!1,http:{instrumentFetch:!1,instrumentXhr:!1,customUrlFilter:void 0},filters:[]},vt={enabled:!1,source:{beforeLines:0,afterLines:0,maxLineLength:0}};function Et(){return{breadcrumbs:{maxBreadcrumbs:50,evaluations:!0,flagChange:!0,click:!0,keyboardInput:!0,http:{instrumentFetch:!0,instrumentXhr:!0},filters:[]},stack:{enabled:!0,source:{beforeLines:3,afterLines:3,maxLineLength:280}},maxPendingEvents:100,collectors:[],errorFilters:[]}}function U(e,t,r){return T(`Config option "${e}" should be of type ${t}, got ${r}, using default value`)}function _(e,t,r){return n=>{let i=typeof n;return i===e?!0:(r==null||r.warn(U(t,e,i)),!1)}}function v(e,t,r){return e!=null&&(!r||r(e))?e:t}function _t(e,t,r){if(e!==void 0&&e!==!1&&typeof e!="object")return r==null||r.warn(U("breadcrumbs.http","HttpBreadCrumbOptions | false",typeof e)),t;if(e===!1)return{instrumentFetch:!1,instrumentXhr:!1};e!=null&&e.customUrlFilter&&typeof e.customUrlFilter!="function"&&(r==null||r.warn(T(`The "breadcrumbs.http.customUrlFilter" must be a function. Received ${typeof e.customUrlFilter}`)));let n=e!=null&&e.customUrlFilter&&typeof(e==null?void 0:e.customUrlFilter)=="function"?e.customUrlFilter:void 0;return{instrumentFetch:v(e==null?void 0:e.instrumentFetch,t.instrumentFetch,_("boolean","breadcrumbs.http.instrumentFetch",r)),instrumentXhr:v(e==null?void 0:e.instrumentXhr,t.instrumentXhr,_("boolean","breadcrumbs.http.instrumentXhr",r)),customUrlFilter:n}}function kt(e){if(e.logger){let{logger:t}=e;if(typeof t=="object"&&t!==null&&"warn"in t)return P(t);S.warn(U("logger","MinLogger or LDLogger",typeof t))}}function Tt(e,t,r){var n,i,f;return e===!1?vt:{enabled:!0,source:{beforeLines:v((n=e==null?void 0:e.source)==null?void 0:n.beforeLines,t.source.beforeLines,_("number","stack.beforeLines",r)),afterLines:v((i=e==null?void 0:e.source)==null?void 0:i.afterLines,t.source.afterLines,_("number","stack.afterLines",r)),maxLineLength:v((f=e==null?void 0:e.source)==null?void 0:f.maxLineLength,t.source.maxLineLength,_("number","stack.maxLineLength",r))}}}function St(e,t,r){return e===!1?Lt:{maxBreadcrumbs:v(e==null?void 0:e.maxBreadcrumbs,t.maxBreadcrumbs,_("number","breadcrumbs.maxBreadcrumbs",r)),evaluations:v(e==null?void 0:e.evaluations,t.evaluations,_("boolean","breadcrumbs.evaluations",r)),flagChange:v(e==null?void 0:e.flagChange,t.flagChange,_("boolean","breadcrumbs.flagChange",r)),click:v(e==null?void 0:e.click,t.click,_("boolean","breadcrumbs.click",r)),keyboardInput:v(e==null?void 0:e.keyboardInput,t.keyboardInput,_("boolean","breadcrumbs.keyboardInput",r)),http:_t(e==null?void 0:e.http,t.http,r),filters:v(e==null?void 0:e.filters,t.filters,n=>Array.isArray(n)?!0:(r==null||r.warn(U("breadcrumbs.filters","BreadcrumbFilter[]",typeof n)),!1))}}function V(e,t){let r=Et();return e.breadcrumbs&&_("object","breadcrumbs",t)(e.breadcrumbs),e.stack&&_("object","stack",t)(e.stack),{breadcrumbs:St(e.breadcrumbs,r.breadcrumbs,t),stack:Tt(e.stack,r.stack,t),maxPendingEvents:v(e.maxPendingEvents,r.maxPendingEvents,_("number","maxPendingEvents",t)),collectors:[...v(e.collectors,r.collectors,n=>Array.isArray(n)?!0:(t==null||t.warn(U("collectors","Collector[]",typeof n)),!1))],logger:kt(e),errorFilters:v(e.errorFilters,r.errorFilters,n=>Array.isArray(n)?!0:(t==null||t.warn(U("errorFilters","ErrorDataFilter[]",typeof n)),!1))}}var Y,de=!1;function wt(e){let t=P(e==null?void 0:e.logger);if(Y){t.warn(T("Telemetry has already been initialized. Ignoring new options."));return}let r=V(e||{},t);Y=new R(r)}function O(){if(!Y){if(de)return;S.warn(T("Telemetry has not been initialized")),de=!0;return}return Y}function Ft(){Y=void 0,de=!1}function Ot(){var e;return((e=O())==null?void 0:e.inspectors())||[]}function Bt(e){var t;(t=O())==null||t.captureError(e)}function It(e){var t;(t=O())==null||t.captureErrorEvent(e)}function Rt(e){var t;(t=O())==null||t.addBreadcrumb(e)}function Dt(e){var t;(t=O())==null||t.register(e)}function Ct(){var e;(e=O())==null||e.close()}function Mt(e){let t=V(e||{},P(e==null?void 0:e.logger));return new R(t)}0&&(module.exports={addBreadcrumb,captureError,captureErrorEvent,close,getTelemetryInstance,initTelemetry,initTelemetryInstance,inspectors,register,resetTelemetryInstance});
11
11
  /**
12
12
  * https://github.com/csnover/TraceKit
13
13
  * @license MIT