sentry-miniapp 1.11.0 → 1.11.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/sentry-miniapp.cjs.js +6 -6
- package/dist/sentry-miniapp.cjs.js.map +1 -1
- package/dist/sentry-miniapp.esm.js +381 -396
- package/dist/sentry-miniapp.esm.js.map +1 -1
- package/dist/sentry-miniapp.umd.js +6 -6
- package/dist/sentry-miniapp.umd.js.map +1 -1
- package/dist/types/crossPlatform.d.ts +10 -5
- package/dist/types/crossPlatform.d.ts.map +1 -1
- package/dist/types/integrations/minigame.d.ts.map +1 -1
- package/dist/types/version.d.ts +1 -1
- package/package.json +1 -1
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
"use strict";var Fs=Object.defineProperty,Ls=Object.defineProperties;var $s=Object.getOwnPropertyDescriptors;var Pe=Object.getOwnPropertySymbols;var
|
|
2
|
-
`);for(let a=r;a<o.length;a++){let c=o[a];c.length>1024&&(c=c.slice(0,1024));const u=On.test(c)?c.replace(On,"$1"):c;if(!u.includes("Error: ")){for(const p of e){const f=p(u);if(f){i.push(f);break}}if(i.length>=wr+s)break}}return Js(i.slice(s))}}function Js(t){if(!t.length)return[];const e=Array.from(t);return/sentryWrapped/.test(Ne(e).function||"")&&e.pop(),e.reverse(),Mn.test(Ne(e).function||"")&&(e.pop(),Mn.test(Ne(e).function||"")&&e.pop()),e.slice(0,wr).map(n=>E(l({},n),{filename:n.filename||Ne(e).filename,function:n.function||gt}))}function Ne(t){return t[t.length-1]||{}}const kt="<anonymous>";function Xs(t){try{return!t||typeof t!="function"?kt:t.name||kt}catch(e){return kt}}const Ir=Object.prototype.toString;function kr(t){switch(Ir.call(t)){case"[object Error]":case"[object Exception]":case"[object DOMException]":case"[object WebAssembly.Exception]":return!0;default:return Cr(t,Error)}}function an(t,e){return Ir.call(t)===`[object ${e}]`}function jt(t){return an(t,"String")}function Ar(t){return typeof t=="object"&&t!==null&&"__sentry_template_string__"in t&&"__sentry_template_values__"in t}function Rr(t){return t===null||Ar(t)||typeof t!="object"&&typeof t!="function"}function Bt(t){return an(t,"Object")}function Zs(t){return typeof Event!="undefined"&&Cr(t,Event)}function Qs(t){return an(t,"RegExp")}function ce(t){return!!(t!=null&&t.then&&typeof t.then=="function")}function Cr(t,e){try{return t instanceof e}catch(n){return!1}}function G(t,e,n){try{Object.defineProperty(t,e,{value:n,writable:!0,configurable:!0})}catch(r){g&&m.log(`Failed to add non-enumerable property "${String(e)}" to object`,t)}}function ei(t){if(kr(t))return l({message:t.message,name:t.name,stack:t.stack},Fn(t));if(Zs(t)){const{type:e,target:n,currentTarget:r,detail:s}=t;return l(l({type:e,target:n,currentTarget:r},s?{detail:s}:{}),Fn(t))}return t}function Fn(t){return typeof t=="object"&&t!==null?Object.fromEntries(Object.entries(t)):{}}let X;function yt(t){if(X!==void 0)return X?X(t):t();const e=Symbol.for("__SENTRY_SAFE_RANDOM_ID_WRAPPER__"),n=P;return e in n&&typeof n[e]=="function"?(X=n[e],X(t)):(X=null,t())}function Le(){return yt(()=>Math.random())}function St(){return yt(()=>Date.now())}const ti=Symbol.for("sentry.skipNormalization"),ni=Symbol.for("sentry.overrideNormalizationDepth");function ri(t){return!!t[ti]}function si(t){const e=t[ni];return typeof e=="number"?e:void 0}let ii;function q(t,e=100,n=1/0){try{return Ut("",t,e,n)}catch(r){return{ERROR:`**non-serializable** (${r})`}}}function Ut(t,e,n=1/0,r=1/0,s=ci()){const[i,o]=s;if(e==null||["boolean","string"].includes(typeof e)||typeof e=="number"&&Number.isFinite(e))return e;const a=oi(t,e);if(!a.startsWith("[object "))return a;if(ri(e))return e;const c=si(e),u=c!==void 0?c:n;if(u===0)return a.replace("object ","");if(i(e))return"[Circular ~]";const p=e;if(p&&typeof p.toJSON=="function")try{const _=p.toJSON();return Ut("",_,u-1,r,s)}catch(_){}const f=Array.isArray(e)?[]:{};let h=0;const d=ei(e);for(const _ in d){if(!Object.prototype.hasOwnProperty.call(d,_))continue;if(h>=r){f[_]="[MaxProperties ~]";break}const b=d[_];f[_]=Ut(_,b,u-1,r,s),h++}return o(e),f}function oi(t,e){try{return typeof global!="undefined"&&e===global?"[Global]":typeof e=="number"&&!Number.isFinite(e)?`[${e}]`:typeof e=="function"?`[Function: ${Xs(e)}]`:typeof e=="symbol"?`[${String(e)}]`:typeof e=="bigint"?`[BigInt: ${String(e)}]`:`[object ${ai(e)}]`}catch(n){return`**non-serializable** (${n})`}}function ai(t){const e=Object.getPrototypeOf(t);return e!=null&&e.constructor?e.constructor.name:"null prototype"}function ci(){const t=new WeakSet;function e(r){return t.has(r)?!0:(t.add(r),!1)}function n(r){t.delete(r)}return[e,n]}function zt(t,e=0){return typeof t!="string"||e===0||t.length<=e?t:`${t.slice(0,e)}...`}function Oe(t,e,n=!1){return jt(t)?Qs(e)?e.test(t):jt(e)?n?t===e:t.includes(e):typeof e=="function"?e(t):!1:!1}function ui(){const t=P;return t.crypto||t.msCrypto}let At;function li(){return Le()*16}function M(t=ui()){try{if(t!=null&&t.randomUUID)return yt(()=>t.randomUUID()).replace(/-/g,"")}catch(e){}return At||(At="10000000100040008000"+1e11),At.replace(/[018]/g,e=>(e^(li()&15)>>e/4).toString(16))}function fi(t){var e,n;return(n=(e=t.exception)==null?void 0:e.values)==null?void 0:n[0]}function pi(t,e){const n=fi(t);if(!n)return;const r={type:"generic",handled:!0},s=n.mechanism;if(n.mechanism=l(l(l({},r),s),e),e&&"data"in e){const i=l(l({},s==null?void 0:s.data),e.data);n.mechanism.data=i}}function Ln(t){if(di(t))return!0;try{G(t,"__sentry_captured__",!0)}catch(e){}return!1}function di(t){try{return t.__sentry_captured__}catch(e){}}const Pr=1e3;function ke(){return St()/Pr}function hi(){const{performance:t}=P;if(!(t!=null&&t.now)||!t.timeOrigin)return ke;const e=t.timeOrigin;return()=>(e+yt(()=>t.now()))/Pr}let xe;function Ee(){return(xe!=null?xe:xe=hi())()}function Nr(t){const e=Ee(),n={sid:M(),init:!0,timestamp:e,started:e,duration:0,status:"ok",errors:0,ignoreDuration:!1,toJSON:()=>_i(n)};return t&&K(n,t),n}function K(t,e={}){if(e.user&&(!t.ipAddress&&e.user.ip_address&&(t.ipAddress=e.user.ip_address),!t.did&&!e.did&&(t.did=e.user.id||e.user.email||e.user.username)),t.timestamp=e.timestamp||Ee(),e.abnormal_mechanism&&(t.abnormal_mechanism=e.abnormal_mechanism),e.ignoreDuration&&(t.ignoreDuration=e.ignoreDuration),e.sid&&(t.sid=e.sid.length===32?e.sid:M()),e.init!==void 0&&(t.init=e.init),!t.did&&e.did&&(t.did=`${e.did}`),typeof e.started=="number"&&(t.started=e.started),t.ignoreDuration)t.duration=void 0;else if(typeof e.duration=="number")t.duration=e.duration;else{const n=t.timestamp-t.started;t.duration=n>=0?n:0}e.release&&(t.release=e.release),e.environment&&(t.environment=e.environment),!t.ipAddress&&e.ipAddress&&(t.ipAddress=e.ipAddress),!t.userAgent&&e.userAgent&&(t.userAgent=e.userAgent),typeof e.errors=="number"&&(t.errors=e.errors),e.status&&(t.status=e.status)}function xr(t,e){let n={};e?n={status:e}:t.status==="ok"&&(n={status:"exited"}),K(t,n)}function _i(t){return{sid:`${t.sid}`,init:t.init,started:new Date(t.started*1e3).toISOString(),timestamp:new Date(t.timestamp*1e3).toISOString(),status:t.status,errors:t.errors,did:typeof t.did=="number"||typeof t.did=="string"?`${t.did}`:void 0,duration:t.duration,abnormal_mechanism:t.abnormal_mechanism,attrs:{release:t.release,environment:t.environment,ip_address:t.ipAddress,user_agent:t.userAgent}}}function Ae(t,e,n=2){if(!e||typeof e!="object"||n<=0)return e;if(t&&Object.keys(e).length===0)return t;const r=l({},t);for(const s in e)Object.prototype.hasOwnProperty.call(e,s)&&(r[s]=Ae(r[s],e[s],n-1));return r}function ee(){return M()}function ue(){return M().substring(16)}function Dr(t){try{const e=P.WeakRef;if(typeof e=="function")return new e(t)}catch(e){}return t}function Or(t){if(t){if(typeof t=="object"&&"deref"in t&&typeof t.deref=="function")try{return t.deref()}catch(e){return}return t}}const qt="_sentrySpan";function $e(t,e){e?G(t,qt,Dr(e)):delete t[qt]}function He(t){return Or(t[qt])}const mi=100;class H{constructor(){this._notifyingListeners=!1,this._scopeListeners=[],this._eventProcessors=[],this._breadcrumbs=[],this._attachments=[],this._user={},this._tags={},this._attributes={},this._extra={},this._contexts={},this._sdkProcessingMetadata={},this._propagationContext={traceId:ee(),sampleRand:Le()}}clone(){const e=new H;return e._breadcrumbs=[...this._breadcrumbs],e._tags=l({},this._tags),e._attributes=l({},this._attributes),e._extra=l({},this._extra),e._contexts=l({},this._contexts),this._contexts.flags&&(e._contexts.flags={values:[...this._contexts.flags.values]}),e._user=this._user,e._level=this._level,e._session=this._session,e._transactionName=this._transactionName,e._fingerprint=this._fingerprint,e._eventProcessors=[...this._eventProcessors],e._attachments=[...this._attachments],e._sdkProcessingMetadata=l({},this._sdkProcessingMetadata),e._propagationContext=l({},this._propagationContext),e._client=this._client,e._lastEventId=this._lastEventId,e._conversationId=this._conversationId,$e(e,He(this)),e}setClient(e){this._client=e}setLastEventId(e){this._lastEventId=e}getClient(){return this._client}lastEventId(){return this._lastEventId}addScopeListener(e){this._scopeListeners.push(e)}addEventProcessor(e){return this._eventProcessors.push(e),this}setUser(e){return this._user=e||{email:void 0,id:void 0,ip_address:void 0,username:void 0},this._session&&K(this._session,{user:e}),this._notifyScopeListeners(),this}getUser(){return this._user}setConversationId(e){return this._conversationId=e||void 0,this._notifyScopeListeners(),this}setTags(e){return this._tags=l(l({},this._tags),e),this._notifyScopeListeners(),this}setTag(e,n){return this.setTags({[e]:n})}setAttributes(e){return this._attributes=l(l({},this._attributes),e),this._notifyScopeListeners(),this}setAttribute(e,n){return this.setAttributes({[e]:n})}removeAttribute(e){return e in this._attributes&&(delete this._attributes[e],this._notifyScopeListeners()),this}setExtras(e){return this._extra=l(l({},this._extra),e),this._notifyScopeListeners(),this}setExtra(e,n){return this._extra=E(l({},this._extra),{[e]:n}),this._notifyScopeListeners(),this}setFingerprint(e){return this._fingerprint=e,this._notifyScopeListeners(),this}setLevel(e){return this._level=e,this._notifyScopeListeners(),this}setTransactionName(e){return this._transactionName=e,this._notifyScopeListeners(),this}setContext(e,n){return n===null?delete this._contexts[e]:this._contexts[e]=n,this._notifyScopeListeners(),this}setSession(e){return e?this._session=e:delete this._session,this._notifyScopeListeners(),this}getSession(){return this._session}update(e){if(!e)return this;const n=typeof e=="function"?e(this):e,r=n instanceof H?n.getScopeData():Bt(n)?e:void 0,{tags:s,attributes:i,extra:o,user:a,contexts:c,level:u,fingerprint:p=[],propagationContext:f,conversationId:h}=r||{};return this._tags=l(l({},this._tags),s),this._attributes=l(l({},this._attributes),i),this._extra=l(l({},this._extra),o),this._contexts=l(l({},this._contexts),c),a&&Object.keys(a).length&&(this._user=a),u&&(this._level=u),p.length&&(this._fingerprint=p),f&&(this._propagationContext=f),h&&(this._conversationId=h),this}clear(){return this._breadcrumbs=[],this._tags={},this._attributes={},this._extra={},this._user={},this._contexts={},this._level=void 0,this._transactionName=void 0,this._fingerprint=void 0,this._session=void 0,this._conversationId=void 0,$e(this,void 0),this._attachments=[],this.setPropagationContext({traceId:ee(),sampleRand:Le()}),this._notifyScopeListeners(),this}addBreadcrumb(e,n){var i;const r=typeof n=="number"?n:mi;if(r<=0)return this;const s=E(l({timestamp:ke()},e),{message:e.message?zt(e.message,2048):e.message});return this._breadcrumbs.push(s),this._breadcrumbs.length>r&&(this._breadcrumbs=this._breadcrumbs.slice(-r),(i=this._client)==null||i.recordDroppedEvent("buffer_overflow","log_item")),this._notifyScopeListeners(),this}getLastBreadcrumb(){return this._breadcrumbs[this._breadcrumbs.length-1]}clearBreadcrumbs(){return this._breadcrumbs=[],this._notifyScopeListeners(),this}addAttachment(e){return this._attachments.push(e),this}clearAttachments(){return this._attachments=[],this}getScopeData(){return{breadcrumbs:this._breadcrumbs,attachments:this._attachments,contexts:this._contexts,tags:this._tags,attributes:this._attributes,extra:this._extra,user:this._user,level:this._level,fingerprint:this._fingerprint||[],eventProcessors:this._eventProcessors,propagationContext:this._propagationContext,sdkProcessingMetadata:this._sdkProcessingMetadata,transactionName:this._transactionName,span:He(this),conversationId:this._conversationId}}setSDKProcessingMetadata(e){return this._sdkProcessingMetadata=Ae(this._sdkProcessingMetadata,e,2),this}setPropagationContext(e){return this._propagationContext=e,this}getPropagationContext(){return this._propagationContext}captureException(e,n){const r=(n==null?void 0:n.event_id)||M();if(!this._client)return g&&m.warn("No client configured on scope - will not capture exception!"),r;const s=new Error("Sentry syntheticException");return this._client.captureException(e,E(l({originalException:e,syntheticException:s},n),{event_id:r}),this),r}captureMessage(e,n,r){var o;const s=(r==null?void 0:r.event_id)||M();if(!this._client)return g&&m.warn("No client configured on scope - will not capture message!"),s;const i=(o=r==null?void 0:r.syntheticException)!=null?o:new Error(e);return this._client.captureMessage(e,n,E(l({originalException:e,syntheticException:i},r),{event_id:s}),this),s}captureEvent(e,n){const r=e.event_id||(n==null?void 0:n.event_id)||M();return this._client?(this._client.captureEvent(e,E(l({},n),{event_id:r}),this),r):(g&&m.warn("No client configured on scope - will not capture event!"),r)}_notifyScopeListeners(){this._notifyingListeners||(this._notifyingListeners=!0,this._scopeListeners.forEach(e=>{e(this)}),this._notifyingListeners=!1)}}function gi(){return ae("defaultCurrentScope",()=>new H)}function yi(){return ae("defaultIsolationScope",()=>new H)}const $n=t=>t instanceof Promise&&!t[Mr],Mr=Symbol("chained PromiseLike"),Fr=(t,e,n)=>{const r=t.then(s=>(e(s),s),s=>{throw n(s),s});return $n(r)&&$n(t)?r:Si(t,r)},Si=(t,e)=>{if(!e)return t;let n=!1;for(const r in t){if(r in e)continue;n=!0;const s=t[r];typeof s=="function"?Object.defineProperty(e,r,{value:(...i)=>s.apply(t,i),enumerable:!0,configurable:!0,writable:!0}):e[r]=s}return n&&Object.assign(e,{[Mr]:!0}),e};class bi{constructor(e,n){let r;e?r=e:r=new H;let s;n?s=n:s=new H,this._stack=[{scope:r}],this._isolationScope=s}withScope(e){const n=this._pushScope();let r;try{r=e(n)}catch(s){throw this._popScope(),s}return ce(r)?Fr(r,()=>this._popScope(),()=>this._popScope()):(this._popScope(),r)}getClient(){return this.getStackTop().client}getScope(){return this.getStackTop().scope}getIsolationScope(){return this._isolationScope}getStackTop(){return this._stack[this._stack.length-1]}_pushScope(){const e=this.getScope().clone();return this._stack.push({client:this.getClient(),scope:e}),e}_popScope(){return this._stack.length<=1?!1:!!this._stack.pop()}}function te(){const t=V(),e=mt(t);return e.stack=e.stack||new bi(gi(),yi())}function Ei(t){return te().withScope(t)}function Ti(t,e){const n=te();return n.withScope(()=>(n.getStackTop().scope=t,e(t)))}function Hn(t){return te().withScope(()=>t(te().getIsolationScope()))}function vi(){return{withIsolationScope:Hn,withScope:Ei,withSetScope:Ti,withSetIsolationScope:(t,e)=>Hn(e),getCurrentScope:()=>te().getScope(),getIsolationScope:()=>te().getIsolationScope()}}function le(t){const e=mt(t);return e.acs?e.acs:vi()}function wi(t){return typeof t=="object"&&t!=null&&!Array.isArray(t)&&Object.keys(t).includes("value")}function Ii(t,e){var a;const{value:n,unit:r}=wi(t)?t:{value:t,unit:void 0},s=ki(n),i=r&&typeof r=="string"?{unit:r}:{};if(s)return l(l({},s),i);if(!e||e==="skip-undefined"&&n===void 0)return;let o="";try{o=(a=JSON.stringify(n))!=null?a:""}catch(c){}return l({value:o,type:"string"},i)}function jn(t,e=!1){const n={};for(const[r,s]of Object.entries(t!=null?t:{})){const i=Ii(s,e);i&&(n[r]=i)}return n}function ki(t){if(Array.isArray(t))return{value:t,type:"array"};const e=typeof t=="string"?"string":typeof t=="boolean"?"boolean":typeof t=="number"&&!Number.isNaN(t)?Number.isInteger(t)?"integer":"double":null;if(e)return{value:t,type:e}}function S(){const t=V();return le(t).getCurrentScope()}function A(){const t=V();return le(t).getIsolationScope()}function Ai(){return ae("globalScope",()=>new H)}function Re(...t){const e=V(),n=le(e);if(t.length===2){const[r,s]=t;return r?n.withSetScope(r,s):n.withScope(s)}return n.withScope(t[0])}function k(){return S().getClient()}function Ri(t){const e=t.getPropagationContext(),{traceId:n,parentSpanId:r,propagationSpanId:s}=e,i={trace_id:n,span_id:s||ue()};return r&&(i.parent_span_id=r),i}const je="sentry.source",Lr="sentry.sample_rate",Ci="sentry.previous_trace_sample_rate",Be="sentry.op",Wt="sentry.origin",$r="sentry.measurement_unit",Hr="sentry.measurement_value",Bn="sentry.custom_span_name",cn="sentry.profile_id",un="sentry.exclusive_time",jr=0,bt=1,C=2;function Pi(t){if(t<400&&t>=100)return{code:bt};if(t>=400&&t<500)switch(t){case 401:return{code:C,message:"unauthenticated"};case 403:return{code:C,message:"permission_denied"};case 404:return{code:C,message:"not_found"};case 409:return{code:C,message:"already_exists"};case 413:return{code:C,message:"failed_precondition"};case 429:return{code:C,message:"resource_exhausted"};case 499:return{code:C,message:"cancelled"};default:return{code:C,message:"invalid_argument"}}if(t>=500&&t<600)switch(t){case 501:return{code:C,message:"unimplemented"};case 503:return{code:C,message:"unavailable"};case 504:return{code:C,message:"deadline_exceeded"};default:return{code:C,message:"internal_error"}}return{code:C,message:"internal_error"}}function Ni(t,e){t.setAttribute("http.response.status_code",e);const n=Pi(e);n.message!=="unknown_error"&&t.setStatus(n)}const Br="_sentryScope",Ur="_sentryIsolationScope";function xi(t,e,n){t&&(G(t,Ur,Dr(n)),G(t,Br,e))}function Ue(t){const e=t;return{scope:e[Br],isolationScope:Or(e[Ur])}}const Gt="sentry-",Di=8192;function Oi(t){const e=Fi(t);if(!e)return;const n=Object.entries(e).reduce((r,[s,i])=>{if(s.startsWith(Gt)){const o=s.slice(Gt.length);r[o]=i}return r},{});if(Object.keys(n).length>0)return n}function Mi(t){if(!t)return;const e=Object.entries(t).reduce((n,[r,s])=>(s&&(n[`${Gt}${r}`]=s),n),{});return Li(e)}function Fi(t){if(!(!t||!jt(t)&&!Array.isArray(t)))return Array.isArray(t)?t.reduce((e,n)=>{const r=Un(n);return Object.entries(r).forEach(([s,i])=>{e[s]=i}),e},{}):Un(t)}function Un(t){return t.split(",").map(e=>{const n=e.indexOf("=");if(n===-1)return[];const r=e.slice(0,n),s=e.slice(n+1);return[r,s].map(i=>{try{return decodeURIComponent(i.trim())}catch(o){return}})}).reduce((e,[n,r])=>(n&&r&&(e[n]=r),e),{})}function Li(t){if(Object.keys(t).length!==0)return Object.entries(t).reduce((e,[n,r],s)=>{const i=`${encodeURIComponent(n)}=${encodeURIComponent(r)}`,o=s===0?i:`${e},${i}`;return o.length>Di?(g&&m.warn(`Not adding key: ${n} with val: ${r} to baggage header due to exceeding baggage size limits.`),e):o},"")}const $i=/^o(\d+)\./,Hi=/^(?:(\w+):)\/\/(?:(\w+)(?::(\w+)?)?@)((?:\[[:.%\w]+\]|[\w.-]+))(?::(\d+))?\/(.+)/;function ji(t){return t==="http"||t==="https"}function fe(t,e=!1){const{host:n,path:r,pass:s,port:i,projectId:o,protocol:a,publicKey:c}=t;return`${a}://${c}${e&&s?`:${s}`:""}@${n}${i?`:${i}`:""}/${r&&`${r}/`}${o}`}function Bi(t){const e=Hi.exec(t);if(!e){Ie(()=>{console.error(`Invalid Sentry Dsn: ${t}`)});return}const[n,r,s="",i="",o="",a=""]=e.slice(1);let c="",u=a;const p=u.split("/");if(p.length>1&&(c=p.slice(0,-1).join("/"),u=p.pop()),u){const f=u.match(/^\d+/);f&&(u=f[0])}return zr({host:i,pass:s,path:c,projectId:u,port:o,protocol:n,publicKey:r})}function zr(t){return{protocol:t.protocol,publicKey:t.publicKey||"",pass:t.pass||"",host:t.host,port:t.port||"",path:t.path||"",projectId:t.projectId}}function Ui(t){if(!g)return!0;const{port:e,projectId:n,protocol:r}=t;return["protocol","publicKey","host","projectId"].find(o=>t[o]?!1:(m.error(`Invalid Sentry Dsn: ${o} missing`),!0))?!1:n.match(/^\d+$/)?ji(r)?e&&isNaN(parseInt(e,10))?(m.error(`Invalid Sentry Dsn: Invalid port ${e}`),!1):!0:(m.error(`Invalid Sentry Dsn: Invalid protocol ${r}`),!1):(m.error(`Invalid Sentry Dsn: Invalid projectId ${n}`),!1)}function zi(t){const e=t.match($i);return e==null?void 0:e[1]}function qi(t){const e=t.getOptions(),{host:n}=t.getDsn()||{};let r;return e.orgId?r=String(e.orgId):n&&(r=zi(n)),r}function Wi(t){const e=typeof t=="string"?Bi(t):zr(t);if(!(!e||!Ui(e)))return e}function ln(t){if(typeof t=="boolean")return Number(t);const e=typeof t=="string"?parseFloat(t):t;if(!(typeof e!="number"||isNaN(e)||e<0||e>1))return e}const Gi=new RegExp("^[ \\t]*([0-9a-f]{32})?-?([0-9a-f]{16})?-?([01])?[ \\t]*$");function qr(t=ee(),e=ue(),n){let r="";return n!==void 0&&(r=n?"-1":"-0"),`${t}-${e}${r}`}function Wr(t=ee(),e=ue(),n){return`00-${t}-${e}-${n?"01":"00"}`}const Gr=0,Et=1;let zn=!1;function Ki(t){const{spanId:e,traceId:n}=t.spanContext(),{data:r,op:s,parent_span_id:i,status:o,origin:a,links:c}=N(t);return{parent_span_id:i,span_id:e,trace_id:n,data:r,op:s,status:o,origin:a,links:c}}function Vi(t){const{spanId:e,traceId:n,isRemote:r}=t.spanContext(),s=r?e:N(t).parent_span_id,i=Ue(t).scope,o=r?(i==null?void 0:i.getPropagationContext().propagationSpanId)||ue():e;return{parent_span_id:s,span_id:o,trace_id:n}}function Yi(t){const{traceId:e,spanId:n}=t.spanContext(),r=Y(t);return qr(e,n,r)}function Ji(t){const{traceId:e,spanId:n}=t.spanContext(),r=Y(t);return Wr(e,n,r)}function Kr(t){if(t&&t.length>0)return t.map(o=>{var a=o,{context:c}=a,u=c,{spanId:e,traceId:n,traceFlags:r}=u,s=Nn(u,["spanId","traceId","traceFlags"]),{attributes:i}=a;return l({span_id:e,trace_id:n,sampled:r===Et,attributes:i},s)})}function Xi(t){if(t!=null&&t.length)return t.map(({context:{spanId:e,traceId:n,traceFlags:r},attributes:s})=>({span_id:e,trace_id:n,sampled:r===Et,attributes:s}))}function Q(t){return typeof t=="number"?qn(t):Array.isArray(t)?t[0]+t[1]/1e9:t instanceof Date?qn(t.getTime()):Ee()}function qn(t){return t>9999999999?t/1e3:t}function N(t){if(to(t))return t.getSpanJSON();const{spanId:e,traceId:n}=t.spanContext();if(eo(t)){const{attributes:r,startTime:s,name:i,endTime:o,status:a,links:c}=t;return{span_id:e,trace_id:n,data:r,description:i,parent_span_id:Zi(t),start_timestamp:Q(s),timestamp:Q(o)||void 0,status:Vr(a),op:r[Be],origin:r[Wt],links:Kr(c)}}return{span_id:e,trace_id:n,start_timestamp:0,data:{}}}function Zi(t){var e;return"parentSpanId"in t?t.parentSpanId:"parentSpanContext"in t?(e=t.parentSpanContext)==null?void 0:e.spanId:void 0}function Qi(t){var e;return E(l({},t),{attributes:jn(t.attributes),links:(e=t.links)==null?void 0:e.map(n=>E(l({},n),{attributes:jn(n.attributes)}))})}function eo(t){const e=t;return!!e.attributes&&!!e.startTime&&!!e.name&&!!e.endTime&&!!e.status}function to(t){return typeof t.getSpanJSON=="function"}function Y(t){const{traceFlags:e}=t.spanContext();return e===Et}function Vr(t){if(!(!t||t.code===jr))return t.code===bt?"ok":t.message||"internal_error"}function no(t){return!t||t.code===bt||t.code===jr||t.message==="cancelled"?"ok":"error"}const ye="_sentryChildSpans",Kt="_sentryRootSpan";function Yr(t,e){const n=t[Kt]||t;G(e,Kt,n),t[ye]?t[ye].add(e):G(t,ye,new Set([e]))}function ro(t){const e=new Set;function n(r){if(!e.has(r)&&Y(r)){e.add(r);const s=r[ye]?Array.from(r[ye]):[];for(const i of s)n(i)}}return n(t),Array.from(e)}const L=so;function so(t){return t[Kt]||t}function Jr(){const t=V(),e=le(t);return e.getActiveSpan?e.getActiveSpan():He(S())}function Vt(){zn||(Ie(()=>{console.warn("[Sentry] Returning null from `beforeSendSpan` is disallowed. To drop certain spans, configure the respective integrations directly or use `ignoreSpans`.")}),zn=!0)}function fn(t){var n;if(typeof __SENTRY_TRACING__=="boolean"&&!__SENTRY_TRACING__)return!1;const e=t||((n=k())==null?void 0:n.getOptions());return!!e&&(e.tracesSampleRate!=null||!!e.tracesSampler)}function Wn(t){m.log(`Ignoring span ${t.op} - ${t.description} because it matches \`ignoreSpans\`.`)}function ze(t,e){if(!(e!=null&&e.length))return!1;for(const n of e){if(ao(n)){if(t.description&&Oe(t.description,n))return g&&Wn(t),!0;continue}const r=!!n.attributes&&Object.keys(n.attributes).length>0;if(!n.name&&!n.op&&!r)continue;const s=n.name?t.description&&Oe(t.description,n.name):!0,i=n.op?t.op&&Oe(t.op,n.op):!0,o=n.attributes?Object.entries(n.attributes).every(([a,c])=>{var u;return io((u=t.attributes)==null?void 0:u[a],c)}):!0;if(s&&i&&o)return g&&Wn(t),!0}return!1}function io(t,e){return typeof t=="string"&&(typeof e=="string"||e instanceof RegExp)?Oe(t,e):Array.isArray(t)&&Array.isArray(e)?t.length===e.length&&t.every((n,r)=>n===e[r]):t===e}function oo(t,e){const n=e.parent_span_id,r=e.span_id;if(n)for(const s of t)s.parent_span_id===r&&(s.parent_span_id=n)}function ao(t){return typeof t=="string"||t instanceof RegExp}const pn="production",Xr="_frozenDsc";function Rt(t,e){G(t,Xr,e)}function Zr(t,e){const n=e.getOptions(),{publicKey:r}=e.getDsn()||{},s={environment:n.environment||pn,release:n.release,public_key:r,trace_id:t,org_id:qi(e)};return e.emit("createDsc",s),s}function Qr(t,e){const n=e.getPropagationContext();return n.dsc||Zr(n.traceId,t)}function ne(t){var _,b,T,w,j;const e=k();if(!e)return{};const n=L(t),r=N(n),s=r.data,i=n.spanContext().traceState,o=(b=(_=i==null?void 0:i.get("sentry.sample_rate"))!=null?_:s[Lr])!=null?b:s[Ci];function a(F){return(typeof o=="number"||typeof o=="string")&&(F.sample_rate=`${o}`),F}const c=n[Xr];if(c)return a(c);const u=i==null?void 0:i.get("sentry.dsc"),p=u&&Oi(u);if(p)return a(p);const f=Zr(t.spanContext().traceId,e),h=(T=s[je])!=null?T:s["sentry.span.source"],d=r.description;return h!=="url"&&d&&(f.transaction=d),fn()&&(f.sampled=String(Y(n)),f.sample_rand=(j=i==null?void 0:i.get("sentry.sample_rand"))!=null?j:(w=Ue(n).scope)==null?void 0:w.getPropagationContext().sampleRand.toString()),a(f),e.emit("createDsc",f,n),f}class W{constructor(e={}){this._traceId=e.traceId||ee(),this._spanId=e.spanId||ue(),this.dropReason=e.dropReason}spanContext(){return{spanId:this._spanId,traceId:this._traceId,traceFlags:Gr}}end(e){}setAttribute(e,n){return this}setAttributes(e){return this}setStatus(e){return this}updateName(e){return this}isRecording(){return!1}addEvent(e,n,r){return this}addLink(e){return this}addLinks(e){return this}recordException(e,n){}}function es(t){return!!t&&typeof t=="function"&&"_streamed"in t&&!!t._streamed}function J(t,e=[]){return[t,e]}function Gn(t,e){const[n,r]=t;return[n,[...r,e]]}function Yt(t,e){const n=t[1];for(const r of n){const s=r[0].type;if(e(r,s))return!0}return!1}function Jt(t,e){return Yt(t,(n,r)=>e.includes(r))}function Xt(t){const e=mt(P);return e.encodePolyfill?e.encodePolyfill(t):new TextEncoder().encode(t)}function co(t){const[e,n]=t;let r=JSON.stringify(e);function s(i){typeof r=="string"?r=typeof i=="string"?r+i:[Xt(r),i]:r.push(typeof i=="string"?Xt(i):i)}for(const i of n){const[o,a]=i;if(s(`
|
|
1
|
+
"use strict";var Fs=Object.defineProperty,Ls=Object.defineProperties;var $s=Object.getOwnPropertyDescriptors;var Pe=Object.getOwnPropertySymbols;var Rn=Object.prototype.hasOwnProperty,Cn=Object.prototype.propertyIsEnumerable;var It=(t,e)=>(e=Symbol[t])?e:Symbol.for("Symbol."+t),Hs=t=>{throw TypeError(t)};var An=(t,e,n)=>e in t?Fs(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,l=(t,e)=>{for(var n in e||(e={}))Rn.call(e,n)&&An(t,n,e[n]);if(Pe)for(var n of Pe(e))Cn.call(e,n)&&An(t,n,e[n]);return t},E=(t,e)=>Ls(t,$s(e));var Pn=(t,e)=>{var n={};for(var r in t)Rn.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&Pe)for(var r of Pe(t))e.indexOf(r)<0&&Cn.call(t,r)&&(n[r]=t[r]);return n};var D=(t,e,n)=>new Promise((r,s)=>{var i=c=>{try{a(n.next(c))}catch(u){s(u)}},o=c=>{try{a(n.throw(c))}catch(u){s(u)}},a=c=>c.done?r(c.value):Promise.resolve(c.value).then(i,o);a((n=n.apply(t,e)).next())}),js=function(t,e){this[0]=t,this[1]=e};var xn=t=>{var e=t[It("asyncIterator")],n=!1,r,s={};return e==null?(e=t[It("iterator")](),r=i=>s[i]=o=>e[i](o)):(e=e.call(t),r=i=>s[i]=o=>{if(n){if(n=!1,i==="throw")throw o;return o}return n=!0,{done:!1,value:new js(new Promise(a=>{var c=e[i](o);c instanceof Object||Hs("Object expected"),a(c)}),1)}}),s[It("iterator")]=()=>s,r("next"),"throw"in e?r("throw"):s.throw=i=>{throw i},"return"in e&&r("return"),s};Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});class me{constructor(e){if(this._entries=[],typeof e=="string")this._parseString(e);else if(Array.isArray(e))for(const n of e)Array.isArray(n)&&n.length>=2&&this._entries.push([n[0]||"",n[1]||""]);else if(e&&typeof e=="object")if(e instanceof me)this._entries=e._entries.map(([n,r])=>[n,r]);else for(const[n,r]of Object.entries(e))this._entries.push([n,r])}get size(){return this._entries.length}_parseString(e){if(e.startsWith("?")&&(e=e.slice(1)),!e)return;const n=e.split("&");for(const r of n){const s=r.indexOf("=");if(s===-1)r&&this._entries.push([decodeURIComponent(r),""]);else{const i=r.slice(0,s),o=r.slice(s+1);i&&this._entries.push([decodeURIComponent(i),decodeURIComponent(o)])}}}append(e,n){this._entries.push([e,String(n)])}delete(e){this._entries=this._entries.filter(([n])=>n!==e)}get(e){const n=this._entries.find(([r])=>r===e);return n?n[1]:null}getAll(e){return this._entries.filter(([n])=>n===e).map(([,n])=>n)}has(e){return this._entries.some(([n])=>n===e)}set(e,n){const r=String(n);let s=!1;if(this._entries=this._entries.filter(([i])=>i===e?s?!1:(s=!0,!0):!0),s){const i=this._entries.findIndex(([o])=>o===e);i!==-1&&(this._entries[i]=[e,r])}else this._entries.push([e,r])}sort(){this._entries.sort(([e],[n])=>e<n?-1:e>n?1:0)}toString(){return this._entries.map(([e,n])=>`${encodeURIComponent(e)}=${encodeURIComponent(n)}`).join("&")}forEach(e){for(const[n,r]of this._entries)e(r,n,this)}*keys(){for(const[e]of this._entries)yield e}*values(){for(const[,e]of this._entries)yield e}*entries(){for(const e of this._entries)yield e}*[Symbol.iterator](){yield*xn(this.entries())}}function Bs(){const t=Function("return this")();return t&&typeof t.wx!="undefined"&&t.wx?t.wx:t&&typeof t.my!="undefined"&&t.my?t.my:t&&typeof t.swan!="undefined"&&t.swan?t.swan:t&&typeof t.tt!="undefined"&&t.tt?t.tt:t&&typeof t.qq!="undefined"&&t.qq?t.qq:typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:typeof global!="undefined"?global:typeof self!="undefined"?self:t}function Us(){try{const t=Bs();if(!t){console.warn("[sentry-miniapp] Unable to detect global object, polyfills may not work correctly");return}typeof t.URLSearchParams=="undefined"&&(t.URLSearchParams=me);const e=Function("return this")();e&&typeof e.URLSearchParams=="undefined"&&(e.URLSearchParams=me),typeof globalThis!="undefined"&&typeof globalThis.URLSearchParams=="undefined"&&(globalThis.URLSearchParams=me)}catch(t){console.warn("[sentry-miniapp] Failed to install polyfills:",t)}}function Er(){Us()}Er();const g=typeof __SENTRY_DEBUG__=="undefined"||__SENTRY_DEBUG__,P=globalThis,ge="10.56.0";function V(){return mt(P),P}function mt(t){const e=t.__SENTRY__=t.__SENTRY__||{};return e.version=e.version||ge,e[ge]=e[ge]||{}}function ae(t,e,n=P){const r=n.__SENTRY__=n.__SENTRY__||{},s=r[ge]=r[ge]||{};return s[t]||(s[t]=e())}const zs="Sentry Logger ",Nn={};function Ie(t){if(!("console"in P))return t();const e=P.console,n={},r=Object.keys(Nn);r.forEach(s=>{const i=Nn[s];n[s]=e[s],e[s]=i});try{return t()}finally{r.forEach(s=>{e[s]=n[s]})}}function qs(){on().enabled=!0}function Ws(){on().enabled=!1}function Tr(){return on().enabled}function Gs(...t){sn("log",...t)}function Ks(...t){sn("warn",...t)}function Vs(...t){sn("error",...t)}function sn(t,...e){g&&Tr()&&Ie(()=>{P.console[t](`${zs}[${t}]:`,...e)})}function on(){return g?ae("loggerSettings",()=>({enabled:!1})):{enabled:!1}}const m={enable:qs,disable:Ws,isEnabled:Tr,log:Gs,warn:Ks,error:Vs},vr=50,gt="?",Dn=/\(error: (.*)\)/,On=/captureMessage|captureException/;function Ys(...t){const e=t.sort((n,r)=>n[0]-r[0]).map(n=>n[1]);return(n,r=0,s=0)=>{const i=[],o=n.split(`
|
|
2
|
+
`);for(let a=r;a<o.length;a++){let c=o[a];c.length>1024&&(c=c.slice(0,1024));const u=Dn.test(c)?c.replace(Dn,"$1"):c;if(!u.includes("Error: ")){for(const p of e){const f=p(u);if(f){i.push(f);break}}if(i.length>=vr+s)break}}return Js(i.slice(s))}}function Js(t){if(!t.length)return[];const e=Array.from(t);return/sentryWrapped/.test(xe(e).function||"")&&e.pop(),e.reverse(),On.test(xe(e).function||"")&&(e.pop(),On.test(xe(e).function||"")&&e.pop()),e.slice(0,vr).map(n=>E(l({},n),{filename:n.filename||xe(e).filename,function:n.function||gt}))}function xe(t){return t[t.length-1]||{}}const kt="<anonymous>";function Xs(t){try{return!t||typeof t!="function"?kt:t.name||kt}catch(e){return kt}}const wr=Object.prototype.toString;function Ir(t){switch(wr.call(t)){case"[object Error]":case"[object Exception]":case"[object DOMException]":case"[object WebAssembly.Exception]":return!0;default:return Rr(t,Error)}}function an(t,e){return wr.call(t)===`[object ${e}]`}function jt(t){return an(t,"String")}function kr(t){return typeof t=="object"&&t!==null&&"__sentry_template_string__"in t&&"__sentry_template_values__"in t}function Ar(t){return t===null||kr(t)||typeof t!="object"&&typeof t!="function"}function Bt(t){return an(t,"Object")}function Zs(t){return typeof Event!="undefined"&&Rr(t,Event)}function Qs(t){return an(t,"RegExp")}function ce(t){return!!(t!=null&&t.then&&typeof t.then=="function")}function Rr(t,e){try{return t instanceof e}catch(n){return!1}}function G(t,e,n){try{Object.defineProperty(t,e,{value:n,writable:!0,configurable:!0})}catch(r){g&&m.log(`Failed to add non-enumerable property "${String(e)}" to object`,t)}}function ei(t){if(Ir(t))return l({message:t.message,name:t.name,stack:t.stack},Mn(t));if(Zs(t)){const{type:e,target:n,currentTarget:r,detail:s}=t;return l(l({type:e,target:n,currentTarget:r},s?{detail:s}:{}),Mn(t))}return t}function Mn(t){return typeof t=="object"&&t!==null?Object.fromEntries(Object.entries(t)):{}}let X;function yt(t){if(X!==void 0)return X?X(t):t();const e=Symbol.for("__SENTRY_SAFE_RANDOM_ID_WRAPPER__"),n=P;return e in n&&typeof n[e]=="function"?(X=n[e],X(t)):(X=null,t())}function Le(){return yt(()=>Math.random())}function St(){return yt(()=>Date.now())}const ti=Symbol.for("sentry.skipNormalization"),ni=Symbol.for("sentry.overrideNormalizationDepth");function ri(t){return!!t[ti]}function si(t){const e=t[ni];return typeof e=="number"?e:void 0}let ii;function q(t,e=100,n=1/0){try{return Ut("",t,e,n)}catch(r){return{ERROR:`**non-serializable** (${r})`}}}function Ut(t,e,n=1/0,r=1/0,s=ci()){const[i,o]=s;if(e==null||["boolean","string"].includes(typeof e)||typeof e=="number"&&Number.isFinite(e))return e;const a=oi(t,e);if(!a.startsWith("[object "))return a;if(ri(e))return e;const c=si(e),u=c!==void 0?c:n;if(u===0)return a.replace("object ","");if(i(e))return"[Circular ~]";const p=e;if(p&&typeof p.toJSON=="function")try{const _=p.toJSON();return Ut("",_,u-1,r,s)}catch(_){}const f=Array.isArray(e)?[]:{};let h=0;const d=ei(e);for(const _ in d){if(!Object.prototype.hasOwnProperty.call(d,_))continue;if(h>=r){f[_]="[MaxProperties ~]";break}const b=d[_];f[_]=Ut(_,b,u-1,r,s),h++}return o(e),f}function oi(t,e){try{return typeof global!="undefined"&&e===global?"[Global]":typeof e=="number"&&!Number.isFinite(e)?`[${e}]`:typeof e=="function"?`[Function: ${Xs(e)}]`:typeof e=="symbol"?`[${String(e)}]`:typeof e=="bigint"?`[BigInt: ${String(e)}]`:`[object ${ai(e)}]`}catch(n){return`**non-serializable** (${n})`}}function ai(t){const e=Object.getPrototypeOf(t);return e!=null&&e.constructor?e.constructor.name:"null prototype"}function ci(){const t=new WeakSet;function e(r){return t.has(r)?!0:(t.add(r),!1)}function n(r){t.delete(r)}return[e,n]}function zt(t,e=0){return typeof t!="string"||e===0||t.length<=e?t:`${t.slice(0,e)}...`}function Oe(t,e,n=!1){return jt(t)?Qs(e)?e.test(t):jt(e)?n?t===e:t.includes(e):typeof e=="function"?e(t):!1:!1}function ui(){const t=P;return t.crypto||t.msCrypto}let At;function li(){return Le()*16}function M(t=ui()){try{if(t!=null&&t.randomUUID)return yt(()=>t.randomUUID()).replace(/-/g,"")}catch(e){}return At||(At="10000000100040008000"+1e11),At.replace(/[018]/g,e=>(e^(li()&15)>>e/4).toString(16))}function fi(t){var e,n;return(n=(e=t.exception)==null?void 0:e.values)==null?void 0:n[0]}function pi(t,e){const n=fi(t);if(!n)return;const r={type:"generic",handled:!0},s=n.mechanism;if(n.mechanism=l(l(l({},r),s),e),e&&"data"in e){const i=l(l({},s==null?void 0:s.data),e.data);n.mechanism.data=i}}function Fn(t){if(di(t))return!0;try{G(t,"__sentry_captured__",!0)}catch(e){}return!1}function di(t){try{return t.__sentry_captured__}catch(e){}}const Cr=1e3;function ke(){return St()/Cr}function hi(){const{performance:t}=P;if(!(t!=null&&t.now)||!t.timeOrigin)return ke;const e=t.timeOrigin;return()=>(e+yt(()=>t.now()))/Cr}let Ne;function Ee(){return(Ne!=null?Ne:Ne=hi())()}function Pr(t){const e=Ee(),n={sid:M(),init:!0,timestamp:e,started:e,duration:0,status:"ok",errors:0,ignoreDuration:!1,toJSON:()=>_i(n)};return t&&K(n,t),n}function K(t,e={}){if(e.user&&(!t.ipAddress&&e.user.ip_address&&(t.ipAddress=e.user.ip_address),!t.did&&!e.did&&(t.did=e.user.id||e.user.email||e.user.username)),t.timestamp=e.timestamp||Ee(),e.abnormal_mechanism&&(t.abnormal_mechanism=e.abnormal_mechanism),e.ignoreDuration&&(t.ignoreDuration=e.ignoreDuration),e.sid&&(t.sid=e.sid.length===32?e.sid:M()),e.init!==void 0&&(t.init=e.init),!t.did&&e.did&&(t.did=`${e.did}`),typeof e.started=="number"&&(t.started=e.started),t.ignoreDuration)t.duration=void 0;else if(typeof e.duration=="number")t.duration=e.duration;else{const n=t.timestamp-t.started;t.duration=n>=0?n:0}e.release&&(t.release=e.release),e.environment&&(t.environment=e.environment),!t.ipAddress&&e.ipAddress&&(t.ipAddress=e.ipAddress),!t.userAgent&&e.userAgent&&(t.userAgent=e.userAgent),typeof e.errors=="number"&&(t.errors=e.errors),e.status&&(t.status=e.status)}function xr(t,e){let n={};e?n={status:e}:t.status==="ok"&&(n={status:"exited"}),K(t,n)}function _i(t){return{sid:`${t.sid}`,init:t.init,started:new Date(t.started*1e3).toISOString(),timestamp:new Date(t.timestamp*1e3).toISOString(),status:t.status,errors:t.errors,did:typeof t.did=="number"||typeof t.did=="string"?`${t.did}`:void 0,duration:t.duration,abnormal_mechanism:t.abnormal_mechanism,attrs:{release:t.release,environment:t.environment,ip_address:t.ipAddress,user_agent:t.userAgent}}}function Ae(t,e,n=2){if(!e||typeof e!="object"||n<=0)return e;if(t&&Object.keys(e).length===0)return t;const r=l({},t);for(const s in e)Object.prototype.hasOwnProperty.call(e,s)&&(r[s]=Ae(r[s],e[s],n-1));return r}function ee(){return M()}function ue(){return M().substring(16)}function Nr(t){try{const e=P.WeakRef;if(typeof e=="function")return new e(t)}catch(e){}return t}function Dr(t){if(t){if(typeof t=="object"&&"deref"in t&&typeof t.deref=="function")try{return t.deref()}catch(e){return}return t}}const qt="_sentrySpan";function $e(t,e){e?G(t,qt,Nr(e)):delete t[qt]}function He(t){return Dr(t[qt])}const mi=100;class H{constructor(){this._notifyingListeners=!1,this._scopeListeners=[],this._eventProcessors=[],this._breadcrumbs=[],this._attachments=[],this._user={},this._tags={},this._attributes={},this._extra={},this._contexts={},this._sdkProcessingMetadata={},this._propagationContext={traceId:ee(),sampleRand:Le()}}clone(){const e=new H;return e._breadcrumbs=[...this._breadcrumbs],e._tags=l({},this._tags),e._attributes=l({},this._attributes),e._extra=l({},this._extra),e._contexts=l({},this._contexts),this._contexts.flags&&(e._contexts.flags={values:[...this._contexts.flags.values]}),e._user=this._user,e._level=this._level,e._session=this._session,e._transactionName=this._transactionName,e._fingerprint=this._fingerprint,e._eventProcessors=[...this._eventProcessors],e._attachments=[...this._attachments],e._sdkProcessingMetadata=l({},this._sdkProcessingMetadata),e._propagationContext=l({},this._propagationContext),e._client=this._client,e._lastEventId=this._lastEventId,e._conversationId=this._conversationId,$e(e,He(this)),e}setClient(e){this._client=e}setLastEventId(e){this._lastEventId=e}getClient(){return this._client}lastEventId(){return this._lastEventId}addScopeListener(e){this._scopeListeners.push(e)}addEventProcessor(e){return this._eventProcessors.push(e),this}setUser(e){return this._user=e||{email:void 0,id:void 0,ip_address:void 0,username:void 0},this._session&&K(this._session,{user:e}),this._notifyScopeListeners(),this}getUser(){return this._user}setConversationId(e){return this._conversationId=e||void 0,this._notifyScopeListeners(),this}setTags(e){return this._tags=l(l({},this._tags),e),this._notifyScopeListeners(),this}setTag(e,n){return this.setTags({[e]:n})}setAttributes(e){return this._attributes=l(l({},this._attributes),e),this._notifyScopeListeners(),this}setAttribute(e,n){return this.setAttributes({[e]:n})}removeAttribute(e){return e in this._attributes&&(delete this._attributes[e],this._notifyScopeListeners()),this}setExtras(e){return this._extra=l(l({},this._extra),e),this._notifyScopeListeners(),this}setExtra(e,n){return this._extra=E(l({},this._extra),{[e]:n}),this._notifyScopeListeners(),this}setFingerprint(e){return this._fingerprint=e,this._notifyScopeListeners(),this}setLevel(e){return this._level=e,this._notifyScopeListeners(),this}setTransactionName(e){return this._transactionName=e,this._notifyScopeListeners(),this}setContext(e,n){return n===null?delete this._contexts[e]:this._contexts[e]=n,this._notifyScopeListeners(),this}setSession(e){return e?this._session=e:delete this._session,this._notifyScopeListeners(),this}getSession(){return this._session}update(e){if(!e)return this;const n=typeof e=="function"?e(this):e,r=n instanceof H?n.getScopeData():Bt(n)?e:void 0,{tags:s,attributes:i,extra:o,user:a,contexts:c,level:u,fingerprint:p=[],propagationContext:f,conversationId:h}=r||{};return this._tags=l(l({},this._tags),s),this._attributes=l(l({},this._attributes),i),this._extra=l(l({},this._extra),o),this._contexts=l(l({},this._contexts),c),a&&Object.keys(a).length&&(this._user=a),u&&(this._level=u),p.length&&(this._fingerprint=p),f&&(this._propagationContext=f),h&&(this._conversationId=h),this}clear(){return this._breadcrumbs=[],this._tags={},this._attributes={},this._extra={},this._user={},this._contexts={},this._level=void 0,this._transactionName=void 0,this._fingerprint=void 0,this._session=void 0,this._conversationId=void 0,$e(this,void 0),this._attachments=[],this.setPropagationContext({traceId:ee(),sampleRand:Le()}),this._notifyScopeListeners(),this}addBreadcrumb(e,n){var i;const r=typeof n=="number"?n:mi;if(r<=0)return this;const s=E(l({timestamp:ke()},e),{message:e.message?zt(e.message,2048):e.message});return this._breadcrumbs.push(s),this._breadcrumbs.length>r&&(this._breadcrumbs=this._breadcrumbs.slice(-r),(i=this._client)==null||i.recordDroppedEvent("buffer_overflow","log_item")),this._notifyScopeListeners(),this}getLastBreadcrumb(){return this._breadcrumbs[this._breadcrumbs.length-1]}clearBreadcrumbs(){return this._breadcrumbs=[],this._notifyScopeListeners(),this}addAttachment(e){return this._attachments.push(e),this}clearAttachments(){return this._attachments=[],this}getScopeData(){return{breadcrumbs:this._breadcrumbs,attachments:this._attachments,contexts:this._contexts,tags:this._tags,attributes:this._attributes,extra:this._extra,user:this._user,level:this._level,fingerprint:this._fingerprint||[],eventProcessors:this._eventProcessors,propagationContext:this._propagationContext,sdkProcessingMetadata:this._sdkProcessingMetadata,transactionName:this._transactionName,span:He(this),conversationId:this._conversationId}}setSDKProcessingMetadata(e){return this._sdkProcessingMetadata=Ae(this._sdkProcessingMetadata,e,2),this}setPropagationContext(e){return this._propagationContext=e,this}getPropagationContext(){return this._propagationContext}captureException(e,n){const r=(n==null?void 0:n.event_id)||M();if(!this._client)return g&&m.warn("No client configured on scope - will not capture exception!"),r;const s=new Error("Sentry syntheticException");return this._client.captureException(e,E(l({originalException:e,syntheticException:s},n),{event_id:r}),this),r}captureMessage(e,n,r){var o;const s=(r==null?void 0:r.event_id)||M();if(!this._client)return g&&m.warn("No client configured on scope - will not capture message!"),s;const i=(o=r==null?void 0:r.syntheticException)!=null?o:new Error(e);return this._client.captureMessage(e,n,E(l({originalException:e,syntheticException:i},r),{event_id:s}),this),s}captureEvent(e,n){const r=e.event_id||(n==null?void 0:n.event_id)||M();return this._client?(this._client.captureEvent(e,E(l({},n),{event_id:r}),this),r):(g&&m.warn("No client configured on scope - will not capture event!"),r)}_notifyScopeListeners(){this._notifyingListeners||(this._notifyingListeners=!0,this._scopeListeners.forEach(e=>{e(this)}),this._notifyingListeners=!1)}}function gi(){return ae("defaultCurrentScope",()=>new H)}function yi(){return ae("defaultIsolationScope",()=>new H)}const Ln=t=>t instanceof Promise&&!t[Or],Or=Symbol("chained PromiseLike"),Mr=(t,e,n)=>{const r=t.then(s=>(e(s),s),s=>{throw n(s),s});return Ln(r)&&Ln(t)?r:Si(t,r)},Si=(t,e)=>{if(!e)return t;let n=!1;for(const r in t){if(r in e)continue;n=!0;const s=t[r];typeof s=="function"?Object.defineProperty(e,r,{value:(...i)=>s.apply(t,i),enumerable:!0,configurable:!0,writable:!0}):e[r]=s}return n&&Object.assign(e,{[Or]:!0}),e};class bi{constructor(e,n){let r;e?r=e:r=new H;let s;n?s=n:s=new H,this._stack=[{scope:r}],this._isolationScope=s}withScope(e){const n=this._pushScope();let r;try{r=e(n)}catch(s){throw this._popScope(),s}return ce(r)?Mr(r,()=>this._popScope(),()=>this._popScope()):(this._popScope(),r)}getClient(){return this.getStackTop().client}getScope(){return this.getStackTop().scope}getIsolationScope(){return this._isolationScope}getStackTop(){return this._stack[this._stack.length-1]}_pushScope(){const e=this.getScope().clone();return this._stack.push({client:this.getClient(),scope:e}),e}_popScope(){return this._stack.length<=1?!1:!!this._stack.pop()}}function te(){const t=V(),e=mt(t);return e.stack=e.stack||new bi(gi(),yi())}function Ei(t){return te().withScope(t)}function Ti(t,e){const n=te();return n.withScope(()=>(n.getStackTop().scope=t,e(t)))}function $n(t){return te().withScope(()=>t(te().getIsolationScope()))}function vi(){return{withIsolationScope:$n,withScope:Ei,withSetScope:Ti,withSetIsolationScope:(t,e)=>$n(e),getCurrentScope:()=>te().getScope(),getIsolationScope:()=>te().getIsolationScope()}}function le(t){const e=mt(t);return e.acs?e.acs:vi()}function wi(t){return typeof t=="object"&&t!=null&&!Array.isArray(t)&&Object.keys(t).includes("value")}function Ii(t,e){var a;const{value:n,unit:r}=wi(t)?t:{value:t,unit:void 0},s=ki(n),i=r&&typeof r=="string"?{unit:r}:{};if(s)return l(l({},s),i);if(!e||e==="skip-undefined"&&n===void 0)return;let o="";try{o=(a=JSON.stringify(n))!=null?a:""}catch(c){}return l({value:o,type:"string"},i)}function Hn(t,e=!1){const n={};for(const[r,s]of Object.entries(t!=null?t:{})){const i=Ii(s,e);i&&(n[r]=i)}return n}function ki(t){if(Array.isArray(t))return{value:t,type:"array"};const e=typeof t=="string"?"string":typeof t=="boolean"?"boolean":typeof t=="number"&&!Number.isNaN(t)?Number.isInteger(t)?"integer":"double":null;if(e)return{value:t,type:e}}function y(){const t=V();return le(t).getCurrentScope()}function A(){const t=V();return le(t).getIsolationScope()}function Ai(){return ae("globalScope",()=>new H)}function Re(...t){const e=V(),n=le(e);if(t.length===2){const[r,s]=t;return r?n.withSetScope(r,s):n.withScope(s)}return n.withScope(t[0])}function k(){return y().getClient()}function Ri(t){const e=t.getPropagationContext(),{traceId:n,parentSpanId:r,propagationSpanId:s}=e,i={trace_id:n,span_id:s||ue()};return r&&(i.parent_span_id=r),i}const je="sentry.source",Fr="sentry.sample_rate",Ci="sentry.previous_trace_sample_rate",Be="sentry.op",Wt="sentry.origin",Lr="sentry.measurement_unit",$r="sentry.measurement_value",jn="sentry.custom_span_name",cn="sentry.profile_id",un="sentry.exclusive_time",Hr=0,bt=1,C=2;function Pi(t){if(t<400&&t>=100)return{code:bt};if(t>=400&&t<500)switch(t){case 401:return{code:C,message:"unauthenticated"};case 403:return{code:C,message:"permission_denied"};case 404:return{code:C,message:"not_found"};case 409:return{code:C,message:"already_exists"};case 413:return{code:C,message:"failed_precondition"};case 429:return{code:C,message:"resource_exhausted"};case 499:return{code:C,message:"cancelled"};default:return{code:C,message:"invalid_argument"}}if(t>=500&&t<600)switch(t){case 501:return{code:C,message:"unimplemented"};case 503:return{code:C,message:"unavailable"};case 504:return{code:C,message:"deadline_exceeded"};default:return{code:C,message:"internal_error"}}return{code:C,message:"internal_error"}}function xi(t,e){t.setAttribute("http.response.status_code",e);const n=Pi(e);n.message!=="unknown_error"&&t.setStatus(n)}const jr="_sentryScope",Br="_sentryIsolationScope";function Ni(t,e,n){t&&(G(t,Br,Nr(n)),G(t,jr,e))}function Ue(t){const e=t;return{scope:e[jr],isolationScope:Dr(e[Br])}}const Gt="sentry-",Di=8192;function Oi(t){const e=Fi(t);if(!e)return;const n=Object.entries(e).reduce((r,[s,i])=>{if(s.startsWith(Gt)){const o=s.slice(Gt.length);r[o]=i}return r},{});if(Object.keys(n).length>0)return n}function Mi(t){if(!t)return;const e=Object.entries(t).reduce((n,[r,s])=>(s&&(n[`${Gt}${r}`]=s),n),{});return Li(e)}function Fi(t){if(!(!t||!jt(t)&&!Array.isArray(t)))return Array.isArray(t)?t.reduce((e,n)=>{const r=Bn(n);return Object.entries(r).forEach(([s,i])=>{e[s]=i}),e},{}):Bn(t)}function Bn(t){return t.split(",").map(e=>{const n=e.indexOf("=");if(n===-1)return[];const r=e.slice(0,n),s=e.slice(n+1);return[r,s].map(i=>{try{return decodeURIComponent(i.trim())}catch(o){return}})}).reduce((e,[n,r])=>(n&&r&&(e[n]=r),e),{})}function Li(t){if(Object.keys(t).length!==0)return Object.entries(t).reduce((e,[n,r],s)=>{const i=`${encodeURIComponent(n)}=${encodeURIComponent(r)}`,o=s===0?i:`${e},${i}`;return o.length>Di?(g&&m.warn(`Not adding key: ${n} with val: ${r} to baggage header due to exceeding baggage size limits.`),e):o},"")}const $i=/^o(\d+)\./,Hi=/^(?:(\w+):)\/\/(?:(\w+)(?::(\w+)?)?@)((?:\[[:.%\w]+\]|[\w.-]+))(?::(\d+))?\/(.+)/;function ji(t){return t==="http"||t==="https"}function fe(t,e=!1){const{host:n,path:r,pass:s,port:i,projectId:o,protocol:a,publicKey:c}=t;return`${a}://${c}${e&&s?`:${s}`:""}@${n}${i?`:${i}`:""}/${r&&`${r}/`}${o}`}function Bi(t){const e=Hi.exec(t);if(!e){Ie(()=>{console.error(`Invalid Sentry Dsn: ${t}`)});return}const[n,r,s="",i="",o="",a=""]=e.slice(1);let c="",u=a;const p=u.split("/");if(p.length>1&&(c=p.slice(0,-1).join("/"),u=p.pop()),u){const f=u.match(/^\d+/);f&&(u=f[0])}return Ur({host:i,pass:s,path:c,projectId:u,port:o,protocol:n,publicKey:r})}function Ur(t){return{protocol:t.protocol,publicKey:t.publicKey||"",pass:t.pass||"",host:t.host,port:t.port||"",path:t.path||"",projectId:t.projectId}}function Ui(t){if(!g)return!0;const{port:e,projectId:n,protocol:r}=t;return["protocol","publicKey","host","projectId"].find(o=>t[o]?!1:(m.error(`Invalid Sentry Dsn: ${o} missing`),!0))?!1:n.match(/^\d+$/)?ji(r)?e&&isNaN(parseInt(e,10))?(m.error(`Invalid Sentry Dsn: Invalid port ${e}`),!1):!0:(m.error(`Invalid Sentry Dsn: Invalid protocol ${r}`),!1):(m.error(`Invalid Sentry Dsn: Invalid projectId ${n}`),!1)}function zi(t){const e=t.match($i);return e==null?void 0:e[1]}function qi(t){const e=t.getOptions(),{host:n}=t.getDsn()||{};let r;return e.orgId?r=String(e.orgId):n&&(r=zi(n)),r}function Wi(t){const e=typeof t=="string"?Bi(t):Ur(t);if(!(!e||!Ui(e)))return e}function ln(t){if(typeof t=="boolean")return Number(t);const e=typeof t=="string"?parseFloat(t):t;if(!(typeof e!="number"||isNaN(e)||e<0||e>1))return e}const Gi=new RegExp("^[ \\t]*([0-9a-f]{32})?-?([0-9a-f]{16})?-?([01])?[ \\t]*$");function zr(t=ee(),e=ue(),n){let r="";return n!==void 0&&(r=n?"-1":"-0"),`${t}-${e}${r}`}function qr(t=ee(),e=ue(),n){return`00-${t}-${e}-${n?"01":"00"}`}const Wr=0,Et=1;let Un=!1;function Ki(t){const{spanId:e,traceId:n}=t.spanContext(),{data:r,op:s,parent_span_id:i,status:o,origin:a,links:c}=x(t);return{parent_span_id:i,span_id:e,trace_id:n,data:r,op:s,status:o,origin:a,links:c}}function Vi(t){const{spanId:e,traceId:n,isRemote:r}=t.spanContext(),s=r?e:x(t).parent_span_id,i=Ue(t).scope,o=r?(i==null?void 0:i.getPropagationContext().propagationSpanId)||ue():e;return{parent_span_id:s,span_id:o,trace_id:n}}function Yi(t){const{traceId:e,spanId:n}=t.spanContext(),r=Y(t);return zr(e,n,r)}function Ji(t){const{traceId:e,spanId:n}=t.spanContext(),r=Y(t);return qr(e,n,r)}function Gr(t){if(t&&t.length>0)return t.map(o=>{var a=o,{context:c}=a,u=c,{spanId:e,traceId:n,traceFlags:r}=u,s=Pn(u,["spanId","traceId","traceFlags"]),{attributes:i}=a;return l({span_id:e,trace_id:n,sampled:r===Et,attributes:i},s)})}function Xi(t){if(t!=null&&t.length)return t.map(({context:{spanId:e,traceId:n,traceFlags:r},attributes:s})=>({span_id:e,trace_id:n,sampled:r===Et,attributes:s}))}function Q(t){return typeof t=="number"?zn(t):Array.isArray(t)?t[0]+t[1]/1e9:t instanceof Date?zn(t.getTime()):Ee()}function zn(t){return t>9999999999?t/1e3:t}function x(t){if(to(t))return t.getSpanJSON();const{spanId:e,traceId:n}=t.spanContext();if(eo(t)){const{attributes:r,startTime:s,name:i,endTime:o,status:a,links:c}=t;return{span_id:e,trace_id:n,data:r,description:i,parent_span_id:Zi(t),start_timestamp:Q(s),timestamp:Q(o)||void 0,status:Kr(a),op:r[Be],origin:r[Wt],links:Gr(c)}}return{span_id:e,trace_id:n,start_timestamp:0,data:{}}}function Zi(t){var e;return"parentSpanId"in t?t.parentSpanId:"parentSpanContext"in t?(e=t.parentSpanContext)==null?void 0:e.spanId:void 0}function Qi(t){var e;return E(l({},t),{attributes:Hn(t.attributes),links:(e=t.links)==null?void 0:e.map(n=>E(l({},n),{attributes:Hn(n.attributes)}))})}function eo(t){const e=t;return!!e.attributes&&!!e.startTime&&!!e.name&&!!e.endTime&&!!e.status}function to(t){return typeof t.getSpanJSON=="function"}function Y(t){const{traceFlags:e}=t.spanContext();return e===Et}function Kr(t){if(!(!t||t.code===Hr))return t.code===bt?"ok":t.message||"internal_error"}function no(t){return!t||t.code===bt||t.code===Hr||t.message==="cancelled"?"ok":"error"}const ye="_sentryChildSpans",Kt="_sentryRootSpan";function Vr(t,e){const n=t[Kt]||t;G(e,Kt,n),t[ye]?t[ye].add(e):G(t,ye,new Set([e]))}function ro(t){const e=new Set;function n(r){if(!e.has(r)&&Y(r)){e.add(r);const s=r[ye]?Array.from(r[ye]):[];for(const i of s)n(i)}}return n(t),Array.from(e)}const L=so;function so(t){return t[Kt]||t}function Yr(){const t=V(),e=le(t);return e.getActiveSpan?e.getActiveSpan():He(y())}function Vt(){Un||(Ie(()=>{console.warn("[Sentry] Returning null from `beforeSendSpan` is disallowed. To drop certain spans, configure the respective integrations directly or use `ignoreSpans`.")}),Un=!0)}function fn(t){var n;if(typeof __SENTRY_TRACING__=="boolean"&&!__SENTRY_TRACING__)return!1;const e=t||((n=k())==null?void 0:n.getOptions());return!!e&&(e.tracesSampleRate!=null||!!e.tracesSampler)}function qn(t){m.log(`Ignoring span ${t.op} - ${t.description} because it matches \`ignoreSpans\`.`)}function ze(t,e){if(!(e!=null&&e.length))return!1;for(const n of e){if(ao(n)){if(t.description&&Oe(t.description,n))return g&&qn(t),!0;continue}const r=!!n.attributes&&Object.keys(n.attributes).length>0;if(!n.name&&!n.op&&!r)continue;const s=n.name?t.description&&Oe(t.description,n.name):!0,i=n.op?t.op&&Oe(t.op,n.op):!0,o=n.attributes?Object.entries(n.attributes).every(([a,c])=>{var u;return io((u=t.attributes)==null?void 0:u[a],c)}):!0;if(s&&i&&o)return g&&qn(t),!0}return!1}function io(t,e){return typeof t=="string"&&(typeof e=="string"||e instanceof RegExp)?Oe(t,e):Array.isArray(t)&&Array.isArray(e)?t.length===e.length&&t.every((n,r)=>n===e[r]):t===e}function oo(t,e){const n=e.parent_span_id,r=e.span_id;if(n)for(const s of t)s.parent_span_id===r&&(s.parent_span_id=n)}function ao(t){return typeof t=="string"||t instanceof RegExp}const pn="production",Jr="_frozenDsc";function Rt(t,e){G(t,Jr,e)}function Xr(t,e){const n=e.getOptions(),{publicKey:r}=e.getDsn()||{},s={environment:n.environment||pn,release:n.release,public_key:r,trace_id:t,org_id:qi(e)};return e.emit("createDsc",s),s}function Zr(t,e){const n=e.getPropagationContext();return n.dsc||Xr(n.traceId,t)}function ne(t){var _,b,T,w,j;const e=k();if(!e)return{};const n=L(t),r=x(n),s=r.data,i=n.spanContext().traceState,o=(b=(_=i==null?void 0:i.get("sentry.sample_rate"))!=null?_:s[Fr])!=null?b:s[Ci];function a(F){return(typeof o=="number"||typeof o=="string")&&(F.sample_rate=`${o}`),F}const c=n[Jr];if(c)return a(c);const u=i==null?void 0:i.get("sentry.dsc"),p=u&&Oi(u);if(p)return a(p);const f=Xr(t.spanContext().traceId,e),h=(T=s[je])!=null?T:s["sentry.span.source"],d=r.description;return h!=="url"&&d&&(f.transaction=d),fn()&&(f.sampled=String(Y(n)),f.sample_rand=(j=i==null?void 0:i.get("sentry.sample_rand"))!=null?j:(w=Ue(n).scope)==null?void 0:w.getPropagationContext().sampleRand.toString()),a(f),e.emit("createDsc",f,n),f}class W{constructor(e={}){this._traceId=e.traceId||ee(),this._spanId=e.spanId||ue(),this.dropReason=e.dropReason}spanContext(){return{spanId:this._spanId,traceId:this._traceId,traceFlags:Wr}}end(e){}setAttribute(e,n){return this}setAttributes(e){return this}setStatus(e){return this}updateName(e){return this}isRecording(){return!1}addEvent(e,n,r){return this}addLink(e){return this}addLinks(e){return this}recordException(e,n){}}function Qr(t){return!!t&&typeof t=="function"&&"_streamed"in t&&!!t._streamed}function J(t,e=[]){return[t,e]}function Wn(t,e){const[n,r]=t;return[n,[...r,e]]}function Yt(t,e){const n=t[1];for(const r of n){const s=r[0].type;if(e(r,s))return!0}return!1}function Jt(t,e){return Yt(t,(n,r)=>e.includes(r))}function Xt(t){const e=mt(P);return e.encodePolyfill?e.encodePolyfill(t):new TextEncoder().encode(t)}function co(t){const[e,n]=t;let r=JSON.stringify(e);function s(i){typeof r=="string"?r=typeof i=="string"?r+i:[Xt(r),i]:r.push(typeof i=="string"?Xt(i):i)}for(const i of n){const[o,a]=i;if(s(`
|
|
3
3
|
${JSON.stringify(o)}
|
|
4
|
-
`),typeof a=="string"||a instanceof Uint8Array)s(a);else{let c;try{c=JSON.stringify(a)}catch(u){c=JSON.stringify(q(a))}s(c)}}return typeof r=="string"?r:uo(r)}function uo(t){const e=t.reduce((s,i)=>s+i.length,0),n=new Uint8Array(e);let r=0;for(const s of t)n.set(s,r),r+=s.length;return n}function lo(t){return[{type:"span"},t]}function fo(t){const e=typeof t.data=="string"?Xt(t.data):t.data;return[{type:"attachment",length:e.length,filename:t.filename,content_type:t.contentType,attachment_type:t.attachmentType},e]}const
|
|
4
|
+
`),typeof a=="string"||a instanceof Uint8Array)s(a);else{let c;try{c=JSON.stringify(a)}catch(u){c=JSON.stringify(q(a))}s(c)}}return typeof r=="string"?r:uo(r)}function uo(t){const e=t.reduce((s,i)=>s+i.length,0),n=new Uint8Array(e);let r=0;for(const s of t)n.set(s,r),r+=s.length;return n}function lo(t){return[{type:"span"},t]}function fo(t){const e=typeof t.data=="string"?Xt(t.data):t.data;return[{type:"attachment",length:e.length,filename:t.filename,content_type:t.contentType,attachment_type:t.attachmentType},e]}const es={sessions:"session",event:"error",client_report:"internal",user_report:"default",profile_chunk:"profile",replay_event:"replay",replay_recording:"replay",check_in:"monitor",raw_security:"security",log:"log_item",trace_metric:"metric"};function po(t){return t in es}function Gn(t){return po(t)?es[t]:t}function ts(t){if(!(t!=null&&t.sdk))return;const{name:e,version:n}=t.sdk;return{name:e,version:n}}function ho(t,e,n,r){var i;const s=(i=t.sdkProcessingMetadata)==null?void 0:i.dynamicSamplingContext;return l(l(l({event_id:t.event_id,sent_at:new Date().toISOString()},e&&{sdk:e}),!!n&&r&&{dsn:fe(r)}),s&&{trace:s})}function _o(t,e){var r,s,i,o;if(!e)return t;const n=t.sdk||{};return t.sdk=E(l({},n),{name:n.name||e.name,version:n.version||e.version,integrations:[...((r=t.sdk)==null?void 0:r.integrations)||[],...e.integrations||[]],packages:[...((s=t.sdk)==null?void 0:s.packages)||[],...e.packages||[]],settings:(i=t.sdk)!=null&&i.settings||e.settings?l(l({},(o=t.sdk)==null?void 0:o.settings),e.settings):void 0}),t}function mo(t,e,n,r){const s=ts(n),i=l(l({sent_at:new Date().toISOString()},s&&{sdk:s}),!!r&&e&&{dsn:fe(e)}),o="aggregates"in t?[{type:"sessions"},t]:[{type:"session"},t.toJSON()];return J(i,[o])}function go(t,e,n,r){const s=ts(n),i=t.type&&t.type!=="replay_event"?t.type:"event";_o(t,n==null?void 0:n.sdk);const o=ho(t,s,r,e);return delete t.sdkProcessingMetadata,J(o,[[{type:i},t]])}function yo(t,e){function n(d){return!!d.trace_id&&!!d.public_key}const r=ne(t[0]),s=e==null?void 0:e.getDsn(),i=e==null?void 0:e.getOptions().tunnel,o=l(l({sent_at:new Date().toISOString()},n(r)&&{trace:r}),!!i&&s&&{dsn:fe(s)}),{beforeSendSpan:a,ignoreSpans:c}=(e==null?void 0:e.getOptions())||{},u=c!=null&&c.length?t.filter(d=>{const _=x(d);return!ze({description:_.description,op:_.op,attributes:_.data},c)}):t,p=t.length-u.length;p&&(e==null||e.recordDroppedEvent("before_send","span",p));const f=a?d=>{const _=x(d),b=Qr(a)?_:a(_);return b||(Vt(),_)}:x,h=[];for(const d of u){const _=f(d);_&&h.push(lo(_))}return J(o,h)}function So(t){if(!g)return;const{description:e="< unknown name >",op:n="< unknown op >",parent_span_id:r}=x(t),{spanId:s}=t.spanContext(),i=Y(t),o=L(t),a=o===t,c=`[Tracing] Starting ${i?"sampled":"unsampled"} ${a?"root ":""}span`,u=[`op: ${n}`,`name: ${e}`,`ID: ${s}`];if(r&&u.push(`parent ID: ${r}`),!a){const{op:p,description:f}=x(o);u.push(`root ID: ${o.spanContext().spanId}`),p&&u.push(`root op: ${p}`),f&&u.push(`root description: ${f}`)}m.log(`${c}
|
|
5
5
|
${u.join(`
|
|
6
|
-
`)}`)}function bo(t){if(!g)return;const{description:e="< unknown name >",op:n="< unknown op >"}=N(t),{spanId:r}=t.spanContext(),i=L(t)===t,o=`[Tracing] Finishing "${n}" ${i?"root ":""}span "${e}" with ID ${r}`;m.log(o)}function he(t,e,n,r=Jr()){const s=r&&L(r);s&&(g&&m.log(`[Measurement] Setting measurement on root span: ${t} = ${e} ${n}`),s.addEvent(t,{[Hr]:e,[$r]:n}))}function Vn(t){if(!t||t.length===0)return;const e={};return t.forEach(n=>{const r=n.attributes||{},s=r[$r],i=r[Hr];typeof s=="string"&&typeof i=="number"&&(e[n.name]={value:i,unit:s})}),e}function Ce(t){return t.getOptions().traceLifecycle==="stream"}const Yn=1e3;class dn{constructor(e={}){this._traceId=e.traceId||ee(),this._spanId=e.spanId||ue(),this._startTime=e.startTimestamp||Ee(),this._links=e.links,this._attributes={},this.setAttributes(l({[Wt]:"manual",[Be]:e.op},e.attributes)),this._name=e.name,e.parentSpanId&&(this._parentSpanId=e.parentSpanId),"sampled"in e&&(this._sampled=e.sampled),e.endTimestamp&&(this._endTime=e.endTimestamp),this._events=[],this._isStandaloneSpan=e.isStandalone,this._endTime&&this._onSpanEnded()}addLink(e){return this._links?this._links.push(e):this._links=[e],this}addLinks(e){return this._links?this._links.push(...e):this._links=e,this}recordException(e,n){}spanContext(){const{_spanId:e,_traceId:n,_sampled:r}=this;return{spanId:e,traceId:n,traceFlags:r?Et:Gr}}setAttribute(e,n){return n===void 0?delete this._attributes[e]:this._attributes[e]=n,this}setAttributes(e){return Object.keys(e).forEach(n=>this.setAttribute(n,e[n])),this}updateStartTime(e){this._startTime=Q(e)}setStatus(e){return this._status=e,this}updateName(e){return this._name=e,this.setAttribute(je,"custom"),this}end(e){this._endTime||(this._endTime=Q(e),bo(this),this._onSpanEnded())}getSpanJSON(){return{data:this._attributes,description:this._name,op:this._attributes[Be],parent_span_id:this._parentSpanId,span_id:this._spanId,start_timestamp:this._startTime,status:Vr(this._status),timestamp:this._endTime,trace_id:this._traceId,origin:this._attributes[Wt],profile_id:this._attributes[cn],exclusive_time:this._attributes[un],measurements:Vn(this._events),is_segment:this._isStandaloneSpan&&L(this)===this||void 0,segment_id:this._isStandaloneSpan?L(this).spanContext().spanId:void 0,links:Kr(this._links)}}getStreamedSpanJSON(){var e,n;return{name:(e=this._name)!=null?e:"",span_id:this._spanId,trace_id:this._traceId,parent_span_id:this._parentSpanId,start_timestamp:this._startTime,end_timestamp:(n=this._endTime)!=null?n:this._startTime,is_segment:this._isStandaloneSpan||this===L(this),status:no(this._status),attributes:this._attributes,links:Xi(this._links)}}isRecording(){return!this._endTime&&!!this._sampled}addEvent(e,n,r){g&&m.log("[Tracing] Adding an event to span:",e);const s=Jn(n)?n:r||Ee(),i=Jn(n)?{}:n||{},o={name:e,time:Q(s),attributes:i};return this._events.push(o),this}isStandaloneSpan(){return!!this._isStandaloneSpan}_onSpanEnded(){const e=k();if(e&&(e.emit("spanEnd",this),this._isStandaloneSpan||e.emit("afterSpanEnd",this)),!(this._isStandaloneSpan||this===L(this)))return;if(this._isStandaloneSpan){this._sampled?To(yo([this],e)):(g&&m.log("[Tracing] Discarding standalone span because its trace was not chosen to be sampled."),e&&e.recordDroppedEvent("sample_rate","span"));return}else if(e&&Ce(e)){e.emit("afterSegmentSpanEnd",this);return}const r=this._convertSpanToTransaction();r&&(Ue(this).scope||S()).captureEvent(r)}_convertSpanToTransaction(){var f;if(!Xn(N(this)))return;this._name||(g&&m.warn("Transaction has no name, falling back to `<unlabeled transaction>`."),this._name="<unlabeled transaction>");const{scope:e,isolationScope:n}=Ue(this),r=(f=e==null?void 0:e.getScopeData().sdkProcessingMetadata)==null?void 0:f.normalizedRequest;if(this._sampled!==!0)return;const i=ro(this).filter(h=>h!==this&&!Eo(h)).map(h=>N(h)).filter(Xn),o=this._attributes[je];delete this._attributes[Bn];let a=!1;i.forEach(h=>{var d;delete h.data[Bn],(d=h.op)!=null&&d.startsWith("gen_ai.")&&(a=!0)});const c=l({contexts:{trace:Ki(this)},spans:i.length>Yn?i.sort((h,d)=>h.start_timestamp-d.start_timestamp).slice(0,Yn):i,start_timestamp:this._startTime,timestamp:this._endTime,transaction:this._name,type:"transaction",sdkProcessingMetadata:{capturedSpanScope:e,capturedSpanIsolationScope:n,dynamicSamplingContext:ne(this),hasGenAiSpans:a},request:r},o&&{transaction_info:{source:o}}),u=Vn(this._events);return u&&Object.keys(u).length&&(g&&m.log("[Measurements] Adding measurements to transaction event",JSON.stringify(u,void 0,2)),c.measurements=u),c}}function Jn(t){return t&&typeof t=="number"||t instanceof Date||Array.isArray(t)}function Xn(t){return!!t.start_timestamp&&!!t.timestamp&&!!t.span_id&&!!t.trace_id}function Eo(t){return t instanceof dn&&t.isStandaloneSpan()}function To(t){const e=k();if(!e)return;const n=t[1];if(!n||n.length===0){e.recordDroppedEvent("before_send","span");return}e.sendEnvelope(t)}function vo(t,e,n=()=>{},r=()=>{}){let s;try{s=t()}catch(i){throw e(i),n(),i}return wo(s,e,n,r)}function wo(t,e,n,r){return ce(t)?Fr(t,s=>{n(),r(s)},s=>{e(s),n()}):(n(),r(t),t)}function Io(t,e,n){if(!fn(t))return[!1];let r,s;typeof t.tracesSampler=="function"?(s=t.tracesSampler(E(l({},e),{inheritOrSampleWith:a=>typeof e.parentSampleRate=="number"?e.parentSampleRate:typeof e.parentSampled=="boolean"?Number(e.parentSampled):a})),r=!0):e.parentSampled!==void 0?s=e.parentSampled:typeof t.tracesSampleRate!="undefined"&&(s=t.tracesSampleRate,r=!0);const i=ln(s);if(i===void 0)return g&&m.warn(`[Tracing] Discarding root span because of invalid sample rate. Sample rate must be a boolean or a number between 0 and 1. Got ${JSON.stringify(s)} of type ${JSON.stringify(typeof s)}.`),[!1];if(!i)return g&&m.log(`[Tracing] Discarding transaction because ${typeof t.tracesSampler=="function"?"tracesSampler returned 0 or false":"a negative sampling decision was inherited or tracesSampleRate is set to 0"}`),[!1,i,r];const o=n<i;return o||g&&m.log(`[Tracing] Discarding transaction because it's not included in the random sample (sampling rate = ${Number(s)})`),[o,i,r]}const ko="__SENTRY_SUPPRESS_TRACING__";function _e(t,e){const n=hn();if(n.startSpan)return n.startSpan(t,e);const r=is(t),{forceTransaction:s,parentSpan:i,scope:o}=t,a=o==null?void 0:o.clone();return Re(a,()=>Ro(i)(()=>{const u=S(),p=os(u,i),f=k(),h=t.onlyIfParent&&!p,d=h?new W:ss({parentSpan:p,spanArguments:r,forceTransaction:s,scope:u});return h&&(f==null||f.recordDroppedEvent("no_parent_span","span")),(!Po(d)||!p)&&$e(u,d),vo(()=>e(d),()=>{const{status:_}=N(d);d.isRecording()&&(!_||_==="ok")&&d.setStatus({code:C,message:"internal_error"})},()=>{d.end()})}))}function Tt(t){const e=hn();if(e.startInactiveSpan)return e.startInactiveSpan(t);const n=is(t),{forceTransaction:r,parentSpan:s}=t;return(t.scope?o=>Re(t.scope,o):s!==void 0?o=>rs(s,o):o=>o())(()=>{const o=S(),a=os(o,s),c=k();return t.onlyIfParent&&!a?(c==null||c.recordDroppedEvent("no_parent_span","span"),new W):ss({parentSpan:a,spanArguments:n,forceTransaction:r,scope:o})})}function rs(t,e){const n=hn();return n.withActiveSpan?n.withActiveSpan(t,e):Re(r=>($e(r,t||void 0),e(r)))}function ss({parentSpan:t,spanArguments:e,forceTransaction:n,scope:r}){var a;if(!fn()){const c=new W;if(n||!t){const u=l({sampled:"false",sample_rate:"0",transaction:e.name},ne(c));Rt(c,u)}return c}const s=k();if(Co(s,e))return _n(r)||s==null||s.recordDroppedEvent("ignored","span"),new W({dropReason:"ignored",traceId:(a=t==null?void 0:t.spanContext().traceId)!=null?a:r.getPropagationContext().traceId});const i=A();let o;if(t&&!n)o=Ao(t,r,e),Yr(t,o);else if(t){const c=ne(t),{traceId:u,spanId:p}=t.spanContext(),f=Y(t);o=Zn(l({traceId:u,parentSpanId:p},e),r,f),Rt(o,c)}else{const{traceId:c,dsc:u,parentSpanId:p,sampled:f}=l(l({},i.getPropagationContext()),r.getPropagationContext());o=Zn(l({traceId:c,parentSpanId:p},e),r,f),u&&Rt(o,u)}return So(o),xi(o,r,i),o}function is(t){const e=t.experimental||{},n=l({isStandalone:e.standalone},t);if(t.startTime){const r=l({},n);return r.startTimestamp=Q(t.startTime),delete r.startTime,r}return n}function hn(){const t=V();return le(t)}function Zn(t,e,n){var b,T;const r=k(),s=(r==null?void 0:r.getOptions())||{},{name:i=""}=t,o={spanAttributes:l({},t.attributes),spanName:i,parentSampled:n};r==null||r.emit("beforeSampling",o,{decision:!1});const a=(b=o.parentSampled)!=null?b:n,c=o.spanAttributes,u=e.getPropagationContext(),p=_n(e),[f,h,d]=p?[!1]:Io(s,{name:i,parentSampled:a,attributes:c,parentSampleRate:ln((T=u.dsc)==null?void 0:T.sample_rate)},u.sampleRand),_=new dn(E(l({},t),{attributes:l({[je]:"custom",[Lr]:h!==void 0&&d?h:void 0},c),sampled:f}));return!f&&r&&!p&&(g&&m.log("[Tracing] Discarding root span because its trace was not chosen to be sampled."),r.recordDroppedEvent("sample_rate",Ce(r)?"span":"transaction")),r&&r.emit("spanStart",_),_}function Ao(t,e,n){const{spanId:r,traceId:s}=t.spanContext(),i=_n(e),o=i?!1:Y(t),a=o?new dn(E(l({},n),{parentSpanId:r,traceId:s,sampled:o})):new W({traceId:s});Yr(t,a);const c=k();return c&&(Ce(c)&&a instanceof W&&(t instanceof W&&t.dropReason?(a.dropReason=t.dropReason,c.recordDroppedEvent(t.dropReason,"span")):i||(a.dropReason="sample_rate",c.recordDroppedEvent("sample_rate","span"))),c.emit("spanStart",a),n.endTimestamp&&(c.emit("spanEnd",a),c.emit("afterSpanEnd",a))),a}function os(t,e){if(e)return e;if(e===null)return;const n=He(t);if(!n)return;const r=k();return(r?r.getOptions():{}).parentSpanIsAlwaysRootSpan?L(n):n}function Ro(t){return t!==void 0?e=>rs(t,e):e=>e()}function Co(t,e){var r;const n=t==null?void 0:t.getOptions().ignoreSpans;return!t||!Ce(t)||!(n!=null&&n.length)?!1:ze({description:e.name||"",op:((r=e.attributes)==null?void 0:r[Be])||e.op,attributes:e.attributes},n)}function Po(t){return t instanceof W&&t.dropReason==="ignored"}function _n(t){return t.getScopeData().sdkProcessingMetadata[ko]===!0}function No(t,e){const{fingerprint:n,span:r,breadcrumbs:s,sdkProcessingMetadata:i}=e;xo(t,e),r&&Mo(t,r),Fo(t,n),Do(t,s),Oo(t,i)}function Qn(t,e){const{extra:n,tags:r,attributes:s,user:i,contexts:o,level:a,sdkProcessingMetadata:c,breadcrumbs:u,fingerprint:p,eventProcessors:f,attachments:h,propagationContext:d,transactionName:_,span:b}=e;de(t,"extra",n),de(t,"tags",r),de(t,"attributes",s),de(t,"user",i),de(t,"contexts",o),t.sdkProcessingMetadata=Ae(t.sdkProcessingMetadata,c,2),a&&(t.level=a),_&&(t.transactionName=_),b&&(t.span=b),u.length&&(t.breadcrumbs=[...t.breadcrumbs,...u]),p.length&&(t.fingerprint=[...t.fingerprint,...p]),f.length&&(t.eventProcessors=[...t.eventProcessors,...f]),h.length&&(t.attachments=[...t.attachments,...h]),t.propagationContext=l(l({},t.propagationContext),d)}function de(t,e,n){t[e]=Ae(t[e],n,1)}function as(t,e){const n=Ai().getScopeData();return t&&Qn(n,t.getScopeData()),e&&Qn(n,e.getScopeData()),n}function xo(t,e){const{extra:n,tags:r,user:s,contexts:i,level:o,transactionName:a}=e;Object.keys(n).length&&(t.extra=l(l({},n),t.extra)),Object.keys(r).length&&(t.tags=l(l({},r),t.tags)),Object.keys(s).length&&(t.user=l(l({},s),t.user)),Object.keys(i).length&&(t.contexts=l(l({},i),t.contexts)),o&&(t.level=o),a&&t.type!=="transaction"&&(t.transaction=a)}function Do(t,e){const n=[...t.breadcrumbs||[],...e];t.breadcrumbs=n.length?n:void 0}function Oo(t,e){t.sdkProcessingMetadata=l(l({},t.sdkProcessingMetadata),e)}function Mo(t,e){t.contexts=l({trace:Vi(e)},t.contexts),t.sdkProcessingMetadata=l({dynamicSamplingContext:ne(e)},t.sdkProcessingMetadata);const n=L(e),r=N(n).description;r&&!t.transaction&&t.type==="transaction"&&(t.transaction=r)}function Fo(t,e){t.fingerprint=t.fingerprint?Array.isArray(t.fingerprint)?t.fingerprint:[t.fingerprint]:[],e&&(t.fingerprint=t.fingerprint.concat(e)),t.fingerprint.length||delete t.fingerprint}const Ct=0,er=1,tr=2;function mn(t){return new Te(e=>{e(t)})}function gn(t){return new Te((e,n)=>{n(t)})}class Te{constructor(e){this._state=Ct,this._handlers=[],this._runExecutor(e)}then(e,n){return new Te((r,s)=>{this._handlers.push([!1,i=>{if(!e)r(i);else try{r(e(i))}catch(o){s(o)}},i=>{if(!n)s(i);else try{r(n(i))}catch(o){s(o)}}]),this._executeHandlers()})}catch(e){return this.then(n=>n,e)}finally(e){return new Te((n,r)=>{let s,i;return this.then(o=>{i=!1,s=o,e&&e()},o=>{i=!0,s=o,e&&e()}).then(()=>{if(i){r(s);return}n(s)})})}_executeHandlers(){if(this._state===Ct)return;const e=this._handlers.slice();this._handlers=[],e.forEach(n=>{n[0]||(this._state===er&&n[1](this._value),this._state===tr&&n[2](this._value),n[0]=!0)})}_runExecutor(e){const n=(i,o)=>{if(this._state===Ct){if(ce(o)){o.then(r,s);return}this._state=i,this._value=o,this._executeHandlers()}},r=i=>{n(er,i)},s=i=>{n(tr,i)};try{e(r,s)}catch(i){s(i)}}}function Lo(t,e,n,r=0){try{const s=Zt(e,n,t,r);return ce(s)?s:mn(s)}catch(s){return gn(s)}}function Zt(t,e,n,r){const s=n[r];if(!t||!s)return t;const i=s(l({},t),e);return g&&i===null&&m.log(`Event processor "${s.id||"?"}" dropped event`),ce(i)?i.then(o=>Zt(o,e,n,r+1)):Zt(i,e,n,r+1)}let U,nr,rr,z;function $o(t){const e=P._sentryDebugIds,n=P._debugIds;if(!e&&!n)return{};const r=e?Object.keys(e):[],s=n?Object.keys(n):[];if(z&&r.length===nr&&s.length===rr)return z;nr=r.length,rr=s.length,z={},U||(U={});const i=(o,a)=>{for(const c of o){const u=a[c],p=U==null?void 0:U[c];if(p&&z&&u)z[p[0]]=u,U&&(U[c]=[p[0],u]);else if(u){const f=t(c);for(let h=f.length-1;h>=0;h--){const d=f[h],_=d==null?void 0:d.filename;if(_&&z&&U){z[_]=u,U[c]=[_,u];break}}}}};return e&&i(r,e),n&&i(s,n),z}function Ho(t,e,n,r,s,i){const{normalizeDepth:o=3,normalizeMaxBreadth:a=1e3}=t,c=E(l({},e),{event_id:e.event_id||n.event_id||M(),timestamp:e.timestamp||ke()}),u=n.integrations||t.integrations.map(w=>w.name);jo(c,t),zo(c,u),s&&s.emit("applyFrameMetadata",e),e.type===void 0&&Bo(c,t.stackParser);const p=Wo(r,n.captureContext);n.mechanism&&pi(c,n.mechanism);const f=s?s.getEventProcessors():[],h=as(i,p),d=[...n.attachments||[],...h.attachments];d.length&&(n.attachments=d),No(c,h);const _=[...f,...h.eventProcessors];return(n.data&&n.data.__sentry__===!0?mn(c):Lo(_,c,n)).then(w=>(w&&Uo(w),typeof o=="number"&&o>0?qo(w,o,a):w))}function jo(t,e){var a,c;const{environment:n,release:r,dist:s,maxValueLength:i}=e;t.environment=t.environment||n||pn,!t.release&&r&&(t.release=r),!t.dist&&s&&(t.dist=s);const o=t.request;o!=null&&o.url&&i&&(o.url=zt(o.url,i)),i&&((c=(a=t.exception)==null?void 0:a.values)==null||c.forEach(u=>{u.value&&(u.value=zt(u.value,i))}))}function Bo(t,e){var r,s;const n=$o(e);(s=(r=t.exception)==null?void 0:r.values)==null||s.forEach(i=>{var o,a;(a=(o=i.stacktrace)==null?void 0:o.frames)==null||a.forEach(c=>{c.filename&&(c.debug_id=n[c.filename])})})}function Uo(t){var r,s;const e={};if((s=(r=t.exception)==null?void 0:r.values)==null||s.forEach(i=>{var o,a;(a=(o=i.stacktrace)==null?void 0:o.frames)==null||a.forEach(c=>{c.debug_id&&(c.abs_path?e[c.abs_path]=c.debug_id:c.filename&&(e[c.filename]=c.debug_id),delete c.debug_id)})}),Object.keys(e).length===0)return;t.debug_meta=t.debug_meta||{},t.debug_meta.images=t.debug_meta.images||[];const n=t.debug_meta.images;Object.entries(e).forEach(([i,o])=>{n.push({type:"sourcemap",code_file:i,debug_id:o})})}function zo(t,e){e.length>0&&(t.sdk=t.sdk||{},t.sdk.integrations=[...t.sdk.integrations||[],...e])}function qo(t,e,n){var s,i;if(!t)return null;const r=l(l(l(l(l({},t),t.breadcrumbs&&{breadcrumbs:t.breadcrumbs.map(o=>l(l({},o),o.data&&{data:q(o.data,e,n)}))}),t.user&&{user:q(t.user,e,n)}),t.contexts&&{contexts:q(t.contexts,e,n)}),t.extra&&{extra:q(t.extra,e,n)});return(s=t.contexts)!=null&&s.trace&&r.contexts&&(r.contexts.trace=t.contexts.trace,t.contexts.trace.data&&(r.contexts.trace.data=q(t.contexts.trace.data,e,n))),t.spans&&(r.spans=t.spans.map(o=>l(l({},o),o.data&&{data:q(o.data,e,n)}))),(i=t.contexts)!=null&&i.flags&&r.contexts&&(r.contexts.flags=q(t.contexts.flags,3,n)),r}function Wo(t,e){if(!e)return t;const n=t?t.clone():new H;return n.update(e),n}function Go(t){if(t)return Ko(t)?{captureContext:t}:Yo(t)?{captureContext:t}:t}function Ko(t){return t instanceof H||typeof t=="function"}const Vo=["user","level","extra","contexts","tags","fingerprint","propagationContext"];function Yo(t){return Object.keys(t).some(e=>Vo.includes(e))}function Z(t,e){return S().captureException(t,Go(e))}function Jo(t,e){const n=typeof e=="string"?e:void 0,r=typeof e!="string"?{captureContext:e}:void 0;return S().captureMessage(t,n,r)}function Xo(t,e){return S().captureEvent(t,e)}function $(t,e){A().setContext(t,e)}function Zo(t){A().setExtras(t)}function Qo(t,e){A().setExtra(t,e)}function ea(t){A().setTags(t)}function ta(t,e){A().setTag(t,e)}function na(t){A().setUser(t)}function ra(){return A().lastEventId()}function cs(t){return D(this,null,function*(){const e=k();return e?e.flush(t):(g&&m.warn("Cannot flush events. No client defined."),Promise.resolve(!1))})}function sa(t){return D(this,null,function*(){const e=k();return e?e.close(t):(g&&m.warn("Cannot flush events and disable SDK. No client defined."),Promise.resolve(!1))})}function us(){const t=k();return(t==null?void 0:t.getOptions().enabled)!==!1&&!!(t!=null&&t.getTransport())}function ia(t){A().addEventProcessor(t)}function ls(t){const e=A(),{user:n}=as(e,S()),{userAgent:r}=P.navigator||{},s=Nr(l(l({user:n},r&&{userAgent:r}),t)),i=e.getSession();return(i==null?void 0:i.status)==="ok"&&K(i,{status:"exited"}),vt(),e.setSession(s),s}function vt(){const t=A(),n=S().getSession()||t.getSession();n&&xr(n),fs(),t.setSession()}function fs(){const t=A(),e=k(),n=t.getSession();n&&e&&e.captureSession(n)}function Qt(t=!1){if(t){vt();return}fs()}const oa="7";function aa(t){const e=t.protocol?`${t.protocol}:`:"",n=t.port?`:${t.port}`:"";return`${e}//${t.host}${n}${t.path?`/${t.path}`:""}/api/`}function ca(t){return`${aa(t)}${t.projectId}/envelope/`}function ua(t,e){const n={sentry_version:oa};return t.publicKey&&(n.sentry_key=t.publicKey),e&&(n.sentry_client=`${e.name}/${e.version}`),new URLSearchParams(n).toString()}function la(t,e,n){return e||`${ca(t)}?${ua(t,n)}`}const sr=[];function fa(t,e){const n={};return e.forEach(r=>{r!=null&&r.beforeSetup&&r.beforeSetup(t)}),e.forEach(r=>{r&&ps(t,r,n)}),n}function ir(t,e){for(const n of e)n!=null&&n.afterAllSetup&&n.afterAllSetup(t)}function ps(t,e,n){if(n[e.name]){g&&m.log(`Integration skipped because it was already installed: ${e.name}`);return}if(n[e.name]=e,!sr.includes(e.name)&&typeof e.setupOnce=="function"&&(e.setupOnce(),sr.push(e.name)),e.setup&&typeof e.setup=="function"&&e.setup(t),typeof e.preprocessEvent=="function"){const r=e.preprocessEvent.bind(e);t.on("preprocessEvent",(s,i)=>r(s,i,t))}if(typeof e.processEvent=="function"){const r=e.processEvent.bind(e),s=Object.assign((i,o)=>r(i,o,t),{id:e.name});t.addEventProcessor(s)}["processSpan","processSegmentSpan"].forEach(r=>{const s=e[r];typeof s=="function"&&t.on(r,i=>s.call(e,i,t))}),g&&m.log(`Integration installed: ${e.name}`)}function pa(t){const e=k();if(!e){g&&m.warn(`Cannot add integration "${t.name}" because no SDK Client is available.`);return}e.addIntegration(t)}function da(){return typeof __SENTRY_BROWSER_BUNDLE__!="undefined"&&!!__SENTRY_BROWSER_BUNDLE__}function ha(){return!da()&&Object.prototype.toString.call(typeof process!="undefined"?process:0)==="[object process]"}function yn(){return typeof window!="undefined"&&(!ha()||_a())}function _a(){const t=P.process;return(t==null?void 0:t.type)==="renderer"}function ma(t,e){const n=e?"auto":"never";return[{type:"log",item_count:t.length,content_type:"application/vnd.sentry.items.log+json"},E(l({version:2},yn()&&{ingest_settings:{infer_ip:n,infer_user_agent:n}}),{items:t})]}function ga(t,e,n,r,s){const i={};return e!=null&&e.sdk&&(i.sdk={name:e.sdk.name,version:e.sdk.version}),n&&r&&(i.dsn=fe(r)),J(i,[ma(t,s)])}function or(t,e){var i;const n=(i=e!=null?e:ya(t))!=null?i:[];if(n.length===0)return;const r=t.getOptions(),s=ga(n,r._metadata,r.tunnel,t.getDsn(),t.getDataCollectionOptions().userInfo);ds().set(t,[]),t.emit("flushLogs"),t.sendEnvelope(s)}function ya(t){return ds().get(t)}function ds(){return ae("clientToLogBufferMap",()=>new WeakMap)}function Sa(t,e){const n=e?"auto":"never";return[{type:"trace_metric",item_count:t.length,content_type:"application/vnd.sentry.items.trace-metric+json"},E(l({version:2},yn()&&{ingest_settings:{infer_ip:n,infer_user_agent:n}}),{items:t})]}function ba(t,e,n,r,s){const i={};return e!=null&&e.sdk&&(i.sdk={name:e.sdk.name,version:e.sdk.version}),n&&r&&(i.dsn=fe(r)),J(i,[Sa(t,s)])}function Ea(t,e){var i;const n=(i=e!=null?e:Ta(t))!=null?i:[];if(n.length===0)return;const r=t.getOptions(),s=ba(n,r._metadata,r.tunnel,t.getDsn(),t.getDataCollectionOptions().userInfo);hs().set(t,[]),t.emit("flushMetrics"),t.sendEnvelope(s)}function Ta(t){return hs().get(t)}function hs(){return ae("clientToMetricBufferMap",()=>new WeakMap)}function va(t){const e={trace_id:t.trace_id,span_id:t.span_id,parent_span_id:t.parent_span_id,name:t.description||"",start_timestamp:t.start_timestamp,end_timestamp:t.timestamp||t.start_timestamp,status:!t.status||t.status==="ok"||t.status==="cancelled"?"ok":"error",is_segment:!1,attributes:l({},t.data),links:t.links};return Qi(e)}function wa(t,e){var i,o,a;if(t.type!=="transaction"||!((i=t.spans)!=null&&i.length)||!((o=t.sdkProcessingMetadata)!=null&&o.hasGenAiSpans)||!e.getOptions().streamGenAiSpans||Ce(e))return;const n=[],r=[];for(const c of t.spans)(a=c.op)!=null&&a.startsWith("gen_ai.")?n.push(va(c)):r.push(c);if(n.length===0)return;t.spans=r;const s=e.getDataCollectionOptions().userInfo?"auto":"never";return[{type:"span",item_count:n.length,content_type:"application/vnd.sentry.items.span.v2+json"},E(l({version:2},yn()&&{ingest_settings:{infer_ip:s,infer_user_agent:s}}),{items:n})]}function Sn(t){return typeof t=="object"&&typeof t.unref=="function"&&t.unref(),t}const bn=Symbol.for("SentryBufferFullError");function _s(t=100){const e=new Set;function n(){return e.size<t}function r(o){e.delete(o)}function s(o){if(!n())return gn(bn);const a=o();return e.add(a),a.then(()=>r(a),()=>r(a)),a}function i(o){if(!e.size)return mn(!0);const a=Promise.allSettled(Array.from(e)).then(()=>!0);if(!o)return a;const c=[a,new Promise(u=>Sn(setTimeout(()=>u(!1),o)))];return Promise.race(c)}return{get $(){return Array.from(e)},add:s,drain:i}}const Ia=60*1e3;function ms(t,e=St()){const n=parseInt(`${t}`,10);if(!isNaN(n))return n*1e3;const r=Date.parse(`${t}`);return isNaN(r)?Ia:r-e}function ka(t,e){return t[e]||t.all||0}function Aa(t,e,n=St()){return ka(t,e)>n}function Ra(t,{statusCode:e,headers:n},r=St()){const s=l({},t),i=n==null?void 0:n["x-sentry-rate-limits"],o=n==null?void 0:n["retry-after"];if(i)for(const a of i.trim().split(",")){const[c,u,,,p]=a.split(":",5),f=parseInt(c,10),h=(isNaN(f)?60:f)*1e3;if(!u)s.all=r+h;else for(const d of u.split(";"))d==="metric_bucket"?(!p||p.split(";").includes("custom"))&&(s[d]=r+h):s[d]=r+h}else o?s.all=r+ms(o,r):e===429&&(s.all=r+60*1e3);return s}const gs=64;function Ca(t,e,n=_s(t.bufferSize||gs)){let r={};const s=o=>n.drain(o);function i(o){const a=[];if(Yt(o,(f,h)=>{const d=Kn(h);Aa(r,d)?t.recordDroppedEvent("ratelimit_backoff",d):a.push(f)}),a.length===0)return Promise.resolve({});const c=J(o[0],a),u=f=>{if(Jt(c,["client_report"])){g&&m.warn(`Dropping client report. Will not send outcomes (reason: ${f}).`);return}Yt(c,(h,d)=>{t.recordDroppedEvent(f,Kn(d))})},p=()=>e({body:co(c)}).then(f=>f.statusCode===413?(g&&m.error("Sentry responded with status code 413. Envelope was discarded due to exceeding size limits."),u("send_error"),f):(g&&f.statusCode!==void 0&&(f.statusCode<200||f.statusCode>=300)&&m.warn(`Sentry responded with status code ${f.statusCode} to sent event.`),r=Ra(r,f),f),f=>{throw u("network_error"),g&&m.error("Encountered error running transport request:",f),f});return n.add(p).then(f=>f,f=>{if(f===bn)return g&&m.error("Skipped sending event because buffer is full."),u("queue_overflow"),Promise.resolve({});throw f})}return{send:i,flush:s}}function Pa(t,e,n){const r=[{type:"client_report"},{timestamp:ke(),discarded_events:t}];return J(e?{dsn:e}:{},[r])}function Na(t){const e=[];t.message&&e.push(t.message);try{const n=t.exception.values[t.exception.values.length-1];n!=null&&n.value&&(e.push(n.value),n.type&&e.push(`${n.type}: ${n.value}`))}catch(n){}return e}function xa(t){var c,u,p;const{trace_id:e,parent_span_id:n,span_id:r,status:s,origin:i,data:o,op:a}=(u=(c=t.contexts)==null?void 0:c.trace)!=null?u:{};return{data:o!=null?o:{},description:t.transaction,op:a,parent_span_id:n,span_id:r!=null?r:"",start_timestamp:(p=t.start_timestamp)!=null?p:0,status:s,timestamp:t.timestamp,trace_id:e!=null?e:"",origin:i,profile_id:o==null?void 0:o[cn],exclusive_time:o==null?void 0:o[un],measurements:t.measurements,is_segment:!0}}function Da(t){return{type:"transaction",timestamp:t.timestamp,start_timestamp:t.start_timestamp,transaction:t.description,contexts:{trace:{trace_id:t.trace_id,span_id:t.span_id,parent_span_id:t.parent_span_id,op:t.op,status:t.status,origin:t.origin,data:l(l(l({},t.data),t.profile_id&&{[cn]:t.profile_id}),t.exclusive_time&&{[un]:t.exclusive_time})}},measurements:t.measurements}}const De=["forwarded","-ip","remote-","via","-user"];function Oa(t){return t===!0?{userInfo:!0,cookies:!0,httpHeaders:{request:!0,response:!0},httpBodies:["incomingRequest","outgoingRequest","incomingResponse","outgoingResponse"],queryParams:!0,genAI:{inputs:!0,outputs:!0},stackFrameVariables:!0,frameContextLines:5}:{userInfo:!1,cookies:{deny:De},httpHeaders:{request:{deny:De},response:{deny:De}},httpBodies:[],queryParams:{deny:De},genAI:{inputs:!1,outputs:!1},stackFrameVariables:!0,frameContextLines:5}}const Ma={userInfo:!1,cookies:!0,httpHeaders:{request:!0,response:!0},httpBodies:[],queryParams:!0,genAI:{inputs:!0,outputs:!0},stackFrameVariables:!0,frameContextLines:5};function Fa(t){var r,s,i,o,a,c,u,p,f,h,d,_,b,T,w;const e=t.dataCollection!=null?Ma:Oa(t.sendDefaultPii),n=(r=t.dataCollection)!=null?r:{};return{userInfo:(s=n.userInfo)!=null?s:e.userInfo,cookies:(i=n.cookies)!=null?i:e.cookies,httpHeaders:{request:(a=(o=n.httpHeaders)==null?void 0:o.request)!=null?a:e.httpHeaders.request,response:(u=(c=n.httpHeaders)==null?void 0:c.response)!=null?u:e.httpHeaders.response},httpBodies:(p=n.httpBodies)!=null?p:e.httpBodies,queryParams:(f=n.queryParams)!=null?f:e.queryParams,genAI:{inputs:(d=(h=n.genAI)==null?void 0:h.inputs)!=null?d:e.genAI.inputs,outputs:(b=(_=n.genAI)==null?void 0:_.outputs)!=null?b:e.genAI.outputs},stackFrameVariables:(T=n.stackFrameVariables)!=null?T:e.stackFrameVariables,frameContextLines:(w=n.frameContextLines)!=null?w:e.frameContextLines}}const ar="Not capturing exception because it's already been captured.",cr="Discarded session because of missing or non-string release",ys=Symbol.for("SentryInternalError"),Ss=Symbol.for("SentryDoNotSendEventError"),La=5e3;function Me(t){return{message:t,[ys]:!0}}function Pt(t){return{message:t,[Ss]:!0}}function ur(t){return!!t&&typeof t=="object"&&ys in t}function lr(t){return!!t&&typeof t=="object"&&Ss in t}function fr(t,e,n,r,s){let i=0,o,a=!1;t.on(n,()=>{i=0,clearTimeout(o),a=!1}),t.on(e,c=>{var u;if(i+=r(c),i>=8e5)s(t);else if(!a){const p=(u=t.getOptions()._flushInterval)!=null?u:La;p>0&&(a=!0,o=Sn(setTimeout(()=>{s(t)},p)))}}),t.on("flush",()=>{s(t)})}class $a{constructor(e){var r,s,i,o,a,c,u;if(this._options=e,this._integrations={},this._numProcessing=0,this._outcomes={},this._hooks={},this._eventProcessors=[],this._promiseBuffer=_s((s=(r=e.transportOptions)==null?void 0:r.bufferSize)!=null?s:gs),this._dataCollection=Fa(e),e.dsn?this._dsn=Wi(e.dsn):g&&m.warn("No DSN provided, client will not send events."),this._dsn){const p=la(this._dsn,e.tunnel,e._metadata?e._metadata.sdk:void 0);this._transport=e.transport(E(l({tunnel:this._options.tunnel,recordDroppedEvent:this.recordDroppedEvent.bind(this)},e.transportOptions),{url:p}))}this._options.enableLogs=(o=this._options.enableLogs)!=null?o:(i=this._options._experiments)==null?void 0:i.enableLogs,this._options.enableLogs&&fr(this,"afterCaptureLog","flushLogs",Ua,or),((u=(c=this._options.enableMetrics)!=null?c:(a=this._options._experiments)==null?void 0:a.enableMetrics)!=null?u:!0)&&fr(this,"afterCaptureMetric","flushMetrics",Ba,Ea)}captureException(e,n,r){const s=M();if(Ln(e))return g&&m.log(ar),s;const i=l({event_id:s},n);return this._process(()=>this.eventFromException(e,i).then(o=>this._captureEvent(o,i,r)).then(o=>o),"error"),i.event_id}captureMessage(e,n,r,s){const i=l({event_id:M()},r),o=Ar(e)?e:String(e),a=Rr(e),c=a?this.eventFromMessage(o,n,i):this.eventFromException(e,i);return this._process(()=>c.then(u=>this._captureEvent(u,i,s)),a?"unknown":"error"),i.event_id}captureEvent(e,n,r){const s=M();if(n!=null&&n.originalException&&Ln(n.originalException))return g&&m.log(ar),s;const i=l({event_id:s},n),o=e.sdkProcessingMetadata||{},a=o.capturedSpanScope,c=o.capturedSpanIsolationScope,u=pr(e.type);return this._process(()=>this._captureEvent(e,i,a||r,c),u),i.event_id}captureSession(e){this.sendSession(e),K(e,{init:!1})}getDsn(){return this._dsn}getOptions(){return this._options}getDataCollectionOptions(){return this._dataCollection}getSdkMetadata(){return this._options._metadata}getTransport(){return this._transport}flush(e){return D(this,null,function*(){const n=this._transport;if(this.emit("flush"),!n)return!0;const r=yield this._isClientDoneProcessing(e),s=yield n.flush(e);return r&&s})}close(e){return D(this,null,function*(){or(this);const n=yield this.flush(e);return this.getOptions().enabled=!1,this.emit("close"),n})}getEventProcessors(){return this._eventProcessors}addEventProcessor(e){this._eventProcessors.push(e)}init(){(this._isEnabled()||this._options.integrations.some(({name:e})=>e.startsWith("Spotlight")))&&this._setupIntegrations()}getIntegrationByName(e){return this._integrations[e]}getIntegrationNames(){return Object.keys(this._integrations)}addIntegration(e){const n=this._integrations[e.name];!n&&e.beforeSetup&&e.beforeSetup(this),ps(this,e,this._integrations),n||ir(this,[e])}sendEvent(e,n={}){this.emit("beforeSendEvent",e,n);const r=wa(e,this);let s=go(e,this._dsn,this._options._metadata,this._options.tunnel);for(const i of n.attachments||[])s=Gn(s,fo(i));r&&(s=Gn(s,r)),this.sendEnvelope(s).then(i=>this.emit("afterSendEvent",e,i))}sendSession(e){const{release:n,environment:r=pn}=this._options;if("aggregates"in e){const i=e.attrs||{};if(!i.release&&!n){g&&m.warn(cr);return}i.release=i.release||n,i.environment=i.environment||r,e.attrs=i}else{if(!e.release&&!n){g&&m.warn(cr);return}e.release=e.release||n,e.environment=e.environment||r}this.emit("beforeSendSession",e);const s=mo(e,this._dsn,this._options._metadata,this._options.tunnel);this.sendEnvelope(s)}recordDroppedEvent(e,n,r=1){if(this._options.sendClientReports){const s=`${e}:${n}`;g&&m.log(`Recording outcome: "${s}"${r>1?` (${r} times)`:""}`),this._outcomes[s]=(this._outcomes[s]||0)+r}}on(e,n){const r=this._hooks[e]=this._hooks[e]||new Set,s=(...i)=>n(...i);return r.add(s),()=>{r.delete(s)}}emit(e,...n){const r=this._hooks[e];r&&r.forEach(s=>s(...n))}sendEnvelope(e){return D(this,null,function*(){if(this.emit("beforeEnvelope",e),this._isEnabled()&&this._transport)try{return yield this._transport.send(e)}catch(n){return g&&m.error("Error while sending envelope:",n),{}}return g&&m.error("Transport disabled"),{}})}registerCleanup(e){}dispose(){}_setupIntegrations(){const{integrations:e}=this._options;this._integrations=fa(this,e),ir(this,e)}_updateSessionFromEvent(e,n){var c,u;let r=n.level==="fatal",s=!1;const i=(c=n.exception)==null?void 0:c.values;if(i){s=!0,r=!1;for(const p of i)if(((u=p.mechanism)==null?void 0:u.handled)===!1){r=!0;break}}const o=e.status==="ok";(o&&e.errors===0||o&&r)&&(K(e,E(l({},r&&{status:"crashed"}),{errors:e.errors||Number(s||r)})),this.captureSession(e))}_isClientDoneProcessing(e){return D(this,null,function*(){let n=0;for(;!e||n<e;){if(yield new Promise(r=>setTimeout(r,1)),!this._numProcessing)return!0;n++}return!1})}_isEnabled(){return this.getOptions().enabled!==!1&&this._transport!==void 0}_prepareEvent(e,n,r,s){const i=this.getOptions(),o=this.getIntegrationNames();return!n.integrations&&o.length&&(n.integrations=o),this.emit("preprocessEvent",e,n),e.type||s.setLastEventId(e.event_id||n.event_id),Ho(i,e,n,r,this,s).then(a=>{var u;if(a===null)return a;this.emit("postprocessEvent",a,n),a.contexts=l({trace:l(l({},(u=a.contexts)==null?void 0:u.trace),Ri(r))},a.contexts);const c=Qr(this,r);return a.sdkProcessingMetadata=l({dynamicSamplingContext:c},a.sdkProcessingMetadata),a})}_captureEvent(e,n={},r=S(),s=A()){return g&&en(e)&&m.log(`Captured error event \`${Na(e)[0]||"<unknown>"}\``),this._processEvent(e,n,r,s).then(i=>i.event_id,i=>{g&&(lr(i)?m.log(i.message):ur(i)?m.warn(i.message):m.warn(i))})}_processEvent(e,n,r,s){const i=this.getOptions(),{sampleRate:o}=i,a=bs(e),c=en(e),p=`before send for type \`${e.type||"error"}\``,f=typeof o=="undefined"?void 0:ln(o);if(c&&typeof f=="number"&&Le()>f)return this.recordDroppedEvent("sample_rate","error"),gn(Pt(`Discarding event because it's not included in the random sample (sampling rate = ${o})`));const h=pr(e.type);return this._prepareEvent(e,n,r,s).then(d=>{var T;if(d===null)throw this.recordDroppedEvent("event_processor",h),Pt("An event processor returned `null`, will not send event.");if(((T=n.data)==null?void 0:T.__sentry__)===!0)return d;const b=ja(this,i,d,n);return Ha(b,p)}).then(d=>{var T;if(d===null){if(this.recordDroppedEvent("before_send",h),a){const j=1+(e.spans||[]).length;this.recordDroppedEvent("before_send","span",j)}throw Pt(`${p} returned \`null\`, will not send event.`)}const _=r.getSession()||s.getSession();if(c&&_&&this._updateSessionFromEvent(_,d),a){const w=((T=d.sdkProcessingMetadata)==null?void 0:T.spanCountBeforeProcessing)||0,j=d.spans?d.spans.length:0,F=w-j;F>0&&this.recordDroppedEvent("before_send","span",F)}const b=d.transaction_info;if(a&&b&&d.transaction!==e.transaction){const w="custom";d.transaction_info=E(l({},b),{source:w})}return this.sendEvent(d,n),d}).then(null,d=>{throw lr(d)||ur(d)?d:(this.captureException(d,{mechanism:{handled:!1,type:"internal"},data:{__sentry__:!0},originalException:d}),Me(`Event processing pipeline threw an error, original event will not be sent. Details have been sent as a new event.
|
|
7
|
-
Reason: ${d}`))})}_process(e,n){this._numProcessing++,this._promiseBuffer.add(e).then(r=>(this._numProcessing--,r),r=>(this._numProcessing--,r===bn&&this.recordDroppedEvent("queue_overflow",n),r))}_clearOutcomes(){const e=this._outcomes;return this._outcomes={},Object.entries(e).map(([n,r])=>{const[s,i]=n.split(":");return{reason:s,category:i,quantity:r}})}_flushOutcomes(){g&&m.log("Flushing outcomes...");const e=this._clearOutcomes();if(e.length===0){g&&m.log("No outcomes to send");return}if(!this._dsn){g&&m.log("No dsn provided, will not send outcomes");return}g&&m.log("Sending outcomes:",e);const n=Pa(e,this._options.tunnel&&fe(this._dsn));this.sendEnvelope(n)}}function
|
|
6
|
+
`)}`)}function bo(t){if(!g)return;const{description:e="< unknown name >",op:n="< unknown op >"}=x(t),{spanId:r}=t.spanContext(),i=L(t)===t,o=`[Tracing] Finishing "${n}" ${i?"root ":""}span "${e}" with ID ${r}`;m.log(o)}function he(t,e,n,r=Yr()){const s=r&&L(r);s&&(g&&m.log(`[Measurement] Setting measurement on root span: ${t} = ${e} ${n}`),s.addEvent(t,{[$r]:e,[Lr]:n}))}function Kn(t){if(!t||t.length===0)return;const e={};return t.forEach(n=>{const r=n.attributes||{},s=r[Lr],i=r[$r];typeof s=="string"&&typeof i=="number"&&(e[n.name]={value:i,unit:s})}),e}function Ce(t){return t.getOptions().traceLifecycle==="stream"}const Vn=1e3;class dn{constructor(e={}){this._traceId=e.traceId||ee(),this._spanId=e.spanId||ue(),this._startTime=e.startTimestamp||Ee(),this._links=e.links,this._attributes={},this.setAttributes(l({[Wt]:"manual",[Be]:e.op},e.attributes)),this._name=e.name,e.parentSpanId&&(this._parentSpanId=e.parentSpanId),"sampled"in e&&(this._sampled=e.sampled),e.endTimestamp&&(this._endTime=e.endTimestamp),this._events=[],this._isStandaloneSpan=e.isStandalone,this._endTime&&this._onSpanEnded()}addLink(e){return this._links?this._links.push(e):this._links=[e],this}addLinks(e){return this._links?this._links.push(...e):this._links=e,this}recordException(e,n){}spanContext(){const{_spanId:e,_traceId:n,_sampled:r}=this;return{spanId:e,traceId:n,traceFlags:r?Et:Wr}}setAttribute(e,n){return n===void 0?delete this._attributes[e]:this._attributes[e]=n,this}setAttributes(e){return Object.keys(e).forEach(n=>this.setAttribute(n,e[n])),this}updateStartTime(e){this._startTime=Q(e)}setStatus(e){return this._status=e,this}updateName(e){return this._name=e,this.setAttribute(je,"custom"),this}end(e){this._endTime||(this._endTime=Q(e),bo(this),this._onSpanEnded())}getSpanJSON(){return{data:this._attributes,description:this._name,op:this._attributes[Be],parent_span_id:this._parentSpanId,span_id:this._spanId,start_timestamp:this._startTime,status:Kr(this._status),timestamp:this._endTime,trace_id:this._traceId,origin:this._attributes[Wt],profile_id:this._attributes[cn],exclusive_time:this._attributes[un],measurements:Kn(this._events),is_segment:this._isStandaloneSpan&&L(this)===this||void 0,segment_id:this._isStandaloneSpan?L(this).spanContext().spanId:void 0,links:Gr(this._links)}}getStreamedSpanJSON(){var e,n;return{name:(e=this._name)!=null?e:"",span_id:this._spanId,trace_id:this._traceId,parent_span_id:this._parentSpanId,start_timestamp:this._startTime,end_timestamp:(n=this._endTime)!=null?n:this._startTime,is_segment:this._isStandaloneSpan||this===L(this),status:no(this._status),attributes:this._attributes,links:Xi(this._links)}}isRecording(){return!this._endTime&&!!this._sampled}addEvent(e,n,r){g&&m.log("[Tracing] Adding an event to span:",e);const s=Yn(n)?n:r||Ee(),i=Yn(n)?{}:n||{},o={name:e,time:Q(s),attributes:i};return this._events.push(o),this}isStandaloneSpan(){return!!this._isStandaloneSpan}_onSpanEnded(){const e=k();if(e&&(e.emit("spanEnd",this),this._isStandaloneSpan||e.emit("afterSpanEnd",this)),!(this._isStandaloneSpan||this===L(this)))return;if(this._isStandaloneSpan){this._sampled?To(yo([this],e)):(g&&m.log("[Tracing] Discarding standalone span because its trace was not chosen to be sampled."),e&&e.recordDroppedEvent("sample_rate","span"));return}else if(e&&Ce(e)){e.emit("afterSegmentSpanEnd",this);return}const r=this._convertSpanToTransaction();r&&(Ue(this).scope||y()).captureEvent(r)}_convertSpanToTransaction(){var f;if(!Jn(x(this)))return;this._name||(g&&m.warn("Transaction has no name, falling back to `<unlabeled transaction>`."),this._name="<unlabeled transaction>");const{scope:e,isolationScope:n}=Ue(this),r=(f=e==null?void 0:e.getScopeData().sdkProcessingMetadata)==null?void 0:f.normalizedRequest;if(this._sampled!==!0)return;const i=ro(this).filter(h=>h!==this&&!Eo(h)).map(h=>x(h)).filter(Jn),o=this._attributes[je];delete this._attributes[jn];let a=!1;i.forEach(h=>{var d;delete h.data[jn],(d=h.op)!=null&&d.startsWith("gen_ai.")&&(a=!0)});const c=l({contexts:{trace:Ki(this)},spans:i.length>Vn?i.sort((h,d)=>h.start_timestamp-d.start_timestamp).slice(0,Vn):i,start_timestamp:this._startTime,timestamp:this._endTime,transaction:this._name,type:"transaction",sdkProcessingMetadata:{capturedSpanScope:e,capturedSpanIsolationScope:n,dynamicSamplingContext:ne(this),hasGenAiSpans:a},request:r},o&&{transaction_info:{source:o}}),u=Kn(this._events);return u&&Object.keys(u).length&&(g&&m.log("[Measurements] Adding measurements to transaction event",JSON.stringify(u,void 0,2)),c.measurements=u),c}}function Yn(t){return t&&typeof t=="number"||t instanceof Date||Array.isArray(t)}function Jn(t){return!!t.start_timestamp&&!!t.timestamp&&!!t.span_id&&!!t.trace_id}function Eo(t){return t instanceof dn&&t.isStandaloneSpan()}function To(t){const e=k();if(!e)return;const n=t[1];if(!n||n.length===0){e.recordDroppedEvent("before_send","span");return}e.sendEnvelope(t)}function vo(t,e,n=()=>{},r=()=>{}){let s;try{s=t()}catch(i){throw e(i),n(),i}return wo(s,e,n,r)}function wo(t,e,n,r){return ce(t)?Mr(t,s=>{n(),r(s)},s=>{e(s),n()}):(n(),r(t),t)}function Io(t,e,n){if(!fn(t))return[!1];let r,s;typeof t.tracesSampler=="function"?(s=t.tracesSampler(E(l({},e),{inheritOrSampleWith:a=>typeof e.parentSampleRate=="number"?e.parentSampleRate:typeof e.parentSampled=="boolean"?Number(e.parentSampled):a})),r=!0):e.parentSampled!==void 0?s=e.parentSampled:typeof t.tracesSampleRate!="undefined"&&(s=t.tracesSampleRate,r=!0);const i=ln(s);if(i===void 0)return g&&m.warn(`[Tracing] Discarding root span because of invalid sample rate. Sample rate must be a boolean or a number between 0 and 1. Got ${JSON.stringify(s)} of type ${JSON.stringify(typeof s)}.`),[!1];if(!i)return g&&m.log(`[Tracing] Discarding transaction because ${typeof t.tracesSampler=="function"?"tracesSampler returned 0 or false":"a negative sampling decision was inherited or tracesSampleRate is set to 0"}`),[!1,i,r];const o=n<i;return o||g&&m.log(`[Tracing] Discarding transaction because it's not included in the random sample (sampling rate = ${Number(s)})`),[o,i,r]}const ko="__SENTRY_SUPPRESS_TRACING__";function _e(t,e){const n=hn();if(n.startSpan)return n.startSpan(t,e);const r=ss(t),{forceTransaction:s,parentSpan:i,scope:o}=t,a=o==null?void 0:o.clone();return Re(a,()=>Ro(i)(()=>{const u=y(),p=is(u,i),f=k(),h=t.onlyIfParent&&!p,d=h?new W:rs({parentSpan:p,spanArguments:r,forceTransaction:s,scope:u});return h&&(f==null||f.recordDroppedEvent("no_parent_span","span")),(!Po(d)||!p)&&$e(u,d),vo(()=>e(d),()=>{const{status:_}=x(d);d.isRecording()&&(!_||_==="ok")&&d.setStatus({code:C,message:"internal_error"})},()=>{d.end()})}))}function Tt(t){const e=hn();if(e.startInactiveSpan)return e.startInactiveSpan(t);const n=ss(t),{forceTransaction:r,parentSpan:s}=t;return(t.scope?o=>Re(t.scope,o):s!==void 0?o=>ns(s,o):o=>o())(()=>{const o=y(),a=is(o,s),c=k();return t.onlyIfParent&&!a?(c==null||c.recordDroppedEvent("no_parent_span","span"),new W):rs({parentSpan:a,spanArguments:n,forceTransaction:r,scope:o})})}function ns(t,e){const n=hn();return n.withActiveSpan?n.withActiveSpan(t,e):Re(r=>($e(r,t||void 0),e(r)))}function rs({parentSpan:t,spanArguments:e,forceTransaction:n,scope:r}){var a;if(!fn()){const c=new W;if(n||!t){const u=l({sampled:"false",sample_rate:"0",transaction:e.name},ne(c));Rt(c,u)}return c}const s=k();if(Co(s,e))return _n(r)||s==null||s.recordDroppedEvent("ignored","span"),new W({dropReason:"ignored",traceId:(a=t==null?void 0:t.spanContext().traceId)!=null?a:r.getPropagationContext().traceId});const i=A();let o;if(t&&!n)o=Ao(t,r,e),Vr(t,o);else if(t){const c=ne(t),{traceId:u,spanId:p}=t.spanContext(),f=Y(t);o=Xn(l({traceId:u,parentSpanId:p},e),r,f),Rt(o,c)}else{const{traceId:c,dsc:u,parentSpanId:p,sampled:f}=l(l({},i.getPropagationContext()),r.getPropagationContext());o=Xn(l({traceId:c,parentSpanId:p},e),r,f),u&&Rt(o,u)}return So(o),Ni(o,r,i),o}function ss(t){const e=t.experimental||{},n=l({isStandalone:e.standalone},t);if(t.startTime){const r=l({},n);return r.startTimestamp=Q(t.startTime),delete r.startTime,r}return n}function hn(){const t=V();return le(t)}function Xn(t,e,n){var b,T;const r=k(),s=(r==null?void 0:r.getOptions())||{},{name:i=""}=t,o={spanAttributes:l({},t.attributes),spanName:i,parentSampled:n};r==null||r.emit("beforeSampling",o,{decision:!1});const a=(b=o.parentSampled)!=null?b:n,c=o.spanAttributes,u=e.getPropagationContext(),p=_n(e),[f,h,d]=p?[!1]:Io(s,{name:i,parentSampled:a,attributes:c,parentSampleRate:ln((T=u.dsc)==null?void 0:T.sample_rate)},u.sampleRand),_=new dn(E(l({},t),{attributes:l({[je]:"custom",[Fr]:h!==void 0&&d?h:void 0},c),sampled:f}));return!f&&r&&!p&&(g&&m.log("[Tracing] Discarding root span because its trace was not chosen to be sampled."),r.recordDroppedEvent("sample_rate",Ce(r)?"span":"transaction")),r&&r.emit("spanStart",_),_}function Ao(t,e,n){const{spanId:r,traceId:s}=t.spanContext(),i=_n(e),o=i?!1:Y(t),a=o?new dn(E(l({},n),{parentSpanId:r,traceId:s,sampled:o})):new W({traceId:s});Vr(t,a);const c=k();return c&&(Ce(c)&&a instanceof W&&(t instanceof W&&t.dropReason?(a.dropReason=t.dropReason,c.recordDroppedEvent(t.dropReason,"span")):i||(a.dropReason="sample_rate",c.recordDroppedEvent("sample_rate","span"))),c.emit("spanStart",a),n.endTimestamp&&(c.emit("spanEnd",a),c.emit("afterSpanEnd",a))),a}function is(t,e){if(e)return e;if(e===null)return;const n=He(t);if(!n)return;const r=k();return(r?r.getOptions():{}).parentSpanIsAlwaysRootSpan?L(n):n}function Ro(t){return t!==void 0?e=>ns(t,e):e=>e()}function Co(t,e){var r;const n=t==null?void 0:t.getOptions().ignoreSpans;return!t||!Ce(t)||!(n!=null&&n.length)?!1:ze({description:e.name||"",op:((r=e.attributes)==null?void 0:r[Be])||e.op,attributes:e.attributes},n)}function Po(t){return t instanceof W&&t.dropReason==="ignored"}function _n(t){return t.getScopeData().sdkProcessingMetadata[ko]===!0}function xo(t,e){const{fingerprint:n,span:r,breadcrumbs:s,sdkProcessingMetadata:i}=e;No(t,e),r&&Mo(t,r),Fo(t,n),Do(t,s),Oo(t,i)}function Zn(t,e){const{extra:n,tags:r,attributes:s,user:i,contexts:o,level:a,sdkProcessingMetadata:c,breadcrumbs:u,fingerprint:p,eventProcessors:f,attachments:h,propagationContext:d,transactionName:_,span:b}=e;de(t,"extra",n),de(t,"tags",r),de(t,"attributes",s),de(t,"user",i),de(t,"contexts",o),t.sdkProcessingMetadata=Ae(t.sdkProcessingMetadata,c,2),a&&(t.level=a),_&&(t.transactionName=_),b&&(t.span=b),u.length&&(t.breadcrumbs=[...t.breadcrumbs,...u]),p.length&&(t.fingerprint=[...t.fingerprint,...p]),f.length&&(t.eventProcessors=[...t.eventProcessors,...f]),h.length&&(t.attachments=[...t.attachments,...h]),t.propagationContext=l(l({},t.propagationContext),d)}function de(t,e,n){t[e]=Ae(t[e],n,1)}function os(t,e){const n=Ai().getScopeData();return t&&Zn(n,t.getScopeData()),e&&Zn(n,e.getScopeData()),n}function No(t,e){const{extra:n,tags:r,user:s,contexts:i,level:o,transactionName:a}=e;Object.keys(n).length&&(t.extra=l(l({},n),t.extra)),Object.keys(r).length&&(t.tags=l(l({},r),t.tags)),Object.keys(s).length&&(t.user=l(l({},s),t.user)),Object.keys(i).length&&(t.contexts=l(l({},i),t.contexts)),o&&(t.level=o),a&&t.type!=="transaction"&&(t.transaction=a)}function Do(t,e){const n=[...t.breadcrumbs||[],...e];t.breadcrumbs=n.length?n:void 0}function Oo(t,e){t.sdkProcessingMetadata=l(l({},t.sdkProcessingMetadata),e)}function Mo(t,e){t.contexts=l({trace:Vi(e)},t.contexts),t.sdkProcessingMetadata=l({dynamicSamplingContext:ne(e)},t.sdkProcessingMetadata);const n=L(e),r=x(n).description;r&&!t.transaction&&t.type==="transaction"&&(t.transaction=r)}function Fo(t,e){t.fingerprint=t.fingerprint?Array.isArray(t.fingerprint)?t.fingerprint:[t.fingerprint]:[],e&&(t.fingerprint=t.fingerprint.concat(e)),t.fingerprint.length||delete t.fingerprint}const Ct=0,Qn=1,er=2;function mn(t){return new Te(e=>{e(t)})}function gn(t){return new Te((e,n)=>{n(t)})}class Te{constructor(e){this._state=Ct,this._handlers=[],this._runExecutor(e)}then(e,n){return new Te((r,s)=>{this._handlers.push([!1,i=>{if(!e)r(i);else try{r(e(i))}catch(o){s(o)}},i=>{if(!n)s(i);else try{r(n(i))}catch(o){s(o)}}]),this._executeHandlers()})}catch(e){return this.then(n=>n,e)}finally(e){return new Te((n,r)=>{let s,i;return this.then(o=>{i=!1,s=o,e&&e()},o=>{i=!0,s=o,e&&e()}).then(()=>{if(i){r(s);return}n(s)})})}_executeHandlers(){if(this._state===Ct)return;const e=this._handlers.slice();this._handlers=[],e.forEach(n=>{n[0]||(this._state===Qn&&n[1](this._value),this._state===er&&n[2](this._value),n[0]=!0)})}_runExecutor(e){const n=(i,o)=>{if(this._state===Ct){if(ce(o)){o.then(r,s);return}this._state=i,this._value=o,this._executeHandlers()}},r=i=>{n(Qn,i)},s=i=>{n(er,i)};try{e(r,s)}catch(i){s(i)}}}function Lo(t,e,n,r=0){try{const s=Zt(e,n,t,r);return ce(s)?s:mn(s)}catch(s){return gn(s)}}function Zt(t,e,n,r){const s=n[r];if(!t||!s)return t;const i=s(l({},t),e);return g&&i===null&&m.log(`Event processor "${s.id||"?"}" dropped event`),ce(i)?i.then(o=>Zt(o,e,n,r+1)):Zt(i,e,n,r+1)}let U,tr,nr,z;function $o(t){const e=P._sentryDebugIds,n=P._debugIds;if(!e&&!n)return{};const r=e?Object.keys(e):[],s=n?Object.keys(n):[];if(z&&r.length===tr&&s.length===nr)return z;tr=r.length,nr=s.length,z={},U||(U={});const i=(o,a)=>{for(const c of o){const u=a[c],p=U==null?void 0:U[c];if(p&&z&&u)z[p[0]]=u,U&&(U[c]=[p[0],u]);else if(u){const f=t(c);for(let h=f.length-1;h>=0;h--){const d=f[h],_=d==null?void 0:d.filename;if(_&&z&&U){z[_]=u,U[c]=[_,u];break}}}}};return e&&i(r,e),n&&i(s,n),z}function Ho(t,e,n,r,s,i){const{normalizeDepth:o=3,normalizeMaxBreadth:a=1e3}=t,c=E(l({},e),{event_id:e.event_id||n.event_id||M(),timestamp:e.timestamp||ke()}),u=n.integrations||t.integrations.map(w=>w.name);jo(c,t),zo(c,u),s&&s.emit("applyFrameMetadata",e),e.type===void 0&&Bo(c,t.stackParser);const p=Wo(r,n.captureContext);n.mechanism&&pi(c,n.mechanism);const f=s?s.getEventProcessors():[],h=os(i,p),d=[...n.attachments||[],...h.attachments];d.length&&(n.attachments=d),xo(c,h);const _=[...f,...h.eventProcessors];return(n.data&&n.data.__sentry__===!0?mn(c):Lo(_,c,n)).then(w=>(w&&Uo(w),typeof o=="number"&&o>0?qo(w,o,a):w))}function jo(t,e){var a,c;const{environment:n,release:r,dist:s,maxValueLength:i}=e;t.environment=t.environment||n||pn,!t.release&&r&&(t.release=r),!t.dist&&s&&(t.dist=s);const o=t.request;o!=null&&o.url&&i&&(o.url=zt(o.url,i)),i&&((c=(a=t.exception)==null?void 0:a.values)==null||c.forEach(u=>{u.value&&(u.value=zt(u.value,i))}))}function Bo(t,e){var r,s;const n=$o(e);(s=(r=t.exception)==null?void 0:r.values)==null||s.forEach(i=>{var o,a;(a=(o=i.stacktrace)==null?void 0:o.frames)==null||a.forEach(c=>{c.filename&&(c.debug_id=n[c.filename])})})}function Uo(t){var r,s;const e={};if((s=(r=t.exception)==null?void 0:r.values)==null||s.forEach(i=>{var o,a;(a=(o=i.stacktrace)==null?void 0:o.frames)==null||a.forEach(c=>{c.debug_id&&(c.abs_path?e[c.abs_path]=c.debug_id:c.filename&&(e[c.filename]=c.debug_id),delete c.debug_id)})}),Object.keys(e).length===0)return;t.debug_meta=t.debug_meta||{},t.debug_meta.images=t.debug_meta.images||[];const n=t.debug_meta.images;Object.entries(e).forEach(([i,o])=>{n.push({type:"sourcemap",code_file:i,debug_id:o})})}function zo(t,e){e.length>0&&(t.sdk=t.sdk||{},t.sdk.integrations=[...t.sdk.integrations||[],...e])}function qo(t,e,n){var s,i;if(!t)return null;const r=l(l(l(l(l({},t),t.breadcrumbs&&{breadcrumbs:t.breadcrumbs.map(o=>l(l({},o),o.data&&{data:q(o.data,e,n)}))}),t.user&&{user:q(t.user,e,n)}),t.contexts&&{contexts:q(t.contexts,e,n)}),t.extra&&{extra:q(t.extra,e,n)});return(s=t.contexts)!=null&&s.trace&&r.contexts&&(r.contexts.trace=t.contexts.trace,t.contexts.trace.data&&(r.contexts.trace.data=q(t.contexts.trace.data,e,n))),t.spans&&(r.spans=t.spans.map(o=>l(l({},o),o.data&&{data:q(o.data,e,n)}))),(i=t.contexts)!=null&&i.flags&&r.contexts&&(r.contexts.flags=q(t.contexts.flags,3,n)),r}function Wo(t,e){if(!e)return t;const n=t?t.clone():new H;return n.update(e),n}function Go(t){if(t)return Ko(t)?{captureContext:t}:Yo(t)?{captureContext:t}:t}function Ko(t){return t instanceof H||typeof t=="function"}const Vo=["user","level","extra","contexts","tags","fingerprint","propagationContext"];function Yo(t){return Object.keys(t).some(e=>Vo.includes(e))}function Z(t,e){return y().captureException(t,Go(e))}function Jo(t,e){const n=typeof e=="string"?e:void 0,r=typeof e!="string"?{captureContext:e}:void 0;return y().captureMessage(t,n,r)}function Xo(t,e){return y().captureEvent(t,e)}function $(t,e){A().setContext(t,e)}function Zo(t){A().setExtras(t)}function Qo(t,e){A().setExtra(t,e)}function ea(t){A().setTags(t)}function ta(t,e){A().setTag(t,e)}function na(t){A().setUser(t)}function ra(){return A().lastEventId()}function as(t){return D(this,null,function*(){const e=k();return e?e.flush(t):(g&&m.warn("Cannot flush events. No client defined."),Promise.resolve(!1))})}function sa(t){return D(this,null,function*(){const e=k();return e?e.close(t):(g&&m.warn("Cannot flush events and disable SDK. No client defined."),Promise.resolve(!1))})}function cs(){const t=k();return(t==null?void 0:t.getOptions().enabled)!==!1&&!!(t!=null&&t.getTransport())}function ia(t){A().addEventProcessor(t)}function us(t){const e=A(),{user:n}=os(e,y()),{userAgent:r}=P.navigator||{},s=Pr(l(l({user:n},r&&{userAgent:r}),t)),i=e.getSession();return(i==null?void 0:i.status)==="ok"&&K(i,{status:"exited"}),vt(),e.setSession(s),s}function vt(){const t=A(),n=y().getSession()||t.getSession();n&&xr(n),ls(),t.setSession()}function ls(){const t=A(),e=k(),n=t.getSession();n&&e&&e.captureSession(n)}function Qt(t=!1){if(t){vt();return}ls()}const oa="7";function aa(t){const e=t.protocol?`${t.protocol}:`:"",n=t.port?`:${t.port}`:"";return`${e}//${t.host}${n}${t.path?`/${t.path}`:""}/api/`}function ca(t){return`${aa(t)}${t.projectId}/envelope/`}function ua(t,e){const n={sentry_version:oa};return t.publicKey&&(n.sentry_key=t.publicKey),e&&(n.sentry_client=`${e.name}/${e.version}`),new URLSearchParams(n).toString()}function la(t,e,n){return e||`${ca(t)}?${ua(t,n)}`}const rr=[];function fa(t,e){const n={};return e.forEach(r=>{r!=null&&r.beforeSetup&&r.beforeSetup(t)}),e.forEach(r=>{r&&fs(t,r,n)}),n}function sr(t,e){for(const n of e)n!=null&&n.afterAllSetup&&n.afterAllSetup(t)}function fs(t,e,n){if(n[e.name]){g&&m.log(`Integration skipped because it was already installed: ${e.name}`);return}if(n[e.name]=e,!rr.includes(e.name)&&typeof e.setupOnce=="function"&&(e.setupOnce(),rr.push(e.name)),e.setup&&typeof e.setup=="function"&&e.setup(t),typeof e.preprocessEvent=="function"){const r=e.preprocessEvent.bind(e);t.on("preprocessEvent",(s,i)=>r(s,i,t))}if(typeof e.processEvent=="function"){const r=e.processEvent.bind(e),s=Object.assign((i,o)=>r(i,o,t),{id:e.name});t.addEventProcessor(s)}["processSpan","processSegmentSpan"].forEach(r=>{const s=e[r];typeof s=="function"&&t.on(r,i=>s.call(e,i,t))}),g&&m.log(`Integration installed: ${e.name}`)}function pa(t){const e=k();if(!e){g&&m.warn(`Cannot add integration "${t.name}" because no SDK Client is available.`);return}e.addIntegration(t)}function da(){return typeof __SENTRY_BROWSER_BUNDLE__!="undefined"&&!!__SENTRY_BROWSER_BUNDLE__}function ha(){return!da()&&Object.prototype.toString.call(typeof process!="undefined"?process:0)==="[object process]"}function yn(){return typeof window!="undefined"&&(!ha()||_a())}function _a(){const t=P.process;return(t==null?void 0:t.type)==="renderer"}function ma(t,e){const n=e?"auto":"never";return[{type:"log",item_count:t.length,content_type:"application/vnd.sentry.items.log+json"},E(l({version:2},yn()&&{ingest_settings:{infer_ip:n,infer_user_agent:n}}),{items:t})]}function ga(t,e,n,r,s){const i={};return e!=null&&e.sdk&&(i.sdk={name:e.sdk.name,version:e.sdk.version}),n&&r&&(i.dsn=fe(r)),J(i,[ma(t,s)])}function ir(t,e){var i;const n=(i=e!=null?e:ya(t))!=null?i:[];if(n.length===0)return;const r=t.getOptions(),s=ga(n,r._metadata,r.tunnel,t.getDsn(),t.getDataCollectionOptions().userInfo);ps().set(t,[]),t.emit("flushLogs"),t.sendEnvelope(s)}function ya(t){return ps().get(t)}function ps(){return ae("clientToLogBufferMap",()=>new WeakMap)}function Sa(t,e){const n=e?"auto":"never";return[{type:"trace_metric",item_count:t.length,content_type:"application/vnd.sentry.items.trace-metric+json"},E(l({version:2},yn()&&{ingest_settings:{infer_ip:n,infer_user_agent:n}}),{items:t})]}function ba(t,e,n,r,s){const i={};return e!=null&&e.sdk&&(i.sdk={name:e.sdk.name,version:e.sdk.version}),n&&r&&(i.dsn=fe(r)),J(i,[Sa(t,s)])}function Ea(t,e){var i;const n=(i=e!=null?e:Ta(t))!=null?i:[];if(n.length===0)return;const r=t.getOptions(),s=ba(n,r._metadata,r.tunnel,t.getDsn(),t.getDataCollectionOptions().userInfo);ds().set(t,[]),t.emit("flushMetrics"),t.sendEnvelope(s)}function Ta(t){return ds().get(t)}function ds(){return ae("clientToMetricBufferMap",()=>new WeakMap)}function va(t){const e={trace_id:t.trace_id,span_id:t.span_id,parent_span_id:t.parent_span_id,name:t.description||"",start_timestamp:t.start_timestamp,end_timestamp:t.timestamp||t.start_timestamp,status:!t.status||t.status==="ok"||t.status==="cancelled"?"ok":"error",is_segment:!1,attributes:l({},t.data),links:t.links};return Qi(e)}function wa(t,e){var i,o,a;if(t.type!=="transaction"||!((i=t.spans)!=null&&i.length)||!((o=t.sdkProcessingMetadata)!=null&&o.hasGenAiSpans)||!e.getOptions().streamGenAiSpans||Ce(e))return;const n=[],r=[];for(const c of t.spans)(a=c.op)!=null&&a.startsWith("gen_ai.")?n.push(va(c)):r.push(c);if(n.length===0)return;t.spans=r;const s=e.getDataCollectionOptions().userInfo?"auto":"never";return[{type:"span",item_count:n.length,content_type:"application/vnd.sentry.items.span.v2+json"},E(l({version:2},yn()&&{ingest_settings:{infer_ip:s,infer_user_agent:s}}),{items:n})]}function Sn(t){return typeof t=="object"&&typeof t.unref=="function"&&t.unref(),t}const bn=Symbol.for("SentryBufferFullError");function hs(t=100){const e=new Set;function n(){return e.size<t}function r(o){e.delete(o)}function s(o){if(!n())return gn(bn);const a=o();return e.add(a),a.then(()=>r(a),()=>r(a)),a}function i(o){if(!e.size)return mn(!0);const a=Promise.allSettled(Array.from(e)).then(()=>!0);if(!o)return a;const c=[a,new Promise(u=>Sn(setTimeout(()=>u(!1),o)))];return Promise.race(c)}return{get $(){return Array.from(e)},add:s,drain:i}}const Ia=60*1e3;function _s(t,e=St()){const n=parseInt(`${t}`,10);if(!isNaN(n))return n*1e3;const r=Date.parse(`${t}`);return isNaN(r)?Ia:r-e}function ka(t,e){return t[e]||t.all||0}function Aa(t,e,n=St()){return ka(t,e)>n}function Ra(t,{statusCode:e,headers:n},r=St()){const s=l({},t),i=n==null?void 0:n["x-sentry-rate-limits"],o=n==null?void 0:n["retry-after"];if(i)for(const a of i.trim().split(",")){const[c,u,,,p]=a.split(":",5),f=parseInt(c,10),h=(isNaN(f)?60:f)*1e3;if(!u)s.all=r+h;else for(const d of u.split(";"))d==="metric_bucket"?(!p||p.split(";").includes("custom"))&&(s[d]=r+h):s[d]=r+h}else o?s.all=r+_s(o,r):e===429&&(s.all=r+60*1e3);return s}const ms=64;function Ca(t,e,n=hs(t.bufferSize||ms)){let r={};const s=o=>n.drain(o);function i(o){const a=[];if(Yt(o,(f,h)=>{const d=Gn(h);Aa(r,d)?t.recordDroppedEvent("ratelimit_backoff",d):a.push(f)}),a.length===0)return Promise.resolve({});const c=J(o[0],a),u=f=>{if(Jt(c,["client_report"])){g&&m.warn(`Dropping client report. Will not send outcomes (reason: ${f}).`);return}Yt(c,(h,d)=>{t.recordDroppedEvent(f,Gn(d))})},p=()=>e({body:co(c)}).then(f=>f.statusCode===413?(g&&m.error("Sentry responded with status code 413. Envelope was discarded due to exceeding size limits."),u("send_error"),f):(g&&f.statusCode!==void 0&&(f.statusCode<200||f.statusCode>=300)&&m.warn(`Sentry responded with status code ${f.statusCode} to sent event.`),r=Ra(r,f),f),f=>{throw u("network_error"),g&&m.error("Encountered error running transport request:",f),f});return n.add(p).then(f=>f,f=>{if(f===bn)return g&&m.error("Skipped sending event because buffer is full."),u("queue_overflow"),Promise.resolve({});throw f})}return{send:i,flush:s}}function Pa(t,e,n){const r=[{type:"client_report"},{timestamp:ke(),discarded_events:t}];return J(e?{dsn:e}:{},[r])}function xa(t){const e=[];t.message&&e.push(t.message);try{const n=t.exception.values[t.exception.values.length-1];n!=null&&n.value&&(e.push(n.value),n.type&&e.push(`${n.type}: ${n.value}`))}catch(n){}return e}function Na(t){var c,u,p;const{trace_id:e,parent_span_id:n,span_id:r,status:s,origin:i,data:o,op:a}=(u=(c=t.contexts)==null?void 0:c.trace)!=null?u:{};return{data:o!=null?o:{},description:t.transaction,op:a,parent_span_id:n,span_id:r!=null?r:"",start_timestamp:(p=t.start_timestamp)!=null?p:0,status:s,timestamp:t.timestamp,trace_id:e!=null?e:"",origin:i,profile_id:o==null?void 0:o[cn],exclusive_time:o==null?void 0:o[un],measurements:t.measurements,is_segment:!0}}function Da(t){return{type:"transaction",timestamp:t.timestamp,start_timestamp:t.start_timestamp,transaction:t.description,contexts:{trace:{trace_id:t.trace_id,span_id:t.span_id,parent_span_id:t.parent_span_id,op:t.op,status:t.status,origin:t.origin,data:l(l(l({},t.data),t.profile_id&&{[cn]:t.profile_id}),t.exclusive_time&&{[un]:t.exclusive_time})}},measurements:t.measurements}}const De=["forwarded","-ip","remote-","via","-user"];function Oa(t){return t===!0?{userInfo:!0,cookies:!0,httpHeaders:{request:!0,response:!0},httpBodies:["incomingRequest","outgoingRequest","incomingResponse","outgoingResponse"],queryParams:!0,genAI:{inputs:!0,outputs:!0},stackFrameVariables:!0,frameContextLines:5}:{userInfo:!1,cookies:{deny:De},httpHeaders:{request:{deny:De},response:{deny:De}},httpBodies:[],queryParams:{deny:De},genAI:{inputs:!1,outputs:!1},stackFrameVariables:!0,frameContextLines:5}}const Ma={userInfo:!1,cookies:!0,httpHeaders:{request:!0,response:!0},httpBodies:[],queryParams:!0,genAI:{inputs:!0,outputs:!0},stackFrameVariables:!0,frameContextLines:5};function Fa(t){var r,s,i,o,a,c,u,p,f,h,d,_,b,T,w;const e=t.dataCollection!=null?Ma:Oa(t.sendDefaultPii),n=(r=t.dataCollection)!=null?r:{};return{userInfo:(s=n.userInfo)!=null?s:e.userInfo,cookies:(i=n.cookies)!=null?i:e.cookies,httpHeaders:{request:(a=(o=n.httpHeaders)==null?void 0:o.request)!=null?a:e.httpHeaders.request,response:(u=(c=n.httpHeaders)==null?void 0:c.response)!=null?u:e.httpHeaders.response},httpBodies:(p=n.httpBodies)!=null?p:e.httpBodies,queryParams:(f=n.queryParams)!=null?f:e.queryParams,genAI:{inputs:(d=(h=n.genAI)==null?void 0:h.inputs)!=null?d:e.genAI.inputs,outputs:(b=(_=n.genAI)==null?void 0:_.outputs)!=null?b:e.genAI.outputs},stackFrameVariables:(T=n.stackFrameVariables)!=null?T:e.stackFrameVariables,frameContextLines:(w=n.frameContextLines)!=null?w:e.frameContextLines}}const or="Not capturing exception because it's already been captured.",ar="Discarded session because of missing or non-string release",gs=Symbol.for("SentryInternalError"),ys=Symbol.for("SentryDoNotSendEventError"),La=5e3;function Me(t){return{message:t,[gs]:!0}}function Pt(t){return{message:t,[ys]:!0}}function cr(t){return!!t&&typeof t=="object"&&gs in t}function ur(t){return!!t&&typeof t=="object"&&ys in t}function lr(t,e,n,r,s){let i=0,o,a=!1;t.on(n,()=>{i=0,clearTimeout(o),a=!1}),t.on(e,c=>{var u;if(i+=r(c),i>=8e5)s(t);else if(!a){const p=(u=t.getOptions()._flushInterval)!=null?u:La;p>0&&(a=!0,o=Sn(setTimeout(()=>{s(t)},p)))}}),t.on("flush",()=>{s(t)})}class $a{constructor(e){var r,s,i,o,a,c,u;if(this._options=e,this._integrations={},this._numProcessing=0,this._outcomes={},this._hooks={},this._eventProcessors=[],this._promiseBuffer=hs((s=(r=e.transportOptions)==null?void 0:r.bufferSize)!=null?s:ms),this._dataCollection=Fa(e),e.dsn?this._dsn=Wi(e.dsn):g&&m.warn("No DSN provided, client will not send events."),this._dsn){const p=la(this._dsn,e.tunnel,e._metadata?e._metadata.sdk:void 0);this._transport=e.transport(E(l({tunnel:this._options.tunnel,recordDroppedEvent:this.recordDroppedEvent.bind(this)},e.transportOptions),{url:p}))}this._options.enableLogs=(o=this._options.enableLogs)!=null?o:(i=this._options._experiments)==null?void 0:i.enableLogs,this._options.enableLogs&&lr(this,"afterCaptureLog","flushLogs",Ua,ir),((u=(c=this._options.enableMetrics)!=null?c:(a=this._options._experiments)==null?void 0:a.enableMetrics)!=null?u:!0)&&lr(this,"afterCaptureMetric","flushMetrics",Ba,Ea)}captureException(e,n,r){const s=M();if(Fn(e))return g&&m.log(or),s;const i=l({event_id:s},n);return this._process(()=>this.eventFromException(e,i).then(o=>this._captureEvent(o,i,r)).then(o=>o),"error"),i.event_id}captureMessage(e,n,r,s){const i=l({event_id:M()},r),o=kr(e)?e:String(e),a=Ar(e),c=a?this.eventFromMessage(o,n,i):this.eventFromException(e,i);return this._process(()=>c.then(u=>this._captureEvent(u,i,s)),a?"unknown":"error"),i.event_id}captureEvent(e,n,r){const s=M();if(n!=null&&n.originalException&&Fn(n.originalException))return g&&m.log(or),s;const i=l({event_id:s},n),o=e.sdkProcessingMetadata||{},a=o.capturedSpanScope,c=o.capturedSpanIsolationScope,u=fr(e.type);return this._process(()=>this._captureEvent(e,i,a||r,c),u),i.event_id}captureSession(e){this.sendSession(e),K(e,{init:!1})}getDsn(){return this._dsn}getOptions(){return this._options}getDataCollectionOptions(){return this._dataCollection}getSdkMetadata(){return this._options._metadata}getTransport(){return this._transport}flush(e){return D(this,null,function*(){const n=this._transport;if(this.emit("flush"),!n)return!0;const r=yield this._isClientDoneProcessing(e),s=yield n.flush(e);return r&&s})}close(e){return D(this,null,function*(){ir(this);const n=yield this.flush(e);return this.getOptions().enabled=!1,this.emit("close"),n})}getEventProcessors(){return this._eventProcessors}addEventProcessor(e){this._eventProcessors.push(e)}init(){(this._isEnabled()||this._options.integrations.some(({name:e})=>e.startsWith("Spotlight")))&&this._setupIntegrations()}getIntegrationByName(e){return this._integrations[e]}getIntegrationNames(){return Object.keys(this._integrations)}addIntegration(e){const n=this._integrations[e.name];!n&&e.beforeSetup&&e.beforeSetup(this),fs(this,e,this._integrations),n||sr(this,[e])}sendEvent(e,n={}){this.emit("beforeSendEvent",e,n);const r=wa(e,this);let s=go(e,this._dsn,this._options._metadata,this._options.tunnel);for(const i of n.attachments||[])s=Wn(s,fo(i));r&&(s=Wn(s,r)),this.sendEnvelope(s).then(i=>this.emit("afterSendEvent",e,i))}sendSession(e){const{release:n,environment:r=pn}=this._options;if("aggregates"in e){const i=e.attrs||{};if(!i.release&&!n){g&&m.warn(ar);return}i.release=i.release||n,i.environment=i.environment||r,e.attrs=i}else{if(!e.release&&!n){g&&m.warn(ar);return}e.release=e.release||n,e.environment=e.environment||r}this.emit("beforeSendSession",e);const s=mo(e,this._dsn,this._options._metadata,this._options.tunnel);this.sendEnvelope(s)}recordDroppedEvent(e,n,r=1){if(this._options.sendClientReports){const s=`${e}:${n}`;g&&m.log(`Recording outcome: "${s}"${r>1?` (${r} times)`:""}`),this._outcomes[s]=(this._outcomes[s]||0)+r}}on(e,n){const r=this._hooks[e]=this._hooks[e]||new Set,s=(...i)=>n(...i);return r.add(s),()=>{r.delete(s)}}emit(e,...n){const r=this._hooks[e];r&&r.forEach(s=>s(...n))}sendEnvelope(e){return D(this,null,function*(){if(this.emit("beforeEnvelope",e),this._isEnabled()&&this._transport)try{return yield this._transport.send(e)}catch(n){return g&&m.error("Error while sending envelope:",n),{}}return g&&m.error("Transport disabled"),{}})}registerCleanup(e){}dispose(){}_setupIntegrations(){const{integrations:e}=this._options;this._integrations=fa(this,e),sr(this,e)}_updateSessionFromEvent(e,n){var c,u;let r=n.level==="fatal",s=!1;const i=(c=n.exception)==null?void 0:c.values;if(i){s=!0,r=!1;for(const p of i)if(((u=p.mechanism)==null?void 0:u.handled)===!1){r=!0;break}}const o=e.status==="ok";(o&&e.errors===0||o&&r)&&(K(e,E(l({},r&&{status:"crashed"}),{errors:e.errors||Number(s||r)})),this.captureSession(e))}_isClientDoneProcessing(e){return D(this,null,function*(){let n=0;for(;!e||n<e;){if(yield new Promise(r=>setTimeout(r,1)),!this._numProcessing)return!0;n++}return!1})}_isEnabled(){return this.getOptions().enabled!==!1&&this._transport!==void 0}_prepareEvent(e,n,r,s){const i=this.getOptions(),o=this.getIntegrationNames();return!n.integrations&&o.length&&(n.integrations=o),this.emit("preprocessEvent",e,n),e.type||s.setLastEventId(e.event_id||n.event_id),Ho(i,e,n,r,this,s).then(a=>{var u;if(a===null)return a;this.emit("postprocessEvent",a,n),a.contexts=l({trace:l(l({},(u=a.contexts)==null?void 0:u.trace),Ri(r))},a.contexts);const c=Zr(this,r);return a.sdkProcessingMetadata=l({dynamicSamplingContext:c},a.sdkProcessingMetadata),a})}_captureEvent(e,n={},r=y(),s=A()){return g&&en(e)&&m.log(`Captured error event \`${xa(e)[0]||"<unknown>"}\``),this._processEvent(e,n,r,s).then(i=>i.event_id,i=>{g&&(ur(i)?m.log(i.message):cr(i)?m.warn(i.message):m.warn(i))})}_processEvent(e,n,r,s){const i=this.getOptions(),{sampleRate:o}=i,a=Ss(e),c=en(e),p=`before send for type \`${e.type||"error"}\``,f=typeof o=="undefined"?void 0:ln(o);if(c&&typeof f=="number"&&Le()>f)return this.recordDroppedEvent("sample_rate","error"),gn(Pt(`Discarding event because it's not included in the random sample (sampling rate = ${o})`));const h=fr(e.type);return this._prepareEvent(e,n,r,s).then(d=>{var T;if(d===null)throw this.recordDroppedEvent("event_processor",h),Pt("An event processor returned `null`, will not send event.");if(((T=n.data)==null?void 0:T.__sentry__)===!0)return d;const b=ja(this,i,d,n);return Ha(b,p)}).then(d=>{var T;if(d===null){if(this.recordDroppedEvent("before_send",h),a){const j=1+(e.spans||[]).length;this.recordDroppedEvent("before_send","span",j)}throw Pt(`${p} returned \`null\`, will not send event.`)}const _=r.getSession()||s.getSession();if(c&&_&&this._updateSessionFromEvent(_,d),a){const w=((T=d.sdkProcessingMetadata)==null?void 0:T.spanCountBeforeProcessing)||0,j=d.spans?d.spans.length:0,F=w-j;F>0&&this.recordDroppedEvent("before_send","span",F)}const b=d.transaction_info;if(a&&b&&d.transaction!==e.transaction){const w="custom";d.transaction_info=E(l({},b),{source:w})}return this.sendEvent(d,n),d}).then(null,d=>{throw ur(d)||cr(d)?d:(this.captureException(d,{mechanism:{handled:!1,type:"internal"},data:{__sentry__:!0},originalException:d}),Me(`Event processing pipeline threw an error, original event will not be sent. Details have been sent as a new event.
|
|
7
|
+
Reason: ${d}`))})}_process(e,n){this._numProcessing++,this._promiseBuffer.add(e).then(r=>(this._numProcessing--,r),r=>(this._numProcessing--,r===bn&&this.recordDroppedEvent("queue_overflow",n),r))}_clearOutcomes(){const e=this._outcomes;return this._outcomes={},Object.entries(e).map(([n,r])=>{const[s,i]=n.split(":");return{reason:s,category:i,quantity:r}})}_flushOutcomes(){g&&m.log("Flushing outcomes...");const e=this._clearOutcomes();if(e.length===0){g&&m.log("No outcomes to send");return}if(!this._dsn){g&&m.log("No dsn provided, will not send outcomes");return}g&&m.log("Sending outcomes:",e);const n=Pa(e,this._options.tunnel&&fe(this._dsn));this.sendEnvelope(n)}}function fr(t){return t==="replay_event"?"replay":t||"error"}function Ha(t,e){const n=`${e} must return \`null\` or a valid event.`;if(ce(t))return t.then(r=>{if(!Bt(r)&&r!==null)throw Me(n);return r},r=>{throw Me(`${e} rejected with ${r}`)});if(!Bt(t)&&t!==null)throw Me(n);return t}function ja(t,e,n,r){const{beforeSend:s,beforeSendTransaction:i,ignoreSpans:o}=e,a=!Qr(e.beforeSendSpan)&&e.beforeSendSpan;let c=n;if(en(c)&&s)return s(c,r);if(Ss(c)){if(a||o){const u=Na(c);if(o!=null&&o.length&&ze({description:u.description,op:u.op,attributes:u.data},o))return null;if(a){const p=a(u);p?c=Ae(n,Da(p)):Vt()}if(c.spans){const p=[],f=c.spans;for(const d of f){if(o!=null&&o.length&&ze({description:d.description,op:d.op,attributes:d.data},o)){oo(f,d);continue}if(a){const _=a(d);_?p.push(_):(Vt(),p.push(d))}else p.push(d)}const h=c.spans.length-p.length;h&&t.recordDroppedEvent("before_send","span",h),c.spans=p}}if(i){if(c.spans){const u=c.spans.length;c.sdkProcessingMetadata=E(l({},n.sdkProcessingMetadata),{spanCountBeforeProcessing:u})}return i(c,r)}}return c}function en(t){return t.type===void 0}function Ss(t){return t.type==="transaction"}function Ba(t){let e=0;return t.name&&(e+=t.name.length*2),e+=8,e+bs(t.attributes)}function Ua(t){let e=0;return t.message&&(e+=t.message.length*2),e+bs(t.attributes)}function bs(t){if(!t)return 0;let e=0;return Object.values(t).forEach(n=>{Array.isArray(n)?e+=n.length*pr(n[0]):Ar(n)?e+=pr(n):e+=100}),e}function pr(t){return typeof t=="string"?t.length*2:typeof t=="number"?8:typeof t=="boolean"?4:0}function za(t,e){e.debug===!0&&(g?m.enable():Ie(()=>{console.warn("[Sentry] Cannot initialize SDK with `debug` option using a non-debug bundle.")})),y().update(e.initialScope);const r=new t(e);return qa(r),r.init(),r}function qa(t){y().setClient(t)}const xt=100,Nt=5e3,Wa=36e5;function Ga(t){function e(...n){g&&m.log("[Offline]:",...n)}return n=>{const r=t(n);if(!n.createStore)throw new Error("No `createStore` function was provided");const s=n.createStore(n);let i=Nt,o;function a(f,h,d){return Jt(f,["client_report"])?!1:n.shouldStore?n.shouldStore(f,h,d):!0}function c(f){o&&clearTimeout(o),o=Sn(setTimeout(()=>D(null,null,function*(){o=void 0;const h=yield s.shift();h&&(e("Attempting to send previously queued event"),h[0].sent_at=new Date().toISOString(),p(h,!0).catch(d=>{e("Failed to retry sending",d)}))}),f))}function u(){o||(c(i),i=Math.min(i*2,Wa))}function p(f,h=!1){return D(this,null,function*(){var d,_;if(!h&&Jt(f,["replay_event","replay_recording"]))return yield s.push(f),c(xt),{};try{if(n.shouldSend&&(yield n.shouldSend(f))===!1)throw new Error("Envelope not sent because `shouldSend` callback returned false");const b=yield r.send(f);let T=xt;if(b){if((d=b.headers)!=null&&d["retry-after"])T=_s(b.headers["retry-after"]);else if((_=b.headers)!=null&&_["x-sentry-rate-limits"])T=6e4;else if((b.statusCode||0)>=400)return b}return c(T),i=Nt,b}catch(b){if(yield a(f,b,i))return h?yield s.unshift(f):yield s.push(f),u(),e("Error sending. Event queued.",b),{};throw b}})}return n.flushAtStartup&&u(),{send:p,flush:f=>(f===void 0&&(i=Nt,c(xt)),r.flush(f))}}}function Ka(t={}){const e=t.client||k();if(!cs()||!e)return{};const n=V(),r=le(n);if(r.getTraceData)return r.getTraceData(t);const s=t.scope||y(),i=t.span||Yr(),o=i?Yi(i):Va(s),a=i?ne(i):Zr(e,s),c=Mi(a);if(!Gi.test(o))return m.warn("Invalid sentry-trace data. Cannot generate trace data"),{};const p={"sentry-trace":o,baggage:c};return t.propagateTraceparent&&(p.traceparent=i?Ji(i):Ya(s)),p}function Va(t){const{traceId:e,sampled:n,propagationSpanId:r}=t.getPropagationContext();return zr(e,r,n)}function Ya(t){const{traceId:e,sampled:n,propagationSpanId:r}=t.getPropagationContext();return qr(e,r,n)}const Ja=100;function I(t,e){const n=k(),r=A();if(!n)return;const{beforeBreadcrumb:s=null,maxBreadcrumbs:i=Ja}=n.getOptions();if(i<=0)return;const o=ke(),a=l({timestamp:o},t),c=s?Ie(()=>s(a,e)):a;c!==null&&(n.emit&&n.emit("beforeAddBreadcrumb",c,e),r.addBreadcrumb(c,i))}function Xa(t,e){return t(e.stack||"",1)}function Za(t){return Ir(t)&&"__sentry_fetch_url_host__"in t&&typeof t.__sentry_fetch_url_host__=="string"}function Qa(t){return Za(t)?`${t.message} (${t.__sentry_fetch_url_host__})`:t.message}function ec(t,e){const n={type:e.name||e.constructor.name,value:Qa(e)},r=Xa(t,e);return r.length&&(n.stacktrace={frames:r}),n}const Fe="1.11.1",Es="sentry.javascript.miniapp",tc=/^\s*at\s+(?:(.+?)\s+\()?([^\s():]+):(\d+):(\d+)\)?$/,nc=/^\s*(?:([^@]*)@)?([^\s@:]+(?:\.[a-z]+)+):(\d+)(?::(\d+))?\s*$/,rc=/^\s*((?:pages|utils|components|subpackages|app-service|appservice)\/[^\s:]+):(\d+):(\d+)\s*$/;function re(t){if(!t)return 0;const e=parseInt(t,10);return isNaN(e)?0:e}function sc(t){const e=tc.exec(t);if(!e)return;const[,n,r,s,i]=e,o={filename:r||"<anonymous>",function:n||gt,in_app:En(r)},a=re(s),c=re(i);return a&&(o.lineno=a),c&&(o.colno=c),o}function ic(t){const e=nc.exec(t);if(!e)return;const[,n,r,s,i]=e,o={filename:r||"<anonymous>",function:n||gt,in_app:En(r)},a=re(s),c=re(i);return a&&(o.lineno=a),c&&(o.colno=c),o}function oc(t){const e=rc.exec(t);if(!e)return;const[,n,r,s]=e,i={filename:n||"<anonymous>",function:gt,in_app:En(n)},o=re(r),a=re(s);return o&&(i.lineno=o),a&&(i.colno=a),i}function En(t){return t?!(t.includes("sentry-miniapp")||t.includes("@sentry")||t.includes("WAService")||t.includes("WASubContext")||t.includes("aframeworkx")||t.includes("__dev__")):!0}const Ts=Ys([90,sc],[80,ic],[70,oc]),ac=()=>typeof window!="undefined"&&window!==null&&typeof document!="undefined"&&document!==null,cc=[{global:"wx",name:"wechat"},{global:"my",name:"alipay"},{global:"tt",name:"bytedance"},{global:"dd",name:"dingtalk"},{global:"qq",name:"qq"},{global:"swan",name:"swan"},{global:"ks",name:"kuaishou"}],vs=()=>{const t=globalThis;for(const e of cc){const n=t[e.global];if(typeof n=="object"&&n!==null)return{sdk:n,name:e.name}}return null},ws=()=>{const t=vs();if(!t)return ac()?console.warn(`[sentry-miniapp] 检测到当前运行在浏览器/H5 环境(如 uni-app H5、Taro H5)。
|
|
8
8
|
本 SDK 仅适配各小程序平台,不支持浏览器原生信号(window.onerror、fetch/XHR 拦截、PerformanceObserver 等)。
|
|
9
9
|
建议改用 Sentry 官方浏览器 SDK:@sentry/browser。
|
|
10
10
|
若使用 uni-app/Taro,可结合条件编译按端引入:H5 用 @sentry/browser,小程序端用 sentry-miniapp。
|
|
11
|
-
详情参考:https://docs.sentry.io/platforms/javascript/`):console.warn("[sentry-miniapp] 未检测到已支持的小程序平台,SDK 将以降级模式运行"),{request:()=>{},httpRequest:()=>{},getSystemInfoSync:()=>({}),URLSearchParams:()=>{}};const e=t.sdk;if(t.name==="alipay"&&!e.request&&e.httpRequest&&(e.request=e.httpRequest),t.name==="alipay"||t.name==="dingtalk"){if(e.getStorageSync){const n=e.getStorageSync;e.getStorageSync=r=>{const s=n.call(e,{key:r});return s?s.data:null}}if(e.setStorageSync){const n=e.setStorageSync;e.setStorageSync=(r,s)=>{n.call(e,{key:r,data:s})}}if(e.removeStorageSync){const n=e.removeStorageSync;e.removeStorageSync=r=>{n.call(e,{key:r})}}}return e},Is=()=>{var t,e;return(e=(t=Tn())==null?void 0:t.name)!=null?e:"unknown"},se=()=>{try{const t=ws(),e={};let n=!1;if(t.getAppBaseInfo){const r=t.getAppBaseInfo();Object.assign(e,r),n=!0}if(t.getWindowInfo){const r=t.getWindowInfo();Object.assign(e,r),n=!0}if(t.getDeviceInfo){const r=t.getDeviceInfo();Object.assign(e,r),n=!0}if(t.getAppAuthorizeSetting){const r=t.getAppAuthorizeSetting();e.albumAuthorized=r.albumAuthorized==="authorized",e.cameraAuthorized=r.cameraAuthorized==="authorized",e.locationAuthorized=r.locationAuthorized==="authorized",e.microphoneAuthorized=r.microphoneAuthorized==="authorized",e.notificationAuthorized=r.notificationAuthorized==="authorized"}if(t.getSystemSetting){const r=t.getSystemSetting();Object.assign(e,r)}if(n)return e;if(t.getSystemInfoSync){const r=t.getSystemInfoSync();return!r.SDKVersion&&r.version&&(r.SDKVersion=r.version),r}return null}catch(t){return console.warn("[sentry-miniapp] Failed to get system info:",t),null}},ks=()=>Is()!=="unknown";let Dt=null,Ot=null;const y=()=>(Dt===null&&(Dt=ws()),Dt),As=()=>(Ot===null&&(Ot=Is()),Ot);let Mt=null;const uc=()=>{if(Mt===null){const t=globalThis,e=typeof t.GameGlobal!="undefined",n=typeof t.App!="function"&&typeof t.Page!="function"&&typeof t.getCurrentPages!="function";Mt=ks()&&(e||n)}return Mt},Rs=()=>{try{const t=y();if(t.getPerformance&&typeof t.getPerformance=="function")return t.getPerformance()}catch(t){console.warn("Failed to get performance manager:",t)}return null},lc=["wechat"],fc=t=>{if(!Number.isFinite(t))return null;const e=Tn();return e&&lc.includes(e.name)?t/1e3:t},Se=()=>{var t,e;try{const n=(e=(t=y()).getPerformance)==null?void 0:e.call(t);if(n&&typeof n.now=="function"){const r=fc(n.now());if(r!==null)return r}}catch(n){}return Date.now()},tn=()=>Date.now();function Cs(t){const e=t.url;function n(r){return new Promise((s,i)=>{var a,c,u,p;const o={url:e,method:"POST",data:r.body,header:l({"Content-Type":"application/json"},r.headers),headers:l({"Content-Type":"application/json"},r.headers),timeout:1e4,success:f=>{const h=f.statusCode||f.status,d=f.header||f.headers||{};s({statusCode:h,headers:{"x-sentry-rate-limits":d["x-sentry-rate-limits"],"retry-after":d["retry-after"]}})},fail:f=>{i(new Error(`Network request failed: ${f.errMsg||f.errorMessage||f.message||"Unknown error"}`))}};y().request?(c=(a=y()).request)==null||c.call(a,o):y().httpRequest?(p=(u=y()).httpRequest)==null||p.call(u,o):i(new Error("No request method available in current miniapp environment"))})}return Ca(t,n)}const pc=30,dc=864e5,Ps="sentry_offline_store";function Ns(t){const e=t.offlineCacheLimit||pc,n=t.offlineCacheMaxAge||dc;return{push:r=>D(null,null,function*(){try{let s=Lt();for(s=Ft(s,n),s.push({envelope:r,timestamp:Date.now()});s.length>e;){const i=s.findIndex(o=>!hr(o.envelope));i>=0?s.splice(i,1):s.shift()}$t(s)}catch(s){console.warn("[sentry-miniapp] Failed to push to offline store",s)}}),unshift:r=>D(null,null,function*(){try{let s=Lt();for(s=Ft(s,n),s.unshift({envelope:r,timestamp:Date.now()});s.length>e;){const i=hc(s,o=>!hr(o.envelope));i>=0?s.splice(i,1):s.pop()}$t(s)}catch(s){console.warn("[sentry-miniapp] Failed to unshift to offline store",s)}}),shift:()=>D(null,null,function*(){try{let r=Lt();if(r=Ft(r,n),r.length===0)return;const s=r.shift();return $t(r),s==null?void 0:s.envelope}catch(r){console.warn("[sentry-miniapp] Failed to shift from offline store",r);return}})}}function hr(t){try{return(t[1]||[]).some(n=>{var s;const r=(s=n[0])==null?void 0:s.type;return r==="event"||r==="error"})}catch(e){return!0}}function Ft(t,e){const n=Date.now();return t.filter(r=>n-r.timestamp<e)}function hc(t,e){for(let n=t.length-1;n>=0;n--)if(e(t[n]))return n;return-1}function Lt(){try{const t=y().getStorageSync;if(t){const e=t(Ps);if(e){const n=typeof e=="string"?JSON.parse(e):e;if(Array.isArray(n)&&n.length>0)return n[0]&&"envelope"in n[0]&&"timestamp"in n[0]?n:n.map(r=>({envelope:r,timestamp:Date.now()}))}}}catch(t){}return[]}function $t(t){try{const e=y().setStorageSync;e&&e(Ps,JSON.stringify(t))}catch(e){}}const _c=Object.freeze(Object.defineProperty({__proto__:null,createMiniappOfflineStore:Ns,createMiniappTransport:Cs},Symbol.toStringTag,{value:"Module"}));class xs extends $a{constructor(e={}){super(E(l({},e),{transport:e.transport||(n=>{const r=Cs(E(l({},n),{headers:{}}));return e.enableOfflineCache!==!1?Ga(()=>r)(E(l({},n),{createStore:s=>Ns(E(l({},s),{offlineCacheLimit:e.offlineCacheLimit,offlineCacheMaxAge:e.offlineCacheMaxAge})),flushAtStartup:!0})):r})}))}eventFromException(e){const n={type:e.name||"Error",value:e.message||String(e)};if(e.stack){const r=this.getOptions().stackParser;if(r&&typeof r=="function"){const s=r(e.stack,1);s.length&&(n.stacktrace={frames:s})}}return Promise.resolve({exception:{values:[n]},level:"error"})}eventFromMessage(e,n="info"){return Promise.resolve({message:e,level:n})}_prepareEvent(e,n,r){if(e.platform=e.platform||this.getOptions().platform||"javascript",e.sdk=E(l({},e.sdk),{name:Ts,packages:[...e.sdk&&e.sdk.packages||[],{name:"npm:@sentry/miniapp",version:Fe}],version:Fe}),e.contexts||(e.contexts={}),e.contexts.miniapp={platform:As(),sdk_version:Fe},this.getOptions().enableSystemInfo!==!1){const s=se();s?(e.contexts.device={brand:s.brand||"unknown",model:s.model||"unknown",screen_resolution:`${s.screenWidth||0}x${s.screenHeight||0}`,language:s.language||"unknown",version:s.version||"unknown",system:s.system||"unknown",platform:s.platform||"unknown"},e.contexts.os={name:s.system||"unknown",version:s.version||"unknown"},e.contexts.app={app_version:s.SDKVersion||"unknown"}):(e.contexts.device={brand:"unknown",model:"unknown",screen_resolution:"0x0",language:"unknown",version:"unknown",system:"unknown",platform:"unknown"},e.contexts.os={name:"unknown",version:"unknown"},e.contexts.app={app_version:"unknown"})}try{const s=r||S(),i=A();return super._prepareEvent(e,n||{},s,i)}catch(s){return Promise.resolve(e)}}close(e){const n=this._integrations;if(n&&typeof n=="object")for(const r of Object.keys(n)){const s=n[r];if(s&&typeof s.cleanup=="function")try{s.cleanup()}catch(i){}}return super.close(e)}showReportDialog(e={}){console.warn("[sentry-miniapp] showReportDialog is deprecated and does nothing. Please build your own UI and use `Sentry.captureFeedback()` instead.")}captureFeedback(e){const n={contexts:{feedback:{contact_email:e.email,name:e.name,message:e.message,url:e.url,source:e.source,associated_event_id:e.associatedEventId}},type:"feedback",level:"info",tags:e.tags||{}};return S().captureEvent(n)}}const et=class et{constructor(e){this.name=et.id,this._onErrorHandlerInstalled=!1,this._onUnhandledRejectionHandlerInstalled=!1,this._onPageNotFoundHandlerInstalled=!1,this._onMemoryWarningHandlerInstalled=!1,this._errorHandler=null,this._rejectionHandler=null,this._pageNotFoundHandler=null,this._memoryWarningHandler=null,this._options=l({onerror:!0,onunhandledrejection:!0,onpagenotfound:!0,onmemorywarning:!0},e)}setupOnce(){Error.stackTraceLimit=50,this._options.onerror&&this._installGlobalOnErrorHandler(),this._options.onunhandledrejection&&this._installGlobalOnUnhandledRejectionHandler(),this._options.onpagenotfound&&this._installGlobalOnPageNotFoundHandler(),this._options.onmemorywarning&&this._installGlobalOnMemoryWarningHandler()}_installGlobalOnErrorHandler(){var e,n;this._onErrorHandlerInstalled||(y().onError&&(this._errorHandler=r=>{const s=typeof r=="string"?new Error(r):r;Z(s,{mechanism:{type:"onerror",handled:!1}})},(n=(e=y()).onError)==null||n.call(e,this._errorHandler)),this._onErrorHandlerInstalled=!0)}_installGlobalOnUnhandledRejectionHandler(){var e,n;this._onUnhandledRejectionHandlerInstalled||(y().onUnhandledRejection&&(this._rejectionHandler=({reason:r,promise:s})=>{const i=typeof r=="string"?new Error(r):r;Z(i,{mechanism:{type:"onunhandledrejection",handled:!1},data:{promise:s}})},(n=(e=y()).onUnhandledRejection)==null||n.call(e,this._rejectionHandler)),this._onUnhandledRejectionHandlerInstalled=!0)}_installGlobalOnPageNotFoundHandler(){var e,n;this._onPageNotFoundHandlerInstalled||(y().onPageNotFound&&(this._pageNotFoundHandler=r=>{const s=S(),i=r.path.split("?")[0];s.setTag("pagenotfound",i),s.setContext("page_not_found",{path:r.path,query:r.query,isEntryPage:r.isEntryPage}),Z(new Error(`页面无法找到: ${i}`),{mechanism:{type:"onpagenotfound",handled:!0}})},(n=(e=y()).onPageNotFound)==null||n.call(e,this._pageNotFoundHandler)),this._onPageNotFoundHandlerInstalled=!0)}_installGlobalOnMemoryWarningHandler(){var e,n;this._onMemoryWarningHandlerInstalled||(y().onMemoryWarning&&(this._memoryWarningHandler=({level:r=-1})=>{let s="没有获取到告警级别信息";switch(r){case 5:s="TRIM_MEMORY_RUNNING_MODERATE";break;case 10:s="TRIM_MEMORY_RUNNING_LOW";break;case 15:s="TRIM_MEMORY_RUNNING_CRITICAL";break;default:return}const i=S();i.setTag("memory-warning",String(r)),i.setContext("memory_warning",{level:r,message:s}),Z(new Error("内存不足告警"),{mechanism:{type:"onmemorywarning",handled:!0}})},(n=(e=y()).onMemoryWarning)==null||n.call(e,this._memoryWarningHandler)),this._onMemoryWarningHandlerInstalled=!0)}cleanup(){try{const e=y();this._errorHandler&&e.offError&&e.offError(this._errorHandler),this._rejectionHandler&&e.offUnhandledRejection&&e.offUnhandledRejection(this._rejectionHandler),this._pageNotFoundHandler&&e.offPageNotFound&&e.offPageNotFound(this._pageNotFoundHandler),this._memoryWarningHandler&&e.offMemoryWarning&&e.offMemoryWarning(this._memoryWarningHandler)}catch(e){}this._errorHandler=null,this._rejectionHandler=null,this._pageNotFoundHandler=null,this._memoryWarningHandler=null,this._onErrorHandlerInstalled=!1,this._onUnhandledRejectionHandlerInstalled=!1,this._onPageNotFoundHandlerInstalled=!1,this._onMemoryWarningHandlerInstalled=!1}};et.id="GlobalHandlers";let qe=et;function _r(t,e={},n){if(typeof t!="function")return t;try{if(t.__sentry__)return t;if(t.__sentry_wrapped__)return t.__sentry_wrapped__}catch(s){return t}const r=function(...s){try{return t.apply(this,s)}catch(i){throw S().addEventProcessor(a=>{const c=l({},a);return e.mechanism&&(c.exception=c.exception||{},c.exception.mechanism=e.mechanism),c.extra=E(l({},c.extra),{arguments:s}),c}),Z(i),i}};try{for(const s in t)Object.prototype.hasOwnProperty.call(t,s)&&(r[s]=t[s])}catch(s){}t.prototype=t.prototype||{},r.prototype=t.prototype,Object.defineProperty(t,"__sentry_wrapped__",{enumerable:!1,value:r}),Object.defineProperties(r,{__sentry__:{enumerable:!1,value:!0},__sentry_original__:{enumerable:!1,value:t}});try{Object.getOwnPropertyDescriptor(r,"name").configurable&&Object.defineProperty(r,"name",{get(){return t.name}})}catch(s){}return r}function mr(t){try{return t&&t.name||"<anonymous>"}catch(e){return"<anonymous>"}}function be(t,e,n){if(!(e in t))return;const r=t[e],s=n(r);if(typeof s=="function")try{s.prototype=s.prototype||{},s.prototype.constructor=s}catch(i){}t[e]=s}const nt=class nt{constructor(){this.name=nt.id}_wrapTimeFunction(e){return function(...n){const r=n[0];return n[0]=_r(r,{mechanism:{data:{function:mr(e)},handled:!0,type:"instrument"}}),e.apply(this,n)}}_wrapRAF(e){return function(n){return e(_r(n,{mechanism:{data:{function:"requestAnimationFrame",handler:mr(e)},handled:!0,type:"instrument"}}))}}setupOnce(){const e=globalThis;e.setTimeout&&be(e,"setTimeout",this._wrapTimeFunction.bind(this)),e.setInterval&&be(e,"setInterval",this._wrapTimeFunction.bind(this)),e.requestAnimationFrame&&be(e,"requestAnimationFrame",this._wrapRAF.bind(this))}};nt.id="TryCatch";let We=nt;const mc="cause",gc=5,rt=class rt{constructor(e={}){this.name=rt.id,this._key=e.key||mc,this._limit=e.limit||gc}setupOnce(){}processEvent(e,n){return S().getClient()?this._handler(e,n):e}_handler(e,n){if(!e.exception||!e.exception.values||!n||!gr(n.originalException,Error))return e;const r=this._walkErrorTree(n.originalException,this._key);return e.exception.values=[...r,...e.exception.values],e}_walkErrorTree(e,n,r=[]){if(!gr(e[n],Error)||r.length+1>=this._limit)return r;const s=ec(()=>[],e[n]);return this._walkErrorTree(e[n],n,[s,...r])}};rt.id="LinkedErrors";let Ge=rt;function gr(t,e){try{return t instanceof e}catch(n){return!1}}const st=class st{constructor(){this.name=st.id}setupOnce(){}processEvent(e){const n=S(),r={runtime:{name:"miniapp",version:this._getMiniappVersion()},app:{name:this._getAppName(),version:this._getAppVersion()},device:this._getDeviceInfo(),network:this._getNetworkInfo()};return n.setContext("runtime",r.runtime),n.setContext("app",r.app),n.setContext("device",r.device),n.setContext("network",r.network),e}_getMiniappVersion(){const e=se();return(e==null?void 0:e.version)||(e==null?void 0:e.SDKVersion)||"unknown"}_getAppName(){var e,n,r;try{if(y().getAccountInfoSync)return((r=((n=(e=y()).getAccountInfoSync)==null?void 0:n.call(e)).miniProgram)==null?void 0:r.appId)||"unknown"}catch(s){}return"unknown"}_getAppVersion(){var e,n,r;try{if(y().getAccountInfoSync){const s=(n=(e=y()).getAccountInfoSync)==null?void 0:n.call(e);return((r=s==null?void 0:s.miniProgram)==null?void 0:r.version)||"unknown"}}catch(s){}return"unknown"}_getDeviceInfo(){const e=se();return e?{brand:e.brand,model:e.model,system:e.system,platform:e.platform,screenWidth:e.screenWidth,screenHeight:e.screenHeight,windowWidth:e.windowWidth,windowHeight:e.windowHeight,pixelRatio:e.pixelRatio,language:e.language}:{}}_getNetworkInfo(){try{y().getNetworkType&&y().getNetworkType({success:e=>{const n=S();n.setTag("network.type",e.networkType),n.setContext("network",{type:e.networkType})}})}catch(e){}return{}}};st.id="HttpContext";let Ke=st;const it=class it{constructor(e={}){this.name=it.id,this._fuzzyMatch=!!e.fuzzyMatch}setupOnce(){}processEvent(e,n){if(e.type)return e;try{if(this._shouldDropEvent(e,this._previousEvent))return null}catch(r){return this._previousEvent=this._cloneEventForComparison(e),e}return this._previousEvent=this._cloneEventForComparison(e),e}_shouldDropEvent(e,n){return n?!!(this._isSameMessageEvent(e,n)||this._isSameExceptionEvent(e,n)):!1}_isSameMessageEvent(e,n){const r=e.message,s=n.message;return!(!r&&!s||r&&!s||!r&&s||r!==s||!this._isSameFingerprint(e,n)||!this._isSameStacktrace(e,n))}_isSameExceptionEvent(e,n){const r=this._getExceptionFromEvent(e),s=this._getExceptionFromEvent(n);if(!r||!s||r.type!==s.type)return!1;if(this._fuzzyMatch){if(!yc(r.value,s.value))return!1}else if(r.value!==s.value)return!1;return!(!this._isSameFingerprint(e,n)||!this._isSameStacktrace(e,n))}_isSameStacktrace(e,n){let r=this._getFramesFromEvent(e),s=this._getFramesFromEvent(n);if(!r&&!s)return!0;if(r&&!s||!r&&s||(r=r,s=s,s.length!==r.length))return!1;for(let i=0;i<s.length;i++){const o=s[i],a=r[i];if(o.filename!==a.filename||o.lineno!==a.lineno||o.colno!==a.colno||o.function!==a.function)return!1}return!0}_isSameFingerprint(e,n){let r=e.fingerprint,s=n.fingerprint;if(!r&&!s)return!0;if(r&&!s||!r&&s)return!1;r=r,s=s;try{return r.join("")===s.join("")}catch(i){return!1}}_getExceptionFromEvent(e){return e.exception&&e.exception.values&&e.exception.values[0]}_cloneEventForComparison(e){var n;return{message:e.message,fingerprint:e.fingerprint?[...e.fingerprint]:void 0,exception:e.exception?{values:(n=e.exception.values)==null?void 0:n.map(r=>{var s;return{type:r.type,value:r.value,stacktrace:r.stacktrace?{frames:(s=r.stacktrace.frames)==null?void 0:s.map(i=>l({},i))}:void 0}})}:void 0}}_getFramesFromEvent(e){const n=e.exception;if(n)try{return n.values[0].stacktrace.frames}catch(r){}}};it.id="Dedupe";let Ve=it;const yr=/\d{10,}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}|\d{4}-\d{2}-\d{2}T\d{2}:\d{2}/g;function yc(t,e){if(t===e)return!0;if(!t||!e)return!1;const n=t.replace(yr,"<dynamic>"),r=e.replace(yr,"<dynamic>");return n===r}const ot=class ot{constructor(){this.name=ot.id}setupOnce(){this._addSystemContext(),this._addNetworkContext(),this._addLocationContext(),this._addStorageContext(),this._checkAppUpdate()}_addSystemContext(){var e,n,r,s;try{const i=se();if(i){const o=S();o.setContext("device",{name:i.model,model:i.model,brand:i.brand,family:i.platform,arch:i.platform}),o.setContext("os",{name:((e=i.system)==null?void 0:e.split(" ")[0])||"unknown",version:((n=i.system)==null?void 0:n.split(" ")[1])||"unknown",kernel_version:i.version}),o.setContext("app",{app_name:i.appName||"unknown",app_version:i.version}),o.setContext("screen",{screen_width:i.screenWidth,screen_height:i.screenHeight,screen_density:i.pixelRatio}),o.setTag("device.model",i.model),o.setTag("device.brand",i.brand),o.setTag("os.name",((r=i.system)==null?void 0:r.split(" ")[0])||"unknown"),o.setTag("os.version",((s=i.system)==null?void 0:s.split(" ")[1])||"unknown"),o.setTag("app.version",i.version),o.setTag("language",i.language)}}catch(i){}}_addNetworkContext(){try{y().getNetworkType&&y().getNetworkType({success:e=>{const n=S();n.setContext("network",{type:e.networkType,connected:e.isConnected!==!1}),n.setTag("network.type",e.networkType)},fail:()=>{}})}catch(e){}}_addLocationContext(){try{y().getLocation&&y().getLocation({type:"gcj02",success:e=>{S().setContext("location",{latitude:e.latitude,longitude:e.longitude,accuracy:e.accuracy})},fail:()=>{}})}catch(e){}}_addStorageContext(){try{const e=y();if(e&&typeof e.getStorageInfoSync=="function"){const n=e.getStorageInfoSync();if(n){const r=n.currentSize||0,s=n.limitSize||0,i=s>0?Math.round(r/s*100):0;S().setContext("storage",{currentSize:r,limitSize:s,usagePercent:i}),i>=80&&I({category:"storage.warning",message:`存储使用率 ${i}%(${r}KB / ${s}KB)`,level:"warning",data:{currentSize:r,limitSize:s,usagePercent:i}})}}}catch(e){}}_checkAppUpdate(){try{const e=y();if(e&&typeof e.getUpdateManager=="function"){const n=e.getUpdateManager();n&&(typeof n.onCheckForUpdate=="function"&&n.onCheckForUpdate(r=>{r&&r.hasUpdate&&(S().setTag("has_update","true"),I({category:"app.update",message:"检测到新版本可用",level:"info",data:{hasUpdate:!0}}))}),typeof n.onUpdateReady=="function"&&n.onUpdateReady(()=>{I({category:"app.update",message:"新版本已下载完成",level:"info",data:{updateReady:!0}})}))}}catch(e){}}};ot.id="System";let nn=ot;const at=class at{constructor(){this.name=at.id,this._lastRoute="",this._monitorTimer=null}setupOnce(){this._instrumentNavigation(),this._startRouteMonitoring()}_instrumentNavigation(){let e;try{e=y()}catch(r){return}const n=["navigateTo","redirectTo","switchTab","reLaunch"];for(const r of n)if(e[r]){const s=e[r];e[r]=i=>(this._recordNavigation(r,i.url,this._getCurrentRoute()),s.call(e,i))}if(e.navigateBack){const r=e.navigateBack;e.navigateBack=(s={})=>(this._recordNavigation("navigateBack","back",this._getCurrentRoute(),s.delta),r.call(e,s))}}_startRouteMonitoring(){this._monitorTimer=setInterval(()=>{const e=this._getCurrentRoute();e&&e!==this._lastRoute&&(this._recordRouteChange(this._lastRoute,e),this._lastRoute=e)},1e3)}cleanup(){this._monitorTimer&&(clearInterval(this._monitorTimer),this._monitorTimer=null)}_getCurrentRoute(){try{const e=globalThis;if(e.getCurrentPages){const n=e.getCurrentPages();if(n&&n.length>0){const r=n[n.length-1];return r.route||r.__route__||""}}}catch(e){}return""}_recordNavigation(e,n,r,s){const i=S();I({category:"navigation",data:{action:e,from:r,to:n,delta:s},message:`Navigation ${e}: ${r} -> ${n}`,type:"navigation"}),i.setTag("route",n==="back"?r:n),i.setContext("navigation",{action:e,from:r,to:n,delta:s,timestamp:Date.now()})}_recordRouteChange(e,n){const r=S();I({category:"navigation",data:{from:e,to:n},message:`Route changed: ${e} -> ${n}`,type:"navigation"}),r.setTag("route",n),r.setContext("route",{current:n,previous:e,timestamp:Date.now()})}};at.id="Router";let rn=at;const ct=class ct{constructor(e={}){this.name=ct.id,this._performanceManager=null,this._observers=[],this._entryBuffer=[],this._reportTimer=null,this._options=E(l({enableNavigation:!0,enableRender:!0,enableResource:!0,enableUserTiming:!1,sampleRate:1,bufferSize:100,reportInterval:3e4,enableMemory:!1},e),{thresholds:l({navigation:3e3,render:1e3,resource:2e3,setData:50},e==null?void 0:e.thresholds)})}setupOnce(){this._initializePerformanceManager(),this._setupPerformanceObservers(),this._startAutoReporting(),this._addPerformanceContext()}_initializePerformanceManager(){try{if(this._performanceManager=Rs(),!this._performanceManager){console.warn("[sentry-miniapp] Performance API not available");return}const e=S();e.setTag("performance.api.available",!0),e.setContext("performance",{api_version:"miniapp-1.0",sample_rate:this._options.sampleRate,buffer_size:this._options.bufferSize})}catch(e){console.warn("[sentry-miniapp] Failed to initialize performance manager:",e)}}_setupPerformanceObservers(){if(this._performanceManager)try{const e=[];this._options.enableNavigation&&e.push("navigation"),this._options.enableRender&&e.push("render"),this._options.enableResource&&e.push("resource");let n=this._options.enableUserTiming;if(n)try{const i=se();if(i&&i.platform==="devtools"&&(n=!1),n){const a=(typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:{}).PerformanceObserver,c=a&&Array.isArray(a.supportedEntryTypes)?a.supportedEntryTypes:void 0;(!c||!c.includes("measure")||!c.includes("mark"))&&(n=!1)}}catch(i){n=!1}if(n&&e.push("measure","mark"),e.length===0)return;const r=this._performanceManager.createObserver(i=>{this._handlePerformanceEntries(i)});try{r.observe({entryTypes:e})}catch(i){const o=e.filter(a=>a!=="measure"&&a!=="mark");if(o.length<e.length&&o.length>0)r.observe({entryTypes:o}),console.warn("[sentry-miniapp] Failed to observe all types, falling back to:",o),e.length=0,e.push(...o);else throw i}this._observers.push(r);const s=typeof globalThis!="undefined"?globalThis.process:void 0;s&&s.env&&s.env.NODE_ENV!=="production"&&console.log("[sentry-miniapp] Performance observers setup for:",e)}catch(e){console.warn("[sentry-miniapp] Failed to setup performance observers:",e)}}_handlePerformanceEntries(e){if(!e)return;let n;if(Array.isArray(e))n=e;else if(typeof e=="object"&&e.getEntries)n=e.getEntries();else if(typeof e=="object")n=[e];else{console.warn("[sentry-miniapp] Invalid entries format:",typeof e);return}n.length!==0&&(Math.random()>this._options.sampleRate||n.forEach(r=>{try{this._processPerformanceEntry(r),this._addToBuffer(r)}catch(s){console.warn("[sentry-miniapp] Failed to process performance entry:",s)}}))}_processPerformanceEntry(e){switch(e.entryType){case"navigation":this._processNavigationEntry(e);break;case"render":this._processRenderEntry(e);break;case"resource":this._processResourceEntry(e);break;case"measure":case"mark":this._processUserTimingEntry(e);break;default:console.log("[sentry-miniapp] Unknown entry type:",e.entryType)}}_processNavigationEntry(e){S().addBreadcrumb({message:`页面导航: ${e.name}`,category:"performance.navigation",level:"info",data:{duration:e.duration,appLaunchTime:e.appLaunchTime,pageReadyTime:e.pageReadyTime}}),_e({name:`Navigation: ${e.name}`,op:"navigation",startTime:e.startTime/1e3},r=>{r.setAttributes({"navigation.name":e.name,"navigation.duration":e.duration,"navigation.app_launch_time":e.appLaunchTime||0,"navigation.page_ready_time":e.pageReadyTime||0,"navigation.first_render_time":e.firstRenderTime||0}),r.end((e.startTime+e.duration)/1e3)})}_processRenderEntry(e){var r,s;_e({name:`Render: ${e.name}`,op:"render",startTime:e.startTime/1e3},i=>{i.setAttributes({"render.name":e.name,"render.duration":e.duration,"render.start":e.renderStart||0,"render.end":e.renderEnd||0,"render.script_start":e.scriptStart||0,"render.script_end":e.scriptEnd||0}),i.end((e.startTime+e.duration)/1e3)});const n=(s=(r=this._options.thresholds)==null?void 0:r.setData)!=null?s:50;e.duration>n&&S().addBreadcrumb({message:`慢渲染检测: ${e.name} (${e.duration.toFixed(1)}ms)`,category:"performance.setData.slow",level:"warning",data:{name:e.name,duration:e.duration,threshold:n,renderStart:e.renderStart,renderEnd:e.renderEnd,scriptStart:e.scriptStart,scriptEnd:e.scriptEnd}})}_processResourceEntry(e){_e({name:`Resource: ${e.name}`,op:"resource",startTime:e.startTime/1e3},n=>{n.setAttributes({"resource.name":e.name,"resource.duration":e.duration,"resource.type":e.initiatorType||"unknown","resource.transfer_size":e.transferSize||0,"resource.encoded_size":e.encodedBodySize||0,"resource.decoded_size":e.decodedBodySize||0}),e.fetchStart&&e.responseEnd&&n.setAttributes({"resource.fetch_start":e.fetchStart,"resource.response_end":e.responseEnd,"resource.network_time":e.responseEnd-e.fetchStart}),n.end((e.startTime+e.duration)/1e3)})}_processUserTimingEntry(e){e.entryType==="measure"?_e({name:`Measure: ${e.name}`,op:"measure",startTime:e.startTime/1e3},n=>{n.setAttributes({"measure.name":e.name,"measure.duration":e.duration,"measure.detail":e.detail?JSON.stringify(e.detail):void 0}),n.end((e.startTime+e.duration)/1e3)}):e.entryType==="mark"&&S().addBreadcrumb({message:`性能标记: ${e.name}`,category:"performance.mark",level:"info",data:{timestamp:e.startTime,detail:e.detail}})}_addToBuffer(e){for(this._entryBuffer.push(e);this._entryBuffer.length>this._options.bufferSize;)this._entryBuffer.shift()}_startAutoReporting(){this._options.reportInterval<=0||(this._reportTimer=setInterval(()=>{this._reportBufferedEntries()},this._options.reportInterval))}_reportBufferedEntries(){if(this._entryBuffer.length!==0)try{const e=S(),n=this._calculatePerformanceStats(),r=this._collectMemoryInfo();r&&(n.memory=r),e.setContext("performance_summary",l({total_entries:this._entryBuffer.length,navigation_count:this._entryBuffer.filter(s=>s.entryType==="navigation").length,render_count:this._entryBuffer.filter(s=>s.entryType==="render").length,resource_count:this._entryBuffer.filter(s=>s.entryType==="resource").length,measure_count:this._entryBuffer.filter(s=>s.entryType==="measure").length,mark_count:this._entryBuffer.filter(s=>s.entryType==="mark").length,report_time:new Date().toISOString()},n)),this._checkPerformanceThresholds(n),this._reportToNativeAPI(),this._entryBuffer=[]}catch(e){console.warn("[sentry-miniapp] Failed to report buffered entries:",e)}}_calculatePerformanceStats(){const e=this._entryBuffer.filter(i=>i.entryType==="navigation"),n=this._entryBuffer.filter(i=>i.entryType==="render"),r=this._entryBuffer.filter(i=>i.entryType==="resource"),s={};if(e.length>0){const i=e.map(o=>o.duration);s.navigation_stats={avg_duration:i.reduce((o,a)=>o+a,0)/i.length,max_duration:Math.max(...i),min_duration:Math.min(...i)}}if(n.length>0){const i=n.map(a=>a.duration);s.render_stats={avg_duration:i.reduce((a,c)=>a+c,0)/i.length,max_duration:Math.max(...i),min_duration:Math.min(...i)};const o=n.filter(a=>{var c,u;return a.duration>((u=(c=this._options.thresholds)==null?void 0:c.setData)!=null?u:50)});s.render_stats.slow_render_count=o.length,s.render_stats.slow_render_ratio=o.length/n.length}if(r.length>0){const i=r.map(a=>a.duration),o=r.map(a=>a.transferSize||0).filter(a=>a>0);s.resource_stats={avg_load_time:i.reduce((a,c)=>a+c,0)/i.length,max_load_time:Math.max(...i),total_transfer_size:o.reduce((a,c)=>a+c,0),avg_transfer_size:o.length>0?o.reduce((a,c)=>a+c,0)/o.length:0}}return s}_checkPerformanceThresholds(e){var o,a,c,u,p,f,h,d,_;const n=S(),r=(a=(o=this._options.thresholds)==null?void 0:o.navigation)!=null?a:3e3;((c=e.navigation_stats)==null?void 0:c.avg_duration)>r&&n.addBreadcrumb({message:"页面导航性能较慢",category:"performance.warning",level:"warning",data:{avg_duration:e.navigation_stats.avg_duration,threshold:r}});const s=(p=(u=this._options.thresholds)==null?void 0:u.render)!=null?p:1e3;((f=e.render_stats)==null?void 0:f.avg_duration)>s&&n.addBreadcrumb({message:"页面渲染性能较慢",category:"performance.warning",level:"warning",data:{avg_duration:e.render_stats.avg_duration,threshold:s}});const i=(d=(h=this._options.thresholds)==null?void 0:h.resource)!=null?d:2e3;((_=e.resource_stats)==null?void 0:_.avg_load_time)>i&&n.addBreadcrumb({message:"资源加载性能较慢",category:"performance.warning",level:"warning",data:{avg_load_time:e.resource_stats.avg_load_time,threshold:i}})}_reportToNativeAPI(){try{const e=y();if(e.reportPerformance&&this._entryBuffer.length>0){const n={entries:this._entryBuffer.map(r=>({name:r.name,entryType:r.entryType,startTime:r.startTime,duration:r.duration})),timestamp:Date.now(),sampleRate:this._options.sampleRate};e.reportPerformance(n)}}catch(e){console.warn("[sentry-miniapp] Failed to report to native API:",e)}}_collectMemoryInfo(){if(!this._options.enableMemory)return null;try{const e=y();if(e.getPerformance){const n=e.getPerformance();if(n&&n.memory)return{jsHeapSizeUsed:n.memory.jsHeapSizeUsed,jsHeapSizeLimit:n.memory.jsHeapSizeLimit}}}catch(e){}return null}_addPerformanceContext(){try{const e=S(),n=y(),r=!!n.getPerformance,s=!!n.reportPerformance;e.setContext("performance_support",{has_performance_api:r,has_report_api:s,integration_enabled:!0,options:this._options}),e.setTag("performance.integration","enabled")}catch(e){console.warn("[sentry-miniapp] Failed to add performance context:",e)}}cleanup(){this._observers.forEach(e=>{try{e.disconnect()}catch(n){console.warn("[sentry-miniapp] Failed to disconnect observer:",n)}}),this._observers=[],this._reportTimer&&(clearInterval(this._reportTimer),this._reportTimer=null),this._reportBufferedEntries()}};ct.id="PerformanceAPI";let Ye=ct;const vn=t=>()=>new Ye(t),ut=class ut{constructor(e={}){this.name=ut.id,this._prefix=e.prefix||"app:///"}setupOnce(){}processEvent(e){return e.exception&&e.exception.values&&e.exception.values.forEach(n=>{n.stacktrace&&n.stacktrace.frames&&n.stacktrace.frames.forEach(r=>{r.filename&&(r.filename=this._normalizeFilename(r.filename))})}),e}_normalizeFilename(e){let n=e;return n=n.replace(/^(appservice|app-service|WAService)\//i,"").replace(/^https?:\/\/[^/]+\//i,"").replace(/^[a-z]+:\/\//i,"").replace(/^\//,""),n.startsWith(this._prefix)?n:`${this._prefix}${n}`}};ut.id="RewriteFrames";let Je=ut;const lt=class lt{constructor(e={}){this.name=lt.id,this._originalRequest=null,this._originalHttpRequest=null,this._traceNetworkBody=!!e.traceNetworkBody,this._sensitiveKeys=(e.sensitiveKeys||["password","passwd","secret","token","access_token","refresh_token","authorization","cookie","session","creditcard","credit_card","card_number","cvv","ssn","id_card"]).map(n=>n.toLowerCase()),this._denyUrls=(e.denyBodyUrls||[]).map(n=>typeof n=="string"?new RegExp(n):n),this._enableTracePropagation=e.enableTracePropagation!==!1,this._tracePropagationTargets=e.tracePropagationTargets||[]}setupOnce(){const e=y();e&&typeof e.request=="function"&&(this._originalRequest=e.request,be(e,"request",this._createRequestWrapper.bind(this))),e&&typeof e.httpRequest=="function"&&(this._originalHttpRequest=e.httpRequest,be(e,"httpRequest",this._createRequestWrapper.bind(this)))}cleanup(){const e=y();e&&(this._originalRequest&&typeof e.request=="function"&&(e.request=this._originalRequest),this._originalHttpRequest&&typeof e.httpRequest=="function"&&(e.httpRequest=this._originalHttpRequest)),this._originalRequest=null,this._originalHttpRequest=null}_createRequestWrapper(e){const n=this._traceNetworkBody,r=this._sanitizeBody.bind(this),s=this._shouldDenyBodyUrl.bind(this),i=this._enableTracePropagation,o=this._shouldPropagateTrace.bind(this);return function(a){if(!a||typeof a!="object")return e.call(this,a);const c=Ic(a.url),u=k();let p="";if(u){const v=u.getOptions().dsn;if(v)try{const R=v.match(/^(?:https?:\/\/)?(?:[^@\n]+@)?([^:/\n]+)/i);R&&R[1]&&(p=R[1])}catch(R){}}const f=c.match(/^https?:\/\/([^:/\n]+)/i),h=f&&f[1]?f[1]:"";if(p&&h===p||h==="sentry.io"||h.endsWith(".sentry.io"))return e.call(this,a);const _=kc(a.method),b=a.data,T=Date.now(),w=Sc(_,c);let j=!1;const F=v=>{j||(j=!0,wc(w,v))};i&&o(c)&&vc(a,w);const x={url:c,method:_};if(n&&b&&!s(c))try{const v=typeof b=="string"?b:JSON.stringify(b);x.request_body=r(v),x.request_size=v.length}catch(v){x.request_body="[Cannot serialize request body]"}const In=a.success,kn=a.fail,An=a.complete;a.success=function(...v){const R=v[0]||{},B=Sr(R),pe=Date.now()-T;if(x.status_code=B,x.duration=pe,F({statusCode:B,status:Ht(B)?"error":"ok"}),n&&R.data&&!s(c))try{const wt=typeof R.data=="string"?R.data:JSON.stringify(R.data);x.response_body=r(wt),x.response_size=wt.length}catch(wt){x.response_body="[Cannot serialize response body]"}const Ms=Ht(B)||pe>3e3?"warning":"info";if(I({type:"http",category:"xhr",data:x,level:Ms}),typeof In=="function")return In.apply(this,v)},a.fail=function(...v){const R=v[0]||{},B=Date.now()-T,pe=R.errMsg||R.errorMessage||"Network request failed";if(x.error=pe,x.duration=B,F({status:"error",errorMessage:pe}),I({type:"http",category:"xhr",data:x,level:"error"}),typeof kn=="function")return kn.apply(this,v)},a.complete=function(...v){const R=v[0]||{},B=Sr(R);if(F({statusCode:B,status:Ht(B)?"error":"ok"}),typeof An=="function")return An.apply(this,v)};try{return e.call(this,a)}catch(v){throw F({status:"error",errorMessage:v instanceof Error?v.message:String(v)}),v}}}_shouldPropagateTrace(e){return this._tracePropagationTargets.length===0?!0:this._tracePropagationTargets.some(n=>{if(typeof n=="string")return e.includes(n);n.lastIndex=0;const r=n.test(e);return n.lastIndex=0,r})}_shouldDenyBodyUrl(e){return this._denyUrls.some(n=>n.test(e))}_sanitizeBody(e){if(this._sensitiveKeys.length===0)return e;try{const n=JSON.parse(e);if(typeof n=="object"&&n!==null)return this._sanitizeObject(n),JSON.stringify(n)}catch(n){for(const r of this._sensitiveKeys){const s=new RegExp(`(${r})=[^&]*`,"gi");e=e.replace(s,"$1=[Filtered]")}}return e}_sanitizeObject(e){for(const n of Object.keys(e))this._sensitiveKeys.includes(n.toLowerCase())?e[n]="[Filtered]":typeof e[n]=="object"&&e[n]!==null&&this._sanitizeObject(e[n])}};lt.id="NetworkBreadcrumbs";let Xe=lt;function Sc(t,e){try{const n=Rc(e);return Tt({name:`${t} ${bc(e)}`,op:"http.client",kind:2,attributes:{"http.request.method":t,"url.full":e,"server.address":n||void 0}})}catch(n){return null}}function bc(t){return t.startsWith("data:")?Tc(t):Ec(t).replace(/^([a-z][a-z0-9+.-]*:\/\/)([^/?#@]+@)/i,"$1[filtered]:[filtered]@")}function Ec(t){const e=t.split(/[?#]/,1)[0];return e===void 0?t:e}function Tc(t){const e=t.match(/^data:([^;,]+)/);return`data:${e&&e[1]?e[1]:"text/plain"}`}function vc(t,e){if(e)try{const n=Ka({span:e}),r=n["sentry-trace"];if(!r)return;const s=l(l({},br(t.headers)?t.headers:{}),br(t.header)?t.header:{});s["sentry-trace"]||(s["sentry-trace"]=r),n.baggage&&(s.baggage=Ac(s.baggage,n.baggage)),t.header=s,t.headers=s}catch(n){}}function wc(t,e){if(t)try{const n=Ds(e.statusCode);n!==void 0?Ni(t,n):t.setStatus({code:e.status==="error"?C:bt,message:e.status==="error"?e.errorMessage||"error":"ok"}),e.errorMessage&&t.setAttribute("error.message",e.errorMessage),t.end()}catch(n){}}function Ic(t){return typeof t=="string"?t:t==null?"":String(t)}function kc(t){return typeof t=="string"&&t.trim()!==""?t.toUpperCase():"GET"}function Sr(t){if(!(!t||typeof t!="object"))return t.statusCode!==void 0&&t.statusCode!==null?t.statusCode:t.status}function Ht(t){const e=Ds(t);return e!==void 0&&e>=400}function br(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function Ac(t,e){const n=typeof t=="string"?t:Array.isArray(t)?t.filter(s=>typeof s=="string").join(","):"";return n?n.split(",").some(s=>s.trim().startsWith("sentry-"))?n:`${n},${e}`:e}function Ds(t){if(typeof t=="number"&&Number.isFinite(t))return t;if(typeof t=="string"&&t.trim()!==""){const e=Number(t);if(Number.isFinite(e))return e}}function Rc(t){try{const e=t.match(/^https?:\/\/([^:/\n]+)/i);return e&&e[1]?e[1]:""}catch(e){return""}}const Os=["onLoad","onShow","onHide","onUnload","onReady"],Cc=["onLaunch","onShow","onHide"];function Pc(t){return Os.includes(t)||t.startsWith("_")?!1:/^(on|handle|bind)[A-Z]/.test(t)||/[Tt]ap$/.test(t)||/[Cc]lick$/.test(t)||/[Cc]hange$/.test(t)||/[Ss]ubmit$/.test(t)||/[Ss]croll$/.test(t)||/[Ii]nput$/.test(t)}const ft=class ft{constructor(e={}){this.name=ft.id,this._originalPage=null,this._originalApp=null,this._launchTime=0,this._firstPageReady=!1,this._options=l({enableLifecycle:!0,enableUserInteraction:!0},e)}setupOnce(){this._wrapPage(),this._wrapApp()}_wrapPage(){const e=globalThis;if(typeof e.Page!="function")return;this._originalPage=e.Page;const n=e.Page,r=this._options,s=()=>this._firstPageReady,i=a=>{this._firstPageReady=a},o=()=>this._launchTime;e.Page=function(a){if(a&&typeof a=="object"){if(r.enableLifecycle){for(const c of Os)if(typeof a[c]=="function"){const u=a[c];a[c]=function(...p){const f=(this==null?void 0:this.route)||(this==null?void 0:this.__route__)||"unknown",h={action:c,page:f};if(c==="onLoad"&&p[0]&&typeof p[0]=="object"&&(h.query=p[0]),c==="onReady"&&!s()&&o()>0){i(!0);const d=Date.now()-o();h.coldStartDuration=d,$("startup",{coldStartDuration:d,firstPage:f})}return I({category:"page.lifecycle",message:`${c}: ${f}`,level:"info",data:h}),u.apply(this,p)}}}if(r.enableUserInteraction){for(const c of Object.keys(a))if(typeof a[c]=="function"&&Pc(c)){const u=a[c];a[c]=function(p,...f){const h=(this==null?void 0:this.route)||(this==null?void 0:this.__route__)||"unknown",d={handler:c,page:h};if(p&&typeof p=="object"&&(p.target&&(p.target.id&&(d.targetId=p.target.id),p.target.dataset&&(d.dataset=p.target.dataset)),p.type&&(d.eventType=p.type),p.detail&&(typeof p.detail.x=="number"&&(d.x=p.detail.x),typeof p.detail.y=="number"&&(d.y=p.detail.y)),p.touches&&p.touches.length>0)){const _=p.touches[0];_&&(d.touchX=_.pageX,d.touchY=_.pageY)}return I({category:"user.interaction",message:`${c} on ${h}`,level:"info",data:d}),u.apply(this,[p,...f])}}}}return n(a)}}_wrapApp(){const e=globalThis;if(typeof e.App!="function")return;this._originalApp=e.App;const n=e.App,r=this._options,s=i=>{this._launchTime=i};e.App=function(i){if(i&&typeof i=="object"&&r.enableLifecycle){for(const o of Cc)if(typeof i[o]=="function"){const a=i[o];i[o]=function(...c){return o==="onLaunch"&&s(Date.now()),I({category:"app.lifecycle",message:`App.${o}`,level:"info",data:{action:o}}),a.apply(this,c)}}}return n(i)}}cleanup(){const e=globalThis;this._originalPage&&(e.Page=this._originalPage,this._originalPage=null),this._originalApp&&(e.App=this._originalApp,this._originalApp=null)}};ft.id="PageBreadcrumbs";let ve=ft;const Nc=t=>new ve(t),xc=["debug","info","warn","error","log"],Dc={debug:"debug",info:"info",log:"info",warn:"warning",error:"error"},pt=class pt{constructor(e={}){this.name=pt.id,this._originalMethods={},this._levels=e.levels||[...xc]}setupOnce(){for(const e of this._levels){if(typeof console[e]!="function")continue;const n=console[e];this._originalMethods[e]=n,console[e]=function(...r){return I({category:"console",level:Dc[e],message:r.map(s=>{if(typeof s=="string")return s;try{return JSON.stringify(s)}catch(i){return String(s)}}).join(" ")}),n.apply(console,r)}}}cleanup(){for(const e of this._levels){const n=this._originalMethods[e];n&&(console[e]=n)}this._originalMethods={}}};pt.id="ConsoleBreadcrumbs";let we=pt;const Oc=t=>new we(t),dt=class dt{constructor(){this.name=dt.id,this._originalApp=null,this._isSessionActive=!1}setupOnce(){this._wrapApp()}_wrapApp(){const e=Er();if(!e||typeof e.App!="function")return;this._originalApp=e.App;const n=this._startSession.bind(this),r=this._endSession.bind(this),s=this._markSessionCrashed.bind(this),i=()=>this._isSessionActive,o=this._originalApp;e.App=function(a={}){const c=a.onLaunch,u=a.onShow,p=a.onHide,f=a.onError;return a.onLaunch=function(...h){if(n(),typeof c=="function")return c.apply(this,h)},a.onShow=function(...h){if(i()||n(),typeof u=="function")return u.apply(this,h)},a.onHide=function(...h){if(r(),typeof p=="function")return p.apply(this,h)},a.onError=function(...h){if(s(),typeof f=="function")return f.apply(this,h)},o.call(this,a)}}_startSession(){try{ls({ignoreDuration:!0}),Qt(),this._isSessionActive=!0}catch(e){}}_endSession(){try{vt(),Qt(),this._isSessionActive=!1}catch(e){}}_markSessionCrashed(){try{const n=S().getSession();n&&(n.status="crashed")}catch(e){}}cleanup(){const e=Er();e&&this._originalApp&&(e.App=this._originalApp),this._originalApp=null,this._isSessionActive=!1}};dt.id="Session";let Ze=dt;function Er(){if(typeof wx!="undefined")return wx;if(typeof my!="undefined")return my;if(typeof tt!="undefined")return tt;if(typeof dd!="undefined")return dd;if(typeof qq!="undefined")return qq;if(typeof swan!="undefined")return swan;if(typeof globalThis!="undefined")return globalThis}const ht=class ht{constructor(){this.name=ht.id,this._statusChangeHandler=null}setupOnce(){const e=y();if(e){if(typeof e.getNetworkType=="function")try{e.getNetworkType({success:n=>{const r=n.networkType||"unknown";$("network",{type:r,isConnected:r!=="none"})}})}catch(n){}typeof e.onNetworkStatusChange=="function"&&(this._statusChangeHandler=n=>{const r=n.networkType||"unknown",s=n.isConnected!==void 0?n.isConnected:r!=="none";$("network",{type:r,isConnected:s}),I({category:"network.change",message:`网络状态变化: ${r}`,level:s?"info":"warning",data:{networkType:r,isConnected:s}})},e.onNetworkStatusChange(this._statusChangeHandler))}}cleanup(){if(this._statusChangeHandler){const e=y();if(e&&typeof e.offNetworkStatusChange=="function")try{e.offNetworkStatusChange(this._statusChangeHandler)}catch(n){}this._statusChangeHandler=null}}};ht.id="NetworkStatus";let Qe=ht;const _t=class _t{constructor(){this.name=_t.id,this._initTs=Se(),this._initEpoch=tn(),this._showHandler=null,this._hideHandler=null,this._coldStartReported=!1,this._minigameContext={runtime:"minigame"}}setupOnce(){const e=y();if(e){if(typeof e.getLaunchOptionsSync=="function")try{const n=e.getLaunchOptionsSync()||{};this._minigameContext.scene=n.scene,this._minigameContext.path=n.path,this._minigameContext.query=n.query,$("minigame",l({},this._minigameContext)),I({category:"minigame.launch",message:"小游戏冷启动",level:"info",data:{scene:n.scene,path:n.path}})}catch(n){}this._measureColdStart(),typeof e.onShow=="function"&&(this._showHandler=n=>{I({category:"minigame.lifecycle",message:"小游戏 onShow(进入前台)",level:"info",data:{scene:n&&n.scene}})},e.onShow(this._showHandler)),typeof e.onHide=="function"&&(this._hideHandler=()=>{I({category:"minigame.lifecycle",message:"小游戏 onHide(退到后台)",level:"info"})},e.onHide(this._hideHandler))}}_measureColdStart(){const e=globalThis.requestAnimationFrame;typeof e=="function"&&e(()=>{if(this._coldStartReported)return;this._coldStartReported=!0;const n=Se(),r=Math.round(n-this._initTs);this._minigameContext.coldStartMs=r,$("minigame",l({},this._minigameContext)),I({category:"minigame.performance",message:`SDK 初始化到首帧耗时: ${r}ms`,level:"info",data:{coldStartMs:r}});const s=Tt({name:"minigame.coldstart",op:"app.start",forceTransaction:!0,startTime:this._initEpoch/1e3});s.setAttributes({"minigame.scene":this._minigameContext.scene,"minigame.path":this._minigameContext.path,"minigame.cold_start_ms":r}),he("cold_start",r,"millisecond",s),s.end((this._initEpoch+r)/1e3)})}cleanup(){const e=y();if(e){try{this._showHandler&&typeof e.offShow=="function"&&e.offShow(this._showHandler),this._hideHandler&&typeof e.offHide=="function"&&e.offHide(this._hideHandler)}catch(n){}this._showHandler=null,this._hideHandler=null}}};_t.id="Minigame";let ie=_t;const Mc=()=>new ie;function Fc(t,e){var r;if(t.length===0)return e;const n=[...t].sort((s,i)=>s-i);return(r=n[Math.floor(.95*(n.length-1))])!=null?r:e}const O=class O{constructor(e={}){var n,r,s,i;this.name=O.id,this._running=!1,this._windowElapsed=0,this._lastFrameTs=0,this._frameCount=0,this._jankCount=0,this._jankBreadcrumbs=0,this._maxFrameDelta=0,this._sessionEpochStart=0,this._sessionElapsed=0,this._sessionFrames=0,this._sessionJank=0,this._sessionWorstFrame=0,this._fpsSamples=[],this._showHandler=null,this._hideHandler=null,this._options={fpsWarningThreshold:(n=e.fpsWarningThreshold)!=null?n:30,longFrameThresholdMs:(r=e.longFrameThresholdMs)!=null?r:50,reportInterval:(s=e.reportInterval)!=null?s:1e4,maxJankBreadcrumbsPerWindow:(i=e.maxJankBreadcrumbsPerWindow)!=null?i:3}}setupOnce(){const e=globalThis.requestAnimationFrame;if(typeof e!="function"){console.warn("[sentry-miniapp] requestAnimationFrame 不可用,小游戏帧率监控已跳过(小程序逻辑层不支持)");return}this._running=!0;const n=Se();this._lastFrameTs=n,this._sessionEpochStart=tn();const r=()=>{if(!this._running)return;const i=Se();this._onFrame(i-this._lastFrameTs),this._lastFrameTs=i,e(r)};e(r);const s=y();s&&typeof s.onHide=="function"&&(this._hideHandler=()=>{this._flushSummary()&&this._flushPendingEvents()},s.onHide(this._hideHandler)),s&&typeof s.onShow=="function"&&(this._showHandler=()=>this._restartOnResume(),s.onShow(this._showHandler))}_onFrame(e){const n=this._sanitizeFrameDelta(e);if(n===null){(!Number.isFinite(e)||e>O._MAX_REASONABLE_FRAME_DELTA_MS)&&this._rollupWindow();return}this._frameCount+=1,this._windowElapsed+=n,n>this._maxFrameDelta&&(this._maxFrameDelta=n),n>this._options.longFrameThresholdMs&&(this._jankCount+=1,this._jankBreadcrumbs<this._options.maxJankBreadcrumbsPerWindow&&(this._jankBreadcrumbs+=1,I({category:"minigame.jank",message:`检测到卡顿帧: ${Math.round(n)}ms`,level:"warning",data:{frameDurationMs:Math.round(n)}}))),this._windowElapsed>=this._options.reportInterval&&this._report()}_sanitizeFrameDelta(e){return!Number.isFinite(e)||e<=0||e>O._MAX_REASONABLE_FRAME_DELTA_MS?null:e}_report(){const e=this._rollupWindow();e&&($("minigame.framerate",{fps:e.fps,minFps:e.minFps,worstFrameMs:e.worstFrameMs,jankCount:e.jankCount,frames:e.frames}),I({category:"minigame.framerate",message:`FPS: ${e.fps}(最低 ${e.minFps},卡顿 ${e.jankCount} 次)`,level:e.fps<this._options.fpsWarningThreshold?"warning":"info",data:e}))}_rollupWindow(){const e=this._windowElapsed;if(this._frameCount===0||e<=0)return this._resetWindow(),null;const n=Math.round(this._frameCount/e*1e3),r=this._maxFrameDelta>0?Math.round(1e3/this._maxFrameDelta):n,s={fps:n,minFps:r,worstFrameMs:Math.round(this._maxFrameDelta),jankCount:this._jankCount,frames:this._frameCount};return this._fpsSamples.push(n),this._fpsSamples.length>O._MAX_FPS_SAMPLES&&this._fpsSamples.shift(),this._sessionElapsed+=e,this._sessionFrames+=this._frameCount,this._sessionJank+=this._jankCount,this._maxFrameDelta>this._sessionWorstFrame&&(this._sessionWorstFrame=this._maxFrameDelta),this._resetWindow(),s}_resetWindow(){this._windowElapsed=0,this._frameCount=0,this._jankCount=0,this._jankBreadcrumbs=0,this._maxFrameDelta=0}_resetSession(){this._sessionEpochStart=tn(),this._sessionElapsed=0,this._sessionFrames=0,this._sessionJank=0,this._sessionWorstFrame=0,this._fpsSamples=[]}_restartOnResume(){this._resetSession();const e=Se();this._lastFrameTs=e,this._resetWindow()}_flushSummary(){if(this._rollupWindow(),this._sessionFrames===0)return!1;const e=this._sessionElapsed,n=e>0?Math.round(this._sessionFrames/e*1e3):0,r=this._sessionWorstFrame>0?Math.round(1e3/this._sessionWorstFrame):n,s=Fc(this._fpsSamples,n),i=Math.round(this._sessionWorstFrame),o=this._sessionJank,a=this._sessionFrames,c=Tt({name:"minigame.framerate.summary",op:"ui.framerate",forceTransaction:!0,startTime:this._sessionEpochStart/1e3});return c.setAttributes({"fps.avg":n,"fps.p95":s,"fps.min":r,"frames.total":a,"jank.count":o,"frame.worst_ms":i}),he("fps_avg",n,"none",c),he("fps_p95",s,"none",c),he("fps_min",r,"none",c),he("jank_count",o,"none",c),c.end((this._sessionEpochStart+Math.max(0,e))/1e3),this._resetSession(),!0}_flushPendingEvents(){Promise.resolve(cs(O._HIDE_FLUSH_TIMEOUT_MS)).catch(()=>{})}cleanup(){this._running=!1,this._flushSummary();const e=y();if(e)try{this._hideHandler&&typeof e.offHide=="function"&&e.offHide(this._hideHandler),this._showHandler&&typeof e.offShow=="function"&&e.offShow(this._showHandler)}catch(n){}this._hideHandler=null,this._showHandler=null}};O.id="MinigameFrameRate",O._MAX_FPS_SAMPLES=2e3,O._MAX_REASONABLE_FRAME_DELTA_MS=5e3,O._HIDE_FLUSH_TIMEOUT_MS=2e3;let oe=O;const Lc=t=>()=>new oe(t),$c=Object.freeze(Object.defineProperty({__proto__:null,ConsoleBreadcrumbs:we,Dedupe:Ve,GlobalHandlers:qe,HttpContext:Ke,LinkedErrors:Ge,MinigameFrameRateIntegration:oe,MinigameIntegration:ie,NetworkBreadcrumbs:Xe,NetworkStatusIntegration:Qe,PageBreadcrumbs:ve,PerformanceIntegration:Ye,RewriteFrames:Je,Router:rn,SessionIntegration:Ze,System:nn,TryCatch:We,consoleBreadcrumbsIntegration:Oc,minigameFrameRateIntegration:Lc,minigameIntegration:Mc,pageBreadcrumbsIntegration:Nc,performanceIntegration:vn},Symbol.toStringTag,{value:"Module"})),wn=[new Ke,new Ve,new qe,new We,new Ge,vn({enableNavigation:!0,enableRender:!0,enableResource:!0,enableUserTiming:!0,sampleRate:1,reportInterval:3e4})];function Hc(){return[...wn]}function jc(t={}){if(!ks()){console.warn("[sentry-miniapp] Not running in a supported miniapp environment");return}const e=[...t.integrations||wn],n=E(l({},t),{integrations:e,stackParser:vs,transport:t.transport});n.enableSourceMap!==!1&&n.integrations.push(new Je);const r={traceNetworkBody:n.traceNetworkBody};n.enableTracePropagation!==void 0&&(r.enableTracePropagation=n.enableTracePropagation),n.tracePropagationTargets!==void 0&&(r.tracePropagationTargets=n.tracePropagationTargets),n.integrations.push(new Xe(r)),n.enableAutoSessionTracking!==!1&&n.integrations.push(new Ze);const s=n.enableNavigationBreadcrumbs!==!1,i=n.enableUserInteractionBreadcrumbs!==!1;(s||i)&&n.integrations.push(new ve({enableLifecycle:s,enableUserInteraction:i})),n.enableNetworkStatusMonitoring!==!1&&n.integrations.push(new Qe),n.enableConsoleBreadcrumbs&&n.integrations.push(new we);const o=uc(),a=u=>n.integrations.some(p=>p&&p.name===u);!a(ie.id)&&(n.enableMinigameLifecycle===!0||o&&n.enableMinigameLifecycle!==!1)&&n.integrations.push(new ie),!a(oe.id)&&(n.enableMinigameFrameRate===!0||o&&n.enableMinigameFrameRate!==!1)&&n.integrations.push(new oe(n.minigameFrameRateOptions)),$("miniapp",{platform:As(),environment:"miniapp"});const c=n.enableSystemInfo===!1?null:se();return c&&($("device",{brand:c.brand,model:c.model,language:c.language,system:c.system,platform:c.platform,screen_resolution:`${c.screenWidth}x${c.screenHeight}`}),$("app",{sdk_version:c.SDKVersion,version:c.version})),za(xs,n),S().getClient()}function Bc(t={}){console.warn("[sentry-miniapp] showReportDialog is deprecated and does nothing. Please build your own UI and use `Sentry.captureFeedback()` instead.")}function Uc(t){return function(...e){return Re(()=>{try{return t.apply(this,e)}catch(n){throw S().captureException(n),n}})}}function zc(t){const e=S().getClient();return e?e.captureFeedback(t):(console.warn("[sentry-miniapp] No client available for captureFeedback"),"")}Tr();exports.Integrations=$c;exports.MiniappClient=xs;exports.SDK_NAME=Ts;exports.SDK_VERSION=Fe;exports.Transports=_c;exports.addBreadcrumb=I;exports.addEventProcessor=ia;exports.addIntegration=pa;exports.captureEvent=Xo;exports.captureException=Z;exports.captureFeedback=zc;exports.captureMessage=Jo;exports.captureSession=Qt;exports.close=sa;exports.closeSession=xr;exports.defaultIntegrations=wn;exports.endSession=vt;exports.flush=cs;exports.getClient=k;exports.getCurrentScope=S;exports.getDefaultIntegrations=Hc;exports.getIsolationScope=A;exports.getPerformanceManager=Rs;exports.init=jc;exports.isEnabled=us;exports.lastEventId=ra;exports.makeSession=Nr;exports.miniappStackParser=vs;exports.performanceIntegration=vn;exports.setContext=$;exports.setExtra=Qo;exports.setExtras=Zo;exports.setTag=ta;exports.setTags=ea;exports.setUser=na;exports.showReportDialog=Bc;exports.startInactiveSpan=Tt;exports.startSession=ls;exports.startSpan=_e;exports.updateSession=K;exports.withScope=Re;exports.wrap=Uc;
|
|
11
|
+
详情参考:https://docs.sentry.io/platforms/javascript/`):console.warn("[sentry-miniapp] 未检测到已支持的小程序平台,SDK 将以降级模式运行"),{request:()=>{},httpRequest:()=>{},getSystemInfoSync:()=>({}),URLSearchParams:()=>{}};const e=t.sdk;if(t.name==="alipay"&&!e.request&&e.httpRequest&&(e.request=e.httpRequest),t.name==="alipay"||t.name==="dingtalk"){if(e.getStorageSync){const n=e.getStorageSync;e.getStorageSync=r=>{const s=n.call(e,{key:r});return s?s.data:null}}if(e.setStorageSync){const n=e.setStorageSync;e.setStorageSync=(r,s)=>{n.call(e,{key:r,data:s})}}if(e.removeStorageSync){const n=e.removeStorageSync;e.removeStorageSync=r=>{n.call(e,{key:r})}}}return e},Is=()=>{var t,e;return(e=(t=vs())==null?void 0:t.name)!=null?e:"unknown"},se=()=>{try{const t=ws(),e={};let n=!1;if(t.getAppBaseInfo){const r=t.getAppBaseInfo();Object.assign(e,r),n=!0}if(t.getWindowInfo){const r=t.getWindowInfo();Object.assign(e,r),n=!0}if(t.getDeviceInfo){const r=t.getDeviceInfo();Object.assign(e,r),n=!0}if(t.getAppAuthorizeSetting){const r=t.getAppAuthorizeSetting();e.albumAuthorized=r.albumAuthorized==="authorized",e.cameraAuthorized=r.cameraAuthorized==="authorized",e.locationAuthorized=r.locationAuthorized==="authorized",e.microphoneAuthorized=r.microphoneAuthorized==="authorized",e.notificationAuthorized=r.notificationAuthorized==="authorized"}if(t.getSystemSetting){const r=t.getSystemSetting();Object.assign(e,r)}if(n)return e;if(t.getSystemInfoSync){const r=t.getSystemInfoSync();return!r.SDKVersion&&r.version&&(r.SDKVersion=r.version),r}return null}catch(t){return console.warn("[sentry-miniapp] Failed to get system info:",t),null}},ks=()=>Is()!=="unknown";let Dt=null,Ot=null;const S=()=>(Dt===null&&(Dt=ws()),Dt),As=()=>(Ot===null&&(Ot=Is()),Ot);let Mt=null;const uc=()=>{if(Mt===null){const t=globalThis,e=typeof t.GameGlobal!="undefined",n=typeof t.App!="function"&&typeof t.Page!="function"&&typeof t.getCurrentPages!="function";Mt=ks()&&(e||n)}return Mt},Rs=()=>{try{const t=S();if(t.getPerformance&&typeof t.getPerformance=="function")return t.getPerformance()}catch(t){console.warn("Failed to get performance manager:",t)}return null},Se=()=>Date.now(),tn=()=>Date.now();function Cs(t){const e=t.url;function n(r){return new Promise((s,i)=>{var a,c,u,p;const o={url:e,method:"POST",data:r.body,header:l({"Content-Type":"application/json"},r.headers),headers:l({"Content-Type":"application/json"},r.headers),timeout:1e4,success:f=>{const h=f.statusCode||f.status,d=f.header||f.headers||{};s({statusCode:h,headers:{"x-sentry-rate-limits":d["x-sentry-rate-limits"],"retry-after":d["retry-after"]}})},fail:f=>{i(new Error(`Network request failed: ${f.errMsg||f.errorMessage||f.message||"Unknown error"}`))}};S().request?(c=(a=S()).request)==null||c.call(a,o):S().httpRequest?(p=(u=S()).httpRequest)==null||p.call(u,o):i(new Error("No request method available in current miniapp environment"))})}return Ca(t,n)}const lc=30,fc=864e5,Ps="sentry_offline_store";function xs(t){const e=t.offlineCacheLimit||lc,n=t.offlineCacheMaxAge||fc;return{push:r=>D(null,null,function*(){try{let s=Lt();for(s=Ft(s,n),s.push({envelope:r,timestamp:Date.now()});s.length>e;){const i=s.findIndex(o=>!dr(o.envelope));i>=0?s.splice(i,1):s.shift()}$t(s)}catch(s){console.warn("[sentry-miniapp] Failed to push to offline store",s)}}),unshift:r=>D(null,null,function*(){try{let s=Lt();for(s=Ft(s,n),s.unshift({envelope:r,timestamp:Date.now()});s.length>e;){const i=pc(s,o=>!dr(o.envelope));i>=0?s.splice(i,1):s.pop()}$t(s)}catch(s){console.warn("[sentry-miniapp] Failed to unshift to offline store",s)}}),shift:()=>D(null,null,function*(){try{let r=Lt();if(r=Ft(r,n),r.length===0)return;const s=r.shift();return $t(r),s==null?void 0:s.envelope}catch(r){console.warn("[sentry-miniapp] Failed to shift from offline store",r);return}})}}function dr(t){try{return(t[1]||[]).some(n=>{var s;const r=(s=n[0])==null?void 0:s.type;return r==="event"||r==="error"})}catch(e){return!0}}function Ft(t,e){const n=Date.now();return t.filter(r=>n-r.timestamp<e)}function pc(t,e){for(let n=t.length-1;n>=0;n--)if(e(t[n]))return n;return-1}function Lt(){try{const t=S().getStorageSync;if(t){const e=t(Ps);if(e){const n=typeof e=="string"?JSON.parse(e):e;if(Array.isArray(n)&&n.length>0)return n[0]&&"envelope"in n[0]&&"timestamp"in n[0]?n:n.map(r=>({envelope:r,timestamp:Date.now()}))}}}catch(t){}return[]}function $t(t){try{const e=S().setStorageSync;e&&e(Ps,JSON.stringify(t))}catch(e){}}const dc=Object.freeze(Object.defineProperty({__proto__:null,createMiniappOfflineStore:xs,createMiniappTransport:Cs},Symbol.toStringTag,{value:"Module"}));class Ns extends $a{constructor(e={}){super(E(l({},e),{transport:e.transport||(n=>{const r=Cs(E(l({},n),{headers:{}}));return e.enableOfflineCache!==!1?Ga(()=>r)(E(l({},n),{createStore:s=>xs(E(l({},s),{offlineCacheLimit:e.offlineCacheLimit,offlineCacheMaxAge:e.offlineCacheMaxAge})),flushAtStartup:!0})):r})}))}eventFromException(e){const n={type:e.name||"Error",value:e.message||String(e)};if(e.stack){const r=this.getOptions().stackParser;if(r&&typeof r=="function"){const s=r(e.stack,1);s.length&&(n.stacktrace={frames:s})}}return Promise.resolve({exception:{values:[n]},level:"error"})}eventFromMessage(e,n="info"){return Promise.resolve({message:e,level:n})}_prepareEvent(e,n,r){if(e.platform=e.platform||this.getOptions().platform||"javascript",e.sdk=E(l({},e.sdk),{name:Es,packages:[...e.sdk&&e.sdk.packages||[],{name:"npm:@sentry/miniapp",version:Fe}],version:Fe}),e.contexts||(e.contexts={}),e.contexts.miniapp={platform:As(),sdk_version:Fe},this.getOptions().enableSystemInfo!==!1){const s=se();s?(e.contexts.device={brand:s.brand||"unknown",model:s.model||"unknown",screen_resolution:`${s.screenWidth||0}x${s.screenHeight||0}`,language:s.language||"unknown",version:s.version||"unknown",system:s.system||"unknown",platform:s.platform||"unknown"},e.contexts.os={name:s.system||"unknown",version:s.version||"unknown"},e.contexts.app={app_version:s.SDKVersion||"unknown"}):(e.contexts.device={brand:"unknown",model:"unknown",screen_resolution:"0x0",language:"unknown",version:"unknown",system:"unknown",platform:"unknown"},e.contexts.os={name:"unknown",version:"unknown"},e.contexts.app={app_version:"unknown"})}try{const s=r||y(),i=A();return super._prepareEvent(e,n||{},s,i)}catch(s){return Promise.resolve(e)}}close(e){const n=this._integrations;if(n&&typeof n=="object")for(const r of Object.keys(n)){const s=n[r];if(s&&typeof s.cleanup=="function")try{s.cleanup()}catch(i){}}return super.close(e)}showReportDialog(e={}){console.warn("[sentry-miniapp] showReportDialog is deprecated and does nothing. Please build your own UI and use `Sentry.captureFeedback()` instead.")}captureFeedback(e){const n={contexts:{feedback:{contact_email:e.email,name:e.name,message:e.message,url:e.url,source:e.source,associated_event_id:e.associatedEventId}},type:"feedback",level:"info",tags:e.tags||{}};return y().captureEvent(n)}}const et=class et{constructor(e){this.name=et.id,this._onErrorHandlerInstalled=!1,this._onUnhandledRejectionHandlerInstalled=!1,this._onPageNotFoundHandlerInstalled=!1,this._onMemoryWarningHandlerInstalled=!1,this._errorHandler=null,this._rejectionHandler=null,this._pageNotFoundHandler=null,this._memoryWarningHandler=null,this._options=l({onerror:!0,onunhandledrejection:!0,onpagenotfound:!0,onmemorywarning:!0},e)}setupOnce(){Error.stackTraceLimit=50,this._options.onerror&&this._installGlobalOnErrorHandler(),this._options.onunhandledrejection&&this._installGlobalOnUnhandledRejectionHandler(),this._options.onpagenotfound&&this._installGlobalOnPageNotFoundHandler(),this._options.onmemorywarning&&this._installGlobalOnMemoryWarningHandler()}_installGlobalOnErrorHandler(){var e,n;this._onErrorHandlerInstalled||(S().onError&&(this._errorHandler=r=>{const s=typeof r=="string"?new Error(r):r;Z(s,{mechanism:{type:"onerror",handled:!1}})},(n=(e=S()).onError)==null||n.call(e,this._errorHandler)),this._onErrorHandlerInstalled=!0)}_installGlobalOnUnhandledRejectionHandler(){var e,n;this._onUnhandledRejectionHandlerInstalled||(S().onUnhandledRejection&&(this._rejectionHandler=({reason:r,promise:s})=>{const i=typeof r=="string"?new Error(r):r;Z(i,{mechanism:{type:"onunhandledrejection",handled:!1},data:{promise:s}})},(n=(e=S()).onUnhandledRejection)==null||n.call(e,this._rejectionHandler)),this._onUnhandledRejectionHandlerInstalled=!0)}_installGlobalOnPageNotFoundHandler(){var e,n;this._onPageNotFoundHandlerInstalled||(S().onPageNotFound&&(this._pageNotFoundHandler=r=>{const s=y(),i=r.path.split("?")[0];s.setTag("pagenotfound",i),s.setContext("page_not_found",{path:r.path,query:r.query,isEntryPage:r.isEntryPage}),Z(new Error(`页面无法找到: ${i}`),{mechanism:{type:"onpagenotfound",handled:!0}})},(n=(e=S()).onPageNotFound)==null||n.call(e,this._pageNotFoundHandler)),this._onPageNotFoundHandlerInstalled=!0)}_installGlobalOnMemoryWarningHandler(){var e,n;this._onMemoryWarningHandlerInstalled||(S().onMemoryWarning&&(this._memoryWarningHandler=({level:r=-1})=>{let s="没有获取到告警级别信息";switch(r){case 5:s="TRIM_MEMORY_RUNNING_MODERATE";break;case 10:s="TRIM_MEMORY_RUNNING_LOW";break;case 15:s="TRIM_MEMORY_RUNNING_CRITICAL";break;default:return}const i=y();i.setTag("memory-warning",String(r)),i.setContext("memory_warning",{level:r,message:s}),Z(new Error("内存不足告警"),{mechanism:{type:"onmemorywarning",handled:!0}})},(n=(e=S()).onMemoryWarning)==null||n.call(e,this._memoryWarningHandler)),this._onMemoryWarningHandlerInstalled=!0)}cleanup(){try{const e=S();this._errorHandler&&e.offError&&e.offError(this._errorHandler),this._rejectionHandler&&e.offUnhandledRejection&&e.offUnhandledRejection(this._rejectionHandler),this._pageNotFoundHandler&&e.offPageNotFound&&e.offPageNotFound(this._pageNotFoundHandler),this._memoryWarningHandler&&e.offMemoryWarning&&e.offMemoryWarning(this._memoryWarningHandler)}catch(e){}this._errorHandler=null,this._rejectionHandler=null,this._pageNotFoundHandler=null,this._memoryWarningHandler=null,this._onErrorHandlerInstalled=!1,this._onUnhandledRejectionHandlerInstalled=!1,this._onPageNotFoundHandlerInstalled=!1,this._onMemoryWarningHandlerInstalled=!1}};et.id="GlobalHandlers";let qe=et;function hr(t,e={},n){if(typeof t!="function")return t;try{if(t.__sentry__)return t;if(t.__sentry_wrapped__)return t.__sentry_wrapped__}catch(s){return t}const r=function(...s){try{return t.apply(this,s)}catch(i){throw y().addEventProcessor(a=>{const c=l({},a);return e.mechanism&&(c.exception=c.exception||{},c.exception.mechanism=e.mechanism),c.extra=E(l({},c.extra),{arguments:s}),c}),Z(i),i}};try{for(const s in t)Object.prototype.hasOwnProperty.call(t,s)&&(r[s]=t[s])}catch(s){}t.prototype=t.prototype||{},r.prototype=t.prototype,Object.defineProperty(t,"__sentry_wrapped__",{enumerable:!1,value:r}),Object.defineProperties(r,{__sentry__:{enumerable:!1,value:!0},__sentry_original__:{enumerable:!1,value:t}});try{Object.getOwnPropertyDescriptor(r,"name").configurable&&Object.defineProperty(r,"name",{get(){return t.name}})}catch(s){}return r}function _r(t){try{return t&&t.name||"<anonymous>"}catch(e){return"<anonymous>"}}function be(t,e,n){if(!(e in t))return;const r=t[e],s=n(r);if(typeof s=="function")try{s.prototype=s.prototype||{},s.prototype.constructor=s}catch(i){}t[e]=s}const nt=class nt{constructor(){this.name=nt.id}_wrapTimeFunction(e){return function(...n){const r=n[0];return n[0]=hr(r,{mechanism:{data:{function:_r(e)},handled:!0,type:"instrument"}}),e.apply(this,n)}}_wrapRAF(e){return function(n){return e(hr(n,{mechanism:{data:{function:"requestAnimationFrame",handler:_r(e)},handled:!0,type:"instrument"}}))}}setupOnce(){const e=globalThis;e.setTimeout&&be(e,"setTimeout",this._wrapTimeFunction.bind(this)),e.setInterval&&be(e,"setInterval",this._wrapTimeFunction.bind(this)),e.requestAnimationFrame&&be(e,"requestAnimationFrame",this._wrapRAF.bind(this))}};nt.id="TryCatch";let We=nt;const hc="cause",_c=5,rt=class rt{constructor(e={}){this.name=rt.id,this._key=e.key||hc,this._limit=e.limit||_c}setupOnce(){}processEvent(e,n){return y().getClient()?this._handler(e,n):e}_handler(e,n){if(!e.exception||!e.exception.values||!n||!mr(n.originalException,Error))return e;const r=this._walkErrorTree(n.originalException,this._key);return e.exception.values=[...r,...e.exception.values],e}_walkErrorTree(e,n,r=[]){if(!mr(e[n],Error)||r.length+1>=this._limit)return r;const s=ec(()=>[],e[n]);return this._walkErrorTree(e[n],n,[s,...r])}};rt.id="LinkedErrors";let Ge=rt;function mr(t,e){try{return t instanceof e}catch(n){return!1}}const st=class st{constructor(){this.name=st.id}setupOnce(){}processEvent(e){const n=y(),r={runtime:{name:"miniapp",version:this._getMiniappVersion()},app:{name:this._getAppName(),version:this._getAppVersion()},device:this._getDeviceInfo(),network:this._getNetworkInfo()};return n.setContext("runtime",r.runtime),n.setContext("app",r.app),n.setContext("device",r.device),n.setContext("network",r.network),e}_getMiniappVersion(){const e=se();return(e==null?void 0:e.version)||(e==null?void 0:e.SDKVersion)||"unknown"}_getAppName(){var e,n,r;try{if(S().getAccountInfoSync)return((r=((n=(e=S()).getAccountInfoSync)==null?void 0:n.call(e)).miniProgram)==null?void 0:r.appId)||"unknown"}catch(s){}return"unknown"}_getAppVersion(){var e,n,r;try{if(S().getAccountInfoSync){const s=(n=(e=S()).getAccountInfoSync)==null?void 0:n.call(e);return((r=s==null?void 0:s.miniProgram)==null?void 0:r.version)||"unknown"}}catch(s){}return"unknown"}_getDeviceInfo(){const e=se();return e?{brand:e.brand,model:e.model,system:e.system,platform:e.platform,screenWidth:e.screenWidth,screenHeight:e.screenHeight,windowWidth:e.windowWidth,windowHeight:e.windowHeight,pixelRatio:e.pixelRatio,language:e.language}:{}}_getNetworkInfo(){try{S().getNetworkType&&S().getNetworkType({success:e=>{const n=y();n.setTag("network.type",e.networkType),n.setContext("network",{type:e.networkType})}})}catch(e){}return{}}};st.id="HttpContext";let Ke=st;const it=class it{constructor(e={}){this.name=it.id,this._fuzzyMatch=!!e.fuzzyMatch}setupOnce(){}processEvent(e,n){if(e.type)return e;try{if(this._shouldDropEvent(e,this._previousEvent))return null}catch(r){return this._previousEvent=this._cloneEventForComparison(e),e}return this._previousEvent=this._cloneEventForComparison(e),e}_shouldDropEvent(e,n){return n?!!(this._isSameMessageEvent(e,n)||this._isSameExceptionEvent(e,n)):!1}_isSameMessageEvent(e,n){const r=e.message,s=n.message;return!(!r&&!s||r&&!s||!r&&s||r!==s||!this._isSameFingerprint(e,n)||!this._isSameStacktrace(e,n))}_isSameExceptionEvent(e,n){const r=this._getExceptionFromEvent(e),s=this._getExceptionFromEvent(n);if(!r||!s||r.type!==s.type)return!1;if(this._fuzzyMatch){if(!mc(r.value,s.value))return!1}else if(r.value!==s.value)return!1;return!(!this._isSameFingerprint(e,n)||!this._isSameStacktrace(e,n))}_isSameStacktrace(e,n){let r=this._getFramesFromEvent(e),s=this._getFramesFromEvent(n);if(!r&&!s)return!0;if(r&&!s||!r&&s||(r=r,s=s,s.length!==r.length))return!1;for(let i=0;i<s.length;i++){const o=s[i],a=r[i];if(o.filename!==a.filename||o.lineno!==a.lineno||o.colno!==a.colno||o.function!==a.function)return!1}return!0}_isSameFingerprint(e,n){let r=e.fingerprint,s=n.fingerprint;if(!r&&!s)return!0;if(r&&!s||!r&&s)return!1;r=r,s=s;try{return r.join("")===s.join("")}catch(i){return!1}}_getExceptionFromEvent(e){return e.exception&&e.exception.values&&e.exception.values[0]}_cloneEventForComparison(e){var n;return{message:e.message,fingerprint:e.fingerprint?[...e.fingerprint]:void 0,exception:e.exception?{values:(n=e.exception.values)==null?void 0:n.map(r=>{var s;return{type:r.type,value:r.value,stacktrace:r.stacktrace?{frames:(s=r.stacktrace.frames)==null?void 0:s.map(i=>l({},i))}:void 0}})}:void 0}}_getFramesFromEvent(e){const n=e.exception;if(n)try{return n.values[0].stacktrace.frames}catch(r){}}};it.id="Dedupe";let Ve=it;const gr=/\d{10,}|[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}|\d{4}-\d{2}-\d{2}T\d{2}:\d{2}/g;function mc(t,e){if(t===e)return!0;if(!t||!e)return!1;const n=t.replace(gr,"<dynamic>"),r=e.replace(gr,"<dynamic>");return n===r}const ot=class ot{constructor(){this.name=ot.id}setupOnce(){this._addSystemContext(),this._addNetworkContext(),this._addLocationContext(),this._addStorageContext(),this._checkAppUpdate()}_addSystemContext(){var e,n,r,s;try{const i=se();if(i){const o=y();o.setContext("device",{name:i.model,model:i.model,brand:i.brand,family:i.platform,arch:i.platform}),o.setContext("os",{name:((e=i.system)==null?void 0:e.split(" ")[0])||"unknown",version:((n=i.system)==null?void 0:n.split(" ")[1])||"unknown",kernel_version:i.version}),o.setContext("app",{app_name:i.appName||"unknown",app_version:i.version}),o.setContext("screen",{screen_width:i.screenWidth,screen_height:i.screenHeight,screen_density:i.pixelRatio}),o.setTag("device.model",i.model),o.setTag("device.brand",i.brand),o.setTag("os.name",((r=i.system)==null?void 0:r.split(" ")[0])||"unknown"),o.setTag("os.version",((s=i.system)==null?void 0:s.split(" ")[1])||"unknown"),o.setTag("app.version",i.version),o.setTag("language",i.language)}}catch(i){}}_addNetworkContext(){try{S().getNetworkType&&S().getNetworkType({success:e=>{const n=y();n.setContext("network",{type:e.networkType,connected:e.isConnected!==!1}),n.setTag("network.type",e.networkType)},fail:()=>{}})}catch(e){}}_addLocationContext(){try{S().getLocation&&S().getLocation({type:"gcj02",success:e=>{y().setContext("location",{latitude:e.latitude,longitude:e.longitude,accuracy:e.accuracy})},fail:()=>{}})}catch(e){}}_addStorageContext(){try{const e=S();if(e&&typeof e.getStorageInfoSync=="function"){const n=e.getStorageInfoSync();if(n){const r=n.currentSize||0,s=n.limitSize||0,i=s>0?Math.round(r/s*100):0;y().setContext("storage",{currentSize:r,limitSize:s,usagePercent:i}),i>=80&&I({category:"storage.warning",message:`存储使用率 ${i}%(${r}KB / ${s}KB)`,level:"warning",data:{currentSize:r,limitSize:s,usagePercent:i}})}}}catch(e){}}_checkAppUpdate(){try{const e=S();if(e&&typeof e.getUpdateManager=="function"){const n=e.getUpdateManager();n&&(typeof n.onCheckForUpdate=="function"&&n.onCheckForUpdate(r=>{r&&r.hasUpdate&&(y().setTag("has_update","true"),I({category:"app.update",message:"检测到新版本可用",level:"info",data:{hasUpdate:!0}}))}),typeof n.onUpdateReady=="function"&&n.onUpdateReady(()=>{I({category:"app.update",message:"新版本已下载完成",level:"info",data:{updateReady:!0}})}))}}catch(e){}}};ot.id="System";let nn=ot;const at=class at{constructor(){this.name=at.id,this._lastRoute="",this._monitorTimer=null}setupOnce(){this._instrumentNavigation(),this._startRouteMonitoring()}_instrumentNavigation(){let e;try{e=S()}catch(r){return}const n=["navigateTo","redirectTo","switchTab","reLaunch"];for(const r of n)if(e[r]){const s=e[r];e[r]=i=>(this._recordNavigation(r,i.url,this._getCurrentRoute()),s.call(e,i))}if(e.navigateBack){const r=e.navigateBack;e.navigateBack=(s={})=>(this._recordNavigation("navigateBack","back",this._getCurrentRoute(),s.delta),r.call(e,s))}}_startRouteMonitoring(){this._monitorTimer=setInterval(()=>{const e=this._getCurrentRoute();e&&e!==this._lastRoute&&(this._recordRouteChange(this._lastRoute,e),this._lastRoute=e)},1e3)}cleanup(){this._monitorTimer&&(clearInterval(this._monitorTimer),this._monitorTimer=null)}_getCurrentRoute(){try{const e=globalThis;if(e.getCurrentPages){const n=e.getCurrentPages();if(n&&n.length>0){const r=n[n.length-1];return r.route||r.__route__||""}}}catch(e){}return""}_recordNavigation(e,n,r,s){const i=y();I({category:"navigation",data:{action:e,from:r,to:n,delta:s},message:`Navigation ${e}: ${r} -> ${n}`,type:"navigation"}),i.setTag("route",n==="back"?r:n),i.setContext("navigation",{action:e,from:r,to:n,delta:s,timestamp:Date.now()})}_recordRouteChange(e,n){const r=y();I({category:"navigation",data:{from:e,to:n},message:`Route changed: ${e} -> ${n}`,type:"navigation"}),r.setTag("route",n),r.setContext("route",{current:n,previous:e,timestamp:Date.now()})}};at.id="Router";let rn=at;const ct=class ct{constructor(e={}){this.name=ct.id,this._performanceManager=null,this._observers=[],this._entryBuffer=[],this._reportTimer=null,this._options=E(l({enableNavigation:!0,enableRender:!0,enableResource:!0,enableUserTiming:!1,sampleRate:1,bufferSize:100,reportInterval:3e4,enableMemory:!1},e),{thresholds:l({navigation:3e3,render:1e3,resource:2e3,setData:50},e==null?void 0:e.thresholds)})}setupOnce(){this._initializePerformanceManager(),this._setupPerformanceObservers(),this._startAutoReporting(),this._addPerformanceContext()}_initializePerformanceManager(){try{if(this._performanceManager=Rs(),!this._performanceManager){console.warn("[sentry-miniapp] Performance API not available");return}const e=y();e.setTag("performance.api.available",!0),e.setContext("performance",{api_version:"miniapp-1.0",sample_rate:this._options.sampleRate,buffer_size:this._options.bufferSize})}catch(e){console.warn("[sentry-miniapp] Failed to initialize performance manager:",e)}}_setupPerformanceObservers(){if(this._performanceManager)try{const e=[];this._options.enableNavigation&&e.push("navigation"),this._options.enableRender&&e.push("render"),this._options.enableResource&&e.push("resource");let n=this._options.enableUserTiming;if(n)try{const i=se();if(i&&i.platform==="devtools"&&(n=!1),n){const a=(typeof globalThis!="undefined"?globalThis:typeof window!="undefined"?window:{}).PerformanceObserver,c=a&&Array.isArray(a.supportedEntryTypes)?a.supportedEntryTypes:void 0;(!c||!c.includes("measure")||!c.includes("mark"))&&(n=!1)}}catch(i){n=!1}if(n&&e.push("measure","mark"),e.length===0)return;const r=this._performanceManager.createObserver(i=>{this._handlePerformanceEntries(i)});try{r.observe({entryTypes:e})}catch(i){const o=e.filter(a=>a!=="measure"&&a!=="mark");if(o.length<e.length&&o.length>0)r.observe({entryTypes:o}),console.warn("[sentry-miniapp] Failed to observe all types, falling back to:",o),e.length=0,e.push(...o);else throw i}this._observers.push(r);const s=typeof globalThis!="undefined"?globalThis.process:void 0;s&&s.env&&s.env.NODE_ENV!=="production"&&console.log("[sentry-miniapp] Performance observers setup for:",e)}catch(e){console.warn("[sentry-miniapp] Failed to setup performance observers:",e)}}_handlePerformanceEntries(e){if(!e)return;let n;if(Array.isArray(e))n=e;else if(typeof e=="object"&&e.getEntries)n=e.getEntries();else if(typeof e=="object")n=[e];else{console.warn("[sentry-miniapp] Invalid entries format:",typeof e);return}n.length!==0&&(Math.random()>this._options.sampleRate||n.forEach(r=>{try{this._processPerformanceEntry(r),this._addToBuffer(r)}catch(s){console.warn("[sentry-miniapp] Failed to process performance entry:",s)}}))}_processPerformanceEntry(e){switch(e.entryType){case"navigation":this._processNavigationEntry(e);break;case"render":this._processRenderEntry(e);break;case"resource":this._processResourceEntry(e);break;case"measure":case"mark":this._processUserTimingEntry(e);break;default:console.log("[sentry-miniapp] Unknown entry type:",e.entryType)}}_processNavigationEntry(e){y().addBreadcrumb({message:`页面导航: ${e.name}`,category:"performance.navigation",level:"info",data:{duration:e.duration,appLaunchTime:e.appLaunchTime,pageReadyTime:e.pageReadyTime}}),_e({name:`Navigation: ${e.name}`,op:"navigation",startTime:e.startTime/1e3},r=>{r.setAttributes({"navigation.name":e.name,"navigation.duration":e.duration,"navigation.app_launch_time":e.appLaunchTime||0,"navigation.page_ready_time":e.pageReadyTime||0,"navigation.first_render_time":e.firstRenderTime||0}),r.end((e.startTime+e.duration)/1e3)})}_processRenderEntry(e){var r,s;_e({name:`Render: ${e.name}`,op:"render",startTime:e.startTime/1e3},i=>{i.setAttributes({"render.name":e.name,"render.duration":e.duration,"render.start":e.renderStart||0,"render.end":e.renderEnd||0,"render.script_start":e.scriptStart||0,"render.script_end":e.scriptEnd||0}),i.end((e.startTime+e.duration)/1e3)});const n=(s=(r=this._options.thresholds)==null?void 0:r.setData)!=null?s:50;e.duration>n&&y().addBreadcrumb({message:`慢渲染检测: ${e.name} (${e.duration.toFixed(1)}ms)`,category:"performance.setData.slow",level:"warning",data:{name:e.name,duration:e.duration,threshold:n,renderStart:e.renderStart,renderEnd:e.renderEnd,scriptStart:e.scriptStart,scriptEnd:e.scriptEnd}})}_processResourceEntry(e){_e({name:`Resource: ${e.name}`,op:"resource",startTime:e.startTime/1e3},n=>{n.setAttributes({"resource.name":e.name,"resource.duration":e.duration,"resource.type":e.initiatorType||"unknown","resource.transfer_size":e.transferSize||0,"resource.encoded_size":e.encodedBodySize||0,"resource.decoded_size":e.decodedBodySize||0}),e.fetchStart&&e.responseEnd&&n.setAttributes({"resource.fetch_start":e.fetchStart,"resource.response_end":e.responseEnd,"resource.network_time":e.responseEnd-e.fetchStart}),n.end((e.startTime+e.duration)/1e3)})}_processUserTimingEntry(e){e.entryType==="measure"?_e({name:`Measure: ${e.name}`,op:"measure",startTime:e.startTime/1e3},n=>{n.setAttributes({"measure.name":e.name,"measure.duration":e.duration,"measure.detail":e.detail?JSON.stringify(e.detail):void 0}),n.end((e.startTime+e.duration)/1e3)}):e.entryType==="mark"&&y().addBreadcrumb({message:`性能标记: ${e.name}`,category:"performance.mark",level:"info",data:{timestamp:e.startTime,detail:e.detail}})}_addToBuffer(e){for(this._entryBuffer.push(e);this._entryBuffer.length>this._options.bufferSize;)this._entryBuffer.shift()}_startAutoReporting(){this._options.reportInterval<=0||(this._reportTimer=setInterval(()=>{this._reportBufferedEntries()},this._options.reportInterval))}_reportBufferedEntries(){if(this._entryBuffer.length!==0)try{const e=y(),n=this._calculatePerformanceStats(),r=this._collectMemoryInfo();r&&(n.memory=r),e.setContext("performance_summary",l({total_entries:this._entryBuffer.length,navigation_count:this._entryBuffer.filter(s=>s.entryType==="navigation").length,render_count:this._entryBuffer.filter(s=>s.entryType==="render").length,resource_count:this._entryBuffer.filter(s=>s.entryType==="resource").length,measure_count:this._entryBuffer.filter(s=>s.entryType==="measure").length,mark_count:this._entryBuffer.filter(s=>s.entryType==="mark").length,report_time:new Date().toISOString()},n)),this._checkPerformanceThresholds(n),this._reportToNativeAPI(),this._entryBuffer=[]}catch(e){console.warn("[sentry-miniapp] Failed to report buffered entries:",e)}}_calculatePerformanceStats(){const e=this._entryBuffer.filter(i=>i.entryType==="navigation"),n=this._entryBuffer.filter(i=>i.entryType==="render"),r=this._entryBuffer.filter(i=>i.entryType==="resource"),s={};if(e.length>0){const i=e.map(o=>o.duration);s.navigation_stats={avg_duration:i.reduce((o,a)=>o+a,0)/i.length,max_duration:Math.max(...i),min_duration:Math.min(...i)}}if(n.length>0){const i=n.map(a=>a.duration);s.render_stats={avg_duration:i.reduce((a,c)=>a+c,0)/i.length,max_duration:Math.max(...i),min_duration:Math.min(...i)};const o=n.filter(a=>{var c,u;return a.duration>((u=(c=this._options.thresholds)==null?void 0:c.setData)!=null?u:50)});s.render_stats.slow_render_count=o.length,s.render_stats.slow_render_ratio=o.length/n.length}if(r.length>0){const i=r.map(a=>a.duration),o=r.map(a=>a.transferSize||0).filter(a=>a>0);s.resource_stats={avg_load_time:i.reduce((a,c)=>a+c,0)/i.length,max_load_time:Math.max(...i),total_transfer_size:o.reduce((a,c)=>a+c,0),avg_transfer_size:o.length>0?o.reduce((a,c)=>a+c,0)/o.length:0}}return s}_checkPerformanceThresholds(e){var o,a,c,u,p,f,h,d,_;const n=y(),r=(a=(o=this._options.thresholds)==null?void 0:o.navigation)!=null?a:3e3;((c=e.navigation_stats)==null?void 0:c.avg_duration)>r&&n.addBreadcrumb({message:"页面导航性能较慢",category:"performance.warning",level:"warning",data:{avg_duration:e.navigation_stats.avg_duration,threshold:r}});const s=(p=(u=this._options.thresholds)==null?void 0:u.render)!=null?p:1e3;((f=e.render_stats)==null?void 0:f.avg_duration)>s&&n.addBreadcrumb({message:"页面渲染性能较慢",category:"performance.warning",level:"warning",data:{avg_duration:e.render_stats.avg_duration,threshold:s}});const i=(d=(h=this._options.thresholds)==null?void 0:h.resource)!=null?d:2e3;((_=e.resource_stats)==null?void 0:_.avg_load_time)>i&&n.addBreadcrumb({message:"资源加载性能较慢",category:"performance.warning",level:"warning",data:{avg_load_time:e.resource_stats.avg_load_time,threshold:i}})}_reportToNativeAPI(){try{const e=S();if(e.reportPerformance&&this._entryBuffer.length>0){const n={entries:this._entryBuffer.map(r=>({name:r.name,entryType:r.entryType,startTime:r.startTime,duration:r.duration})),timestamp:Date.now(),sampleRate:this._options.sampleRate};e.reportPerformance(n)}}catch(e){console.warn("[sentry-miniapp] Failed to report to native API:",e)}}_collectMemoryInfo(){if(!this._options.enableMemory)return null;try{const e=S();if(e.getPerformance){const n=e.getPerformance();if(n&&n.memory)return{jsHeapSizeUsed:n.memory.jsHeapSizeUsed,jsHeapSizeLimit:n.memory.jsHeapSizeLimit}}}catch(e){}return null}_addPerformanceContext(){try{const e=y(),n=S(),r=!!n.getPerformance,s=!!n.reportPerformance;e.setContext("performance_support",{has_performance_api:r,has_report_api:s,integration_enabled:!0,options:this._options}),e.setTag("performance.integration","enabled")}catch(e){console.warn("[sentry-miniapp] Failed to add performance context:",e)}}cleanup(){this._observers.forEach(e=>{try{e.disconnect()}catch(n){console.warn("[sentry-miniapp] Failed to disconnect observer:",n)}}),this._observers=[],this._reportTimer&&(clearInterval(this._reportTimer),this._reportTimer=null),this._reportBufferedEntries()}};ct.id="PerformanceAPI";let Ye=ct;const Tn=t=>()=>new Ye(t),ut=class ut{constructor(e={}){this.name=ut.id,this._prefix=e.prefix||"app:///"}setupOnce(){}processEvent(e){return e.exception&&e.exception.values&&e.exception.values.forEach(n=>{n.stacktrace&&n.stacktrace.frames&&n.stacktrace.frames.forEach(r=>{r.filename&&(r.filename=this._normalizeFilename(r.filename))})}),e}_normalizeFilename(e){let n=e;return n=n.replace(/^(appservice|app-service|WAService)\//i,"").replace(/^https?:\/\/[^/]+\//i,"").replace(/^[a-z]+:\/\//i,"").replace(/^\//,""),n.startsWith(this._prefix)?n:`${this._prefix}${n}`}};ut.id="RewriteFrames";let Je=ut;const lt=class lt{constructor(e={}){this.name=lt.id,this._originalRequest=null,this._originalHttpRequest=null,this._traceNetworkBody=!!e.traceNetworkBody,this._sensitiveKeys=(e.sensitiveKeys||["password","passwd","secret","token","access_token","refresh_token","authorization","cookie","session","creditcard","credit_card","card_number","cvv","ssn","id_card"]).map(n=>n.toLowerCase()),this._denyUrls=(e.denyBodyUrls||[]).map(n=>typeof n=="string"?new RegExp(n):n),this._enableTracePropagation=e.enableTracePropagation!==!1,this._tracePropagationTargets=e.tracePropagationTargets||[]}setupOnce(){const e=S();e&&typeof e.request=="function"&&(this._originalRequest=e.request,be(e,"request",this._createRequestWrapper.bind(this))),e&&typeof e.httpRequest=="function"&&(this._originalHttpRequest=e.httpRequest,be(e,"httpRequest",this._createRequestWrapper.bind(this)))}cleanup(){const e=S();e&&(this._originalRequest&&typeof e.request=="function"&&(e.request=this._originalRequest),this._originalHttpRequest&&typeof e.httpRequest=="function"&&(e.httpRequest=this._originalHttpRequest)),this._originalRequest=null,this._originalHttpRequest=null}_createRequestWrapper(e){const n=this._traceNetworkBody,r=this._sanitizeBody.bind(this),s=this._shouldDenyBodyUrl.bind(this),i=this._enableTracePropagation,o=this._shouldPropagateTrace.bind(this);return function(a){if(!a||typeof a!="object")return e.call(this,a);const c=vc(a.url),u=k();let p="";if(u){const v=u.getOptions().dsn;if(v)try{const R=v.match(/^(?:https?:\/\/)?(?:[^@\n]+@)?([^:/\n]+)/i);R&&R[1]&&(p=R[1])}catch(R){}}const f=c.match(/^https?:\/\/([^:/\n]+)/i),h=f&&f[1]?f[1]:"";if(p&&h===p||h==="sentry.io"||h.endsWith(".sentry.io"))return e.call(this,a);const _=wc(a.method),b=a.data,T=Date.now(),w=gc(_,c);let j=!1;const F=v=>{j||(j=!0,Tc(w,v))};i&&o(c)&&Ec(a,w);const N={url:c,method:_};if(n&&b&&!s(c))try{const v=typeof b=="string"?b:JSON.stringify(b);N.request_body=r(v),N.request_size=v.length}catch(v){N.request_body="[Cannot serialize request body]"}const wn=a.success,In=a.fail,kn=a.complete;a.success=function(...v){const R=v[0]||{},B=yr(R),pe=Date.now()-T;if(N.status_code=B,N.duration=pe,F({statusCode:B,status:Ht(B)?"error":"ok"}),n&&R.data&&!s(c))try{const wt=typeof R.data=="string"?R.data:JSON.stringify(R.data);N.response_body=r(wt),N.response_size=wt.length}catch(wt){N.response_body="[Cannot serialize response body]"}const Ms=Ht(B)||pe>3e3?"warning":"info";if(I({type:"http",category:"xhr",data:N,level:Ms}),typeof wn=="function")return wn.apply(this,v)},a.fail=function(...v){const R=v[0]||{},B=Date.now()-T,pe=R.errMsg||R.errorMessage||"Network request failed";if(N.error=pe,N.duration=B,F({status:"error",errorMessage:pe}),I({type:"http",category:"xhr",data:N,level:"error"}),typeof In=="function")return In.apply(this,v)},a.complete=function(...v){const R=v[0]||{},B=yr(R);if(F({statusCode:B,status:Ht(B)?"error":"ok"}),typeof kn=="function")return kn.apply(this,v)};try{return e.call(this,a)}catch(v){throw F({status:"error",errorMessage:v instanceof Error?v.message:String(v)}),v}}}_shouldPropagateTrace(e){return this._tracePropagationTargets.length===0?!0:this._tracePropagationTargets.some(n=>{if(typeof n=="string")return e.includes(n);n.lastIndex=0;const r=n.test(e);return n.lastIndex=0,r})}_shouldDenyBodyUrl(e){return this._denyUrls.some(n=>n.test(e))}_sanitizeBody(e){if(this._sensitiveKeys.length===0)return e;try{const n=JSON.parse(e);if(typeof n=="object"&&n!==null)return this._sanitizeObject(n),JSON.stringify(n)}catch(n){for(const r of this._sensitiveKeys){const s=new RegExp(`(${r})=[^&]*`,"gi");e=e.replace(s,"$1=[Filtered]")}}return e}_sanitizeObject(e){for(const n of Object.keys(e))this._sensitiveKeys.includes(n.toLowerCase())?e[n]="[Filtered]":typeof e[n]=="object"&&e[n]!==null&&this._sanitizeObject(e[n])}};lt.id="NetworkBreadcrumbs";let Xe=lt;function gc(t,e){try{const n=kc(e);return Tt({name:`${t} ${yc(e)}`,op:"http.client",kind:2,attributes:{"http.request.method":t,"url.full":e,"server.address":n||void 0}})}catch(n){return null}}function yc(t){return t.startsWith("data:")?bc(t):Sc(t).replace(/^([a-z][a-z0-9+.-]*:\/\/)([^/?#@]+@)/i,"$1[filtered]:[filtered]@")}function Sc(t){const e=t.split(/[?#]/,1)[0];return e===void 0?t:e}function bc(t){const e=t.match(/^data:([^;,]+)/);return`data:${e&&e[1]?e[1]:"text/plain"}`}function Ec(t,e){if(e)try{const n=Ka({span:e}),r=n["sentry-trace"];if(!r)return;const s=l(l({},Sr(t.headers)?t.headers:{}),Sr(t.header)?t.header:{});s["sentry-trace"]||(s["sentry-trace"]=r),n.baggage&&(s.baggage=Ic(s.baggage,n.baggage)),t.header=s,t.headers=s}catch(n){}}function Tc(t,e){if(t)try{const n=Ds(e.statusCode);n!==void 0?xi(t,n):t.setStatus({code:e.status==="error"?C:bt,message:e.status==="error"?e.errorMessage||"error":"ok"}),e.errorMessage&&t.setAttribute("error.message",e.errorMessage),t.end()}catch(n){}}function vc(t){return typeof t=="string"?t:t==null?"":String(t)}function wc(t){return typeof t=="string"&&t.trim()!==""?t.toUpperCase():"GET"}function yr(t){if(!(!t||typeof t!="object"))return t.statusCode!==void 0&&t.statusCode!==null?t.statusCode:t.status}function Ht(t){const e=Ds(t);return e!==void 0&&e>=400}function Sr(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}function Ic(t,e){const n=typeof t=="string"?t:Array.isArray(t)?t.filter(s=>typeof s=="string").join(","):"";return n?n.split(",").some(s=>s.trim().startsWith("sentry-"))?n:`${n},${e}`:e}function Ds(t){if(typeof t=="number"&&Number.isFinite(t))return t;if(typeof t=="string"&&t.trim()!==""){const e=Number(t);if(Number.isFinite(e))return e}}function kc(t){try{const e=t.match(/^https?:\/\/([^:/\n]+)/i);return e&&e[1]?e[1]:""}catch(e){return""}}const Os=["onLoad","onShow","onHide","onUnload","onReady"],Ac=["onLaunch","onShow","onHide"];function Rc(t){return Os.includes(t)||t.startsWith("_")?!1:/^(on|handle|bind)[A-Z]/.test(t)||/[Tt]ap$/.test(t)||/[Cc]lick$/.test(t)||/[Cc]hange$/.test(t)||/[Ss]ubmit$/.test(t)||/[Ss]croll$/.test(t)||/[Ii]nput$/.test(t)}const ft=class ft{constructor(e={}){this.name=ft.id,this._originalPage=null,this._originalApp=null,this._launchTime=0,this._firstPageReady=!1,this._options=l({enableLifecycle:!0,enableUserInteraction:!0},e)}setupOnce(){this._wrapPage(),this._wrapApp()}_wrapPage(){const e=globalThis;if(typeof e.Page!="function")return;this._originalPage=e.Page;const n=e.Page,r=this._options,s=()=>this._firstPageReady,i=a=>{this._firstPageReady=a},o=()=>this._launchTime;e.Page=function(a){if(a&&typeof a=="object"){if(r.enableLifecycle){for(const c of Os)if(typeof a[c]=="function"){const u=a[c];a[c]=function(...p){const f=(this==null?void 0:this.route)||(this==null?void 0:this.__route__)||"unknown",h={action:c,page:f};if(c==="onLoad"&&p[0]&&typeof p[0]=="object"&&(h.query=p[0]),c==="onReady"&&!s()&&o()>0){i(!0);const d=Date.now()-o();h.coldStartDuration=d,$("startup",{coldStartDuration:d,firstPage:f})}return I({category:"page.lifecycle",message:`${c}: ${f}`,level:"info",data:h}),u.apply(this,p)}}}if(r.enableUserInteraction){for(const c of Object.keys(a))if(typeof a[c]=="function"&&Rc(c)){const u=a[c];a[c]=function(p,...f){const h=(this==null?void 0:this.route)||(this==null?void 0:this.__route__)||"unknown",d={handler:c,page:h};if(p&&typeof p=="object"&&(p.target&&(p.target.id&&(d.targetId=p.target.id),p.target.dataset&&(d.dataset=p.target.dataset)),p.type&&(d.eventType=p.type),p.detail&&(typeof p.detail.x=="number"&&(d.x=p.detail.x),typeof p.detail.y=="number"&&(d.y=p.detail.y)),p.touches&&p.touches.length>0)){const _=p.touches[0];_&&(d.touchX=_.pageX,d.touchY=_.pageY)}return I({category:"user.interaction",message:`${c} on ${h}`,level:"info",data:d}),u.apply(this,[p,...f])}}}}return n(a)}}_wrapApp(){const e=globalThis;if(typeof e.App!="function")return;this._originalApp=e.App;const n=e.App,r=this._options,s=i=>{this._launchTime=i};e.App=function(i){if(i&&typeof i=="object"&&r.enableLifecycle){for(const o of Ac)if(typeof i[o]=="function"){const a=i[o];i[o]=function(...c){return o==="onLaunch"&&s(Date.now()),I({category:"app.lifecycle",message:`App.${o}`,level:"info",data:{action:o}}),a.apply(this,c)}}}return n(i)}}cleanup(){const e=globalThis;this._originalPage&&(e.Page=this._originalPage,this._originalPage=null),this._originalApp&&(e.App=this._originalApp,this._originalApp=null)}};ft.id="PageBreadcrumbs";let ve=ft;const Cc=t=>new ve(t),Pc=["debug","info","warn","error","log"],xc={debug:"debug",info:"info",log:"info",warn:"warning",error:"error"},pt=class pt{constructor(e={}){this.name=pt.id,this._originalMethods={},this._levels=e.levels||[...Pc]}setupOnce(){for(const e of this._levels){if(typeof console[e]!="function")continue;const n=console[e];this._originalMethods[e]=n,console[e]=function(...r){return I({category:"console",level:xc[e],message:r.map(s=>{if(typeof s=="string")return s;try{return JSON.stringify(s)}catch(i){return String(s)}}).join(" ")}),n.apply(console,r)}}}cleanup(){for(const e of this._levels){const n=this._originalMethods[e];n&&(console[e]=n)}this._originalMethods={}}};pt.id="ConsoleBreadcrumbs";let we=pt;const Nc=t=>new we(t),dt=class dt{constructor(){this.name=dt.id,this._originalApp=null,this._isSessionActive=!1}setupOnce(){this._wrapApp()}_wrapApp(){const e=br();if(!e||typeof e.App!="function")return;this._originalApp=e.App;const n=this._startSession.bind(this),r=this._endSession.bind(this),s=this._markSessionCrashed.bind(this),i=()=>this._isSessionActive,o=this._originalApp;e.App=function(a={}){const c=a.onLaunch,u=a.onShow,p=a.onHide,f=a.onError;return a.onLaunch=function(...h){if(n(),typeof c=="function")return c.apply(this,h)},a.onShow=function(...h){if(i()||n(),typeof u=="function")return u.apply(this,h)},a.onHide=function(...h){if(r(),typeof p=="function")return p.apply(this,h)},a.onError=function(...h){if(s(),typeof f=="function")return f.apply(this,h)},o.call(this,a)}}_startSession(){try{us({ignoreDuration:!0}),Qt(),this._isSessionActive=!0}catch(e){}}_endSession(){try{vt(),Qt(),this._isSessionActive=!1}catch(e){}}_markSessionCrashed(){try{const n=y().getSession();n&&(n.status="crashed")}catch(e){}}cleanup(){const e=br();e&&this._originalApp&&(e.App=this._originalApp),this._originalApp=null,this._isSessionActive=!1}};dt.id="Session";let Ze=dt;function br(){if(typeof wx!="undefined")return wx;if(typeof my!="undefined")return my;if(typeof tt!="undefined")return tt;if(typeof dd!="undefined")return dd;if(typeof qq!="undefined")return qq;if(typeof swan!="undefined")return swan;if(typeof globalThis!="undefined")return globalThis}const ht=class ht{constructor(){this.name=ht.id,this._statusChangeHandler=null}setupOnce(){const e=S();if(e){if(typeof e.getNetworkType=="function")try{e.getNetworkType({success:n=>{const r=n.networkType||"unknown";$("network",{type:r,isConnected:r!=="none"})}})}catch(n){}typeof e.onNetworkStatusChange=="function"&&(this._statusChangeHandler=n=>{const r=n.networkType||"unknown",s=n.isConnected!==void 0?n.isConnected:r!=="none";$("network",{type:r,isConnected:s}),I({category:"network.change",message:`网络状态变化: ${r}`,level:s?"info":"warning",data:{networkType:r,isConnected:s}})},e.onNetworkStatusChange(this._statusChangeHandler))}}cleanup(){if(this._statusChangeHandler){const e=S();if(e&&typeof e.offNetworkStatusChange=="function")try{e.offNetworkStatusChange(this._statusChangeHandler)}catch(n){}this._statusChangeHandler=null}}};ht.id="NetworkStatus";let Qe=ht;const _t=class _t{constructor(){this.name=_t.id,this._initTs=Se(),this._initEpoch=tn(),this._showHandler=null,this._hideHandler=null,this._coldStartReported=!1,this._minigameContext={runtime:"minigame"}}setupOnce(){const e=S();if(e){if(typeof e.getLaunchOptionsSync=="function")try{const n=e.getLaunchOptionsSync()||{};this._minigameContext.scene=n.scene,this._minigameContext.path=n.path,this._minigameContext.query=n.query,$("minigame",l({},this._minigameContext)),I({category:"minigame.launch",message:"小游戏冷启动",level:"info",data:{scene:n.scene,path:n.path}})}catch(n){}this._measureColdStart(),typeof e.onShow=="function"&&(this._showHandler=n=>{I({category:"minigame.lifecycle",message:"小游戏 onShow(进入前台)",level:"info",data:{scene:n&&n.scene}})},e.onShow(this._showHandler)),typeof e.onHide=="function"&&(this._hideHandler=()=>{I({category:"minigame.lifecycle",message:"小游戏 onHide(退到后台)",level:"info"})},e.onHide(this._hideHandler))}}_measureColdStart(){const e=globalThis.requestAnimationFrame;typeof e=="function"&&e(()=>{if(this._coldStartReported)return;this._coldStartReported=!0;const n=Se(),r=Math.max(0,Math.round(n-this._initTs));this._minigameContext.coldStartMs=r,$("minigame",l({},this._minigameContext)),I({category:"minigame.performance",message:`SDK 初始化到首帧耗时: ${r}ms`,level:"info",data:{coldStartMs:r}});const s=Tt({name:"minigame.coldstart",op:"app.start",forceTransaction:!0,startTime:this._initEpoch/1e3});s.setAttributes({"minigame.scene":this._minigameContext.scene,"minigame.path":this._minigameContext.path,"minigame.cold_start_ms":r}),he("cold_start",r,"millisecond",s),s.end((this._initEpoch+r)/1e3)})}cleanup(){const e=S();if(e){try{this._showHandler&&typeof e.offShow=="function"&&e.offShow(this._showHandler),this._hideHandler&&typeof e.offHide=="function"&&e.offHide(this._hideHandler)}catch(n){}this._showHandler=null,this._hideHandler=null}}};_t.id="Minigame";let ie=_t;const Dc=()=>new ie;function Oc(t,e){var r;if(t.length===0)return e;const n=[...t].sort((s,i)=>s-i);return(r=n[Math.floor(.95*(n.length-1))])!=null?r:e}const O=class O{constructor(e={}){var n,r,s,i;this.name=O.id,this._running=!1,this._windowElapsed=0,this._lastFrameTs=0,this._frameCount=0,this._jankCount=0,this._jankBreadcrumbs=0,this._maxFrameDelta=0,this._sessionEpochStart=0,this._sessionElapsed=0,this._sessionFrames=0,this._sessionJank=0,this._sessionWorstFrame=0,this._fpsSamples=[],this._showHandler=null,this._hideHandler=null,this._options={fpsWarningThreshold:(n=e.fpsWarningThreshold)!=null?n:30,longFrameThresholdMs:(r=e.longFrameThresholdMs)!=null?r:50,reportInterval:(s=e.reportInterval)!=null?s:1e4,maxJankBreadcrumbsPerWindow:(i=e.maxJankBreadcrumbsPerWindow)!=null?i:3}}setupOnce(){const e=globalThis.requestAnimationFrame;if(typeof e!="function"){console.warn("[sentry-miniapp] requestAnimationFrame 不可用,小游戏帧率监控已跳过(小程序逻辑层不支持)");return}this._running=!0;const n=Se();this._lastFrameTs=n,this._sessionEpochStart=tn();const r=()=>{if(!this._running)return;const i=Se();this._onFrame(i-this._lastFrameTs),this._lastFrameTs=i,e(r)};e(r);const s=S();s&&typeof s.onHide=="function"&&(this._hideHandler=()=>{this._flushSummary()&&this._flushPendingEvents()},s.onHide(this._hideHandler)),s&&typeof s.onShow=="function"&&(this._showHandler=()=>this._restartOnResume(),s.onShow(this._showHandler))}_onFrame(e){const n=this._sanitizeFrameDelta(e);if(n===null){(!Number.isFinite(e)||e>O._MAX_REASONABLE_FRAME_DELTA_MS)&&this._rollupWindow();return}this._frameCount+=1,this._windowElapsed+=n,n>this._maxFrameDelta&&(this._maxFrameDelta=n),n>this._options.longFrameThresholdMs&&(this._jankCount+=1,this._jankBreadcrumbs<this._options.maxJankBreadcrumbsPerWindow&&(this._jankBreadcrumbs+=1,I({category:"minigame.jank",message:`检测到卡顿帧: ${Math.round(n)}ms`,level:"warning",data:{frameDurationMs:Math.round(n)}}))),this._windowElapsed>=this._options.reportInterval&&this._report()}_sanitizeFrameDelta(e){return!Number.isFinite(e)||e<=0||e>O._MAX_REASONABLE_FRAME_DELTA_MS?null:e}_report(){const e=this._rollupWindow();e&&($("minigame.framerate",{fps:e.fps,minFps:e.minFps,worstFrameMs:e.worstFrameMs,jankCount:e.jankCount,frames:e.frames}),I({category:"minigame.framerate",message:`FPS: ${e.fps}(最低 ${e.minFps},卡顿 ${e.jankCount} 次)`,level:e.fps<this._options.fpsWarningThreshold?"warning":"info",data:e}))}_rollupWindow(){const e=this._windowElapsed;if(this._frameCount===0||e<=0)return this._resetWindow(),null;const n=Math.round(this._frameCount/e*1e3),r=this._maxFrameDelta>0?Math.round(1e3/this._maxFrameDelta):n,s={fps:n,minFps:r,worstFrameMs:Math.round(this._maxFrameDelta),jankCount:this._jankCount,frames:this._frameCount};return this._fpsSamples.push(n),this._fpsSamples.length>O._MAX_FPS_SAMPLES&&this._fpsSamples.shift(),this._sessionElapsed+=e,this._sessionFrames+=this._frameCount,this._sessionJank+=this._jankCount,this._maxFrameDelta>this._sessionWorstFrame&&(this._sessionWorstFrame=this._maxFrameDelta),this._resetWindow(),s}_resetWindow(){this._windowElapsed=0,this._frameCount=0,this._jankCount=0,this._jankBreadcrumbs=0,this._maxFrameDelta=0}_resetSession(){this._sessionEpochStart=tn(),this._sessionElapsed=0,this._sessionFrames=0,this._sessionJank=0,this._sessionWorstFrame=0,this._fpsSamples=[]}_restartOnResume(){this._resetSession();const e=Se();this._lastFrameTs=e,this._resetWindow()}_flushSummary(){if(this._rollupWindow(),this._sessionFrames===0)return!1;const e=this._sessionElapsed,n=e>0?Math.round(this._sessionFrames/e*1e3):0,r=this._sessionWorstFrame>0?Math.round(1e3/this._sessionWorstFrame):n,s=Oc(this._fpsSamples,n),i=Math.round(this._sessionWorstFrame),o=this._sessionJank,a=this._sessionFrames,c=Tt({name:"minigame.framerate.summary",op:"ui.framerate",forceTransaction:!0,startTime:this._sessionEpochStart/1e3});return c.setAttributes({"fps.avg":n,"fps.p95":s,"fps.min":r,"frames.total":a,"jank.count":o,"frame.worst_ms":i}),he("fps_avg",n,"none",c),he("fps_p95",s,"none",c),he("fps_min",r,"none",c),he("jank_count",o,"none",c),c.end((this._sessionEpochStart+Math.max(0,e))/1e3),this._resetSession(),!0}_flushPendingEvents(){Promise.resolve(as(O._HIDE_FLUSH_TIMEOUT_MS)).catch(()=>{})}cleanup(){this._running=!1,this._flushSummary();const e=S();if(e)try{this._hideHandler&&typeof e.offHide=="function"&&e.offHide(this._hideHandler),this._showHandler&&typeof e.offShow=="function"&&e.offShow(this._showHandler)}catch(n){}this._hideHandler=null,this._showHandler=null}};O.id="MinigameFrameRate",O._MAX_FPS_SAMPLES=2e3,O._MAX_REASONABLE_FRAME_DELTA_MS=5e3,O._HIDE_FLUSH_TIMEOUT_MS=2e3;let oe=O;const Mc=t=>()=>new oe(t),Fc=Object.freeze(Object.defineProperty({__proto__:null,ConsoleBreadcrumbs:we,Dedupe:Ve,GlobalHandlers:qe,HttpContext:Ke,LinkedErrors:Ge,MinigameFrameRateIntegration:oe,MinigameIntegration:ie,NetworkBreadcrumbs:Xe,NetworkStatusIntegration:Qe,PageBreadcrumbs:ve,PerformanceIntegration:Ye,RewriteFrames:Je,Router:rn,SessionIntegration:Ze,System:nn,TryCatch:We,consoleBreadcrumbsIntegration:Nc,minigameFrameRateIntegration:Mc,minigameIntegration:Dc,pageBreadcrumbsIntegration:Cc,performanceIntegration:Tn},Symbol.toStringTag,{value:"Module"})),vn=[new Ke,new Ve,new qe,new We,new Ge,Tn({enableNavigation:!0,enableRender:!0,enableResource:!0,enableUserTiming:!0,sampleRate:1,reportInterval:3e4})];function Lc(){return[...vn]}function $c(t={}){if(!ks()){console.warn("[sentry-miniapp] Not running in a supported miniapp environment");return}const e=[...t.integrations||vn],n=E(l({},t),{integrations:e,stackParser:Ts,transport:t.transport});n.enableSourceMap!==!1&&n.integrations.push(new Je);const r={traceNetworkBody:n.traceNetworkBody};n.enableTracePropagation!==void 0&&(r.enableTracePropagation=n.enableTracePropagation),n.tracePropagationTargets!==void 0&&(r.tracePropagationTargets=n.tracePropagationTargets),n.integrations.push(new Xe(r)),n.enableAutoSessionTracking!==!1&&n.integrations.push(new Ze);const s=n.enableNavigationBreadcrumbs!==!1,i=n.enableUserInteractionBreadcrumbs!==!1;(s||i)&&n.integrations.push(new ve({enableLifecycle:s,enableUserInteraction:i})),n.enableNetworkStatusMonitoring!==!1&&n.integrations.push(new Qe),n.enableConsoleBreadcrumbs&&n.integrations.push(new we);const o=uc(),a=u=>n.integrations.some(p=>p&&p.name===u);!a(ie.id)&&(n.enableMinigameLifecycle===!0||o&&n.enableMinigameLifecycle!==!1)&&n.integrations.push(new ie),!a(oe.id)&&(n.enableMinigameFrameRate===!0||o&&n.enableMinigameFrameRate!==!1)&&n.integrations.push(new oe(n.minigameFrameRateOptions)),$("miniapp",{platform:As(),environment:"miniapp"});const c=n.enableSystemInfo===!1?null:se();return c&&($("device",{brand:c.brand,model:c.model,language:c.language,system:c.system,platform:c.platform,screen_resolution:`${c.screenWidth}x${c.screenHeight}`}),$("app",{sdk_version:c.SDKVersion,version:c.version})),za(Ns,n),y().getClient()}function Hc(t={}){console.warn("[sentry-miniapp] showReportDialog is deprecated and does nothing. Please build your own UI and use `Sentry.captureFeedback()` instead.")}function jc(t){return function(...e){return Re(()=>{try{return t.apply(this,e)}catch(n){throw y().captureException(n),n}})}}function Bc(t){const e=y().getClient();return e?e.captureFeedback(t):(console.warn("[sentry-miniapp] No client available for captureFeedback"),"")}Er();exports.Integrations=Fc;exports.MiniappClient=Ns;exports.SDK_NAME=Es;exports.SDK_VERSION=Fe;exports.Transports=dc;exports.addBreadcrumb=I;exports.addEventProcessor=ia;exports.addIntegration=pa;exports.captureEvent=Xo;exports.captureException=Z;exports.captureFeedback=Bc;exports.captureMessage=Jo;exports.captureSession=Qt;exports.close=sa;exports.closeSession=xr;exports.defaultIntegrations=vn;exports.endSession=vt;exports.flush=as;exports.getClient=k;exports.getCurrentScope=y;exports.getDefaultIntegrations=Lc;exports.getIsolationScope=A;exports.getPerformanceManager=Rs;exports.init=$c;exports.isEnabled=cs;exports.lastEventId=ra;exports.makeSession=Pr;exports.miniappStackParser=Ts;exports.performanceIntegration=Tn;exports.setContext=$;exports.setExtra=Qo;exports.setExtras=Zo;exports.setTag=ta;exports.setTags=ea;exports.setUser=na;exports.showReportDialog=Hc;exports.startInactiveSpan=Tt;exports.startSession=us;exports.startSpan=_e;exports.updateSession=K;exports.withScope=Re;exports.wrap=jc;
|
|
12
12
|
//# sourceMappingURL=sentry-miniapp.cjs.js.map
|