@taiga-ai/monitor-web 0.3.0-dev.25 → 0.3.1-dev.26

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/README.md CHANGED
@@ -76,4 +76,4 @@ Events are batched and sent with [`navigator.sendBeacon`](https://developer.mozi
76
76
 
77
77
  ## License
78
78
 
79
- MIT. Bundles [`web-vitals`](https://github.com/GoogleChrome/web-vitals) (Apache-2.0); see `THIRD_PARTY_NOTICES.txt`.
79
+ MIT. Bundles [`web-vitals`](https://github.com/GoogleChrome/web-vitals) (Apache-2.0); see `NOTICE`, the file name licence collectors such as rollup-plugin-license read, so an app that bundles this package carries the notice in its own open-source notices.
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- const e=`@taiga-ai/monitor-web`,t=`0.3.0`;function n(){let e=globalThis.crypto;return e&&typeof e.randomUUID==`function`?e.randomUUID():`${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`}function r(e,t){return`${e}${e.includes(`?`)?`&`:`?`}k=${encodeURIComponent(t)}`}var i=class{constructor(e){this.queue=[],this.fetchImpl=globalThis.fetch?globalThis.fetch.bind(globalThis):void 0,this.config=e}enqueue(e){let t=e;if(this.config.beforeSend)try{t=this.config.beforeSend(e)}catch{return}t&&(this.queue.push(t),this.queue.length>=50?this.flush():this.scheduleFlush())}flush(){for(this.timer!==void 0&&(clearTimeout(this.timer),this.timer=void 0);this.queue.length>0;){let e=this.queue.splice(0,50);this.send(e)}}scheduleFlush(){this.timer===void 0&&(this.timer=setTimeout(()=>this.flush(),5e3))}send(i){let a;try{a=JSON.stringify({batchId:n(),meta:{sdk:e,sdkVersion:t,sentAt:(/* @__PURE__ */ new Date()).toISOString()},events:i})}catch{return}let o=r(this.config.url,this.config.key);try{let e=globalThis.navigator;if(e&&typeof e.sendBeacon==`function`&&e.sendBeacon(o,new Blob([a],{type:`text/plain`})))return}catch{}try{this.fetchImpl?.(o,{method:`POST`,body:a,keepalive:!0,headers:{"content-type":`text/plain`},mode:`cors`})}catch{}}};function a(e){try{let t=new URL(e);if(t.protocol!==`https:`&&t.protocol!==`http:`)return null;let n=decodeURIComponent(t.username);return n?(t.username=``,t.password=``,{key:n,url:`${t.origin}${t.pathname}`}):null}catch{return null}}function o(e){let t=(e.dsn?a(e.dsn):null)??(e.key&&e.url?{key:e.key,url:e.url}:null);return t?e.beforeSend?{...t,beforeSend:e.beforeSend}:t:null}let s=-1;const c=()=>s,l=e=>{addEventListener(`pageshow`,t=>{t.persisted&&(s=t.timeStamp,e(t))},!0)},u=(e,t,n,r)=>{let i,a;return o=>{t.value>=0&&(o||r)&&(a=t.value-(i??0),(a||i===void 0)&&(i=t.value,t.delta=a,t.rating=((e,t)=>e>t[1]?`poor`:e>t[0]?`needs-improvement`:`good`)(t.value,n),e(t)))}},d=e=>{requestAnimationFrame(()=>requestAnimationFrame(e))},f=()=>{let e=performance.getEntriesByType(`navigation`)[0];if(e&&e.responseStart>0&&e.responseStart<performance.now())return e},p=()=>f()?.activationStart??0;let m=-1;const h=/* @__PURE__ */ new Set,g=()=>document.visibilityState!==`hidden`||document.prerendering?1/0:0,_=e=>{if(document.visibilityState===`hidden`){if(e.type===`visibilitychange`)for(let e of h)e();isFinite(m)||(m=e.type===`visibilitychange`?e.timeStamp:0,removeEventListener(`prerenderingchange`,_,!0))}},v=(e=!1)=>{if(e&&(m=1/0),m<0){let e=p();m=(document.prerendering?void 0:globalThis.performance.getEntriesByType(`visibility-state`).find(t=>t.name===`hidden`&&t.startTime>=e)?.startTime)??g(),addEventListener(`visibilitychange`,_,!0),addEventListener(`prerenderingchange`,_,!0),l(()=>{setTimeout(()=>{m=g()})})}return{get firstHiddenTime(){return m},onHidden(e){h.add(e)}}},y=(e,t=-1,n,r=0,i,a,o)=>{let s=f(),l=s?.navigationId||0,u=`navigate`;return n?u=n:c()>=0?u=`back-forward-cache`:s&&(document.prerendering||p()>0?u=`prerender`:document.wasDiscarded?u=`restore`:s.type&&(u=s.type.replace(/_/g,`-`))),{name:e,value:t,rating:`good`,delta:0,entries:[],id:`v6-${Date.now()}-${Math.floor(8999999999999*Math.random())+0xe8d4a51000}`,navigationType:u,navigationId:r||l,navigationInteractionId:i,navigationURL:a||s?.name,navigationStartTime:o||0}},b=/* @__PURE__ */ new WeakMap;function x(e,t){let n=b.get(t);return n||(n=/* @__PURE__ */ new WeakMap,b.set(t,n)),n.get(e)||n.set(e,new t),n.get(e)}var ee=class{t;i=0;o=[];h(e){if(e.hadRecentInput)return;let t=this.o[0],n=this.o.at(-1);this.i&&t&&n&&e.startTime-n.startTime<1e3&&e.startTime-t.startTime<5e3?(this.i+=e.value,this.o.push(e)):(this.i=e.value,this.o=[e]),this.t?.(e)}};const S=(e,t,n={})=>{try{let r=e.filter(e=>PerformanceObserver.supportedEntryTypes.includes(e));if(r.length>0){let e=new PerformanceObserver(e=>{queueMicrotask(()=>{let n=e.getEntries();r.length>1&&n.sort((e,t)=>e.startTime+e.duration-(t.startTime+t.duration)),t(n)})});for(let t of r)e.observe({type:t,buffered:!0,...n});return e}}catch{}},C=e=>globalThis.PerformanceObserver?.supportedEntryTypes.includes(`soft-navigation`)&&typeof globalThis.PerformanceSoftNavigation?.prototype?.getLargestInteractionContentfulPaint==`function`&&e&&e.reportSoftNavs,w=(e,t)=>{if(e.set(t.navigationId,t),e.size>2){let t=e.keys().next().value;t!==void 0&&e.delete(t)}},T=e=>{let t=!1;return()=>{t||=(e(),!0)}};var te=class{l};const E=e=>{document.prerendering?addEventListener(`prerenderingchange`,e,!0):e()},D=[1800,3e3],O=(e,t={})=>{let n=C(t);E(()=>{let r=x(t,te),i=v(),a,o=y(`FCP`),s=S([`paint`],e=>{for(let t of e)t.name===`first-contentful-paint`&&(s.disconnect(),t.startTime<i.firstHiddenTime&&(o.value=Math.max(t.startTime-p(),0),o.entries.push(t),o.navigationId=t.navigationId||o.navigationId,a(!0)))});s&&(a=u(e,o,D,t.reportAllChanges),l(n=>{o=y(`FCP`,-1,`back-forward-cache`,o.navigationId,o.navigationInteractionId,o.navigationURL,c()),a=u(e,o,D,t.reportAllChanges),d(()=>{o.value=performance.now()-n.timeStamp,a(!0)})})),n&&S([`soft-navigation`],n=>{n.forEach(n=>{r.l&&n.navigationId&&w(r.l,n);let i=Math.max((n.presentationTime||n.paintTime||0)-n.startTime,0);o=y(`FCP`,i,`soft-navigation`,n.navigationId,n.interactionId,n.name,n.startTime),a=u(e,o,D,t.reportAllChanges),a(!0)})},t)})},k=[.1,.25],A=(e,t={})=>{let n=v();O(T(()=>{let r,i=y(`CLS`,0),a=x(t,ee),o=(n,o,s,c,l)=>{i=y(`CLS`,0,n,o,s,c,l),a.i=0,r=u(e,i,k,t.reportAllChanges)},s=(e=!1)=>{a.i>i.value&&(i.value=a.i,i.entries=a.o),r(e)},f=e=>{s(!0),o(`soft-navigation`,e.navigationId,e.interactionId,e.name,e.startTime)},p=e=>{for(let t of e)t.entryType===`soft-navigation`?f(t):a.h(t);s()},m=[`layout-shift`];C(t)&&m.push(`soft-navigation`);let h=S(m,p);h&&(r=u(e,i,k,t.reportAllChanges),n.onHidden(()=>{p(h.takeRecords()),r(!0)}),l(()=>{o(`back-forward-cache`,i.navigationId,i.navigationInteractionId,i.navigationURL,c()),d(r)}),setTimeout(r))}))};let j=0,M=1/0,N=0;const ne=e=>{for(let t of e)t.interactionId&&(M=Math.min(M,t.interactionId),N=Math.max(N,t.interactionId),j=N?(N-M)/7+1:0)};let P;const F=()=>P?j:performance.interactionCount??0,re=()=>{`interactionCount`in performance||P||(P=S([`event`],ne,{durationThreshold:0}))};let I=0;var L=class{u=[];v=/* @__PURE__ */ new Map;m;p;T(){I=F(),this.u.length=0,this.v.clear()}M(e){let t=F()-I,n=Math.min(this.u.length-1,Math.floor(t/50));return!t||n!==-1||e!==`soft-navigation`&&e!==`back-forward-cache`?this.u[n]:{_:8,id:-1,entries:[]}}h(e){if(this.m?.(e),!e.interactionId&&e.entryType!==`first-input`)return;let t=this.u.at(-1),n=this.v.get(e.interactionId);if(n||this.u.length<10||e.duration>t._){if(n?e.duration>n._?(n.entries=[e],n._=e.duration):e.duration===n._&&e.startTime===n.entries[0].startTime&&n.entries.push(e):(n={id:e.interactionId,entries:[e],_:e.duration},this.v.set(n.id,n),this.u.push(n)),this.u.sort((e,t)=>t._-e._),this.u.length>10){let e=this.u.splice(10);for(let t of e)this.v.delete(t.id)}this.p?.(n)}}};const R=e=>{let t=`requestIdleCallback`in globalThis?1e3:0,n=globalThis.requestIdleCallback||setTimeout,r=globalThis.cancelIdleCallback||clearTimeout;if(document.visibilityState===`hidden`)e();else{let i=T(e),a=-1,o=()=>{r(a),i()};addEventListener(`visibilitychange`,o,{once:!0,capture:!0}),a=n(()=>{removeEventListener(`visibilitychange`,o,{capture:!0}),i()},{timeout:t})}},z=[200,500],ie=(e,t={})=>{if(!globalThis.PerformanceEventTiming||!(`interactionId`in PerformanceEventTiming.prototype))return;let n=v();E(()=>{re();let r,i=y(`INP`),a=x(t,L),o=(n,o,s,c,l)=>{a.T(),i=y(`INP`,-1,n,o,s,c,l),r=u(e,i,z,t.reportAllChanges)},s=()=>{let e=a.M(i.navigationType);e&&e._!==i.value&&(i.value=e._,i.entries=e.entries,r())},d=e=>{s(),r(!0),o(`soft-navigation`,e.navigationId,e.interactionId,e.name,e.startTime)},f=(e,t=!1)=>{R(()=>{for(let t of e)t.entryType===`soft-navigation`?d(t):a.h(t);s(),t&&r(!0)})},p=[`event`,`first-input`];C(t)&&p.push(`soft-navigation`);let m=S(p,f,{...t,durationThreshold:t.durationThreshold??40});r=u(e,i,z,t.reportAllChanges),m&&(n.onHidden(()=>{f(m.takeRecords(),!0)}),l(()=>{o(`back-forward-cache`,i.navigationId,i.navigationInteractionId,i.navigationURL,c())}))})};var ae=class{m;l;h(e){this.m?.(e)}};const B=[2500,4e3],oe=(e,t={})=>{let n=!1,r=C(t);E(()=>{let i,a=v(),o=y(`LCP`),s=x(t,ae),f=(r,s,c,l,d)=>{o=y(`LCP`,-1,r,s,c,l,d),i=u(e,o,B,t.reportAllChanges),n=!1,r===`soft-navigation`&&(a=v(!0))},m=e=>{s.l&&e.navigationId&&w(s.l,e),n||i(!0),f(`soft-navigation`,e.navigationId,e.interactionId,e.name,e.startTime);let t=e.getLargestInteractionContentfulPaint?.();t&&h([t])},h=e=>{t.reportAllChanges||r||(e=e.slice(-1));for(let t of e){if(!t)continue;if(t.entryType===`soft-navigation`){m(t);continue}let e=0,n=[],r=t.startTime;if(t.entryType===`largest-contentful-paint`)e=Math.max(t.startTime-p(),0),s.h(t),n=[t];else if(t.entryType===`interaction-contentful-paint`){let i=t;if(!o.navigationId||`interactionId`in i&&i.interactionId!=o.navigationInteractionId)continue;r=i.largestContentfulPaint?.renderTime||0,e=Math.max(r-t.startTime,0),i.largestContentfulPaint&&(s.h(i.largestContentfulPaint),n=[i.largestContentfulPaint])}r<a.firstHiddenTime&&(o.value=e,o.entries=n,i())}},g=[`largest-contentful-paint`];r&&g.push(`interaction-contentful-paint`,`soft-navigation`);let _=S(g,h);if(_){i=u(e,o,B,t.reportAllChanges);let a=[`keydown`,`click`,`visibilitychange`],s=e=>{if(e.isTrusted&&!n){let e=o.id;R(()=>{if(!n){if(!r){_.disconnect();for(let e of a)removeEventListener(e,s,{capture:!0})}e===o.id&&(n=!0,i(!0))}})}};for(let e of a)addEventListener(e,s,{capture:!0});l(r=>{f(`back-forward-cache`,o.navigationId,o.navigationInteractionId,o.navigationURL,c()),i=u(e,o,B,t.reportAllChanges),d(()=>{o.value=performance.now()-r.timeStamp,n=!0,i(!0)})})}})},V=[800,1800],H=e=>{document.prerendering?E(()=>H(e)):document.readyState===`complete`?setTimeout(e):addEventListener(`load`,()=>H(e),!0)},U=(e,t={})=>{let n=C(t),r=y(`TTFB`),i=u(e,r,V,t.reportAllChanges);H(()=>{let a=f();if(a){let o=a.responseStart;r.value=Math.max(o-p(),0),r.entries=[a],i(!0),l(()=>{r=y(`TTFB`,0,`back-forward-cache`,r.navigationId,r.navigationInteractionId,r.navigationURL,c()),i=u(e,r,V,t.reportAllChanges),i(!0)}),n&&S([`soft-navigation`],n=>{n.forEach(n=>{n.navigationId&&(r=y(`TTFB`,0,`soft-navigation`,n.navigationId,n.interactionId,n.name,n.startTime),r.entries=[n],i=u(e,r,V,t.reportAllChanges),i(!0))})},t)}})},W={LCP:`ms`,INP:`ms`,FCP:`ms`,TTFB:`ms`,CLS:`score`};function G(e){let t=t=>{e({kind:`web_vital`,name:t.name,value:t.value,unit:W[t.name]??`ms`,attributes:{rating:t.rating,id:t.id,navigationType:t.navigationType},occurredAt:(/* @__PURE__ */ new Date()).toISOString()})};oe(t),ie(t),A(t),O(t),U(t)}function K(e,t=2048){let n=globalThis.location?.href;try{let r=new URL(e,n);return`${r.origin}${r.pathname}`.slice(0,t)}catch{return(e??``).split(`?`)[0].split(`#`)[0].slice(0,t)}}function q(e,t){return String(e??``).slice(0,t)}function se(e){globalThis.addEventListener(`error`,t=>{let n=t.error;e({kind:`error`,name:n?.name??`Error`,attributes:{message:q(n?.message??t.message,1e3),stack:n?.stack?q(n.stack,4e3):void 0,url:K(globalThis.location?.href??``)},occurredAt:(/* @__PURE__ */ new Date()).toISOString()})}),globalThis.addEventListener(`unhandledrejection`,t=>{let n=t.reason;e({kind:`error`,name:`unhandledrejection`,attributes:{message:q(n?.message??n,1e3),stack:n?.stack?q(n.stack,4e3):void 0,url:K(globalThis.location?.href??``)},occurredAt:(/* @__PURE__ */ new Date()).toISOString()})})}const J=Symbol.for(`taiga.monitor.fetch`),Y=Symbol.for(`taiga.monitor.xhr`);function X(){return globalThis.performance?.now?.()??Date.now()}function Z(e,t,n,r){let i=K(t);return{kind:`api_call`,name:`${e} ${i}`.slice(0,120),value:Math.round(r),unit:`ms`,attributes:{method:e,url:i,statusCode:n},occurredAt:(/* @__PURE__ */ new Date()).toISOString()}}function ce(e,t){return(t?.method??(typeof e==`object`&&`method`in e?e.method:void 0)??`GET`).toUpperCase()}function le(e){return typeof e==`string`?e:e instanceof URL?e.href:e.url}function ue(e){let t=globalThis,n=t.fetch;typeof n!=`function`||t[J]||(t[J]=!0,t.fetch=function(...t){let r=X(),i=ce(t[0],t[1]),a=le(t[0]);return Reflect.apply(n,this,t).then(t=>{try{e(Z(i,a,t.status,X()-r))}catch{}return t},t=>{try{e(Z(i,a,0,X()-r))}catch{}throw t})})}function Q(e){let t=globalThis.XMLHttpRequest,n=t?.prototype;if(!t||!n||n[Y])return;let r=n.open,i=n.send,a=Symbol.for(`taiga.monitor.xhrctx`);n.open=function(e,t,...n){return this[a]={method:String(e).toUpperCase(),url:String(t),start:0},r.apply(this,[e,t,...n])},n.send=function(...t){let n=this[a];return n&&(n.start=X(),this.addEventListener(`loadend`,()=>{try{e(Z(n.method,n.url,this.status,X()-n.start))}catch{}},{once:!0})),i.apply(this,t)},n[Y]=!0}let $=!1;function de(e){if($||globalThis.window===void 0)return;let t=e?o(e):null;if(!t)return;$=!0;let n=e.sampleRate??1;if(!(n<1&&Math.random()>=n))try{let n=new i(t),r=e=>n.enqueue(e);e.captureVitals!==!1&&G(r),e.captureErrors!==!1&&se(r),e.captureRequests!==!1&&(ue(r),Q(r));let a=()=>n.flush();globalThis.addEventListener(`visibilitychange`,()=>{globalThis.document?.visibilityState===`hidden`&&a()}),globalThis.addEventListener(`pagehide`,a)}catch{$=!1}}function fe(){$=!1}export{e as SDK_NAME,t as SDK_VERSION,fe as __resetForTests,de as init,a as parseDsn};
1
+ const e=`@taiga-ai/monitor-web`,t=`0.3.1`;function n(){let e=globalThis.crypto;return e&&typeof e.randomUUID==`function`?e.randomUUID():`${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`}function r(e,t){return`${e}${e.includes(`?`)?`&`:`?`}k=${encodeURIComponent(t)}`}var i=class{constructor(e){this.queue=[],this.fetchImpl=globalThis.fetch?globalThis.fetch.bind(globalThis):void 0,this.config=e}enqueue(e){let t=e;if(this.config.beforeSend)try{t=this.config.beforeSend(e)}catch{return}t&&(this.queue.push(t),this.queue.length>=50?this.flush():this.scheduleFlush())}flush(){for(this.timer!==void 0&&(clearTimeout(this.timer),this.timer=void 0);this.queue.length>0;){let e=this.queue.splice(0,50);this.send(e)}}scheduleFlush(){this.timer===void 0&&(this.timer=setTimeout(()=>this.flush(),5e3))}send(i){let a;try{a=JSON.stringify({batchId:n(),meta:{sdk:e,sdkVersion:t,sentAt:(/* @__PURE__ */ new Date()).toISOString()},events:i})}catch{return}let o=r(this.config.url,this.config.key);try{let e=globalThis.navigator;if(e&&typeof e.sendBeacon==`function`&&e.sendBeacon(o,new Blob([a],{type:`text/plain`})))return}catch{}try{this.fetchImpl?.(o,{method:`POST`,body:a,keepalive:!0,headers:{"content-type":`text/plain`},mode:`cors`})}catch{}}};function a(e){try{let t=new URL(e);if(t.protocol!==`https:`&&t.protocol!==`http:`)return null;let n=decodeURIComponent(t.username);return n?(t.username=``,t.password=``,{key:n,url:`${t.origin}${t.pathname}`}):null}catch{return null}}function o(e){let t=(e.dsn?a(e.dsn):null)??(e.key&&e.url?{key:e.key,url:e.url}:null);return t?e.beforeSend?{...t,beforeSend:e.beforeSend}:t:null}let s=-1;const c=()=>s,l=e=>{addEventListener(`pageshow`,t=>{t.persisted&&(s=t.timeStamp,e(t))},!0)},u=(e,t,n,r)=>{let i,a;return o=>{t.value>=0&&(o||r)&&(a=t.value-(i??0),(a||i===void 0)&&(i=t.value,t.delta=a,t.rating=((e,t)=>e>t[1]?`poor`:e>t[0]?`needs-improvement`:`good`)(t.value,n),e(t)))}},d=e=>{requestAnimationFrame(()=>requestAnimationFrame(e))},f=()=>{let e=performance.getEntriesByType(`navigation`)[0];if(e&&e.responseStart>0&&e.responseStart<performance.now())return e},p=()=>f()?.activationStart??0;let m=-1;const h=/* @__PURE__ */ new Set,g=()=>document.visibilityState!==`hidden`||document.prerendering?1/0:0,_=e=>{if(document.visibilityState===`hidden`){if(e.type===`visibilitychange`)for(let e of h)e();isFinite(m)||(m=e.type===`visibilitychange`?e.timeStamp:0,removeEventListener(`prerenderingchange`,_,!0))}},v=(e=!1)=>{if(e&&(m=1/0),m<0){let e=p();m=(document.prerendering?void 0:globalThis.performance.getEntriesByType(`visibility-state`).find(t=>t.name===`hidden`&&t.startTime>=e)?.startTime)??g(),addEventListener(`visibilitychange`,_,!0),addEventListener(`prerenderingchange`,_,!0),l(()=>{setTimeout(()=>{m=g()})})}return{get firstHiddenTime(){return m},onHidden(e){h.add(e)}}},y=(e,t=-1,n,r=0,i,a,o)=>{let s=f(),l=s?.navigationId||0,u=`navigate`;return n?u=n:c()>=0?u=`back-forward-cache`:s&&(document.prerendering||p()>0?u=`prerender`:document.wasDiscarded?u=`restore`:s.type&&(u=s.type.replace(/_/g,`-`))),{name:e,value:t,rating:`good`,delta:0,entries:[],id:`v6-${Date.now()}-${Math.floor(8999999999999*Math.random())+0xe8d4a51000}`,navigationType:u,navigationId:r||l,navigationInteractionId:i,navigationURL:a||s?.name,navigationStartTime:o||0}},b=/* @__PURE__ */ new WeakMap;function x(e,t){let n=b.get(t);return n||(n=/* @__PURE__ */ new WeakMap,b.set(t,n)),n.get(e)||n.set(e,new t),n.get(e)}var ee=class{t;i=0;o=[];h(e){if(e.hadRecentInput)return;let t=this.o[0],n=this.o.at(-1);this.i&&t&&n&&e.startTime-n.startTime<1e3&&e.startTime-t.startTime<5e3?(this.i+=e.value,this.o.push(e)):(this.i=e.value,this.o=[e]),this.t?.(e)}};const S=(e,t,n={})=>{try{let r=e.filter(e=>PerformanceObserver.supportedEntryTypes.includes(e));if(r.length>0){let e=new PerformanceObserver(e=>{queueMicrotask(()=>{let n=e.getEntries();r.length>1&&n.sort((e,t)=>e.startTime+e.duration-(t.startTime+t.duration)),t(n)})});for(let t of r)e.observe({type:t,buffered:!0,...n});return e}}catch{}},C=e=>globalThis.PerformanceObserver?.supportedEntryTypes.includes(`soft-navigation`)&&typeof globalThis.PerformanceSoftNavigation?.prototype?.getLargestInteractionContentfulPaint==`function`&&e&&e.reportSoftNavs,w=(e,t)=>{if(e.set(t.navigationId,t),e.size>2){let t=e.keys().next().value;t!==void 0&&e.delete(t)}},T=e=>{let t=!1;return()=>{t||=(e(),!0)}};var te=class{l};const E=e=>{document.prerendering?addEventListener(`prerenderingchange`,e,!0):e()},D=[1800,3e3],O=(e,t={})=>{let n=C(t);E(()=>{let r=x(t,te),i=v(),a,o=y(`FCP`),s=S([`paint`],e=>{for(let t of e)t.name===`first-contentful-paint`&&(s.disconnect(),t.startTime<i.firstHiddenTime&&(o.value=Math.max(t.startTime-p(),0),o.entries.push(t),o.navigationId=t.navigationId||o.navigationId,a(!0)))});s&&(a=u(e,o,D,t.reportAllChanges),l(n=>{o=y(`FCP`,-1,`back-forward-cache`,o.navigationId,o.navigationInteractionId,o.navigationURL,c()),a=u(e,o,D,t.reportAllChanges),d(()=>{o.value=performance.now()-n.timeStamp,a(!0)})})),n&&S([`soft-navigation`],n=>{n.forEach(n=>{r.l&&n.navigationId&&w(r.l,n);let i=Math.max((n.presentationTime||n.paintTime||0)-n.startTime,0);o=y(`FCP`,i,`soft-navigation`,n.navigationId,n.interactionId,n.name,n.startTime),a=u(e,o,D,t.reportAllChanges),a(!0)})},t)})},k=[.1,.25],A=(e,t={})=>{let n=v();O(T(()=>{let r,i=y(`CLS`,0),a=x(t,ee),o=(n,o,s,c,l)=>{i=y(`CLS`,0,n,o,s,c,l),a.i=0,r=u(e,i,k,t.reportAllChanges)},s=(e=!1)=>{a.i>i.value&&(i.value=a.i,i.entries=a.o),r(e)},f=e=>{s(!0),o(`soft-navigation`,e.navigationId,e.interactionId,e.name,e.startTime)},p=e=>{for(let t of e)t.entryType===`soft-navigation`?f(t):a.h(t);s()},m=[`layout-shift`];C(t)&&m.push(`soft-navigation`);let h=S(m,p);h&&(r=u(e,i,k,t.reportAllChanges),n.onHidden(()=>{p(h.takeRecords()),r(!0)}),l(()=>{o(`back-forward-cache`,i.navigationId,i.navigationInteractionId,i.navigationURL,c()),d(r)}),setTimeout(r))}))};let j=0,M=1/0,N=0;const ne=e=>{for(let t of e)t.interactionId&&(M=Math.min(M,t.interactionId),N=Math.max(N,t.interactionId),j=N?(N-M)/7+1:0)};let P;const F=()=>P?j:performance.interactionCount??0,re=()=>{`interactionCount`in performance||P||(P=S([`event`],ne,{durationThreshold:0}))};let I=0;var L=class{u=[];v=/* @__PURE__ */ new Map;m;p;T(){I=F(),this.u.length=0,this.v.clear()}M(e){let t=F()-I,n=Math.min(this.u.length-1,Math.floor(t/50));return!t||n!==-1||e!==`soft-navigation`&&e!==`back-forward-cache`?this.u[n]:{_:8,id:-1,entries:[]}}h(e){if(this.m?.(e),!e.interactionId&&e.entryType!==`first-input`)return;let t=this.u.at(-1),n=this.v.get(e.interactionId);if(n||this.u.length<10||e.duration>t._){if(n?e.duration>n._?(n.entries=[e],n._=e.duration):e.duration===n._&&e.startTime===n.entries[0].startTime&&n.entries.push(e):(n={id:e.interactionId,entries:[e],_:e.duration},this.v.set(n.id,n),this.u.push(n)),this.u.sort((e,t)=>t._-e._),this.u.length>10){let e=this.u.splice(10);for(let t of e)this.v.delete(t.id)}this.p?.(n)}}};const R=e=>{let t=`requestIdleCallback`in globalThis?1e3:0,n=globalThis.requestIdleCallback||setTimeout,r=globalThis.cancelIdleCallback||clearTimeout;if(document.visibilityState===`hidden`)e();else{let i=T(e),a=-1,o=()=>{r(a),i()};addEventListener(`visibilitychange`,o,{once:!0,capture:!0}),a=n(()=>{removeEventListener(`visibilitychange`,o,{capture:!0}),i()},{timeout:t})}},z=[200,500],ie=(e,t={})=>{if(!globalThis.PerformanceEventTiming||!(`interactionId`in PerformanceEventTiming.prototype))return;let n=v();E(()=>{re();let r,i=y(`INP`),a=x(t,L),o=(n,o,s,c,l)=>{a.T(),i=y(`INP`,-1,n,o,s,c,l),r=u(e,i,z,t.reportAllChanges)},s=()=>{let e=a.M(i.navigationType);e&&e._!==i.value&&(i.value=e._,i.entries=e.entries,r())},d=e=>{s(),r(!0),o(`soft-navigation`,e.navigationId,e.interactionId,e.name,e.startTime)},f=(e,t=!1)=>{R(()=>{for(let t of e)t.entryType===`soft-navigation`?d(t):a.h(t);s(),t&&r(!0)})},p=[`event`,`first-input`];C(t)&&p.push(`soft-navigation`);let m=S(p,f,{...t,durationThreshold:t.durationThreshold??40});r=u(e,i,z,t.reportAllChanges),m&&(n.onHidden(()=>{f(m.takeRecords(),!0)}),l(()=>{o(`back-forward-cache`,i.navigationId,i.navigationInteractionId,i.navigationURL,c())}))})};var ae=class{m;l;h(e){this.m?.(e)}};const B=[2500,4e3],oe=(e,t={})=>{let n=!1,r=C(t);E(()=>{let i,a=v(),o=y(`LCP`),s=x(t,ae),f=(r,s,c,l,d)=>{o=y(`LCP`,-1,r,s,c,l,d),i=u(e,o,B,t.reportAllChanges),n=!1,r===`soft-navigation`&&(a=v(!0))},m=e=>{s.l&&e.navigationId&&w(s.l,e),n||i(!0),f(`soft-navigation`,e.navigationId,e.interactionId,e.name,e.startTime);let t=e.getLargestInteractionContentfulPaint?.();t&&h([t])},h=e=>{t.reportAllChanges||r||(e=e.slice(-1));for(let t of e){if(!t)continue;if(t.entryType===`soft-navigation`){m(t);continue}let e=0,n=[],r=t.startTime;if(t.entryType===`largest-contentful-paint`)e=Math.max(t.startTime-p(),0),s.h(t),n=[t];else if(t.entryType===`interaction-contentful-paint`){let i=t;if(!o.navigationId||`interactionId`in i&&i.interactionId!=o.navigationInteractionId)continue;r=i.largestContentfulPaint?.renderTime||0,e=Math.max(r-t.startTime,0),i.largestContentfulPaint&&(s.h(i.largestContentfulPaint),n=[i.largestContentfulPaint])}r<a.firstHiddenTime&&(o.value=e,o.entries=n,i())}},g=[`largest-contentful-paint`];r&&g.push(`interaction-contentful-paint`,`soft-navigation`);let _=S(g,h);if(_){i=u(e,o,B,t.reportAllChanges);let a=[`keydown`,`click`,`visibilitychange`],s=e=>{if(e.isTrusted&&!n){let e=o.id;R(()=>{if(!n){if(!r){_.disconnect();for(let e of a)removeEventListener(e,s,{capture:!0})}e===o.id&&(n=!0,i(!0))}})}};for(let e of a)addEventListener(e,s,{capture:!0});l(r=>{f(`back-forward-cache`,o.navigationId,o.navigationInteractionId,o.navigationURL,c()),i=u(e,o,B,t.reportAllChanges),d(()=>{o.value=performance.now()-r.timeStamp,n=!0,i(!0)})})}})},V=[800,1800],H=e=>{document.prerendering?E(()=>H(e)):document.readyState===`complete`?setTimeout(e):addEventListener(`load`,()=>H(e),!0)},U=(e,t={})=>{let n=C(t),r=y(`TTFB`),i=u(e,r,V,t.reportAllChanges);H(()=>{let a=f();if(a){let o=a.responseStart;r.value=Math.max(o-p(),0),r.entries=[a],i(!0),l(()=>{r=y(`TTFB`,0,`back-forward-cache`,r.navigationId,r.navigationInteractionId,r.navigationURL,c()),i=u(e,r,V,t.reportAllChanges),i(!0)}),n&&S([`soft-navigation`],n=>{n.forEach(n=>{n.navigationId&&(r=y(`TTFB`,0,`soft-navigation`,n.navigationId,n.interactionId,n.name,n.startTime),r.entries=[n],i=u(e,r,V,t.reportAllChanges),i(!0))})},t)}})},W={LCP:`ms`,INP:`ms`,FCP:`ms`,TTFB:`ms`,CLS:`score`};function G(e){let t=t=>{e({kind:`web_vital`,name:t.name,value:t.value,unit:W[t.name]??`ms`,attributes:{rating:t.rating,id:t.id,navigationType:t.navigationType},occurredAt:(/* @__PURE__ */ new Date()).toISOString()})};oe(t),ie(t),A(t),O(t),U(t)}function K(e,t=2048){let n=globalThis.location?.href;try{let r=new URL(e,n);return`${r.origin}${r.pathname}`.slice(0,t)}catch{return(e??``).split(`?`)[0].split(`#`)[0].slice(0,t)}}function q(e,t){return String(e??``).slice(0,t)}function se(e){globalThis.addEventListener(`error`,t=>{let n=t.error;e({kind:`error`,name:n?.name??`Error`,attributes:{message:q(n?.message??t.message,1e3),stack:n?.stack?q(n.stack,4e3):void 0,url:K(globalThis.location?.href??``)},occurredAt:(/* @__PURE__ */ new Date()).toISOString()})}),globalThis.addEventListener(`unhandledrejection`,t=>{let n=t.reason;e({kind:`error`,name:`unhandledrejection`,attributes:{message:q(n?.message??n,1e3),stack:n?.stack?q(n.stack,4e3):void 0,url:K(globalThis.location?.href??``)},occurredAt:(/* @__PURE__ */ new Date()).toISOString()})})}const J=Symbol.for(`taiga.monitor.fetch`),Y=Symbol.for(`taiga.monitor.xhr`);function X(){return globalThis.performance?.now?.()??Date.now()}function Z(e,t,n,r){let i=K(t);return{kind:`api_call`,name:`${e} ${i}`.slice(0,120),value:Math.round(r),unit:`ms`,attributes:{method:e,url:i,statusCode:n},occurredAt:(/* @__PURE__ */ new Date()).toISOString()}}function ce(e,t){return(t?.method??(typeof e==`object`&&`method`in e?e.method:void 0)??`GET`).toUpperCase()}function le(e){return typeof e==`string`?e:e instanceof URL?e.href:e.url}function ue(e){let t=globalThis,n=t.fetch;typeof n!=`function`||t[J]||(t[J]=!0,t.fetch=function(...t){let r=X(),i=ce(t[0],t[1]),a=le(t[0]);return Reflect.apply(n,this,t).then(t=>{try{e(Z(i,a,t.status,X()-r))}catch{}return t},t=>{try{e(Z(i,a,0,X()-r))}catch{}throw t})})}function Q(e){let t=globalThis.XMLHttpRequest,n=t?.prototype;if(!t||!n||n[Y])return;let r=n.open,i=n.send,a=Symbol.for(`taiga.monitor.xhrctx`);n.open=function(e,t,...n){return this[a]={method:String(e).toUpperCase(),url:String(t),start:0},r.apply(this,[e,t,...n])},n.send=function(...t){let n=this[a];return n&&(n.start=X(),this.addEventListener(`loadend`,()=>{try{e(Z(n.method,n.url,this.status,X()-n.start))}catch{}},{once:!0})),i.apply(this,t)},n[Y]=!0}let $=!1;function de(e){if($||globalThis.window===void 0)return;let t=e?o(e):null;if(!t)return;$=!0;let n=e.sampleRate??1;if(!(n<1&&Math.random()>=n))try{let n=new i(t),r=e=>n.enqueue(e);e.captureVitals!==!1&&G(r),e.captureErrors!==!1&&se(r),e.captureRequests!==!1&&(ue(r),Q(r));let a=()=>n.flush();globalThis.addEventListener(`visibilitychange`,()=>{globalThis.document?.visibilityState===`hidden`&&a()}),globalThis.addEventListener(`pagehide`,a)}catch{$=!1}}function fe(){$=!1}export{e as SDK_NAME,t as SDK_VERSION,fe as __resetForTests,de as init,a as parseDsn};
@@ -1 +1 @@
1
- var TaigaMonitor=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});let t=`@taiga-ai/monitor-web`,n=`0.3.0`;function r(){let e=globalThis.crypto;return e&&typeof e.randomUUID==`function`?e.randomUUID():`${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`}function i(e,t){return`${e}${e.includes(`?`)?`&`:`?`}k=${encodeURIComponent(t)}`}var a=class{constructor(e){this.queue=[],this.fetchImpl=globalThis.fetch?globalThis.fetch.bind(globalThis):void 0,this.config=e}enqueue(e){let t=e;if(this.config.beforeSend)try{t=this.config.beforeSend(e)}catch{return}t&&(this.queue.push(t),this.queue.length>=50?this.flush():this.scheduleFlush())}flush(){for(this.timer!==void 0&&(clearTimeout(this.timer),this.timer=void 0);this.queue.length>0;){let e=this.queue.splice(0,50);this.send(e)}}scheduleFlush(){this.timer===void 0&&(this.timer=setTimeout(()=>this.flush(),5e3))}send(e){let a;try{a=JSON.stringify({batchId:r(),meta:{sdk:t,sdkVersion:n,sentAt:(/* @__PURE__ */ new Date()).toISOString()},events:e})}catch{return}let o=i(this.config.url,this.config.key);try{let e=globalThis.navigator;if(e&&typeof e.sendBeacon==`function`&&e.sendBeacon(o,new Blob([a],{type:`text/plain`})))return}catch{}try{this.fetchImpl?.(o,{method:`POST`,body:a,keepalive:!0,headers:{"content-type":`text/plain`},mode:`cors`})}catch{}}};function o(e){try{let t=new URL(e);if(t.protocol!==`https:`&&t.protocol!==`http:`)return null;let n=decodeURIComponent(t.username);return n?(t.username=``,t.password=``,{key:n,url:`${t.origin}${t.pathname}`}):null}catch{return null}}function s(e){let t=(e.dsn?o(e.dsn):null)??(e.key&&e.url?{key:e.key,url:e.url}:null);return t?e.beforeSend?{...t,beforeSend:e.beforeSend}:t:null}let c=-1,l=()=>c,u=e=>{addEventListener(`pageshow`,t=>{t.persisted&&(c=t.timeStamp,e(t))},!0)},d=(e,t,n,r)=>{let i,a;return o=>{t.value>=0&&(o||r)&&(a=t.value-(i??0),(a||i===void 0)&&(i=t.value,t.delta=a,t.rating=((e,t)=>e>t[1]?`poor`:e>t[0]?`needs-improvement`:`good`)(t.value,n),e(t)))}},f=e=>{requestAnimationFrame(()=>requestAnimationFrame(e))},p=()=>{let e=performance.getEntriesByType(`navigation`)[0];if(e&&e.responseStart>0&&e.responseStart<performance.now())return e},m=()=>p()?.activationStart??0,h=-1,g=/* @__PURE__ */ new Set,_=()=>document.visibilityState!==`hidden`||document.prerendering?1/0:0,v=e=>{if(document.visibilityState===`hidden`){if(e.type===`visibilitychange`)for(let e of g)e();isFinite(h)||(h=e.type===`visibilitychange`?e.timeStamp:0,removeEventListener(`prerenderingchange`,v,!0))}},y=(e=!1)=>{if(e&&(h=1/0),h<0){let e=m();h=(document.prerendering?void 0:globalThis.performance.getEntriesByType(`visibility-state`).find(t=>t.name===`hidden`&&t.startTime>=e)?.startTime)??_(),addEventListener(`visibilitychange`,v,!0),addEventListener(`prerenderingchange`,v,!0),u(()=>{setTimeout(()=>{h=_()})})}return{get firstHiddenTime(){return h},onHidden(e){g.add(e)}}},b=(e,t=-1,n,r=0,i,a,o)=>{let s=p(),c=s?.navigationId||0,u=`navigate`;return n?u=n:l()>=0?u=`back-forward-cache`:s&&(document.prerendering||m()>0?u=`prerender`:document.wasDiscarded?u=`restore`:s.type&&(u=s.type.replace(/_/g,`-`))),{name:e,value:t,rating:`good`,delta:0,entries:[],id:`v6-${Date.now()}-${Math.floor(8999999999999*Math.random())+0xe8d4a51000}`,navigationType:u,navigationId:r||c,navigationInteractionId:i,navigationURL:a||s?.name,navigationStartTime:o||0}},x=/* @__PURE__ */ new WeakMap;function S(e,t){let n=x.get(t);return n||(n=/* @__PURE__ */ new WeakMap,x.set(t,n)),n.get(e)||n.set(e,new t),n.get(e)}var ee=class{t;i=0;o=[];h(e){if(e.hadRecentInput)return;let t=this.o[0],n=this.o.at(-1);this.i&&t&&n&&e.startTime-n.startTime<1e3&&e.startTime-t.startTime<5e3?(this.i+=e.value,this.o.push(e)):(this.i=e.value,this.o=[e]),this.t?.(e)}};let C=(e,t,n={})=>{try{let r=e.filter(e=>PerformanceObserver.supportedEntryTypes.includes(e));if(r.length>0){let e=new PerformanceObserver(e=>{queueMicrotask(()=>{let n=e.getEntries();r.length>1&&n.sort((e,t)=>e.startTime+e.duration-(t.startTime+t.duration)),t(n)})});for(let t of r)e.observe({type:t,buffered:!0,...n});return e}}catch{}},w=e=>globalThis.PerformanceObserver?.supportedEntryTypes.includes(`soft-navigation`)&&typeof globalThis.PerformanceSoftNavigation?.prototype?.getLargestInteractionContentfulPaint==`function`&&e&&e.reportSoftNavs,T=(e,t)=>{if(e.set(t.navigationId,t),e.size>2){let t=e.keys().next().value;t!==void 0&&e.delete(t)}},E=e=>{let t=!1;return()=>{t||=(e(),!0)}};var D=class{l};let O=e=>{document.prerendering?addEventListener(`prerenderingchange`,e,!0):e()},k=[1800,3e3],A=(e,t={})=>{let n=w(t);O(()=>{let r=S(t,D),i=y(),a,o=b(`FCP`),s=C([`paint`],e=>{for(let t of e)t.name===`first-contentful-paint`&&(s.disconnect(),t.startTime<i.firstHiddenTime&&(o.value=Math.max(t.startTime-m(),0),o.entries.push(t),o.navigationId=t.navigationId||o.navigationId,a(!0)))});s&&(a=d(e,o,k,t.reportAllChanges),u(n=>{o=b(`FCP`,-1,`back-forward-cache`,o.navigationId,o.navigationInteractionId,o.navigationURL,l()),a=d(e,o,k,t.reportAllChanges),f(()=>{o.value=performance.now()-n.timeStamp,a(!0)})})),n&&C([`soft-navigation`],n=>{n.forEach(n=>{r.l&&n.navigationId&&T(r.l,n);let i=Math.max((n.presentationTime||n.paintTime||0)-n.startTime,0);o=b(`FCP`,i,`soft-navigation`,n.navigationId,n.interactionId,n.name,n.startTime),a=d(e,o,k,t.reportAllChanges),a(!0)})},t)})},j=[.1,.25],te=(e,t={})=>{let n=y();A(E(()=>{let r,i=b(`CLS`,0),a=S(t,ee),o=(n,o,s,c,l)=>{i=b(`CLS`,0,n,o,s,c,l),a.i=0,r=d(e,i,j,t.reportAllChanges)},s=(e=!1)=>{a.i>i.value&&(i.value=a.i,i.entries=a.o),r(e)},c=e=>{s(!0),o(`soft-navigation`,e.navigationId,e.interactionId,e.name,e.startTime)},p=e=>{for(let t of e)t.entryType===`soft-navigation`?c(t):a.h(t);s()},m=[`layout-shift`];w(t)&&m.push(`soft-navigation`);let h=C(m,p);h&&(r=d(e,i,j,t.reportAllChanges),n.onHidden(()=>{p(h.takeRecords()),r(!0)}),u(()=>{o(`back-forward-cache`,i.navigationId,i.navigationInteractionId,i.navigationURL,l()),f(r)}),setTimeout(r))}))},M=0,N=1/0,P=0,ne=e=>{for(let t of e)t.interactionId&&(N=Math.min(N,t.interactionId),P=Math.max(P,t.interactionId),M=P?(P-N)/7+1:0)},F,I=()=>F?M:performance.interactionCount??0,L=()=>{`interactionCount`in performance||F||(F=C([`event`],ne,{durationThreshold:0}))},R=0;var z=class{u=[];v=/* @__PURE__ */ new Map;m;p;T(){R=I(),this.u.length=0,this.v.clear()}M(e){let t=I()-R,n=Math.min(this.u.length-1,Math.floor(t/50));return!t||n!==-1||e!==`soft-navigation`&&e!==`back-forward-cache`?this.u[n]:{_:8,id:-1,entries:[]}}h(e){if(this.m?.(e),!e.interactionId&&e.entryType!==`first-input`)return;let t=this.u.at(-1),n=this.v.get(e.interactionId);if(n||this.u.length<10||e.duration>t._){if(n?e.duration>n._?(n.entries=[e],n._=e.duration):e.duration===n._&&e.startTime===n.entries[0].startTime&&n.entries.push(e):(n={id:e.interactionId,entries:[e],_:e.duration},this.v.set(n.id,n),this.u.push(n)),this.u.sort((e,t)=>t._-e._),this.u.length>10){let e=this.u.splice(10);for(let t of e)this.v.delete(t.id)}this.p?.(n)}}};let B=e=>{let t=`requestIdleCallback`in globalThis?1e3:0,n=globalThis.requestIdleCallback||setTimeout,r=globalThis.cancelIdleCallback||clearTimeout;if(document.visibilityState===`hidden`)e();else{let i=E(e),a=-1,o=()=>{r(a),i()};addEventListener(`visibilitychange`,o,{once:!0,capture:!0}),a=n(()=>{removeEventListener(`visibilitychange`,o,{capture:!0}),i()},{timeout:t})}},V=[200,500],H=(e,t={})=>{if(!globalThis.PerformanceEventTiming||!(`interactionId`in PerformanceEventTiming.prototype))return;let n=y();O(()=>{L();let r,i=b(`INP`),a=S(t,z),o=(n,o,s,c,l)=>{a.T(),i=b(`INP`,-1,n,o,s,c,l),r=d(e,i,V,t.reportAllChanges)},s=()=>{let e=a.M(i.navigationType);e&&e._!==i.value&&(i.value=e._,i.entries=e.entries,r())},c=e=>{s(),r(!0),o(`soft-navigation`,e.navigationId,e.interactionId,e.name,e.startTime)},f=(e,t=!1)=>{B(()=>{for(let t of e)t.entryType===`soft-navigation`?c(t):a.h(t);s(),t&&r(!0)})},p=[`event`,`first-input`];w(t)&&p.push(`soft-navigation`);let m=C(p,f,{...t,durationThreshold:t.durationThreshold??40});r=d(e,i,V,t.reportAllChanges),m&&(n.onHidden(()=>{f(m.takeRecords(),!0)}),u(()=>{o(`back-forward-cache`,i.navigationId,i.navigationInteractionId,i.navigationURL,l())}))})};var U=class{m;l;h(e){this.m?.(e)}};let W=[2500,4e3],re=(e,t={})=>{let n=!1,r=w(t);O(()=>{let i,a=y(),o=b(`LCP`),s=S(t,U),c=(r,s,c,l,u)=>{o=b(`LCP`,-1,r,s,c,l,u),i=d(e,o,W,t.reportAllChanges),n=!1,r===`soft-navigation`&&(a=y(!0))},p=e=>{s.l&&e.navigationId&&T(s.l,e),n||i(!0),c(`soft-navigation`,e.navigationId,e.interactionId,e.name,e.startTime);let t=e.getLargestInteractionContentfulPaint?.();t&&h([t])},h=e=>{t.reportAllChanges||r||(e=e.slice(-1));for(let t of e){if(!t)continue;if(t.entryType===`soft-navigation`){p(t);continue}let e=0,n=[],r=t.startTime;if(t.entryType===`largest-contentful-paint`)e=Math.max(t.startTime-m(),0),s.h(t),n=[t];else if(t.entryType===`interaction-contentful-paint`){let i=t;if(!o.navigationId||`interactionId`in i&&i.interactionId!=o.navigationInteractionId)continue;r=i.largestContentfulPaint?.renderTime||0,e=Math.max(r-t.startTime,0),i.largestContentfulPaint&&(s.h(i.largestContentfulPaint),n=[i.largestContentfulPaint])}r<a.firstHiddenTime&&(o.value=e,o.entries=n,i())}},g=[`largest-contentful-paint`];r&&g.push(`interaction-contentful-paint`,`soft-navigation`);let _=C(g,h);if(_){i=d(e,o,W,t.reportAllChanges);let a=[`keydown`,`click`,`visibilitychange`],s=e=>{if(e.isTrusted&&!n){let e=o.id;B(()=>{if(!n){if(!r){_.disconnect();for(let e of a)removeEventListener(e,s,{capture:!0})}e===o.id&&(n=!0,i(!0))}})}};for(let e of a)addEventListener(e,s,{capture:!0});u(r=>{c(`back-forward-cache`,o.navigationId,o.navigationInteractionId,o.navigationURL,l()),i=d(e,o,W,t.reportAllChanges),f(()=>{o.value=performance.now()-r.timeStamp,n=!0,i(!0)})})}})},G=[800,1800],K=e=>{document.prerendering?O(()=>K(e)):document.readyState===`complete`?setTimeout(e):addEventListener(`load`,()=>K(e),!0)},ie=(e,t={})=>{let n=w(t),r=b(`TTFB`),i=d(e,r,G,t.reportAllChanges);K(()=>{let a=p();if(a){let o=a.responseStart;r.value=Math.max(o-m(),0),r.entries=[a],i(!0),u(()=>{r=b(`TTFB`,0,`back-forward-cache`,r.navigationId,r.navigationInteractionId,r.navigationURL,l()),i=d(e,r,G,t.reportAllChanges),i(!0)}),n&&C([`soft-navigation`],n=>{n.forEach(n=>{n.navigationId&&(r=b(`TTFB`,0,`soft-navigation`,n.navigationId,n.interactionId,n.name,n.startTime),r.entries=[n],i=d(e,r,G,t.reportAllChanges),i(!0))})},t)}})},ae={LCP:`ms`,INP:`ms`,FCP:`ms`,TTFB:`ms`,CLS:`score`};function oe(e){let t=t=>{e({kind:`web_vital`,name:t.name,value:t.value,unit:ae[t.name]??`ms`,attributes:{rating:t.rating,id:t.id,navigationType:t.navigationType},occurredAt:(/* @__PURE__ */ new Date()).toISOString()})};re(t),H(t),te(t),A(t),ie(t)}function q(e,t=2048){let n=globalThis.location?.href;try{let r=new URL(e,n);return`${r.origin}${r.pathname}`.slice(0,t)}catch{return(e??``).split(`?`)[0].split(`#`)[0].slice(0,t)}}function J(e,t){return String(e??``).slice(0,t)}function se(e){globalThis.addEventListener(`error`,t=>{let n=t.error;e({kind:`error`,name:n?.name??`Error`,attributes:{message:J(n?.message??t.message,1e3),stack:n?.stack?J(n.stack,4e3):void 0,url:q(globalThis.location?.href??``)},occurredAt:(/* @__PURE__ */ new Date()).toISOString()})}),globalThis.addEventListener(`unhandledrejection`,t=>{let n=t.reason;e({kind:`error`,name:`unhandledrejection`,attributes:{message:J(n?.message??n,1e3),stack:n?.stack?J(n.stack,4e3):void 0,url:q(globalThis.location?.href??``)},occurredAt:(/* @__PURE__ */ new Date()).toISOString()})})}let Y=Symbol.for(`taiga.monitor.fetch`),X=Symbol.for(`taiga.monitor.xhr`);function Z(){return globalThis.performance?.now?.()??Date.now()}function Q(e,t,n,r){let i=q(t);return{kind:`api_call`,name:`${e} ${i}`.slice(0,120),value:Math.round(r),unit:`ms`,attributes:{method:e,url:i,statusCode:n},occurredAt:(/* @__PURE__ */ new Date()).toISOString()}}function ce(e,t){return(t?.method??(typeof e==`object`&&`method`in e?e.method:void 0)??`GET`).toUpperCase()}function le(e){return typeof e==`string`?e:e instanceof URL?e.href:e.url}function ue(e){let t=globalThis,n=t.fetch;typeof n!=`function`||t[Y]||(t[Y]=!0,t.fetch=function(...t){let r=Z(),i=ce(t[0],t[1]),a=le(t[0]);return Reflect.apply(n,this,t).then(t=>{try{e(Q(i,a,t.status,Z()-r))}catch{}return t},t=>{try{e(Q(i,a,0,Z()-r))}catch{}throw t})})}function de(e){let t=globalThis.XMLHttpRequest,n=t?.prototype;if(!t||!n||n[X])return;let r=n.open,i=n.send,a=Symbol.for(`taiga.monitor.xhrctx`);n.open=function(e,t,...n){return this[a]={method:String(e).toUpperCase(),url:String(t),start:0},r.apply(this,[e,t,...n])},n.send=function(...t){let n=this[a];return n&&(n.start=Z(),this.addEventListener(`loadend`,()=>{try{e(Q(n.method,n.url,this.status,Z()-n.start))}catch{}},{once:!0})),i.apply(this,t)},n[X]=!0}let $=!1;function fe(e){if($||globalThis.window===void 0)return;let t=e?s(e):null;if(!t)return;$=!0;let n=e.sampleRate??1;if(!(n<1&&Math.random()>=n))try{let n=new a(t),r=e=>n.enqueue(e);e.captureVitals!==!1&&oe(r),e.captureErrors!==!1&&se(r),e.captureRequests!==!1&&(ue(r),de(r));let i=()=>n.flush();globalThis.addEventListener(`visibilitychange`,()=>{globalThis.document?.visibilityState===`hidden`&&i()}),globalThis.addEventListener(`pagehide`,i)}catch{$=!1}}function pe(){$=!1}return e.SDK_NAME=t,e.SDK_VERSION=n,e.__resetForTests=pe,e.init=fe,e.parseDsn=o,e})({});
1
+ var TaigaMonitor=(function(e){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});let t=`@taiga-ai/monitor-web`,n=`0.3.1`;function r(){let e=globalThis.crypto;return e&&typeof e.randomUUID==`function`?e.randomUUID():`${Date.now().toString(36)}-${Math.random().toString(36).slice(2,10)}`}function i(e,t){return`${e}${e.includes(`?`)?`&`:`?`}k=${encodeURIComponent(t)}`}var a=class{constructor(e){this.queue=[],this.fetchImpl=globalThis.fetch?globalThis.fetch.bind(globalThis):void 0,this.config=e}enqueue(e){let t=e;if(this.config.beforeSend)try{t=this.config.beforeSend(e)}catch{return}t&&(this.queue.push(t),this.queue.length>=50?this.flush():this.scheduleFlush())}flush(){for(this.timer!==void 0&&(clearTimeout(this.timer),this.timer=void 0);this.queue.length>0;){let e=this.queue.splice(0,50);this.send(e)}}scheduleFlush(){this.timer===void 0&&(this.timer=setTimeout(()=>this.flush(),5e3))}send(e){let a;try{a=JSON.stringify({batchId:r(),meta:{sdk:t,sdkVersion:n,sentAt:(/* @__PURE__ */ new Date()).toISOString()},events:e})}catch{return}let o=i(this.config.url,this.config.key);try{let e=globalThis.navigator;if(e&&typeof e.sendBeacon==`function`&&e.sendBeacon(o,new Blob([a],{type:`text/plain`})))return}catch{}try{this.fetchImpl?.(o,{method:`POST`,body:a,keepalive:!0,headers:{"content-type":`text/plain`},mode:`cors`})}catch{}}};function o(e){try{let t=new URL(e);if(t.protocol!==`https:`&&t.protocol!==`http:`)return null;let n=decodeURIComponent(t.username);return n?(t.username=``,t.password=``,{key:n,url:`${t.origin}${t.pathname}`}):null}catch{return null}}function s(e){let t=(e.dsn?o(e.dsn):null)??(e.key&&e.url?{key:e.key,url:e.url}:null);return t?e.beforeSend?{...t,beforeSend:e.beforeSend}:t:null}let c=-1,l=()=>c,u=e=>{addEventListener(`pageshow`,t=>{t.persisted&&(c=t.timeStamp,e(t))},!0)},d=(e,t,n,r)=>{let i,a;return o=>{t.value>=0&&(o||r)&&(a=t.value-(i??0),(a||i===void 0)&&(i=t.value,t.delta=a,t.rating=((e,t)=>e>t[1]?`poor`:e>t[0]?`needs-improvement`:`good`)(t.value,n),e(t)))}},f=e=>{requestAnimationFrame(()=>requestAnimationFrame(e))},p=()=>{let e=performance.getEntriesByType(`navigation`)[0];if(e&&e.responseStart>0&&e.responseStart<performance.now())return e},m=()=>p()?.activationStart??0,h=-1,g=/* @__PURE__ */ new Set,_=()=>document.visibilityState!==`hidden`||document.prerendering?1/0:0,v=e=>{if(document.visibilityState===`hidden`){if(e.type===`visibilitychange`)for(let e of g)e();isFinite(h)||(h=e.type===`visibilitychange`?e.timeStamp:0,removeEventListener(`prerenderingchange`,v,!0))}},y=(e=!1)=>{if(e&&(h=1/0),h<0){let e=m();h=(document.prerendering?void 0:globalThis.performance.getEntriesByType(`visibility-state`).find(t=>t.name===`hidden`&&t.startTime>=e)?.startTime)??_(),addEventListener(`visibilitychange`,v,!0),addEventListener(`prerenderingchange`,v,!0),u(()=>{setTimeout(()=>{h=_()})})}return{get firstHiddenTime(){return h},onHidden(e){g.add(e)}}},b=(e,t=-1,n,r=0,i,a,o)=>{let s=p(),c=s?.navigationId||0,u=`navigate`;return n?u=n:l()>=0?u=`back-forward-cache`:s&&(document.prerendering||m()>0?u=`prerender`:document.wasDiscarded?u=`restore`:s.type&&(u=s.type.replace(/_/g,`-`))),{name:e,value:t,rating:`good`,delta:0,entries:[],id:`v6-${Date.now()}-${Math.floor(8999999999999*Math.random())+0xe8d4a51000}`,navigationType:u,navigationId:r||c,navigationInteractionId:i,navigationURL:a||s?.name,navigationStartTime:o||0}},x=/* @__PURE__ */ new WeakMap;function S(e,t){let n=x.get(t);return n||(n=/* @__PURE__ */ new WeakMap,x.set(t,n)),n.get(e)||n.set(e,new t),n.get(e)}var ee=class{t;i=0;o=[];h(e){if(e.hadRecentInput)return;let t=this.o[0],n=this.o.at(-1);this.i&&t&&n&&e.startTime-n.startTime<1e3&&e.startTime-t.startTime<5e3?(this.i+=e.value,this.o.push(e)):(this.i=e.value,this.o=[e]),this.t?.(e)}};let C=(e,t,n={})=>{try{let r=e.filter(e=>PerformanceObserver.supportedEntryTypes.includes(e));if(r.length>0){let e=new PerformanceObserver(e=>{queueMicrotask(()=>{let n=e.getEntries();r.length>1&&n.sort((e,t)=>e.startTime+e.duration-(t.startTime+t.duration)),t(n)})});for(let t of r)e.observe({type:t,buffered:!0,...n});return e}}catch{}},w=e=>globalThis.PerformanceObserver?.supportedEntryTypes.includes(`soft-navigation`)&&typeof globalThis.PerformanceSoftNavigation?.prototype?.getLargestInteractionContentfulPaint==`function`&&e&&e.reportSoftNavs,T=(e,t)=>{if(e.set(t.navigationId,t),e.size>2){let t=e.keys().next().value;t!==void 0&&e.delete(t)}},E=e=>{let t=!1;return()=>{t||=(e(),!0)}};var D=class{l};let O=e=>{document.prerendering?addEventListener(`prerenderingchange`,e,!0):e()},k=[1800,3e3],A=(e,t={})=>{let n=w(t);O(()=>{let r=S(t,D),i=y(),a,o=b(`FCP`),s=C([`paint`],e=>{for(let t of e)t.name===`first-contentful-paint`&&(s.disconnect(),t.startTime<i.firstHiddenTime&&(o.value=Math.max(t.startTime-m(),0),o.entries.push(t),o.navigationId=t.navigationId||o.navigationId,a(!0)))});s&&(a=d(e,o,k,t.reportAllChanges),u(n=>{o=b(`FCP`,-1,`back-forward-cache`,o.navigationId,o.navigationInteractionId,o.navigationURL,l()),a=d(e,o,k,t.reportAllChanges),f(()=>{o.value=performance.now()-n.timeStamp,a(!0)})})),n&&C([`soft-navigation`],n=>{n.forEach(n=>{r.l&&n.navigationId&&T(r.l,n);let i=Math.max((n.presentationTime||n.paintTime||0)-n.startTime,0);o=b(`FCP`,i,`soft-navigation`,n.navigationId,n.interactionId,n.name,n.startTime),a=d(e,o,k,t.reportAllChanges),a(!0)})},t)})},j=[.1,.25],te=(e,t={})=>{let n=y();A(E(()=>{let r,i=b(`CLS`,0),a=S(t,ee),o=(n,o,s,c,l)=>{i=b(`CLS`,0,n,o,s,c,l),a.i=0,r=d(e,i,j,t.reportAllChanges)},s=(e=!1)=>{a.i>i.value&&(i.value=a.i,i.entries=a.o),r(e)},c=e=>{s(!0),o(`soft-navigation`,e.navigationId,e.interactionId,e.name,e.startTime)},p=e=>{for(let t of e)t.entryType===`soft-navigation`?c(t):a.h(t);s()},m=[`layout-shift`];w(t)&&m.push(`soft-navigation`);let h=C(m,p);h&&(r=d(e,i,j,t.reportAllChanges),n.onHidden(()=>{p(h.takeRecords()),r(!0)}),u(()=>{o(`back-forward-cache`,i.navigationId,i.navigationInteractionId,i.navigationURL,l()),f(r)}),setTimeout(r))}))},M=0,N=1/0,P=0,ne=e=>{for(let t of e)t.interactionId&&(N=Math.min(N,t.interactionId),P=Math.max(P,t.interactionId),M=P?(P-N)/7+1:0)},F,I=()=>F?M:performance.interactionCount??0,L=()=>{`interactionCount`in performance||F||(F=C([`event`],ne,{durationThreshold:0}))},R=0;var z=class{u=[];v=/* @__PURE__ */ new Map;m;p;T(){R=I(),this.u.length=0,this.v.clear()}M(e){let t=I()-R,n=Math.min(this.u.length-1,Math.floor(t/50));return!t||n!==-1||e!==`soft-navigation`&&e!==`back-forward-cache`?this.u[n]:{_:8,id:-1,entries:[]}}h(e){if(this.m?.(e),!e.interactionId&&e.entryType!==`first-input`)return;let t=this.u.at(-1),n=this.v.get(e.interactionId);if(n||this.u.length<10||e.duration>t._){if(n?e.duration>n._?(n.entries=[e],n._=e.duration):e.duration===n._&&e.startTime===n.entries[0].startTime&&n.entries.push(e):(n={id:e.interactionId,entries:[e],_:e.duration},this.v.set(n.id,n),this.u.push(n)),this.u.sort((e,t)=>t._-e._),this.u.length>10){let e=this.u.splice(10);for(let t of e)this.v.delete(t.id)}this.p?.(n)}}};let B=e=>{let t=`requestIdleCallback`in globalThis?1e3:0,n=globalThis.requestIdleCallback||setTimeout,r=globalThis.cancelIdleCallback||clearTimeout;if(document.visibilityState===`hidden`)e();else{let i=E(e),a=-1,o=()=>{r(a),i()};addEventListener(`visibilitychange`,o,{once:!0,capture:!0}),a=n(()=>{removeEventListener(`visibilitychange`,o,{capture:!0}),i()},{timeout:t})}},V=[200,500],H=(e,t={})=>{if(!globalThis.PerformanceEventTiming||!(`interactionId`in PerformanceEventTiming.prototype))return;let n=y();O(()=>{L();let r,i=b(`INP`),a=S(t,z),o=(n,o,s,c,l)=>{a.T(),i=b(`INP`,-1,n,o,s,c,l),r=d(e,i,V,t.reportAllChanges)},s=()=>{let e=a.M(i.navigationType);e&&e._!==i.value&&(i.value=e._,i.entries=e.entries,r())},c=e=>{s(),r(!0),o(`soft-navigation`,e.navigationId,e.interactionId,e.name,e.startTime)},f=(e,t=!1)=>{B(()=>{for(let t of e)t.entryType===`soft-navigation`?c(t):a.h(t);s(),t&&r(!0)})},p=[`event`,`first-input`];w(t)&&p.push(`soft-navigation`);let m=C(p,f,{...t,durationThreshold:t.durationThreshold??40});r=d(e,i,V,t.reportAllChanges),m&&(n.onHidden(()=>{f(m.takeRecords(),!0)}),u(()=>{o(`back-forward-cache`,i.navigationId,i.navigationInteractionId,i.navigationURL,l())}))})};var U=class{m;l;h(e){this.m?.(e)}};let W=[2500,4e3],re=(e,t={})=>{let n=!1,r=w(t);O(()=>{let i,a=y(),o=b(`LCP`),s=S(t,U),c=(r,s,c,l,u)=>{o=b(`LCP`,-1,r,s,c,l,u),i=d(e,o,W,t.reportAllChanges),n=!1,r===`soft-navigation`&&(a=y(!0))},p=e=>{s.l&&e.navigationId&&T(s.l,e),n||i(!0),c(`soft-navigation`,e.navigationId,e.interactionId,e.name,e.startTime);let t=e.getLargestInteractionContentfulPaint?.();t&&h([t])},h=e=>{t.reportAllChanges||r||(e=e.slice(-1));for(let t of e){if(!t)continue;if(t.entryType===`soft-navigation`){p(t);continue}let e=0,n=[],r=t.startTime;if(t.entryType===`largest-contentful-paint`)e=Math.max(t.startTime-m(),0),s.h(t),n=[t];else if(t.entryType===`interaction-contentful-paint`){let i=t;if(!o.navigationId||`interactionId`in i&&i.interactionId!=o.navigationInteractionId)continue;r=i.largestContentfulPaint?.renderTime||0,e=Math.max(r-t.startTime,0),i.largestContentfulPaint&&(s.h(i.largestContentfulPaint),n=[i.largestContentfulPaint])}r<a.firstHiddenTime&&(o.value=e,o.entries=n,i())}},g=[`largest-contentful-paint`];r&&g.push(`interaction-contentful-paint`,`soft-navigation`);let _=C(g,h);if(_){i=d(e,o,W,t.reportAllChanges);let a=[`keydown`,`click`,`visibilitychange`],s=e=>{if(e.isTrusted&&!n){let e=o.id;B(()=>{if(!n){if(!r){_.disconnect();for(let e of a)removeEventListener(e,s,{capture:!0})}e===o.id&&(n=!0,i(!0))}})}};for(let e of a)addEventListener(e,s,{capture:!0});u(r=>{c(`back-forward-cache`,o.navigationId,o.navigationInteractionId,o.navigationURL,l()),i=d(e,o,W,t.reportAllChanges),f(()=>{o.value=performance.now()-r.timeStamp,n=!0,i(!0)})})}})},G=[800,1800],K=e=>{document.prerendering?O(()=>K(e)):document.readyState===`complete`?setTimeout(e):addEventListener(`load`,()=>K(e),!0)},ie=(e,t={})=>{let n=w(t),r=b(`TTFB`),i=d(e,r,G,t.reportAllChanges);K(()=>{let a=p();if(a){let o=a.responseStart;r.value=Math.max(o-m(),0),r.entries=[a],i(!0),u(()=>{r=b(`TTFB`,0,`back-forward-cache`,r.navigationId,r.navigationInteractionId,r.navigationURL,l()),i=d(e,r,G,t.reportAllChanges),i(!0)}),n&&C([`soft-navigation`],n=>{n.forEach(n=>{n.navigationId&&(r=b(`TTFB`,0,`soft-navigation`,n.navigationId,n.interactionId,n.name,n.startTime),r.entries=[n],i=d(e,r,G,t.reportAllChanges),i(!0))})},t)}})},ae={LCP:`ms`,INP:`ms`,FCP:`ms`,TTFB:`ms`,CLS:`score`};function oe(e){let t=t=>{e({kind:`web_vital`,name:t.name,value:t.value,unit:ae[t.name]??`ms`,attributes:{rating:t.rating,id:t.id,navigationType:t.navigationType},occurredAt:(/* @__PURE__ */ new Date()).toISOString()})};re(t),H(t),te(t),A(t),ie(t)}function q(e,t=2048){let n=globalThis.location?.href;try{let r=new URL(e,n);return`${r.origin}${r.pathname}`.slice(0,t)}catch{return(e??``).split(`?`)[0].split(`#`)[0].slice(0,t)}}function J(e,t){return String(e??``).slice(0,t)}function se(e){globalThis.addEventListener(`error`,t=>{let n=t.error;e({kind:`error`,name:n?.name??`Error`,attributes:{message:J(n?.message??t.message,1e3),stack:n?.stack?J(n.stack,4e3):void 0,url:q(globalThis.location?.href??``)},occurredAt:(/* @__PURE__ */ new Date()).toISOString()})}),globalThis.addEventListener(`unhandledrejection`,t=>{let n=t.reason;e({kind:`error`,name:`unhandledrejection`,attributes:{message:J(n?.message??n,1e3),stack:n?.stack?J(n.stack,4e3):void 0,url:q(globalThis.location?.href??``)},occurredAt:(/* @__PURE__ */ new Date()).toISOString()})})}let Y=Symbol.for(`taiga.monitor.fetch`),X=Symbol.for(`taiga.monitor.xhr`);function Z(){return globalThis.performance?.now?.()??Date.now()}function Q(e,t,n,r){let i=q(t);return{kind:`api_call`,name:`${e} ${i}`.slice(0,120),value:Math.round(r),unit:`ms`,attributes:{method:e,url:i,statusCode:n},occurredAt:(/* @__PURE__ */ new Date()).toISOString()}}function ce(e,t){return(t?.method??(typeof e==`object`&&`method`in e?e.method:void 0)??`GET`).toUpperCase()}function le(e){return typeof e==`string`?e:e instanceof URL?e.href:e.url}function ue(e){let t=globalThis,n=t.fetch;typeof n!=`function`||t[Y]||(t[Y]=!0,t.fetch=function(...t){let r=Z(),i=ce(t[0],t[1]),a=le(t[0]);return Reflect.apply(n,this,t).then(t=>{try{e(Q(i,a,t.status,Z()-r))}catch{}return t},t=>{try{e(Q(i,a,0,Z()-r))}catch{}throw t})})}function de(e){let t=globalThis.XMLHttpRequest,n=t?.prototype;if(!t||!n||n[X])return;let r=n.open,i=n.send,a=Symbol.for(`taiga.monitor.xhrctx`);n.open=function(e,t,...n){return this[a]={method:String(e).toUpperCase(),url:String(t),start:0},r.apply(this,[e,t,...n])},n.send=function(...t){let n=this[a];return n&&(n.start=Z(),this.addEventListener(`loadend`,()=>{try{e(Q(n.method,n.url,this.status,Z()-n.start))}catch{}},{once:!0})),i.apply(this,t)},n[X]=!0}let $=!1;function fe(e){if($||globalThis.window===void 0)return;let t=e?s(e):null;if(!t)return;$=!0;let n=e.sampleRate??1;if(!(n<1&&Math.random()>=n))try{let n=new a(t),r=e=>n.enqueue(e);e.captureVitals!==!1&&oe(r),e.captureErrors!==!1&&se(r),e.captureRequests!==!1&&(ue(r),de(r));let i=()=>n.flush();globalThis.addEventListener(`visibilitychange`,()=>{globalThis.document?.visibilityState===`hidden`&&i()}),globalThis.addEventListener(`pagehide`,i)}catch{$=!1}}function pe(){$=!1}return e.SDK_NAME=t,e.SDK_VERSION=n,e.__resetForTests=pe,e.init=fe,e.parseDsn=o,e})({});
package/dist/version.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  /** Beacon identity, sent as `meta.sdk`/`meta.sdkVersion` for server-side skew observability. */
2
2
  export declare const SDK_NAME = "@taiga-ai/monitor-web";
3
- export declare const SDK_VERSION = "0.3.0";
3
+ export declare const SDK_VERSION = "0.3.1";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@taiga-ai/monitor-web",
3
- "version": "0.3.0-dev.25",
3
+ "version": "0.3.1-dev.26",
4
4
  "description": "Taiga app monitoring — a tiny, self-contained RUM beacon (Core Web Vitals, JS errors, client-observed API health) for apps built with Taiga.",
5
5
  "type": "module",
6
6
  "sideEffects": false,
@@ -18,7 +18,7 @@
18
18
  "files": [
19
19
  "dist",
20
20
  "README.md",
21
- "THIRD_PARTY_NOTICES.txt"
21
+ "NOTICE"
22
22
  ],
23
23
  "keywords": [
24
24
  "rum",
File without changes