@billyvg/sentry-tui-app 0.12.0 → 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app/app.mjs +13 -13
- package/app/app.mjs.map +32 -31
- package/app/manifest.json +1 -1
- package/package.json +1 -1
package/app/app.mjs
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
var
|
|
2
|
+
var Hh=import.meta.require;var gc=1,nh=["h:0__","h:1______________","h:2__________________","h:3__________","h:4___________","h:5_______________________","h:6___________________________","h:7___________________________________","h:8________________________________","h:9________________________________"],Hj=Object.fromEntries(nh.map((e,t)=>[e,`h:${t}`.padEnd(e.length,"_")]));var Oc="0.13.0";var Ls=Oc,Is=`v${Ls}`;import{useCallback as _t,useEffect as un,useMemo as ds,useRef as rc,useState as At}from"h:0__";import{useKeyboard as V9,useTerminalDimensions as Z9}from"h:4___________";import{writeConfig as dn}from"h:8________________________________";var sh={bodySerializer:(e)=>JSON.stringify(e,(t,r)=>typeof r==="bigint"?r.toString():r)},ih={$body_:"body",$headers_:"headers",$path_:"path",$query_:"query"},aj=Object.entries(ih),ah=({onRequest:e,onSseError:t,onSseEvent:r,responseTransformer:H,responseValidator:n,sseDefaultRetryDelay:o,sseMaxRetryAttempts:s,sseMaxRetryDelay:i,sseSleepFn:a,url:l,...c})=>{let A,u=a??((g)=>new Promise((p)=>setTimeout(p,g)));return{stream:async function*(){let g=o??3000,p=0,O=c.signal??new AbortController().signal;while(!0){if(O.aborted)break;p++;let y=c.headers instanceof Headers?c.headers:new Headers(c.headers);if(A!==void 0)y.set("Last-Event-ID",A);try{let L={redirect:"follow",...c,body:c.serializedBody,headers:y,signal:O},f=new Request(l,L);if(e)f=await e(l,L);let I=await(c.fetch??globalThis.fetch)(f);if(!I.ok)throw Error(`SSE failed: ${I.status} ${I.statusText}`);if(!I.body)throw Error("No body in SSE response");let h=I.body.pipeThrough(new TextDecoderStream).getReader(),b="",w=()=>{try{h.cancel()}catch{}};O.addEventListener("abort",w);try{while(!0){let{done:T,value:q}=await h.read();if(T)break;b+=q,b=b.replace(/\r\n/g,`
|
|
3
3
|
`).replace(/\r/g,`
|
|
4
|
-
`);let
|
|
4
|
+
`);let E=b.split(`
|
|
5
5
|
|
|
6
|
-
`);b=
|
|
7
|
-
`),
|
|
8
|
-
`);try{B=JSON.parse(W),R=!0}catch{B=W}}if(R){if(n)await n(B);if(H)B=await H(B)}if(r?.({data:B,event:N,id:A,retry:g}),x.length)yield B}}}finally{O.removeEventListener("abort",T),h.releaseLock()}break}catch(L){if(t?.(L),s!==void 0&&m>=s)break;let f=Math.min(g*2**(m-1),a??30000);await u(f)}}}()}},th=(e)=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},rh=(e)=>{switch(e){case"form":return",";case"pipeDelimited":return"|";case"spaceDelimited":return"%20";default:return","}},Hh=(e)=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},gc=({allowReserved:e,explode:t,name:r,style:H,value:n})=>{if(!t){let a=(e?n:n.map((c)=>encodeURIComponent(c))).join(rh(H));switch(H){case"label":return`.${a}`;case"matrix":return`;${r}=${a}`;case"simple":return a;default:return`${r}=${a}`}}let o=th(H),s=n.map((a)=>{if(H==="label"||H==="simple")return e?a:encodeURIComponent(a);return gn({allowReserved:e,name:r,value:a})}).join(o);return H==="label"||H==="matrix"?o+s:s},gn=({allowReserved:e,name:t,value:r})=>{if(r===void 0||r===null)return"";if(typeof r==="object")throw Error("Deeply-nested arrays/objects aren\u2019t supported. Provide your own `querySerializer()` to handle these.");return`${t}=${e?r:encodeURIComponent(r)}`},Oc=({allowReserved:e,explode:t,name:r,style:H,value:n,valueOnly:o})=>{if(n instanceof Date)return o?n.toISOString():`${r}=${n.toISOString()}`;if(H!=="deepObject"&&!t){let c=[];Object.entries(n).forEach(([i,A])=>{c=[...c,i,e?A:encodeURIComponent(A)]});let l=c.join(",");switch(H){case"form":return`${r}=${l}`;case"label":return`.${l}`;case"matrix":return`;${r}=${l}`;default:return l}}let s=Hh(H),a=Object.entries(n).map(([c,l])=>gn({allowReserved:e,name:H==="deepObject"?`${r}[${c}]`:c,value:l})).join(s);return H==="label"||H==="matrix"?s+a:a},nh=/\{[^{}]+\}/g,oh=({path:e,url:t})=>{let r=t,H=t.match(nh);if(H)for(let n of H){let o=!1,s=n.substring(1,n.length-1),a="simple";if(s.endsWith("*"))o=!0,s=s.substring(0,s.length-1);if(s.startsWith("."))s=s.substring(1),a="label";else if(s.startsWith(";"))s=s.substring(1),a="matrix";let c=e[s];if(c===void 0||c===null)continue;if(Array.isArray(c)){r=r.replace(n,gc({explode:o,name:s,style:a,value:c}));continue}if(typeof c==="object"){r=r.replace(n,Oc({explode:o,name:s,style:a,value:c,valueOnly:!0}));continue}if(a==="matrix"){r=r.replace(n,`;${gn({name:s,value:c})}`);continue}let l=encodeURIComponent(a==="label"?`.${c}`:c);r=r.replace(n,l)}return r},sh=({baseUrl:e,path:t,query:r,querySerializer:H,url:n})=>{let o=n.startsWith("/")?n:`/${n}`,s=(e??"")+o;if(t)s=oh({path:t,url:s});let a=r?H(r):"";if(a.startsWith("?"))a=a.substring(1);if(a)s+=`?${a}`;return s};function dc(e){let t=e.body!==void 0;if(t&&e.bodySerializer){if("serializedBody"in e)return e.serializedBody!==void 0&&e.serializedBody!==""?e.serializedBody:null;return e.body!==""?e.body:null}if(t)return e.body;return}var ah=async(e,t)=>{let r=typeof t==="function"?await t(e):t;if(!r)return;if(e.scheme==="bearer")return`Bearer ${r}`;if(e.scheme==="basic")return`Basic ${btoa(r)}`;return r},yc=({parameters:e={},...t}={})=>(H)=>{let n=[];if(H&&typeof H==="object")for(let o in H){let s=H[o];if(s===void 0||s===null)continue;let a=e[o]||t;if(Array.isArray(s)){let c=gc({allowReserved:a.allowReserved,explode:!0,name:o,style:"form",value:s,...a.array});if(c)n.push(c)}else if(typeof s==="object"){let c=Oc({allowReserved:a.allowReserved,explode:!0,name:o,style:"deepObject",value:s,...a.object});if(c)n.push(c)}else{let c=gn({allowReserved:a.allowReserved,name:o,value:s});if(c)n.push(c)}}return n.join("&")},ih=(e)=>{if(!e)return"stream";let t=e.split(";")[0]?.trim();if(!t)return;if(t.startsWith("application/json")||t.endsWith("+json"))return"json";if(t==="multipart/form-data")return"formData";if(["application/","audio/","image/","video/"].some((r)=>t.startsWith(r)))return"blob";if(t.startsWith("text/"))return"text";return},ch=(e,t)=>{if(!t)return!1;if(e.headers.has(t)||e.query?.[t]||e.headers.get("Cookie")?.includes(`${t}=`))return!0;return!1},lh=async({security:e,...t})=>{for(let r of e){if(ch(t,r.name))continue;let H=await ah(r,t.auth);if(!H)continue;let n=r.name??"Authorization";switch(r.in){case"query":if(!t.query)t.query={};t.query[n]=H;break;case"cookie":t.headers.append("Cookie",`${n}=${H}`);break;case"header":default:t.headers.set(n,H);break}}},pc=(e)=>sh({baseUrl:e.baseUrl,path:e.path,query:e.query,querySerializer:typeof e.querySerializer==="function"?e.querySerializer:yc(e.querySerializer),url:e.url}),mc=(e,t)=>{let r={...e,...t};if(r.baseUrl?.endsWith("/"))r.baseUrl=r.baseUrl.substring(0,r.baseUrl.length-1);return r.headers=fc(e.headers,t.headers),r},Ah=(e)=>{let t=[];return e.forEach((r,H)=>{t.push([H,r])}),t},fc=(...e)=>{let t=new Headers;for(let r of e){if(!r)continue;let H=r instanceof Headers?Ah(r):Object.entries(r);for(let[n,o]of H)if(o===null)t.delete(n);else if(Array.isArray(o))for(let s of o)t.append(n,s);else if(o!==void 0)t.set(n,typeof o==="object"?JSON.stringify(o):o)}return t};class mn{fns=[];clear(){this.fns=[]}eject(e){let t=this.getInterceptorIndex(e);if(this.fns[t])this.fns[t]=null}exists(e){let t=this.getInterceptorIndex(e);return Boolean(this.fns[t])}getInterceptorIndex(e){if(typeof e==="number")return this.fns[e]?e:-1;return this.fns.indexOf(e)}update(e,t){let r=this.getInterceptorIndex(e);if(this.fns[r])return this.fns[r]=t,e;return!1}use(e){return this.fns.push(e),this.fns.length-1}}var uh=()=>({error:new mn,request:new mn,response:new mn}),dh=yc({allowReserved:!1,array:{explode:!0,style:"form"},object:{explode:!0,style:"deepObject"}}),ph={"Content-Type":"application/json"},Sc=(e={})=>({...zk,headers:ph,parseAs:"auto",querySerializer:dh,...e}),mh=(e={})=>{let t=mc(Sc(),e),r=()=>({...t}),H=(l)=>(t=mc(t,l),r()),n=uh(),o=async(l)=>{let i={...t,...l,fetch:l.fetch??t.fetch??globalThis.fetch,headers:fc(t.headers,l.headers),serializedBody:void 0};if(i.security)await lh({...i,security:i.security});if(i.requestValidator)await i.requestValidator(i);if(i.body!==void 0&&i.bodySerializer)i.serializedBody=i.bodySerializer(i.body);if(i.body===void 0||i.serializedBody==="")i.headers.delete("Content-Type");let A=pc(i);return{opts:i,url:A}},s=async(l)=>{let{opts:i,url:A}=await o(l),u={redirect:"follow",...i,body:dc(i)},d=new Request(A,u);for(let k of n.request.fns)if(k)d=await k(d,i);let p=i.fetch,g;try{g=await p(d)}catch(k){let I=k;for(let h of n.error.fns)if(h)I=await h(k,void 0,d,i);if(I=I||{},i.throwOnError)throw I;return i.responseStyle==="data"?void 0:{error:I,request:d,response:void 0}}for(let k of n.response.fns)if(k)g=await k(g,d,i);let m={request:d,response:g};if(g.ok){let k=(i.parseAs==="auto"?ih(g.headers.get("Content-Type")):i.parseAs)??"json";if(g.status===204||g.headers.get("Content-Length")==="0"){let h;switch(k){case"arrayBuffer":case"blob":case"text":h=await g[k]();break;case"formData":h=new FormData;break;case"stream":h=g.body;break;case"json":default:h={};break}return i.responseStyle==="data"?h:{data:h,...m}}let I;switch(k){case"arrayBuffer":case"blob":case"formData":case"text":I=await g[k]();break;case"json":{let h=await g.text();I=h?JSON.parse(h):{};break}case"stream":return i.responseStyle==="data"?g.body:{data:g.body,...m}}if(k==="json"){if(i.responseValidator)await i.responseValidator(I);if(i.responseTransformer)I=await i.responseTransformer(I)}return i.responseStyle==="data"?I:{data:I,...m}}let O=await g.text(),y;try{y=JSON.parse(O)}catch{}let L=y??O,f=L;for(let k of n.error.fns)if(k)f=await k(L,g,d,i);if(f=f||{},i.throwOnError)throw f;return i.responseStyle==="data"?void 0:{error:f,...m}},a=(l)=>(i)=>s({...i,method:l}),c=(l)=>async(i)=>{let{opts:A,url:u}=await o(i);return eh({...A,body:A.body,headers:A.headers,method:l,onRequest:async(d,p)=>{let g=new Request(d,p);for(let m of n.request.fns)if(m)g=await m(g,A);return g},serializedBody:dc(A),url:u})};return{buildUrl:pc,connect:a("CONNECT"),delete:a("DELETE"),get:a("GET"),getConfig:r,head:a("HEAD"),interceptors:n,options:a("OPTIONS"),patch:a("PATCH"),post:a("POST"),put:a("PUT"),request:s,setConfig:H,sse:{connect:c("CONNECT"),delete:c("DELETE"),get:c("GET"),head:c("HEAD"),options:c("OPTIONS"),patch:c("PATCH"),post:c("POST"),put:c("PUT"),trace:c("TRACE")},trace:a("TRACE")}},Ft=mh(Sc()),_c=(e)=>(e?.client??Ft).get({security:[{scheme:"bearer",type:"http"}],url:"/api/0/organizations/",...e}),kc=(e)=>(e.client??Ft).get({security:[{scheme:"bearer",type:"http"}],url:"/api/0/organizations/{organization_id_or_slug}/",...e});var gh=(e)=>(e.client??Ft).get({security:[{scheme:"bearer",type:"http"}],url:"/api/0/organizations/{organization_id_or_slug}/dashboards/",...e});var Oh=(e)=>(e.client??Ft).get({security:[{scheme:"bearer",type:"http"}],url:"/api/0/organizations/{organization_id_or_slug}/detectors/",...e});var hc=(e)=>(e.client??Ft).get({security:[{scheme:"bearer",type:"http"}],url:"/api/0/organizations/{organization_id_or_slug}/environments/",...e});var yh=(e)=>(e.client??Ft).get({security:[{scheme:"bearer",type:"http"}],url:"/api/0/organizations/{organization_id_or_slug}/events/",...e});var hs=(e)=>(e.client??Ft).get({security:[{scheme:"bearer",type:"http"}],url:"/api/0/organizations/{organization_id_or_slug}/projects/",...e});var fh=(e)=>(e.client??Ft).get({security:[{scheme:"bearer",type:"http"}],url:"/api/0/organizations/{organization_id_or_slug}/replays/",...e}),Lc=(e)=>(e.client??Ft).get({security:[{scheme:"bearer",type:"http"}],url:"/api/0/organizations/{organization_id_or_slug}/replays/{replay_id}/",...e});var Ic=(e)=>(e.client??Ft).get({security:[{scheme:"bearer",type:"http"}],url:"/api/0/organizations/{organization_id_or_slug}/trace-items/attributes/",...e});var Sh=(e)=>(e.client??Ft).get({security:[{scheme:"bearer",type:"http"}],url:"/api/0/organizations/{organization_id_or_slug}/workflows/",...e});class bc extends Error{status;body;response;documented;constructor(e,t,r,H,n=e===void 0?"Sentry API request failed before receiving a response":`Sentry API request failed with status ${e}`){super(n);this.name="SentryApiError",this.status=e,this.body=t,this.response=r,this.documented=H}}var _h=(e)=>{if(!e)return{};let t=e.split(","),r,H;for(let o of t){let s=o.trim().split(";").map((i)=>i.trim()),a,c,l;for(let i of s){let A=i.match(/^rel="([^"]*)"$/);if(A){a=A[1];continue}let u=i.match(/^results="([^"]*)"$/);if(u){c=u[1];continue}let d=i.match(/^cursor="([^"]*)"$/);if(d){l=d[1];continue}}if(c!=="true"||!l)continue;if(a==="next")r=l;else if(a==="previous")H=l}let n={};if(r!==void 0)n.nextCursor=r;if(H!==void 0)n.prevCursor=H;return n},IH=(e,t)=>{if(e.query===void 0&&t===void 0)return e;return{...e,query:{...e.query,...t!==void 0?{cursor:t}:void 0}}},kh=(e,t)=>{if(e.error!==void 0){let r=e.response?.status;throw new bc(r,e.error,e.response,!1,r===void 0?`${t}: API request failed before receiving a response: ${String(e.error)}`:`${t}: API request failed with status ${r}: ${JSON.stringify(e.error)}`)}return{data:e.data,response:e.response}},hh=(e,t)=>{let{data:r,response:H}=kh(e,t),n=H.headers.get("link"),{nextCursor:o,prevCursor:s}=_h(n),a={data:r};if(o!==void 0)a.nextCursor=o;if(s!==void 0)a.prevCursor=s;return a},bH=async(e,t,r)=>{let H=await e(r);return hh(H,t)};var wc=(e,t)=>bH((r)=>gh(IH(e,r)),"listOrganizationDashboards",t);var Ls=(e,t)=>bH((r)=>Oh(IH(e,r)),"listOrganizationDetectors",t);var Tc=(e,t)=>bH((r)=>yh(IH(e,r)),"listOrganizationEvents",t);var xc=(e,t)=>bH((r)=>fh(IH(e,r)),"listOrganizationReplays",t);var Pc=(e,t)=>bH((r)=>Sh(IH(e,r)),"listOrganizationWorkflows",t);function Xe(e){return e&&e.length>0?[...e]:["-1"]}var bs="is:unresolved issue.priority:[high, medium]",Tt="14d",Lh="24h",ws=25,Ts=[{value:"recommended",label:"Recommended"},{value:"date",label:"Last Seen"},{value:"new",label:"Age"},{value:"trends",label:"Trends"},{value:"freq",label:"Events"},{value:"user",label:"Users"},{value:"inbox",label:"Date Added"},{value:"progress",label:"Progress"}],On="date";function qc(e){return Ts.some((t)=>t.value===e)?e:On}async function Mc(e,{org:t,query:r=bs,sort:H=On,statsPeriod:n=Tt,project:o,environment:s,cursor:a,limit:c=ws,signal:l}){return e.request(`/organizations/${t}/issues/`,{query:{query:r,sort:H,statsPeriod:n,limit:c,shortIdLookup:1,cursor:a,project:Xe(o),environment:s,expand:["owners","inbox"],collapse:["stats","unhandled"]},signal:l})}async function Cc(e,{org:t,groups:r,statsPeriod:H=Tt,groupStatsPeriod:n=Lh,project:o,signal:s}){if(r.length===0)return{};let a=await e.request(`/organizations/${t}/issues-stats/`,{query:{groups:r,statsPeriod:H,groupStatsPeriod:n,project:Xe(o)},signal:s}),c=Array.isArray(a.data)?a.data:[];return Object.fromEntries(c.map((l)=>[l.id,l]))}async function Qc(e,{org:t,issueId:r,signal:H}){return(await e.request(`/organizations/${t}/issues/${r}/`,{signal:H})).data}async function Nc(e,{org:t,issueId:r,eventId:H="latest",signal:n}){return(await e.request(`/organizations/${t}/issues/${r}/events/${H}/`,{signal:n})).data}async function jc(e,{org:t,issueId:r,update:H,signal:n}){return(await e.request(`/organizations/${t}/issues/${r}/`,{method:"PUT",body:H,signal:n})).data}async function Dc(e,{org:t,signal:r}){let{data:H}=await kc({...e.generatedOptions(r),path:{organization_id_or_slug:t}});return Wc(H)}async function Rc(e,t){let r=await e.request("/users/me/",{signal:t}),H=r.data&&typeof r.data==="object"?r.data:{};return{...typeof H.id==="string"?{id:H.id}:{},...typeof H.name==="string"?{name:H.name}:{},...typeof H.email==="string"?{email:H.email}:{}}}async function vc(e,t){let{data:r}=await _c(e.generatedOptions(t));return r.map(Wc)}async function Gc(e,{org:t,signal:r}){return(await e.request(`/organizations/${t}/users/`,{signal:r})).data}var Is=100,Ec=["latestDeploys","unusedFeatures"];async function Kc(e,{org:t,query:r,perPage:H=Is,signal:n}){let o={query:r?.trim()||void 0,per_page:H,collapse:Ec},{data:s}=await hs({...e.generatedOptions(n),path:{organization_id_or_slug:t},query:o});return Ih(s)}async function Xc(e,{org:t,ids:r,signal:H}){let n=[...new Set(r)].filter((s)=>/^\d+$/.test(s)),o=[];for(let s=0;s<n.length;s+=Is){let a=n.slice(s,s+Is),c={query:a.map((i)=>`id:${i}`).join(" "),per_page:a.length,collapse:Ec},{data:l}=await hs({...e.generatedOptions(H),path:{organization_id_or_slug:t},query:c});o.push(...l.map(({id:i,slug:A})=>({id:i,slug:A})))}return o}function Ih(e){return e.map(({id:t,slug:r,name:H,platform:n})=>({id:t,slug:r,name:H,platform:n}))}async function Bc(e,{org:t,signal:r}){let{data:H}=await hc({...e.generatedOptions(r),path:{organization_id_or_slug:t}});return H}function Wc(e){let t=e.avatar;return{id:e.id,slug:e.slug,name:e.name,features:e.features,...t?.avatarType?{avatar:{avatarType:t.avatarType,avatarUuid:t.avatarUuid??null,avatarUrl:t.avatarUrl}}:{}}}var Ut=[{id:"issues",label:"Issues",glyph:"I",sections:[{items:["Feed","Inbox"]},{items:["Errors & Outages","Breached Metrics","Warnings","Configuration","User Feedback"]},{title:"Autofix",items:["Recently Run"]},{items:["All Views"]}]},{id:"explore",label:"Explore",glyph:"E",sections:[{items:["Traces","Logs","Metrics","Errors","Discover","Profiles","Replays","Releases","Conversations"]},{items:["All Queries"]}]},{id:"dashboards",label:"Dashboards",glyph:"D",sections:[{items:["All Dashboards","Sentry Built"]}]},{id:"seer",label:"Seer",glyph:"S",sections:[{items:["Ask Seer"]}]},{id:"monitors",label:"Monitors",glyph:"M",sections:[{items:["All Monitors","My Monitors"]},{title:"By Monitor Type",items:["Error","Metric","Cron","Uptime","Mobile Build"]},{items:["Alerts"]}]}];function ft(e){let t=Ut.find((r)=>r.id===e);if(!t)throw Error(`Unknown nav group: ${e}`);return t}function bh(e){return e.sections.flatMap((t)=>t.items)}function xs(e){let t=bh(e);return t.length===1?t[0]:void 0}var wH=[{id:"sentry.app.quit",title:"Quit",category:"app",defaultKeys:["q"],palette:"always"},{id:"sentry.app.help",title:"Help",category:"app",defaultKeys:["?"],description:"Toggle this help overlay",palette:"always"},{id:"sentry.app.commandPalette",title:"Command palette",category:"app",defaultKeys:["ctrl+k","meta+k"],description:"Search every command and destination"},{id:"sentry.app.refresh",title:"Refresh",category:"app",defaultKeys:["ctrl+r","R"],description:"Reload the current view from the API",palette:"always"},{id:"sentry.app.update",title:"Restart into the update",category:"app",defaultKeys:["U"],description:"Restart into the downloaded update",palette:"update"},{id:"sentry.app.switchOrg",title:"Switch organization",category:"app",defaultKeys:["o"],description:"Open the organization picker",palette:"always"},{id:"sentry.app.openUrl",title:"Open Sentry URL\u2026",category:"app",defaultKeys:["ctrl+o"],description:"Open a copied Sentry URL",palette:"always"},{id:"sentry.app.openInBrowser",title:"Open current view in Sentry",category:"app",defaultKeys:["W"],description:"Continue this view on sentry.io",palette:"always"},{id:"sentry.app.focusNext",title:"Next pane",category:"app",defaultKeys:["tab"]},{id:"sentry.app.focusPrev",title:"Previous pane",category:"app",defaultKeys:["shift+tab"]},{id:"sentry.nav.down",title:"Move down",category:"nav",defaultKeys:["j","down"]},{id:"sentry.nav.up",title:"Move up",category:"nav",defaultKeys:["k","up"]},{id:"sentry.nav.top",title:"Jump to top",category:"nav",defaultKeys:["g","home"]},{id:"sentry.nav.bottom",title:"Jump to bottom",category:"nav",defaultKeys:["G","end"]},{id:"sentry.nav.pageDown",title:"Page down",category:"nav",defaultKeys:["pagedown","ctrl+d"]},{id:"sentry.nav.pageUp",title:"Page up",category:"nav",defaultKeys:["pageup","ctrl+u"]},{id:"sentry.nav.open",title:"Open",category:"nav",defaultKeys:["return"]},{id:"sentry.nav.back",title:"Back",category:"nav",defaultKeys:["escape"]},{id:"sentry.nav.goto",title:"Navigate",category:"nav",defaultKeys:["n"],description:"Jump to a nav item by its printed key"},{id:"sentry.nav.search",title:"Search",category:"nav",defaultKeys:["/"],description:"Focus the search box for this list",palette:"stream"},{id:"sentry.issue.resolve",title:"Resolve",category:"issue",defaultKeys:["r"],palette:"issue"},{id:"sentry.issue.archive",title:"Archive",category:"issue",defaultKeys:["a"],description:"Archive until the issue escalates",palette:"issue"},{id:"sentry.issue.unresolve",title:"Unresolve",category:"issue",defaultKeys:["u"],palette:"issue"},{id:"sentry.issue.bookmark",title:"Bookmark",category:"issue",defaultKeys:["b"],palette:"issue"},{id:"sentry.issue.markReviewed",title:"Mark reviewed",category:"issue",defaultKeys:["m"],palette:"issue"},{id:"sentry.seer.compose",title:"Ask Seer",category:"seer",defaultKeys:["i"],description:"Focus the Seer composer"},{id:"sentry.seer.newChat",title:"New chat",category:"seer",defaultKeys:["N"],description:"Start a fresh Seer conversation"},{id:"sentry.seer.interrupt",title:"Interrupt Seer",category:"seer",defaultKeys:["x"],description:"Ask Seer to stop the current turn"},{id:"sentry.seer.history",title:"Conversation history",category:"seer",defaultKeys:["H"],description:"Open recent Seer conversations"},{id:"sentry.seer.pushChanges",title:"Create or update pull requests",category:"seer",defaultKeys:["p"],description:"Push accepted Seer Code Mode changes"},{id:"sentry.view.filterProject",title:"Filter by project",category:"view",defaultKeys:["P"],description:"Open the project selector",palette:"stream"},{id:"sentry.view.filterEnv",title:"Filter by environment",category:"view",defaultKeys:["E"],description:"Open the environment selector",palette:"stream"},{id:"sentry.view.filterDate",title:"Filter by date",category:"view",defaultKeys:["D"],description:"Open the date range selector",palette:"stream"},{id:"sentry.view.sort",title:"Sort by",category:"view",defaultKeys:["S"],description:"Choose sort order"},{id:"sentry.explore.visualize",title:"Visualize",category:"view",defaultKeys:["V"],description:"Choose the aggregate to plot"},{id:"sentry.explore.visualizeField",title:"Visualize field",category:"view",defaultKeys:["F"],description:"Choose what the aggregate reads"},{id:"sentry.explore.groupBy",title:"Group by",category:"view",defaultKeys:["B"],description:"Group results by an attribute"},{id:"sentry.explore.sortDirection",title:"Sort direction",category:"view",defaultKeys:["O"],description:"Flip between ascending and descending"},{id:"sentry.explore.interval",title:"Chart interval",category:"view",defaultKeys:["I"],description:"Choose the chart bucket width"},{id:"sentry.view.toggleSection",title:"Fold section",category:"view",defaultKeys:["1","2","3","4","5","6"],description:"Fold the numbered section"},{id:"sentry.view.toggleAllSections",title:"Fold all sections",category:"view",defaultKeys:["z"],description:"Fold or unfold every section at once"}],wh=new Map(wH.map((e)=>[e.id,e]));function Fc(e){return wh.get(e)}function Te(e){return Fc(e)?.defaultKeys[0]??""}var Th={return:"enter",escape:"esc",pagedown:"pgdn",pageup:"pgup",down:"\u2193",up:"\u2191"},xh={meta:"cmd"};function Be(e){let t=e.split("+"),r=t.pop();return[...t.map((n)=>xh[n]??n),Th[r]??r].join("+")}function j(e,t){let r=Fc(e);if(!r)return!1;return r.defaultKeys.some((H)=>Ph(H,t))}function Ph(e,t){let r=e.split("+"),H=r[r.length-1],n=r.includes("ctrl"),o=r.includes("shift"),s=r.includes("meta");if(Boolean(t.ctrl)!==n)return!1;if(Boolean(t.meta)!==s)return!1;if(H.length===1&&/[a-zA-Z]/.test(H)){let c=o||H===H.toUpperCase();return t.name.toLowerCase()===H.toLowerCase()&&Boolean(t.shift)===c}if(Boolean(t.shift)!==o)return!1;return t.name===H}function Uc(e){if(e>=97&&e<=122)return 0;if(e>=65&&e<=90)return 1;if(e>=48&&e<=57)return 2;return 3}function Ps(e){let t=e.charCodeAt(0);return t>=65&&t<=90?String.fromCharCode(t+32):e}function zr(e,t){if(t.length===0)return{score:0,positions:[]};let r=0,H=-1,n=-1;for(let c=0;c<e.length;c++){if(Ps(e[c])!==t[r])continue;if(H<0)H=c;if(r++,r===t.length){n=c+1;break}}if(n===-1)return null;r=t.length-1;for(let c=n-1;c>=H;c--){if(Ps(e[c])!==t[r])continue;if(r--,r<0){H=c;break}}let{score:o,positions:s}=Mh(e,t,H,n);return{score:H===0&&n===e.length&&e.length===t.length?o+16:o,positions:s}}function qh(e,t){if(e===3&&t!==3)return 8;if(e===0&&t===1||e!==2&&t===2)return 7;if(t===3)return 8;return 0}function Mh(e,t,r,H){let n=0,o=0,s=!1,a=0,c=0,l=r>0?Uc(e.charCodeAt(r-1)):3,i=[];for(let A=r;A<H;A++){let u=Ps(e[A]),d=Uc(u.charCodeAt(0));if(u===t[n]){i.push(A),o+=16;let p=qh(l,d);if(c===0)a=p;else{if(p===8)a=p;p=Math.max(p,a,4)}o+=n===0?p*2:p,s=!1,c++,n++}else o+=s?-1:-3,s=!0,c=0,a=0;l=d}return{score:o,positions:i}}var Yc=["Go to","Issue","Commands"],Vc=6;function Ch(e,t){switch(e){case"always":return!0;case"stream":return t.streamView;case"issue":return t.hasIssue;case"update":return t.updateReady}}function Zc(e,t=Ut){let r=[];for(let H of t)for(let n of H.sections)for(let o of n.items)r.push({id:`nav:${H.id}:${o}`,section:"Go to",label:o,detail:H.label,keywords:n.title?[H.label,n.title]:[H.label],target:{kind:"nav",group:H.id,item:o}});for(let H of wH){if(!H.palette||!Ch(H.palette,e))continue;let n=Te(H.id);r.push({id:`command:${H.id}`,section:H.category==="issue"?"Issue":"Commands",label:H.title,detail:n?Be(n):void 0,keywords:H.description?[H.description]:void 0,target:{kind:"command",commandId:H.id}})}return r}function zc(e,t){let r=t.trim().toLowerCase();if(!r)return e.map((n)=>({action:n,score:0,positions:[]}));let H=[];for(let n of e){let o=zr(n.label,r),s=o?.score??-1/0;for(let a of n.keywords??[]){let c=zr(a,r);if(c&&c.score>s)s=c.score}if(s===-1/0)continue;H.push({action:n,score:s,positions:o?.positions??[]})}return H.sort((n,o)=>o.score-n.score)}function Jc(e,t){let r=new Map;for(let H of e){let n=r.get(H.action.section);if(n)n.push(H);else r.set(H.action.section,[H])}return Array.from(r,([H,n])=>({section:H,results:t===void 0?n:n.slice(0,t),hidden:t===void 0?0:Math.max(0,n.length-t)})).sort((H,n)=>$c(n.results)-$c(H.results)||Yc.indexOf(H.section)-Yc.indexOf(n.section))}function $c(e){return e.length>0?Math.max(...e.map((t)=>t.score)):0}function el(e){let t=[],r=0;for(let H of e){t.push({kind:"heading",section:H.section});for(let n of H.results)t.push({kind:"result",result:n,index:r}),r++;if(H.hidden>0)t.push({kind:"more",section:H.section,count:H.hidden})}return t}function tl(e,t){return e.findIndex((r)=>r.kind==="result"&&r.index===t)}var Qh=[[43200,"3h"],[20160,"1h"],[5760,"30m"],[2880,"10m"],[720,"5m"],[360,"1m"],[0,"1m"]];var rl=["1m","2m","5m","10m","15m","20m","30m","1h","2h","3h","4h","6h","12h","1d","2d","1w"],Nh=[[43200,"12h"],[20160,"6h"],[5760,"3h"],[2880,"1h"],[720,"30m"],[360,"10m"],[60,"5m"],[5,"5m"],[0,"1m"]],jh=[{value:"1m",label:"1 minute"},{value:"5m",label:"5 minutes"},{value:"10m",label:"10 minutes"},{value:"30m",label:"30 minutes"},{value:"1h",label:"1 hour"},{value:"3h",label:"3 hours"},{value:"6h",label:"6 hours"},{value:"12h",label:"12 hours"}],Dh={s:0.016666666666666666,m:1,h:60,d:1440,w:10080};function Yt(e){if(!e)return;let t=/^(\d+)([smhdw]?)$/.exec(e.trim());if(!t)return;let r=Number(t[1]);if(!Number.isFinite(r))return;return r*Dh[t[2]||"s"]}function Mr(e){let t=Yt(e);if(t===void 0||t<0)return;return Qh.find(([r])=>t>=r)[1]}function Hl(e,t,r){if(r)return"1d";let H=Yt(t),n=Mr(e),o=H===void 0||H<=0?n:t,s=Yt(o),a=Yt(e);if(s===void 0||a===void 0)return o;let c=a/66;if(s>=c)return o;return rl.find((l)=>Yt(l)>=c)??rl.at(-1)}function nl(e){let t=Yt(e);if(t===void 0||t<0)return[];let r=Yt(Mr(e)),H=Yt(Nh.find(([o])=>t>=o)[1]),n=jh.filter(({value:o})=>{let s=Yt(o);return s>=r&&s<=H});return t>=20160?[...n,{value:"1d",label:"1 day"}]:n}var Rh=50,vh=new Set(["errors","logs","spans","tracemetrics"]);async function xt(e,{org:t,dataset:r,fields:H,sort:n,query:o="",statsPeriod:s,project:a,environment:c,cursor:l,limit:i=Rh,referrer:A,signal:u}){if(Gh(r)){let p=await Tc({...e.generatedOptions(u),path:{organization_id_or_slug:t},query:{dataset:r,field:[...H],sort:n,query:o||void 0,statsPeriod:s,per_page:i,project:Xe(a),environment:c,referrer:A}},l);return{rows:ol(p.data),nextCursor:p.nextCursor??null}}let d=await e.request(`/organizations/${t}/events/`,{query:{dataset:r,field:[...H],sort:n,query:o||void 0,statsPeriod:s,per_page:i,cursor:l,project:Xe(a),environment:c,referrer:A},signal:u});return{rows:ol(d.data),nextCursor:d.nextCursor}}function Gh(e){return vh.has(e)}async function qs(e,{org:t,dataset:r,yAxis:H="count()",query:n="",statsPeriod:o,interval:s=Mr(o),project:a,environment:c,referrer:l,signal:i}){let A=await e.request(`/organizations/${t}/events-stats/`,{query:{dataset:r,yAxis:H,query:n||void 0,statsPeriod:o,interval:s,project:Xe(a),environment:c,referrer:l},signal:i});return Eh(A.data)}async function al(e,{org:t,dataset:r,yAxis:H="count()",query:n="",statsPeriod:o,interval:s=Mr(o),project:a,environment:c,referrer:l,signal:i,groupBy:A,sort:u,topEvents:d}){let p=await e.request(`/organizations/${t}/events-timeseries/`,{query:{dataset:r,yAxis:H,query:n||void 0,statsPeriod:o,interval:s,project:Xe(a),environment:c,referrer:l,partial:1,excludeOther:0,sampling:"NORMAL",groupBy:A?[...A]:void 0,sort:u,topEvents:d},signal:i}),g=Array.isArray(p.data?.timeSeries)?p.data.timeSeries:[],m=new Map;for(let O of g.flatMap((y)=>Array.isArray(y?.values)?y.values:[])){if(!O||!Number.isFinite(O.timestamp))continue;let y=O.value===null?0:Number(O.value);if(!Number.isFinite(y))continue;let L=m.get(O.timestamp);m.set(O.timestamp,{count:(L?.count??0)+y,incomplete:Boolean(L?.incomplete||O.incomplete)})}return[...m.entries()].sort(([O],[y])=>O-y).map(([O,y])=>[O/1000,[{count:y.count}],{incomplete:y.incomplete||void 0}])}function ol(e){if(Array.isArray(e))return e.filter(sl);let t=e?.data;return Array.isArray(t)?t.filter(sl):[]}function sl(e){return typeof e==="object"&&e!==null}function Eh(e){let t=Array.isArray(e)?e:e?.data;return Array.isArray(t)?t.filter(Kh):[]}function Kh(e){return Array.isArray(e)&&e.length>=2&&typeof e[0]==="number"}function je(e,t){let r=e[t];if(r===void 0||r===null||r==="")return;return String(r)}function _t(e,t){let r=Number(e[t]);return Number.isFinite(r)?r:void 0}var il="1h";function Qr(e,t){return`${e}\x00${t}`}var Xh=20,Ms="14d",Bh="24h",cl=[{value:"date",label:"Date Created"},{value:"sessions",label:"Total Sessions"},{value:"sessions_24h",label:"Active Sessions"},{value:"users_24h",label:"Active Users"},{value:"crash_free_sessions",label:"Crash-Free Sessions"},{value:"crash_free_users",label:"Crash-Free Users"},{value:"build",label:"Build Number"},{value:"semver",label:"Semantic Version"},{value:"adoption",label:"Date Adopted"}],dl="date",Wh=new Set(["sessions","sessions_24h","users_24h","crash_free_sessions","crash_free_users"]);function Cs(e){return e.length===1?cl:cl.filter((t)=>t.value!=="adoption")}function pl(e,t){return Cs(t).some((r)=>r.value===e)?e:dl}async function ml(e,t){let r=await e.request(`/organizations/${t.org}/releases/`,yl(t));return{data:Jr(r.data).map(Fh),nextCursor:r.nextCursor}}async function gl(e,t){let r=yl(t),H=await e.request(`/organizations/${t.org}/releases/`,{...r,query:{...r.query,health:"1",healthStat:"sessions",healthStatsPeriod:Bh}}),n=new Map;for(let o of Jr(H.data)){let s=jt(o.version);if(!s)continue;for(let a of Jr(o.projects)){let c=$t(a.id),l=Yh(a.healthData);if(c===void 0||!l)continue;n.set(Qr(s,c),l)}}return n}async function Ol(e,{org:t,releases:r,project:H,environment:n,signal:o}){if(r.length===0)return new Map;let s=[...new Set(r.map((A)=>A.version).filter(Boolean))];if(s.length===0)return new Map;let a={field:["sum(session)"],interval:"1h",statsPeriod:"24h",project:H,environment:n},c=s.map((A)=>`release:${Vh(A)}`).join(" OR "),[l,i]=await Promise.all([e.request(`/organizations/${t}/sessions/`,{query:{...a,query:c,groupBy:["project","release"]},signal:o}),e.request(`/organizations/${t}/sessions/`,{query:{...a,groupBy:["project"]},signal:o})]);return $h(r,l.data,i.data)}function yl({query:e,statsPeriod:t=Ms,project:r,environment:H,sort:n=dl,cursor:o,limit:s=Xh,signal:a}){let c=Wh.has(n);return{query:{query:e||void 0,statsPeriod:t,project:r,environment:H,cursor:o,per_page:s,status:"open",sort:n,flatten:c?"1":void 0,summaryStatsPeriod:t},signal:a}}function Fh(e){let t=jt(e.version)??"",r=Cr(e.versionInfo),H=Cr(e.lastDeploy),n=H&&jt(H.dateFinished);return{version:t,shortVersion:jt(e.shortVersion)??t,package:r?jt(r.package):void 0,dateCreated:jt(e.dateCreated)??"",dateReleased:jt(e.dateReleased),lastDeploy:n?{environment:jt(H.environment)??"",dateFinished:n}:void 0,commitCount:$t(e.commitCount)??0,authorCount:Jr(e.authors).length,projects:Jr(e.projects).map(Uh)}}function Uh(e){let t=jt(e.slug)??"";return{id:$t(e.id)??-1,slug:t,name:jt(e.name)??t,platform:jt(e.platform),newGroups:$t(e.newGroups)??0}}function Yh(e){let t=Cr(e);if(!t)return;return{adoption:$t(t.sessionsAdoption),crashFreeSessions:$t(t.crashFreeSessions),crashFreeUsers:$t(t.crashFreeUsers),sessionsCrashed:$t(t.sessionsCrashed),totalSessions24h:$t(t.totalSessions24h)}}function $h(e,t,r){let H=ll(t,!0),n=ll(r,!1),o=Math.max(Al(t),Al(r)),s=new Map;for(let a of e)for(let c of a.projects){let l=H.get(Qr(a.version,c.id)),i=n.get(String(c.id));if(!l&&!i)continue;let A=Math.max(o,l?.length??0,i?.length??0);s.set(Qr(a.version,c.id),{release:ul(l,A),project:ul(i,A)})}return s}function ll(e,t){let r=Cr(e),H=new Map;for(let n of Jr(r?.groups)){let o=Cr(n.by),s=$t(o?.project),a=jt(o?.release),c=Cr(n.series)?.["sum(session)"];if(s===void 0||!Array.isArray(c))continue;if(t&&!a)continue;let l=t?Qr(a,s):String(s);H.set(l,c.map((i)=>$t(i)??0))}return H}function Al(e){let t=Cr(e)?.intervals;return Array.isArray(t)?t.length:0}function ul(e,t){return Array.from({length:t},(r,H)=>e?.[H]??0)}function Vh(e){return`"${e.replaceAll("\\","\\\\").replaceAll('"',"\\\"")}"`}function Jr(e){return Array.isArray(e)?e.filter(fl):[]}function fl(e){return typeof e==="object"&&e!==null}function Cr(e){return fl(e)?e:void 0}function jt(e){if(e===void 0||e===null||e==="")return;return String(e)}function $t(e){if(e===void 0||e===null||e==="")return;let t=Number(e);return Number.isFinite(t)?t:void 0}import{beginRequest as pj,log as mj,reportError as gj}from"h:7___________________________________";var Sl="https://sentry.io/api/0";class dr extends Error{status;retryable;retryAfterSeconds;constructor(e,{status:t,retryable:r,retryAfterSeconds:H}){super(e);this.name="ApiError",this.status=t,this.retryable=r,this.retryAfterSeconds=H}}var Zh=50,tH="14d",Ns=[{value:"-started_at",label:"Newest"},{value:"started_at",label:"Oldest"},{value:"-activity",label:"Activity (high-low)"},{value:"activity",label:"Activity (low-high)"},{value:"-duration",label:"Longest duration"},{value:"duration",label:"Shortest duration"},{value:"-count_errors",label:"Most errors"},{value:"count_errors",label:"Fewest errors"},{value:"-count_dead_clicks",label:"Most dead clicks"},{value:"count_dead_clicks",label:"Fewest dead clicks"},{value:"-count_rage_clicks",label:"Most rage clicks"},{value:"count_rage_clicks",label:"Fewest rage clicks"},{value:"browser.name",label:"Browser (A-Z)"},{value:"-browser.name",label:"Browser (Z-A)"},{value:"os.name",label:"OS (A-Z)"},{value:"-os.name",label:"OS (Z-A)"}],_l="-started_at";function kl(e){return Ns.some((t)=>t.value===e)?e:_l}var zh=["activity","browser","count_dead_clicks","count_errors","count_infos","count_rage_clicks","count_segments","count_urls","count_warnings","device","dist","duration","environment","error_ids","finished_at","has_viewed","id","info_ids","is_archived","os","platform","project_id","releases","sdk","started_at","tags","trace_ids","urls","user","warning_ids"],Jh=["id","title","issue","level","project.name","timestamp"],eL=Sl.replace(/\/api\/0\/?$/,"");async function hl(e,{org:t,query:r="",statsPeriod:H=tH,project:n,environment:o,sort:s=_l,cursor:a,limit:c=Zh,signal:l}){let i=await xc({...e.generatedOptions(l),path:{organization_id_or_slug:t},query:{field:[...zh],sort:s,query:r||void 0,statsPeriod:H,per_page:c,project:Xe(n),environment:o,queryReferrer:"replayList"}},a);return{data:tL(i.data).map(wl),nextCursor:i.nextCursor??null}}async function Ll(e,{org:t,replayId:r,signal:H}){let{data:n}=await Lc({...e.generatedOptions(H),path:{organization_id_or_slug:t,replay_id:r}}),o=n.data;if(!eH(o))throw Error(`Replay ${r} was not found.`);return wl(o,0)}async function Il(e,{org:t,replayId:r,statsPeriod:H=tH,environment:n,signal:o}){let s=await xt(e,{org:t,dataset:"errors",fields:Jh,sort:"timestamp",query:`replayId:[${r}]`,statsPeriod:H,project:Xe(),environment:n,referrer:"sentry-tui.replay-details",signal:o});return{data:s.rows.map(rL),nextCursor:s.nextCursor}}function bl(e,t){return`${eL}/organizations/${e}/explore/replays/${t}/`}function tL(e){let t=Array.isArray(e)?e:eH(e)?e.data:void 0;return Array.isArray(t)?t.filter(eH):[]}function eH(e){return typeof e==="object"&&e!==null&&!Array.isArray(e)}function wl(e,t){return{id:at(e.id)??String(t),projectId:at(e.project_id),isArchived:e.is_archived===!0,hasViewed:e.has_viewed===!0,user:nL(e.user),startedAt:at(e.started_at)??"",finishedAt:at(e.finished_at)??"",durationSec:Nr(e.duration),os:Qs(e.os),browser:Qs(e.browser),device:HL(e.device),sdk:Qs(e.sdk),platform:at(e.platform),environment:at(e.environment),releases:yn(e.releases),activity:Nr(e.activity),countErrors:Nr(e.count_errors),countDeadClicks:Nr(e.count_dead_clicks),countRageClicks:Nr(e.count_rage_clicks),countUrls:Nr(e.count_urls),countSegments:Nr(e.count_segments),errorIds:yn(e.error_ids),traceIds:yn(e.trace_ids),urls:yn(e.urls)}}function rL(e,t){return{id:je(e,"id")??String(t),title:je(e,"title")??"",issue:je(e,"issue"),level:je(e,"level"),projectName:je(e,"project.name"),timestamp:je(e,"timestamp")??""}}function at(e){if(e===void 0||e===null||e==="")return;return String(e)}function Nr(e){if(e===void 0||e===null||e==="")return;let t=Number(e);return Number.isFinite(t)?t:void 0}function yn(e){if(!Array.isArray(e))return[];return e.map(at).filter((t)=>t!==void 0)}function Qs(e){if(!eH(e))return{};return{name:at(e.name),version:at(e.version)}}function HL(e){if(!eH(e))return{};return{name:at(e.name),version:at(e.model_id),brand:at(e.brand),family:at(e.family)}}function nL(e){if(!eH(e))return{};return{displayName:at(e.display_name),email:at(e.email),id:at(e.id),ip:at(e.ip),username:at(e.username)}}function js(e){if(e===void 0||e<0)return"\u2014";let t=Math.round(e),r=t%60,H=Math.floor(t/60)%60,n=Math.floor(t/3600),o=String(H).padStart(2,"0"),s=String(r).padStart(2,"0");return n>0?`${n}:${o}:${s}`:`${H}:${s}`}function TH(e){if(!e.name)return"\u2014";let t=e.version;if(!t||!/^\d/.test(t))return e.name;return`${e.name} ${t.split(".")[0]}`}function xH(e){return e.slice(0,8)}var Tl="All Views";function fn(e){return`is:unresolved issue.category:[${e.join(",")}]`}var Sn=[{label:"Feed",query:bs,description:"High and medium priority issues across your projects."},{label:"Inbox",query:"is:unresolved issue.progress:[fix_proposed,diagnosed,assigned,identified,fix_applied] assigned_or_suggested:me issue.category:[error,mobile,frontend,db_query,http_client,configuration]",sort:"progress",description:"Issues assigned or suggested to you that Seer has moved along."},{label:"Errors & Outages",query:fn(["error","outage"]),description:"Issues that break functionality such as application errors, failed jobs, or downtime incidents."},{label:"Breached Metrics",query:fn(["metric"]),description:"Issues that indicate degraded system behavior such as endpoint latency regressions or metric threshold violations."},{label:"Warnings",query:fn(["db_query","http_client","frontend","mobile"]),description:"Issues in your code or configuration that may not break functionality but can degrade performance or user experience."},{label:"Configuration",query:fn(["configuration"]),description:"Issues detected from SDK or tooling configuration problems that degrade your ability to debug telemetry using Sentry."},{label:"User Feedback",query:"issue.category:feedback status:unresolved",description:"Feedback submitted by your users."},{label:"Recently Run",query:"is:unresolved has:issue.seer_last_run",description:"Issues where Seer has identified a root cause."}],oL=new Map(Sn.map((e)=>[e.label,e]));function xl(e){return oL.get(e)}var Lj=Sn[0];var Ml={"issues.feed":{pathname:"/issues/"},"issues.inbox":{pathname:"/issues/inbox/"},"issues.errors-outages":{pathname:"/issues/errors-outages/"},"issues.breached-metrics":{pathname:"/issues/breached-metrics/"},"issues.warnings":{pathname:"/issues/warnings/"},"issues.configuration":{pathname:"/issues/sentry-configuration/"},"issues.user-feedback":{pathname:"/issues/feedback/"},"issues.recently-run":{pathname:"/issues/autofix/recent/"},"issues.all-views":{pathname:"/issues/views/"},"explore.traces":{pathname:"/explore/traces/"},"explore.logs":{pathname:"/explore/logs/"},"explore.metrics":{pathname:"/explore/metrics/"},"explore.errors":{pathname:"/explore/errors-v2/"},"explore.discover":{pathname:"/explore/discover/homepage/"},"explore.profiles":{pathname:"/explore/profiles/"},"explore.replays":{pathname:"/explore/replays/"},"explore.releases":{pathname:"/explore/releases/"},"explore.conversations":{pathname:"/explore/agents/"},"explore.all-queries":{pathname:"/explore/saved-queries/"},"dashboards.all":{pathname:"/dashboards/"},"dashboards.sentry-built":{pathname:"/dashboards/",query:{filter:"onlyPrebuilt",sort:"mostPopular"}},"monitors.all":{pathname:"/monitors/"},"monitors.mine":{pathname:"/monitors/my-monitors/"},"monitors.error":{pathname:"/monitors/errors/"},"monitors.metric":{pathname:"/monitors/metrics/"},"monitors.cron":{pathname:"/monitors/crons/"},"monitors.uptime":{pathname:"/monitors/uptime/"},"monitors.mobile-build":{pathname:"/monitors/mobile-builds/"},"monitors.alerts":{pathname:"/monitors/alerts/"},"seer.ask":{pathname:"/issues/autofix/"}},Ds="explore.events",jr="monitors.detectors",Rs="issues.saved-view",vs="explore.replay-detail",Pl="dashboards.list",Cl="dashboards.detail",Gs={query:"",statsPeriod:il},sL={query:"",statsPeriod:tH},ql={Feed:"issues.feed",Inbox:"issues.inbox","Errors & Outages":"issues.errors-outages","Breached Metrics":"issues.breached-metrics",Warnings:"issues.warnings",Configuration:"issues.configuration","User Feedback":"issues.user-feedback","Recently Run":"issues.recently-run"},aL=[...Sn.map((e)=>({id:ql[e.label],group:"issues",item:e.label,kind:"table",production:Ml[ql[e.label]],defaults:{query:e.query,sort:e.sort,statsPeriod:Tt}})),Je("issues.all-views","issues",Tl,"table")],Es=[...aL,_n("explore.traces","Traces"),iL(),_n("explore.metrics","Metrics"),_n("explore.errors","Errors"),cL(),lL(),Je("explore.replays","explore","Replays","table",void 0,sL),_n("explore.conversations","Conversations"),Je("explore.discover","explore","Discover","table"),Je("explore.all-queries","explore","All Queries","table"),Je("dashboards.all","dashboards","All Dashboards","table",Pl),Je("dashboards.sentry-built","dashboards","Sentry Built","table",Pl),Je("monitors.all","monitors","All Monitors","table",jr),Je("monitors.mine","monitors","My Monitors","table",jr),Je("monitors.error","monitors","Error","table",jr),Je("monitors.metric","monitors","Metric","table",jr),Je("monitors.cron","monitors","Cron","table",jr),Je("monitors.uptime","monitors","Uptime","table",jr),Je("monitors.mobile-build","monitors","Mobile Build","table",jr),Je("monitors.alerts","monitors","Alerts","table"),Je("seer.ask","seer","Ask Seer","chat")];function iL(){return{...Je("explore.logs","explore","Logs","table",Ds,Gs),openLabel:"details"}}function cL(){return{...Je("explore.profiles","explore","Profiles","table",Ds,Gs),openLabel:"details"}}function lL(){return{...Je("explore.releases","explore","Releases","cards",void 0,{query:"",statsPeriod:Ms}),openLabel:"expand"}}function _n(e,t){return{...Je(e,"explore",t,"table",Ds,Gs),openLabel:"details"}}function Je(e,t,r,H,n,o){return{id:e,group:t,item:r,kind:H,production:Ml[e],stateKey:n,defaults:o}}var AL=new Map(Es.map((e)=>[Ql(e.group,e.item),e])),uL=new Map(Es.map((e)=>[e.id,e]));function Ql(e,t){return`${e}::${t}`}function Nl(e,t){return AL.get(Ql(e,t))}function _r(e){let t=uL.get(e);if(!t)throw Error(`Unknown screen id: ${e}`);return t}function Dr(e){return e.stateKey??e.id}function jl(e){return Es.find((t)=>Dr(t)===e)?.defaults??{}}import{countMetric as Dl}from"h:7___________________________________";var dL=/^[a-z0-9][a-z0-9_-]*$/i,Rl=/^\d+$/,pL=new Set(["www","us","eu"]),mL={inbox:"issues.inbox","errors-outages":"issues.errors-outages","breached-metrics":"issues.breached-metrics",warnings:"issues.warnings","sentry-configuration":"issues.configuration",feedback:"issues.user-feedback","user-feedback":"issues.user-feedback",alerts:"monitors.alerts"},gL={traces:"explore.traces",logs:"explore.logs",metrics:"explore.metrics",errors:"explore.errors","errors-v2":"explore.errors",profiles:"explore.profiles",profiling:"explore.profiles",replays:"explore.replays",releases:"explore.releases",agents:"explore.conversations",conversations:"explore.conversations","saved-queries":"explore.all-queries"},OL={"my-monitors":"monitors.mine",errors:"monitors.error",metrics:"monitors.metric",crons:"monitors.cron",uptime:"monitors.uptime","mobile-builds":"monitors.mobile-build",alerts:"monitors.alerts"};function kn(e){let t=e.trim();if(!t)return Rr("empty","Enter a full Sentry production URL.");let r;try{r=new URL(t)}catch{return Rr("malformed","That is not a valid URL.")}if(r.protocol!=="https:")return Rr("protocol","Sentry production URLs must use https.");if(!yL(r.hostname))return Rr("host","That URL is not hosted on sentry.io.");let H;try{H=r.pathname.split("/").filter(Boolean).map(decodeURIComponent)}catch{return Rr("malformed","The URL path contains invalid escaping.")}let n;if(H[0]==="organizations")n=H[1],H=H.slice(2);let o=fL(r.hostname);if(n&&o&&n!==o)return Rr("organization_mismatch","The organizations in the Sentry hostname and URL path do not match.");let s=SL(H,r.searchParams);if(s.kind==="unsupported")return s;let a=n??o;if(!a||!dL.test(a))return Rr("organization","The URL does not identify a Sentry organization.");let c=xL(r.searchParams);return{kind:"location",location:{org:a,...s.location,...c===void 0?{}:{screen:"seer.ask"},state:TL(r.searchParams),...c===void 0?{}:{seerRunId:c}}}}function hn(e){let t=new URL(`https://${e.org}.sentry.io`),r=PL(e);t.pathname=r.pathname,qL(t.searchParams,e.state);for(let[H,n]of Object.entries(r.query??{}))t.searchParams.set(H,n);if(e.seerRunId!==void 0)t.pathname="/issues/",t.searchParams.set("explorerRunId",String(e.seerRunId));return t.toString()}function vl(e,t){if(e.kind==="invalid")Dl("nav.url.invalid",{surface:t,reason:e.reason});else Dl("nav.url.unsupported",{surface:t,family:e.family})}function yL(e){return e==="sentry.io"||e.endsWith(".sentry.io")}function fL(e){if(!e.endsWith(".sentry.io"))return;let r=e.slice(0,-10);if(!r||r.includes(".")||pL.has(r))return;return r}function SL(e,t){let[r,...H]=e;if(r==="issues")return _L(H);if(r==="explore")return kL(H,t);if(r==="dashboard"||r==="dashboards")return IL(r,H,t);if(r==="monitors")return bL(H);if(r==="traces")return PH("explore.traces",H,"explore");if(r==="logs")return PH("explore.logs",H,"explore");if(r==="profiling")return PH("explore.profiles",H,"explore");if(r==="replays")return wL(H);if(r==="releases")return PH("explore.releases",H,"explore");if(r==="discover")return hL(H,t);if(r==="errors-v2")return PH("explore.errors",H,"explore");if(r==="feedback"&&H.length===0)return Me("issues.user-feedback");return Dt(r==="settings"?"settings":r==="projects"?"projects":"other")}function _L(e){if(e.length===0)return Me("issues.feed");let t=mL[e[0]];if(t&&e.length===1)return Me(t);if(e[0]==="views"&&e.length===1)return Me("issues.all-views");if(e[0]==="views"&&e[1]&&e.length===2)return Me("issues.all-views",{kind:"issue_view",viewId:e[1]});if(e[0]==="autofix"&&e.length===1)return Me("seer.ask");if(e[0]==="autofix"&&e[1]==="recent"&&e.length===2)return Me("issues.recently-run");let r=e[0];if(r&&Rl.test(r)){if(e.length===1)return Me("issues.feed",{kind:"issue",issueId:r});if(e[1]==="events"&&e[2]&&e.length===3)return Me("issues.feed",{kind:"issue",issueId:r,eventId:e[2]})}return Dt("issues")}function kL(e,t){let r=e[0];if(!r)return Dt("explore");if(r==="replays"){if(e.length===1)return Me("explore.replays");if(e.length===2&&e[1])return Me("explore.replays",{kind:"replay",replayId:e[1]});return Dt("explore")}if(r==="discover"){if(e.length===1||e.length===2&&["homepage","queries"].includes(e[1]))return Me("explore.discover");if(e.length===2&&e[1]==="results"){let o=LL(t.get("dataset"));return o?Me(o):Dt("explore")}return Dt("explore")}let H=gL[r];if(!H||e.length!==1)return Dt("explore");let n=t.get("id");return n?Me(H,{kind:"saved_query",queryId:n,source:"explore",resultScreen:H,dataset:t.get("dataset")??void 0,title:t.get("title")??void 0}):Me(H)}function hL(e,t){if(e.length===0)return Me("explore.discover");if(e.length!==1||e[0]!=="results")return Dt("explore");let r=t.get("id");return r?Me("explore.discover",{kind:"saved_query",queryId:r,source:"discover",resultScreen:"explore.discover",dataset:t.get("dataset")??void 0,title:t.get("title")??void 0}):Me("explore.discover")}function LL(e){switch(e?.toLowerCase()){case"spans":return"explore.traces";case"logs":return"explore.logs";case"metrics":case"tracemetrics":return"explore.metrics";case"errors":case"issueplatform":return"explore.errors";default:return}}function IL(e,t,r){if(e==="dashboards"&&t.length===0)return Me(r.get("filter")==="onlyPrebuilt"?"dashboards.sentry-built":"dashboards.all");if(t.length===1&&t[0])return Me("dashboards.all",{kind:"dashboard",dashboardId:t[0]});return Dt("dashboards")}function bL(e){if(e.length===0)return Me("monitors.all");let t=OL[e[0]];if(t&&e.length===1)return Me(t);if(e.length===1&&e[0]&&Rl.test(e[0]))return Me("monitors.all",{kind:"monitor",detectorId:e[0]});return Dt("monitors")}function wL(e){if(e.length===0)return Me("explore.replays");if(e.length===1&&e[0])return Me("explore.replays",{kind:"replay",replayId:e[0]});return Dt("explore")}function PH(e,t,r){return t.length===0?Me(e):Dt(r)}function Me(e,t){return{kind:"matched",location:{screen:e,detail:t}}}function TL(e){let t={},r=e.get("query"),H=e.get("statsPeriod"),n=e.get("sort"),o=e.getAll("project").filter(Boolean),s=e.getAll("environment").filter(Boolean),a=e.getAll("field").filter(Boolean);if(r!==null)t.query=r;if(H)t.statsPeriod=H;if(n)t.sort=n;if(o.length>0)t.selectedProjects=o;if(s.length>0)t.selectedEnvs=s;if(a.length>0)t.fields=a;return Object.keys(t).length>0?t:void 0}function xL(e){let t=e.get("explorerRunId");if(!t)return;return/^\d+$/.test(t)?Number(t):t}function PL(e){let t=e.detail;if(!t)return _r(e.screen).production;switch(t.kind){case"issue":return{pathname:t.eventId?`/issues/${encodeURIComponent(t.issueId)}/events/${encodeURIComponent(t.eventId)}/`:`/issues/${encodeURIComponent(t.issueId)}/`};case"dashboard":return{pathname:`/dashboard/${encodeURIComponent(t.dashboardId)}/`};case"replay":return{pathname:`/explore/replays/${encodeURIComponent(t.replayId)}/`};case"monitor":return{pathname:`/monitors/${encodeURIComponent(t.detectorId)}/`};case"issue_view":return{pathname:`/issues/views/${encodeURIComponent(t.viewId)}/`};case"saved_query":return{...t.source==="discover"?{pathname:"/discover/results/"}:_r(t.resultScreen).production,query:{id:t.queryId,...t.dataset?{dataset:t.dataset}:{},...t.title?{title:t.title}:{}}}}}function qL(e,t){if(!t)return;if(t.query!==void 0)e.set("query",t.query);if(t.statsPeriod)e.set("statsPeriod",t.statsPeriod);if(t.sort)e.set("sort",t.sort);for(let r of t.selectedProjects??[])e.append("project",r);for(let r of t.selectedEnvs??[])e.append("environment",r);for(let r of t.fields??[])e.append("field",r)}function Rr(e,t){return{kind:"invalid",reason:e,message:t}}function Dt(e){return{kind:"unsupported",family:e,message:"That Sentry page is not implemented in sentry-tui yet."}}var Xs="sentry-tui.session",Bs=1;function Kl(e){return{kind:Xs,version:Bs,...e}}function Xl(e){if(!vr(e)||e.kind!==Xs)return;switch(e.version){case Bs:return ML(e);default:return}}function ML(e){let t=Bl(e.org),r=CL(e.navigation),H=jL(e.projectsByOrg),n=DL(e.seerCodeModeByOrg),o=El(e.seerBashModeByOrg),s=El(e.seerShowThinkingByOrg),a=RL(e.seerRunId);if(!t||!r||!H||!n||!o||!s||a===null)return;let c=Gl(r.location,t);if(!c)return;let l=[];for(let A of r.viewStack){let u=Gl(A,t);if(!u?.detail)return;l.push(u)}return{snapshot:{kind:Xs,version:Bs,org:t,navigation:r,projectsByOrg:H,seerCodeModeByOrg:n,seerBashModeByOrg:o,seerShowThinkingByOrg:s,...a===void 0?{}:{seerRunId:a}},location:c,viewStack:l}}function CL(e){if(!vr(e)||typeof e.location!=="string")return;if(!Array.isArray(e.viewStack)||e.viewStack.length>32||!e.viewStack.every((r)=>typeof r==="string"))return;let t=QL(e.screens);if(!t)return;return{location:e.location,viewStack:[...e.viewStack],screens:t}}function QL(e){if(!vr(e))return;let t=Object.entries(e);if(t.length>256)return;let r=Object.create(null);for(let[H,n]of t){let o=NL(n);if(!H||!o)return;r[H]=o}return r}function NL(e){if(!vr(e))return;let t=e.source===null?null:Bl(e.source),r=e.selected,H=Ks(e.selectedProjects),n=Ks(e.selectedEnvs);if(t===void 0&&e.source!==null||!Number.isSafeInteger(r)||r<0||typeof e.query!=="string"||typeof e.sort!=="string"||typeof e.statsPeriod!=="string"||!H||!n||typeof e.detailOpen!=="boolean")return;return{source:t??null,selected:r,query:e.query,sort:e.sort,statsPeriod:e.statsPeriod,selectedProjects:H,selectedEnvs:n,detailOpen:e.detailOpen}}function Gl(e,t){let r=kn(e);return r.kind==="location"&&r.location.org===t?r.location:void 0}function jL(e){if(!vr(e))return;let t=Object.create(null);for(let[r,H]of Object.entries(e)){let n=Ks(H);if(!r||!n)return;t[r]=n}return t}function El(e){if(!vr(e))return;let t=Object.create(null);for(let[r,H]of Object.entries(e)){if(!r||typeof H!=="boolean")return;t[r]=H}return t}function DL(e){if(!vr(e))return;let t=Object.create(null);for(let[r,H]of Object.entries(e)){if(!r||H!=="off"&&H!=="on"&&H!=="only")return;t[r]=H}return t}function Ks(e){return Array.isArray(e)&&e.every((t)=>typeof t==="string")?[...e]:void 0}function RL(e){if(e===void 0)return;if(typeof e==="string"&&e.length>0)return e;if(typeof e==="number"&&Number.isFinite(e))return e;return null}function Bl(e){return typeof e==="string"&&e.length>0?e:void 0}function vr(e){return typeof e==="object"&&e!==null&&!Array.isArray(e)}import{createContext as GL,useContext as EL,useEffect as KL,useState as XL}from"h:0__";var Ws={mode:"dark",bg:"#0D0A10",panel:"#1B1821",panelAlt:"#24202B",chip:{surface:"#2D2835",rim:"#46404F",rimShadow:"#393442"},selected:"#26212E",border:"#393442",borderFocused:"#7553FF",text:"#E7E5EA",muted:"#A49EAE",subText:"#958E9F",accent:"#7553FF",danger:"#F6938C",warning:"#FFCE00",success:"#5ECE73",highlight:"#FF45A8",hotkey:"#FF45A8",syntax:{keyword:"#F6938C",string:"#5ECE73",number:"#FF9838",comment:"#A49EAE",function:"#9A94F1",type:"#FFCE00",variable:"#E7E5EA",constant:"#FF9838",operator:"#A49EAE",punctuation:"#A49EAE"},level:{fatal:"#C10000",error:"#FF9838",warning:"#FFCE00",info:"#7553FF",sample:"#7553FF",unknown:"#958E9F"},status:{resolved:"#5ECE73",regressed:"#9A94F1",escalating:"#F6938C",new:"#FFCE00",ongoing:"#A49EAE",archived:"#A49EAE"}},vL={mode:"light",bg:"#FFFFFF",panel:"#F8F8F9",panelAlt:"#EEEEF0",chip:{surface:"#E8E8EB",rim:"#CDCCD2",rimShadow:"#B1AFB8"},selected:"#E8E8EB",border:"#C0BEC6",borderFocused:"#5827D6",text:"#302E36",muted:"#5B5864",subText:"#6A6772",accent:"#5827D6",danger:"#C10000",warning:"#813100",success:"#007800",highlight:"#9F005F",hotkey:"#9F005F",syntax:{keyword:"#C10000",string:"#007800",number:"#934100",comment:"#5B5864",function:"#5533B2",type:"#813100",variable:"#302E36",constant:"#C10000",operator:"#5B5864",punctuation:"#5B5864"},level:{fatal:"#780000",error:"#C10000",warning:"#813100",info:"#5827D6",sample:"#5827D6",unknown:"#5B5864"},status:{resolved:"#007800",regressed:"#5533B2",escalating:"#C10000",new:"#813100",ongoing:"#5B5864",archived:"#5B5864"}};function Fl(e){return e==="light"?vL:Ws}var Wl=new Map;async function Ul(e){let t=Wl.get(e.mode);if(t)return t;let{SyntaxStyle:r}=await import("h:3__________"),H=r.fromStyles({default:{fg:e.text},keyword:{fg:e.syntax.keyword},string:{fg:e.syntax.string},number:{fg:e.syntax.number},comment:{fg:e.syntax.comment,italic:!0},function:{fg:e.syntax.function},type:{fg:e.syntax.type},variable:{fg:e.syntax.variable},constant:{fg:e.syntax.constant},operator:{fg:e.syntax.operator},punctuation:{fg:e.syntax.punctuation}});return Wl.set(e.mode,H),H}import{jsxDEV as BL}from"h:6___________________________";var Yl=GL(Ws);function S(){return EL(Yl)}function $l({source:e,initialMode:t,fixed:r,children:H}){let[n,o]=XL(t);return KL(()=>{if(r)return;let s=(a)=>o(a);if(e.on("theme_mode",s),e.themeMode)o(e.themeMode);return()=>{e.off("theme_mode",s)}},[r,e]),BL(Yl.Provider,{value:Fl(n),children:H},void 0,!1,void 0,this)}var Pt={RESOLVED:"resolved",UNRESOLVED:"unresolved",IGNORED:"ignored",REPROCESSING:"reprocessing"},rH={ARCHIVED_UNTIL_ESCALATING:"archived_until_escalating",ARCHIVED_UNTIL_CONDITION_MET:"archived_until_condition_met",ARCHIVED_FOREVER:"archived_forever",ESCALATING:"escalating",ONGOING:"ongoing",REGRESSED:"regressed",NEW:"new"};function HH(e,t){if(!Array.isArray(e))return;return e.find((r)=>r.type===t)}function Vl(e,t){let r={...e};if(t.status!==void 0)r.status=t.status;if(t.substatus!==void 0)r.substatus=t.substatus;if(t.isBookmarked!==void 0)r.isBookmarked=t.isBookmarked;if(t.isSubscribed!==void 0)r.isSubscribed=t.isSubscribed;if(t.hasSeen!==void 0)r.hasSeen=t.hasSeen;if(t.priority!==void 0)r.priority=t.priority;if(t.inbox===!1)r.hasSeen=!0;return r}var Fs=[{commandId:"sentry.issue.resolve",pastTense:"resolved",update:(e)=>e.status===Pt.RESOLVED?null:{status:Pt.RESOLVED}},{commandId:"sentry.issue.archive",pastTense:"archived",update:(e)=>e.status===Pt.IGNORED?{status:Pt.UNRESOLVED}:{status:Pt.IGNORED,substatus:rH.ARCHIVED_UNTIL_ESCALATING}},{commandId:"sentry.issue.unresolve",pastTense:"unresolved",update:(e)=>e.status===Pt.UNRESOLVED?null:{status:Pt.UNRESOLVED}},{commandId:"sentry.issue.bookmark",pastTense:"bookmarked",update:(e)=>({isBookmarked:!e.isBookmarked})},{commandId:"sentry.issue.markReviewed",pastTense:"marked reviewed",update:(e)=>e.hasSeen?null:{inbox:!1,hasSeen:!0}}];function Ln(e){return Fs.find((t)=>t.commandId===e)}function Zl(e){switch(e){case"sentry.issue.resolve":return"already resolved";case"sentry.issue.unresolve":return"already unresolved";case"sentry.issue.markReviewed":return"already reviewed";default:return"nothing to do"}}import{breadcrumb as j1,identify as D1,log as R1}from"h:7___________________________________";import{useEffect as yI,useMemo as fI,useState as OA}from"h:0__";import{useKeyboard as SI,useTerminalDimensions as _I}from"h:4___________";function Us({onlyFirst:e=!1}={}){return new RegExp("(?:\\u001B\\][^\\u0007\\u001B\\u009C]*(?:\\u0007|\\u001B\\u005C|\\u009C))|[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]",e?void 0:"g")}var WL=Us();function Ys(e){if(typeof e!=="string")throw TypeError(`Expected a \`string\`, got \`${typeof e}\``);return e.replace(WL,"")}var zl=161,Jl=1114109,eA=[161,161,164,164,167,168,170,170,173,174,176,180,182,186,188,191,198,198,208,208,215,216,222,225,230,230,232,234,236,237,240,240,242,243,247,250,252,252,254,254,257,257,273,273,275,275,283,283,294,295,299,299,305,307,312,312,319,322,324,324,328,331,333,333,338,339,358,359,363,363,462,462,464,464,466,466,468,468,470,470,472,472,474,474,476,476,593,593,609,609,708,708,711,711,713,715,717,717,720,720,728,731,733,733,735,735,768,879,913,929,931,937,945,961,963,969,1025,1025,1040,1103,1105,1105,8208,8208,8211,8214,8216,8217,8220,8221,8224,8226,8228,8231,8240,8240,8242,8243,8245,8245,8251,8251,8254,8254,8308,8308,8319,8319,8321,8324,8364,8364,8451,8451,8453,8453,8457,8457,8467,8467,8470,8470,8481,8482,8486,8486,8491,8491,8531,8532,8539,8542,8544,8555,8560,8569,8585,8585,8592,8601,8632,8633,8658,8658,8660,8660,8679,8679,8704,8704,8706,8707,8711,8712,8715,8715,8719,8719,8721,8721,8725,8725,8730,8730,8733,8736,8739,8739,8741,8741,8743,8748,8750,8750,8756,8759,8764,8765,8776,8776,8780,8780,8786,8786,8800,8801,8804,8807,8810,8811,8814,8815,8834,8835,8838,8839,8853,8853,8857,8857,8869,8869,8895,8895,8978,8978,9312,9449,9451,9547,9552,9587,9600,9615,9618,9621,9632,9633,9635,9641,9650,9651,9654,9655,9660,9661,9664,9665,9670,9672,9675,9675,9678,9681,9698,9701,9711,9711,9733,9734,9737,9737,9742,9743,9756,9756,9758,9758,9792,9792,9794,9794,9824,9825,9827,9829,9831,9834,9836,9837,9839,9839,9886,9887,9919,9919,9926,9933,9935,9939,9941,9953,9955,9955,9960,9961,9963,9969,9972,9972,9974,9977,9979,9980,9982,9983,10045,10045,10102,10111,11094,11097,12872,12879,57344,63743,65024,65039,65533,65533,127232,127242,127248,127277,127280,127337,127344,127373,127375,127376,127387,127404,917760,917999,983040,1048573,1048576,1114109],tA=12288,rA=65510,HA=[12288,12288,65281,65376,65504,65510];var nA=4352,oA=262141,$s=[4352,4447,8986,8987,9001,9002,9193,9196,9200,9200,9203,9203,9725,9726,9748,9749,9776,9783,9800,9811,9855,9855,9866,9871,9875,9875,9889,9889,9898,9899,9917,9918,9924,9925,9934,9934,9940,9940,9962,9962,9970,9971,9973,9973,9978,9978,9981,9981,9989,9989,9994,9995,10024,10024,10060,10060,10062,10062,10067,10069,10071,10071,10133,10135,10160,10160,10175,10175,11035,11036,11088,11088,11093,11093,11904,11929,11931,12019,12032,12245,12272,12287,12289,12350,12353,12438,12441,12543,12549,12591,12593,12686,12688,12773,12783,12830,12832,12871,12880,42124,42128,42182,43360,43388,44032,55203,63744,64255,65040,65049,65072,65106,65108,65126,65128,65131,94176,94180,94192,94198,94208,101589,101631,101662,101760,101874,110576,110579,110581,110587,110589,110590,110592,110882,110898,110898,110928,110930,110933,110933,110948,110951,110960,111355,119552,119638,119648,119670,126980,126980,127183,127183,127374,127374,127377,127386,127488,127490,127504,127547,127552,127560,127568,127569,127584,127589,127744,127776,127789,127797,127799,127868,127870,127891,127904,127946,127951,127955,127968,127984,127988,127988,127992,128062,128064,128064,128066,128252,128255,128317,128331,128334,128336,128359,128378,128378,128405,128406,128420,128420,128507,128591,128640,128709,128716,128716,128720,128722,128725,128728,128732,128735,128747,128748,128756,128764,128992,129003,129008,129008,129292,129338,129340,129349,129351,129535,129648,129660,129664,129674,129678,129734,129736,129736,129741,129756,129759,129770,129775,129784,131072,196605,196608,262141];var In=(e,t)=>{let r=0,H=Math.floor(e.length/2)-1;while(r<=H){let n=Math.floor((r+H)/2),o=n*2;if(t<e[o])H=n-1;else if(t>e[o+1])r=n+1;else return!0}return!1};var sA=19968,[FL,UL]=YL($s);function YL(e){let t=e[0],r=e[1];for(let H=0;H<e.length;H+=2){let n=e[H],o=e[H+1];if(sA>=n&&sA<=o)return[n,o];if(o-n>r-t)t=n,r=o}return[t,r]}var aA=(e)=>{if(e<zl||e>Jl)return!1;return In(eA,e)},iA=(e)=>{if(e<tA||e>rA)return!1;return In(HA,e)};var cA=(e)=>{if(e>=FL&&e<=UL)return!0;if(e<nA||e>oA)return!1;return In($s,e)};function $L(e){if(!Number.isSafeInteger(e))throw TypeError(`Expected a code point, got \`${typeof e}\`.`)}function qH(e,{ambiguousAsWide:t=!1}={}){if($L(e),iA(e)||cA(e)||t&&aA(e))return 2;return 1}var VL=new Intl.Segmenter,lA=/^(?:\p{Default_Ignorable_Code_Point}|\p{Control}|\p{Format}|\p{Nonspacing_Mark}|\p{Enclosing_Mark}|\p{Surrogate})+$/v,ZL=/^[\p{Default_Ignorable_Code_Point}\p{Control}\p{Format}\p{Nonspacing_Mark}\p{Enclosing_Mark}\p{Surrogate}]+/v,zL=/\p{Spacing_Mark}/v,JL=/^\p{RGI_Emoji}$/v,eI=/^[\d#*]\u20E3$/,tI=/\p{Extended_Pictographic}/gu;function rI(e){if(e.length>50)return!1;if(eI.test(e))return!0;if(e.includes("\u200D")){let t=e.match(tI);return t!==null&&t.length>=2}return!1}function HI(e){return e.replace(ZL,"")}function nI(e){return lA.test(e)}function AA(e){return e>=4352&&e<=4447||e>=43360&&e<=43388}function uA(e){return e>=4448&&e<=4519||e>=55216&&e<=55238}function dA(e){return e>=4520&&e<=4607||e>=55243&&e<=55291}function oI(e){return AA(e)||uA(e)||dA(e)}function sI(e,t){let r=[];for(let n of e){if(lA.test(n))continue;r.push(n.codePointAt(0))}if(r.length===0)return;let H=0;for(let n=0;n<r.length;n++){let o=r[n];if(!oI(o)){if(H===0)return;for(let s=n;s<r.length;s++)H+=qH(r[s],t);return H}if(AA(o)&&uA(r[n+1])){H+=2,n+=dA(r[n+2])?2:1;continue}H+=qH(o,t)}return H}function aI(e,t){let r=0,H=!0;for(let n of e){if(H){H=!1;continue}if(zL.test(n)||n>="\uFF00"&&n<="\uFFEF")r+=qH(n.codePointAt(0),t)}return r}function Vs(e,t={}){if(typeof e!=="string"||e.length===0)return 0;let{ambiguousIsNarrow:r=!0,countAnsiEscapeCodes:H=!1}=t,n=e;if(!H&&(n.includes("\x1B")||n.includes("\x9B")))n=Ys(n);if(n.length===0)return 0;if(/^[\u0020-\u007E]*$/.test(n))return n.length;let o=0,s={ambiguousAsWide:!r};for(let{segment:a}of VL.segment(n)){if(nI(a))continue;if(JL.test(a)||rI(a)){o+=2;continue}let c=HI(a),l=sI(c,s);if(l!==void 0){o+=l;continue}let i=c.codePointAt(0);o+=qH(i,s),o+=aI(c,s)}return o}function le(e){return Vs(e)}var iI=/\u001b\][\s\S]*?(?:\u0007|\u001b\\)/g,cI=/\u001b(?:\[[0-9;?]*[ -/]*[@-~]|[@-Z\\-_])/g,lI=/[\n\r\t\v\f\u0085\u2028\u2029]+/g,AI=/[\u0000-\u0009\u000b-\u001f\u007f-\u009f\u2028\u2029]/g,uI=/[\u0000-\u001f\u007f-\u009f\u2028\u2029]/g;function pA(e){return e.replace(iI,"").replace(cI,"")}function dI(e){if(!/[\u0000-\u0009\u000b-\u001f\u007f-\u009f\u2028\u2029]/.test(e))return e;return pA(e).replace(AI,"")}function mA(e){if(!/[\u0000-\u001f\u007f-\u009f\u2028\u2029]/.test(e))return e;return pA(e).replace(lI," ").replace(uI,"")}function D(e,t,r="\u2026"){if(t<=0)return"";let H=mA(e);if(le(H)<=t)return H;let n=le(r);if(t<=n)return r.slice(0,t);let o=t-n,s="",a=0;for(let c of H){let l=le(c);if(a+l>o)break;s+=c,a+=l}return s+r}function Gr(e,t){if(t<=0)return[];let r=[];for(let H of dI(e).split(`
|
|
9
|
-
`)){if(H===""){r.push("");continue}let n="";for(let o of H.split(" ")){let s=n===""?o:`${n} ${o}`;if(le(s)<=t){n=s;continue}if(n!=="")r.push(n),n="";let a=o;while(le(a)>t){let c="",l=0;for(let i of a){let A=le(i);if(l+A>t)break;c+=i,l+=A}r.push(c),a=a.slice(c.length)}n=a}r.push(n)}return r}function _(e,t,r="left"){let H=D(e,t),n=Math.max(0,t-le(H));if(r==="center"){let s=Math.floor(n/2);return" ".repeat(s)+H+" ".repeat(n-s)}let o=" ".repeat(n);return r==="left"?H+o:o+H}function Zs(e,t,r="\u2026"){if(t<=0)return"";let H=mA(e);if(le(H)<=t)return H;let n=le(r);if(t<=n)return r.slice(0,t);let o=t-n,s=Math.ceil(o/2),a=o-s,c=[...H],l="",i=0;for(let u of c){let d=le(u);if(i+d>s)break;l+=u,i+=d}let A="";i=0;for(let u=c.length-1;u>=0;u--){let d=c[u],p=le(d);if(i+p>a)break;A=d+A,i+=p}return l+r+A}import{jsxDEV as gA}from"h:6___________________________";function bn({text:e,positions:t,width:r,fg:H}){let n=S(),o=D(e,r),s=o===e?o.length:Math.max(0,o.length-1),a=new Set(t),c=[],l="",i=!1,A=()=>{if(!l)return;c.push(gA("span",{fg:i?n.accent:H,children:l},c.length,!1,void 0,this)),l=""};for(let u=0;u<o.length;u++){let d=u<s&&a.has(u);if(d!==i)A(),i=d;l+=o[u]}return A(),gA("text",{children:c},void 0,!1,void 0,this)}import{useTerminalDimensions as pI}from"h:4___________";function wn({width:e,height:t,terminalWidth:r,terminalHeight:H,margin:n=2}){let o=Math.max(1,Math.min(e,r-n*2)),s=Math.max(1,Math.min(t,H-n*2));return{width:o,height:s,left:Math.max(0,Math.floor((r-o)/2)),top:Math.max(0,Math.floor((H-s)/2))}}function Tn(e,t,r){if(t<=r)return 0;let H=e-Math.floor(r/2);return Math.min(Math.max(H,0),t-r)}import{jsxDEV as zs,Fragment as OI}from"h:6___________________________";var mI=55,gI=60;function kr({title:e,width:t,height:r,onClose:H,children:n}){let o=S(),{width:s,height:a}=pI(),c=wn({width:t,height:r,terminalWidth:s,terminalHeight:a});return zs(OI,{children:[zs("box",{style:{position:"absolute",top:0,left:0,width:s,height:a,zIndex:mI},onMouseUp:H},void 0,!1,void 0,this),zs("box",{title:e,style:{position:"absolute",top:c.top,left:c.left,width:c.width,height:c.height,zIndex:gI,border:!0,borderColor:o.accent,backgroundColor:o.panel,flexDirection:"column",paddingTop:1,paddingRight:1,paddingBottom:0,paddingLeft:1},onMouseUp:(l)=>l.stopPropagation(),children:n},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function xn(e){return e.name==="down"||e.name==="n"&&Boolean(e.ctrl)}function Pn(e){return e.name==="up"||e.name==="p"&&Boolean(e.ctrl)}function ct(e){e.preventDefault(),e.stopPropagation()}function Rt(e,t,r=ct){for(let H of e){let n=H(t);if(n==="notMine")continue;if(n==="mine")r(t);return!0}return!1}import{jsxDEV as it}from"h:6___________________________";var yA=68,fA=24,kI=7,hI=2,SA=2,LI="\u2191\u2193 move \xB7 enter select \xB7 esc close";function _A({actions:e,onRun:t,onClose:r}){let H=S(),{width:n,height:o}=_I(),[s,a]=OA(""),[c,l]=OA(0),{results:i,rows:A}=fI(()=>{let m=zc(e,s),O=Jc(m,s.trim()?Vc:void 0);return{results:O.flatMap((L)=>L.results),rows:el(O)}},[e,s]);yI(()=>l(0),[s]),SI((m)=>{Rt([()=>{if(j("sentry.nav.back",m))return r(),"mine";if(j("sentry.app.commandPalette",m))return r(),"mine";if(j("sentry.nav.open",m)){let O=i[c]?.action;if(O)t(O);return"mine"}if(xn(m))return l((O)=>Math.min(O+1,i.length-1)),"mine";if(Pn(m))return l((O)=>Math.max(O-1,0)),"mine";return"notMine"}],m,ct)});let u=wn({width:yA,height:fA,terminalWidth:n,terminalHeight:o}),d=Math.max(1,u.width-4),p=Math.max(1,u.height-kI),g=Tn(Math.max(0,tl(A,c)),A.length,p);return it(kr,{title:" Command palette ",width:yA,height:fA,onClose:r,children:[it("box",{style:{flexDirection:"row",flexShrink:0},children:[it("text",{fg:H.accent,children:"\u276F "},void 0,!1,void 0,this),it("input",{value:s,placeholder:"Search commands and destinations\u2026",focused:!0,onInput:a,style:{flexGrow:1,textColor:H.text,backgroundColor:H.panel,focusedTextColor:H.text,focusedBackgroundColor:H.panel,placeholderColor:H.subText}},void 0,!1,void 0,this)]},void 0,!0,void 0,this),it("box",{style:{flexGrow:1,flexDirection:"column",marginTop:1},children:A.length===0?it("text",{fg:H.muted,children:D(`No matches for "${s}"`,d)},void 0,!1,void 0,this):A.slice(g,g+p).map((m)=>{if(m.kind==="heading")return it("text",{fg:H.accent,children:m.section},`heading:${m.section}`,!1,void 0,this);if(m.kind==="more")return it("text",{fg:H.subText,children:` +${m.count} more \u2014 keep typing`},`more:${m.section}`,!1,void 0,this);return it(II,{row:m,selected:m.index===c,width:d,onPress:()=>t(m.result.action)},m.result.action.id,!1,void 0,this)})},void 0,!1,void 0,this),it("box",{style:{flexDirection:"row",flexShrink:0,marginTop:1},children:[it("text",{fg:H.muted,children:D(LI,Math.max(0,d-ks.length-SA))},void 0,!1,void 0,this),it("box",{style:{flexGrow:1}},void 0,!1,void 0,this),it("text",{fg:H.subText,children:ks},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}function II({row:e,selected:t,width:r,onPress:H}){let n=S(),{action:o,positions:s}=e.result,a=o.detail??"",c=Math.max(1,r-hI-(a?a.length+SA:0));return it("box",{style:{flexDirection:"row",flexShrink:0,backgroundColor:t?n.selected:void 0},onMouseUp:H,children:[it("text",{fg:n.accent,children:t?"\u25B8 ":" "},void 0,!1,void 0,this),it(bn,{text:o.label,positions:s,width:c,fg:t?n.text:n.muted},void 0,!1,void 0,this),it("box",{style:{flexGrow:1}},void 0,!1,void 0,this),a?it("text",{fg:n.subText,children:a},void 0,!1,void 0,this):null]},void 0,!0,void 0,this)}import{TextAttributes as MH}from"h:3__________";var v=MH.BOLD,pr=MH.ITALIC,et=MH.DIM,nH=MH.UNDERLINE,oH=MH.NONE;import{jsxDEV as bI}from"h:6___________________________";function qt({command:e,emphasised:t=!1}){let r=S(),H=Te(e);if(!H)return null;return bI("text",{fg:r.hotkey,attributes:t?v|nH:nH,children:Be(H)},void 0,!1,void 0,this)}import{jsxDEV as Js}from"h:6___________________________";var wI=10,kA=2,ea="sentry.nav.back";function hA(e){let t=Te(e);return t?le(Be(t)):0}function LA(e,t){let r=Math.floor(t/2)-kA-hA(ea);return D(`back to ${e} `,Math.max(0,r))}function ta(e,t){let r=LA(e,t);return r?kA+le(r)+hA(ea):0}function IA({parent:e,top:t,right:r,paneWidth:H}){let n=S(),o=LA(e,H);if(!o)return null;let s=ta(e,H);return Js("box",{style:{position:"absolute",top:t,left:Math.max(0,r-s),width:s,height:1,zIndex:wI,flexDirection:"row",backgroundColor:n.bg,paddingLeft:1,paddingRight:1},children:[Js("text",{fg:n.muted,children:o},void 0,!1,void 0,this),Js(qt,{command:ea},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}import{useCallback as Aa,useEffect as ua,useMemo as vn,useState as Um}from"h:0__";import{jsxDEV as tt,Fragment as MI}from"h:6___________________________";var hr=1,Mt=3,TI="\u2590",xI="\u258C",wA=2,PI="\u2581",qI="\u2594";function vt({command:e,label:t,caret:r=!1}){let H=Be(Te(e)),n=H?le(H)+1:0;return wA+1+n+le(t)+(r?2:0)+1}function TA(e){let t=[],r=0;for(let H of e)t.push(r),r+=vt(H)+hr;return t}function Er({command:e,label:t,caret:r=!1,active:H=!1,onPress:n}){let o=S(),s=Be(Te(e)),a=H?o.accent:o.text,c=vt({command:e,label:t,caret:r})-wA;return tt("box",{style:{flexDirection:"column",flexShrink:0},onMouseDown:n,children:[tt(bA,{glyph:PI,width:c,color:o.chip.rim},void 0,!1,void 0,this),tt("box",{style:{flexDirection:"row"},children:[tt("text",{fg:o.chip.rim,children:TI},void 0,!1,void 0,this),tt("box",{style:{flexDirection:"row",backgroundColor:o.chip.surface},children:[tt("text",{children:" "},void 0,!1,void 0,this),s?tt(MI,{children:[tt(qt,{command:e,emphasised:!0},void 0,!1,void 0,this),tt("text",{children:" "},void 0,!1,void 0,this)]},void 0,!0,void 0,this):null,tt("text",{fg:a,children:t},void 0,!1,void 0,this),r?tt("text",{fg:H?o.accent:o.muted,children:" \u25BE"},void 0,!1,void 0,this):null,tt("text",{children:" "},void 0,!1,void 0,this)]},void 0,!0,void 0,this),tt("text",{fg:o.chip.rim,children:xI},void 0,!1,void 0,this)]},void 0,!0,void 0,this),tt(bA,{glyph:qI,width:c,color:o.chip.rimShadow},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function bA({glyph:e,width:t,color:r}){return tt("text",{fg:r,children:` ${e.repeat(Math.max(0,t))} `},void 0,!1,void 0,this)}function qn({chips:e,activeIndex:t,onPress:r}){return tt("box",{style:{flexDirection:"row",flexShrink:0},children:e.map((H,n)=>tt("box",{style:{flexDirection:"row"},children:[n>0?tt("text",{children:" ".repeat(hr)},void 0,!1,void 0,this):null,tt(Er,{...H,active:n===t,onPress:()=>r?.(H,n)},void 0,!1,void 0,this)]},H.command,!0,void 0,this))},void 0,!1,void 0,this)}import{useCallback as vm,useEffect as Gm,useMemo as oa,useRef as ET,useState as sa}from"h:0__";import{useKeyboard as KT,useTerminalDimensions as XT}from"h:4___________";import{readFileSync as CI}from"fs";var xA=new Map;function Mn(e){let t=xA.get(e);if(!t)t=CI(e),xA.set(e,t);return t}var PA="./assets/activeadmin-p8zytf80.png";var qA="./assets/actix-tt2a8ysg.png";var MA="./assets/aiohttp-gmt10x6m.png";var CA="./assets/alpinejs-wqnxn6y1.png";var QA="./assets/amazon-p185z4ev.png";var NA="./assets/amd-p8c25cfe.png";var jA="./assets/analogjs-cna1hg98.png";var DA="./assets/android-xjr1314k.png";var RA="./assets/android-phone-mjzxta39.png";var vA="./assets/android-tablet-mjzxta39.png";var GA="./assets/angularjs-7h46ejvd.png";var EA="./assets/anthropic-rrcv6ejq.png";var KA="./assets/anthropic-claude-4n50evr8.png";var XA="./assets/apache-airflow-w7c50371.png";var BA="./assets/apache-beam-2q3zbaks.png";var WA="./assets/apache-spark-a680t00k.png";var FA="./assets/app-engine-ghexy1y6.png";var UA="./assets/apple-fh3mfwj2.png";var YA="./assets/apple-ipad-dfky3d0g.png";var $A="./assets/apple-iphone-dfky3d0g.png";var VA="./assets/apple-tv-dfky3d0g.png";var ZA="./assets/apple-watch-dfky3d0g.png";var zA="./assets/ariadne-p2xx19an.png";var JA="./assets/arm-5rs1ketc.png";var eu="./assets/astro-nbngj53v.png";var tu="./assets/aws-7vzr54cj.png";var ru="./assets/awslambda-qzxqvkkb.png";var Hu="./assets/azure-functions-bst1wkws.png";var nu="./assets/backbone-7cg22pv4.png";var ou="./assets/bazzite-ybxzg5vm.png";var su="./assets/blazor-hxv5b1jm.png";var au="./assets/bottle-fgvkq9ed.png";var iu="./assets/bun-qzcj59r5.png";var cu="./assets/capacitor-a3m2sqp1.png";var lu="./assets/celery-gd1erc4d.png";var Au="./assets/chalice-xmacx55d.png";var uu="./assets/chrome-xdd75zcv.png";var du="./assets/chromium-s43136bv.png";var pu="./assets/clickhouse-eg3e8wwt.png";var mu="./assets/clojure-kvpja977.png";var gu="./assets/cloudflare-pxsb5f3n.png";var Ou="./assets/cloudflare-pages-0nwgb0by.png";var yu="./assets/cloudflare-workers-x0py78jv.png";var fu="./assets/cohere-sp0b9n61.png";var Su="./assets/connect-7r7dc91q.png";var _u="./assets/convex-az2pt1fc.png";var ku="./assets/cordova-7wzvfz77.png";var hu="./assets/cpp-n8ke0smy.png";var Lu="./assets/cryengine-c186nv57.png";var Iu="./assets/crystal-zwaetd1f.png";var bu="./assets/csharp-4cgxa8dg.png";var wu="./assets/css-g8jdrx8v.png";var Tu="./assets/dart-g38t75be.png";var xu="./assets/deepseek-7r4457fz.png";var Pu="./assets/default-mqvk902r.png";var qu="./assets/deno-815kzqz1.png";var Mu="./assets/django-qq1crz4g.png";var Cu="./assets/dotnet-5gqvv1yc.png";var Qu="./assets/dotnetcore-n03w6x5h.png";var Nu="./assets/dotnetframework-brnpeeq7.png";var ju="./assets/dotnetfx-7vm66a84.png";var Du="./assets/dramatiq-b0c46xrk.png";var Ru="./assets/echo-7va69gxg.png";var vu="./assets/edge-4qt9t9s2.png";var Gu="./assets/edge-legacy-sqwdg70h.png";var Eu="./assets/effect-sqx9ndtk.png";var Ku="./assets/electron-2n9s8mts.png";var Xu="./assets/elixir-mckzq1sq.png";var Bu="./assets/ember-a65qyfxw.png";var Wu="./assets/expo-24k68r06.png";var Fu="./assets/express-bagm4hrp.png";var Uu="./assets/falcon-y3g2pkw1.png";var Yu="./assets/fastapi-y61f6fkc.png";var $u="./assets/fasthttp-dg3jpzzs.png";var Vu="./assets/fastify-6kqs83vt.png";var Zu="./assets/fastmcp-z39yqz67.png";var zu="./assets/fiber-4hk7w77j.png";var Ju="./assets/firebase-cxe03y85.png";var ed="./assets/firefox-bg5zmx5g.png";var td="./assets/flask-cen3cnk3.png";var rd="./assets/flutter-yg7vv7v2.png";var Hd="./assets/font-gm2xc8k1.png";var nd="./assets/fsharp-rdvgykvd.png";var od="./assets/gatsby-1cbrkhen.png";var sd="./assets/gcp-functions-f9fr7ptc.png";var ad="./assets/gemini-kkn8pkkz.png";var id="./assets/gin-50chx0th.png";var cd="./assets/git-2wwbsash.png";var ld="./assets/gnu-sza5z2m0.png";var Ad="./assets/go-fe31mx1h.png";var ud="./assets/godot-5pyt3hf3.png";var dd="./assets/google-h9hjmbaw.png";var pd="./assets/grape-z45yjx7n.png";var md="./assets/graphene-wdrmh5wg.png";var gd="./assets/graphql-jfg31yab.png";var Od="./assets/grok-tek8dkt5.png";var yd="./assets/groq-3w8j5sz6.png";var fd="./assets/grpc-41ce8e5w.png";var Sd="./assets/hanami-h1ha69g0.png";var _d="./assets/hapi-xjkhg9xk.png";var kd="./assets/hono-ydv0kfra.png";var hd="./assets/httpx-72gb9ze8.png";var Ld="./assets/huey-a53cr7qy.png";var Id="./assets/huggingface-yceen1hy.png";var bd="./assets/hydrogen-wremh7ah.png";var wd="./assets/internet-explorer-mc34535p.png";var Td="./assets/ionic-9x7e24b2.png";var xd="./assets/iris-nvn6jx31.png";var Pd="./assets/java-xd88qxr3.png";var qd="./assets/javascript-fkw36jr6.png";var Md="./assets/koa-xeggzpx7.png";var Cd="./assets/kotlin-kttwkzk0.png";var Qd="./assets/langchain-dsrcgqtg.png";var Nd="./assets/langgraph-0gbzq3bw.png";var jd="./assets/laravel-8vdwspz3.png";var Dd="./assets/launchdarkly-8nrxg4j1.png";var Rd="./assets/linux-mbda8m22.png";var vd="./assets/lit-yy9gb2z5.png";var Gd="./assets/litellm-mn7mn3p5.png";var Ed="./assets/litestar-qgaq765e.png";var Kd="./assets/livewire-dhq1zp6k.png";var Xd="./assets/logback-qdan81zj.png";var Bd="./assets/loguru-1qkw3dj3.png";var Wd="./assets/magento-mbmqx6pj.png";var Fd="./assets/martini-0ynefktw.png";var Ud="./assets/mastra-bkzx6z2t.png";var Yd="./assets/maui-k0v6671h.png";var $d="./assets/mcp-3a0e0d7f.png";var Vd="./assets/meteor-pfjeajd9.png";var Zd="./assets/million-hqa7qjzr.png";var zd="./assets/mistral-c8k352td.png";var Jd="./assets/mongodb-8zfpdrvw.png";var ep="./assets/mono-2jgc1h36.png";var tp="./assets/motorola-se1nxnrc.png";var rp="./assets/nativec-8hc1qqqq.png";var Hp="./assets/nestjs-pdtzc08t.png";var np="./assets/nextjs-1h4ss2x7.png";var op="./assets/nintendo-b121b9tx.png";var sp="./assets/nintendo-switch-10fwf0z8.png";var ap="./assets/nintendo-switch-2-c30gwjdr.png";var ip="./assets/nitro-0m2zry4j.png";var cp="./assets/nodejs-4440bt1m.png";var lp="./assets/nuxt-9az5kp86.png";var Ap="./assets/nvidia-sx95qpxr.png";var up="./assets/openai-30efemfr.png";var dp="./assets/openfeature-7d7994hd.png";var pp="./assets/opennext-qwtbtf69.png";var mp="./assets/opera-vm5934z4.png";var gp="./assets/padrino-h1r8j27p.png";var Op="./assets/perforce-m3brdm35.png";var yp="./assets/perl-rtt66y1c.png";var fp="./assets/perplexity-hppwdxr6.png";var Sp="./assets/php-epsnnhgx.png";var _p="./assets/playstation-hdnq37vd.png";var kp="./assets/postgresql-460mxqat.png";var hp="./assets/powershell-4fhvrc1v.png";var Lp="./assets/pydantic-ai-fktc46py.png";var Ip="./assets/pyramid-68tybq4d.png";var bp="./assets/python-0nvac8nw.png";var wp="./assets/qq-vr99tzv0.png";var Tp="./assets/qt-k87rvs14.png";var xp="./assets/quart-r5ngms2j.png";var Pp="./assets/qwik-bz2wcfjr.png";var qp="./assets/rails-4pkdasvb.png";var Mp="./assets/ray-gmyxm5cx.png";var Cp="./assets/react-8r99y108.png";var Qp="./assets/react-native-wmddwz2w.png";var Np="./assets/react-router-v69yad6z.png";var jp="./assets/redis-q94fh9hd.png";var Dp="./assets/remix-53wdkf82.png";var Rp="./assets/ruby-kcaxbrv4.png";var vp="./assets/rust-v7er9616.png";var Gp="./assets/safari-pcf00dtn.png";var Ep="./assets/samsung-cm92184f.png";var Kp="./assets/sanic-7z0zpwya.png";var Xp="./assets/scala-9aq9kgns.png";var Bp="./assets/serverless-5293xmwf.png";var Wp="./assets/sidekiq-rnhzcwdj.png";var Fp="./assets/sinatra-c03nt3xg.png";var Up="./assets/solid-c96n8hcv.png";var Yp="./assets/solidstart-rb5kh1an.png";var $p="./assets/spring-nq4z52xr.png";var Vp="./assets/springboot-n0jkm57m.png";var Zp="./assets/sql-hax5xfdd.png";var zp="./assets/sqlalchemy-rkmzzb4z.png";var Jp="./assets/sqlserver-xy5xks5j.png";var em="./assets/starlette-j4s3ckgz.png";var tm="./assets/steamos-esnc2vf1.png";var rm="./assets/strawberry-gvtdbrv2.png";var Hm="./assets/stride3d-na06nbdk.png";var nm="./assets/supabase-b8xn5ya6.png";var om="./assets/svelte-99kpn61e.png";var sm="./assets/swift-rz9jd9bd.png";var am="./assets/symfony-5g12vm0z.png";var im="./assets/tanstack-803fcdrr.png";var cm="./assets/tauri-s27nrazn.png";var lm="./assets/tokio-2qsmkbdt.png";var Am="./assets/tornado-jr9hafty.png";var um="./assets/tower-m2b3e55m.png";var dm="./assets/tracing-sf8fezjm.png";var pm="./assets/trailblazer-tts0mg9m.png";var mm="./assets/tryton-agrkpqzp.png";var gm="./assets/typer-4ax7g9nv.png";var Om="./assets/ubuntu-2485bsgg.png";var ym="./assets/unity-dh3f2d41.png";var fm="./assets/unleash-3n7nzk6v.png";var Sm="./assets/uno-f3aqa0pr.png";var _m="./assets/unreal-66wfngpk.png";var km="./assets/vercel-5tsw5vx4.png";var hm="./assets/visual-basic-mv5kd4ph.png";var Lm="./assets/vscode-ht1kf4d5.png";var Im="./assets/vue-s1y5fsg1.png";var bm="./assets/wasm-zc2sdxtz.png";var wm="./assets/windows-m96vxbh1.png";var Tm="./assets/xamarin-13pfqd8y.png";var xm="./assets/xbox-j22pmsf0.png";var ra={activeadmin:PA,actix:qA,aiohttp:MA,alpinejs:CA,amazon:QA,amd:NA,analogjs:jA,android:DA,"android-phone":RA,"android-tablet":vA,angularjs:GA,anthropic:EA,"anthropic-claude":KA,"apache-airflow":XA,"apache-beam":BA,"apache-spark":WA,"app-engine":FA,apple:UA,"apple-ipad":YA,"apple-iphone":$A,"apple-tv":VA,"apple-watch":ZA,ariadne:zA,arm:JA,astro:eu,aws:tu,awslambda:ru,"azure-functions":Hu,backbone:nu,bazzite:ou,blazor:su,bottle:au,bun:iu,capacitor:cu,celery:lu,chalice:Au,chrome:uu,chromium:du,clickhouse:pu,clojure:mu,cloudflare:gu,"cloudflare-pages":Ou,"cloudflare-workers":yu,cohere:fu,connect:Su,convex:_u,cordova:ku,cpp:hu,cryengine:Lu,crystal:Iu,csharp:bu,css:wu,dart:Tu,deepseek:xu,default:Pu,deno:qu,django:Mu,dotnet:Cu,dotnetcore:Qu,dotnetframework:Nu,dotnetfx:ju,dramatiq:Du,echo:Ru,edge:vu,"edge-legacy":Gu,effect:Eu,electron:Ku,elixir:Xu,ember:Bu,expo:Wu,express:Fu,falcon:Uu,fastapi:Yu,fasthttp:$u,fastify:Vu,fastmcp:Zu,fiber:zu,firebase:Ju,firefox:ed,flask:td,flutter:rd,font:Hd,fsharp:nd,gatsby:od,"gcp-functions":sd,gemini:ad,gin:id,git:cd,gnu:ld,go:Ad,godot:ud,google:dd,grape:pd,graphene:md,graphql:gd,grok:Od,groq:yd,grpc:fd,hanami:Sd,hapi:_d,hono:kd,httpx:hd,huey:Ld,huggingface:Id,hydrogen:bd,"internet-explorer":wd,ionic:Td,iris:xd,java:Pd,javascript:qd,koa:Md,kotlin:Cd,langchain:Qd,langgraph:Nd,laravel:jd,launchdarkly:Dd,linux:Rd,lit:vd,litellm:Gd,litestar:Ed,livewire:Kd,logback:Xd,loguru:Bd,magento:Wd,martini:Fd,mastra:Ud,maui:Yd,mcp:$d,meteor:Vd,million:Zd,mistral:zd,mongodb:Jd,mono:ep,motorola:tp,nativec:rp,nestjs:Hp,nextjs:np,nintendo:op,"nintendo-switch":sp,"nintendo-switch-2":ap,nitro:ip,nodejs:cp,nuxt:lp,nvidia:Ap,openai:up,openfeature:dp,opennext:pp,opera:mp,padrino:gp,perforce:Op,perl:yp,perplexity:fp,php:Sp,playstation:_p,postgresql:kp,powershell:hp,"pydantic-ai":Lp,pyramid:Ip,python:bp,qq:wp,qt:Tp,quart:xp,qwik:Pp,rails:qp,ray:Mp,react:Cp,"react-native":Qp,"react-router":Np,redis:jp,remix:Dp,ruby:Rp,rust:vp,safari:Gp,samsung:Ep,sanic:Kp,scala:Xp,serverless:Bp,sidekiq:Wp,sinatra:Fp,solid:Up,solidstart:Yp,spring:$p,springboot:Vp,sql:Zp,sqlalchemy:zp,sqlserver:Jp,starlette:em,steamos:tm,strawberry:rm,stride3d:Hm,supabase:nm,svelte:om,swift:sm,symfony:am,tanstack:im,tauri:cm,tokio:lm,tornado:Am,tower:um,tracing:dm,trailblazer:pm,tryton:mm,typer:gm,ubuntu:Om,unity:ym,unleash:fm,uno:Sm,unreal:_m,vercel:km,"visual-basic":hm,vscode:Lm,vue:Im,wasm:bm,windows:wm,xamarin:Tm,xbox:xm};var iK=Object.keys(ra);function Pm(e){let t=ra[e];return t===void 0?void 0:Mn(t)}var qm={amazon:"amazon",amd:"amd",android:"android","android-phone":"android-phone","android-tablet":"android-tablet",anthropic:"anthropic","anthropic-claude":"anthropic-claude",apple:"apple","apple-ipad":"apple-ipad","apple-iphone":"apple-iphone","apple-tv":"apple-tv","apple-watch":"apple-watch",arm:"arm",bazzite:"bazzite",bun:"bun",capacitor:"capacitor",chrome:"chrome",chromium:"chromium",clojure:"clojure",cloudflare:"cloudflare",cocoa:"apple","cocoa-objc":"apple","cocoa-swift":"swift",cohere:"cohere",convex:"convex",cordova:"cordova",cpp:"cpp",cryengine:"cryengine",crystal:"crystal",csharp:"csharp","csharp-aspnetcore":"csharp",css:"css",dart:"dart",deepseek:"deepseek",default:"default",deno:"deno",dotnet:"dotnet","dotnet-aspnet":"dotnet","dotnet-aspnetcore":"dotnet","dotnet-awslambda":"awslambda","dotnet-blazor":"blazor","dotnet-csharp":"csharp","dotnet-gcpfunctions":"gcp-functions","dotnet-maui":"maui","dotnet-uno":"uno","dotnet-xamarin":"xamarin",dotnetcore:"dotnetcore",dotnetframework:"dotnetframework",dotnetfx:"dotnetfx",edge:"edge","edge-legacy":"edge-legacy",electron:"electron",elixir:"elixir",expo:"expo",fastmcp:"fastmcp",firebase:"firebase",firefox:"firefox",flutter:"flutter",font:"font",fsharp:"fsharp",gemini:"gemini",git:"git",go:"go","go-echo":"echo","go-fasthttp":"fasthttp","go-fiber":"fiber","go-gin":"gin","go-iris":"iris","go-martini":"martini","go-negroni":"go",godot:"godot",google:"google",grok:"grok",groq:"groq",huggingface:"huggingface","internet-explorer":"internet-explorer",ionic:"ionic",java:"java","java-android":"android","java-appengine":"app-engine","java-log4j":"java","java-log4j2":"java","java-logback":"logback","java-logging":"java","java-ray":"ray","java-spring":"spring","java-spring-boot":"springboot",javascript:"javascript","javascript-alpinejs":"alpinejs","javascript-analogjs":"analogjs","javascript-angular":"angularjs","javascript-angularjs":"angularjs","javascript-astro":"astro","javascript-awslambda":"awslambda","javascript-azurefunctions":"azure-functions","javascript-backbone":"backbone","javascript-browser":"javascript","javascript-capacitor":"capacitor","javascript-cloudflare-pages":"cloudflare-pages","javascript-cloudflare-workers":"cloudflare-workers","javascript-connect":"connect","javascript-cordova":"cordova","javascript-effect":"effect","javascript-electron":"electron","javascript-ember":"ember","javascript-expo":"expo","javascript-express":"express","javascript-fastify":"fastify","javascript-firebase":"firebase","javascript-gatsby":"gatsby","javascript-gcpfunctions":"gcp-functions","javascript-hapi":"hapi","javascript-hono":"hono","javascript-hydrogen":"hydrogen","javascript-ionic":"ionic","javascript-koa":"koa","javascript-lit":"lit","javascript-meteor":"meteor","javascript-million":"million","javascript-nestjs":"nestjs","javascript-nextjs":"nextjs","javascript-nitro":"nitro","javascript-node":"nodejs","javascript-nuxt":"nuxt","javascript-opennext":"opennext","javascript-qwik":"qwik","javascript-react":"h:0__","javascript-react-router":"react-router","javascript-remix":"remix","javascript-serverlesscloud":"serverless","javascript-solid":"solid","javascript-solidstart":"solidstart","javascript-svelte":"svelte","javascript-sveltekit":"svelte","javascript-tanstackstart-react":"tanstack","javascript-vue":"vue","javascript-wasm":"wasm",kotlin:"kotlin","kotlin-android":"android",langchain:"langchain",langgraph:"langgraph",launchdarkly:"launchdarkly",linux:"linux",litellm:"litellm",mastra:"mastra",mcp:"mcp",mistral:"mistral",mono:"mono",motorola:"motorola",native:"nativec","native-qt":"qt",nintendo:"nintendo","nintendo-switch":"nintendo-switch","nintendo-switch-2":"nintendo-switch-2",node:"nodejs",nvidia:"nvidia",openai:"openai",openfeature:"openfeature",opera:"opera",perforce:"perforce",perl:"perl",perplexity:"perplexity",php:"php","php-laravel":"laravel","php-livewire":"livewire","php-magento":"magento","php-monolog":"php","php-symfony":"symfony","php-symfony2":"symfony",playstation:"playstation",powershell:"powershell","pydantic-ai":"pydantic-ai",python:"python","python-aiohttp":"aiohttp","python-airflow":"apache-airflow","python-ariadne":"ariadne","python-asyncpg":"postgresql","python-awslambda":"awslambda","python-azurefunctions":"azure-functions","python-beam":"apache-beam","python-boto3":"aws","python-bottle":"bottle","python-celery":"celery","python-chalice":"chalice","python-clickhouse-driver":"clickhouse","python-django":"django","python-dramatiq":"dramatiq","python-falcon":"falcon","python-fastapi":"fastapi","python-flask":"flask","python-gcpfunctions":"gcp-functions","python-gnu_backtrace":"gnu","python-gql":"graphql","python-graphene":"graphene","python-grpc":"grpc","python-httpx":"httpx","python-huey":"huey","python-litestar":"litestar","python-loguru":"loguru","python-pylons":"python","python-pymongo":"mongodb","python-pyramid":"pyramid","python-pythonawslambda":"awslambda","python-quart":"quart","python-ray":"ray","python-redis":"redis","python-rq":"redis","python-sanic":"sanic","python-serverless":"serverless","python-spark":"apache-spark","python-sqlalchemy":"sqlalchemy","python-starlette":"starlette","python-strawberry":"strawberry","python-tornado":"tornado","python-tryton":"tryton","python-typer":"typer",qq:"qq",qt:"qt","react-native":"react-native",ruby:"ruby","ruby-activeadmin":"activeadmin","ruby-grape":"grape","ruby-hanami":"hanami","ruby-padrino":"padrino","ruby-rack":"ruby","ruby-rails":"rails","ruby-sidekiq":"sidekiq","ruby-sinatra":"sinatra","ruby-trailblazer":"trailblazer",rust:"rust","rust-actix":"actix","rust-axum":"tokio","rust-tower":"tower","rust-tracing":"tracing",safari:"safari",samsung:"samsung",scala:"scala",sql:"sql",sqlserver:"sqlserver",steamos:"steamos",stride3d:"stride3d",supabase:"supabase",swift:"swift",tauri:"tauri",ubuntu:"ubuntu",ue4:"unreal",unity:"unity",unleash:"unleash",unreal:"unreal",unrealengine:"unreal",uwp:"windows",vercel:"vercel",visualbasic:"visual-basic",vscode:"vscode",windows:"windows",xbox:"xbox"};var Mm="default";function Cm(e){if(!e)return Mm;let t=e.split("-");for(let r=t.length;r>0;r--){let H=qm[t.slice(0,r).join("-")];if(H)return H}return Mm}import{useCallback as Qm,useSyncExternalStore as QT}from"h:0__";import{useRenderer as NT}from"h:4___________";var jT=!!(process.env.HERDR_ENV||process.env.TMUX||process.env.STY),DT={supported:!1,supportsHighRes:!1},Nm=new WeakMap;function Ha(e){let t=Nm.get(e);if(!t)t={value:DT,listeners:new Set,handler:null},Nm.set(e,t);return t}function jm(e){let t=e.capabilities;if(!t)return;let r={supported:!0,supportsHighRes:!jT&&(t.kitty_graphics||t.sixel)},H=Ha(e);if(H.value.supported===r.supported&&H.value.supportsHighRes===r.supportsHighRes)return;H.value=r;for(let n of H.listeners)n()}function Vt(){let e=NT(),t=Qm((H)=>{let n=Ha(e);if(n.listeners.add(H),!n.handler)n.handler=()=>jm(e),e.on("capabilities",n.handler);return jm(e),()=>{if(n.listeners.delete(H),n.listeners.size===0&&n.handler)e.off("capabilities",n.handler),n.handler=null}},[e]),r=Qm(()=>Ha(e).value,[e]);return QT(t,r)}import{jsxDEV as vT}from"h:6___________________________";var Dm=2,RT=1;function Cn(){let{supportsHighRes:e}=Vt();return e?Dm+1:0}function sH({platform:e}){let{supportsHighRes:t}=Vt();if(!t)return null;let r=Pm(Cm(e));if(!r)return null;return vT("image",{source:r,fit:"fit",style:{width:Dm,height:RT,flexShrink:0,marginRight:1}},void 0,!1,void 0,this)}import{jsxDEV as na,Fragment as GT}from"h:6___________________________";function Gt(){return na(GT,{children:[na(qt,{command:"sentry.nav.search"},void 0,!1,void 0,this),na("text",{children:" "},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function Qn(e,t){let r=t.trim().toLowerCase();if(!r)return e.map((n)=>({item:n,positions:[]}));let H=[];for(let n of e){let o=zr(n.label,r);if(!o)continue;H.push({item:n,positions:o.positions,score:o.score})}return H.sort((n,o)=>o.score-n.score),H.map(({item:n,positions:o})=>({item:n,positions:o}))}function Rm(e,t){let r=t.trim().toLowerCase();if(!r)return e.map((H)=>({item:H,positions:[]}));return e.map((H)=>({item:H,positions:zr(H.label,r)?.positions??[]}))}import{jsxDEV as Et,Fragment as UT}from"h:6___________________________";var Em=50,Km=2,BT=12,WT=20,FT=32,aa=0;function ia(){return aa>0}function gt({title:e,items:t,selected:r,anchorLeft:H,anchorTop:n,availableWidth:o,showAll:s=!0,multiple:a=!1,filterable:c=!1,onQueryChange:l,remoteFilter:i=!1,loading:A=!1,maxWidth:u,placeholder:d,onSelect:p,onClose:g}){let m=S(),{width:O,height:y}=XT(),L=Cn(),[f,k]=sa(""),I=vm((Y)=>{k(Y),l?.(Y)},[l]),[h,b]=sa(!1),T=ET(!1),P=oa(()=>s&&!(i&&f.trim())?[{label:"All",value:"__all__"},...t]:[...t],[s,t,i,f]),M=oa(()=>i?Rm(P,f):Qn(P,f),[P,f,i]),G=oa(()=>{if(r.length===0)return 0;let Y=P.findIndex((V)=>V.value===r[0]);return Y>=0?Y:0},[P,r]),[q,w]=sa(G);Gm(()=>{if(f.trim())w(0);else if(!a||!T.current)w(G)},[G,a,f]),Gm(()=>(aa+=1,()=>{aa-=1}),[]);let x=vm((Y)=>{let V=M[Y]?.item;if(!V)return;if(T.current=!0,V.value==="__all__")p([]);else if(a)p(r.includes(V.value)?r.filter((qe)=>qe!==V.value):[...r,V.value]);else p([V.value]);if(!a)g()},[M,a,r,p,g]);KT((Y)=>{Rt([()=>{if(j("sentry.nav.open",Y))return x(q),"mine";if(xn(Y))return w((V)=>Math.min(V+1,M.length-1)),"mine";if(Pn(Y))return w((V)=>Math.max(V-1,0)),"mine";if(h){if(j("sentry.nav.back",Y))return I(""),b(!1),"mine";return"focused"}if(j("sentry.nav.back",Y))return g(),"mine";if(c&&j("sentry.nav.search",Y))return b(!0),"mine";if(j("sentry.nav.down",Y))return w((V)=>Math.min(V+1,M.length-1)),"mine";if(j("sentry.nav.up",Y))return w((V)=>Math.max(V-1,0)),"mine";if(j("sentry.nav.top",Y))return w(0),"mine";if(j("sentry.nav.bottom",Y))return w(M.length-1),"mine";return"mine"}],Y,ct)});let N=P.some((Y)=>("platform"in Y))?L:0,B=M.length>0?void 0:A?"Searching\u2026":P.length>0||i&&f.trim()?`No match for "${f.trim()}"`:d,R=B?1:M.length,W=Km+N+2,z=c?1:0,He=Math.max(c?FT:WT,...P.map((Y)=>Y.label.length+W),B?B.length+W:0),se=Math.min(O,o??O),ae=Math.min(He,u??1/0,se-2),Ae=Math.max(1,Math.min(R,BT,y-n-3-z)),de=Ae+z+2,re=Tn(q,M.length,Ae),Q=Math.max(0,Math.min(H,se-ae-1)),U=Math.min(n,y-de-1);return Et(UT,{children:[Et("box",{style:{position:"absolute",top:0,left:0,width:O,height:y,zIndex:Em-1},onMouseDown:g},void 0,!1,void 0,this),Et("box",{title:` ${e} `,style:{position:"absolute",top:U,left:Q,width:ae,height:de,zIndex:Em,border:!0,borderColor:m.accent,backgroundColor:m.panel,flexDirection:"column"},onMouseUp:(Y)=>Y.stopPropagation(),children:[c?Et("box",{style:{flexDirection:"row",flexShrink:0},onMouseUp:()=>b(!0),children:[Et(Gt,{},void 0,!1,void 0,this),Et("input",{value:f,placeholder:"filter\u2026",focused:h,onInput:I,style:{flexGrow:1,textColor:m.text,backgroundColor:m.panel,focusedTextColor:m.text,focusedBackgroundColor:m.panel,placeholderColor:m.subText}},void 0,!1,void 0,this)]},void 0,!0,void 0,this):null,B?Et("text",{fg:m.muted,children:` ${D(B,ae-3)}`},void 0,!1,void 0,this):null,M.slice(re,re+Ae).map(({item:Y,positions:V},qe)=>{let ue=re+qe===q,te=Y.value==="__all__"?r.length===0:r.includes(Y.value),be=ue?m.text:te?m.accent:m.muted,fe=ae-2-N-Km;return Et("box",{style:{flexDirection:"row",alignSelf:"flex-start",backgroundColor:ue?m.selected:void 0},children:[Et("text",{fg:be,children:te?"\u25CF ":" "},void 0,!1,void 0,this),N>0?"platform"in Y?Et(sH,{platform:Y.platform},void 0,!1,void 0,this):Et("box",{style:{width:N,flexShrink:0}},void 0,!1,void 0,this):null,Et(bn,{text:Y.label,positions:V,width:fe,fg:be},void 0,!1,void 0,this)]},Y.value,!0,void 0,this)})]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}import{useEffect as YT}from"h:0__";import{jsxDEV as Bm}from"h:6___________________________";var CH="sentry.view.sort",ca=0;function Xm(){return ca>0}function QH(e,t){return e.find((r)=>r.value===t)?.label??t}function Nn(e){return e.flatMap((t)=>[{value:`-${t}`,label:`${t} (desc)`},{value:t,label:`${t} (asc)`}])}function jn({value:e,items:t,open:r,onOpen:H}){return YT(()=>(ca+=1,()=>{ca-=1}),[]),Bm(Er,{command:CH,label:QH(t,e),caret:!0,active:r,onPress:H},void 0,!1,void 0,this)}function Dn({value:e,items:t,anchorLeft:r,anchorTop:H,availableWidth:n,onChange:o,onClose:s}){return Bm(gt,{title:"Sort By",items:t,selected:[e],anchorLeft:r,anchorTop:H,availableWidth:n,showAll:!1,onSelect:(a)=>{let c=a[0];if(c)o(c);s()},onClose:s},void 0,!1,void 0,this)}import{useEffect as la,useMemo as $T,useRef as VT,useState as Rn}from"h:0__";var Wm=new WeakMap,ZT=new Map;async function zT(e,t,r){let H=Wm.get(e);if(!H)H=new Map,Wm.set(e,H);let n=H.get(t);if(!n)n=new Map,H.set(t,n);let o=r.filter((a)=>!n.has(a));if(o.length>0){let a=Xc(e,{org:t,ids:o}).then((c)=>new Map(c.map((l)=>[l.id,l.slug])));for(let c of o){let l=a.then((i)=>i.get(c));n.set(c,l),l.catch(()=>{if(n.get(c)===l)n.delete(c)})}}let s=await Promise.all(r.map(async(a)=>{let c=await n.get(a);return c===void 0?void 0:[a,c]}));return new Map(s.filter((a)=>a!==void 0))}function aH(e,t,r,H=!0){let n=[...new Set(r.filter((a)=>/^\d+$/.test(a)))].sort().join(","),[o,s]=Rn(null);return la(()=>{if(!e||!H||n==="")return;let a=!0;return zT(e,t,n.split(",")).then((c)=>{if(a)s({client:e,org:t,key:n,slugs:c})}).catch(()=>{}),()=>{a=!1}},[e,t,n,H]),o?.client===e&&o.org===t&&o.key===n?o.slugs:ZT}var JT=200;function Fm(e,t,r){let[H,n]=Rn([]),[o,s]=Rn(null),[a,c]=Rn(!1),l=VT(new Map),i=r.trim();return la(()=>{l.current.clear(),n([]),s(null)},[e,t]),la(()=>{if(!e)return;let u=l.current.get(i);if(u){s({query:i,projects:u}),c(!1);return}let d=new AbortController,p=!1;c(!0);let g=setTimeout(()=>{Kc(e,{org:t,query:i,signal:d.signal}).then((m)=>{if(p)return;l.current.set(i,m),n((O)=>ex(O,m)),s({query:i,projects:m}),c(!1)}).catch(()=>{if(!p)c(!1)})},i?JT:0);return()=>{p=!0,d.abort(),clearTimeout(g)}},[e,t,i]),{projects:$T(()=>{let u=o?.query===i?o.projects:[];if(!i)return u.length>0?u:H;let d=Qn(H.map((g)=>({label:g.slug,project:g})),i).map((g)=>g.item.project),p=new Set(d.map((g)=>g.id));return[...d,...u.filter((g)=>!p.has(g.id))]},[H,o,i]),loading:a}}function ex(e,t){let r=new Set(e.map((n)=>n.id)),H=t.filter((n)=>!r.has(n.id));return H.length>0?[...e,...H]:e}import{jsxDEV as Zt,Fragment as Hx}from"h:6___________________________";var he=3,tx=[{label:"1 hour",value:"1h"},{label:"24 hours",value:"24h"},{label:"7 days",value:"7d"},{label:"14 days",value:"14d"},{label:"30 days",value:"30d"},{label:"90 days",value:"90d"}],da=["project","env","date"];function rx(e,t,r){let H=Math.max(0,Math.floor(r)),n=le(e),o=le(t),s=Math.min(n,Math.ceil(H/2)),a=Math.min(o,Math.floor(H/2)),c=H-s-a;if(s===n)a+=Math.min(c,o-a);else if(a===o)s+=Math.min(c,n-s);return[s,a]}var Gn={project:0,env:0,date:0};function En(e){if(e)return Gn[e]>0;return da.some((t)=>Gn[t]>0)}function $e({client:e,org:t,openDropdown:r,selectedProjects:H,selectedEnvs:n,statsPeriod:o,filters:s=da,sort:a,width:c,anchorTop:l,onProjectChange:i,onEnvChange:A,onPeriodChange:u,onDropdownClose:d,onDropdownOpen:p}){let g=s.join(","),m=vn(()=>new Set(s),[g]),[O,y]=Um(""),{projects:L,loading:f}=Fm(m.has("project")?e:null,t,O),[k,I]=Um([]);ua(()=>{for(let te of m)Gn[te]+=1;return()=>{for(let te of m)Gn[te]-=1}},[m]),ua(()=>{if(r!=="project")y("")},[r]),ua(()=>{if(!e||!m.has("env"))return;let te=new AbortController;return Bc(e,{org:t,signal:te.signal}).then((be)=>I(be)).catch(()=>{}),()=>te.abort()},[e,t,m]);let h=vn(()=>{let te=L.map((Fe)=>({label:Fe.slug,value:Fe.slug,platform:Fe.platform??null})),be=new Set(te.map((Fe)=>Fe.value));return[...O.trim()?[]:H.filter((Fe)=>!be.has(Fe)).map((Fe)=>({label:Fe,value:Fe,platform:null})),...te]},[L,H,O]),b=vn(()=>k.map((te)=>({label:te.name,value:te.name})),[k]),T=vn(()=>{let te=new Map(L.map((be)=>[be.id,be.slug]));return H.map((be)=>te.get(be)??be)},[L,H]),P=T.length===0?"all projects":T.join(", "),M=n.length===0?"all envs":n.join(", "),G={command:"sentry.view.filterProject",label:P,caret:!0},q={command:"sentry.view.filterEnv",label:M,caret:!0},w={command:"sentry.view.filterDate",label:o,caret:!0},x=a?{command:CH,label:QH(a.items,a.value),caret:!0}:void 0,N=da.filter((te)=>m.has(te)),B=N.length+(x?1:0),R=(m.has("project")?vt({...G,label:""}):0)+(m.has("env")?vt({...q,label:""}):0)+(m.has("date")?vt(w):0)+(x?vt(x):0)+hr*Math.max(0,B-1),W=c-R,[z,He]=m.has("project")&&m.has("env")?rx(P,M,W):m.has("project")?[Math.max(0,W),0]:[0,Math.max(0,W)],se={project:{...G,label:D(P,z)},env:{...q,label:D(M,He)},date:w},ae=N.map((te)=>se[te]),Ae=TA(ae),de=new Map(N.map((te,be)=>[te,Ae[be]??0])),re=de.get("project")??0,Q=de.get("env")??0,U=de.get("date")??0,Y=x?Math.max(0,c-vt(x)):0,V=l+Mt,qe=Aa((te)=>{i(te)},[i]),Ee=Aa((te)=>{A(te)},[A]),ue=Aa((te)=>{u(te[0]??"14d"),d()},[u,d]);return Zt(Hx,{children:[Zt("box",{style:{flexDirection:"row",alignItems:"center",flexShrink:0,height:Mt,overflow:"hidden"},children:[Zt(qn,{chips:ae,activeIndex:r&&r!=="sort"?N.indexOf(r):void 0,onPress:(te,be)=>p?.(N[be]??null)},void 0,!1,void 0,this),Zt("box",{style:{flexGrow:1}},void 0,!1,void 0,this),a&&x?Zt("box",{style:{flexDirection:"row",flexShrink:0},children:[Zt("text",{children:" ".repeat(hr)},void 0,!1,void 0,this),Zt(jn,{value:a.value,items:a.items,open:r==="sort",onOpen:()=>p?.("sort")},void 0,!1,void 0,this)]},void 0,!0,void 0,this):null]},void 0,!0,void 0,this),r==="project"&&m.has("project")?Zt(gt,{title:"Project",items:h,selected:T,anchorLeft:re,anchorTop:V,availableWidth:c,filterable:!0,remoteFilter:!0,multiple:!0,loading:f,onQueryChange:y,placeholder:"No projects",onSelect:qe,onClose:d},void 0,!1,void 0,this):null,r==="env"&&m.has("env")?Zt(gt,{title:"Environment",items:b,selected:n,anchorLeft:Q,anchorTop:V,availableWidth:c,multiple:!0,onSelect:Ee,onClose:d},void 0,!1,void 0,this):null,r==="date"&&m.has("date")?Zt(gt,{title:"Date Range",items:tx,selected:[o],anchorLeft:U,anchorTop:V,availableWidth:c,showAll:!1,onSelect:ue,onClose:d},void 0,!1,void 0,this):null,r==="sort"&&a?Zt(Dn,{value:a.value,items:a.items,anchorLeft:Y,anchorTop:V,availableWidth:c,onChange:a.onChange,onClose:d},void 0,!1,void 0,this):null]},void 0,!0,void 0,this)}import{jsxDEV as Kr}from"h:6___________________________";var Ym=[{category:"nav",title:"Navigation"},{category:"issue",title:"Issue actions"},{category:"seer",title:"Seer"},{category:"view",title:"View / Filters"},{category:"app",title:"Application"}],nx=4,ox=60,sx=17;function $m({onClose:e}){let t=S(),r=Ym.flatMap(({category:o,title:s})=>{let a=wH.filter((c)=>c.category===o&&c.defaultKeys.length>0);return a.length?[{heading:s},...a]:[]}),H=Math.max(0,Ym.length-1),n=r.length+H+nx+1;return Kr(kr,{title:" Keyboard shortcuts ",width:ox,height:n,onClose:e,children:[Kr("scrollbox",{style:{flexGrow:1},children:r.map((o,s)=>{if("heading"in o)return Kr("text",{fg:t.accent,children:[s===0?"":`
|
|
10
|
-
`,o.heading]},`h-${o.heading}`,!0,void 0,this);let a=o.defaultKeys.map(Be).join(", ");return Kr("text",{children:[Kr("span",{fg:t.text,children:_(a,sx)},void 0,!1,void 0,this),Kr("span",{fg:t.muted,children:o.description??o.title},void 0,!1,void 0,this)]},o.id,!0,void 0,this)})},void 0,!1,void 0,this),Kr("text",{fg:t.muted,style:{marginTop:1},children:"esc to close"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}import{useState as Vm}from"h:0__";import{useKeyboard as ax}from"h:4___________";import{jsxDEV as NH}from"h:6___________________________";var ix=76,cx=8;function Zm({onSubmit:e,onClose:t}){let r=S(),[H,n]=Vm(""),[o,s]=Vm();ax((c)=>{Rt([()=>{if(j("sentry.nav.back",c))return t(),"mine";if(j("sentry.nav.open",c))return s(e(H)),"mine";return"notMine"}],c,ct)});let a=o?.kind==="unsupported"?"Not implemented":"Invalid URL";return NH(kr,{title:" Open Sentry URL ",width:ix,height:cx,onClose:t,children:[NH("text",{fg:r.muted,children:"Paste a sentry.io URL"},void 0,!1,void 0,this),NH("input",{value:H,placeholder:"https://acme.sentry.io/issues/\u2026",focused:!0,onInput:(c)=>{n(c),s(void 0)},style:{marginTop:1,textColor:r.text,backgroundColor:r.panel,focusedTextColor:r.text,focusedBackgroundColor:r.panel,placeholderColor:r.subText}},void 0,!1,void 0,this),o?NH("text",{fg:o.kind==="invalid"?r.danger:r.warning,children:`${a}: ${o.message}`},void 0,!1,void 0,this):NH("text",{fg:r.subText,children:"enter open \xB7 esc cancel"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}import{jsxDEV as jH}from"h:6___________________________";function Kn({label:e,hotkey:t,fg:r,bold:H=!1}){let n=S(),o=H?v:oH;if(!t)return jH("text",{fg:r,attributes:o,children:e},void 0,!1,void 0,this);let s=[...e],a=t.index>=0,c=a?s.slice(0,t.index).join(""):`${e} `,l=a?s.slice(t.index+1).join(""):"",i=H?v|nH:nH;return jH("text",{attributes:o,children:[c?jH("span",{fg:r,children:c},void 0,!1,void 0,this):null,jH("span",{fg:n.hotkey,attributes:i,children:t.key},void 0,!1,void 0,this),l?jH("span",{fg:r,children:l},void 0,!1,void 0,this):null]},void 0,!0,void 0,this)}var zm="./assets/compass_active-mcnd0q22.png";var Jm="./assets/compass_inactive-ddbmyj5v.png";var eg="./assets/compass_active_light-v08f7cvf.png";var tg="./assets/compass_inactive_light-wwd8x0j5.png";var rg="./assets/dashboard_active-3k2ysmyr.png";var Hg="./assets/dashboard_inactive-a3pdwyw3.png";var ng="./assets/dashboard_active_light-j060573s.png";var og="./assets/dashboard_inactive_light-47zscdjm.png";var sg="./assets/issues_active-k2k0e07f.png";var ag="./assets/issues_inactive-5jhnttk9.png";var ig="./assets/issues_active_light-ppxjynwp.png";var cg="./assets/issues_inactive_light-efzr1ggk.png";var lg="./assets/monitors_active-ypv5rjbw.png";var Ag="./assets/monitors_inactive-vncjn4xh.png";var ug="./assets/monitors_active_light-7en9bsxt.png";var dg="./assets/monitors_inactive_light-3p8t6ysq.png";var pg="./assets/seer_active-s87c2fsc.png";var mg="./assets/seer_inactive-vnbwgb8m.png";var gg="./assets/seer_active_light-qr5zb8g1.png";var Og="./assets/seer_inactive_light-g6ryga4y.png";var yg="./assets/sentry-a94jrdn1.png";var fg="./assets/sentry_light-xph1a1zb.png";var Sg={compass_active:zm,compass_inactive:Jm,dashboard_active:rg,dashboard_inactive:Hg,issues_active:sg,issues_inactive:ag,monitors_active:lg,monitors_inactive:Ag,seer_active:pg,seer_inactive:mg,sentry:yg},Mx={dark:Sg,light:{compass_active:eg,compass_inactive:tg,dashboard_active:ng,dashboard_inactive:og,issues_active:ig,issues_inactive:cg,monitors_active:ug,monitors_inactive:dg,seer_active:gg,seer_inactive:Og,sentry:fg}};function pa(e,t="dark"){return Mn(Mx[t][e])}var uB=Object.keys(Sg);import{jsxDEV as Lg}from"h:6___________________________";var Cx={issues:"issues",explore:"compass",dashboards:"dashboard",seer:"seer",monitors:"monitors"},_g=1,DH=2;function kg({groupId:e,active:t}){let r=S(),H=t?"active":"inactive";return Lg("image",{source:pa(`${Cx[e]}_${H}`,r.mode),fit:"fit",style:{width:DH,height:_g}},void 0,!1,void 0,this)}function hg(){let e=S();return Lg("image",{source:pa("sentry",e.mode),fit:"fit",style:{width:DH,height:_g}},void 0,!1,void 0,this)}import{jsxDEV as kt}from"h:6___________________________";var Ig="sentry.app.switchOrg",Xn=2,Bn=1,Qx=1,Nx=1,bg=1,ma=4,wg=Math.max(...Ut.map((e)=>le(e.label))),Tg=(()=>{let e=Be(Te(Ig));return e?1+le(e):0})(),jx=DH+bg+wg,Dx=Xn+1+wg+Tg,ga=ma+Math.max(jx,Dx),Oa=ma+DH,xg=1,Rx=2,Pg=1,qg=1+xg+Bn;function Mg({active:e,expanded:t,focused:r,hotkeys:H,avatarUrl:n,orgSlug:o,onSelect:s,onExpand:a,onOrgPress:c,groups:l=Ut}){let i=S(),A=t?ga:Oa,u=A-ma,{supportsHighRes:d}=Vt(),p=t?u-(d&&n?Xn+1:0)-Tg:0;return kt("box",{style:{width:A,flexShrink:0,flexDirection:"column",border:!0,borderColor:r?i.borderFocused:i.border,paddingLeft:1,paddingRight:1},onMouseDown:t?void 0:a,children:[o||d&&n?kt("box",{style:{height:d?Bn:1,flexDirection:"column",alignItems:t?"stretch":"center",marginTop:xg,marginBottom:Rx},onMouseDown:t?c:void 0,children:t?kt("box",{style:{flexDirection:"row",alignItems:"center",gap:1},children:[d&&n?kt("image",{source:n,fit:"fit",style:{width:Xn,height:Bn}},void 0,!1,void 0,this):null,o?kt("text",{fg:i.text,attributes:1,children:D(o,p)},void 0,!1,void 0,this):null,kt("box",{style:{flexDirection:"row"},children:kt(qt,{command:Ig},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this):d&&n?kt("image",{source:n,fit:"fit",style:{width:Xn,height:Bn}},void 0,!1,void 0,this):o?kt("text",{fg:i.text,attributes:1,children:Array.from(o)[0]?.toUpperCase()},void 0,!1,void 0,this):null},void 0,!1,void 0,this):null,kt("box",{style:{flexDirection:"column",gap:d?Nx:0},children:l.map((g)=>{let m=g.id===e;return kt("box",{style:{flexDirection:"row",alignItems:"center",gap:d?bg:0,height:Qx},onMouseDown:t?()=>s?.(g.id):void 0,children:[d?kt(kg,{groupId:g.id,active:m},void 0,!1,void 0,this):null,t?kt(Kn,{label:g.label,hotkey:H?.get(g.id),fg:m?i.accent:i.muted,bold:m},void 0,!1,void 0,this):d?null:kt("text",{fg:m?i.accent:i.muted,attributes:m?1:0,children:g.glyph},void 0,!1,void 0,this)]},g.id,!0,void 0,this)})},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}import{useCallback as vx,useEffect as Gx,useMemo as Ex,useState as ya}from"h:0__";import{jsxDEV as Kx}from"h:6___________________________";function Cg({client:e,currentOrg:t,anchorLeft:r,anchorTop:H,onSelect:n,onClose:o}){let[s,a]=ya([]),[c,l]=ya(null),[i,A]=ya(e!==null);Gx(()=>{if(!e)return;let p=new AbortController;return A(!0),vc(e,p.signal).then((g)=>{if(p.signal.aborted)return;a(g),l(null)}).catch((g)=>{if(p.signal.aborted)return;l(g instanceof Error?g.message:String(g))}).finally(()=>{if(!p.signal.aborted)A(!1)}),()=>p.abort()},[e]);let u=Ex(()=>s.map((p)=>({label:p.slug,value:p.slug})),[s]),d=vx((p)=>{let g=p[0];if(g)n(g)},[n]);return Kx(gt,{title:"Organization",items:u,selected:t?[t]:[],anchorLeft:r,anchorTop:H,showAll:!1,filterable:!0,placeholder:i?"Loading organizations\u2026":c??"No organizations",onSelect:d,onClose:o},void 0,!1,void 0,this)}var Lr={sections:[]};function fa(e,t=Lr){return[...ft(e).sections.map((H)=>({title:H.title,items:H.items.map((n)=>({label:n}))})),...t.sections]}function Sa(e,t=Lr){return fa(e,t).flatMap((r)=>r.items)}function Qg(e,t){return t.target??{group:e,item:t.label}}import{jsxDEV as Xr}from"h:6___________________________";var Wn=22,Ng=Wn-4;function jg({group:e,activeItem:t,focused:r,extras:H=Lr,hotkeys:n,onSelect:o}){let s=S(),a=ft(e),c=fa(e,H);return Xr("box",{style:{width:Wn,flexShrink:0,flexDirection:"column",overflow:"hidden",border:!0,borderColor:r?s.borderFocused:s.border,paddingTop:1,paddingLeft:1,paddingRight:1},children:[Xr("text",{fg:s.text,attributes:1,children:a.label},void 0,!1,void 0,this),c.map((l,i)=>Xr("box",{style:{flexDirection:"column",flexShrink:0},children:[Xr("text",{fg:s.border,children:"\u2500".repeat(Ng)},void 0,!1,void 0,this),l.title?Xr("text",{fg:s.muted,children:l.title},void 0,!1,void 0,this):null,l.items.map((A,u)=>{let d=A.label===t;return Xr("box",{style:{flexDirection:"row",height:1,flexShrink:0},onMouseDown:()=>o?.(A),children:Xr(Kn,{label:D(A.label,Ng),hotkey:n?.get(A.label),fg:d?s.accent:s.muted,bold:d},void 0,!1,void 0,this)},`${i}:${u}:${A.label}`,!1,void 0,this)})]},i,!0,void 0,this))]},void 0,!0,void 0,this)}import{useEffect as Xx,useState as Bx}from"h:0__";import{jsxDEV as Fx}from"h:6___________________________";var Dg=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],Wx=80;function _a(e=!0){let[t,r]=Bx(0);return Xx(()=>{if(!e)return;let H=setInterval(()=>r((n)=>(n+1)%Dg.length),Wx);return()=>clearInterval(H)},[e]),Dg[t]}function iH(){let e=_a();return Fx("span",{children:e},void 0,!1,void 0,this)}import{jsxDEV as lt,Fragment as Zx}from"h:6___________________________";function Ux(e,t){return e==="error"?t.danger:t.highlight}function Yx({commandId:e,label:t}){let r=S();if(!Te(e))return null;return lt(Zx,{children:[lt(qt,{command:e},void 0,!1,void 0,this),lt("text",{children:" "},void 0,!1,void 0,this),t?lt("text",{fg:r.muted,children:t},void 0,!1,void 0,this):null]},void 0,!0,void 0,this)}function $x({onPress:e}){let t=S();return lt("box",{style:{flexDirection:"row",flexShrink:0},onMouseDown:e,children:[lt("text",{fg:t.highlight,attributes:v,children:"Update"},void 0,!1,void 0,this),lt("text",{fg:t.subText,children:" \xB7 "},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function Rg({notice:e,hints:t,since:r,onUpdate:H}){let n=S(),o=e.kind==="loading",s=_a(o),a=e.text;if(o){let c=r===void 0?void 0:Date.now()-r,l=c!==void 0&&c>=2000?` ${(c/1000).toFixed(1)}s`:"";a=`${s} ${e.text}${l}`}return lt("box",{style:{height:1,flexShrink:0,flexDirection:"row",backgroundColor:n.panel,paddingLeft:1,paddingRight:1},children:[H?lt($x,{onPress:H},void 0,!1,void 0,this):null,lt("text",{fg:Ux(e.kind,n),children:a},void 0,!1,void 0,this),lt("box",{style:{flexGrow:1}},void 0,!1,void 0,this),t.map(({command:c,label:l},i)=>{if(!Te(c))return null;return lt("box",{style:{flexDirection:"row"},children:[i>0?lt("text",{fg:n.subText,children:" \xB7 "},void 0,!1,void 0,this):null,lt(Yx,{commandId:c,label:l},void 0,!1,void 0,this)]},c,!0,void 0,this)}),lt(Vx,{},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function Vx(){let{supportsHighRes:e}=Vt();if(!e)return null;return lt("box",{style:{marginLeft:1},children:lt(hg,{},void 0,!1,void 0,this)},void 0,!1,void 0,this)}import{useKeyboard as zx}from"h:4___________";import{jsxDEV as Fn}from"h:6___________________________";var Jx=84,eP=12;function vg({url:e,onClose:t}){let r=S();return zx((H)=>{Rt([()=>{if(!j("sentry.nav.back",H))return"notMine";return t(),"mine"}],H,ct)}),Fn(kr,{title:" Open in Sentry ",width:Jx,height:eP,onClose:t,children:[Fn("text",{fg:r.warning,children:"Could not launch a browser. Open this production URL:"},void 0,!1,void 0,this),Fn("text",{fg:r.text,style:{wrapMode:"char"},children:e},void 0,!1,void 0,this),Fn("text",{fg:r.subText,children:"esc close"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}import{useCallback as tP,useMemo as rP,useRef as HP,useState as nP}from"h:0__";function Gg(e,t){let[r,H]=nP(t??e[0]),n=HP(r);n.current=r;let o=tP((s)=>{let c=(e.indexOf(n.current)+s+e.length)%e.length;H(e[c])},[e]);return rP(()=>({focused:r,focusedRef:n,isFocused:(s)=>r===s,focus:H,next:()=>o(1),prev:()=>o(-1)}),[r,o])}import{useCallback as nr,useMemo as sn,useReducer as e1,useState as t1}from"h:0__";var Eg=/[a-z0-9]/i;function oP(e){let t=[...e],r=[],H=[];return t.forEach((n,o)=>{if(!Eg.test(n))return;let s=t[o-1];if(s===void 0||!Eg.test(s))r.push(o);else H.push(o)}),[...r,...H]}function Kg(e,t=[]){let r=new Set;for(let H of t)r.add(H.toLowerCase());return e.map((H)=>{let n=[...H];for(let s of oP(H)){let a=n[s].toLowerCase();if(r.has(a))continue;return r.add(a),{key:a,index:s}}let o=[..."abcdefghijklmnopqrstuvwxyz0123456789"].find((s)=>!r.has(s));if(!o)return;return r.add(o),{key:o,index:-1}})}var sP=[Te("sentry.nav.goto"),Te("sentry.app.switchOrg")].filter(Boolean);function Xg(e,t=Ut){let r=ft(e).sections.flatMap((a)=>a.items),H=Kg([...t.map((a)=>a.label),...r],sP),n=new Map,o=new Map,s=new Map;return t.forEach((a,c)=>{let l=H[c];if(!l)return;n.set(a.id,l),s.set(l.key,{kind:"group",group:a.id})}),r.forEach((a,c)=>{let l=H[t.length+c];if(!l)return;o.set(a,l),s.set(l.key,{kind:"item",item:a})}),{groups:n,items:o,byKey:s}}var Bg=" \u203A ",aP="\u2026";function Wg(e,t){let r=e.filter((n)=>Boolean(n&&n.trim()));if(r.length===0||t<=0)return"";let H=r.join(Bg);if(le(H)<=t)return H;for(let n=1;n<r.length;n++){let o=[aP,...r.slice(n)].join(Bg);if(le(o)<=t)return o}return D(r[r.length-1],t)}import{useCallback as Br,useMemo as ka,useReducer as iP,useRef as Fg}from"h:0__";function zt(e){if(e.entriesSource!==null&&e.entriesSource!==e.source)throw Error(`Screen "${e.source}" cannot read rows written by "${e.entriesSource}" from shared state "${e.key}"`);return e.entries}var Ug="__unregistered__";function RH(e,t=[]){let r=jl(e),H=r.query??"";return{entries:[],entriesSource:null,selected:0,status:{loading:!1},openDropdown:null,selectedProjects:[...t],selectedEnvs:[],statsPeriod:r.statsPeriod??Tt,sort:r.sort??On,detailOpen:!1,searchQuery:H,committedQuery:H,searchFocused:!1,queryBeforeEdit:H}}function cP(e,t){return{...RH(e,t.selectedProjects),entriesSource:t.source,selected:t.selected,selectedProjects:[...t.selectedProjects],selectedEnvs:[...t.selectedEnvs],statsPeriod:t.statsPeriod,sort:t.sort,detailOpen:t.detailOpen,searchQuery:t.query,committedQuery:t.query,queryBeforeEdit:t.query}}function lP(e,t,r,H){let n=new Map;for(let[o,s]of Object.entries(H??{}))n.set(o,cP(o,s));if(r&&!n.has(e))n.set(e,Un(RH(e,t),{type:"seed",payload:r}));return n}function AP(e,t){return e.loading===t.loading&&e.since===t.since&&e.error===t.error&&e.noun===t.noun}function Un(e,t,r){switch(t.type){case"setEntries":{if(!r)throw Error("setEntries requires a screen source");let H=e.entriesSource===r?e.entries:[],n=typeof t.payload==="function"?t.payload(H):t.payload;if(n===e.entries&&e.entriesSource===r)return e;let o=Math.min(e.entriesSource===r?e.selected:0,Math.max(0,n.length-1));return{...e,entries:n,entriesSource:r,selected:o}}case"setSelected":{let H=r===void 0||e.entriesSource===r,n=H?e.selected:0,o=typeof t.payload==="function"?t.payload(n):t.payload,s=H?e.entries.length:0,a=Math.max(0,Math.min(o,Math.max(0,s-1)));return a===e.selected?e:{...e,selected:a}}case"setStatus":return AP(e.status,t.payload)?e:{...e,status:t.payload};case"setOpenDropdown":return e.openDropdown===t.payload?e:{...e,openDropdown:t.payload};case"setSelectedProjects":return{...e,selectedProjects:t.payload};case"setSelectedEnvs":return{...e,selectedEnvs:t.payload};case"setStatsPeriod":return e.statsPeriod===t.payload?e:{...e,statsPeriod:t.payload};case"setSort":return e.sort===t.payload?e:{...e,sort:t.payload};case"setDetailOpen":{let H=typeof t.payload==="function"?t.payload(e.detailOpen):t.payload;return H===e.detailOpen?e:{...e,detailOpen:H}}case"setSearchQuery":return e.searchQuery===t.payload?e:{...e,searchQuery:t.payload};case"focusSearch":return{...e,queryBeforeEdit:e.committedQuery,searchFocused:!0};case"submitSearch":return{...e,committedQuery:e.searchQuery,searchFocused:!1};case"cancelSearch":case"handleSearchBlur":return{...e,searchQuery:e.queryBeforeEdit,searchFocused:!1};case"resetOrgScoped":return{...e,entries:[],entriesSource:null,selected:0,status:{loading:!1},openDropdown:null,selectedProjects:[...t.payload.projects],selectedEnvs:[],detailOpen:!1,searchFocused:!1};case"seed":{let H=t.payload.query??e.searchQuery;return{...e,searchQuery:H,committedQuery:H,queryBeforeEdit:H,sort:t.payload.sort??e.sort,statsPeriod:t.payload.statsPeriod??e.statsPeriod,selectedProjects:t.payload.selectedProjects??e.selectedProjects,selectedEnvs:t.payload.selectedEnvs??e.selectedEnvs}}}}function uP(e,t){if(t.type==="resetOrgScoped"){let o=new Map;for(let[s,a]of e)o.set(s,Un(a,{type:"resetOrgScoped",payload:{projects:t.projects}}));return o}let r=new Map(e);if(t.type==="seed")return r.set(t.key,Un(RH(t.key),{type:"seed",payload:t.values})),r;let H=e.get(t.key)??t.fallback,n=Un(H,t.action,t.source);if(n===H&&e.has(t.key))return e;return r.set(t.key,n),r}function Yg(e,t,r=[],H,n){let o=e??Ug,[s,a]=iP(uP,void 0,()=>lP(o,r,H,n)),c=Fg(r);c.current=r;let l=Fg(!1),i=Br((f)=>{a({type:"dispatch",key:o,source:t,action:f,fallback:RH(o,c.current)})},[o,t]),A=Br(()=>i({type:"focusSearch"}),[i]),u=Br(()=>{l.current=!0,i({type:"submitSearch"})},[i]),d=Br(()=>{l.current=!0,i({type:"cancelSearch"})},[i]),p=Br(()=>{if(l.current){l.current=!1;return}i({type:"handleSearchBlur"})},[i]),g=ka(()=>s.get(o)??RH(o,r),[s,o,r]),m=ka(()=>({...g,entries:g.entriesSource===null||g.entriesSource===t?g.entries:[],selected:g.entriesSource===null||g.entriesSource===t?g.selected:0,key:o,source:t,dispatch:i,focusSearch:A,submitSearch:u,cancelSearch:d,handleSearchBlur:p}),[g,o,t,i,A,u,d,p]),O=Br((f=[])=>{a({type:"resetOrgScoped",projects:[...f]})},[]),y=Br((f,k)=>{a({type:"seed",key:f,values:k})},[]),L=ka(()=>{let f={};for(let[k,I]of s){if(k===Ug)continue;f[k]={source:I.entriesSource,selected:I.selected,query:I.committedQuery,sort:I.sort,statsPeriod:I.statsPeriod,selectedProjects:[...I.selectedProjects],selectedEnvs:[...I.selectedEnvs],detailOpen:I.detailOpen}}return f},[s]);return{active:m,resetOrgScoped:O,seed:y,snapshots:L}}import{useMemo as A5}from"h:0__";var ha=20;var dP=[{value:"mostStarred",label:"Most Starred"},{value:"recentlyViewed",label:"Recently Viewed"},{value:"name",label:"Name (A-Z)"},{value:"-name",label:"Name (Z-A)"},{value:"-dateAdded",label:"Created (Newest)"},{value:"dateAdded",label:"Created (Oldest)"}],pP=[{value:"myqueries",label:"My Queries"},{value:"-dateUpdated",label:"Recently Edited"},{value:"name",label:"Name (A-Z)"},{value:"-dateCreated",label:"Created (Newest)"},{value:"dateCreated",label:"Created (Oldest)"},{value:"dateUpdated",label:"Most Outdated"},{value:"mostPopular",label:"Most Popular"},{value:"recentlyViewed",label:"Recently Viewed"}];function La(e){return e==="explore"?dP:pP}function $g(e,t){if(La(t).some((H)=>H.value===e))return e;return t==="explore"?"mostStarred":"myqueries"}var Vg={logs:"Logs",spans:"Traces",segment_spans:"Traces",metrics:"Metrics",replays:"Replays",ai_conversations:"Conversations"},mP={logs:"logs",spans:"spans",segment_spans:"spans",metrics:"tracemetrics",replays:"replays",ai_conversations:"spans"};async function gP(e,{org:t,starred:r,search:H,sort:n="recentlyViewed",limit:o=50,cursor:s,signal:a}){let c=await e.request(`/organizations/${t}/explore/saved/`,{query:{sortBy:["starred",n],per_page:o,starred:r?1:void 0,query:H||void 0,cursor:s},signal:a});return{...c,data:rO(c.data).map(Zg).filter(tO)}}function Zg(e,t){let r=yP(e.dataset),H=OP(e.query);return{id:At(e.id)??String(t),source:"explore",name:At(e.name)??"Untitled query",datasetLabel:Vg[r],dataset:mP[r],query:At(H?.query)??"",fields:Yn(H?.fields),sort:At(H?.orderby),projects:HO(e.projects),environment:Yn(e.environment),statsPeriod:At(e.range),lastVisited:At(e.lastVisited),dateUpdated:At(e.dateUpdated),starred:e.starred===!0,createdBy:e.isPrebuilt===!0?void 0:nO(e.createdBy),isPrebuilt:e.isPrebuilt===!0}}function OP(e){if(!Array.isArray(e))return;let t=e[0];return typeof t==="object"&&t!==null?t:void 0}function yP(e){let t=String(e??"spans");return t in Vg?t:"spans"}var fP={"error-events":"Errors","transaction-like":"Transactions",discover:"Discover"},SP={"error-events":"errors","transaction-like":"transactions",discover:"discover"};async function _P(e,{org:t,search:r,sort:H="myqueries",limit:n=50,cursor:o,signal:s}){let a=r?.trim(),c=await e.request(`/organizations/${t}/discover/saved/`,{query:{query:a?`version:2 name:"${a}"`:"version:2",sortBy:H,per_page:n,cursor:o},signal:s});return{...c,data:rO(c.data).map(zg).filter(tO)}}function zg(e,t){let r=At(e.queryDataset)??"discover";return{id:At(e.id)??String(t),source:"discover",name:At(e.name)??"Untitled query",datasetLabel:fP[r]??"Discover",dataset:SP[r]??"discover",query:At(e.query)??"",fields:Yn(e.fields),sort:Array.isArray(e.orderby)?At(e.orderby[0]):At(e.orderby),projects:HO(e.projects),environment:Yn(e.environment),statsPeriod:At(e.range),dateUpdated:At(e.dateUpdated),starred:!1,createdBy:nO(e.createdBy),isPrebuilt:!1}}async function Jg(e,{org:t,source:r,queryId:H,signal:n}){if(r==="explore"){let s=await e.request(`/organizations/${t}/explore/saved/${H}/`,{signal:n});return Zg(s.data,0)}let o=await e.request(`/organizations/${t}/discover/saved/${H}/`,{signal:n});return zg(o.data,0)}function eO(e,t,r){return t==="explore"?gP(e,r):_P(e,r)}function tO(e){return e.fields.length>0}function rO(e){return Array.isArray(e)?e.filter((t)=>typeof t==="object"&&t!==null):[]}function At(e){if(e===void 0||e===null||e==="")return;return String(e)}function Yn(e){return Array.isArray(e)?e.map((t)=>String(t)).filter(Boolean):[]}function HO(e){if(!Array.isArray(e))return[];return e.map((t)=>Number(t)).filter((t)=>Number.isFinite(t))}function nO(e){if(!e)return;return At(e.name)??At(e.email)}import{reportError as kP}from"h:7___________________________________";function Ce(e){if(e instanceof dr)return{message:e.message,retryable:e.retryable,retryAfterSeconds:e.retryAfterSeconds};if(!hP(e))kP(e,{source:"api.response.unreadable"});return{message:e instanceof Error?e.message:String(e),retryable:!0}}function hP(e){if(!(e instanceof Error))return!1;return e.name==="AbortError"||e.name==="TimeoutError"}var pe=()=>({state:"idle"});function Se(e,t){return{state:"loading",since:t,previous:K(e)}}function me(e,t){return{state:"ready",value:e,fetchedAt:t}}function ge(e,t){return{state:"error",error:t,previous:K(e)}}function K(e){if(!e)return;switch(e.state){case"ready":return e.value;case"loading":case"error":return e.previous;case"idle":return}}function ut(e,t){switch(e.state){case"idle":return e;case"loading":return e.previous===void 0?{state:"loading",since:e.since}:{state:"loading",since:e.since,previous:t(e.previous)};case"ready":return{state:"ready",value:t(e.value),fetchedAt:e.fetchedAt};case"error":return e.previous===void 0?{state:"error",error:e.error}:{state:"error",error:e.error,previous:t(e.previous)}}}function oO(e){return e?.state==="loading"}function _e(e){return e?.state==="loading"&&e.previous===void 0}function ne(e){return e?.state==="error"?e.error:void 0}function Ze(e){return e?.state==="loading"?e.since:void 0}import{useCallback as xP,useEffect as PP,useMemo as qP,useState as MP}from"h:0__";var sO=[{value:"mydashboards",label:"My Dashboards"},{value:"title",label:"Name (A-Z)"},{value:"-title",label:"Name (Z-A)"},{value:"-dateCreated",label:"Newest Created"},{value:"dateCreated",label:"Oldest Created"},{value:"mostPopular",label:"Most Popular"},{value:"recentlyViewed",label:"Recently Viewed"}];function Ia(e){return e?sO.filter((t)=>t.value!=="mydashboards"):sO}function aO(e,t,r){return Ia(r).some((H)=>H.value===e)?e:t}var LP=50,IP=20;async function iO(e,{org:t,filter:r,query:H,sort:n,limit:o=LP,cursor:s,signal:a}){let c=await wc({...e.generatedOptions(a),path:{organization_id_or_slug:t},query:{filter:r?[r]:void 0,query:H||void 0,sort:n,pin:"favorites",per_page:o}},s);return e.generatedPage(c)}async function cO(e,{org:t,limit:r=IP,signal:H}){let n=await e.request(`/organizations/${t}/dashboards/starred/`,{query:{per_page:r},signal:H});return Array.isArray(n.data)?n.data:[]}async function lO(e,{org:t,id:r,signal:H}){let o=(await e.request(`/organizations/${t}/dashboards/${r}/`,{signal:H})).data;return{...o,widgets:Array.isArray(o?.widgets)?o.widgets:[]}}var AO={source:{repository:"https://github.com/getsentry/sentry",revision:"c8c670f927d1bae633f44289e43a49db8cfc294f",path:"static/app/views/dashboards/utils/prebuiltConfigs.tsx"},dashboards:{"1":{title:"Frontend Session Health",description:"Monitor browser session health by user and session.",widgets:[{id:"issue-counts",title:"Issue Counts",displayType:"bar",widgetType:"issue",queries:[{name:"",conditions:"",columns:[],aggregates:["count(new_issues)","count(resolved_issues)"],orderby:"",fields:["count(new_issues)","count(resolved_issues)"]}],interval:"5m",layout:{x:0,y:0,w:3,h:2,minH:2}},{id:"issues",title:"Issues",displayType:"table",widgetType:"issue",queries:[{name:"",conditions:"",columns:["issue","project","title"],aggregates:[],orderby:"",fields:["issue","project","title"]}],interval:"5m",layout:{x:3,y:0,w:3,h:2,minH:2}},{id:"unhealthy-sessions",title:"Unhealthy Sessions",displayType:"line",widgetType:"metrics",queries:[{name:"",conditions:"",columns:[],aggregates:["unhealthy_rate(session)"],orderby:"",fields:["unhealthy_rate(session)"]}],interval:"5m",layout:{x:0,y:2,w:3,h:3,minH:2}},{id:"user-health",title:"User Health",displayType:"area",widgetType:"metrics",queries:[{name:"",conditions:"",columns:[],aggregates:["abnormal_rate(user)","crash_rate(user)","errored_rate(user)","unhandled_rate(user)"],orderby:"",fields:["abnormal_rate(user)","crash_rate(user)","errored_rate(user)","unhandled_rate(user)"]}],interval:"5m",layout:{x:3,y:2,w:3,h:3,minH:2}},{id:"session-health",title:"Session Health",displayType:"area",widgetType:"metrics",queries:[{name:"",conditions:"",columns:[],aggregates:["abnormal_rate(session)","crash_rate(session)","errored_rate(session)","unhandled_rate(session)"],orderby:"",fields:["abnormal_rate(session)","crash_rate(session)","errored_rate(session)","unhandled_rate(session)"]}],interval:"5m",layout:{x:0,y:5,w:2,h:3,minH:2}},{id:"session-counts",title:"Session Counts",displayType:"line",widgetType:"metrics",queries:[{name:"",conditions:"",columns:["session.status"],aggregates:["sum(session)"],orderby:"",fields:["session.status","sum(session)"]}],interval:"5m",layout:{x:2,y:5,w:2,h:3,minH:2}},{id:"user-counts",title:"User Counts",displayType:"line",widgetType:"metrics",queries:[{name:"",conditions:"",columns:["session.status"],aggregates:["count_unique(user)"],orderby:"",fields:["session.status","count_unique(user)"]}],interval:"5m",layout:{x:4,y:5,w:2,h:3,minH:2}}]},"2":{title:"Queries",description:"Track database query throughput and duration, with per-query drill-downs.",widgets:[{id:"throughput",title:"Queries Per Minute",displayType:"line",widgetType:"spans",queries:[{name:"Queries Per Minute",conditions:"span.category:db has:sentry.normalized_description",columns:[],aggregates:["epm()"],orderby:"epm()",fields:["epm()"]}],interval:"5m",layout:{y:0,w:3,h:2,x:0,minH:2}},{id:"duration",title:"Average Duration",displayType:"line",widgetType:"spans",queries:[{name:"Average Duration",conditions:"span.category:db has:sentry.normalized_description",columns:[],aggregates:["avg(span.duration)"],orderby:"avg(span.duration)",fields:["avg(span.duration)"]}],interval:"5m",layout:{y:0,w:3,h:2,x:3,minH:2}},{id:"queries-table",title:"Queries List",displayType:"table",widgetType:"spans",queries:[{name:"",conditions:"span.category:db has:sentry.normalized_description",columns:["sentry.normalized_description"],aggregates:["epm()","avg(span.duration)","sum(span.duration)"],orderby:"-sum(span.duration)",fields:["sentry.normalized_description","epm()","avg(span.duration)","sum(span.duration)"],fieldAliases:["Query Description","Queries Per Minute","Avg Duration","Time Spent"]}],interval:"5m",layout:{y:2,w:6,h:6,x:0,minH:2}}]},"3":{title:"Query Details",description:"",widgets:[{id:"metrics-throughput",title:"Queries Per Minute",description:"",displayType:"big_number",widgetType:"spans",queries:[{name:"Queries Per Minute",conditions:"span.category:db has:sentry.normalized_description",columns:[],aggregates:["epm()"],orderby:"",fields:["epm()"]}],interval:"1h",layout:{y:0,x:2,h:1,w:2,minH:1}},{id:"metrics-duration",title:"Average Duration",description:"",displayType:"big_number",widgetType:"spans",queries:[{name:"Average Duration",conditions:"span.category:db has:sentry.normalized_description",columns:[],aggregates:["avg(span.duration)"],orderby:"",fields:["avg(span.duration)"]}],interval:"1h",layout:{y:0,x:0,h:1,w:2,minH:1}},{id:"metrics-time-spent",title:"Time Spent",description:"",displayType:"big_number",widgetType:"spans",queries:[{name:"",conditions:"span.category:db has:sentry.normalized_description",columns:[],aggregates:["sum(span.duration)"],orderby:"",fields:["sum(span.duration)"]}],interval:"1h",layout:{y:0,x:4,h:1,w:2,minH:1}},{id:"example-query",title:"Example Query",description:"",displayType:"details",widgetType:"spans",queries:[{name:"",conditions:"span.category:db has:sentry.normalized_description",columns:["id","span.op","span.group","span.description","span.category"],aggregates:[],orderby:"id",fields:["id","span.op","span.group","span.description","span.category"],fieldAliases:[]}],interval:"1h",limit:1,layout:{y:1,x:0,h:2,w:6,minH:2}},{id:"transactions-with-query",title:"Transactions with Query",description:"",displayType:"table",widgetType:"spans",queries:[{name:"",conditions:"span.category:db has:sentry.normalized_description",columns:["transaction"],aggregates:["epm()","sum(span.duration)"],orderby:"-sum(span.duration)",fields:["transaction","epm()","sum(span.duration)"],fieldAliases:["Found In","Queries Per Minute","Time Spent"]}],interval:"1h",layout:{y:5,x:0,h:2,w:6,minH:2}},{id:"metrics-throughput-line",title:"Queries Per Minute",description:"",displayType:"line",widgetType:"spans",queries:[{name:"Queries Per Minute",conditions:"span.category:db has:sentry.normalized_description",columns:[],aggregates:["epm()"],orderby:"epm()",fields:["epm()"],fieldAliases:[]}],interval:"1h",layout:{y:3,x:0,h:2,w:3,minH:2}},{id:"metrics-duration-line",title:"Average Duration",description:"",displayType:"line",widgetType:"spans",queries:[{name:"Average Duration",conditions:"span.category:db has:sentry.normalized_description",columns:[],aggregates:["avg(span.duration)"],orderby:"avg(span.duration)",fields:["avg(span.duration)"],fieldAliases:[]}],interval:"1h",layout:{y:3,x:3,h:2,w:3,minH:2}}]},"4":{title:"Outbound API Requests",description:"Track HTTP client request performance.",widgets:[{id:"throughput-chart",title:"Requests Per Minute",displayType:"line",widgetType:"spans",queries:[{name:"Requests Per Minute",conditions:"span.op:http.client",columns:[],aggregates:["epm()"],orderby:"epm()",fields:["epm()"]}],interval:"5m",layout:{x:0,y:0,w:2,h:2,minH:2}},{id:"duration-chart",title:"Average Duration",displayType:"line",widgetType:"spans",queries:[{name:"Average Duration",conditions:"span.op:http.client",columns:[],aggregates:["avg(span.duration)"],orderby:"avg(span.duration)",fields:["avg(span.duration)"]}],interval:"5m",layout:{x:2,y:0,w:2,h:2,minH:2}},{id:"response-codes-chart",title:"Response Codes (3XX, 4XX, 5XX)",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:"span.op:http.client",columns:[],aggregates:["equation|count_if(span.status_code,between,300,399) / count(span.duration)","equation|count_if(span.status_code,between,400,499) / count(span.duration)","equation|count_if(span.status_code,between,500,599) / count(span.duration)"],orderby:"equation|count_if(span.status_code,between,300,399) / count(span.duration)",fields:["equation|count_if(span.status_code,between,300,399) / count(span.duration)","equation|count_if(span.status_code,between,400,499) / count(span.duration)","equation|count_if(span.status_code,between,500,599) / count(span.duration)"]}],interval:"5m",layout:{x:4,y:0,w:2,h:2,minH:2}},{id:"domain-table",title:"Domains",displayType:"table",widgetType:"spans",queries:[{name:"",conditions:"span.op:http.client",columns:["span.domain","project"],aggregates:["epm()","equation|count_if(span.status_code,between,300,399) / count(span.duration)","equation|count_if(span.status_code,between,400,499) / count(span.duration)","equation|count_if(span.status_code,between,500,599) / count(span.duration)","avg(span.duration)","sum(span.duration)"],orderby:"-sum(span.duration)",fields:["span.domain","project","epm()","equation|count_if(span.status_code,between,300,399) / count(span.duration)","equation|count_if(span.status_code,between,400,499) / count(span.duration)","equation|count_if(span.status_code,between,500,599) / count(span.duration)","avg(span.duration)","sum(span.duration)"],fieldAliases:["Domain","Project","Requests Per Minute","3XXs","4XXs","5XXs","Avg Duration","Time Spent"]}],interval:"5m",layout:{x:0,y:2,minH:2,h:4,w:6}}]},"5":{title:"Domain Details",description:"",widgets:[{id:"domain-widget",title:"Domain",displayType:"details",widgetType:"spans",queries:[{name:"",conditions:"span.op:http.client",columns:["id","span.op","span.group","span.description","span.category"],aggregates:[],orderby:"id",fields:["id","span.op","span.group","span.description","span.category"],fieldAliases:[]}],interval:"5m",layout:{x:0,y:0,minH:1,h:1,w:6}},{id:"throughput-big-number",title:"Requests Per Minute",displayType:"big_number",widgetType:"spans",queries:[{name:"Requests Per Minute",conditions:"span.op:http.client",columns:[],aggregates:["epm()"],orderby:"epm()",fields:["epm()"]}],interval:"5m",layout:{x:0,y:1,w:1,h:1,minH:1}},{id:"duration-big-number",title:"Average Duration",displayType:"big_number",widgetType:"spans",queries:[{name:"Average Duration",conditions:"span.op:http.client",columns:[],aggregates:["avg(span.duration)"],orderby:"avg(span.duration)",fields:["avg(span.duration)"]}],interval:"5m",layout:{x:1,y:1,w:1,h:1,minH:1}},{id:"3xx-percentage-big-number",title:"3XX",displayType:"big_number",widgetType:"spans",queries:[{name:"3XX",conditions:"span.op:http.client",columns:[],aggregates:["equation|count_if(span.status_code,between,300,399) / count(span.duration)"],orderby:"equation|count_if(span.status_code,between,300,399) / count(span.duration)",fields:["equation|count_if(span.status_code,between,300,399) / count(span.duration)"]}],interval:"5m",layout:{x:2,y:1,w:1,h:1,minH:1}},{id:"4xx-percentage-big-number",title:"4XX",displayType:"big_number",widgetType:"spans",queries:[{name:"4XX",conditions:"span.op:http.client",columns:[],aggregates:["equation|count_if(span.status_code,between,400,499) / count(span.duration)"],orderby:"equation|count_if(span.status_code,between,400,499) / count(span.duration)",fields:["equation|count_if(span.status_code,between,400,499) / count(span.duration)"]}],interval:"5m",layout:{x:3,y:1,w:1,h:1,minH:1}},{id:"5xx-percentage-big-number",title:"5XX",displayType:"big_number",widgetType:"spans",queries:[{name:"5XX",conditions:"span.op:http.client",columns:[],aggregates:["equation|count_if(span.status_code,between,500,599) / count(span.duration)"],orderby:"equation|count_if(span.status_code,between,500,599) / count(span.duration)",fields:["equation|count_if(span.status_code,between,500,599) / count(span.duration)"]}],interval:"5m",layout:{x:4,y:1,w:1,h:1,minH:1}},{id:"time-spent-big-number",title:"Time Spent",displayType:"big_number",widgetType:"spans",queries:[{name:"Time Spent",conditions:"span.op:http.client",columns:[],aggregates:["sum(span.duration)"],orderby:"sum(span.duration)",fields:["sum(span.duration)"]}],interval:"5m",layout:{x:5,y:1,w:1,h:1,minH:1}},{id:"throughput-chart",title:"Requests Per Minute",displayType:"line",widgetType:"spans",queries:[{name:"Requests Per Minute",conditions:"span.op:http.client",columns:[],aggregates:["epm()"],orderby:"epm()",fields:["epm()"]}],interval:"5m",layout:{x:0,y:2,w:2,h:2,minH:2}},{id:"duration-chart",title:"Average Duration",displayType:"line",widgetType:"spans",queries:[{name:"Average Duration",conditions:"span.op:http.client",columns:[],aggregates:["avg(span.duration)"],orderby:"avg(span.duration)",fields:["avg(span.duration)"]}],interval:"5m",layout:{x:2,y:2,w:2,h:2,minH:2}},{id:"response-codes-chart",title:"Response Codes (3XX, 4XX, 5XX)",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:"span.op:http.client",columns:[],aggregates:["equation|count_if(span.status_code,between,300,399) / count(span.duration)","equation|count_if(span.status_code,between,400,499) / count(span.duration)","equation|count_if(span.status_code,between,500,599) / count(span.duration)"],orderby:"equation|count_if(span.status_code,between,300,399) / count(span.duration)",fields:["equation|count_if(span.status_code,between,300,399) / count(span.duration)","equation|count_if(span.status_code,between,400,499) / count(span.duration)","equation|count_if(span.status_code,between,500,599) / count(span.duration)"]}],interval:"5m",layout:{x:4,y:2,w:2,h:2,minH:2}},{id:"transactions-table",title:"Transactions Making Requests to This Domain",displayType:"table",widgetType:"spans",queries:[{name:"",conditions:"span.op:http.client",columns:["transaction"],aggregates:["epm()","equation|count_if(span.status_code,between,300,399) / count(span.duration)","equation|count_if(span.status_code,between,400,499) / count(span.duration)","equation|count_if(span.status_code,between,500,599) / count(span.duration)","avg(span.duration)","sum(span.duration)"],orderby:"-sum(span.duration)",fields:["transaction","epm()","equation|count_if(span.status_code,between,300,399) / count(span.duration)","equation|count_if(span.status_code,between,400,499) / count(span.duration)","equation|count_if(span.status_code,between,500,599) / count(span.duration)","avg(span.duration)","sum(span.duration)"],fieldAliases:["Found In","Requests Per Minute","3XXs","4XXs","5XXs","Avg Duration","Time Spent"]}],interval:"5m",layout:{x:0,y:4,minH:2,h:5,w:6}}]},"6":{title:"Web Vitals",description:"Track real-user Web Vitals, ranked by improvement opportunity.",widgets:[{id:"score-breakdown-wheel",title:"Performance Score",description:"Tracks the overall performance rating of the pages in your selected project.",displayType:"wheel",widgetType:"spans",queries:[{name:"",conditions:'span.op:[ui.interaction.click,ui.interaction.hover,ui.interaction.drag,ui.interaction.press,ui.webvital.cls,ui.webvital.lcp,pageload,""]',columns:["performance_score(measurements.score.lcp)","performance_score(measurements.score.fcp)","performance_score(measurements.score.inp)","performance_score(measurements.score.cls)","performance_score(measurements.score.ttfb)","performance_score(measurements.score.total)","count_scores(measurements.score.total)","count_scores(measurements.score.lcp)","count_scores(measurements.score.fcp)","count_scores(measurements.score.inp)","count_scores(measurements.score.cls)","count_scores(measurements.score.ttfb)"],aggregates:[],orderby:"",fields:["performance_score(measurements.score.lcp)","performance_score(measurements.score.fcp)","performance_score(measurements.score.inp)","performance_score(measurements.score.cls)","performance_score(measurements.score.ttfb)","performance_score(measurements.score.total)","count_scores(measurements.score.total)","count_scores(measurements.score.lcp)","count_scores(measurements.score.fcp)","count_scores(measurements.score.inp)","count_scores(measurements.score.cls)","count_scores(measurements.score.ttfb)"]}],interval:"5m",limit:1,layout:{y:0,w:2,h:2,x:0,minH:2}},{id:"score-breakdown-chart",title:"Score Breakdown",description:"Each Web Vital score contributes a different amount to the total score. Refer to the Performance Score wheel for total contribution.",displayType:"area",widgetType:"spans",queries:[{name:"",conditions:'span.op:[ui.interaction.click,ui.interaction.hover,ui.interaction.drag,ui.interaction.press,ui.webvital.cls,ui.webvital.lcp,pageload,""]',columns:[],aggregates:["performance_score(measurements.score.lcp)","performance_score(measurements.score.fcp)","performance_score(measurements.score.inp)","performance_score(measurements.score.cls)","performance_score(measurements.score.ttfb)"],orderby:"",fields:["performance_score(measurements.score.lcp)","performance_score(measurements.score.fcp)","performance_score(measurements.score.inp)","performance_score(measurements.score.cls)","performance_score(measurements.score.ttfb)"]}],interval:"5m",layout:{y:0,w:4,h:2,x:2,minH:2}},{id:"lcp-p75-meter",title:"P75 Largest Contentful Paint",description:"Time to render the largest item in the viewport. Bad LCP frustrates users because the website feels slow to load.",displayType:"big_number",widgetType:"spans",queries:[{name:"",conditions:'span.op:[ui.interaction.click,ui.interaction.hover,ui.interaction.drag,ui.interaction.press,ui.webvital.cls,ui.webvital.lcp,pageload,""]',columns:[],aggregates:["p75(browser.web_vital.lcp.value)"],orderby:"",fields:["p75(browser.web_vital.lcp.value)"]}],interval:"5m",layout:{y:2,w:1,h:1,x:0,minH:1}},{id:"inp-p75-meter",title:"P75 Interaction to Next Paint",description:"Latency between user input and visual response. Bad INP makes users feel like the site is laggy, outdated, and unresponsive.",displayType:"big_number",widgetType:"spans",queries:[{name:"",conditions:'span.op:[ui.interaction.click,ui.interaction.hover,ui.interaction.drag,ui.interaction.press,ui.webvital.cls,ui.webvital.lcp,pageload,""]',columns:[],aggregates:["p75(browser.web_vital.inp.value)"],orderby:"",fields:["p75(browser.web_vital.inp.value)"]}],interval:"5m",layout:{y:2,w:1,h:1,x:1,minH:1}},{id:"cls-p75-meter",title:"P75 Cumulative Layout Shift",description:"Measures content 'shifting' during load. Bad CLS indicates a janky website, degrading UX and trust.",displayType:"big_number",widgetType:"spans",queries:[{name:"",conditions:'span.op:[ui.interaction.click,ui.interaction.hover,ui.interaction.drag,ui.interaction.press,ui.webvital.cls,ui.webvital.lcp,pageload,""]',columns:[],aggregates:["p75(browser.web_vital.cls.value)"],orderby:"",fields:["p75(browser.web_vital.cls.value)"]}],interval:"5m",layout:{y:3,w:1,h:1,x:0,minH:1}},{id:"ttfb-p75-meter",title:"P75 Time to First Byte",description:"Time until first byte is delivered to the client. Bad TTFB makes the server feel unresponsive.",displayType:"big_number",widgetType:"spans",queries:[{name:"",conditions:'span.op:[ui.interaction.click,ui.interaction.hover,ui.interaction.drag,ui.interaction.press,ui.webvital.cls,ui.webvital.lcp,pageload,""]',columns:[],aggregates:["p75(browser.web_vital.ttfb.value)"],orderby:"",fields:["p75(browser.web_vital.ttfb.value)"]}],interval:"5m",layout:{y:3,w:1,h:1,x:1,minH:1}},{id:"issues-table",title:"Web Vital Issues",displayType:"table",widgetType:"issue",queries:[{name:"",conditions:"issue.type:[web_vitals,performance_render_blocking_asset_span,performance_uncompressed_assets,performance_http_overhead,performance_consecutive_http,performance_n_plus_one_api_calls,performance_large_http_payload,performance_p95_endpoint_regression]",columns:["issue","assignee","title"],aggregates:[],orderby:"date",fields:["issue","assignee","title"]}],interval:"5m",layout:{y:2,w:4,h:2,x:2,minH:2}},{id:"pages-table",title:"Pages",displayType:"table",widgetType:"spans",queries:[{name:"",conditions:'span.op:[ui.interaction.click,ui.interaction.hover,ui.interaction.drag,ui.interaction.press,ui.webvital.cls,ui.webvital.lcp,pageload,""]',columns:["transaction","project","count()","p75(browser.web_vital.lcp.value)","p75(browser.web_vital.fcp.value)","p75(browser.web_vital.cls.value)","p75(browser.web_vital.ttfb.value)","p75(browser.web_vital.inp.value)","performance_score(measurements.score.total)","opportunity_score(measurements.score.total)"],aggregates:[],orderby:"-opportunity_score(measurements.score.total)",fields:["transaction","project","count()","p75(browser.web_vital.lcp.value)","p75(browser.web_vital.fcp.value)","p75(browser.web_vital.cls.value)","p75(browser.web_vital.ttfb.value)","p75(browser.web_vital.inp.value)","performance_score(measurements.score.total)","opportunity_score(measurements.score.total)"],fieldAliases:["Pages","Project","Pageloads","LCP","FCP","CLS","TTFB","INP","Perf Score","Opportunity"]}],interval:"5m",layout:{y:4,w:6,h:6,x:0,minH:2}}]},"7":{title:"Web Vitals Page Summary",description:"",widgets:[{id:"score-breakdown-chart",title:"Score Breakdown",description:"Each Web Vital score contributes a different amount to the total score. Refer to the Performance Score wheel for total contribution.",displayType:"area",widgetType:"spans",queries:[{name:"",conditions:'span.op:[ui.interaction.click,ui.interaction.hover,ui.interaction.drag,ui.interaction.press,ui.webvital.cls,ui.webvital.lcp,pageload,""]',columns:[],aggregates:["performance_score(measurements.score.lcp)","performance_score(measurements.score.fcp)","performance_score(measurements.score.inp)","performance_score(measurements.score.cls)","performance_score(measurements.score.ttfb)"],orderby:"",fields:["performance_score(measurements.score.lcp)","performance_score(measurements.score.fcp)","performance_score(measurements.score.inp)","performance_score(measurements.score.cls)","performance_score(measurements.score.ttfb)"]}],interval:"5m",layout:{y:0,w:5,h:2,x:0,minH:2}},{id:"score-breakdown-wheel",title:"Performance Score",description:"The overall performance rating of this page.",displayType:"wheel",widgetType:"spans",queries:[{name:"",conditions:'span.op:[ui.interaction.click,ui.interaction.hover,ui.interaction.drag,ui.interaction.press,ui.webvital.cls,ui.webvital.lcp,pageload,""]',columns:["performance_score(measurements.score.lcp)","performance_score(measurements.score.fcp)","performance_score(measurements.score.inp)","performance_score(measurements.score.cls)","performance_score(measurements.score.ttfb)","performance_score(measurements.score.total)","count_scores(measurements.score.total)","count_scores(measurements.score.lcp)","count_scores(measurements.score.fcp)","count_scores(measurements.score.inp)","count_scores(measurements.score.cls)","count_scores(measurements.score.ttfb)"],aggregates:[],orderby:"",fields:["performance_score(measurements.score.lcp)","performance_score(measurements.score.fcp)","performance_score(measurements.score.inp)","performance_score(measurements.score.cls)","performance_score(measurements.score.ttfb)","performance_score(measurements.score.total)","count_scores(measurements.score.total)","count_scores(measurements.score.lcp)","count_scores(measurements.score.fcp)","count_scores(measurements.score.inp)","count_scores(measurements.score.cls)","count_scores(measurements.score.ttfb)"]}],interval:"5m",layout:{y:0,w:1,h:2,x:5,minH:2}},{id:"lcp-p75-meter",title:"P75 Largest Contentful Paint",description:"Time to render the largest item in the viewport. Bad LCP frustrates users because the website feels slow to load.",displayType:"big_number",widgetType:"spans",queries:[{name:"",conditions:'span.op:[ui.interaction.click,ui.interaction.hover,ui.interaction.drag,ui.interaction.press,ui.webvital.cls,ui.webvital.lcp,pageload,""]',columns:[],aggregates:["p75(browser.web_vital.lcp.value)"],orderby:"",fields:["p75(browser.web_vital.lcp.value)"]}],interval:"5m",layout:{y:2,w:1,h:1,x:0,minH:1}},{id:"inp-p75-meter",title:"P75 Interaction to Next Paint",description:"Latency between user input and visual response. Bad INP makes users feel like the site is laggy, outdated, and unresponsive.",displayType:"big_number",widgetType:"spans",queries:[{name:"",conditions:'span.op:[ui.interaction.click,ui.interaction.hover,ui.interaction.drag,ui.interaction.press,ui.webvital.cls,ui.webvital.lcp,pageload,""]',columns:[],aggregates:["p75(browser.web_vital.inp.value)"],orderby:"",fields:["p75(browser.web_vital.inp.value)"]}],interval:"5m",layout:{y:2,w:1,h:1,x:1,minH:1}},{id:"cls-p75-meter",title:"P75 Cumulative Layout Shift",description:"Measures content 'shifting' during load. Bad CLS indicates a janky website, degrading UX and trust.",displayType:"big_number",widgetType:"spans",queries:[{name:"",conditions:'span.op:[ui.interaction.click,ui.interaction.hover,ui.interaction.drag,ui.interaction.press,ui.webvital.cls,ui.webvital.lcp,pageload,""]',columns:[],aggregates:["p75(browser.web_vital.cls.value)"],orderby:"",fields:["p75(browser.web_vital.cls.value)"]}],interval:"5m",layout:{y:3,w:1,h:1,x:0,minH:1}},{id:"ttfb-p75-meter",title:"P75 Time to First Byte",description:"Time until first byte is delivered to the client. Bad TTFB makes the server feel unresponsive.",displayType:"big_number",widgetType:"spans",queries:[{name:"",conditions:'span.op:[ui.interaction.click,ui.interaction.hover,ui.interaction.drag,ui.interaction.press,ui.webvital.cls,ui.webvital.lcp,pageload,""]',columns:[],aggregates:["p75(browser.web_vital.ttfb.value)"],orderby:"",fields:["p75(browser.web_vital.ttfb.value)"]}],interval:"5m",layout:{y:3,w:1,h:1,x:1,minH:1}},{id:"issues-table",title:"Web Vital Issues",displayType:"table",widgetType:"issue",queries:[{name:"",conditions:"issue.type:[web_vitals,performance_render_blocking_asset_span,performance_uncompressed_assets,performance_http_overhead,performance_consecutive_http,performance_n_plus_one_api_calls,performance_large_http_payload,performance_p95_endpoint_regression]",columns:["issue","assignee","title"],aggregates:[],orderby:"date",fields:["issue","assignee","title"]}],interval:"5m",layout:{y:2,w:3,h:2,x:2,minH:2}},{id:"lcp-samples-table",title:"LCP Samples",displayType:"table",widgetType:"spans",queries:[{name:"",conditions:"has:browser.web_vital.lcp.value",columns:["project","trace","browser.web_vital.lcp.element","browser.web_vital.lcp.value","profile.id","replay.id","measurements.score.ratio.lcp","timestamp"],aggregates:[],orderby:"-timestamp",fields:["project","trace","browser.web_vital.lcp.element","browser.web_vital.lcp.value","profile.id","replay.id","measurements.score.ratio.lcp","timestamp"]}],interval:"5m",layout:{y:6,w:5,h:2,x:0,minH:2}},{id:"inp-samples-table",title:"INP Samples",displayType:"table",widgetType:"spans",queries:[{name:"",conditions:"has:browser.web_vital.inp.value",columns:["project","trace","browser.web_vital.inp.value","profile.id","replay.id","measurements.score.ratio.inp","timestamp"],aggregates:[],orderby:"-timestamp",fields:["project","trace","browser.web_vital.inp.value","profile.id","replay.id","measurements.score.ratio.inp","timestamp"]}],interval:"5m",layout:{y:8,w:5,h:2,x:0,minH:2}},{id:"cls-samples-table",title:"CLS Samples",displayType:"table",widgetType:"spans",queries:[{name:"",conditions:"has:browser.web_vital.cls.value",columns:["project","trace","browser.web_vital.cls.value","profile.id","replay.id","measurements.score.ratio.cls","timestamp"],aggregates:[],orderby:"-timestamp",fields:["project","trace","browser.web_vital.cls.value","profile.id","replay.id","measurements.score.ratio.cls","timestamp"]}],interval:"5m",layout:{y:10,w:5,h:2,x:0,minH:2}},{id:"pageloads-chart",title:"Pageloads",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:"span.op:pageload",columns:[],aggregates:["count()"],orderby:"",fields:["count()"]}],interval:"5m",layout:{y:2,w:1,h:2,x:5,minH:2}},{id:"interactions-chart",title:"Interactions",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:"span.op:[ui.interaction.click,ui.interaction.hover,ui.interaction.drag,ui.interaction.press]",columns:[],aggregates:["count()"],orderby:"",fields:["count()"]}],interval:"5m",layout:{y:4,w:1,h:2,x:5,minH:2}}]},"8":{title:"Mobile Vitals",description:"Track key mobile performance metrics, including Time-to-Initial-Display.",widgets:[{id:"cold-start-big-number",title:"Average Cold App Start",description:"Average cold app start duration",displayType:"big_number",widgetType:"spans",queries:[{name:"",conditions:"(is_transaction:true transaction.op:[ui.load,navigation,app.start] has:app.vitals.start.cold.value OR span.op:app.start.cold has:app.vitals.start.cold.value)",columns:[],aggregates:["avg(app.vitals.start.cold.value)"],orderby:"",fields:["avg(app.vitals.start.cold.value)"]}],interval:"1h",layout:{h:1,x:0,y:0,w:1,minH:1}},{id:"warm-start-big-number",title:"Average Warm App Start",description:"Average warm app start duration",displayType:"big_number",widgetType:"spans",queries:[{name:"",conditions:"(is_transaction:true transaction.op:[ui.load,navigation,app.start] has:app.vitals.start.warm.value OR span.op:app.start.warm has:app.vitals.start.warm.value)",columns:[],aggregates:["avg(app.vitals.start.warm.value)"],orderby:"",fields:["avg(app.vitals.start.warm.value)"]}],interval:"1h",layout:{h:1,x:1,y:0,w:1,minH:1}},{id:"avg-ttid-big-number",title:"Average TTID",description:"Average time to initial display",displayType:"big_number",widgetType:"spans",queries:[{name:"",conditions:"(is_transaction:true transaction.op:[ui.load,navigation] has:app.vitals.ttid.value OR span.op:ui.load.initial_display has:app.vitals.ttid.value)",columns:[],aggregates:["avg(app.vitals.ttid.value)"],orderby:"",fields:["avg(app.vitals.ttid.value)"]}],interval:"1h",layout:{h:1,x:2,y:0,w:1,minH:1}},{id:"avg-ttfd-big-number",title:"Average TTFD",description:"Average time to full display",displayType:"big_number",widgetType:"spans",queries:[{name:"",conditions:"(is_transaction:true transaction.op:[ui.load,navigation] has:app.vitals.ttfd.value OR span.op:ui.load.full_display has:app.vitals.ttfd.value)",columns:[],aggregates:["avg(app.vitals.ttfd.value)"],orderby:"",fields:["avg(app.vitals.ttfd.value)"]}],interval:"1h",layout:{h:1,x:3,y:0,w:1,minH:1}},{id:"slow-frame-rate-big-number",title:"Slow Frame Rate",description:"Percentage of slow frames across screen load transactions, calculated as total slow frames divided by total frames.",displayType:"big_number",widgetType:"spans",queries:[{name:"",conditions:"is_transaction:true transaction.op:[ui.load,navigation] has:app.vitals.frames.total.count",columns:[],aggregates:["sum(app.vitals.frames.slow.count)","sum(app.vitals.frames.total.count)","equation|sum(app.vitals.frames.slow.count) / sum(app.vitals.frames.total.count)"],orderby:"",fields:["sum(app.vitals.frames.slow.count)","sum(app.vitals.frames.total.count)","equation|sum(app.vitals.frames.slow.count) / sum(app.vitals.frames.total.count)"],selectedAggregate:2}],interval:"1h",layout:{h:1,x:0,y:1,w:1,minH:1}},{id:"frozen-frame-rate-big-number",title:"Frozen Frame Rate",description:"Percentage of frozen frames across screen load transactions, calculated as total frozen frames divided by total frames.",displayType:"big_number",widgetType:"spans",queries:[{name:"",conditions:"is_transaction:true transaction.op:[ui.load,navigation] has:app.vitals.frames.total.count",columns:[],aggregates:["sum(app.vitals.frames.frozen.count)","sum(app.vitals.frames.total.count)","equation|sum(app.vitals.frames.frozen.count) / sum(app.vitals.frames.total.count)"],orderby:"",fields:["sum(app.vitals.frames.frozen.count)","sum(app.vitals.frames.total.count)","equation|sum(app.vitals.frames.frozen.count) / sum(app.vitals.frames.total.count)"],selectedAggregate:2}],interval:"1h",layout:{h:1,x:1,y:1,w:1,minH:1}},{id:"avg-frame-delay-big-number",title:"Average Frame Delay",description:"Average frame delay",displayType:"big_number",widgetType:"spans",queries:[{name:"",conditions:"is_transaction:true transaction.op:[ui.load,navigation] has:app.vitals.frames.total.count",columns:[],aggregates:["avg(app.vitals.frames.delay.value)"],orderby:"",fields:["avg(app.vitals.frames.delay.value)"]}],interval:"1h",layout:{h:1,x:2,y:1,w:1,minH:1}},{id:"crash-free-session-rate-big-number",title:"Crash Free Session Rate",description:"Percentage of sessions that did not crash. Based on session data, so span filters do not apply.",displayType:"big_number",widgetType:"metrics",queries:[{name:"",conditions:"",columns:[],aggregates:["crash_free_rate(session)"],orderby:"",fields:["crash_free_rate(session)"]}],interval:"1h",layout:{h:1,x:3,y:1,w:1,minH:1}},{id:"about-this-page-text",title:"About this page",description:`Top-level metrics show your app's health. When one looks off, use the tables below to find the screens responsible, then drill in to investigate.
|
|
6
|
+
`);b=E.pop()??"";for(let D of E){let x=D.split(`
|
|
7
|
+
`),P=[],N;for(let U of x)if(U.startsWith("data:"))P.push(U.replace(/^data:\s*/,""));else if(U.startsWith("event:"))N=U.replace(/^event:\s*/,"");else if(U.startsWith("id:"))A=U.replace(/^id:\s*/,"");else if(U.startsWith("retry:")){let z=Number.parseInt(U.replace(/^retry:\s*/,""),10);if(!Number.isNaN(z))g=z}let F,j=!1;if(P.length){let U=P.join(`
|
|
8
|
+
`);try{F=JSON.parse(U),j=!0}catch{F=U}}if(j){if(n)await n(F);if(H)F=await H(F)}if(r?.({data:F,event:N,id:A,retry:g}),P.length)yield F}}}finally{O.removeEventListener("abort",w),h.releaseLock()}break}catch(L){if(t?.(L),s!==void 0&&p>=s)break;let f=Math.min(g*2**(p-1),i??30000);await u(f)}}}()}},ch=(e)=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},lh=(e)=>{switch(e){case"form":return",";case"pipeDelimited":return"|";case"spaceDelimited":return"%20";default:return","}},Ah=(e)=>{switch(e){case"label":return".";case"matrix":return";";case"simple":return",";default:return"&"}},_c=({allowReserved:e,explode:t,name:r,style:H,value:n})=>{if(!t){let i=(e?n:n.map((a)=>encodeURIComponent(a))).join(lh(H));switch(H){case"label":return`.${i}`;case"matrix":return`;${r}=${i}`;case"simple":return i;default:return`${r}=${i}`}}let o=ch(H),s=n.map((i)=>{if(H==="label"||H==="simple")return e?i:encodeURIComponent(i);return fn({allowReserved:e,name:r,value:i})}).join(o);return H==="label"||H==="matrix"?o+s:s},fn=({allowReserved:e,name:t,value:r})=>{if(r===void 0||r===null)return"";if(typeof r==="object")throw Error("Deeply-nested arrays/objects aren\u2019t supported. Provide your own `querySerializer()` to handle these.");return`${t}=${e?r:encodeURIComponent(r)}`},kc=({allowReserved:e,explode:t,name:r,style:H,value:n,valueOnly:o})=>{if(n instanceof Date)return o?n.toISOString():`${r}=${n.toISOString()}`;if(H!=="deepObject"&&!t){let a=[];Object.entries(n).forEach(([c,A])=>{a=[...a,c,e?A:encodeURIComponent(A)]});let l=a.join(",");switch(H){case"form":return`${r}=${l}`;case"label":return`.${l}`;case"matrix":return`;${r}=${l}`;default:return l}}let s=Ah(H),i=Object.entries(n).map(([a,l])=>fn({allowReserved:e,name:H==="deepObject"?`${r}[${a}]`:a,value:l})).join(s);return H==="label"||H==="matrix"?s+i:i},uh=/\{[^{}]+\}/g,dh=({path:e,url:t})=>{let r=t,H=t.match(uh);if(H)for(let n of H){let o=!1,s=n.substring(1,n.length-1),i="simple";if(s.endsWith("*"))o=!0,s=s.substring(0,s.length-1);if(s.startsWith("."))s=s.substring(1),i="label";else if(s.startsWith(";"))s=s.substring(1),i="matrix";let a=e[s];if(a===void 0||a===null)continue;if(Array.isArray(a)){r=r.replace(n,_c({explode:o,name:s,style:i,value:a}));continue}if(typeof a==="object"){r=r.replace(n,kc({explode:o,name:s,style:i,value:a,valueOnly:!0}));continue}if(i==="matrix"){r=r.replace(n,`;${fn({name:s,value:a})}`);continue}let l=encodeURIComponent(i==="label"?`.${a}`:a);r=r.replace(n,l)}return r},ph=({baseUrl:e,path:t,query:r,querySerializer:H,url:n})=>{let o=n.startsWith("/")?n:`/${n}`,s=(e??"")+o;if(t)s=dh({path:t,url:s});let i=r?H(r):"";if(i.startsWith("?"))i=i.substring(1);if(i)s+=`?${i}`;return s};function yc(e){let t=e.body!==void 0;if(t&&e.bodySerializer){if("serializedBody"in e)return e.serializedBody!==void 0&&e.serializedBody!==""?e.serializedBody:null;return e.body!==""?e.body:null}if(t)return e.body;return}var mh=async(e,t)=>{let r=typeof t==="function"?await t(e):t;if(!r)return;if(e.scheme==="bearer")return`Bearer ${r}`;if(e.scheme==="basic")return`Basic ${btoa(r)}`;return r},hc=({parameters:e={},...t}={})=>(H)=>{let n=[];if(H&&typeof H==="object")for(let o in H){let s=H[o];if(s===void 0||s===null)continue;let i=e[o]||t;if(Array.isArray(s)){let a=_c({allowReserved:i.allowReserved,explode:!0,name:o,style:"form",value:s,...i.array});if(a)n.push(a)}else if(typeof s==="object"){let a=kc({allowReserved:i.allowReserved,explode:!0,name:o,style:"deepObject",value:s,...i.object});if(a)n.push(a)}else{let a=fn({allowReserved:i.allowReserved,name:o,value:s});if(a)n.push(a)}}return n.join("&")},gh=(e)=>{if(!e)return"stream";let t=e.split(";")[0]?.trim();if(!t)return;if(t.startsWith("application/json")||t.endsWith("+json"))return"json";if(t==="multipart/form-data")return"formData";if(["application/","audio/","image/","video/"].some((r)=>t.startsWith(r)))return"blob";if(t.startsWith("text/"))return"text";return},Oh=(e,t)=>{if(!t)return!1;if(e.headers.has(t)||e.query?.[t]||e.headers.get("Cookie")?.includes(`${t}=`))return!0;return!1},yh=async({security:e,...t})=>{for(let r of e){if(Oh(t,r.name))continue;let H=await mh(r,t.auth);if(!H)continue;let n=r.name??"Authorization";switch(r.in){case"query":if(!t.query)t.query={};t.query[n]=H;break;case"cookie":t.headers.append("Cookie",`${n}=${H}`);break;case"header":default:t.headers.set(n,H);break}}},fc=(e)=>ph({baseUrl:e.baseUrl,path:e.path,query:e.query,querySerializer:typeof e.querySerializer==="function"?e.querySerializer:hc(e.querySerializer),url:e.url}),Sc=(e,t)=>{let r={...e,...t};if(r.baseUrl?.endsWith("/"))r.baseUrl=r.baseUrl.substring(0,r.baseUrl.length-1);return r.headers=Lc(e.headers,t.headers),r},fh=(e)=>{let t=[];return e.forEach((r,H)=>{t.push([H,r])}),t},Lc=(...e)=>{let t=new Headers;for(let r of e){if(!r)continue;let H=r instanceof Headers?fh(r):Object.entries(r);for(let[n,o]of H)if(o===null)t.delete(n);else if(Array.isArray(o))for(let s of o)t.append(n,s);else if(o!==void 0)t.set(n,typeof o==="object"?JSON.stringify(o):o)}return t};class yn{fns=[];clear(){this.fns=[]}eject(e){let t=this.getInterceptorIndex(e);if(this.fns[t])this.fns[t]=null}exists(e){let t=this.getInterceptorIndex(e);return Boolean(this.fns[t])}getInterceptorIndex(e){if(typeof e==="number")return this.fns[e]?e:-1;return this.fns.indexOf(e)}update(e,t){let r=this.getInterceptorIndex(e);if(this.fns[r])return this.fns[r]=t,e;return!1}use(e){return this.fns.push(e),this.fns.length-1}}var Sh=()=>({error:new yn,request:new yn,response:new yn}),_h=hc({allowReserved:!1,array:{explode:!0,style:"form"},object:{explode:!0,style:"deepObject"}}),kh={"Content-Type":"application/json"},Ic=(e={})=>({...sh,headers:kh,parseAs:"auto",querySerializer:_h,...e}),hh=(e={})=>{let t=Sc(Ic(),e),r=()=>({...t}),H=(l)=>(t=Sc(t,l),r()),n=Sh(),o=async(l)=>{let c={...t,...l,fetch:l.fetch??t.fetch??globalThis.fetch,headers:Lc(t.headers,l.headers),serializedBody:void 0};if(c.security)await yh({...c,security:c.security});if(c.requestValidator)await c.requestValidator(c);if(c.body!==void 0&&c.bodySerializer)c.serializedBody=c.bodySerializer(c.body);if(c.body===void 0||c.serializedBody==="")c.headers.delete("Content-Type");let A=fc(c);return{opts:c,url:A}},s=async(l)=>{let{opts:c,url:A}=await o(l),u={redirect:"follow",...c,body:yc(c)},d=new Request(A,u);for(let k of n.request.fns)if(k)d=await k(d,c);let m=c.fetch,g;try{g=await m(d)}catch(k){let I=k;for(let h of n.error.fns)if(h)I=await h(k,void 0,d,c);if(I=I||{},c.throwOnError)throw I;return c.responseStyle==="data"?void 0:{error:I,request:d,response:void 0}}for(let k of n.response.fns)if(k)g=await k(g,d,c);let p={request:d,response:g};if(g.ok){let k=(c.parseAs==="auto"?gh(g.headers.get("Content-Type")):c.parseAs)??"json";if(g.status===204||g.headers.get("Content-Length")==="0"){let h;switch(k){case"arrayBuffer":case"blob":case"text":h=await g[k]();break;case"formData":h=new FormData;break;case"stream":h=g.body;break;case"json":default:h={};break}return c.responseStyle==="data"?h:{data:h,...p}}let I;switch(k){case"arrayBuffer":case"blob":case"formData":case"text":I=await g[k]();break;case"json":{let h=await g.text();I=h?JSON.parse(h):{};break}case"stream":return c.responseStyle==="data"?g.body:{data:g.body,...p}}if(k==="json"){if(c.responseValidator)await c.responseValidator(I);if(c.responseTransformer)I=await c.responseTransformer(I)}return c.responseStyle==="data"?I:{data:I,...p}}let O=await g.text(),y;try{y=JSON.parse(O)}catch{}let L=y??O,f=L;for(let k of n.error.fns)if(k)f=await k(L,g,d,c);if(f=f||{},c.throwOnError)throw f;return c.responseStyle==="data"?void 0:{error:f,...p}},i=(l)=>(c)=>s({...c,method:l}),a=(l)=>async(c)=>{let{opts:A,url:u}=await o(c);return ah({...A,body:A.body,headers:A.headers,method:l,onRequest:async(d,m)=>{let g=new Request(d,m);for(let p of n.request.fns)if(p)g=await p(g,A);return g},serializedBody:yc(A),url:u})};return{buildUrl:fc,connect:i("CONNECT"),delete:i("DELETE"),get:i("GET"),getConfig:r,head:i("HEAD"),interceptors:n,options:i("OPTIONS"),patch:i("PATCH"),post:i("POST"),put:i("PUT"),request:s,setConfig:H,sse:{connect:a("CONNECT"),delete:a("DELETE"),get:a("GET"),head:a("HEAD"),options:a("OPTIONS"),patch:a("PATCH"),post:a("POST"),put:a("PUT"),trace:a("TRACE")},trace:i("TRACE")}},Ft=hh(Ic()),bc=(e)=>(e?.client??Ft).get({security:[{scheme:"bearer",type:"http"}],url:"/api/0/organizations/",...e}),wc=(e)=>(e.client??Ft).get({security:[{scheme:"bearer",type:"http"}],url:"/api/0/organizations/{organization_id_or_slug}/",...e});var Lh=(e)=>(e.client??Ft).get({security:[{scheme:"bearer",type:"http"}],url:"/api/0/organizations/{organization_id_or_slug}/dashboards/",...e});var Ih=(e)=>(e.client??Ft).get({security:[{scheme:"bearer",type:"http"}],url:"/api/0/organizations/{organization_id_or_slug}/detectors/",...e});var xc=(e)=>(e.client??Ft).get({security:[{scheme:"bearer",type:"http"}],url:"/api/0/organizations/{organization_id_or_slug}/environments/",...e});var bh=(e)=>(e.client??Ft).get({security:[{scheme:"bearer",type:"http"}],url:"/api/0/organizations/{organization_id_or_slug}/events/",...e});var bs=(e)=>(e.client??Ft).get({security:[{scheme:"bearer",type:"http"}],url:"/api/0/organizations/{organization_id_or_slug}/projects/",...e});var wh=(e)=>(e.client??Ft).get({security:[{scheme:"bearer",type:"http"}],url:"/api/0/organizations/{organization_id_or_slug}/replays/",...e}),Tc=(e)=>(e.client??Ft).get({security:[{scheme:"bearer",type:"http"}],url:"/api/0/organizations/{organization_id_or_slug}/replays/{replay_id}/",...e});var Pc=(e)=>(e.client??Ft).get({security:[{scheme:"bearer",type:"http"}],url:"/api/0/organizations/{organization_id_or_slug}/trace-items/attributes/",...e});var xh=(e)=>(e.client??Ft).get({security:[{scheme:"bearer",type:"http"}],url:"/api/0/organizations/{organization_id_or_slug}/workflows/",...e});class qc extends Error{status;body;response;documented;constructor(e,t,r,H,n=e===void 0?"Sentry API request failed before receiving a response":`Sentry API request failed with status ${e}`){super(n);this.name="SentryApiError",this.status=e,this.body=t,this.response=r,this.documented=H}}var Th=(e)=>{if(!e)return{};let t=e.split(","),r,H;for(let o of t){let s=o.trim().split(";").map((c)=>c.trim()),i,a,l;for(let c of s){let A=c.match(/^rel="([^"]*)"$/);if(A){i=A[1];continue}let u=c.match(/^results="([^"]*)"$/);if(u){a=u[1];continue}let d=c.match(/^cursor="([^"]*)"$/);if(d){l=d[1];continue}}if(a!=="true"||!l)continue;if(i==="next")r=l;else if(i==="previous")H=l}let n={};if(r!==void 0)n.nextCursor=r;if(H!==void 0)n.prevCursor=H;return n},TH=(e,t)=>{if(e.query===void 0&&t===void 0)return e;return{...e,query:{...e.query,...t!==void 0?{cursor:t}:void 0}}},Ph=(e,t)=>{if(e.error!==void 0){let r=e.response?.status;throw new qc(r,e.error,e.response,!1,r===void 0?`${t}: API request failed before receiving a response: ${String(e.error)}`:`${t}: API request failed with status ${r}: ${JSON.stringify(e.error)}`)}return{data:e.data,response:e.response}},qh=(e,t)=>{let{data:r,response:H}=Ph(e,t),n=H.headers.get("link"),{nextCursor:o,prevCursor:s}=Th(n),i={data:r};if(o!==void 0)i.nextCursor=o;if(s!==void 0)i.prevCursor=s;return i},PH=async(e,t,r)=>{let H=await e(r);return qh(H,t)};var Mc=(e,t)=>PH((r)=>Lh(TH(e,r)),"listOrganizationDashboards",t);var ws=(e,t)=>PH((r)=>Ih(TH(e,r)),"listOrganizationDetectors",t);var Cc=(e,t)=>PH((r)=>bh(TH(e,r)),"listOrganizationEvents",t);var Qc=(e,t)=>PH((r)=>wh(TH(e,r)),"listOrganizationReplays",t);var Nc=(e,t)=>PH((r)=>xh(TH(e,r)),"listOrganizationWorkflows",t);function Fe(e){return e&&e.length>0?[...e]:["-1"]}var Ts="is:unresolved issue.priority:[high, medium]",xt="14d",Mh="24h",Ps=25,qs=[{value:"recommended",label:"Recommended"},{value:"date",label:"Last Seen"},{value:"new",label:"Age"},{value:"trends",label:"Trends"},{value:"freq",label:"Events"},{value:"user",label:"Users"},{value:"inbox",label:"Date Added"},{value:"progress",label:"Progress"}],Sn="date";function jc(e){return qs.some((t)=>t.value===e)?e:Sn}async function Dc(e,{org:t,query:r=Ts,sort:H=Sn,statsPeriod:n=xt,project:o,environment:s,cursor:i,limit:a=Ps,signal:l}){return e.request(`/organizations/${t}/issues/`,{query:{query:r,sort:H,statsPeriod:n,limit:a,shortIdLookup:1,cursor:i,project:Fe(o),environment:s,expand:["owners","inbox"],collapse:["stats","unhandled"]},signal:l})}async function Rc(e,{org:t,groups:r,statsPeriod:H=xt,groupStatsPeriod:n=Mh,project:o,signal:s}){if(r.length===0)return{};let i=await e.request(`/organizations/${t}/issues-stats/`,{query:{groups:r,statsPeriod:H,groupStatsPeriod:n,project:Fe(o)},signal:s}),a=Array.isArray(i.data)?i.data:[];return Object.fromEntries(a.map((l)=>[l.id,l]))}async function vc(e,{org:t,issueId:r,signal:H}){return(await e.request(`/organizations/${t}/issues/${r}/`,{signal:H})).data}async function Gc(e,{org:t,issueId:r,eventId:H="latest",signal:n}){return(await e.request(`/organizations/${t}/issues/${r}/events/${H}/`,{signal:n})).data}async function Ec(e,{org:t,issueId:r,update:H,signal:n}){return(await e.request(`/organizations/${t}/issues/${r}/`,{method:"PUT",body:H,signal:n})).data}async function Kc(e,{org:t,signal:r}){let{data:H}=await wc({...e.generatedOptions(r),path:{organization_id_or_slug:t}});return Vc(H)}async function Xc(e,t){let r=await e.request("/users/me/",{signal:t}),H=r.data&&typeof r.data==="object"?r.data:{};return{...typeof H.id==="string"?{id:H.id}:{},...typeof H.name==="string"?{name:H.name}:{},...typeof H.email==="string"?{email:H.email}:{}}}async function Bc(e,t){let{data:r}=await bc(e.generatedOptions(t));return r.map(Vc)}async function Wc(e,{org:t,signal:r}){return(await e.request(`/organizations/${t}/users/`,{signal:r})).data}var xs=100,Fc=["latestDeploys","unusedFeatures"];async function Uc(e,{org:t,query:r,perPage:H=xs,signal:n}){let o={query:r?.trim()||void 0,per_page:H,collapse:Fc},{data:s}=await bs({...e.generatedOptions(n),path:{organization_id_or_slug:t},query:o});return Ch(s)}async function Yc(e,{org:t,ids:r,signal:H}){let n=[...new Set(r)].filter((s)=>/^\d+$/.test(s)),o=[];for(let s=0;s<n.length;s+=xs){let i=n.slice(s,s+xs),a={query:i.map((c)=>`id:${c}`).join(" "),per_page:i.length,collapse:Fc},{data:l}=await bs({...e.generatedOptions(H),path:{organization_id_or_slug:t},query:a});o.push(...l.map(({id:c,slug:A})=>({id:c,slug:A})))}return o}function Ch(e){return e.map(({id:t,slug:r,name:H,platform:n})=>({id:t,slug:r,name:H,platform:n}))}async function $c(e,{org:t,signal:r}){let{data:H}=await xc({...e.generatedOptions(r),path:{organization_id_or_slug:t}});return H}function Vc(e){let t=e.avatar;return{id:e.id,slug:e.slug,name:e.name,features:e.features,...t?.avatarType?{avatar:{avatarType:t.avatarType,avatarUuid:t.avatarUuid??null,avatarUrl:t.avatarUrl}}:{}}}var Ut=[{id:"issues",label:"Issues",glyph:"I",sections:[{items:["Feed","Inbox"]},{items:["Errors & Outages","Breached Metrics","Warnings","Configuration","User Feedback"]},{title:"Autofix",items:["Recently Run"]},{items:["All Views"]}]},{id:"explore",label:"Explore",glyph:"E",sections:[{items:["Traces","Logs","Metrics","Errors","Discover","Profiles","Replays","Releases","Conversations"]},{items:["All Queries"]}]},{id:"dashboards",label:"Dashboards",glyph:"D",sections:[{items:["All Dashboards","Sentry Built"]}]},{id:"seer",label:"Seer",glyph:"S",sections:[{items:["Ask Seer"]}]},{id:"monitors",label:"Monitors",glyph:"M",sections:[{items:["All Monitors","My Monitors"]},{title:"By Monitor Type",items:["Error","Metric","Cron","Uptime","Mobile Build"]},{items:["Alerts"]}]}];function yt(e){let t=Ut.find((r)=>r.id===e);if(!t)throw Error(`Unknown nav group: ${e}`);return t}function Qh(e){return e.sections.flatMap((t)=>t.items)}function Ms(e){let t=Qh(e);return t.length===1?t[0]:void 0}var qH=[{id:"sentry.app.quit",title:"Quit",category:"app",defaultKeys:["q"],palette:"always"},{id:"sentry.app.help",title:"Help",category:"app",defaultKeys:["?"],description:"Toggle this help overlay",palette:"always"},{id:"sentry.app.commandPalette",title:"Command palette",category:"app",defaultKeys:["ctrl+k","meta+k"],description:"Search every command and destination"},{id:"sentry.app.refresh",title:"Refresh",category:"app",defaultKeys:["ctrl+r","R"],description:"Reload the current view from the API",palette:"always"},{id:"sentry.app.update",title:"Restart into the update",category:"app",defaultKeys:["U"],description:"Restart into the downloaded update",palette:"update"},{id:"sentry.app.switchOrg",title:"Switch organization",category:"app",defaultKeys:["o"],description:"Open the organization picker",palette:"always"},{id:"sentry.app.openUrl",title:"Open Sentry URL\u2026",category:"app",defaultKeys:["ctrl+o"],description:"Open a copied Sentry URL",palette:"always"},{id:"sentry.app.openInBrowser",title:"Open current view in Sentry",category:"app",defaultKeys:["W"],description:"Continue this view on sentry.io",palette:"always"},{id:"sentry.app.focusNext",title:"Next pane",category:"app",defaultKeys:["tab"]},{id:"sentry.app.focusPrev",title:"Previous pane",category:"app",defaultKeys:["shift+tab"]},{id:"sentry.nav.down",title:"Move down",category:"nav",defaultKeys:["j","down"]},{id:"sentry.nav.up",title:"Move up",category:"nav",defaultKeys:["k","up"]},{id:"sentry.nav.top",title:"Jump to top",category:"nav",defaultKeys:["g","home"]},{id:"sentry.nav.bottom",title:"Jump to bottom",category:"nav",defaultKeys:["G","end"]},{id:"sentry.nav.pageDown",title:"Page down",category:"nav",defaultKeys:["pagedown","ctrl+d"]},{id:"sentry.nav.pageUp",title:"Page up",category:"nav",defaultKeys:["pageup","ctrl+u"]},{id:"sentry.nav.open",title:"Open",category:"nav",defaultKeys:["return"]},{id:"sentry.nav.back",title:"Back",category:"nav",defaultKeys:["escape"]},{id:"sentry.nav.goto",title:"Navigate",category:"nav",defaultKeys:["n"],description:"Jump to a nav item by its printed key"},{id:"sentry.nav.search",title:"Search",category:"nav",defaultKeys:["/"],description:"Focus the search box for this list",palette:"stream"},{id:"sentry.issue.resolve",title:"Resolve",category:"issue",defaultKeys:["r"],palette:"issue"},{id:"sentry.issue.archive",title:"Archive",category:"issue",defaultKeys:["a"],description:"Archive until the issue escalates",palette:"issue"},{id:"sentry.issue.unresolve",title:"Unresolve",category:"issue",defaultKeys:["u"],palette:"issue"},{id:"sentry.issue.bookmark",title:"Bookmark",category:"issue",defaultKeys:["b"],palette:"issue"},{id:"sentry.issue.markReviewed",title:"Mark reviewed",category:"issue",defaultKeys:["m"],palette:"issue"},{id:"sentry.issue.actions",title:"More issue actions",category:"issue",defaultKeys:["A"],description:"Open more issue actions"},{id:"sentry.seer.compose",title:"Ask Seer",category:"seer",defaultKeys:["i"],description:"Focus the Seer composer"},{id:"sentry.seer.newChat",title:"New chat",category:"seer",defaultKeys:["N"],description:"Start a fresh Seer conversation"},{id:"sentry.seer.interrupt",title:"Interrupt Seer",category:"seer",defaultKeys:["x"],description:"Ask Seer to stop the current turn"},{id:"sentry.seer.history",title:"Conversation history",category:"seer",defaultKeys:["H"],description:"Open recent Seer conversations"},{id:"sentry.seer.pushChanges",title:"Create or update pull requests",category:"seer",defaultKeys:["p"],description:"Push accepted Seer Code Mode changes"},{id:"sentry.view.filterProject",title:"Filter by project",category:"view",defaultKeys:["P"],description:"Open the project selector",palette:"stream"},{id:"sentry.view.filterEnv",title:"Filter by environment",category:"view",defaultKeys:["E"],description:"Open the environment selector",palette:"stream"},{id:"sentry.view.filterDate",title:"Filter by date",category:"view",defaultKeys:["D"],description:"Open the date range selector",palette:"stream"},{id:"sentry.view.sort",title:"Sort by",category:"view",defaultKeys:["S"],description:"Choose sort order"},{id:"sentry.explore.visualize",title:"Visualize",category:"view",defaultKeys:["V"],description:"Choose the aggregate to plot"},{id:"sentry.explore.visualizeField",title:"Visualize field",category:"view",defaultKeys:["F"],description:"Choose what the aggregate reads"},{id:"sentry.explore.groupBy",title:"Group by",category:"view",defaultKeys:["B"],description:"Group results by an attribute"},{id:"sentry.explore.sortDirection",title:"Sort direction",category:"view",defaultKeys:["O"],description:"Flip between ascending and descending"},{id:"sentry.explore.interval",title:"Chart interval",category:"view",defaultKeys:["I"],description:"Choose the chart bucket width"},{id:"sentry.view.toggleSection",title:"Fold section",category:"view",defaultKeys:["1","2","3","4","5","6"],description:"Fold the numbered section"},{id:"sentry.view.toggleAllSections",title:"Fold all sections",category:"view",defaultKeys:["z"],description:"Fold or unfold every section at once"}],Nh=new Map(qH.map((e)=>[e.id,e]));function Zc(e){return Nh.get(e)}function we(e){return Zc(e)?.defaultKeys[0]??""}var jh={return:"enter",escape:"esc",pagedown:"pgdn",pageup:"pgup",down:"\u2193",up:"\u2191"},Dh={meta:"cmd"};function ve(e){let t=e.split("+"),r=t.pop();return[...t.map((n)=>Dh[n]??n),jh[r]??r].join("+")}function Q(e,t){let r=Zc(e);if(!r)return!1;return r.defaultKeys.some((H)=>Rh(H,t))}function Rh(e,t){let r=e.split("+"),H=r[r.length-1],n=r.includes("ctrl"),o=r.includes("shift"),s=r.includes("meta");if(Boolean(t.ctrl)!==n)return!1;if(Boolean(t.meta)!==s)return!1;if(H.length===1&&/[a-zA-Z]/.test(H)){let a=o||H===H.toUpperCase();return t.name.toLowerCase()===H.toLowerCase()&&Boolean(t.shift)===a}if(Boolean(t.shift)!==o)return!1;return t.name===H}function zc(e){if(e>=97&&e<=122)return 0;if(e>=65&&e<=90)return 1;if(e>=48&&e<=57)return 2;return 3}function Cs(e){let t=e.charCodeAt(0);return t>=65&&t<=90?String.fromCharCode(t+32):e}function Jr(e,t){if(t.length===0)return{score:0,positions:[]};let r=0,H=-1,n=-1;for(let a=0;a<e.length;a++){if(Cs(e[a])!==t[r])continue;if(H<0)H=a;if(r++,r===t.length){n=a+1;break}}if(n===-1)return null;r=t.length-1;for(let a=n-1;a>=H;a--){if(Cs(e[a])!==t[r])continue;if(r--,r<0){H=a;break}}let{score:o,positions:s}=Gh(e,t,H,n);return{score:H===0&&n===e.length&&e.length===t.length?o+16:o,positions:s}}function vh(e,t){if(e===3&&t!==3)return 8;if(e===0&&t===1||e!==2&&t===2)return 7;if(t===3)return 8;return 0}function Gh(e,t,r,H){let n=0,o=0,s=!1,i=0,a=0,l=r>0?zc(e.charCodeAt(r-1)):3,c=[];for(let A=r;A<H;A++){let u=Cs(e[A]),d=zc(u.charCodeAt(0));if(u===t[n]){c.push(A),o+=16;let m=vh(l,d);if(a===0)i=m;else{if(m===8)i=m;m=Math.max(m,i,4)}o+=n===0?m*2:m,s=!1,a++,n++}else o+=s?-1:-3,s=!0,a=0,i=0;l=d}return{score:o,positions:c}}var Jc=["Go to","Issue","Commands"],tl=6;function Eh(e,t){switch(e){case"always":return!0;case"stream":return t.streamView;case"issue":return t.hasIssue;case"update":return t.updateReady}}function rl(e,t=Ut){let r=[];for(let H of t)for(let n of H.sections)for(let o of n.items)r.push({id:`nav:${H.id}:${o}`,section:"Go to",label:o,detail:H.label,keywords:n.title?[H.label,n.title]:[H.label],target:{kind:"nav",group:H.id,item:o}});for(let H of qH){if(!H.palette||!Eh(H.palette,e))continue;let n=we(H.id);r.push({id:`command:${H.id}`,section:H.category==="issue"?"Issue":"Commands",label:H.title,detail:n?ve(n):void 0,keywords:H.description?[H.description]:void 0,target:{kind:"command",commandId:H.id}})}return r}function Hl(e,t){let r=t.trim().toLowerCase();if(!r)return e.map((n)=>({action:n,score:0,positions:[]}));let H=[];for(let n of e){let o=Jr(n.label,r),s=o?.score??-1/0;for(let i of n.keywords??[]){let a=Jr(i,r);if(a&&a.score>s)s=a.score}if(s===-1/0)continue;H.push({action:n,score:s,positions:o?.positions??[]})}return H.sort((n,o)=>o.score-n.score)}function nl(e,t){let r=new Map;for(let H of e){let n=r.get(H.action.section);if(n)n.push(H);else r.set(H.action.section,[H])}return Array.from(r,([H,n])=>({section:H,results:t===void 0?n:n.slice(0,t),hidden:t===void 0?0:Math.max(0,n.length-t)})).sort((H,n)=>el(n.results)-el(H.results)||Jc.indexOf(H.section)-Jc.indexOf(n.section))}function el(e){return e.length>0?Math.max(...e.map((t)=>t.score)):0}function ol(e){let t=[],r=0;for(let H of e){t.push({kind:"heading",section:H.section});for(let n of H.results)t.push({kind:"result",result:n,index:r}),r++;if(H.hidden>0)t.push({kind:"more",section:H.section,count:H.hidden})}return t}function sl(e,t){return e.findIndex((r)=>r.kind==="result"&&r.index===t)}var Kh=[[43200,"3h"],[20160,"1h"],[5760,"30m"],[2880,"10m"],[720,"5m"],[360,"1m"],[0,"1m"]];var il=["1m","2m","5m","10m","15m","20m","30m","1h","2h","3h","4h","6h","12h","1d","2d","1w"],Xh=[[43200,"12h"],[20160,"6h"],[5760,"3h"],[2880,"1h"],[720,"30m"],[360,"10m"],[60,"5m"],[5,"5m"],[0,"1m"]],Bh=[{value:"1m",label:"1 minute"},{value:"5m",label:"5 minutes"},{value:"10m",label:"10 minutes"},{value:"30m",label:"30 minutes"},{value:"1h",label:"1 hour"},{value:"3h",label:"3 hours"},{value:"6h",label:"6 hours"},{value:"12h",label:"12 hours"}],Wh={s:0.016666666666666666,m:1,h:60,d:1440,w:10080};function Yt(e){if(!e)return;let t=/^(\d+)([smhdw]?)$/.exec(e.trim());if(!t)return;let r=Number(t[1]);if(!Number.isFinite(r))return;return r*Wh[t[2]||"s"]}function qr(e){let t=Yt(e);if(t===void 0||t<0)return;return Kh.find(([r])=>t>=r)[1]}function al(e,t,r){if(r)return"1d";let H=Yt(t),n=qr(e),o=H===void 0||H<=0?n:t,s=Yt(o),i=Yt(e);if(s===void 0||i===void 0)return o;let a=i/66;if(s>=a)return o;return il.find((l)=>Yt(l)>=a)??il.at(-1)}function cl(e){let t=Yt(e);if(t===void 0||t<0)return[];let r=Yt(qr(e)),H=Yt(Xh.find(([o])=>t>=o)[1]),n=Bh.filter(({value:o})=>{let s=Yt(o);return s>=r&&s<=H});return t>=20160?[...n,{value:"1d",label:"1 day"}]:n}var Fh=50,Uh=new Set(["errors","logs","spans","tracemetrics"]);async function Tt(e,{org:t,dataset:r,fields:H,sort:n,query:o="",statsPeriod:s,project:i,environment:a,cursor:l,limit:c=Fh,referrer:A,signal:u}){if(Yh(r)){let m=await Cc({...e.generatedOptions(u),path:{organization_id_or_slug:t},query:{dataset:r,field:[...H],sort:n,query:o||void 0,statsPeriod:s,per_page:c,project:Fe(i),environment:a,referrer:A}},l);return{rows:ll(m.data),nextCursor:m.nextCursor??null}}let d=await e.request(`/organizations/${t}/events/`,{query:{dataset:r,field:[...H],sort:n,query:o||void 0,statsPeriod:s,per_page:c,cursor:l,project:Fe(i),environment:a,referrer:A},signal:u});return{rows:ll(d.data),nextCursor:d.nextCursor}}function Yh(e){return Uh.has(e)}async function Qs(e,{org:t,dataset:r,yAxis:H="count()",query:n="",statsPeriod:o,interval:s=qr(o),project:i,environment:a,referrer:l,signal:c}){let A=await e.request(`/organizations/${t}/events-stats/`,{query:{dataset:r,yAxis:H,query:n||void 0,statsPeriod:o,interval:s,project:Fe(i),environment:a,referrer:l},signal:c});return $h(A.data)}async function ul(e,{org:t,dataset:r,yAxis:H="count()",query:n="",statsPeriod:o,interval:s=qr(o),project:i,environment:a,referrer:l,signal:c,groupBy:A,sort:u,topEvents:d}){let m=await e.request(`/organizations/${t}/events-timeseries/`,{query:{dataset:r,yAxis:H,query:n||void 0,statsPeriod:o,interval:s,project:Fe(i),environment:a,referrer:l,partial:1,excludeOther:0,sampling:"NORMAL",groupBy:A?[...A]:void 0,sort:u,topEvents:d},signal:c}),g=Array.isArray(m.data?.timeSeries)?m.data.timeSeries:[],p=new Map;for(let O of g.flatMap((y)=>Array.isArray(y?.values)?y.values:[])){if(!O||!Number.isFinite(O.timestamp))continue;let y=O.value===null?0:Number(O.value);if(!Number.isFinite(y))continue;let L=p.get(O.timestamp);p.set(O.timestamp,{count:(L?.count??0)+y,incomplete:Boolean(L?.incomplete||O.incomplete)})}return[...p.entries()].sort(([O],[y])=>O-y).map(([O,y])=>[O/1000,[{count:y.count}],{incomplete:y.incomplete||void 0}])}function ll(e){if(Array.isArray(e))return e.filter(Al);let t=e?.data;return Array.isArray(t)?t.filter(Al):[]}function Al(e){return typeof e==="object"&&e!==null}function $h(e){let t=Array.isArray(e)?e:e?.data;return Array.isArray(t)?t.filter(Vh):[]}function Vh(e){return Array.isArray(e)&&e.length>=2&&typeof e[0]==="number"}function Ge(e,t){let r=e[t];if(r===void 0||r===null||r==="")return;return String(r)}function kt(e,t){let r=Number(e[t]);return Number.isFinite(r)?r:void 0}var dl="1h";function Cr(e,t){return`${e}\x00${t}`}var Zh=20,Ns="14d",zh="24h",pl=[{value:"date",label:"Date Created"},{value:"sessions",label:"Total Sessions"},{value:"sessions_24h",label:"Active Sessions"},{value:"users_24h",label:"Active Users"},{value:"crash_free_sessions",label:"Crash-Free Sessions"},{value:"crash_free_users",label:"Crash-Free Users"},{value:"build",label:"Build Number"},{value:"semver",label:"Semantic Version"},{value:"adoption",label:"Date Adopted"}],yl="date",Jh=new Set(["sessions","sessions_24h","users_24h","crash_free_sessions","crash_free_users"]);function js(e){return e.length===1?pl:pl.filter((t)=>t.value!=="adoption")}function fl(e,t){return js(t).some((r)=>r.value===e)?e:yl}async function Sl(e,t){let r=await e.request(`/organizations/${t.org}/releases/`,hl(t));return{data:eH(r.data).map(eL),nextCursor:r.nextCursor}}async function _l(e,t){let r=hl(t),H=await e.request(`/organizations/${t.org}/releases/`,{...r,query:{...r.query,health:"1",healthStat:"sessions",healthStatsPeriod:zh}}),n=new Map;for(let o of eH(H.data)){let s=jt(o.version);if(!s)continue;for(let i of eH(o.projects)){let a=$t(i.id),l=rL(i.healthData);if(a===void 0||!l)continue;n.set(Cr(s,a),l)}}return n}async function kl(e,{org:t,releases:r,project:H,environment:n,signal:o}){if(r.length===0)return new Map;let s=[...new Set(r.map((A)=>A.version).filter(Boolean))];if(s.length===0)return new Map;let i={field:["sum(session)"],interval:"1h",statsPeriod:"24h",project:H,environment:n},a=s.map((A)=>`release:${nL(A)}`).join(" OR "),[l,c]=await Promise.all([e.request(`/organizations/${t}/sessions/`,{query:{...i,query:a,groupBy:["project","release"]},signal:o}),e.request(`/organizations/${t}/sessions/`,{query:{...i,groupBy:["project"]},signal:o})]);return HL(r,l.data,c.data)}function hl({query:e,statsPeriod:t=Ns,project:r,environment:H,sort:n=yl,cursor:o,limit:s=Zh,signal:i}){let a=Jh.has(n);return{query:{query:e||void 0,statsPeriod:t,project:r,environment:H,cursor:o,per_page:s,status:"open",sort:n,flatten:a?"1":void 0,summaryStatsPeriod:t},signal:i}}function eL(e){let t=jt(e.version)??"",r=Mr(e.versionInfo),H=Mr(e.lastDeploy),n=H&&jt(H.dateFinished);return{version:t,shortVersion:jt(e.shortVersion)??t,package:r?jt(r.package):void 0,dateCreated:jt(e.dateCreated)??"",dateReleased:jt(e.dateReleased),lastDeploy:n?{environment:jt(H.environment)??"",dateFinished:n}:void 0,commitCount:$t(e.commitCount)??0,authorCount:eH(e.authors).length,projects:eH(e.projects).map(tL)}}function tL(e){let t=jt(e.slug)??"";return{id:$t(e.id)??-1,slug:t,name:jt(e.name)??t,platform:jt(e.platform),newGroups:$t(e.newGroups)??0}}function rL(e){let t=Mr(e);if(!t)return;return{adoption:$t(t.sessionsAdoption),crashFreeSessions:$t(t.crashFreeSessions),crashFreeUsers:$t(t.crashFreeUsers),sessionsCrashed:$t(t.sessionsCrashed),totalSessions24h:$t(t.totalSessions24h)}}function HL(e,t,r){let H=ml(t,!0),n=ml(r,!1),o=Math.max(gl(t),gl(r)),s=new Map;for(let i of e)for(let a of i.projects){let l=H.get(Cr(i.version,a.id)),c=n.get(String(a.id));if(!l&&!c)continue;let A=Math.max(o,l?.length??0,c?.length??0);s.set(Cr(i.version,a.id),{release:Ol(l,A),project:Ol(c,A)})}return s}function ml(e,t){let r=Mr(e),H=new Map;for(let n of eH(r?.groups)){let o=Mr(n.by),s=$t(o?.project),i=jt(o?.release),a=Mr(n.series)?.["sum(session)"];if(s===void 0||!Array.isArray(a))continue;if(t&&!i)continue;let l=t?Cr(i,s):String(s);H.set(l,a.map((c)=>$t(c)??0))}return H}function gl(e){let t=Mr(e)?.intervals;return Array.isArray(t)?t.length:0}function Ol(e,t){return Array.from({length:t},(r,H)=>e?.[H]??0)}function nL(e){return`"${e.replaceAll("\\","\\\\").replaceAll('"',"\\\"")}"`}function eH(e){return Array.isArray(e)?e.filter(Ll):[]}function Ll(e){return typeof e==="object"&&e!==null}function Mr(e){return Ll(e)?e:void 0}function jt(e){if(e===void 0||e===null||e==="")return;return String(e)}function $t(e){if(e===void 0||e===null||e==="")return;let t=Number(e);return Number.isFinite(t)?t:void 0}import{beginRequest as Pj,log as qj,reportError as Mj}from"h:7___________________________________";var Il="https://sentry.io/api/0";class pr extends Error{status;retryable;retryAfterSeconds;constructor(e,{status:t,retryable:r,retryAfterSeconds:H}){super(e);this.name="ApiError",this.status=t,this.retryable=r,this.retryAfterSeconds=H}}var oL=50,rH="14d",Rs=[{value:"-started_at",label:"Newest"},{value:"started_at",label:"Oldest"},{value:"-activity",label:"Activity (high-low)"},{value:"activity",label:"Activity (low-high)"},{value:"-duration",label:"Longest duration"},{value:"duration",label:"Shortest duration"},{value:"-count_errors",label:"Most errors"},{value:"count_errors",label:"Fewest errors"},{value:"-count_dead_clicks",label:"Most dead clicks"},{value:"count_dead_clicks",label:"Fewest dead clicks"},{value:"-count_rage_clicks",label:"Most rage clicks"},{value:"count_rage_clicks",label:"Fewest rage clicks"},{value:"browser.name",label:"Browser (A-Z)"},{value:"-browser.name",label:"Browser (Z-A)"},{value:"os.name",label:"OS (A-Z)"},{value:"-os.name",label:"OS (Z-A)"}],bl="-started_at";function wl(e){return Rs.some((t)=>t.value===e)?e:bl}var sL=["activity","browser","count_dead_clicks","count_errors","count_infos","count_rage_clicks","count_segments","count_urls","count_warnings","device","dist","duration","environment","error_ids","finished_at","has_viewed","id","info_ids","is_archived","os","platform","project_id","releases","sdk","started_at","tags","trace_ids","urls","user","warning_ids"],iL=["id","title","issue","level","project.name","timestamp"],aL=Il.replace(/\/api\/0\/?$/,"");async function xl(e,{org:t,query:r="",statsPeriod:H=rH,project:n,environment:o,sort:s=bl,cursor:i,limit:a=oL,signal:l}){let c=await Qc({...e.generatedOptions(l),path:{organization_id_or_slug:t},query:{field:[...sL],sort:s,query:r||void 0,statsPeriod:H,per_page:a,project:Fe(n),environment:o,queryReferrer:"replayList"}},i);return{data:cL(c.data).map(Ml),nextCursor:c.nextCursor??null}}async function Tl(e,{org:t,replayId:r,signal:H}){let{data:n}=await Tc({...e.generatedOptions(H),path:{organization_id_or_slug:t,replay_id:r}}),o=n.data;if(!tH(o))throw Error(`Replay ${r} was not found.`);return Ml(o,0)}async function Pl(e,{org:t,replayId:r,statsPeriod:H=rH,environment:n,signal:o}){let s=await Tt(e,{org:t,dataset:"errors",fields:iL,sort:"timestamp",query:`replayId:[${r}]`,statsPeriod:H,project:Fe(),environment:n,referrer:"sentry-tui.replay-details",signal:o});return{data:s.rows.map(lL),nextCursor:s.nextCursor}}function ql(e,t){return`${aL}/organizations/${e}/explore/replays/${t}/`}function cL(e){let t=Array.isArray(e)?e:tH(e)?e.data:void 0;return Array.isArray(t)?t.filter(tH):[]}function tH(e){return typeof e==="object"&&e!==null&&!Array.isArray(e)}function Ml(e,t){return{id:at(e.id)??String(t),projectId:at(e.project_id),isArchived:e.is_archived===!0,hasViewed:e.has_viewed===!0,user:uL(e.user),startedAt:at(e.started_at)??"",finishedAt:at(e.finished_at)??"",durationSec:Qr(e.duration),os:Ds(e.os),browser:Ds(e.browser),device:AL(e.device),sdk:Ds(e.sdk),platform:at(e.platform),environment:at(e.environment),releases:_n(e.releases),activity:Qr(e.activity),countErrors:Qr(e.count_errors),countDeadClicks:Qr(e.count_dead_clicks),countRageClicks:Qr(e.count_rage_clicks),countUrls:Qr(e.count_urls),countSegments:Qr(e.count_segments),errorIds:_n(e.error_ids),traceIds:_n(e.trace_ids),urls:_n(e.urls)}}function lL(e,t){return{id:Ge(e,"id")??String(t),title:Ge(e,"title")??"",issue:Ge(e,"issue"),level:Ge(e,"level"),projectName:Ge(e,"project.name"),timestamp:Ge(e,"timestamp")??""}}function at(e){if(e===void 0||e===null||e==="")return;return String(e)}function Qr(e){if(e===void 0||e===null||e==="")return;let t=Number(e);return Number.isFinite(t)?t:void 0}function _n(e){if(!Array.isArray(e))return[];return e.map(at).filter((t)=>t!==void 0)}function Ds(e){if(!tH(e))return{};return{name:at(e.name),version:at(e.version)}}function AL(e){if(!tH(e))return{};return{name:at(e.name),version:at(e.model_id),brand:at(e.brand),family:at(e.family)}}function uL(e){if(!tH(e))return{};return{displayName:at(e.display_name),email:at(e.email),id:at(e.id),ip:at(e.ip),username:at(e.username)}}function vs(e){if(e===void 0||e<0)return"\u2014";let t=Math.round(e),r=t%60,H=Math.floor(t/60)%60,n=Math.floor(t/3600),o=String(H).padStart(2,"0"),s=String(r).padStart(2,"0");return n>0?`${n}:${o}:${s}`:`${H}:${s}`}function MH(e){if(!e.name)return"\u2014";let t=e.version;if(!t||!/^\d/.test(t))return e.name;return`${e.name} ${t.split(".")[0]}`}function CH(e){return e.slice(0,8)}var Cl="All Views";function kn(e){return`is:unresolved issue.category:[${e.join(",")}]`}var hn=[{label:"Feed",query:Ts,description:"High and medium priority issues across your projects."},{label:"Inbox",query:"is:unresolved issue.progress:[fix_proposed,diagnosed,assigned,identified,fix_applied] assigned_or_suggested:me issue.category:[error,mobile,frontend,db_query,http_client,configuration]",sort:"progress",description:"Issues assigned or suggested to you that Seer has moved along."},{label:"Errors & Outages",query:kn(["error","outage"]),description:"Issues that break functionality such as application errors, failed jobs, or downtime incidents."},{label:"Breached Metrics",query:kn(["metric"]),description:"Issues that indicate degraded system behavior such as endpoint latency regressions or metric threshold violations."},{label:"Warnings",query:kn(["db_query","http_client","frontend","mobile"]),description:"Issues in your code or configuration that may not break functionality but can degrade performance or user experience."},{label:"Configuration",query:kn(["configuration"]),description:"Issues detected from SDK or tooling configuration problems that degrade your ability to debug telemetry using Sentry."},{label:"User Feedback",query:"issue.category:feedback status:unresolved",description:"Feedback submitted by your users."},{label:"Recently Run",query:"is:unresolved has:issue.seer_last_run",description:"Issues where Seer has identified a root cause."}],dL=new Map(hn.map((e)=>[e.label,e]));function Ql(e){return dL.get(e)}var Gj=hn[0];var Dl={"issues.feed":{pathname:"/issues/"},"issues.inbox":{pathname:"/issues/inbox/"},"issues.errors-outages":{pathname:"/issues/errors-outages/"},"issues.breached-metrics":{pathname:"/issues/breached-metrics/"},"issues.warnings":{pathname:"/issues/warnings/"},"issues.configuration":{pathname:"/issues/sentry-configuration/"},"issues.user-feedback":{pathname:"/issues/feedback/"},"issues.recently-run":{pathname:"/issues/autofix/recent/"},"issues.all-views":{pathname:"/issues/views/"},"explore.traces":{pathname:"/explore/traces/"},"explore.logs":{pathname:"/explore/logs/"},"explore.metrics":{pathname:"/explore/metrics/"},"explore.errors":{pathname:"/explore/errors-v2/"},"explore.discover":{pathname:"/explore/discover/homepage/"},"explore.profiles":{pathname:"/explore/profiles/"},"explore.replays":{pathname:"/explore/replays/"},"explore.releases":{pathname:"/explore/releases/"},"explore.conversations":{pathname:"/explore/agents/"},"explore.all-queries":{pathname:"/explore/saved-queries/"},"dashboards.all":{pathname:"/dashboards/"},"dashboards.sentry-built":{pathname:"/dashboards/",query:{filter:"onlyPrebuilt",sort:"mostPopular"}},"monitors.all":{pathname:"/monitors/"},"monitors.mine":{pathname:"/monitors/my-monitors/"},"monitors.error":{pathname:"/monitors/errors/"},"monitors.metric":{pathname:"/monitors/metrics/"},"monitors.cron":{pathname:"/monitors/crons/"},"monitors.uptime":{pathname:"/monitors/uptime/"},"monitors.mobile-build":{pathname:"/monitors/mobile-builds/"},"monitors.alerts":{pathname:"/monitors/alerts/"},"seer.ask":{pathname:"/issues/autofix/"}},Gs="explore.events",Nr="monitors.detectors",Es="issues.saved-view",Ks="explore.replay-detail",Nl="dashboards.list",Rl="dashboards.detail",Xs={query:"",statsPeriod:dl},pL={query:"",statsPeriod:rH},jl={Feed:"issues.feed",Inbox:"issues.inbox","Errors & Outages":"issues.errors-outages","Breached Metrics":"issues.breached-metrics",Warnings:"issues.warnings",Configuration:"issues.configuration","User Feedback":"issues.user-feedback","Recently Run":"issues.recently-run"},mL=[...hn.map((e)=>({id:jl[e.label],group:"issues",item:e.label,kind:"table",production:Dl[jl[e.label]],defaults:{query:e.query,sort:e.sort,statsPeriod:xt}})),tt("issues.all-views","issues",Cl,"table")],Bs=[...mL,Ln("explore.traces","Traces"),gL(),Ln("explore.metrics","Metrics"),Ln("explore.errors","Errors"),OL(),yL(),tt("explore.replays","explore","Replays","table",void 0,pL),Ln("explore.conversations","Conversations"),tt("explore.discover","explore","Discover","table"),tt("explore.all-queries","explore","All Queries","table"),tt("dashboards.all","dashboards","All Dashboards","table",Nl),tt("dashboards.sentry-built","dashboards","Sentry Built","table",Nl),tt("monitors.all","monitors","All Monitors","table",Nr),tt("monitors.mine","monitors","My Monitors","table",Nr),tt("monitors.error","monitors","Error","table",Nr),tt("monitors.metric","monitors","Metric","table",Nr),tt("monitors.cron","monitors","Cron","table",Nr),tt("monitors.uptime","monitors","Uptime","table",Nr),tt("monitors.mobile-build","monitors","Mobile Build","table",Nr),tt("monitors.alerts","monitors","Alerts","table"),tt("seer.ask","seer","Ask Seer","chat")];function gL(){return{...tt("explore.logs","explore","Logs","table",Gs,Xs),openLabel:"details"}}function OL(){return{...tt("explore.profiles","explore","Profiles","table",Gs,Xs),openLabel:"details"}}function yL(){return{...tt("explore.releases","explore","Releases","cards",void 0,{query:"",statsPeriod:Ns}),openLabel:"expand"}}function Ln(e,t){return{...tt(e,"explore",t,"table",Gs,Xs),openLabel:"details"}}function tt(e,t,r,H,n,o){return{id:e,group:t,item:r,kind:H,production:Dl[e],stateKey:n,defaults:o}}var fL=new Map(Bs.map((e)=>[vl(e.group,e.item),e])),SL=new Map(Bs.map((e)=>[e.id,e]));function vl(e,t){return`${e}::${t}`}function Gl(e,t){return fL.get(vl(e,t))}function hr(e){let t=SL.get(e);if(!t)throw Error(`Unknown screen id: ${e}`);return t}function jr(e){return e.stateKey??e.id}function El(e){return Bs.find((t)=>jr(t)===e)?.defaults??{}}import{countMetric as Kl}from"h:7___________________________________";var _L=/^[a-z0-9][a-z0-9_-]*$/i,Xl=/^\d+$/,kL=new Set(["www","us","eu"]),hL={inbox:"issues.inbox","errors-outages":"issues.errors-outages","breached-metrics":"issues.breached-metrics",warnings:"issues.warnings","sentry-configuration":"issues.configuration",feedback:"issues.user-feedback","user-feedback":"issues.user-feedback",alerts:"monitors.alerts"},LL={traces:"explore.traces",logs:"explore.logs",metrics:"explore.metrics",errors:"explore.errors","errors-v2":"explore.errors",profiles:"explore.profiles",profiling:"explore.profiles",replays:"explore.replays",releases:"explore.releases",agents:"explore.conversations",conversations:"explore.conversations","saved-queries":"explore.all-queries"},IL={"my-monitors":"monitors.mine",errors:"monitors.error",metrics:"monitors.metric",crons:"monitors.cron",uptime:"monitors.uptime","mobile-builds":"monitors.mobile-build",alerts:"monitors.alerts"};function In(e){let t=e.trim();if(!t)return Dr("empty","Enter a full Sentry production URL.");let r;try{r=new URL(t)}catch{return Dr("malformed","That is not a valid URL.")}if(r.protocol!=="https:")return Dr("protocol","Sentry production URLs must use https.");if(!bL(r.hostname))return Dr("host","That URL is not hosted on sentry.io.");let H;try{H=r.pathname.split("/").filter(Boolean).map(decodeURIComponent)}catch{return Dr("malformed","The URL path contains invalid escaping.")}let n;if(H[0]==="organizations")n=H[1],H=H.slice(2);let o=wL(r.hostname);if(n&&o&&n!==o)return Dr("organization_mismatch","The organizations in the Sentry hostname and URL path do not match.");let s=xL(H,r.searchParams);if(s.kind==="unsupported")return s;let i=n??o;if(!i||!_L.test(i))return Dr("organization","The URL does not identify a Sentry organization.");let a=DL(r.searchParams);return{kind:"location",location:{org:i,...s.location,...a===void 0?{}:{screen:"seer.ask"},state:jL(r.searchParams),...a===void 0?{}:{seerRunId:a}}}}function bn(e){let t=new URL(`https://${e.org}.sentry.io`),r=RL(e);t.pathname=r.pathname,vL(t.searchParams,e.state);for(let[H,n]of Object.entries(r.query??{}))t.searchParams.set(H,n);if(e.seerRunId!==void 0)t.pathname="/issues/",t.searchParams.set("explorerRunId",String(e.seerRunId));return t.toString()}function Bl(e,t){if(e.kind==="invalid")Kl("nav.url.invalid",{surface:t,reason:e.reason});else Kl("nav.url.unsupported",{surface:t,family:e.family})}function bL(e){return e==="sentry.io"||e.endsWith(".sentry.io")}function wL(e){if(!e.endsWith(".sentry.io"))return;let r=e.slice(0,-10);if(!r||r.includes(".")||kL.has(r))return;return r}function xL(e,t){let[r,...H]=e;if(r==="issues")return TL(H);if(r==="explore")return PL(H,t);if(r==="dashboard"||r==="dashboards")return CL(r,H,t);if(r==="monitors")return QL(H);if(r==="traces")return QH("explore.traces",H,"explore");if(r==="logs")return QH("explore.logs",H,"explore");if(r==="profiling")return QH("explore.profiles",H,"explore");if(r==="replays")return NL(H);if(r==="releases")return QH("explore.releases",H,"explore");if(r==="discover")return qL(H,t);if(r==="errors-v2")return QH("explore.errors",H,"explore");if(r==="feedback"&&H.length===0)return Qe("issues.user-feedback");return Dt(r==="settings"?"settings":r==="projects"?"projects":"other")}function TL(e){if(e.length===0)return Qe("issues.feed");let t=hL[e[0]];if(t&&e.length===1)return Qe(t);if(e[0]==="views"&&e.length===1)return Qe("issues.all-views");if(e[0]==="views"&&e[1]&&e.length===2)return Qe("issues.all-views",{kind:"issue_view",viewId:e[1]});if(e[0]==="autofix"&&e.length===1)return Qe("seer.ask");if(e[0]==="autofix"&&e[1]==="recent"&&e.length===2)return Qe("issues.recently-run");let r=e[0];if(r&&Xl.test(r)){if(e.length===1)return Qe("issues.feed",{kind:"issue",issueId:r});if(e[1]==="events"&&e[2]&&e.length===3)return Qe("issues.feed",{kind:"issue",issueId:r,eventId:e[2]})}return Dt("issues")}function PL(e,t){let r=e[0];if(!r)return Dt("explore");if(r==="replays"){if(e.length===1)return Qe("explore.replays");if(e.length===2&&e[1])return Qe("explore.replays",{kind:"replay",replayId:e[1]});return Dt("explore")}if(r==="discover"){if(e.length===1||e.length===2&&["homepage","queries"].includes(e[1]))return Qe("explore.discover");if(e.length===2&&e[1]==="results"){let o=ML(t.get("dataset"));return o?Qe(o):Dt("explore")}return Dt("explore")}let H=LL[r];if(!H||e.length!==1)return Dt("explore");let n=t.get("id");return n?Qe(H,{kind:"saved_query",queryId:n,source:"explore",resultScreen:H,dataset:t.get("dataset")??void 0,title:t.get("title")??void 0}):Qe(H)}function qL(e,t){if(e.length===0)return Qe("explore.discover");if(e.length!==1||e[0]!=="results")return Dt("explore");let r=t.get("id");return r?Qe("explore.discover",{kind:"saved_query",queryId:r,source:"discover",resultScreen:"explore.discover",dataset:t.get("dataset")??void 0,title:t.get("title")??void 0}):Qe("explore.discover")}function ML(e){switch(e?.toLowerCase()){case"spans":return"explore.traces";case"logs":return"explore.logs";case"metrics":case"tracemetrics":return"explore.metrics";case"errors":case"issueplatform":return"explore.errors";default:return}}function CL(e,t,r){if(e==="dashboards"&&t.length===0)return Qe(r.get("filter")==="onlyPrebuilt"?"dashboards.sentry-built":"dashboards.all");if(t.length===1&&t[0])return Qe("dashboards.all",{kind:"dashboard",dashboardId:t[0]});return Dt("dashboards")}function QL(e){if(e.length===0)return Qe("monitors.all");let t=IL[e[0]];if(t&&e.length===1)return Qe(t);if(e.length===1&&e[0]&&Xl.test(e[0]))return Qe("monitors.all",{kind:"monitor",detectorId:e[0]});return Dt("monitors")}function NL(e){if(e.length===0)return Qe("explore.replays");if(e.length===1&&e[0])return Qe("explore.replays",{kind:"replay",replayId:e[0]});return Dt("explore")}function QH(e,t,r){return t.length===0?Qe(e):Dt(r)}function Qe(e,t){return{kind:"matched",location:{screen:e,detail:t}}}function jL(e){let t={},r=e.get("query"),H=e.get("statsPeriod"),n=e.get("sort"),o=e.getAll("project").filter(Boolean),s=e.getAll("environment").filter(Boolean),i=e.getAll("field").filter(Boolean);if(r!==null)t.query=r;if(H)t.statsPeriod=H;if(n)t.sort=n;if(o.length>0)t.selectedProjects=o;if(s.length>0)t.selectedEnvs=s;if(i.length>0)t.fields=i;return Object.keys(t).length>0?t:void 0}function DL(e){let t=e.get("explorerRunId");if(!t)return;return/^\d+$/.test(t)?Number(t):t}function RL(e){let t=e.detail;if(!t)return hr(e.screen).production;switch(t.kind){case"issue":return{pathname:t.eventId?`/issues/${encodeURIComponent(t.issueId)}/events/${encodeURIComponent(t.eventId)}/`:`/issues/${encodeURIComponent(t.issueId)}/`};case"dashboard":return{pathname:`/dashboard/${encodeURIComponent(t.dashboardId)}/`};case"replay":return{pathname:`/explore/replays/${encodeURIComponent(t.replayId)}/`};case"monitor":return{pathname:`/monitors/${encodeURIComponent(t.detectorId)}/`};case"issue_view":return{pathname:`/issues/views/${encodeURIComponent(t.viewId)}/`};case"saved_query":return{...t.source==="discover"?{pathname:"/discover/results/"}:hr(t.resultScreen).production,query:{id:t.queryId,...t.dataset?{dataset:t.dataset}:{},...t.title?{title:t.title}:{}}}}}function vL(e,t){if(!t)return;if(t.query!==void 0)e.set("query",t.query);if(t.statsPeriod)e.set("statsPeriod",t.statsPeriod);if(t.sort)e.set("sort",t.sort);for(let r of t.selectedProjects??[])e.append("project",r);for(let r of t.selectedEnvs??[])e.append("environment",r);for(let r of t.fields??[])e.append("field",r)}function Dr(e,t){return{kind:"invalid",reason:e,message:t}}function Dt(e){return{kind:"unsupported",family:e,message:"That Sentry page is not implemented in sentry-tui yet."}}var Fs="sentry-tui.session",Us=1;function Ul(e){return{kind:Fs,version:Us,...e}}function Yl(e){if(!Rr(e)||e.kind!==Fs)return;switch(e.version){case Us:return GL(e);default:return}}function GL(e){let t=$l(e.org),r=EL(e.navigation),H=BL(e.projectsByOrg),n=WL(e.seerCodeModeByOrg),o=Fl(e.seerBashModeByOrg),s=Fl(e.seerShowThinkingByOrg),i=FL(e.seerRunId);if(!t||!r||!H||!n||!o||!s||i===null)return;let a=Wl(r.location,t);if(!a)return;let l=[];for(let A of r.viewStack){let u=Wl(A,t);if(!u?.detail)return;l.push(u)}return{snapshot:{kind:Fs,version:Us,org:t,navigation:r,projectsByOrg:H,seerCodeModeByOrg:n,seerBashModeByOrg:o,seerShowThinkingByOrg:s,...i===void 0?{}:{seerRunId:i}},location:a,viewStack:l}}function EL(e){if(!Rr(e)||typeof e.location!=="string")return;if(!Array.isArray(e.viewStack)||e.viewStack.length>32||!e.viewStack.every((r)=>typeof r==="string"))return;let t=KL(e.screens);if(!t)return;return{location:e.location,viewStack:[...e.viewStack],screens:t}}function KL(e){if(!Rr(e))return;let t=Object.entries(e);if(t.length>256)return;let r=Object.create(null);for(let[H,n]of t){let o=XL(n);if(!H||!o)return;r[H]=o}return r}function XL(e){if(!Rr(e))return;let t=e.source===null?null:$l(e.source),r=e.selected,H=Ws(e.selectedProjects),n=Ws(e.selectedEnvs);if(t===void 0&&e.source!==null||!Number.isSafeInteger(r)||r<0||typeof e.query!=="string"||typeof e.sort!=="string"||typeof e.statsPeriod!=="string"||!H||!n||typeof e.detailOpen!=="boolean")return;return{source:t??null,selected:r,query:e.query,sort:e.sort,statsPeriod:e.statsPeriod,selectedProjects:H,selectedEnvs:n,detailOpen:e.detailOpen}}function Wl(e,t){let r=In(e);return r.kind==="location"&&r.location.org===t?r.location:void 0}function BL(e){if(!Rr(e))return;let t=Object.create(null);for(let[r,H]of Object.entries(e)){let n=Ws(H);if(!r||!n)return;t[r]=n}return t}function Fl(e){if(!Rr(e))return;let t=Object.create(null);for(let[r,H]of Object.entries(e)){if(!r||typeof H!=="boolean")return;t[r]=H}return t}function WL(e){if(!Rr(e))return;let t=Object.create(null);for(let[r,H]of Object.entries(e)){if(!r||H!=="off"&&H!=="on"&&H!=="only")return;t[r]=H}return t}function Ws(e){return Array.isArray(e)&&e.every((t)=>typeof t==="string")?[...e]:void 0}function FL(e){if(e===void 0)return;if(typeof e==="string"&&e.length>0)return e;if(typeof e==="number"&&Number.isFinite(e))return e;return null}function $l(e){return typeof e==="string"&&e.length>0?e:void 0}function Rr(e){return typeof e==="object"&&e!==null&&!Array.isArray(e)}import{createContext as YL,useContext as $L,useEffect as VL,useState as ZL}from"h:0__";var Ys={mode:"dark",bg:"#0D0A10",panel:"#1B1821",panelAlt:"#24202B",chip:{surface:"#2D2835",rim:"#46404F",rimShadow:"#393442"},selected:"#26212E",border:"#393442",borderFocused:"#7553FF",text:"#E7E5EA",muted:"#A49EAE",subText:"#958E9F",accent:"#7553FF",danger:"#F6938C",warning:"#FFCE00",success:"#5ECE73",highlight:"#FF45A8",hotkey:"#FF45A8",syntax:{keyword:"#F6938C",string:"#5ECE73",number:"#FF9838",comment:"#A49EAE",function:"#9A94F1",type:"#FFCE00",variable:"#E7E5EA",constant:"#FF9838",operator:"#A49EAE",punctuation:"#A49EAE"},level:{fatal:"#C10000",error:"#FF9838",warning:"#FFCE00",info:"#7553FF",sample:"#7553FF",unknown:"#958E9F"},status:{resolved:"#5ECE73",regressed:"#9A94F1",escalating:"#F6938C",new:"#FFCE00",ongoing:"#A49EAE",archived:"#A49EAE"}},UL={mode:"light",bg:"#FFFFFF",panel:"#F8F8F9",panelAlt:"#EEEEF0",chip:{surface:"#E8E8EB",rim:"#CDCCD2",rimShadow:"#B1AFB8"},selected:"#E8E8EB",border:"#C0BEC6",borderFocused:"#5827D6",text:"#302E36",muted:"#5B5864",subText:"#6A6772",accent:"#5827D6",danger:"#C10000",warning:"#813100",success:"#007800",highlight:"#9F005F",hotkey:"#9F005F",syntax:{keyword:"#C10000",string:"#007800",number:"#934100",comment:"#5B5864",function:"#5533B2",type:"#813100",variable:"#302E36",constant:"#C10000",operator:"#5B5864",punctuation:"#5B5864"},level:{fatal:"#780000",error:"#C10000",warning:"#813100",info:"#5827D6",sample:"#5827D6",unknown:"#5B5864"},status:{resolved:"#007800",regressed:"#5533B2",escalating:"#C10000",new:"#813100",ongoing:"#5B5864",archived:"#5B5864"}};function Zl(e){return e==="light"?UL:Ys}var Vl=new Map;async function zl(e){let t=Vl.get(e.mode);if(t)return t;let{SyntaxStyle:r}=await import("h:3__________"),H=r.fromStyles({default:{fg:e.text},keyword:{fg:e.syntax.keyword},string:{fg:e.syntax.string},number:{fg:e.syntax.number},comment:{fg:e.syntax.comment,italic:!0},function:{fg:e.syntax.function},type:{fg:e.syntax.type},variable:{fg:e.syntax.variable},constant:{fg:e.syntax.constant},operator:{fg:e.syntax.operator},punctuation:{fg:e.syntax.punctuation}});return Vl.set(e.mode,H),H}import{jsxDEV as zL}from"h:6___________________________";var Jl=YL(Ys);function S(){return $L(Jl)}function eA({source:e,initialMode:t,fixed:r,children:H}){let[n,o]=ZL(t);return VL(()=>{if(r)return;let s=(i)=>o(i);if(e.on("theme_mode",s),e.themeMode)o(e.themeMode);return()=>{e.off("theme_mode",s)}},[r,e]),zL(Jl.Provider,{value:Zl(n),children:H},void 0,!1,void 0,this)}var Vt={RESOLVED:"resolved",UNRESOLVED:"unresolved",IGNORED:"ignored",REPROCESSING:"reprocessing"},tA={ARCHIVED_UNTIL_ESCALATING:"archived_until_escalating",ARCHIVED_UNTIL_CONDITION_MET:"archived_until_condition_met",ARCHIVED_FOREVER:"archived_forever",ESCALATING:"escalating",ONGOING:"ongoing",REGRESSED:"regressed",NEW:"new"};function HH(e,t){if(!Array.isArray(e))return;return e.find((r)=>r.type===t)}function rA(e,t){let r={...e};if(t.status!==void 0)r.status=t.status;if(t.substatus!==void 0)r.substatus=t.substatus;if(t.isBookmarked!==void 0)r.isBookmarked=t.isBookmarked;if(t.isSubscribed!==void 0)r.isSubscribed=t.isSubscribed;if(t.hasSeen!==void 0)r.hasSeen=t.hasSeen;if(t.priority!==void 0)r.priority=t.priority;if(t.inbox===!1)r.hasSeen=!0;return r}var $s=[{commandId:"sentry.issue.resolve",pastTense:"resolved",update:(e)=>e.status===Vt.RESOLVED?null:{status:Vt.RESOLVED}},{commandId:"sentry.issue.archive",pastTense:"archived",update:(e)=>e.status===Vt.IGNORED?{status:Vt.UNRESOLVED}:{status:Vt.IGNORED,substatus:tA.ARCHIVED_UNTIL_ESCALATING}},{commandId:"sentry.issue.unresolve",pastTense:"unresolved",update:(e)=>e.status===Vt.UNRESOLVED?null:{status:Vt.UNRESOLVED}},{commandId:"sentry.issue.bookmark",pastTense:"bookmarked",update:(e)=>({isBookmarked:!e.isBookmarked})},{commandId:"sentry.issue.markReviewed",pastTense:"marked reviewed",update:(e)=>e.hasSeen?null:{inbox:!1,hasSeen:!0}}];function wn(e){return $s.find((t)=>t.commandId===e)}function HA(e){switch(e){case"sentry.issue.resolve":return"already resolved";case"sentry.issue.unresolve":return"already unresolved";case"sentry.issue.markReviewed":return"already reviewed";default:return"nothing to do"}}import{breadcrumb as z9,identify as J9,log as ej}from"h:7___________________________________";import{useEffect as bI,useMemo as wI,useState as hA}from"h:0__";import{useKeyboard as xI,useTerminalDimensions as TI}from"h:4___________";function Vs({onlyFirst:e=!1}={}){return new RegExp("(?:\\u001B\\][^\\u0007\\u001B\\u009C]*(?:\\u0007|\\u001B\\u005C|\\u009C))|[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]",e?void 0:"g")}var JL=Vs();function Zs(e){if(typeof e!=="string")throw TypeError(`Expected a \`string\`, got \`${typeof e}\``);return e.replace(JL,"")}var nA=161,oA=1114109,sA=[161,161,164,164,167,168,170,170,173,174,176,180,182,186,188,191,198,198,208,208,215,216,222,225,230,230,232,234,236,237,240,240,242,243,247,250,252,252,254,254,257,257,273,273,275,275,283,283,294,295,299,299,305,307,312,312,319,322,324,324,328,331,333,333,338,339,358,359,363,363,462,462,464,464,466,466,468,468,470,470,472,472,474,474,476,476,593,593,609,609,708,708,711,711,713,715,717,717,720,720,728,731,733,733,735,735,768,879,913,929,931,937,945,961,963,969,1025,1025,1040,1103,1105,1105,8208,8208,8211,8214,8216,8217,8220,8221,8224,8226,8228,8231,8240,8240,8242,8243,8245,8245,8251,8251,8254,8254,8308,8308,8319,8319,8321,8324,8364,8364,8451,8451,8453,8453,8457,8457,8467,8467,8470,8470,8481,8482,8486,8486,8491,8491,8531,8532,8539,8542,8544,8555,8560,8569,8585,8585,8592,8601,8632,8633,8658,8658,8660,8660,8679,8679,8704,8704,8706,8707,8711,8712,8715,8715,8719,8719,8721,8721,8725,8725,8730,8730,8733,8736,8739,8739,8741,8741,8743,8748,8750,8750,8756,8759,8764,8765,8776,8776,8780,8780,8786,8786,8800,8801,8804,8807,8810,8811,8814,8815,8834,8835,8838,8839,8853,8853,8857,8857,8869,8869,8895,8895,8978,8978,9312,9449,9451,9547,9552,9587,9600,9615,9618,9621,9632,9633,9635,9641,9650,9651,9654,9655,9660,9661,9664,9665,9670,9672,9675,9675,9678,9681,9698,9701,9711,9711,9733,9734,9737,9737,9742,9743,9756,9756,9758,9758,9792,9792,9794,9794,9824,9825,9827,9829,9831,9834,9836,9837,9839,9839,9886,9887,9919,9919,9926,9933,9935,9939,9941,9953,9955,9955,9960,9961,9963,9969,9972,9972,9974,9977,9979,9980,9982,9983,10045,10045,10102,10111,11094,11097,12872,12879,57344,63743,65024,65039,65533,65533,127232,127242,127248,127277,127280,127337,127344,127373,127375,127376,127387,127404,917760,917999,983040,1048573,1048576,1114109],iA=12288,aA=65510,cA=[12288,12288,65281,65376,65504,65510];var lA=4352,AA=262141,zs=[4352,4447,8986,8987,9001,9002,9193,9196,9200,9200,9203,9203,9725,9726,9748,9749,9776,9783,9800,9811,9855,9855,9866,9871,9875,9875,9889,9889,9898,9899,9917,9918,9924,9925,9934,9934,9940,9940,9962,9962,9970,9971,9973,9973,9978,9978,9981,9981,9989,9989,9994,9995,10024,10024,10060,10060,10062,10062,10067,10069,10071,10071,10133,10135,10160,10160,10175,10175,11035,11036,11088,11088,11093,11093,11904,11929,11931,12019,12032,12245,12272,12287,12289,12350,12353,12438,12441,12543,12549,12591,12593,12686,12688,12773,12783,12830,12832,12871,12880,42124,42128,42182,43360,43388,44032,55203,63744,64255,65040,65049,65072,65106,65108,65126,65128,65131,94176,94180,94192,94198,94208,101589,101631,101662,101760,101874,110576,110579,110581,110587,110589,110590,110592,110882,110898,110898,110928,110930,110933,110933,110948,110951,110960,111355,119552,119638,119648,119670,126980,126980,127183,127183,127374,127374,127377,127386,127488,127490,127504,127547,127552,127560,127568,127569,127584,127589,127744,127776,127789,127797,127799,127868,127870,127891,127904,127946,127951,127955,127968,127984,127988,127988,127992,128062,128064,128064,128066,128252,128255,128317,128331,128334,128336,128359,128378,128378,128405,128406,128420,128420,128507,128591,128640,128709,128716,128716,128720,128722,128725,128728,128732,128735,128747,128748,128756,128764,128992,129003,129008,129008,129292,129338,129340,129349,129351,129535,129648,129660,129664,129674,129678,129734,129736,129736,129741,129756,129759,129770,129775,129784,131072,196605,196608,262141];var xn=(e,t)=>{let r=0,H=Math.floor(e.length/2)-1;while(r<=H){let n=Math.floor((r+H)/2),o=n*2;if(t<e[o])H=n-1;else if(t>e[o+1])r=n+1;else return!0}return!1};var uA=19968,[eI,tI]=rI(zs);function rI(e){let t=e[0],r=e[1];for(let H=0;H<e.length;H+=2){let n=e[H],o=e[H+1];if(uA>=n&&uA<=o)return[n,o];if(o-n>r-t)t=n,r=o}return[t,r]}var dA=(e)=>{if(e<nA||e>oA)return!1;return xn(sA,e)},pA=(e)=>{if(e<iA||e>aA)return!1;return xn(cA,e)};var mA=(e)=>{if(e>=eI&&e<=tI)return!0;if(e<lA||e>AA)return!1;return xn(zs,e)};function HI(e){if(!Number.isSafeInteger(e))throw TypeError(`Expected a code point, got \`${typeof e}\`.`)}function NH(e,{ambiguousAsWide:t=!1}={}){if(HI(e),pA(e)||mA(e)||t&&dA(e))return 2;return 1}var nI=new Intl.Segmenter,gA=/^(?:\p{Default_Ignorable_Code_Point}|\p{Control}|\p{Format}|\p{Nonspacing_Mark}|\p{Enclosing_Mark}|\p{Surrogate})+$/v,oI=/^[\p{Default_Ignorable_Code_Point}\p{Control}\p{Format}\p{Nonspacing_Mark}\p{Enclosing_Mark}\p{Surrogate}]+/v,sI=/\p{Spacing_Mark}/v,iI=/^\p{RGI_Emoji}$/v,aI=/^[\d#*]\u20E3$/,cI=/\p{Extended_Pictographic}/gu;function lI(e){if(e.length>50)return!1;if(aI.test(e))return!0;if(e.includes("\u200D")){let t=e.match(cI);return t!==null&&t.length>=2}return!1}function AI(e){return e.replace(oI,"")}function uI(e){return gA.test(e)}function OA(e){return e>=4352&&e<=4447||e>=43360&&e<=43388}function yA(e){return e>=4448&&e<=4519||e>=55216&&e<=55238}function fA(e){return e>=4520&&e<=4607||e>=55243&&e<=55291}function dI(e){return OA(e)||yA(e)||fA(e)}function pI(e,t){let r=[];for(let n of e){if(gA.test(n))continue;r.push(n.codePointAt(0))}if(r.length===0)return;let H=0;for(let n=0;n<r.length;n++){let o=r[n];if(!dI(o)){if(H===0)return;for(let s=n;s<r.length;s++)H+=NH(r[s],t);return H}if(OA(o)&&yA(r[n+1])){H+=2,n+=fA(r[n+2])?2:1;continue}H+=NH(o,t)}return H}function mI(e,t){let r=0,H=!0;for(let n of e){if(H){H=!1;continue}if(sI.test(n)||n>="\uFF00"&&n<="\uFFEF")r+=NH(n.codePointAt(0),t)}return r}function Js(e,t={}){if(typeof e!=="string"||e.length===0)return 0;let{ambiguousIsNarrow:r=!0,countAnsiEscapeCodes:H=!1}=t,n=e;if(!H&&(n.includes("\x1B")||n.includes("\x9B")))n=Zs(n);if(n.length===0)return 0;if(/^[\u0020-\u007E]*$/.test(n))return n.length;let o=0,s={ambiguousAsWide:!r};for(let{segment:i}of nI.segment(n)){if(uI(i))continue;if(iI.test(i)||lI(i)){o+=2;continue}let a=AI(i),l=pI(a,s);if(l!==void 0){o+=l;continue}let c=a.codePointAt(0);o+=NH(c,s),o+=mI(a,s)}return o}function ce(e){return Js(e)}var gI=/\u001b\][\s\S]*?(?:\u0007|\u001b\\)/g,OI=/\u001b(?:\[[0-9;?]*[ -/]*[@-~]|[@-Z\\-_])/g,yI=/[\n\r\t\v\f\u0085\u2028\u2029]+/g,fI=/[\u0000-\u0009\u000b-\u001f\u007f-\u009f\u2028\u2029]/g,SI=/[\u0000-\u001f\u007f-\u009f\u2028\u2029]/g;function SA(e){return e.replace(gI,"").replace(OI,"")}function _I(e){if(!/[\u0000-\u0009\u000b-\u001f\u007f-\u009f\u2028\u2029]/.test(e))return e;return SA(e).replace(fI,"")}function _A(e){if(!/[\u0000-\u001f\u007f-\u009f\u2028\u2029]/.test(e))return e;return SA(e).replace(yI," ").replace(SI,"")}function R(e,t,r="\u2026"){if(t<=0)return"";let H=_A(e);if(ce(H)<=t)return H;let n=ce(r);if(t<=n)return r.slice(0,t);let o=t-n,s="",i=0;for(let a of H){let l=ce(a);if(i+l>o)break;s+=a,i+=l}return s+r}function vr(e,t){if(t<=0)return[];let r=[];for(let H of _I(e).split(`
|
|
9
|
+
`)){if(H===""){r.push("");continue}let n="";for(let o of H.split(" ")){let s=n===""?o:`${n} ${o}`;if(ce(s)<=t){n=s;continue}if(n!=="")r.push(n),n="";let i=o;while(ce(i)>t){let a="",l=0;for(let c of i){let A=ce(c);if(l+A>t)break;a+=c,l+=A}r.push(a),i=i.slice(a.length)}n=i}r.push(n)}return r}function _(e,t,r="left"){let H=R(e,t),n=Math.max(0,t-ce(H));if(r==="center"){let s=Math.floor(n/2);return" ".repeat(s)+H+" ".repeat(n-s)}let o=" ".repeat(n);return r==="left"?H+o:o+H}function ei(e,t,r="\u2026"){if(t<=0)return"";let H=_A(e);if(ce(H)<=t)return H;let n=ce(r);if(t<=n)return r.slice(0,t);let o=t-n,s=Math.ceil(o/2),i=o-s,a=[...H],l="",c=0;for(let u of a){let d=ce(u);if(c+d>s)break;l+=u,c+=d}let A="";c=0;for(let u=a.length-1;u>=0;u--){let d=a[u],m=ce(d);if(c+m>i)break;A=d+A,c+=m}return l+r+A}import{jsxDEV as kA}from"h:6___________________________";function Tn({text:e,positions:t,width:r,fg:H}){let n=S(),o=R(e,r),s=o===e?o.length:Math.max(0,o.length-1),i=new Set(t),a=[],l="",c=!1,A=()=>{if(!l)return;a.push(kA("span",{fg:c?n.accent:H,children:l},a.length,!1,void 0,this)),l=""};for(let u=0;u<o.length;u++){let d=u<s&&i.has(u);if(d!==c)A(),c=d;l+=o[u]}return A(),kA("text",{children:a},void 0,!1,void 0,this)}import{useTerminalDimensions as kI}from"h:4___________";function nH({width:e,height:t,terminalWidth:r,terminalHeight:H,margin:n=2}){let o=Math.max(1,Math.min(e,r-n*2)),s=Math.max(1,Math.min(t,H-n*2));return{width:o,height:s,left:Math.max(0,Math.floor((r-o)/2)),top:Math.max(0,Math.floor((H-s)/2))}}function Pn(e,t,r){if(t<=r)return 0;let H=e-Math.floor(r/2);return Math.min(Math.max(H,0),t-r)}import{jsxDEV as ti,Fragment as II}from"h:6___________________________";var hI=55,LI=60;function ar({title:e,width:t,height:r,onClose:H,children:n}){let o=S(),{width:s,height:i}=kI(),a=nH({width:t,height:r,terminalWidth:s,terminalHeight:i});return ti(II,{children:[ti("box",{style:{position:"absolute",top:0,left:0,width:s,height:i,zIndex:hI},onMouseUp:H},void 0,!1,void 0,this),ti("box",{title:e,style:{position:"absolute",top:a.top,left:a.left,width:a.width,height:a.height,zIndex:LI,border:!0,borderColor:o.accent,backgroundColor:o.panel,flexDirection:"column",paddingTop:1,paddingRight:1,paddingBottom:0,paddingLeft:1},onMouseUp:(l)=>l.stopPropagation(),children:n},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function qn(e){return e.name==="down"||e.name==="n"&&Boolean(e.ctrl)}function Mn(e){return e.name==="up"||e.name==="p"&&Boolean(e.ctrl)}function je(e){e.preventDefault(),e.stopPropagation()}function Rt(e,t,r=je){for(let H of e){let n=H(t);if(n==="notMine")continue;if(n==="mine")r(t);return!0}return!1}import{jsxDEV as ct}from"h:6___________________________";var LA=68,IA=24,PI=7,qI=2,bA=2,MI="\u2191\u2193 move \xB7 enter select \xB7 esc close";function wA({actions:e,onRun:t,onClose:r}){let H=S(),{width:n,height:o}=TI(),[s,i]=hA(""),[a,l]=hA(0),{results:c,rows:A}=wI(()=>{let p=Hl(e,s),O=nl(p,s.trim()?tl:void 0);return{results:O.flatMap((L)=>L.results),rows:ol(O)}},[e,s]);bI(()=>l(0),[s]),xI((p)=>{Rt([()=>{if(Q("sentry.nav.back",p))return r(),"mine";if(Q("sentry.app.commandPalette",p))return r(),"mine";if(Q("sentry.nav.open",p)){let O=c[a]?.action;if(O)t(O);return"mine"}if(qn(p))return l((O)=>Math.min(O+1,c.length-1)),"mine";if(Mn(p))return l((O)=>Math.max(O-1,0)),"mine";return"notMine"}],p,je)});let u=nH({width:LA,height:IA,terminalWidth:n,terminalHeight:o}),d=Math.max(1,u.width-4),m=Math.max(1,u.height-PI),g=Pn(Math.max(0,sl(A,a)),A.length,m);return ct(ar,{title:" Command palette ",width:LA,height:IA,onClose:r,children:[ct("box",{style:{flexDirection:"row",flexShrink:0},children:[ct("text",{fg:H.accent,children:"\u276F "},void 0,!1,void 0,this),ct("input",{value:s,placeholder:"Search commands and destinations\u2026",focused:!0,onInput:i,style:{flexGrow:1,textColor:H.text,backgroundColor:H.panel,focusedTextColor:H.text,focusedBackgroundColor:H.panel,placeholderColor:H.subText}},void 0,!1,void 0,this)]},void 0,!0,void 0,this),ct("box",{style:{flexGrow:1,flexDirection:"column",marginTop:1},children:A.length===0?ct("text",{fg:H.muted,children:R(`No matches for "${s}"`,d)},void 0,!1,void 0,this):A.slice(g,g+m).map((p)=>{if(p.kind==="heading")return ct("text",{fg:H.accent,children:p.section},`heading:${p.section}`,!1,void 0,this);if(p.kind==="more")return ct("text",{fg:H.subText,children:` +${p.count} more \u2014 keep typing`},`more:${p.section}`,!1,void 0,this);return ct(CI,{row:p,selected:p.index===a,width:d,onPress:()=>t(p.result.action)},p.result.action.id,!1,void 0,this)})},void 0,!1,void 0,this),ct("box",{style:{flexDirection:"row",flexShrink:0,marginTop:1},children:[ct("text",{fg:H.muted,children:R(MI,Math.max(0,d-Is.length-bA))},void 0,!1,void 0,this),ct("box",{style:{flexGrow:1}},void 0,!1,void 0,this),ct("text",{fg:H.subText,children:Is},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}function CI({row:e,selected:t,width:r,onPress:H}){let n=S(),{action:o,positions:s}=e.result,i=o.detail??"",a=Math.max(1,r-qI-(i?i.length+bA:0));return ct("box",{style:{flexDirection:"row",flexShrink:0,backgroundColor:t?n.selected:void 0},onMouseUp:H,children:[ct("text",{fg:n.accent,children:t?"\u25B8 ":" "},void 0,!1,void 0,this),ct(Tn,{text:o.label,positions:s,width:a,fg:t?n.text:n.muted},void 0,!1,void 0,this),ct("box",{style:{flexGrow:1}},void 0,!1,void 0,this),i?ct("text",{fg:n.subText,children:i},void 0,!1,void 0,this):null]},void 0,!0,void 0,this)}import{TextAttributes as jH}from"h:3__________";var X=jH.BOLD,mr=jH.ITALIC,rt=jH.DIM,oH=jH.UNDERLINE,sH=jH.NONE;import{jsxDEV as QI}from"h:6___________________________";function Pt({command:e,emphasised:t=!1}){let r=S(),H=we(e);if(!H)return null;return QI("text",{fg:r.hotkey,attributes:t?X|oH:oH,children:ve(H)},void 0,!1,void 0,this)}import{jsxDEV as ri}from"h:6___________________________";var NI=10,xA=2,Hi="sentry.nav.back";function TA(e){let t=we(e);return t?ce(ve(t)):0}function PA(e,t){let r=Math.floor(t/2)-xA-TA(Hi);return R(`back to ${e} `,Math.max(0,r))}function ni(e,t){let r=PA(e,t);return r?xA+ce(r)+TA(Hi):0}function qA({parent:e,top:t,right:r,paneWidth:H}){let n=S(),o=PA(e,H);if(!o)return null;let s=ni(e,H);return ri("box",{style:{position:"absolute",top:t,left:Math.max(0,r-s),width:s,height:1,zIndex:NI,flexDirection:"row",backgroundColor:n.bg,paddingLeft:1,paddingRight:1},children:[ri("text",{fg:n.muted,children:o},void 0,!1,void 0,this),ri(Pt,{command:Hi},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}import{useCallback as pi,useEffect as mi,useMemo as Kn,useState as zm}from"h:0__";import{jsxDEV as DH}from"h:6___________________________";function iH({label:e,hotkey:t,fg:r,bold:H=!1}){let n=S(),o=H?X:sH;if(!t)return DH("text",{fg:r,attributes:o,children:e},void 0,!1,void 0,this);let s=[...e],i=t.index>=0,a=i?s.slice(0,t.index).join(""):`${e} `,l=i?s.slice(t.index+1).join(""):"",c=H?X|oH:oH;return DH("text",{attributes:o,children:[a?DH("span",{fg:r,children:a},void 0,!1,void 0,this):null,DH("span",{fg:n.hotkey,attributes:c,children:t.key},void 0,!1,void 0,this),l?DH("span",{fg:r,children:l},void 0,!1,void 0,this):null]},void 0,!0,void 0,this)}import{jsxDEV as ze,Fragment as GI}from"h:6___________________________";var Lr=1,ft=3,jI="\u2590",DI="\u258C",CA=2,RI="\u2581",vI="\u2594";function vt({command:e,label:t,inlineHotkey:r=!1,caret:H=!1}){let n=ve(we(e)),o=QA(e,t,r),s=n&&!o?ce(n)+1:0,i=o?.index===-1?ce(o.key)+1:0;return CA+1+s+ce(t)+i+(H?2:0)+1}function QA(e,t,r){if(!r)return;let H=ve(we(e));if(!H)return;let o=[...H].length===1?[...t].findIndex((s)=>s.toLowerCase()===H.toLowerCase()):-1;return{key:H,index:o}}function Cn(e){let t=[],r=0;for(let H of e)t.push(r),r+=vt(H)+Lr;return t}function Gr({command:e,label:t,inlineHotkey:r=!1,caret:H=!1,active:n=!1,onPress:o}){let s=S(),i=ve(we(e)),a=QA(e,t,r),l=n?s.accent:s.text,c=vt({command:e,label:t,inlineHotkey:r,caret:H})-CA;return ze("box",{style:{flexDirection:"column",flexShrink:0},onMouseDown:o,children:[ze(MA,{glyph:RI,width:c,color:s.chip.rim},void 0,!1,void 0,this),ze("box",{style:{flexDirection:"row"},children:[ze("text",{fg:s.chip.rim,children:jI},void 0,!1,void 0,this),ze("box",{style:{flexDirection:"row",backgroundColor:s.chip.surface},children:[ze("text",{children:" "},void 0,!1,void 0,this),i&&!a?ze(GI,{children:[ze(Pt,{command:e,emphasised:!0},void 0,!1,void 0,this),ze("text",{children:" "},void 0,!1,void 0,this)]},void 0,!0,void 0,this):null,a?ze(iH,{label:t,hotkey:a,fg:l},void 0,!1,void 0,this):ze("text",{fg:l,children:t},void 0,!1,void 0,this),H?ze("text",{fg:n?s.accent:s.muted,children:" \u25BE"},void 0,!1,void 0,this):null,ze("text",{children:" "},void 0,!1,void 0,this)]},void 0,!0,void 0,this),ze("text",{fg:s.chip.rim,children:DI},void 0,!1,void 0,this)]},void 0,!0,void 0,this),ze(MA,{glyph:vI,width:c,color:s.chip.rimShadow},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function MA({glyph:e,width:t,color:r}){return ze("text",{fg:r,children:` ${e.repeat(Math.max(0,t))} `},void 0,!1,void 0,this)}function Qn({chips:e,activeIndex:t,onPress:r}){return ze("box",{style:{flexDirection:"row",flexShrink:0},children:e.map((H,n)=>ze("box",{style:{flexDirection:"row"},children:[n>0?ze("text",{children:" ".repeat(Lr)},void 0,!1,void 0,this):null,ze(Gr,{...H,active:n===t,onPress:()=>r?.(H,n)},void 0,!1,void 0,this)]},H.command,!0,void 0,this))},void 0,!1,void 0,this)}import{useCallback as Wm,useEffect as Fm,useMemo as ai,useRef as $x,useState as ci}from"h:0__";import{useKeyboard as Vx,useTerminalDimensions as Zx}from"h:4___________";import{readFileSync as EI}from"fs";var NA=new Map;function Nn(e){let t=NA.get(e);if(!t)t=EI(e),NA.set(e,t);return t}var jA="./assets/activeadmin-p8zytf80.png";var DA="./assets/actix-tt2a8ysg.png";var RA="./assets/aiohttp-gmt10x6m.png";var vA="./assets/alpinejs-wqnxn6y1.png";var GA="./assets/amazon-p185z4ev.png";var EA="./assets/amd-p8c25cfe.png";var KA="./assets/analogjs-cna1hg98.png";var XA="./assets/android-xjr1314k.png";var BA="./assets/android-phone-mjzxta39.png";var WA="./assets/android-tablet-mjzxta39.png";var FA="./assets/angularjs-7h46ejvd.png";var UA="./assets/anthropic-rrcv6ejq.png";var YA="./assets/anthropic-claude-4n50evr8.png";var $A="./assets/apache-airflow-w7c50371.png";var VA="./assets/apache-beam-2q3zbaks.png";var ZA="./assets/apache-spark-a680t00k.png";var zA="./assets/app-engine-ghexy1y6.png";var JA="./assets/apple-fh3mfwj2.png";var eu="./assets/apple-ipad-dfky3d0g.png";var tu="./assets/apple-iphone-dfky3d0g.png";var ru="./assets/apple-tv-dfky3d0g.png";var Hu="./assets/apple-watch-dfky3d0g.png";var nu="./assets/ariadne-p2xx19an.png";var ou="./assets/arm-5rs1ketc.png";var su="./assets/astro-nbngj53v.png";var iu="./assets/aws-7vzr54cj.png";var au="./assets/awslambda-qzxqvkkb.png";var cu="./assets/azure-functions-bst1wkws.png";var lu="./assets/backbone-7cg22pv4.png";var Au="./assets/bazzite-ybxzg5vm.png";var uu="./assets/blazor-hxv5b1jm.png";var du="./assets/bottle-fgvkq9ed.png";var pu="./assets/bun-qzcj59r5.png";var mu="./assets/capacitor-a3m2sqp1.png";var gu="./assets/celery-gd1erc4d.png";var Ou="./assets/chalice-xmacx55d.png";var yu="./assets/chrome-xdd75zcv.png";var fu="./assets/chromium-s43136bv.png";var Su="./assets/clickhouse-eg3e8wwt.png";var _u="./assets/clojure-kvpja977.png";var ku="./assets/cloudflare-pxsb5f3n.png";var hu="./assets/cloudflare-pages-0nwgb0by.png";var Lu="./assets/cloudflare-workers-x0py78jv.png";var Iu="./assets/cohere-sp0b9n61.png";var bu="./assets/connect-7r7dc91q.png";var wu="./assets/convex-az2pt1fc.png";var xu="./assets/cordova-7wzvfz77.png";var Tu="./assets/cpp-n8ke0smy.png";var Pu="./assets/cryengine-c186nv57.png";var qu="./assets/crystal-zwaetd1f.png";var Mu="./assets/csharp-4cgxa8dg.png";var Cu="./assets/css-g8jdrx8v.png";var Qu="./assets/dart-g38t75be.png";var Nu="./assets/deepseek-7r4457fz.png";var ju="./assets/default-mqvk902r.png";var Du="./assets/deno-815kzqz1.png";var Ru="./assets/django-qq1crz4g.png";var vu="./assets/dotnet-5gqvv1yc.png";var Gu="./assets/dotnetcore-n03w6x5h.png";var Eu="./assets/dotnetframework-brnpeeq7.png";var Ku="./assets/dotnetfx-7vm66a84.png";var Xu="./assets/dramatiq-b0c46xrk.png";var Bu="./assets/echo-7va69gxg.png";var Wu="./assets/edge-4qt9t9s2.png";var Fu="./assets/edge-legacy-sqwdg70h.png";var Uu="./assets/effect-sqx9ndtk.png";var Yu="./assets/electron-2n9s8mts.png";var $u="./assets/elixir-mckzq1sq.png";var Vu="./assets/ember-a65qyfxw.png";var Zu="./assets/expo-24k68r06.png";var zu="./assets/express-bagm4hrp.png";var Ju="./assets/falcon-y3g2pkw1.png";var ed="./assets/fastapi-y61f6fkc.png";var td="./assets/fasthttp-dg3jpzzs.png";var rd="./assets/fastify-6kqs83vt.png";var Hd="./assets/fastmcp-z39yqz67.png";var nd="./assets/fiber-4hk7w77j.png";var od="./assets/firebase-cxe03y85.png";var sd="./assets/firefox-bg5zmx5g.png";var id="./assets/flask-cen3cnk3.png";var ad="./assets/flutter-yg7vv7v2.png";var cd="./assets/font-gm2xc8k1.png";var ld="./assets/fsharp-rdvgykvd.png";var Ad="./assets/gatsby-1cbrkhen.png";var ud="./assets/gcp-functions-f9fr7ptc.png";var dd="./assets/gemini-kkn8pkkz.png";var pd="./assets/gin-50chx0th.png";var md="./assets/git-2wwbsash.png";var gd="./assets/gnu-sza5z2m0.png";var Od="./assets/go-fe31mx1h.png";var yd="./assets/godot-5pyt3hf3.png";var fd="./assets/google-h9hjmbaw.png";var Sd="./assets/grape-z45yjx7n.png";var _d="./assets/graphene-wdrmh5wg.png";var kd="./assets/graphql-jfg31yab.png";var hd="./assets/grok-tek8dkt5.png";var Ld="./assets/groq-3w8j5sz6.png";var Id="./assets/grpc-41ce8e5w.png";var bd="./assets/hanami-h1ha69g0.png";var wd="./assets/hapi-xjkhg9xk.png";var xd="./assets/hono-ydv0kfra.png";var Td="./assets/httpx-72gb9ze8.png";var Pd="./assets/huey-a53cr7qy.png";var qd="./assets/huggingface-yceen1hy.png";var Md="./assets/hydrogen-wremh7ah.png";var Cd="./assets/internet-explorer-mc34535p.png";var Qd="./assets/ionic-9x7e24b2.png";var Nd="./assets/iris-nvn6jx31.png";var jd="./assets/java-xd88qxr3.png";var Dd="./assets/javascript-fkw36jr6.png";var Rd="./assets/koa-xeggzpx7.png";var vd="./assets/kotlin-kttwkzk0.png";var Gd="./assets/langchain-dsrcgqtg.png";var Ed="./assets/langgraph-0gbzq3bw.png";var Kd="./assets/laravel-8vdwspz3.png";var Xd="./assets/launchdarkly-8nrxg4j1.png";var Bd="./assets/linux-mbda8m22.png";var Wd="./assets/lit-yy9gb2z5.png";var Fd="./assets/litellm-mn7mn3p5.png";var Ud="./assets/litestar-qgaq765e.png";var Yd="./assets/livewire-dhq1zp6k.png";var $d="./assets/logback-qdan81zj.png";var Vd="./assets/loguru-1qkw3dj3.png";var Zd="./assets/magento-mbmqx6pj.png";var zd="./assets/martini-0ynefktw.png";var Jd="./assets/mastra-bkzx6z2t.png";var ep="./assets/maui-k0v6671h.png";var tp="./assets/mcp-3a0e0d7f.png";var rp="./assets/meteor-pfjeajd9.png";var Hp="./assets/million-hqa7qjzr.png";var np="./assets/mistral-c8k352td.png";var op="./assets/mongodb-8zfpdrvw.png";var sp="./assets/mono-2jgc1h36.png";var ip="./assets/motorola-se1nxnrc.png";var ap="./assets/nativec-8hc1qqqq.png";var cp="./assets/nestjs-pdtzc08t.png";var lp="./assets/nextjs-1h4ss2x7.png";var Ap="./assets/nintendo-b121b9tx.png";var up="./assets/nintendo-switch-10fwf0z8.png";var dp="./assets/nintendo-switch-2-c30gwjdr.png";var pp="./assets/nitro-0m2zry4j.png";var mp="./assets/nodejs-4440bt1m.png";var gp="./assets/nuxt-9az5kp86.png";var Op="./assets/nvidia-sx95qpxr.png";var yp="./assets/openai-30efemfr.png";var fp="./assets/openfeature-7d7994hd.png";var Sp="./assets/opennext-qwtbtf69.png";var _p="./assets/opera-vm5934z4.png";var kp="./assets/padrino-h1r8j27p.png";var hp="./assets/perforce-m3brdm35.png";var Lp="./assets/perl-rtt66y1c.png";var Ip="./assets/perplexity-hppwdxr6.png";var bp="./assets/php-epsnnhgx.png";var wp="./assets/playstation-hdnq37vd.png";var xp="./assets/postgresql-460mxqat.png";var Tp="./assets/powershell-4fhvrc1v.png";var Pp="./assets/pydantic-ai-fktc46py.png";var qp="./assets/pyramid-68tybq4d.png";var Mp="./assets/python-0nvac8nw.png";var Cp="./assets/qq-vr99tzv0.png";var Qp="./assets/qt-k87rvs14.png";var Np="./assets/quart-r5ngms2j.png";var jp="./assets/qwik-bz2wcfjr.png";var Dp="./assets/rails-4pkdasvb.png";var Rp="./assets/ray-gmyxm5cx.png";var vp="./assets/react-8r99y108.png";var Gp="./assets/react-native-wmddwz2w.png";var Ep="./assets/react-router-v69yad6z.png";var Kp="./assets/redis-q94fh9hd.png";var Xp="./assets/remix-53wdkf82.png";var Bp="./assets/ruby-kcaxbrv4.png";var Wp="./assets/rust-v7er9616.png";var Fp="./assets/safari-pcf00dtn.png";var Up="./assets/samsung-cm92184f.png";var Yp="./assets/sanic-7z0zpwya.png";var $p="./assets/scala-9aq9kgns.png";var Vp="./assets/serverless-5293xmwf.png";var Zp="./assets/sidekiq-rnhzcwdj.png";var zp="./assets/sinatra-c03nt3xg.png";var Jp="./assets/solid-c96n8hcv.png";var em="./assets/solidstart-rb5kh1an.png";var tm="./assets/spring-nq4z52xr.png";var rm="./assets/springboot-n0jkm57m.png";var Hm="./assets/sql-hax5xfdd.png";var nm="./assets/sqlalchemy-rkmzzb4z.png";var om="./assets/sqlserver-xy5xks5j.png";var sm="./assets/starlette-j4s3ckgz.png";var im="./assets/steamos-esnc2vf1.png";var am="./assets/strawberry-gvtdbrv2.png";var cm="./assets/stride3d-na06nbdk.png";var lm="./assets/supabase-b8xn5ya6.png";var Am="./assets/svelte-99kpn61e.png";var um="./assets/swift-rz9jd9bd.png";var dm="./assets/symfony-5g12vm0z.png";var pm="./assets/tanstack-803fcdrr.png";var mm="./assets/tauri-s27nrazn.png";var gm="./assets/tokio-2qsmkbdt.png";var Om="./assets/tornado-jr9hafty.png";var ym="./assets/tower-m2b3e55m.png";var fm="./assets/tracing-sf8fezjm.png";var Sm="./assets/trailblazer-tts0mg9m.png";var _m="./assets/tryton-agrkpqzp.png";var km="./assets/typer-4ax7g9nv.png";var hm="./assets/ubuntu-2485bsgg.png";var Lm="./assets/unity-dh3f2d41.png";var Im="./assets/unleash-3n7nzk6v.png";var bm="./assets/uno-f3aqa0pr.png";var wm="./assets/unreal-66wfngpk.png";var xm="./assets/vercel-5tsw5vx4.png";var Tm="./assets/visual-basic-mv5kd4ph.png";var Pm="./assets/vscode-ht1kf4d5.png";var qm="./assets/vue-s1y5fsg1.png";var Mm="./assets/wasm-zc2sdxtz.png";var Cm="./assets/windows-m96vxbh1.png";var Qm="./assets/xamarin-13pfqd8y.png";var Nm="./assets/xbox-j22pmsf0.png";var oi={activeadmin:jA,actix:DA,aiohttp:RA,alpinejs:vA,amazon:GA,amd:EA,analogjs:KA,android:XA,"android-phone":BA,"android-tablet":WA,angularjs:FA,anthropic:UA,"anthropic-claude":YA,"apache-airflow":$A,"apache-beam":VA,"apache-spark":ZA,"app-engine":zA,apple:JA,"apple-ipad":eu,"apple-iphone":tu,"apple-tv":ru,"apple-watch":Hu,ariadne:nu,arm:ou,astro:su,aws:iu,awslambda:au,"azure-functions":cu,backbone:lu,bazzite:Au,blazor:uu,bottle:du,bun:pu,capacitor:mu,celery:gu,chalice:Ou,chrome:yu,chromium:fu,clickhouse:Su,clojure:_u,cloudflare:ku,"cloudflare-pages":hu,"cloudflare-workers":Lu,cohere:Iu,connect:bu,convex:wu,cordova:xu,cpp:Tu,cryengine:Pu,crystal:qu,csharp:Mu,css:Cu,dart:Qu,deepseek:Nu,default:ju,deno:Du,django:Ru,dotnet:vu,dotnetcore:Gu,dotnetframework:Eu,dotnetfx:Ku,dramatiq:Xu,echo:Bu,edge:Wu,"edge-legacy":Fu,effect:Uu,electron:Yu,elixir:$u,ember:Vu,expo:Zu,express:zu,falcon:Ju,fastapi:ed,fasthttp:td,fastify:rd,fastmcp:Hd,fiber:nd,firebase:od,firefox:sd,flask:id,flutter:ad,font:cd,fsharp:ld,gatsby:Ad,"gcp-functions":ud,gemini:dd,gin:pd,git:md,gnu:gd,go:Od,godot:yd,google:fd,grape:Sd,graphene:_d,graphql:kd,grok:hd,groq:Ld,grpc:Id,hanami:bd,hapi:wd,hono:xd,httpx:Td,huey:Pd,huggingface:qd,hydrogen:Md,"internet-explorer":Cd,ionic:Qd,iris:Nd,java:jd,javascript:Dd,koa:Rd,kotlin:vd,langchain:Gd,langgraph:Ed,laravel:Kd,launchdarkly:Xd,linux:Bd,lit:Wd,litellm:Fd,litestar:Ud,livewire:Yd,logback:$d,loguru:Vd,magento:Zd,martini:zd,mastra:Jd,maui:ep,mcp:tp,meteor:rp,million:Hp,mistral:np,mongodb:op,mono:sp,motorola:ip,nativec:ap,nestjs:cp,nextjs:lp,nintendo:Ap,"nintendo-switch":up,"nintendo-switch-2":dp,nitro:pp,nodejs:mp,nuxt:gp,nvidia:Op,openai:yp,openfeature:fp,opennext:Sp,opera:_p,padrino:kp,perforce:hp,perl:Lp,perplexity:Ip,php:bp,playstation:wp,postgresql:xp,powershell:Tp,"pydantic-ai":Pp,pyramid:qp,python:Mp,qq:Cp,qt:Qp,quart:Np,qwik:jp,rails:Dp,ray:Rp,react:vp,"react-native":Gp,"react-router":Ep,redis:Kp,remix:Xp,ruby:Bp,rust:Wp,safari:Fp,samsung:Up,sanic:Yp,scala:$p,serverless:Vp,sidekiq:Zp,sinatra:zp,solid:Jp,solidstart:em,spring:tm,springboot:rm,sql:Hm,sqlalchemy:nm,sqlserver:om,starlette:sm,steamos:im,strawberry:am,stride3d:cm,supabase:lm,svelte:Am,swift:um,symfony:dm,tanstack:pm,tauri:mm,tokio:gm,tornado:Om,tower:ym,tracing:fm,trailblazer:Sm,tryton:_m,typer:km,ubuntu:hm,unity:Lm,unleash:Im,uno:bm,unreal:wm,vercel:xm,"visual-basic":Tm,vscode:Pm,vue:qm,wasm:Mm,windows:Cm,xamarin:Qm,xbox:Nm};var TK=Object.keys(oi);function jm(e){let t=oi[e];return t===void 0?void 0:Nn(t)}var Dm={amazon:"amazon",amd:"amd",android:"android","android-phone":"android-phone","android-tablet":"android-tablet",anthropic:"anthropic","anthropic-claude":"anthropic-claude",apple:"apple","apple-ipad":"apple-ipad","apple-iphone":"apple-iphone","apple-tv":"apple-tv","apple-watch":"apple-watch",arm:"arm",bazzite:"bazzite",bun:"bun",capacitor:"capacitor",chrome:"chrome",chromium:"chromium",clojure:"clojure",cloudflare:"cloudflare",cocoa:"apple","cocoa-objc":"apple","cocoa-swift":"swift",cohere:"cohere",convex:"convex",cordova:"cordova",cpp:"cpp",cryengine:"cryengine",crystal:"crystal",csharp:"csharp","csharp-aspnetcore":"csharp",css:"css",dart:"dart",deepseek:"deepseek",default:"default",deno:"deno",dotnet:"dotnet","dotnet-aspnet":"dotnet","dotnet-aspnetcore":"dotnet","dotnet-awslambda":"awslambda","dotnet-blazor":"blazor","dotnet-csharp":"csharp","dotnet-gcpfunctions":"gcp-functions","dotnet-maui":"maui","dotnet-uno":"uno","dotnet-xamarin":"xamarin",dotnetcore:"dotnetcore",dotnetframework:"dotnetframework",dotnetfx:"dotnetfx",edge:"edge","edge-legacy":"edge-legacy",electron:"electron",elixir:"elixir",expo:"expo",fastmcp:"fastmcp",firebase:"firebase",firefox:"firefox",flutter:"flutter",font:"font",fsharp:"fsharp",gemini:"gemini",git:"git",go:"go","go-echo":"echo","go-fasthttp":"fasthttp","go-fiber":"fiber","go-gin":"gin","go-iris":"iris","go-martini":"martini","go-negroni":"go",godot:"godot",google:"google",grok:"grok",groq:"groq",huggingface:"huggingface","internet-explorer":"internet-explorer",ionic:"ionic",java:"java","java-android":"android","java-appengine":"app-engine","java-log4j":"java","java-log4j2":"java","java-logback":"logback","java-logging":"java","java-ray":"ray","java-spring":"spring","java-spring-boot":"springboot",javascript:"javascript","javascript-alpinejs":"alpinejs","javascript-analogjs":"analogjs","javascript-angular":"angularjs","javascript-angularjs":"angularjs","javascript-astro":"astro","javascript-awslambda":"awslambda","javascript-azurefunctions":"azure-functions","javascript-backbone":"backbone","javascript-browser":"javascript","javascript-capacitor":"capacitor","javascript-cloudflare-pages":"cloudflare-pages","javascript-cloudflare-workers":"cloudflare-workers","javascript-connect":"connect","javascript-cordova":"cordova","javascript-effect":"effect","javascript-electron":"electron","javascript-ember":"ember","javascript-expo":"expo","javascript-express":"express","javascript-fastify":"fastify","javascript-firebase":"firebase","javascript-gatsby":"gatsby","javascript-gcpfunctions":"gcp-functions","javascript-hapi":"hapi","javascript-hono":"hono","javascript-hydrogen":"hydrogen","javascript-ionic":"ionic","javascript-koa":"koa","javascript-lit":"lit","javascript-meteor":"meteor","javascript-million":"million","javascript-nestjs":"nestjs","javascript-nextjs":"nextjs","javascript-nitro":"nitro","javascript-node":"nodejs","javascript-nuxt":"nuxt","javascript-opennext":"opennext","javascript-qwik":"qwik","javascript-react":"h:0__","javascript-react-router":"react-router","javascript-remix":"remix","javascript-serverlesscloud":"serverless","javascript-solid":"solid","javascript-solidstart":"solidstart","javascript-svelte":"svelte","javascript-sveltekit":"svelte","javascript-tanstackstart-react":"tanstack","javascript-vue":"vue","javascript-wasm":"wasm",kotlin:"kotlin","kotlin-android":"android",langchain:"langchain",langgraph:"langgraph",launchdarkly:"launchdarkly",linux:"linux",litellm:"litellm",mastra:"mastra",mcp:"mcp",mistral:"mistral",mono:"mono",motorola:"motorola",native:"nativec","native-qt":"qt",nintendo:"nintendo","nintendo-switch":"nintendo-switch","nintendo-switch-2":"nintendo-switch-2",node:"nodejs",nvidia:"nvidia",openai:"openai",openfeature:"openfeature",opera:"opera",perforce:"perforce",perl:"perl",perplexity:"perplexity",php:"php","php-laravel":"laravel","php-livewire":"livewire","php-magento":"magento","php-monolog":"php","php-symfony":"symfony","php-symfony2":"symfony",playstation:"playstation",powershell:"powershell","pydantic-ai":"pydantic-ai",python:"python","python-aiohttp":"aiohttp","python-airflow":"apache-airflow","python-ariadne":"ariadne","python-asyncpg":"postgresql","python-awslambda":"awslambda","python-azurefunctions":"azure-functions","python-beam":"apache-beam","python-boto3":"aws","python-bottle":"bottle","python-celery":"celery","python-chalice":"chalice","python-clickhouse-driver":"clickhouse","python-django":"django","python-dramatiq":"dramatiq","python-falcon":"falcon","python-fastapi":"fastapi","python-flask":"flask","python-gcpfunctions":"gcp-functions","python-gnu_backtrace":"gnu","python-gql":"graphql","python-graphene":"graphene","python-grpc":"grpc","python-httpx":"httpx","python-huey":"huey","python-litestar":"litestar","python-loguru":"loguru","python-pylons":"python","python-pymongo":"mongodb","python-pyramid":"pyramid","python-pythonawslambda":"awslambda","python-quart":"quart","python-ray":"ray","python-redis":"redis","python-rq":"redis","python-sanic":"sanic","python-serverless":"serverless","python-spark":"apache-spark","python-sqlalchemy":"sqlalchemy","python-starlette":"starlette","python-strawberry":"strawberry","python-tornado":"tornado","python-tryton":"tryton","python-typer":"typer",qq:"qq",qt:"qt","react-native":"react-native",ruby:"ruby","ruby-activeadmin":"activeadmin","ruby-grape":"grape","ruby-hanami":"hanami","ruby-padrino":"padrino","ruby-rack":"ruby","ruby-rails":"rails","ruby-sidekiq":"sidekiq","ruby-sinatra":"sinatra","ruby-trailblazer":"trailblazer",rust:"rust","rust-actix":"actix","rust-axum":"tokio","rust-tower":"tower","rust-tracing":"tracing",safari:"safari",samsung:"samsung",scala:"scala",sql:"sql",sqlserver:"sqlserver",steamos:"steamos",stride3d:"stride3d",supabase:"supabase",swift:"swift",tauri:"tauri",ubuntu:"ubuntu",ue4:"unreal",unity:"unity",unleash:"unleash",unreal:"unreal",unrealengine:"unreal",uwp:"windows",vercel:"vercel",visualbasic:"visual-basic",vscode:"vscode",windows:"windows",xbox:"xbox"};var Rm="default";function vm(e){if(!e)return Rm;let t=e.split("-");for(let r=t.length;r>0;r--){let H=Dm[t.slice(0,r).join("-")];if(H)return H}return Rm}import{useCallback as Gm,useSyncExternalStore as Kx}from"h:0__";import{useRenderer as Xx}from"h:4___________";var Bx=!!(process.env.HERDR_ENV||process.env.TMUX||process.env.STY),Wx={supported:!1,supportsHighRes:!1},Em=new WeakMap;function si(e){let t=Em.get(e);if(!t)t={value:Wx,listeners:new Set,handler:null},Em.set(e,t);return t}function Km(e){let t=e.capabilities;if(!t)return;let r={supported:!0,supportsHighRes:!Bx&&(t.kitty_graphics||t.sixel)},H=si(e);if(H.value.supported===r.supported&&H.value.supportsHighRes===r.supportsHighRes)return;H.value=r;for(let n of H.listeners)n()}function Zt(){let e=Xx(),t=Gm((H)=>{let n=si(e);if(n.listeners.add(H),!n.handler)n.handler=()=>Km(e),e.on("capabilities",n.handler);return Km(e),()=>{if(n.listeners.delete(H),n.listeners.size===0&&n.handler)e.off("capabilities",n.handler),n.handler=null}},[e]),r=Gm(()=>si(e).value,[e]);return Kx(t,r)}import{jsxDEV as Ux}from"h:6___________________________";var Xm=2,Fx=1;function jn(){let{supportsHighRes:e}=Zt();return e?Xm+1:0}function aH({platform:e}){let{supportsHighRes:t}=Zt();if(!t)return null;let r=jm(vm(e));if(!r)return null;return Ux("image",{source:r,fit:"fit",style:{width:Xm,height:Fx,flexShrink:0,marginRight:1}},void 0,!1,void 0,this)}import{jsxDEV as ii,Fragment as Yx}from"h:6___________________________";function Gt(){return ii(Yx,{children:[ii(Pt,{command:"sentry.nav.search"},void 0,!1,void 0,this),ii("text",{children:" "},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function Dn(e,t){let r=t.trim().toLowerCase();if(!r)return e.map((n)=>({item:n,positions:[]}));let H=[];for(let n of e){let o=Jr(n.label,r);if(!o)continue;H.push({item:n,positions:o.positions,score:o.score})}return H.sort((n,o)=>o.score-n.score),H.map(({item:n,positions:o})=>({item:n,positions:o}))}function Bm(e,t){let r=t.trim().toLowerCase();if(!r)return e.map((H)=>({item:H,positions:[]}));return e.map((H)=>({item:H,positions:Jr(H.label,r)?.positions??[]}))}import{jsxDEV as qt,Fragment as rT}from"h:6___________________________";var Um=50,zx=2,Jx=12,eT=20,tT=32,li=0;function Ai(){return li>0}function lt({title:e,items:t,selected:r,anchorLeft:H,anchorTop:n,availableWidth:o,showAll:s=!0,multiple:i=!1,showSelection:a=!0,filterable:l=!1,onQueryChange:c,remoteFilter:A=!1,loading:u=!1,maxWidth:d,placeholder:m,onSelect:g,onClose:p}){let O=S(),{width:y,height:L}=Zx(),f=jn(),[k,I]=ci(""),h=Wm((re)=>{I(re),c?.(re)},[c]),[b,w]=ci(!1),T=$x(!1),q=ai(()=>s&&!(A&&k.trim())?[{label:"All",value:"__all__"},...t]:[...t],[s,t,A,k]),E=ai(()=>A?Bm(q,k):Dn(q,k),[q,k,A]),D=ai(()=>{if(r.length===0)return 0;let re=q.findIndex((ue)=>ue.value===r[0]);return re>=0?re:0},[q,r]),[x,P]=ci(D);Fm(()=>{if(k.trim())P(0);else if(!i||!T.current)P(D)},[D,i,k]),Fm(()=>(li+=1,()=>{li-=1}),[]);let N=Wm((re)=>{let ue=E[re]?.item;if(!ue)return;if(T.current=!0,ue.value==="__all__")g([]);else if(i)g(r.includes(ue.value)?r.filter((Ae)=>Ae!==ue.value):[...r,ue.value]);else g([ue.value]);if(!i)p()},[E,i,r,g,p]);Vx((re)=>{Rt([()=>{if(Q("sentry.nav.open",re))return N(x),"mine";if(qn(re))return P((ue)=>Math.min(ue+1,E.length-1)),"mine";if(Mn(re))return P((ue)=>Math.max(ue-1,0)),"mine";if(b){if(Q("sentry.nav.back",re))return h(""),w(!1),"mine";return"focused"}if(Q("sentry.nav.back",re))return p(),"mine";if(l&&Q("sentry.nav.search",re))return w(!0),"mine";if(Q("sentry.nav.down",re))return P((ue)=>Math.min(ue+1,E.length-1)),"mine";if(Q("sentry.nav.up",re))return P((ue)=>Math.max(ue-1,0)),"mine";if(Q("sentry.nav.top",re))return P(0),"mine";if(Q("sentry.nav.bottom",re))return P(E.length-1),"mine";return"mine"}],re,je)});let F=q.some((re)=>("platform"in re))?f:0,j=E.length>0?void 0:u?"Searching\u2026":q.length>0||A&&k.trim()?`No match for "${k.trim()}"`:m,U=j?1:E.length,z=a?zx:1,oe=z+F+2,ie=l?1:0,G=Math.max(l?tT:eT,...q.map((re)=>re.label.length+oe),j?j.length+oe:0),Y=Math.min(y,o??y),ee=Math.min(G,d??1/0,Y-2),C=Math.max(1,Math.min(U,Jx,L-n-3-ie)),v=C+ie+2,pe=Pn(x,E.length,C),Me=Math.max(0,Math.min(H,Y-ee-1)),de=Math.min(n,L-v-1);return qt(rT,{children:[qt("box",{style:{position:"absolute",top:0,left:0,width:y,height:L,zIndex:Um-1},onMouseDown:p},void 0,!1,void 0,this),qt("box",{title:` ${e} `,style:{position:"absolute",top:de,left:Me,width:ee,height:v,zIndex:Um,border:!0,borderColor:O.accent,backgroundColor:O.panel,flexDirection:"column"},onMouseUp:(re)=>re.stopPropagation(),children:[l?qt("box",{style:{flexDirection:"row",flexShrink:0},onMouseUp:()=>w(!0),children:[qt(Gt,{},void 0,!1,void 0,this),qt("input",{value:k,placeholder:"filter\u2026",focused:b,onInput:h,style:{flexGrow:1,textColor:O.text,backgroundColor:O.panel,focusedTextColor:O.text,focusedBackgroundColor:O.panel,placeholderColor:O.subText}},void 0,!1,void 0,this)]},void 0,!0,void 0,this):null,j?qt("text",{fg:O.muted,children:` ${R(j,ee-3)}`},void 0,!1,void 0,this):null,E.slice(pe,pe+C).map(({item:re,positions:ue},Ae)=>{let Ce=pe+Ae===x,fe=re.value==="__all__"?r.length===0:r.includes(re.value),Te=Ce?O.text:fe?O.accent:O.muted,Sr=ee-2-F-z;return qt("box",{style:{flexDirection:"row",alignSelf:"flex-start",backgroundColor:Ce?O.selected:void 0},children:[a?qt("text",{fg:Te,children:fe?"\u25CF ":" "},void 0,!1,void 0,this):qt("text",{children:" "},void 0,!1,void 0,this),F>0?"platform"in re?qt(aH,{platform:re.platform},void 0,!1,void 0,this):qt("box",{style:{width:F,flexShrink:0}},void 0,!1,void 0,this):null,qt(Tn,{text:re.label,positions:ue,width:Sr,fg:Te},void 0,!1,void 0,this)]},re.value,!0,void 0,this)})]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}import{useEffect as HT}from"h:0__";import{jsxDEV as $m}from"h:6___________________________";var RH="sentry.view.sort",ui=0;function Ym(){return ui>0}function vH(e,t){return e.find((r)=>r.value===t)?.label??t}function Rn(e){return e.flatMap((t)=>[{value:`-${t}`,label:`${t} (desc)`},{value:t,label:`${t} (asc)`}])}function vn({value:e,items:t,open:r,onOpen:H}){return HT(()=>(ui+=1,()=>{ui-=1}),[]),$m(Gr,{command:RH,label:vH(t,e),caret:!0,active:r,onPress:H},void 0,!1,void 0,this)}function Gn({value:e,items:t,anchorLeft:r,anchorTop:H,availableWidth:n,onChange:o,onClose:s}){return $m(lt,{title:"Sort By",items:t,selected:[e],anchorLeft:r,anchorTop:H,availableWidth:n,showAll:!1,onSelect:(i)=>{let a=i[0];if(a)o(a);s()},onClose:s},void 0,!1,void 0,this)}import{useEffect as di,useMemo as nT,useRef as oT,useState as En}from"h:0__";var Vm=new WeakMap,sT=new Map;async function iT(e,t,r){let H=Vm.get(e);if(!H)H=new Map,Vm.set(e,H);let n=H.get(t);if(!n)n=new Map,H.set(t,n);let o=r.filter((i)=>!n.has(i));if(o.length>0){let i=Yc(e,{org:t,ids:o}).then((a)=>new Map(a.map((l)=>[l.id,l.slug])));for(let a of o){let l=i.then((c)=>c.get(a));n.set(a,l),l.catch(()=>{if(n.get(a)===l)n.delete(a)})}}let s=await Promise.all(r.map(async(i)=>{let a=await n.get(i);return a===void 0?void 0:[i,a]}));return new Map(s.filter((i)=>i!==void 0))}function cH(e,t,r,H=!0){let n=[...new Set(r.filter((i)=>/^\d+$/.test(i)))].sort().join(","),[o,s]=En(null);return di(()=>{if(!e||!H||n==="")return;let i=!0;return iT(e,t,n.split(",")).then((a)=>{if(i)s({client:e,org:t,key:n,slugs:a})}).catch(()=>{}),()=>{i=!1}},[e,t,n,H]),o?.client===e&&o.org===t&&o.key===n?o.slugs:sT}var aT=200;function Zm(e,t,r){let[H,n]=En([]),[o,s]=En(null),[i,a]=En(!1),l=oT(new Map),c=r.trim();return di(()=>{l.current.clear(),n([]),s(null)},[e,t]),di(()=>{if(!e)return;let u=l.current.get(c);if(u){s({query:c,projects:u}),a(!1);return}let d=new AbortController,m=!1;a(!0);let g=setTimeout(()=>{Uc(e,{org:t,query:c,signal:d.signal}).then((p)=>{if(m)return;l.current.set(c,p),n((O)=>cT(O,p)),s({query:c,projects:p}),a(!1)}).catch(()=>{if(!m)a(!1)})},c?aT:0);return()=>{m=!0,d.abort(),clearTimeout(g)}},[e,t,c]),{projects:nT(()=>{let u=o?.query===c?o.projects:[];if(!c)return u.length>0?u:H;let d=Dn(H.map((g)=>({label:g.slug,project:g})),c).map((g)=>g.item.project),m=new Set(d.map((g)=>g.id));return[...d,...u.filter((g)=>!m.has(g.id))]},[H,o,c]),loading:i}}function cT(e,t){let r=new Set(e.map((n)=>n.id)),H=t.filter((n)=>!r.has(n.id));return H.length>0?[...e,...H]:e}import{jsxDEV as zt,Fragment as uT}from"h:6___________________________";var Le=3,lT=[{label:"1 hour",value:"1h"},{label:"24 hours",value:"24h"},{label:"7 days",value:"7d"},{label:"14 days",value:"14d"},{label:"30 days",value:"30d"},{label:"90 days",value:"90d"}],gi=["project","env","date"];function AT(e,t,r){let H=Math.max(0,Math.floor(r)),n=ce(e),o=ce(t),s=Math.min(n,Math.ceil(H/2)),i=Math.min(o,Math.floor(H/2)),a=H-s-i;if(s===n)i+=Math.min(a,o-i);else if(i===o)s+=Math.min(a,n-s);return[s,i]}var Xn={project:0,env:0,date:0};function Bn(e){if(e)return Xn[e]>0;return gi.some((t)=>Xn[t]>0)}function Ve({client:e,org:t,openDropdown:r,selectedProjects:H,selectedEnvs:n,statsPeriod:o,filters:s=gi,sort:i,width:a,anchorTop:l,onProjectChange:c,onEnvChange:A,onPeriodChange:u,onDropdownClose:d,onDropdownOpen:m}){let g=s.join(","),p=Kn(()=>new Set(s),[g]),[O,y]=zm(""),{projects:L,loading:f}=Zm(p.has("project")?e:null,t,O),[k,I]=zm([]);mi(()=>{for(let He of p)Xn[He]+=1;return()=>{for(let He of p)Xn[He]-=1}},[p]),mi(()=>{if(r!=="project")y("")},[r]),mi(()=>{if(!e||!p.has("env"))return;let He=new AbortController;return $c(e,{org:t,signal:He.signal}).then((Ce)=>I(Ce)).catch(()=>{}),()=>He.abort()},[e,t,p]);let h=Kn(()=>{let He=L.map((Te)=>({label:Te.slug,value:Te.slug,platform:Te.platform??null})),Ce=new Set(He.map((Te)=>Te.value));return[...O.trim()?[]:H.filter((Te)=>!Ce.has(Te)).map((Te)=>({label:Te,value:Te,platform:null})),...He]},[L,H,O]),b=Kn(()=>k.map((He)=>({label:He.name,value:He.name})),[k]),w=Kn(()=>{let He=new Map(L.map((Ce)=>[Ce.id,Ce.slug]));return H.map((Ce)=>He.get(Ce)??Ce)},[L,H]),T=w.length===0?"all projects":w.join(", "),q=n.length===0?"all envs":n.join(", "),E={command:"sentry.view.filterProject",label:T,caret:!0},D={command:"sentry.view.filterEnv",label:q,caret:!0},x={command:"sentry.view.filterDate",label:o,caret:!0},P=i?{command:RH,label:vH(i.items,i.value),caret:!0}:void 0,N=gi.filter((He)=>p.has(He)),F=N.length+(P?1:0),j=(p.has("project")?vt({...E,label:""}):0)+(p.has("env")?vt({...D,label:""}):0)+(p.has("date")?vt(x):0)+(P?vt(P):0)+Lr*Math.max(0,F-1),U=a-j,[z,oe]=p.has("project")&&p.has("env")?AT(T,q,U):p.has("project")?[Math.max(0,U),0]:[0,Math.max(0,U)],ie={project:{...E,label:R(T,z)},env:{...D,label:R(q,oe)},date:x},G=N.map((He)=>ie[He]),Y=Cn(G),ee=new Map(N.map((He,Ce)=>[He,Y[Ce]??0])),C=ee.get("project")??0,v=ee.get("env")??0,pe=ee.get("date")??0,Me=P?Math.max(0,a-vt(P)):0,de=l+ft,re=pi((He)=>{c(He)},[c]),ue=pi((He)=>{A(He)},[A]),Ae=pi((He)=>{u(He[0]??"14d"),d()},[u,d]);return zt(uT,{children:[zt("box",{style:{flexDirection:"row",alignItems:"center",flexShrink:0,height:ft,overflow:"hidden"},children:[zt(Qn,{chips:G,activeIndex:r&&r!=="sort"?N.indexOf(r):void 0,onPress:(He,Ce)=>m?.(N[Ce]??null)},void 0,!1,void 0,this),zt("box",{style:{flexGrow:1}},void 0,!1,void 0,this),i&&P?zt("box",{style:{flexDirection:"row",flexShrink:0},children:[zt("text",{children:" ".repeat(Lr)},void 0,!1,void 0,this),zt(vn,{value:i.value,items:i.items,open:r==="sort",onOpen:()=>m?.("sort")},void 0,!1,void 0,this)]},void 0,!0,void 0,this):null]},void 0,!0,void 0,this),r==="project"&&p.has("project")?zt(lt,{title:"Project",items:h,selected:w,anchorLeft:C,anchorTop:de,availableWidth:a,filterable:!0,remoteFilter:!0,multiple:!0,loading:f,onQueryChange:y,placeholder:"No projects",onSelect:re,onClose:d},void 0,!1,void 0,this):null,r==="env"&&p.has("env")?zt(lt,{title:"Environment",items:b,selected:n,anchorLeft:v,anchorTop:de,availableWidth:a,multiple:!0,onSelect:ue,onClose:d},void 0,!1,void 0,this):null,r==="date"&&p.has("date")?zt(lt,{title:"Date Range",items:lT,selected:[o],anchorLeft:pe,anchorTop:de,availableWidth:a,showAll:!1,onSelect:Ae,onClose:d},void 0,!1,void 0,this):null,r==="sort"&&i?zt(Gn,{value:i.value,items:i.items,anchorLeft:Me,anchorTop:de,availableWidth:a,onChange:i.onChange,onClose:d},void 0,!1,void 0,this):null]},void 0,!0,void 0,this)}import{jsxDEV as Er}from"h:6___________________________";var Jm=[{category:"nav",title:"Navigation"},{category:"issue",title:"Issue actions"},{category:"seer",title:"Seer"},{category:"view",title:"View / Filters"},{category:"app",title:"Application"}],dT=4,pT=60,mT=17;function eg({onClose:e}){let t=S(),r=Jm.flatMap(({category:o,title:s})=>{let i=qH.filter((a)=>a.category===o&&a.defaultKeys.length>0);return i.length?[{heading:s},...i]:[]}),H=Math.max(0,Jm.length-1),n=r.length+H+dT+1;return Er(ar,{title:" Keyboard shortcuts ",width:pT,height:n,onClose:e,children:[Er("scrollbox",{style:{flexGrow:1},children:r.map((o,s)=>{if("heading"in o)return Er("text",{fg:t.accent,children:[s===0?"":`
|
|
10
|
+
`,o.heading]},`h-${o.heading}`,!0,void 0,this);let i=o.defaultKeys.map(ve).join(", ");return Er("text",{children:[Er("span",{fg:t.text,children:_(i,mT)},void 0,!1,void 0,this),Er("span",{fg:t.muted,children:o.description??o.title},void 0,!1,void 0,this)]},o.id,!0,void 0,this)})},void 0,!1,void 0,this),Er("text",{fg:t.muted,style:{marginTop:1},children:"esc to close"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}import{useCallback as PP,useEffect as qP,useRef as sO,useState as MP}from"h:0__";import{useKeyboard as CP,useTerminalDimensions as QP}from"h:4___________";function Kr(e){return e.metadata?.type||e.metadata?.function||e.title}function Wn(e){let t=e.metadata?.value;if(t)return tg(t);let r=e.culprit??"";return r===Kr(e)?"":tg(r)}function tg(e){return e.replace(/\s+/g," ").trim()}import{useCallback as er,useContext as wP,useEffect as Mi,useMemo as nO,useReducer as xP}from"h:0__";var Un=["Which of my open issues are getting worse, not better?","What are my slowest DB queries?","Walk me through what's on my screen and what I can focus on next."],Oi=["Looking around\u2026","One sec\u2026","Following breadcrumbs\u2026","Hold tight\u2026","Gathering threads\u2026","Tracing the answer\u2026","Stacking ideas\u2026","Profiling your project\u2026","Span by span\u2026","Rolling logs\u2026","Replaying prod\u2026","Scanning the error-waves\u2026"],rg={loading:"\u25D0",content:"\u2022",pending:"?",success:"\u2713",failure:"\u2717",mixed:"!"};function Hg(e,{hasRun:t,hasCodeChanges:r=!1}){let H=[{id:"new",title:"/new",description:"Start a new session"},{id:"history",title:"/history",description:"Open recent Seer sessions"}];if(r)H.push({id:"create-pr",title:"/create-pr",description:"Create or update PRs for accepted changes"});if(e.employee&&e.codeMode)H.push({id:"code-mode-off",title:"/code-mode-off",description:"Disable Code Mode tools"},{id:"code-mode-on",title:"/code-mode-on",description:"Use Code Mode alongside standard tools"},{id:"code-mode-only",title:"/code-mode-only",description:"Use only Code Mode tools"});if(e.employee&&e.bashMode)H.push({id:"bash-mode-off",title:"/bash-mode-off",description:"Disable bash tools"},{id:"bash-mode-on",title:"/bash-mode-on",description:"Enable bash tools"});if(e.thinking)H.push({id:"thinking-off",title:"/thinking-off",description:"Hide Seer's reasoning"},{id:"thinking-on",title:"/thinking-on",description:"Show Seer's reasoning"});if(e.employee&&t)H.push({id:"conversations",title:"/conversations",description:"Open the Sentry AI conversations view"});return H}function ng(e){if(e==="only")return"Code Mode only";if(e==="on")return"Code Mode + standard";return"standard tools"}function og(e){if(e.loading)return"loading";if(!e.message.tool_calls?.length)return"content";let t=(e.tool_links??[]).filter((H)=>H!=null);if(t.some((H)=>H.params?.pending_approval||H.params?.pending_question))return"pending";if(t.length===0)return"success";let r=t.filter((H)=>H.params?.is_error===!0).length;if(r===0)return"success";if(r===t.length)return"failure";return"mixed"}function gT(e){if(!e.args)return{};try{let t=JSON.parse(e.args);return t&&typeof t==="object"?t:{}}catch{return{}}}function De(e,t){let r=e[t];return typeof r==="string"&&r!==""?r:void 0}function Ir(e){return e?e.slice(0,8):""}function Fn(e){let t=De(e,"repo_name")??De(e,"repo");if(!t)return"the codebase";let r=t.lastIndexOf("/");return r===-1?t:t.slice(r+1)}function OT(e,t){let r=gT(e),[H,n]=yT(e.function,r);return t?`${H}\u2026`:n}function yT(e,t){switch(e){case"telemetry_index_list_nodes":{let r=De(t,"keyword")??"your services";return[`Scanning for ${r}`,`Scanned for ${r}`]}case"telemetry_index_dependencies":{let r=De(t,"title")??"your services";return[`Tracing the flow of ${r}`,`Traced the flow of ${r}`]}case"google_search":{let r=De(t,"question")??De(t,"query")??"";return[`Googling '${r}'`,`Googled '${r}'`]}case"telemetry_live_search":{let r=De(t,"question")??"",H=De(t,"dataset"),n=H==="issues"?"issues":H==="errors"?"errors":H==="logs"?"logs":H==="metrics"?"metrics":"spans";return[`Searching ${n}: '${r}'`,`Searched ${n}: '${r}'`]}case"get_trace_waterfall":{let r=De(t,"span_id");if(r)return[`Digging into span ${Ir(r)}`,`Dug into span ${Ir(r)}`];let H=Ir(De(t,"trace_id"));return[`Viewing waterfall for trace ${H}`,`Viewed waterfall for trace ${H}`]}case"get_issue_details":{let r=De(t,"issue_id")??De(t,"short_id")??"";return[`Inspecting issue ${r}`,`Inspected issue ${r}`]}case"get_event_details":{let r=Ir(De(t,"event_id"));return[`Analyzing event ${r}`,`Analyzed event ${r}`]}case"code_search":{let r=Fn(t),H=De(t,"mode");if(H==="read_file"){let n=De(t,"path")??"a file";return[`Reading ${n} from ${r}`,`Read ${n} from ${r}`]}if(H==="find_files"){let n=De(t,"pattern")??"";return[`Finding files matching '${n}' in ${r}`,`Found files matching '${n}' in ${r}`]}if(H==="search_content"){let n=De(t,"pattern")??"";return[`Searching for '${n}' in ${r}`,`Searched for '${n}' in ${r}`]}return[`Searching code in ${r}`,`Searched code in ${r}`]}case"git_search":{let r=Fn(t),H=De(t,"sha")??De(t,"commit_sha");if(H)return[`Digging up commit ${Ir(H)} from ${r}`,`Dug up commit ${Ir(H)} from ${r}`];let n=De(t,"file_path")??"";return[`Excavating commits affecting '${n}' in ${r}`,`Excavated commits affecting '${n}' in ${r}`]}case"get_replay_details":{let r=Ir(De(t,"replay_id"));return[`Watching replay ${r}`,`Watched replay ${r}`]}case"get_profile_flamegraph":{let r=Ir(De(t,"profile_id"));return[`Sampling profile ${r}`,`Sampled profile ${r}`]}case"code_file_edit":{let r=De(t,"path")??"a file",H=Fn(t);return[`Editing ${r} in ${H}`,`Edited ${r} in ${H}`]}case"code_file_write":{let r=De(t,"path")??"a file",H=Fn(t);return[`Writing ${r} in ${H}`,`Wrote ${r} in ${H}`]}case"search_sentry_docs":{let r=De(t,"question")??"";return[`Scouring Sentry docs: '${r}'`,`Scoured Sentry docs: '${r}'`]}case"todo_write":return["Updating todos","Updated todos"];case"ask_user_question":return["Asking a question","Asked a question"];default:{if(e.startsWith("artifact_write_")){let r=e.replace("artifact_write_","").replace(/_/g," ");return[`Submitting ${r} artifact`,`Submitted ${r} artifact`]}return[`Using ${e} tool`,`Used ${e} tool`]}}}function sg(e){return(e.message.tool_calls??[]).map((r)=>OT(r,Boolean(e.loading)))}function ig(e,t){if(e.error||e.status!==void 0&&e.status>=400)return"failure";if(e.status!==void 0)return"success";return t?"success":"loading"}function ag(e){let t=e.title?.trim();if(t)return t;if(e.kind!=="lib"||!e.name)return null;let r=e.name.replace(/^sentry_/,"").replace(/_/g," ");return r?r[0].toUpperCase()+r.slice(1):null}function cg(e){if(e.kind!=="api"||!e.method)return[];let t=e.resolved_path??e.path;if(!t)return[];let r=[`${e.method} ${t}`];if(e.body)r.push(e.body,...e.body_truncated?["\u2026"]:[]);return r}function lg(e){let t=new Set(e.flatMap((n)=>n.parent===null||n.parent===void 0?[]:[n.parent])),r=new Set(["get_span_details"]),H=new Set(e.filter((n)=>n.kind==="lib"&&Boolean(n.name&&r.has(n.name))&&t.has(n.id)).map((n)=>n.id));return e.filter((n)=>{if(n.parent!==null&&n.parent!==void 0&&H.has(n.parent))return!1;if(n.kind!=="lib"||!t.has(n.id))return!0;return Boolean(n.name&&r.has(n.name))})}function Ag(e){let t=null;for(let r of e){if(r.todos?.length)t={blockId:r.id,todos:r.todos};for(let H of r.tool_results??[]){let n=H?.structuredContent?.todos;if(n?.length)t={blockId:r.id,todos:n}}}return t}function ug(e,t){let r=new Map,H=new Map;for(let o of e){let s=new Set;for(let i of o.merged_file_patches??[])r.set(`${i.repo_name}:${i.patch.path}`,i),s.add(i.repo_name);for(let i of s)H.set(i,o.pr_commit_shas?.[i])}let n=new Map;for(let o of r.values()){let s=n.get(o.repo_name)??{added:0,files:[],prNumber:null,prUrl:null,removed:0,repoName:o.repo_name,status:"needs_push"};s.added+=o.patch.added,s.removed+=o.patch.removed,s.files.push({added:o.patch.added,path:o.patch.path,removed:o.patch.removed}),n.set(o.repo_name,s)}for(let o of n.values()){let s=t[o.repoName];if(o.prNumber=s?.pr_number??null,o.prUrl=s?.pr_url??null,s?.pr_creation_status==="creating")o.status="creating";else if(s?.pr_creation_status==="error")o.status="error";else if(!s?.pr_number||!s.pr_url)o.status="needs_push";else if(s.commit_sha&&H.get(o.repoName)!==s.commit_sha)o.status="needs_push";else o.status="pushed"}return[...n.values()]}import{createContext as hT,useCallback as Jt,useEffect as xg,useMemo as fi,useReducer as LT,useRef as $n,useState as IT}from"h:0__";var dg=500,yi=2500;function fT(e){return e.sentry_run_id??e.run_id}var pg=(e)=>`/organizations/${e}/seer/explorer-chat/`,mg=(e,t)=>`${pg(e)}${encodeURIComponent(String(t))}/`;async function gg(e,{org:t,query:r,insertIndex:H,runId:n,pageName:o,sentAt:s,codeMode:i,bashMode:a,signal:l}){let c=await e.request(n==null?pg(t):mg(t,n),{method:"POST",body:{query:r,insert_index:H,page_name:o,sent_at:s,override_code_mode_enable:i,override_bash_mode_enabled:a},signal:l});return fT(c.data)}async function Og(e,{org:t,signal:r,limit:H=20}){return(await e.request(`/organizations/${t}/seer/runs/`,{query:{per_page:H,query:"is:mine type:explorer"},signal:r})).data}async function yg(e,{org:t,runId:r,signal:H}){return(await e.request(mg(t,r),{signal:H})).data?.session??null}async function fg(e,{org:t,runId:r,signal:H}){await e.request(`/organizations/${t}/seer/explorer-update/${encodeURIComponent(String(r))}/`,{method:"POST",body:{payload:{type:"interrupt"}},signal:H})}async function Sg(e,{org:t,runId:r,inputId:H,responseData:n,signal:o}){await e.request(`/organizations/${t}/seer/explorer-update/${encodeURIComponent(String(r))}/`,{method:"POST",body:{payload:{type:"user_input_response",input_id:H,response_data:n}},signal:o})}async function _g(e,{org:t,runId:r,repoName:H,signal:n}){await e.request(`/organizations/${t}/seer/explorer-update/${encodeURIComponent(String(r))}/`,{method:"POST",body:{payload:{type:"create_pr",repo_name:H}},signal:n})}async function kg(e,{org:t,sessionId:r,scopes:H,signal:n}){return(await e.request(`/organizations/${t}/agent/approve/`,{method:"POST",body:{sessionId:r,scopes:H},signal:n})).data.scopes}function hg(e){if(!e)return!1;if(e.status==="processing")return!1;return!e.blocks.some((t)=>t.loading)}function ST(e){let t=/(?:Z|[+-]\d{2}:?\d{2})$/.test(e);return Date.parse(t?e:`${e}Z`)}function Lg(e,t){if(!e)return!1;let r=ST(e.updated_at);if(Number.isNaN(r))return!1;return t-r>=120000}import{reportError as _T}from"h:7___________________________________";function Ne(e){if(e instanceof pr)return{message:e.message,retryable:e.retryable,retryAfterSeconds:e.retryAfterSeconds};if(!kT(e))_T(e,{source:"api.response.unreadable"});return{message:e instanceof Error?e.message:String(e),retryable:!0}}function kT(e){if(!(e instanceof Error))return!1;return e.name==="AbortError"||e.name==="TimeoutError"}var me=()=>({state:"idle"});function _e(e,t){return{state:"loading",since:t,previous:B(e)}}function ge(e,t){return{state:"ready",value:e,fetchedAt:t}}function Oe(e,t){return{state:"error",error:t,previous:B(e)}}function B(e){if(!e)return;switch(e.state){case"ready":return e.value;case"loading":case"error":return e.previous;case"idle":return}}function dt(e,t){switch(e.state){case"idle":return e;case"loading":return e.previous===void 0?{state:"loading",since:e.since}:{state:"loading",since:e.since,previous:t(e.previous)};case"ready":return{state:"ready",value:t(e.value),fetchedAt:e.fetchedAt};case"error":return e.previous===void 0?{state:"error",error:e.error}:{state:"error",error:e.error,previous:t(e.previous)}}}function Ig(e){return e?.state==="loading"}function ke(e){return e?.state==="loading"&&e.previous===void 0}function se(e){return e?.state==="error"?e.error:void 0}function Je(e){return e?.state==="loading"?e.since:void 0}function Yn(e=null){return{session:me(),runId:e,optimistic:null,timedOut:!1,interrupting:!1,pollToken:0}}function bg(e,t){let r=B(e);return r?ge({...r,status:"processing",updated_at:new Date(t).toISOString()},t):e}function wg(e,t){switch(t.type){case"orgChanged":case"reset":return Yn();case"sendStarted":return{...e,session:_e(e.session,t.now),optimistic:t.optimistic,timedOut:!1,interrupting:!1};case"sendSucceeded":return{...e,runId:t.runId,pollToken:e.pollToken+1};case"sendFailed":return{...e,session:Oe(e.session,t.error),optimistic:null};case"pollProgressed":return{...e,session:ge(t.session,t.now)};case"pollSettled":return{...e,session:ge(t.session,t.now),optimistic:null,interrupting:!1};case"pollStale":return{...e,session:ge(t.session,t.now),optimistic:null,timedOut:!0};case"pollFailed":return{...e,session:Oe(e.session,t.error),optimistic:null};case"interruptStarted":return{...e,interrupting:!0};case"interruptFailed":return{...e,interrupting:!1};case"respondStarted":return{...e,session:bg(e.session,t.now),timedOut:!1,interrupting:!1};case"respondSucceeded":return{...e,pollToken:e.pollToken+1};case"respondFailed":case"approveWriteFailed":return{...e,session:Oe(e.session,t.error)};case"createPRStarted":return{...e,session:bg(e.session,t.now)};case"createPRSucceeded":return{...e,pollToken:e.pollToken+1};case"createPRFailed":return{...e,session:Oe(e.session,t.error)};case"switchRun":if(t.runId===e.runId)return e;return{...Yn(),runId:t.runId,pollToken:e.pollToken+1}}}var bT=Math.ceil(60000/yi);function lH(e){if(e instanceof pr)return{message:e.message,retryable:e.retryable,retryAfterSeconds:e.retryAfterSeconds};return{message:e instanceof Error?e.message:String(e),retryable:!0}}function Xr(e,t){return e?.includes(t)===!0}function Tg(e,t,r={}){let[H,n]=LT(wg,r.initialRunId??null,Yn),[o,s]=IT(me),i=$n(H);i.current=H;let a=$n(o);a.current=o;let l=$n(0),c=$n(t);xg(()=>{if(c.current===t)return;c.current=t,n({type:"orgChanged"}),s(me)},[t]);let A=fi(()=>({available:r.features===void 0||Xr(r.features,"seer-explorer"),bashMode:Xr(r.features,"seer-explorer-allow-bash-mode"),codeMode:Xr(r.features,"seer-explorer-code-mode-tools"),embeds:Xr(r.features,"seer-explorer-embeds"),employee:r.isEmployee===!0,infraTelemetry:Xr(r.features,"seer-infra-telemetry"),streaming:Xr(r.features,"seer-explorer-stream"),thinking:Xr(r.features,"seer-explorer-thinking-blocks")}),[r.features,r.isEmployee]),u=r.codeMode??"only",d=r.bashMode??!1,m=A.thinking&&(r.showThinking??!1);xg(()=>{if(!e||!t||H.runId==null)return;let j=H.runId,U=new AbortController,z=!1,oe,ie=0,G=async()=>{try{let Y=await yg(e,{org:t,runId:j,signal:U.signal});if(z)return;if(ie=0,Y){let ee=Date.now();if(hg(Y)){n({type:"pollSettled",session:Y,now:ee});return}if(Lg(Y,ee)){n({type:"pollStale",session:Y,now:ee});return}n({type:"pollProgressed",session:Y,now:ee})}oe=setTimeout(()=>void G(),dg)}catch(Y){if(z||U.signal.aborted)return;if(ie+=1,ie>bT){n({type:"pollFailed",error:lH(Y)});return}oe=setTimeout(()=>void G(),yi)}};return G(),()=>{z=!0,U.abort(),clearTimeout(oe)}},[e,t,H.runId,H.pollToken]);let g=Jt((j)=>{let U=j.trim();if(!e||!t||U===""||!A.available)return;let z=B(i.current.session)?.blocks??[],oe=l.current++,ie=new Date().toISOString(),G=Oi[oe%Oi.length]??"Thinking\u2026",Y=[...z,{id:`optimistic-user-${oe}`,message:{role:"user",content:U},timestamp:ie},{id:`optimistic-assistant-${oe}`,message:{role:"assistant",content:G},timestamp:ie,loading:!0}];n({type:"sendStarted",optimistic:Y,now:Date.now()});let ee=i.current.runId,C=new Date;gg(e,{org:t,query:U,runId:ee,insertIndex:z.length,pageName:r.pageName,sentAt:[C.toString(),C.toISOString()],codeMode:A.codeMode?u:void 0,bashMode:A.employee&&A.bashMode?d:void 0}).then((v)=>{n({type:"sendSucceeded",runId:v})}).catch((v)=>{n({type:"sendFailed",error:lH(v)})})},[e,t,A.available,A.codeMode,A.employee,A.bashMode,r.pageName,u,d]),p=Jt(()=>{let j=i.current.runId;if(!e||!t||j==null)return;n({type:"interruptStarted"}),fg(e,{org:t,runId:j}).catch(()=>{n({type:"interruptFailed"})})},[e,t]),O=Jt((j,U)=>{let z=i.current.runId;if(!e||!t||z==null)return;n({type:"respondStarted",now:Date.now()}),Sg(e,{org:t,runId:z,inputId:j,responseData:U}).then(()=>n({type:"respondSucceeded"})).catch((oe)=>{n({type:"respondFailed",error:lH(oe)})})},[e,t]),y=Jt((j,U,z)=>{if(!e||!t||z.length===0)return;kg(e,{org:t,sessionId:U,scopes:z}).then((oe)=>{let ie=z.every((G)=>oe.includes(G));O(j,{decision:ie?"approve":"reject",...ie?{}:{reason:"insufficient_scope"}})}).catch((oe)=>{n({type:"approveWriteFailed",error:lH(oe)})})},[e,t,O]),L=Jt((j)=>{let U=i.current.runId;if(!e||!t||U==null||!j)return;n({type:"createPRStarted",now:Date.now()}),_g(e,{org:t,runId:U,repoName:j}).then(()=>n({type:"createPRSucceeded"})).catch((z)=>{n({type:"createPRFailed",error:lH(z)})})},[e,t]),f=Jt((j)=>{n({type:"switchRun",runId:j})},[]),k=Jt(()=>{if(!e||!t||!A.available)return;let j=new AbortController;s(_e(a.current,Date.now())),Og(e,{org:t,signal:j.signal}).then((U)=>s(ge(U,Date.now()))).catch((U)=>{if(!j.signal.aborted)s(Oe(a.current,lH(U)))})},[e,t,A.available]),I=Jt(()=>{n({type:"reset"})},[]),h=B(H.session)?.blocks??[],b=fi(()=>{if(!H.optimistic)return h;return h.length>=H.optimistic.length?h:H.optimistic},[h,H.optimistic]),w=B(H.session)?.status,T=!H.timedOut&&(H.optimistic!==null||w==="processing"||b.some((j)=>j.loading)),q=B(H.session)?.owner_user_id,E=q!==null&&q!==void 0&&String(q)!==r.userId,D=B(H.session)?.repo_pr_states??{},x=fi(()=>ug(b,D),[b,D]),P=Jt((j)=>r.onCodeModeChange?.(j),[r.onCodeModeChange]),N=Jt((j)=>r.onBashModeChange?.(j),[r.onBashModeChange]),F=Jt((j)=>r.onShowThinkingChange?.(j),[r.onShowThinkingChange]);return{blocks:b,thinking:T,timedOut:H.timedOut,interrupting:H.interrupting,error:se(H.session),started:H.runId!==null||b.length>0,runId:H.runId,readOnly:E,pendingInput:B(H.session)?.pending_user_input??null,repoPRStates:D,codeChanges:x,capabilities:A,codeMode:u,bashMode:d,showThinking:m,runs:o,send:g,interrupt:p,reset:I,switchRun:f,loadRuns:k,respond:O,approveWrite:y,createPR:L,setCodeMode:P,setBashMode:N,setShowThinking:F}}var Vn=hT(null);import{useCallback as uP,useMemo as Jg,useRef as dP}from"h:0__";import{RenderableEvents as oo}from"h:3__________";var gr=["\u2581","\u2582","\u2583","\u2584","\u2585","\u2586","\u2587","\u2588"],Pg=["\u258F","\u258E","\u258D","\u258C","\u258B","\u258A","\u2589","\u2588"];function Zn(e,t,{floor:r=!1}={}){if(t<=0)return"";if(!e||e.length===0)return"\u254C".repeat(t);let H=e.map(([,a])=>a),n=qg(H,t),o=Math.max(...n),s=r?gr[0]:" ";if(o===0)return gr[0].repeat(n.length).padStart(t);return n.map((a)=>{if(a===0)return s;let l=Math.ceil(a/o*gr.length)-1;return gr[Math.max(0,Math.min(gr.length-1,l))]}).join("").padStart(t)}function zn(e,t,r,{floor:H=!1}={}){if(r<=0)return[];if(t<=0)return Array.from({length:r},()=>"");if(!e||e.length===0)return Array.from({length:r},()=>"\u254C".repeat(t));let n=qg(e.map(([,i])=>i),t),o=Math.max(...n),s=" ".repeat(Math.max(0,t-n.length));return Array.from({length:r},(i,a)=>{let l=a===r-1,c=r-1-a,A=l&&(H||o===0)?gr[0]:" ",u=n.map((d)=>{let m=o===0?0:d/o*r,g=Math.min(1,m-c);if(g<=0)return A;let p=Math.ceil(g*gr.length)-1;return gr[Math.max(0,Math.min(gr.length-1,p))]}).join("");return s+u})}function Si(e,t){if(t<=0)return"";let r=Number.isFinite(e)?Math.max(0,Math.min(1,e)):0,H=Math.round(r*t*8);if(H===0)return(r>0?Pg[0]:" ").padEnd(t);let n=Math.min(t,Math.floor(H/8)),o=H%8,s=o>0&&n<t?Pg[o-1]:"";return("\u2588".repeat(n)+s).padEnd(t)}function AH(e,t){if(e.length===0||e.length>=t)return[...e];return Array.from({length:t},(r,H)=>e[Math.min(e.length-1,Math.floor(H*e.length/t))])}function qg(e,t){if(e.length<=t)return e;let r=e.length/t,H=[];for(let n=0;n<t;n++){let o=Math.floor(n*r),s=Math.min(e.length,Math.floor((n+1)*r)),i=0;for(let a=o;a<s;a++)i+=e[a];H.push(s>o?i/(s-o):0)}return H}function Pe(e){if(e===void 0)return"\xB7\xB7";let t=typeof e==="string"?Number(e):e;if(!Number.isFinite(t))return"0";let r=t<0?"-":"",H=Math.abs(t),n=[{divisor:1,suffix:""},{divisor:1000,suffix:"k"},{divisor:1e6,suffix:"m"},{divisor:1e9,suffix:"b"},{divisor:1000000000000,suffix:"t"}],o=0;while(o+1<n.length&&H>=n[o+1].divisor)o++;while(o+1<n.length){let l=H/n[o].divisor,c=o===0?2:l<10?1:0;if(Number(l.toFixed(c))<1000)break;o++}let s=n[o],i=H/s.divisor,a=o===0?2:i<10?1:0;return`${r}${Number(i.toFixed(a))}${s.suffix}`}function uH(e,t){let r=typeof e==="string"?Number(e):e;return`${Pe(e)} ${r===1?t:`${t}s`}`}function he(e,t=Date.now()){if(!e)return"";let r=Date.parse(e);if(Number.isNaN(r))return"";let H=Math.max(0,Math.floor((t-r)/1000));if(H<60)return`${H}s`;let n=Math.floor(H/60);if(n<60)return`${n}m`;let o=Math.floor(n/60);if(o<24)return`${o}h`;let s=Math.floor(o/24);if(s<7)return`${s}d`;let i=Math.floor(s/7);if(i<52)return`${i}w`;return`${Math.floor(s/365)}y`}import{useEffect as wT,useState as xT}from"h:0__";import{jsxDEV as PT}from"h:6___________________________";var Mg=["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"],TT=80;function _i(e=!0){let[t,r]=xT(0);return wT(()=>{if(!e)return;let H=setInterval(()=>r((n)=>(n+1)%Mg.length),TT);return()=>clearInterval(H)},[e]),Mg[t]}function dH(){let e=_i();return PT("span",{children:e},void 0,!1,void 0,this)}import{Fragment as eP}from"h:0__";var qT=new Set(["upload","gravatar"]);function MT(e){if(!e?.avatar||!qT.has(e.avatar.avatarType))return;return e.avatar.avatarUrl??e.avatarUrl??void 0}function Qg(e){let t=new Map;for(let r of e){let H=MT(r.user);if(H&&r.user)t.set(r.user.id,H)}return t}function Ng(e,t){if(e?.type!=="user")return;return t.get(e.id)}var Cg="\xB7";function jg(e){let t=e?.name;if(!t)return Cg;return t.split(/[\s@._-]+/).filter(Boolean).slice(0,2).map((n)=>n[0].toUpperCase()).join("")||Cg}import{jsxDEV as CT}from"h:6___________________________";function pH({text:e,fallback:t,width:r,fg:H,attributes:n=sH}){let o=S(),s=!e||e.trim().length===0;return CT("text",{fg:s?o.subText:H??o.text,attributes:s?mr:n,style:{flexShrink:0},children:_(s?t:e,r)},void 0,!1,void 0,this)}function br(e,t,{gap:r=1,minFlex:H=8}={}){let n=Math.max(0,Math.floor(t)),o=[...e],s=(m)=>m.reduce((g,p)=>g+(p.width==="flex"?H:p.width),0)+r*Math.max(0,m.length-1);while(o.length>0&&s(o)>n){let m=QT(o);if(m<0)break;o.splice(m,1)}while(o.length>1&&s(o)>n)o.pop();if(o.length===0)return[];let i=r*(o.length-1),a=o.reduce((m,g)=>m+(g.width==="flex"?0:g.width),0),l=o.filter((m)=>m.width==="flex").length,c=o.map((m)=>m.width==="flex"?0:m.width);if(l>0){let m=Math.max(0,n-i-a),g=Math.floor(m/l),p=m-g*l;o.forEach((O,y)=>{if(O.width!=="flex")return;if(c[y]=g+(p>0?1:0),p>0)p--})}let A=c.reduce((m,g)=>m+g,0)+i;for(let m=c.length-1;m>=0&&A>n;m--){let g=Math.min(c[m]-1,A-n);if(g<=0)continue;c[m]=c[m]-g,A-=g}let u=[],d=0;return o.forEach((m,g)=>{let p=Math.max(0,c[g]);u.push({column:m,width:p,offset:d}),d+=p+r}),u}function QT(e){let t=-1,r=1/0;return e.forEach((H,n)=>{if(H.priority===void 0)return;if(H.priority<=r)t=n,r=H.priority}),t}import{jsxDEV as J,Fragment as Eg}from"h:6___________________________";var Et={lastSeen:10,age:6,sparkline:12,events:7,users:7,priority:6,assignee:5},hi=Et.sparkline-3,Dg=2,NT=1,Rg={lastSeen:"Last Seen",age:"Age",sparkline:"Trend",events:"Events",users:"Users",priority:"Prio",assignee:"Asgn"},jT=["lastSeen","age","sparkline","events","users","priority","assignee"],ki=16,Li=3,DT=[{key:"marker",width:Li},{key:"title",width:"flex"},{key:"lastSeen",width:Et.lastSeen,priority:6},{key:"age",width:Et.age,priority:3},{key:"sparkline",width:Et.sparkline,priority:5},{key:"events",width:Et.events},{key:"users",width:Et.users,priority:4},{key:"priority",width:Et.priority,priority:2},{key:"assignee",width:Et.assignee,priority:1}],Br=1,Ii=4;function bi(e){let t=Math.max(ki+Li,e-Br*2),r=br(DT,t,{gap:0,minFlex:ki}),H=r.find(({column:s})=>s.key==="title")?.width??ki,n=new Set(r.map(({column:s})=>s.key)),o=jT.filter((s)=>n.has(s));return{content:t,title:H,columns:o}}var RT={high:"high",medium:"med",low:"low"};function Gg({width:e,selectionAbove:t=!1,selectionBelow:r=!1}){let H=S(),n=t?"\u2580":r?"\u2584":"\u2500",o=t||r?H.selected:H.border;return J("text",{fg:o,children:n.repeat(Math.max(0,e))},void 0,!1,void 0,this)}function wi({content:e,fg:t,rules:r=!0}){let H=S(),n=r?"\u2502":" ";return J(Eg,{children:[J("text",{children:" "},void 0,!1,void 0,this),J("text",{fg:H.border,children:n},void 0,!1,void 0,this),J("text",{fg:t,children:e},void 0,!1,void 0,this),J("text",{fg:H.border,children:n},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function Jn({width:e,selectionBelow:t=!1}){let r=S(),H=bi(e);return J("box",{style:{flexDirection:"column",width:e,flexShrink:0},children:[J("box",{style:{flexDirection:"row",paddingLeft:Br,paddingRight:Br},children:[J("text",{fg:r.muted,children:_("Issue",Li+H.title)},void 0,!1,void 0,this),H.columns.map((n)=>n==="sparkline"?J(wi,{content:_(Rg[n],hi,"center"),fg:r.muted,rules:!1},n,!1,void 0,this):J("text",{fg:r.muted,children:_(Rg[n],Et[n],"right")},n,!1,void 0,this))]},void 0,!0,void 0,this),J(Gg,{width:e,selectionBelow:t},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function eo({group:e,selected:t,width:r,pending:H=!1,selectionBelow:n=!1,assigneeAvatarUrl:o,onClick:s}){let i=S(),a=bi(r),l=t?i.selected:void 0,c=Kr(e),A=Wn(e),u=jn(),d=ET(e,Math.max(0,a.content-5),A,u);return J("box",{style:{flexDirection:"column",width:r,flexShrink:0},onMouseDown:s,children:[J("box",{style:{flexDirection:"column",paddingLeft:Br,paddingRight:Br,backgroundColor:l},children:[J("box",{style:{flexDirection:"row"},children:[J("text",{fg:t?i.accent:i.muted,children:t?"\u25B8":" "},void 0,!1,void 0,this),J("text",{fg:i.accent,children:H?"\u27F3":e.hasSeen?" ":"\u25CF"},void 0,!1,void 0,this),J("text",{children:" "},void 0,!1,void 0,this),J(pH,{text:c,fallback:"(no title)",width:a.title,fg:i.text,attributes:X},void 0,!1,void 0,this),a.columns.map((m)=>J(GT,{column:m,group:e,avatarUrl:o},m,!1,void 0,this))]},void 0,!0,void 0,this),J("box",{style:{flexDirection:"row"},children:[J("text",{children:" "},void 0,!1,void 0,this),J("text",{fg:i.level[e.level]??i.level.unknown,children:"\u2503"},void 0,!1,void 0,this),J("text",{children:" "},void 0,!1,void 0,this),J(pH,{text:A,fallback:"(no error message)",width:Math.max(0,a.content-5),fg:i.muted},void 0,!1,void 0,this)]},void 0,!0,void 0,this),J("box",{style:{flexDirection:"row"},children:[J("text",{children:" "},void 0,!1,void 0,this),J("text",{fg:i.muted,children:d.lead},void 0,!1,void 0,this),d.showIcon?J(aH,{platform:e.project?.platform},void 0,!1,void 0,this):null,J("text",{fg:i.muted,children:d.rest},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),J(Gg,{width:r,selectionAbove:t,selectionBelow:n},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function vT({group:e,avatarUrl:t}){let r=S(),H=Et.assignee,{supportsHighRes:n}=Zt();if(!t||!n)return J("text",{fg:r.muted,children:_(jg(e.assignedTo),H,"right")},void 0,!1,void 0,this);return J(Eg,{children:[J("text",{children:" ".repeat(Math.max(0,H-Dg))},void 0,!1,void 0,this),J("image",{source:t,fit:"fit",style:{width:Dg,height:NT,flexShrink:0}},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function GT({column:e,group:t,avatarUrl:r}){let H=S(),n=Et[e];switch(e){case"sparkline":return J(wi,{content:Zn(t.stats?.["24h"],hi),fg:H.muted},void 0,!1,void 0,this);case"events":return J("text",{fg:H.text,children:_(Pe(t.count),n,"right")},void 0,!1,void 0,this);case"users":return J("text",{fg:H.text,children:_(Pe(t.userCount),n,"right")},void 0,!1,void 0,this);case"lastSeen":return J("text",{fg:H.muted,children:_(vg(t.lastSeen,!0),n,"right")},void 0,!1,void 0,this);case"age":return J("text",{fg:H.muted,children:_(vg(t.firstSeen),n,"right")},void 0,!1,void 0,this);case"priority":return J("text",{fg:H.muted,children:_(t.priority?RT[t.priority]:"",n,"right")},void 0,!1,void 0,this);case"assignee":return J(vT,{group:t,avatarUrl:r},void 0,!1,void 0,this)}}function vg(e,t=!1){if(!e)return"\xB7\xB7";let r=he(e);return t&&r?`${r} ago`:r}function ET(e,t,r,H){let n=e.project?.slug,o=[e.shortId].filter((A)=>Boolean(A)),s=[n,e.isUnhandled?"Unhandled":null,e.culprit===r?null:e.culprit,e.numComments>0?`\uD83D\uDCAC ${e.numComments}`:null,e.logger].filter((A)=>Boolean(A)),i=Boolean(n)&&H>0,a=Math.max(0,t-(i?H:0)),l=o.length>0?R(`${o.join(" \u2502 ")} \u2502 `,a):"",c=R(s.join(" \u2502 "),Math.max(0,a-ce(l)));return{lead:l,rest:c,showIcon:i}}function to({width:e,seed:t}){let r=S(),H=bi(e),n=Math.floor(H.title*(0.45+t*17%40/100)),o=Math.floor((H.content-4)*(0.5+t*29%35/100)),s=Math.floor((H.content-4)*(0.3+t*23%25/100));return J("box",{style:{flexDirection:"column",width:e,paddingLeft:Br,paddingRight:Br,border:["bottom"],borderColor:r.border,flexShrink:0},children:[J("box",{style:{flexDirection:"row"},children:[J("text",{children:" "},void 0,!1,void 0,this),J("text",{fg:r.panelAlt,children:_("\u2500".repeat(n),H.title)},void 0,!1,void 0,this),H.columns.map((i)=>i==="sparkline"?J(wi,{content:"\u254C".repeat(hi),fg:r.panelAlt},i,!1,void 0,this):J("text",{fg:r.panelAlt,children:_("\xB7\xB7",Et[i],"right")},i,!1,void 0,this))]},void 0,!0,void 0,this),J("box",{style:{flexDirection:"row"},children:[J("text",{children:" "},void 0,!1,void 0,this),J("text",{fg:r.border,children:"\u2503"},void 0,!1,void 0,this),J("text",{fg:r.panelAlt,children:` ${"\u2500".repeat(o)}`},void 0,!1,void 0,this)]},void 0,!0,void 0,this),J("box",{style:{flexDirection:"row"},children:[J("text",{children:" "},void 0,!1,void 0,this),J("text",{fg:r.panelAlt,children:"\u2500".repeat(s)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}import{useCallback as xi,useEffect as Kg,useRef as mH,useState as GH}from"h:0__";function ro(e,{org:t,query:r,sort:H,statsPeriod:n,limit:o,project:s,environment:i,reloadToken:a=0}){let[l,c]=GH(me),[A,u]=GH(!1),[d,m]=GH(null),[g,p]=GH(null),[O,y]=GH(1),L=mH(l);L.current=l;let f=mH(void 0),k=mH(1),I=mH(null),h=mH(0),b=xi((E,D)=>{if(!e)return!1;I.current?.abort();let x=new AbortController;I.current=x;let{signal:P}=x,N=++h.current;return c(_e(L.current,Date.now())),u(!1),(async()=>{try{let F=await Dc(e,{org:t,query:r,sort:H,statsPeriod:n,limit:o,project:s,environment:i,cursor:E,signal:P});if(P.aborted||N!==h.current)return;if(f.current=E,k.current=D,y(D),m(F.nextCursor),p(F.prevCursor),c(ge(F.data,Date.now())),F.data.length===0)return;u(!0);try{let j=await Rc(e,{org:t,groups:F.data.map((U)=>U.id),statsPeriod:n,project:s,signal:P});if(P.aborted||N!==h.current)return;c((U)=>U.state==="ready"?ge(KT(U.value,j),U.fetchedAt):U)}finally{if(!P.aborted&&N===h.current)u(!1)}}catch(F){if(P.aborted||N!==h.current)return;c((j)=>Oe(j,Ne(F)))}})(),!0},[e,t,r,H,n,o,s,i]),w=mH(null),T=xi(()=>d===null||L.current.state==="loading"?!1:b(d,k.current+1),[d,b]),q=xi(()=>k.current<=1||g===null||L.current.state==="loading"?!1:b(g,Math.max(1,k.current-1)),[g,b]);return Kg(()=>{if(!e){h.current++,I.current?.abort();return}let E=w.current!==b;if(w.current=b,E)f.current=void 0,k.current=1,y(1),m(null),p(null);b(f.current,k.current)},[e,b,a]),Kg(()=>()=>{h.current++,I.current?.abort()},[]),{issues:l,statsLoading:A,nextCursor:d,prevCursor:g,page:O,nextPage:T,previousPage:q}}function KT(e,t){return e.map((r)=>{let H=t[r.id];if(!H)return r;return{...r,count:H.count??r.count,userCount:H.userCount??r.userCount,firstSeen:H.firstSeen??r.firstSeen,lastSeen:H.lastSeen??r.lastSeen,isUnhandled:H.isUnhandled??r.isUnhandled,stats:{...r.stats,...H.stats}}})}import{jsxDEV as cr}from"h:6___________________________";var Ti=25;function Pi({client:e,org:t,ids:r,width:H}){let n=S(),o=[...new Set(r.filter(Boolean))].slice(0,Ti),s=o.length===1?`issue:${o[0]}`:`issue:[${o.join(",")}]`,i=ro(o.length>0?e:null,{org:t,query:s,sort:"date",statsPeriod:xt,limit:Math.max(1,o.length)}),a=B(i.issues)??[],l=se(i.issues),c=Math.max(24,H-2),A=o.length>1;if(o.length===0)return cr("text",{fg:n.muted,children:"No issues referenced."},void 0,!1,void 0,this);return cr("box",{style:{flexDirection:"column",width:H,border:!0,borderColor:l?n.danger:n.border,flexShrink:0},children:[A?cr(Jn,{width:c},void 0,!1,void 0,this):null,i.issues.state==="idle"||ke(i.issues)?cr(to,{width:c,seed:0},void 0,!1,void 0,this):null,l&&a.length===0?cr("box",{style:{flexDirection:"column",paddingLeft:1,paddingRight:1},children:[cr("text",{fg:n.danger,attributes:X,children:["Could not load ",A?"issues":o[0]]},void 0,!0,void 0,this),cr("text",{fg:n.muted,children:l.message},void 0,!1,void 0,this)]},void 0,!0,void 0,this):null,!l&&i.issues.state==="ready"&&a.length===0?cr("text",{fg:n.muted,children:` No matching ${A?"issues":`issue ${o[0]}`} found.`},void 0,!1,void 0,this):null,a.map((u)=>cr(eo,{group:u,selected:!1,width:c},u.id,!1,void 0,this)),r.length>Ti?cr("text",{fg:n.muted,children:` Showing the first ${Ti} issues.`},void 0,!1,void 0,this):null]},void 0,!0,void 0,this)}import{useEffect as zT,useState as JT}from"h:0__";import{addDefaultParsers as ZT}from"h:3__________";var Xg="./assets/highlights-9wx8m64k.scm";var Bg="./assets/tree-sitter-go-dve313fn.wasm";var Wg="./assets/highlights-bds7v5h1.scm";var Fg="./assets/tree-sitter-php-only-jk6j4gjt.wasm";var Ug="./assets/highlights-k2cbtg72.scm";var Yg="./assets/tree-sitter-python-d56ewc8c.wasm";var $g="./assets/highlights-3ybh5bp2.scm";var Vg="./assets/tree-sitter-ruby-kmdgpnz0.wasm";function Zg(){ZT([{filetype:"python",wasm:Yg,queries:{highlights:[Ug]}},{filetype:"ruby",wasm:Vg,queries:{highlights:[$g]}},{filetype:"php",wasm:Fg,queries:{highlights:[Wg]}},{filetype:"go",wasm:Bg,queries:{highlights:[Xg]}}])}Zg();function Ho(){let e=S(),[t,r]=JT();return zT(()=>{let H=!1;return r(void 0),zl(e).then((n)=>{if(!H)r(n)}).catch(()=>{if(!H)r(void 0)}),()=>{H=!0}},[e]),t}import{jsxDEV as Ee}from"h:6___________________________";var tP=new Set(["dsn","issues","chart","autofix","agentWriteApproval"]),rP=new Set(["timestamp","docs","dsn","user","issue","issues","chart","autofix","agentWriteApproval"]),HP=new Set(["agentWriteApproval"]),nP=/\{%\s*([A-Za-z][\w]*)([^%]*?)\s*(?:\/%\}|%\}([\s\S]*?)\{%\s*\/\1\s*%\})/g;function oP(e,t,r=null){let H=[],n="",o=0,s=()=>{if(n)H.push({kind:"markdown",content:n});n=""};for(let i of e.matchAll(nP)){let a=i.index??o;n+=e.slice(o,a);let l=i[0],c=i[1],A=sP(i[2]),u=iP(i[3]),d=c?aP(r?.[c]):null,m=c&&HP.has(c)?d:u??(Object.keys(A).length>0?A:d);o=a+l.length;let g=e.slice(e.lastIndexOf(`
|
|
11
|
+
`,a-1)+1,a).trim(),p=e.indexOf(`
|
|
12
|
+
`,o),O=e.slice(o,p===-1?e.length:p).trim(),y=c==="issue"&&g===""&&O==="";if(!c||!rP.has(c)){n+=l;continue}let L=m??{};if(!t||!tP.has(c)&&!y){n+=zg(c,L);continue}s(),H.push({kind:"embed",name:c,data:L})}return n+=e.slice(o),s(),H}function sP(e){let t={};if(!e)return t;let r=/([A-Za-z_][\w-]*)\s*=\s*(?:"([^"]*)"|'([^']*)'|([^\s]+))/g;for(let H of e.matchAll(r)){let n=H[1],o=H[2]??H[3]??H[4];if(n&&o!==void 0)t[n]=o}return t}function iP(e){if(!e||e.length>1e5)return null;try{let t=JSON.parse(e.trim());return t&&typeof t==="object"&&!Array.isArray(t)?t:null}catch{return null}}function aP(e){return e&&typeof e==="object"&&!Array.isArray(e)?e:null}function zg(e,t){if(e==="timestamp"){let r=Ht(t.value);if(!r)return"";if(t.format==="relative")return cP(r);let H=Date.parse(r);return Number.isNaN(H)?r:new Date(H).toLocaleString()}if(e==="docs"){let r=Ht(t.title),H=Ht(t.href);return r&&H?`[${r}](${H})`:r??H??""}if(e==="user")return`@${Ht(t.name)??"user"}`;if(e==="issue")return`**${Ht(t.id)??"issue"}**`;if(e==="issues"){let r=qi(t.ids);return r.length?r.map((H)=>`**${H}**`).join(", "):"Issues"}if(e==="dsn")return`\`${Ht(t.value)??"DSN"}\``;if(e==="autofix")return Ht(t.result)??"Autofix result";if(e==="chart")return Ht(t.title)??"Chart";if(e==="agentWriteApproval")return"Seer requested permission to make changes.";return""}function cP(e){let t=Date.parse(e);if(Number.isNaN(t))return e;let r=Math.round((t-Date.now())/1000),H=Math.abs(r),[n,o]=H<60?[H,"second"]:H<3600?[Math.round(H/60),"minute"]:H<86400?[Math.round(H/3600),"hour"]:[Math.round(H/86400),"day"];return`${n} ${o}${n===1?"":"s"} ${r<0?"ago":"from now"}`}function no({content:e,width:t,client:r=null,org:H="",streaming:n=!1,embedsEnabled:o=!1,structuredContent:s=null}){let i=S(),a=Ho(),l=oP(e,o,s);return Ee("box",{style:{flexDirection:"column",width:t},children:l.map((c,A)=>{if(c.kind==="embed"&&c.name&&c.data)return Ee(lP,{name:c.name,data:c.data,width:t,client:r,org:H},`embed-${A}`,!1,void 0,this);let u=c.content??"";if(!a)return Ee(eP,{children:vr(u,Math.max(1,t)).map((d,m)=>Ee("text",{fg:i.text,children:d},m,!1,void 0,this))},`markdown-${A}`,!1,void 0,this);return Ee("markdown",{content:u,syntaxStyle:a,streaming:!0,fg:i.text,conceal:!0,internalBlockMode:"top-level",tableOptions:{style:"columns",widthMode:"full",wrapMode:"word",borderColor:i.border},style:{width:t}},`markdown-${A}-${n?"stream":"static"}`,!1,void 0,this)})},void 0,!1,void 0,this)}function lP({name:e,data:t,width:r,client:H,org:n}){let o=S(),s=Math.max(8,r-2);if(e==="issue"){let i=Ht(t.id)??"Unknown issue";return Ee(Pi,{client:H,org:n,ids:[i],width:s},void 0,!1,void 0,this)}if(e==="dsn")return Ee("box",{style:{width:s,border:!0,borderColor:o.border,paddingLeft:1},children:Ee("text",{fg:o.accent,children:Ht(t.value)??"DSN unavailable"},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(e==="issues"){let i=qi(t.ids);return Ee(Pi,{client:H,org:n,ids:i,width:s},void 0,!1,void 0,this)}if(e==="chart")return Ee(AP,{data:t,width:s},void 0,!1,void 0,this);if(e==="autofix"){let i=(Ht(t.step)??"result").replace(/_/g," "),a=Ht(t.result)??"No result returned.";return Ee("box",{style:{flexDirection:"column",width:s,border:!0,borderColor:o.accent,paddingLeft:1},children:[Ee("text",{fg:o.accent,attributes:X,children:`Autofix \xB7 ${i}`},void 0,!1,void 0,this),Ee("text",{fg:o.muted,children:Ht(t.shortId)??""},void 0,!1,void 0,this),vr(a,Math.max(1,s-3)).map((l,c)=>Ee("text",{fg:o.text,children:l},c,!1,void 0,this))]},void 0,!0,void 0,this)}if(e==="agentWriteApproval"){let i=Ht(t.status)??"pending",a=qi(t.requiredScopes);return Ee("box",{style:{flexDirection:"column",width:s,border:!0,borderColor:o.warning,paddingLeft:1},children:[Ee("text",{fg:i==="approved"?o.success:i==="rejected"?o.danger:o.warning,attributes:X,children:i==="pending"?"Allow Seer to make changes?":`Access ${i}`},void 0,!1,void 0,this),a.map((l)=>Ee("text",{fg:o.muted,children:` ${l}`},l,!1,void 0,this))]},void 0,!0,void 0,this)}return Ee("text",{fg:o.muted,children:zg(e,t)},void 0,!1,void 0,this)}function AP({data:e,width:t}){let r=S(),H=Array.isArray(e.series)?e.series.slice(0,5):[],n=Math.max(8,Math.min(50,t-4));return Ee("box",{style:{flexDirection:"column",width:t,border:!0,borderColor:r.border,paddingLeft:1},children:[Ee("text",{fg:r.text,attributes:X,children:Ht(e.title)??"Chart"},void 0,!1,void 0,this),Ht(e.subtitle)?Ee("text",{fg:r.muted,children:Ht(e.subtitle)},void 0,!1,void 0,this):null,H.map((o,s)=>{let i=o&&typeof o==="object"?o:{},a=Array.isArray(i.data)?i.data.flatMap((c,A)=>{if(!c||typeof c!=="object")return[];let u=Number(c.y);return Number.isFinite(u)?[[A,u]]:[]}):[],l=Ht(i.label)??Ht(i.name)??`Series ${s+1}`;return Ee("box",{style:{flexDirection:"column"},children:[Ee("text",{fg:s===0?r.accent:r.muted,children:Zn(a,n,{floor:!0})},void 0,!1,void 0,this),Ee("text",{fg:r.muted,attributes:rt,children:l},void 0,!1,void 0,this)]},`${l}-${s}`,!0,void 0,this)})]},void 0,!0,void 0,this)}function Ht(e){return typeof e==="string"&&e!==""?e:void 0}function qi(e){return Array.isArray(e)?e.filter((t)=>typeof t==="string"):[]}import{jsxDEV as M}from"h:6___________________________";var eO=3;function tO({chat:e,client:t,org:r,width:H,height:n,focused:o,value:s,onInput:i,inputFocused:a,onInputFocus:l,onInputBlur:c,slashCommands:A,slashSelected:u,showHistory:d,historySelected:m,pendingState:g,placeholderOverride:p}){let O=S(),y=Math.max(10,H-2),L=A.length>0?A.length+2:0,f=Math.max(1,n-1-eO-L),k=Jg(()=>Ag(e.blocks),[e.blocks]),I=Jg(()=>e.blocks.some((T)=>(T.tool_results??[]).some((q)=>q?.structuredContent?.agentWriteApproval!==void 0||q?.content.includes("agentWriteApproval"))),[e.blocks]),h=dP(null),b=uP((T)=>{let q=h.current;if(q)q.removeAllListeners(oo.FOCUSED),q.removeAllListeners(oo.BLURRED);if(h.current=T,T)T.on(oo.FOCUSED,()=>l?.()),T.on(oo.BLURRED,()=>c?.())},[l,c]),w=p??(e.timedOut?"Response timed out. Please try again.":e.interrupting?"Interrupted. What should Seer do instead?":e.pendingInput?"Respond using the controls above":"Ask Seer a question, or press / for commands.");return M("box",{style:{flexDirection:"column",width:H,height:n},children:[M("box",{style:{flexDirection:"row",width:H,height:1,flexShrink:0,paddingLeft:1,paddingRight:1,backgroundColor:O.panelAlt},children:[M("text",{fg:O.text,attributes:X,children:["Seer Agent"," "]},void 0,!0,void 0,this),M("text",{fg:O.accent,children:"\u03B2"},void 0,!1,void 0,this),M("box",{style:{flexGrow:1}},void 0,!1,void 0,this),e.capabilities.codeMode?M("text",{fg:O.muted,children:`${ng(e.codeMode)} \xB7 `},void 0,!1,void 0,this):null,e.codeChanges.length>0?M("text",{fg:O.muted,children:`+${e.codeChanges.reduce((T,q)=>T+q.added,0)} -${e.codeChanges.reduce((T,q)=>T+q.removed,0)} \xB7 `},void 0,!1,void 0,this):null,M("text",{fg:O.muted,children:`${ve(we("sentry.seer.history"))} history`},void 0,!1,void 0,this)]},void 0,!0,void 0,this),d?M(gP,{chat:e,selected:m,width:y,height:f},void 0,!1,void 0,this):M("scrollbox",{focused:o&&!a,stickyScroll:!0,stickyStart:"bottom",style:{flexGrow:1,width:H,height:f},children:[e.blocks.length===0?M(IP,{width:y},void 0,!1,void 0,this):e.blocks.map((T)=>M(OP,{block:T,width:y,chat:e,client:t,org:r,showTodos:k?.blockId===T.id?k.todos:[]},T.id,!1,void 0,this)),e.codeChanges.length>0?M(pP,{chat:e,width:y},void 0,!1,void 0,this):null,e.pendingInput&&(e.pendingInput.input_type!=="reauth_monitoring_provider"||e.capabilities.infraTelemetry)&&(e.pendingInput.input_type!=="agent_write_approval"||!I)?M(hP,{pending:e.pendingInput,state:g,width:y},void 0,!1,void 0,this):null,e.error?M("box",{style:{flexDirection:"column",paddingLeft:1,paddingTop:1},children:[M("text",{fg:O.danger,children:"Seer request failed"},void 0,!1,void 0,this),M("text",{fg:O.muted,children:e.error.message},void 0,!1,void 0,this)]},void 0,!0,void 0,this):null,e.timedOut?M("box",{style:{paddingLeft:1,paddingTop:1},children:M("text",{fg:O.warning,children:"Seer stopped responding. Send another message to retry."},void 0,!1,void 0,this)},void 0,!1,void 0,this):null]},void 0,!0,void 0,this),A.length>0?M(mP,{commands:A,selected:u,width:H},void 0,!1,void 0,this):null,M("box",{style:{flexDirection:"row",width:H,flexShrink:0,height:eO,border:!0,borderStyle:"rounded",borderColor:a?O.accent:O.border,backgroundColor:O.panel,paddingLeft:1,paddingRight:1},children:[e.thinking?M("text",{fg:O.accent,children:[M(dH,{},void 0,!1,void 0,this)," "]},void 0,!0,void 0,this):M("text",{fg:O.subText,children:"\u203A "},void 0,!1,void 0,this),M("input",{ref:b,value:s,placeholder:w,focused:a,onInput:i,style:{flexGrow:1,textColor:O.text,backgroundColor:O.panel,focusedTextColor:O.text,focusedBackgroundColor:O.panel,placeholderColor:e.timedOut||e.interrupting||e.pendingInput?O.warning:O.subText}},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}function pP({chat:e,width:t}){let r=S(),H=e.codeChanges.some((n)=>n.status==="needs_push"||n.status==="error");return M("box",{style:{flexDirection:"column",width:Math.max(8,t-2),marginTop:1,border:!0,borderColor:r.border,paddingLeft:1},children:[M("text",{fg:r.text,attributes:X,children:"Code changes"},void 0,!1,void 0,this),e.codeChanges.map((n)=>M("box",{style:{flexDirection:"column"},children:[M("text",{fg:r.accent,attributes:X,children:`${n.repoName} +${n.added} -${n.removed}`},void 0,!1,void 0,this),n.files.map((o)=>M("text",{fg:r.muted,children:` +${o.added} -${o.removed} ${o.path}`},o.path,!1,void 0,this)),M("text",{fg:n.status==="pushed"?r.success:n.status==="error"?r.danger:n.status==="creating"?r.warning:r.muted,children:n.status==="creating"?" Creating or updating PR\u2026":n.status==="error"?" PR update failed \u2014 retry available":n.status==="pushed"?` Pushed${n.prNumber?` \xB7 PR #${n.prNumber}`:""}${n.prUrl?` \xB7 ${n.prUrl}`:""}`:` ${n.prNumber?`PR #${n.prNumber} has unpushed changes`:"No PR yet"}`},void 0,!1,void 0,this)]},n.repoName,!0,void 0,this)),H&&!e.readOnly?M("text",{fg:r.accent,children:`[${ve(we("sentry.seer.pushChanges"))}] create/update PRs \xB7 /create-pr`},void 0,!1,void 0,this):null]},void 0,!0,void 0,this)}function mP({commands:e,selected:t,width:r}){let H=S();return M("box",{style:{flexDirection:"column",width:r,flexShrink:0,border:!0,borderColor:H.border,backgroundColor:H.panel,paddingLeft:1},children:e.map((n,o)=>M("box",{style:{flexDirection:"row",width:Math.max(1,r-4),backgroundColor:o===t?H.selected:void 0},children:[M("text",{fg:o===t?H.accent:H.text,attributes:X,children:n.title.padEnd(19)},void 0,!1,void 0,this),M("text",{fg:H.muted,children:R(n.description,Math.max(1,r-25))},void 0,!1,void 0,this)]},n.id,!0,void 0,this))},void 0,!1,void 0,this)}function gP({chat:e,selected:t,width:r,height:H}){let n=S(),o=B(e.runs)??[],s=se(e.runs);return M("scrollbox",{focused:!0,style:{flexGrow:1,width:r+2,height:H},children:M("box",{style:{flexDirection:"column",paddingLeft:1,paddingTop:1},children:[M("text",{fg:n.text,attributes:X,children:"Recent conversations"},void 0,!1,void 0,this),M("text",{fg:n.muted,children:"j/k select \xB7 enter open \xB7 esc close"},void 0,!1,void 0,this),ke(e.runs)?M("text",{fg:n.muted,children:"Loading conversations\u2026"},void 0,!1,void 0,this):null,s?M("text",{fg:n.danger,children:s.message},void 0,!1,void 0,this):null,!ke(e.runs)&&!s&&o.length===0?M("text",{fg:n.muted,children:"No recent conversations."},void 0,!1,void 0,this):null,o.map((i,a)=>M("box",{style:{flexDirection:"row",width:r,backgroundColor:a===t?n.selected:void 0},children:[M("text",{fg:a===t?n.accent:n.muted,children:a===t?"\u276F ":" "},void 0,!1,void 0,this),M("text",{fg:n.text,children:R(i.title??"Untitled chat",Math.max(4,r-10))},void 0,!1,void 0,this),M("box",{style:{flexGrow:1}},void 0,!1,void 0,this),M("text",{fg:n.muted,children:he(i.lastTriggeredAt)},void 0,!1,void 0,this)]},i.id,!0,void 0,this))]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}function OP({block:e,width:t,chat:r,client:H,org:n,showTodos:o}){if(e.message.role==="user")return M(yP,{block:e,width:t},void 0,!1,void 0,this);if(e.message.role==="tool_use")return M(SP,{block:e,width:t,chat:r,client:H,org:n,showTodos:o},void 0,!1,void 0,this);return M(fP,{block:e,width:t,chat:r,client:H,org:n},void 0,!1,void 0,this)}function yP({block:e,width:t}){let r=S(),H=vr(e.message.content??"",Math.max(1,t-3));return M("box",{style:{flexDirection:"column",paddingLeft:1,paddingTop:1},children:H.map((n,o)=>M("text",{fg:r.text,attributes:X,children:o===0?`\u203A ${n}`:` ${n}`},o,!1,void 0,this))},void 0,!1,void 0,this)}function fP({block:e,width:t,chat:r,client:H,org:n}){let o=S(),s=e.message.content??"";if(e.loading&&s.trim()==="")return M("text",{fg:o.muted,children:[" ",M(dH,{},void 0,!1,void 0,this)," Thinking\u2026"]},void 0,!0,void 0,this);if(e.loading&&e.id.startsWith("optimistic-assistant-"))return M("box",{style:{paddingLeft:1,paddingTop:1,flexDirection:"row"},children:M("text",{fg:o.muted,children:[" ",M(dH,{},void 0,!1,void 0,this),` ${s}`]},void 0,!0,void 0,this)},void 0,!1,void 0,this);if(!s.trim())return null;return M("box",{style:{flexDirection:"column",paddingLeft:3,paddingTop:1,width:t},children:M(no,{content:s,width:Math.max(1,t-3),streaming:e.loading&&r.capabilities.streaming,embedsEnabled:r.capabilities.embeds,client:H,org:n},void 0,!1,void 0,this)},void 0,!1,void 0,this)}function SP({block:e,width:t,chat:r,client:H,org:n,showTodos:o}){let s=S(),i=og(e),a=i==="failure"?s.danger:i==="mixed"||i==="pending"?s.warning:s.muted,l=sg(e),c=e.message.tool_calls??[];return M("box",{style:{flexDirection:"column",paddingLeft:1,width:t},children:[r.showThinking&&e.message.thinking_content?.trim()?M("box",{style:{flexDirection:"column",paddingLeft:2,width:Math.max(1,t-2)},children:[M("text",{fg:s.muted,attributes:X,children:"Thinking"},void 0,!1,void 0,this),M(no,{content:e.message.thinking_content,width:Math.max(1,t-4),embedsEnabled:r.capabilities.embeds,client:H,org:n},void 0,!1,void 0,this)]},void 0,!0,void 0,this):null,c.flatMap((A,u)=>{let d=e.tool_results?.find((f)=>f?.tool_call_id===A.id),m=A.function==="sentry_api_execute"||A.function==="sentry_api_search",g=d?.structuredContent?.calls?.length?d.structuredContent.calls:c.length===1?e.live_calls??[]:[],p=lg(g).flatMap((f)=>{let k=ag(f);return k?[{record:f,label:k}]:[]}),O=d?.structuredContent?.links??[],y=d?.structuredContent?.artifacts??[],L=d?.structuredContent&&d.content.trimStart().startsWith("{%")?d.content:null;return[...p.length?p.map(({record:f,label:k})=>M(_P,{record:f,label:k,settled:Boolean(d)},`${A.id??u}-${f.id}`,!1,void 0,this)):!m?[i==="loading"?M("text",{fg:a,attributes:mr,children:[" ",M(dH,{},void 0,!1,void 0,this),` ${l[u]??A.function}`]},`${A.id??u}-classic`,!0,void 0,this):M("text",{fg:a,attributes:mr,children:` ${rg[i]} ${l[u]??A.function}`},`${A.id??u}-classic`,!1,void 0,this)]:[],...O.filter((f)=>f.params?.is_error!==!0).map((f,k)=>M("text",{fg:s.accent,children:` \u2197 ${kP(f.kind,f.params)}`},`${A.id??u}-link-${k}`,!1,void 0,this)),...y.map((f,k)=>M("text",{fg:s.accent,children:` \u25C7 ${f.reason||f.key}`},`${A.id??u}-artifact-${k}`,!1,void 0,this)),...L?[M(no,{content:L,width:Math.max(1,t-3),embedsEnabled:r.capabilities.embeds,structuredContent:d?.structuredContent??null,client:H,org:n},`${A.id??u}-markdown`,!1,void 0,this)]:[]]}),o.map((A,u)=>M("text",{fg:A.status==="completed"?s.success:s.muted,attributes:A.status==="completed"?rt:sH,children:` ${A.status==="completed"?"[x]":A.status==="in_progress"?"[~]":"[ ]"} ${A.content}`},`todo-${u}`,!1,void 0,this))]},void 0,!0,void 0,this)}function _P({record:e,label:t,settled:r}){let H=S(),n=ig(e,r),o=n==="failure"?H.danger:H.muted,s=cg(e),i=e.error?` \u2014 ${e.error}`:e.status!==void 0&&e.status>=400?` \u2014 HTTP ${e.status}`:"";return M("box",{style:{flexDirection:"column"},children:[n==="loading"?M("text",{fg:o,attributes:mr,children:[" ",M(dH,{},void 0,!1,void 0,this),` ${t}${i}`]},void 0,!0,void 0,this):M("text",{fg:o,attributes:mr,children:` ${n==="failure"?"\u2717":"\u2713"} ${t}${i}`},void 0,!1,void 0,this),s.map((a,l)=>M("text",{fg:H.subText,children:` ${a}`},l,!1,void 0,this))]},void 0,!0,void 0,this)}function kP(e,t){let r=t?.summary;if(typeof r==="string"&&r.trim())return r;return`View ${e.replace(/^get_/,"").replace(/_/g," ")}`}function hP({pending:e,state:t,width:r}){let H=S(),n={flexDirection:"column",width:Math.max(8,r-2),border:!0,borderColor:H.warning,paddingLeft:1,marginTop:1};if(e.input_type==="file_change_approval"){let o=Array.isArray(e.data.patches)?e.data.patches:[],s=o[t.fileApprovalIndex],i=s&&typeof s==="object"?s:{},a=i.patch&&typeof i.patch==="object"?i.patch:i,l=String(a.path??a.file_path??"proposed file change"),c=String(a.diff??i.diff??"");return M("box",{style:n,children:[M("text",{fg:H.warning,attributes:X,children:`Make this change? (${t.fileApprovalIndex+1} of ${o.length})`},void 0,!1,void 0,this),M("text",{fg:H.text,children:l},void 0,!1,void 0,this),vr(c,Math.max(1,r-5)).slice(0,10).map((A,u)=>M("text",{fg:A.startsWith("+")?H.success:A.startsWith("-")?H.danger:H.muted,children:A},u,!1,void 0,this)),M("text",{fg:H.accent,children:"[y] approve \xB7 [x] reject"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}if(e.input_type==="agent_write_approval"){let o=Array.isArray(e.data.required_scopes)?e.data.required_scopes.filter((s)=>typeof s==="string"):[];return M("box",{style:n,children:[M("text",{fg:H.warning,attributes:X,children:"Allow Seer to make changes?"},void 0,!1,void 0,this),M("text",{fg:H.muted,children:"Requested scopes:"},void 0,!1,void 0,this),o.map((s)=>M("text",{fg:H.text,children:` ${s}`},s,!1,void 0,this)),M("text",{fg:H.accent,children:"[y] approve \xB7 [x] reject"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}if(e.input_type==="ask_user_question"){let s=(Array.isArray(e.data.questions)?e.data.questions:[])[t.questionIndex],i=s&&typeof s==="object"?s:{},a=Array.isArray(i.options)?i.options:[];return M("box",{style:n,children:[M("text",{fg:H.text,attributes:X,children:String(i.question??"Seer has a question")},void 0,!1,void 0,this),a.map((l,c)=>{let A=l&&typeof l==="object"?l:{};return M("box",{style:{flexDirection:"column",backgroundColor:c===t.questionSelected?H.selected:void 0},children:[M("text",{fg:c===t.questionSelected?H.accent:H.text,children:`${c+1}. ${String(A.label??"Option")}`},void 0,!1,void 0,this),A.description?M("text",{fg:H.muted,children:` ${String(A.description)}`},void 0,!1,void 0,this):null]},c,!0,void 0,this)}),M("text",{fg:t.questionSelected===a.length?H.accent:H.muted,children:"o. Other \u2014 type your own answer"},void 0,!1,void 0,this),M("text",{fg:H.muted,children:"j/k select \xB7 enter confirm"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}return M("box",{style:n,children:[M("text",{fg:H.warning,attributes:X,children:"Reconnect your monitoring provider in Sentry"},void 0,!1,void 0,this),M("text",{fg:H.muted,children:"This run will resume after the connection is restored."},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}var LP=[" \u2584\u2584\u2584 "," \u2584\u2588\u2588\u2588\u2588\u2588\u2584 ","\u2588\u2588\u2588 \u25CF \u2588\u2588\u2588"," \u2580\u2588\u2588\u2588\u2588\u2588\u2580 "," \u2580\u2580\u2580\u2580\u2580 "];function IP({width:e}){let t=S();return M("box",{style:{flexDirection:"column",paddingLeft:1,paddingTop:1},children:[LP.map((r,H)=>M("text",{fg:t.accent,children:` ${r}`},H,!1,void 0,this)),M("text",{fg:t.text,attributes:X,children:`
|
|
13
|
+
Ask Seer anything about your application.`},void 0,!1,void 0,this),M("text",{fg:t.muted,children:" Try one of these:"},void 0,!1,void 0,this),Un.map((r,H)=>M("text",{fg:t.accent,children:` ${H+1}. ${vr(r,Math.max(1,e-6))[0]??r}`},r,!1,void 0,this)),M("text",{fg:t.subText,children:`
|
|
14
|
+
${ve(we("sentry.seer.compose"))} to type, ${ve(we("sentry.nav.open"))} to send, ${ve(we("sentry.seer.newChat"))} new, ${ve(we("sentry.seer.history"))} history`},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function rO(){return{mode:"conversation",inputFocused:!0,slashSelected:0}}function bP(e){switch(e.input_type){case"file_change_approval":return{mode:"fileApproval",pendingId:e.id,index:0,decisions:[]};case"ask_user_question":return{mode:"question",pendingId:e.id,index:0,answers:[],selected:0,inputFocused:!1};case"agent_write_approval":case"reauth_monitoring_provider":return{mode:"blockingInput",pendingId:e.id}}}function HO(e,t){switch(t.type){case"pendingChanged":if(t.pending)return bP(t.pending);return"pendingId"in e?{mode:"conversation",inputFocused:!1,slashSelected:0}:e;case"inputChanged":return e.mode==="conversation"&&e.slashSelected!==0?{...e,slashSelected:0}:e;case"focusInput":if(e.mode==="conversation")return{...e,inputFocused:!0};if(e.mode==="question"&&t.allowQuestion)return{...e,inputFocused:!0};return e;case"blurInput":if(e.mode==="conversation"||e.mode==="question")return{...e,inputFocused:!1};return e;case"moveSlashSelection":if(e.mode!=="conversation"||t.count===0)return e;return{...e,slashSelected:(e.slashSelected+t.direction+t.count)%t.count};case"openHistory":return e.mode==="conversation"?{mode:"history",selected:0}:e;case"closeHistory":return e.mode==="history"?{mode:"conversation",inputFocused:!0,slashSelected:0}:e;case"startNewChat":return{mode:"conversation",inputFocused:!0,slashSelected:0};case"moveHistorySelection":{if(e.mode!=="history")return e;let r=Math.max(0,Math.min(e.selected+t.direction,Math.max(0,t.count-1)));return r===e.selected?e:{...e,selected:r}}case"moveQuestionSelection":if(e.mode!=="question")return e;return{...e,selected:(e.selected+t.direction+t.optionCount+1)%(t.optionCount+1),inputFocused:!1};case"selectQuestionOption":return e.mode==="question"?{...e,selected:t.index,inputFocused:!1}:e;case"selectOtherAnswer":return e.mode==="question"?{...e,selected:t.optionCount,inputFocused:!0}:e;case"commitQuestionAnswer":if(e.mode!=="question")return e;return t.final?{...e,inputFocused:!1}:{...e,index:e.index+1,answers:[...e.answers,t.answer],selected:0,inputFocused:!1};case"recordFileDecision":if(e.mode!=="fileApproval"||t.final)return e;return{...e,index:e.index+1,decisions:[...e.decisions,t.approved]}}}import{jsxDEV as so}from"h:6___________________________";function TP(e){let t=e?.questions;if(!Array.isArray(t))return[];return t.flatMap((r)=>{if(!r||typeof r!=="object")return[];let H=r;if(typeof H.question!=="string"||!Array.isArray(H.options))return[];let n=H.options.flatMap((o)=>{if(!o||typeof o!=="object")return[];let s=o;return typeof s.label==="string"?[{label:s.label,description:String(s.description??"")}]:[]});return[{question:H.question,options:n}]})}function oO({client:e,org:t,state:r,width:H,height:n,focused:o,registerActions:s,navigateToScreen:i,notify:a}){let l=wP(Vn),c=r.searchQuery,A=er((u)=>r.dispatch({type:"setSearchQuery",payload:u}),[r.dispatch]);return so(Ci,{chat:l,client:e,org:t,width:H,height:n,focused:o,value:c,setValue:A,registerActions:s,navigateToScreen:i,notify:a},void 0,!1,void 0,this)}function Ci({chat:e,client:t,org:r,width:H,height:n,focused:o,value:s,setValue:i,registerActions:a,navigateToScreen:l,notify:c}){let A=S(),[u,d]=xP(HO,void 0,rO),m=e?.pendingInput?.id,g=e?.pendingInput?.input_type,p=u.mode==="history",O=u.mode==="history"?u.selected:0,y=u.mode==="conversation"?u.slashSelected:0,L=u.mode==="fileApproval"?u.index:0,f=u.mode==="fileApproval"?u.decisions:[],k=u.mode==="question"?u.index:0,I=u.mode==="question"?u.answers:[],h=u.mode==="question"?u.selected:0,b=nO(()=>e?Hg(e.capabilities,{hasRun:e.started,hasCodeChanges:e.codeChanges.length>0}):[],[e]),w=nO(()=>{if(!s.startsWith("/")||s.includes(" "))return[];let C=s.toLowerCase();return b.filter((v)=>v.title.startsWith(C))},[b,s]);Mi(()=>d({type:"inputChanged"}),[s]),Mi(()=>{d({type:"pendingChanged",pending:m&&g?{id:m,input_type:g}:null})},[m,g]);let T=er(()=>{if(!e)return;e.loadRuns(),d({type:"openHistory"})},[e]),q=er(()=>{if(!e||e.readOnly||e.thinking)return;let C=e.codeChanges.filter((v)=>v.status==="needs_push"||v.status==="error");for(let v of C)e.createPR(v.repoName);if(C.length>0)c({kind:"info",text:`${C.some((v)=>v.prNumber)?"Updating":"Creating"} ${C.length===1?"pull request":"pull requests"}\u2026`})},[e,c]),E=er((C)=>{if(!e)return;switch(i(""),C.id){case"new":e.reset(),d({type:"startNewChat"});return;case"history":T();return;case"create-pr":q();return;case"conversations":if(e.runId!==null)l("explore.conversations",{query:`gen_ai.conversation.id:${JSON.stringify(String(e.runId))}`});return;case"code-mode-off":case"code-mode-on":case"code-mode-only":{let v=C.id.replace("code-mode-","");e.setCodeMode(v),c({kind:"info",text:`Seer ${C.title.slice(1)}`});return}case"bash-mode-off":case"bash-mode-on":{let v=C.id.endsWith("-on");e.setBashMode(v),c({kind:"info",text:`Seer bash mode ${v?"on":"off"}`});return}case"thinking-off":case"thinking-on":e.setShowThinking(C.id.endsWith("-on"));return}},[e,l,c,T,q,i]),D=TP(e?.pendingInput?.data),x=D[k],P=Boolean(x&&h===x.options.length),N=er((C)=>{if(!e?.pendingInput||!x)return;let v=[...I,C],pe=k+1>=D.length;if(d({type:"commitQuestionAnswer",answer:C,final:pe}),pe){e.respond(e.pendingInput.id,{answers:v}),i("");return}i("")},[e,x,I,k,D.length,i]),F=er(()=>{if(!e)return!1;if(e.pendingInput?.input_type==="ask_user_question"&&P){let v=s.trim();if(v)N(v);return!0}let C=w[y]??b.find((v)=>v.title===s.trim().toLowerCase());if(C)return E(C),!0;if(e.thinking||e.readOnly||e.pendingInput||s.trim()==="")return!0;return e.send(s),i(""),!0},[e,b,N,E,P,i,y,s,w]),j=er((C)=>{if(e?.pendingInput?.input_type!=="file_change_approval")return;let v=Array.isArray(e.pendingInput.data.patches)?e.pendingInput.data.patches:[],pe=[...f,C],Me=L+1>=v.length;if(d({type:"recordFileDecision",approved:C,final:Me}),Me)e.respond(e.pendingInput.id,{decisions:pe})},[e,f,L]),U=er((C)=>{let v=e?.pendingInput;if(!v)return!1;if(v.input_type==="file_change_approval"){if(C.name.toLowerCase()==="y")j(!0);else if(C.name.toLowerCase()==="x")j(!1);else return!1;return!0}if(v.input_type==="agent_write_approval"){if(C.name.toLowerCase()==="x")return e.respond(v.id,{decision:"reject"}),!0;if(C.name.toLowerCase()!=="y")return!1;let Me=v.data.session_id,de=v.data.required_scopes,re=Array.isArray(de)?de.filter((ue)=>typeof ue==="string"):[];if(typeof Me==="string")e.approveWrite(v.id,Me,re);return!0}if(v.input_type!=="ask_user_question"||!x)return!1;if(Q("sentry.nav.up",C)||C.name.toLowerCase()==="up")return d({type:"moveQuestionSelection",direction:-1,optionCount:x.options.length}),!0;if(Q("sentry.nav.down",C)||C.name.toLowerCase()==="down")return d({type:"moveQuestionSelection",direction:1,optionCount:x.options.length}),!0;if(C.name.toLowerCase()==="o")return d({type:"selectOtherAnswer",optionCount:x.options.length}),!0;let pe=Number(C.name)-1;if(pe>=0&&pe<x.options.length)return d({type:"selectQuestionOption",index:pe}),!0;if(Q("sentry.nav.open",C)&&!P){let Me=x.options[h];if(Me)N(Me.label);return!0}return!1},[e,N,x,P,h,j]),z=er((C)=>{if(w.length===0)return!1;let v=C.name.toLowerCase();if(v==="up")return d({type:"moveSlashSelection",direction:-1,count:w.length}),!0;if(v==="down")return d({type:"moveSlashSelection",direction:1,count:w.length}),!0;return!1},[w.length]),oe=er((C)=>{if(!e)return!1;if(e.pendingInput&&U(C))return!0;if(p){let v=e.runs.state==="ready"?e.runs.value.length:0;if(Q("sentry.nav.down",C))return d({type:"moveHistorySelection",direction:1,count:v}),!0;if(Q("sentry.nav.up",C))return d({type:"moveHistorySelection",direction:-1,count:v}),!0;if(Q("sentry.nav.open",C)&&e.runs.state==="ready"){let pe=e.runs.value[O];if(pe)e.switchRun(pe.id),d({type:"closeHistory"});return!0}return!1}if(Q("sentry.seer.compose",C)||Q("sentry.nav.open",C))return d({type:"focusInput",allowQuestion:P}),!0;if(Q("sentry.seer.newChat",C))return e.reset(),i(""),d({type:"startNewChat"}),!0;if(Q("sentry.seer.history",C))return T(),!0;if(Q("sentry.seer.pushChanges",C)&&e.codeChanges.length>0)return q(),!0;if(Q("sentry.seer.interrupt",C)){if(e.thinking)e.interrupt();return!0}if(e.blocks.length===0&&!C.ctrl&&!C.meta){let v=Un[Number(C.name)-1];if(v!==void 0)return e.send(v),!0}return!1},[e,U,O,T,q,i,p]),ie=er(()=>{if(!p)return!1;return d({type:"closeHistory"}),!0},[p]),G=u.mode==="conversation"||u.mode==="question"?u.inputFocused:!1,Y=o&&G&&!p&&!e?.readOnly&&(!e?.pendingInput||e.pendingInput.input_type==="ask_user_question"&&P);if(Mi(()=>(a({inputFocused:()=>Y,submitInput:F,blurInput:()=>d({type:"blurInput"}),handleInputKey:z,handleKey:oe,back:ie}),()=>a(null)),[ie,Y,z,oe,a,F]),!e)return so("text",{fg:A.muted,children:"Seer is unavailable."},void 0,!1,void 0,this);if(!e.capabilities.available)return so("text",{fg:A.muted,children:"Seer Agent is not enabled for this organization."},void 0,!1,void 0,this);let ee=P?"Type your own answer\u2026":e.readOnly?"This conversation is owned by another user and is read-only":void 0;return so(tO,{chat:e,client:t,org:r,width:H,height:n,focused:o,value:s,onInput:i,inputFocused:Y,onInputFocus:()=>d({type:"focusInput",allowQuestion:P}),onInputBlur:()=>d({type:"blurInput"}),slashCommands:w,slashSelected:y,showHistory:p,historySelected:O,pendingState:{fileApprovalIndex:L,questionIndex:k,questionSelected:h},placeholderOverride:ee},void 0,!1,void 0,this)}import{jsxDEV as iO}from"h:6___________________________";function NP(e){return`Please try to root cause and propose a fix for issue ${e.shortId}: ${Kr(e)} (${e.permalink})`}function aO({issue:e,chat:t,client:r,org:H,navigateToScreen:n,notify:o,onClose:s}){let i=QP(),[a,l]=MP(""),c=sO(null),A=sO(!1),u=Math.min(100,Math.max(40,i.width-8)),d=Math.min(40,Math.max(18,i.height-6)),m=nH({width:u,height:d,terminalWidth:i.width,terminalHeight:i.height}),g=PP((p)=>{c.current=p},[]);return qP(()=>{if(A.current)return;A.current=!0,t.send(NP(e))},[t.send,e]),CP((p)=>{let O=c.current;if(O?.inputFocused?.()){if(Q("sentry.nav.back",p)){O.blurInput?.(),je(p);return}if(Q("sentry.nav.open",p)){O.submitInput?.(),je(p);return}if(O.handleInputKey?.(p))je(p);return}if(Q("sentry.nav.back",p)){if(!O?.back?.())s();je(p);return}if(O?.handleKey?.(p)){je(p);return}je(p)}),iO(ar,{title:` Autofix \xB7 ${e.shortId} `,width:u,height:d,onClose:s,children:iO(Ci,{chat:t,client:r,org:H,width:Math.max(10,m.width-4),height:Math.max(8,m.height-3),focused:!0,value:a,setValue:l,registerActions:g,navigateToScreen:(p,O)=>{s(),n(p,O)},notify:o},void 0,!1,void 0,this)},void 0,!1,void 0,this)}import{useState as cO}from"h:0__";import{useKeyboard as jP}from"h:4___________";import{jsxDEV as EH}from"h:6___________________________";var DP=76,RP=8;function lO({onSubmit:e,onClose:t}){let r=S(),[H,n]=cO(""),[o,s]=cO();jP((a)=>{Rt([()=>{if(Q("sentry.nav.back",a))return t(),"mine";if(Q("sentry.nav.open",a))return s(e(H)),"mine";return"notMine"}],a,je)});let i=o?.kind==="unsupported"?"Not implemented":"Invalid URL";return EH(ar,{title:" Open Sentry URL ",width:DP,height:RP,onClose:t,children:[EH("text",{fg:r.muted,children:"Paste a sentry.io URL"},void 0,!1,void 0,this),EH("input",{value:H,placeholder:"https://acme.sentry.io/issues/\u2026",focused:!0,onInput:(a)=>{n(a),s(void 0)},style:{marginTop:1,textColor:r.text,backgroundColor:r.panel,focusedTextColor:r.text,focusedBackgroundColor:r.panel,placeholderColor:r.subText}},void 0,!1,void 0,this),o?EH("text",{fg:o.kind==="invalid"?r.danger:r.warning,children:`${i}: ${o.message}`},void 0,!1,void 0,this):EH("text",{fg:r.subText,children:"enter open \xB7 esc cancel"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}var AO="./assets/compass_active-mcnd0q22.png";var uO="./assets/compass_inactive-ddbmyj5v.png";var dO="./assets/compass_active_light-v08f7cvf.png";var pO="./assets/compass_inactive_light-wwd8x0j5.png";var mO="./assets/dashboard_active-3k2ysmyr.png";var gO="./assets/dashboard_inactive-a3pdwyw3.png";var OO="./assets/dashboard_active_light-j060573s.png";var yO="./assets/dashboard_inactive_light-47zscdjm.png";var fO="./assets/issues_active-k2k0e07f.png";var SO="./assets/issues_inactive-5jhnttk9.png";var _O="./assets/issues_active_light-ppxjynwp.png";var kO="./assets/issues_inactive_light-efzr1ggk.png";var hO="./assets/monitors_active-ypv5rjbw.png";var LO="./assets/monitors_inactive-vncjn4xh.png";var IO="./assets/monitors_active_light-7en9bsxt.png";var bO="./assets/monitors_inactive_light-3p8t6ysq.png";var wO="./assets/seer_active-s87c2fsc.png";var xO="./assets/seer_inactive-vnbwgb8m.png";var TO="./assets/seer_active_light-qr5zb8g1.png";var PO="./assets/seer_inactive_light-g6ryga4y.png";var qO="./assets/sentry-a94jrdn1.png";var MO="./assets/sentry_light-xph1a1zb.png";var CO={compass_active:AO,compass_inactive:uO,dashboard_active:mO,dashboard_inactive:gO,issues_active:fO,issues_inactive:SO,monitors_active:hO,monitors_inactive:LO,seer_active:wO,seer_inactive:xO,sentry:qO},i5={dark:CO,light:{compass_active:dO,compass_inactive:pO,dashboard_active:OO,dashboard_inactive:yO,issues_active:_O,issues_inactive:kO,monitors_active:IO,monitors_inactive:bO,seer_active:TO,seer_inactive:PO,sentry:MO}};function Qi(e,t="dark"){return Nn(i5[t][e])}var jF=Object.keys(CO);import{jsxDEV as DO}from"h:6___________________________";var a5={issues:"issues",explore:"compass",dashboards:"dashboard",seer:"seer",monitors:"monitors"},QO=1,KH=2;function NO({groupId:e,active:t}){let r=S(),H=t?"active":"inactive";return DO("image",{source:Qi(`${a5[e]}_${H}`,r.mode),fit:"fit",style:{width:KH,height:QO}},void 0,!1,void 0,this)}function jO(){let e=S();return DO("image",{source:Qi("sentry",e.mode),fit:"fit",style:{width:KH,height:QO}},void 0,!1,void 0,this)}import{jsxDEV as ht}from"h:6___________________________";var RO="sentry.app.switchOrg",io=2,ao=1,c5=1,l5=1,vO=1,Ni=4,GO=Math.max(...Ut.map((e)=>ce(e.label))),EO=(()=>{let e=ve(we(RO));return e?1+ce(e):0})(),A5=KH+vO+GO,u5=io+1+GO+EO,ji=Ni+Math.max(A5,u5),Di=Ni+KH,KO=1,d5=2,XO=1,BO=1+KO+ao;function WO({active:e,expanded:t,focused:r,hotkeys:H,avatarUrl:n,orgSlug:o,onSelect:s,onExpand:i,onOrgPress:a,groups:l=Ut}){let c=S(),A=t?ji:Di,u=A-Ni,{supportsHighRes:d}=Zt(),m=t?u-(d&&n?io+1:0)-EO:0;return ht("box",{style:{width:A,flexShrink:0,flexDirection:"column",border:!0,borderColor:r?c.borderFocused:c.border,paddingLeft:1,paddingRight:1},onMouseDown:t?void 0:i,children:[o||d&&n?ht("box",{style:{height:d?ao:1,flexDirection:"column",alignItems:t?"stretch":"center",marginTop:KO,marginBottom:d5},onMouseDown:t?a:void 0,children:t?ht("box",{style:{flexDirection:"row",alignItems:"center",gap:1},children:[d&&n?ht("image",{source:n,fit:"fit",style:{width:io,height:ao}},void 0,!1,void 0,this):null,o?ht("text",{fg:c.text,attributes:1,children:R(o,m)},void 0,!1,void 0,this):null,ht("box",{style:{flexDirection:"row"},children:ht(Pt,{command:RO},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this):d&&n?ht("image",{source:n,fit:"fit",style:{width:io,height:ao}},void 0,!1,void 0,this):o?ht("text",{fg:c.text,attributes:1,children:Array.from(o)[0]?.toUpperCase()},void 0,!1,void 0,this):null},void 0,!1,void 0,this):null,ht("box",{style:{flexDirection:"column",gap:d?l5:0},children:l.map((g)=>{let p=g.id===e;return ht("box",{style:{flexDirection:"row",alignItems:"center",gap:d?vO:0,height:c5},onMouseDown:t?()=>s?.(g.id):void 0,children:[d?ht(NO,{groupId:g.id,active:p},void 0,!1,void 0,this):null,t?ht(iH,{label:g.label,hotkey:H?.get(g.id),fg:p?c.accent:c.muted,bold:p},void 0,!1,void 0,this):d?null:ht("text",{fg:p?c.accent:c.muted,attributes:p?1:0,children:g.glyph},void 0,!1,void 0,this)]},g.id,!0,void 0,this)})},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}import{useCallback as p5,useEffect as m5,useMemo as g5,useState as Ri}from"h:0__";import{jsxDEV as O5}from"h:6___________________________";function FO({client:e,currentOrg:t,anchorLeft:r,anchorTop:H,onSelect:n,onClose:o}){let[s,i]=Ri([]),[a,l]=Ri(null),[c,A]=Ri(e!==null);m5(()=>{if(!e)return;let m=new AbortController;return A(!0),Bc(e,m.signal).then((g)=>{if(m.signal.aborted)return;i(g),l(null)}).catch((g)=>{if(m.signal.aborted)return;l(g instanceof Error?g.message:String(g))}).finally(()=>{if(!m.signal.aborted)A(!1)}),()=>m.abort()},[e]);let u=g5(()=>s.map((m)=>({label:m.slug,value:m.slug})),[s]),d=p5((m)=>{let g=m[0];if(g)n(g)},[n]);return O5(lt,{title:"Organization",items:u,selected:t?[t]:[],anchorLeft:r,anchorTop:H,showAll:!1,filterable:!0,placeholder:c?"Loading organizations\u2026":a??"No organizations",onSelect:d,onClose:o},void 0,!1,void 0,this)}var wr={sections:[]};function vi(e,t=wr){return[...yt(e).sections.map((H)=>({title:H.title,items:H.items.map((n)=>({label:n}))})),...t.sections]}function Gi(e,t=wr){return vi(e,t).flatMap((r)=>r.items)}function UO(e,t){return t.target??{group:e,item:t.label}}import{jsxDEV as Wr}from"h:6___________________________";var co=22,YO=co-4;function $O({group:e,activeItem:t,focused:r,extras:H=wr,hotkeys:n,onSelect:o}){let s=S(),i=yt(e),a=vi(e,H);return Wr("box",{style:{width:co,flexShrink:0,flexDirection:"column",overflow:"hidden",border:!0,borderColor:r?s.borderFocused:s.border,paddingTop:1,paddingLeft:1,paddingRight:1},children:[Wr("text",{fg:s.text,attributes:1,children:i.label},void 0,!1,void 0,this),a.map((l,c)=>Wr("box",{style:{flexDirection:"column",flexShrink:0},children:[Wr("text",{fg:s.border,children:"\u2500".repeat(YO)},void 0,!1,void 0,this),l.title?Wr("text",{fg:s.muted,children:l.title},void 0,!1,void 0,this):null,l.items.map((A,u)=>{let d=A.label===t;return Wr("box",{style:{flexDirection:"row",height:1,flexShrink:0},onMouseDown:()=>o?.(A),children:Wr(iH,{label:R(A.label,YO),hotkey:n?.get(A.label),fg:d?s.accent:s.muted,bold:d},void 0,!1,void 0,this)},`${c}:${u}:${A.label}`,!1,void 0,this)})]},c,!0,void 0,this))]},void 0,!0,void 0,this)}import{jsxDEV as pt,Fragment as k5}from"h:6___________________________";function y5(e,t){return e==="error"?t.danger:t.highlight}function f5({commandId:e,label:t}){let r=S();if(!we(e))return null;return pt(k5,{children:[pt(Pt,{command:e},void 0,!1,void 0,this),pt("text",{children:" "},void 0,!1,void 0,this),t?pt("text",{fg:r.muted,children:t},void 0,!1,void 0,this):null]},void 0,!0,void 0,this)}function S5({onPress:e}){let t=S();return pt("box",{style:{flexDirection:"row",flexShrink:0},onMouseDown:e,children:[pt("text",{fg:t.highlight,attributes:X,children:"Update"},void 0,!1,void 0,this),pt("text",{fg:t.subText,children:" \xB7 "},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function VO({notice:e,hints:t,since:r,onUpdate:H}){let n=S(),o=e.kind==="loading",s=_i(o),i=e.text;if(o){let a=r===void 0?void 0:Date.now()-r,l=a!==void 0&&a>=2000?` ${(a/1000).toFixed(1)}s`:"";i=`${s} ${e.text}${l}`}return pt("box",{style:{height:1,flexShrink:0,flexDirection:"row",backgroundColor:n.panel,paddingLeft:1,paddingRight:1},children:[H?pt(S5,{onPress:H},void 0,!1,void 0,this):null,pt("text",{fg:y5(e.kind,n),children:i},void 0,!1,void 0,this),pt("box",{style:{flexGrow:1}},void 0,!1,void 0,this),t.map(({command:a,label:l},c)=>{if(!we(a))return null;return pt("box",{style:{flexDirection:"row"},children:[c>0?pt("text",{fg:n.subText,children:" \xB7 "},void 0,!1,void 0,this):null,pt(f5,{commandId:a,label:l},void 0,!1,void 0,this)]},a,!0,void 0,this)}),pt(_5,{},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function _5(){let{supportsHighRes:e}=Zt();if(!e)return null;return pt("box",{style:{marginLeft:1},children:pt(jO,{},void 0,!1,void 0,this)},void 0,!1,void 0,this)}import{useKeyboard as h5}from"h:4___________";import{jsxDEV as lo}from"h:6___________________________";var L5=84,I5=12;function ZO({url:e,onClose:t}){let r=S();return h5((H)=>{Rt([()=>{if(!Q("sentry.nav.back",H))return"notMine";return t(),"mine"}],H,je)}),lo(ar,{title:" Open in Sentry ",width:L5,height:I5,onClose:t,children:[lo("text",{fg:r.warning,children:"Could not launch a browser. Open this production URL:"},void 0,!1,void 0,this),lo("text",{fg:r.text,style:{wrapMode:"char"},children:e},void 0,!1,void 0,this),lo("text",{fg:r.subText,children:"esc close"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}import{useCallback as b5,useMemo as w5,useRef as x5,useState as T5}from"h:0__";function zO(e,t){let[r,H]=T5(t??e[0]),n=x5(r);n.current=r;let o=b5((s)=>{let a=(e.indexOf(n.current)+s+e.length)%e.length;H(e[a])},[e]);return w5(()=>({focused:r,focusedRef:n,isFocused:(s)=>r===s,focus:H,next:()=>o(1),prev:()=>o(-1)}),[r,o])}import{useCallback as or,useMemo as An,useReducer as g9,useState as O9}from"h:0__";var JO=/[a-z0-9]/i;function P5(e){let t=[...e],r=[],H=[];return t.forEach((n,o)=>{if(!JO.test(n))return;let s=t[o-1];if(s===void 0||!JO.test(s))r.push(o);else H.push(o)}),[...r,...H]}function ey(e,t=[]){let r=new Set;for(let H of t)r.add(H.toLowerCase());return e.map((H)=>{let n=[...H];for(let s of P5(H)){let i=n[s].toLowerCase();if(r.has(i))continue;return r.add(i),{key:i,index:s}}let o=[..."abcdefghijklmnopqrstuvwxyz0123456789"].find((s)=>!r.has(s));if(!o)return;return r.add(o),{key:o,index:-1}})}var q5=[we("sentry.nav.goto"),we("sentry.app.switchOrg")].filter(Boolean);function ty(e,t=Ut){let r=yt(e).sections.flatMap((i)=>i.items),H=ey([...t.map((i)=>i.label),...r],q5),n=new Map,o=new Map,s=new Map;return t.forEach((i,a)=>{let l=H[a];if(!l)return;n.set(i.id,l),s.set(l.key,{kind:"group",group:i.id})}),r.forEach((i,a)=>{let l=H[t.length+a];if(!l)return;o.set(i,l),s.set(l.key,{kind:"item",item:i})}),{groups:n,items:o,byKey:s}}var ry=" \u203A ",M5="\u2026";function Hy(e,t){let r=e.filter((n)=>Boolean(n&&n.trim()));if(r.length===0||t<=0)return"";let H=r.join(ry);if(ce(H)<=t)return H;for(let n=1;n<r.length;n++){let o=[M5,...r.slice(n)].join(ry);if(ce(o)<=t)return o}return R(r[r.length-1],t)}import{useCallback as Fr,useMemo as Ei,useReducer as C5,useRef as ny}from"h:0__";function tr(e){if(e.entriesSource!==null&&e.entriesSource!==e.source)throw Error(`Screen "${e.source}" cannot read rows written by "${e.entriesSource}" from shared state "${e.key}"`);return e.entries}var oy="__unregistered__";function XH(e,t=[]){let r=El(e),H=r.query??"";return{entries:[],entriesSource:null,selected:0,status:{loading:!1},openDropdown:null,selectedProjects:[...t],selectedEnvs:[],statsPeriod:r.statsPeriod??xt,sort:r.sort??Sn,detailOpen:!1,searchQuery:H,committedQuery:H,searchFocused:!1,queryBeforeEdit:H}}function Q5(e,t){return{...XH(e,t.selectedProjects),entriesSource:t.source,selected:t.selected,selectedProjects:[...t.selectedProjects],selectedEnvs:[...t.selectedEnvs],statsPeriod:t.statsPeriod,sort:t.sort,detailOpen:t.detailOpen,searchQuery:t.query,committedQuery:t.query,queryBeforeEdit:t.query}}function N5(e,t,r,H){let n=new Map;for(let[o,s]of Object.entries(H??{}))n.set(o,Q5(o,s));if(r&&!n.has(e))n.set(e,Ao(XH(e,t),{type:"seed",payload:r}));return n}function j5(e,t){return e.loading===t.loading&&e.since===t.since&&e.error===t.error&&e.noun===t.noun}function Ao(e,t,r){switch(t.type){case"setEntries":{if(!r)throw Error("setEntries requires a screen source");let H=e.entriesSource===r?e.entries:[],n=typeof t.payload==="function"?t.payload(H):t.payload;if(n===e.entries&&e.entriesSource===r)return e;let o=Math.min(e.entriesSource===r?e.selected:0,Math.max(0,n.length-1));return{...e,entries:n,entriesSource:r,selected:o}}case"setSelected":{let H=r===void 0||e.entriesSource===r,n=H?e.selected:0,o=typeof t.payload==="function"?t.payload(n):t.payload,s=H?e.entries.length:0,i=Math.max(0,Math.min(o,Math.max(0,s-1)));return i===e.selected?e:{...e,selected:i}}case"setStatus":return j5(e.status,t.payload)?e:{...e,status:t.payload};case"setOpenDropdown":return e.openDropdown===t.payload?e:{...e,openDropdown:t.payload};case"setSelectedProjects":return{...e,selectedProjects:t.payload};case"setSelectedEnvs":return{...e,selectedEnvs:t.payload};case"setStatsPeriod":return e.statsPeriod===t.payload?e:{...e,statsPeriod:t.payload};case"setSort":return e.sort===t.payload?e:{...e,sort:t.payload};case"setDetailOpen":{let H=typeof t.payload==="function"?t.payload(e.detailOpen):t.payload;return H===e.detailOpen?e:{...e,detailOpen:H}}case"setSearchQuery":return e.searchQuery===t.payload?e:{...e,searchQuery:t.payload};case"focusSearch":return{...e,queryBeforeEdit:e.committedQuery,searchFocused:!0};case"submitSearch":return{...e,committedQuery:e.searchQuery,searchFocused:!1};case"cancelSearch":case"handleSearchBlur":return{...e,searchQuery:e.queryBeforeEdit,searchFocused:!1};case"resetOrgScoped":return{...e,entries:[],entriesSource:null,selected:0,status:{loading:!1},openDropdown:null,selectedProjects:[...t.payload.projects],selectedEnvs:[],detailOpen:!1,searchFocused:!1};case"seed":{let H=t.payload.query??e.searchQuery;return{...e,searchQuery:H,committedQuery:H,queryBeforeEdit:H,sort:t.payload.sort??e.sort,statsPeriod:t.payload.statsPeriod??e.statsPeriod,selectedProjects:t.payload.selectedProjects??e.selectedProjects,selectedEnvs:t.payload.selectedEnvs??e.selectedEnvs}}}}function D5(e,t){if(t.type==="resetOrgScoped"){let o=new Map;for(let[s,i]of e)o.set(s,Ao(i,{type:"resetOrgScoped",payload:{projects:t.projects}}));return o}let r=new Map(e);if(t.type==="seed")return r.set(t.key,Ao(XH(t.key),{type:"seed",payload:t.values})),r;let H=e.get(t.key)??t.fallback,n=Ao(H,t.action,t.source);if(n===H&&e.has(t.key))return e;return r.set(t.key,n),r}function sy(e,t,r=[],H,n){let o=e??oy,[s,i]=C5(D5,void 0,()=>N5(o,r,H,n)),a=ny(r);a.current=r;let l=ny(!1),c=Fr((f)=>{i({type:"dispatch",key:o,source:t,action:f,fallback:XH(o,a.current)})},[o,t]),A=Fr(()=>c({type:"focusSearch"}),[c]),u=Fr(()=>{l.current=!0,c({type:"submitSearch"})},[c]),d=Fr(()=>{l.current=!0,c({type:"cancelSearch"})},[c]),m=Fr(()=>{if(l.current){l.current=!1;return}c({type:"handleSearchBlur"})},[c]),g=Ei(()=>s.get(o)??XH(o,r),[s,o,r]),p=Ei(()=>({...g,entries:g.entriesSource===null||g.entriesSource===t?g.entries:[],selected:g.entriesSource===null||g.entriesSource===t?g.selected:0,key:o,source:t,dispatch:c,focusSearch:A,submitSearch:u,cancelSearch:d,handleSearchBlur:m}),[g,o,t,c,A,u,d,m]),O=Fr((f=[])=>{i({type:"resetOrgScoped",projects:[...f]})},[]),y=Fr((f,k)=>{i({type:"seed",key:f,values:k})},[]),L=Ei(()=>{let f={};for(let[k,I]of s){if(k===oy)continue;f[k]={source:I.entriesSource,selected:I.selected,query:I.committedQuery,sort:I.sort,statsPeriod:I.statsPeriod,selectedProjects:[...I.selectedProjects],selectedEnvs:[...I.selectedEnvs],detailOpen:I.detailOpen}}return f},[s]);return{active:p,resetOrgScoped:O,seed:y,snapshots:L}}import{useMemo as Cq}from"h:0__";var Ki=20;var R5=[{value:"mostStarred",label:"Most Starred"},{value:"recentlyViewed",label:"Recently Viewed"},{value:"name",label:"Name (A-Z)"},{value:"-name",label:"Name (Z-A)"},{value:"-dateAdded",label:"Created (Newest)"},{value:"dateAdded",label:"Created (Oldest)"}],v5=[{value:"myqueries",label:"My Queries"},{value:"-dateUpdated",label:"Recently Edited"},{value:"name",label:"Name (A-Z)"},{value:"-dateCreated",label:"Created (Newest)"},{value:"dateCreated",label:"Created (Oldest)"},{value:"dateUpdated",label:"Most Outdated"},{value:"mostPopular",label:"Most Popular"},{value:"recentlyViewed",label:"Recently Viewed"}];function Xi(e){return e==="explore"?R5:v5}function iy(e,t){if(Xi(t).some((H)=>H.value===e))return e;return t==="explore"?"mostStarred":"myqueries"}var ay={logs:"Logs",spans:"Traces",segment_spans:"Traces",metrics:"Metrics",replays:"Replays",ai_conversations:"Conversations"},G5={logs:"logs",spans:"spans",segment_spans:"spans",metrics:"tracemetrics",replays:"replays",ai_conversations:"spans"};async function E5(e,{org:t,starred:r,search:H,sort:n="recentlyViewed",limit:o=50,cursor:s,signal:i}){let a=await e.request(`/organizations/${t}/explore/saved/`,{query:{sortBy:["starred",n],per_page:o,starred:r?1:void 0,query:H||void 0,cursor:s},signal:i});return{...a,data:py(a.data).map(cy).filter(dy)}}function cy(e,t){let r=X5(e.dataset),H=K5(e.query);return{id:mt(e.id)??String(t),source:"explore",name:mt(e.name)??"Untitled query",datasetLabel:ay[r],dataset:G5[r],query:mt(H?.query)??"",fields:uo(H?.fields),sort:mt(H?.orderby),projects:my(e.projects),environment:uo(e.environment),statsPeriod:mt(e.range),lastVisited:mt(e.lastVisited),dateUpdated:mt(e.dateUpdated),starred:e.starred===!0,createdBy:e.isPrebuilt===!0?void 0:gy(e.createdBy),isPrebuilt:e.isPrebuilt===!0}}function K5(e){if(!Array.isArray(e))return;let t=e[0];return typeof t==="object"&&t!==null?t:void 0}function X5(e){let t=String(e??"spans");return t in ay?t:"spans"}var B5={"error-events":"Errors","transaction-like":"Transactions",discover:"Discover"},W5={"error-events":"errors","transaction-like":"transactions",discover:"discover"};async function F5(e,{org:t,search:r,sort:H="myqueries",limit:n=50,cursor:o,signal:s}){let i=r?.trim(),a=await e.request(`/organizations/${t}/discover/saved/`,{query:{query:i?`version:2 name:"${i}"`:"version:2",sortBy:H,per_page:n,cursor:o},signal:s});return{...a,data:py(a.data).map(ly).filter(dy)}}function ly(e,t){let r=mt(e.queryDataset)??"discover";return{id:mt(e.id)??String(t),source:"discover",name:mt(e.name)??"Untitled query",datasetLabel:B5[r]??"Discover",dataset:W5[r]??"discover",query:mt(e.query)??"",fields:uo(e.fields),sort:Array.isArray(e.orderby)?mt(e.orderby[0]):mt(e.orderby),projects:my(e.projects),environment:uo(e.environment),statsPeriod:mt(e.range),dateUpdated:mt(e.dateUpdated),starred:!1,createdBy:gy(e.createdBy),isPrebuilt:!1}}async function Ay(e,{org:t,source:r,queryId:H,signal:n}){if(r==="explore"){let s=await e.request(`/organizations/${t}/explore/saved/${H}/`,{signal:n});return cy(s.data,0)}let o=await e.request(`/organizations/${t}/discover/saved/${H}/`,{signal:n});return ly(o.data,0)}function uy(e,t,r){return t==="explore"?E5(e,r):F5(e,r)}function dy(e){return e.fields.length>0}function py(e){return Array.isArray(e)?e.filter((t)=>typeof t==="object"&&t!==null):[]}function mt(e){if(e===void 0||e===null||e==="")return;return String(e)}function uo(e){return Array.isArray(e)?e.map((t)=>String(t)).filter(Boolean):[]}function my(e){if(!Array.isArray(e))return[];return e.map((t)=>Number(t)).filter((t)=>Number.isFinite(t))}function gy(e){if(!e)return;return mt(e.name)??mt(e.email)}import{useCallback as z5,useEffect as J5,useMemo as eq,useState as tq}from"h:0__";var Oy=[{value:"mydashboards",label:"My Dashboards"},{value:"title",label:"Name (A-Z)"},{value:"-title",label:"Name (Z-A)"},{value:"-dateCreated",label:"Newest Created"},{value:"dateCreated",label:"Oldest Created"},{value:"mostPopular",label:"Most Popular"},{value:"recentlyViewed",label:"Recently Viewed"}];function Bi(e){return e?Oy.filter((t)=>t.value!=="mydashboards"):Oy}function yy(e,t,r){return Bi(r).some((H)=>H.value===e)?e:t}var U5=50,Y5=20;async function fy(e,{org:t,filter:r,query:H,sort:n,limit:o=U5,cursor:s,signal:i}){let a=await Mc({...e.generatedOptions(i),path:{organization_id_or_slug:t},query:{filter:r?[r]:void 0,query:H||void 0,sort:n,pin:"favorites",per_page:o}},s);return e.generatedPage(a)}async function Sy(e,{org:t,limit:r=Y5,signal:H}){let n=await e.request(`/organizations/${t}/dashboards/starred/`,{query:{per_page:r},signal:H});return Array.isArray(n.data)?n.data:[]}async function _y(e,{org:t,id:r,signal:H}){let o=(await e.request(`/organizations/${t}/dashboards/${r}/`,{signal:H})).data;return{...o,widgets:Array.isArray(o?.widgets)?o.widgets:[]}}var ky={source:{repository:"https://github.com/getsentry/sentry",revision:"c8c670f927d1bae633f44289e43a49db8cfc294f",path:"static/app/views/dashboards/utils/prebuiltConfigs.tsx"},dashboards:{"1":{title:"Frontend Session Health",description:"Monitor browser session health by user and session.",widgets:[{id:"issue-counts",title:"Issue Counts",displayType:"bar",widgetType:"issue",queries:[{name:"",conditions:"",columns:[],aggregates:["count(new_issues)","count(resolved_issues)"],orderby:"",fields:["count(new_issues)","count(resolved_issues)"]}],interval:"5m",layout:{x:0,y:0,w:3,h:2,minH:2}},{id:"issues",title:"Issues",displayType:"table",widgetType:"issue",queries:[{name:"",conditions:"",columns:["issue","project","title"],aggregates:[],orderby:"",fields:["issue","project","title"]}],interval:"5m",layout:{x:3,y:0,w:3,h:2,minH:2}},{id:"unhealthy-sessions",title:"Unhealthy Sessions",displayType:"line",widgetType:"metrics",queries:[{name:"",conditions:"",columns:[],aggregates:["unhealthy_rate(session)"],orderby:"",fields:["unhealthy_rate(session)"]}],interval:"5m",layout:{x:0,y:2,w:3,h:3,minH:2}},{id:"user-health",title:"User Health",displayType:"area",widgetType:"metrics",queries:[{name:"",conditions:"",columns:[],aggregates:["abnormal_rate(user)","crash_rate(user)","errored_rate(user)","unhandled_rate(user)"],orderby:"",fields:["abnormal_rate(user)","crash_rate(user)","errored_rate(user)","unhandled_rate(user)"]}],interval:"5m",layout:{x:3,y:2,w:3,h:3,minH:2}},{id:"session-health",title:"Session Health",displayType:"area",widgetType:"metrics",queries:[{name:"",conditions:"",columns:[],aggregates:["abnormal_rate(session)","crash_rate(session)","errored_rate(session)","unhandled_rate(session)"],orderby:"",fields:["abnormal_rate(session)","crash_rate(session)","errored_rate(session)","unhandled_rate(session)"]}],interval:"5m",layout:{x:0,y:5,w:2,h:3,minH:2}},{id:"session-counts",title:"Session Counts",displayType:"line",widgetType:"metrics",queries:[{name:"",conditions:"",columns:["session.status"],aggregates:["sum(session)"],orderby:"",fields:["session.status","sum(session)"]}],interval:"5m",layout:{x:2,y:5,w:2,h:3,minH:2}},{id:"user-counts",title:"User Counts",displayType:"line",widgetType:"metrics",queries:[{name:"",conditions:"",columns:["session.status"],aggregates:["count_unique(user)"],orderby:"",fields:["session.status","count_unique(user)"]}],interval:"5m",layout:{x:4,y:5,w:2,h:3,minH:2}}]},"2":{title:"Queries",description:"Track database query throughput and duration, with per-query drill-downs.",widgets:[{id:"throughput",title:"Queries Per Minute",displayType:"line",widgetType:"spans",queries:[{name:"Queries Per Minute",conditions:"span.category:db has:sentry.normalized_description",columns:[],aggregates:["epm()"],orderby:"epm()",fields:["epm()"]}],interval:"5m",layout:{y:0,w:3,h:2,x:0,minH:2}},{id:"duration",title:"Average Duration",displayType:"line",widgetType:"spans",queries:[{name:"Average Duration",conditions:"span.category:db has:sentry.normalized_description",columns:[],aggregates:["avg(span.duration)"],orderby:"avg(span.duration)",fields:["avg(span.duration)"]}],interval:"5m",layout:{y:0,w:3,h:2,x:3,minH:2}},{id:"queries-table",title:"Queries List",displayType:"table",widgetType:"spans",queries:[{name:"",conditions:"span.category:db has:sentry.normalized_description",columns:["sentry.normalized_description"],aggregates:["epm()","avg(span.duration)","sum(span.duration)"],orderby:"-sum(span.duration)",fields:["sentry.normalized_description","epm()","avg(span.duration)","sum(span.duration)"],fieldAliases:["Query Description","Queries Per Minute","Avg Duration","Time Spent"]}],interval:"5m",layout:{y:2,w:6,h:6,x:0,minH:2}}]},"3":{title:"Query Details",description:"",widgets:[{id:"metrics-throughput",title:"Queries Per Minute",description:"",displayType:"big_number",widgetType:"spans",queries:[{name:"Queries Per Minute",conditions:"span.category:db has:sentry.normalized_description",columns:[],aggregates:["epm()"],orderby:"",fields:["epm()"]}],interval:"1h",layout:{y:0,x:2,h:1,w:2,minH:1}},{id:"metrics-duration",title:"Average Duration",description:"",displayType:"big_number",widgetType:"spans",queries:[{name:"Average Duration",conditions:"span.category:db has:sentry.normalized_description",columns:[],aggregates:["avg(span.duration)"],orderby:"",fields:["avg(span.duration)"]}],interval:"1h",layout:{y:0,x:0,h:1,w:2,minH:1}},{id:"metrics-time-spent",title:"Time Spent",description:"",displayType:"big_number",widgetType:"spans",queries:[{name:"",conditions:"span.category:db has:sentry.normalized_description",columns:[],aggregates:["sum(span.duration)"],orderby:"",fields:["sum(span.duration)"]}],interval:"1h",layout:{y:0,x:4,h:1,w:2,minH:1}},{id:"example-query",title:"Example Query",description:"",displayType:"details",widgetType:"spans",queries:[{name:"",conditions:"span.category:db has:sentry.normalized_description",columns:["id","span.op","span.group","span.description","span.category"],aggregates:[],orderby:"id",fields:["id","span.op","span.group","span.description","span.category"],fieldAliases:[]}],interval:"1h",limit:1,layout:{y:1,x:0,h:2,w:6,minH:2}},{id:"transactions-with-query",title:"Transactions with Query",description:"",displayType:"table",widgetType:"spans",queries:[{name:"",conditions:"span.category:db has:sentry.normalized_description",columns:["transaction"],aggregates:["epm()","sum(span.duration)"],orderby:"-sum(span.duration)",fields:["transaction","epm()","sum(span.duration)"],fieldAliases:["Found In","Queries Per Minute","Time Spent"]}],interval:"1h",layout:{y:5,x:0,h:2,w:6,minH:2}},{id:"metrics-throughput-line",title:"Queries Per Minute",description:"",displayType:"line",widgetType:"spans",queries:[{name:"Queries Per Minute",conditions:"span.category:db has:sentry.normalized_description",columns:[],aggregates:["epm()"],orderby:"epm()",fields:["epm()"],fieldAliases:[]}],interval:"1h",layout:{y:3,x:0,h:2,w:3,minH:2}},{id:"metrics-duration-line",title:"Average Duration",description:"",displayType:"line",widgetType:"spans",queries:[{name:"Average Duration",conditions:"span.category:db has:sentry.normalized_description",columns:[],aggregates:["avg(span.duration)"],orderby:"avg(span.duration)",fields:["avg(span.duration)"],fieldAliases:[]}],interval:"1h",layout:{y:3,x:3,h:2,w:3,minH:2}}]},"4":{title:"Outbound API Requests",description:"Track HTTP client request performance.",widgets:[{id:"throughput-chart",title:"Requests Per Minute",displayType:"line",widgetType:"spans",queries:[{name:"Requests Per Minute",conditions:"span.op:http.client",columns:[],aggregates:["epm()"],orderby:"epm()",fields:["epm()"]}],interval:"5m",layout:{x:0,y:0,w:2,h:2,minH:2}},{id:"duration-chart",title:"Average Duration",displayType:"line",widgetType:"spans",queries:[{name:"Average Duration",conditions:"span.op:http.client",columns:[],aggregates:["avg(span.duration)"],orderby:"avg(span.duration)",fields:["avg(span.duration)"]}],interval:"5m",layout:{x:2,y:0,w:2,h:2,minH:2}},{id:"response-codes-chart",title:"Response Codes (3XX, 4XX, 5XX)",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:"span.op:http.client",columns:[],aggregates:["equation|count_if(span.status_code,between,300,399) / count(span.duration)","equation|count_if(span.status_code,between,400,499) / count(span.duration)","equation|count_if(span.status_code,between,500,599) / count(span.duration)"],orderby:"equation|count_if(span.status_code,between,300,399) / count(span.duration)",fields:["equation|count_if(span.status_code,between,300,399) / count(span.duration)","equation|count_if(span.status_code,between,400,499) / count(span.duration)","equation|count_if(span.status_code,between,500,599) / count(span.duration)"]}],interval:"5m",layout:{x:4,y:0,w:2,h:2,minH:2}},{id:"domain-table",title:"Domains",displayType:"table",widgetType:"spans",queries:[{name:"",conditions:"span.op:http.client",columns:["span.domain","project"],aggregates:["epm()","equation|count_if(span.status_code,between,300,399) / count(span.duration)","equation|count_if(span.status_code,between,400,499) / count(span.duration)","equation|count_if(span.status_code,between,500,599) / count(span.duration)","avg(span.duration)","sum(span.duration)"],orderby:"-sum(span.duration)",fields:["span.domain","project","epm()","equation|count_if(span.status_code,between,300,399) / count(span.duration)","equation|count_if(span.status_code,between,400,499) / count(span.duration)","equation|count_if(span.status_code,between,500,599) / count(span.duration)","avg(span.duration)","sum(span.duration)"],fieldAliases:["Domain","Project","Requests Per Minute","3XXs","4XXs","5XXs","Avg Duration","Time Spent"]}],interval:"5m",layout:{x:0,y:2,minH:2,h:4,w:6}}]},"5":{title:"Domain Details",description:"",widgets:[{id:"domain-widget",title:"Domain",displayType:"details",widgetType:"spans",queries:[{name:"",conditions:"span.op:http.client",columns:["id","span.op","span.group","span.description","span.category"],aggregates:[],orderby:"id",fields:["id","span.op","span.group","span.description","span.category"],fieldAliases:[]}],interval:"5m",layout:{x:0,y:0,minH:1,h:1,w:6}},{id:"throughput-big-number",title:"Requests Per Minute",displayType:"big_number",widgetType:"spans",queries:[{name:"Requests Per Minute",conditions:"span.op:http.client",columns:[],aggregates:["epm()"],orderby:"epm()",fields:["epm()"]}],interval:"5m",layout:{x:0,y:1,w:1,h:1,minH:1}},{id:"duration-big-number",title:"Average Duration",displayType:"big_number",widgetType:"spans",queries:[{name:"Average Duration",conditions:"span.op:http.client",columns:[],aggregates:["avg(span.duration)"],orderby:"avg(span.duration)",fields:["avg(span.duration)"]}],interval:"5m",layout:{x:1,y:1,w:1,h:1,minH:1}},{id:"3xx-percentage-big-number",title:"3XX",displayType:"big_number",widgetType:"spans",queries:[{name:"3XX",conditions:"span.op:http.client",columns:[],aggregates:["equation|count_if(span.status_code,between,300,399) / count(span.duration)"],orderby:"equation|count_if(span.status_code,between,300,399) / count(span.duration)",fields:["equation|count_if(span.status_code,between,300,399) / count(span.duration)"]}],interval:"5m",layout:{x:2,y:1,w:1,h:1,minH:1}},{id:"4xx-percentage-big-number",title:"4XX",displayType:"big_number",widgetType:"spans",queries:[{name:"4XX",conditions:"span.op:http.client",columns:[],aggregates:["equation|count_if(span.status_code,between,400,499) / count(span.duration)"],orderby:"equation|count_if(span.status_code,between,400,499) / count(span.duration)",fields:["equation|count_if(span.status_code,between,400,499) / count(span.duration)"]}],interval:"5m",layout:{x:3,y:1,w:1,h:1,minH:1}},{id:"5xx-percentage-big-number",title:"5XX",displayType:"big_number",widgetType:"spans",queries:[{name:"5XX",conditions:"span.op:http.client",columns:[],aggregates:["equation|count_if(span.status_code,between,500,599) / count(span.duration)"],orderby:"equation|count_if(span.status_code,between,500,599) / count(span.duration)",fields:["equation|count_if(span.status_code,between,500,599) / count(span.duration)"]}],interval:"5m",layout:{x:4,y:1,w:1,h:1,minH:1}},{id:"time-spent-big-number",title:"Time Spent",displayType:"big_number",widgetType:"spans",queries:[{name:"Time Spent",conditions:"span.op:http.client",columns:[],aggregates:["sum(span.duration)"],orderby:"sum(span.duration)",fields:["sum(span.duration)"]}],interval:"5m",layout:{x:5,y:1,w:1,h:1,minH:1}},{id:"throughput-chart",title:"Requests Per Minute",displayType:"line",widgetType:"spans",queries:[{name:"Requests Per Minute",conditions:"span.op:http.client",columns:[],aggregates:["epm()"],orderby:"epm()",fields:["epm()"]}],interval:"5m",layout:{x:0,y:2,w:2,h:2,minH:2}},{id:"duration-chart",title:"Average Duration",displayType:"line",widgetType:"spans",queries:[{name:"Average Duration",conditions:"span.op:http.client",columns:[],aggregates:["avg(span.duration)"],orderby:"avg(span.duration)",fields:["avg(span.duration)"]}],interval:"5m",layout:{x:2,y:2,w:2,h:2,minH:2}},{id:"response-codes-chart",title:"Response Codes (3XX, 4XX, 5XX)",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:"span.op:http.client",columns:[],aggregates:["equation|count_if(span.status_code,between,300,399) / count(span.duration)","equation|count_if(span.status_code,between,400,499) / count(span.duration)","equation|count_if(span.status_code,between,500,599) / count(span.duration)"],orderby:"equation|count_if(span.status_code,between,300,399) / count(span.duration)",fields:["equation|count_if(span.status_code,between,300,399) / count(span.duration)","equation|count_if(span.status_code,between,400,499) / count(span.duration)","equation|count_if(span.status_code,between,500,599) / count(span.duration)"]}],interval:"5m",layout:{x:4,y:2,w:2,h:2,minH:2}},{id:"transactions-table",title:"Transactions Making Requests to This Domain",displayType:"table",widgetType:"spans",queries:[{name:"",conditions:"span.op:http.client",columns:["transaction"],aggregates:["epm()","equation|count_if(span.status_code,between,300,399) / count(span.duration)","equation|count_if(span.status_code,between,400,499) / count(span.duration)","equation|count_if(span.status_code,between,500,599) / count(span.duration)","avg(span.duration)","sum(span.duration)"],orderby:"-sum(span.duration)",fields:["transaction","epm()","equation|count_if(span.status_code,between,300,399) / count(span.duration)","equation|count_if(span.status_code,between,400,499) / count(span.duration)","equation|count_if(span.status_code,between,500,599) / count(span.duration)","avg(span.duration)","sum(span.duration)"],fieldAliases:["Found In","Requests Per Minute","3XXs","4XXs","5XXs","Avg Duration","Time Spent"]}],interval:"5m",layout:{x:0,y:4,minH:2,h:5,w:6}}]},"6":{title:"Web Vitals",description:"Track real-user Web Vitals, ranked by improvement opportunity.",widgets:[{id:"score-breakdown-wheel",title:"Performance Score",description:"Tracks the overall performance rating of the pages in your selected project.",displayType:"wheel",widgetType:"spans",queries:[{name:"",conditions:'span.op:[ui.interaction.click,ui.interaction.hover,ui.interaction.drag,ui.interaction.press,ui.webvital.cls,ui.webvital.lcp,pageload,""]',columns:["performance_score(measurements.score.lcp)","performance_score(measurements.score.fcp)","performance_score(measurements.score.inp)","performance_score(measurements.score.cls)","performance_score(measurements.score.ttfb)","performance_score(measurements.score.total)","count_scores(measurements.score.total)","count_scores(measurements.score.lcp)","count_scores(measurements.score.fcp)","count_scores(measurements.score.inp)","count_scores(measurements.score.cls)","count_scores(measurements.score.ttfb)"],aggregates:[],orderby:"",fields:["performance_score(measurements.score.lcp)","performance_score(measurements.score.fcp)","performance_score(measurements.score.inp)","performance_score(measurements.score.cls)","performance_score(measurements.score.ttfb)","performance_score(measurements.score.total)","count_scores(measurements.score.total)","count_scores(measurements.score.lcp)","count_scores(measurements.score.fcp)","count_scores(measurements.score.inp)","count_scores(measurements.score.cls)","count_scores(measurements.score.ttfb)"]}],interval:"5m",limit:1,layout:{y:0,w:2,h:2,x:0,minH:2}},{id:"score-breakdown-chart",title:"Score Breakdown",description:"Each Web Vital score contributes a different amount to the total score. Refer to the Performance Score wheel for total contribution.",displayType:"area",widgetType:"spans",queries:[{name:"",conditions:'span.op:[ui.interaction.click,ui.interaction.hover,ui.interaction.drag,ui.interaction.press,ui.webvital.cls,ui.webvital.lcp,pageload,""]',columns:[],aggregates:["performance_score(measurements.score.lcp)","performance_score(measurements.score.fcp)","performance_score(measurements.score.inp)","performance_score(measurements.score.cls)","performance_score(measurements.score.ttfb)"],orderby:"",fields:["performance_score(measurements.score.lcp)","performance_score(measurements.score.fcp)","performance_score(measurements.score.inp)","performance_score(measurements.score.cls)","performance_score(measurements.score.ttfb)"]}],interval:"5m",layout:{y:0,w:4,h:2,x:2,minH:2}},{id:"lcp-p75-meter",title:"P75 Largest Contentful Paint",description:"Time to render the largest item in the viewport. Bad LCP frustrates users because the website feels slow to load.",displayType:"big_number",widgetType:"spans",queries:[{name:"",conditions:'span.op:[ui.interaction.click,ui.interaction.hover,ui.interaction.drag,ui.interaction.press,ui.webvital.cls,ui.webvital.lcp,pageload,""]',columns:[],aggregates:["p75(browser.web_vital.lcp.value)"],orderby:"",fields:["p75(browser.web_vital.lcp.value)"]}],interval:"5m",layout:{y:2,w:1,h:1,x:0,minH:1}},{id:"inp-p75-meter",title:"P75 Interaction to Next Paint",description:"Latency between user input and visual response. Bad INP makes users feel like the site is laggy, outdated, and unresponsive.",displayType:"big_number",widgetType:"spans",queries:[{name:"",conditions:'span.op:[ui.interaction.click,ui.interaction.hover,ui.interaction.drag,ui.interaction.press,ui.webvital.cls,ui.webvital.lcp,pageload,""]',columns:[],aggregates:["p75(browser.web_vital.inp.value)"],orderby:"",fields:["p75(browser.web_vital.inp.value)"]}],interval:"5m",layout:{y:2,w:1,h:1,x:1,minH:1}},{id:"cls-p75-meter",title:"P75 Cumulative Layout Shift",description:"Measures content 'shifting' during load. Bad CLS indicates a janky website, degrading UX and trust.",displayType:"big_number",widgetType:"spans",queries:[{name:"",conditions:'span.op:[ui.interaction.click,ui.interaction.hover,ui.interaction.drag,ui.interaction.press,ui.webvital.cls,ui.webvital.lcp,pageload,""]',columns:[],aggregates:["p75(browser.web_vital.cls.value)"],orderby:"",fields:["p75(browser.web_vital.cls.value)"]}],interval:"5m",layout:{y:3,w:1,h:1,x:0,minH:1}},{id:"ttfb-p75-meter",title:"P75 Time to First Byte",description:"Time until first byte is delivered to the client. Bad TTFB makes the server feel unresponsive.",displayType:"big_number",widgetType:"spans",queries:[{name:"",conditions:'span.op:[ui.interaction.click,ui.interaction.hover,ui.interaction.drag,ui.interaction.press,ui.webvital.cls,ui.webvital.lcp,pageload,""]',columns:[],aggregates:["p75(browser.web_vital.ttfb.value)"],orderby:"",fields:["p75(browser.web_vital.ttfb.value)"]}],interval:"5m",layout:{y:3,w:1,h:1,x:1,minH:1}},{id:"issues-table",title:"Web Vital Issues",displayType:"table",widgetType:"issue",queries:[{name:"",conditions:"issue.type:[web_vitals,performance_render_blocking_asset_span,performance_uncompressed_assets,performance_http_overhead,performance_consecutive_http,performance_n_plus_one_api_calls,performance_large_http_payload,performance_p95_endpoint_regression]",columns:["issue","assignee","title"],aggregates:[],orderby:"date",fields:["issue","assignee","title"]}],interval:"5m",layout:{y:2,w:4,h:2,x:2,minH:2}},{id:"pages-table",title:"Pages",displayType:"table",widgetType:"spans",queries:[{name:"",conditions:'span.op:[ui.interaction.click,ui.interaction.hover,ui.interaction.drag,ui.interaction.press,ui.webvital.cls,ui.webvital.lcp,pageload,""]',columns:["transaction","project","count()","p75(browser.web_vital.lcp.value)","p75(browser.web_vital.fcp.value)","p75(browser.web_vital.cls.value)","p75(browser.web_vital.ttfb.value)","p75(browser.web_vital.inp.value)","performance_score(measurements.score.total)","opportunity_score(measurements.score.total)"],aggregates:[],orderby:"-opportunity_score(measurements.score.total)",fields:["transaction","project","count()","p75(browser.web_vital.lcp.value)","p75(browser.web_vital.fcp.value)","p75(browser.web_vital.cls.value)","p75(browser.web_vital.ttfb.value)","p75(browser.web_vital.inp.value)","performance_score(measurements.score.total)","opportunity_score(measurements.score.total)"],fieldAliases:["Pages","Project","Pageloads","LCP","FCP","CLS","TTFB","INP","Perf Score","Opportunity"]}],interval:"5m",layout:{y:4,w:6,h:6,x:0,minH:2}}]},"7":{title:"Web Vitals Page Summary",description:"",widgets:[{id:"score-breakdown-chart",title:"Score Breakdown",description:"Each Web Vital score contributes a different amount to the total score. Refer to the Performance Score wheel for total contribution.",displayType:"area",widgetType:"spans",queries:[{name:"",conditions:'span.op:[ui.interaction.click,ui.interaction.hover,ui.interaction.drag,ui.interaction.press,ui.webvital.cls,ui.webvital.lcp,pageload,""]',columns:[],aggregates:["performance_score(measurements.score.lcp)","performance_score(measurements.score.fcp)","performance_score(measurements.score.inp)","performance_score(measurements.score.cls)","performance_score(measurements.score.ttfb)"],orderby:"",fields:["performance_score(measurements.score.lcp)","performance_score(measurements.score.fcp)","performance_score(measurements.score.inp)","performance_score(measurements.score.cls)","performance_score(measurements.score.ttfb)"]}],interval:"5m",layout:{y:0,w:5,h:2,x:0,minH:2}},{id:"score-breakdown-wheel",title:"Performance Score",description:"The overall performance rating of this page.",displayType:"wheel",widgetType:"spans",queries:[{name:"",conditions:'span.op:[ui.interaction.click,ui.interaction.hover,ui.interaction.drag,ui.interaction.press,ui.webvital.cls,ui.webvital.lcp,pageload,""]',columns:["performance_score(measurements.score.lcp)","performance_score(measurements.score.fcp)","performance_score(measurements.score.inp)","performance_score(measurements.score.cls)","performance_score(measurements.score.ttfb)","performance_score(measurements.score.total)","count_scores(measurements.score.total)","count_scores(measurements.score.lcp)","count_scores(measurements.score.fcp)","count_scores(measurements.score.inp)","count_scores(measurements.score.cls)","count_scores(measurements.score.ttfb)"],aggregates:[],orderby:"",fields:["performance_score(measurements.score.lcp)","performance_score(measurements.score.fcp)","performance_score(measurements.score.inp)","performance_score(measurements.score.cls)","performance_score(measurements.score.ttfb)","performance_score(measurements.score.total)","count_scores(measurements.score.total)","count_scores(measurements.score.lcp)","count_scores(measurements.score.fcp)","count_scores(measurements.score.inp)","count_scores(measurements.score.cls)","count_scores(measurements.score.ttfb)"]}],interval:"5m",layout:{y:0,w:1,h:2,x:5,minH:2}},{id:"lcp-p75-meter",title:"P75 Largest Contentful Paint",description:"Time to render the largest item in the viewport. Bad LCP frustrates users because the website feels slow to load.",displayType:"big_number",widgetType:"spans",queries:[{name:"",conditions:'span.op:[ui.interaction.click,ui.interaction.hover,ui.interaction.drag,ui.interaction.press,ui.webvital.cls,ui.webvital.lcp,pageload,""]',columns:[],aggregates:["p75(browser.web_vital.lcp.value)"],orderby:"",fields:["p75(browser.web_vital.lcp.value)"]}],interval:"5m",layout:{y:2,w:1,h:1,x:0,minH:1}},{id:"inp-p75-meter",title:"P75 Interaction to Next Paint",description:"Latency between user input and visual response. Bad INP makes users feel like the site is laggy, outdated, and unresponsive.",displayType:"big_number",widgetType:"spans",queries:[{name:"",conditions:'span.op:[ui.interaction.click,ui.interaction.hover,ui.interaction.drag,ui.interaction.press,ui.webvital.cls,ui.webvital.lcp,pageload,""]',columns:[],aggregates:["p75(browser.web_vital.inp.value)"],orderby:"",fields:["p75(browser.web_vital.inp.value)"]}],interval:"5m",layout:{y:2,w:1,h:1,x:1,minH:1}},{id:"cls-p75-meter",title:"P75 Cumulative Layout Shift",description:"Measures content 'shifting' during load. Bad CLS indicates a janky website, degrading UX and trust.",displayType:"big_number",widgetType:"spans",queries:[{name:"",conditions:'span.op:[ui.interaction.click,ui.interaction.hover,ui.interaction.drag,ui.interaction.press,ui.webvital.cls,ui.webvital.lcp,pageload,""]',columns:[],aggregates:["p75(browser.web_vital.cls.value)"],orderby:"",fields:["p75(browser.web_vital.cls.value)"]}],interval:"5m",layout:{y:3,w:1,h:1,x:0,minH:1}},{id:"ttfb-p75-meter",title:"P75 Time to First Byte",description:"Time until first byte is delivered to the client. Bad TTFB makes the server feel unresponsive.",displayType:"big_number",widgetType:"spans",queries:[{name:"",conditions:'span.op:[ui.interaction.click,ui.interaction.hover,ui.interaction.drag,ui.interaction.press,ui.webvital.cls,ui.webvital.lcp,pageload,""]',columns:[],aggregates:["p75(browser.web_vital.ttfb.value)"],orderby:"",fields:["p75(browser.web_vital.ttfb.value)"]}],interval:"5m",layout:{y:3,w:1,h:1,x:1,minH:1}},{id:"issues-table",title:"Web Vital Issues",displayType:"table",widgetType:"issue",queries:[{name:"",conditions:"issue.type:[web_vitals,performance_render_blocking_asset_span,performance_uncompressed_assets,performance_http_overhead,performance_consecutive_http,performance_n_plus_one_api_calls,performance_large_http_payload,performance_p95_endpoint_regression]",columns:["issue","assignee","title"],aggregates:[],orderby:"date",fields:["issue","assignee","title"]}],interval:"5m",layout:{y:2,w:3,h:2,x:2,minH:2}},{id:"lcp-samples-table",title:"LCP Samples",displayType:"table",widgetType:"spans",queries:[{name:"",conditions:"has:browser.web_vital.lcp.value",columns:["project","trace","browser.web_vital.lcp.element","browser.web_vital.lcp.value","profile.id","replay.id","measurements.score.ratio.lcp","timestamp"],aggregates:[],orderby:"-timestamp",fields:["project","trace","browser.web_vital.lcp.element","browser.web_vital.lcp.value","profile.id","replay.id","measurements.score.ratio.lcp","timestamp"]}],interval:"5m",layout:{y:6,w:5,h:2,x:0,minH:2}},{id:"inp-samples-table",title:"INP Samples",displayType:"table",widgetType:"spans",queries:[{name:"",conditions:"has:browser.web_vital.inp.value",columns:["project","trace","browser.web_vital.inp.value","profile.id","replay.id","measurements.score.ratio.inp","timestamp"],aggregates:[],orderby:"-timestamp",fields:["project","trace","browser.web_vital.inp.value","profile.id","replay.id","measurements.score.ratio.inp","timestamp"]}],interval:"5m",layout:{y:8,w:5,h:2,x:0,minH:2}},{id:"cls-samples-table",title:"CLS Samples",displayType:"table",widgetType:"spans",queries:[{name:"",conditions:"has:browser.web_vital.cls.value",columns:["project","trace","browser.web_vital.cls.value","profile.id","replay.id","measurements.score.ratio.cls","timestamp"],aggregates:[],orderby:"-timestamp",fields:["project","trace","browser.web_vital.cls.value","profile.id","replay.id","measurements.score.ratio.cls","timestamp"]}],interval:"5m",layout:{y:10,w:5,h:2,x:0,minH:2}},{id:"pageloads-chart",title:"Pageloads",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:"span.op:pageload",columns:[],aggregates:["count()"],orderby:"",fields:["count()"]}],interval:"5m",layout:{y:2,w:1,h:2,x:5,minH:2}},{id:"interactions-chart",title:"Interactions",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:"span.op:[ui.interaction.click,ui.interaction.hover,ui.interaction.drag,ui.interaction.press]",columns:[],aggregates:["count()"],orderby:"",fields:["count()"]}],interval:"5m",layout:{y:4,w:1,h:2,x:5,minH:2}}]},"8":{title:"Mobile Vitals",description:"Track key mobile performance metrics, including Time-to-Initial-Display.",widgets:[{id:"cold-start-big-number",title:"Average Cold App Start",description:"Average cold app start duration",displayType:"big_number",widgetType:"spans",queries:[{name:"",conditions:"(is_transaction:true transaction.op:[ui.load,navigation,app.start] has:app.vitals.start.cold.value OR span.op:app.start.cold has:app.vitals.start.cold.value)",columns:[],aggregates:["avg(app.vitals.start.cold.value)"],orderby:"",fields:["avg(app.vitals.start.cold.value)"]}],interval:"1h",layout:{h:1,x:0,y:0,w:1,minH:1}},{id:"warm-start-big-number",title:"Average Warm App Start",description:"Average warm app start duration",displayType:"big_number",widgetType:"spans",queries:[{name:"",conditions:"(is_transaction:true transaction.op:[ui.load,navigation,app.start] has:app.vitals.start.warm.value OR span.op:app.start.warm has:app.vitals.start.warm.value)",columns:[],aggregates:["avg(app.vitals.start.warm.value)"],orderby:"",fields:["avg(app.vitals.start.warm.value)"]}],interval:"1h",layout:{h:1,x:1,y:0,w:1,minH:1}},{id:"avg-ttid-big-number",title:"Average TTID",description:"Average time to initial display",displayType:"big_number",widgetType:"spans",queries:[{name:"",conditions:"(is_transaction:true transaction.op:[ui.load,navigation] has:app.vitals.ttid.value OR span.op:ui.load.initial_display has:app.vitals.ttid.value)",columns:[],aggregates:["avg(app.vitals.ttid.value)"],orderby:"",fields:["avg(app.vitals.ttid.value)"]}],interval:"1h",layout:{h:1,x:2,y:0,w:1,minH:1}},{id:"avg-ttfd-big-number",title:"Average TTFD",description:"Average time to full display",displayType:"big_number",widgetType:"spans",queries:[{name:"",conditions:"(is_transaction:true transaction.op:[ui.load,navigation] has:app.vitals.ttfd.value OR span.op:ui.load.full_display has:app.vitals.ttfd.value)",columns:[],aggregates:["avg(app.vitals.ttfd.value)"],orderby:"",fields:["avg(app.vitals.ttfd.value)"]}],interval:"1h",layout:{h:1,x:3,y:0,w:1,minH:1}},{id:"slow-frame-rate-big-number",title:"Slow Frame Rate",description:"Percentage of slow frames across screen load transactions, calculated as total slow frames divided by total frames.",displayType:"big_number",widgetType:"spans",queries:[{name:"",conditions:"is_transaction:true transaction.op:[ui.load,navigation] has:app.vitals.frames.total.count",columns:[],aggregates:["sum(app.vitals.frames.slow.count)","sum(app.vitals.frames.total.count)","equation|sum(app.vitals.frames.slow.count) / sum(app.vitals.frames.total.count)"],orderby:"",fields:["sum(app.vitals.frames.slow.count)","sum(app.vitals.frames.total.count)","equation|sum(app.vitals.frames.slow.count) / sum(app.vitals.frames.total.count)"],selectedAggregate:2}],interval:"1h",layout:{h:1,x:0,y:1,w:1,minH:1}},{id:"frozen-frame-rate-big-number",title:"Frozen Frame Rate",description:"Percentage of frozen frames across screen load transactions, calculated as total frozen frames divided by total frames.",displayType:"big_number",widgetType:"spans",queries:[{name:"",conditions:"is_transaction:true transaction.op:[ui.load,navigation] has:app.vitals.frames.total.count",columns:[],aggregates:["sum(app.vitals.frames.frozen.count)","sum(app.vitals.frames.total.count)","equation|sum(app.vitals.frames.frozen.count) / sum(app.vitals.frames.total.count)"],orderby:"",fields:["sum(app.vitals.frames.frozen.count)","sum(app.vitals.frames.total.count)","equation|sum(app.vitals.frames.frozen.count) / sum(app.vitals.frames.total.count)"],selectedAggregate:2}],interval:"1h",layout:{h:1,x:1,y:1,w:1,minH:1}},{id:"avg-frame-delay-big-number",title:"Average Frame Delay",description:"Average frame delay",displayType:"big_number",widgetType:"spans",queries:[{name:"",conditions:"is_transaction:true transaction.op:[ui.load,navigation] has:app.vitals.frames.total.count",columns:[],aggregates:["avg(app.vitals.frames.delay.value)"],orderby:"",fields:["avg(app.vitals.frames.delay.value)"]}],interval:"1h",layout:{h:1,x:2,y:1,w:1,minH:1}},{id:"crash-free-session-rate-big-number",title:"Crash Free Session Rate",description:"Percentage of sessions that did not crash. Based on session data, so span filters do not apply.",displayType:"big_number",widgetType:"metrics",queries:[{name:"",conditions:"",columns:[],aggregates:["crash_free_rate(session)"],orderby:"",fields:["crash_free_rate(session)"]}],interval:"1h",layout:{h:1,x:3,y:1,w:1,minH:1}},{id:"about-this-page-text",title:"About this page",description:`Top-level metrics show your app's health. When one looks off, use the tables below to find the screens responsible, then drill in to investigate.
|
|
11
15
|
|
|
12
16
|
App start metrics only count launches that open the app UI, not background starts.
|
|
13
17
|
|
|
14
|
-
See the [Mobile Vitals docs](https://docs.sentry.io/product/insights/mobile/mobile-vitals/) for more information.`,displayType:"text",queries:[],interval:"1h",layout:{h:2,x:4,y:0,w:2,minH:2}},{id:"app-start-table",title:"App Starts",description:"",displayType:"table",widgetType:"spans",queries:[{name:"",conditions:"((is_transaction:true transaction.op:[ui.load,navigation] has:app.vitals.start.cold.value OR span.op:app.start.cold has:app.vitals.start.cold.value) OR (is_transaction:true transaction.op:[ui.load,navigation] has:app.vitals.start.warm.value OR span.op:app.start.warm has:app.vitals.start.warm.value)) has:transaction",columns:["transaction"],aggregates:["avg(app.vitals.start.cold.value)","avg(app.vitals.start.warm.value)","count_unique(transaction.span_id)"],orderby:"-count_unique(transaction.span_id)",fields:["transaction","avg(app.vitals.start.cold.value)","avg(app.vitals.start.warm.value)","count_unique(transaction.span_id)"],fieldAliases:["Screen","Avg Cold Start","Avg Warm Start","Screen Loads"]}],interval:"1h",layout:{h:3,x:0,y:2,w:6,minH:2}},{id:"screen-load-table",title:"Screen Loads",description:"",displayType:"table",widgetType:"spans",queries:[{name:"",conditions:"((is_transaction:true transaction.op:[ui.load,navigation] has:app.vitals.ttid.value OR span.op:ui.load.initial_display has:app.vitals.ttid.value) OR (is_transaction:true transaction.op:[ui.load,navigation] has:app.vitals.ttfd.value OR span.op:ui.load.full_display has:app.vitals.ttfd.value)) has:transaction",columns:["transaction"],aggregates:["avg(app.vitals.ttid.value)","avg(app.vitals.ttfd.value)","count_unique(transaction.span_id)"],orderby:"-count_unique(transaction.span_id)",fields:["transaction","avg(app.vitals.ttid.value)","avg(app.vitals.ttfd.value)","count_unique(transaction.span_id)"],fieldAliases:["Screen","Avg TTID","Avg TTFD","Screen Loads"]}],interval:"1h",layout:{h:3,x:0,y:5,w:6,minH:2}},{id:"screen-rendering-table",title:"Screen Rendering",description:"Frame rates are weighted across screen load transactions using total frame counts.",displayType:"table",widgetType:"spans",queries:[{name:"",conditions:"is_transaction:true transaction.op:[ui.load,navigation] has:app.vitals.frames.total.count has:transaction",columns:["transaction"],aggregates:["equation|sum(app.vitals.frames.slow.count)/sum(app.vitals.frames.total.count)","equation|sum(app.vitals.frames.frozen.count)/sum(app.vitals.frames.total.count)","count_unique(transaction.span_id)"],orderby:"-count_unique(transaction.span_id)",fields:["transaction","equation|sum(app.vitals.frames.slow.count)/sum(app.vitals.frames.total.count)","equation|sum(app.vitals.frames.frozen.count)/sum(app.vitals.frames.total.count)","count_unique(transaction.span_id)"],fieldAliases:["Transaction","Slow Frame %","Frozen Frame %","Screen Loads"]}],interval:"1h",layout:{h:3,x:0,y:8,w:6,minH:2}}]},"9":{title:"Mobile Vitals App Starts",description:"",widgets:[{id:"avg-cold-starts-big-number",title:"Average Cold Start",description:"",displayType:"big_number",widgetType:"spans",queries:[{name:"",conditions:"(is_transaction:true transaction.op:[ui.load,navigation,app.start] has:app.vitals.start.cold.value OR span.op:app.start.cold has:app.vitals.start.cold.value)",columns:[],aggregates:["avg(app.vitals.start.cold.value)"],orderby:"",fields:["avg(app.vitals.start.cold.value)"]}],interval:"1h",layout:{h:1,x:0,y:0,w:1,minH:1}},{id:"avg-warm-starts-big-number",title:"Average Warm Start",description:"",displayType:"big_number",widgetType:"spans",queries:[{name:"",conditions:"(is_transaction:true transaction.op:[ui.load,navigation,app.start] has:app.vitals.start.warm.value OR span.op:app.start.warm has:app.vitals.start.warm.value)",columns:[],aggregates:["avg(app.vitals.start.warm.value)"],orderby:"",fields:["avg(app.vitals.start.warm.value)"]}],interval:"1h",layout:{h:1,x:3,y:0,w:1,minH:1}},{id:"total-cold-start-count-big-number",title:"Cold Start Count",description:"",displayType:"big_number",widgetType:"spans",queries:[{name:"",conditions:"(is_transaction:true transaction.op:[ui.load,navigation,app.start] has:app.vitals.start.cold.value OR span.op:app.start.cold has:app.vitals.start.cold.value)",columns:[],aggregates:["count_unique(transaction.span_id)"],orderby:"",fields:["count_unique(transaction.span_id)"]}],interval:"1h",layout:{h:1,x:1,y:0,w:1,minH:1}},{id:"total-warm-start-count-big-number",title:"Warm Start Count",description:"",displayType:"big_number",widgetType:"spans",queries:[{name:"",conditions:"(is_transaction:true transaction.op:[ui.load,navigation,app.start] has:app.vitals.start.warm.value OR span.op:app.start.warm has:app.vitals.start.warm.value)",columns:[],aggregates:["count_unique(transaction.span_id)"],orderby:"",fields:["count_unique(transaction.span_id)"]}],interval:"1h",layout:{h:1,x:4,y:0,w:1,minH:1}},{id:"avg-cold-start-line",title:"Average Cold Start",description:"",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:"(is_transaction:true transaction.op:[ui.load,navigation,app.start] has:app.vitals.start.cold.value OR span.op:app.start.cold has:app.vitals.start.cold.value)",columns:[],aggregates:["avg(app.vitals.start.cold.value)"],orderby:"-avg(app.vitals.start.cold.value)",fields:["avg(app.vitals.start.cold.value)"],fieldAliases:[]}],interval:"1h",layout:{h:2,x:0,y:1,w:3,minH:2}},{id:"avg-warm-start-line",title:"Average Warm Start",description:"",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:"(is_transaction:true transaction.op:[ui.load,navigation,app.start] has:app.vitals.start.warm.value OR span.op:app.start.warm has:app.vitals.start.warm.value)",columns:[],aggregates:["avg(app.vitals.start.warm.value)"],orderby:"-avg(app.vitals.start.warm.value)",fields:["avg(app.vitals.start.warm.value)"],fieldAliases:[]}],interval:"1h",layout:{h:2,x:3,y:1,w:3,minH:2}},{id:"cold-start-device-distribution-bar",title:"Cold Start Device Distribution",description:"",displayType:"categorical_bar",widgetType:"spans",queries:[{name:"",conditions:"(is_transaction:true transaction.op:[ui.load,navigation,app.start] has:app.vitals.start.cold.value OR span.op:app.start.cold has:app.vitals.start.cold.value)",columns:["device.class"],aggregates:["avg(app.vitals.start.cold.value)"],orderby:"device.class",fields:["device.class","avg(app.vitals.start.cold.value)"]}],interval:"1h",layout:{h:2,x:0,y:3,w:3,minH:2}},{id:"warm-start-device-distribution-bar",title:"Warm Start Device Distribution",description:"",displayType:"categorical_bar",widgetType:"spans",queries:[{name:"",conditions:"(is_transaction:true transaction.op:[ui.load,navigation,app.start] has:app.vitals.start.warm.value OR span.op:app.start.warm has:app.vitals.start.warm.value)",columns:["device.class"],aggregates:["avg(app.vitals.start.warm.value)"],orderby:"device.class",fields:["device.class","avg(app.vitals.start.warm.value)"]}],interval:"1h",layout:{h:2,x:3,y:3,w:3,minH:2}},{id:"cold-operations-table",title:"Cold Start Operations",description:"",displayType:"table",widgetType:"spans",queries:[{name:"",conditions:'(!span.description:"Cold Start" !span.description:"Warm Start" !span.description:"Cold App Start" !span.description:"Warm App Start" !span.description:"Initial Frame Render" has:span.description transaction.op:[ui.load,navigation] has:ttid app_start_type:cold span.op:[app.start.cold,app.start.warm,contentprovider.load,application.load,activity.load,ui.load,process.load] OR !is_transaction:true ((has:span.description !span.description:"Cold Start" !span.description:"Warm Start" !span.description:"Cold App Start" !span.description:"Warm App Start" !span.description:"Initial Frame Render") OR (has:span.name !span.name:"Cold Start" !span.name:"Warm Start" !span.name:"Cold App Start" !span.name:"Warm App Start" !span.name:"Initial Frame Render")) app.vitals.start.type:cold span.op:[app.start.cold,app.start.warm,contentprovider.load,application.load,activity.load,ui.load,process.load])',columns:["span.op","span.name","span.description"],aggregates:["avg(span.self_time)"],orderby:"-avg(span.self_time)",fields:["span.op","span.name","span.description","avg(span.self_time)"],fieldAliases:["Operation","Span Name","Span Description","Avg"]}],interval:"1h",layout:{h:6,x:0,y:5,w:3,minH:2}},{id:"warm-operations-table",title:"Warm Start Operations",description:"",displayType:"table",widgetType:"spans",queries:[{name:"",conditions:'(!span.description:"Cold Start" !span.description:"Warm Start" !span.description:"Cold App Start" !span.description:"Warm App Start" !span.description:"Initial Frame Render" has:span.description transaction.op:[ui.load,navigation] has:ttid app_start_type:warm span.op:[app.start.cold,app.start.warm,contentprovider.load,application.load,activity.load,ui.load,process.load] OR !is_transaction:true ((has:span.description !span.description:"Cold Start" !span.description:"Warm Start" !span.description:"Cold App Start" !span.description:"Warm App Start" !span.description:"Initial Frame Render") OR (has:span.name !span.name:"Cold Start" !span.name:"Warm Start" !span.name:"Cold App Start" !span.name:"Warm App Start" !span.name:"Initial Frame Render")) app.vitals.start.type:warm span.op:[app.start.cold,app.start.warm,contentprovider.load,application.load,activity.load,ui.load,process.load])',columns:["span.op","span.name","span.description"],aggregates:["avg(span.self_time)"],orderby:"-avg(span.self_time)",fields:["span.op","span.name","span.description","avg(span.self_time)"],fieldAliases:["Operation","Span Name","Span Description","Avg"]}],interval:"1h",layout:{h:6,x:3,y:5,w:3,minH:2}}]},"10":{title:"Mobile Vitals Screen Loads",description:"",widgets:[{id:"avg-ttid-big-number",title:"Average TTID",description:"",displayType:"big_number",widgetType:"spans",queries:[{name:"",conditions:"(is_transaction:true transaction.op:[ui.load,navigation] has:app.vitals.ttid.value OR span.op:ui.load.initial_display has:app.vitals.ttid.value)",columns:[],aggregates:["avg(app.vitals.ttid.value)"],orderby:"",fields:["avg(app.vitals.ttid.value)"]}],interval:"1h",layout:{h:1,x:0,y:0,w:2,minH:1}},{id:"avg-ttfd-big-number",title:"Average TTFD",description:"",displayType:"big_number",widgetType:"spans",queries:[{name:"",conditions:"(is_transaction:true transaction.op:[ui.load,navigation] has:app.vitals.ttfd.value OR span.op:ui.load.full_display has:app.vitals.ttfd.value)",columns:[],aggregates:["avg(app.vitals.ttfd.value)"],orderby:"",fields:["avg(app.vitals.ttfd.value)"]}],interval:"1h",layout:{h:1,x:2,y:0,w:2,minH:1}},{id:"total-count-big-number",title:"Total Count",description:"",displayType:"big_number",widgetType:"spans",queries:[{name:"",conditions:"((is_transaction:true transaction.op:[ui.load,navigation] has:app.vitals.ttid.value OR span.op:ui.load.initial_display has:app.vitals.ttid.value) OR (is_transaction:true transaction.op:[ui.load,navigation] has:app.vitals.ttfd.value OR span.op:ui.load.full_display has:app.vitals.ttfd.value))",columns:[],aggregates:["count_unique(transaction.span_id)"],orderby:"",fields:["count_unique(transaction.span_id)"]}],interval:"1h",layout:{h:1,x:4,y:0,w:2,minH:1}},{id:"average-ttid-line",title:"Average TTID",description:"",displayType:"line",widgetType:"spans",queries:[{name:"TTID",conditions:"(is_transaction:true transaction.op:[ui.load,navigation] has:app.vitals.ttid.value OR span.op:ui.load.initial_display has:app.vitals.ttid.value)",columns:[],aggregates:["avg(app.vitals.ttid.value)"],orderby:"avg(app.vitals.ttid.value)",fields:["avg(app.vitals.ttid.value)"],fieldAliases:[]}],interval:"1h",layout:{h:2,x:0,y:1,w:2,minH:2}},{id:"average-ttfd-line",title:"Average TTFD",description:"",displayType:"line",widgetType:"spans",queries:[{name:"TTFD",conditions:"(is_transaction:true transaction.op:[ui.load,navigation] has:app.vitals.ttfd.value OR span.op:ui.load.full_display has:app.vitals.ttfd.value)",columns:[],aggregates:["avg(app.vitals.ttfd.value)"],orderby:"avg(app.vitals.ttfd.value)",fields:["avg(app.vitals.ttfd.value)"],fieldAliases:[]}],interval:"1h",layout:{h:2,x:2,y:1,w:2,minH:2}},{id:"total-count-line",title:"Total Count",description:"",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:"((is_transaction:true transaction.op:[ui.load,navigation] has:app.vitals.ttid.value OR span.op:ui.load.initial_display has:app.vitals.ttid.value) OR (is_transaction:true transaction.op:[ui.load,navigation] has:app.vitals.ttfd.value OR span.op:ui.load.full_display has:app.vitals.ttfd.value))",columns:[],aggregates:["count_unique(transaction.span_id)"],orderby:"count_unique(transaction.span_id)",fields:["count_unique(transaction.span_id)"],fieldAliases:[]}],interval:"1h",layout:{h:2,x:4,y:1,w:2,minH:2}},{id:"ttid-device-class-bar",title:"TTID by Device Class",description:"",displayType:"categorical_bar",widgetType:"spans",queries:[{name:"",conditions:"(is_transaction:true transaction.op:[ui.load,navigation] has:app.vitals.ttid.value OR span.op:ui.load.initial_display has:app.vitals.ttid.value)",columns:["device.class"],aggregates:["avg(app.vitals.ttid.value)"],orderby:"device.class",fields:["device.class","avg(app.vitals.ttid.value)"],fieldAliases:["Device Class","AVG TTID"]}],interval:"1h",layout:{h:2,x:0,y:3,w:2,minH:2}},{id:"ttfd-device-class-bar",title:"TTFD by Device Class",description:"",displayType:"categorical_bar",widgetType:"spans",queries:[{name:"",conditions:"(is_transaction:true transaction.op:[ui.load,navigation] has:app.vitals.ttfd.value OR span.op:ui.load.full_display has:app.vitals.ttfd.value)",columns:["device.class"],aggregates:["avg(app.vitals.ttfd.value)"],orderby:"device.class",fields:["device.class","avg(app.vitals.ttfd.value)"],fieldAliases:["Device Class","AVG TTFD"]}],interval:"1h",layout:{h:2,x:2,y:3,w:2,minH:2}},{id:"span-operations-table",title:"Span Operations",description:"",displayType:"table",widgetType:"spans",queries:[{name:"",conditions:"transaction.op:[ui.load,navigation] (has:span.description OR has:span.name) span.op:[file.read,file.write,ui.load,navigation,http.client,db,db.sql.room,db.sql.query,db.sql.transaction]",columns:["span.op","span.name","span.description"],aggregates:["equation|ttid_contribution_rate()","equation|ttfd_contribution_rate()","avg(span.self_time)","sum(span.self_time)"],orderby:"-sum(span.self_time)",fields:["span.op","span.name","span.description","equation|ttid_contribution_rate()","equation|ttfd_contribution_rate()","avg(span.self_time)","sum(span.self_time)"],fieldAliases:["Operation","Span Name","Span Description","TTID Contribution Rate","TTFD Contribution Rate","Avg Self Time","Total Time Spent"]}],interval:"1h",layout:{h:4,x:0,y:5,w:6,minH:2}}]},"11":{title:"Mobile Vitals Screen Rendering",description:"",widgets:[{id:"span-operations-table",title:"Span Operations",description:"",displayType:"table",widgetType:"spans",queries:[{name:"",conditions:"!is_transaction:true has:app.vitals.frames.total.count has:span.op",columns:["span.op","span.name","span.description"],aggregates:["equation|sum(app.vitals.frames.slow.count)/sum(app.vitals.frames.total.count)","equation|sum(app.vitals.frames.frozen.count)/sum(app.vitals.frames.total.count)","avg(app.vitals.frames.delay.value)"],orderby:"-avg(app.vitals.frames.delay.value)",fields:["span.op","span.name","span.description","equation|sum(app.vitals.frames.slow.count)/sum(app.vitals.frames.total.count)","equation|sum(app.vitals.frames.frozen.count)/sum(app.vitals.frames.total.count)","avg(app.vitals.frames.delay.value)"],fieldAliases:["Operation","Span Name","Span Description","Slow Frame %","Frozen Frame %","Delay"]}],interval:"1h",layout:{h:7,x:0,y:0,w:6,minH:2}}]},"12":{title:"Backend Overview",description:"Monitor backend services and dependencies, including caches and queues.",widgets:[{id:"requests-widget",title:"Requests",description:"",displayType:"line",widgetType:"spans",queries:[{name:"Requests",conditions:"span.op:http.server",columns:[],aggregates:["count(span.duration)","equation|(count_if(trace.status,equals,internal_error) + count_if(trace.status,equals,error)) / count(span.duration)"],orderby:"count(span.duration)",fields:["count(span.duration)","equation|(count_if(trace.status,equals,internal_error) + count_if(trace.status,equals,error)) / count(span.duration)"],fieldAliases:[]}],interval:"1h",limit:5,layout:{x:0,y:0,w:2,h:2,minH:2}},{id:"api-latency-widget",title:"API Latency",description:"",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:"span.op:http.server",columns:[],aggregates:["avg(span.duration)","p95(span.duration)"],orderby:"avg(span.duration)",fields:["avg(span.duration)","p95(span.duration)"],fieldAliases:[]}],interval:"1h",layout:{x:2,y:0,w:2,h:2,minH:2}},{id:"issue-counts",title:"Issue Counts",displayType:"bar",widgetType:"issue",queries:[{name:"",conditions:"",columns:[],aggregates:["count(new_issues)","count(resolved_issues)"],orderby:"",fields:["count(new_issues)","count(resolved_issues)"]}],interval:"5m",layout:{x:4,y:0,w:2,h:2,minH:2}},{id:"jobs-chart",title:"Jobs",description:"",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:"span.op:queue.process",columns:[],aggregates:["count(span.duration)","equation|(count_if(trace.status,equals,internal_error) + count_if(trace.status,equals,error)) / count(span.duration)"],orderby:"count(span.duration)",fields:["count(span.duration)","equation|(count_if(trace.status,equals,internal_error) + count_if(trace.status,equals,error)) / count(span.duration)"],fieldAliases:[]}],interval:"1h",limit:3,layout:{x:0,y:2,w:2,h:3,minH:3}},{id:"queries-by-time-spent-chart",title:"Queries by Time Spent",description:"",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:"span.category:db has:sentry.normalized_description",columns:["sentry.normalized_description"],aggregates:["p75(span.duration)"],orderby:"-sum(span.duration)",fields:["sentry.normalized_description","p75(span.duration)"],fieldAliases:[""]}],interval:"5m",limit:3,layout:{x:2,y:2,w:2,h:3,minH:3}},{id:"cache-miss-rates-chart",title:"Cache Miss Rates",description:"",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:"span.op:[cache.get,cache.get_item]",columns:["transaction"],aggregates:["equation|count_if(cache.hit,equals,false) / count(span.duration)"],orderby:"-equation|count_if(cache.hit,equals,false) / count(span.duration)",fields:["equation|count_if(cache.hit,equals,false) / count(span.duration)"],fieldAliases:[""]}],interval:"1h",limit:3,layout:{x:4,y:2,w:2,h:3,minH:3}},{id:"backend-overview-transactions-table",title:"Transactions",description:"",displayType:"table",widgetType:"spans",queries:[{name:"",conditions:"( ( !span.op:pageload !span.op:navigation !span.op:ui.render !span.op:interaction !span.op:ui.action.swipe !span.op:ui.action.scroll !span.op:ui.action.click !span.op:ui.action !span.op:ui.load !span.op:app.lifecycle !span.op:ui.interaction !span.op:ui.interaction.click !span.op:ui.interaction.hover !span.op:ui.interaction.drag !span.op:ui.interaction.press !span.op:ui.webvital.cls !span.op:ui.webvital.lcp !span.op:ui.webvital.fcp ) OR ( span.op:http.server ) ) is_transaction:true",columns:["is_starred_transaction","request.method","transaction","span.op","project"],aggregates:["epm()","p50(span.duration)","p95(span.duration)","equation|failure_count() / count(span.duration)","count_unique(user)","sum(span.duration)"],orderby:"-sum(span.duration)",fields:["is_starred_transaction","request.method","transaction","span.op","project","epm()","p50(span.duration)","p95(span.duration)","equation|failure_count() / count(span.duration)","count_unique(user)","sum(span.duration)"],fieldAliases:["","HTTP Method","Transaction","Operation","Project","TPM","P50","P95","Failure rate","Users","Time Spent"]}],interval:"5m",layout:{x:0,w:6,h:6,minH:2,y:7}}]},"13":{title:"Mobile Session Health",description:"Monitor mobile session health by user and session.",widgets:[{id:"crash-free-sessions",title:"Crash Free Sessions",displayType:"big_number",widgetType:"metrics",queries:[{name:"",conditions:"",columns:[],aggregates:["crash_free_rate(session)"],orderby:"",fields:["crash_free_rate(session)"]}],interval:"5m",layout:{x:0,y:0,w:2,h:1,minH:1}},{id:"crash-free-users",title:"Crash Free Users",displayType:"big_number",widgetType:"metrics",queries:[{name:"",conditions:"",columns:[],aggregates:["crash_free_rate(user)"],orderby:"",fields:["crash_free_rate(user)"]}],interval:"5m",layout:{x:2,y:0,w:2,h:1,minH:1}},{id:"anr-rate",title:"ANR / App Hang Rate",displayType:"big_number",widgetType:"metrics",queries:[{name:"",conditions:"",columns:[],aggregates:["anr_rate()"],orderby:"",fields:["anr_rate()"]}],interval:"5m",layout:{x:4,y:0,w:2,h:1,minH:1}},{id:"crash-free-session-line-chart",title:"Crash Free Sessions",displayType:"line",widgetType:"metrics",queries:[{name:"",conditions:"",columns:[],aggregates:["crash_free_rate(session)"],orderby:"",fields:["crash_free_rate(session)"]}],interval:"5m",layout:{x:0,y:1,w:3,h:2,minH:2}},{id:"crash-free-user-line-chart",title:"Crash Free Users",displayType:"line",widgetType:"metrics",queries:[{name:"",conditions:"",columns:[],aggregates:["crash_free_rate(user)"],orderby:"",fields:["crash_free_rate(user)"]}],interval:"5m",layout:{x:3,y:1,w:3,h:2,minH:2}},{id:"issue-counts",title:"Issue Counts",displayType:"bar",widgetType:"issue",queries:[{name:"",conditions:"",columns:[],aggregates:["count(new_issues)","count(resolved_issues)"],orderby:"",fields:["count(new_issues)","count(resolved_issues)"]}],interval:"5m",layout:{x:0,y:4,w:3,h:2,minH:2}},{id:"total-sessions",title:"Total Sessions",displayType:"line",widgetType:"metrics",queries:[{name:"",conditions:"",columns:[],aggregates:["sum(session)"],orderby:"",fields:["sum(session)"]}],interval:"5m",layout:{x:3,y:4,w:3,h:2,minH:2}},{id:"crash-rate-table",title:"Crash Free Rate by Project",displayType:"table",widgetType:"metrics",queries:[{name:"",conditions:"",columns:["project"],aggregates:["crash_free_rate(session)"],orderby:"crash_free_rate(session)",fields:["project","crash_free_rate(session)"],fieldAliases:["Project","Crash Free Rate"]}],interval:"5m",layout:{x:0,y:6,w:6,h:2,minH:2}},{id:"release-table",title:"Releases",displayType:"table",widgetType:"metrics",queries:[{name:"",conditions:"",columns:["project","release"],aggregates:["crash_free_rate(session)","sum(session)"],orderby:"-release",fields:["project","release","crash_free_rate(session)","sum(session)"],fieldAliases:["Project","Release","Crash Free Rate","Total Sessions"]}],interval:"5m",layout:{x:0,y:8,w:6,h:3,minH:2}}]},"14":{title:"Frontend Overview",description:"Monitor frontend errors and performance telemetry.",widgets:[{id:"throughput-widget",title:"Transaction Throughput",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:"( span.op:[pageload,navigation,ui.render,interaction] OR sdk.name:[dart,dart-sentry-client,sentry.dart,sentry.dart.browser,sentry.dart.flutter,sentry.dart.logging,raven-js,sentry-browser,sentry.javascript.angular,sentry.javascript.angular-ivy,sentry.javascript.astro,sentry.javascript.browser,sentry.javascript.electron,sentry.javascript.ember,sentry.javascript.enrio,sentry.javascript.gatsby,sentry.javascript.miniapp,sentry.javascript.nextjs,sentry.javascript.nuxt,sentry.javascript.react,sentry.javascript.remix,sentry.javascript.solid,sentry.javascript.solidstart,sentry.javascript.svelte,sentry.javascript.sveltekit,sentry.javascript.uniapp,sentry.javascript.vue] ) !span.op:http.server is_transaction:true",columns:[],aggregates:["epm()"],orderby:"-epm()",fields:["epm()"],fieldAliases:[]}],interval:"5m",layout:{x:0,y:0,w:2,h:2,minH:2}},{id:"duration-widget",title:"Transaction Duration",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:"( span.op:[pageload,navigation,ui.render,interaction] OR sdk.name:[dart,dart-sentry-client,sentry.dart,sentry.dart.browser,sentry.dart.flutter,sentry.dart.logging,raven-js,sentry-browser,sentry.javascript.angular,sentry.javascript.angular-ivy,sentry.javascript.astro,sentry.javascript.browser,sentry.javascript.electron,sentry.javascript.ember,sentry.javascript.enrio,sentry.javascript.gatsby,sentry.javascript.miniapp,sentry.javascript.nextjs,sentry.javascript.nuxt,sentry.javascript.react,sentry.javascript.remix,sentry.javascript.solid,sentry.javascript.solidstart,sentry.javascript.svelte,sentry.javascript.sveltekit,sentry.javascript.uniapp,sentry.javascript.vue] ) !span.op:http.server is_transaction:true",columns:[],aggregates:["p50(span.duration)","p75(span.duration)","p95(span.duration)"],orderby:"-p50(span.duration)",fields:["p50(span.duration)","p75(span.duration)","p95(span.duration)"],fieldAliases:[]}],interval:"5m",layout:{x:2,y:0,w:2,h:2,minH:2}},{id:"score-breakdown-wheel",title:"Performance Score",description:"Tracks the overall performance rating of the pages in your selected project.",displayType:"wheel",widgetType:"spans",queries:[{name:"",conditions:'span.op:[ui.interaction.click,ui.interaction.hover,ui.interaction.drag,ui.interaction.press,ui.webvital.cls,ui.webvital.lcp,pageload,""]',columns:["performance_score(measurements.score.lcp)","performance_score(measurements.score.fcp)","performance_score(measurements.score.inp)","performance_score(measurements.score.cls)","performance_score(measurements.score.ttfb)","performance_score(measurements.score.total)","count_scores(measurements.score.total)","count_scores(measurements.score.lcp)","count_scores(measurements.score.fcp)","count_scores(measurements.score.inp)","count_scores(measurements.score.cls)","count_scores(measurements.score.ttfb)"],aggregates:[],orderby:"",fields:["performance_score(measurements.score.lcp)","performance_score(measurements.score.fcp)","performance_score(measurements.score.inp)","performance_score(measurements.score.cls)","performance_score(measurements.score.ttfb)","performance_score(measurements.score.total)","count_scores(measurements.score.total)","count_scores(measurements.score.lcp)","count_scores(measurements.score.fcp)","count_scores(measurements.score.inp)","count_scores(measurements.score.cls)","count_scores(measurements.score.ttfb)"]}],interval:"5m",limit:1,layout:{x:4,y:0,w:2,h:2,minH:2}},{id:"issue-counts",title:"Issue Counts",displayType:"bar",widgetType:"issue",queries:[{name:"",conditions:"",columns:[],aggregates:["count(new_issues)","count(resolved_issues)"],orderby:"",fields:["count(new_issues)","count(resolved_issues)"]}],interval:"5m",layout:{x:0,y:2,w:2,h:3,minH:3}},{id:"assets-by-time-spent-widget",title:"Assets by Time Spent",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:'has:sentry.normalized_description has:sentry.normalized_description !sentry.normalized_description:"browser-extension://*" ( span.op:resource.script OR file_extension:css OR file_extension:[woff,woff2,ttf,otf,eot] OR file_extension:[jpg,jpeg,png,gif,svg,webp,apng,avif] OR span.op:resource.img )',columns:["sentry.normalized_description"],aggregates:["p75(span.duration)"],orderby:"-sum(span.duration)",fields:["p75(span.duration)"]}],interval:"5m",limit:3,layout:{x:2,y:2,w:2,h:3,minH:3}},{id:"network-requests-by-time-spent-widget",title:"Network Requests by Time Spent",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:"span.category:http",columns:["span.domain"],aggregates:["p75(span.duration)"],orderby:"-sum(span.duration)",fields:["p75(span.duration)"]}],interval:"5m",limit:3,layout:{x:4,y:2,w:2,h:3,minH:3}},{id:"frontend-overview-table",title:"Transactions",displayType:"table",widgetType:"spans",queries:[{name:"",conditions:"!span.op:http.server ( span.op:[pageload,navigation,ui.render,interaction,ui.render,interaction,ui.interaction,ui.interaction.click,ui.interaction.hover,ui.interaction.drag,ui.interaction.press,ui.webvital.cls,ui.webvital.lcp,ui.webvital.fcp,pageload] OR sdk.name:[dart,dart-sentry-client,sentry.dart,sentry.dart.browser,sentry.dart.flutter,sentry.dart.logging,raven-js,sentry-browser,sentry.javascript.angular,sentry.javascript.angular-ivy,sentry.javascript.astro,sentry.javascript.browser,sentry.javascript.electron,sentry.javascript.ember,sentry.javascript.enrio,sentry.javascript.gatsby,sentry.javascript.miniapp,sentry.javascript.nextjs,sentry.javascript.nuxt,sentry.javascript.react,sentry.javascript.remix,sentry.javascript.solid,sentry.javascript.solidstart,sentry.javascript.svelte,sentry.javascript.sveltekit,sentry.javascript.uniapp,sentry.javascript.vue] )",columns:["is_starred_transaction","transaction","project"],aggregates:["equation|tpm()","equation|p50_if(span.duration,is_transaction,equals,true)","equation|p75_if(span.duration,is_transaction,equals,true)","equation|p95_if(span.duration,is_transaction,equals,true)","equation|failure_rate_if(is_transaction,equals,true)","count_unique(user)","equation|sum_if(span.duration,is_transaction,equals,true)","performance_score(measurements.score.total)"],orderby:"-equation|sum_if(span.duration,is_transaction,equals,true)",fields:["is_starred_transaction","transaction","project","equation|tpm()","equation|p50_if(span.duration,is_transaction,equals,true)","equation|p75_if(span.duration,is_transaction,equals,true)","equation|p95_if(span.duration,is_transaction,equals,true)","equation|failure_rate_if(is_transaction,equals,true)","count_unique(user)","equation|sum_if(span.duration,is_transaction,equals,true)","performance_score(measurements.score.total)"],fieldAliases:["","Transaction","Project","TPM","P50","P75","P95","Failure Rate","Users","Time Spent","Performance Score"]}],interval:"5m",layout:{x:0,y:7,w:6,h:6,minH:2}}]},"15":{title:"Next.js Overview",description:"Monitor frontend and SSR performance for Next.js applications.",widgets:[{id:"pageloads-widget",title:"Pageloads",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:"span.op:pageload",columns:[],aggregates:["count(span.duration)","equation|(count_if(trace.status,equals,internal_error) + count_if(trace.status,equals,error)) / count(span.duration)"],orderby:"-count(span.duration)",fields:["count(span.duration)","equation|(count_if(trace.status,equals,internal_error) + count_if(trace.status,equals,error)) / count(span.duration)"]}],interval:"5m",layout:{x:0,y:0,w:2,h:2,minH:2}},{id:"api-latency-widget",title:"API Latency",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:"span.op:http.server",columns:[],aggregates:["avg(span.duration)","p95(span.duration)"],orderby:"avg(span.duration)",fields:["avg(span.duration)","p95(span.duration)"]}],interval:"5m",layout:{x:2,y:0,w:2,h:2,minH:2}},{id:"issue-counts",title:"Issue Counts",displayType:"bar",widgetType:"issue",queries:[{name:"",conditions:"",columns:[],aggregates:["count(new_issues)","count(resolved_issues)"],orderby:"",fields:["count(new_issues)","count(resolved_issues)"]}],interval:"5m",layout:{x:4,y:0,w:2,h:2,minH:2}},{id:"score-breakdown-wheel",title:"Performance Score",description:"Tracks the overall performance rating of the pages in your selected project.",displayType:"wheel",widgetType:"spans",queries:[{name:"",conditions:'span.op:[ui.interaction.click,ui.interaction.hover,ui.interaction.drag,ui.interaction.press,ui.webvital.cls,ui.webvital.lcp,pageload,""]',columns:["performance_score(measurements.score.lcp)","performance_score(measurements.score.fcp)","performance_score(measurements.score.inp)","performance_score(measurements.score.cls)","performance_score(measurements.score.ttfb)","performance_score(measurements.score.total)","count_scores(measurements.score.total)","count_scores(measurements.score.lcp)","count_scores(measurements.score.fcp)","count_scores(measurements.score.inp)","count_scores(measurements.score.cls)","count_scores(measurements.score.ttfb)"],aggregates:[],orderby:"",fields:["performance_score(measurements.score.lcp)","performance_score(measurements.score.fcp)","performance_score(measurements.score.inp)","performance_score(measurements.score.cls)","performance_score(measurements.score.ttfb)","performance_score(measurements.score.total)","count_scores(measurements.score.total)","count_scores(measurements.score.lcp)","count_scores(measurements.score.fcp)","count_scores(measurements.score.inp)","count_scores(measurements.score.cls)","count_scores(measurements.score.ttfb)"]}],interval:"5m",limit:1,layout:{x:0,y:2,w:2,h:3,minH:3}},{id:"rage-and-dead-clicks-widget",title:"Rage and Dead Clicks",description:"Visualizes the rage and dead clicks in your frontend project.",displayType:"rage_and_dead_clicks",queries:[{name:"",conditions:"",columns:[],aggregates:[],orderby:"",fields:[]}],interval:"5m",layout:{x:2,y:2,w:2,h:3,minH:3}},{id:"slow-ssr-widget",title:"Slow SSR",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:"span.op:function.nextjs",columns:["span.description"],aggregates:["avg(span.duration)"],orderby:"-avg(span.duration)",fields:["span.description","avg(span.duration)"]}],interval:"5m",limit:3,layout:{x:4,y:2,w:2,h:3,minH:3}},{id:"client-transactions-table",title:"Client Transactions",displayType:"table",widgetType:"spans",queries:[{name:"",conditions:"span.op:[ui.render,interaction,ui.interaction,ui.interaction.click,ui.interaction.hover,ui.interaction.drag,ui.interaction.press,ui.webvital.cls,ui.webvital.lcp,ui.webvital.fcp,pageload,navigation,default] !span.op:http.server is_transaction:true !sentry.origin:auto.db.* !sentry.origin:auto",columns:["transaction","span.op","project"],aggregates:["count(span.duration)","failure_rate()","avg(span.duration)","p95(span.duration)","performance_score(measurements.score.total)"],orderby:"-count(span.duration)",fields:["transaction","project","span.op","count(span.duration)","failure_rate()","avg(span.duration)","p95(span.duration)","performance_score(measurements.score.total)"],fieldAliases:["Transaction","","Operation","Views","Error Rate","Avg","P95","Perf Score"]}],interval:"5m",layout:{x:0,y:5,w:6,h:3,minH:2}},{id:"server-transactions-table",title:"Server Transactions",displayType:"table",widgetType:"spans",queries:[{name:"",conditions:"span.op:http.server is_transaction:true",columns:["transaction","project"],aggregates:["count(span.duration)","failure_rate()","avg(span.duration)","p95(span.duration)","sum(span.duration)"],orderby:"-count(span.duration)",fields:["transaction","project","count(span.duration)","failure_rate()","avg(span.duration)","p95(span.duration)","sum(span.duration)"],fieldAliases:["Transaction","","Views","Error Rate","Avg","P95","Time Spent"]}],interval:"5m",layout:{x:0,y:8,w:6,h:3,minH:2}},{id:"server-tree-widget",title:"SSR File Tree",description:"Visualizes the file tree of the server-rendered components in your Next.js project.",displayType:"server_tree",queries:[{name:"",conditions:"",columns:[],aggregates:[],orderby:"",fields:[]}],interval:"5m",layout:{x:0,y:11,w:6,h:3,minH:3}}]},"16":{title:"AI Agents Overview",description:"Monitor AI agent workflows, model costs, token usage, and tool calls.",widgets:[{id:"ai-agents-overview-agent-runs",title:"Agent Runs",description:"Number of agent runs captured over time.",displayType:"bar",widgetType:"spans",queries:[{name:"Count",conditions:"gen_ai.operation.type:agent",columns:[],aggregates:["count(span.duration)"],orderby:"-count(span.duration)",fields:["count(span.duration)"],fieldAliases:["Count"]}],interval:"1h",layout:{x:0,y:0,w:2,h:2,minH:2}},{id:"ai-agents-overview-estimated-cost",title:"Estimated Cost",description:"Estimated cost of LLM calls with token and model data.",displayType:"bar",widgetType:"spans",queries:[{name:"Cost",conditions:"gen_ai.operation.type:ai_client",columns:[],aggregates:["sum(gen_ai.cost.total_tokens)"],orderby:"-sum(gen_ai.cost.total_tokens)",fields:["sum(gen_ai.cost.total_tokens)"],fieldAliases:["Estimated Cost"]}],interval:"1h",layout:{x:2,y:0,w:2,h:2,minH:2}},{id:"ai-agents-overview-duration",title:"Duration",description:"Average and p95 duration for agent runs and LLM calls.",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:"gen_ai.operation.type:[agent, ai_client]",columns:[],aggregates:["avg(span.duration)","p95(span.duration)"],orderby:"-avg(span.duration)",fields:["avg(span.duration)","p95(span.duration)"],fieldAliases:["Avg","P95"]}],interval:"1h",layout:{x:4,y:0,w:2,h:2,minH:2}},{id:"ai-agents-overview-llm-calls-by-model",title:"LLM Calls by Model",description:"Number of LLM calls grouped by response model.",displayType:"bar",widgetType:"spans",queries:[{name:"",conditions:"gen_ai.operation.type:ai_client",columns:["gen_ai.response.model"],aggregates:["count(span.duration)"],orderby:"-count(span.duration)",fields:["gen_ai.response.model","count(span.duration)"],fieldAliases:["Model","Calls"]}],interval:"1h",limit:3,layout:{x:0,y:2,w:2,h:3,minH:3}},{id:"ai-agents-overview-tokens-used",title:"Tokens Used",description:"Total tokens used by LLM calls, grouped by response model.",displayType:"bar",widgetType:"spans",queries:[{name:"",conditions:"gen_ai.operation.type:ai_client",columns:["gen_ai.response.model"],aggregates:["sum(gen_ai.usage.total_tokens)"],orderby:"-sum(gen_ai.usage.total_tokens)",fields:["gen_ai.response.model","sum(gen_ai.usage.total_tokens)"],fieldAliases:["Model","Total Tokens"]}],interval:"1h",limit:3,layout:{x:2,y:2,w:2,h:3,minH:3}},{id:"ai-agents-overview-tool-calls",title:"Tool Calls",description:"Tool call volume grouped by tool name.",displayType:"bar",widgetType:"spans",queries:[{name:"",conditions:"gen_ai.operation.type:tool",columns:["gen_ai.tool.name"],aggregates:["count(span.duration)"],orderby:"-count(span.duration)",fields:["gen_ai.tool.name","count(span.duration)"],fieldAliases:["Tool","Calls"]}],interval:"1h",limit:3,layout:{x:4,y:2,w:2,h:3,minH:3}},{id:"ai-agents-traces-table",title:"Traces",description:"Agent traces with duration, token, cost, and tool usage.",displayType:"agents_traces_table",queries:[{name:"",conditions:"",columns:[],aggregates:[],orderby:"",fields:[]}],interval:"1h",limit:10,layout:{x:0,y:6,w:6,h:4,minH:2}}]},"17":{title:"AI Agents Model Details",description:"View AI agent token usage and costs by model.",widgets:[{id:"ai-agents-model-cost",title:"Model Cost",displayType:"bar",widgetType:"spans",queries:[{name:"",conditions:"gen_ai.operation.type:ai_client",columns:["gen_ai.response.model"],aggregates:["sum(gen_ai.cost.total_tokens)"],orderby:"-sum(gen_ai.cost.total_tokens)",fields:["gen_ai.response.model","sum(gen_ai.cost.total_tokens)"],fieldAliases:["Model","Total Cost"]}],interval:"1h",limit:3,layout:{x:0,y:0,w:2,h:3,minH:3}},{id:"ai-agents-token-usage",title:"Tokens Used",displayType:"bar",widgetType:"spans",queries:[{name:"",conditions:"gen_ai.operation.type:ai_client",columns:["gen_ai.response.model"],aggregates:["sum(gen_ai.usage.total_tokens)"],orderby:"-sum(gen_ai.usage.total_tokens)",fields:["gen_ai.response.model","sum(gen_ai.usage.total_tokens)"],fieldAliases:["Model","Total Tokens"]}],interval:"1h",limit:3,layout:{x:2,y:0,w:2,h:3,minH:3}},{id:"ai-agents-token-types",title:"Token Types",displayType:"area",widgetType:"spans",queries:[{name:"",conditions:"gen_ai.operation.type:ai_client",columns:[],aggregates:["sum(gen_ai.usage.input_tokens)","sum(gen_ai.usage.input_tokens.cached)","sum(gen_ai.usage.output_tokens)","sum(gen_ai.usage.output_tokens.reasoning)"],orderby:"",fields:["sum(gen_ai.usage.input_tokens)","sum(gen_ai.usage.input_tokens.cached)","sum(gen_ai.usage.output_tokens)","sum(gen_ai.usage.output_tokens.reasoning)"],fieldAliases:["Input Tokens","Cached Input Tokens","Output Tokens","Reasoning Tokens"]}],interval:"1h",limit:3,layout:{x:4,y:0,w:2,h:3,minH:3}},{id:"ai-agents-models-table",title:"Models",displayType:"table",widgetType:"spans",queries:[{name:"",conditions:"gen_ai.operation.type:ai_client",columns:["gen_ai.response.model"],aggregates:["count()","equation|count_if(span.status,equals,internal_error) + count_if(span.status,equals,error)","avg(span.duration)","p95(span.duration)","sum(gen_ai.cost.total_tokens)","sum(gen_ai.usage.input_tokens)","sum(gen_ai.usage.input_tokens.cached)","sum(gen_ai.usage.output_tokens)","sum(gen_ai.usage.output_tokens.reasoning)"],orderby:"-count()",fields:["gen_ai.response.model","count()","equation|count_if(span.status,equals,internal_error) + count_if(span.status,equals,error)","avg(span.duration)","p95(span.duration)","sum(gen_ai.cost.total_tokens)","sum(gen_ai.usage.input_tokens)","sum(gen_ai.usage.input_tokens.cached)","sum(gen_ai.usage.output_tokens)","sum(gen_ai.usage.output_tokens.reasoning)"],fieldAliases:["Model","Requests","Errors","Avg","P95","Cost","Input Tokens","Cached Tokens","Output Tokens","Reasoning Tokens"]}],interval:"1h",layout:{x:0,y:3,w:6,h:4,minH:2}}]},"18":{title:"AI Agents Tool Details",description:"Track AI agent tool calls and error rates.",widgets:[{id:"ai-agents-tool-calls",title:"Tool Calls",displayType:"bar",widgetType:"spans",queries:[{name:"",conditions:"gen_ai.operation.type:tool",columns:["gen_ai.tool.name"],aggregates:["count(span.duration)"],orderby:"-count(span.duration)",fields:["gen_ai.tool.name","count(span.duration)"],fieldAliases:["Tool","Calls"]}],interval:"1h",limit:3,layout:{x:0,y:0,w:3,h:3,minH:3}},{id:"ai-agents-tool-errors",title:"Tool Errors",displayType:"bar",widgetType:"spans",queries:[{name:"",conditions:"gen_ai.operation.type:tool span.status:[internal_error,error]",columns:["gen_ai.tool.name"],aggregates:["count(span.duration)"],orderby:"-count(span.duration)",fields:["gen_ai.tool.name","count(span.duration)"],fieldAliases:["Tool","Errors"]}],interval:"1h",limit:3,layout:{x:3,y:0,w:3,h:3,minH:3}},{id:"ai-agents-tools-table",title:"Tools",displayType:"table",widgetType:"spans",queries:[{name:"",conditions:"gen_ai.operation.type:tool",columns:["gen_ai.tool.name"],aggregates:["count()","equation|count_if(span.status,equals,internal_error) + count_if(span.status,equals,error)","avg(span.duration)","p95(span.duration)"],orderby:"-count()",fields:["gen_ai.tool.name","count()","equation|count_if(span.status,equals,internal_error) + count_if(span.status,equals,error)","avg(span.duration)","p95(span.duration)"],fieldAliases:["Tool","Requests","Errors","Avg","P95"]}],interval:"1h",layout:{x:0,y:3,w:6,h:4,minH:2}}]},"19":{title:"MCP Overview",description:"Monitor MCP server usage and performance.",widgets:[{id:"mcp-overview-traffic",title:"Traffic",displayType:"bar",widgetType:"spans",queries:[{name:"Count",conditions:"span.op:mcp.server",columns:[],aggregates:["count(span.duration)"],orderby:"-count(span.duration)",fields:["count(span.duration)"],fieldAliases:["Count"]}],interval:"1h",layout:{x:0,y:0,w:2,h:3,minH:3}},{id:"mcp-overview-traffic-by-client",title:"Traffic by Client",displayType:"bar",widgetType:"spans",queries:[{name:"",conditions:"span.op:mcp.server",columns:["mcp.client.name"],aggregates:["count()"],orderby:"-count()",fields:["mcp.client.name","count()"],fieldAliases:["Client","Count"]}],interval:"1h",limit:3,layout:{x:2,y:0,w:2,h:3,minH:3}},{id:"mcp-overview-transport-distribution",title:"Transport Distribution",displayType:"bar",widgetType:"spans",queries:[{name:"",conditions:"span.op:mcp.server has:mcp.transport",columns:["mcp.transport"],aggregates:["count()"],orderby:"-count()",fields:["mcp.transport","count()"],fieldAliases:["Transport","Count"]}],interval:"1h",limit:3,layout:{x:4,y:0,w:2,h:3,minH:3}},{id:"mcp-overview-most-used-tools",title:"Most Used Tools",displayType:"bar",widgetType:"spans",queries:[{name:"",conditions:"span.op:mcp.server has:mcp.tool.name",columns:["mcp.tool.name"],aggregates:["count(span.duration)"],orderby:"-count(span.duration)",fields:["mcp.tool.name","count(span.duration)"],fieldAliases:["Tool","Count"]}],interval:"1h",limit:3,layout:{x:0,y:3,w:2,h:3,minH:3}},{id:"mcp-overview-most-used-resources",title:"Most Used Resources",displayType:"bar",widgetType:"spans",queries:[{name:"",conditions:"span.op:mcp.server has:mcp.resource.uri",columns:["mcp.resource.uri"],aggregates:["count(span.duration)"],orderby:"-count(span.duration)",fields:["mcp.resource.uri","count(span.duration)"],fieldAliases:["Resource","Count"]}],interval:"1h",limit:3,layout:{x:2,y:3,w:2,h:3,minH:3}},{id:"mcp-overview-most-used-prompts",title:"Most Used Prompts",displayType:"bar",widgetType:"spans",queries:[{name:"",conditions:"span.op:mcp.server has:mcp.prompt.name",columns:["mcp.prompt.name"],aggregates:["count(span.duration)"],orderby:"-count(span.duration)",fields:["mcp.prompt.name","count(span.duration)"],fieldAliases:["Prompt","Count"]}],interval:"1h",limit:3,layout:{x:4,y:3,w:2,h:3,minH:3}},{id:"mcp-overview-table",title:"MCP Overview",displayType:"table",widgetType:"spans",queries:[{name:"",conditions:"span.op:mcp.server",columns:["span.description"],aggregates:["count()","failure_rate()","equation|count_if(span.status,equals,internal_error) + count_if(span.status,equals,error)","avg(span.duration)","p95(span.duration)"],orderby:"-count()",fields:["span.description","count()","failure_rate()","equation|count_if(span.status,equals,internal_error) + count_if(span.status,equals,error)","avg(span.duration)","p95(span.duration)"],fieldAliases:["Span Description","Requests","Error Rate","Errors","Avg","P95"]}],interval:"1h",layout:{x:0,y:6,w:6,h:4,minH:2}}]},"20":{title:"MCP Tool Details",description:"Track MCP tool call latency, frequency, and error rates.",widgets:[{id:"mcp-tools-most-used-tools",title:"Most Used Tools",displayType:"bar",widgetType:"spans",queries:[{name:"",conditions:"span.op:mcp.server has:mcp.tool.name",columns:["mcp.tool.name"],aggregates:["count(span.duration)"],orderby:"-count(span.duration)",fields:["mcp.tool.name","count(span.duration)"],fieldAliases:["Tool","Calls"]}],interval:"1h",limit:3,layout:{x:0,y:0,w:2,h:3,minH:3}},{id:"mcp-tools-slowest-tools",title:"Slowest Tools",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:"span.op:mcp.server has:mcp.tool.name",columns:["mcp.tool.name"],aggregates:["avg(span.duration)"],orderby:"-avg(span.duration)",fields:["mcp.tool.name","avg(span.duration)"],fieldAliases:["Tool","Avg"]}],interval:"1h",limit:3,layout:{x:2,y:0,w:2,h:3,minH:3}},{id:"mcp-tools-most-failing-tools",title:"Most Failing Tools",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:"span.op:mcp.server has:mcp.tool.name",columns:["mcp.tool.name"],aggregates:["failure_rate()"],orderby:"-failure_rate()",fields:["mcp.tool.name","failure_rate()"],fieldAliases:["Tool","Error Rate"]}],interval:"1h",limit:3,layout:{x:4,y:0,w:2,h:3,minH:3}},{id:"mcp-tools-table",title:"Tools",displayType:"table",widgetType:"spans",queries:[{name:"",conditions:"span.op:mcp.server has:mcp.tool.name",columns:["mcp.tool.name"],aggregates:["count()","failure_rate()","equation|count_if(span.status,equals,internal_error) + count_if(span.status,equals,error)","avg(span.duration)","p95(span.duration)"],orderby:"-count()",fields:["mcp.tool.name","count()","failure_rate()","equation|count_if(span.status,equals,internal_error) + count_if(span.status,equals,error)","avg(span.duration)","p95(span.duration)"],fieldAliases:["Tool Name","Requests","Error Rate","Errors","Avg","P95"]}],interval:"1h",layout:{x:0,y:3,w:6,h:4,minH:2}}]},"21":{title:"MCP Resource Details",description:"Track MCP resource call latency, frequency, and error rates.",widgets:[{id:"mcp-resources-most-used-resources",title:"Most Used Resources",displayType:"bar",widgetType:"spans",queries:[{name:"",conditions:"span.op:mcp.server has:mcp.resource.uri",columns:["mcp.resource.uri"],aggregates:["count(span.duration)"],orderby:"-count(span.duration)",fields:["mcp.resource.uri","count(span.duration)"],fieldAliases:["Resource","Calls"]}],interval:"1h",limit:3,layout:{x:0,y:0,w:2,h:3,minH:3}},{id:"mcp-resources-slowest-resources",title:"Slowest Resources",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:"span.op:mcp.server has:mcp.resource.uri",columns:["mcp.resource.uri"],aggregates:["avg(span.duration)"],orderby:"-avg(span.duration)",fields:["mcp.resource.uri","avg(span.duration)"],fieldAliases:["Resource","Avg"]}],interval:"1h",limit:3,layout:{x:2,y:0,w:2,h:3,minH:3}},{id:"mcp-resources-most-failing-resources",title:"Most Failing Resources",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:"span.op:mcp.server has:mcp.resource.uri",columns:["mcp.resource.uri"],aggregates:["failure_rate()"],orderby:"-failure_rate()",fields:["mcp.resource.uri","failure_rate()"],fieldAliases:["Resource","Error Rate"]}],interval:"1h",limit:3,layout:{x:4,y:0,w:2,h:3,minH:3}},{id:"mcp-resources-table",title:"Resources",displayType:"table",widgetType:"spans",queries:[{name:"",conditions:"span.op:mcp.server has:mcp.resource.uri",columns:["mcp.resource.uri"],aggregates:["count()","failure_rate()","equation|count_if(span.status,equals,internal_error) + count_if(span.status,equals,error)","avg(span.duration)","p95(span.duration)"],orderby:"-count()",fields:["mcp.resource.uri","count()","failure_rate()","equation|count_if(span.status,equals,internal_error) + count_if(span.status,equals,error)","avg(span.duration)","p95(span.duration)"],fieldAliases:["Resource URI","Requests","Error Rate","Errors","Avg","P95"]}],interval:"1h",layout:{x:0,y:3,w:6,h:4,minH:2}}]},"22":{title:"MCP Prompt Details",description:"Track MCP prompt call latency, frequency, and error rates.",widgets:[{id:"mcp-prompts-most-used-prompts",title:"Most Used Prompts",displayType:"bar",widgetType:"spans",queries:[{name:"",conditions:"span.op:mcp.server has:mcp.prompt.name",columns:["mcp.prompt.name"],aggregates:["count(span.duration)"],orderby:"-count(span.duration)",fields:["mcp.prompt.name","count(span.duration)"],fieldAliases:["Prompt","Calls"]}],interval:"1h",limit:3,layout:{x:0,y:0,w:2,h:3,minH:3}},{id:"mcp-prompts-slowest-prompts",title:"Slowest Prompts",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:"span.op:mcp.server has:mcp.prompt.name",columns:["mcp.prompt.name"],aggregates:["avg(span.duration)"],orderby:"-avg(span.duration)",fields:["mcp.prompt.name","avg(span.duration)"],fieldAliases:["Prompt","Avg"]}],interval:"1h",limit:3,layout:{x:2,y:0,w:2,h:3,minH:3}},{id:"mcp-prompts-most-failing-prompts",title:"Most Failing Prompts",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:"span.op:mcp.server has:mcp.prompt.name",columns:["mcp.prompt.name"],aggregates:["failure_rate()"],orderby:"-failure_rate()",fields:["mcp.prompt.name","failure_rate()"],fieldAliases:["Prompt","Error Rate"]}],interval:"1h",limit:3,layout:{x:4,y:0,w:2,h:3,minH:3}},{id:"mcp-prompts-table",title:"Prompts",displayType:"table",widgetType:"spans",queries:[{name:"",conditions:"span.op:mcp.server has:mcp.prompt.name",columns:["mcp.prompt.name"],aggregates:["count()","failure_rate()","equation|count_if(span.status,equals,internal_error) + count_if(span.status,equals,error)","avg(span.duration)","p95(span.duration)"],orderby:"-count()",fields:["mcp.prompt.name","count()","failure_rate()","equation|count_if(span.status,equals,internal_error) + count_if(span.status,equals,error)","avg(span.duration)","p95(span.duration)"],fieldAliases:["Prompt Name","Requests","Error Rate","Errors","Avg","P95"]}],interval:"1h",layout:{x:0,y:3,w:6,h:4,minH:2}}]},"23":{title:"Laravel Overview",description:"Monitor Laravel services and dependencies, including background jobs.",widgets:[{id:"requests-widget",title:"Requests",description:"",displayType:"line",widgetType:"spans",queries:[{name:"Requests",conditions:"span.op:http.server",columns:[],aggregates:["count(span.duration)","equation|(count_if(trace.status,equals,internal_error) + count_if(trace.status,equals,error)) / count(span.duration)"],orderby:"count(span.duration)",fields:["count(span.duration)","equation|(count_if(trace.status,equals,internal_error) + count_if(trace.status,equals,error)) / count(span.duration)"],fieldAliases:[]}],interval:"1h",limit:5,layout:{x:0,y:0,w:2,h:2,minH:2}},{id:"api-latency-widget",title:"API Latency",description:"",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:"span.op:http.server",columns:[],aggregates:["avg(span.duration)","p95(span.duration)"],orderby:"avg(span.duration)",fields:["avg(span.duration)","p95(span.duration)"],fieldAliases:[]}],interval:"1h",layout:{x:2,y:0,w:2,h:2,minH:2}},{id:"issue-counts",title:"Issue Counts",displayType:"bar",widgetType:"issue",queries:[{name:"",conditions:"",columns:[],aggregates:["count(new_issues)","count(resolved_issues)"],orderby:"",fields:["count(new_issues)","count(resolved_issues)"]}],interval:"5m",layout:{x:4,y:0,w:2,h:2,minH:2}},{id:"jobs-chart",title:"Jobs",description:"",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:"span.op:queue.process",columns:[],aggregates:["count(span.duration)","equation|(count_if(trace.status,equals,internal_error) + count_if(trace.status,equals,error)) / count(span.duration)"],orderby:"count(span.duration)",fields:["count(span.duration)","equation|(count_if(trace.status,equals,internal_error) + count_if(trace.status,equals,error)) / count(span.duration)"],fieldAliases:[]}],interval:"1h",limit:3,layout:{x:0,y:2,w:2,h:3,minH:3}},{id:"queries-by-time-spent-chart",title:"Queries by Time Spent",description:"",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:"span.category:db has:sentry.normalized_description",columns:["sentry.normalized_description"],aggregates:["p75(span.duration)"],orderby:"-sum(span.duration)",fields:["sentry.normalized_description","p75(span.duration)"],fieldAliases:[""]}],interval:"5m",limit:3,layout:{x:2,y:2,w:2,h:3,minH:3}},{id:"cache-miss-rates-chart",title:"Cache Miss Rates",description:"",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:"span.op:[cache.get,cache.get_item]",columns:["transaction"],aggregates:["equation|count_if(cache.hit,equals,false) / count(span.duration)"],orderby:"-equation|count_if(cache.hit,equals,false) / count(span.duration)",fields:["equation|count_if(cache.hit,equals,false) / count(span.duration)"],fieldAliases:[""]}],interval:"1h",limit:3,layout:{x:4,y:2,w:2,h:3,minH:3}},{id:"paths-table",title:"Paths",displayType:"table",widgetType:"spans",queries:[{name:"",conditions:"transaction.op:http.server is_transaction:true",columns:["http.request.method","transaction"],aggregates:["count()","failure_rate()","avg(span.duration)","p95(span.duration)","sum(span.duration)","count_unique(user)"],orderby:"-count()",fields:["http.request.method","transaction","count()","failure_rate()","avg(span.duration)","p95(span.duration)","sum(span.duration)","count_unique(user)"],fieldAliases:["Method","Path","Requests","Error Rate","Avg","P95","Time Spent","Users"]}],interval:"5m",layout:{x:0,y:7,w:6,h:3,minH:2}},{id:"commands-table",title:"Commands",displayType:"table",widgetType:"spans",queries:[{name:"",conditions:"span.op:console.command*",columns:["command"],aggregates:["count()","failure_rate()","avg(span.duration)","p95(span.duration)","sum(span.duration)"],orderby:"-count()",fields:["command","count()","failure_rate()","avg(span.duration)","p95(span.duration)","sum(span.duration)"],fieldAliases:["Command","Invocations","Error Rate","Avg","P95","Time Spent"]}],interval:"5m",layout:{x:0,y:10,w:6,h:3,minH:2}},{id:"jobs-table",title:"Jobs",displayType:"table",widgetType:"spans",queries:[{name:"",conditions:"span.op:queue.process",columns:["messaging.destination.name","transaction"],aggregates:["count()","failure_rate()","avg(messaging.message.receive.latency)","equation|avg_if(span.duration,span.op,equals,queue.process)","sum(span.duration)"],orderby:"-count()",fields:["transaction","messaging.destination.name","count()","failure_rate()","avg(messaging.message.receive.latency)","equation|avg_if(span.duration,span.op,equals,queue.process)","sum(span.duration)"],fieldAliases:["Job","Queue Name","Processed","Error Rate","Avg Time in Queue","Avg Processing Time","Time Spent"]}],interval:"5m",layout:{x:0,y:13,w:6,h:3,minH:2}}]},"24":{title:"Frontend Assets",description:"Track JS, CSS, and image asset performance, with per-resource drill-downs.",widgets:[{id:"requests-per-min-widget",title:"Requests per Minute",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:"has:sentry.normalized_description",columns:[],aggregates:["epm()"],orderby:"epm()",fields:["epm()"]}],interval:"5m",layout:{x:0,y:0,w:3,h:2,minH:2}},{id:"average-duration-widget",title:"Average Duration",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:"has:sentry.normalized_description",columns:[],aggregates:["avg(span.duration)"],orderby:"avg(span.duration)",fields:["avg(span.duration)"]}],interval:"5m",layout:{x:3,y:0,w:3,h:2,minH:2}},{id:"assets-table",title:"Assets",displayType:"table",widgetType:"spans",queries:[{name:"",conditions:"has:sentry.normalized_description",columns:["sentry.normalized_description"],aggregates:["epm()","avg(span.duration)","sum(span.duration)","avg(http.response_content_length)"],orderby:"-sum(span.duration)",fields:["sentry.normalized_description","epm()","avg(span.duration)","sum(span.duration)","avg(http.response_content_length)"],fieldAliases:["Asset description","Requests per Minute","Avg","Time Spent","Avg Encoded Size"]}],interval:"5m",layout:{x:0,y:2,w:6,h:6,minH:2}}]},"25":{title:"Frontend Assets Summary",description:"",widgets:[{id:"domain-widget",title:"Example Asset",displayType:"details",widgetType:"spans",queries:[{name:"",conditions:"",columns:["id","span.op","span.group","span.description","span.category","project.id"],aggregates:[],orderby:"id",fields:["id","span.op","span.group","span.description","span.category","project.id"],fieldAliases:[]}],interval:"5m",layout:{x:0,y:0,minH:2,h:2,w:6}},{id:"request-per-min-big-number",title:"Requests per Minute",displayType:"big_number",widgetType:"spans",queries:[{name:"",conditions:"",columns:[],aggregates:["epm()"],orderby:"epm()",fields:["epm()"]}],interval:"5m",layout:{x:0,y:2,w:1,h:1,minH:1}},{id:"average-encoded-size-big-number",title:"Average Encoded Size",displayType:"big_number",widgetType:"spans",queries:[{name:"",conditions:"",columns:[],aggregates:["avg(http.response_content_length)"],orderby:"avg(http.response_content_length)",fields:["avg(http.response_content_length)"]}],interval:"5m",layout:{x:1,y:2,w:1,h:1,minH:1}},{id:"average-decoded-size-big-number",title:"Average Decoded Size",displayType:"big_number",widgetType:"spans",queries:[{name:"",conditions:"",columns:[],aggregates:["avg(http.decoded_response_content_length)"],orderby:"avg(http.decoded_response_content_length)",fields:["avg(http.decoded_response_content_length)"]}],interval:"5m",layout:{x:2,y:2,w:1,h:1,minH:1}},{id:"average-transfer-size-big-number",title:"Average Transfer Size",displayType:"big_number",widgetType:"spans",queries:[{name:"",conditions:"",columns:[],aggregates:["avg(http.response_transfer_size)"],orderby:"avg(http.response_transfer_size)",fields:["avg(http.response_transfer_size)"]}],interval:"5m",layout:{x:3,y:2,w:1,h:1,minH:1}},{id:"average-duration-big-number",title:"Average Duration",displayType:"big_number",widgetType:"spans",queries:[{name:"",conditions:"",columns:[],aggregates:["avg(span.duration)"],orderby:"avg(span.duration)",fields:["avg(span.duration)"]}],interval:"5m",layout:{x:4,y:2,w:1,h:1,minH:1}},{id:"time-spent-big-number",title:"Time Spent",displayType:"big_number",widgetType:"spans",queries:[{name:"",conditions:"",columns:[],aggregates:["sum(span.duration)"],orderby:"sum(span.duration)",fields:["sum(span.duration)"]}],interval:"5m",layout:{x:5,y:2,w:1,h:1,minH:1}},{id:"requests-per-min-widget",title:"Requests per Minute",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:"",columns:[],aggregates:["epm()"],orderby:"epm()",fields:["epm()"]}],interval:"5m",layout:{x:0,y:3,w:2,h:2,minH:2}},{id:"average-duration-widget",title:"Average Duration",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:"",columns:[],aggregates:["avg(span.duration)"],orderby:"avg(span.duration)",fields:["avg(span.duration)"]}],interval:"5m",layout:{x:2,y:3,w:2,h:2,minH:2}},{id:"average-asset-size-widget",title:"Average Asset Size",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:"",columns:[],aggregates:["avg(http.decoded_response_content_length)","avg(http.response_transfer_size)","avg(http.response_content_length)"],orderby:"avg(http.response_content_length)",fields:["avg(http.decoded_response_content_length)","avg(http.response_transfer_size)","avg(http.response_content_length)"],fieldAliases:["Avg Decoded Size","Avg Transfer Size","Avg Encoded Size"]}],interval:"5m",layout:{x:4,y:3,w:2,h:2,minH:2}},{id:"assets-table-widget",title:"Pages Containing This Asset",displayType:"table",widgetType:"spans",queries:[{name:"",conditions:"",columns:["transaction","resource.render_blocking_status"],aggregates:["epm()","avg(span.duration)","avg(http.response_content_length)"],orderby:"-epm()",fields:["transaction","epm()","avg(span.duration)","avg(http.response_content_length)","resource.render_blocking_status"],fieldAliases:["Transaction","Requests per Minute","Avg","Avg Encoded Size","Render Blocking"]}],interval:"5m",layout:{x:0,y:5,minH:2,h:6,w:6}}]},"26":{title:"Queues",description:"Track message queue throughput, latency, and error rates.",widgets:[{id:"average-duration-widget",title:"Average Duration",displayType:"area",widgetType:"spans",queries:[{name:"",conditions:"span.op:queue.process",columns:[],aggregates:["avg(messaging.message.receive.latency)","avg(span.duration)"],orderby:"avg(span.duration)",fields:["avg(messaging.message.receive.latency)","avg(span.duration)"]}],interval:"5m",layout:{x:0,y:0,w:3,h:2,minH:2}},{id:"throughput-widget",title:"Published vs Processed",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:"span.op:[queue.publish, queue.process]",columns:["span.op"],aggregates:["epm()"],orderby:"epm()",fields:["epm()"]}],interval:"5m",layout:{x:3,y:0,w:3,h:2,minH:2}},{id:"destination-table",title:"Destinations",displayType:"table",widgetType:"spans",queries:[{name:"",conditions:"span.op:[queue.publish, queue.process]",columns:["messaging.destination.name"],aggregates:["avg(messaging.message.receive.latency)","equation|avg_if(span.duration,span.op,equals,queue.process)","equation|1 - (count_if(trace.status,equals,ok) / count(span.duration))","equation|count_if(span.op,equals,queue.publish)","equation|count_if(span.op,equals,queue.process)","sum(span.duration)"],orderby:"-sum(span.duration)",fields:["messaging.destination.name","avg(messaging.message.receive.latency)","equation|avg_if(span.duration,span.op,equals,queue.process)","equation|1 - (count_if(trace.status,equals,ok) / count(span.duration))","equation|count_if(span.op,equals,queue.publish)","equation|count_if(span.op,equals,queue.process)","sum(span.duration)"],fieldAliases:["Destination","Avg time in queue","Avg processing time","Error rate","Published","Processed","Time spent"]}],interval:"5m",layout:{x:0,y:3,w:6,h:6,minH:2}}]},"27":{title:"Queue Summary",description:"",widgets:[{id:"avg-time-in-queue-widget",title:"Average Time in Queue",displayType:"big_number",widgetType:"spans",queries:[{name:"",conditions:"span.op:[queue.process,queue.publish]",columns:[],aggregates:["avg(messaging.message.receive.latency)"],orderby:"avg(messaging.message.receive.latency)",fields:["avg(messaging.message.receive.latency)"]}],interval:"5m",layout:{x:0,y:0,w:1,h:1,minH:1}},{id:"avg-processing-time-widget",title:"Average Processing Time",displayType:"big_number",widgetType:"spans",queries:[{name:"",conditions:"span.op:[queue.process,queue.publish]",columns:[],aggregates:["equation|avg_if(span.duration,span.op,equals,queue.process)"],orderby:"equation|avg_if(span.duration,span.op,equals,queue.process)",fields:["equation|avg_if(span.duration,span.op,equals,queue.process)"]}],interval:"5m",layout:{x:1,y:0,w:1,h:1,minH:1}},{id:"error-rate-widget",title:"Error Rate",displayType:"big_number",widgetType:"spans",queries:[{name:"",conditions:"span.op:[queue.process,queue.publish]",columns:[],aggregates:["equation|1 - (count_if(trace.status,equals,ok) / count(span.duration))"],orderby:"equation|1 - (count_if(trace.status,equals,ok) / count(span.duration))",fields:["equation|1 - (count_if(trace.status,equals,ok) / count(span.duration))"]}],interval:"5m",layout:{x:2,y:0,w:1,h:1,minH:1}},{id:"published-widget",title:"Published",displayType:"big_number",widgetType:"spans",queries:[{name:"",conditions:"span.op:[queue.process,queue.publish]",columns:[],aggregates:["equation|count_if(span.op,equals,queue.publish)"],orderby:"equation|count_if(span.op,equals,queue.publish)",fields:["equation|count_if(span.op,equals,queue.publish)"]}],interval:"5m",layout:{x:3,y:0,w:1,h:1,minH:1}},{id:"processed-widget",title:"Processed",displayType:"big_number",widgetType:"spans",queries:[{name:"",conditions:"span.op:[queue.process,queue.publish]",columns:[],aggregates:["equation|count_if(span.op,equals,queue.process)"],orderby:"equation|count_if(span.op,equals,queue.process)",fields:["equation|count_if(span.op,equals,queue.process)"]}],interval:"5m",layout:{x:4,y:0,w:1,h:1,minH:1}},{id:"time-spent-widget",title:"Time Spent",displayType:"big_number",widgetType:"spans",queries:[{name:"",conditions:"span.op:[queue.process,queue.publish]",columns:[],aggregates:["sum(span.duration)"],orderby:"sum(span.duration)",fields:["sum(span.duration)"]}],interval:"5m",layout:{x:5,y:0,w:1,h:1,minH:1}},{id:"average-duration-widget",title:"Average Duration",displayType:"area",widgetType:"spans",queries:[{name:"",conditions:"span.op:queue.process",columns:[],aggregates:["avg(messaging.message.receive.latency)","avg(span.duration)"],orderby:"avg(span.duration)",fields:["avg(messaging.message.receive.latency)","avg(span.duration)"]}],interval:"5m",layout:{x:0,y:1,w:3,h:2,minH:2}},{id:"throughput-widget",title:"Published vs Processed",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:"span.op:[queue.publish, queue.process]",columns:["span.op"],aggregates:["epm()"],orderby:"epm()",fields:["epm()"]}],interval:"5m",layout:{x:3,y:1,w:3,h:2,minH:2}},{id:"consumer-table",title:"Consumer Transactions",displayType:"table",widgetType:"spans",queries:[{name:"",conditions:"span.op:queue.process",columns:["transaction"],aggregates:["avg(messaging.message.receive.latency)","equation|avg_if(span.duration,span.op,equals,queue.process)","equation|1 - (count_if(trace.status,equals,ok) / count(span.duration))","equation|count_if(span.op,equals,queue.process)","sum(span.duration)"],orderby:"-sum(span.duration)",fields:["transaction","avg(messaging.message.receive.latency)","equation|avg_if(span.duration,span.op,equals,queue.process)","equation|1 - (count_if(trace.status,equals,ok) / count(span.duration))","equation|count_if(span.op,equals,queue.process)","sum(span.duration)"],fieldAliases:["Transaction","Avg time in queue","Avg processing time","Error rate","Processed","Time spent"]}],interval:"5m",layout:{x:0,y:4,w:6,h:3,minH:3}},{id:"producer-table",title:"Producer Transactions",displayType:"table",widgetType:"spans",queries:[{name:"",conditions:"span.op:queue.publish",columns:["transaction"],aggregates:["equation|1 - (count_if(trace.status,equals,ok) / count(span.duration))","equation|count_if(span.op,equals,queue.publish)","sum(span.duration)"],orderby:"-sum(span.duration)",fields:["transaction","equation|1 - (count_if(trace.status,equals,ok) / count(span.duration))","equation|count_if(span.op,equals,queue.publish)","sum(span.duration)"],fieldAliases:["Transaction","Error rate","Published","Time spent"]}],interval:"5m",layout:{x:0,y:7,w:6,h:3,minH:3}}]},"28":{title:"Caches",description:"Track cache hit rates, throughput, and latency.",widgets:[{id:"cache-hits-widget",title:"Miss Rate",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:"span.op:[cache.get,cache.get_item]",columns:[],aggregates:["equation|count_if(cache.hit,equals,false) / count(span.duration)"],orderby:"equation|count_if(cache.hit,equals,false) / count(span.duration)",fields:["equation|count_if(cache.hit,equals,false) / count(span.duration)"]}],interval:"5m",layout:{x:0,y:0,w:3,h:2,minH:2}},{id:"throughput-widget",title:"Throughput",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:"span.op:[cache.get,cache.get_item]",columns:[],aggregates:["epm()"],orderby:"epm()",fields:["epm()"]}],interval:"5m",layout:{x:3,y:0,w:3,h:2,minH:2}},{id:"transaction-table",title:"Transactions",displayType:"table",widgetType:"spans",queries:[{name:"",conditions:"span.op:[cache.get,cache.get_item]",columns:["transaction","project"],aggregates:["avg(cache.item_size)","epm()","equation|count_if(cache.hit,equals,false) / count(span.duration)","sum(span.duration)"],orderby:"-sum(span.duration)",fields:["transaction","project","avg(cache.item_size)","epm()","equation|count_if(cache.hit,equals,false) / count(span.duration)","sum(span.duration)"],fieldAliases:["Transaction","Project","Avg Value Size","Requests Per Minute","Miss Rate","Time Spent"]}],interval:"5m",layout:{x:0,y:3,w:6,h:6,minH:2}}]},"29":{title:"Node.js Runtime Metrics",description:"Track Node.js runtime metrics, including memory usage and event loop utilization.",widgets:[{id:"node-runtime-event-loop-utilization-kpi",title:"Event Loop Utilization",description:"Average fraction of time the Node.js event loop is active (0-100%) across the selected time range. High utilization means less capacity to handle new work and may indicate CPU-bound processing or blocking operations.",displayType:"big_number",widgetType:"tracemetrics",queries:[{name:"",conditions:"",columns:[],aggregates:["avg(value,node.runtime.event_loop.utilization,gauge,none)"],orderby:"",fields:["avg(value,node.runtime.event_loop.utilization,gauge,none)"]}],interval:"5m",layout:{x:0,y:0,w:2,h:1,minH:1}},{id:"node-runtime-cpu-utilization-kpi",title:"CPU Utilization",description:"Average CPU usage across all cores over the selected time range. Values above 1.0 (100%) are possible on multi-core systems. Sustained high utilization may indicate compute-bound workloads or insufficient scaling.",displayType:"big_number",widgetType:"tracemetrics",queries:[{name:"",conditions:"",columns:[],aggregates:["avg(value,node.runtime.cpu.utilization,gauge,none)"],orderby:"",fields:["avg(value,node.runtime.cpu.utilization,gauge,none)"]}],interval:"5m",layout:{x:2,y:0,w:2,h:1,minH:1}},{id:"node-runtime-process-uptime-kpi",title:"Process Uptime",description:"Total process uptime summed across instances. Sudden resets indicate process crashes or restarts. Useful for detecting instability and correlating with deployment events.",displayType:"big_number",widgetType:"tracemetrics",queries:[{name:"",conditions:"",columns:[],aggregates:["sum(value,node.runtime.process.uptime,counter,second)"],orderby:"",fields:["sum(value,node.runtime.process.uptime,counter,second)"]}],interval:"5m",layout:{x:4,y:0,w:2,h:1,minH:1}},{id:"node-runtime-memory-usage",title:"Memory Usage",description:"Resident Set Size (RSS, total memory footprint), V8 heap total (allocated), and heap used (in-use). Growing RSS without matching heap growth may indicate native memory leaks. Heap used approaching heap total triggers more frequent garbage collection.",displayType:"area",widgetType:"tracemetrics",queries:[{name:"",conditions:"",columns:[],aggregates:["avg(value,node.runtime.mem.rss,gauge,byte)","avg(value,node.runtime.mem.heap_total,gauge,byte)","avg(value,node.runtime.mem.heap_used,gauge,byte)"],orderby:"",fields:["avg(value,node.runtime.mem.rss,gauge,byte)","avg(value,node.runtime.mem.heap_total,gauge,byte)","avg(value,node.runtime.mem.heap_used,gauge,byte)"]}],interval:"5m",layout:{x:0,y:1,w:6,h:2,minH:2}},{id:"node-runtime-cpu-utilization-over-time",title:"CPU Utilization Over Time",description:"CPU utilization trend over time. Correlate spikes with deployments, traffic changes, or event loop delay increases to identify compute-bound bottlenecks.",displayType:"line",widgetType:"tracemetrics",queries:[{name:"",conditions:"",columns:[],aggregates:["avg(value,node.runtime.cpu.utilization,gauge,none)"],orderby:"",fields:["avg(value,node.runtime.cpu.utilization,gauge,none)"]}],interval:"5m",layout:{x:0,y:3,w:3,h:2,minH:2}},{id:"node-runtime-http-request-duration",title:"HTTP Request Duration",description:"Server-side HTTP request latency (p50 and p95). Compare with event loop delay and CPU utilization to determine if slow responses are caused by runtime bottlenecks or application logic.",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:"span.op:http.server",columns:[],aggregates:["p50(span.duration)","p95(span.duration)"],orderby:"",fields:["p50(span.duration)","p95(span.duration)"]}],interval:"5m",layout:{x:3,y:3,w:3,h:2,minH:2}}]}}};var uO=AO.dashboards;function ba(e){if(e.prebuiltId==null)return e;let t=uO[e.prebuiltId];if(!t)return e;return{...e,description:e.description||t.description,widgetDisplay:e.widgetDisplay.length>0?e.widgetDisplay:t.widgets.map((r)=>r.displayType)}}function dO(e){if(e.widgets.length>0||e.prebuiltId==null)return e;let t=uO[e.prebuiltId];return t?{...e,widgets:structuredClone(t.widgets)}:e}import{useCallback as wP,useEffect as TP,useRef as pO,useState as mO}from"h:0__";function Kt(e,{reloadKey:t,resetKey:r}={}){let[H,n]=mO(pe),[o,s]=mO(0),a=pO(0),c=pO(r),l=wP(()=>s((i)=>i+1),[]);return TP(()=>{let i=new AbortController,A=++a.current,u=!Object.is(c.current,r);c.current=r;let d;try{d=e(i.signal)}catch(p){if(A===a.current&&!i.signal.aborted)n((g)=>ge(u?void 0:g,Ce(p)));return()=>{a.current++,i.abort()}}if(d===null)return n(pe),()=>{a.current++,i.abort()};return n((p)=>Se(u?void 0:p,Date.now())),d.then((p)=>{if(A===a.current&&!i.signal.aborted)n(me(p,Date.now()))}).catch((p)=>{if(A===a.current&&!i.signal.aborted)n((g)=>ge(g,Ce(p)))}),()=>{a.current++,i.abort()}},[e,t,r,o]),{status:H,refetch:l}}function gO(e,{org:t,filter:r,query:H="",sort:n,reloadToken:o=0}){let s=xP((c)=>{if(!e)return null;return iO(e,{org:t,filter:r,query:H,sort:n,signal:c}).then((l)=>({data:Array.isArray(l.data)?l.data.map(ba):[],nextCursor:l.nextCursor}))},[e,t,r,H,n]),{status:a}=Kt(s,{reloadKey:o});return{dashboards:ut(a,(c)=>c.data),nextCursor:K(a)?.nextCursor??null}}function CP(e,{org:t,enabled:r,reloadToken:H=0}){let[n,o]=MP([]);return PP(()=>{if(!e||!r||!t){o([]);return}let s=new AbortController,a=!1;return cO(e,{org:t,signal:s.signal}).then((c)=>{if(!a)o(c.map(ba))}).catch(()=>{if(!a)o([])}),()=>{a=!0,s.abort()}},[e,t,r,H]),n}function OO(e,t,r,H){let n=CP(e,{org:t,enabled:r,reloadToken:H});return qP(()=>{if(n.length===0)return Lr;return{sections:[{title:"Starred Dashboards",items:n.map((o)=>({label:o.title,target:{group:"dashboards",item:"All Dashboards"}}))}]}},[n])}import{useEffect as QP,useRef as NP,useState as yO}from"h:0__";function $n(e,{org:t,source:r,starred:H,search:n,sort:o,limit:s,enabled:a=!0,reloadToken:c=0}){let[l,i]=yO(pe),[A,u]=yO(null),d=NP(l);return d.current=l,QP(()=>{if(!e||!a)return;let p=new AbortController,{signal:g}=p,m=!1;return i(Se(d.current,Date.now())),(async()=>{try{let O=await eO(e,r,{org:t,starred:H,search:n,sort:o,limit:s,signal:g});if(m)return;i(me(O.data,Date.now())),u(O.nextCursor)}catch(O){if(m||g.aborted)return;i(ge(d.current,Ce(O)))}})(),()=>{m=!0,p.abort()}},[e,t,r,H,n,o,s,a,c]),{queries:l,nextCursor:A}}import{useEffect as Ca,useMemo as TO}from"h:0__";var jP={"explore.all-queries":{source:"explore",title:"All Queries",description:"Saved Explore queries for this organization.",noun:"saved queries",searchPlaceholder:"Search queries by name\u2026",activityLabel:"Last Viewed",emptyHint:"This organization may not have Explore saved queries enabled."},"explore.discover":{source:"discover",title:"Discover",description:"Legacy saved queries, superseded by All Queries.",noun:"Discover queries",searchPlaceholder:"Search queries by name\u2026",activityLabel:"Last Edited",emptyHint:"This organization may not have Discover enabled."}};function wa(e){return jP[e]}var Ta="explore.saved-query-results";import{useRef as vP}from"h:0__";import{useEffect as DP}from"h:0__";function fO({index:e,rowCount:t,rowHeight:r,viewportHeight:H,scrollTop:n}){return vH({rowTop:e*r,rowHeight:r,contentHeight:t*r,viewportHeight:H,scrollTop:n})}function vH({rowTop:e,rowHeight:t,contentHeight:r,viewportHeight:H,scrollTop:n}){let o=Math.max(0,r-H),s=e+t,a=e<n||t>H?e:s>n+H?s-H:n;return Math.min(Math.max(a,0),o)}function cH(e,{index:t,rowCount:r,rowHeight:H,layout:n=[]}){let o,s,a;if(typeof H==="number")s=H,a=r*H;else{o=0;for(let c=0;c<t&&c<H.length;c++)o+=H[c]??0;s=H[t]??0,a=H.reduce((c,l)=>c+l,0)}DP(()=>{let c=e.current;if(!c||r===0)return;let l=c.viewport.height;if(l<=0)return;let i=o===void 0?fO({index:t,rowCount:r,rowHeight:s,viewportHeight:l,scrollTop:c.scrollTop}):vH({rowTop:o,rowHeight:s,contentHeight:a,viewportHeight:l,scrollTop:c.scrollTop});if(i!==c.scrollTop)c.scrollTop=i},[e,t,r,o,s,a,...n])}function Ir(e,t,{gap:r=1,minFlex:H=8}={}){let n=Math.max(0,Math.floor(t)),o=[...e],s=(p)=>p.reduce((g,m)=>g+(m.width==="flex"?H:m.width),0)+r*Math.max(0,p.length-1);while(o.length>0&&s(o)>n){let p=RP(o);if(p<0)break;o.splice(p,1)}while(o.length>1&&s(o)>n)o.pop();if(o.length===0)return[];let a=r*(o.length-1),c=o.reduce((p,g)=>p+(g.width==="flex"?0:g.width),0),l=o.filter((p)=>p.width==="flex").length,i=o.map((p)=>p.width==="flex"?0:p.width);if(l>0){let p=Math.max(0,n-a-c),g=Math.floor(p/l),m=p-g*l;o.forEach((O,y)=>{if(O.width!=="flex")return;if(i[y]=g+(m>0?1:0),m>0)m--})}let A=i.reduce((p,g)=>p+g,0)+a;for(let p=i.length-1;p>=0&&A>n;p--){let g=Math.min(i[p]-1,A-n);if(g<=0)continue;i[p]=i[p]-g,A-=g}let u=[],d=0;return o.forEach((p,g)=>{let m=Math.max(0,i[g]);u.push({column:p,width:m,offset:d}),d+=m+r}),u}function RP(e){let t=-1,r=1/0;return e.forEach((H,n)=>{if(H.priority===void 0)return;if(H.priority<=r)t=n,r=H.priority}),t}import{jsxDEV as ye,Fragment as kO}from"h:6___________________________";var GP=2,EP=20;function SO(e){return xa(e.contentHeight)+(e.renderDetail?1:0)+(e.separator?1:0)}function xa(e){if(e===void 0||!Number.isFinite(e))return 1;return Math.max(1,Math.floor(e))}function rt({rows:e,columns:t,width:r,selectedIndex:H,focused:n,rowKey:o,loading:s=!1,error:a,onRowClick:c,renderDetail:l,rowContentHeight:i,skeletonContentHeight:A=1,separator:u=!1,skeletonRows:d=EP,empty:p,errorTitle:g="Failed to load",gap:m=1,minFlex:O,gutter:y=GP,layout:L=[]}){let f=S(),k=vP(null),I=Math.max(1,r-y),h=Ir(t,I,{gap:m,minFlex:O}),b=h.map(({column:w})=>w),T=SO({renderDetail:l,separator:u}),P=e&&i?e.map((w,x)=>xa(i(w,x,b))):void 0,M=P?P.map((w)=>SO({contentHeight:w,renderDetail:l,separator:u})):T;cH(k,{index:H,rowCount:e?.length??0,rowHeight:M,layout:L});let G=e===void 0&&s,q=e!==void 0&&e.length===0&&!s;return ye(kO,{children:[ye(KP,{resolved:h,width:I,gap:m},void 0,!1,void 0,this),ye("scrollbox",{ref:k,focused:n,verticalScrollbarOptions:{showArrows:!1,trackOptions:{backgroundColor:f.panel,foregroundColor:f.muted}},style:{flexGrow:1,flexBasis:0,width:r},children:[G?Array.from({length:d},(w,x)=>ye(BP,{resolved:h,width:I,gap:m,seed:x,contentHeight:A,detail:Boolean(l),separator:u},x,!1,void 0,this)):null,q&&p?ye(WP,{...p},void 0,!1,void 0,this):null,e?.map((w,x)=>ye(XP,{row:w,index:x,resolved:h,width:I,gap:m,selected:n&&x===H,contentHeight:P?.[x]??1,renderDetail:l,separator:u,onRowClick:c},o(w,x),!1,void 0,this)),a&&e===void 0?ye(FP,{title:g,error:a},void 0,!1,void 0,this):null]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}function KP({resolved:e,width:t,gap:r}){let H=S();return ye("box",{style:{flexDirection:"row",width:t,border:["bottom"],borderColor:H.border,flexShrink:0},children:e.map(({column:n,width:o},s)=>ye(Pa,{width:o,gap:s>0?r:0,children:ye("text",{fg:H.muted,children:_(n.label,o,n.align??"left")},void 0,!1,void 0,this)},n.key,!1,void 0,this))},void 0,!1,void 0,this)}function Pa({width:e,gap:t,children:r}){return ye(kO,{children:[t>0?ye("text",{children:" ".repeat(t)},void 0,!1,void 0,this):null,ye("box",{style:{width:e,flexShrink:0,flexDirection:"row",overflow:"hidden"},children:r},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function XP({row:e,index:t,resolved:r,width:H,gap:n,selected:o,contentHeight:s,renderDetail:a,separator:c,onRowClick:l}){let i=S();return ye("box",{style:{flexDirection:"column",width:H,backgroundColor:o?i.selected:void 0,flexShrink:0},onMouseDown:l?()=>l(t,e):void 0,children:[ye("box",{style:{flexDirection:"row",height:s,flexShrink:0},children:r.map(({column:A,width:u},d)=>ye(Pa,{width:u,gap:d>0?n:0,children:A.render(e,o,u)},A.key,!1,void 0,this))},void 0,!1,void 0,this),a?ye("box",{style:{flexDirection:"row",width:H},children:a(e,o,H)},void 0,!1,void 0,this):null,c?ye("text",{fg:i.border,children:"\u2500".repeat(Math.max(0,H))},void 0,!1,void 0,this):null]},void 0,!0,void 0,this)}function BP({resolved:e,width:t,gap:r,seed:H,contentHeight:n,detail:o,separator:s}){let a=S();return ye("box",{style:{flexDirection:"column",width:t,flexShrink:0},children:[Array.from({length:xa(n)},(c,l)=>ye("box",{style:{flexDirection:"row"},children:e.map(({column:i,width:A},u)=>ye(Pa,{width:A,gap:u>0?r:0,children:ye("text",{fg:a.panelAlt,children:_(_O(A,H+l+u),A,i.align??"left")},void 0,!1,void 0,this)},i.key,!1,void 0,this))},l,!1,void 0,this)),o?ye("box",{style:{flexDirection:"row",width:t},children:ye("text",{fg:a.panelAlt,children:_(_O(t,H+7),t)},void 0,!1,void 0,this)},void 0,!1,void 0,this):null,s?ye("text",{fg:a.border,children:"\u2500".repeat(Math.max(0,t))},void 0,!1,void 0,this):null]},void 0,!0,void 0,this)}function _O(e,t){if(e<=0)return"";let r=0.4+t*17%45/100;return"\u2500".repeat(Math.max(1,Math.min(e,Math.floor(e*r))))}function WP({title:e,lines:t=[]}){let r=S();return ye("box",{style:{flexDirection:"column",padding:1},children:[ye("text",{fg:r.text,children:e},void 0,!1,void 0,this),t.filter(Boolean).map((H,n)=>ye("text",{fg:r.muted,children:H},n,!1,void 0,this))]},void 0,!0,void 0,this)}function FP({title:e,error:t}){let r=S();return ye("box",{style:{flexDirection:"column",padding:1},children:[ye("text",{fg:r.danger,children:e},void 0,!1,void 0,this),ye("text",{fg:r.muted,children:t.message},void 0,!1,void 0,this),t.retryable?ye("text",{fg:r.muted,children:"R to retry"},void 0,!1,void 0,this):null]},void 0,!0,void 0,this)}import{jsxDEV as hO}from"h:6___________________________";function sr({status:e,noun:t,width:r,height:H}){let n=S(),o=ne(e);return hO("box",{style:{flexDirection:"column",width:r,height:H,paddingLeft:1},children:hO("text",{fg:o?n.danger:n.muted,children:o?`Failed to load ${t}: ${o.message}`:`Loading ${t}\u2026`},void 0,!1,void 0,this)},void 0,!1,void 0,this)}var mr=["\u2581","\u2582","\u2583","\u2584","\u2585","\u2586","\u2587","\u2588"],LO=["\u258F","\u258E","\u258D","\u258C","\u258B","\u258A","\u2589","\u2588"];function Vn(e,t,{floor:r=!1}={}){if(t<=0)return"";if(!e||e.length===0)return"\u254C".repeat(t);let H=e.map(([,c])=>c),n=IO(H,t),o=Math.max(...n),s=r?mr[0]:" ";if(o===0)return mr[0].repeat(n.length).padStart(t);return n.map((c)=>{if(c===0)return s;let l=Math.ceil(c/o*mr.length)-1;return mr[Math.max(0,Math.min(mr.length-1,l))]}).join("").padStart(t)}function Zn(e,t,r,{floor:H=!1}={}){if(r<=0)return[];if(t<=0)return Array.from({length:r},()=>"");if(!e||e.length===0)return Array.from({length:r},()=>"\u254C".repeat(t));let n=IO(e.map(([,a])=>a),t),o=Math.max(...n),s=" ".repeat(Math.max(0,t-n.length));return Array.from({length:r},(a,c)=>{let l=c===r-1,i=r-1-c,A=l&&(H||o===0)?mr[0]:" ",u=n.map((d)=>{let p=o===0?0:d/o*r,g=Math.min(1,p-i);if(g<=0)return A;let m=Math.ceil(g*mr.length)-1;return mr[Math.max(0,Math.min(mr.length-1,m))]}).join("");return s+u})}function qa(e,t){if(t<=0)return"";let r=Number.isFinite(e)?Math.max(0,Math.min(1,e)):0,H=Math.round(r*t*8);if(H===0)return(r>0?LO[0]:" ").padEnd(t);let n=Math.min(t,Math.floor(H/8)),o=H%8,s=o>0&&n<t?LO[o-1]:"";return("\u2588".repeat(n)+s).padEnd(t)}function lH(e,t){if(e.length===0||e.length>=t)return[...e];return Array.from({length:t},(r,H)=>e[Math.min(e.length-1,Math.floor(H*e.length/t))])}function IO(e,t){if(e.length<=t)return e;let r=e.length/t,H=[];for(let n=0;n<t;n++){let o=Math.floor(n*r),s=Math.min(e.length,Math.floor((n+1)*r)),a=0;for(let c=o;c<s;c++)a+=e[c];H.push(s>o?a/(s-o):0)}return H}function xe(e){if(e===void 0)return"\xB7\xB7";let t=typeof e==="string"?Number(e):e;if(!Number.isFinite(t))return"0";let r=t<0?"-":"",H=Math.abs(t),n=[{divisor:1,suffix:""},{divisor:1000,suffix:"k"},{divisor:1e6,suffix:"m"},{divisor:1e9,suffix:"b"},{divisor:1000000000000,suffix:"t"}],o=0;while(o+1<n.length&&H>=n[o+1].divisor)o++;while(o+1<n.length){let l=H/n[o].divisor,i=o===0?2:l<10?1:0;if(Number(l.toFixed(i))<1000)break;o++}let s=n[o],a=H/s.divisor,c=o===0?2:a<10?1:0;return`${r}${Number(a.toFixed(c))}${s.suffix}`}function AH(e,t){let r=typeof e==="string"?Number(e):e;return`${xe(e)} ${r===1?t:`${t}s`}`}function ke(e,t=Date.now()){if(!e)return"";let r=Date.parse(e);if(Number.isNaN(r))return"";let H=Math.max(0,Math.floor((t-r)/1000));if(H<60)return`${H}s`;let n=Math.floor(H/60);if(n<60)return`${n}m`;let o=Math.floor(n/60);if(o<24)return`${o}h`;let s=Math.floor(o/24);if(s<7)return`${s}d`;let a=Math.floor(s/7);if(a<52)return`${a}w`;return`${Math.floor(s/365)}y`}import{jsxDEV as Jt}from"h:6___________________________";function UP(e,t,r=!1){let H=r?"+":"",n=e===1&&!r?t:`${t}s`;return`${xe(e)}${H} ${n}`}function Qe({count:e,noun:t,hasMore:r=!1,pagination:H}){let n=S(),o=H?.hasPrevious&&!H.loading,s=H?.hasNext&&!H.loading;return Jt("box",{style:{flexDirection:"row",flexShrink:0,height:1,paddingLeft:1,paddingRight:1},children:[Jt("text",{fg:n.subText,children:e===void 0?"":UP(e,t,r)},void 0,!1,void 0,this),Jt("box",{style:{flexGrow:1}},void 0,!1,void 0,this),H?Jt("box",{style:{flexDirection:"row",flexShrink:0},children:[H.hasPrevious?Jt("box",{style:{flexDirection:"row"},onMouseDown:o?H.onPrevious:void 0,children:[Jt(qt,{command:"sentry.nav.pageUp"},void 0,!1,void 0,this),Jt("text",{fg:o?n.muted:n.subText,children:" \u2039 "},void 0,!1,void 0,this)]},void 0,!0,void 0,this):null,Jt("text",{fg:n.subText,children:H.page},void 0,!1,void 0,this),H.hasNext?Jt("box",{style:{flexDirection:"row"},onMouseDown:s?H.onNext:void 0,children:[Jt("text",{fg:s?n.muted:n.subText,children:" \u203A "},void 0,!1,void 0,this),Jt(qt,{command:"sentry.nav.pageDown"},void 0,!1,void 0,this)]},void 0,!0,void 0,this):null]},void 0,!0,void 0,this):null]},void 0,!0,void 0,this)}import{useCallback as YP,useRef as $P}from"h:0__";import{RenderableEvents as zn}from"h:3__________";import{jsxDEV as Ma}from"h:6___________________________";function ht({value:e,placeholder:t,focused:r,width:H,onInput:n,onFocus:o,onBlur:s}){let a=S(),c=$P(null),l=YP((i)=>{let A=c.current;if(A)A.removeAllListeners(zn.FOCUSED),A.removeAllListeners(zn.BLURRED);if(c.current=i,i)i.on(zn.FOCUSED,()=>o()),i.on(zn.BLURRED,()=>s())},[o,s]);return Ma("box",{style:{flexDirection:"row",width:H,flexShrink:0,height:he,border:!0,borderStyle:"rounded",borderColor:r?a.accent:a.border,backgroundColor:a.panel,paddingLeft:1,paddingRight:1},children:[Ma(Gt,{},void 0,!1,void 0,this),Ma("input",{ref:l,value:e,placeholder:t,focused:r,onInput:n,style:{flexGrow:1,textColor:a.text,backgroundColor:a.panel,focusedTextColor:a.text,focusedBackgroundColor:a.panel,placeholderColor:a.subText}},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}import{useEffect as VP,useRef as ZP,useState as bO}from"h:0__";function wO(e,{org:t,dataset:r,fields:H,sort:n,query:o,statsPeriod:s,project:a,environment:c,referrer:l,reloadToken:i=0}){let[A,u]=bO(pe),[d,p]=bO(null),g=ZP(A);return g.current=A,VP(()=>{if(!e||H.length===0)return;let m=new AbortController,{signal:O}=m,y=!1;return u(Se(g.current,Date.now())),(async()=>{try{let L=await xt(e,{org:t,dataset:r,fields:H,sort:n,query:o,statsPeriod:s,project:a,environment:c,referrer:l,signal:O});if(y)return;u(me(L.rows,Date.now())),p(L.nextCursor)}catch(L){if(y||O.aborted)return;u(ge(g.current,Ce(L)))}})(),()=>{y=!0,m.abort()}},[e,t,r,H,n,o,s,a,c,l,i]),{rows:A,nextCursor:d}}import{useEffect as zP,useRef as JP,useState as e5}from"h:0__";function ar(e,{org:t,id:r,reloadToken:H=0,load:n}){let[o,s]=e5(pe),a=JP(o);return a.current=o,zP(()=>{if(!e)return;let c=new AbortController,l=!1;return s(Se(a.current,Date.now())),n(e,{org:t,id:r,signal:c.signal}).then((i)=>{if(!l)s(me(i,Date.now()))}).catch((i)=>{if(!l&&!c.signal.aborted)s(ge(a.current,Ce(i)))}),()=>{l=!0,c.abort()}},[e,t,r,H,n]),o}import{jsxDEV as Ct}from"h:6___________________________";function Jn(e){let t=e.projects.filter((r)=>r!==-1).map(String);return{id:`saved-query:${e.source}:${e.id}`,sentryLocation:{screen:xO(e),detail:{kind:"saved_query",queryId:e.id,source:e.source,resultScreen:xO(e),dataset:e.dataset,title:e.name},state:{query:e.query,sort:e.sort,statsPeriod:e.statsPeriod,selectedProjects:t,selectedEnvs:e.environment,fields:e.fields}},label:e.name,stateKey:Ta,initialState:{query:e.query,sort:e.sort,statsPeriod:e.statsPeriod,selectedProjects:t,selectedEnvs:e.environment},render:(r)=>r.state?Ct(qO,{...r,state:r.state,query:e},void 0,!1,void 0,this):null}}function xO(e){if(e.source==="discover")return"explore.discover";switch(e.dataset){case"logs":return"explore.logs";case"tracemetrics":return"explore.metrics";case"errors":return"explore.errors";case"profiles":return"explore.profiles";case"replays":return"explore.replays";default:return e.datasetLabel==="Conversations"?"explore.conversations":"explore.traces"}}var t5=(e,{org:t,id:r,signal:H})=>{let n=r.indexOf(":"),o=r.slice(0,n),s=r.slice(n+1);return Jg(e,{org:t,source:o,queryId:s,signal:H})};function PO(e){return{id:`saved-query:${e.source}:${e.queryId}`,label:e.title??`Query ${e.queryId}`,stateKey:Ta,sentryLocation:{screen:e.resultScreen,detail:e},render:(t)=>t.state?Ct(r5,{...t,state:t.state,detail:e},void 0,!1,void 0,this):null}}function r5({client:e,org:t,state:r,detail:H,reloadToken:n,width:o,height:s,updateView:a,...c}){let l=`${H.source}:${H.queryId}`,i=ar(e,{org:t,id:l,reloadToken:n,load:t5}),A=K(i);if(Ca(()=>{if(!A)return;r.dispatch({type:"seed",payload:{query:A.query,sort:A.sort,statsPeriod:A.statsPeriod,selectedProjects:A.projects.filter((u)=>u!==-1).map(String),selectedEnvs:A.environment}}),a(`saved-query:${H.source}:${H.queryId}`,{label:A.name})},[H.queryId,H.source,A,r.dispatch,a]),!A)return Ct(sr,{status:i,noun:"saved query",width:o,height:s},void 0,!1,void 0,this);return Ct(qO,{...c,client:e,org:t,state:r,reloadToken:n,width:o,height:s,updateView:a,query:A},void 0,!1,void 0,this)}function qO({client:e,org:t,state:r,focused:H,width:n,height:o,reloadToken:s,query:a}){let c=S(),{dispatch:l,focusSearch:i,handleSearchBlur:A}=r,u=r.selectedProjects.length>0?r.selectedProjects:void 0,d=r.selectedEnvs.length>0?r.selectedEnvs:void 0,p=TO(()=>Nn(a.fields),[a.fields]),g=p.some((h)=>h.value===r.sort)?r.sort:a.sort??p[0]?.value,{rows:m,nextCursor:O}=wO(e,{org:t,dataset:a.dataset,fields:a.fields,sort:g,query:r.committedQuery,statsPeriod:r.statsPeriod,project:u,environment:d,referrer:"sentry-tui.saved-query",reloadToken:s}),y=K(m),L=ne(m),f=m.state==="loading",k=Ze(m);Ca(()=>{if(y)l({type:"setEntries",payload:y})},[y,l]),Ca(()=>{l({type:"setStatus",payload:{loading:f,since:k,error:L?.message,noun:"results"}})},[f,k,L,m,l]);let I=TO(()=>i5(a.fields,c),[a.fields,c]);return Ct("box",{style:{flexDirection:"column",width:n,height:o},children:[Ct(ht,{value:r.searchQuery,placeholder:"Refine this query\u2026",focused:r.searchFocused,width:n,onInput:(h)=>l({type:"setSearchQuery",payload:h}),onFocus:i,onBlur:A},void 0,!1,void 0,this),Ct("box",{style:{flexDirection:"row",width:n,flexShrink:0,height:1,paddingLeft:1},children:[Ct("text",{fg:c.accent,attributes:v,children:D(a.name,Math.max(8,n-24))},void 0,!1,void 0,this),Ct("text",{fg:c.muted,children:` ${a.datasetLabel}`},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Ct($e,{client:e,org:t,openDropdown:r.openDropdown,selectedProjects:r.selectedProjects,selectedEnvs:r.selectedEnvs,statsPeriod:r.statsPeriod,sort:g?{value:g,items:p,onChange:(h)=>l({type:"setSort",payload:h})}:void 0,width:n,anchorTop:he+1,onProjectChange:(h)=>l({type:"setSelectedProjects",payload:h}),onEnvChange:(h)=>l({type:"setSelectedEnvs",payload:h}),onPeriodChange:(h)=>l({type:"setStatsPeriod",payload:h}),onDropdownClose:()=>l({type:"setOpenDropdown",payload:null}),onDropdownOpen:(h)=>l({type:"setOpenDropdown",payload:h})},void 0,!1,void 0,this),Ct(rt,{rows:y,columns:I,width:n,selectedIndex:r.selected,focused:H,rowKey:(h,b)=>String(b),loading:_e(m),error:L,errorTitle:"Failed to run the query",minFlex:a5,empty:{title:"This query returned nothing.",lines:[r.committedQuery||void 0,"Try widening the time range or adjusting the query.",`This organization may not have ${a.datasetLabel} enabled.`]},layout:[o]},void 0,!1,void 0,this),Ct(Qe,{count:y?.length,noun:"result",hasMore:O!==null},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}var H5=[{test:/timestamp|^time$/,width:19},{test:/^project(\.\w+)?$/,width:14},{test:/^(id|trace|replay_id|profile\.id)$|_id$/,width:12},{test:/\(.*\)/,width:12,align:"right"},{test:/duration|latency|size|count/,width:10,align:"right"},{test:/^(release|environment|platform|user|browser|os)(\.\w+)?$/,width:16}],n5=/^(message|description|name|transaction|title|url|culprit)$|\.(description|name)$/,o5=18,s5=20,a5=24;function i5(e,t){let r=e.map((n)=>{let o=H5.find((s)=>s.test.test(n));return{field:n,width:Math.max(o?.width??o5,Math.min(le(n),s5)),align:o?.align,wide:n5.test(n),unknown:o===void 0}}),H=c5(r.findIndex((n)=>n.wide),r.findIndex((n)=>n.unknown),r.length-1);return r.map((n,o)=>({key:n.field,label:n.field,width:o===H?"flex":n.width,align:n.align,priority:o===H?void 0:r.length-o,render:(s,a,c)=>Ct("text",{fg:o===0?t.text:t.muted,children:_(D(l5(s[n.field]),c),c,n.align??"left")},void 0,!1,void 0,this)}))}function c5(...e){return e.find((t)=>t>=0)??0}function l5(e){if(e===void 0||e===null||e==="")return"\u2014";if(typeof e==="number")return Number.isInteger(e)?String(e):e.toFixed(2);if(typeof e==="object")return JSON.stringify(e);return String(e)}function MO(e,t,r,H){let n=u5(e,t,r==="explore",H),o=OO(e,t,r==="dashboards",H);switch(r){case"explore":return{sections:n};case"dashboards":return o;default:return Lr}}function u5(e,t,r,H){let{queries:n}=$n(e,{org:t,source:"explore",starred:!0,limit:ha,enabled:r,reloadToken:H}),o=K(n);return A5(()=>d5(o),[o])}function d5(e){if(!e||e.length===0)return[];return[{title:"Starred Queries",items:e.slice(0,ha).map((t)=>({label:t.name,target:{group:"explore",item:"All Queries"},open:()=>Jn(t)}))}]}function CO(e,t,r=[]){return{railGroup:e,activeGroup:e,activeItem:t,navExpanded:!1,showSecondary:!1,secondaryItem:t,gotoMode:!1,viewStack:[...r]}}function QO(e,t){switch(t.type){case"navigate":return{...e,railGroup:t.group,activeGroup:t.group,activeItem:t.item,navExpanded:!1,showSecondary:!1,secondaryItem:t.item,gotoMode:!1,viewStack:[]};case"openGroup":return{...e,railGroup:t.group,showSecondary:!0,secondaryItem:t.item,gotoMode:!1};case"expandNav":return e.navExpanded?e:{...e,navExpanded:!0};case"openGoto":return{...e,navExpanded:!0,gotoMode:!0};case"closeGoto":return e.gotoMode?{...e,gotoMode:!1}:e;case"previewGroup":return{...e,railGroup:t.group,secondaryItem:t.item};case"selectRailGroup":return e.railGroup===t.group?e:{...e,railGroup:t.group};case"closeSecondary":return e.showSecondary?{...e,showSecondary:!1}:e;case"selectSecondaryItem":return e.secondaryItem===t.item?e:{...e,secondaryItem:t.item};case"pushView":return{...e,viewStack:[...e.viewStack,t.view]};case"popView":return e.viewStack.length===0?e:{...e,viewStack:e.viewStack.slice(0,-1)};case"clearViews":return e.viewStack.length===0?e:{...e,viewStack:[]};case"updateView":{let r=e.viewStack.findIndex((H)=>H.id===t.id);if(r===-1)return e;return{...e,viewStack:e.viewStack.map((H,n)=>n===r?{...H,...t.update}:H)}}case"replaceIssue":{let r=e.viewStack.map((H)=>H.issue?.id===t.issue.id?{...H,issue:t.issue}:H);return r.some((H,n)=>H!==e.viewStack[n])?{...e,viewStack:r}:e}}}import{useCallback as $5,useEffect as Ga,useRef as V5}from"h:0__";var p5=50;async function DO(e,{org:t,query:r="",statsPeriod:H,project:n,environment:o,cursor:s,limit:a=p5,signal:c}){let l=await e.request(`/organizations/${t}/ai-conversations/`,{query:{query:r||void 0,statsPeriod:H,project:Xe(n),environment:o,cursor:s,per_page:a,referrer:"sentry-tui.explore-conversations"},signal:c});return{data:(Array.isArray(l.data)?l.data:[]).map(m5).sort((A,u)=>Date.parse(u.endedAt)-Date.parse(A.endedAt)),nextCursor:l.nextCursor}}function m5(e,t){let r=e.startTimestamp??0,H=e.endTimestamp??r;return{id:e.conversationId??String(t),title:Wr(e.title),firstInput:NO(e.firstInput),lastOutput:NO(e.lastOutput),generationDurationMs:e.generationDuration??0,durationMs:Math.max(0,H-r),endedAt:H>0?new Date(H).toISOString():"",llmCalls:e.llmCalls??0,toolCalls:e.toolCalls??0,toolErrors:e.toolErrors??0,toolNames:Array.isArray(e.toolNames)?e.toolNames.filter(jO):[],errors:e.errors??0,totalTokens:e.totalTokens??0,inputTokens:e.inputTokens??0,outputTokens:e.outputTokens??0,totalCost:typeof e.totalCost==="number"?e.totalCost:void 0,traceCount:e.traceCount??0,traceIds:Array.isArray(e.traceIds)?e.traceIds.filter(jO):[],projectId:e.projectId==null?void 0:String(e.projectId),user:g5(e.user)}}function NO(e){if(typeof e==="string")return Wr(e);if(!Array.isArray(e))return;return Wr(e.find((t)=>t?.type==="text")?.text??e[0]?.text)}function Wr(e){let t=e?.trim();if(!t||t.toLowerCase()==="none")return;return t}function g5(e){if(!e)return;let t={id:Wr(e.id),email:Wr(e.email),username:Wr(e.username),ipAddress:Wr(e.ip_address)};return Object.values(t).some(Boolean)?t:void 0}function jO(e){return typeof e==="string"&&e.trim().length>0}function Qa(e){let t=e.title??e.firstInput;return t?t.replace(/\s+/g," ").trim()||void 0:void 0}var O5=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function RO(e){return O5.test(e)?e.slice(0,8):e}function vO(e){if(!e)return;return e.email??e.username??e.ipAddress??void 0}var GO="has:gen_ai.conversation.id",GH={yAxis:"count_unique(gen_ai.conversation.id)",noun:"conversations"},EO="conversations";function KO(e){return[e||void 0,"Try widening the time range or adjusting the query.","This organization may not have gen-ai-conversations enabled."]}import{jsxDEV as er}from"h:6___________________________";var y5=[" ","\u2581","\u2582","\u2583","\u2584","\u2585","\u2586","\u2587","\u2588"],EH=10,f5=8,S5=5;function eo(e,t=0){return e>=EH+f5+t+S5}var uH=7,_5=1,k5=1;function h5(e,t){if(e.length<=t)return e;let r=e.length/t,H=[];for(let n=0;n<t;n++){let o=Math.floor(n*r),s=Math.min(e.length,Math.floor((n+1)*r)),a=0,c=!1;for(let l=o;l<s;l++)a+=e[l].value,c||=e[l].incomplete;H.push({value:a,incomplete:c})}return H}function L5(e){return{top:_(xe(e),uH-1,"right")+" ",mid:_(xe(Math.round(e/2)),uH-1,"right")+" ",zero:_("0",uH-1,"right")+" "}}function I5(e){let t=new Date(e*1000),r=String(t.getHours()).padStart(2,"0"),H=String(t.getMinutes()).padStart(2,"0");return`${r}:${H}`}function b5(e,t,r){if(e.length===0||r<10)return"";let n=Math.max(2,Math.floor(r/(6+2))),o=Math.max(1,Math.floor(e.length/n)),s=Array.from({length:r},()=>" ");for(let a=0;a<e.length;a+=o){let c=e[a],l=I5(c[0]),i=Math.round(a/Math.max(1,e.length-1)*(r-l.length)),A=Math.max(0,Math.min(r-l.length,i));for(let u=0;u<l.length;u++)s[A+u]=l[u]}return s.join("")}function to({buckets:e,width:t,height:r,title:H,noun:n}){let o=S();if(t<20||r<4)return null;let s=t-uH-3,a=Math.max(1,r-_5-k5-2),c=e.map(([,y])=>y[0]?.count??0),l=e.map(([,y,L])=>({value:y[0]?.count??0,incomplete:L?.incomplete===!0})),i=lH(h5(l,s),s),A=Math.max(1,...i.map(({value:y})=>y)),u=c.reduce((y,L)=>y+L,0),d=L5(A),p=[];for(let y=a-1;y>=0;y--){let L="";for(let f=0;f<i.length;f++){let{value:k,incomplete:I}=i[f],h=A===0?0:Math.round(k/A*a*8),b=Math.floor(h/8),T=h%8,P=y<b?"\u2588":y===b&&T>0?y5[T]:" ";L+=I&&P!==" "?"\u2591":P}p.push(L)}let g=b5(e,i.length,s),m=t-2-1,O=n===void 0?"":`${xe(u)} ${n}`;return er("box",{style:{flexDirection:"column",width:t,height:r,flexShrink:0,border:["top","bottom","left","right"],borderColor:o.border,backgroundColor:o.panel,paddingLeft:1},children:[er("box",{style:{flexDirection:"row",width:m,flexShrink:0},children:[er("text",{fg:o.text,children:D(H,Math.max(0,m-O.length-1))},void 0,!1,void 0,this),er("box",{style:{flexGrow:1}},void 0,!1,void 0,this),er("text",{fg:o.muted,attributes:et,children:O},void 0,!1,void 0,this)]},void 0,!0,void 0,this),p.map((y,L)=>{let f;if(L===0)f=d.top;else if(L===Math.floor(p.length/2))f=d.mid;else if(L===p.length-1)f=d.zero;else f=" ".repeat(uH);return er("box",{style:{flexDirection:"row",flexShrink:0},children:[er("text",{fg:o.muted,attributes:et,children:f},void 0,!1,void 0,this),er("text",{fg:o.accent,children:y},void 0,!1,void 0,this)]},L,!0,void 0,this)}),er("box",{style:{flexDirection:"row",flexShrink:0},children:[er("text",{fg:o.muted,children:" ".repeat(uH)},void 0,!1,void 0,this),er("text",{fg:o.muted,attributes:et,children:g},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}import{useCallback as WO}from"h:0__";var w5=50;async function XO(e,{idField:t="id",limit:r=w5,...H}){let n=await xt(e,{...H,limit:r});return{data:n.rows.map((o,s)=>T5(o,s,t)),nextCursor:n.nextCursor}}function T5(e,t,r){return{id:je(e,r)??String(t),row:e}}async function ro(e,t){return al(e,t)}import{useCallback as Na,useEffect as BO,useRef as Fr,useState as Ho}from"h:0__";function Lt(e,t=0){let[r,H]=Ho(pe),[n,o]=Ho(null),[s,a]=Ho(void 0),[c,l]=Ho(1),i=Fr(r);i.current=r;let A=Fr(void 0),u=Fr(1),d=Fr([void 0]),p=Fr(null),g=Fr(0),m=Na((f,k)=>{p.current?.abort();let I=new AbortController;p.current=I;let h=++g.current,b;try{b=e(f,I.signal)}catch(P){return H((M)=>ge(M,Ce(P))),!1}if(b===null)return H(pe),!1;let T=Se(i.current,Date.now());return i.current=T,H(T),b.then((P)=>{if(I.signal.aborted||h!==g.current)return;A.current=f,u.current=k,d.current[k-1]=f,d.current.length=k,a(f),l(k),o(P.nextCursor),H(me(P,Date.now()))}).catch((P)=>{if(I.signal.aborted||h!==g.current)return;H((M)=>ge(M,Ce(P)))}),!0},[e]),O=Fr(null),y=Na(()=>{if(n===null||i.current.state==="loading")return!1;return m(n,u.current+1)},[n,m]),L=Na(()=>{if(u.current<=1||i.current.state==="loading")return!1;return m(d.current[u.current-2],u.current-1)},[m]);return BO(()=>{let f=O.current!==m;if(O.current=m,f)A.current=void 0,u.current=1,d.current=[void 0],a(void 0),l(1),o(null);m(A.current,u.current)},[m,t]),BO(()=>()=>{g.current++,p.current?.abort()},[]),{status:r,nextCursor:n,cursor:s,page:c,nextPage:y,previousPage:L}}function FO(e,{org:t,query:r,statsPeriod:H,project:n,environment:o,reloadToken:s=0}){let a=WO((A,u)=>e?DO(e,{org:t,query:r,statsPeriod:H,project:n,environment:o,cursor:A,signal:u}):null,[e,t,r,H,n,o]),c=WO((A)=>e?ro(e,{org:t,statsPeriod:H,project:n,environment:o,signal:A,dataset:"spans",yAxis:GH.yAxis,query:[GO,r.trim()].filter(Boolean).join(" "),referrer:"sentry-tui.explore-conversations-chart"}):null,[e,t,r,H,n,o]),l=Lt(a,s),i=Kt(c,{reloadKey:s}).status;return{conversations:ut(l.status,(A)=>A.data),timeseries:i,nextCursor:l.nextCursor,page:l.page,nextPage:l.nextPage,previousPage:l.previousPage}}import{useEffect as x5}from"h:0__";function De(e,t){x5(()=>(e(t),()=>e(null)))}var UO=[{name:"count",argument:"count"},{name:"avg",argument:"number"},{name:"p50",argument:"number"},{name:"p75",argument:"number"},{name:"p90",argument:"number"},{name:"p95",argument:"number"},{name:"p99",argument:"number"},{name:"p100",argument:"number"},{name:"sum",argument:"number"},{name:"min",argument:"number"},{name:"max",argument:"number"},{name:"count_unique",argument:"any"},{name:"epm",argument:"none"},{name:"eps",argument:"none"},{name:"failure_rate",argument:"none"},{name:"failure_count",argument:"none"},{name:"performance_score",argument:"score"},{name:"opportunity_score",argument:"score"}],P5=new Map(UO.map((e)=>[e.name,e]));function gr(e){return P5.get(e)?.argument??"number"}function YO(e,t=[]){let r=e.builder;if(!r)return[];let H=new Set(r.aggregates);return UO.filter((n)=>H.has(n.name)&&(n.argument!=="number"||r.numberField||t.length>0))}var $O=new Set(["id","sentry.item_id","timestamp"]);function no(e){let t=/^([a-zA-Z0-9_]+)\((.*)\)$/.exec(e.trim());if(!t)return{aggregate:e.trim(),argument:""};return{aggregate:t[1],argument:t[2].trim()}}function KH(e){return`${e.aggregate}(${gr(e.aggregate)==="none"?"":e.argument})`}function VO(e){let{aggregate:t,argument:r}=no(e.yAxis);return{aggregate:t,argument:r,groupBys:[],sampleSort:null,aggregateSort:null}}function oo(e){return e.groupBys.length>0?"aggregate":"samples"}function ZO(e,t,r,H=[]){let n=q5(t,e,r,H);if(n===void 0)return e;return JO(e,{...e,aggregate:t,argument:n})}function zO(e,t){return JO(e,{...e,argument:t})}function JO(e,t){let r=t.aggregateSort;if(!r||r.field!==KH(e))return t;return{...t,aggregateSort:{...r,field:KH(t)}}}function q5(e,t,r,H){let n=gr(e),o=gr(t.aggregate);if(n==="none")return"";if(n==="count")return no(r.yAxis).argument;if(n==="any")return r.builder?.uniqueField;if(n==="score")return t.argument.startsWith("measurements.score.")?t.argument:"measurements.score.total";if(o==="none"||o==="any"||t.argument==="")return H[0]??r.builder?.numberField;if(o==="count")return H[0]??r.builder?.numberField;return t.argument}function ey(e,t,r){let H={...e,groupBys:t.filter(Boolean)},n=H.aggregateSort;if(n&&!Da(H,r).includes(n.field))return{...H,aggregateSort:null};return H}function XH(e,t){return oo(e)==="aggregate"?{...e,aggregateSort:t}:{...e,sampleSort:t}}function so(e,t){let r=ao(e,t);return XH(e,{field:r.field,direction:r.direction==="desc"?"asc":"desc"})}function ao(e,t){if(oo(e)==="aggregate")return e.aggregateSort??{field:KH(e),direction:"desc"};return e.sampleSort??ja(t.sort)}function ja(e){return e.startsWith("-")?{field:e.slice(1),direction:"desc"}:{field:e,direction:"asc"}}function M5(e){return e.direction==="desc"?`-${e.field}`:e.field}function Da(e,t){if(oo(e)==="samples")return[...t.fields];return ry([KH(e),...e.groupBys])}function ty(e,t){let r=KH(t),H=oo(t),n=M5(ao(t,e));if(H==="samples")return{mode:H,fields:e.fields,sort:n,yAxis:r,groupBys:[],idField:e.idField};return{mode:H,fields:ry([...t.groupBys,r]),sort:n,yAxis:r,groupBys:t.groupBys,idField:t.groupBys[0]??""}}function ry(e){return[...new Set(e.filter(Boolean))]}function Hy(e,t){let r=gr(e.aggregate);return r==="none"||r==="count"?t.noun:e.argument||"\u2014"}function ny(e){if(e.groupBys.length===0)return"\u2014";if(e.groupBys.length===1)return e.groupBys[0];return`${e.groupBys.length} groups`}function oy(e){return e==="count"||e==="failure_count"}function sy(e){return e.startsWith("measurements.score.")}function BH(e){if(!e)return"--:--:--";return e.match(/T(\d{2}:\d{2}:\d{2})/)?.[1]??(e.slice(11,19)||"--:--:--")}function Ur(e){if(!Number.isFinite(e)||e<0)return"";if(e<60)return`${Math.round(e)}s`;let t=Math.floor(e/60);if(t<60)return`${t}m`;let r=Math.floor(t/60);if(r<24)return`${r}h`;return`${Math.floor(r/24)}d`}var ay="------ --:--";function WH(e){if(!e)return ay;let t=e.match(/^(\d{4}-\d{2}-\d{2})T(\d{2}:\d{2})/);return t?`${t[1]} ${t[2]}`:ay}function iy(e,t,r=Date.now()){let H=Date.parse(e);if(Number.isNaN(H))return"";let n=t?Date.parse(t):r;if(Number.isNaN(n))return"";return Ur(Math.max(0,(n-H)/1000))}import{jsxDEV as Oe,Fragment as io}from"h:6___________________________";var cy=24;function ly(e,t){switch(e){case"explore.traces":return N5(t);case"explore.logs":return Q5(t.theme);case"explore.metrics":return W5(t.theme);case"explore.errors":return Y5(t.theme);default:return[]}}var C5={trace:"TRACE",debug:"DEBUG",info:" INFO",warn:" WARN",error:"ERROR",fatal:"FATAL"};function Q5(e){let t={trace:e.subText,debug:e.muted,info:e.accent,warn:e.warning,error:e.danger,fatal:e.level.fatal};return[{key:"timestamp",label:"Time",width:10,render:(r,H,n)=>Oe("text",{fg:e.muted,children:_(BH(je(r.row,"timestamp")),n)},void 0,!1,void 0,this)},{key:"sentry.severity",label:"Level",width:6,priority:2,render:(r,H,n)=>{let o=Ra(r);return Oe("text",{fg:t[o],attributes:o==="error"||o==="fatal"?v:0,children:_(C5[o],n)},void 0,!1,void 0,this)}},{key:"project",label:"Project",width:14,priority:1,render:(r,H,n)=>Oe("text",{fg:e.subText,children:_(Ht(r,"project"),n)},void 0,!1,void 0,this)},{key:"message",label:"Message",width:"flex",render:(r,H,n)=>Oe("text",{fg:e.text,children:_(Ht(r,"message"),n)},void 0,!1,void 0,this)}]}function Ra(e){let t=Ht(e,"sentry.severity").toLowerCase();return t==="trace"||t==="debug"||t==="warn"||t==="error"||t==="fatal"?t:"info"}function N5(e){let{theme:t}=e;return[{key:"id",label:"Span ID",width:8,priority:3,render:(r,H,n)=>Oe("text",{fg:t.muted,children:_(uy(r.id),n)},void 0,!1,void 0,this)},{key:"span.name",label:"Name",width:16,priority:2,render:(r,H,n)=>Oe("text",{fg:t.subText,children:_(Ht(r,"span.name"),n)},void 0,!1,void 0,this)},{key:"span.description",label:"Description",width:"flex",render:(r,H,n)=>Oe("text",{fg:t.text,children:_(Ht(r,"span.description"),n)},void 0,!1,void 0,this)},{key:"span.duration",label:"Duration",width:15,render:(r,H,n)=>Oe(D5,{durationMs:_t(r.row,"span.duration"),maxMs:e.maxDurationMs,theme:t,width:n},void 0,!1,void 0,this)},{key:"transaction",label:"Transaction",width:18,priority:1,render:(r,H,n)=>Oe("text",{fg:t.subText,children:_(Ht(r,"transaction"),n)},void 0,!1,void 0,this)},{key:"timestamp",label:"Time",width:8,priority:4,render:(r,H,n)=>Oe("text",{fg:t.muted,children:_(BH(je(r.row,"timestamp")),n)},void 0,!1,void 0,this)}]}var j5=7;function D5({durationMs:e,maxMs:t,theme:r,width:H}){let n=Math.min(j5,H),o=Math.max(0,H-n-1);if(e===void 0)return Oe("text",{fg:r.subText,children:_("\u2014",H,"right")},void 0,!1,void 0,this);let s=t>0?e/t:0;return Oe(io,{children:[o>0?Oe(io,{children:[Oe("text",{fg:r.accent,children:qa(s,o)},void 0,!1,void 0,this),Oe("text",{children:" "},void 0,!1,void 0,this)]},void 0,!0,void 0,this):null,Oe("text",{fg:r.text,children:_(FH(e),n,"right")},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function FH(e){if(!Number.isFinite(e)||e<0)return"\u2014";if(e<1)return`${Math.round(e*1000)}\xB5s`;if(e<10)return`${e.toFixed(2)}ms`;if(e<1000)return`${Math.round(e)}ms`;let t=e/1000;if(t<60)return`${t.toFixed(t<10?2:1)}s`;let r=t/60;if(r<60)return`${r.toFixed(1)}m`;return`${(r/60).toFixed(1)}h`}var R5=20,v5=8;function Ay(e,t,r,H){let{aggregate:n,argument:o}=no(t);return[...e.map((s,a)=>({key:s,label:s,width:"flex",priority:a===0?void 0:e.length-a,render:(c,l,i)=>Oe("text",{fg:a===0?H.text:H.subText,children:_(Ht(c,s)||"(none)",i)},void 0,!1,void 0,this)})),{key:t,label:t,width:R5,align:"right",render:(s,a,c)=>Oe(G5,{value:_t(s.row,t),maxValue:r,text:X5(n,o,_t(s.row,t)),theme:H,width:c},void 0,!1,void 0,this)}]}function G5({value:e,maxValue:t,text:r,theme:H,width:n}){let o=Math.min(v5,n),s=Math.max(0,n-o-1);if(e===void 0)return Oe("text",{fg:H.subText,children:_("\u2014",n,"right")},void 0,!1,void 0,this);let a=t>0?e/t:0;return Oe(io,{children:[s>0?Oe(io,{children:[Oe("text",{fg:H.accent,children:qa(a,s)},void 0,!1,void 0,this),Oe("text",{children:" "},void 0,!1,void 0,this)]},void 0,!0,void 0,this):null,Oe("text",{fg:H.text,children:_(r,o,"right")},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}var E5=new Set(["count","count_unique","failure_count"]),K5=new Set(["failure_rate","performance_score","opportunity_score"]);function X5(e,t,r){if(r===void 0)return"\u2014";if(E5.has(e))return xe(r);if(K5.has(e))return`${(r*100).toFixed(1)}%`;if(B5(t))return FH(r);return Math.abs(r)>=1000?xe(r):String(Number(r.toFixed(2)))}function B5(e){return e==="span.duration"||e==="span.self_time"||e.endsWith(".duration")||e.endsWith("_time")}function W5(e){return[{key:"metric.name",label:"Metric",width:"flex",render:(t,r,H)=>Oe("text",{fg:e.text,children:_(Ht(t,"metric.name"),H)},void 0,!1,void 0,this)},{key:"metric.type",label:"Type",width:12,priority:2,render:(t,r,H)=>Oe("text",{fg:e.subText,children:_(Ht(t,"metric.type"),H)},void 0,!1,void 0,this)},{key:"value",label:"Value",width:14,align:"right",render:(t,r,H)=>Oe("text",{fg:e.accent,children:_(U5(_t(t.row,"value"),je(t.row,"metric.unit")),H,"right")},void 0,!1,void 0,this)},{key:"project",label:"Project",width:14,priority:1,render:(t,r,H)=>Oe("text",{fg:e.subText,children:_(Ht(t,"project"),H)},void 0,!1,void 0,this)},{key:"timestamp",label:"Time",width:8,priority:3,render:(t,r,H)=>Oe("text",{fg:e.muted,children:_(BH(je(t.row,"timestamp")),H)},void 0,!1,void 0,this)}]}var F5={nanosecond:"ns",microsecond:"\xB5s",millisecond:"ms",second:"s",minute:"min",hour:"h",day:"d",week:"wk",bit:"b",byte:"B",kilobyte:"kB",kibibyte:"KiB",megabyte:"MB",mebibyte:"MiB",gigabyte:"GB",gibibyte:"GiB",terabyte:"TB",tebibyte:"TiB",percent:"%",ratio:""};function U5(e,t){if(e===void 0)return"\u2014";let r=Math.abs(e)<1000?String(Number(e.toFixed(2))):xe(e);if(!t||t==="none")return r;let H=F5[t]??t;if(!H)return r;return H.length<=3?`${r}${H}`:`${r} ${H}`}function Y5(e){let t={fatal:e.level.fatal,error:e.level.error,warning:e.level.warning,info:e.level.info,sample:e.level.sample};return[{key:"id",label:"Event ID",width:8,priority:3,render:(r,H,n)=>Oe("text",{fg:e.muted,children:_(uy(r.id),n)},void 0,!1,void 0,this)},{key:"timestamp",label:"Time",width:8,render:(r,H,n)=>Oe("text",{fg:e.muted,children:_(BH(je(r.row,"timestamp")),n)},void 0,!1,void 0,this)},{key:"level",label:"Level",width:7,priority:4,render:(r,H,n)=>{let o=Ht(r,"level").toLowerCase(),s=t[o]??e.level.unknown;return Oe("text",{fg:s,attributes:o==="error"||o==="fatal"?v:0,children:_(o?o.toUpperCase():"",n)},void 0,!1,void 0,this)}},{key:"title",label:"Title",width:"flex",render:(r,H,n)=>Oe("text",{fg:e.text,children:_(Ht(r,"title"),n)},void 0,!1,void 0,this)},{key:"project",label:"Project",width:14,priority:2,render:(r,H,n)=>Oe("text",{fg:e.subText,children:_(Ht(r,"project"),n)},void 0,!1,void 0,this)},{key:"user.display",label:"User",width:18,priority:1,render:(r,H,n)=>Oe("text",{fg:e.subText,children:_(Ht(r,"user.display"),n)},void 0,!1,void 0,this)}]}function va(e){if(e===void 0)return"\u2014";if(e===0)return"$0";return e<1?`$${e.toFixed(4)}`:`$${e.toFixed(2)}`}function Ht(e,t){return je(e.row,t)??""}function uy(e,t=8){return e.slice(0,t)}import{jsxDEV as Ve}from"h:6___________________________";var Z5=28,py="Untitled conversation";function z5(e){return[{key:"conversation",label:"Conversation",width:"flex",render:(t,r,H)=>{let n=Qa(t);return Ve("text",{fg:n?e.text:e.subText,children:_(n??py,H)},void 0,!1,void 0,this)}},{key:"duration",label:"Duration",width:9,align:"right",priority:2,render:(t,r,H)=>Ve("text",{fg:e.text,children:_(FH(t.generationDurationMs),H,"right")},void 0,!1,void 0,this)},{key:"messages",label:"Msgs",width:5,align:"right",priority:5,render:(t,r,H)=>Ve("text",{fg:e.text,children:_(xe(t.llmCalls),H,"right")},void 0,!1,void 0,this)},{key:"errors",label:"Errs",width:5,align:"right",priority:3,render:(t,r,H)=>{let n=t.errors;return Ve("text",{fg:n>0?e.danger:e.subText,attributes:n>0?v:0,children:_(n>0?xe(n):"\xB7",H,"right")},void 0,!1,void 0,this)}},{key:"cost",label:"Cost",width:9,align:"right",priority:6,render:(t,r,H)=>Ve("text",{fg:e.accent,children:_(va(t.totalCost),H,"right")},void 0,!1,void 0,this)},{key:"tools",label:"Tools",width:20,priority:1,render:(t,r,H)=>Ve("text",{fg:e.subText,children:_(J5(t,H),H)},void 0,!1,void 0,this)},{key:"age",label:"Age",width:5,align:"right",priority:4,render:(t,r,H)=>Ve("text",{fg:e.muted,children:_(ke(t.endedAt),H,"right")},void 0,!1,void 0,this)}]}function J5(e,t){let r=e.toolNames;if(r.length===0)return e.toolCalls>0?`${e.toolCalls} calls`:"";let H=[],n=0;for(let s of r){let a=(H.length>0?2:0)+s.length;if(n+a>t-(H.length<r.length-1?3:0))break;H.push(s),n+=a}if(H.length===0)H.push(r[0]);let o=r.length-H.length;return o>0?`${H.join(", ")} +${o}`:H.join(", ")}function my({client:e,org:t,state:r,focused:H,width:n,height:o,reloadToken:s,onProjectSelect:a,registerActions:c,activateRow:l}){let i=S(),{dispatch:A,focusSearch:u,handleSearchBlur:d}=r,p=r.committedQuery,g=r.selectedProjects.length>0?r.selectedProjects:void 0,m=r.selectedEnvs.length>0?r.selectedEnvs:void 0,{conversations:O,timeseries:y,nextCursor:L,page:f,nextPage:k,previousPage:I}=FO(e,{org:t,query:p,statsPeriod:r.statsPeriod,project:g,environment:m,reloadToken:s}),h=O.state==="loading",b=Ze(O),T=K(O),P=ne(O),M=K(y);Ga(()=>{if(T)A({type:"setEntries",payload:T})},[T,A]);let G=V5(f);Ga(()=>{if(G.current===f)return;G.current=f,A({type:"setSelected",payload:0})},[f,A]),Ga(()=>{A({type:"setStatus",payload:{loading:h,since:b,error:P?.message,noun:EO}})},[h,b,P,O,A]);let q=$5(()=>A({type:"setOpenDropdown",payload:null}),[A]);De(c,{open:()=>A({type:"setDetailOpen",payload:(R)=>!R}),nextPage:k,previousPage:I,back:()=>{if(!r.detailOpen)return!1;return A({type:"setDetailOpen",payload:!1}),!0}});let w=T?.[r.selected]??null,x=r.detailOpen&&w!==null,N=!x&&eo(o)&&M!==void 0&&M.length>0,B=Math.max(20,n-2);return Ve("box",{style:{flexDirection:"column",width:n,height:o},children:[Ve(ht,{value:r.searchQuery,placeholder:"Search AI conversations\u2026",focused:r.searchFocused,width:n,onInput:(R)=>A({type:"setSearchQuery",payload:R}),onFocus:u,onBlur:d},void 0,!1,void 0,this),Ve($e,{client:e,org:t,openDropdown:r.openDropdown,selectedProjects:r.selectedProjects,selectedEnvs:r.selectedEnvs,statsPeriod:r.statsPeriod,width:n,anchorTop:he,onProjectChange:a,onEnvChange:(R)=>A({type:"setSelectedEnvs",payload:R}),onPeriodChange:(R)=>A({type:"setStatsPeriod",payload:R}),onDropdownClose:q,onDropdownOpen:(R)=>A({type:"setOpenDropdown",payload:R})},void 0,!1,void 0,this),N&&M?Ve(to,{buckets:M,width:B,height:EH,title:GH.yAxis,noun:GH.noun},void 0,!1,void 0,this):null,Ve(rt,{rows:T,columns:z5(i),width:n,selectedIndex:r.selected,focused:H,rowKey:(R,W)=>`${W}:${R.id}`,minFlex:Z5,loading:_e(O),error:P,errorTitle:"Failed to load conversations",onRowClick:l,renderDetail:(R,W,z)=>eq(R,W,z,i),empty:{title:"No conversations found.",lines:KO(p)},layout:[o,N,x]},void 0,!1,void 0,this),x&&w?Ve(tq,{conversation:w,width:B},void 0,!1,void 0,this):null,Ve(Qe,{count:T?.length,noun:"conversation",hasMore:L!==null,pagination:L!==null||f>1?{page:f,hasPrevious:f>1,hasNext:L!==null,loading:h,onPrevious:I,onNext:k}:void 0},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function eq(e,t,r,H){let n=[RO(e.id),e.projectId?`project ${e.projectId}`:void 0,vO(e.user),e.traceCount>1?`${e.traceCount} traces`:void 0].filter(Boolean);return Ve("text",{fg:H.subText,attributes:et,children:_(` ${n.join(" \u2502 ")}`,r)},void 0,!1,void 0,this)}function tq({conversation:e,width:t}){let r=S(),H=Math.max(10,t-2);return Ve("box",{style:{flexDirection:"column",width:t,border:["top"],borderColor:r.border,paddingTop:1,flexShrink:0},children:[Ve("text",{fg:r.accent,attributes:v,children:`\u25BE ${D(Qa(e)??py,t-2)}`},void 0,!1,void 0,this),e.firstInput&&e.title?Ve("text",{fg:r.text,children:D(` \u2192 ${dy(e.firstInput)}`,H)},void 0,!1,void 0,this):null,e.lastOutput?Ve("text",{fg:r.muted,children:D(` \u2190 ${dy(e.lastOutput)}`,H)},void 0,!1,void 0,this):null,Ve("text",{fg:r.muted,children:D(` ${AH(e.llmCalls,"call")} \u2502 `+`${AH(e.toolCalls,"tool")} \u2502 `+`${xe(e.inputTokens)} in / ${xe(e.outputTokens)} out \u2502 `+`${va(e.totalCost)} \u2502 ${FH(e.generationDurationMs)}`,H)},void 0,!1,void 0,this),e.traceIds[0]?Ve("text",{fg:r.subText,attributes:et,children:D(` trace ${e.traceIds[0]}`,H)},void 0,!1,void 0,this):null]},void 0,!0,void 0,this)}function dy(e){return e.replace(/\s+/g," ").trim()}import{useCallback as Xa,useEffect as Ba,useMemo as dH,useRef as mq,useState as Wa}from"h:0__";var gy=["count","avg","p50","p75","p90","p95","p99","sum","min","max","count_unique"],rq=["count","avg","p50","p75","p90","p95","p99","p100","sum","min","max","count_unique","epm","eps","failure_rate","failure_count","performance_score","opportunity_score"],Hq={id:"explore.traces",dataset:"spans",fields:["id","span.name","span.description","span.duration","transaction","timestamp"],sort:"-timestamp",idField:"id",yAxis:"count(span.duration)",builder:{itemType:"spans",aggregates:rq,numberField:"span.duration",uniqueField:"span.op"},noun:"spans",searchPlaceholder:"Search spans\u2026",referrer:"sentry-tui.explore-traces"},nq={id:"explore.logs",dataset:"logs",fields:["sentry.item_id","trace","sentry.severity","timestamp","message","project"],sort:"-timestamp",idField:"sentry.item_id",yAxis:"count(message)",builder:{itemType:"logs",aggregates:gy,uniqueField:"message"},noun:"logs",searchPlaceholder:"Search logs\u2026",referrer:"sentry-tui.explore-logs",feature:"logs"},oq={id:"explore.metrics",dataset:"tracemetrics",fields:["id","metric.name","metric.type","value","metric.unit","project","timestamp"],sort:"-timestamp",idField:"id",yAxis:"count(value)",builder:{itemType:"tracemetrics",aggregates:gy,numberField:"value",uniqueField:"metric.name"},noun:"metrics",searchPlaceholder:"Search metrics\u2026",referrer:"sentry-tui.explore-metrics",feature:"tracemetrics-enabled"},sq={id:"explore.errors",dataset:"errors",fields:["id","title","level","project","user.display","timestamp"],sort:"-timestamp",idField:"id",yAxis:"count()",noun:"events",searchPlaceholder:"Search error events\u2026",referrer:"sentry-tui.explore-errors",feature:"explore-errors"},aq=[Hq,nq,oq,sq],iq=new Map(aq.map((e)=>[e.id,e]));function Oy(e){return iq.get(e)}function yy(e,t){let r=e.baseQuery?.trim()??"",H=t.trim();if(!r)return H;if(!H)return r;return`(${r}) and (${H})`}function fy(e,t=e.yAxis){return t==="count()"||e.id==="explore.logs"&&t==="count(message)"?`count(${e.noun})`:t}function Sy(e,t){return[t||void 0,"Try widening the time range or adjusting the query.",e.feature?`This organization may not have ${e.feature} enabled.`:"This organization may not be sending this data yet."]}import{useMemo as Ao}from"h:0__";import{jsxDEV as Qt,Fragment as uq}from"h:6___________________________";var uo=Mt,co=1,Ea=3,Ka="",ky=44;function hy({table:e,query:t,attributes:r,open:H,width:n,anchorTop:o,interval:s,intervalItems:a,onChange:c,onIntervalChange:l,onOpen:i,onClose:A}){let u=S(),d=ao(t,e),p=gr(t.aggregate),g=p!=="none"&&p!=="count",m=Ao(()=>r.number.map(({key:b})=>b),[r.number]),O=Ao(()=>YO(e,m).map(({name:b})=>({label:b,value:b})),[e,m]),y=[{kind:"label",text:"Visualize",gapBefore:0},{kind:"chip",gapBefore:co,opens:"visualize",onPress:()=>i("visualize"),chip:{command:"sentry.explore.visualize",label:t.aggregate,caret:!0}},{kind:"chip",gapBefore:hr,opens:"field",onPress:()=>g&&i("field"),chip:{command:"sentry.explore.visualizeField",label:Hy(t,e),caret:g}},{kind:"label",text:"Group by",gapBefore:Ea},{kind:"chip",gapBefore:co,opens:"groupBy",onPress:()=>i("groupBy"),chip:{command:"sentry.explore.groupBy",label:ny(t),caret:!0}},{kind:"label",text:"Sort",gapBefore:Ea},{kind:"chip",gapBefore:co,opens:"sort",onPress:()=>i("sort"),chip:{command:"sentry.view.sort",label:d.field,caret:!0}},{kind:"chip",gapBefore:hr,opens:null,onPress:()=>c(so(t,e)),chip:{command:"sentry.explore.sortDirection",label:d.direction==="desc"?"Desc":"Asc"}},{kind:"label",text:"Interval",gapBefore:Ea},{kind:"chip",gapBefore:co,opens:"interval",onPress:()=>i("interval"),chip:{command:"sentry.explore.interval",label:s,caret:!0}}],L=_y(y,!0),f=L.total<=n,{placed:k}=f?L:_y(y,!1),I=o+Mt,h=(b)=>k.find((T)=>T.item.kind==="chip"&&T.item.opens===b)?.left??0;return Qt(uq,{children:[Qt("box",{style:{flexDirection:"row",alignItems:"center",flexShrink:0,height:Mt,overflow:"hidden"},children:k.map(({item:b,key:T,gap:P})=>b.kind==="label"?Qt("text",{fg:u.muted,children:`${" ".repeat(P)}${b.text}`},T,!1,void 0,this):Qt("box",{style:{flexDirection:"row",flexShrink:0},children:[P>0?Qt("text",{children:" ".repeat(P)},void 0,!1,void 0,this):null,Qt(Er,{...b.chip,active:H!==null&&H===b.opens,onPress:b.onPress},void 0,!1,void 0,this)]},T,!0,void 0,this))},void 0,!1,void 0,this),H==="visualize"?Qt(gt,{title:"Visualize",items:O,selected:[t.aggregate],anchorLeft:h("visualize"),anchorTop:I,showAll:!1,onSelect:(b)=>{let T=b[0];if(T)c(ZO(t,T,e,m));A()},onClose:A},void 0,!1,void 0,this):null,H==="field"?Qt(cq,{query:t,attributes:r,anchorLeft:h("field"),anchorTop:I,onSelect:(b)=>{c(zO(t,b)),A()},onClose:A},void 0,!1,void 0,this):null,H==="groupBy"?Qt(lq,{query:t,attributes:r,anchorLeft:h("groupBy"),anchorTop:I,onSelect:(b)=>{c(ey(t,Aq(t.groupBys,b),e)),A()},onClose:A},void 0,!1,void 0,this):null,H==="sort"?Qt(gt,{title:"Sort By",items:Da(t,e).map((b)=>({label:b,value:b})),selected:[d.field],anchorLeft:h("sort"),anchorTop:I,showAll:!1,placeholder:"No sortable columns",onSelect:(b)=>{let T=b[0];if(T)c(XH(t,{field:T,direction:d.direction}));A()},onClose:A},void 0,!1,void 0,this):null,H==="interval"?Qt(gt,{title:"Chart Interval",items:a,selected:[s],anchorLeft:h("interval"),anchorTop:I,showAll:!1,placeholder:"No intervals for this range",onSelect:(b)=>{let T=b[0];if(T)l(T);A()},onClose:A},void 0,!1,void 0,this):null]},void 0,!0,void 0,this)}function cq({query:e,attributes:t,anchorLeft:r,anchorTop:H,onSelect:n,onClose:o}){let s=gr(e.aggregate),a=Ao(()=>{if(s==="any")return lo([...t.string,...t.number,...t.boolean]);if(s==="score")return lo(t.number.filter((c)=>sy(c.key)));return lo(t.number)},[s,t]);return Qt(gt,{title:"Field",items:a,selected:[e.argument],anchorLeft:r,anchorTop:H,showAll:!1,filterable:!0,maxWidth:ky,placeholder:t.loading?"Loading attributes\u2026":"No attributes found",onSelect:(c)=>{let l=c[0];if(l)n(l)},onClose:o},void 0,!1,void 0,this)}function lq({query:e,attributes:t,anchorLeft:r,anchorTop:H,onSelect:n,onClose:o}){let s=Ao(()=>[{label:"\u2014",value:Ka},...lo([...t.string,...t.number,...t.boolean].filter((a)=>!$O.has(a.key)))],[t.string,t.number,t.boolean]);return Qt(gt,{title:"Group By",items:s,selected:e.groupBys.length>0?[...e.groupBys]:[Ka],anchorLeft:r,anchorTop:H,showAll:!1,filterable:!0,maxWidth:ky,placeholder:t.loading?"Loading attributes\u2026":"No attributes found",onSelect:(a)=>n(a[0]??Ka),onClose:o},void 0,!1,void 0,this)}function lo(e){return[...new Map(e.map((t)=>[t.key,{label:t.key,value:t.key}])).values()]}function Aq(e,t){if(!t)return[];return e.includes(t)?e.filter((r)=>r!==t):[...e,t]}function _y(e,t){let r=[],H=0,n=!0;for(let o of e){if(o.kind==="label"&&!t)continue;let s=n?0:o.gapBefore;n=!1;let a=H+s;r.push({item:o,key:o.kind==="label"?`label:${o.text}`:o.chip.command,left:a,gap:s}),H=a+(o.kind==="label"?le(o.text):vt(o.chip))}return{placed:r,total:H}}import{useCallback as Ly}from"h:0__";function Iy(e,t,{org:r,query:H,request:n,statsPeriod:o,interval:s,project:a,environment:c,reloadToken:l=0}){let i=yy(t,H),A=Ly((g,m)=>e?XO(e,{org:r,query:i,statsPeriod:o,project:a,environment:c,cursor:g,signal:m,dataset:t.dataset,fields:n.fields,sort:n.sort,idField:n.idField,referrer:t.referrer}):null,[e,r,i,n,o,a,c,t]),u=Ly((g)=>e?ro(e,{org:r,query:i,statsPeriod:o,interval:s,project:a,environment:c,signal:g,dataset:t.dataset,yAxis:n.yAxis,groupBy:n.groupBys.length>0?n.groupBys:void 0,sort:n.sort,topEvents:n.groupBys.length>0?9:void 0,referrer:`${t.referrer}-chart`}):null,[e,r,i,n,o,s,a,c,t]),d=Lt(A,l),p=Kt(u,{reloadKey:l}).status;return{events:ut(d.status,(g)=>g.data),timeseries:p,nextCursor:d.nextCursor,page:d.page,nextPage:d.nextPage,previousPage:d.previousPage}}import{useEffect as dq,useState as pq}from"h:0__";async function by(e,{org:t,itemType:r,attributeType:H,project:n,environment:o,statsPeriod:s,signal:a}){let{data:c}=await Ic({...e.generatedOptions(a),path:{organization_id_or_slug:t},query:{itemType:r,attributeType:[H],project:Xe(n),environment:o,statsPeriod:s}}),l=new Set,i=[];for(let A of Array.isArray(c)?c:[]){let u=typeof A?.key==="string"?A.key:"";if(!u||l.has(u))continue;l.add(u),i.push({key:u,name:typeof A.name==="string"&&A.name?A.name:u,type:H})}return i.sort((A,u)=>A.name.localeCompare(u.name)),i}var po=[],wy={string:po,number:po,boolean:po,loading:!1};function Ty(e,{org:t,itemType:r,statsPeriod:H,project:n,environment:o}){let[s,a]=pq(wy),c=n?.join(",")??"",l=o?.join(",")??"";return dq(()=>{if(!e||!r){a(wy);return}let i=new AbortController,A=!1;a((d)=>({...d,loading:!0}));let u=(d)=>by(e,{org:t,itemType:r,attributeType:d,statsPeriod:H,project:c?c.split(","):void 0,environment:l?l.split(","):void 0,signal:i.signal}).catch(()=>po);return Promise.all([u("string"),u("number"),u("boolean")]).then(([d,p,g])=>{if(A)return;a({string:d,number:p,boolean:g,loading:!1})}),()=>{A=!0,i.abort()}},[e,t,r,H,c,l]),s}import{jsxDEV as Le,Fragment as Lq}from"h:6___________________________";var xy=26;function UH(e){let t=S(),r=Oy(e.screen.id);if(!r)return Le("box",{style:{flexDirection:"column",paddingLeft:1},children:Le("text",{fg:t.danger,children:`No Explore table configured for ${e.screen.id}.`},void 0,!1,void 0,this)},void 0,!1,void 0,this);return Le(gq,{...e,table:r},void 0,!1,void 0,this)}function gq({client:e,org:t,state:r,focused:H,width:n,height:o,reloadToken:s,onProjectSelect:a,registerActions:c,activateRow:l,table:i}){let A=S(),{dispatch:u,focusSearch:d,handleSearchBlur:p}=r,g=r.committedQuery,m=r.selectedProjects.length>0?r.selectedProjects:void 0,O=r.selectedEnvs.length>0?r.selectedEnvs:void 0,[y,L]=Wa(()=>VO(i)),[f,k]=Wa(null),[I,h]=Wa(),b=i.builder!==void 0,T=dH(()=>ty(i,y),[i,y]),P=dH(()=>Nn(i.fields),[i.fields]),M=dH(()=>nl(r.statsPeriod),[r.statsPeriod]),G=M.find(({value:fe})=>fe===I)?.value??M[0]?.value??Mr(r.statsPeriod),q=Ty(e,{org:t,itemType:i.builder?.itemType,statsPeriod:r.statsPeriod,project:m,environment:O}),{events:w,timeseries:x,nextCursor:N,page:B,nextPage:R,previousPage:W}=Iy(e,i,{org:t,query:g,request:T,statsPeriod:r.statsPeriod,interval:G,project:m,environment:O,reloadToken:s}),z=w.state==="loading",He=Ze(w),se=K(w),ae=ne(w),Ae=K(x);Ba(()=>{if(se)u({type:"setEntries",payload:se})},[se,u]);let de=mq(B);Ba(()=>{if(de.current===B)return;de.current=B,u({type:"setSelected",payload:0})},[B,u]),Ba(()=>{u({type:"setStatus",payload:{loading:z,since:He,error:ae?.message,noun:i.noun}})},[z,He,ae,w,u,i.noun]);let re=Xa(()=>u({type:"setOpenDropdown",payload:null}),[u]),Q=Xa(()=>k(null),[]),U=Xa((fe)=>{u({type:"setOpenDropdown",payload:null}),k(fe)},[u]);De(c,{open:()=>u({type:"setDetailOpen",payload:(fe)=>!fe}),nextPage:R,previousPage:W,back:()=>{if(!r.detailOpen)return!1;return u({type:"setDetailOpen",payload:!1}),!0},handleKey:(fe)=>{if(j("sentry.explore.interval",fe))return U("interval"),!0;if(!b)return!1;if(j("sentry.explore.visualize",fe))return U("visualize"),!0;if(j("sentry.explore.visualizeField",fe)){let Fe=gr(y.aggregate);if(Fe!=="none"&&Fe!=="count")U("field");return!0}if(j("sentry.explore.groupBy",fe))return U("groupBy"),!0;if(j("sentry.view.sort",fe))return U("sort"),!0;if(j("sentry.explore.sortDirection",fe))return L((Fe)=>so(Fe,i)),!0;return!1}});let Y=dH(()=>kq(se),[se]),V=dH(()=>_q(se,T.yAxis),[se,T.yAxis]),qe=dH(()=>T.mode==="aggregate"?Ay(y.groupBys,T.yAxis,V,A):ly(i.id,{maxDurationMs:Y,theme:A}),[T.mode,T.yAxis,y.groupBys,V,i.id,Y,A]),Ee=se?.[r.selected]??null,ue=r.detailOpen&&Ee!==null,te=!ue&&eo(o,uo)&&Ae!==void 0&&Ae.length>0,be=Math.max(20,n-2);return Le("box",{style:{flexDirection:"column",width:n,height:o},children:[Le(ht,{value:r.searchQuery,placeholder:i.searchPlaceholder,focused:r.searchFocused,width:n,onInput:(fe)=>u({type:"setSearchQuery",payload:fe}),onFocus:d,onBlur:p},void 0,!1,void 0,this),Le($e,{client:e,org:t,openDropdown:r.openDropdown,selectedProjects:r.selectedProjects,selectedEnvs:r.selectedEnvs,statsPeriod:r.statsPeriod,sort:b?void 0:{value:T.sort,items:P,onChange:(fe)=>L((Fe)=>XH(Fe,ja(fe)))},width:n,anchorTop:he,onProjectChange:a,onEnvChange:(fe)=>u({type:"setSelectedEnvs",payload:fe}),onPeriodChange:(fe)=>u({type:"setStatsPeriod",payload:fe}),onDropdownClose:re,onDropdownOpen:(fe)=>u({type:"setOpenDropdown",payload:fe})},void 0,!1,void 0,this),b?Le(hy,{table:i,query:y,attributes:q,open:f,width:n,anchorTop:he+uo,interval:G??"",intervalItems:M,onChange:L,onIntervalChange:h,onOpen:U,onClose:Q},void 0,!1,void 0,this):Le(Oq,{interval:G??"",items:M,open:f==="interval",width:n,anchorTop:he+uo,onOpen:()=>U("interval"),onChange:h,onClose:Q},void 0,!1,void 0,this),te&&Ae?Le(to,{buckets:Ae,width:be,height:EH,title:fy(i,T.yAxis),noun:oy(y.aggregate)?i.noun:void 0},void 0,!1,void 0,this):null,Le(rt,{rows:se,columns:qe,width:n,selectedIndex:r.selected,focused:H,rowKey:(fe,Fe)=>`${Fe}:${fe.id}`,minFlex:cy,loading:_e(w),error:ae,errorTitle:`Failed to load ${i.noun}`,onRowClick:l,empty:{title:`No ${i.noun} found.`,lines:Sy(i,g)},layout:[o,te,ue]},void 0,!1,void 0,this),ue&&Ee?i.id==="explore.logs"?Le(yq,{event:Ee,width:be},void 0,!1,void 0,this):Le(fq,{event:Ee,fields:T.fields,width:be},void 0,!1,void 0,this):null,Le(Qe,{count:se?.length,noun:hq(i),hasMore:N!==null,pagination:N!==null||B>1?{page:B,hasPrevious:B>1,hasNext:N!==null,loading:z,onPrevious:W,onNext:R}:void 0},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function Oq({interval:e,items:t,open:r,width:H,anchorTop:n,onOpen:o,onChange:s,onClose:a}){let c=S();return Le(Lq,{children:[Le("box",{style:{flexDirection:"row",alignItems:"center",flexShrink:0,height:Mt,overflow:"hidden"},children:[Le("text",{fg:c.muted,children:"Interval "},void 0,!1,void 0,this),Le(Er,{command:"sentry.explore.interval",label:e,caret:!0,active:r,onPress:o},void 0,!1,void 0,this)]},void 0,!0,void 0,this),r?Le(gt,{title:"Chart Interval",items:t,selected:[e],anchorLeft:9,anchorTop:n+Mt,availableWidth:H,showAll:!1,onSelect:(l)=>{let i=l[0];if(i)s(i);a()},onClose:a},void 0,!1,void 0,this):null]},void 0,!0,void 0,this)}function yq({event:e,width:t}){let r=S(),H=Ht(e,"trace");return Le("box",{style:{flexDirection:"column",width:t,border:["top"],borderColor:r.border,paddingTop:1,flexShrink:0},children:[Le("text",{fg:r.accent,attributes:v,children:"\u25BE Log Details"},void 0,!1,void 0,this),Le("text",{fg:r.text,children:D(Ht(e,"message"),t)},void 0,!1,void 0,this),Le("text",{fg:r.muted,children:` Severity: ${Ra(e)} \u2502 Project: ${Ht(e,"project")||"\u2014"}`},void 0,!1,void 0,this),H?Le("text",{fg:r.muted,children:` Trace: ${H}`},void 0,!1,void 0,this):null]},void 0,!0,void 0,this)}function fq({event:e,fields:t,width:r}){let H=S(),n=Math.max(10,r-xy-2);return Le("box",{style:{flexDirection:"column",width:r,border:["top"],borderColor:H.border,paddingTop:1,flexShrink:0},children:[Le("text",{fg:H.accent,attributes:v,children:"\u25BE Row Details"},void 0,!1,void 0,this),t.map((o)=>Le("box",{style:{flexDirection:"row",width:r},children:[Le("text",{fg:H.muted,children:` ${_(o,xy)}`},void 0,!1,void 0,this),Le("text",{fg:H.text,children:D(Sq(e,o),n)},void 0,!1,void 0,this)]},o,!0,void 0,this))]},void 0,!0,void 0,this)}function Sq(e,t){let r=Ht(e,t);return r===""?"\u2014":r.replace(/\s+/g," ")}function _q(e,t){let r=0;for(let H of e??[]){let n=_t(H.row,t);if(n!==void 0&&n>r)r=n}return r}function kq(e){if(!e)return 0;let t=0;for(let r of e){let H=Number(r.row["span.duration"]);if(Number.isFinite(H)&&H>t)t=H}return t}function hq(e){return e.noun.endsWith("s")?e.noun.slice(0,-1):e.noun}import{useCallback as lM,useEffect as Vy,useMemo as AM}from"h:0__";var Iq={"dashboards.all":{title:"All Dashboards",description:"Every dashboard in this organization.",sort:"recentlyViewed",searchPlaceholder:"Search dashboards by title\u2026",emptyTitle:"No dashboards found.",emptyLines:["This organization may not have dashboards enabled.","Otherwise there are none yet \u2014 create one on sentry.io, as this client is read-only."]},"dashboards.sentry-built":{title:"Sentry Built",description:"Prebuilt dashboards Sentry ships for you.",filter:"onlyPrebuilt",sort:"mostPopular",searchPlaceholder:"Search Sentry Built dashboards\u2026",emptyTitle:"No Sentry Built dashboards.",emptyLines:["This organization may not have prebuilt dashboards enabled.","The web app hides this section entirely without the feature; we can't read org features, so it shows up empty instead."]}};function Py(e){return Iq[e]}import{jsxDEV as YH,Fragment as bq}from"h:6___________________________";function pH({value:e,items:t,open:r,width:H,anchorTop:n,onChange:o,onOpen:s,onClose:a}){let c=Math.max(0,H-vt({command:CH,label:QH(t,e),caret:!0}));return YH(bq,{children:[YH("box",{style:{flexDirection:"row",alignItems:"center",flexShrink:0,width:H,height:Mt,overflow:"hidden"},children:[YH("box",{style:{flexGrow:1}},void 0,!1,void 0,this),YH(jn,{value:e,items:t,open:r,onOpen:s},void 0,!1,void 0,this)]},void 0,!0,void 0,this),r?YH(Dn,{value:e,items:t,anchorLeft:c,anchorTop:n+Mt,availableWidth:H,onChange:o,onClose:a},void 0,!1,void 0,this):null]},void 0,!0,void 0,this)}import{useCallback as rM,useEffect as mH,useMemo as ti,useRef as Yy,useState as HM}from"h:0__";function Yr(e){switch(e){case"big_number":return"number";case"bar":case"area":case"line":return"series";case"table":case"top_n":return"table";case"categorical_bar":return"bars";default:return"unsupported"}}function Ua(e){switch(e){case void 0:case null:case"discover":return"discover";case"error-events":return"errors";case"transaction-like":return"transactions";case"spans":return"spans";case"logs":return"ourlogs";case"tracemetrics":return"tracemetrics";case"preprod-app-size":return"preprodSize";default:return null}}function Ya(e){if(Yr(e.displayType)==="unsupported")return`"${e.displayType}" widgets are not renderable in the terminal.`;return`"${e.widgetType}" widgets are not read through the events API.`}var wq=5,Tq=10,mo=8;async function My(e,{org:t,widget:r,statsPeriod:H,project:n,environment:o,signal:s}){let a=Yr(r.displayType),c=Ua(r.widgetType),l=r.queries[0];if(a==="unsupported"||c===null||!l)return null;let i={org:t,dataset:c,query:l.conditions,statsPeriod:H,project:n,environment:o,referrer:"sentry-tui.dashboards",signal:s};switch(a){case"number":{let A=xq(l),u=await xt(e,{...i,fields:[A],limit:1}),d=u.rows[0]?_t(u.rows[0],A):void 0;return{kind:"number",value:d,formatted:Va(d),label:A}}case"series":{let A=Hl(H,r.interval,r.displayType==="bar"),u=[];for(let d of r.queries){let p=d.aggregates[0]??"count()",g=await qs(e,{...i,query:d.conditions,yAxis:p,interval:A});u.push({buckets:g,label:d.name||p})}return{kind:"series",series:u}}case"table":{let A=Pq(l),u=await xt(e,{...i,fields:A,sort:l.orderby||void 0,limit:$a(r)});return{kind:"table",headers:qq(l,A),fields:A,rows:u.rows}}case"bars":{let A=l.columns[0],u=l.aggregates[0]??"count()";return{kind:"bars",entries:(await xt(e,{...i,fields:A?[A,u]:[u],sort:l.orderby||`-${u}`,limit:mo})).rows.map((m,O)=>({label:(A?je(m,A):void 0)??`#${O+1}`,value:_t(m,u)??0})),label:u}}}}function xq(e){let t=e.selectedAggregate??0;return e.aggregates[t]??e.aggregates[0]??"count()"}function Pq(e){let t=e.fields?.filter((H)=>H.length>0)??[];if(t.length>0)return t;let r=[...e.columns,...e.aggregates].filter((H)=>H.length>0);return r.length>0?r:["count()"]}function qq(e,t){return t.map((r,H)=>e.fieldAliases?.[H]||r)}function $a(e){let t=e.limit??wq;return Math.max(1,Math.min(t,Tq))}function Va(e){if(e===void 0||!Number.isFinite(e))return"\u2014";if(!Number.isInteger(e))return Math.abs(e)>=1000?qy(e):e.toFixed(2);return Math.abs(e)>=1e4?qy(e):String(e)}function qy(e){let t=e<0?"-":"",r=Math.abs(e);if(r>=1e9)return`${t}${Fa(r/1e9)}b`;if(r>=1e6)return`${t}${Fa(r/1e6)}m`;return`${t}${Fa(r/1000)}k`}function Fa(e){return e.toFixed(1).replace(/\.0$/,"")}var Cy=5;var Qy={"0":["\u2588\u2588\u2588","\u2588 \u2588","\u2588 \u2588","\u2588 \u2588","\u2588\u2588\u2588"],"1":[" \u2588\u2588"," \u2588"," \u2588"," \u2588"," \u2588"],"2":["\u2588\u2588\u2588"," \u2588","\u2588\u2588\u2588","\u2588 ","\u2588\u2588\u2588"],"3":["\u2588\u2588\u2588"," \u2588","\u2588\u2588\u2588"," \u2588","\u2588\u2588\u2588"],"4":["\u2588 \u2588","\u2588 \u2588","\u2588\u2588\u2588"," \u2588"," \u2588"],"5":["\u2588\u2588\u2588","\u2588 ","\u2588\u2588\u2588"," \u2588","\u2588\u2588\u2588"],"6":["\u2588\u2588\u2588","\u2588 ","\u2588\u2588\u2588","\u2588 \u2588","\u2588\u2588\u2588"],"7":["\u2588\u2588\u2588"," \u2588"," \u2588"," \u2588"," \u2588"],"8":["\u2588\u2588\u2588","\u2588 \u2588","\u2588\u2588\u2588","\u2588 \u2588","\u2588\u2588\u2588"],"9":["\u2588\u2588\u2588","\u2588 \u2588","\u2588\u2588\u2588"," \u2588","\u2588\u2588\u2588"],"-":[" "," ","\u2588\u2588\u2588"," "," "],".":[" "," "," "," ","\u2588"],",":[" "," "," "," ","\u2588"]," ":[" "," "," "," "," "]};function Mq(e){return e in Qy}function Ny(e){let t=0;while(t<e.length&&Mq(e[t]))t++;return{numeric:e.slice(0,t),suffix:e.slice(t)}}function jy(e){let t=[...e].map((r)=>Qy[r]).filter((r)=>r!==void 0);if(t.length===0)return Array.from({length:5},()=>"");return Array.from({length:5},(r,H)=>t.map((n)=>n[H]).join(" "))}var Cq=2,Qq=1,Za=1,$H=8,Nq=1,jq=Cy+1,Dq=2,Rq=1;function vq(e,t){switch(t){case"number":return jq;case"series":return $H+Nq;case"table":return Rq+$a(e);case"bars":return za(e);case"unsupported":return Dq}}function Dy(e,t){return Cq+Qq+vq(e,t)+Za}function za(e){let t=e.limit??mo;return Math.max(1,Math.min(t,mo))}function Ry(e){return[...e].map((t,r)=>({widget:t,index:r})).sort((t,r)=>{let H=t.widget.layout,n=r.widget.layout;if(!H&&!n)return t.index-r.index;if(!H)return 1;if(!n)return-1;return H.y-n.y||H.x-n.x||t.index-r.index}).map(({widget:t})=>t)}function Gq(e){let t=[],r=0;for(let H of e)t.push(r),r+=H;return t}function vy({heights:e,index:t,viewportHeight:r,scrollTop:H}){if(e.length===0||r<=0)return 0;let n=Math.max(0,Math.min(t,e.length-1)),o=Gq(e),s=o[e.length-1]+e[e.length-1],a=Math.max(0,s-r),c=o[n],l=c+e[n],i=c<H||e[n]>r?c:l>H+r?l-r:H;return Math.min(Math.max(i,0),a)}import{jsxDEV as ce}from"h:6___________________________";var Eq=4,go=6,Kq=8,Xq=24,Gy=8,Bq=8;function Xy({widget:e,kind:t,status:r,width:H,height:n,selected:o,placeholder:s=!1}){let a=S(),c=Math.max(4,H-Eq),l=Math.max(0,n-3);return ce("box",{style:{flexDirection:"column",width:H,height:n,flexShrink:0,marginBottom:Za,border:!0,borderColor:o?a.accent:a.border,backgroundColor:o?a.panel:void 0,paddingLeft:1,paddingRight:1},children:[ce(Wq,{widget:e,width:c,selected:o,placeholder:s},void 0,!1,void 0,this),ce(Fq,{widget:e,kind:t,status:s?void 0:r,width:c,lines:l},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function Wq({widget:e,width:t,selected:r,placeholder:H}){let n=S(),o=e.displayType,s=Math.max(1,t-o.length-1);return ce("box",{style:{flexDirection:"row",width:t,flexShrink:0},children:[ce("text",{fg:H?n.panelAlt:r?n.accent:n.text,attributes:H?0:v,children:_(H?Ja(s,3):e.title||"Untitled widget",s)},void 0,!1,void 0,this),ce("text",{fg:n.subText,attributes:et,children:_(o,o.length+1,"right")},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function Fq({widget:e,kind:t,status:r,width:H,lines:n}){if(t==="unsupported")return ce(Ky,{reason:Ya(e),width:H,lines:n},void 0,!1,void 0,this);let o=ne(r);if(o)return ce(eM,{message:o.message,width:H,lines:n},void 0,!1,void 0,this);let s=K(r)??null;if(s===null&&r?.state==="ready")return ce(Ky,{reason:Ya(e),width:H,lines:n},void 0,!1,void 0,this);let a=s===null||oO(r)||r===void 0;switch(t){case"number":return ce(Uq,{data:s?.kind==="number"?s:void 0,pending:a,width:H},void 0,!1,void 0,this);case"series":return ce(Yq,{data:s?.kind==="series"?s:void 0,pending:a,width:H},void 0,!1,void 0,this);case"table":return ce(Zq,{data:s?.kind==="table"?s:void 0,width:H,lines:n},void 0,!1,void 0,this);case"bars":return ce(Jq,{data:s?.kind==="bars"?s:void 0,rows:za(e),width:H},void 0,!1,void 0,this)}}function Uq({data:e,pending:t,width:r}){let H=S(),{numeric:n,suffix:o}=Ny(e?.formatted??""),s=jy(t||n.length===0?"000":n),a=t||n.length===0,c=s.length-1,l=o?` ${o}`:"",i=(s[0]?.length??0)+l.length;return ce("box",{style:{flexDirection:"column",width:r,flexShrink:0},children:[s.map((A,u)=>ce("box",{style:{flexDirection:"row",width:r,flexShrink:0},children:ce("text",{fg:a?H.panelAlt:H.text,children:_(_(u===c?A+l:A,i),r,"center")},void 0,!1,void 0,this)},u,!1,void 0,this)),ce("text",{fg:H.muted,children:_(e?.label??"",r,"center")},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function Yq({data:e,pending:t,width:r}){let H=S(),n=Math.max(4,r-go-1),o=(e?.series??[]).map(({buckets:p,label:g})=>({label:g,points:p.map(([m,O])=>[m,O[0]?.count??0])})),s=t?[{label:"",points:void 0}]:o.slice(0,$H),a=[H.accent,H.success,H.warning,H.highlight],c=Math.floor($H/Math.max(1,s.length)),l=$H%Math.max(1,s.length),i=s.length>1,A=s.flatMap(({label:p,points:g},m)=>{let O=c+(l-- >0?1:0),y=g?lH(g,n):void 0,L=Zn(y,n,O,{floor:!0}),f=g&&g.length>0?Math.max(...g.map(([,k])=>k)):0;return L.map((k,I)=>({line:k,color:a[m%a.length],gutter:i?I===0?D(p,go):"":$q(I,L.length,f,Boolean(g))}))}),u=o[0]?.points,d=i?`${s.length} series`:o[0]?.label??"";return ce("box",{style:{flexDirection:"column",width:r,flexShrink:0},children:[A.map(({line:p,gutter:g,color:m},O)=>ce("box",{style:{flexDirection:"row",width:r,flexShrink:0},children:[ce("text",{fg:H.muted,attributes:et,children:`${_(g,go,i?"left":"right")} `},void 0,!1,void 0,this),ce("text",{fg:t?H.panelAlt:m,children:p},void 0,!1,void 0,this)]},O,!0,void 0,this)),ce("box",{style:{flexDirection:"row",width:r,flexShrink:0},children:[ce("text",{fg:H.muted,attributes:et,children:" ".repeat(go+1)},void 0,!1,void 0,this),ce("text",{fg:H.subText,attributes:et,children:Vq(u,d,n)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}function $q(e,t,r,H){if(!H)return"";if(e===0)return Va(r);if(e===t-1)return"0";return""}function Vq(e,t,r){if(!e||e.length===0||r<12)return" ".repeat(Math.max(0,r));let H=Ey(e[0][0]),n=Ey(e[e.length-1][0]),o=Math.max(1,r-H.length-n.length);return`${H}${_(D(t,Math.max(0,o-4)),o,"center")}${n}`.slice(0,r)}function Ey(e){let t=new Date(e*1000);return`${String(t.getHours()).padStart(2,"0")}:${String(t.getMinutes()).padStart(2,"0")}`}function Zq({data:e,width:t,lines:r}){let H=S(),n=e?.headers??[],o=e?.fields??[],s=(n.length>0?n:[""]).map((l,i)=>({key:String(i),width:"flex",priority:n.length-i,header:l,field:o[i]??""})),a=Ir(s,t,{gap:1,minFlex:Bq}),c=Math.max(0,r-1);return ce("box",{style:{flexDirection:"column",width:t,flexShrink:0},children:[ce("text",{fg:H.muted,children:a.map(({column:l,width:i})=>_(l.header,i)).join(" ")},void 0,!1,void 0,this),Array.from({length:c},(l,i)=>{let A=e?.rows[i];return ce("text",{fg:A?H.text:H.panelAlt,children:a.map(({column:u,width:d})=>_(A?zq(A,u.field):e?"":Ja(d,i),d)).join(" ")},i,!1,void 0,this)})]},void 0,!0,void 0,this)}function zq(e,t){let r=e[t];if(r===void 0||r===null||r==="")return"\u2014";if(typeof r==="number")return Number.isInteger(r)?String(r):r.toFixed(2);return String(r)}function Ja(e,t){if(e<=0)return"";let r=0.4+t*17%45/100;return"\u2500".repeat(Math.max(1,Math.min(e,Math.floor(e*r))))}function Jq({data:e,rows:t,width:r}){let H=S(),n=Math.max(Kq,Math.min(Xq,Math.floor(r*0.35))),o=Math.max(1,r-n-Gy-2),s=e?.entries??[],a=Math.max(1,...s.map((c)=>c.value));return ce("box",{style:{flexDirection:"column",width:r,flexShrink:0},children:Array.from({length:t},(c,l)=>{let i=s[l],A=i?Math.max(1,Math.round(i.value/a*o)):0,u=i||!e?Math.max(0,o-A):0;return ce("box",{style:{flexDirection:"row",width:r,flexShrink:0},children:[ce("text",{fg:i?H.subText:H.panelAlt,children:`${_(i?.label??(e?"":Ja(n,l)),n)} `},void 0,!1,void 0,this),A>0?ce("text",{fg:H.accent,children:"\u2588".repeat(A)},void 0,!1,void 0,this):null,u>0?ce("text",{fg:H.panelAlt,children:"\u2591".repeat(u)},void 0,!1,void 0,this):null,ce("text",{fg:i?H.text:H.panelAlt,children:_(i?xe(i.value):"",Gy,"right")},void 0,!1,void 0,this)]},l,!0,void 0,this)})},void 0,!1,void 0,this)}function Ky({reason:e,width:t,lines:r}){let H=S();return ce(By,{width:t,lines:r,children:[ce("text",{fg:H.muted,children:D(e,t)},void 0,!1,void 0,this),ce("text",{fg:H.subText,attributes:et,children:D("Open it on sentry.io to see this one.",t)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function eM({message:e,width:t,lines:r}){let H=S();return ce(By,{width:t,lines:r,children:[ce("text",{fg:H.danger,children:D("Failed to load this widget",t)},void 0,!1,void 0,this),ce("text",{fg:H.muted,children:D(e,t)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function By({width:e,lines:t,children:r}){return ce("box",{style:{flexDirection:"column",width:e,height:t,flexShrink:0},children:r},void 0,!1,void 0,this)}import{useEffect as ei,useRef as VH,useState as Wy}from"h:0__";function Fy(e,{org:t,id:r,reloadToken:H=0}){let[n,o]=Wy(pe),s=VH(n);return s.current=n,ei(()=>{if(!e)return;let a=new AbortController,{signal:c}=a,l=!1;return o(Se(s.current,Date.now())),(async()=>{try{let i=await lO(e,{org:t,id:r,signal:c});if(!l)o(me(dO(i),Date.now()))}catch(i){if(l||c.aborted)return;o(ge(s.current,Ce(i)))}})(),()=>{l=!0,a.abort()}},[e,t,r,H]),n}function yo(e,t){return e.id??`#${t}`}function Uy(e,{org:t,dashboardId:r,widgets:H,upto:n,statsPeriod:o,project:s,environment:a,reloadToken:c=0}){let[l,i]=Wy(()=>new Map),A=JSON.stringify([t,r,o,s??null,a??null,c]),u=VH({org:t,statsPeriod:o,project:s,environment:a});u.current={org:t,statsPeriod:o,project:s,environment:a};let d=VH(new Set),p=VH(Promise.resolve()),g=VH(null);return ei(()=>{d.current=new Set,p.current=Promise.resolve(),i(new Map);let m=new AbortController;return g.current=m,()=>m.abort()},[A]),ei(()=>{if(!e)return;let m=g.current;if(!m)return;let O=Math.min(H.length,Math.max(0,n));for(let y=0;y<O;y++){let L=H[y],f=yo(L,y);if(d.current.has(f))continue;if(d.current.add(f),!tM(L)){i((k)=>Oo(k,f,me(null,Date.now())));continue}i((k)=>Oo(k,f,Se(void 0,Date.now()))),p.current=p.current.then(async()=>{if(m.signal.aborted)return;try{let k=await My(e,{...u.current,widget:L,signal:m.signal});if(!m.signal.aborted)i((I)=>Oo(I,f,me(k,Date.now())))}catch(k){if(m.signal.aborted)return;i((I)=>Oo(I,f,ge(void 0,Ce(k))))}})}},[e,H,n,A]),l}function tM(e){return Yr(e.displayType)!=="unsupported"&&Ua(e.widgetType)!==null&&e.queries.length>0}function Oo(e,t,r){let H=new Map(e);return H.set(t,r),H}import{jsxDEV as Ot}from"h:6___________________________";var nM=2,oM=2,sM="14d",aM=2,iM=1;function ri(e){return{id:`dashboard:${e.id}`,sentryLocation:{screen:"dashboards.all",detail:{kind:"dashboard",dashboardId:e.id}},label:e.title,stateKey:Cl,initialState:{statsPeriod:sM,selectedEnvs:e.environment??[],selectedProjects:[]},render:(t)=>t.state?Ot(cM,{...t,state:t.state,dashboard:e},void 0,!1,void 0,this):null}}function $y(e){return ri({id:e,title:`Dashboard ${e}`,widgetDisplay:[]})}function cM({client:e,org:t,state:r,focused:H,width:n,height:o,reloadToken:s,dashboard:a,updateView:c}){let l=S(),{dispatch:i}=r,A=Yy(null),u=Fy(e,{org:t,id:a.id,reloadToken:s}),d=K(u),p=ne(u),g=u.state==="loading";mH(()=>{if(d)c(`dashboard:${a.id}`,{label:d.title})},[d,a.id,c]);let m=ti(()=>Ry(d?.widgets??[]),[d]),O=ti(()=>(a.widgetDisplay??[]).map((w,x)=>({id:`placeholder-${x}`,title:"",displayType:w,queries:[]})),[a.widgetDisplay]),y=d?m:O,L=!d,f=Boolean(d?.prebuiltId??a.prebuiltId);mH(()=>{i({type:"setEntries",payload:m})},[m,i]),mH(()=>{i({type:"setStatus",payload:{loading:g,error:p?.message,noun:"dashboard"}})},[g,p,i]);let k=Yy(null);mH(()=>{if(!d?.period||k.current===d.id)return;k.current=d.id,i({type:"setStatsPeriod",payload:d.period})},[d,i]);let[I,h]=HM(nM);mH(()=>{h((w)=>Math.max(w,r.selected+1+oM))},[r.selected]);let b=r.selectedProjects.length>0?r.selectedProjects:void 0,T=r.selectedEnvs.length>0?r.selectedEnvs:void 0,P=Uy(e,{org:t,dashboardId:a.id,widgets:m,upto:I,statsPeriod:r.statsPeriod,project:b,environment:T,reloadToken:s}),M=Math.max(20,n-aM),G=ti(()=>y.map((w)=>Dy(w,Yr(w.displayType))),[y]);mH(()=>{let w=A.current;if(!w||G.length===0)return;let x=w.viewport.height;if(x<=0)return;let N=vy({heights:G,index:r.selected,viewportHeight:x,scrollTop:w.scrollTop});if(N!==w.scrollTop)w.scrollTop=N},[G,r.selected,o]);let q=rM(()=>i({type:"setOpenDropdown",payload:null}),[i]);return Ot("box",{style:{flexDirection:"column",width:n,height:o},children:[Ot("box",{style:{flexDirection:"row",width:n,flexShrink:0,paddingLeft:1},children:[Ot("text",{fg:l.text,attributes:v,children:D(d?.title??a.title,Math.max(8,n-24))},void 0,!1,void 0,this),Ot("text",{fg:l.muted,children:d?.period?` saved on ${d.period}`:" read-only"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Ot($e,{client:e,org:t,openDropdown:r.openDropdown,selectedProjects:r.selectedProjects,selectedEnvs:r.selectedEnvs,statsPeriod:r.statsPeriod,width:n,anchorTop:iM,onProjectChange:(w)=>i({type:"setSelectedProjects",payload:w}),onEnvChange:(w)=>i({type:"setSelectedEnvs",payload:w}),onPeriodChange:(w)=>i({type:"setStatsPeriod",payload:w}),onDropdownClose:q,onDropdownOpen:(w)=>i({type:"setOpenDropdown",payload:w})},void 0,!1,void 0,this),p&&!d?Ot("box",{style:{flexDirection:"column",padding:1},children:[Ot("text",{fg:l.danger,children:"Failed to load dashboard"},void 0,!1,void 0,this),Ot("text",{fg:l.muted,children:p.message},void 0,!1,void 0,this),p.retryable?Ot("text",{fg:l.muted,children:"R to retry"},void 0,!1,void 0,this):null]},void 0,!0,void 0,this):null,d&&y.length===0?Ot("box",{style:{flexDirection:"column",padding:1},children:[Ot("text",{fg:l.text,children:f?"This Sentry Built dashboard is not bundled in this version.":"This dashboard has no widgets."},void 0,!1,void 0,this),Ot("text",{fg:l.muted,children:f?"Its widgets live in Sentry Web rather than the API; open it on sentry.io to view them.":"Add one on sentry.io \u2014 this client is read-only."},void 0,!1,void 0,this)]},void 0,!0,void 0,this):null,Ot("scrollbox",{ref:A,focused:H,verticalScrollbarOptions:{showArrows:!1,trackOptions:{backgroundColor:l.panel,foregroundColor:l.muted}},style:{flexGrow:1,flexBasis:0,width:n},children:y.map((w,x)=>Ot(Xy,{widget:w,kind:Yr(w.displayType),status:P.get(yo(w,x)),width:M,height:G[x]-1,selected:H&&x===r.selected,placeholder:L},yo(w,x),!1,void 0,this))},void 0,!1,void 0,this),y.length>0?Ot("text",{fg:l.subText,attributes:et,children:D(` widget ${Math.min(r.selected+1,y.length)} of ${y.length} \xB7 j/k to move \xB7 esc to go back`,n)},void 0,!1,void 0,this):null]},void 0,!0,void 0,this)}import{jsxDEV as yt}from"h:6___________________________";var uM=4,dM=28;function pM(e){let t={key:"star",label:"\u2605",width:1,render:(a)=>yt("text",{fg:a.isFavorited?e.warning:e.border,children:a.isFavorited?"\u2605":"\u2606"},void 0,!1,void 0,this)},r={key:"name",label:"Name",width:"flex",render:(a,c,l)=>yt("text",{fg:c?e.text:e.accent,attributes:c?v:0,children:_(a.title,l)},void 0,!1,void 0,this)},H={key:"widgets",label:"Widgets",width:7,align:"right",priority:4,render:(a,c,l)=>yt("text",{fg:e.text,children:_(mM(a),l,"right")},void 0,!1,void 0,this)},n={key:"lastVisited",label:"Last Visited",width:12,priority:5,render:(a,c,l)=>yt("text",{fg:e.subText,children:_(a.lastVisited?ke(a.lastVisited):"\u2014",l)},void 0,!1,void 0,this)};return{standard:[t,r,H,{key:"owner",label:"Owner",width:18,priority:3,render:(a,c,l)=>yt("text",{fg:e.muted,children:_(gM(a),l)},void 0,!1,void 0,this)},{key:"access",label:"Access",width:10,priority:1,render:(a,c,l)=>yt("text",{fg:e.muted,children:_(OM(a),l)},void 0,!1,void 0,this)},{key:"created",label:"Created",width:10,priority:2,render:(a,c,l)=>yt("text",{fg:e.subText,children:_(a.dateCreated?ke(a.dateCreated):"\u2014",l)},void 0,!1,void 0,this)},n],prebuilt:[t,r,{key:"description",label:"Description",width:"flex",priority:1,render:(a,c,l)=>yt("text",{fg:e.muted,children:_(a.description??"",l)},void 0,!1,void 0,this)},H,n]}}function Hi(e){let t=S(),{client:r,org:H,screen:n,state:o,focused:s,width:a,height:c,reloadToken:l}=e,{dispatch:i,focusSearch:A,handleSearchBlur:u}=o,p=Py(n.id)??{title:n.item,description:"",sort:"recentlyViewed",searchPlaceholder:"Search dashboards\u2026",emptyTitle:"No dashboards found.",emptyLines:[]},g=p.filter==="onlyPrebuilt",m=AM(()=>Ia(g),[g]),O=aO(o.sort,p.sort,g),{dashboards:y,nextCursor:L}=gO(r,{org:H,filter:p.filter,query:o.committedQuery,sort:O,reloadToken:l}),f=K(y),k=ne(y),I=y.state==="loading";Vy(()=>{if(f)i({type:"setEntries",payload:f})},[f,i]),Vy(()=>{i({type:"setStatus",payload:{loading:I,error:k?.message,noun:"dashboards"}})},[I,k,i]);let{pushView:h}=e,b=lM((M)=>{let G=f?.[M];if(G)h(ri(G))},[f,h]);De(e.registerActions,{open:b});let T=pM(t),P=g?T.prebuilt:T.standard;return yt("box",{style:{flexDirection:"column",width:a,height:c},children:[yt(ht,{value:o.searchQuery,placeholder:p.searchPlaceholder,focused:o.searchFocused,width:a,onInput:(M)=>i({type:"setSearchQuery",payload:M}),onFocus:A,onBlur:u},void 0,!1,void 0,this),yt("box",{style:{flexDirection:"row",width:a,flexShrink:0,paddingLeft:1},children:[yt("text",{fg:t.text,attributes:v,children:p.title},void 0,!1,void 0,this),yt("text",{fg:t.muted,children:` ${p.description}`},void 0,!1,void 0,this)]},void 0,!0,void 0,this),yt(pH,{value:O,items:m,open:o.openDropdown==="sort",width:a,anchorTop:he+1,onChange:(M)=>i({type:"setSort",payload:M}),onOpen:()=>i({type:"setOpenDropdown",payload:"sort"}),onClose:()=>i({type:"setOpenDropdown",payload:null})},void 0,!1,void 0,this),yt(rt,{rows:f,columns:P,width:a,minFlex:dM,selectedIndex:o.selected,focused:s,rowKey:(M)=>M.id,loading:_e(y),error:k,errorTitle:"Failed to load dashboards",onRowClick:e.activateRow,empty:{title:p.emptyTitle,lines:[o.committedQuery||void 0,...p.emptyLines]},layout:[c,uM]},void 0,!1,void 0,this),yt(Qe,{count:f?.length,noun:"dashboard",hasMore:L!==null},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function mM(e){if(e.widgetDisplay.length>0)return String(e.widgetDisplay.length);return e.prebuiltId==null?"0":"\u2014"}function gM(e){let t=e.createdBy;if(!t)return"Sentry";return t.name||t.email||"\u2014"}function OM(e){let t=e.permissions;if(!t||t.isEditableByEveryone)return"All";let r=t.teamsWithEditAccess?.length??0;return r>0?`Creator +${r}`:"Creator"}import{useCallback as mi,useEffect as Po,useMemo as uC,useRef as gi}from"h:0__";import{RenderableEvents as xo}from"h:3__________";var yM=new Set(["upload","gravatar"]);function fM(e){if(!e?.avatar||!yM.has(e.avatar.avatarType))return;return e.avatar.avatarUrl??e.avatarUrl??void 0}function zy(e){let t=new Map;for(let r of e){let H=fM(r.user);if(H&&r.user)t.set(r.user.id,H)}return t}function Jy(e,t){if(e?.type!=="user")return;return t.get(e.id)}var Zy="\xB7";function ef(e){let t=e?.name;if(!t)return Zy;return t.split(/[\s@._-]+/).filter(Boolean).slice(0,2).map((n)=>n[0].toUpperCase()).join("")||Zy}function ZH(e){return e.metadata?.type||e.metadata?.function||e.title}function fo(e){let t=e.metadata?.value;if(t)return tf(t);let r=e.culprit??"";return r===ZH(e)?"":tf(r)}function tf(e){return e.replace(/\s+/g," ").trim()}import{jsxDEV as SM}from"h:6___________________________";function gH({text:e,fallback:t,width:r,fg:H,attributes:n=oH}){let o=S(),s=!e||e.trim().length===0;return SM("text",{fg:s?o.subText:H??o.text,attributes:s?pr:n,style:{flexShrink:0},children:_(s?t:e,r)},void 0,!1,void 0,this)}import{jsxDEV as J,Fragment as sf}from"h:6___________________________";var Xt={lastSeen:10,age:6,sparkline:12,events:7,users:7,priority:6,assignee:5},oi=Xt.sparkline-3,rf=2,_M=1,Hf={lastSeen:"Last Seen",age:"Age",sparkline:"Trend",events:"Events",users:"Users",priority:"Prio",assignee:"Asgn"},kM=["lastSeen","age","sparkline","events","users","priority","assignee"],ni=16,si=3,hM=[{key:"marker",width:si},{key:"title",width:"flex"},{key:"lastSeen",width:Xt.lastSeen,priority:6},{key:"age",width:Xt.age,priority:3},{key:"sparkline",width:Xt.sparkline,priority:5},{key:"events",width:Xt.events},{key:"users",width:Xt.users,priority:4},{key:"priority",width:Xt.priority,priority:2},{key:"assignee",width:Xt.assignee,priority:1}],$r=1,ai=4;function ii(e){let t=Math.max(ni+si,e-$r*2),r=Ir(hM,t,{gap:0,minFlex:ni}),H=r.find(({column:s})=>s.key==="title")?.width??ni,n=new Set(r.map(({column:s})=>s.key)),o=kM.filter((s)=>n.has(s));return{content:t,title:H,columns:o}}var LM={high:"high",medium:"med",low:"low"};function of({width:e,selectionAbove:t=!1,selectionBelow:r=!1}){let H=S(),n=t?"\u2580":r?"\u2584":"\u2500",o=t||r?H.selected:H.border;return J("text",{fg:o,children:n.repeat(Math.max(0,e))},void 0,!1,void 0,this)}function ci({content:e,fg:t,rules:r=!0}){let H=S(),n=r?"\u2502":" ";return J(sf,{children:[J("text",{children:" "},void 0,!1,void 0,this),J("text",{fg:H.border,children:n},void 0,!1,void 0,this),J("text",{fg:t,children:e},void 0,!1,void 0,this),J("text",{fg:H.border,children:n},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function So({width:e,selectionBelow:t=!1}){let r=S(),H=ii(e);return J("box",{style:{flexDirection:"column",width:e,flexShrink:0},children:[J("box",{style:{flexDirection:"row",paddingLeft:$r,paddingRight:$r},children:[J("text",{fg:r.muted,children:_("Issue",si+H.title)},void 0,!1,void 0,this),H.columns.map((n)=>n==="sparkline"?J(ci,{content:_(Hf[n],oi,"center"),fg:r.muted,rules:!1},n,!1,void 0,this):J("text",{fg:r.muted,children:_(Hf[n],Xt[n],"right")},n,!1,void 0,this))]},void 0,!0,void 0,this),J(of,{width:e,selectionBelow:t},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function _o({group:e,selected:t,width:r,pending:H=!1,selectionBelow:n=!1,assigneeAvatarUrl:o,onClick:s}){let a=S(),c=ii(r),l=t?a.selected:void 0,i=ZH(e),A=fo(e),u=Cn(),d=wM(e,Math.max(0,c.content-5),A,u);return J("box",{style:{flexDirection:"column",width:r,flexShrink:0},onMouseDown:s,children:[J("box",{style:{flexDirection:"column",paddingLeft:$r,paddingRight:$r,backgroundColor:l},children:[J("box",{style:{flexDirection:"row"},children:[J("text",{fg:t?a.accent:a.muted,children:t?"\u25B8":" "},void 0,!1,void 0,this),J("text",{fg:a.accent,children:H?"\u27F3":e.hasSeen?" ":"\u25CF"},void 0,!1,void 0,this),J("text",{children:" "},void 0,!1,void 0,this),J(gH,{text:i,fallback:"(no title)",width:c.title,fg:a.text,attributes:v},void 0,!1,void 0,this),c.columns.map((p)=>J(bM,{column:p,group:e,avatarUrl:o},p,!1,void 0,this))]},void 0,!0,void 0,this),J("box",{style:{flexDirection:"row"},children:[J("text",{children:" "},void 0,!1,void 0,this),J("text",{fg:a.level[e.level]??a.level.unknown,children:"\u2503"},void 0,!1,void 0,this),J("text",{children:" "},void 0,!1,void 0,this),J(gH,{text:A,fallback:"(no error message)",width:Math.max(0,c.content-5),fg:a.muted},void 0,!1,void 0,this)]},void 0,!0,void 0,this),J("box",{style:{flexDirection:"row"},children:[J("text",{children:" "},void 0,!1,void 0,this),J("text",{fg:a.muted,children:d.lead},void 0,!1,void 0,this),d.showIcon?J(sH,{platform:e.project?.platform},void 0,!1,void 0,this):null,J("text",{fg:a.muted,children:d.rest},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),J(of,{width:r,selectionAbove:t,selectionBelow:n},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function IM({group:e,avatarUrl:t}){let r=S(),H=Xt.assignee,{supportsHighRes:n}=Vt();if(!t||!n)return J("text",{fg:r.muted,children:_(ef(e.assignedTo),H,"right")},void 0,!1,void 0,this);return J(sf,{children:[J("text",{children:" ".repeat(Math.max(0,H-rf))},void 0,!1,void 0,this),J("image",{source:t,fit:"fit",style:{width:rf,height:_M,flexShrink:0}},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function bM({column:e,group:t,avatarUrl:r}){let H=S(),n=Xt[e];switch(e){case"sparkline":return J(ci,{content:Vn(t.stats?.["24h"],oi),fg:H.muted},void 0,!1,void 0,this);case"events":return J("text",{fg:H.text,children:_(xe(t.count),n,"right")},void 0,!1,void 0,this);case"users":return J("text",{fg:H.text,children:_(xe(t.userCount),n,"right")},void 0,!1,void 0,this);case"lastSeen":return J("text",{fg:H.muted,children:_(nf(t.lastSeen,!0),n,"right")},void 0,!1,void 0,this);case"age":return J("text",{fg:H.muted,children:_(nf(t.firstSeen),n,"right")},void 0,!1,void 0,this);case"priority":return J("text",{fg:H.muted,children:_(t.priority?LM[t.priority]:"",n,"right")},void 0,!1,void 0,this);case"assignee":return J(IM,{group:t,avatarUrl:r},void 0,!1,void 0,this)}}function nf(e,t=!1){if(!e)return"\xB7\xB7";let r=ke(e);return t&&r?`${r} ago`:r}function wM(e,t,r,H){let n=e.project?.slug,o=[e.shortId].filter((A)=>Boolean(A)),s=[n,e.isUnhandled?"Unhandled":null,e.culprit===r?null:e.culprit,e.numComments>0?`\uD83D\uDCAC ${e.numComments}`:null,e.logger].filter((A)=>Boolean(A)),a=Boolean(n)&&H>0,c=Math.max(0,t-(a?H:0)),l=o.length>0?D(`${o.join(" \u2502 ")} \u2502 `,c):"",i=D(s.join(" \u2502 "),Math.max(0,c-le(l)));return{lead:l,rest:i,showIcon:a}}function ko({width:e,seed:t}){let r=S(),H=ii(e),n=Math.floor(H.title*(0.45+t*17%40/100)),o=Math.floor((H.content-4)*(0.5+t*29%35/100)),s=Math.floor((H.content-4)*(0.3+t*23%25/100));return J("box",{style:{flexDirection:"column",width:e,paddingLeft:$r,paddingRight:$r,border:["bottom"],borderColor:r.border,flexShrink:0},children:[J("box",{style:{flexDirection:"row"},children:[J("text",{children:" "},void 0,!1,void 0,this),J("text",{fg:r.panelAlt,children:_("\u2500".repeat(n),H.title)},void 0,!1,void 0,this),H.columns.map((a)=>a==="sparkline"?J(ci,{content:"\u254C".repeat(oi),fg:r.panelAlt},a,!1,void 0,this):J("text",{fg:r.panelAlt,children:_("\xB7\xB7",Xt[a],"right")},a,!1,void 0,this))]},void 0,!0,void 0,this),J("box",{style:{flexDirection:"row"},children:[J("text",{children:" "},void 0,!1,void 0,this),J("text",{fg:r.border,children:"\u2503"},void 0,!1,void 0,this),J("text",{fg:r.panelAlt,children:` ${"\u2500".repeat(o)}`},void 0,!1,void 0,this)]},void 0,!0,void 0,this),J("box",{style:{flexDirection:"row"},children:[J("text",{children:" "},void 0,!1,void 0,this),J("text",{fg:r.panelAlt,children:"\u2500".repeat(s)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}import{jsxDEV as ir}from"h:6___________________________";function af({width:e,rows:t}){return ir("box",{style:{flexDirection:"column",width:e},children:Array.from({length:t},(r,H)=>ir(ko,{width:e,seed:H},H,!1,void 0,this))},void 0,!1,void 0,this)}function cf({query:e}){let t=S();return ir("box",{style:{flexDirection:"column",padding:1},children:[ir("text",{fg:t.text,children:"No issues match this search."},void 0,!1,void 0,this),ir("text",{fg:t.muted,children:e},void 0,!1,void 0,this),ir("text",{fg:t.muted,children:`${Be(Te("sentry.nav.search"))} to edit the query`},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function lf({error:e}){let t=S();return ir("box",{style:{flexDirection:"column",padding:1},children:[ir("text",{fg:t.danger,children:"Failed to load issues"},void 0,!1,void 0,this),ir("text",{fg:t.muted,children:e.message},void 0,!1,void 0,this),e.retryable?ir("text",{fg:t.muted,children:`${Be(Te("sentry.app.refresh"))} to retry`},void 0,!1,void 0,this):null]},void 0,!0,void 0,this)}import{useCallback as li,useEffect as Af,useRef as OH,useState as zH}from"h:0__";function ho(e,{org:t,query:r,sort:H,statsPeriod:n,limit:o,project:s,environment:a,reloadToken:c=0}){let[l,i]=zH(pe),[A,u]=zH(!1),[d,p]=zH(null),[g,m]=zH(null),[O,y]=zH(1),L=OH(l);L.current=l;let f=OH(void 0),k=OH(1),I=OH(null),h=OH(0),b=li((G,q)=>{if(!e)return!1;I.current?.abort();let w=new AbortController;I.current=w;let{signal:x}=w,N=++h.current;return i(Se(L.current,Date.now())),u(!1),(async()=>{try{let B=await Mc(e,{org:t,query:r,sort:H,statsPeriod:n,limit:o,project:s,environment:a,cursor:G,signal:x});if(x.aborted||N!==h.current)return;if(f.current=G,k.current=q,y(q),p(B.nextCursor),m(B.prevCursor),i(me(B.data,Date.now())),B.data.length===0)return;u(!0);try{let R=await Cc(e,{org:t,groups:B.data.map((W)=>W.id),statsPeriod:n,project:s,signal:x});if(x.aborted||N!==h.current)return;i((W)=>W.state==="ready"?me(TM(W.value,R),W.fetchedAt):W)}finally{if(!x.aborted&&N===h.current)u(!1)}}catch(B){if(x.aborted||N!==h.current)return;i((R)=>ge(R,Ce(B)))}})(),!0},[e,t,r,H,n,o,s,a]),T=OH(null),P=li(()=>d===null||L.current.state==="loading"?!1:b(d,k.current+1),[d,b]),M=li(()=>k.current<=1||g===null||L.current.state==="loading"?!1:b(g,Math.max(1,k.current-1)),[g,b]);return Af(()=>{if(!e){h.current++,I.current?.abort();return}let G=T.current!==b;if(T.current=b,G)f.current=void 0,k.current=1,y(1),p(null),m(null);b(f.current,k.current)},[e,b,c]),Af(()=>()=>{h.current++,I.current?.abort()},[]),{issues:l,statsLoading:A,nextCursor:d,prevCursor:g,page:O,nextPage:P,previousPage:M}}function TM(e,t){return e.map((r)=>{let H=t[r.id];if(!H)return r;return{...r,count:H.count??r.count,userCount:H.userCount??r.userCount,firstSeen:H.firstSeen??r.firstSeen,lastSeen:H.lastSeen??r.lastSeen,isUnhandled:H.isUnhandled??r.isUnhandled,stats:{...r.stats,...H.stats}}})}import{useMemo as MM}from"h:0__";import{useCallback as xM,useMemo as PM}from"h:0__";var uf=new WeakMap;function qM(e,t){let r=uf.get(e);if(!r)r=new Map,uf.set(e,r);let H=r.get(t);if(H)return H;let n=Gc(e,{org:t}).then((o)=>new Map(o.flatMap((s)=>s.user?[[s.user.id,s]]:[])));return r.set(t,n),n.catch(()=>{if(r.get(t)===n)r.delete(t)}),n}function Lo(e,t,r=!0){let H=xM((o)=>e&&t&&r?qM(e,t):null,[e,t,r]),n=PM(()=>({client:e,org:t,enabled:r}),[e,t,r]);return Kt(H,{resetKey:n}).status}var CM=new Map;function df(e,t,r){let{supportsHighRes:H}=Vt(),o=Lo(e,t,r&&H),s=K(o);return MM(()=>s?zy([...s.values()]):CM,[s])}import{useCallback as di,useEffect as eC,useLayoutEffect as tC,useRef as Pf,useState as qf}from"h:0__";import{useKeyboard as rC}from"h:4___________";function QM(e,t,r){return r||e.inApp||(t?.inApp??!1)||!e.inApp&&t===void 0}function NM(e,t){if(!t)return!1;return e.filename===t.filename&&e.function===t.function&&e.lineNo===t.lineNo&&e.colNo===t.colNo}function Io(e,{includeSystemFrames:t=!1,newestFirst:r=!0}={}){let H=e?.frames??[];if(H.length===0)return[];let n=[],o=0;for(let s=0;s<H.length;s++){let a=H[s],c=H[s+1];if(!QM(a,c,t)){o++;continue}let l=n[n.length-1];if(l?.kind==="frame"&&o===0&&NM(a,l.frame)){l.repeats++;continue}n.push({kind:"frame",frame:a,index:s,repeats:0,hiddenBefore:o}),o=0}if(o>0){let s=n[n.length-1];if(s?.kind==="frame")s.hiddenBefore+=o}if(e?.framesOmitted){let[s,a]=e.framesOmitted;n.push({kind:"omitted",from:s,to:a})}return r?n.reverse():n}function pf(e){let r=[e.filename??e.module??"<unknown>"];if(e.function)r.push(`in ${e.function}`);if(e.lineNo!==null&&e.lineNo>0){let H=e.colNo!==null&&e.colNo>0?`${e.lineNo}:${e.colNo}`:String(e.lineNo);r.push(`at line ${H}`)}return r.join(" ")}function mf(e){return e.context.length>0||e.vars!==null&&Object.keys(e.vars).length>0}function gf(e){let t=e.filename??e.absPath??"";if(t.endsWith(".tsx"))return"tsx";if(t.endsWith(".ts"))return"typescript";if(t.endsWith(".js")||t.endsWith(".jsx"))return"javascript";if(t.endsWith(".md"))return"markdown";if(t.endsWith(".py")||t.endsWith(".pyi"))return"python";if(t.endsWith(".rb"))return"ruby";if(t.endsWith(".php"))return"php";if(t.endsWith(".go"))return"go";return}import{useCallback as Of,useState as jM}from"h:0__";import{useKeyboard as DM}from"h:4___________";import{jsxDEV as cr}from"h:6___________________________";var Ie=" ",JH=18;function It(){let e=S();return cr("text",{fg:e.subText,children:" \xB7 "},void 0,!1,void 0,this)}function nt({children:e}){let t=S();return cr("text",{fg:t.subText,children:`${Ie}${e}`},void 0,!1,void 0,this)}function Ai(e){return _(D(e,JH-1),JH)}function Bt({name:e,value:t,width:r}){let H=S();return cr("box",{style:{flexDirection:"row",width:r},children:[cr("text",{fg:H.muted,children:`${Ie}${Ai(e)}`},void 0,!1,void 0,this),cr("text",{fg:H.text,children:D(t,Math.max(0,r-JH-Ie.length))},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function bo({index:e,title:t,count:r,collapsed:H,width:n,onToggle:o,children:s}){let a=S(),c=r===void 0?t:`${t} (${r})`,l=`${H?"\u25B8":"\u25BE"} ${e} `,i=Math.max(0,n-le(l)-le(c)-1);return cr("box",{style:{flexDirection:"column",width:n,paddingTop:1},children:[cr("box",{style:{flexDirection:"row",width:n},onMouseDown:o,children:[cr("text",{fg:a.accent,children:l},void 0,!1,void 0,this),cr("text",{fg:a.text,attributes:v,children:c},void 0,!1,void 0,this),cr("text",{fg:a.border,children:` ${"\u2500".repeat(i)}`},void 0,!1,void 0,this)]},void 0,!0,void 0,this),H?null:s]},void 0,!0,void 0,this)}function wo(e,t){let[r,H]=jM(()=>new Set),n=Of((s)=>{H((a)=>{let c=new Set(a);if(c.has(s))c.delete(s);else c.add(s);return c})},[]),o=Of(()=>{H((s)=>s.size===e.length?new Set:new Set(e))},[e]);return DM((s)=>{if(!t)return;Rt([()=>{if(j("sentry.view.toggleAllSections",s))return o(),"mine";if(j("sentry.view.toggleSection",s)){let a=e[Number(s.name)-1];if(!a)return"notMine";return n(a),"mine"}return"notMine"}],s,ct)}),{collapsed:r,toggle:n}}import{useEffect as UM,useState as YM}from"h:0__";import{addDefaultParsers as FM}from"h:3__________";var yf="./assets/highlights-9wx8m64k.scm";var ff="./assets/tree-sitter-go-dve313fn.wasm";var Sf="./assets/highlights-bds7v5h1.scm";var _f="./assets/tree-sitter-php-only-jk6j4gjt.wasm";var kf="./assets/highlights-k2cbtg72.scm";var hf="./assets/tree-sitter-python-d56ewc8c.wasm";var Lf="./assets/highlights-3ybh5bp2.scm";var If="./assets/tree-sitter-ruby-kmdgpnz0.wasm";function bf(){FM([{filetype:"python",wasm:hf,queries:{highlights:[kf]}},{filetype:"ruby",wasm:If,queries:{highlights:[Lf]}},{filetype:"php",wasm:_f,queries:{highlights:[Sf]}},{filetype:"go",wasm:ff,queries:{highlights:[yf]}}])}bf();function To(){let e=S(),[t,r]=YM();return UM(()=>{let H=!1;return r(void 0),Ul(e).then((n)=>{if(!H)r(n)}).catch(()=>{if(!H)r(void 0)}),()=>{H=!0}},[e]),t}import{jsxDEV as Re}from"h:6___________________________";function ui(e,t,r){return`${e}:${t}:${r}`}function wf({value:e,traceId:t,exceptionIndex:r,width:H,expandedFrames:n,selectedFrame:o,selectedFrameId:s,onFrameClick:a,includeSystemFrames:c}){let l=S(),i=Io(e.stacktrace,{includeSystemFrames:c});return Re("box",{style:{flexDirection:"column",width:H},children:[Re("text",{fg:l.danger,attributes:1,children:D(e.type??"Error",H)},void 0,!1,void 0,this),e.value?Re("text",{fg:l.text,children:D(e.value,H)},void 0,!1,void 0,this):null,e.mechanism?Re("text",{fg:l.muted,children:`mechanism: ${e.mechanism.type}${e.mechanism.handled?"":" \xB7 unhandled"}`},void 0,!1,void 0,this):null,i.map((A)=>{if(A.kind==="omitted")return Re("text",{fg:l.muted,children:` \u2026 frames ${A.from}\u2013${A.to} omitted`},`omitted-${A.from}`,!1,void 0,this);let u=ui(t,r,A.index);return Re($M,{frame:A.frame,width:H,repeats:A.repeats,hiddenBefore:A.hiddenBefore,expanded:n.has(u),selected:o===u,selectedId:s,onClick:()=>a(u)},A.index,!1,void 0,this)}),i.length===0?Re("text",{fg:l.muted,children:"No stack trace available."},void 0,!1,void 0,this):null]},void 0,!0,void 0,this)}function $M({frame:e,width:t,repeats:r,hiddenBefore:H,expanded:n,selected:o,selectedId:s,onClick:a}){let c=S(),i=mf(e)?n?"\u25BE":"\u25B8":" ";return Re("box",{style:{flexDirection:"column",width:t},children:[H>0?Re("text",{fg:c.muted,children:` \u25B8 ${H} more frame${H===1?"":"s"}`},void 0,!1,void 0,this):null,Re("box",{id:o?s:void 0,style:{flexDirection:"row",width:t,backgroundColor:o?c.selected:void 0},onMouseDown:a,children:[Re("text",{fg:o?c.accent:c.muted,children:`${o?"\u276F":" "} ${i} `},void 0,!1,void 0,this),Re("text",{fg:e.inApp?c.text:c.muted,children:D(pf(e),t-15)},void 0,!1,void 0,this),Re("box",{style:{flexGrow:1}},void 0,!1,void 0,this),r>0?Re("text",{fg:c.muted,children:`\xD7${r+1} `},void 0,!1,void 0,this):null,e.inApp?Re("text",{fg:c.accent,children:"In App"},void 0,!1,void 0,this):null]},void 0,!0,void 0,this),n?Re(VM,{frame:e,width:t},void 0,!1,void 0,this):null]},void 0,!0,void 0,this)}function VM({frame:e,width:t}){let r=S(),H=To(),n=H?gf(e):void 0,o=e.vars?Object.entries(e.vars):[];return Re("box",{style:{flexDirection:"column",width:t,paddingLeft:5},children:[e.context.map(([s,a])=>{let c=s===e.lineNo,l=String(s).padStart(5);return Re("box",{style:{flexDirection:"row",width:t-5},children:[Re("text",{fg:c?r.accent:r.muted,children:`${l} ${c?"\u276F":" "} `},void 0,!1,void 0,this),n&&H?Re("code",{content:a??"",filetype:n,syntaxStyle:H,style:{flexGrow:1}},void 0,!1,void 0,this):Re("text",{fg:c?r.text:r.muted,children:D(a??"",t-14)},void 0,!1,void 0,this)]},s,!0,void 0,this)}),o.length>0?Re("box",{style:{flexDirection:"column",paddingTop:1},children:[Re("text",{fg:r.muted,children:"Local variables"},void 0,!1,void 0,this),o.map(([s,a])=>Re("text",{fg:r.muted,children:D(` ${s} = ${ZM(a)}`,t-6)},s,!1,void 0,this))]},void 0,!0,void 0,this):null]},void 0,!0,void 0,this)}function ZM(e){if(typeof e==="string")return e;try{return JSON.stringify(e)??String(e)}catch{return String(e)}}import{useEffect as zM,useRef as Tf,useState as JM}from"h:0__";function xf(e,{org:t,issueId:r,eventId:H="latest",reloadToken:n=0}){let[o,s]=JM(pe),a=Tf(o);a.current=o;let c=Tf(null);return zM(()=>{if(!e||!r){c.current=null,s(pe());return}let l=new AbortController,i=!1,A=c.current===r;return c.current=r,s(Se(A?a.current:pe(),Date.now())),(async()=>{try{let u=await Nc(e,{org:t,issueId:r,eventId:H,signal:l.signal});if(i)return;s(me(u,Date.now()))}catch(u){if(i||l.signal.aborted)return;s(ge(a.current,{message:u instanceof Error?u.message:String(u),retryable:u instanceof dr?u.retryable:!0}))}})(),()=>{i=!0,l.abort()}},[e,t,r,H,n]),o}import{jsxDEV as F}from"h:6___________________________";var Mf=["exception","breadcrumbs","request","tags","contexts","sdk"],HC={exception:"Stack Trace",breadcrumbs:"Breadcrumbs",request:"Request",tags:"Tags",contexts:"Contexts",sdk:"SDK"},Cf=24,nC=3,Qf="issue-detail-selected-frame";function pi({client:e,org:t,group:r,width:H,height:n,focused:o,eventId:s,reloadToken:a}){let c=S(),l=xf(e,{org:t,issueId:r.id,eventId:s,reloadToken:a}),i=K(l),A=ne(l),u=_e(l),d=Pf(null),{collapsed:p,toggle:g}=wo(Mf,o),[m,O]=qf(),y=Pf(m),[L,f]=qf(()=>new Map),k=i?(HH(i.entries,"exception")?.data.values??[]).flatMap((q,w)=>Io(q.stacktrace).filter((x)=>x.kind==="frame").map((x)=>({key:ui(i.id,w,x.index),row:x}))):[],I=k.find((q)=>q.key===m)??k[0],h=k[0]?.key,b=new Set(k.filter((q)=>L.get(q.key)??q.key===h).map((q)=>q.key));tC(()=>{if(m===I?.key)return;y.current=I?.key,O(I?.key)},[I?.key,m]);let T=di((q)=>{f((w)=>{let x=new Map(w),N=w.get(q)??q===h;return x.set(q,!N),x})},[h]),P=di((q)=>{let w=k[Math.max(0,Math.min(q,k.length-1))];if(!w)return;y.current=w.key,O(w.key)},[k]),M=di((q)=>{let w=k.findIndex((x)=>x.key===q);if(w<0)return;P(w),T(q)},[k,P,T]);rC((q)=>{if(!o||p.has("exception")||!I)return;if(j("sentry.nav.down",q)){let w=Math.max(0,k.findIndex((x)=>x.key===y.current));P(w+1),ct(q);return}if(j("sentry.nav.up",q)){let w=Math.max(0,k.findIndex((x)=>x.key===y.current));P(w-1),ct(q);return}if(j("sentry.nav.open",q)){let w=k.find((x)=>x.key===y.current)??I;T(w.key),ct(q)}}),eC(()=>{d.current?.scrollChildIntoView(Qf)},[I?.key,L,n]);let G=Math.max(20,H-2);return F("scrollbox",{ref:d,focused:o,verticalScrollbarOptions:{showArrows:!1,trackOptions:{backgroundColor:c.panel,foregroundColor:c.muted}},style:{width:H,height:n,paddingLeft:1},children:[F(iC,{group:r,width:G},void 0,!1,void 0,this),u?F("text",{fg:c.muted,children:`${Ie}Loading event\u2026`},void 0,!1,void 0,this):null,A?F("box",{style:{flexDirection:"column",paddingTop:1},children:[F("text",{fg:c.danger,children:`${Ie}Failed to load event`},void 0,!1,void 0,this),F("text",{fg:c.muted,children:D(`${Ie}${A.message}`,G)},void 0,!1,void 0,this)]},void 0,!0,void 0,this):null,i?Mf.map((q,w)=>F(bo,{index:w+1,title:HC[q],count:cC(q,i),collapsed:p.has(q),width:G,onToggle:()=>g(q),children:F(lC,{sectionKey:q,event:i,width:G,expandedFrames:b,selectedFrame:I?.key,selectedFrameId:Qf,onFrameClick:M},void 0,!1,void 0,this)},q,!1,void 0,this)):null]},void 0,!0,void 0,this)}function oC(e,t){if(e.status===Pt.RESOLVED)return{label:"resolved",color:t.status.resolved};if(e.status===Pt.IGNORED)return{label:"archived",color:t.status.archived};switch(e.substatus){case rH.NEW:return{label:"new",color:t.status.new};case rH.REGRESSED:return{label:"regressed",color:t.status.regressed};case rH.ESCALATING:return{label:"escalating",color:t.status.escalating};default:return{label:"unresolved",color:t.status.ongoing}}}function sC(e){let t=[e.status===Pt.RESOLVED?{command:"sentry.issue.unresolve",label:"unresolve"}:{command:"sentry.issue.resolve",label:"resolve"},e.status===Pt.IGNORED?{command:"sentry.issue.archive",label:"unarchive"}:{command:"sentry.issue.archive",label:"archive"},{command:"sentry.issue.bookmark",label:e.isBookmarked?"unbookmark":"bookmark"}];if(!e.hasSeen)t.push({command:"sentry.issue.markReviewed",label:"review"});return t}function aC(e){let t=e.stats?.["24h"],r=t?.length?Math.min(Cf,t.length):0;return Zn(t,r||Cf,nC,{floor:!0})}function iC({group:e,width:t}){let r=S(),H=r.level[e.level]??r.level.unknown,n=oC(e,r),o=Math.max(12,t-2),s=aC(e),a=Math.max(...s.map(le));return F("box",{style:{flexDirection:"column",width:t},children:[F("box",{style:{flexDirection:"row",width:t},children:[F("text",{fg:H,children:"\u2503 "},void 0,!1,void 0,this),F(gH,{text:ZH(e),fallback:"(no title)",width:o,fg:r.text,attributes:v},void 0,!1,void 0,this)]},void 0,!0,void 0,this),F("box",{style:{flexDirection:"row",width:t},children:[F("text",{fg:H,children:"\u2503 "},void 0,!1,void 0,this),F(gH,{text:fo(e),fallback:"(no error message)",width:o,fg:r.muted},void 0,!1,void 0,this)]},void 0,!0,void 0,this),F("box",{style:{flexDirection:"row",width:t,paddingTop:1},children:[F("text",{children:Ie},void 0,!1,void 0,this),F("text",{fg:n.color,children:n.label},void 0,!1,void 0,this),F(It,{},void 0,!1,void 0,this),F(sH,{platform:e.project.platform},void 0,!1,void 0,this),F("text",{fg:r.muted,children:e.project.slug},void 0,!1,void 0,this),F(It,{},void 0,!1,void 0,this),F("text",{fg:r.muted,children:e.priority?`${e.priority} priority`:"no priority"},void 0,!1,void 0,this),F(It,{},void 0,!1,void 0,this),F("text",{fg:r.muted,children:e.assignedTo?.name??"unassigned"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),F("box",{style:{flexDirection:"row",width:t,alignItems:"center",paddingTop:1},children:[F("text",{children:Ie},void 0,!1,void 0,this),F("text",{fg:r.muted,children:"24h "},void 0,!1,void 0,this),F("box",{style:{flexDirection:"column",alignItems:"flex-start",width:a,flexShrink:0},children:s.map((c,l)=>F("text",{fg:r.accent,children:c},l,!1,void 0,this))},void 0,!1,void 0,this),F("text",{children:" "},void 0,!1,void 0,this),F("text",{fg:r.muted,children:AH(e.count,"event")},void 0,!1,void 0,this),F(It,{},void 0,!1,void 0,this),F("text",{fg:r.muted,children:AH(e.userCount,"user")},void 0,!1,void 0,this),F(It,{},void 0,!1,void 0,this),F("text",{fg:r.muted,children:`first seen ${ke(e.firstSeen)} ago`},void 0,!1,void 0,this),F(It,{},void 0,!1,void 0,this),F("text",{fg:r.muted,children:`last seen ${ke(e.lastSeen)} ago`},void 0,!1,void 0,this)]},void 0,!0,void 0,this),F("box",{style:{flexDirection:"row",width:t},children:[F("text",{children:Ie},void 0,!1,void 0,this),F(qn,{chips:sC(e)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),F("text",{fg:r.border,children:"\u2500".repeat(t)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function cC(e,t){switch(e){case"breadcrumbs":return HH(t.entries,"breadcrumbs")?.data.values?.length;case"tags":return t.tags?.length;case"contexts":return Object.keys(t.contexts??{}).length;default:return}}function lC({sectionKey:e,event:t,width:r,expandedFrames:H,selectedFrame:n,selectedFrameId:o,onFrameClick:s}){let a=S();switch(e){case"exception":{let l=HH(t.entries,"exception")?.data.values??[];if(l.length===0)return F(nt,{children:"No exception on this event."},void 0,!1,void 0,this);return F("box",{style:{flexDirection:"column",paddingLeft:Ie.length},children:l.map((i,A)=>F(wf,{value:i,traceId:t.id,exceptionIndex:A,width:r-Ie.length,expandedFrames:H,selectedFrame:n,selectedFrameId:o,onFrameClick:s,includeSystemFrames:!1},A,!1,void 0,this))},void 0,!1,void 0,this)}case"breadcrumbs":{let c=HH(t.entries,"breadcrumbs")?.data.values??[];if(c.length===0)return F(nt,{children:"No breadcrumbs."},void 0,!1,void 0,this);return F("box",{style:{flexDirection:"column",width:r},children:c.map((l,i)=>F(AC,{crumb:l,width:r},i,!1,void 0,this))},void 0,!1,void 0,this)}case"request":{let c=HH(t.entries,"request")?.data;if(!c?.url)return F(nt,{children:"No request data."},void 0,!1,void 0,this);return F("box",{style:{flexDirection:"column",width:r},children:[F("text",{fg:a.text,children:D(`${Ie}${c.method??"GET"} ${c.url}`,r)},void 0,!1,void 0,this),(c.headers??[]).map(([l,i])=>F(Bt,{name:l,value:i,width:r},l,!1,void 0,this))]},void 0,!0,void 0,this)}case"tags":{let c=t.tags??[];if(c.length===0)return F(nt,{children:"No tags."},void 0,!1,void 0,this);return F("box",{style:{flexDirection:"column",width:r},children:c.map((l)=>F(Bt,{name:l.key,value:l.value,width:r},l.key,!1,void 0,this))},void 0,!1,void 0,this)}case"contexts":{let c=Object.entries(t.contexts??{});if(c.length===0)return F(nt,{children:"No contexts."},void 0,!1,void 0,this);return F("box",{style:{flexDirection:"column",width:r},children:c.map(([l,i])=>F(Bt,{name:l,value:Nf(i),width:r},l,!1,void 0,this))},void 0,!1,void 0,this)}case"sdk":if(!t.sdk)return F(nt,{children:"Unknown SDK."},void 0,!1,void 0,this);return F("box",{style:{flexDirection:"row",width:r},children:[F("text",{fg:a.text,children:`${Ie}${t.sdk.name}`},void 0,!1,void 0,this),F("text",{fg:a.muted,children:` ${t.sdk.version}`},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}}function AC({crumb:e,width:t}){let r=S(),H=e.timestamp?e.timestamp.slice(11,19):"--:--:--",n=e.category??e.type,o=e.message??Nf(e.data??{}),s=Ie.length+H.length+2+JH;return F("box",{style:{flexDirection:"row",width:t},children:[F("text",{fg:r.subText,children:`${Ie}${H} `},void 0,!1,void 0,this),F("text",{fg:r.muted,children:Ai(n)},void 0,!1,void 0,this),F("text",{fg:r.text,children:D(o,Math.max(0,t-s))},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function Nf(e){return Object.entries(e).filter(([t])=>t!=="type").map(([t,r])=>`${t}=${String(r)}`).join(" ")}import{jsxDEV as ze}from"h:6___________________________";var dC=1,pC=1;function Wt(e){let{client:t,org:r,state:H,focused:n,width:o,height:s,reloadToken:a,pendingIds:c,pushView:l,activateRow:i,registerActions:A}=e,u=S(),{dispatch:d}=H,p="screen"in e?xl(e.screen.item):void 0,g="screen"in e?p?.label:e.title,m="screen"in e?p?.description:e.description,O="screen"in e?e.onProjectSelect:(re)=>d({type:"setSelectedProjects",payload:re}),y=gi(null),L=gi(null),f=mi((re)=>{let Q=zt(H)[re];if(Q)l(mC(Q,t,r))},[H,l,t,r]),k=mi(()=>d({type:"setOpenDropdown",payload:null}),[d]),I=mi((re)=>{let Q=y.current;if(Q)Q.removeAllListeners(xo.FOCUSED),Q.removeAllListeners(xo.BLURRED);if(y.current=re,re)re.on(xo.FOCUSED,H.focusSearch),re.on(xo.BLURRED,H.handleSearchBlur)},[H.focusSearch,H.handleSearchBlur]),h=qc(H.sort),{issues:b,statsLoading:T,nextCursor:P,prevCursor:M,page:G,nextPage:q,previousPage:w}=ho(t,{org:r,query:H.committedQuery,sort:h,statsPeriod:H.statsPeriod,project:H.selectedProjects.length>0?H.selectedProjects:void 0,environment:H.selectedEnvs.length>0?H.selectedEnvs:void 0,reloadToken:a});De(A,{open:f,nextPage:q,previousPage:w});let x=gi(G);Po(()=>{if(x.current===G)return;x.current=G,d({type:"setSelected",payload:0})},[G,d]);let N=b.state==="loading",B=Ze(b),R=K(b),W=zt(H),z=W.length>0?W:R,He=ne(b),se=z!==void 0&&(N||He!==void 0);Po(()=>{if(R)d({type:"setEntries",payload:R})},[R,d]),Po(()=>{d({type:"setStatus",payload:{loading:N||T,since:B,error:He?.message,noun:"issues"}})},[N,T,B,He,b,d]),cH(L,{index:H.selected,rowCount:z?.length??0,rowHeight:ai,layout:[s]});let ae=uC(()=>(z??[]).some((re)=>re.assignedTo?.type==="user"),[z]),Ae=df(t,r,ae),de=Math.max(20,o-dC);return ze("box",{style:{flexDirection:"column",width:o,height:s},children:[g?ze("box",{style:{flexDirection:"row",width:o,flexShrink:0,paddingLeft:1},children:[ze("text",{fg:u.text,attributes:v,children:g},void 0,!1,void 0,this),m?ze("text",{fg:u.muted,children:` ${D(m,Math.max(0,de-le(g)-3))}`},void 0,!1,void 0,this):null]},void 0,!0,void 0,this):null,ze("box",{style:{flexDirection:"row",width:o,flexShrink:0,height:3,border:!0,borderStyle:"rounded",borderColor:H.searchFocused?u.accent:u.border,backgroundColor:u.panel,paddingLeft:1,paddingRight:1},children:[ze(Gt,{},void 0,!1,void 0,this),ze("input",{ref:I,value:H.searchQuery,placeholder:"Search issues\u2026",focused:H.searchFocused,onInput:(re)=>d({type:"setSearchQuery",payload:re}),style:{flexGrow:1,textColor:u.text,backgroundColor:u.panel,focusedTextColor:u.text,focusedBackgroundColor:u.panel,placeholderColor:u.subText}},void 0,!1,void 0,this)]},void 0,!0,void 0,this),ze($e,{client:t,org:r,openDropdown:H.openDropdown,selectedProjects:H.selectedProjects,selectedEnvs:H.selectedEnvs,statsPeriod:H.statsPeriod,sort:{value:h,items:Ts,onChange:(re)=>d({type:"setSort",payload:re})},width:o,anchorTop:he+(g?pC:0),onProjectChange:O,onEnvChange:(re)=>d({type:"setSelectedEnvs",payload:re}),onPeriodChange:(re)=>d({type:"setStatsPeriod",payload:re}),onDropdownClose:k,onDropdownOpen:(re)=>d({type:"setOpenDropdown",payload:re})},void 0,!1,void 0,this),ze(So,{width:de,selectionBelow:n&&H.selected===0&&(z?.length??0)>0},void 0,!1,void 0,this),ze("scrollbox",{ref:L,focused:n,verticalScrollbarOptions:{showArrows:!1,trackOptions:{backgroundColor:u.panel,foregroundColor:u.muted}},style:{flexGrow:1,flexBasis:0,width:o},children:[z===void 0&&_e(b)?ze(af,{width:de,rows:ws},void 0,!1,void 0,this):null,z!==void 0&&z.length===0&&!N?ze(cf,{query:H.committedQuery},void 0,!1,void 0,this):null,z?.map((re,Q)=>ze(_o,{group:re,selected:n&&Q===H.selected,selectionBelow:n&&Q+1===H.selected,width:de,pending:c.has(re.id),assigneeAvatarUrl:Jy(re.assignedTo,Ae),onClick:()=>i(Q)},re.id,!1,void 0,this)),He&&z===void 0?ze(lf,{error:He},void 0,!1,void 0,this):null]},void 0,!0,void 0,this),se?ze("text",{fg:u.muted,children:He?` \u26A0 ${D(He.message,de-3)}`:""},void 0,!1,void 0,this):null,ze(Qe,{count:z?.length,noun:"issue",hasMore:P!==null,pagination:P!==null||M!==null||G>1?{page:G,hasPrevious:G>1&&M!==null,hasNext:P!==null,loading:N,onPrevious:w,onNext:q}:void 0},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function mC(e,t,r){return{id:`issue:${e.id}`,sentryLocation:{screen:"issues.feed",detail:{kind:"issue",issueId:e.id}},label:e.shortId,issue:e,render:(H)=>ze(pi,{client:t,org:r,group:H.issue??e,width:H.width,height:H.height,focused:H.focused,reloadToken:H.reloadToken},void 0,!1,void 0,this)}}var gC=(e,{org:t,id:r,signal:H})=>Qc(e,{org:t,issueId:r,signal:H});function qo(e,t){return{id:`issue:${e}`,sentryLocation:{screen:"issues.feed",detail:{kind:"issue",issueId:e,eventId:t}},label:`Issue ${e}`,render:(r)=>ze(OC,{...r,issueId:e,eventId:t},void 0,!1,void 0,this)}}function OC({client:e,org:t,issueId:r,eventId:H,reloadToken:n,width:o,height:s,focused:a,updateView:c,issue:l}){let i=ar(e,{org:t,id:r,reloadToken:n,load:gC}),A=K(i);if(Po(()=>{if(A)c(`issue:${r}`,{label:A.shortId,issue:A})},[A,r,c]),!A)return ze(sr,{status:i,noun:"issue",width:o,height:s},void 0,!1,void 0,this);return ze(pi,{client:e,org:t,group:l??A,eventId:H,width:o,height:s,focused:a,reloadToken:n},void 0,!1,void 0,this)}import{useCallback as Wf,useEffect as wC}from"h:0__";var Oi=[{value:"popularity",label:"Most Starred"},{value:"visited",label:"Recently Viewed"},{value:"name",label:"Name (A-Z)"},{value:"-name",label:"Name (Z-A)"},{value:"-created",label:"Created (Newest)"},{value:"created",label:"Created (Oldest)"}];function jf(e){return Oi.some((t)=>t.value===e)?e:"popularity"}function yC(e){switch(e){case"popularity":return["-popularity","-visited","-created"];case"visited":return["-visited","-popularity","-created"];case"name":return["name","-visited","-created"];case"-name":return["-name","-visited","-created"];case"created":return["created","-popularity","-visited"];case"-created":return["-created","-popularity","-visited"]}}var fC=20;async function Df(e,{org:t,viewId:r,signal:H}){return(await e.request(`/organizations/${t}/group-search-views/${r}/`,{signal:H})).data}async function yi(e,{org:t,createdBy:r,sort:H="popularity",limit:n=fC,cursor:o,signal:s}){return e.request(`/organizations/${t}/group-search-views/`,{query:{createdBy:r,sort:yC(H),per_page:n,cursor:o},signal:s})}import{useEffect as Gf,useMemo as kC,useRef as hC}from"h:0__";import{useEffect as SC,useRef as _C,useState as Rf}from"h:0__";function vf(e,{org:t,sort:r,reloadToken:H=0}){let[n,o]=Rf(pe),[s,a]=Rf({mine:null,others:null}),c=_C(n);return c.current=n,SC(()=>{if(!e)return;let l=new AbortController,{signal:i}=l,A=!1;return o(Se(c.current,Date.now())),(async()=>{try{let[u,d]=await Promise.all([yi(e,{org:t,createdBy:"me",sort:r,signal:i}),yi(e,{org:t,createdBy:"others",sort:r,signal:i})]);if(A)return;a({mine:u.nextCursor,others:d.nextCursor}),o(me([{title:"Created by Me",views:u.data},{title:"Created by Others",views:d.data}],Date.now()))}catch(u){if(A||i.aborted)return;o(ge(c.current,Ce(u)))}})(),()=>{A=!0,l.abort()}},[e,t,r,H]),{sections:n,nextCursors:s}}import{jsxDEV as Ye}from"h:6___________________________";var LC=1,Ef=26,Kf=10,Xf=6,IC=1;function Bf({client:e,org:t,width:r,height:H,focused:n,selectedIndex:o,sort:s,openDropdown:a,onSortChange:c,onDropdownOpen:l,onDropdownClose:i,onRowsChange:A,onStatusChange:u,reloadToken:d}){let p=S(),g=hC(null),m=jf(s),{sections:O,nextCursors:y}=vf(e,{org:t,sort:m,reloadToken:d}),L=K(O),f=ne(O),k=O.state==="loading",I=kC(()=>(L??[]).flatMap((T)=>T.views.map((P)=>({view:P,projectIds:P.projects.filter((M)=>M!==-1).map(String),statsPeriod:P.timeFilters?.period??Tt}))),[L]);Gf(()=>{A?.(I)},[I,A]),Gf(()=>{u?.({loading:k,error:f?.message})},[k,f,u]),cH(g,{index:o,rowCount:I.length,rowHeight:LC,layout:[H]});let h=Math.max(20,r-IC),b=-1;return Ye("box",{style:{flexDirection:"column",width:r,height:H},children:[Ye("box",{style:{flexDirection:"row",width:r,flexShrink:0,paddingLeft:1},children:[Ye("text",{fg:p.text,attributes:v,children:"All Views"},void 0,!1,void 0,this),Ye("text",{fg:p.muted,children:" Saved issue searches for this organization."},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Ye(pH,{value:m,items:Oi,open:a==="sort",width:r,anchorTop:1,onChange:c,onOpen:l,onClose:i},void 0,!1,void 0,this),Ye("scrollbox",{ref:g,focused:n,verticalScrollbarOptions:{showArrows:!1,trackOptions:{backgroundColor:p.panel,foregroundColor:p.muted}},style:{flexGrow:1,flexBasis:0,width:r},children:[L===void 0&&_e(O)?Ye("text",{fg:p.muted,children:" Loading views\u2026"},void 0,!1,void 0,this):null,f&&L===void 0?Ye("box",{style:{flexDirection:"column",padding:1},children:[Ye("text",{fg:p.danger,children:"Failed to load views"},void 0,!1,void 0,this),Ye("text",{fg:p.muted,children:f.message},void 0,!1,void 0,this)]},void 0,!0,void 0,this):null,L?.map((T)=>Ye("box",{style:{flexDirection:"column",width:h},children:[Ye("text",{fg:p.muted,attributes:v,children:` ${T.title}`},void 0,!1,void 0,this),T.views.length===0?Ye("text",{fg:p.subText,children:" No saved views."},void 0,!1,void 0,this):null,T.views.map((P)=>(b+=1,Ye(bC,{view:P,width:h,selected:n&&b===o},P.id,!1,void 0,this)))]},T.title,!0,void 0,this))]},void 0,!0,void 0,this),Ye(Qe,{count:L===void 0?void 0:I.length,noun:"view",hasMore:y.mine!==null||y.others!==null},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function bC({view:e,width:t,selected:r}){let H=S(),n=r?"\u276F":" ",o=e.starred?"\u2605":" ",s=2+Ef+Kf+Xf+3,a=Math.max(6,t-s);return Ye("box",{style:{flexDirection:"row",width:t,backgroundColor:r?H.panel:void 0},children:[Ye("text",{fg:H.accent,children:n},void 0,!1,void 0,this),Ye("text",{fg:e.starred?H.warning:H.muted,children:o},void 0,!1,void 0,this),Ye("text",{fg:r?H.text:H.subText,attributes:r?v:0,children:` ${_(e.name,Ef)}`},void 0,!1,void 0,this),Ye("text",{fg:H.muted,children:` ${_(D(e.query,a),a)}`},void 0,!1,void 0,this),Ye("text",{fg:H.subText,children:` ${_(e.lastVisited?ke(e.lastVisited):"\u2014",Kf,"right")}`},void 0,!1,void 0,this),Ye("text",{fg:H.subText,children:_(`${e.stars}\u2605`,Xf,"right")},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}import{jsxDEV as en}from"h:6___________________________";function Ff(e){let{client:t,org:r,state:H,focused:n,width:o,height:s,reloadToken:a,pushView:c,registerActions:l}=e,{dispatch:i}=H,A=Wf((d)=>{let p=zt(H)[d];if(p)c(TC(p))},[H,c]);De(l,{open:A});let u=Wf((d)=>i({type:"setStatus",payload:{...d,noun:"saved views"}}),[i]);return en(Bf,{client:t,org:r,width:o,height:s,focused:n,selectedIndex:H.selected,sort:H.sort,openDropdown:H.openDropdown,onSortChange:(d)=>i({type:"setSort",payload:d}),onDropdownOpen:()=>i({type:"setOpenDropdown",payload:"sort"}),onDropdownClose:()=>i({type:"setOpenDropdown",payload:null}),onRowsChange:(d)=>i({type:"setEntries",payload:d}),onStatusChange:u,reloadToken:a},void 0,!1,void 0,this)}function TC(e){return{id:`saved-view:${e.view.id}`,sentryLocation:{screen:"issues.all-views",detail:{kind:"issue_view",viewId:e.view.id}},label:e.view.name,stateKey:Rs,initialState:{query:e.view.query,sort:e.view.querySort,statsPeriod:e.statsPeriod,selectedProjects:e.projectIds,selectedEnvs:e.view.environments},render:(t)=>t.state?en(Wt,{...t,state:t.state,title:e.view.name,description:e.view.query},void 0,!1,void 0,this):null}}var xC=(e,{org:t,id:r,signal:H})=>Df(e,{org:t,viewId:r,signal:H});function Uf(e){return{id:`saved-view:${e}`,label:`View ${e}`,stateKey:Rs,sentryLocation:{screen:"issues.all-views",detail:{kind:"issue_view",viewId:e}},render:(t)=>t.state?en(PC,{...t,state:t.state,viewId:e},void 0,!1,void 0,this):null}}function PC({client:e,org:t,state:r,viewId:H,reloadToken:n,width:o,height:s,updateView:a,...c}){let l=ar(e,{org:t,id:H,reloadToken:n,load:xC}),i=K(l);if(wC(()=>{if(!i)return;r.dispatch({type:"seed",payload:{query:i.query,sort:i.querySort,statsPeriod:i.timeFilters.period??void 0,selectedProjects:i.projects.filter((A)=>A!==-1).map(String),selectedEnvs:i.environments}}),a(`saved-view:${H}`,{label:i.name})},[r.dispatch,a,i,H]),!i)return en(sr,{status:l,noun:"saved view",width:o,height:s},void 0,!1,void 0,this);return en(Wt,{...c,client:e,org:t,state:r,reloadToken:n,width:o,height:s,updateView:a,title:i.name,description:i.query},void 0,!1,void 0,this)}import{useCallback as xi,useEffect as Yo,useMemo as Pi,useRef as n_}from"h:0__";var Pe={error:"error",metric:"metric_issue",cron:"monitor_check_in_failure",uptime:"uptime_domain_failure",issueStream:"issue_stream",mobileBuild:"preprod_size_analysis"},qC=50,Si=[{value:"-latestGroup",label:"Latest Issue (newest)"},{value:"latestGroup",label:"Latest Issue (oldest)"},{value:"name",label:"Name (A-Z)"},{value:"-name",label:"Name (Z-A)"},{value:"type",label:"Type (A-Z)"},{value:"-type",label:"Type (Z-A)"},{value:"-connectedWorkflows",label:"Most Alerts"},{value:"connectedWorkflows",label:"Fewest Alerts"}],Yf="-latestGroup";function $f(e){return Si.some((t)=>t.value===e)?e:Yf}var fi=100;async function Vf(e,{org:t,query:r,sortBy:H=Yf,project:n,limit:o=qC,cursor:s,signal:a}){let c=await Ls({...e.generatedOptions(a),path:{organization_id_or_slug:t},query:{query:r||void 0,sortBy:H,project:Xe(n),per_page:o}},s);return e.generatedPage({...c,data:eS(c.data)})}async function Zf(e,{org:t,detectorId:r,signal:H}){return(await e.request(`/organizations/${t}/detectors/${r}/`,{signal:H})).data}var MC=20;async function zf(e,{org:t,detectorId:r,statsPeriod:H,limit:n=MC,cursor:o,signal:s}){return e.request(`/organizations/${t}/open-periods/`,{query:{detectorId:r,statsPeriod:H,per_page:n,cursor:o},signal:s})}async function Jf(e,{org:t,ids:r,signal:H}){let n=[...new Set(r)];if(n.length===0)return[];let o=[];for(let a=0;a<n.length;a+=fi)o.push(n.slice(a,a+fi));return(await Promise.all(o.map((a)=>Ls({...e.generatedOptions(H),path:{organization_id_or_slug:t},query:{id:a.map(Number),per_page:fi}}).then((c)=>eS(c.data)).catch(()=>[])))).flat()}function eS(e){return Array.isArray(e)?e:[]}var tS="\u254C",CC={ok:"\u2584",missed:"\u2591",timeout:"\u2592",in_progress:"\u2593",error:"\u2588",unknown:"?"},QC={ok:"Okay",error:"Failed",in_progress:"In Progress",missed:"Missed",timeout:"Timed Out",unknown:"Unknown"},rS={precedence:["unknown","error","timeout","missed","ok","in_progress"],glyphs:CC,labels:QC},NC={success:"\u2584",missed_window:"?",failure:"\u2593",failure_incident:"\u2588"},jC={success:"Uptime",failure:"Failure",failure_incident:"Downtime",missed_window:"Unknown"},HS={precedence:["failure_incident","failure","success","missed_window"],glyphs:NC,labels:jC};function nS(e,t){if(!Number.isFinite(e)||!Number.isFinite(t))return 60;if(e<=0||t<=0)return 60;return Math.max(60,Math.ceil(e/Math.floor(t)))}function Mo(e,{width:t,since:r,until:H,config:n}){let o=Math.max(0,Math.floor(t));if(o===0)return[];let s=H>r?H-r:0,a=s/o,c=Array.from({length:o},(l,i)=>({status:null,glyph:"\xB7",total:0,counts:{},start:r+Math.round(i*a),end:r+Math.round((i+1)*a)}));if(s>0)for(let l of e??[]){let i=l?.[0],A=l?.[1];if(typeof i!=="number"||!Number.isFinite(i)||!A)continue;let u=Math.min(o-1,Math.max(0,Math.floor((i-r)/s*o)));DC(c[u],A)}for(let l of c)RC(l,n);return c}function oS(e,t){return t.precedence.map((r)=>({status:r,label:t.labels[r],count:e.reduce((H,n)=>H+(n.counts[r]??0),0)})).filter((r)=>r.count>0)}function DC(e,t){for(let[r,H]of Object.entries(t)){if(typeof H!=="number"||!Number.isFinite(H)||H<=0)continue;e.counts[r]=(e.counts[r]??0)+H,e.total+=H}}function RC(e,t){if(e.total===0)return;let r=t.precedence.find((H)=>(e.counts[H]??0)>0);if(r===void 0){e.glyph="?";return}e.status=r,e.glyph=t.glyphs[r]??"?"}function _i(e){return typeof e==="object"&&e!==null&&!Array.isArray(e)?Object.entries(e):[]}function aS(e){let t={};for(let[r,H]of _i(e))if(typeof H==="number"&&Number.isFinite(H))t[r]=H;return t}function vC(e){if(!Array.isArray(e)||e.length!==2||typeof e[0]!=="number"||!Number.isFinite(e[0]))return;return[e[0],aS(e[1])]}function GC(e){if(!Array.isArray(e)||e.length!==2||typeof e[0]!=="number"||!Number.isFinite(e[0]))return;let t={};for(let[r,H]of _i(e[1]))t[r]=aS(H);return[e[0],t]}function iS(e,t){let r={};for(let[H,n]of _i(e)){let o=[];if(Array.isArray(n))for(let s of n){let a=t(s);if(a!==void 0)o.push(a)}r[H]=o}return r}var EC=100,Co=86400;function Qo(e){let t=Yt(e);if(t===void 0||t<=0)return Co;return Math.floor(t*60)}function ki(e,{windowSeconds:t=Co,now:r=Date.now()}={}){let H=Math.floor(r/1000);return{since:H-t,until:H,resolution:nS(t,e)}}var sS=[60,120,300,600,900,1800,3600,7200,10800,14400,21600,43200,86400];function KC(e){if(!Number.isFinite(e))return sS[0];let t=sS,r=t[0];for(let H of t)if(H<=e)r=H;return r}function cS({since:e,until:t,resolution:r}){return{since:e,until:t,resolution:`${r}s`}}async function lS(e,{org:t,monitors:r,project:H,environment:n,signal:o,...s}){if(r.length===0)return{};let a=await e.request(`/organizations/${t}/monitors-stats/`,{query:{monitor:[...r],project:Xe(H),environment:n?[...n]:void 0,...cS(s)},signal:o});return iS(a.data,GC)}async function AS(e,{org:t,detectorIds:r,signal:H,...n}){let o=[...new Set(r)].slice(0,EC);if(o.length===0)return{};let s=await e.request(`/organizations/${t}/uptime-stats/`,{query:{uptimeDetectorId:o,...cS({...n,resolution:KC(n.resolution)})},signal:H});return iS(s.data,vC)}function uS(e,t){return(e??[]).map(([r,H])=>{if(t!==void 0)return[r,H[t]??{}];let n={};for(let o of Object.values(H??{}))for(let[s,a]of Object.entries(o??{}))n[s]=(n[s]??0)+a;return[r,n]})}var XC=Pe.issueStream,BC={"monitors.all":{title:"All Monitors",description:"Everything watching this organization.",searchPlaceholder:"Search monitors by name, type or assignee\u2026",emptyTitle:"No monitors found.",emptyLines:["This organization may not have monitors (the workflow engine) enabled.","Otherwise nothing is being monitored yet \u2014 create a monitor on sentry.io, as this client is read-only."]},"monitors.mine":{title:"My Monitors",description:"Monitors assigned to you or your teams.",assignee:"[me,my_teams]",searchPlaceholder:"Search your monitors\u2026",emptyTitle:"No monitors assigned to you.",emptyLines:["This organization may not have monitors (the workflow engine) enabled.","Otherwise nothing here is assigned to you or to a team you are on."]},"monitors.error":{title:"Error",description:"The per-project detectors that turn errors into issues.",type:Pe.error,searchPlaceholder:"Search error monitors\u2026",emptyTitle:"No error monitors found.",emptyLines:["This organization may not have monitors (the workflow engine) enabled.","Error monitors are created by Sentry, one per project \u2014 an org with projects should have some."]},"monitors.metric":{title:"Metric",description:"Thresholds and anomalies over a metric.",type:Pe.metric,searchPlaceholder:"Search metric monitors\u2026",emptyTitle:"No metric monitors found.",emptyLines:["This organization may not have monitors (the workflow engine) enabled.","Otherwise no metric monitor has been created yet."]},"monitors.cron":{title:"Cron",description:"Scheduled jobs that check in when they run.",type:Pe.cron,searchPlaceholder:"Search cron monitors\u2026",emptyTitle:"No cron monitors found.",emptyLines:["This organization may not have crons enabled.","Otherwise no job is checking in yet \u2014 a cron monitor is created by its first check-in."]},"monitors.uptime":{title:"Uptime",description:"URLs Sentry checks on a schedule.",type:Pe.uptime,searchPlaceholder:"Search uptime monitors\u2026",emptyTitle:"No uptime monitors found.",emptyLines:["This organization may not have uptime monitoring enabled.","Otherwise no URL is being checked yet."]},"monitors.mobile-build":{title:"Mobile Build",description:"Size regressions in mobile builds.",type:Pe.mobileBuild,searchPlaceholder:"Search mobile build monitors\u2026",emptyTitle:"No mobile build monitors found.",emptyLines:["This organization may not have build size analysis (preprod) enabled.","Otherwise no build size monitor has been created yet."]}};function dS(e){return BC[e]}function pS(e,t=""){let r=[`!type:${XC}`];if(e?.type)r.push(`type:${e.type}`);if(e?.assignee)r.push(`assignee:${e.assignee}`);let H=t.trim();if(H)r.push(H);return r.join(" ")}import{useEffect as WC,useMemo as No,useRef as FC,useState as UC}from"h:0__";function jo(e,{org:t,monitorIds:r,uptimeDetectorIds:H,width:n,statsPeriod:o,project:s,environment:a,reloadToken:c=0}){let[l,i]=UC(pe),A=FC(l);A.current=l;let u=No(()=>[...new Set(r)].sort().join(","),[r]),d=No(()=>[...new Set(H)].sort().join(","),[H]),p=No(()=>(s??[]).join(","),[s]),g=No(()=>(a??[]).join(","),[a]),m=Qo(o),O=ki(n,{windowSeconds:m}).resolution;return WC(()=>{if(!e)return;let y=u?u.split(","):[],L=d?d.split(","):[],f=ki(n,{windowSeconds:m});if(y.length===0&&L.length===0){i(pe);return}let k=new AbortController,{signal:I}=k,h=!1;return i(Se(A.current,Date.now())),(async()=>{try{let[b,T]=await Promise.all([lS(e,{org:t,monitors:y,project:p?p.split(","):void 0,environment:g?g.split(","):void 0,signal:I,...f}),AS(e,{org:t,detectorIds:L,signal:I,...f})]);if(h)return;i(me({window:f,monitors:b,uptime:T},Date.now()))}catch(b){if(h||I.aborted)return;i(ge(A.current,Ce(b)))}})(),()=>{h=!0,k.abort()}},[e,t,u,d,p,g,m,O,c]),l}function tn(e,t,r){if(!e||!t)return;return uS(e.monitors[t],r)}function Do(e,t){if(!e||!t)return;return e.uptime[t]??[]}import{useCallback as YC}from"h:0__";function mS(e,{org:t,query:r,sortBy:H,project:n,reloadToken:o=0}){let s=YC((c,l)=>{if(!e)return null;return Vf(e,{org:t,query:r,sortBy:H,project:n,cursor:c,signal:l}).then((i)=>({data:Array.isArray(i.data)?i.data:[],nextCursor:i.nextCursor}))},[e,t,r,H,n]),a=Lt(s,o);return{detectors:ut(a.status,(c)=>c.data),nextCursor:a.nextCursor,page:a.page,nextPage:a.nextPage,previousPage:a.previousPage}}import{useEffect as MQ,useMemo as CQ}from"h:0__";var hi=[{value:"-lastTriggered",label:"Last Triggered (newest)"},{value:"lastTriggered",label:"Last Triggered (oldest)"},{value:"name",label:"Name (A-Z)"},{value:"-name",label:"Name (Z-A)"},{value:"-actions",label:"Most Actions"},{value:"actions",label:"Fewest Actions"},{value:"-connectedDetectors",label:"Most Monitors"},{value:"connectedDetectors",label:"Fewest Monitors"}],gS="-lastTriggered";function OS(e){return hi.some((t)=>t.value===e)?e:gS}var $C=50;async function Ro(e,{org:t,detector:r,query:H,project:n,sortBy:o=gS,limit:s=$C,cursor:a,signal:c}){let l=await Pc({...e.generatedOptions(c),path:{organization_id_or_slug:t},query:{detector:r?.map(Number),query:H||void 0,project:Xe(n),sortBy:o,per_page:s}},a);return e.generatedPage({...l,data:VC(l.data)})}function VC(e){return Array.isArray(e)?e:[]}var ZC={vsts:"Azure DevOps",discord:"Discord",email:"Email",github:"GitHub",github_enterprise:"GitHub Enterprise",jira:"JIRA",jira_server:"JIRA Server",msteams:"Teams",opsgenie:"Opsgenie",pagerduty:"Pagerduty",plugin:"Plugin",sentry_app:"Sentry App",slack:"Slack",slack_staging:"Slack (Staging)",webhook:"Webhook"};function vo(e){return ZC[e]??e}function Go(e){let t=new Set;for(let r of e.actionFilters??[])for(let H of r.actions??[])if(H?.type)t.add(H.type);return[...t]}var yS=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],zC={sun:0,mon:1,tue:2,wed:3,thu:4,fri:5,sat:6},JC=["January","February","March","April","May","June","July","August","September","October","November","December"],eQ={jan:1,feb:2,mar:3,apr:4,may:5,jun:6,jul:7,aug:8,sep:9,oct:10,nov:11,dec:12},tQ={"@yearly":"0 0 1 1 *","@annually":"0 0 1 1 *","@monthly":"0 0 1 * *","@weekly":"0 0 * * 0","@daily":"0 0 * * *","@midnight":"0 0 * * *","@hourly":"0 * * * *"};function SS(e){let r=(tQ[e.trim().toLowerCase()]??e).trim().split(/\s+/),[H,n,o,s,a]=r.length===6?r.slice(1):r;if(!H||!n||!o||!s||!a)return;let c=o==="*"&&s==="*",l=c&&a==="*";if(H==="*"&&n==="*"&&l)return"Every minute";let i=fS(H);if(i!==void 0&&n==="*"&&l)return`Every ${Ii(i,"minute")}`;let A=rn(H);if(A===void 0)return;let u=fS(n);if(u!==void 0&&l)return`Every ${Ii(u,"hour")} at :${Eo(A)}`;if(n==="*"&&l)return`Every hour at :${Eo(A)}`;let d=rn(n);if(d===void 0)return;let p=`at ${Eo(d)}:${Eo(A)}`;if(l)return`Every day ${p}`;if(c){let O=HQ(a);return O?`Every ${O} ${p}`:void 0}if(a!=="*")return;let g=rn(o);if(g===void 0)return;if(s==="*")return`Day ${g} of every month ${p}`;let m=rQ(s);if(m===void 0)return;return`${JC[m-1]} ${g} ${p}`}function _S(e,t){return`Every ${Ii(e,t)}`}function Ii(e,t){if(e===1)return t;return`${e} ${t}s`}function Eo(e){return String(e).padStart(2,"0")}function fS(e){let t=e.match(/^\*\/(\d+)$/);if(!t)return;let r=Number(t[1]);return r>0?r:void 0}function rn(e){return/^\d+$/.test(e)?Number(e):void 0}function rQ(e){let t=rn(e);if(t!==void 0)return t>=1&&t<=12?t:void 0;return eQ[e.toLowerCase().slice(0,3)]}function HQ(e){let t=e.match(/^([^-]+)-([^-]+)$/);if(t){let H=Li(t[1]),n=Li(t[2]);return H&&n?`${H}\u2013${n}`:void 0}let r=e.split(",").map((H)=>Li(H));if(r.some((H)=>H===void 0))return;if(r.length===1)return r[0];return`${r.slice(0,-1).join(", ")} and ${r.at(-1)}`}function Li(e){let t=e.trim(),r=rn(t);if(r!==void 0)return yS[r===7?0:r];let H=zC[t.toLowerCase().slice(0,3)];return H===void 0?void 0:yS[H]}var hS=40,LS=" \u2502 ",nQ={[Pe.error]:"Error",[Pe.metric]:"Metric",[Pe.cron]:"Cron",[Pe.uptime]:"Uptime",[Pe.issueStream]:"Project",[Pe.mobileBuild]:"Mobile Build"};function Ko(e){return nQ[e]??"Unknown"}function Xo(e){if(!e)return"\u2014";let t=e.name||e.email;if(!t)return"\u2014";return e.type==="team"&&!t.startsWith("#")?`#${t}`:t}function Bo(e){return e.dataSources?.find((r)=>r.type==="snuba_query_subscription")?.queryObj?.snubaQuery}function IS(e){return e.dataSources?.find((r)=>r.type==="uptime_subscription")?.queryObj??void 0}function Or(e){return e.dataSources?.find((r)=>r.type==="cron_monitor")?.queryObj??void 0}function bS(e,{projectSlug:t}={}){let r=[];if(t)r.push(t);switch(e.type){case Pe.metric:r.push(...oQ(e));break;case Pe.uptime:r.push(...sQ(e));break;case Pe.cron:{let H=wS(Or(e)?.config);if(H)r.push(H);break}case Pe.mobileBuild:{let H=aQ(e);if(H)r.push(H);break}default:break}return r}function oQ(e){let t=[],r=Bo(e);if(r){if(r.environment)t.push(r.environment);if(r.aggregate)t.push(r.aggregate);if(r.query)t.push(Zs(r.query,hS))}let H=TS(e);if(H)t.push(H);return t}function sQ(e){let t=IS(e);if(!t)return[];let r=[];if(t.url)r.push(Zs(t.url,hS));let H=t.intervalSeconds;if(typeof H==="number"&&H>0)r.push(`Every ${Ur(H)}`);return r}function wS(e){let t=e?.schedule;if(t===void 0)return;if(Array.isArray(t)){let[r,H]=t;if(typeof r!=="number"||!H)return;return _S(r,H)}if(typeof t!=="string"||t.trim()==="")return;return SS(t)??t}function aQ(e){let{measurement:t,thresholdType:r}=e.config??{};return[t,r].filter(Boolean).join(" ")||void 0}var iQ={gt:">",gte:">=",lt:"<",lte:"<=",eq:"=",ne:"!="},cQ={25:"low",50:"medium",75:"high"};function TS(e){let t=e.conditionGroup?.conditions;if(!t?.length)return;let r=e.config?.detectionType??"static";if(r==="dynamic")return"Dynamic";if(r==="percent"){let o=Ur(e.config?.comparisonDelta??3600);return t.map((a)=>AQ(a,o)).filter(Boolean).join(", ")||void 0}let H=gQ(Bo(e)?.aggregate??"count()");return t.map((o)=>lQ(o,H)).filter(Boolean).join(", ")||void 0}function lQ(e,t){let r=xS(e);if(!r)return;if(typeof e.comparison!=="number"&&typeof e.comparison!=="string")return;return`${iQ[e.type]??e.type}${e.comparison}${t} ${r}`}function AQ(e,t){if(!xS(e)||typeof e.comparison!=="number")return;let H=e.comparison,n=H>=100?H-100:100-H,o=H>=100?"higher":"lower";return`${n}% ${o} than previous ${t}`}function xS(e){let t=e.conditionResult;if(typeof t!=="number"||t===0)return;return cQ[t]}var uQ=new Set(["any","avg","max","min","p50","p75","p90","p95","p99","p100","percentile","sum"]),dQ=new Set(["event.timestamp","function.duration","measurements.app_start_cold","measurements.app_start_warm","measurements.fcp","measurements.fid","measurements.fp","measurements.inp","measurements.lcp","measurements.stall_longest_time","measurements.stall_total_time","measurements.time_to_full_display","measurements.time_to_initial_display","measurements.ttfb","measurements.ttfb.requesttime","span.duration","span.self_time","spans.browser","spans.db","spans.http","spans.resource","spans.ui","timestamp","transaction.duration"]),pQ=new Set(["http.decoded_response_content_length","http.response_content_length","http.response_transfer_size","payload_size"]),mQ=new Set(["abnormal_rate","anr_rate","crash_free_rate","crash_rate","errored_rate","foreground_anr_rate","unhandled_rate","unhealthy_rate"]);function gQ(e){let t=e.trim().toLowerCase().match(/^([a-z_][a-z0-9_]*)\((.*)\)$/);if(!t)return"";let r=t[1];if(mQ.has(r))return"%";if(r==="last_seen")return"ms";if(!uQ.has(r))return"";let H=t[2].split(",",1)[0].trim();if(dQ.has(H))return"ms";if(pQ.has(H))return"B";return""}function PS(e){switch(e.type){case Pe.metric:return OQ(e);case Pe.uptime:return yQ(e);case Pe.cron:return fQ(e);case Pe.mobileBuild:return SQ(e);default:return[]}}function Wo(e){return e.filter((t)=>t!==void 0&&t.value!=="")}function ve(e,t){if(t===null||t===void 0||t==="")return;return{label:e,value:String(t)}}function OQ(e){let t=Bo(e),r=t?.timeWindow;return Wo([ve("Aggregate",t?.aggregate),ve("Query",t?.query),ve("Dataset",t?.dataset),ve("Environment",t?.environment),ve("Time window",typeof r==="number"?Ur(r):void 0),ve("Detection",e.config?.detectionType??"static"),ve("Threshold",TS(e))])}function yQ(e){let t=IS(e),r=t?.intervalSeconds,H=t?.timeoutMs,n=e.config;return Wo([ve("URL",t?.url),ve("Method",t?.method),ve("Interval",typeof r==="number"?`Every ${Ur(r)}`:void 0),ve("Timeout",typeof H==="number"?Ur(H/1000):void 0),ve("Environment",n?.environment),ve("Downtime after",qS(n?.downtimeThreshold)),ve("Recovers after",MS(n?.recoveryThreshold))])}function fQ(e){let t=Or(e),r=t?.config,H=(t?.environments??[]).map((n)=>n.name);return Wo([ve("Schedule",wS(r)),ve("Timezone",r?.timezone),ve("Check-in margin",kS(r?.checkin_margin)),ve("Max runtime",kS(r?.max_runtime)),ve("Fails after",qS(r?.failure_issue_threshold)),ve("Recovers after",MS(r?.recovery_threshold)),ve("Environments",H.join(", "))])}function SQ(e){let t=e.config;return Wo([ve("Measurement",t?.measurement),ve("Threshold type",t?.thresholdType),ve("Query",t?.query)])}function kS(e){if(typeof e!=="number")return;return e===1?"1 minute":`${e} minutes`}function qS(e){if(typeof e!=="number")return;return e===1?"1 failure":`${e} consecutive failures`}function MS(e){if(typeof e!=="number")return;return e===1?"1 success":`${e} consecutive successes`}function CS(e){switch(e.type){case Pe.metric:return Bo(e)?.environment??void 0;case Pe.uptime:return e.config?.environment??void 0;default:return}}import{useEffect as QS,useRef as NS,useState as jS}from"h:0__";function DS(e,{org:t,detectorId:r,statsPeriod:H,reloadToken:n=0}){let[o,s]=jS(pe),a=NS(o);return a.current=o,QS(()=>{if(!e||!r)return;let c=new AbortController,{signal:l}=c,i=!1;return s(Se(a.current,Date.now())),(async()=>{try{let A=await zf(e,{org:t,detectorId:r,statsPeriod:H,signal:l});if(i)return;s(me({rows:Array.isArray(A.data)?A.data:[],nextCursor:A.nextCursor,...A.totalCount===void 0?{}:{totalCount:A.totalCount}},Date.now()))}catch(A){if(i||l.aborted)return;s(ge(a.current,Ce(A)))}})(),()=>{i=!0,c.abort()}},[e,t,r,H,n]),o}function RS(e,{org:t,detectorId:r,reloadToken:H=0}){let[n,o]=jS(pe),s=NS(n);return s.current=n,QS(()=>{if(!e||!r)return;let a=new AbortController,{signal:c}=a,l=!1;return o(Se(s.current,Date.now())),(async()=>{try{let i=await Ro(e,{org:t,detector:[r],signal:c});if(l)return;o(me(Array.isArray(i.data)?i.data:[],Date.now()))}catch(i){if(l||c.aborted)return;o(ge(s.current,Ce(i)))}})(),()=>{l=!0,a.abort()}},[e,t,r,H]),n}import{useEffect as wQ,useMemo as US,useRef as TQ}from"h:0__";function Fo(e){let t=e.border;return{cron:{config:rS,colors:{ok:e.success,missed:e.muted,timeout:e.warning,error:e.danger,in_progress:e.accent,unknown:e.subText},trackColor:t},uptime:{config:HS,colors:{success:e.success,failure:e.danger,failure_incident:e.danger,missed_window:e.subText},trackColor:t}}}function Uo(e=Co){let t=Math.round(e/3600);if(t<=0)return"Last hour";if(t===1)return"Last hour";if(t%24!==0)return`Last ${t} hours`;let r=t/24;return r===1?"Last 24 hours":`Last ${r} days`}import{jsxDEV as bi}from"h:6___________________________";function yH({buckets:e,style:t,width:r,since:H,until:n}){let o=Math.max(0,Math.floor(r));if(o===0)return null;if(e===void 0)return bi("text",{fg:t.trackColor,children:tS.repeat(o)},void 0,!1,void 0,this);let s=Mo(e,{width:o,since:H,until:n,config:t.config});return bi("text",{children:_Q(s,t)},void 0,!1,void 0,this)}function _Q(e,t){let r=[],H="",n="",o=()=>{if(!H)return;r.push(bi("span",{fg:n,children:H},r.length,!1,void 0,this)),H=""};for(let s of e){let a=s.status===null?t.trackColor:t.colors[s.status];if(a!==n)o(),n=a;H+=s.glyph}return o(),r}import{jsxDEV as yr,Fragment as bQ}from"h:6___________________________";function fH(e){if(e===Pe.cron)return"cron";if(e===Pe.uptime)return"uptime";return}function wi(e){return fH(e.type)}var kQ=16,hQ=72,LQ=0.45,IQ=16,vS=8;function GS(e){let t=Math.floor(Math.max(0,e)*LQ);return Math.max(kQ,Math.min(hQ,t))}function ES(e,t){return e==="cron"?WS(t).track:t}function KS(e){if(wi(e)!=="cron")return 1;return Math.max(1,BS(e).length)}function XS({stats:e,failed:t,width:r,windowSeconds:H,theme:n}){let o=Fo(n),s=e?e.window.until-e.window.since:H;return{key:"check-ins",label:Uo(s),width:r,render:(a,c,l)=>{let i=wi(a);if(!i)return yr("text",{fg:n.subText,children:_("",l)},void 0,!1,void 0,this);let A=e?.window.since??0,u=e?.window.until??0;if(i==="uptime")return yr(yH,{buckets:t?[]:Do(e,a.id),style:o.uptime,width:l,since:A,until:u},void 0,!1,void 0,this);let p=Or(a)?.id,g=BS(a);if(g.length===0)return yr(yH,{buckets:t||!p?[]:tn(e,p),style:o.cron,width:l,since:A,until:u},void 0,!1,void 0,this);let m=WS(l);return yr("box",{style:{flexDirection:"column",width:l},children:g.map((O)=>yr("box",{style:{flexDirection:"row",width:l},children:[m.label>0?yr(bQ,{children:[yr("text",{fg:n.subText,children:_(O,m.label)},void 0,!1,void 0,this),yr("text",{children:" ".repeat(m.gap)},void 0,!1,void 0,this)]},void 0,!0,void 0,this):null,yr(yH,{buckets:t||!p?[]:tn(e,p,O),style:o.cron,width:m.track,since:A,until:u},void 0,!1,void 0,this)]},O,!0,void 0,this))},void 0,!1,void 0,this)}}}function BS(e){let t=(Or(e)?.environments??[]).map((r)=>r.name).filter((r)=>r.length>0);return[...new Set(t)]}function WS(e){let t=Math.max(0,Math.floor(e));if(t<=vS+1)return{label:0,gap:0,track:t};let r=1,H=Math.min(IQ,t-vS-r);return{label:H,gap:r,track:t-H-r}}function FS(e){let t=[],r=[];for(let H of e??[]){let n=wi(H);if(n==="uptime")r.push(H.id);else if(n==="cron"){let o=Or(H)?.id;if(o)t.push(o)}}return{monitorIds:t,uptimeDetectorIds:r}}import{jsxDEV as St,Fragment as qQ}from"h:6___________________________";function $S(e){return fH(e.type)!==void 0}function VS({detector:e,width:t,client:r,org:H,reloadToken:n,notify:o}){let s=S(),a=Fo(s),c=fH(e.type),l=c==="cron"?Or(e)?.id:void 0,i=US(()=>l?[l]:[],[l]),A=US(()=>c==="uptime"?[e.id]:[],[c,e.id]),u=Math.max(0,t-Ie.length),d=jo(r,{org:H,monitorIds:i,uptimeDetectorIds:A,width:u,reloadToken:n}),p=K(d),g=d.state==="error"&&p===void 0,m=TQ(void 0),O=ne(d)?.message;if(wQ(()=>{if(O&&m.current!==O)o({kind:"warning",text:"check-in history unavailable"});m.current=O},[O,o]),!c)return null;if(c==="cron"&&!l)return St(nt,{children:"This monitor has no check-in source."},void 0,!1,void 0,this);let y=p?.window.since??0,L=p?.window.until??0;return St("box",{style:{flexDirection:"column",width:t},children:[St("box",{style:{flexDirection:"row",width:t},children:[St("text",{fg:s.muted,children:`${Ie}${Uo()}`},void 0,!1,void 0,this),PQ(e,s)]},void 0,!0,void 0,this),c==="uptime"?St(YS,{buckets:g?[]:Do(p,e.id),style:a.uptime,width:u,since:y,until:L},void 0,!1,void 0,this):St(YS,{buckets:g?[]:tn(p,l),style:a.cron,width:u,since:y,until:L},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function YS({buckets:e,style:t,width:r,since:H,until:n}){return St(qQ,{children:[St("box",{style:{flexDirection:"row",width:r+Ie.length},children:[St("text",{children:Ie},void 0,!1,void 0,this),St(yH,{buckets:e,style:t,width:r,since:H,until:n},void 0,!1,void 0,this)]},void 0,!0,void 0,this),St(xQ,{buckets:e,style:t,width:r,since:H,until:n},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function xQ({buckets:e,style:t,width:r,since:H,until:n}){if(!e||e.length===0)return null;let o=Mo(e,{width:r,since:H,until:n,config:t.config}),s=oS(o,t.config);if(s.length===0)return null;return St("box",{style:{flexDirection:"row",width:r+Ie.length},children:[St("text",{children:Ie},void 0,!1,void 0,this),s.map((a,c)=>St("text",{fg:t.colors[a.status],children:`${c>0?" \xB7 ":""}${a.count} ${a.label}`},a.status,!1,void 0,this))]},void 0,!0,void 0,this)}function PQ(e,t){let r=Or(e)?.environments??[];if(r.length<2)return null;return St("text",{fg:t.subText,children:` (all ${r.length} environments)`},void 0,!1,void 0,this)}import{jsxDEV as X,Fragment as e_}from"h:6___________________________";var QQ={config:"Configuration",timeline:"Check-ins",periods:"Open Periods",alerts:"Connected Alerts",details:"Details"};function ZS(e,t,r=Tt){return{id:`monitor:${e.id}`,sentryLocation:{screen:"monitors.all",detail:{kind:"monitor",detectorId:e.id}},label:e.name,render:(H)=>X(JS,{...H,detector:e,projectSlug:t,statsPeriod:r},void 0,!1,void 0,this)}}var NQ=(e,{org:t,id:r,signal:H})=>Zf(e,{org:t,detectorId:r,signal:H});function zS(e){return{id:`monitor:${e}`,sentryLocation:{screen:"monitors.all",detail:{kind:"monitor",detectorId:e}},label:`Monitor ${e}`,render:(t)=>X(jQ,{...t,detectorId:e},void 0,!1,void 0,this)}}function jQ({client:e,org:t,detectorId:r,reloadToken:H,width:n,height:o,updateView:s,...a}){let c=ar(e,{org:t,id:r,reloadToken:H,load:NQ}),l=K(c);if(MQ(()=>{if(l)s(`monitor:${r}`,{label:l.name})},[l,r,s]),!l)return X(sr,{status:c,noun:"monitor",width:n,height:o},void 0,!1,void 0,this);return X(JS,{...a,client:e,org:t,detector:l,projectSlug:l.latestGroup?.project?.slug,reloadToken:H,width:n,height:o,updateView:s},void 0,!1,void 0,this)}function JS({client:e,org:t,detector:r,projectSlug:H,statsPeriod:n=Tt,width:o,height:s,focused:a,reloadToken:c,notify:l,pushView:i,registerActions:A}){let u=S(),d=r.latestGroup?.id;De(A,{openDetail:d?()=>i(qo(d)):void 0});let p=DS(e,{org:t,detectorId:r.id,statsPeriod:n,reloadToken:c}),g=RS(e,{org:t,detectorId:r.id,reloadToken:c}),m=Math.max(20,o-2),O=$S(r),y=CQ(()=>["config",...O?["timeline"]:[],"periods","alerts","details"],[O]),{collapsed:L,toggle:f}=wo(y,a),k=K(p),I=K(g),h={config:void 0,periods:EQ(k),alerts:I?.length};return X("scrollbox",{focused:a,verticalScrollbarOptions:{showArrows:!1,trackOptions:{backgroundColor:u.panel,foregroundColor:u.muted}},style:{width:o,height:s,paddingLeft:1},children:[X(DQ,{detector:r,projectSlug:H,width:m},void 0,!1,void 0,this),y.map((b,T)=>X(bo,{index:T+1,title:QQ[b],count:h[b],collapsed:L.has(b),width:m,onToggle:()=>f(b),children:X(vQ,{sectionKey:b,detector:r,width:m,client:e,org:t,reloadToken:c,notify:l,statsPeriod:n,periods:p,workflows:g},void 0,!1,void 0,this)},b,!1,void 0,this))]},void 0,!0,void 0,this)}function DQ({detector:e,projectSlug:t,width:r}){let H=S(),n=e.enabled?H.accent:H.muted,o=Math.max(12,r-2);return X("box",{style:{flexDirection:"column",width:r},children:[X("box",{style:{flexDirection:"row",width:r},children:[X("text",{fg:n,children:"\u2503 "},void 0,!1,void 0,this),X("text",{fg:H.text,attributes:v,children:D(e.name,o)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),X("box",{style:{flexDirection:"row",width:r},children:[X("text",{fg:n,children:"\u2503 "},void 0,!1,void 0,this),X("text",{fg:H.muted,children:D(e.description||"(no description)",o)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),X("box",{style:{flexDirection:"row",width:r,paddingTop:1},children:[X("text",{children:Ie},void 0,!1,void 0,this),X("text",{fg:e.enabled?H.success:H.muted,children:e.enabled?"enabled":"disabled"},void 0,!1,void 0,this),X(It,{},void 0,!1,void 0,this),X("text",{fg:H.muted,children:Ko(e.type)},void 0,!1,void 0,this),t?X(e_,{children:[X(It,{},void 0,!1,void 0,this),X("text",{fg:H.muted,children:t},void 0,!1,void 0,this)]},void 0,!0,void 0,this):null,X(It,{},void 0,!1,void 0,this),X("text",{fg:H.muted,children:e.owner?Xo(e.owner):"unassigned"},void 0,!1,void 0,this),X(It,{},void 0,!1,void 0,this),X("text",{fg:H.muted,children:RQ(e)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),X("text",{fg:H.border,children:"\u2500".repeat(r)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function RQ(e){let t=e.lastTriggered?ke(e.lastTriggered):"";if(t)return`last triggered ${t} ago`;let r=ke(e.latestGroup?.lastSeen);return r?`last issue ${r} ago`:"never triggered"}function vQ({sectionKey:e,detector:t,width:r,client:H,org:n,reloadToken:o,notify:s,statsPeriod:a,periods:c,workflows:l}){switch(e){case"config":{let i=PS(t);if(i.length===0)return t.type==="error"?X(nt,{children:"An error monitor has no settings \u2014 every error in its project opens an issue."},void 0,!1,void 0,this):X(nt,{children:"No configuration was returned for this monitor."},void 0,!1,void 0,this);return X("box",{style:{flexDirection:"column",width:r},children:i.map((A)=>X(Bt,{name:A.label,value:A.value,width:r},A.label,!1,void 0,this))},void 0,!1,void 0,this)}case"timeline":return X(VS,{detector:t,width:r,client:H,org:n,reloadToken:o,notify:s},void 0,!1,void 0,this);case"periods":return X(GQ,{status:c,statsPeriod:a,width:r},void 0,!1,void 0,this);case"alerts":return X(BQ,{status:l,width:r},void 0,!1,void 0,this);case"details":return X(FQ,{detector:t,width:r,client:H,org:n},void 0,!1,void 0,this)}}function GQ({status:e,statsPeriod:t,width:r}){let H=K(e),n=ne(e);if(n)return X(nt,{children:`Failed to load open periods: ${n.message}`},void 0,!1,void 0,this);if(!H)return X(nt,{children:"Loading open periods\u2026"},void 0,!1,void 0,this);if(H.rows.length===0)return X(nt,{children:`No open periods in the last ${t}.`},void 0,!1,void 0,this);return X("box",{style:{flexDirection:"column",width:r},children:[X(nt,{children:KQ(H,t)},void 0,!1,void 0,this),H.rows.map((o)=>X(XQ,{period:o,width:r},o.id,!1,void 0,this))]},void 0,!0,void 0,this)}function EQ(e){if(!e)return;if(e.totalCount!==void 0&&e.totalCount>e.rows.length)return`${e.rows.length} of ${e.totalCount}`;return e.nextCursor===null?e.rows.length:`${e.rows.length}+`}function KQ(e,t){let r=e.rows.length,H=e.totalCount===void 0?void 0:Math.max(0,e.totalCount-r);if(H&&H>0)return`Newest ${r} in the last ${t}; ${H} older not shown.`;if(e.nextCursor!==null)return`Newest ${r} in the last ${t}; older periods not shown.`;return`All ${r} in the last ${t}, newest first.`}function XQ({period:e,width:t}){let r=S(),H=e.isOpen||!e.end;return X("box",{style:{flexDirection:"row",width:t},children:[X("text",{fg:r.subText,children:`${Ie}#${e.id} `},void 0,!1,void 0,this),X("text",{fg:r.text,children:WH(e.start)},void 0,!1,void 0,this),X("text",{fg:r.subText,children:" \u2192 "},void 0,!1,void 0,this),X("text",{fg:H?r.warning:r.text,children:H?"ongoing":WH(e.end)},void 0,!1,void 0,this),X("text",{fg:r.muted,children:` ${iy(e.start,e.end)}`},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function BQ({status:e,width:t}){let r=K(e),H=ne(e);if(H)return X(nt,{children:`Failed to load alerts: ${H.message}`},void 0,!1,void 0,this);if(!r)return X(nt,{children:"Loading alerts\u2026"},void 0,!1,void 0,this);if(r.length===0)return X(nt,{children:"No alerts are connected to this monitor."},void 0,!1,void 0,this);return X("box",{style:{flexDirection:"column",width:t},children:r.map((n)=>X(WQ,{workflow:n,width:t},n.id,!1,void 0,this))},void 0,!1,void 0,this)}function WQ({workflow:e,width:t}){let r=S(),H=Go(e).map(vo).join(", "),n=e.lastTriggered?`${ke(e.lastTriggered)} ago`:"never",o=e.enabled!==!1;return X("box",{style:{flexDirection:"column",width:t},children:[X("box",{style:{flexDirection:"row",width:t},children:X("text",{fg:o?r.text:r.muted,children:`${Ie}${D(e.name||`Alert ${e.id}`,Math.max(8,t-4))}`},void 0,!1,void 0,this)},void 0,!1,void 0,this),X("box",{style:{flexDirection:"row",width:t},children:[X("text",{fg:r.subText,children:`${Ie} `},void 0,!1,void 0,this),X("text",{fg:o?r.muted:r.subText,children:o?"enabled":"disabled"},void 0,!1,void 0,this),H?X(e_,{children:[X(It,{},void 0,!1,void 0,this),X("text",{fg:r.muted,children:H},void 0,!1,void 0,this)]},void 0,!0,void 0,this):null,X(It,{},void 0,!1,void 0,this),X("text",{fg:r.muted,children:`last fired ${n}`},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}function FQ({detector:e,width:t,client:r,org:H}){let n=CS(e),o=e.latestGroup,s=Lo(r,H,Boolean(e.createdBy)),a=e.createdBy?s.state==="ready"?s.value.get(e.createdBy)?.user?.name??"Deactivated user":s.state==="error"?"Unavailable":"Loading\u2026":"Sentry";return X("box",{style:{flexDirection:"column",width:t},children:[X(Bt,{name:"Monitor ID",value:e.id,width:t},void 0,!1,void 0,this),n?X(Bt,{name:"Environment",value:n,width:t},void 0,!1,void 0,this):null,o?X(Bt,{name:"Last issue",value:UQ(o.title,o.shortId,o.lastSeen),width:t},void 0,!1,void 0,this):null,X(Bt,{name:"Created",value:WH(e.dateCreated),width:t},void 0,!1,void 0,this),X(Bt,{name:"Created by",value:a,width:t},void 0,!1,void 0,this),X(Bt,{name:"Last modified",value:WH(e.dateUpdated),width:t},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function UQ(e,t,r){let H=ke(r);return[t,e,H?`${H} ago`:void 0].filter(Boolean).join(" \xB7 ")}import{jsxDEV as SH}from"h:6___________________________";var t_=22;function Ti(e,t,r){return e.enabled?t:r.muted}function YQ(e){return{name:{key:"name",label:"Name",width:"flex",render:(s,a,c)=>SH("text",{fg:Ti(s,a?e.text:e.accent,e),attributes:a&&s.enabled?v:0,children:_(s.name,c)},void 0,!1,void 0,this)},type:{key:"type",label:"Type",width:12,priority:4,render:(s,a,c)=>SH("text",{fg:Ti(s,e.text,e),children:_(Ko(s.type),c)},void 0,!1,void 0,this)},lastIssue:{key:"last-issue",label:"Last Issue",width:26,priority:2,render:(s,a,c)=>SH("text",{fg:e.subText,children:_($Q(s),c)},void 0,!1,void 0,this)},assignee:{key:"assignee",label:"Assignee",width:16,priority:3,render:(s,a,c)=>SH("text",{fg:e.subText,children:_(Xo(s.owner),c)},void 0,!1,void 0,this)},alerts:{key:"alerts",label:"Alerts",width:6,align:"right",priority:1,render:(s,a,c)=>{let l=s.workflowIds?.length??0;return SH("text",{fg:l>0?Ti(s,e.text,e):e.subText,children:_(l>0?String(l):"\u2014",c,"right")},void 0,!1,void 0,this)}}}}function r_(e,{visualization:t}={}){let r=YQ(e);if(t)return[r.name,r.type,t];return[r.name,r.type,r.lastIssue,r.assignee,r.alerts]}function H_(e,t,{projectSlugs:r,theme:H}){let n=e.projectId?r?.get(e.projectId)??e.latestGroup?.project?.slug:void 0,o=bS(e,{projectSlug:n});return SH("text",{fg:H.muted,children:_(` ${o.join(LS)}`,Math.max(0,t))},void 0,!1,void 0,this)}function $Q(e){let t=e.latestGroup;if(!t)return"\u2014";let r=t.title||t.shortId||t.id,H=ke(t.lastSeen);return H?`${r} \xB7 ${H}`:r}import{jsxDEV as br}from"h:6___________________________";var VQ=4,ZQ=["project"],zQ=["project","date"];function JQ(e){return{title:e,description:"",searchPlaceholder:"Search monitors\u2026",emptyTitle:"No monitors found.",emptyLines:["This organization may not have monitors (the workflow engine) enabled."]}}function eN(e,t,r){return r.some((H)=>H.key==="check-ins")?KS(e):1}function wr(e){let t=S(),{client:r,org:H,screen:n,state:o,focused:s,width:a,height:c,reloadToken:l,onProjectSelect:i}=e,{dispatch:A,focusSearch:u,handleSearchBlur:d}=o,p=dS(n.id)??JQ(n.item),g=pS(p,o.committedQuery),m=$f(o.sort),O=o.selectedProjects.length>0?o.selectedProjects:void 0,{detectors:y,nextCursor:L,page:f,nextPage:k,previousPage:I}=mS(r,{org:H,query:g,sortBy:m,project:O,reloadToken:l}),h=K(y),b=ne(y),T=y.state==="loading",P=Ze(y);Yo(()=>{if(h)A({type:"setEntries",payload:h})},[h,A]);let M=n_(f);Yo(()=>{if(M.current===f)return;M.current=f,A({type:"setSelected",payload:0})},[f,A]),Yo(()=>{A({type:"setStatus",payload:{loading:T,since:P,error:b?.message,noun:"monitors"}})},[T,P,b,A]);let G=Pi(()=>h?.flatMap((V)=>V.projectId?[V.projectId]:[])??[],[h]),q=aH(r,H,G),{pushView:w}=e,x=xi((V)=>{let qe=h?.[V];if(!qe)return;let Ee=qe.projectId?q.get(qe.projectId):void 0;w(ZS(qe,Ee??qe.latestGroup?.project?.slug,o.statsPeriod))},[h,w,q,o.statsPeriod]);De(e.registerActions,{open:x,nextPage:k,previousPage:I});let N=xi(()=>A({type:"setOpenDropdown",payload:null}),[A]),B=fH(p.type),R=GS(a),W=Qo(o.statsPeriod),{monitorIds:z,uptimeDetectorIds:He}=Pi(()=>B?FS(h):{monitorIds:[],uptimeDetectorIds:[]},[B,h]),se=jo(r,{org:H,monitorIds:z,uptimeDetectorIds:He,width:B?ES(B,R):R,statsPeriod:o.statsPeriod,reloadToken:l}),ae=K(se),Ae=se.state==="error"&&ae===void 0,{notify:de}=e,re=n_(void 0),Q=ne(se)?.message;Yo(()=>{if(!B)return;if(Q&&re.current!==Q)de({kind:"warning",text:"check-in history unavailable"});re.current=Q},[B,Q,de]);let U=Pi(()=>r_(t,B?{visualization:XS({stats:ae,failed:Ae,width:R,windowSeconds:W,theme:t})}:void 0),[B,ae,Ae,R,W,t]),Y=xi((V,qe,Ee)=>H_(V,Ee,{projectSlugs:q,theme:t}),[q,t]);return br("box",{style:{flexDirection:"column",width:a,height:c},children:[br(ht,{value:o.searchQuery,placeholder:p.searchPlaceholder,focused:o.searchFocused,width:a,onInput:(V)=>A({type:"setSearchQuery",payload:V}),onFocus:u,onBlur:d},void 0,!1,void 0,this),br("box",{style:{flexDirection:"row",width:a,flexShrink:0,paddingLeft:1},children:[br("text",{fg:t.text,attributes:v,children:p.title},void 0,!1,void 0,this),br("text",{fg:t.muted,children:` ${p.description}`},void 0,!1,void 0,this)]},void 0,!0,void 0,this),br($e,{client:r,org:H,openDropdown:o.openDropdown,selectedProjects:o.selectedProjects,selectedEnvs:o.selectedEnvs,statsPeriod:o.statsPeriod,filters:B?zQ:ZQ,sort:{value:m,items:Si,onChange:(V)=>A({type:"setSort",payload:V})},width:a,anchorTop:he+1,onProjectChange:i,onEnvChange:()=>{},onPeriodChange:(V)=>A({type:"setStatsPeriod",payload:V}),onDropdownOpen:(V)=>A({type:"setOpenDropdown",payload:V}),onDropdownClose:N},void 0,!1,void 0,this),br(rt,{rows:h,columns:U,width:a,minFlex:t_,selectedIndex:o.selected,focused:s,rowKey:(V)=>V.id,loading:_e(y),error:b,errorTitle:"Failed to load monitors",onRowClick:e.activateRow,renderDetail:Y,rowContentHeight:B==="cron"?eN:void 0,empty:{title:p.emptyTitle,lines:[o.committedQuery||void 0,...p.emptyLines]},layout:[c,VQ]},void 0,!1,void 0,this),br(Qe,{count:h?.length,noun:"monitor",hasMore:L!==null,pagination:L!==null||f>1?{page:f,hasPrevious:f>1,hasNext:L!==null,loading:T,onPrevious:I,onNext:k}:void 0},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}import{useCallback as rr,useContext as DN,useEffect as Di,useMemo as R_,useReducer as RN}from"h:0__";var Vo=["Which of my open issues are getting worse, not better?","What are my slowest DB queries?","Walk me through what's on my screen and what I can focus on next."],qi=["Looking around\u2026","One sec\u2026","Following breadcrumbs\u2026","Hold tight\u2026","Gathering threads\u2026","Tracing the answer\u2026","Stacking ideas\u2026","Profiling your project\u2026","Span by span\u2026","Rolling logs\u2026","Replaying prod\u2026","Scanning the error-waves\u2026"],o_={loading:"\u25D0",content:"\u2022",pending:"?",success:"\u2713",failure:"\u2717",mixed:"!"};function s_(e,{hasRun:t,hasCodeChanges:r=!1}){let H=[{id:"new",title:"/new",description:"Start a new session"},{id:"history",title:"/history",description:"Open recent Seer sessions"}];if(r)H.push({id:"create-pr",title:"/create-pr",description:"Create or update PRs for accepted changes"});if(e.employee&&e.codeMode)H.push({id:"code-mode-off",title:"/code-mode-off",description:"Disable Code Mode tools"},{id:"code-mode-on",title:"/code-mode-on",description:"Use Code Mode alongside standard tools"},{id:"code-mode-only",title:"/code-mode-only",description:"Use only Code Mode tools"});if(e.employee&&e.bashMode)H.push({id:"bash-mode-off",title:"/bash-mode-off",description:"Disable bash tools"},{id:"bash-mode-on",title:"/bash-mode-on",description:"Enable bash tools"});if(e.thinking)H.push({id:"thinking-off",title:"/thinking-off",description:"Hide Seer's reasoning"},{id:"thinking-on",title:"/thinking-on",description:"Show Seer's reasoning"});if(e.employee&&t)H.push({id:"conversations",title:"/conversations",description:"Open the Sentry AI conversations view"});return H}function a_(e){if(e==="only")return"Code Mode only";if(e==="on")return"Code Mode + standard";return"standard tools"}function i_(e){if(e.loading)return"loading";if(!e.message.tool_calls?.length)return"content";let t=(e.tool_links??[]).filter((H)=>H!=null);if(t.some((H)=>H.params?.pending_approval||H.params?.pending_question))return"pending";if(t.length===0)return"success";let r=t.filter((H)=>H.params?.is_error===!0).length;if(r===0)return"success";if(r===t.length)return"failure";return"mixed"}function tN(e){if(!e.args)return{};try{let t=JSON.parse(e.args);return t&&typeof t==="object"?t:{}}catch{return{}}}function Ne(e,t){let r=e[t];return typeof r==="string"&&r!==""?r:void 0}function Tr(e){return e?e.slice(0,8):""}function $o(e){let t=Ne(e,"repo_name")??Ne(e,"repo");if(!t)return"the codebase";let r=t.lastIndexOf("/");return r===-1?t:t.slice(r+1)}function rN(e,t){let r=tN(e),[H,n]=HN(e.function,r);return t?`${H}\u2026`:n}function HN(e,t){switch(e){case"telemetry_index_list_nodes":{let r=Ne(t,"keyword")??"your services";return[`Scanning for ${r}`,`Scanned for ${r}`]}case"telemetry_index_dependencies":{let r=Ne(t,"title")??"your services";return[`Tracing the flow of ${r}`,`Traced the flow of ${r}`]}case"google_search":{let r=Ne(t,"question")??Ne(t,"query")??"";return[`Googling '${r}'`,`Googled '${r}'`]}case"telemetry_live_search":{let r=Ne(t,"question")??"",H=Ne(t,"dataset"),n=H==="issues"?"issues":H==="errors"?"errors":H==="logs"?"logs":H==="metrics"?"metrics":"spans";return[`Searching ${n}: '${r}'`,`Searched ${n}: '${r}'`]}case"get_trace_waterfall":{let r=Ne(t,"span_id");if(r)return[`Digging into span ${Tr(r)}`,`Dug into span ${Tr(r)}`];let H=Tr(Ne(t,"trace_id"));return[`Viewing waterfall for trace ${H}`,`Viewed waterfall for trace ${H}`]}case"get_issue_details":{let r=Ne(t,"issue_id")??Ne(t,"short_id")??"";return[`Inspecting issue ${r}`,`Inspected issue ${r}`]}case"get_event_details":{let r=Tr(Ne(t,"event_id"));return[`Analyzing event ${r}`,`Analyzed event ${r}`]}case"code_search":{let r=$o(t),H=Ne(t,"mode");if(H==="read_file"){let n=Ne(t,"path")??"a file";return[`Reading ${n} from ${r}`,`Read ${n} from ${r}`]}if(H==="find_files"){let n=Ne(t,"pattern")??"";return[`Finding files matching '${n}' in ${r}`,`Found files matching '${n}' in ${r}`]}if(H==="search_content"){let n=Ne(t,"pattern")??"";return[`Searching for '${n}' in ${r}`,`Searched for '${n}' in ${r}`]}return[`Searching code in ${r}`,`Searched code in ${r}`]}case"git_search":{let r=$o(t),H=Ne(t,"sha")??Ne(t,"commit_sha");if(H)return[`Digging up commit ${Tr(H)} from ${r}`,`Dug up commit ${Tr(H)} from ${r}`];let n=Ne(t,"file_path")??"";return[`Excavating commits affecting '${n}' in ${r}`,`Excavated commits affecting '${n}' in ${r}`]}case"get_replay_details":{let r=Tr(Ne(t,"replay_id"));return[`Watching replay ${r}`,`Watched replay ${r}`]}case"get_profile_flamegraph":{let r=Tr(Ne(t,"profile_id"));return[`Sampling profile ${r}`,`Sampled profile ${r}`]}case"code_file_edit":{let r=Ne(t,"path")??"a file",H=$o(t);return[`Editing ${r} in ${H}`,`Edited ${r} in ${H}`]}case"code_file_write":{let r=Ne(t,"path")??"a file",H=$o(t);return[`Writing ${r} in ${H}`,`Wrote ${r} in ${H}`]}case"search_sentry_docs":{let r=Ne(t,"question")??"";return[`Scouring Sentry docs: '${r}'`,`Scoured Sentry docs: '${r}'`]}case"todo_write":return["Updating todos","Updated todos"];case"ask_user_question":return["Asking a question","Asked a question"];default:{if(e.startsWith("artifact_write_")){let r=e.replace("artifact_write_","").replace(/_/g," ");return[`Submitting ${r} artifact`,`Submitted ${r} artifact`]}return[`Using ${e} tool`,`Used ${e} tool`]}}}function c_(e){return(e.message.tool_calls??[]).map((r)=>rN(r,Boolean(e.loading)))}function l_(e,t){if(e.error||e.status!==void 0&&e.status>=400)return"failure";if(e.status!==void 0)return"success";return t?"success":"loading"}function A_(e){let t=e.title?.trim();if(t)return t;if(e.kind!=="lib"||!e.name)return null;let r=e.name.replace(/^sentry_/,"").replace(/_/g," ");return r?r[0].toUpperCase()+r.slice(1):null}function u_(e){if(e.kind!=="api"||!e.method)return[];let t=e.resolved_path??e.path;if(!t)return[];let r=[`${e.method} ${t}`];if(e.body)r.push(e.body,...e.body_truncated?["\u2026"]:[]);return r}function d_(e){let t=new Set(e.flatMap((n)=>n.parent===null||n.parent===void 0?[]:[n.parent])),r=new Set(["get_span_details"]),H=new Set(e.filter((n)=>n.kind==="lib"&&Boolean(n.name&&r.has(n.name))&&t.has(n.id)).map((n)=>n.id));return e.filter((n)=>{if(n.parent!==null&&n.parent!==void 0&&H.has(n.parent))return!1;if(n.kind!=="lib"||!t.has(n.id))return!0;return Boolean(n.name&&r.has(n.name))})}function p_(e){let t=null;for(let r of e){if(r.todos?.length)t={blockId:r.id,todos:r.todos};for(let H of r.tool_results??[]){let n=H?.structuredContent?.todos;if(n?.length)t={blockId:r.id,todos:n}}}return t}function m_(e,t){let r=new Map,H=new Map;for(let o of e){let s=new Set;for(let a of o.merged_file_patches??[])r.set(`${a.repo_name}:${a.patch.path}`,a),s.add(a.repo_name);for(let a of s)H.set(a,o.pr_commit_shas?.[a])}let n=new Map;for(let o of r.values()){let s=n.get(o.repo_name)??{added:0,files:[],prNumber:null,prUrl:null,removed:0,repoName:o.repo_name,status:"needs_push"};s.added+=o.patch.added,s.removed+=o.patch.removed,s.files.push({added:o.patch.added,path:o.patch.path,removed:o.patch.removed}),n.set(o.repo_name,s)}for(let o of n.values()){let s=t[o.repoName];if(o.prNumber=s?.pr_number??null,o.prUrl=s?.pr_url??null,s?.pr_creation_status==="creating")o.status="creating";else if(s?.pr_creation_status==="error")o.status="error";else if(!s?.pr_number||!s.pr_url)o.status="needs_push";else if(s.commit_sha&&H.get(o.repoName)!==s.commit_sha)o.status="needs_push";else o.status="pushed"}return[...n.values()]}import{createContext as sN,useCallback as tr,useEffect as P_,useMemo as Ci,useReducer as aN,useRef as zo,useState as iN}from"h:0__";var g_=500,Mi=2500;function nN(e){return e.sentry_run_id??e.run_id}var O_=(e)=>`/organizations/${e}/seer/explorer-chat/`,y_=(e,t)=>`${O_(e)}${encodeURIComponent(String(t))}/`;async function f_(e,{org:t,query:r,insertIndex:H,runId:n,pageName:o,sentAt:s,codeMode:a,bashMode:c,signal:l}){let i=await e.request(n==null?O_(t):y_(t,n),{method:"POST",body:{query:r,insert_index:H,page_name:o,sent_at:s,override_code_mode_enable:a,override_bash_mode_enabled:c},signal:l});return nN(i.data)}async function S_(e,{org:t,signal:r,limit:H=20}){return(await e.request(`/organizations/${t}/seer/runs/`,{query:{per_page:H,query:"is:mine type:explorer"},signal:r})).data}async function __(e,{org:t,runId:r,signal:H}){return(await e.request(y_(t,r),{signal:H})).data?.session??null}async function k_(e,{org:t,runId:r,signal:H}){await e.request(`/organizations/${t}/seer/explorer-update/${encodeURIComponent(String(r))}/`,{method:"POST",body:{payload:{type:"interrupt"}},signal:H})}async function h_(e,{org:t,runId:r,inputId:H,responseData:n,signal:o}){await e.request(`/organizations/${t}/seer/explorer-update/${encodeURIComponent(String(r))}/`,{method:"POST",body:{payload:{type:"user_input_response",input_id:H,response_data:n}},signal:o})}async function L_(e,{org:t,runId:r,repoName:H,signal:n}){await e.request(`/organizations/${t}/seer/explorer-update/${encodeURIComponent(String(r))}/`,{method:"POST",body:{payload:{type:"create_pr",repo_name:H}},signal:n})}async function I_(e,{org:t,sessionId:r,scopes:H,signal:n}){return(await e.request(`/organizations/${t}/agent/approve/`,{method:"POST",body:{sessionId:r,scopes:H},signal:n})).data.scopes}function b_(e){if(!e)return!1;if(e.status==="processing")return!1;return!e.blocks.some((t)=>t.loading)}function oN(e){let t=/(?:Z|[+-]\d{2}:?\d{2})$/.test(e);return Date.parse(t?e:`${e}Z`)}function w_(e,t){if(!e)return!1;let r=oN(e.updated_at);if(Number.isNaN(r))return!1;return t-r>=120000}function Zo(e=null){return{session:pe(),runId:e,optimistic:null,timedOut:!1,interrupting:!1,pollToken:0}}function T_(e,t){let r=K(e);return r?me({...r,status:"processing",updated_at:new Date(t).toISOString()},t):e}function x_(e,t){switch(t.type){case"orgChanged":case"reset":return Zo();case"sendStarted":return{...e,session:Se(e.session,t.now),optimistic:t.optimistic,timedOut:!1,interrupting:!1};case"sendSucceeded":return{...e,runId:t.runId,pollToken:e.pollToken+1};case"sendFailed":return{...e,session:ge(e.session,t.error),optimistic:null};case"pollProgressed":return{...e,session:me(t.session,t.now)};case"pollSettled":return{...e,session:me(t.session,t.now),optimistic:null,interrupting:!1};case"pollStale":return{...e,session:me(t.session,t.now),optimistic:null,timedOut:!0};case"pollFailed":return{...e,session:ge(e.session,t.error),optimistic:null};case"interruptStarted":return{...e,interrupting:!0};case"interruptFailed":return{...e,interrupting:!1};case"respondStarted":return{...e,session:T_(e.session,t.now),timedOut:!1,interrupting:!1};case"respondSucceeded":return{...e,pollToken:e.pollToken+1};case"respondFailed":case"approveWriteFailed":return{...e,session:ge(e.session,t.error)};case"createPRStarted":return{...e,session:T_(e.session,t.now)};case"createPRSucceeded":return{...e,pollToken:e.pollToken+1};case"createPRFailed":return{...e,session:ge(e.session,t.error)};case"switchRun":if(t.runId===e.runId)return e;return{...Zo(),runId:t.runId,pollToken:e.pollToken+1}}}var cN=Math.ceil(60000/Mi);function _H(e){if(e instanceof dr)return{message:e.message,retryable:e.retryable,retryAfterSeconds:e.retryAfterSeconds};return{message:e instanceof Error?e.message:String(e),retryable:!0}}function Vr(e,t){return e?.includes(t)===!0}function q_(e,t,r={}){let[H,n]=aN(x_,r.initialRunId??null,Zo),[o,s]=iN(pe),a=zo(H);a.current=H;let c=zo(o);c.current=o;let l=zo(0),i=zo(t);P_(()=>{if(i.current===t)return;i.current=t,n({type:"orgChanged"}),s(pe)},[t]);let A=Ci(()=>({available:r.features===void 0||Vr(r.features,"seer-explorer"),bashMode:Vr(r.features,"seer-explorer-allow-bash-mode"),codeMode:Vr(r.features,"seer-explorer-code-mode-tools"),embeds:Vr(r.features,"seer-explorer-embeds"),employee:r.isEmployee===!0,infraTelemetry:Vr(r.features,"seer-infra-telemetry"),streaming:Vr(r.features,"seer-explorer-stream"),thinking:Vr(r.features,"seer-explorer-thinking-blocks")}),[r.features,r.isEmployee]),u=r.codeMode??"only",d=r.bashMode??!1,p=A.thinking&&(r.showThinking??!1);P_(()=>{if(!e||!t||H.runId==null)return;let R=H.runId,W=new AbortController,z=!1,He,se=0,ae=async()=>{try{let Ae=await __(e,{org:t,runId:R,signal:W.signal});if(z)return;if(se=0,Ae){let de=Date.now();if(b_(Ae)){n({type:"pollSettled",session:Ae,now:de});return}if(w_(Ae,de)){n({type:"pollStale",session:Ae,now:de});return}n({type:"pollProgressed",session:Ae,now:de})}He=setTimeout(()=>void ae(),g_)}catch(Ae){if(z||W.signal.aborted)return;if(se+=1,se>cN){n({type:"pollFailed",error:_H(Ae)});return}He=setTimeout(()=>void ae(),Mi)}};return ae(),()=>{z=!0,W.abort(),clearTimeout(He)}},[e,t,H.runId,H.pollToken]);let g=tr((R)=>{let W=R.trim();if(!e||!t||W===""||!A.available)return;let z=K(a.current.session)?.blocks??[],He=l.current++,se=new Date().toISOString(),ae=qi[He%qi.length]??"Thinking\u2026",Ae=[...z,{id:`optimistic-user-${He}`,message:{role:"user",content:W},timestamp:se},{id:`optimistic-assistant-${He}`,message:{role:"assistant",content:ae},timestamp:se,loading:!0}];n({type:"sendStarted",optimistic:Ae,now:Date.now()});let de=a.current.runId,re=new Date;f_(e,{org:t,query:W,runId:de,insertIndex:z.length,pageName:r.pageName,sentAt:[re.toString(),re.toISOString()],codeMode:A.codeMode?u:void 0,bashMode:A.employee&&A.bashMode?d:void 0}).then((Q)=>{n({type:"sendSucceeded",runId:Q})}).catch((Q)=>{n({type:"sendFailed",error:_H(Q)})})},[e,t,A.available,A.codeMode,A.employee,A.bashMode,r.pageName,u,d]),m=tr(()=>{let R=a.current.runId;if(!e||!t||R==null)return;n({type:"interruptStarted"}),k_(e,{org:t,runId:R}).catch(()=>{n({type:"interruptFailed"})})},[e,t]),O=tr((R,W)=>{let z=a.current.runId;if(!e||!t||z==null)return;n({type:"respondStarted",now:Date.now()}),h_(e,{org:t,runId:z,inputId:R,responseData:W}).then(()=>n({type:"respondSucceeded"})).catch((He)=>{n({type:"respondFailed",error:_H(He)})})},[e,t]),y=tr((R,W,z)=>{if(!e||!t||z.length===0)return;I_(e,{org:t,sessionId:W,scopes:z}).then((He)=>{let se=z.every((ae)=>He.includes(ae));O(R,{decision:se?"approve":"reject",...se?{}:{reason:"insufficient_scope"}})}).catch((He)=>{n({type:"approveWriteFailed",error:_H(He)})})},[e,t,O]),L=tr((R)=>{let W=a.current.runId;if(!e||!t||W==null||!R)return;n({type:"createPRStarted",now:Date.now()}),L_(e,{org:t,runId:W,repoName:R}).then(()=>n({type:"createPRSucceeded"})).catch((z)=>{n({type:"createPRFailed",error:_H(z)})})},[e,t]),f=tr((R)=>{n({type:"switchRun",runId:R})},[]),k=tr(()=>{if(!e||!t||!A.available)return;let R=new AbortController;s(Se(c.current,Date.now())),S_(e,{org:t,signal:R.signal}).then((W)=>s(me(W,Date.now()))).catch((W)=>{if(!R.signal.aborted)s(ge(c.current,_H(W)))})},[e,t,A.available]),I=tr(()=>{n({type:"reset"})},[]),h=K(H.session)?.blocks??[],b=Ci(()=>{if(!H.optimistic)return h;return h.length>=H.optimistic.length?h:H.optimistic},[h,H.optimistic]),T=K(H.session)?.status,P=!H.timedOut&&(H.optimistic!==null||T==="processing"||b.some((R)=>R.loading)),M=K(H.session)?.owner_user_id,G=M!==null&&M!==void 0&&String(M)!==r.userId,q=K(H.session)?.repo_pr_states??{},w=Ci(()=>m_(b,q),[b,q]),x=tr((R)=>r.onCodeModeChange?.(R),[r.onCodeModeChange]),N=tr((R)=>r.onBashModeChange?.(R),[r.onBashModeChange]),B=tr((R)=>r.onShowThinkingChange?.(R),[r.onShowThinkingChange]);return{blocks:b,thinking:P,timedOut:H.timedOut,interrupting:H.interrupting,error:ne(H.session),started:H.runId!==null||b.length>0,runId:H.runId,readOnly:G,pendingInput:K(H.session)?.pending_user_input??null,repoPRStates:q,codeChanges:w,capabilities:A,codeMode:u,bashMode:d,showThinking:p,runs:o,send:g,interrupt:m,reset:I,switchRun:f,loadRuns:k,respond:O,approveWrite:y,createPR:L,setCodeMode:x,setBashMode:N,setShowThinking:B}}var Jo=sN(null);import{useCallback as kN,useMemo as C_,useRef as hN}from"h:0__";import{RenderableEvents as ts}from"h:3__________";import{Fragment as lN}from"h:0__";import{jsxDEV as lr}from"h:6___________________________";var Qi=25;function Ni({client:e,org:t,ids:r,width:H}){let n=S(),o=[...new Set(r.filter(Boolean))].slice(0,Qi),s=o.length===1?`issue:${o[0]}`:`issue:[${o.join(",")}]`,a=ho(o.length>0?e:null,{org:t,query:s,sort:"date",statsPeriod:Tt,limit:Math.max(1,o.length)}),c=K(a.issues)??[],l=ne(a.issues),i=Math.max(24,H-2),A=o.length>1;if(o.length===0)return lr("text",{fg:n.muted,children:"No issues referenced."},void 0,!1,void 0,this);return lr("box",{style:{flexDirection:"column",width:H,border:!0,borderColor:l?n.danger:n.border,flexShrink:0},children:[A?lr(So,{width:i},void 0,!1,void 0,this):null,a.issues.state==="idle"||_e(a.issues)?lr(ko,{width:i,seed:0},void 0,!1,void 0,this):null,l&&c.length===0?lr("box",{style:{flexDirection:"column",paddingLeft:1,paddingRight:1},children:[lr("text",{fg:n.danger,attributes:v,children:["Could not load ",A?"issues":o[0]]},void 0,!0,void 0,this),lr("text",{fg:n.muted,children:l.message},void 0,!1,void 0,this)]},void 0,!0,void 0,this):null,!l&&a.issues.state==="ready"&&c.length===0?lr("text",{fg:n.muted,children:` No matching ${A?"issues":`issue ${o[0]}`} found.`},void 0,!1,void 0,this):null,c.map((u)=>lr(_o,{group:u,selected:!1,width:i},u.id,!1,void 0,this)),r.length>Qi?lr("text",{fg:n.muted,children:` Showing the first ${Qi} issues.`},void 0,!1,void 0,this):null]},void 0,!0,void 0,this)}import{jsxDEV as Ge}from"h:6___________________________";var AN=new Set(["dsn","issues","chart","autofix","agentWriteApproval"]),uN=new Set(["timestamp","docs","dsn","user","issue","issues","chart","autofix","agentWriteApproval"]),dN=new Set(["agentWriteApproval"]),pN=/\{%\s*([A-Za-z][\w]*)([^%]*?)\s*(?:\/%\}|%\}([\s\S]*?)\{%\s*\/\1\s*%\})/g;function mN(e,t,r=null){let H=[],n="",o=0,s=()=>{if(n)H.push({kind:"markdown",content:n});n=""};for(let a of e.matchAll(pN)){let c=a.index??o;n+=e.slice(o,c);let l=a[0],i=a[1],A=gN(a[2]),u=ON(a[3]),d=i?yN(r?.[i]):null,p=i&&dN.has(i)?d:u??(Object.keys(A).length>0?A:d);o=c+l.length;let g=e.slice(e.lastIndexOf(`
|
|
15
|
-
`,c-1)+1,c).trim(),m=e.indexOf(`
|
|
16
|
-
`,o),O=e.slice(o,m===-1?e.length:m).trim(),y=i==="issue"&&g===""&&O==="";if(!i||!uN.has(i)){n+=l;continue}let L=p??{};if(!t||!AN.has(i)&&!y){n+=M_(i,L);continue}s(),H.push({kind:"embed",name:i,data:L})}return n+=e.slice(o),s(),H}function gN(e){let t={};if(!e)return t;let r=/([A-Za-z_][\w-]*)\s*=\s*(?:"([^"]*)"|'([^']*)'|([^\s]+))/g;for(let H of e.matchAll(r)){let n=H[1],o=H[2]??H[3]??H[4];if(n&&o!==void 0)t[n]=o}return t}function ON(e){if(!e||e.length>1e5)return null;try{let t=JSON.parse(e.trim());return t&&typeof t==="object"&&!Array.isArray(t)?t:null}catch{return null}}function yN(e){return e&&typeof e==="object"&&!Array.isArray(e)?e:null}function M_(e,t){if(e==="timestamp"){let r=ot(t.value);if(!r)return"";if(t.format==="relative")return fN(r);let H=Date.parse(r);return Number.isNaN(H)?r:new Date(H).toLocaleString()}if(e==="docs"){let r=ot(t.title),H=ot(t.href);return r&&H?`[${r}](${H})`:r??H??""}if(e==="user")return`@${ot(t.name)??"user"}`;if(e==="issue")return`**${ot(t.id)??"issue"}**`;if(e==="issues"){let r=ji(t.ids);return r.length?r.map((H)=>`**${H}**`).join(", "):"Issues"}if(e==="dsn")return`\`${ot(t.value)??"DSN"}\``;if(e==="autofix")return ot(t.result)??"Autofix result";if(e==="chart")return ot(t.title)??"Chart";if(e==="agentWriteApproval")return"Seer requested permission to make changes.";return""}function fN(e){let t=Date.parse(e);if(Number.isNaN(t))return e;let r=Math.round((t-Date.now())/1000),H=Math.abs(r),[n,o]=H<60?[H,"second"]:H<3600?[Math.round(H/60),"minute"]:H<86400?[Math.round(H/3600),"hour"]:[Math.round(H/86400),"day"];return`${n} ${o}${n===1?"":"s"} ${r<0?"ago":"from now"}`}function es({content:e,width:t,client:r=null,org:H="",streaming:n=!1,embedsEnabled:o=!1,structuredContent:s=null}){let a=S(),c=To(),l=mN(e,o,s);return Ge("box",{style:{flexDirection:"column",width:t},children:l.map((i,A)=>{if(i.kind==="embed"&&i.name&&i.data)return Ge(SN,{name:i.name,data:i.data,width:t,client:r,org:H},`embed-${A}`,!1,void 0,this);let u=i.content??"";if(!c)return Ge(lN,{children:Gr(u,Math.max(1,t)).map((d,p)=>Ge("text",{fg:a.text,children:d},p,!1,void 0,this))},`markdown-${A}`,!1,void 0,this);return Ge("markdown",{content:u,syntaxStyle:c,streaming:!0,fg:a.text,conceal:!0,internalBlockMode:"top-level",tableOptions:{style:"columns",widthMode:"full",wrapMode:"word",borderColor:a.border},style:{width:t}},`markdown-${A}-${n?"stream":"static"}`,!1,void 0,this)})},void 0,!1,void 0,this)}function SN({name:e,data:t,width:r,client:H,org:n}){let o=S(),s=Math.max(8,r-2);if(e==="issue"){let a=ot(t.id)??"Unknown issue";return Ge(Ni,{client:H,org:n,ids:[a],width:s},void 0,!1,void 0,this)}if(e==="dsn")return Ge("box",{style:{width:s,border:!0,borderColor:o.border,paddingLeft:1},children:Ge("text",{fg:o.accent,children:ot(t.value)??"DSN unavailable"},void 0,!1,void 0,this)},void 0,!1,void 0,this);if(e==="issues"){let a=ji(t.ids);return Ge(Ni,{client:H,org:n,ids:a,width:s},void 0,!1,void 0,this)}if(e==="chart")return Ge(_N,{data:t,width:s},void 0,!1,void 0,this);if(e==="autofix"){let a=(ot(t.step)??"result").replace(/_/g," "),c=ot(t.result)??"No result returned.";return Ge("box",{style:{flexDirection:"column",width:s,border:!0,borderColor:o.accent,paddingLeft:1},children:[Ge("text",{fg:o.accent,attributes:v,children:`Autofix \xB7 ${a}`},void 0,!1,void 0,this),Ge("text",{fg:o.muted,children:ot(t.shortId)??""},void 0,!1,void 0,this),Gr(c,Math.max(1,s-3)).map((l,i)=>Ge("text",{fg:o.text,children:l},i,!1,void 0,this))]},void 0,!0,void 0,this)}if(e==="agentWriteApproval"){let a=ot(t.status)??"pending",c=ji(t.requiredScopes);return Ge("box",{style:{flexDirection:"column",width:s,border:!0,borderColor:o.warning,paddingLeft:1},children:[Ge("text",{fg:a==="approved"?o.success:a==="rejected"?o.danger:o.warning,attributes:v,children:a==="pending"?"Allow Seer to make changes?":`Access ${a}`},void 0,!1,void 0,this),c.map((l)=>Ge("text",{fg:o.muted,children:` ${l}`},l,!1,void 0,this))]},void 0,!0,void 0,this)}return Ge("text",{fg:o.muted,children:M_(e,t)},void 0,!1,void 0,this)}function _N({data:e,width:t}){let r=S(),H=Array.isArray(e.series)?e.series.slice(0,5):[],n=Math.max(8,Math.min(50,t-4));return Ge("box",{style:{flexDirection:"column",width:t,border:!0,borderColor:r.border,paddingLeft:1},children:[Ge("text",{fg:r.text,attributes:v,children:ot(e.title)??"Chart"},void 0,!1,void 0,this),ot(e.subtitle)?Ge("text",{fg:r.muted,children:ot(e.subtitle)},void 0,!1,void 0,this):null,H.map((o,s)=>{let a=o&&typeof o==="object"?o:{},c=Array.isArray(a.data)?a.data.flatMap((i,A)=>{if(!i||typeof i!=="object")return[];let u=Number(i.y);return Number.isFinite(u)?[[A,u]]:[]}):[],l=ot(a.label)??ot(a.name)??`Series ${s+1}`;return Ge("box",{style:{flexDirection:"column"},children:[Ge("text",{fg:s===0?r.accent:r.muted,children:Vn(c,n,{floor:!0})},void 0,!1,void 0,this),Ge("text",{fg:r.muted,attributes:et,children:l},void 0,!1,void 0,this)]},`${l}-${s}`,!0,void 0,this)})]},void 0,!0,void 0,this)}function ot(e){return typeof e==="string"&&e!==""?e:void 0}function ji(e){return Array.isArray(e)?e.filter((t)=>typeof t==="string"):[]}import{jsxDEV as C}from"h:6___________________________";var Q_=3;function N_({chat:e,client:t,org:r,width:H,height:n,focused:o,value:s,onInput:a,inputFocused:c,onInputFocus:l,onInputBlur:i,slashCommands:A,slashSelected:u,showHistory:d,historySelected:p,pendingState:g,placeholderOverride:m}){let O=S(),y=Math.max(10,H-2),L=A.length>0?A.length+2:0,f=Math.max(1,n-1-Q_-L),k=C_(()=>p_(e.blocks),[e.blocks]),I=C_(()=>e.blocks.some((P)=>(P.tool_results??[]).some((M)=>M?.structuredContent?.agentWriteApproval!==void 0||M?.content.includes("agentWriteApproval"))),[e.blocks]),h=hN(null),b=kN((P)=>{let M=h.current;if(M)M.removeAllListeners(ts.FOCUSED),M.removeAllListeners(ts.BLURRED);if(h.current=P,P)P.on(ts.FOCUSED,()=>l?.()),P.on(ts.BLURRED,()=>i?.())},[l,i]),T=m??(e.timedOut?"Response timed out. Please try again.":e.interrupting?"Interrupted. What should Seer do instead?":e.pendingInput?"Respond using the controls above":"Ask Seer a question, or press / for commands.");return C("box",{style:{flexDirection:"column",width:H,height:n},children:[C("box",{style:{flexDirection:"row",width:H,height:1,flexShrink:0,paddingLeft:1,paddingRight:1,backgroundColor:O.panelAlt},children:[C("text",{fg:O.text,attributes:v,children:["Seer Agent"," "]},void 0,!0,void 0,this),C("text",{fg:O.accent,children:"\u03B2"},void 0,!1,void 0,this),C("box",{style:{flexGrow:1}},void 0,!1,void 0,this),e.capabilities.codeMode?C("text",{fg:O.muted,children:`${a_(e.codeMode)} \xB7 `},void 0,!1,void 0,this):null,e.codeChanges.length>0?C("text",{fg:O.muted,children:`+${e.codeChanges.reduce((P,M)=>P+M.added,0)} -${e.codeChanges.reduce((P,M)=>P+M.removed,0)} \xB7 `},void 0,!1,void 0,this):null,C("text",{fg:O.muted,children:`${Be(Te("sentry.seer.history"))} history`},void 0,!1,void 0,this)]},void 0,!0,void 0,this),d?C(bN,{chat:e,selected:p,width:y,height:f},void 0,!1,void 0,this):C("scrollbox",{focused:o&&!c,stickyScroll:!0,stickyStart:"bottom",style:{flexGrow:1,width:H,height:f},children:[e.blocks.length===0?C(NN,{width:y},void 0,!1,void 0,this):e.blocks.map((P)=>C(wN,{block:P,width:y,chat:e,client:t,org:r,showTodos:k?.blockId===P.id?k.todos:[]},P.id,!1,void 0,this)),e.codeChanges.length>0?C(LN,{chat:e,width:y},void 0,!1,void 0,this):null,e.pendingInput&&(e.pendingInput.input_type!=="reauth_monitoring_provider"||e.capabilities.infraTelemetry)&&(e.pendingInput.input_type!=="agent_write_approval"||!I)?C(CN,{pending:e.pendingInput,state:g,width:y},void 0,!1,void 0,this):null,e.error?C("box",{style:{flexDirection:"column",paddingLeft:1,paddingTop:1},children:[C("text",{fg:O.danger,children:"Seer request failed"},void 0,!1,void 0,this),C("text",{fg:O.muted,children:e.error.message},void 0,!1,void 0,this)]},void 0,!0,void 0,this):null,e.timedOut?C("box",{style:{paddingLeft:1,paddingTop:1},children:C("text",{fg:O.warning,children:"Seer stopped responding. Send another message to retry."},void 0,!1,void 0,this)},void 0,!1,void 0,this):null]},void 0,!0,void 0,this),A.length>0?C(IN,{commands:A,selected:u,width:H},void 0,!1,void 0,this):null,C("box",{style:{flexDirection:"row",width:H,flexShrink:0,height:Q_,border:!0,borderStyle:"rounded",borderColor:c?O.accent:O.border,backgroundColor:O.panel,paddingLeft:1,paddingRight:1},children:[e.thinking?C("text",{fg:O.accent,children:[C(iH,{},void 0,!1,void 0,this)," "]},void 0,!0,void 0,this):C("text",{fg:O.subText,children:"\u203A "},void 0,!1,void 0,this),C("input",{ref:b,value:s,placeholder:T,focused:c,onInput:a,style:{flexGrow:1,textColor:O.text,backgroundColor:O.panel,focusedTextColor:O.text,focusedBackgroundColor:O.panel,placeholderColor:e.timedOut||e.interrupting||e.pendingInput?O.warning:O.subText}},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}function LN({chat:e,width:t}){let r=S(),H=e.codeChanges.some((n)=>n.status==="needs_push"||n.status==="error");return C("box",{style:{flexDirection:"column",width:Math.max(8,t-2),marginTop:1,border:!0,borderColor:r.border,paddingLeft:1},children:[C("text",{fg:r.text,attributes:v,children:"Code changes"},void 0,!1,void 0,this),e.codeChanges.map((n)=>C("box",{style:{flexDirection:"column"},children:[C("text",{fg:r.accent,attributes:v,children:`${n.repoName} +${n.added} -${n.removed}`},void 0,!1,void 0,this),n.files.map((o)=>C("text",{fg:r.muted,children:` +${o.added} -${o.removed} ${o.path}`},o.path,!1,void 0,this)),C("text",{fg:n.status==="pushed"?r.success:n.status==="error"?r.danger:n.status==="creating"?r.warning:r.muted,children:n.status==="creating"?" Creating or updating PR\u2026":n.status==="error"?" PR update failed \u2014 retry available":n.status==="pushed"?` Pushed${n.prNumber?` \xB7 PR #${n.prNumber}`:""}${n.prUrl?` \xB7 ${n.prUrl}`:""}`:` ${n.prNumber?`PR #${n.prNumber} has unpushed changes`:"No PR yet"}`},void 0,!1,void 0,this)]},n.repoName,!0,void 0,this)),H&&!e.readOnly?C("text",{fg:r.accent,children:`[${Be(Te("sentry.seer.pushChanges"))}] create/update PRs \xB7 /create-pr`},void 0,!1,void 0,this):null]},void 0,!0,void 0,this)}function IN({commands:e,selected:t,width:r}){let H=S();return C("box",{style:{flexDirection:"column",width:r,flexShrink:0,border:!0,borderColor:H.border,backgroundColor:H.panel,paddingLeft:1},children:e.map((n,o)=>C("box",{style:{flexDirection:"row",width:Math.max(1,r-4),backgroundColor:o===t?H.selected:void 0},children:[C("text",{fg:o===t?H.accent:H.text,attributes:v,children:n.title.padEnd(19)},void 0,!1,void 0,this),C("text",{fg:H.muted,children:D(n.description,Math.max(1,r-25))},void 0,!1,void 0,this)]},n.id,!0,void 0,this))},void 0,!1,void 0,this)}function bN({chat:e,selected:t,width:r,height:H}){let n=S(),o=K(e.runs)??[],s=ne(e.runs);return C("scrollbox",{focused:!0,style:{flexGrow:1,width:r+2,height:H},children:C("box",{style:{flexDirection:"column",paddingLeft:1,paddingTop:1},children:[C("text",{fg:n.text,attributes:v,children:"Recent conversations"},void 0,!1,void 0,this),C("text",{fg:n.muted,children:"j/k select \xB7 enter open \xB7 esc close"},void 0,!1,void 0,this),_e(e.runs)?C("text",{fg:n.muted,children:"Loading conversations\u2026"},void 0,!1,void 0,this):null,s?C("text",{fg:n.danger,children:s.message},void 0,!1,void 0,this):null,!_e(e.runs)&&!s&&o.length===0?C("text",{fg:n.muted,children:"No recent conversations."},void 0,!1,void 0,this):null,o.map((a,c)=>C("box",{style:{flexDirection:"row",width:r,backgroundColor:c===t?n.selected:void 0},children:[C("text",{fg:c===t?n.accent:n.muted,children:c===t?"\u276F ":" "},void 0,!1,void 0,this),C("text",{fg:n.text,children:D(a.title??"Untitled chat",Math.max(4,r-10))},void 0,!1,void 0,this),C("box",{style:{flexGrow:1}},void 0,!1,void 0,this),C("text",{fg:n.muted,children:ke(a.lastTriggeredAt)},void 0,!1,void 0,this)]},a.id,!0,void 0,this))]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}function wN({block:e,width:t,chat:r,client:H,org:n,showTodos:o}){if(e.message.role==="user")return C(TN,{block:e,width:t},void 0,!1,void 0,this);if(e.message.role==="tool_use")return C(PN,{block:e,width:t,chat:r,client:H,org:n,showTodos:o},void 0,!1,void 0,this);return C(xN,{block:e,width:t,chat:r,client:H,org:n},void 0,!1,void 0,this)}function TN({block:e,width:t}){let r=S(),H=Gr(e.message.content??"",Math.max(1,t-3));return C("box",{style:{flexDirection:"column",paddingLeft:1,paddingTop:1},children:H.map((n,o)=>C("text",{fg:r.text,attributes:v,children:o===0?`\u203A ${n}`:` ${n}`},o,!1,void 0,this))},void 0,!1,void 0,this)}function xN({block:e,width:t,chat:r,client:H,org:n}){let o=S(),s=e.message.content??"";if(e.loading&&s.trim()==="")return C("text",{fg:o.muted,children:[" ",C(iH,{},void 0,!1,void 0,this)," Thinking\u2026"]},void 0,!0,void 0,this);if(e.loading&&e.id.startsWith("optimistic-assistant-"))return C("box",{style:{paddingLeft:1,paddingTop:1,flexDirection:"row"},children:C("text",{fg:o.muted,children:[" ",C(iH,{},void 0,!1,void 0,this),` ${s}`]},void 0,!0,void 0,this)},void 0,!1,void 0,this);if(!s.trim())return null;return C("box",{style:{flexDirection:"column",paddingLeft:3,paddingTop:1,width:t},children:C(es,{content:s,width:Math.max(1,t-3),streaming:e.loading&&r.capabilities.streaming,embedsEnabled:r.capabilities.embeds,client:H,org:n},void 0,!1,void 0,this)},void 0,!1,void 0,this)}function PN({block:e,width:t,chat:r,client:H,org:n,showTodos:o}){let s=S(),a=i_(e),c=a==="failure"?s.danger:a==="mixed"||a==="pending"?s.warning:s.muted,l=c_(e),i=e.message.tool_calls??[];return C("box",{style:{flexDirection:"column",paddingLeft:1,width:t},children:[r.showThinking&&e.message.thinking_content?.trim()?C("box",{style:{flexDirection:"column",paddingLeft:2,width:Math.max(1,t-2)},children:[C("text",{fg:s.muted,attributes:v,children:"Thinking"},void 0,!1,void 0,this),C(es,{content:e.message.thinking_content,width:Math.max(1,t-4),embedsEnabled:r.capabilities.embeds,client:H,org:n},void 0,!1,void 0,this)]},void 0,!0,void 0,this):null,i.flatMap((A,u)=>{let d=e.tool_results?.find((f)=>f?.tool_call_id===A.id),p=A.function==="sentry_api_execute"||A.function==="sentry_api_search",g=d?.structuredContent?.calls?.length?d.structuredContent.calls:i.length===1?e.live_calls??[]:[],m=d_(g).flatMap((f)=>{let k=A_(f);return k?[{record:f,label:k}]:[]}),O=d?.structuredContent?.links??[],y=d?.structuredContent?.artifacts??[],L=d?.structuredContent&&d.content.trimStart().startsWith("{%")?d.content:null;return[...m.length?m.map(({record:f,label:k})=>C(qN,{record:f,label:k,settled:Boolean(d)},`${A.id??u}-${f.id}`,!1,void 0,this)):!p?[a==="loading"?C("text",{fg:c,attributes:pr,children:[" ",C(iH,{},void 0,!1,void 0,this),` ${l[u]??A.function}`]},`${A.id??u}-classic`,!0,void 0,this):C("text",{fg:c,attributes:pr,children:` ${o_[a]} ${l[u]??A.function}`},`${A.id??u}-classic`,!1,void 0,this)]:[],...O.filter((f)=>f.params?.is_error!==!0).map((f,k)=>C("text",{fg:s.accent,children:` \u2197 ${MN(f.kind,f.params)}`},`${A.id??u}-link-${k}`,!1,void 0,this)),...y.map((f,k)=>C("text",{fg:s.accent,children:` \u25C7 ${f.reason||f.key}`},`${A.id??u}-artifact-${k}`,!1,void 0,this)),...L?[C(es,{content:L,width:Math.max(1,t-3),embedsEnabled:r.capabilities.embeds,structuredContent:d?.structuredContent??null,client:H,org:n},`${A.id??u}-markdown`,!1,void 0,this)]:[]]}),o.map((A,u)=>C("text",{fg:A.status==="completed"?s.success:s.muted,attributes:A.status==="completed"?et:oH,children:` ${A.status==="completed"?"[x]":A.status==="in_progress"?"[~]":"[ ]"} ${A.content}`},`todo-${u}`,!1,void 0,this))]},void 0,!0,void 0,this)}function qN({record:e,label:t,settled:r}){let H=S(),n=l_(e,r),o=n==="failure"?H.danger:H.muted,s=u_(e),a=e.error?` \u2014 ${e.error}`:e.status!==void 0&&e.status>=400?` \u2014 HTTP ${e.status}`:"";return C("box",{style:{flexDirection:"column"},children:[n==="loading"?C("text",{fg:o,attributes:pr,children:[" ",C(iH,{},void 0,!1,void 0,this),` ${t}${a}`]},void 0,!0,void 0,this):C("text",{fg:o,attributes:pr,children:` ${n==="failure"?"\u2717":"\u2713"} ${t}${a}`},void 0,!1,void 0,this),s.map((c,l)=>C("text",{fg:H.subText,children:` ${c}`},l,!1,void 0,this))]},void 0,!0,void 0,this)}function MN(e,t){let r=t?.summary;if(typeof r==="string"&&r.trim())return r;return`View ${e.replace(/^get_/,"").replace(/_/g," ")}`}function CN({pending:e,state:t,width:r}){let H=S(),n={flexDirection:"column",width:Math.max(8,r-2),border:!0,borderColor:H.warning,paddingLeft:1,marginTop:1};if(e.input_type==="file_change_approval"){let o=Array.isArray(e.data.patches)?e.data.patches:[],s=o[t.fileApprovalIndex],a=s&&typeof s==="object"?s:{},c=a.patch&&typeof a.patch==="object"?a.patch:a,l=String(c.path??c.file_path??"proposed file change"),i=String(c.diff??a.diff??"");return C("box",{style:n,children:[C("text",{fg:H.warning,attributes:v,children:`Make this change? (${t.fileApprovalIndex+1} of ${o.length})`},void 0,!1,void 0,this),C("text",{fg:H.text,children:l},void 0,!1,void 0,this),Gr(i,Math.max(1,r-5)).slice(0,10).map((A,u)=>C("text",{fg:A.startsWith("+")?H.success:A.startsWith("-")?H.danger:H.muted,children:A},u,!1,void 0,this)),C("text",{fg:H.accent,children:"[y] approve \xB7 [x] reject"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}if(e.input_type==="agent_write_approval"){let o=Array.isArray(e.data.required_scopes)?e.data.required_scopes.filter((s)=>typeof s==="string"):[];return C("box",{style:n,children:[C("text",{fg:H.warning,attributes:v,children:"Allow Seer to make changes?"},void 0,!1,void 0,this),C("text",{fg:H.muted,children:"Requested scopes:"},void 0,!1,void 0,this),o.map((s)=>C("text",{fg:H.text,children:` ${s}`},s,!1,void 0,this)),C("text",{fg:H.accent,children:"[y] approve \xB7 [x] reject"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}if(e.input_type==="ask_user_question"){let s=(Array.isArray(e.data.questions)?e.data.questions:[])[t.questionIndex],a=s&&typeof s==="object"?s:{},c=Array.isArray(a.options)?a.options:[];return C("box",{style:n,children:[C("text",{fg:H.text,attributes:v,children:String(a.question??"Seer has a question")},void 0,!1,void 0,this),c.map((l,i)=>{let A=l&&typeof l==="object"?l:{};return C("box",{style:{flexDirection:"column",backgroundColor:i===t.questionSelected?H.selected:void 0},children:[C("text",{fg:i===t.questionSelected?H.accent:H.text,children:`${i+1}. ${String(A.label??"Option")}`},void 0,!1,void 0,this),A.description?C("text",{fg:H.muted,children:` ${String(A.description)}`},void 0,!1,void 0,this):null]},i,!0,void 0,this)}),C("text",{fg:t.questionSelected===c.length?H.accent:H.muted,children:"o. Other \u2014 type your own answer"},void 0,!1,void 0,this),C("text",{fg:H.muted,children:"j/k select \xB7 enter confirm"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}return C("box",{style:n,children:[C("text",{fg:H.warning,attributes:v,children:"Reconnect your monitoring provider in Sentry"},void 0,!1,void 0,this),C("text",{fg:H.muted,children:"This run will resume after the connection is restored."},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}var QN=[" \u2584\u2584\u2584 "," \u2584\u2588\u2588\u2588\u2588\u2588\u2584 ","\u2588\u2588\u2588 \u25CF \u2588\u2588\u2588"," \u2580\u2588\u2588\u2588\u2588\u2588\u2580 "," \u2580\u2580\u2580\u2580\u2580 "];function NN({width:e}){let t=S();return C("box",{style:{flexDirection:"column",paddingLeft:1,paddingTop:1},children:[QN.map((r,H)=>C("text",{fg:t.accent,children:` ${r}`},H,!1,void 0,this)),C("text",{fg:t.text,attributes:v,children:`
|
|
17
|
-
Ask Seer anything about your application.`},void 0,!1,void 0,this),C("text",{fg:t.muted,children:" Try one of these:"},void 0,!1,void 0,this),Vo.map((r,H)=>C("text",{fg:t.accent,children:` ${H+1}. ${Gr(r,Math.max(1,e-6))[0]??r}`},r,!1,void 0,this)),C("text",{fg:t.subText,children:`
|
|
18
|
-
${Be(Te("sentry.seer.compose"))} to type, ${Be(Te("sentry.nav.open"))} to send, ${Be(Te("sentry.seer.newChat"))} new, ${Be(Te("sentry.seer.history"))} history`},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function j_(){return{mode:"conversation",inputFocused:!0,slashSelected:0}}function jN(e){switch(e.input_type){case"file_change_approval":return{mode:"fileApproval",pendingId:e.id,index:0,decisions:[]};case"ask_user_question":return{mode:"question",pendingId:e.id,index:0,answers:[],selected:0,inputFocused:!1};case"agent_write_approval":case"reauth_monitoring_provider":return{mode:"blockingInput",pendingId:e.id}}}function D_(e,t){switch(t.type){case"pendingChanged":if(t.pending)return jN(t.pending);return"pendingId"in e?{mode:"conversation",inputFocused:!1,slashSelected:0}:e;case"inputChanged":return e.mode==="conversation"&&e.slashSelected!==0?{...e,slashSelected:0}:e;case"focusInput":if(e.mode==="conversation")return{...e,inputFocused:!0};if(e.mode==="question"&&t.allowQuestion)return{...e,inputFocused:!0};return e;case"blurInput":if(e.mode==="conversation"||e.mode==="question")return{...e,inputFocused:!1};return e;case"moveSlashSelection":if(e.mode!=="conversation"||t.count===0)return e;return{...e,slashSelected:(e.slashSelected+t.direction+t.count)%t.count};case"openHistory":return e.mode==="conversation"?{mode:"history",selected:0}:e;case"closeHistory":return e.mode==="history"?{mode:"conversation",inputFocused:!0,slashSelected:0}:e;case"startNewChat":return{mode:"conversation",inputFocused:!0,slashSelected:0};case"moveHistorySelection":{if(e.mode!=="history")return e;let r=Math.max(0,Math.min(e.selected+t.direction,Math.max(0,t.count-1)));return r===e.selected?e:{...e,selected:r}}case"moveQuestionSelection":if(e.mode!=="question")return e;return{...e,selected:(e.selected+t.direction+t.optionCount+1)%(t.optionCount+1),inputFocused:!1};case"selectQuestionOption":return e.mode==="question"?{...e,selected:t.index,inputFocused:!1}:e;case"selectOtherAnswer":return e.mode==="question"?{...e,selected:t.optionCount,inputFocused:!0}:e;case"commitQuestionAnswer":if(e.mode!=="question")return e;return t.final?{...e,inputFocused:!1}:{...e,index:e.index+1,answers:[...e.answers,t.answer],selected:0,inputFocused:!1};case"recordFileDecision":if(e.mode!=="fileApproval"||t.final)return e;return{...e,index:e.index+1,decisions:[...e.decisions,t.approved]}}}import{jsxDEV as Ri}from"h:6___________________________";function vN(e){let t=e?.questions;if(!Array.isArray(t))return[];return t.flatMap((r)=>{if(!r||typeof r!=="object")return[];let H=r;if(typeof H.question!=="string"||!Array.isArray(H.options))return[];let n=H.options.flatMap((o)=>{if(!o||typeof o!=="object")return[];let s=o;return typeof s.label==="string"?[{label:s.label,description:String(s.description??"")}]:[]});return[{question:H.question,options:n}]})}function v_({client:e,org:t,state:r,width:H,height:n,focused:o,registerActions:s,navigateToScreen:a,notify:c}){let l=S(),i=DN(Jo),[A,u]=RN(D_,void 0,j_),d=r.searchQuery,p=rr((Q)=>r.dispatch({type:"setSearchQuery",payload:Q}),[r.dispatch]),g=i?.pendingInput?.id,m=i?.pendingInput?.input_type,O=A.mode==="history",y=A.mode==="history"?A.selected:0,L=A.mode==="conversation"?A.slashSelected:0,f=A.mode==="fileApproval"?A.index:0,k=A.mode==="fileApproval"?A.decisions:[],I=A.mode==="question"?A.index:0,h=A.mode==="question"?A.answers:[],b=A.mode==="question"?A.selected:0,T=R_(()=>i?s_(i.capabilities,{hasRun:i.started,hasCodeChanges:i.codeChanges.length>0}):[],[i]),P=R_(()=>{if(!d.startsWith("/")||d.includes(" "))return[];let Q=d.toLowerCase();return T.filter((U)=>U.title.startsWith(Q))},[T,d]);Di(()=>u({type:"inputChanged"}),[d]),Di(()=>{u({type:"pendingChanged",pending:g&&m?{id:g,input_type:m}:null})},[g,m]);let M=rr(()=>{if(!i)return;i.loadRuns(),u({type:"openHistory"})},[i]),G=rr(()=>{if(!i||i.readOnly||i.thinking)return;let Q=i.codeChanges.filter((U)=>U.status==="needs_push"||U.status==="error");for(let U of Q)i.createPR(U.repoName);if(Q.length>0)c({kind:"info",text:`${Q.some((U)=>U.prNumber)?"Updating":"Creating"} ${Q.length===1?"pull request":"pull requests"}\u2026`})},[i,c]),q=rr((Q)=>{if(!i)return;switch(p(""),Q.id){case"new":i.reset(),u({type:"startNewChat"});return;case"history":M();return;case"create-pr":G();return;case"conversations":if(i.runId!==null)a("explore.conversations",{query:`gen_ai.conversation.id:${JSON.stringify(String(i.runId))}`});return;case"code-mode-off":case"code-mode-on":case"code-mode-only":{let U=Q.id.replace("code-mode-","");i.setCodeMode(U),c({kind:"info",text:`Seer ${Q.title.slice(1)}`});return}case"bash-mode-off":case"bash-mode-on":{let U=Q.id.endsWith("-on");i.setBashMode(U),c({kind:"info",text:`Seer bash mode ${U?"on":"off"}`});return}case"thinking-off":case"thinking-on":i.setShowThinking(Q.id.endsWith("-on"));return}},[i,a,c,M,G,p]),w=vN(i?.pendingInput?.data),x=w[I],N=Boolean(x&&b===x.options.length),B=rr((Q)=>{if(!i?.pendingInput||!x)return;let U=[...h,Q],Y=I+1>=w.length;if(u({type:"commitQuestionAnswer",answer:Q,final:Y}),Y){i.respond(i.pendingInput.id,{answers:U}),p("");return}p("")},[i,x,h,I,w.length,p]),R=rr(()=>{if(!i)return!1;if(i.pendingInput?.input_type==="ask_user_question"&&N){let U=d.trim();if(U)B(U);return!0}let Q=P[L]??T.find((U)=>U.title===d.trim().toLowerCase());if(Q)return q(Q),!0;if(i.thinking||i.readOnly||i.pendingInput||d.trim()==="")return!0;return i.send(d),p(""),!0},[i,T,B,q,N,p,L,d,P]),W=rr((Q)=>{if(i?.pendingInput?.input_type!=="file_change_approval")return;let U=Array.isArray(i.pendingInput.data.patches)?i.pendingInput.data.patches:[],Y=[...k,Q],V=f+1>=U.length;if(u({type:"recordFileDecision",approved:Q,final:V}),V)i.respond(i.pendingInput.id,{decisions:Y})},[i,k,f]),z=rr((Q)=>{let U=i?.pendingInput;if(!U)return!1;if(U.input_type==="file_change_approval"){if(Q.name.toLowerCase()==="y")W(!0);else if(Q.name.toLowerCase()==="x")W(!1);else return!1;return!0}if(U.input_type==="agent_write_approval"){if(Q.name.toLowerCase()==="x")return i.respond(U.id,{decision:"reject"}),!0;if(Q.name.toLowerCase()!=="y")return!1;let V=U.data.session_id,qe=U.data.required_scopes,Ee=Array.isArray(qe)?qe.filter((ue)=>typeof ue==="string"):[];if(typeof V==="string")i.approveWrite(U.id,V,Ee);return!0}if(U.input_type!=="ask_user_question"||!x)return!1;if(j("sentry.nav.up",Q)||Q.name.toLowerCase()==="up")return u({type:"moveQuestionSelection",direction:-1,optionCount:x.options.length}),!0;if(j("sentry.nav.down",Q)||Q.name.toLowerCase()==="down")return u({type:"moveQuestionSelection",direction:1,optionCount:x.options.length}),!0;if(Q.name.toLowerCase()==="o")return u({type:"selectOtherAnswer",optionCount:x.options.length}),!0;let Y=Number(Q.name)-1;if(Y>=0&&Y<x.options.length)return u({type:"selectQuestionOption",index:Y}),!0;if(j("sentry.nav.open",Q)&&!N){let V=x.options[b];if(V)B(V.label);return!0}return!1},[i,B,x,N,b,W]),He=rr((Q)=>{if(P.length===0)return!1;let U=Q.name.toLowerCase();if(U==="up")return u({type:"moveSlashSelection",direction:-1,count:P.length}),!0;if(U==="down")return u({type:"moveSlashSelection",direction:1,count:P.length}),!0;return!1},[P.length]),se=rr((Q)=>{if(!i)return!1;if(i.pendingInput&&z(Q))return!0;if(O){let U=i.runs.state==="ready"?i.runs.value.length:0;if(j("sentry.nav.down",Q))return u({type:"moveHistorySelection",direction:1,count:U}),!0;if(j("sentry.nav.up",Q))return u({type:"moveHistorySelection",direction:-1,count:U}),!0;if(j("sentry.nav.open",Q)&&i.runs.state==="ready"){let Y=i.runs.value[y];if(Y)i.switchRun(Y.id),u({type:"closeHistory"});return!0}return!1}if(j("sentry.seer.compose",Q)||j("sentry.nav.open",Q))return u({type:"focusInput",allowQuestion:N}),!0;if(j("sentry.seer.newChat",Q))return i.reset(),p(""),u({type:"startNewChat"}),!0;if(j("sentry.seer.history",Q))return M(),!0;if(j("sentry.seer.pushChanges",Q)&&i.codeChanges.length>0)return G(),!0;if(j("sentry.seer.interrupt",Q)){if(i.thinking)i.interrupt();return!0}if(i.blocks.length===0&&!Q.ctrl&&!Q.meta){let U=Vo[Number(Q.name)-1];if(U!==void 0)return i.send(U),!0}return!1},[i,z,y,M,G,p,O]),ae=rr(()=>{if(!O)return!1;return u({type:"closeHistory"}),!0},[O]),Ae=A.mode==="conversation"||A.mode==="question"?A.inputFocused:!1,de=o&&Ae&&!O&&!i?.readOnly&&(!i?.pendingInput||i.pendingInput.input_type==="ask_user_question"&&N);if(Di(()=>(s({inputFocused:()=>de,submitInput:R,blurInput:()=>u({type:"blurInput"}),handleInputKey:He,handleKey:se,back:ae}),()=>s(null)),[ae,de,He,se,s,R]),!i)return Ri("text",{fg:l.muted,children:"Seer is unavailable."},void 0,!1,void 0,this);if(!i.capabilities.available)return Ri("text",{fg:l.muted,children:"Seer Agent is not enabled for this organization."},void 0,!1,void 0,this);let re=N?"Type your own answer\u2026":i.readOnly?"This conversation is owned by another user and is read-only":void 0;return Ri(N_,{chat:i,client:e,org:t,width:H,height:n,focused:o,value:d,onInput:p,inputFocused:de,onInputFocus:()=>u({type:"focusInput",allowQuestion:N}),onInputBlur:()=>u({type:"blurInput"}),slashCommands:P,slashSelected:L,showHistory:O,historySelected:y,pendingState:{fileApprovalIndex:f,questionIndex:I,questionSelected:b},placeholderOverride:re},void 0,!1,void 0,this)}import{useCallback as B_,useEffect as Gi,useRef as W_}from"h:0__";import{RenderableEvents as rs}from"h:3__________";var GN=["project","fingerprint","package","function","count()","sum()","avg()","p50()","p75()","p95()","p99()"],vi=[{value:"-sum()",label:"Total self time"},{value:"-avg()",label:"Average self time"},{value:"-p50()",label:"p50 self time"},{value:"-p75()",label:"p75 self time"},{value:"-p95()",label:"p95 self time"},{value:"-p99()",label:"p99 self time"}],G_="-sum()";function E_(e){return vi.some((t)=>t.value===e)?e:G_}var EN=50;async function K_(e,{org:t,query:r="",statsPeriod:H,project:n,environment:o,sort:s=G_,cursor:a,limit:c=EN,signal:l}){let i=await xt(e,{org:t,dataset:"profileFunctions",fields:GN,sort:s,query:r,statsPeriod:H,project:n,environment:o,cursor:a,limit:c,referrer:"sentry-tui.profile-functions",signal:l});return{data:i.rows.map(KN),nextCursor:i.nextCursor}}function KN(e,t){return{fingerprint:je(e,"fingerprint")??String(t),projectSlug:je(e,"project"),package:je(e,"package")??"",name:je(e,"function")??"",count:_t(e,"count()"),totalSelfTimeNs:_t(e,"sum()"),p75SelfTimeNs:_t(e,"p75()")}}import{useCallback as XN}from"h:0__";function X_(e,{org:t,query:r,statsPeriod:H,project:n,environment:o,sort:s,reloadToken:a=0}){let c=XN((i,A)=>e?K_(e,{org:t,query:r,statsPeriod:H,project:n,environment:o,sort:s,cursor:i,signal:A}):null,[e,t,r,H,n,o,s]),l=Lt(c,a);return{functions:ut(l.status,(i)=>i.data),nextCursor:l.nextCursor,page:l.page,nextPage:l.nextPage,previousPage:l.previousPage}}import{jsxDEV as We}from"h:6___________________________";var BN="Aggregate flamegraph \u2014 open Explore \u203A Profiles on sentry.io",WN=24,FN=["A flamegraph needs pixels a terminal does not have; an ASCII","approximation would mislead. Below: the same page's slowest functions."];function UN(e){return[{key:"function",label:"Function",width:"flex",render:(t,r,H)=>We("text",{fg:e.text,children:_(t.name,H)},void 0,!1,void 0,this)},{key:"package",label:"Package",width:18,priority:2,render:(t,r,H)=>We("text",{fg:e.muted,children:_(t.package,H)},void 0,!1,void 0,this)},{key:"project",label:"Project",width:12,priority:1,render:(t,r,H)=>We("text",{fg:e.subText,children:_(t.projectSlug??"",H)},void 0,!1,void 0,this)},{key:"count",label:"Calls",width:7,align:"right",priority:3,render:(t,r,H)=>We("text",{fg:e.muted,children:_(xe(t.count),H,"right")},void 0,!1,void 0,this)},{key:"p75",label:"p75",width:9,align:"right",priority:4,render:(t,r,H)=>We("text",{fg:e.muted,children:_(Hs(t.p75SelfTimeNs),H,"right")},void 0,!1,void 0,this)},{key:"total",label:"Self Time",width:10,align:"right",render:(t,r,H)=>We("text",{fg:e.text,children:_(Hs(t.totalSelfTimeNs),H,"right")},void 0,!1,void 0,this)}]}function F_({client:e,org:t,state:r,focused:H,width:n,height:o,reloadToken:s,onProjectSelect:a,registerActions:c,activateRow:l}){let i=S(),{dispatch:A,focusSearch:u,handleSearchBlur:d}=r,p=W_(null),g=B_((N)=>{let B=p.current;if(B)B.removeAllListeners(rs.FOCUSED),B.removeAllListeners(rs.BLURRED);if(p.current=N,N)N.on(rs.FOCUSED,()=>u()),N.on(rs.BLURRED,()=>d())},[u,d]),m=r.committedQuery,O=E_(r.sort),{functions:y,nextCursor:L,page:f,nextPage:k,previousPage:I}=X_(e,{org:t,query:m,statsPeriod:r.statsPeriod,project:r.selectedProjects.length>0?r.selectedProjects:void 0,environment:r.selectedEnvs.length>0?r.selectedEnvs:void 0,sort:O,reloadToken:s}),h=y.state==="loading",b=Ze(y),T=K(y),P=ne(y);Gi(()=>{if(T)A({type:"setEntries",payload:T})},[T,A]);let M=W_(f);Gi(()=>{if(M.current===f)return;M.current=f,A({type:"setSelected",payload:0})},[f,A]),Gi(()=>{A({type:"setStatus",payload:{loading:h,since:b,error:P?.message,noun:"functions"}})},[h,b,P,y,A]);let G=B_(()=>A({type:"setOpenDropdown",payload:null}),[A]);De(c,{open:()=>A({type:"setDetailOpen",payload:(N)=>!N}),nextPage:k,previousPage:I,back:()=>{if(!r.detailOpen)return!1;return A({type:"setDetailOpen",payload:!1}),!0}});let q=Math.max(20,n-2),w=T?.[r.selected]??null,x=r.detailOpen&&w!==null;return We("box",{style:{flexDirection:"column",width:n,height:o},children:[We("box",{style:{flexDirection:"row",width:n,flexShrink:0,height:he,border:!0,borderStyle:"rounded",borderColor:r.searchFocused?i.accent:i.border,backgroundColor:i.panel,paddingLeft:1,paddingRight:1},children:[We(Gt,{},void 0,!1,void 0,this),We("input",{ref:g,value:r.searchQuery,placeholder:"Search functions\u2026",focused:r.searchFocused,onInput:(N)=>A({type:"setSearchQuery",payload:N}),style:{flexGrow:1,textColor:i.text,backgroundColor:i.panel,focusedTextColor:i.text,focusedBackgroundColor:i.panel,placeholderColor:i.subText}},void 0,!1,void 0,this)]},void 0,!0,void 0,this),We($e,{client:e,org:t,openDropdown:r.openDropdown,selectedProjects:r.selectedProjects,selectedEnvs:r.selectedEnvs,statsPeriod:r.statsPeriod,sort:{value:O,items:vi,onChange:(N)=>A({type:"setSort",payload:N})},width:n,anchorTop:he,onProjectChange:a,onEnvChange:(N)=>A({type:"setSelectedEnvs",payload:N}),onPeriodChange:(N)=>A({type:"setStatsPeriod",payload:N}),onDropdownClose:G,onDropdownOpen:(N)=>A({type:"setOpenDropdown",payload:N})},void 0,!1,void 0,this),We(YN,{width:q},void 0,!1,void 0,this),We(rt,{rows:T,columns:UN(i),width:n,selectedIndex:r.selected,focused:H,rowKey:(N)=>N.fingerprint,loading:_e(y),error:P,errorTitle:"Failed to load profiled functions",minFlex:WN,onRowClick:l,empty:{title:"No profiled functions found.",lines:[m||void 0,"Try widening the time range or selecting a project that sends profiles.","This organization may not have profiling enabled."]},layout:[o,x]},void 0,!1,void 0,this),x&&w?We($N,{fn:w,width:q},void 0,!1,void 0,this):null,We(Qe,{count:T?.length,noun:"function",hasMore:L!==null,pagination:L!==null||f>1?{page:f,hasPrevious:f>1,hasNext:L!==null,loading:h,onPrevious:I,onNext:k}:void 0},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function YN({width:e}){let t=S();return We("box",{style:{flexDirection:"column",width:e,flexShrink:0,border:["bottom"],borderColor:t.border},children:[We("text",{fg:t.subText,attributes:v,children:D(BN,e)},void 0,!1,void 0,this),FN.map((r)=>We("text",{fg:t.muted,children:D(r,e)},r,!1,void 0,this))]},void 0,!0,void 0,this)}function $N({fn:e,width:t}){let r=S();return We("box",{style:{flexDirection:"column",width:t,border:["top"],borderColor:r.border,paddingTop:1,flexShrink:0},children:[We("text",{fg:r.accent,attributes:v,children:"\u25BE Function Details"},void 0,!1,void 0,this),We("text",{fg:r.text,children:D(e.name,t)},void 0,!1,void 0,this),We("text",{fg:r.muted,children:D(` Package: ${e.package||"\u2014"}`,t)},void 0,!1,void 0,this),We("text",{fg:r.muted,children:D(` Project: ${e.projectSlug??"\u2014"} \u2502 Calls: ${xe(e.count)}`+` \u2502 Self time: ${Hs(e.totalSelfTimeNs)}`+` \u2502 p75: ${Hs(e.p75SelfTimeNs)}`,t)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function Hs(e){if(e===void 0||!Number.isFinite(e))return"\xB7\xB7";if(e<1000)return`${Math.round(e)}ns`;if(e<1e6)return`${Ei(e/1000)}\xB5s`;if(e<1e9)return`${Ei(e/1e6)}ms`;return`${Ei(e/1e9)}s`}function Ei(e){let t=e<10?2:e<100?1:0,r=e.toFixed(t);return r.includes(".")?r.replace(/\.?0+$/,""):r}import{useCallback as Z_,useEffect as Ki,useMemo as ns,useRef as Xi}from"h:0__";import{RenderableEvents as os}from"h:3__________";import{useEffect as VN}from"h:0__";function U_(e,{index:t,heights:r,layout:H=[]}){let n=0;for(let a=0;a<t&&a<r.length;a++)n+=r[a]??0;let o=r[t]??0,s=r.reduce((a,c)=>a+c,0);VN(()=>{let a=e.current;if(!a||s===0)return;let c=a.viewport.height;if(c<=0)return;let l=vH({rowTop:n,rowHeight:o,contentHeight:s,viewportHeight:c,scrollTop:a.scrollTop});if(l!==a.scrollTop)a.scrollTop=l},[e,n,o,s,...H])}import{useCallback as ZN}from"h:0__";function Y_(e,{org:t,releases:r,project:H,environment:n}){let o=ZN((s)=>e&&r?Ol(e,{org:t,releases:r,project:H,environment:n,signal:s}):null,[e,t,r,H,n]);return Kt(o,{resetKey:r}).status}import{useCallback as zN,useEffect as JN,useRef as e9,useState as t9}from"h:0__";function $_(e,{org:t,query:r,statsPeriod:H,project:n,environment:o,sort:s,reloadToken:a=0}){let c=zN((i,A)=>e?ml(e,{org:t,query:r,statsPeriod:H,project:n,environment:o,sort:s,cursor:i,signal:A}):null,[e,t,r,H,n,o,s]),l=Lt(c,a);return{releases:ut(l.status,(i)=>i.data),nextCursor:l.nextCursor,cursor:l.cursor,page:l.page,nextPage:l.nextPage,previousPage:l.previousPage}}function V_(e,{org:t,query:r,statsPeriod:H,project:n,environment:o,sort:s,cursor:a,reloadToken:c=0}){let[l,i]=t9(pe),A=e9(l);return A.current=l,JN(()=>{if(!e)return;let u=new AbortController,{signal:d}=u,p=!1;return i(Se(A.current,Date.now())),(async()=>{try{let g=await gl(e,{org:t,query:r,statsPeriod:H,project:n,environment:o,sort:s,cursor:a,signal:d});if(p)return;i(me(g,Date.now()))}catch(g){if(p||d.aborted)return;i(ge(A.current,Ce(g)))}})(),()=>{p=!0,u.abort()}},[e,t,r,H,n,o,s,a,c]),l}import{jsxDEV as Z,Fragment as f9}from"h:6___________________________";var r9=2,Hr=2,Hn=1,H9=3,Bi=3,n9=4,o9=2,s9=12,J_=5,ss=["\u2581","\u2582","\u2583","\u2584","\u2585","\u2586","\u2587","\u2588"],a9=98,i9=99.5;function c9(e){return[{key:"project",label:"Project",width:"flex",render:(t,r,H)=>Z("text",{fg:e.text,children:_(t.project.slug,H)},void 0,!1,void 0,this)},{key:"adoption",label:"Adoption",width:J_+s9,priority:3,render:(t,r,H)=>Z(d9,{row:t,width:H},void 0,!1,void 0,this)},{key:"crashFree",label:"Crash-Free",width:11,align:"right",render:(t,r,H)=>Z(g9,{row:t,width:H},void 0,!1,void 0,this)},{key:"crashes",label:"Crashes",width:8,align:"right",priority:2,render:(t,r,H)=>t.pending?Z(Fi,{width:H,align:"right"},void 0,!1,void 0,this):Z("text",{fg:e.muted,children:_(t.health?xe(t.health.sessionsCrashed??0):"\u2014",H,"right")},void 0,!1,void 0,this)},{key:"newIssues",label:"New Issues",width:10,align:"right",priority:1,render:(t,r,H)=>Z("text",{fg:e.muted,children:_(xe(t.project.newGroups),H,"right")},void 0,!1,void 0,this)}]}function ek({client:e,org:t,state:r,focused:H,width:n,height:o,reloadToken:s,onProjectSelect:a,registerActions:c,activateRow:l}){let i=S(),{dispatch:A,focusSearch:u,handleSearchBlur:d}=r,p=Xi(null),g=Xi(null),m=Z_((ue)=>{let te=g.current;if(te)te.removeAllListeners(os.FOCUSED),te.removeAllListeners(os.BLURRED);if(g.current=ue,ue)ue.on(os.FOCUSED,()=>u()),ue.on(os.BLURRED,()=>d())},[u,d]),O=r.committedQuery,y=ns(()=>Xe(r.selectedProjects),[r.selectedProjects]),L=r.selectedEnvs.length>0?r.selectedEnvs:void 0,f=ns(()=>Cs(r.selectedEnvs),[r.selectedEnvs]),k=pl(r.sort,r.selectedEnvs),I={org:t,query:O,statsPeriod:r.statsPeriod,project:y,environment:L,sort:k,reloadToken:s},{releases:h,nextCursor:b,cursor:T,page:P,nextPage:M,previousPage:G}=$_(e,I),q=V_(e,{...I,cursor:T}),w=K(h),x=Y_(e,{org:t,releases:w,project:y,environment:L}),N=ne(h),B=K(q),R=ne(q),W=B===void 0&&q.state==="loading",z=K(x),He=ne(x),se=w!==void 0&&z===void 0&&x.state!=="error",ae=h.state==="loading",Ae=Ze(h);Ki(()=>{if(w)A({type:"setEntries",payload:w})},[w,A]);let de=Xi(P);Ki(()=>{if(de.current===P)return;de.current=P,A({type:"setSelected",payload:0})},[P,A]),Ki(()=>{A({type:"setStatus",payload:{loading:ae,since:Ae,error:N?.message??(R?`health: ${R.message}`:void 0)??(He?`adoption: ${He.message}`:void 0),noun:"releases"}})},[ae,Ae,N,R,He,h,A]);let re=Z_(()=>A({type:"setOpenDropdown",payload:null}),[A]);De(c,{open:()=>A({type:"setDetailOpen",payload:(ue)=>!ue}),nextPage:M,previousPage:G,back:()=>{if(!r.detailOpen)return!1;return A({type:"setDetailOpen",payload:!1}),!0}});let Q=Math.max(20,n-r9),U=Math.max(10,Q-Hr),Y=ns(()=>Ir(c9(i),U,{gap:Hn}),[U,i]),V=ns(()=>(w??[]).map((ue,te)=>l9(ue,r.detailOpen&&te===r.selected)),[w,r.detailOpen,r.selected]);U_(p,{index:r.selected,heights:V,layout:[o]});let qe=w===void 0&&ae,Ee=w!==void 0&&w.length===0&&!ae;return Z("box",{style:{flexDirection:"column",width:n,height:o},children:[Z("box",{style:{flexDirection:"row",width:n,flexShrink:0,height:he,border:!0,borderStyle:"rounded",borderColor:r.searchFocused?i.accent:i.border,backgroundColor:i.panel,paddingLeft:1,paddingRight:1},children:[Z(Gt,{},void 0,!1,void 0,this),Z("input",{ref:m,value:r.searchQuery,placeholder:"Search releases\u2026",focused:r.searchFocused,onInput:(ue)=>A({type:"setSearchQuery",payload:ue}),style:{flexGrow:1,textColor:i.text,backgroundColor:i.panel,focusedTextColor:i.text,focusedBackgroundColor:i.panel,placeholderColor:i.subText}},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Z($e,{client:e,org:t,openDropdown:r.openDropdown,selectedProjects:r.selectedProjects,selectedEnvs:r.selectedEnvs,statsPeriod:r.statsPeriod,sort:{value:k,items:f,onChange:(ue)=>A({type:"setSort",payload:ue})},width:n,anchorTop:he,onProjectChange:a,onEnvChange:(ue)=>A({type:"setSelectedEnvs",payload:ue}),onPeriodChange:(ue)=>A({type:"setStatsPeriod",payload:ue}),onDropdownClose:re,onDropdownOpen:(ue)=>A({type:"setOpenDropdown",payload:ue})},void 0,!1,void 0,this),Z("scrollbox",{ref:p,focused:H,verticalScrollbarOptions:{showArrows:!1,trackOptions:{backgroundColor:i.panel,foregroundColor:i.muted}},style:{flexGrow:1,flexBasis:0,width:n},children:[qe?Array.from({length:n9},(ue,te)=>Z(y9,{resolved:Y,width:Q,seed:te},te,!1,void 0,this)):null,Ee?Z("box",{style:{flexDirection:"column",padding:1},children:[Z("text",{fg:i.text,children:"No releases found."},void 0,!1,void 0,this),O?Z("text",{fg:i.muted,children:O},void 0,!1,void 0,this):null,Z("text",{fg:i.muted,children:"Try widening the time range or clearing the version filter."},void 0,!1,void 0,this),Z("text",{fg:i.muted,children:"This organization may not have release tracking set up."},void 0,!1,void 0,this)]},void 0,!0,void 0,this):null,w?.map((ue,te)=>Z(A9,{release:ue,index:te,health:B,healthPending:W,adoption:z,adoptionPending:se,resolved:Y,width:Q,selected:H&&te===r.selected,expanded:r.detailOpen&&te===r.selected,onPress:l},ue.version,!1,void 0,this)),N&&w===void 0?Z("box",{style:{flexDirection:"column",padding:1},children:[Z("text",{fg:i.danger,children:"Failed to load releases"},void 0,!1,void 0,this),Z("text",{fg:i.muted,children:N.message},void 0,!1,void 0,this),N.retryable?Z("text",{fg:i.muted,children:"R to retry"},void 0,!1,void 0,this):null]},void 0,!0,void 0,this):null]},void 0,!0,void 0,this),Z(Qe,{count:w?.length,noun:"release",hasMore:b!==null,pagination:b!==null||P>1?{page:P,hasPrevious:P>1,hasNext:b!==null,loading:ae,onPrevious:G,onNext:M}:void 0},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function tk(e,t){let r=[...e.projects].sort((H,n)=>H.slug.localeCompare(n.slug));if(t||r.length<=Bi)return{shown:r,hidden:0};return{shown:r.slice(0,Bi),hidden:r.length-Bi}}function l9(e,t){let{shown:r,hidden:H}=tk(e,t);return H9+r.length+(H>0?1:0)+1}function A9({release:e,index:t,health:r,healthPending:H,adoption:n,adoptionPending:o,resolved:s,width:a,selected:c,expanded:l,onPress:i}){let A=S(),{shown:u,hidden:d}=tk(e,l),p=Math.max(10,a-Hr),g=ke(e.lastDeploy?.dateFinished??e.dateCreated),m=e.lastDeploy?` \u2502 ${e.lastDeploy.environment}`:"",O=`${g}${m}`,y=Math.min(O.length+1,Math.max(0,a-Hr-4)),L=Math.max(4,a-Hr-y);return Z("box",{style:{flexDirection:"column",width:a,flexShrink:0},onMouseDown:()=>i(t),children:[Z("box",{style:{flexDirection:"row",width:a,backgroundColor:c?A.selected:void 0},children:[Z("text",{fg:A.accent,children:c?"\u276F ":" "},void 0,!1,void 0,this),Z("text",{fg:A.text,attributes:v,children:_(e.shortVersion||e.version,L)},void 0,!1,void 0,this),Z("text",{fg:A.subText,children:_(O,y,"right")},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Z("text",{fg:A.muted,children:_(` ${u9(e)}`,a)},void 0,!1,void 0,this),Z("box",{style:{flexDirection:"row",width:a},children:[Z("text",{children:" ".repeat(Hr)},void 0,!1,void 0,this),s.map(({column:f,width:k},I)=>Z("text",{fg:A.subText,children:(I>0?" ".repeat(Hn):"")+_(f.label,k,f.align??"left")},f.key,!1,void 0,this))]},void 0,!0,void 0,this),u.map((f)=>Z("box",{style:{flexDirection:"row",width:a},children:[Z("text",{children:" ".repeat(Hr)},void 0,!1,void 0,this),s.map(({column:k,width:I},h)=>Z("box",{style:{flexDirection:"row",flexShrink:0},children:[h>0?Z("text",{children:" ".repeat(Hn)},void 0,!1,void 0,this):null,k.render({project:f,health:r?.get(Qr(e.version,f.id)),pending:H,adoption:n?.get(Qr(e.version,f.id)),adoptionPending:o},c,I)]},k.key,!0,void 0,this))]},f.id,!0,void 0,this)),d>0?Z("text",{fg:A.subText,attributes:pr,children:_(` +${d} more ${d===1?"project":"projects"} \u2014 enter to expand`,a)},void 0,!1,void 0,this):null,Z("text",{fg:A.border,children:"\u2500".repeat(Math.max(0,p+Hr))},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function u9(e){let t=[];if(e.package)t.push(e.package);if(e.commitCount>0){let r=`${e.commitCount} ${e.commitCount===1?"commit":"commits"}`,H=`${e.authorCount} ${e.authorCount===1?"author":"authors"}`;t.push(`${r} by ${H}`)}return t.length>0?t.join(" \xB7 "):"no commits associated"}function d9({row:e,width:t}){let r=S();if(e.pending||e.adoptionPending)return Z(Fi,{width:t},void 0,!1,void 0,this);let H=e.health?.adoption;if(H===void 0)return Z("text",{fg:r.subText,children:_("\u2014",t)},void 0,!1,void 0,this);let n=Math.max(0,Math.min(100,H)),o=Math.min(J_,t),s=Math.max(0,t-o),a=e.adoption?p9(e.adoption,s):[];return Z(f9,{children:[Z("text",{fg:r.muted,children:_(`${Math.round(n)}%`,o)},void 0,!1,void 0,this),a.length>0?a.map((c,l)=>Z("text",{fg:c.series==="release"?r.accent:r.subText,children:c.glyph},l,!1,void 0,this)):Z("text",{children:" ".repeat(s)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function p9(e,t){if(t<=0||e.project.length===0&&e.release.length===0)return[];let r=Math.max(1,Math.floor(t/2)),H=Math.max(e.project.length,e.release.length),n=Array.from({length:H},(c,l)=>[e.project[l]??0,e.release[l]??0]),o=n.length>r?m9(n,r):lH(n,r),s=Math.max(1,...o.flatMap(([c,l])=>[c,l])),a=o.flatMap(([c,l])=>[{glyph:z_(c,s),series:"project"},{glyph:z_(l,s),series:"release"}]);while(a.length<t)a.push({glyph:" ",series:"project"});return a.slice(0,t)}function m9(e,t){let r=e.length/t;return Array.from({length:t},(H,n)=>{let o=Math.floor(n*r),s=Math.min(e.length,Math.floor((n+1)*r)),a=0,c=0;for(let l=o;l<s;l++)a+=e[l]?.[0]??0,c+=e[l]?.[1]??0;return[a,c]})}function z_(e,t){if(e<=0)return ss[0];let r=Math.ceil(e/t*ss.length)-1;return ss[Math.max(0,Math.min(ss.length-1,r))]}function g9({row:e,width:t}){let r=S();if(e.pending)return Z(Fi,{width:t,align:"right"},void 0,!1,void 0,this);let H=e.health?.crashFreeSessions;if(H===void 0)return Z("text",{fg:r.subText,children:_("\u2014",t,"right")},void 0,!1,void 0,this);let[n,o]=H<a9?[r.danger,"\u2717"]:H<i9?[r.warning,"!"]:[r.success,"\u2713"];return Z("text",{fg:n,children:_(`${o} ${O9(H)}`,t,"right")},void 0,!1,void 0,this)}function Fi({width:e,align:t="left"}){let r=S();return Z("text",{fg:r.panelAlt,children:_("\u2500".repeat(Math.max(1,Math.floor(e*0.6))),e,t)},void 0,!1,void 0,this)}function O9(e){if(Number.isNaN(e))return"\u2014";if(e>0&&e<1)return"<1%";let r=10**(e>90?3:0),H=Math.round(e*r)/r;if(H===100&&e<100)H=Math.floor(e*r)/r;return`${H}%`}function y9({resolved:e,width:t,seed:r}){let H=S(),n=Math.max(10,t-Hr);return Z("box",{style:{flexDirection:"column",width:t,flexShrink:0},children:[Z("text",{fg:H.panelAlt,children:_(` ${Wi(24,r)}`,t)},void 0,!1,void 0,this),Z("text",{fg:H.panelAlt,children:_(` ${Wi(32,r+3)}`,t)},void 0,!1,void 0,this),Z("box",{style:{flexDirection:"row",width:t},children:[Z("text",{children:" ".repeat(Hr)},void 0,!1,void 0,this),e.map(({column:o,width:s},a)=>Z("text",{fg:H.subText,children:(a>0?" ".repeat(Hn):"")+_(o.label,s,o.align??"left")},o.key,!1,void 0,this))]},void 0,!0,void 0,this),Array.from({length:o9},(o,s)=>Z("box",{style:{flexDirection:"row",width:t},children:[Z("text",{children:" ".repeat(Hr)},void 0,!1,void 0,this),e.map(({column:a,width:c},l)=>Z("text",{fg:H.panelAlt,children:(l>0?" ".repeat(Hn):"")+_(Wi(c,r+s+l),c,a.align??"left")},a.key,!1,void 0,this))]},s,!0,void 0,this)),Z("text",{fg:H.border,children:"\u2500".repeat(Math.max(0,n+Hr))},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function Wi(e,t){if(e<=0)return"";let r=0.4+t*17%45/100;return"\u2500".repeat(Math.max(1,Math.min(e,Math.floor(e*r))))}import{useCallback as $i,useEffect as hH,useMemo as ok,useRef as sk}from"h:0__";import{RenderableEvents as as}from"h:3__________";import{useCallback as rk}from"h:0__";function Hk(e,{org:t,query:r,statsPeriod:H,project:n,environment:o,sort:s,reloadToken:a=0}){let c=rk((i,A)=>e?hl(e,{org:t,query:r,statsPeriod:H,project:n,environment:o,sort:s,cursor:i,signal:A}):null,[e,t,r,H,n,o,s]),l=Lt(c,a);return{replays:ut(l.status,(i)=>i.data),nextCursor:l.nextCursor,page:l.page,nextPage:l.nextPage,previousPage:l.previousPage}}function nk(e,{org:t,replayId:r,statsPeriod:H,environment:n,count:o,reloadToken:s=0}){let a=rk((l)=>{if(!e)return null;if(o<=0)return Promise.resolve({data:[],nextCursor:null});return Il(e,{org:t,replayId:r,statsPeriod:H,environment:n,signal:l})},[e,t,r,H,n,o]),{status:c}=Kt(a,{reloadKey:s});return{errors:ut(c,(l)=>l.data),nextCursor:K(c)?.nextCursor??null}}import{jsxDEV as ee,Fragment as lk}from"h:6___________________________";var Yi=10,S9=15;function _9(e){return[{key:"session",label:"Replay",width:"flex",render:(t,r,H)=>{if(t.isArchived)return ee("text",{fg:e.subText,children:_("Deleted Replay",H)},void 0,!1,void 0,this);let n=t.hasViewed?" ":"\u25CF ",o=t.user.displayName??"Anonymous User",s=H-n.length;return ee(lk,{children:[ee("text",{fg:e.accent,children:n},void 0,!1,void 0,this),s>0?ee("text",{fg:e.text,attributes:r?v:0,children:_(o,s)},void 0,!1,void 0,this):null]},void 0,!0,void 0,this)}},{key:"os",label:"OS",width:11,render:(t,r,H)=>ee("text",{fg:e.subText,children:_(TH(t.os),H)},void 0,!1,void 0,this)},{key:"browser",label:"Browser",width:11,render:(t,r,H)=>ee("text",{fg:e.subText,children:_(TH(t.browser),H)},void 0,!1,void 0,this)},{key:"duration",label:"Duration",width:8,align:"right",render:(t,r,H)=>ee("text",{fg:e.text,children:_(js(t.durationSec),H,"right")},void 0,!1,void 0,this)},{key:"dead",label:"Dead",width:5,align:"right",priority:1,render:(t,r,H)=>ee(Ui,{value:t.countDeadClicks,width:H,color:e.warning},void 0,!1,void 0,this)},{key:"rage",label:"Rage",width:5,align:"right",priority:1,render:(t,r,H)=>ee(Ui,{value:t.countRageClicks,width:H,color:e.danger},void 0,!1,void 0,this)},{key:"errors",label:"Errors",width:6,align:"right",render:(t,r,H)=>ee(Ui,{value:t.countErrors,width:H,color:e.danger},void 0,!1,void 0,this)},{key:"activity",label:"Activity",width:Yi,priority:2,render:(t,r,H)=>ee(h9,{score:t.activity,width:H},void 0,!1,void 0,this)}]}function ak({client:e,org:t,state:r,focused:H,width:n,height:o,reloadToken:s,onProjectSelect:a,pushView:c,registerActions:l,activateRow:i}){let A=S(),{dispatch:u}=r,d=r.committedQuery,p=r.selectedProjects.length>0?r.selectedProjects:void 0,g=r.selectedEnvs.length>0?r.selectedEnvs:void 0,m=kl(r.sort),{replays:O,nextCursor:y,page:L,nextPage:f,previousPage:k}=Hk(e,{org:t,query:d,statsPeriod:r.statsPeriod,project:p,environment:g,sort:m,reloadToken:s}),I=O.state==="loading",h=Ze(O),b=K(O),T=ne(O),P=ok(()=>b?.flatMap((x)=>x.projectId?[x.projectId]:[])??[],[b]),M=aH(e,t,P),G=ok(()=>b?.map((x)=>({...x,projectSlug:x.projectId?M.get(x.projectId):void 0})),[b,M]);hH(()=>{if(G)u({type:"setEntries",payload:G})},[G,u]);let q=sk(L);hH(()=>{if(q.current===L)return;q.current=L,u({type:"setSelected",payload:0})},[L,u]),hH(()=>{u({type:"setStatus",payload:{loading:I,since:h,error:T?.message,noun:"replays"}})},[I,h,T,O,u]);let w=$i(()=>u({type:"setOpenDropdown",payload:null}),[u]);return De(l,{open:(x)=>{let N=zt(r)[x];if(N)c(L9(N,r.statsPeriod,r.selectedEnvs))},nextPage:f,previousPage:k}),ee("box",{style:{flexDirection:"column",width:n,height:o},children:[ee(P9,{state:r,width:n,placeholder:"Search replays\u2026"},void 0,!1,void 0,this),ee($e,{client:e,org:t,openDropdown:r.openDropdown,selectedProjects:r.selectedProjects,selectedEnvs:r.selectedEnvs,statsPeriod:r.statsPeriod,sort:{value:m,items:Ns,onChange:(x)=>u({type:"setSort",payload:x})},width:n,anchorTop:he,onProjectChange:a,onEnvChange:(x)=>u({type:"setSelectedEnvs",payload:x}),onPeriodChange:(x)=>u({type:"setStatsPeriod",payload:x}),onDropdownClose:w,onDropdownOpen:(x)=>u({type:"setOpenDropdown",payload:x})},void 0,!1,void 0,this),ee(rt,{rows:G,columns:_9(A),width:n,selectedIndex:r.selected,focused:H,rowKey:(x)=>x.id,loading:_e(O),error:T,errorTitle:"Failed to load replays",onRowClick:i,renderDetail:(x,N,B)=>k9(x,N,B,A),minFlex:S9,empty:{title:"No replays found.",lines:[d||void 0,"Try widening the time range or adjusting the query.","This organization may not have session replay enabled."]},layout:[o]},void 0,!1,void 0,this),ee(Qe,{count:G?.length,noun:"replay",hasMore:y!==null,pagination:y!==null||L>1?{page:L,hasPrevious:L>1,hasNext:y!==null,loading:I,onPrevious:k,onNext:f}:void 0},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function k9(e,t,r,H){let n=[e.projectSlug,xH(e.id)].filter(Boolean),o=ke(e.startedAt);if(o)n.push(`${o} ago`);return ee("text",{fg:H.muted,children:_(` ${n.join(" \xB7 ")}`,r)},void 0,!1,void 0,this)}function Ui({value:e,width:t,color:r}){let H=S(),n=e!==void 0;return ee("text",{fg:n&&e>0?r:H.subText,children:_(n?String(e):"\u2014",t,"right")},void 0,!1,void 0,this)}function h9({score:e,width:t}){let r=S();if(t<=0)return null;if(e===void 0)return ee("text",{fg:r.subText,children:_("\u2014",t)},void 0,!1,void 0,this);let H=Math.max(0,Math.min(Yi,Math.round(e))),n=Math.round(H/Yi*t),o=Math.max(0,t-n);return ee(lk,{children:[n>0?ee("text",{fg:r.accent,children:"\u2588".repeat(n)},void 0,!1,void 0,this):null,o>0?ee("text",{fg:r.border,children:"\u2591".repeat(o)},void 0,!1,void 0,this):null]},void 0,!0,void 0,this)}function L9(e,t,r){return{id:`replay:${e.id}`,sentryLocation:{screen:"explore.replays",detail:{kind:"replay",replayId:e.id}},label:xH(e.id),stateKey:vs,initialState:{statsPeriod:t,selectedEnvs:r,selectedProjects:e.projectSlug?[e.projectSlug]:[]},render:(H)=>H.state?ee(ck,{...H,state:H.state,replay:e},void 0,!1,void 0,this):null}}var I9=(e,{org:t,id:r,signal:H})=>Ll(e,{org:t,replayId:r,signal:H});function ik(e){return{id:`replay:${e}`,sentryLocation:{screen:"explore.replays",detail:{kind:"replay",replayId:e}},label:xH(e),stateKey:vs,initialState:{statsPeriod:tH,selectedEnvs:[],selectedProjects:[]},render:(t)=>t.state?ee(b9,{...t,state:t.state,replayId:e},void 0,!1,void 0,this):null}}function b9({client:e,org:t,state:r,replayId:H,reloadToken:n,width:o,height:s,updateView:a,...c}){let l=ar(e,{org:t,id:H,reloadToken:n,load:I9}),i=K(l);if(hH(()=>{if(i)a(`replay:${H}`,{label:xH(i.id)})},[i,H,a]),!i)return ee(sr,{status:l,noun:"replay",width:o,height:s},void 0,!1,void 0,this);return ee(ck,{...c,client:e,org:t,state:r,replay:i,reloadToken:n,width:o,height:s,updateView:a},void 0,!1,void 0,this)}function w9(e){return[{key:"time",label:"Time",width:8,render:(t,r,H)=>ee("text",{fg:e.muted,children:_(x9(t.timestamp),H)},void 0,!1,void 0,this)},{key:"level",label:"Level",width:5,priority:1,render:(t,r,H)=>ee("text",{fg:t.level==="error"||t.level==="fatal"?e.danger:e.muted,children:_(t.level??"",H)},void 0,!1,void 0,this)},{key:"issue",label:"Issue",width:16,priority:2,render:(t,r,H)=>ee("text",{fg:e.subText,children:_(t.issue??"",H)},void 0,!1,void 0,this)},{key:"title",label:"Title",width:"flex",render:(t,r,H)=>ee("text",{fg:e.text,children:_(t.title,H)},void 0,!1,void 0,this)}]}function ck({client:e,org:t,state:r,replay:H,focused:n,width:o,height:s,reloadToken:a}){let c=S(),{dispatch:l}=r,{errors:i,nextCursor:A}=nk(e,{org:t,replayId:H.id,statsPeriod:r.statsPeriod,environment:r.selectedEnvs.length>0?r.selectedEnvs:void 0,count:H.countErrors??0,reloadToken:a}),u=K(i),d=ne(i);hH(()=>{if(u)l({type:"setEntries",payload:u})},[u,l]),hH(()=>{l({type:"setStatus",payload:{loading:i.state==="loading",error:d?.message,noun:"replay errors"}})},[i,d,l]);let p=$i(()=>l({type:"setOpenDropdown",payload:null}),[l]),g=Math.max(20,o-2),m=H.user.displayName??"Anonymous User";return ee("box",{style:{flexDirection:"column",width:o,height:s,paddingLeft:1},children:[ee($e,{client:e,org:t,openDropdown:r.openDropdown,selectedProjects:r.selectedProjects,selectedEnvs:r.selectedEnvs,statsPeriod:r.statsPeriod,width:g,anchorTop:0,onProjectChange:(O)=>l({type:"setSelectedProjects",payload:O}),onEnvChange:(O)=>l({type:"setSelectedEnvs",payload:O}),onPeriodChange:(O)=>l({type:"setStatsPeriod",payload:O}),onDropdownClose:p,onDropdownOpen:(O)=>l({type:"setOpenDropdown",payload:O})},void 0,!1,void 0,this),ee("box",{style:{flexDirection:"row",flexShrink:0},children:[ee("text",{fg:c.text,attributes:v,children:D(m,Math.max(8,g-24))},void 0,!1,void 0,this),ee("text",{fg:c.muted,children:D(` ${H.projectSlug??"\u2014"} \xB7 ${ke(H.startedAt)} ago`,24)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),ee(kH,{label:"Duration",value:js(H.durationSec),width:g},void 0,!1,void 0,this),ee(kH,{label:"Platform",value:[TH(H.os),TH(H.browser)].filter((O)=>O!=="\u2014").join(" \xB7 "),width:g},void 0,!1,void 0,this),ee(kH,{label:"Clicks",value:`${nn(H.countDeadClicks)} dead \xB7 ${nn(H.countRageClicks)} rage`,width:g},void 0,!1,void 0,this),ee(kH,{label:"Session",value:`${nn(H.countUrls)} urls \xB7 ${nn(H.countSegments)} segments \xB7 activity ${nn(H.activity)}`,width:g},void 0,!1,void 0,this),ee(kH,{label:"Release",value:H.releases[0]??"\u2014",width:g},void 0,!1,void 0,this),ee(kH,{label:"URL",value:H.urls[0]??"\u2014",width:g},void 0,!1,void 0,this),ee("box",{style:{flexDirection:"column",flexShrink:0},children:[ee("text",{fg:c.muted,children:" "},void 0,!1,void 0,this),ee("text",{fg:c.subText,children:_("Playback is not available in a terminal. Open it at:",g)},void 0,!1,void 0,this),T9(bl(t,H.id),g).map((O,y)=>ee("text",{fg:c.accent,children:_(O,g)},y,!1,void 0,this)),ee("text",{fg:c.muted,children:" "},void 0,!1,void 0,this)]},void 0,!0,void 0,this),ee(rt,{rows:u,columns:w9(c),width:o-1,selectedIndex:r.selected,focused:n,rowKey:(O)=>O.id,loading:_e(i),error:d,errorTitle:"Failed to load replay errors",empty:{title:"No errors in this replay."},layout:[s]},void 0,!1,void 0,this),ee(Qe,{count:u?.length,noun:"error",hasMore:A!==null},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function kH({label:e,value:t,width:r}){let H=S(),n=10;return ee("box",{style:{flexDirection:"row",flexShrink:0},children:[ee("text",{fg:H.muted,children:_(e,10)},void 0,!1,void 0,this),ee("text",{fg:H.text,children:D(t||"\u2014",Math.max(0,r-10))},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function T9(e,t){if(t<=0)return[e];let r=[];for(let H=0;H<e.length;H+=t)r.push(e.slice(H,H+t));return r.length>0?r:[""]}function nn(e){return e===void 0?"\u2014":String(e)}function x9(e){if(!e)return"--:--:--";return/T(\d{2}:\d{2}:\d{2})/.exec(e)?.[1]??(e.slice(11,19)||"--:--:--")}function P9({state:e,width:t,placeholder:r}){let H=S(),{focusSearch:n,handleSearchBlur:o}=e,s=sk(null),a=$i((c)=>{let l=s.current;if(l)l.removeAllListeners(as.FOCUSED),l.removeAllListeners(as.BLURRED);if(s.current=c,c)c.on(as.FOCUSED,()=>n()),c.on(as.BLURRED,()=>o())},[n,o]);return ee("box",{style:{flexDirection:"row",width:t,flexShrink:0,height:he,border:!0,borderStyle:"rounded",borderColor:e.searchFocused?H.accent:H.border,backgroundColor:H.panel,paddingLeft:1,paddingRight:1},children:[ee(Gt,{},void 0,!1,void 0,this),ee("input",{ref:a,value:e.searchQuery,placeholder:r,focused:e.searchFocused,onInput:(c)=>e.dispatch({type:"setSearchQuery",payload:c}),style:{flexGrow:1,textColor:H.text,backgroundColor:H.panel,focusedTextColor:H.text,focusedBackgroundColor:H.panel,placeholderColor:H.subText}},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}import{useCallback as q9,useEffect as Ak,useMemo as M9}from"h:0__";import{jsxDEV as bt}from"h:6___________________________";var C9=1,Q9=20;function N9(e,t){return[{key:"star",label:" ",width:1,render:(r)=>bt("text",{fg:r.starred?t.warning:t.muted,children:r.starred?"\u2605":" "},void 0,!1,void 0,this)},{key:"name",label:"Name",width:24,render:(r,H,n)=>bt("text",{fg:H?t.text:t.subText,attributes:H?v:0,children:_(D(r.name,n),n)},void 0,!1,void 0,this)},{key:"type",label:"Type",width:12,priority:2,render:(r,H,n)=>bt("text",{fg:t.muted,children:_(D(r.datasetLabel,n),n)},void 0,!1,void 0,this)},{key:"query",label:"Query",width:"flex",render:(r,H,n)=>bt("text",{fg:r.query?t.muted:t.subText,children:_(D(j9(r),n),n)},void 0,!1,void 0,this)},{key:"creator",label:"Creator",width:14,priority:3,render:(r,H,n)=>bt("text",{fg:t.subText,children:_(D(r.createdBy??(r.isPrebuilt?"Sentry":"\u2014"),n),n)},void 0,!1,void 0,this)},{key:"activity",label:e.activityLabel,width:11,align:"right",priority:1,render:(r,H,n)=>bt("text",{fg:t.subText,children:_(D9(r),n,"right")},void 0,!1,void 0,this)}]}function Vi(e){let t=S(),{client:r,org:H,screen:n,state:o,focused:s,width:a,height:c,reloadToken:l,pushView:i,registerActions:A,activateRow:u}=e,{dispatch:d,focusSearch:p,handleSearchBlur:g}=o,m=wa(n.id)??wa("explore.all-queries"),O=La(m.source),y=$g(o.sort,m.source),{queries:L,nextCursor:f}=$n(r,{org:H,source:m.source,search:o.committedQuery||void 0,sort:y,reloadToken:l}),k=K(L),I=ne(L),h=L.state==="loading",b=Ze(L);Ak(()=>{if(k)d({type:"setEntries",payload:k})},[k,d]),Ak(()=>{d({type:"setStatus",payload:{loading:h,since:b,error:I?.message,noun:m.noun}})},[h,b,I,L,m.noun,d]);let T=q9((M)=>{let G=zt(o)[M];if(G)i(Jn(G))},[o,i]);De(A,{open:T});let P=M9(()=>N9(m,t),[m,t]);return bt("box",{style:{flexDirection:"column",width:a,height:c},children:[bt(ht,{value:o.searchQuery,placeholder:m.searchPlaceholder,focused:o.searchFocused,width:a,onInput:(M)=>d({type:"setSearchQuery",payload:M}),onFocus:p,onBlur:g},void 0,!1,void 0,this),bt("box",{style:{flexDirection:"row",width:a,flexShrink:0,height:C9,paddingLeft:1},children:[bt("text",{fg:t.text,attributes:v,children:m.title},void 0,!1,void 0,this),bt("text",{fg:t.muted,children:` ${m.description}`},void 0,!1,void 0,this)]},void 0,!0,void 0,this),bt(pH,{value:y,items:O,open:o.openDropdown==="sort",width:a,anchorTop:he+1,onChange:(M)=>d({type:"setSort",payload:M}),onOpen:()=>d({type:"setOpenDropdown",payload:"sort"}),onClose:()=>d({type:"setOpenDropdown",payload:null})},void 0,!1,void 0,this),bt(rt,{rows:k,columns:P,width:a,selectedIndex:o.selected,focused:s,rowKey:(M)=>`${M.source}:${M.id}`,loading:_e(L),error:I,errorTitle:`Failed to load ${m.noun}`,minFlex:Q9,onRowClick:u,empty:{title:"No saved queries found.",lines:[o.committedQuery?`No query name matches "${o.committedQuery}".`:void 0,m.emptyHint]},layout:[c]},void 0,!1,void 0,this),bt(Qe,{count:k?.length,noun:"query",hasMore:f!==null},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function j9(e){return e.query||e.fields.join(", ")}function D9(e){let t=e.lastVisited??e.dateUpdated;return t?ke(t):"\u2014"}import{useCallback as K9,useEffect as zi,useMemo as pk,useRef as X9}from"h:0__";import{useCallback as R9,useEffect as v9,useMemo as G9,useState as E9}from"h:0__";function uk(e,{org:t,query:r="",project:H,sortBy:n,reloadToken:o=0}){let s=R9((c,l)=>e?Ro(e,{org:t,query:r,project:H,sortBy:n,cursor:c,signal:l}).then((i)=>({data:Array.isArray(i.data)?i.data:[],nextCursor:i.nextCursor})):null,[e,t,r,H,n]),a=Lt(s,o);return{workflows:ut(a.status,(c)=>c.data),nextCursor:a.nextCursor,page:a.page,nextPage:a.nextPage,previousPage:a.previousPage}}var Zi={byId:new Map,loading:!1};function dk(e,t,r){let n=G9(()=>{let a=new Set;for(let c of r??[])for(let l of c.detectorIds??[])a.add(l);return[...a].sort()},[r]).join(","),[o,s]=E9(Zi);return v9(()=>{if(!e||n===""){s(Zi);return}let a=new AbortController,c=!1;return s((l)=>({byId:l.byId,loading:!0})),Jf(e,{org:t,ids:n.split(","),signal:a.signal}).then((l)=>{if(c)return;s({byId:new Map(l.map((i)=>[i.id,i])),loading:!1})}).catch(()=>{if(!c)s(Zi)}),()=>{c=!0,a.abort()}},[e,t,n]),o}import{jsxDEV as Nt}from"h:6___________________________";var B9=4,W9=24,LH="\u2014",F9=["project"];function U9(e){return[{key:"name",label:"Name",width:"flex",render:(t,r,H)=>Nt("text",{fg:Y9(t,r,e),attributes:r?v:0,children:_(t.name,H)},void 0,!1,void 0,this)},{key:"lastTriggered",label:"Last Triggered",width:14,priority:2,render:(t,r,H)=>Nt("text",{fg:e.subText,children:_(t.lastTriggered,H)},void 0,!1,void 0,this)},{key:"actions",label:"Actions",width:18,priority:3,render:(t,r,H)=>Nt("text",{fg:t.enabled?e.text:e.subText,children:_(t.actions,H)},void 0,!1,void 0,this)},{key:"projects",label:"Projects",width:18,priority:4,render:(t,r,H)=>Nt("text",{fg:t.enabled?e.muted:e.subText,children:_(t.projects,H)},void 0,!1,void 0,this)},{key:"monitors",label:"Monitors",width:11,priority:1,render:(t,r,H)=>Nt("text",{fg:t.enabled?e.muted:e.subText,children:_(t.monitors,H)},void 0,!1,void 0,this)}]}function mk(e){let t=S(),{client:r,org:H,state:n,focused:o,width:s,height:a,reloadToken:c,onProjectSelect:l}=e,{dispatch:i,focusSearch:A,handleSearchBlur:u}=n,d=OS(n.sort),p=n.selectedProjects.length>0?n.selectedProjects:void 0,{workflows:g,nextCursor:m,page:O,nextPage:y,previousPage:L}=uk(r,{org:H,query:n.committedQuery,project:p,sortBy:d,reloadToken:c}),f=K(g),k=ne(g),I=g.state==="loading",h=Ze(g),b=dk(r,H,f),T=pk(()=>[...b.byId.values()].flatMap((w)=>w.projectId?[w.projectId]:[]),[b.byId]),P=aH(r,H,T),M=pk(()=>f?.map((w)=>$9(w,b.byId,b.loading,P)),[f,b,P]);zi(()=>{if(M)i({type:"setEntries",payload:M})},[M,i]);let G=X9(O);zi(()=>{if(G.current===O)return;G.current=O,i({type:"setSelected",payload:0})},[O,i]),zi(()=>{i({type:"setStatus",payload:{loading:I,since:h,error:k?.message,noun:"alerts"}})},[I,h,k,i]);let q=K9(()=>i({type:"setOpenDropdown",payload:null}),[i]);return De(e.registerActions,{nextPage:y,previousPage:L}),Nt("box",{style:{flexDirection:"column",width:s,height:a},children:[Nt(ht,{value:n.searchQuery,placeholder:"Search alerts by name\u2026",focused:n.searchFocused,width:s,onInput:(w)=>i({type:"setSearchQuery",payload:w}),onFocus:A,onBlur:u},void 0,!1,void 0,this),Nt("box",{style:{flexDirection:"row",width:s,height:1,flexShrink:0,overflow:"hidden",paddingLeft:1},children:[Nt("text",{fg:t.text,attributes:v,children:"Alerts"},void 0,!1,void 0,this),Nt("text",{fg:t.muted,children:" Automations that run when a monitor fires."},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Nt($e,{client:r,org:H,openDropdown:n.openDropdown,selectedProjects:n.selectedProjects,selectedEnvs:n.selectedEnvs,statsPeriod:n.statsPeriod,filters:F9,sort:{value:d,items:hi,onChange:(w)=>i({type:"setSort",payload:w})},width:s,anchorTop:he+1,onProjectChange:l,onEnvChange:()=>{},onPeriodChange:()=>{},onDropdownOpen:(w)=>i({type:"setOpenDropdown",payload:w}),onDropdownClose:q},void 0,!1,void 0,this),Nt(rt,{rows:M,columns:U9(t),width:s,minFlex:W9,selectedIndex:n.selected,focused:o,rowKey:(w)=>w.id,loading:_e(g),error:k,errorTitle:"Failed to load alerts",onRowClick:e.activateRow,empty:{title:"No alerts found.",lines:n.committedQuery?[`No alert name matches "${n.committedQuery}".`]:["Alerts are the automations that run when a monitor fires.","This organization may not have the new alerts and monitors enabled."]},layout:[a,B9]},void 0,!1,void 0,this),Nt(Qe,{count:M?.length,noun:"alert",hasMore:m!==null,pagination:m!==null||O>1?{page:O,hasPrevious:O>1,hasNext:m!==null,loading:I,onPrevious:L,onNext:y}:void 0},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function Y9(e,t,r){if(!e.enabled)return r.subText;return t?r.text:r.accent}function $9(e,t,r,H){let n=e.detectorIds??[];return{workflow:e,id:e.id,name:e.name||`Alert ${e.id}`,enabled:e.enabled!==!1,lastTriggered:e.lastTriggered?ke(e.lastTriggered):LH,actions:V9(e),projects:Z9(n,t,r,H),monitors:n.length===0?LH:J9(n.length)}}function V9(e){let t=Go(e);if(t.length===0)return LH;return t.map(vo).join(", ")}function Z9(e,t,r,H){if(e.length===0)return LH;let n=e.map((s)=>t.get(s)).filter(z9);if(n.length===0)return r?"\u2026":LH;if(n.some((s)=>s.projectId===null))return"All Projects";let o=[...new Set(n.map((s)=>s.projectId?H.get(s.projectId):void 0).filter((s)=>Boolean(s)))];if(o.length===0)return r?"\u2026":LH;return o.join(", ")}function z9(e){return e!==void 0}function J9(e){return`${e} ${e===1?"monitor":"monitors"}`}var gk={"issues.feed":Wt,"issues.inbox":Wt,"issues.errors-outages":Wt,"issues.breached-metrics":Wt,"issues.warnings":Wt,"issues.configuration":Wt,"issues.user-feedback":Wt,"issues.recently-run":Wt,"issues.all-views":Ff,"seer.ask":v_,"explore.profiles":F_,"explore.releases":ek,"explore.replays":ak,"explore.traces":UH,"explore.logs":UH,"explore.metrics":UH,"explore.errors":UH,"explore.conversations":my,"dashboards.all":Hi,"dashboards.sentry-built":Hi,"monitors.alerts":mk,"explore.all-queries":Vi,"explore.discover":Vi,"monitors.all":wr,"monitors.mine":wr,"monitors.error":wr,"monitors.metric":wr,"monitors.cron":wr,"monitors.uptime":wr,"monitors.mobile-build":wr};function on(e,t){if(!e)return;let r;switch(e.kind){case"issue":r=qo(e.issueId,e.eventId);break;case"dashboard":r=$y(e.dashboardId);break;case"replay":r=ik(e.replayId);break;case"monitor":r=zS(e.detectorId);break;case"issue_view":r=Uf(e.viewId);break;case"saved_query":r=PO(e);break}if(!r.stateKey||!t)return r;return{...r,initialState:{...r.initialState,...t}}}var r1=4,Ok=["nav","secondary","content"];function yk({client:e,org:t,reloadToken:r,width:H,initialScreen:n,initialLocation:o,initialViewLocations:s,initialScreenSnapshots:a,initialSelectedProjects:c=[],availableNavGroups:l,focus:i,canOpen:A}){let u=_r(o?.screen??n),[d]=t1(()=>{let oe=(s??[]).map((Ue)=>on(Ue.detail,Ue.state)).filter((Ue)=>Ue!==void 0);if(oe.length>0)return oe;let we=on(o?.detail,o?.state);return we?[we]:[]}),[p,g]=e1(QO,void 0,()=>CO(u.group,u.item,d)),{railGroup:m,activeGroup:O,activeItem:y,navExpanded:L,showSecondary:f,gotoMode:k,viewStack:I}=p,h=Nl(O,y),b=h?gk[h.id]:void 0,T=I.at(-1),P=T&&!T.stateKey?T:void 0,M=!P&&(b!==void 0||T!==void 0),G=[...I].reverse().find((oe)=>oe.stateKey),q=G?.stateKey??(h?Dr(h):void 0),w=G?.id??h?.id??q??"__unregistered__",x=d.at(-1),{active:N,resetOrgScoped:B,seed:R,snapshots:W}=Yg(q,w,c,x?.stateKey?x.initialState:o?.state,a),z=sn(()=>I.map((oe)=>oe.sentryLocation),[I]),He=MO(e,t,m,r),se=sn(()=>Sa(m,He),[m,He]),ae=nr((oe)=>{if(oe.stateKey&&oe.initialState)R(oe.stateKey,oe.initialState);g({type:"pushView",view:oe})},[R]),Ae=nr((oe,we)=>{g({type:"updateView",id:oe,update:we})},[]),de=nr(()=>g({type:"popView"}),[]),re=nr(()=>g({type:"clearViews"}),[]),Q=nr((oe,we)=>{g({type:"navigate",group:oe,item:we}),N.dispatch({type:"setDetailOpen",payload:!1}),i.focus("content")},[i,N.dispatch]),U=nr((oe,we)=>{let Ue=_r(oe);if(!l.some((ur)=>ur.id===Ue.group))return;if(we)R(Dr(Ue),we);Q(Ue.group,Ue.item)},[l,Q,R]),Y=nr((oe)=>{let we=xs(ft(oe));if(we!==void 0){Q(oe,we);return}let Ue=oe===O?y:ft(oe).sections[0]?.items[0]??"";g({type:"openGroup",group:oe,item:Ue}),i.focus("secondary")},[O,y,i,Q]),V=nr(()=>{g({type:"expandNav"}),i.focus("nav")},[i]),qe=nr((oe)=>{let we=Qg(m,oe);Q(we.group,we.item);let Ue=oe.open?.();if(Ue)ae(Ue)},[m,Q,ae]),Ee=sn(()=>k?Xg(m,l):null,[k,m,l]),ue=nr((oe)=>{let we=xs(ft(oe));if(we!==void 0){Q(oe,we);return}let Ue=oe===O?y:Sa(oe,He)[0]?.label??"";g({type:"previewGroup",group:oe,item:Ue})},[O,y,He,Q]),te=nr((oe)=>{N.dispatch({type:"setEntries",payload:(we)=>{let Ue=we;return Ue.some((ur)=>ur?.id===oe.id)?Ue.map((ur)=>ur?.id===oe.id?oe:ur):we}}),g({type:"replaceIssue",issue:oe})},[N.dispatch]),be=f||k,fe=be?Wn:0,mt=Math.max(20,H-(L?ga:Oa)-fe-2),fr=I.at(-2)?.label??y,Ar=sn(()=>{if(I.length===0)return;let oe=Wg([ft(O).label,y,...I.map((we)=>we.label)],Math.max(0,mt-r1-ta(fr,mt)));return oe?` ${oe} `:void 0},[I,O,y,mt,fr]),ln=sn(()=>{if(k)return[{command:"sentry.nav.back",label:"cancel"}];if(N.searchFocused)return[{command:"sentry.nav.open",label:"submit"},{command:"sentry.nav.back",label:"cancel"}];let oe=T?[{command:"sentry.nav.back",label:"back"}]:[],we=P?A?[{command:"sentry.nav.open",label:"open"}]:[]:[...A?[{command:"sentry.nav.open",label:N.detailOpen?"close":h?.openLabel??"open"}]:[],{command:"sentry.nav.search",label:"search"}];return[...oe,...we,{command:"sentry.nav.goto",label:"nav"},{command:"sentry.app.commandPalette",label:"commands"},{command:"sentry.app.help",label:"help"},...T?[]:[{command:"sentry.app.quit",label:"quit"}]]},[k,N.searchFocused,N.detailOpen,T,P,h,A]);return{...p,dispatch:g,showSecondaryPane:be,topView:T,detailView:P,listActive:M,screen:h,ScreenComponent:b,state:N,viewLocations:z,screenSnapshots:W,resetOrgScoped:B,seed:R,navExtras:He,secondaryItems:se,gotoHotkeys:Ee,contentWidth:mt,breadcrumb:Ar,backTarget:fr,statusHints:ln,navigateTo:Q,navigateToScreen:U,openNavGroup:Y,expandNav:V,selectNavItem:qe,previewNavGroup:ue,pushView:ae,popView:de,clearViews:re,updateView:Ae,replaceIssue:te}}import{useEffect as fk,useMemo as H1}from"h:0__";import{abandonNavigation as n1,beginNavigation as o1,breadcrumb as s1,endNavigation as a1,isTelemetryEnabled as i1}from"h:7___________________________________";var c1=250;function Sk(e,t,r){let H=`${ft(e).label} \u203A ${t}`,n=i1();H1(()=>{if(!n)return;o1(H),s1({category:"navigation",message:H})},[H,n]),fk(()=>n?()=>n1(H):void 0,[H,n]),fk(()=>{if(!n||r)return;let o=Date.now(),s=setTimeout(()=>a1(H,o),c1);return()=>clearTimeout(s)},[H,r,n])}import{useEffect as l1,useState as A1}from"h:0__";import{watchForUpdate as u1}from"h:9________________________________";function _k(){let[e,t]=A1(void 0);return l1(()=>u1(t),[]),e}import{useCallback as d1,useRef as p1,useState as m1}from"h:0__";function kk(e,t,{onOptimistic:r,onNotice:H}){let[n,o]=m1(()=>new Set),s=p1(new Map),a=d1((c,l)=>{let i=Ln(c);if(!i||!e)return;let A=i.update(l);if(!A){H({kind:"warning",text:Zl(c)});return}let u=l,d=Vl(l,A);r(d),s.current.get(l.id)?.abort();let p=new AbortController;s.current.set(l.id,p),o((m)=>new Set(m).add(l.id));let g=()=>o((m)=>{let O=new Set(m);return O.delete(l.id),O});(async()=>{try{let m=await jc(e,{org:t,issueId:l.id,update:A,signal:p.signal});if(p.signal.aborted)return;r({...d,...m}),H({kind:"success",text:`${i.pastTense} ${l.shortId}`})}catch(m){if(p.signal.aborted)return;r(u),H({kind:"error",text:`failed: ${m instanceof dr?m.message:String(m)}`})}finally{if(!p.signal.aborted)s.current.delete(l.id),g()}})()},[e,t,r,H]);return{pending:n,run:a}}var is={"sentry.view.filterProject":"project","sentry.view.filterEnv":"env","sentry.view.filterDate":"date"},g1=Object.entries(is);function O1({showOpenUrl:e,showPalette:t,showHelp:r,setShowHelp:H}){return(n)=>{if(e||t)return"focused";if(!r)return"notMine";if(j("sentry.nav.back",n)||j("sentry.app.help",n))H(!1);return"mine"}}function y1({state:e,showOrgPicker:t}){return(r)=>{if(!e.openDropdown&&!t&&!ia())return"notMine";if(e.openDropdown&&!ia()&&j("sentry.nav.back",r))return e.dispatch({type:"setOpenDropdown",payload:null}),"mine";return"focused"}}function f1({state:e,screenActions:t,setShowPalette:r}){return(H)=>{if(!j("sentry.app.commandPalette",H))return"notMine";if(e.searchFocused)e.cancelSearch();if(t.current?.inputFocused?.())t.current.blurInput?.();return r(!0),"mine"}}function S1({state:e,screenActions:t,setShowOpenUrl:r}){return(H)=>{if(!j("sentry.app.openUrl",H))return"notMine";if(e.searchFocused)e.cancelSearch();if(t.current?.inputFocused?.())t.current.blurInput?.();return r(!0),"mine"}}function _1({screenActions:e}){return(t)=>{let r=e.current;if(!r?.inputFocused?.())return"notMine";if(j("sentry.nav.back",t))return r.blurInput?.(),"mine";if(j("sentry.nav.open",t))return r.submitInput?.()?"mine":"focused";if(r.handleInputKey?.(t))return"mine";if(j("sentry.app.focusNext",t)||j("sentry.app.focusPrev",t))return r.blurInput?.(),"notMine";return"focused"}}function k1({state:e}){return(t)=>{if(!e.searchFocused)return"notMine";if(j("sentry.nav.back",t))return e.cancelSearch(),"mine";if(j("sentry.nav.open",t))return e.submitSearch(),"mine";return"focused"}}function h1({navigation:e,setShowOrgPicker:t}){return(r)=>{if(!e.gotoMode){if(!j("sentry.nav.goto",r))return"notMine";return e.dispatch({type:"openGoto"}),"mine"}if(j("sentry.nav.goto",r)||j("sentry.nav.back",r)||r.ctrl||r.meta||r.shift)return e.dispatch({type:"closeGoto"}),"mine";if(j("sentry.app.switchOrg",r))return e.dispatch({type:"closeGoto"}),t(!0),"mine";let H=e.gotoHotkeys?.byKey.get(r.name.toLowerCase());if(H?.kind==="group")return e.previewNavGroup(H.group),"mine";if(H?.kind==="item")return e.navigateTo(e.railGroup,H.item),"mine";return e.dispatch({type:"closeGoto"}),"mine"}}function L1({navigation:e}){return(t)=>{if(!e.topView||e.showSecondary)return"notMine";if(!j("sentry.nav.back",t))return"notMine";return e.popView(),"mine"}}function I1({navigation:e,focus:t,screenActions:r}){return(H)=>{if(e.topView)return"notMine";if(t.focusedRef.current!=="content")return"notMine";if(!j("sentry.nav.back",H))return"notMine";return r.current?.back?.()?"mine":"notMine"}}function b1({navigation:e,focus:t}){return(r)=>{if(!e.showSecondary||!j("sentry.nav.back",r))return"notMine";return e.dispatch({type:"closeSecondary"}),t.focus("nav"),"mine"}}function w1({navigation:e,state:t,focus:r,setShowHelp:H,setShowOrgPicker:n,refresh:o,runUpdate:s,openInBrowser:a,onQuit:c}){return(l)=>{if(e.listActive&&r.focusedRef.current==="content"){for(let[i,A]of g1){if(!j(i,l))continue;if(En(A))t.dispatch({type:"setOpenDropdown",payload:A});return"mine"}if(j("sentry.view.sort",l)&&Xm())return t.dispatch({type:"setOpenDropdown",payload:"sort"}),"mine"}if(j("sentry.app.help",l))return H(!0),"mine";if(j("sentry.app.refresh",l))return o(),"mine";if(j("sentry.app.switchOrg",l))return n(!0),"mine";if(j("sentry.app.update",l))return s(),"mine";if(j("sentry.app.openInBrowser",l))return a(),"mine";if(j("sentry.app.quit",l))return c(),"mine";if(j("sentry.app.focusNext",l)){if(!e.navExpanded)return r.focus("content"),"mine";let i=r.focusedRef.current;if(e.showSecondary)r.focus(i==="nav"?"secondary":"nav");else r.focus(i==="nav"?"content":"nav");return"mine"}if(j("sentry.app.focusPrev",l)){if(!e.navExpanded)return r.focus("content"),"mine";let i=r.focusedRef.current;if(e.showSecondary)r.focus(i==="secondary"?"nav":"secondary");else r.focus(i==="content"?"nav":"content");return"mine"}return"notMine"}}function T1({activeIssue:e,focus:t,triage:r}){return(H)=>{if(!e||t.focusedRef.current!=="content")return"notMine";for(let n of Fs){if(!j(n.commandId,H))continue;return r(n.commandId,e),"mine"}return"notMine"}}function x1({navigation:e,focus:t,availableNavGroups:r}){return(H)=>{if(t.focusedRef.current!=="nav")return"notMine";if(j("sentry.nav.open",H))return e.openNavGroup(e.railGroup),"mine";let n=r.findIndex((a)=>a.id===e.railGroup),o=j("sentry.nav.down",H)?1:j("sentry.nav.up",H)?-1:0;if(o===0)return"notMine";let s=r[(n+o+r.length)%r.length];return e.dispatch({type:"selectRailGroup",group:s.id}),"mine"}}function P1({navigation:e,focus:t}){return(r)=>{if(!e.showSecondary||t.focusedRef.current!=="secondary")return"notMine";let H=e.secondaryItems.findIndex((s)=>s.label===e.secondaryItem);if(j("sentry.nav.open",r)){let s=e.secondaryItems[H]??e.secondaryItems[0];if(s)e.selectNavItem(s);return"mine"}let n=j("sentry.nav.down",r)?1:j("sentry.nav.up",r)?-1:0;if(n===0)return"notMine";let o=Math.max(0,Math.min(H+n,e.secondaryItems.length-1));return e.dispatch({type:"selectSecondaryItem",item:e.secondaryItems[o]?.label??e.secondaryItem}),"mine"}}function q1({screenActions:e,focus:t}){return(r)=>{let H=e.current;if(!H||!t.isFocused("content"))return"notMine";if(H.openDetail&&j("sentry.nav.open",r))return H.openDetail(),"mine";return H.handleKey?.(r)?"mine":"notMine"}}function M1({navigation:e,state:t,focus:r}){return(H)=>{if(!e.listActive||r.focusedRef.current!=="content")return"notMine";if(!j("sentry.nav.search",H))return"notMine";return t.focusSearch(),"mine"}}function C1({navigation:e,state:t,screenActions:r,focus:H}){return(n)=>{if(!e.listActive||H.focusedRef.current!=="content")return"notMine";let o=Math.max(0,t.entries.length-1);if(j("sentry.nav.pageDown",n))return r.current?.nextPage?.()?"mine":"notMine";if(j("sentry.nav.pageUp",n))return r.current?.previousPage?.()?"mine":"notMine";if(j("sentry.nav.open",n)){let s=r.current?.open;if(!s)return"notMine";return s(t.selected),"mine"}if(j("sentry.nav.down",n))return t.dispatch({type:"setSelected",payload:(s)=>Math.min(s+1,o)}),"mine";if(j("sentry.nav.up",n))return t.dispatch({type:"setSelected",payload:(s)=>Math.max(s-1,0)}),"mine";if(j("sentry.nav.top",n))return t.dispatch({type:"setSelected",payload:0}),"mine";if(j("sentry.nav.bottom",n))return t.dispatch({type:"setSelected",payload:o}),"mine";return"notMine"}}function hk(e){return[O1(e),y1(e),f1(e),S1(e),_1(e),k1(e),h1(e),L1(e),I1(e),b1(e),w1(e),T1(e),x1(e),P1(e),q1(e),M1(e),C1(e)]}import{jsxDEV as pt}from"h:6___________________________";var Lk="issues.feed";function Ik({onQuit:e,client:t=null,org:r="",initialScreen:H=Lk,initialLocation:n,initialProjectsByOrg:o={},user:s,initialSeerCodeModeByOrg:a={},initialSeerBashModeByOrg:c={},initialSeerShowThinkingByOrg:l={},onApplyUpdate:i,onOpenUrl:A,initialSessionSnapshot:u,onSessionSnapshot:d}){let p=S(),{width:g,height:m}=N1(),[O]=dt(()=>Xl(u)),y=O?.snapshot,L=O?.location??n,[f,k]=dt(()=>Object.fromEntries(Object.entries({...o,...y?.projectsByOrg}).map(([E,ie])=>[E,[...ie]]))),I=Ji(f),[h,b]=dt(()=>({...a,...y?.seerCodeModeByOrg})),[T,P]=dt(()=>({...c,...y?.seerBashModeByOrg})),[M,G]=dt(()=>({...l,...y?.seerShowThinkingByOrg})),[q,w]=dt(L?.org??y?.org??r),[x,N]=dt(!1),[B,R]=dt(!1),[W,z]=dt(!1),[He,se]=dt(!1),[ae,Ae]=dt(),[de,re]=dt(),[Q,U]=dt(),[Y,V]=dt(s),qe=Q===void 0||Q.includes("seer-explorer"),Ee=cs(()=>Ut.filter((E)=>E.id!=="seer"||qe),[qe]),[ue,te]=dt(0),be=wt(()=>te((E)=>E+1),[]),[fe,Fe]=dt(!1),mt=Gg(Ok,"content"),fr=yk({client:t,org:q,reloadToken:ue,width:g,initialScreen:H,initialLocation:L,initialViewLocations:O?.viewStack,initialScreenSnapshots:y?.navigation.screens,initialSelectedProjects:f[q]??[],availableNavGroups:Ee,focus:mt,canOpen:fe}),{activeGroup:Ar,activeItem:ln,backTarget:oe,breadcrumb:we,clearViews:Ue,contentWidth:ur,detailView:ls,expandNav:wk,gotoHotkeys:ec,gotoMode:tc,listActive:rc,navigateTo:An,navigateToScreen:As,navExpanded:Tk,navExtras:xk,openNavGroup:Pk,pushView:us,railGroup:Hc,replaceIssue:qk,resetOrgScoped:nc,screen:Sr,ScreenComponent:oc,secondaryItem:Mk,seed:ds,selectNavItem:Ck,showSecondaryPane:Qk,state:Ke,statusHints:Nk,topView:or,updateView:jk,viewLocations:ps,screenSnapshots:sc}=fr;an(()=>{if(re(void 0),U(void 0),!t||!q)return;let E=new AbortController;return Dc(t,{org:q,signal:E.signal}).then((ie)=>{if(ie.avatar?.avatarUrl)re(ie.avatar.avatarUrl);if(Array.isArray(ie.features))U(ie.features)}).catch(()=>{}),()=>E.abort()},[t,q]),an(()=>{if(s?.email||!t){V(s);return}if(Ar!=="seer")return;let E=new AbortController;return Rc(t,E.signal).then(V).catch(()=>{}),()=>E.abort()},[Ar,t,s]);let Dk=wt((E)=>{b((ie)=>{let st={...ie,[q]:E};return cn({seerCodeModeByOrg:st}).catch(()=>{}),st})},[q]),Rk=wt((E)=>{P((ie)=>{let st={...ie,[q]:E};return cn({seerBashModeByOrg:st}).catch(()=>{}),st})},[q]),vk=wt((E)=>{G((ie)=>{let st={...ie,[q]:E};return cn({seerShowThinkingByOrg:st}).catch(()=>{}),st})},[q]),Gk=wt((E)=>{Ke.dispatch({type:"setSelectedProjects",payload:E});let ie={...I.current,[q]:[...E]};I.current=ie,k(ie),cn({projectsByOrg:ie}).catch(()=>{})},[q,Ke.dispatch]);Sk(Ar,ln,Ke.status.loading);let xr=q_(t,q,{features:Q,isEmployee:Y?.email?.toLowerCase().endsWith("@sentry.io")===!0,userId:Y?.id,pageName:Sr?.id,codeMode:h[q]??"only",bashMode:T[q]??!1,showThinking:M[q]??!1,initialRunId:y?.seerRunId,onCodeModeChange:Dk,onBashModeChange:Rk,onShowThinkingChange:vk}),Pr=cs(()=>{let E=or?.sentryLocation??(Sr?{screen:Sr.id}:void 0);if(!E)return;let st=!or&&Sr?.kind!=="chat"||Boolean(or?.stateKey)?{...E.state,query:Ke.committedQuery,sort:Ke.sort,statsPeriod:Ke.statsPeriod,selectedProjects:[...Ke.selectedProjects],selectedEnvs:[...Ke.selectedEnvs]}:E.state;return{org:q,...E,state:st,...E.screen==="seer.ask"&&xr.runId!==null?{seerRunId:xr.runId}:{}}},[q,Sr,xr.runId,Ke,or]),ms=cs(()=>{if(!d||!q||!Pr)return;let E=ps.length-1;return Kl({org:q,navigation:{location:hn(Pr),viewStack:ps.map((ie,st)=>hn(st===E?Pr:{org:q,...ie})),screens:{...sc}},projectsByOrg:Object.fromEntries(Object.entries(f).map(([ie,st])=>[ie,[...st]])),seerCodeModeByOrg:{...h},seerBashModeByOrg:{...T},seerShowThinkingByOrg:{...M},...xr.runId===null?{}:{seerRunId:xr.runId}})},[Pr,d,q,f,sc,T,xr.runId,h,M,ps]);an(()=>{if(ms)d?.(ms)},[d,ms]);let gs=wt(()=>{if(!Pr)return;let E=hn(Pr);if(!A){Ae(E);return}Promise.resolve(A(E)).then((ie)=>{if(!ie)Ae(E)}).catch(()=>Ae(E))},[Pr,A]),Os=Ji(null),Ek=wt((E)=>{Os.current=E,Fe(Boolean(E?.open||E?.openDetail))},[]),[Kk,ac]=dt(null),ys=Ji(void 0),qr=wt((E)=>{ac(E),clearTimeout(ys.current),ys.current=setTimeout(()=>ac(null),4000)},[]);an(()=>()=>clearTimeout(ys.current),[]);let fs=wt((E)=>{if(se(!1),!E||E===q)return;w(E),Ue(),nc(I.current[E]??[]),qr({kind:"info",text:`switched to ${E}`}),D1({org:E}),j1({category:"navigation",message:`switched org to ${E}`}),R1("info","ui.org.switched",{org:E}),cn({org:E}).catch(()=>{})},[Ue,q,nc,qr]),un=kk(t,q,{onOptimistic:qk,onNotice:qr}),Zr=or?.issue??(Ar==="issues"?zt(Ke)[Ke.selected]:void 0);an(()=>{if(Ar==="seer"&&!qe)As(Lk)},[Ar,As,qe]);let ic=wt((E)=>{let ie=_r(E.screen);if(E.org!==q)fs(E.org);An(ie.group,ie.item);let st=on(E.detail,E.state);if(st){if(!st.stateKey&&E.state)ds(Dr(ie),E.state);us(st)}else if(E.state)ds(Dr(ie),E.state)},[An,q,us,ds,fs]),Xk=wt((E)=>{let ie=kn(E);if(ie.kind!=="location")return vl(ie,"command_palette"),ie;ic(ie.location),z(!1);return},[ic]),dn=_k(),Ss=Boolean(dn&&i),pn=wt(()=>{if(!dn||!i){qr({kind:"idle",text:"already up to date"});return}Promise.resolve(i(dn)).then((E)=>{if(!E)qr({kind:"error",text:"update could not be applied"})})},[dn,i,qr]),Bk=cs(()=>Zc({streamView:rc,hasIssue:Boolean(Zr),updateReady:Ss},Ee),[rc,Zr,Ss,Ee]),Wk=wt((E)=>{if(R(!1),E.target.kind==="nav"){An(E.target.group,E.target.item);return}let{commandId:ie}=E.target;switch(ie){case"sentry.app.quit":e();return;case"sentry.app.help":N(!0);return;case"sentry.app.refresh":be();return;case"sentry.app.switchOrg":se(!0);return;case"sentry.app.openUrl":z(!0);return;case"sentry.app.openInBrowser":gs();return;case"sentry.app.update":pn();return;case"sentry.nav.search":mt.focus("content"),Ke.focusSearch();return;case"sentry.view.filterProject":case"sentry.view.filterEnv":case"sentry.view.filterDate":{if(!En(is[ie]))return;mt.focus("content"),Ke.dispatch({type:"setOpenDropdown",payload:is[ie]});return}default:if(Ln(ie)&&Zr)un.run(ie,Zr)}},[Zr,mt,An,e,gs,be,pn,Ke,un]),Fk=wt((E)=>{let ie=mt.focusedRef.current==="content"&&E===Ke.selected;if(Ke.dispatch({type:"setSelected",payload:E}),fr.dispatch({type:"closeSecondary"}),mt.focus("content"),ie)Os.current?.open?.(E)},[mt,fr,Ke]),Uk=hk({showOpenUrl:W||Boolean(ae),showPalette:B,showHelp:x,showOrgPicker:He,setShowOpenUrl:z,setShowPalette:R,setShowHelp:N,setShowOrgPicker:se,navigation:fr,state:Ke,screenActions:Os,focus:mt,availableNavGroups:Ee,activeIssue:Zr,triage:un.run,refresh:be,runUpdate:pn,openInBrowser:gs,onQuit:e});Q1((E)=>{Rt(Uk,E,ct)});let Yk=Math.max(3,m-3),cc=mt.isFocused("content")&&!He,lc={client:t,org:q,focused:cc,width:ur,height:Yk,reloadToken:ue,onProjectSelect:Gk,pendingIds:un.pending,pushView:us,notify:qr,activateRow:Fk,registerActions:Ek,updateView:jk,navigateToScreen:As};return pt("box",{style:{width:"100%",height:"100%",flexDirection:"column",backgroundColor:p.bg},children:[pt("box",{style:{flexGrow:1,flexDirection:"row"},children:[pt(Mg,{active:Hc,expanded:Tk,focused:mt.isFocused("nav"),avatarUrl:de,orgSlug:q,groups:Ee,hotkeys:ec?.groups,onSelect:Pk,onExpand:wk,onOrgPress:()=>se(!0)},void 0,!1,void 0,this),Qk?pt(jg,{group:Hc,activeItem:Mk,focused:mt.isFocused("secondary"),extras:xk,hotkeys:ec?.items,onSelect:Ck},void 0,!1,void 0,this):null,pt("box",{title:we,titleColor:p.accent,style:{flexGrow:1,flexDirection:"column",overflow:"hidden",border:!0,borderColor:cc&&!Ke.searchFocused?p.borderFocused:p.border},children:pt(Jo.Provider,{value:xr,children:or?or.render({...lc,state:or.stateKey?Ke:void 0,issue:or.issue}):oc&&Sr?pt(oc,{...lc,screen:Sr,state:Ke},Sr.id,!1,void 0,this):pt("box",{style:{flexDirection:"column",paddingLeft:1},children:[pt("text",{fg:p.text,attributes:1,children:`${ft(Ar).label} \u203A ${ln}`},void 0,!1,void 0,this),pt("text",{fg:p.muted,children:"Not implemented yet."},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this),or?pt(IA,{parent:oe,top:0,right:g-1,paneWidth:ur},void 0,!1,void 0,this):null]},void 0,!0,void 0,this),pt(Rg,{notice:tc?{kind:"info",text:"go to\u2026"}:Kk??(ls?{kind:"idle",text:ls.label??""}:v1(Ke.status)),since:ls||tc?void 0:Ke.status.since,hints:Nk,onUpdate:Ss?pn:void 0},void 0,!1,void 0,this),x?pt($m,{onClose:()=>N(!1)},void 0,!1,void 0,this):null,B?pt(_A,{actions:Bk,onRun:Wk,onClose:()=>R(!1)},void 0,!1,void 0,this):null,W?pt(Zm,{onSubmit:Xk,onClose:()=>z(!1)},void 0,!1,void 0,this):null,He?pt(Cg,{client:t,currentOrg:q,anchorLeft:Pg,anchorTop:qg,onSelect:fs,onClose:()=>se(!1)},void 0,!1,void 0,this):null,ae?pt(vg,{url:ae,onClose:()=>Ae(void 0)},void 0,!1,void 0,this):null]},void 0,!0,void 0,this)}function v1(e){if(e.error)return{kind:"error",text:e.error};if(e.loading)return{kind:"loading",text:e.noun?`loading ${e.noun}\u2026`:"loading\u2026"};return{kind:"idle",text:""}}import{jsxDEV as bk}from"h:6___________________________";var jHe={version:_s,hostApiVersion:Ac};function DHe({theme:e,...t}){return bk($l,{...e,children:bk(Ik,{...t},void 0,!1,void 0,this)},void 0,!1,void 0,this)}export{DHe as PayloadApp,jHe as payload};
|
|
18
|
+
See the [Mobile Vitals docs](https://docs.sentry.io/product/insights/mobile/mobile-vitals/) for more information.`,displayType:"text",queries:[],interval:"1h",layout:{h:2,x:4,y:0,w:2,minH:2}},{id:"app-start-table",title:"App Starts",description:"",displayType:"table",widgetType:"spans",queries:[{name:"",conditions:"((is_transaction:true transaction.op:[ui.load,navigation] has:app.vitals.start.cold.value OR span.op:app.start.cold has:app.vitals.start.cold.value) OR (is_transaction:true transaction.op:[ui.load,navigation] has:app.vitals.start.warm.value OR span.op:app.start.warm has:app.vitals.start.warm.value)) has:transaction",columns:["transaction"],aggregates:["avg(app.vitals.start.cold.value)","avg(app.vitals.start.warm.value)","count_unique(transaction.span_id)"],orderby:"-count_unique(transaction.span_id)",fields:["transaction","avg(app.vitals.start.cold.value)","avg(app.vitals.start.warm.value)","count_unique(transaction.span_id)"],fieldAliases:["Screen","Avg Cold Start","Avg Warm Start","Screen Loads"]}],interval:"1h",layout:{h:3,x:0,y:2,w:6,minH:2}},{id:"screen-load-table",title:"Screen Loads",description:"",displayType:"table",widgetType:"spans",queries:[{name:"",conditions:"((is_transaction:true transaction.op:[ui.load,navigation] has:app.vitals.ttid.value OR span.op:ui.load.initial_display has:app.vitals.ttid.value) OR (is_transaction:true transaction.op:[ui.load,navigation] has:app.vitals.ttfd.value OR span.op:ui.load.full_display has:app.vitals.ttfd.value)) has:transaction",columns:["transaction"],aggregates:["avg(app.vitals.ttid.value)","avg(app.vitals.ttfd.value)","count_unique(transaction.span_id)"],orderby:"-count_unique(transaction.span_id)",fields:["transaction","avg(app.vitals.ttid.value)","avg(app.vitals.ttfd.value)","count_unique(transaction.span_id)"],fieldAliases:["Screen","Avg TTID","Avg TTFD","Screen Loads"]}],interval:"1h",layout:{h:3,x:0,y:5,w:6,minH:2}},{id:"screen-rendering-table",title:"Screen Rendering",description:"Frame rates are weighted across screen load transactions using total frame counts.",displayType:"table",widgetType:"spans",queries:[{name:"",conditions:"is_transaction:true transaction.op:[ui.load,navigation] has:app.vitals.frames.total.count has:transaction",columns:["transaction"],aggregates:["equation|sum(app.vitals.frames.slow.count)/sum(app.vitals.frames.total.count)","equation|sum(app.vitals.frames.frozen.count)/sum(app.vitals.frames.total.count)","count_unique(transaction.span_id)"],orderby:"-count_unique(transaction.span_id)",fields:["transaction","equation|sum(app.vitals.frames.slow.count)/sum(app.vitals.frames.total.count)","equation|sum(app.vitals.frames.frozen.count)/sum(app.vitals.frames.total.count)","count_unique(transaction.span_id)"],fieldAliases:["Transaction","Slow Frame %","Frozen Frame %","Screen Loads"]}],interval:"1h",layout:{h:3,x:0,y:8,w:6,minH:2}}]},"9":{title:"Mobile Vitals App Starts",description:"",widgets:[{id:"avg-cold-starts-big-number",title:"Average Cold Start",description:"",displayType:"big_number",widgetType:"spans",queries:[{name:"",conditions:"(is_transaction:true transaction.op:[ui.load,navigation,app.start] has:app.vitals.start.cold.value OR span.op:app.start.cold has:app.vitals.start.cold.value)",columns:[],aggregates:["avg(app.vitals.start.cold.value)"],orderby:"",fields:["avg(app.vitals.start.cold.value)"]}],interval:"1h",layout:{h:1,x:0,y:0,w:1,minH:1}},{id:"avg-warm-starts-big-number",title:"Average Warm Start",description:"",displayType:"big_number",widgetType:"spans",queries:[{name:"",conditions:"(is_transaction:true transaction.op:[ui.load,navigation,app.start] has:app.vitals.start.warm.value OR span.op:app.start.warm has:app.vitals.start.warm.value)",columns:[],aggregates:["avg(app.vitals.start.warm.value)"],orderby:"",fields:["avg(app.vitals.start.warm.value)"]}],interval:"1h",layout:{h:1,x:3,y:0,w:1,minH:1}},{id:"total-cold-start-count-big-number",title:"Cold Start Count",description:"",displayType:"big_number",widgetType:"spans",queries:[{name:"",conditions:"(is_transaction:true transaction.op:[ui.load,navigation,app.start] has:app.vitals.start.cold.value OR span.op:app.start.cold has:app.vitals.start.cold.value)",columns:[],aggregates:["count_unique(transaction.span_id)"],orderby:"",fields:["count_unique(transaction.span_id)"]}],interval:"1h",layout:{h:1,x:1,y:0,w:1,minH:1}},{id:"total-warm-start-count-big-number",title:"Warm Start Count",description:"",displayType:"big_number",widgetType:"spans",queries:[{name:"",conditions:"(is_transaction:true transaction.op:[ui.load,navigation,app.start] has:app.vitals.start.warm.value OR span.op:app.start.warm has:app.vitals.start.warm.value)",columns:[],aggregates:["count_unique(transaction.span_id)"],orderby:"",fields:["count_unique(transaction.span_id)"]}],interval:"1h",layout:{h:1,x:4,y:0,w:1,minH:1}},{id:"avg-cold-start-line",title:"Average Cold Start",description:"",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:"(is_transaction:true transaction.op:[ui.load,navigation,app.start] has:app.vitals.start.cold.value OR span.op:app.start.cold has:app.vitals.start.cold.value)",columns:[],aggregates:["avg(app.vitals.start.cold.value)"],orderby:"-avg(app.vitals.start.cold.value)",fields:["avg(app.vitals.start.cold.value)"],fieldAliases:[]}],interval:"1h",layout:{h:2,x:0,y:1,w:3,minH:2}},{id:"avg-warm-start-line",title:"Average Warm Start",description:"",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:"(is_transaction:true transaction.op:[ui.load,navigation,app.start] has:app.vitals.start.warm.value OR span.op:app.start.warm has:app.vitals.start.warm.value)",columns:[],aggregates:["avg(app.vitals.start.warm.value)"],orderby:"-avg(app.vitals.start.warm.value)",fields:["avg(app.vitals.start.warm.value)"],fieldAliases:[]}],interval:"1h",layout:{h:2,x:3,y:1,w:3,minH:2}},{id:"cold-start-device-distribution-bar",title:"Cold Start Device Distribution",description:"",displayType:"categorical_bar",widgetType:"spans",queries:[{name:"",conditions:"(is_transaction:true transaction.op:[ui.load,navigation,app.start] has:app.vitals.start.cold.value OR span.op:app.start.cold has:app.vitals.start.cold.value)",columns:["device.class"],aggregates:["avg(app.vitals.start.cold.value)"],orderby:"device.class",fields:["device.class","avg(app.vitals.start.cold.value)"]}],interval:"1h",layout:{h:2,x:0,y:3,w:3,minH:2}},{id:"warm-start-device-distribution-bar",title:"Warm Start Device Distribution",description:"",displayType:"categorical_bar",widgetType:"spans",queries:[{name:"",conditions:"(is_transaction:true transaction.op:[ui.load,navigation,app.start] has:app.vitals.start.warm.value OR span.op:app.start.warm has:app.vitals.start.warm.value)",columns:["device.class"],aggregates:["avg(app.vitals.start.warm.value)"],orderby:"device.class",fields:["device.class","avg(app.vitals.start.warm.value)"]}],interval:"1h",layout:{h:2,x:3,y:3,w:3,minH:2}},{id:"cold-operations-table",title:"Cold Start Operations",description:"",displayType:"table",widgetType:"spans",queries:[{name:"",conditions:'(!span.description:"Cold Start" !span.description:"Warm Start" !span.description:"Cold App Start" !span.description:"Warm App Start" !span.description:"Initial Frame Render" has:span.description transaction.op:[ui.load,navigation] has:ttid app_start_type:cold span.op:[app.start.cold,app.start.warm,contentprovider.load,application.load,activity.load,ui.load,process.load] OR !is_transaction:true ((has:span.description !span.description:"Cold Start" !span.description:"Warm Start" !span.description:"Cold App Start" !span.description:"Warm App Start" !span.description:"Initial Frame Render") OR (has:span.name !span.name:"Cold Start" !span.name:"Warm Start" !span.name:"Cold App Start" !span.name:"Warm App Start" !span.name:"Initial Frame Render")) app.vitals.start.type:cold span.op:[app.start.cold,app.start.warm,contentprovider.load,application.load,activity.load,ui.load,process.load])',columns:["span.op","span.name","span.description"],aggregates:["avg(span.self_time)"],orderby:"-avg(span.self_time)",fields:["span.op","span.name","span.description","avg(span.self_time)"],fieldAliases:["Operation","Span Name","Span Description","Avg"]}],interval:"1h",layout:{h:6,x:0,y:5,w:3,minH:2}},{id:"warm-operations-table",title:"Warm Start Operations",description:"",displayType:"table",widgetType:"spans",queries:[{name:"",conditions:'(!span.description:"Cold Start" !span.description:"Warm Start" !span.description:"Cold App Start" !span.description:"Warm App Start" !span.description:"Initial Frame Render" has:span.description transaction.op:[ui.load,navigation] has:ttid app_start_type:warm span.op:[app.start.cold,app.start.warm,contentprovider.load,application.load,activity.load,ui.load,process.load] OR !is_transaction:true ((has:span.description !span.description:"Cold Start" !span.description:"Warm Start" !span.description:"Cold App Start" !span.description:"Warm App Start" !span.description:"Initial Frame Render") OR (has:span.name !span.name:"Cold Start" !span.name:"Warm Start" !span.name:"Cold App Start" !span.name:"Warm App Start" !span.name:"Initial Frame Render")) app.vitals.start.type:warm span.op:[app.start.cold,app.start.warm,contentprovider.load,application.load,activity.load,ui.load,process.load])',columns:["span.op","span.name","span.description"],aggregates:["avg(span.self_time)"],orderby:"-avg(span.self_time)",fields:["span.op","span.name","span.description","avg(span.self_time)"],fieldAliases:["Operation","Span Name","Span Description","Avg"]}],interval:"1h",layout:{h:6,x:3,y:5,w:3,minH:2}}]},"10":{title:"Mobile Vitals Screen Loads",description:"",widgets:[{id:"avg-ttid-big-number",title:"Average TTID",description:"",displayType:"big_number",widgetType:"spans",queries:[{name:"",conditions:"(is_transaction:true transaction.op:[ui.load,navigation] has:app.vitals.ttid.value OR span.op:ui.load.initial_display has:app.vitals.ttid.value)",columns:[],aggregates:["avg(app.vitals.ttid.value)"],orderby:"",fields:["avg(app.vitals.ttid.value)"]}],interval:"1h",layout:{h:1,x:0,y:0,w:2,minH:1}},{id:"avg-ttfd-big-number",title:"Average TTFD",description:"",displayType:"big_number",widgetType:"spans",queries:[{name:"",conditions:"(is_transaction:true transaction.op:[ui.load,navigation] has:app.vitals.ttfd.value OR span.op:ui.load.full_display has:app.vitals.ttfd.value)",columns:[],aggregates:["avg(app.vitals.ttfd.value)"],orderby:"",fields:["avg(app.vitals.ttfd.value)"]}],interval:"1h",layout:{h:1,x:2,y:0,w:2,minH:1}},{id:"total-count-big-number",title:"Total Count",description:"",displayType:"big_number",widgetType:"spans",queries:[{name:"",conditions:"((is_transaction:true transaction.op:[ui.load,navigation] has:app.vitals.ttid.value OR span.op:ui.load.initial_display has:app.vitals.ttid.value) OR (is_transaction:true transaction.op:[ui.load,navigation] has:app.vitals.ttfd.value OR span.op:ui.load.full_display has:app.vitals.ttfd.value))",columns:[],aggregates:["count_unique(transaction.span_id)"],orderby:"",fields:["count_unique(transaction.span_id)"]}],interval:"1h",layout:{h:1,x:4,y:0,w:2,minH:1}},{id:"average-ttid-line",title:"Average TTID",description:"",displayType:"line",widgetType:"spans",queries:[{name:"TTID",conditions:"(is_transaction:true transaction.op:[ui.load,navigation] has:app.vitals.ttid.value OR span.op:ui.load.initial_display has:app.vitals.ttid.value)",columns:[],aggregates:["avg(app.vitals.ttid.value)"],orderby:"avg(app.vitals.ttid.value)",fields:["avg(app.vitals.ttid.value)"],fieldAliases:[]}],interval:"1h",layout:{h:2,x:0,y:1,w:2,minH:2}},{id:"average-ttfd-line",title:"Average TTFD",description:"",displayType:"line",widgetType:"spans",queries:[{name:"TTFD",conditions:"(is_transaction:true transaction.op:[ui.load,navigation] has:app.vitals.ttfd.value OR span.op:ui.load.full_display has:app.vitals.ttfd.value)",columns:[],aggregates:["avg(app.vitals.ttfd.value)"],orderby:"avg(app.vitals.ttfd.value)",fields:["avg(app.vitals.ttfd.value)"],fieldAliases:[]}],interval:"1h",layout:{h:2,x:2,y:1,w:2,minH:2}},{id:"total-count-line",title:"Total Count",description:"",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:"((is_transaction:true transaction.op:[ui.load,navigation] has:app.vitals.ttid.value OR span.op:ui.load.initial_display has:app.vitals.ttid.value) OR (is_transaction:true transaction.op:[ui.load,navigation] has:app.vitals.ttfd.value OR span.op:ui.load.full_display has:app.vitals.ttfd.value))",columns:[],aggregates:["count_unique(transaction.span_id)"],orderby:"count_unique(transaction.span_id)",fields:["count_unique(transaction.span_id)"],fieldAliases:[]}],interval:"1h",layout:{h:2,x:4,y:1,w:2,minH:2}},{id:"ttid-device-class-bar",title:"TTID by Device Class",description:"",displayType:"categorical_bar",widgetType:"spans",queries:[{name:"",conditions:"(is_transaction:true transaction.op:[ui.load,navigation] has:app.vitals.ttid.value OR span.op:ui.load.initial_display has:app.vitals.ttid.value)",columns:["device.class"],aggregates:["avg(app.vitals.ttid.value)"],orderby:"device.class",fields:["device.class","avg(app.vitals.ttid.value)"],fieldAliases:["Device Class","AVG TTID"]}],interval:"1h",layout:{h:2,x:0,y:3,w:2,minH:2}},{id:"ttfd-device-class-bar",title:"TTFD by Device Class",description:"",displayType:"categorical_bar",widgetType:"spans",queries:[{name:"",conditions:"(is_transaction:true transaction.op:[ui.load,navigation] has:app.vitals.ttfd.value OR span.op:ui.load.full_display has:app.vitals.ttfd.value)",columns:["device.class"],aggregates:["avg(app.vitals.ttfd.value)"],orderby:"device.class",fields:["device.class","avg(app.vitals.ttfd.value)"],fieldAliases:["Device Class","AVG TTFD"]}],interval:"1h",layout:{h:2,x:2,y:3,w:2,minH:2}},{id:"span-operations-table",title:"Span Operations",description:"",displayType:"table",widgetType:"spans",queries:[{name:"",conditions:"transaction.op:[ui.load,navigation] (has:span.description OR has:span.name) span.op:[file.read,file.write,ui.load,navigation,http.client,db,db.sql.room,db.sql.query,db.sql.transaction]",columns:["span.op","span.name","span.description"],aggregates:["equation|ttid_contribution_rate()","equation|ttfd_contribution_rate()","avg(span.self_time)","sum(span.self_time)"],orderby:"-sum(span.self_time)",fields:["span.op","span.name","span.description","equation|ttid_contribution_rate()","equation|ttfd_contribution_rate()","avg(span.self_time)","sum(span.self_time)"],fieldAliases:["Operation","Span Name","Span Description","TTID Contribution Rate","TTFD Contribution Rate","Avg Self Time","Total Time Spent"]}],interval:"1h",layout:{h:4,x:0,y:5,w:6,minH:2}}]},"11":{title:"Mobile Vitals Screen Rendering",description:"",widgets:[{id:"span-operations-table",title:"Span Operations",description:"",displayType:"table",widgetType:"spans",queries:[{name:"",conditions:"!is_transaction:true has:app.vitals.frames.total.count has:span.op",columns:["span.op","span.name","span.description"],aggregates:["equation|sum(app.vitals.frames.slow.count)/sum(app.vitals.frames.total.count)","equation|sum(app.vitals.frames.frozen.count)/sum(app.vitals.frames.total.count)","avg(app.vitals.frames.delay.value)"],orderby:"-avg(app.vitals.frames.delay.value)",fields:["span.op","span.name","span.description","equation|sum(app.vitals.frames.slow.count)/sum(app.vitals.frames.total.count)","equation|sum(app.vitals.frames.frozen.count)/sum(app.vitals.frames.total.count)","avg(app.vitals.frames.delay.value)"],fieldAliases:["Operation","Span Name","Span Description","Slow Frame %","Frozen Frame %","Delay"]}],interval:"1h",layout:{h:7,x:0,y:0,w:6,minH:2}}]},"12":{title:"Backend Overview",description:"Monitor backend services and dependencies, including caches and queues.",widgets:[{id:"requests-widget",title:"Requests",description:"",displayType:"line",widgetType:"spans",queries:[{name:"Requests",conditions:"span.op:http.server",columns:[],aggregates:["count(span.duration)","equation|(count_if(trace.status,equals,internal_error) + count_if(trace.status,equals,error)) / count(span.duration)"],orderby:"count(span.duration)",fields:["count(span.duration)","equation|(count_if(trace.status,equals,internal_error) + count_if(trace.status,equals,error)) / count(span.duration)"],fieldAliases:[]}],interval:"1h",limit:5,layout:{x:0,y:0,w:2,h:2,minH:2}},{id:"api-latency-widget",title:"API Latency",description:"",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:"span.op:http.server",columns:[],aggregates:["avg(span.duration)","p95(span.duration)"],orderby:"avg(span.duration)",fields:["avg(span.duration)","p95(span.duration)"],fieldAliases:[]}],interval:"1h",layout:{x:2,y:0,w:2,h:2,minH:2}},{id:"issue-counts",title:"Issue Counts",displayType:"bar",widgetType:"issue",queries:[{name:"",conditions:"",columns:[],aggregates:["count(new_issues)","count(resolved_issues)"],orderby:"",fields:["count(new_issues)","count(resolved_issues)"]}],interval:"5m",layout:{x:4,y:0,w:2,h:2,minH:2}},{id:"jobs-chart",title:"Jobs",description:"",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:"span.op:queue.process",columns:[],aggregates:["count(span.duration)","equation|(count_if(trace.status,equals,internal_error) + count_if(trace.status,equals,error)) / count(span.duration)"],orderby:"count(span.duration)",fields:["count(span.duration)","equation|(count_if(trace.status,equals,internal_error) + count_if(trace.status,equals,error)) / count(span.duration)"],fieldAliases:[]}],interval:"1h",limit:3,layout:{x:0,y:2,w:2,h:3,minH:3}},{id:"queries-by-time-spent-chart",title:"Queries by Time Spent",description:"",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:"span.category:db has:sentry.normalized_description",columns:["sentry.normalized_description"],aggregates:["p75(span.duration)"],orderby:"-sum(span.duration)",fields:["sentry.normalized_description","p75(span.duration)"],fieldAliases:[""]}],interval:"5m",limit:3,layout:{x:2,y:2,w:2,h:3,minH:3}},{id:"cache-miss-rates-chart",title:"Cache Miss Rates",description:"",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:"span.op:[cache.get,cache.get_item]",columns:["transaction"],aggregates:["equation|count_if(cache.hit,equals,false) / count(span.duration)"],orderby:"-equation|count_if(cache.hit,equals,false) / count(span.duration)",fields:["equation|count_if(cache.hit,equals,false) / count(span.duration)"],fieldAliases:[""]}],interval:"1h",limit:3,layout:{x:4,y:2,w:2,h:3,minH:3}},{id:"backend-overview-transactions-table",title:"Transactions",description:"",displayType:"table",widgetType:"spans",queries:[{name:"",conditions:"( ( !span.op:pageload !span.op:navigation !span.op:ui.render !span.op:interaction !span.op:ui.action.swipe !span.op:ui.action.scroll !span.op:ui.action.click !span.op:ui.action !span.op:ui.load !span.op:app.lifecycle !span.op:ui.interaction !span.op:ui.interaction.click !span.op:ui.interaction.hover !span.op:ui.interaction.drag !span.op:ui.interaction.press !span.op:ui.webvital.cls !span.op:ui.webvital.lcp !span.op:ui.webvital.fcp ) OR ( span.op:http.server ) ) is_transaction:true",columns:["is_starred_transaction","request.method","transaction","span.op","project"],aggregates:["epm()","p50(span.duration)","p95(span.duration)","equation|failure_count() / count(span.duration)","count_unique(user)","sum(span.duration)"],orderby:"-sum(span.duration)",fields:["is_starred_transaction","request.method","transaction","span.op","project","epm()","p50(span.duration)","p95(span.duration)","equation|failure_count() / count(span.duration)","count_unique(user)","sum(span.duration)"],fieldAliases:["","HTTP Method","Transaction","Operation","Project","TPM","P50","P95","Failure rate","Users","Time Spent"]}],interval:"5m",layout:{x:0,w:6,h:6,minH:2,y:7}}]},"13":{title:"Mobile Session Health",description:"Monitor mobile session health by user and session.",widgets:[{id:"crash-free-sessions",title:"Crash Free Sessions",displayType:"big_number",widgetType:"metrics",queries:[{name:"",conditions:"",columns:[],aggregates:["crash_free_rate(session)"],orderby:"",fields:["crash_free_rate(session)"]}],interval:"5m",layout:{x:0,y:0,w:2,h:1,minH:1}},{id:"crash-free-users",title:"Crash Free Users",displayType:"big_number",widgetType:"metrics",queries:[{name:"",conditions:"",columns:[],aggregates:["crash_free_rate(user)"],orderby:"",fields:["crash_free_rate(user)"]}],interval:"5m",layout:{x:2,y:0,w:2,h:1,minH:1}},{id:"anr-rate",title:"ANR / App Hang Rate",displayType:"big_number",widgetType:"metrics",queries:[{name:"",conditions:"",columns:[],aggregates:["anr_rate()"],orderby:"",fields:["anr_rate()"]}],interval:"5m",layout:{x:4,y:0,w:2,h:1,minH:1}},{id:"crash-free-session-line-chart",title:"Crash Free Sessions",displayType:"line",widgetType:"metrics",queries:[{name:"",conditions:"",columns:[],aggregates:["crash_free_rate(session)"],orderby:"",fields:["crash_free_rate(session)"]}],interval:"5m",layout:{x:0,y:1,w:3,h:2,minH:2}},{id:"crash-free-user-line-chart",title:"Crash Free Users",displayType:"line",widgetType:"metrics",queries:[{name:"",conditions:"",columns:[],aggregates:["crash_free_rate(user)"],orderby:"",fields:["crash_free_rate(user)"]}],interval:"5m",layout:{x:3,y:1,w:3,h:2,minH:2}},{id:"issue-counts",title:"Issue Counts",displayType:"bar",widgetType:"issue",queries:[{name:"",conditions:"",columns:[],aggregates:["count(new_issues)","count(resolved_issues)"],orderby:"",fields:["count(new_issues)","count(resolved_issues)"]}],interval:"5m",layout:{x:0,y:4,w:3,h:2,minH:2}},{id:"total-sessions",title:"Total Sessions",displayType:"line",widgetType:"metrics",queries:[{name:"",conditions:"",columns:[],aggregates:["sum(session)"],orderby:"",fields:["sum(session)"]}],interval:"5m",layout:{x:3,y:4,w:3,h:2,minH:2}},{id:"crash-rate-table",title:"Crash Free Rate by Project",displayType:"table",widgetType:"metrics",queries:[{name:"",conditions:"",columns:["project"],aggregates:["crash_free_rate(session)"],orderby:"crash_free_rate(session)",fields:["project","crash_free_rate(session)"],fieldAliases:["Project","Crash Free Rate"]}],interval:"5m",layout:{x:0,y:6,w:6,h:2,minH:2}},{id:"release-table",title:"Releases",displayType:"table",widgetType:"metrics",queries:[{name:"",conditions:"",columns:["project","release"],aggregates:["crash_free_rate(session)","sum(session)"],orderby:"-release",fields:["project","release","crash_free_rate(session)","sum(session)"],fieldAliases:["Project","Release","Crash Free Rate","Total Sessions"]}],interval:"5m",layout:{x:0,y:8,w:6,h:3,minH:2}}]},"14":{title:"Frontend Overview",description:"Monitor frontend errors and performance telemetry.",widgets:[{id:"throughput-widget",title:"Transaction Throughput",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:"( span.op:[pageload,navigation,ui.render,interaction] OR sdk.name:[dart,dart-sentry-client,sentry.dart,sentry.dart.browser,sentry.dart.flutter,sentry.dart.logging,raven-js,sentry-browser,sentry.javascript.angular,sentry.javascript.angular-ivy,sentry.javascript.astro,sentry.javascript.browser,sentry.javascript.electron,sentry.javascript.ember,sentry.javascript.enrio,sentry.javascript.gatsby,sentry.javascript.miniapp,sentry.javascript.nextjs,sentry.javascript.nuxt,sentry.javascript.react,sentry.javascript.remix,sentry.javascript.solid,sentry.javascript.solidstart,sentry.javascript.svelte,sentry.javascript.sveltekit,sentry.javascript.uniapp,sentry.javascript.vue] ) !span.op:http.server is_transaction:true",columns:[],aggregates:["epm()"],orderby:"-epm()",fields:["epm()"],fieldAliases:[]}],interval:"5m",layout:{x:0,y:0,w:2,h:2,minH:2}},{id:"duration-widget",title:"Transaction Duration",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:"( span.op:[pageload,navigation,ui.render,interaction] OR sdk.name:[dart,dart-sentry-client,sentry.dart,sentry.dart.browser,sentry.dart.flutter,sentry.dart.logging,raven-js,sentry-browser,sentry.javascript.angular,sentry.javascript.angular-ivy,sentry.javascript.astro,sentry.javascript.browser,sentry.javascript.electron,sentry.javascript.ember,sentry.javascript.enrio,sentry.javascript.gatsby,sentry.javascript.miniapp,sentry.javascript.nextjs,sentry.javascript.nuxt,sentry.javascript.react,sentry.javascript.remix,sentry.javascript.solid,sentry.javascript.solidstart,sentry.javascript.svelte,sentry.javascript.sveltekit,sentry.javascript.uniapp,sentry.javascript.vue] ) !span.op:http.server is_transaction:true",columns:[],aggregates:["p50(span.duration)","p75(span.duration)","p95(span.duration)"],orderby:"-p50(span.duration)",fields:["p50(span.duration)","p75(span.duration)","p95(span.duration)"],fieldAliases:[]}],interval:"5m",layout:{x:2,y:0,w:2,h:2,minH:2}},{id:"score-breakdown-wheel",title:"Performance Score",description:"Tracks the overall performance rating of the pages in your selected project.",displayType:"wheel",widgetType:"spans",queries:[{name:"",conditions:'span.op:[ui.interaction.click,ui.interaction.hover,ui.interaction.drag,ui.interaction.press,ui.webvital.cls,ui.webvital.lcp,pageload,""]',columns:["performance_score(measurements.score.lcp)","performance_score(measurements.score.fcp)","performance_score(measurements.score.inp)","performance_score(measurements.score.cls)","performance_score(measurements.score.ttfb)","performance_score(measurements.score.total)","count_scores(measurements.score.total)","count_scores(measurements.score.lcp)","count_scores(measurements.score.fcp)","count_scores(measurements.score.inp)","count_scores(measurements.score.cls)","count_scores(measurements.score.ttfb)"],aggregates:[],orderby:"",fields:["performance_score(measurements.score.lcp)","performance_score(measurements.score.fcp)","performance_score(measurements.score.inp)","performance_score(measurements.score.cls)","performance_score(measurements.score.ttfb)","performance_score(measurements.score.total)","count_scores(measurements.score.total)","count_scores(measurements.score.lcp)","count_scores(measurements.score.fcp)","count_scores(measurements.score.inp)","count_scores(measurements.score.cls)","count_scores(measurements.score.ttfb)"]}],interval:"5m",limit:1,layout:{x:4,y:0,w:2,h:2,minH:2}},{id:"issue-counts",title:"Issue Counts",displayType:"bar",widgetType:"issue",queries:[{name:"",conditions:"",columns:[],aggregates:["count(new_issues)","count(resolved_issues)"],orderby:"",fields:["count(new_issues)","count(resolved_issues)"]}],interval:"5m",layout:{x:0,y:2,w:2,h:3,minH:3}},{id:"assets-by-time-spent-widget",title:"Assets by Time Spent",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:'has:sentry.normalized_description has:sentry.normalized_description !sentry.normalized_description:"browser-extension://*" ( span.op:resource.script OR file_extension:css OR file_extension:[woff,woff2,ttf,otf,eot] OR file_extension:[jpg,jpeg,png,gif,svg,webp,apng,avif] OR span.op:resource.img )',columns:["sentry.normalized_description"],aggregates:["p75(span.duration)"],orderby:"-sum(span.duration)",fields:["p75(span.duration)"]}],interval:"5m",limit:3,layout:{x:2,y:2,w:2,h:3,minH:3}},{id:"network-requests-by-time-spent-widget",title:"Network Requests by Time Spent",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:"span.category:http",columns:["span.domain"],aggregates:["p75(span.duration)"],orderby:"-sum(span.duration)",fields:["p75(span.duration)"]}],interval:"5m",limit:3,layout:{x:4,y:2,w:2,h:3,minH:3}},{id:"frontend-overview-table",title:"Transactions",displayType:"table",widgetType:"spans",queries:[{name:"",conditions:"!span.op:http.server ( span.op:[pageload,navigation,ui.render,interaction,ui.render,interaction,ui.interaction,ui.interaction.click,ui.interaction.hover,ui.interaction.drag,ui.interaction.press,ui.webvital.cls,ui.webvital.lcp,ui.webvital.fcp,pageload] OR sdk.name:[dart,dart-sentry-client,sentry.dart,sentry.dart.browser,sentry.dart.flutter,sentry.dart.logging,raven-js,sentry-browser,sentry.javascript.angular,sentry.javascript.angular-ivy,sentry.javascript.astro,sentry.javascript.browser,sentry.javascript.electron,sentry.javascript.ember,sentry.javascript.enrio,sentry.javascript.gatsby,sentry.javascript.miniapp,sentry.javascript.nextjs,sentry.javascript.nuxt,sentry.javascript.react,sentry.javascript.remix,sentry.javascript.solid,sentry.javascript.solidstart,sentry.javascript.svelte,sentry.javascript.sveltekit,sentry.javascript.uniapp,sentry.javascript.vue] )",columns:["is_starred_transaction","transaction","project"],aggregates:["equation|tpm()","equation|p50_if(span.duration,is_transaction,equals,true)","equation|p75_if(span.duration,is_transaction,equals,true)","equation|p95_if(span.duration,is_transaction,equals,true)","equation|failure_rate_if(is_transaction,equals,true)","count_unique(user)","equation|sum_if(span.duration,is_transaction,equals,true)","performance_score(measurements.score.total)"],orderby:"-equation|sum_if(span.duration,is_transaction,equals,true)",fields:["is_starred_transaction","transaction","project","equation|tpm()","equation|p50_if(span.duration,is_transaction,equals,true)","equation|p75_if(span.duration,is_transaction,equals,true)","equation|p95_if(span.duration,is_transaction,equals,true)","equation|failure_rate_if(is_transaction,equals,true)","count_unique(user)","equation|sum_if(span.duration,is_transaction,equals,true)","performance_score(measurements.score.total)"],fieldAliases:["","Transaction","Project","TPM","P50","P75","P95","Failure Rate","Users","Time Spent","Performance Score"]}],interval:"5m",layout:{x:0,y:7,w:6,h:6,minH:2}}]},"15":{title:"Next.js Overview",description:"Monitor frontend and SSR performance for Next.js applications.",widgets:[{id:"pageloads-widget",title:"Pageloads",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:"span.op:pageload",columns:[],aggregates:["count(span.duration)","equation|(count_if(trace.status,equals,internal_error) + count_if(trace.status,equals,error)) / count(span.duration)"],orderby:"-count(span.duration)",fields:["count(span.duration)","equation|(count_if(trace.status,equals,internal_error) + count_if(trace.status,equals,error)) / count(span.duration)"]}],interval:"5m",layout:{x:0,y:0,w:2,h:2,minH:2}},{id:"api-latency-widget",title:"API Latency",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:"span.op:http.server",columns:[],aggregates:["avg(span.duration)","p95(span.duration)"],orderby:"avg(span.duration)",fields:["avg(span.duration)","p95(span.duration)"]}],interval:"5m",layout:{x:2,y:0,w:2,h:2,minH:2}},{id:"issue-counts",title:"Issue Counts",displayType:"bar",widgetType:"issue",queries:[{name:"",conditions:"",columns:[],aggregates:["count(new_issues)","count(resolved_issues)"],orderby:"",fields:["count(new_issues)","count(resolved_issues)"]}],interval:"5m",layout:{x:4,y:0,w:2,h:2,minH:2}},{id:"score-breakdown-wheel",title:"Performance Score",description:"Tracks the overall performance rating of the pages in your selected project.",displayType:"wheel",widgetType:"spans",queries:[{name:"",conditions:'span.op:[ui.interaction.click,ui.interaction.hover,ui.interaction.drag,ui.interaction.press,ui.webvital.cls,ui.webvital.lcp,pageload,""]',columns:["performance_score(measurements.score.lcp)","performance_score(measurements.score.fcp)","performance_score(measurements.score.inp)","performance_score(measurements.score.cls)","performance_score(measurements.score.ttfb)","performance_score(measurements.score.total)","count_scores(measurements.score.total)","count_scores(measurements.score.lcp)","count_scores(measurements.score.fcp)","count_scores(measurements.score.inp)","count_scores(measurements.score.cls)","count_scores(measurements.score.ttfb)"],aggregates:[],orderby:"",fields:["performance_score(measurements.score.lcp)","performance_score(measurements.score.fcp)","performance_score(measurements.score.inp)","performance_score(measurements.score.cls)","performance_score(measurements.score.ttfb)","performance_score(measurements.score.total)","count_scores(measurements.score.total)","count_scores(measurements.score.lcp)","count_scores(measurements.score.fcp)","count_scores(measurements.score.inp)","count_scores(measurements.score.cls)","count_scores(measurements.score.ttfb)"]}],interval:"5m",limit:1,layout:{x:0,y:2,w:2,h:3,minH:3}},{id:"rage-and-dead-clicks-widget",title:"Rage and Dead Clicks",description:"Visualizes the rage and dead clicks in your frontend project.",displayType:"rage_and_dead_clicks",queries:[{name:"",conditions:"",columns:[],aggregates:[],orderby:"",fields:[]}],interval:"5m",layout:{x:2,y:2,w:2,h:3,minH:3}},{id:"slow-ssr-widget",title:"Slow SSR",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:"span.op:function.nextjs",columns:["span.description"],aggregates:["avg(span.duration)"],orderby:"-avg(span.duration)",fields:["span.description","avg(span.duration)"]}],interval:"5m",limit:3,layout:{x:4,y:2,w:2,h:3,minH:3}},{id:"client-transactions-table",title:"Client Transactions",displayType:"table",widgetType:"spans",queries:[{name:"",conditions:"span.op:[ui.render,interaction,ui.interaction,ui.interaction.click,ui.interaction.hover,ui.interaction.drag,ui.interaction.press,ui.webvital.cls,ui.webvital.lcp,ui.webvital.fcp,pageload,navigation,default] !span.op:http.server is_transaction:true !sentry.origin:auto.db.* !sentry.origin:auto",columns:["transaction","span.op","project"],aggregates:["count(span.duration)","failure_rate()","avg(span.duration)","p95(span.duration)","performance_score(measurements.score.total)"],orderby:"-count(span.duration)",fields:["transaction","project","span.op","count(span.duration)","failure_rate()","avg(span.duration)","p95(span.duration)","performance_score(measurements.score.total)"],fieldAliases:["Transaction","","Operation","Views","Error Rate","Avg","P95","Perf Score"]}],interval:"5m",layout:{x:0,y:5,w:6,h:3,minH:2}},{id:"server-transactions-table",title:"Server Transactions",displayType:"table",widgetType:"spans",queries:[{name:"",conditions:"span.op:http.server is_transaction:true",columns:["transaction","project"],aggregates:["count(span.duration)","failure_rate()","avg(span.duration)","p95(span.duration)","sum(span.duration)"],orderby:"-count(span.duration)",fields:["transaction","project","count(span.duration)","failure_rate()","avg(span.duration)","p95(span.duration)","sum(span.duration)"],fieldAliases:["Transaction","","Views","Error Rate","Avg","P95","Time Spent"]}],interval:"5m",layout:{x:0,y:8,w:6,h:3,minH:2}},{id:"server-tree-widget",title:"SSR File Tree",description:"Visualizes the file tree of the server-rendered components in your Next.js project.",displayType:"server_tree",queries:[{name:"",conditions:"",columns:[],aggregates:[],orderby:"",fields:[]}],interval:"5m",layout:{x:0,y:11,w:6,h:3,minH:3}}]},"16":{title:"AI Agents Overview",description:"Monitor AI agent workflows, model costs, token usage, and tool calls.",widgets:[{id:"ai-agents-overview-agent-runs",title:"Agent Runs",description:"Number of agent runs captured over time.",displayType:"bar",widgetType:"spans",queries:[{name:"Count",conditions:"gen_ai.operation.type:agent",columns:[],aggregates:["count(span.duration)"],orderby:"-count(span.duration)",fields:["count(span.duration)"],fieldAliases:["Count"]}],interval:"1h",layout:{x:0,y:0,w:2,h:2,minH:2}},{id:"ai-agents-overview-estimated-cost",title:"Estimated Cost",description:"Estimated cost of LLM calls with token and model data.",displayType:"bar",widgetType:"spans",queries:[{name:"Cost",conditions:"gen_ai.operation.type:ai_client",columns:[],aggregates:["sum(gen_ai.cost.total_tokens)"],orderby:"-sum(gen_ai.cost.total_tokens)",fields:["sum(gen_ai.cost.total_tokens)"],fieldAliases:["Estimated Cost"]}],interval:"1h",layout:{x:2,y:0,w:2,h:2,minH:2}},{id:"ai-agents-overview-duration",title:"Duration",description:"Average and p95 duration for agent runs and LLM calls.",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:"gen_ai.operation.type:[agent, ai_client]",columns:[],aggregates:["avg(span.duration)","p95(span.duration)"],orderby:"-avg(span.duration)",fields:["avg(span.duration)","p95(span.duration)"],fieldAliases:["Avg","P95"]}],interval:"1h",layout:{x:4,y:0,w:2,h:2,minH:2}},{id:"ai-agents-overview-llm-calls-by-model",title:"LLM Calls by Model",description:"Number of LLM calls grouped by response model.",displayType:"bar",widgetType:"spans",queries:[{name:"",conditions:"gen_ai.operation.type:ai_client",columns:["gen_ai.response.model"],aggregates:["count(span.duration)"],orderby:"-count(span.duration)",fields:["gen_ai.response.model","count(span.duration)"],fieldAliases:["Model","Calls"]}],interval:"1h",limit:3,layout:{x:0,y:2,w:2,h:3,minH:3}},{id:"ai-agents-overview-tokens-used",title:"Tokens Used",description:"Total tokens used by LLM calls, grouped by response model.",displayType:"bar",widgetType:"spans",queries:[{name:"",conditions:"gen_ai.operation.type:ai_client",columns:["gen_ai.response.model"],aggregates:["sum(gen_ai.usage.total_tokens)"],orderby:"-sum(gen_ai.usage.total_tokens)",fields:["gen_ai.response.model","sum(gen_ai.usage.total_tokens)"],fieldAliases:["Model","Total Tokens"]}],interval:"1h",limit:3,layout:{x:2,y:2,w:2,h:3,minH:3}},{id:"ai-agents-overview-tool-calls",title:"Tool Calls",description:"Tool call volume grouped by tool name.",displayType:"bar",widgetType:"spans",queries:[{name:"",conditions:"gen_ai.operation.type:tool",columns:["gen_ai.tool.name"],aggregates:["count(span.duration)"],orderby:"-count(span.duration)",fields:["gen_ai.tool.name","count(span.duration)"],fieldAliases:["Tool","Calls"]}],interval:"1h",limit:3,layout:{x:4,y:2,w:2,h:3,minH:3}},{id:"ai-agents-traces-table",title:"Traces",description:"Agent traces with duration, token, cost, and tool usage.",displayType:"agents_traces_table",queries:[{name:"",conditions:"",columns:[],aggregates:[],orderby:"",fields:[]}],interval:"1h",limit:10,layout:{x:0,y:6,w:6,h:4,minH:2}}]},"17":{title:"AI Agents Model Details",description:"View AI agent token usage and costs by model.",widgets:[{id:"ai-agents-model-cost",title:"Model Cost",displayType:"bar",widgetType:"spans",queries:[{name:"",conditions:"gen_ai.operation.type:ai_client",columns:["gen_ai.response.model"],aggregates:["sum(gen_ai.cost.total_tokens)"],orderby:"-sum(gen_ai.cost.total_tokens)",fields:["gen_ai.response.model","sum(gen_ai.cost.total_tokens)"],fieldAliases:["Model","Total Cost"]}],interval:"1h",limit:3,layout:{x:0,y:0,w:2,h:3,minH:3}},{id:"ai-agents-token-usage",title:"Tokens Used",displayType:"bar",widgetType:"spans",queries:[{name:"",conditions:"gen_ai.operation.type:ai_client",columns:["gen_ai.response.model"],aggregates:["sum(gen_ai.usage.total_tokens)"],orderby:"-sum(gen_ai.usage.total_tokens)",fields:["gen_ai.response.model","sum(gen_ai.usage.total_tokens)"],fieldAliases:["Model","Total Tokens"]}],interval:"1h",limit:3,layout:{x:2,y:0,w:2,h:3,minH:3}},{id:"ai-agents-token-types",title:"Token Types",displayType:"area",widgetType:"spans",queries:[{name:"",conditions:"gen_ai.operation.type:ai_client",columns:[],aggregates:["sum(gen_ai.usage.input_tokens)","sum(gen_ai.usage.input_tokens.cached)","sum(gen_ai.usage.output_tokens)","sum(gen_ai.usage.output_tokens.reasoning)"],orderby:"",fields:["sum(gen_ai.usage.input_tokens)","sum(gen_ai.usage.input_tokens.cached)","sum(gen_ai.usage.output_tokens)","sum(gen_ai.usage.output_tokens.reasoning)"],fieldAliases:["Input Tokens","Cached Input Tokens","Output Tokens","Reasoning Tokens"]}],interval:"1h",limit:3,layout:{x:4,y:0,w:2,h:3,minH:3}},{id:"ai-agents-models-table",title:"Models",displayType:"table",widgetType:"spans",queries:[{name:"",conditions:"gen_ai.operation.type:ai_client",columns:["gen_ai.response.model"],aggregates:["count()","equation|count_if(span.status,equals,internal_error) + count_if(span.status,equals,error)","avg(span.duration)","p95(span.duration)","sum(gen_ai.cost.total_tokens)","sum(gen_ai.usage.input_tokens)","sum(gen_ai.usage.input_tokens.cached)","sum(gen_ai.usage.output_tokens)","sum(gen_ai.usage.output_tokens.reasoning)"],orderby:"-count()",fields:["gen_ai.response.model","count()","equation|count_if(span.status,equals,internal_error) + count_if(span.status,equals,error)","avg(span.duration)","p95(span.duration)","sum(gen_ai.cost.total_tokens)","sum(gen_ai.usage.input_tokens)","sum(gen_ai.usage.input_tokens.cached)","sum(gen_ai.usage.output_tokens)","sum(gen_ai.usage.output_tokens.reasoning)"],fieldAliases:["Model","Requests","Errors","Avg","P95","Cost","Input Tokens","Cached Tokens","Output Tokens","Reasoning Tokens"]}],interval:"1h",layout:{x:0,y:3,w:6,h:4,minH:2}}]},"18":{title:"AI Agents Tool Details",description:"Track AI agent tool calls and error rates.",widgets:[{id:"ai-agents-tool-calls",title:"Tool Calls",displayType:"bar",widgetType:"spans",queries:[{name:"",conditions:"gen_ai.operation.type:tool",columns:["gen_ai.tool.name"],aggregates:["count(span.duration)"],orderby:"-count(span.duration)",fields:["gen_ai.tool.name","count(span.duration)"],fieldAliases:["Tool","Calls"]}],interval:"1h",limit:3,layout:{x:0,y:0,w:3,h:3,minH:3}},{id:"ai-agents-tool-errors",title:"Tool Errors",displayType:"bar",widgetType:"spans",queries:[{name:"",conditions:"gen_ai.operation.type:tool span.status:[internal_error,error]",columns:["gen_ai.tool.name"],aggregates:["count(span.duration)"],orderby:"-count(span.duration)",fields:["gen_ai.tool.name","count(span.duration)"],fieldAliases:["Tool","Errors"]}],interval:"1h",limit:3,layout:{x:3,y:0,w:3,h:3,minH:3}},{id:"ai-agents-tools-table",title:"Tools",displayType:"table",widgetType:"spans",queries:[{name:"",conditions:"gen_ai.operation.type:tool",columns:["gen_ai.tool.name"],aggregates:["count()","equation|count_if(span.status,equals,internal_error) + count_if(span.status,equals,error)","avg(span.duration)","p95(span.duration)"],orderby:"-count()",fields:["gen_ai.tool.name","count()","equation|count_if(span.status,equals,internal_error) + count_if(span.status,equals,error)","avg(span.duration)","p95(span.duration)"],fieldAliases:["Tool","Requests","Errors","Avg","P95"]}],interval:"1h",layout:{x:0,y:3,w:6,h:4,minH:2}}]},"19":{title:"MCP Overview",description:"Monitor MCP server usage and performance.",widgets:[{id:"mcp-overview-traffic",title:"Traffic",displayType:"bar",widgetType:"spans",queries:[{name:"Count",conditions:"span.op:mcp.server",columns:[],aggregates:["count(span.duration)"],orderby:"-count(span.duration)",fields:["count(span.duration)"],fieldAliases:["Count"]}],interval:"1h",layout:{x:0,y:0,w:2,h:3,minH:3}},{id:"mcp-overview-traffic-by-client",title:"Traffic by Client",displayType:"bar",widgetType:"spans",queries:[{name:"",conditions:"span.op:mcp.server",columns:["mcp.client.name"],aggregates:["count()"],orderby:"-count()",fields:["mcp.client.name","count()"],fieldAliases:["Client","Count"]}],interval:"1h",limit:3,layout:{x:2,y:0,w:2,h:3,minH:3}},{id:"mcp-overview-transport-distribution",title:"Transport Distribution",displayType:"bar",widgetType:"spans",queries:[{name:"",conditions:"span.op:mcp.server has:mcp.transport",columns:["mcp.transport"],aggregates:["count()"],orderby:"-count()",fields:["mcp.transport","count()"],fieldAliases:["Transport","Count"]}],interval:"1h",limit:3,layout:{x:4,y:0,w:2,h:3,minH:3}},{id:"mcp-overview-most-used-tools",title:"Most Used Tools",displayType:"bar",widgetType:"spans",queries:[{name:"",conditions:"span.op:mcp.server has:mcp.tool.name",columns:["mcp.tool.name"],aggregates:["count(span.duration)"],orderby:"-count(span.duration)",fields:["mcp.tool.name","count(span.duration)"],fieldAliases:["Tool","Count"]}],interval:"1h",limit:3,layout:{x:0,y:3,w:2,h:3,minH:3}},{id:"mcp-overview-most-used-resources",title:"Most Used Resources",displayType:"bar",widgetType:"spans",queries:[{name:"",conditions:"span.op:mcp.server has:mcp.resource.uri",columns:["mcp.resource.uri"],aggregates:["count(span.duration)"],orderby:"-count(span.duration)",fields:["mcp.resource.uri","count(span.duration)"],fieldAliases:["Resource","Count"]}],interval:"1h",limit:3,layout:{x:2,y:3,w:2,h:3,minH:3}},{id:"mcp-overview-most-used-prompts",title:"Most Used Prompts",displayType:"bar",widgetType:"spans",queries:[{name:"",conditions:"span.op:mcp.server has:mcp.prompt.name",columns:["mcp.prompt.name"],aggregates:["count(span.duration)"],orderby:"-count(span.duration)",fields:["mcp.prompt.name","count(span.duration)"],fieldAliases:["Prompt","Count"]}],interval:"1h",limit:3,layout:{x:4,y:3,w:2,h:3,minH:3}},{id:"mcp-overview-table",title:"MCP Overview",displayType:"table",widgetType:"spans",queries:[{name:"",conditions:"span.op:mcp.server",columns:["span.description"],aggregates:["count()","failure_rate()","equation|count_if(span.status,equals,internal_error) + count_if(span.status,equals,error)","avg(span.duration)","p95(span.duration)"],orderby:"-count()",fields:["span.description","count()","failure_rate()","equation|count_if(span.status,equals,internal_error) + count_if(span.status,equals,error)","avg(span.duration)","p95(span.duration)"],fieldAliases:["Span Description","Requests","Error Rate","Errors","Avg","P95"]}],interval:"1h",layout:{x:0,y:6,w:6,h:4,minH:2}}]},"20":{title:"MCP Tool Details",description:"Track MCP tool call latency, frequency, and error rates.",widgets:[{id:"mcp-tools-most-used-tools",title:"Most Used Tools",displayType:"bar",widgetType:"spans",queries:[{name:"",conditions:"span.op:mcp.server has:mcp.tool.name",columns:["mcp.tool.name"],aggregates:["count(span.duration)"],orderby:"-count(span.duration)",fields:["mcp.tool.name","count(span.duration)"],fieldAliases:["Tool","Calls"]}],interval:"1h",limit:3,layout:{x:0,y:0,w:2,h:3,minH:3}},{id:"mcp-tools-slowest-tools",title:"Slowest Tools",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:"span.op:mcp.server has:mcp.tool.name",columns:["mcp.tool.name"],aggregates:["avg(span.duration)"],orderby:"-avg(span.duration)",fields:["mcp.tool.name","avg(span.duration)"],fieldAliases:["Tool","Avg"]}],interval:"1h",limit:3,layout:{x:2,y:0,w:2,h:3,minH:3}},{id:"mcp-tools-most-failing-tools",title:"Most Failing Tools",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:"span.op:mcp.server has:mcp.tool.name",columns:["mcp.tool.name"],aggregates:["failure_rate()"],orderby:"-failure_rate()",fields:["mcp.tool.name","failure_rate()"],fieldAliases:["Tool","Error Rate"]}],interval:"1h",limit:3,layout:{x:4,y:0,w:2,h:3,minH:3}},{id:"mcp-tools-table",title:"Tools",displayType:"table",widgetType:"spans",queries:[{name:"",conditions:"span.op:mcp.server has:mcp.tool.name",columns:["mcp.tool.name"],aggregates:["count()","failure_rate()","equation|count_if(span.status,equals,internal_error) + count_if(span.status,equals,error)","avg(span.duration)","p95(span.duration)"],orderby:"-count()",fields:["mcp.tool.name","count()","failure_rate()","equation|count_if(span.status,equals,internal_error) + count_if(span.status,equals,error)","avg(span.duration)","p95(span.duration)"],fieldAliases:["Tool Name","Requests","Error Rate","Errors","Avg","P95"]}],interval:"1h",layout:{x:0,y:3,w:6,h:4,minH:2}}]},"21":{title:"MCP Resource Details",description:"Track MCP resource call latency, frequency, and error rates.",widgets:[{id:"mcp-resources-most-used-resources",title:"Most Used Resources",displayType:"bar",widgetType:"spans",queries:[{name:"",conditions:"span.op:mcp.server has:mcp.resource.uri",columns:["mcp.resource.uri"],aggregates:["count(span.duration)"],orderby:"-count(span.duration)",fields:["mcp.resource.uri","count(span.duration)"],fieldAliases:["Resource","Calls"]}],interval:"1h",limit:3,layout:{x:0,y:0,w:2,h:3,minH:3}},{id:"mcp-resources-slowest-resources",title:"Slowest Resources",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:"span.op:mcp.server has:mcp.resource.uri",columns:["mcp.resource.uri"],aggregates:["avg(span.duration)"],orderby:"-avg(span.duration)",fields:["mcp.resource.uri","avg(span.duration)"],fieldAliases:["Resource","Avg"]}],interval:"1h",limit:3,layout:{x:2,y:0,w:2,h:3,minH:3}},{id:"mcp-resources-most-failing-resources",title:"Most Failing Resources",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:"span.op:mcp.server has:mcp.resource.uri",columns:["mcp.resource.uri"],aggregates:["failure_rate()"],orderby:"-failure_rate()",fields:["mcp.resource.uri","failure_rate()"],fieldAliases:["Resource","Error Rate"]}],interval:"1h",limit:3,layout:{x:4,y:0,w:2,h:3,minH:3}},{id:"mcp-resources-table",title:"Resources",displayType:"table",widgetType:"spans",queries:[{name:"",conditions:"span.op:mcp.server has:mcp.resource.uri",columns:["mcp.resource.uri"],aggregates:["count()","failure_rate()","equation|count_if(span.status,equals,internal_error) + count_if(span.status,equals,error)","avg(span.duration)","p95(span.duration)"],orderby:"-count()",fields:["mcp.resource.uri","count()","failure_rate()","equation|count_if(span.status,equals,internal_error) + count_if(span.status,equals,error)","avg(span.duration)","p95(span.duration)"],fieldAliases:["Resource URI","Requests","Error Rate","Errors","Avg","P95"]}],interval:"1h",layout:{x:0,y:3,w:6,h:4,minH:2}}]},"22":{title:"MCP Prompt Details",description:"Track MCP prompt call latency, frequency, and error rates.",widgets:[{id:"mcp-prompts-most-used-prompts",title:"Most Used Prompts",displayType:"bar",widgetType:"spans",queries:[{name:"",conditions:"span.op:mcp.server has:mcp.prompt.name",columns:["mcp.prompt.name"],aggregates:["count(span.duration)"],orderby:"-count(span.duration)",fields:["mcp.prompt.name","count(span.duration)"],fieldAliases:["Prompt","Calls"]}],interval:"1h",limit:3,layout:{x:0,y:0,w:2,h:3,minH:3}},{id:"mcp-prompts-slowest-prompts",title:"Slowest Prompts",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:"span.op:mcp.server has:mcp.prompt.name",columns:["mcp.prompt.name"],aggregates:["avg(span.duration)"],orderby:"-avg(span.duration)",fields:["mcp.prompt.name","avg(span.duration)"],fieldAliases:["Prompt","Avg"]}],interval:"1h",limit:3,layout:{x:2,y:0,w:2,h:3,minH:3}},{id:"mcp-prompts-most-failing-prompts",title:"Most Failing Prompts",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:"span.op:mcp.server has:mcp.prompt.name",columns:["mcp.prompt.name"],aggregates:["failure_rate()"],orderby:"-failure_rate()",fields:["mcp.prompt.name","failure_rate()"],fieldAliases:["Prompt","Error Rate"]}],interval:"1h",limit:3,layout:{x:4,y:0,w:2,h:3,minH:3}},{id:"mcp-prompts-table",title:"Prompts",displayType:"table",widgetType:"spans",queries:[{name:"",conditions:"span.op:mcp.server has:mcp.prompt.name",columns:["mcp.prompt.name"],aggregates:["count()","failure_rate()","equation|count_if(span.status,equals,internal_error) + count_if(span.status,equals,error)","avg(span.duration)","p95(span.duration)"],orderby:"-count()",fields:["mcp.prompt.name","count()","failure_rate()","equation|count_if(span.status,equals,internal_error) + count_if(span.status,equals,error)","avg(span.duration)","p95(span.duration)"],fieldAliases:["Prompt Name","Requests","Error Rate","Errors","Avg","P95"]}],interval:"1h",layout:{x:0,y:3,w:6,h:4,minH:2}}]},"23":{title:"Laravel Overview",description:"Monitor Laravel services and dependencies, including background jobs.",widgets:[{id:"requests-widget",title:"Requests",description:"",displayType:"line",widgetType:"spans",queries:[{name:"Requests",conditions:"span.op:http.server",columns:[],aggregates:["count(span.duration)","equation|(count_if(trace.status,equals,internal_error) + count_if(trace.status,equals,error)) / count(span.duration)"],orderby:"count(span.duration)",fields:["count(span.duration)","equation|(count_if(trace.status,equals,internal_error) + count_if(trace.status,equals,error)) / count(span.duration)"],fieldAliases:[]}],interval:"1h",limit:5,layout:{x:0,y:0,w:2,h:2,minH:2}},{id:"api-latency-widget",title:"API Latency",description:"",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:"span.op:http.server",columns:[],aggregates:["avg(span.duration)","p95(span.duration)"],orderby:"avg(span.duration)",fields:["avg(span.duration)","p95(span.duration)"],fieldAliases:[]}],interval:"1h",layout:{x:2,y:0,w:2,h:2,minH:2}},{id:"issue-counts",title:"Issue Counts",displayType:"bar",widgetType:"issue",queries:[{name:"",conditions:"",columns:[],aggregates:["count(new_issues)","count(resolved_issues)"],orderby:"",fields:["count(new_issues)","count(resolved_issues)"]}],interval:"5m",layout:{x:4,y:0,w:2,h:2,minH:2}},{id:"jobs-chart",title:"Jobs",description:"",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:"span.op:queue.process",columns:[],aggregates:["count(span.duration)","equation|(count_if(trace.status,equals,internal_error) + count_if(trace.status,equals,error)) / count(span.duration)"],orderby:"count(span.duration)",fields:["count(span.duration)","equation|(count_if(trace.status,equals,internal_error) + count_if(trace.status,equals,error)) / count(span.duration)"],fieldAliases:[]}],interval:"1h",limit:3,layout:{x:0,y:2,w:2,h:3,minH:3}},{id:"queries-by-time-spent-chart",title:"Queries by Time Spent",description:"",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:"span.category:db has:sentry.normalized_description",columns:["sentry.normalized_description"],aggregates:["p75(span.duration)"],orderby:"-sum(span.duration)",fields:["sentry.normalized_description","p75(span.duration)"],fieldAliases:[""]}],interval:"5m",limit:3,layout:{x:2,y:2,w:2,h:3,minH:3}},{id:"cache-miss-rates-chart",title:"Cache Miss Rates",description:"",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:"span.op:[cache.get,cache.get_item]",columns:["transaction"],aggregates:["equation|count_if(cache.hit,equals,false) / count(span.duration)"],orderby:"-equation|count_if(cache.hit,equals,false) / count(span.duration)",fields:["equation|count_if(cache.hit,equals,false) / count(span.duration)"],fieldAliases:[""]}],interval:"1h",limit:3,layout:{x:4,y:2,w:2,h:3,minH:3}},{id:"paths-table",title:"Paths",displayType:"table",widgetType:"spans",queries:[{name:"",conditions:"transaction.op:http.server is_transaction:true",columns:["http.request.method","transaction"],aggregates:["count()","failure_rate()","avg(span.duration)","p95(span.duration)","sum(span.duration)","count_unique(user)"],orderby:"-count()",fields:["http.request.method","transaction","count()","failure_rate()","avg(span.duration)","p95(span.duration)","sum(span.duration)","count_unique(user)"],fieldAliases:["Method","Path","Requests","Error Rate","Avg","P95","Time Spent","Users"]}],interval:"5m",layout:{x:0,y:7,w:6,h:3,minH:2}},{id:"commands-table",title:"Commands",displayType:"table",widgetType:"spans",queries:[{name:"",conditions:"span.op:console.command*",columns:["command"],aggregates:["count()","failure_rate()","avg(span.duration)","p95(span.duration)","sum(span.duration)"],orderby:"-count()",fields:["command","count()","failure_rate()","avg(span.duration)","p95(span.duration)","sum(span.duration)"],fieldAliases:["Command","Invocations","Error Rate","Avg","P95","Time Spent"]}],interval:"5m",layout:{x:0,y:10,w:6,h:3,minH:2}},{id:"jobs-table",title:"Jobs",displayType:"table",widgetType:"spans",queries:[{name:"",conditions:"span.op:queue.process",columns:["messaging.destination.name","transaction"],aggregates:["count()","failure_rate()","avg(messaging.message.receive.latency)","equation|avg_if(span.duration,span.op,equals,queue.process)","sum(span.duration)"],orderby:"-count()",fields:["transaction","messaging.destination.name","count()","failure_rate()","avg(messaging.message.receive.latency)","equation|avg_if(span.duration,span.op,equals,queue.process)","sum(span.duration)"],fieldAliases:["Job","Queue Name","Processed","Error Rate","Avg Time in Queue","Avg Processing Time","Time Spent"]}],interval:"5m",layout:{x:0,y:13,w:6,h:3,minH:2}}]},"24":{title:"Frontend Assets",description:"Track JS, CSS, and image asset performance, with per-resource drill-downs.",widgets:[{id:"requests-per-min-widget",title:"Requests per Minute",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:"has:sentry.normalized_description",columns:[],aggregates:["epm()"],orderby:"epm()",fields:["epm()"]}],interval:"5m",layout:{x:0,y:0,w:3,h:2,minH:2}},{id:"average-duration-widget",title:"Average Duration",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:"has:sentry.normalized_description",columns:[],aggregates:["avg(span.duration)"],orderby:"avg(span.duration)",fields:["avg(span.duration)"]}],interval:"5m",layout:{x:3,y:0,w:3,h:2,minH:2}},{id:"assets-table",title:"Assets",displayType:"table",widgetType:"spans",queries:[{name:"",conditions:"has:sentry.normalized_description",columns:["sentry.normalized_description"],aggregates:["epm()","avg(span.duration)","sum(span.duration)","avg(http.response_content_length)"],orderby:"-sum(span.duration)",fields:["sentry.normalized_description","epm()","avg(span.duration)","sum(span.duration)","avg(http.response_content_length)"],fieldAliases:["Asset description","Requests per Minute","Avg","Time Spent","Avg Encoded Size"]}],interval:"5m",layout:{x:0,y:2,w:6,h:6,minH:2}}]},"25":{title:"Frontend Assets Summary",description:"",widgets:[{id:"domain-widget",title:"Example Asset",displayType:"details",widgetType:"spans",queries:[{name:"",conditions:"",columns:["id","span.op","span.group","span.description","span.category","project.id"],aggregates:[],orderby:"id",fields:["id","span.op","span.group","span.description","span.category","project.id"],fieldAliases:[]}],interval:"5m",layout:{x:0,y:0,minH:2,h:2,w:6}},{id:"request-per-min-big-number",title:"Requests per Minute",displayType:"big_number",widgetType:"spans",queries:[{name:"",conditions:"",columns:[],aggregates:["epm()"],orderby:"epm()",fields:["epm()"]}],interval:"5m",layout:{x:0,y:2,w:1,h:1,minH:1}},{id:"average-encoded-size-big-number",title:"Average Encoded Size",displayType:"big_number",widgetType:"spans",queries:[{name:"",conditions:"",columns:[],aggregates:["avg(http.response_content_length)"],orderby:"avg(http.response_content_length)",fields:["avg(http.response_content_length)"]}],interval:"5m",layout:{x:1,y:2,w:1,h:1,minH:1}},{id:"average-decoded-size-big-number",title:"Average Decoded Size",displayType:"big_number",widgetType:"spans",queries:[{name:"",conditions:"",columns:[],aggregates:["avg(http.decoded_response_content_length)"],orderby:"avg(http.decoded_response_content_length)",fields:["avg(http.decoded_response_content_length)"]}],interval:"5m",layout:{x:2,y:2,w:1,h:1,minH:1}},{id:"average-transfer-size-big-number",title:"Average Transfer Size",displayType:"big_number",widgetType:"spans",queries:[{name:"",conditions:"",columns:[],aggregates:["avg(http.response_transfer_size)"],orderby:"avg(http.response_transfer_size)",fields:["avg(http.response_transfer_size)"]}],interval:"5m",layout:{x:3,y:2,w:1,h:1,minH:1}},{id:"average-duration-big-number",title:"Average Duration",displayType:"big_number",widgetType:"spans",queries:[{name:"",conditions:"",columns:[],aggregates:["avg(span.duration)"],orderby:"avg(span.duration)",fields:["avg(span.duration)"]}],interval:"5m",layout:{x:4,y:2,w:1,h:1,minH:1}},{id:"time-spent-big-number",title:"Time Spent",displayType:"big_number",widgetType:"spans",queries:[{name:"",conditions:"",columns:[],aggregates:["sum(span.duration)"],orderby:"sum(span.duration)",fields:["sum(span.duration)"]}],interval:"5m",layout:{x:5,y:2,w:1,h:1,minH:1}},{id:"requests-per-min-widget",title:"Requests per Minute",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:"",columns:[],aggregates:["epm()"],orderby:"epm()",fields:["epm()"]}],interval:"5m",layout:{x:0,y:3,w:2,h:2,minH:2}},{id:"average-duration-widget",title:"Average Duration",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:"",columns:[],aggregates:["avg(span.duration)"],orderby:"avg(span.duration)",fields:["avg(span.duration)"]}],interval:"5m",layout:{x:2,y:3,w:2,h:2,minH:2}},{id:"average-asset-size-widget",title:"Average Asset Size",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:"",columns:[],aggregates:["avg(http.decoded_response_content_length)","avg(http.response_transfer_size)","avg(http.response_content_length)"],orderby:"avg(http.response_content_length)",fields:["avg(http.decoded_response_content_length)","avg(http.response_transfer_size)","avg(http.response_content_length)"],fieldAliases:["Avg Decoded Size","Avg Transfer Size","Avg Encoded Size"]}],interval:"5m",layout:{x:4,y:3,w:2,h:2,minH:2}},{id:"assets-table-widget",title:"Pages Containing This Asset",displayType:"table",widgetType:"spans",queries:[{name:"",conditions:"",columns:["transaction","resource.render_blocking_status"],aggregates:["epm()","avg(span.duration)","avg(http.response_content_length)"],orderby:"-epm()",fields:["transaction","epm()","avg(span.duration)","avg(http.response_content_length)","resource.render_blocking_status"],fieldAliases:["Transaction","Requests per Minute","Avg","Avg Encoded Size","Render Blocking"]}],interval:"5m",layout:{x:0,y:5,minH:2,h:6,w:6}}]},"26":{title:"Queues",description:"Track message queue throughput, latency, and error rates.",widgets:[{id:"average-duration-widget",title:"Average Duration",displayType:"area",widgetType:"spans",queries:[{name:"",conditions:"span.op:queue.process",columns:[],aggregates:["avg(messaging.message.receive.latency)","avg(span.duration)"],orderby:"avg(span.duration)",fields:["avg(messaging.message.receive.latency)","avg(span.duration)"]}],interval:"5m",layout:{x:0,y:0,w:3,h:2,minH:2}},{id:"throughput-widget",title:"Published vs Processed",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:"span.op:[queue.publish, queue.process]",columns:["span.op"],aggregates:["epm()"],orderby:"epm()",fields:["epm()"]}],interval:"5m",layout:{x:3,y:0,w:3,h:2,minH:2}},{id:"destination-table",title:"Destinations",displayType:"table",widgetType:"spans",queries:[{name:"",conditions:"span.op:[queue.publish, queue.process]",columns:["messaging.destination.name"],aggregates:["avg(messaging.message.receive.latency)","equation|avg_if(span.duration,span.op,equals,queue.process)","equation|1 - (count_if(trace.status,equals,ok) / count(span.duration))","equation|count_if(span.op,equals,queue.publish)","equation|count_if(span.op,equals,queue.process)","sum(span.duration)"],orderby:"-sum(span.duration)",fields:["messaging.destination.name","avg(messaging.message.receive.latency)","equation|avg_if(span.duration,span.op,equals,queue.process)","equation|1 - (count_if(trace.status,equals,ok) / count(span.duration))","equation|count_if(span.op,equals,queue.publish)","equation|count_if(span.op,equals,queue.process)","sum(span.duration)"],fieldAliases:["Destination","Avg time in queue","Avg processing time","Error rate","Published","Processed","Time spent"]}],interval:"5m",layout:{x:0,y:3,w:6,h:6,minH:2}}]},"27":{title:"Queue Summary",description:"",widgets:[{id:"avg-time-in-queue-widget",title:"Average Time in Queue",displayType:"big_number",widgetType:"spans",queries:[{name:"",conditions:"span.op:[queue.process,queue.publish]",columns:[],aggregates:["avg(messaging.message.receive.latency)"],orderby:"avg(messaging.message.receive.latency)",fields:["avg(messaging.message.receive.latency)"]}],interval:"5m",layout:{x:0,y:0,w:1,h:1,minH:1}},{id:"avg-processing-time-widget",title:"Average Processing Time",displayType:"big_number",widgetType:"spans",queries:[{name:"",conditions:"span.op:[queue.process,queue.publish]",columns:[],aggregates:["equation|avg_if(span.duration,span.op,equals,queue.process)"],orderby:"equation|avg_if(span.duration,span.op,equals,queue.process)",fields:["equation|avg_if(span.duration,span.op,equals,queue.process)"]}],interval:"5m",layout:{x:1,y:0,w:1,h:1,minH:1}},{id:"error-rate-widget",title:"Error Rate",displayType:"big_number",widgetType:"spans",queries:[{name:"",conditions:"span.op:[queue.process,queue.publish]",columns:[],aggregates:["equation|1 - (count_if(trace.status,equals,ok) / count(span.duration))"],orderby:"equation|1 - (count_if(trace.status,equals,ok) / count(span.duration))",fields:["equation|1 - (count_if(trace.status,equals,ok) / count(span.duration))"]}],interval:"5m",layout:{x:2,y:0,w:1,h:1,minH:1}},{id:"published-widget",title:"Published",displayType:"big_number",widgetType:"spans",queries:[{name:"",conditions:"span.op:[queue.process,queue.publish]",columns:[],aggregates:["equation|count_if(span.op,equals,queue.publish)"],orderby:"equation|count_if(span.op,equals,queue.publish)",fields:["equation|count_if(span.op,equals,queue.publish)"]}],interval:"5m",layout:{x:3,y:0,w:1,h:1,minH:1}},{id:"processed-widget",title:"Processed",displayType:"big_number",widgetType:"spans",queries:[{name:"",conditions:"span.op:[queue.process,queue.publish]",columns:[],aggregates:["equation|count_if(span.op,equals,queue.process)"],orderby:"equation|count_if(span.op,equals,queue.process)",fields:["equation|count_if(span.op,equals,queue.process)"]}],interval:"5m",layout:{x:4,y:0,w:1,h:1,minH:1}},{id:"time-spent-widget",title:"Time Spent",displayType:"big_number",widgetType:"spans",queries:[{name:"",conditions:"span.op:[queue.process,queue.publish]",columns:[],aggregates:["sum(span.duration)"],orderby:"sum(span.duration)",fields:["sum(span.duration)"]}],interval:"5m",layout:{x:5,y:0,w:1,h:1,minH:1}},{id:"average-duration-widget",title:"Average Duration",displayType:"area",widgetType:"spans",queries:[{name:"",conditions:"span.op:queue.process",columns:[],aggregates:["avg(messaging.message.receive.latency)","avg(span.duration)"],orderby:"avg(span.duration)",fields:["avg(messaging.message.receive.latency)","avg(span.duration)"]}],interval:"5m",layout:{x:0,y:1,w:3,h:2,minH:2}},{id:"throughput-widget",title:"Published vs Processed",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:"span.op:[queue.publish, queue.process]",columns:["span.op"],aggregates:["epm()"],orderby:"epm()",fields:["epm()"]}],interval:"5m",layout:{x:3,y:1,w:3,h:2,minH:2}},{id:"consumer-table",title:"Consumer Transactions",displayType:"table",widgetType:"spans",queries:[{name:"",conditions:"span.op:queue.process",columns:["transaction"],aggregates:["avg(messaging.message.receive.latency)","equation|avg_if(span.duration,span.op,equals,queue.process)","equation|1 - (count_if(trace.status,equals,ok) / count(span.duration))","equation|count_if(span.op,equals,queue.process)","sum(span.duration)"],orderby:"-sum(span.duration)",fields:["transaction","avg(messaging.message.receive.latency)","equation|avg_if(span.duration,span.op,equals,queue.process)","equation|1 - (count_if(trace.status,equals,ok) / count(span.duration))","equation|count_if(span.op,equals,queue.process)","sum(span.duration)"],fieldAliases:["Transaction","Avg time in queue","Avg processing time","Error rate","Processed","Time spent"]}],interval:"5m",layout:{x:0,y:4,w:6,h:3,minH:3}},{id:"producer-table",title:"Producer Transactions",displayType:"table",widgetType:"spans",queries:[{name:"",conditions:"span.op:queue.publish",columns:["transaction"],aggregates:["equation|1 - (count_if(trace.status,equals,ok) / count(span.duration))","equation|count_if(span.op,equals,queue.publish)","sum(span.duration)"],orderby:"-sum(span.duration)",fields:["transaction","equation|1 - (count_if(trace.status,equals,ok) / count(span.duration))","equation|count_if(span.op,equals,queue.publish)","sum(span.duration)"],fieldAliases:["Transaction","Error rate","Published","Time spent"]}],interval:"5m",layout:{x:0,y:7,w:6,h:3,minH:3}}]},"28":{title:"Caches",description:"Track cache hit rates, throughput, and latency.",widgets:[{id:"cache-hits-widget",title:"Miss Rate",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:"span.op:[cache.get,cache.get_item]",columns:[],aggregates:["equation|count_if(cache.hit,equals,false) / count(span.duration)"],orderby:"equation|count_if(cache.hit,equals,false) / count(span.duration)",fields:["equation|count_if(cache.hit,equals,false) / count(span.duration)"]}],interval:"5m",layout:{x:0,y:0,w:3,h:2,minH:2}},{id:"throughput-widget",title:"Throughput",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:"span.op:[cache.get,cache.get_item]",columns:[],aggregates:["epm()"],orderby:"epm()",fields:["epm()"]}],interval:"5m",layout:{x:3,y:0,w:3,h:2,minH:2}},{id:"transaction-table",title:"Transactions",displayType:"table",widgetType:"spans",queries:[{name:"",conditions:"span.op:[cache.get,cache.get_item]",columns:["transaction","project"],aggregates:["avg(cache.item_size)","epm()","equation|count_if(cache.hit,equals,false) / count(span.duration)","sum(span.duration)"],orderby:"-sum(span.duration)",fields:["transaction","project","avg(cache.item_size)","epm()","equation|count_if(cache.hit,equals,false) / count(span.duration)","sum(span.duration)"],fieldAliases:["Transaction","Project","Avg Value Size","Requests Per Minute","Miss Rate","Time Spent"]}],interval:"5m",layout:{x:0,y:3,w:6,h:6,minH:2}}]},"29":{title:"Node.js Runtime Metrics",description:"Track Node.js runtime metrics, including memory usage and event loop utilization.",widgets:[{id:"node-runtime-event-loop-utilization-kpi",title:"Event Loop Utilization",description:"Average fraction of time the Node.js event loop is active (0-100%) across the selected time range. High utilization means less capacity to handle new work and may indicate CPU-bound processing or blocking operations.",displayType:"big_number",widgetType:"tracemetrics",queries:[{name:"",conditions:"",columns:[],aggregates:["avg(value,node.runtime.event_loop.utilization,gauge,none)"],orderby:"",fields:["avg(value,node.runtime.event_loop.utilization,gauge,none)"]}],interval:"5m",layout:{x:0,y:0,w:2,h:1,minH:1}},{id:"node-runtime-cpu-utilization-kpi",title:"CPU Utilization",description:"Average CPU usage across all cores over the selected time range. Values above 1.0 (100%) are possible on multi-core systems. Sustained high utilization may indicate compute-bound workloads or insufficient scaling.",displayType:"big_number",widgetType:"tracemetrics",queries:[{name:"",conditions:"",columns:[],aggregates:["avg(value,node.runtime.cpu.utilization,gauge,none)"],orderby:"",fields:["avg(value,node.runtime.cpu.utilization,gauge,none)"]}],interval:"5m",layout:{x:2,y:0,w:2,h:1,minH:1}},{id:"node-runtime-process-uptime-kpi",title:"Process Uptime",description:"Total process uptime summed across instances. Sudden resets indicate process crashes or restarts. Useful for detecting instability and correlating with deployment events.",displayType:"big_number",widgetType:"tracemetrics",queries:[{name:"",conditions:"",columns:[],aggregates:["sum(value,node.runtime.process.uptime,counter,second)"],orderby:"",fields:["sum(value,node.runtime.process.uptime,counter,second)"]}],interval:"5m",layout:{x:4,y:0,w:2,h:1,minH:1}},{id:"node-runtime-memory-usage",title:"Memory Usage",description:"Resident Set Size (RSS, total memory footprint), V8 heap total (allocated), and heap used (in-use). Growing RSS without matching heap growth may indicate native memory leaks. Heap used approaching heap total triggers more frequent garbage collection.",displayType:"area",widgetType:"tracemetrics",queries:[{name:"",conditions:"",columns:[],aggregates:["avg(value,node.runtime.mem.rss,gauge,byte)","avg(value,node.runtime.mem.heap_total,gauge,byte)","avg(value,node.runtime.mem.heap_used,gauge,byte)"],orderby:"",fields:["avg(value,node.runtime.mem.rss,gauge,byte)","avg(value,node.runtime.mem.heap_total,gauge,byte)","avg(value,node.runtime.mem.heap_used,gauge,byte)"]}],interval:"5m",layout:{x:0,y:1,w:6,h:2,minH:2}},{id:"node-runtime-cpu-utilization-over-time",title:"CPU Utilization Over Time",description:"CPU utilization trend over time. Correlate spikes with deployments, traffic changes, or event loop delay increases to identify compute-bound bottlenecks.",displayType:"line",widgetType:"tracemetrics",queries:[{name:"",conditions:"",columns:[],aggregates:["avg(value,node.runtime.cpu.utilization,gauge,none)"],orderby:"",fields:["avg(value,node.runtime.cpu.utilization,gauge,none)"]}],interval:"5m",layout:{x:0,y:3,w:3,h:2,minH:2}},{id:"node-runtime-http-request-duration",title:"HTTP Request Duration",description:"Server-side HTTP request latency (p50 and p95). Compare with event loop delay and CPU utilization to determine if slow responses are caused by runtime bottlenecks or application logic.",displayType:"line",widgetType:"spans",queries:[{name:"",conditions:"span.op:http.server",columns:[],aggregates:["p50(span.duration)","p95(span.duration)"],orderby:"",fields:["p50(span.duration)","p95(span.duration)"]}],interval:"5m",layout:{x:3,y:3,w:3,h:2,minH:2}}]}}};var hy=ky.dashboards;function Wi(e){if(e.prebuiltId==null)return e;let t=hy[e.prebuiltId];if(!t)return e;return{...e,description:e.description||t.description,widgetDisplay:e.widgetDisplay.length>0?e.widgetDisplay:t.widgets.map((r)=>r.displayType)}}function Ly(e){if(e.widgets.length>0||e.prebuiltId==null)return e;let t=hy[e.prebuiltId];return t?{...e,widgets:structuredClone(t.widgets)}:e}import{useCallback as V5,useEffect as Z5,useRef as Iy,useState as by}from"h:0__";function Kt(e,{reloadKey:t,resetKey:r}={}){let[H,n]=by(me),[o,s]=by(0),i=Iy(0),a=Iy(r),l=V5(()=>s((c)=>c+1),[]);return Z5(()=>{let c=new AbortController,A=++i.current,u=!Object.is(a.current,r);a.current=r;let d;try{d=e(c.signal)}catch(m){if(A===i.current&&!c.signal.aborted)n((g)=>Oe(u?void 0:g,Ne(m)));return()=>{i.current++,c.abort()}}if(d===null)return n(me),()=>{i.current++,c.abort()};return n((m)=>_e(u?void 0:m,Date.now())),d.then((m)=>{if(A===i.current&&!c.signal.aborted)n(ge(m,Date.now()))}).catch((m)=>{if(A===i.current&&!c.signal.aborted)n((g)=>Oe(g,Ne(m)))}),()=>{i.current++,c.abort()}},[e,t,r,o]),{status:H,refetch:l}}function wy(e,{org:t,filter:r,query:H="",sort:n,reloadToken:o=0}){let s=z5((a)=>{if(!e)return null;return fy(e,{org:t,filter:r,query:H,sort:n,signal:a}).then((l)=>({data:Array.isArray(l.data)?l.data.map(Wi):[],nextCursor:l.nextCursor}))},[e,t,r,H,n]),{status:i}=Kt(s,{reloadKey:o});return{dashboards:dt(i,(a)=>a.data),nextCursor:B(i)?.nextCursor??null}}function rq(e,{org:t,enabled:r,reloadToken:H=0}){let[n,o]=tq([]);return J5(()=>{if(!e||!r||!t){o([]);return}let s=new AbortController,i=!1;return Sy(e,{org:t,signal:s.signal}).then((a)=>{if(!i)o(a.map(Wi))}).catch(()=>{if(!i)o([])}),()=>{i=!0,s.abort()}},[e,t,r,H]),n}function xy(e,t,r,H){let n=rq(e,{org:t,enabled:r,reloadToken:H});return eq(()=>{if(n.length===0)return wr;return{sections:[{title:"Starred Dashboards",items:n.map((o)=>({label:o.title,target:{group:"dashboards",item:"All Dashboards"}}))}]}},[n])}import{useEffect as Hq,useRef as nq,useState as Ty}from"h:0__";function po(e,{org:t,source:r,starred:H,search:n,sort:o,limit:s,enabled:i=!0,reloadToken:a=0}){let[l,c]=Ty(me),[A,u]=Ty(null),d=nq(l);return d.current=l,Hq(()=>{if(!e||!i)return;let m=new AbortController,{signal:g}=m,p=!1;return c(_e(d.current,Date.now())),(async()=>{try{let O=await uy(e,r,{org:t,starred:H,search:n,sort:o,limit:s,signal:g});if(p)return;c(ge(O.data,Date.now())),u(O.nextCursor)}catch(O){if(p||g.aborted)return;c(Oe(d.current,Ne(O)))}})(),()=>{p=!0,m.abort()}},[e,t,r,H,n,o,s,i,a]),{queries:l,nextCursor:A}}import{useEffect as Zi,useMemo as Dy}from"h:0__";var oq={"explore.all-queries":{source:"explore",title:"All Queries",description:"Saved Explore queries for this organization.",noun:"saved queries",searchPlaceholder:"Search queries by name\u2026",activityLabel:"Last Viewed",emptyHint:"This organization may not have Explore saved queries enabled."},"explore.discover":{source:"discover",title:"Discover",description:"Legacy saved queries, superseded by All Queries.",noun:"Discover queries",searchPlaceholder:"Search queries by name\u2026",activityLabel:"Last Edited",emptyHint:"This organization may not have Discover enabled."}};function Fi(e){return oq[e]}var Ui="explore.saved-query-results";import{useRef as iq}from"h:0__";import{useEffect as sq}from"h:0__";function Py({index:e,rowCount:t,rowHeight:r,viewportHeight:H,scrollTop:n}){return BH({rowTop:e*r,rowHeight:r,contentHeight:t*r,viewportHeight:H,scrollTop:n})}function BH({rowTop:e,rowHeight:t,contentHeight:r,viewportHeight:H,scrollTop:n}){let o=Math.max(0,r-H),s=e+t,i=e<n||t>H?e:s>n+H?s-H:n;return Math.min(Math.max(i,0),o)}function gH(e,{index:t,rowCount:r,rowHeight:H,layout:n=[]}){let o,s,i;if(typeof H==="number")s=H,i=r*H;else{o=0;for(let a=0;a<t&&a<H.length;a++)o+=H[a]??0;s=H[t]??0,i=H.reduce((a,l)=>a+l,0)}sq(()=>{let a=e.current;if(!a||r===0)return;let l=a.viewport.height;if(l<=0)return;let c=o===void 0?Py({index:t,rowCount:r,rowHeight:s,viewportHeight:l,scrollTop:a.scrollTop}):BH({rowTop:o,rowHeight:s,contentHeight:i,viewportHeight:l,scrollTop:a.scrollTop});if(c!==a.scrollTop)a.scrollTop=c},[e,t,r,o,s,i,...n])}import{jsxDEV as Se,Fragment as Cy}from"h:6___________________________";var aq=2,cq=20;function qy(e){return Yi(e.contentHeight)+(e.renderDetail?1:0)+(e.separator?1:0)}function Yi(e){if(e===void 0||!Number.isFinite(e))return 1;return Math.max(1,Math.floor(e))}function nt({rows:e,columns:t,width:r,selectedIndex:H,focused:n,rowKey:o,loading:s=!1,error:i,onRowClick:a,renderDetail:l,rowContentHeight:c,skeletonContentHeight:A=1,separator:u=!1,skeletonRows:d=cq,empty:m,errorTitle:g="Failed to load",gap:p=1,minFlex:O,gutter:y=aq,layout:L=[]}){let f=S(),k=iq(null),I=Math.max(1,r-y),h=br(t,I,{gap:p,minFlex:O}),b=h.map(({column:x})=>x),w=qy({renderDetail:l,separator:u}),T=e&&c?e.map((x,P)=>Yi(c(x,P,b))):void 0,q=T?T.map((x)=>qy({contentHeight:x,renderDetail:l,separator:u})):w;gH(k,{index:H,rowCount:e?.length??0,rowHeight:q,layout:L});let E=e===void 0&&s,D=e!==void 0&&e.length===0&&!s;return Se(Cy,{children:[Se(lq,{resolved:h,width:I,gap:p},void 0,!1,void 0,this),Se("scrollbox",{ref:k,focused:n,verticalScrollbarOptions:{showArrows:!1,trackOptions:{backgroundColor:f.panel,foregroundColor:f.muted}},style:{flexGrow:1,flexBasis:0,width:r},children:[E?Array.from({length:d},(x,P)=>Se(uq,{resolved:h,width:I,gap:p,seed:P,contentHeight:A,detail:Boolean(l),separator:u},P,!1,void 0,this)):null,D&&m?Se(dq,{...m},void 0,!1,void 0,this):null,e?.map((x,P)=>Se(Aq,{row:x,index:P,resolved:h,width:I,gap:p,selected:n&&P===H,contentHeight:T?.[P]??1,renderDetail:l,separator:u,onRowClick:a},o(x,P),!1,void 0,this)),i&&e===void 0?Se(pq,{title:g,error:i},void 0,!1,void 0,this):null]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}function lq({resolved:e,width:t,gap:r}){let H=S();return Se("box",{style:{flexDirection:"row",width:t,border:["bottom"],borderColor:H.border,flexShrink:0},children:e.map(({column:n,width:o},s)=>Se($i,{width:o,gap:s>0?r:0,children:Se("text",{fg:H.muted,children:_(n.label,o,n.align??"left")},void 0,!1,void 0,this)},n.key,!1,void 0,this))},void 0,!1,void 0,this)}function $i({width:e,gap:t,children:r}){return Se(Cy,{children:[t>0?Se("text",{children:" ".repeat(t)},void 0,!1,void 0,this):null,Se("box",{style:{width:e,flexShrink:0,flexDirection:"row",overflow:"hidden"},children:r},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function Aq({row:e,index:t,resolved:r,width:H,gap:n,selected:o,contentHeight:s,renderDetail:i,separator:a,onRowClick:l}){let c=S();return Se("box",{style:{flexDirection:"column",width:H,backgroundColor:o?c.selected:void 0,flexShrink:0},onMouseDown:l?()=>l(t,e):void 0,children:[Se("box",{style:{flexDirection:"row",height:s,flexShrink:0},children:r.map(({column:A,width:u},d)=>Se($i,{width:u,gap:d>0?n:0,children:A.render(e,o,u)},A.key,!1,void 0,this))},void 0,!1,void 0,this),i?Se("box",{style:{flexDirection:"row",width:H},children:i(e,o,H)},void 0,!1,void 0,this):null,a?Se("text",{fg:c.border,children:"\u2500".repeat(Math.max(0,H))},void 0,!1,void 0,this):null]},void 0,!0,void 0,this)}function uq({resolved:e,width:t,gap:r,seed:H,contentHeight:n,detail:o,separator:s}){let i=S();return Se("box",{style:{flexDirection:"column",width:t,flexShrink:0},children:[Array.from({length:Yi(n)},(a,l)=>Se("box",{style:{flexDirection:"row"},children:e.map(({column:c,width:A},u)=>Se($i,{width:A,gap:u>0?r:0,children:Se("text",{fg:i.panelAlt,children:_(My(A,H+l+u),A,c.align??"left")},void 0,!1,void 0,this)},c.key,!1,void 0,this))},l,!1,void 0,this)),o?Se("box",{style:{flexDirection:"row",width:t},children:Se("text",{fg:i.panelAlt,children:_(My(t,H+7),t)},void 0,!1,void 0,this)},void 0,!1,void 0,this):null,s?Se("text",{fg:i.border,children:"\u2500".repeat(Math.max(0,t))},void 0,!1,void 0,this):null]},void 0,!0,void 0,this)}function My(e,t){if(e<=0)return"";let r=0.4+t*17%45/100;return"\u2500".repeat(Math.max(1,Math.min(e,Math.floor(e*r))))}function dq({title:e,lines:t=[]}){let r=S();return Se("box",{style:{flexDirection:"column",padding:1},children:[Se("text",{fg:r.text,children:e},void 0,!1,void 0,this),t.filter(Boolean).map((H,n)=>Se("text",{fg:r.muted,children:H},n,!1,void 0,this))]},void 0,!0,void 0,this)}function pq({title:e,error:t}){let r=S();return Se("box",{style:{flexDirection:"column",padding:1},children:[Se("text",{fg:r.danger,children:e},void 0,!1,void 0,this),Se("text",{fg:r.muted,children:t.message},void 0,!1,void 0,this),t.retryable?Se("text",{fg:r.muted,children:"R to retry"},void 0,!1,void 0,this):null]},void 0,!0,void 0,this)}import{jsxDEV as Qy}from"h:6___________________________";function lr({status:e,noun:t,width:r,height:H}){let n=S(),o=se(e);return Qy("box",{style:{flexDirection:"column",width:r,height:H,paddingLeft:1},children:Qy("text",{fg:o?n.danger:n.muted,children:o?`Failed to load ${t}: ${o.message}`:`Loading ${t}\u2026`},void 0,!1,void 0,this)},void 0,!1,void 0,this)}import{jsxDEV as rr}from"h:6___________________________";function mq(e,t,r=!1){let H=r?"+":"",n=e===1&&!r?t:`${t}s`;return`${Pe(e)}${H} ${n}`}function Re({count:e,noun:t,hasMore:r=!1,pagination:H}){let n=S(),o=H?.hasPrevious&&!H.loading,s=H?.hasNext&&!H.loading;return rr("box",{style:{flexDirection:"row",flexShrink:0,height:1,paddingLeft:1,paddingRight:1},children:[rr("text",{fg:n.subText,children:e===void 0?"":mq(e,t,r)},void 0,!1,void 0,this),rr("box",{style:{flexGrow:1}},void 0,!1,void 0,this),H?rr("box",{style:{flexDirection:"row",flexShrink:0},children:[H.hasPrevious?rr("box",{style:{flexDirection:"row"},onMouseDown:o?H.onPrevious:void 0,children:[rr(Pt,{command:"sentry.nav.pageUp"},void 0,!1,void 0,this),rr("text",{fg:o?n.muted:n.subText,children:" \u2039 "},void 0,!1,void 0,this)]},void 0,!0,void 0,this):null,rr("text",{fg:n.subText,children:H.page},void 0,!1,void 0,this),H.hasNext?rr("box",{style:{flexDirection:"row"},onMouseDown:s?H.onNext:void 0,children:[rr("text",{fg:s?n.muted:n.subText,children:" \u203A "},void 0,!1,void 0,this),rr(Pt,{command:"sentry.nav.pageDown"},void 0,!1,void 0,this)]},void 0,!0,void 0,this):null]},void 0,!0,void 0,this):null]},void 0,!0,void 0,this)}import{useCallback as gq,useRef as Oq}from"h:0__";import{RenderableEvents as mo}from"h:3__________";import{jsxDEV as Vi}from"h:6___________________________";function Lt({value:e,placeholder:t,focused:r,width:H,onInput:n,onFocus:o,onBlur:s}){let i=S(),a=Oq(null),l=gq((c)=>{let A=a.current;if(A)A.removeAllListeners(mo.FOCUSED),A.removeAllListeners(mo.BLURRED);if(a.current=c,c)c.on(mo.FOCUSED,()=>o()),c.on(mo.BLURRED,()=>s())},[o,s]);return Vi("box",{style:{flexDirection:"row",width:H,flexShrink:0,height:Le,border:!0,borderStyle:"rounded",borderColor:r?i.accent:i.border,backgroundColor:i.panel,paddingLeft:1,paddingRight:1},children:[Vi(Gt,{},void 0,!1,void 0,this),Vi("input",{ref:l,value:e,placeholder:t,focused:r,onInput:n,style:{flexGrow:1,textColor:i.text,backgroundColor:i.panel,focusedTextColor:i.text,focusedBackgroundColor:i.panel,placeholderColor:i.subText}},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}import{useEffect as yq,useRef as fq,useState as Ny}from"h:0__";function jy(e,{org:t,dataset:r,fields:H,sort:n,query:o,statsPeriod:s,project:i,environment:a,referrer:l,reloadToken:c=0}){let[A,u]=Ny(me),[d,m]=Ny(null),g=fq(A);return g.current=A,yq(()=>{if(!e||H.length===0)return;let p=new AbortController,{signal:O}=p,y=!1;return u(_e(g.current,Date.now())),(async()=>{try{let L=await Tt(e,{org:t,dataset:r,fields:H,sort:n,query:o,statsPeriod:s,project:i,environment:a,referrer:l,signal:O});if(y)return;u(ge(L.rows,Date.now())),m(L.nextCursor)}catch(L){if(y||O.aborted)return;u(Oe(g.current,Ne(L)))}})(),()=>{y=!0,p.abort()}},[e,t,r,H,n,o,s,i,a,l,c]),{rows:A,nextCursor:d}}import{useEffect as Sq,useRef as _q,useState as kq}from"h:0__";function Ar(e,{org:t,id:r,reloadToken:H=0,load:n}){let[o,s]=kq(me),i=_q(o);return i.current=o,Sq(()=>{if(!e)return;let a=new AbortController,l=!1;return s(_e(i.current,Date.now())),n(e,{org:t,id:r,signal:a.signal}).then((c)=>{if(!l)s(ge(c,Date.now()))}).catch((c)=>{if(!l&&!a.signal.aborted)s(Oe(i.current,Ne(c)))}),()=>{l=!0,a.abort()}},[e,t,r,H,n]),o}import{jsxDEV as Mt}from"h:6___________________________";function go(e){let t=e.projects.filter((r)=>r!==-1).map(String);return{id:`saved-query:${e.source}:${e.id}`,sentryLocation:{screen:Ry(e),detail:{kind:"saved_query",queryId:e.id,source:e.source,resultScreen:Ry(e),dataset:e.dataset,title:e.name},state:{query:e.query,sort:e.sort,statsPeriod:e.statsPeriod,selectedProjects:t,selectedEnvs:e.environment,fields:e.fields}},label:e.name,stateKey:Ui,initialState:{query:e.query,sort:e.sort,statsPeriod:e.statsPeriod,selectedProjects:t,selectedEnvs:e.environment},render:(r)=>r.state?Mt(Gy,{...r,state:r.state,query:e},void 0,!1,void 0,this):null}}function Ry(e){if(e.source==="discover")return"explore.discover";switch(e.dataset){case"logs":return"explore.logs";case"tracemetrics":return"explore.metrics";case"errors":return"explore.errors";case"profiles":return"explore.profiles";case"replays":return"explore.replays";default:return e.datasetLabel==="Conversations"?"explore.conversations":"explore.traces"}}var hq=(e,{org:t,id:r,signal:H})=>{let n=r.indexOf(":"),o=r.slice(0,n),s=r.slice(n+1);return Ay(e,{org:t,source:o,queryId:s,signal:H})};function vy(e){return{id:`saved-query:${e.source}:${e.queryId}`,label:e.title??`Query ${e.queryId}`,stateKey:Ui,sentryLocation:{screen:e.resultScreen,detail:e},render:(t)=>t.state?Mt(Lq,{...t,state:t.state,detail:e},void 0,!1,void 0,this):null}}function Lq({client:e,org:t,state:r,detail:H,reloadToken:n,width:o,height:s,updateView:i,...a}){let l=`${H.source}:${H.queryId}`,c=Ar(e,{org:t,id:l,reloadToken:n,load:hq}),A=B(c);if(Zi(()=>{if(!A)return;r.dispatch({type:"seed",payload:{query:A.query,sort:A.sort,statsPeriod:A.statsPeriod,selectedProjects:A.projects.filter((u)=>u!==-1).map(String),selectedEnvs:A.environment}}),i(`saved-query:${H.source}:${H.queryId}`,{label:A.name})},[H.queryId,H.source,A,r.dispatch,i]),!A)return Mt(lr,{status:c,noun:"saved query",width:o,height:s},void 0,!1,void 0,this);return Mt(Gy,{...a,client:e,org:t,state:r,reloadToken:n,width:o,height:s,updateView:i,query:A},void 0,!1,void 0,this)}function Gy({client:e,org:t,state:r,focused:H,width:n,height:o,reloadToken:s,query:i}){let a=S(),{dispatch:l,focusSearch:c,handleSearchBlur:A}=r,u=r.selectedProjects.length>0?r.selectedProjects:void 0,d=r.selectedEnvs.length>0?r.selectedEnvs:void 0,m=Dy(()=>Rn(i.fields),[i.fields]),g=m.some((h)=>h.value===r.sort)?r.sort:i.sort??m[0]?.value,{rows:p,nextCursor:O}=jy(e,{org:t,dataset:i.dataset,fields:i.fields,sort:g,query:r.committedQuery,statsPeriod:r.statsPeriod,project:u,environment:d,referrer:"sentry-tui.saved-query",reloadToken:s}),y=B(p),L=se(p),f=p.state==="loading",k=Je(p);Zi(()=>{if(y)l({type:"setEntries",payload:y})},[y,l]),Zi(()=>{l({type:"setStatus",payload:{loading:f,since:k,error:L?.message,noun:"results"}})},[f,k,L,p,l]);let I=Dy(()=>Pq(i.fields,a),[i.fields,a]);return Mt("box",{style:{flexDirection:"column",width:n,height:o},children:[Mt(Lt,{value:r.searchQuery,placeholder:"Refine this query\u2026",focused:r.searchFocused,width:n,onInput:(h)=>l({type:"setSearchQuery",payload:h}),onFocus:c,onBlur:A},void 0,!1,void 0,this),Mt("box",{style:{flexDirection:"row",width:n,flexShrink:0,height:1,paddingLeft:1},children:[Mt("text",{fg:a.accent,attributes:X,children:R(i.name,Math.max(8,n-24))},void 0,!1,void 0,this),Mt("text",{fg:a.muted,children:` ${i.datasetLabel}`},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Mt(Ve,{client:e,org:t,openDropdown:r.openDropdown,selectedProjects:r.selectedProjects,selectedEnvs:r.selectedEnvs,statsPeriod:r.statsPeriod,sort:g?{value:g,items:m,onChange:(h)=>l({type:"setSort",payload:h})}:void 0,width:n,anchorTop:Le+1,onProjectChange:(h)=>l({type:"setSelectedProjects",payload:h}),onEnvChange:(h)=>l({type:"setSelectedEnvs",payload:h}),onPeriodChange:(h)=>l({type:"setStatsPeriod",payload:h}),onDropdownClose:()=>l({type:"setOpenDropdown",payload:null}),onDropdownOpen:(h)=>l({type:"setOpenDropdown",payload:h})},void 0,!1,void 0,this),Mt(nt,{rows:y,columns:I,width:n,selectedIndex:r.selected,focused:H,rowKey:(h,b)=>String(b),loading:ke(p),error:L,errorTitle:"Failed to run the query",minFlex:Tq,empty:{title:"This query returned nothing.",lines:[r.committedQuery||void 0,"Try widening the time range or adjusting the query.",`This organization may not have ${i.datasetLabel} enabled.`]},layout:[o]},void 0,!1,void 0,this),Mt(Re,{count:y?.length,noun:"result",hasMore:O!==null},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}var Iq=[{test:/timestamp|^time$/,width:19},{test:/^project(\.\w+)?$/,width:14},{test:/^(id|trace|replay_id|profile\.id)$|_id$/,width:12},{test:/\(.*\)/,width:12,align:"right"},{test:/duration|latency|size|count/,width:10,align:"right"},{test:/^(release|environment|platform|user|browser|os)(\.\w+)?$/,width:16}],bq=/^(message|description|name|transaction|title|url|culprit)$|\.(description|name)$/,wq=18,xq=20,Tq=24;function Pq(e,t){let r=e.map((n)=>{let o=Iq.find((s)=>s.test.test(n));return{field:n,width:Math.max(o?.width??wq,Math.min(ce(n),xq)),align:o?.align,wide:bq.test(n),unknown:o===void 0}}),H=qq(r.findIndex((n)=>n.wide),r.findIndex((n)=>n.unknown),r.length-1);return r.map((n,o)=>({key:n.field,label:n.field,width:o===H?"flex":n.width,align:n.align,priority:o===H?void 0:r.length-o,render:(s,i,a)=>Mt("text",{fg:o===0?t.text:t.muted,children:_(R(Mq(s[n.field]),a),a,n.align??"left")},void 0,!1,void 0,this)}))}function qq(...e){return e.find((t)=>t>=0)??0}function Mq(e){if(e===void 0||e===null||e==="")return"\u2014";if(typeof e==="number")return Number.isInteger(e)?String(e):e.toFixed(2);if(typeof e==="object")return JSON.stringify(e);return String(e)}function Ey(e,t,r,H){let n=Qq(e,t,r==="explore",H),o=xy(e,t,r==="dashboards",H);switch(r){case"explore":return{sections:n};case"dashboards":return o;default:return wr}}function Qq(e,t,r,H){let{queries:n}=po(e,{org:t,source:"explore",starred:!0,limit:Ki,enabled:r,reloadToken:H}),o=B(n);return Cq(()=>Nq(o),[o])}function Nq(e){if(!e||e.length===0)return[];return[{title:"Starred Queries",items:e.slice(0,Ki).map((t)=>({label:t.name,target:{group:"explore",item:"All Queries"},open:()=>go(t)}))}]}function Ky(e,t,r=[]){return{railGroup:e,activeGroup:e,activeItem:t,navExpanded:!1,showSecondary:!1,secondaryItem:t,gotoMode:!1,viewStack:[...r]}}function Xy(e,t){switch(t.type){case"navigate":return{...e,railGroup:t.group,activeGroup:t.group,activeItem:t.item,navExpanded:!1,showSecondary:!1,secondaryItem:t.item,gotoMode:!1,viewStack:[]};case"openGroup":return{...e,railGroup:t.group,showSecondary:!0,secondaryItem:t.item,gotoMode:!1};case"expandNav":return e.navExpanded?e:{...e,navExpanded:!0};case"openGoto":return{...e,navExpanded:!0,gotoMode:!0};case"closeGoto":return e.gotoMode?{...e,gotoMode:!1}:e;case"previewGroup":return{...e,railGroup:t.group,secondaryItem:t.item};case"selectRailGroup":return e.railGroup===t.group?e:{...e,railGroup:t.group};case"closeSecondary":return e.showSecondary?{...e,showSecondary:!1}:e;case"selectSecondaryItem":return e.secondaryItem===t.item?e:{...e,secondaryItem:t.item};case"pushView":return{...e,viewStack:[...e.viewStack,t.view]};case"popView":return e.viewStack.length===0?e:{...e,viewStack:e.viewStack.slice(0,-1)};case"clearViews":return e.viewStack.length===0?e:{...e,viewStack:[]};case"updateView":{let r=e.viewStack.findIndex((H)=>H.id===t.id);if(r===-1)return e;return{...e,viewStack:e.viewStack.map((H,n)=>n===r?{...H,...t.update}:H)}}case"replaceIssue":{let r=e.viewStack.map((H)=>H.issue?.id===t.issue.id?{...H,issue:t.issue}:H);return r.some((H,n)=>H!==e.viewStack[n])?{...e,viewStack:r}:e}}}import{useCallback as OM,useEffect as na,useRef as yM}from"h:0__";var jq=50;async function Fy(e,{org:t,query:r="",statsPeriod:H,project:n,environment:o,cursor:s,limit:i=jq,signal:a}){let l=await e.request(`/organizations/${t}/ai-conversations/`,{query:{query:r||void 0,statsPeriod:H,project:Fe(n),environment:o,cursor:s,per_page:i,referrer:"sentry-tui.explore-conversations"},signal:a});return{data:(Array.isArray(l.data)?l.data:[]).map(Dq).sort((A,u)=>Date.parse(u.endedAt)-Date.parse(A.endedAt)),nextCursor:l.nextCursor}}function Dq(e,t){let r=e.startTimestamp??0,H=e.endTimestamp??r;return{id:e.conversationId??String(t),title:Ur(e.title),firstInput:By(e.firstInput),lastOutput:By(e.lastOutput),generationDurationMs:e.generationDuration??0,durationMs:Math.max(0,H-r),endedAt:H>0?new Date(H).toISOString():"",llmCalls:e.llmCalls??0,toolCalls:e.toolCalls??0,toolErrors:e.toolErrors??0,toolNames:Array.isArray(e.toolNames)?e.toolNames.filter(Wy):[],errors:e.errors??0,totalTokens:e.totalTokens??0,inputTokens:e.inputTokens??0,outputTokens:e.outputTokens??0,totalCost:typeof e.totalCost==="number"?e.totalCost:void 0,traceCount:e.traceCount??0,traceIds:Array.isArray(e.traceIds)?e.traceIds.filter(Wy):[],projectId:e.projectId==null?void 0:String(e.projectId),user:Rq(e.user)}}function By(e){if(typeof e==="string")return Ur(e);if(!Array.isArray(e))return;return Ur(e.find((t)=>t?.type==="text")?.text??e[0]?.text)}function Ur(e){let t=e?.trim();if(!t||t.toLowerCase()==="none")return;return t}function Rq(e){if(!e)return;let t={id:Ur(e.id),email:Ur(e.email),username:Ur(e.username),ipAddress:Ur(e.ip_address)};return Object.values(t).some(Boolean)?t:void 0}function Wy(e){return typeof e==="string"&&e.trim().length>0}function zi(e){let t=e.title??e.firstInput;return t?t.replace(/\s+/g," ").trim()||void 0:void 0}var vq=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function Uy(e){return vq.test(e)?e.slice(0,8):e}function Yy(e){if(!e)return;return e.email??e.username??e.ipAddress??void 0}var $y="has:gen_ai.conversation.id",WH={yAxis:"count_unique(gen_ai.conversation.id)",noun:"conversations"},Vy="conversations";function Zy(e){return[e||void 0,"Try widening the time range or adjusting the query.","This organization may not have gen-ai-conversations enabled."]}import{jsxDEV as Hr}from"h:6___________________________";var Gq=[" ","\u2581","\u2582","\u2583","\u2584","\u2585","\u2586","\u2587","\u2588"],FH=10,Eq=8,Kq=5;function Oo(e,t=0){return e>=FH+Eq+t+Kq}var OH=7,Xq=1,Bq=1;function Wq(e,t){if(e.length<=t)return e;let r=e.length/t,H=[];for(let n=0;n<t;n++){let o=Math.floor(n*r),s=Math.min(e.length,Math.floor((n+1)*r)),i=0,a=!1;for(let l=o;l<s;l++)i+=e[l].value,a||=e[l].incomplete;H.push({value:i,incomplete:a})}return H}function Fq(e){return{top:_(Pe(e),OH-1,"right")+" ",mid:_(Pe(Math.round(e/2)),OH-1,"right")+" ",zero:_("0",OH-1,"right")+" "}}function Uq(e){let t=new Date(e*1000),r=String(t.getHours()).padStart(2,"0"),H=String(t.getMinutes()).padStart(2,"0");return`${r}:${H}`}function Yq(e,t,r){if(e.length===0||r<10)return"";let n=Math.max(2,Math.floor(r/(6+2))),o=Math.max(1,Math.floor(e.length/n)),s=Array.from({length:r},()=>" ");for(let i=0;i<e.length;i+=o){let a=e[i],l=Uq(a[0]),c=Math.round(i/Math.max(1,e.length-1)*(r-l.length)),A=Math.max(0,Math.min(r-l.length,c));for(let u=0;u<l.length;u++)s[A+u]=l[u]}return s.join("")}function yo({buckets:e,width:t,height:r,title:H,noun:n}){let o=S();if(t<20||r<4)return null;let s=t-OH-3,i=Math.max(1,r-Xq-Bq-2),a=e.map(([,y])=>y[0]?.count??0),l=e.map(([,y,L])=>({value:y[0]?.count??0,incomplete:L?.incomplete===!0})),c=AH(Wq(l,s),s),A=Math.max(1,...c.map(({value:y})=>y)),u=a.reduce((y,L)=>y+L,0),d=Fq(A),m=[];for(let y=i-1;y>=0;y--){let L="";for(let f=0;f<c.length;f++){let{value:k,incomplete:I}=c[f],h=A===0?0:Math.round(k/A*i*8),b=Math.floor(h/8),w=h%8,T=y<b?"\u2588":y===b&&w>0?Gq[w]:" ";L+=I&&T!==" "?"\u2591":T}m.push(L)}let g=Yq(e,c.length,s),p=t-2-1,O=n===void 0?"":`${Pe(u)} ${n}`;return Hr("box",{style:{flexDirection:"column",width:t,height:r,flexShrink:0,border:["top","bottom","left","right"],borderColor:o.border,backgroundColor:o.panel,paddingLeft:1},children:[Hr("box",{style:{flexDirection:"row",width:p,flexShrink:0},children:[Hr("text",{fg:o.text,children:R(H,Math.max(0,p-O.length-1))},void 0,!1,void 0,this),Hr("box",{style:{flexGrow:1}},void 0,!1,void 0,this),Hr("text",{fg:o.muted,attributes:rt,children:O},void 0,!1,void 0,this)]},void 0,!0,void 0,this),m.map((y,L)=>{let f;if(L===0)f=d.top;else if(L===Math.floor(m.length/2))f=d.mid;else if(L===m.length-1)f=d.zero;else f=" ".repeat(OH);return Hr("box",{style:{flexDirection:"row",flexShrink:0},children:[Hr("text",{fg:o.muted,attributes:rt,children:f},void 0,!1,void 0,this),Hr("text",{fg:o.accent,children:y},void 0,!1,void 0,this)]},L,!0,void 0,this)}),Hr("box",{style:{flexDirection:"row",flexShrink:0},children:[Hr("text",{fg:o.muted,children:" ".repeat(OH)},void 0,!1,void 0,this),Hr("text",{fg:o.muted,attributes:rt,children:g},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}import{useCallback as ef}from"h:0__";var $q=50;async function zy(e,{idField:t="id",limit:r=$q,...H}){let n=await Tt(e,{...H,limit:r});return{data:n.rows.map((o,s)=>Vq(o,s,t)),nextCursor:n.nextCursor}}function Vq(e,t,r){return{id:Ge(e,r)??String(t),row:e}}async function fo(e,t){return ul(e,t)}import{useCallback as Ji,useEffect as Jy,useRef as Yr,useState as So}from"h:0__";function It(e,t=0){let[r,H]=So(me),[n,o]=So(null),[s,i]=So(void 0),[a,l]=So(1),c=Yr(r);c.current=r;let A=Yr(void 0),u=Yr(1),d=Yr([void 0]),m=Yr(null),g=Yr(0),p=Ji((f,k)=>{m.current?.abort();let I=new AbortController;m.current=I;let h=++g.current,b;try{b=e(f,I.signal)}catch(T){return H((q)=>Oe(q,Ne(T))),!1}if(b===null)return H(me),!1;let w=_e(c.current,Date.now());return c.current=w,H(w),b.then((T)=>{if(I.signal.aborted||h!==g.current)return;A.current=f,u.current=k,d.current[k-1]=f,d.current.length=k,i(f),l(k),o(T.nextCursor),H(ge(T,Date.now()))}).catch((T)=>{if(I.signal.aborted||h!==g.current)return;H((q)=>Oe(q,Ne(T)))}),!0},[e]),O=Yr(null),y=Ji(()=>{if(n===null||c.current.state==="loading")return!1;return p(n,u.current+1)},[n,p]),L=Ji(()=>{if(u.current<=1||c.current.state==="loading")return!1;return p(d.current[u.current-2],u.current-1)},[p]);return Jy(()=>{let f=O.current!==p;if(O.current=p,f)A.current=void 0,u.current=1,d.current=[void 0],i(void 0),l(1),o(null);p(A.current,u.current)},[p,t]),Jy(()=>()=>{g.current++,m.current?.abort()},[]),{status:r,nextCursor:n,cursor:s,page:a,nextPage:y,previousPage:L}}function tf(e,{org:t,query:r,statsPeriod:H,project:n,environment:o,reloadToken:s=0}){let i=ef((A,u)=>e?Fy(e,{org:t,query:r,statsPeriod:H,project:n,environment:o,cursor:A,signal:u}):null,[e,t,r,H,n,o]),a=ef((A)=>e?fo(e,{org:t,statsPeriod:H,project:n,environment:o,signal:A,dataset:"spans",yAxis:WH.yAxis,query:[$y,r.trim()].filter(Boolean).join(" "),referrer:"sentry-tui.explore-conversations-chart"}):null,[e,t,r,H,n,o]),l=It(i,s),c=Kt(a,{reloadKey:s}).status;return{conversations:dt(l.status,(A)=>A.data),timeseries:c,nextCursor:l.nextCursor,page:l.page,nextPage:l.nextPage,previousPage:l.previousPage}}import{useEffect as Zq}from"h:0__";function Ke(e,t){Zq(()=>(e(t),()=>e(null)))}var rf=[{name:"count",argument:"count"},{name:"avg",argument:"number"},{name:"p50",argument:"number"},{name:"p75",argument:"number"},{name:"p90",argument:"number"},{name:"p95",argument:"number"},{name:"p99",argument:"number"},{name:"p100",argument:"number"},{name:"sum",argument:"number"},{name:"min",argument:"number"},{name:"max",argument:"number"},{name:"count_unique",argument:"any"},{name:"epm",argument:"none"},{name:"eps",argument:"none"},{name:"failure_rate",argument:"none"},{name:"failure_count",argument:"none"},{name:"performance_score",argument:"score"},{name:"opportunity_score",argument:"score"}],zq=new Map(rf.map((e)=>[e.name,e]));function Or(e){return zq.get(e)?.argument??"number"}function Hf(e,t=[]){let r=e.builder;if(!r)return[];let H=new Set(r.aggregates);return rf.filter((n)=>H.has(n.name)&&(n.argument!=="number"||r.numberField||t.length>0))}var nf=new Set(["id","sentry.item_id","timestamp"]);function _o(e){let t=/^([a-zA-Z0-9_]+)\((.*)\)$/.exec(e.trim());if(!t)return{aggregate:e.trim(),argument:""};return{aggregate:t[1],argument:t[2].trim()}}function UH(e){return`${e.aggregate}(${Or(e.aggregate)==="none"?"":e.argument})`}function of(e){let{aggregate:t,argument:r}=_o(e.yAxis);return{aggregate:t,argument:r,groupBys:[],sampleSort:null,aggregateSort:null}}function ko(e){return e.groupBys.length>0?"aggregate":"samples"}function sf(e,t,r,H=[]){let n=Jq(t,e,r,H);if(n===void 0)return e;return cf(e,{...e,aggregate:t,argument:n})}function af(e,t){return cf(e,{...e,argument:t})}function cf(e,t){let r=t.aggregateSort;if(!r||r.field!==UH(e))return t;return{...t,aggregateSort:{...r,field:UH(t)}}}function Jq(e,t,r,H){let n=Or(e),o=Or(t.aggregate);if(n==="none")return"";if(n==="count")return _o(r.yAxis).argument;if(n==="any")return r.builder?.uniqueField;if(n==="score")return t.argument.startsWith("measurements.score.")?t.argument:"measurements.score.total";if(o==="none"||o==="any"||t.argument==="")return H[0]??r.builder?.numberField;if(o==="count")return H[0]??r.builder?.numberField;return t.argument}function lf(e,t,r){let H={...e,groupBys:t.filter(Boolean)},n=H.aggregateSort;if(n&&!ta(H,r).includes(n.field))return{...H,aggregateSort:null};return H}function YH(e,t){return ko(e)==="aggregate"?{...e,aggregateSort:t}:{...e,sampleSort:t}}function ho(e,t){let r=Lo(e,t);return YH(e,{field:r.field,direction:r.direction==="desc"?"asc":"desc"})}function Lo(e,t){if(ko(e)==="aggregate")return e.aggregateSort??{field:UH(e),direction:"desc"};return e.sampleSort??ea(t.sort)}function ea(e){return e.startsWith("-")?{field:e.slice(1),direction:"desc"}:{field:e,direction:"asc"}}function eM(e){return e.direction==="desc"?`-${e.field}`:e.field}function ta(e,t){if(ko(e)==="samples")return[...t.fields];return uf([UH(e),...e.groupBys])}function Af(e,t){let r=UH(t),H=ko(t),n=eM(Lo(t,e));if(H==="samples")return{mode:H,fields:e.fields,sort:n,yAxis:r,groupBys:[],idField:e.idField};return{mode:H,fields:uf([...t.groupBys,r]),sort:n,yAxis:r,groupBys:t.groupBys,idField:t.groupBys[0]??""}}function uf(e){return[...new Set(e.filter(Boolean))]}function df(e,t){let r=Or(e.aggregate);return r==="none"||r==="count"?t.noun:e.argument||"\u2014"}function pf(e){if(e.groupBys.length===0)return"\u2014";if(e.groupBys.length===1)return e.groupBys[0];return`${e.groupBys.length} groups`}function mf(e){return e==="count"||e==="failure_count"}function gf(e){return e.startsWith("measurements.score.")}function $H(e){if(!e)return"--:--:--";return e.match(/T(\d{2}:\d{2}:\d{2})/)?.[1]??(e.slice(11,19)||"--:--:--")}function $r(e){if(!Number.isFinite(e)||e<0)return"";if(e<60)return`${Math.round(e)}s`;let t=Math.floor(e/60);if(t<60)return`${t}m`;let r=Math.floor(t/60);if(r<24)return`${r}h`;return`${Math.floor(r/24)}d`}var Of="------ --:--";function VH(e){if(!e)return Of;let t=e.match(/^(\d{4}-\d{2}-\d{2})T(\d{2}:\d{2})/);return t?`${t[1]} ${t[2]}`:Of}function yf(e,t,r=Date.now()){let H=Date.parse(e);if(Number.isNaN(H))return"";let n=t?Date.parse(t):r;if(Number.isNaN(n))return"";return $r(Math.max(0,(n-H)/1000))}import{jsxDEV as ye,Fragment as Io}from"h:6___________________________";var ff=24;function Sf(e,t){switch(e){case"explore.traces":return HM(t);case"explore.logs":return rM(t.theme);case"explore.metrics":return dM(t.theme);case"explore.errors":return gM(t.theme);default:return[]}}var tM={trace:"TRACE",debug:"DEBUG",info:" INFO",warn:" WARN",error:"ERROR",fatal:"FATAL"};function rM(e){let t={trace:e.subText,debug:e.muted,info:e.accent,warn:e.warning,error:e.danger,fatal:e.level.fatal};return[{key:"timestamp",label:"Time",width:10,render:(r,H,n)=>ye("text",{fg:e.muted,children:_($H(Ge(r.row,"timestamp")),n)},void 0,!1,void 0,this)},{key:"sentry.severity",label:"Level",width:6,priority:2,render:(r,H,n)=>{let o=ra(r);return ye("text",{fg:t[o],attributes:o==="error"||o==="fatal"?X:0,children:_(tM[o],n)},void 0,!1,void 0,this)}},{key:"project",label:"Project",width:14,priority:1,render:(r,H,n)=>ye("text",{fg:e.subText,children:_(ot(r,"project"),n)},void 0,!1,void 0,this)},{key:"message",label:"Message",width:"flex",render:(r,H,n)=>ye("text",{fg:e.text,children:_(ot(r,"message"),n)},void 0,!1,void 0,this)}]}function ra(e){let t=ot(e,"sentry.severity").toLowerCase();return t==="trace"||t==="debug"||t==="warn"||t==="error"||t==="fatal"?t:"info"}function HM(e){let{theme:t}=e;return[{key:"id",label:"Span ID",width:8,priority:3,render:(r,H,n)=>ye("text",{fg:t.muted,children:_(kf(r.id),n)},void 0,!1,void 0,this)},{key:"span.name",label:"Name",width:16,priority:2,render:(r,H,n)=>ye("text",{fg:t.subText,children:_(ot(r,"span.name"),n)},void 0,!1,void 0,this)},{key:"span.description",label:"Description",width:"flex",render:(r,H,n)=>ye("text",{fg:t.text,children:_(ot(r,"span.description"),n)},void 0,!1,void 0,this)},{key:"span.duration",label:"Duration",width:15,render:(r,H,n)=>ye(oM,{durationMs:kt(r.row,"span.duration"),maxMs:e.maxDurationMs,theme:t,width:n},void 0,!1,void 0,this)},{key:"transaction",label:"Transaction",width:18,priority:1,render:(r,H,n)=>ye("text",{fg:t.subText,children:_(ot(r,"transaction"),n)},void 0,!1,void 0,this)},{key:"timestamp",label:"Time",width:8,priority:4,render:(r,H,n)=>ye("text",{fg:t.muted,children:_($H(Ge(r.row,"timestamp")),n)},void 0,!1,void 0,this)}]}var nM=7;function oM({durationMs:e,maxMs:t,theme:r,width:H}){let n=Math.min(nM,H),o=Math.max(0,H-n-1);if(e===void 0)return ye("text",{fg:r.subText,children:_("\u2014",H,"right")},void 0,!1,void 0,this);let s=t>0?e/t:0;return ye(Io,{children:[o>0?ye(Io,{children:[ye("text",{fg:r.accent,children:Si(s,o)},void 0,!1,void 0,this),ye("text",{children:" "},void 0,!1,void 0,this)]},void 0,!0,void 0,this):null,ye("text",{fg:r.text,children:_(ZH(e),n,"right")},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function ZH(e){if(!Number.isFinite(e)||e<0)return"\u2014";if(e<1)return`${Math.round(e*1000)}\xB5s`;if(e<10)return`${e.toFixed(2)}ms`;if(e<1000)return`${Math.round(e)}ms`;let t=e/1000;if(t<60)return`${t.toFixed(t<10?2:1)}s`;let r=t/60;if(r<60)return`${r.toFixed(1)}m`;return`${(r/60).toFixed(1)}h`}var sM=20,iM=8;function _f(e,t,r,H){let{aggregate:n,argument:o}=_o(t);return[...e.map((s,i)=>({key:s,label:s,width:"flex",priority:i===0?void 0:e.length-i,render:(a,l,c)=>ye("text",{fg:i===0?H.text:H.subText,children:_(ot(a,s)||"(none)",c)},void 0,!1,void 0,this)})),{key:t,label:t,width:sM,align:"right",render:(s,i,a)=>ye(aM,{value:kt(s.row,t),maxValue:r,text:AM(n,o,kt(s.row,t)),theme:H,width:a},void 0,!1,void 0,this)}]}function aM({value:e,maxValue:t,text:r,theme:H,width:n}){let o=Math.min(iM,n),s=Math.max(0,n-o-1);if(e===void 0)return ye("text",{fg:H.subText,children:_("\u2014",n,"right")},void 0,!1,void 0,this);let i=t>0?e/t:0;return ye(Io,{children:[s>0?ye(Io,{children:[ye("text",{fg:H.accent,children:Si(i,s)},void 0,!1,void 0,this),ye("text",{children:" "},void 0,!1,void 0,this)]},void 0,!0,void 0,this):null,ye("text",{fg:H.text,children:_(r,o,"right")},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}var cM=new Set(["count","count_unique","failure_count"]),lM=new Set(["failure_rate","performance_score","opportunity_score"]);function AM(e,t,r){if(r===void 0)return"\u2014";if(cM.has(e))return Pe(r);if(lM.has(e))return`${(r*100).toFixed(1)}%`;if(uM(t))return ZH(r);return Math.abs(r)>=1000?Pe(r):String(Number(r.toFixed(2)))}function uM(e){return e==="span.duration"||e==="span.self_time"||e.endsWith(".duration")||e.endsWith("_time")}function dM(e){return[{key:"metric.name",label:"Metric",width:"flex",render:(t,r,H)=>ye("text",{fg:e.text,children:_(ot(t,"metric.name"),H)},void 0,!1,void 0,this)},{key:"metric.type",label:"Type",width:12,priority:2,render:(t,r,H)=>ye("text",{fg:e.subText,children:_(ot(t,"metric.type"),H)},void 0,!1,void 0,this)},{key:"value",label:"Value",width:14,align:"right",render:(t,r,H)=>ye("text",{fg:e.accent,children:_(mM(kt(t.row,"value"),Ge(t.row,"metric.unit")),H,"right")},void 0,!1,void 0,this)},{key:"project",label:"Project",width:14,priority:1,render:(t,r,H)=>ye("text",{fg:e.subText,children:_(ot(t,"project"),H)},void 0,!1,void 0,this)},{key:"timestamp",label:"Time",width:8,priority:3,render:(t,r,H)=>ye("text",{fg:e.muted,children:_($H(Ge(t.row,"timestamp")),H)},void 0,!1,void 0,this)}]}var pM={nanosecond:"ns",microsecond:"\xB5s",millisecond:"ms",second:"s",minute:"min",hour:"h",day:"d",week:"wk",bit:"b",byte:"B",kilobyte:"kB",kibibyte:"KiB",megabyte:"MB",mebibyte:"MiB",gigabyte:"GB",gibibyte:"GiB",terabyte:"TB",tebibyte:"TiB",percent:"%",ratio:""};function mM(e,t){if(e===void 0)return"\u2014";let r=Math.abs(e)<1000?String(Number(e.toFixed(2))):Pe(e);if(!t||t==="none")return r;let H=pM[t]??t;if(!H)return r;return H.length<=3?`${r}${H}`:`${r} ${H}`}function gM(e){let t={fatal:e.level.fatal,error:e.level.error,warning:e.level.warning,info:e.level.info,sample:e.level.sample};return[{key:"id",label:"Event ID",width:8,priority:3,render:(r,H,n)=>ye("text",{fg:e.muted,children:_(kf(r.id),n)},void 0,!1,void 0,this)},{key:"timestamp",label:"Time",width:8,render:(r,H,n)=>ye("text",{fg:e.muted,children:_($H(Ge(r.row,"timestamp")),n)},void 0,!1,void 0,this)},{key:"level",label:"Level",width:7,priority:4,render:(r,H,n)=>{let o=ot(r,"level").toLowerCase(),s=t[o]??e.level.unknown;return ye("text",{fg:s,attributes:o==="error"||o==="fatal"?X:0,children:_(o?o.toUpperCase():"",n)},void 0,!1,void 0,this)}},{key:"title",label:"Title",width:"flex",render:(r,H,n)=>ye("text",{fg:e.text,children:_(ot(r,"title"),n)},void 0,!1,void 0,this)},{key:"project",label:"Project",width:14,priority:2,render:(r,H,n)=>ye("text",{fg:e.subText,children:_(ot(r,"project"),n)},void 0,!1,void 0,this)},{key:"user.display",label:"User",width:18,priority:1,render:(r,H,n)=>ye("text",{fg:e.subText,children:_(ot(r,"user.display"),n)},void 0,!1,void 0,this)}]}function Ha(e){if(e===void 0)return"\u2014";if(e===0)return"$0";return e<1?`$${e.toFixed(4)}`:`$${e.toFixed(2)}`}function ot(e,t){return Ge(e.row,t)??""}function kf(e,t=8){return e.slice(0,t)}import{jsxDEV as Ze}from"h:6___________________________";var fM=28,Lf="Untitled conversation";function SM(e){return[{key:"conversation",label:"Conversation",width:"flex",render:(t,r,H)=>{let n=zi(t);return Ze("text",{fg:n?e.text:e.subText,children:_(n??Lf,H)},void 0,!1,void 0,this)}},{key:"duration",label:"Duration",width:9,align:"right",priority:2,render:(t,r,H)=>Ze("text",{fg:e.text,children:_(ZH(t.generationDurationMs),H,"right")},void 0,!1,void 0,this)},{key:"messages",label:"Msgs",width:5,align:"right",priority:5,render:(t,r,H)=>Ze("text",{fg:e.text,children:_(Pe(t.llmCalls),H,"right")},void 0,!1,void 0,this)},{key:"errors",label:"Errs",width:5,align:"right",priority:3,render:(t,r,H)=>{let n=t.errors;return Ze("text",{fg:n>0?e.danger:e.subText,attributes:n>0?X:0,children:_(n>0?Pe(n):"\xB7",H,"right")},void 0,!1,void 0,this)}},{key:"cost",label:"Cost",width:9,align:"right",priority:6,render:(t,r,H)=>Ze("text",{fg:e.accent,children:_(Ha(t.totalCost),H,"right")},void 0,!1,void 0,this)},{key:"tools",label:"Tools",width:20,priority:1,render:(t,r,H)=>Ze("text",{fg:e.subText,children:_(_M(t,H),H)},void 0,!1,void 0,this)},{key:"age",label:"Age",width:5,align:"right",priority:4,render:(t,r,H)=>Ze("text",{fg:e.muted,children:_(he(t.endedAt),H,"right")},void 0,!1,void 0,this)}]}function _M(e,t){let r=e.toolNames;if(r.length===0)return e.toolCalls>0?`${e.toolCalls} calls`:"";let H=[],n=0;for(let s of r){let i=(H.length>0?2:0)+s.length;if(n+i>t-(H.length<r.length-1?3:0))break;H.push(s),n+=i}if(H.length===0)H.push(r[0]);let o=r.length-H.length;return o>0?`${H.join(", ")} +${o}`:H.join(", ")}function If({client:e,org:t,state:r,focused:H,width:n,height:o,reloadToken:s,onProjectSelect:i,registerActions:a,activateRow:l}){let c=S(),{dispatch:A,focusSearch:u,handleSearchBlur:d}=r,m=r.committedQuery,g=r.selectedProjects.length>0?r.selectedProjects:void 0,p=r.selectedEnvs.length>0?r.selectedEnvs:void 0,{conversations:O,timeseries:y,nextCursor:L,page:f,nextPage:k,previousPage:I}=tf(e,{org:t,query:m,statsPeriod:r.statsPeriod,project:g,environment:p,reloadToken:s}),h=O.state==="loading",b=Je(O),w=B(O),T=se(O),q=B(y);na(()=>{if(w)A({type:"setEntries",payload:w})},[w,A]);let E=yM(f);na(()=>{if(E.current===f)return;E.current=f,A({type:"setSelected",payload:0})},[f,A]),na(()=>{A({type:"setStatus",payload:{loading:h,since:b,error:T?.message,noun:Vy}})},[h,b,T,O,A]);let D=OM(()=>A({type:"setOpenDropdown",payload:null}),[A]);Ke(a,{open:()=>A({type:"setDetailOpen",payload:(j)=>!j}),nextPage:k,previousPage:I,back:()=>{if(!r.detailOpen)return!1;return A({type:"setDetailOpen",payload:!1}),!0}});let x=w?.[r.selected]??null,P=r.detailOpen&&x!==null,N=!P&&Oo(o)&&q!==void 0&&q.length>0,F=Math.max(20,n-2);return Ze("box",{style:{flexDirection:"column",width:n,height:o},children:[Ze(Lt,{value:r.searchQuery,placeholder:"Search AI conversations\u2026",focused:r.searchFocused,width:n,onInput:(j)=>A({type:"setSearchQuery",payload:j}),onFocus:u,onBlur:d},void 0,!1,void 0,this),Ze(Ve,{client:e,org:t,openDropdown:r.openDropdown,selectedProjects:r.selectedProjects,selectedEnvs:r.selectedEnvs,statsPeriod:r.statsPeriod,width:n,anchorTop:Le,onProjectChange:i,onEnvChange:(j)=>A({type:"setSelectedEnvs",payload:j}),onPeriodChange:(j)=>A({type:"setStatsPeriod",payload:j}),onDropdownClose:D,onDropdownOpen:(j)=>A({type:"setOpenDropdown",payload:j})},void 0,!1,void 0,this),N&&q?Ze(yo,{buckets:q,width:F,height:FH,title:WH.yAxis,noun:WH.noun},void 0,!1,void 0,this):null,Ze(nt,{rows:w,columns:SM(c),width:n,selectedIndex:r.selected,focused:H,rowKey:(j,U)=>`${U}:${j.id}`,minFlex:fM,loading:ke(O),error:T,errorTitle:"Failed to load conversations",onRowClick:l,renderDetail:(j,U,z)=>kM(j,U,z,c),empty:{title:"No conversations found.",lines:Zy(m)},layout:[o,N,P]},void 0,!1,void 0,this),P&&x?Ze(hM,{conversation:x,width:F},void 0,!1,void 0,this):null,Ze(Re,{count:w?.length,noun:"conversation",hasMore:L!==null,pagination:L!==null||f>1?{page:f,hasPrevious:f>1,hasNext:L!==null,loading:h,onPrevious:I,onNext:k}:void 0},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function kM(e,t,r,H){let n=[Uy(e.id),e.projectId?`project ${e.projectId}`:void 0,Yy(e.user),e.traceCount>1?`${e.traceCount} traces`:void 0].filter(Boolean);return Ze("text",{fg:H.subText,attributes:rt,children:_(` ${n.join(" \u2502 ")}`,r)},void 0,!1,void 0,this)}function hM({conversation:e,width:t}){let r=S(),H=Math.max(10,t-2);return Ze("box",{style:{flexDirection:"column",width:t,border:["top"],borderColor:r.border,paddingTop:1,flexShrink:0},children:[Ze("text",{fg:r.accent,attributes:X,children:`\u25BE ${R(zi(e)??Lf,t-2)}`},void 0,!1,void 0,this),e.firstInput&&e.title?Ze("text",{fg:r.text,children:R(` \u2192 ${hf(e.firstInput)}`,H)},void 0,!1,void 0,this):null,e.lastOutput?Ze("text",{fg:r.muted,children:R(` \u2190 ${hf(e.lastOutput)}`,H)},void 0,!1,void 0,this):null,Ze("text",{fg:r.muted,children:R(` ${uH(e.llmCalls,"call")} \u2502 `+`${uH(e.toolCalls,"tool")} \u2502 `+`${Pe(e.inputTokens)} in / ${Pe(e.outputTokens)} out \u2502 `+`${Ha(e.totalCost)} \u2502 ${ZH(e.generationDurationMs)}`,H)},void 0,!1,void 0,this),e.traceIds[0]?Ze("text",{fg:r.subText,attributes:rt,children:R(` trace ${e.traceIds[0]}`,H)},void 0,!1,void 0,this):null]},void 0,!0,void 0,this)}function hf(e){return e.replace(/\s+/g," ").trim()}import{useCallback as ia,useEffect as aa,useMemo as yH,useRef as DM,useState as ca}from"h:0__";var bf=["count","avg","p50","p75","p90","p95","p99","sum","min","max","count_unique"],LM=["count","avg","p50","p75","p90","p95","p99","p100","sum","min","max","count_unique","epm","eps","failure_rate","failure_count","performance_score","opportunity_score"],IM={id:"explore.traces",dataset:"spans",fields:["id","span.name","span.description","span.duration","transaction","timestamp"],sort:"-timestamp",idField:"id",yAxis:"count(span.duration)",builder:{itemType:"spans",aggregates:LM,numberField:"span.duration",uniqueField:"span.op"},noun:"spans",searchPlaceholder:"Search spans\u2026",referrer:"sentry-tui.explore-traces"},bM={id:"explore.logs",dataset:"logs",fields:["sentry.item_id","trace","sentry.severity","timestamp","message","project"],sort:"-timestamp",idField:"sentry.item_id",yAxis:"count(message)",builder:{itemType:"logs",aggregates:bf,uniqueField:"message"},noun:"logs",searchPlaceholder:"Search logs\u2026",referrer:"sentry-tui.explore-logs",feature:"logs"},wM={id:"explore.metrics",dataset:"tracemetrics",fields:["id","metric.name","metric.type","value","metric.unit","project","timestamp"],sort:"-timestamp",idField:"id",yAxis:"count(value)",builder:{itemType:"tracemetrics",aggregates:bf,numberField:"value",uniqueField:"metric.name"},noun:"metrics",searchPlaceholder:"Search metrics\u2026",referrer:"sentry-tui.explore-metrics",feature:"tracemetrics-enabled"},xM={id:"explore.errors",dataset:"errors",fields:["id","title","level","project","user.display","timestamp"],sort:"-timestamp",idField:"id",yAxis:"count()",noun:"events",searchPlaceholder:"Search error events\u2026",referrer:"sentry-tui.explore-errors",feature:"explore-errors"},TM=[IM,bM,wM,xM],PM=new Map(TM.map((e)=>[e.id,e]));function wf(e){return PM.get(e)}function xf(e,t){let r=e.baseQuery?.trim()??"",H=t.trim();if(!r)return H;if(!H)return r;return`(${r}) and (${H})`}function Tf(e,t=e.yAxis){return t==="count()"||e.id==="explore.logs"&&t==="count(message)"?`count(${e.noun})`:t}function Pf(e,t){return[t||void 0,"Try widening the time range or adjusting the query.",e.feature?`This organization may not have ${e.feature} enabled.`:"This organization may not be sending this data yet."]}import{useMemo as xo}from"h:0__";import{jsxDEV as Ct,Fragment as QM}from"h:6___________________________";var To=ft,bo=1,oa=3,sa="",Mf=44;function Cf({table:e,query:t,attributes:r,open:H,width:n,anchorTop:o,interval:s,intervalItems:i,onChange:a,onIntervalChange:l,onOpen:c,onClose:A}){let u=S(),d=Lo(t,e),m=Or(t.aggregate),g=m!=="none"&&m!=="count",p=xo(()=>r.number.map(({key:b})=>b),[r.number]),O=xo(()=>Hf(e,p).map(({name:b})=>({label:b,value:b})),[e,p]),y=[{kind:"label",text:"Visualize",gapBefore:0},{kind:"chip",gapBefore:bo,opens:"visualize",onPress:()=>c("visualize"),chip:{command:"sentry.explore.visualize",label:t.aggregate,caret:!0}},{kind:"chip",gapBefore:Lr,opens:"field",onPress:()=>g&&c("field"),chip:{command:"sentry.explore.visualizeField",label:df(t,e),caret:g}},{kind:"label",text:"Group by",gapBefore:oa},{kind:"chip",gapBefore:bo,opens:"groupBy",onPress:()=>c("groupBy"),chip:{command:"sentry.explore.groupBy",label:pf(t),caret:!0}},{kind:"label",text:"Sort",gapBefore:oa},{kind:"chip",gapBefore:bo,opens:"sort",onPress:()=>c("sort"),chip:{command:"sentry.view.sort",label:d.field,caret:!0}},{kind:"chip",gapBefore:Lr,opens:null,onPress:()=>a(ho(t,e)),chip:{command:"sentry.explore.sortDirection",label:d.direction==="desc"?"Desc":"Asc"}},{kind:"label",text:"Interval",gapBefore:oa},{kind:"chip",gapBefore:bo,opens:"interval",onPress:()=>c("interval"),chip:{command:"sentry.explore.interval",label:s,caret:!0}}],L=qf(y,!0),f=L.total<=n,{placed:k}=f?L:qf(y,!1),I=o+ft,h=(b)=>k.find((w)=>w.item.kind==="chip"&&w.item.opens===b)?.left??0;return Ct(QM,{children:[Ct("box",{style:{flexDirection:"row",alignItems:"center",flexShrink:0,height:ft,overflow:"hidden"},children:k.map(({item:b,key:w,gap:T})=>b.kind==="label"?Ct("text",{fg:u.muted,children:`${" ".repeat(T)}${b.text}`},w,!1,void 0,this):Ct("box",{style:{flexDirection:"row",flexShrink:0},children:[T>0?Ct("text",{children:" ".repeat(T)},void 0,!1,void 0,this):null,Ct(Gr,{...b.chip,active:H!==null&&H===b.opens,onPress:b.onPress},void 0,!1,void 0,this)]},w,!0,void 0,this))},void 0,!1,void 0,this),H==="visualize"?Ct(lt,{title:"Visualize",items:O,selected:[t.aggregate],anchorLeft:h("visualize"),anchorTop:I,showAll:!1,onSelect:(b)=>{let w=b[0];if(w)a(sf(t,w,e,p));A()},onClose:A},void 0,!1,void 0,this):null,H==="field"?Ct(qM,{query:t,attributes:r,anchorLeft:h("field"),anchorTop:I,onSelect:(b)=>{a(af(t,b)),A()},onClose:A},void 0,!1,void 0,this):null,H==="groupBy"?Ct(MM,{query:t,attributes:r,anchorLeft:h("groupBy"),anchorTop:I,onSelect:(b)=>{a(lf(t,CM(t.groupBys,b),e)),A()},onClose:A},void 0,!1,void 0,this):null,H==="sort"?Ct(lt,{title:"Sort By",items:ta(t,e).map((b)=>({label:b,value:b})),selected:[d.field],anchorLeft:h("sort"),anchorTop:I,showAll:!1,placeholder:"No sortable columns",onSelect:(b)=>{let w=b[0];if(w)a(YH(t,{field:w,direction:d.direction}));A()},onClose:A},void 0,!1,void 0,this):null,H==="interval"?Ct(lt,{title:"Chart Interval",items:i,selected:[s],anchorLeft:h("interval"),anchorTop:I,showAll:!1,placeholder:"No intervals for this range",onSelect:(b)=>{let w=b[0];if(w)l(w);A()},onClose:A},void 0,!1,void 0,this):null]},void 0,!0,void 0,this)}function qM({query:e,attributes:t,anchorLeft:r,anchorTop:H,onSelect:n,onClose:o}){let s=Or(e.aggregate),i=xo(()=>{if(s==="any")return wo([...t.string,...t.number,...t.boolean]);if(s==="score")return wo(t.number.filter((a)=>gf(a.key)));return wo(t.number)},[s,t]);return Ct(lt,{title:"Field",items:i,selected:[e.argument],anchorLeft:r,anchorTop:H,showAll:!1,filterable:!0,maxWidth:Mf,placeholder:t.loading?"Loading attributes\u2026":"No attributes found",onSelect:(a)=>{let l=a[0];if(l)n(l)},onClose:o},void 0,!1,void 0,this)}function MM({query:e,attributes:t,anchorLeft:r,anchorTop:H,onSelect:n,onClose:o}){let s=xo(()=>[{label:"\u2014",value:sa},...wo([...t.string,...t.number,...t.boolean].filter((i)=>!nf.has(i.key)))],[t.string,t.number,t.boolean]);return Ct(lt,{title:"Group By",items:s,selected:e.groupBys.length>0?[...e.groupBys]:[sa],anchorLeft:r,anchorTop:H,showAll:!1,filterable:!0,maxWidth:Mf,placeholder:t.loading?"Loading attributes\u2026":"No attributes found",onSelect:(i)=>n(i[0]??sa),onClose:o},void 0,!1,void 0,this)}function wo(e){return[...new Map(e.map((t)=>[t.key,{label:t.key,value:t.key}])).values()]}function CM(e,t){if(!t)return[];return e.includes(t)?e.filter((r)=>r!==t):[...e,t]}function qf(e,t){let r=[],H=0,n=!0;for(let o of e){if(o.kind==="label"&&!t)continue;let s=n?0:o.gapBefore;n=!1;let i=H+s;r.push({item:o,key:o.kind==="label"?`label:${o.text}`:o.chip.command,left:i,gap:s}),H=i+(o.kind==="label"?ce(o.text):vt(o.chip))}return{placed:r,total:H}}import{useCallback as Qf}from"h:0__";function Nf(e,t,{org:r,query:H,request:n,statsPeriod:o,interval:s,project:i,environment:a,reloadToken:l=0}){let c=xf(t,H),A=Qf((g,p)=>e?zy(e,{org:r,query:c,statsPeriod:o,project:i,environment:a,cursor:g,signal:p,dataset:t.dataset,fields:n.fields,sort:n.sort,idField:n.idField,referrer:t.referrer}):null,[e,r,c,n,o,i,a,t]),u=Qf((g)=>e?fo(e,{org:r,query:c,statsPeriod:o,interval:s,project:i,environment:a,signal:g,dataset:t.dataset,yAxis:n.yAxis,groupBy:n.groupBys.length>0?n.groupBys:void 0,sort:n.sort,topEvents:n.groupBys.length>0?9:void 0,referrer:`${t.referrer}-chart`}):null,[e,r,c,n,o,s,i,a,t]),d=It(A,l),m=Kt(u,{reloadKey:l}).status;return{events:dt(d.status,(g)=>g.data),timeseries:m,nextCursor:d.nextCursor,page:d.page,nextPage:d.nextPage,previousPage:d.previousPage}}import{useEffect as NM,useState as jM}from"h:0__";async function jf(e,{org:t,itemType:r,attributeType:H,project:n,environment:o,statsPeriod:s,signal:i}){let{data:a}=await Pc({...e.generatedOptions(i),path:{organization_id_or_slug:t},query:{itemType:r,attributeType:[H],project:Fe(n),environment:o,statsPeriod:s}}),l=new Set,c=[];for(let A of Array.isArray(a)?a:[]){let u=typeof A?.key==="string"?A.key:"";if(!u||l.has(u))continue;l.add(u),c.push({key:u,name:typeof A.name==="string"&&A.name?A.name:u,type:H})}return c.sort((A,u)=>A.name.localeCompare(u.name)),c}var Po=[],Df={string:Po,number:Po,boolean:Po,loading:!1};function Rf(e,{org:t,itemType:r,statsPeriod:H,project:n,environment:o}){let[s,i]=jM(Df),a=n?.join(",")??"",l=o?.join(",")??"";return NM(()=>{if(!e||!r){i(Df);return}let c=new AbortController,A=!1;i((d)=>({...d,loading:!0}));let u=(d)=>jf(e,{org:t,itemType:r,attributeType:d,statsPeriod:H,project:a?a.split(","):void 0,environment:l?l.split(","):void 0,signal:c.signal}).catch(()=>Po);return Promise.all([u("string"),u("number"),u("boolean")]).then(([d,m,g])=>{if(A)return;i({string:d,number:m,boolean:g,loading:!1})}),()=>{A=!0,c.abort()}},[e,t,r,H,a,l]),s}import{jsxDEV as xe,Fragment as FM}from"h:6___________________________";var vf=26;function zH(e){let t=S(),r=wf(e.screen.id);if(!r)return xe("box",{style:{flexDirection:"column",paddingLeft:1},children:xe("text",{fg:t.danger,children:`No Explore table configured for ${e.screen.id}.`},void 0,!1,void 0,this)},void 0,!1,void 0,this);return xe(RM,{...e,table:r},void 0,!1,void 0,this)}function RM({client:e,org:t,state:r,focused:H,width:n,height:o,reloadToken:s,onProjectSelect:i,registerActions:a,activateRow:l,table:c}){let A=S(),{dispatch:u,focusSearch:d,handleSearchBlur:m}=r,g=r.committedQuery,p=r.selectedProjects.length>0?r.selectedProjects:void 0,O=r.selectedEnvs.length>0?r.selectedEnvs:void 0,[y,L]=ca(()=>of(c)),[f,k]=ca(null),[I,h]=ca(),b=c.builder!==void 0,w=yH(()=>Af(c,y),[c,y]),T=yH(()=>Rn(c.fields),[c.fields]),q=yH(()=>cl(r.statsPeriod),[r.statsPeriod]),E=q.find(({value:fe})=>fe===I)?.value??q[0]?.value??qr(r.statsPeriod),D=Rf(e,{org:t,itemType:c.builder?.itemType,statsPeriod:r.statsPeriod,project:p,environment:O}),{events:x,timeseries:P,nextCursor:N,page:F,nextPage:j,previousPage:U}=Nf(e,c,{org:t,query:g,request:w,statsPeriod:r.statsPeriod,interval:E,project:p,environment:O,reloadToken:s}),z=x.state==="loading",oe=Je(x),ie=B(x),G=se(x),Y=B(P);aa(()=>{if(ie)u({type:"setEntries",payload:ie})},[ie,u]);let ee=DM(F);aa(()=>{if(ee.current===F)return;ee.current=F,u({type:"setSelected",payload:0})},[F,u]),aa(()=>{u({type:"setStatus",payload:{loading:z,since:oe,error:G?.message,noun:c.noun}})},[z,oe,G,x,u,c.noun]);let C=ia(()=>u({type:"setOpenDropdown",payload:null}),[u]),v=ia(()=>k(null),[]),pe=ia((fe)=>{u({type:"setOpenDropdown",payload:null}),k(fe)},[u]);Ke(a,{open:()=>u({type:"setDetailOpen",payload:(fe)=>!fe}),nextPage:j,previousPage:U,back:()=>{if(!r.detailOpen)return!1;return u({type:"setDetailOpen",payload:!1}),!0},handleKey:(fe)=>{if(Q("sentry.explore.interval",fe))return pe("interval"),!0;if(!b)return!1;if(Q("sentry.explore.visualize",fe))return pe("visualize"),!0;if(Q("sentry.explore.visualizeField",fe)){let Te=Or(y.aggregate);if(Te!=="none"&&Te!=="count")pe("field");return!0}if(Q("sentry.explore.groupBy",fe))return pe("groupBy"),!0;if(Q("sentry.view.sort",fe))return pe("sort"),!0;if(Q("sentry.explore.sortDirection",fe))return L((Te)=>ho(Te,c)),!0;return!1}});let Me=yH(()=>BM(ie),[ie]),de=yH(()=>XM(ie,w.yAxis),[ie,w.yAxis]),re=yH(()=>w.mode==="aggregate"?_f(y.groupBys,w.yAxis,de,A):Sf(c.id,{maxDurationMs:Me,theme:A}),[w.mode,w.yAxis,y.groupBys,de,c.id,Me,A]),ue=ie?.[r.selected]??null,Ae=r.detailOpen&&ue!==null,He=!Ae&&Oo(o,To)&&Y!==void 0&&Y.length>0,Ce=Math.max(20,n-2);return xe("box",{style:{flexDirection:"column",width:n,height:o},children:[xe(Lt,{value:r.searchQuery,placeholder:c.searchPlaceholder,focused:r.searchFocused,width:n,onInput:(fe)=>u({type:"setSearchQuery",payload:fe}),onFocus:d,onBlur:m},void 0,!1,void 0,this),xe(Ve,{client:e,org:t,openDropdown:r.openDropdown,selectedProjects:r.selectedProjects,selectedEnvs:r.selectedEnvs,statsPeriod:r.statsPeriod,sort:b?void 0:{value:w.sort,items:T,onChange:(fe)=>L((Te)=>YH(Te,ea(fe)))},width:n,anchorTop:Le,onProjectChange:i,onEnvChange:(fe)=>u({type:"setSelectedEnvs",payload:fe}),onPeriodChange:(fe)=>u({type:"setStatsPeriod",payload:fe}),onDropdownClose:C,onDropdownOpen:(fe)=>u({type:"setOpenDropdown",payload:fe})},void 0,!1,void 0,this),b?xe(Cf,{table:c,query:y,attributes:D,open:f,width:n,anchorTop:Le+To,interval:E??"",intervalItems:q,onChange:L,onIntervalChange:h,onOpen:pe,onClose:v},void 0,!1,void 0,this):xe(vM,{interval:E??"",items:q,open:f==="interval",width:n,anchorTop:Le+To,onOpen:()=>pe("interval"),onChange:h,onClose:v},void 0,!1,void 0,this),He&&Y?xe(yo,{buckets:Y,width:Ce,height:FH,title:Tf(c,w.yAxis),noun:mf(y.aggregate)?c.noun:void 0},void 0,!1,void 0,this):null,xe(nt,{rows:ie,columns:re,width:n,selectedIndex:r.selected,focused:H,rowKey:(fe,Te)=>`${Te}:${fe.id}`,minFlex:ff,loading:ke(x),error:G,errorTitle:`Failed to load ${c.noun}`,onRowClick:l,empty:{title:`No ${c.noun} found.`,lines:Pf(c,g)},layout:[o,He,Ae]},void 0,!1,void 0,this),Ae&&ue?c.id==="explore.logs"?xe(GM,{event:ue,width:Ce},void 0,!1,void 0,this):xe(EM,{event:ue,fields:w.fields,width:Ce},void 0,!1,void 0,this):null,xe(Re,{count:ie?.length,noun:WM(c),hasMore:N!==null,pagination:N!==null||F>1?{page:F,hasPrevious:F>1,hasNext:N!==null,loading:z,onPrevious:U,onNext:j}:void 0},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function vM({interval:e,items:t,open:r,width:H,anchorTop:n,onOpen:o,onChange:s,onClose:i}){let a=S();return xe(FM,{children:[xe("box",{style:{flexDirection:"row",alignItems:"center",flexShrink:0,height:ft,overflow:"hidden"},children:[xe("text",{fg:a.muted,children:"Interval "},void 0,!1,void 0,this),xe(Gr,{command:"sentry.explore.interval",label:e,caret:!0,active:r,onPress:o},void 0,!1,void 0,this)]},void 0,!0,void 0,this),r?xe(lt,{title:"Chart Interval",items:t,selected:[e],anchorLeft:9,anchorTop:n+ft,availableWidth:H,showAll:!1,onSelect:(l)=>{let c=l[0];if(c)s(c);i()},onClose:i},void 0,!1,void 0,this):null]},void 0,!0,void 0,this)}function GM({event:e,width:t}){let r=S(),H=ot(e,"trace");return xe("box",{style:{flexDirection:"column",width:t,border:["top"],borderColor:r.border,paddingTop:1,flexShrink:0},children:[xe("text",{fg:r.accent,attributes:X,children:"\u25BE Log Details"},void 0,!1,void 0,this),xe("text",{fg:r.text,children:R(ot(e,"message"),t)},void 0,!1,void 0,this),xe("text",{fg:r.muted,children:` Severity: ${ra(e)} \u2502 Project: ${ot(e,"project")||"\u2014"}`},void 0,!1,void 0,this),H?xe("text",{fg:r.muted,children:` Trace: ${H}`},void 0,!1,void 0,this):null]},void 0,!0,void 0,this)}function EM({event:e,fields:t,width:r}){let H=S(),n=Math.max(10,r-vf-2);return xe("box",{style:{flexDirection:"column",width:r,border:["top"],borderColor:H.border,paddingTop:1,flexShrink:0},children:[xe("text",{fg:H.accent,attributes:X,children:"\u25BE Row Details"},void 0,!1,void 0,this),t.map((o)=>xe("box",{style:{flexDirection:"row",width:r},children:[xe("text",{fg:H.muted,children:` ${_(o,vf)}`},void 0,!1,void 0,this),xe("text",{fg:H.text,children:R(KM(e,o),n)},void 0,!1,void 0,this)]},o,!0,void 0,this))]},void 0,!0,void 0,this)}function KM(e,t){let r=ot(e,t);return r===""?"\u2014":r.replace(/\s+/g," ")}function XM(e,t){let r=0;for(let H of e??[]){let n=kt(H.row,t);if(n!==void 0&&n>r)r=n}return r}function BM(e){if(!e)return 0;let t=0;for(let r of e){let H=Number(r.row["span.duration"]);if(Number.isFinite(H)&&H>t)t=H}return t}function WM(e){return e.noun.endsWith("s")?e.noun.slice(0,-1):e.noun}import{useCallback as MC,useEffect as sS,useMemo as CC}from"h:0__";var UM={"dashboards.all":{title:"All Dashboards",description:"Every dashboard in this organization.",sort:"recentlyViewed",searchPlaceholder:"Search dashboards by title\u2026",emptyTitle:"No dashboards found.",emptyLines:["This organization may not have dashboards enabled.","Otherwise there are none yet \u2014 create one on sentry.io, as this client is read-only."]},"dashboards.sentry-built":{title:"Sentry Built",description:"Prebuilt dashboards Sentry ships for you.",filter:"onlyPrebuilt",sort:"mostPopular",searchPlaceholder:"Search Sentry Built dashboards\u2026",emptyTitle:"No Sentry Built dashboards.",emptyLines:["This organization may not have prebuilt dashboards enabled.","The web app hides this section entirely without the feature; we can't read org features, so it shows up empty instead."]}};function Gf(e){return UM[e]}import{jsxDEV as JH,Fragment as YM}from"h:6___________________________";function fH({value:e,items:t,open:r,width:H,anchorTop:n,onChange:o,onOpen:s,onClose:i}){let a=Math.max(0,H-vt({command:RH,label:vH(t,e),caret:!0}));return JH(YM,{children:[JH("box",{style:{flexDirection:"row",alignItems:"center",flexShrink:0,width:H,height:ft,overflow:"hidden"},children:[JH("box",{style:{flexGrow:1}},void 0,!1,void 0,this),JH(vn,{value:e,items:t,open:r,onOpen:s},void 0,!1,void 0,this)]},void 0,!0,void 0,this),r?JH(Gn,{value:e,items:t,anchorLeft:a,anchorTop:n+ft,availableWidth:H,onChange:o,onClose:i},void 0,!1,void 0,this):null]},void 0,!0,void 0,this)}import{useCallback as LC,useEffect as SH,useMemo as fa,useRef as nS,useState as IC}from"h:0__";function Vr(e){switch(e){case"big_number":return"number";case"bar":case"area":case"line":return"series";case"table":case"top_n":return"table";case"categorical_bar":return"bars";default:return"unsupported"}}function Aa(e){switch(e){case void 0:case null:case"discover":return"discover";case"error-events":return"errors";case"transaction-like":return"transactions";case"spans":return"spans";case"logs":return"ourlogs";case"tracemetrics":return"tracemetrics";case"preprod-app-size":return"preprodSize";default:return null}}function ua(e){if(Vr(e.displayType)==="unsupported")return`"${e.displayType}" widgets are not renderable in the terminal.`;return`"${e.widgetType}" widgets are not read through the events API.`}var $M=5,VM=10,qo=8;async function Kf(e,{org:t,widget:r,statsPeriod:H,project:n,environment:o,signal:s}){let i=Vr(r.displayType),a=Aa(r.widgetType),l=r.queries[0];if(i==="unsupported"||a===null||!l)return null;let c={org:t,dataset:a,query:l.conditions,statsPeriod:H,project:n,environment:o,referrer:"sentry-tui.dashboards",signal:s};switch(i){case"number":{let A=ZM(l),u=await Tt(e,{...c,fields:[A],limit:1}),d=u.rows[0]?kt(u.rows[0],A):void 0;return{kind:"number",value:d,formatted:pa(d),label:A}}case"series":{let A=al(H,r.interval,r.displayType==="bar"),u=[];for(let d of r.queries){let m=d.aggregates[0]??"count()",g=await Qs(e,{...c,query:d.conditions,yAxis:m,interval:A});u.push({buckets:g,label:d.name||m})}return{kind:"series",series:u}}case"table":{let A=zM(l),u=await Tt(e,{...c,fields:A,sort:l.orderby||void 0,limit:da(r)});return{kind:"table",headers:JM(l,A),fields:A,rows:u.rows}}case"bars":{let A=l.columns[0],u=l.aggregates[0]??"count()";return{kind:"bars",entries:(await Tt(e,{...c,fields:A?[A,u]:[u],sort:l.orderby||`-${u}`,limit:qo})).rows.map((p,O)=>({label:(A?Ge(p,A):void 0)??`#${O+1}`,value:kt(p,u)??0})),label:u}}}}function ZM(e){let t=e.selectedAggregate??0;return e.aggregates[t]??e.aggregates[0]??"count()"}function zM(e){let t=e.fields?.filter((H)=>H.length>0)??[];if(t.length>0)return t;let r=[...e.columns,...e.aggregates].filter((H)=>H.length>0);return r.length>0?r:["count()"]}function JM(e,t){return t.map((r,H)=>e.fieldAliases?.[H]||r)}function da(e){let t=e.limit??$M;return Math.max(1,Math.min(t,VM))}function pa(e){if(e===void 0||!Number.isFinite(e))return"\u2014";if(!Number.isInteger(e))return Math.abs(e)>=1000?Ef(e):e.toFixed(2);return Math.abs(e)>=1e4?Ef(e):String(e)}function Ef(e){let t=e<0?"-":"",r=Math.abs(e);if(r>=1e9)return`${t}${la(r/1e9)}b`;if(r>=1e6)return`${t}${la(r/1e6)}m`;return`${t}${la(r/1000)}k`}function la(e){return e.toFixed(1).replace(/\.0$/,"")}var Xf=5;var Bf={"0":["\u2588\u2588\u2588","\u2588 \u2588","\u2588 \u2588","\u2588 \u2588","\u2588\u2588\u2588"],"1":[" \u2588\u2588"," \u2588"," \u2588"," \u2588"," \u2588"],"2":["\u2588\u2588\u2588"," \u2588","\u2588\u2588\u2588","\u2588 ","\u2588\u2588\u2588"],"3":["\u2588\u2588\u2588"," \u2588","\u2588\u2588\u2588"," \u2588","\u2588\u2588\u2588"],"4":["\u2588 \u2588","\u2588 \u2588","\u2588\u2588\u2588"," \u2588"," \u2588"],"5":["\u2588\u2588\u2588","\u2588 ","\u2588\u2588\u2588"," \u2588","\u2588\u2588\u2588"],"6":["\u2588\u2588\u2588","\u2588 ","\u2588\u2588\u2588","\u2588 \u2588","\u2588\u2588\u2588"],"7":["\u2588\u2588\u2588"," \u2588"," \u2588"," \u2588"," \u2588"],"8":["\u2588\u2588\u2588","\u2588 \u2588","\u2588\u2588\u2588","\u2588 \u2588","\u2588\u2588\u2588"],"9":["\u2588\u2588\u2588","\u2588 \u2588","\u2588\u2588\u2588"," \u2588","\u2588\u2588\u2588"],"-":[" "," ","\u2588\u2588\u2588"," "," "],".":[" "," "," "," ","\u2588"],",":[" "," "," "," ","\u2588"]," ":[" "," "," "," "," "]};function eC(e){return e in Bf}function Wf(e){let t=0;while(t<e.length&&eC(e[t]))t++;return{numeric:e.slice(0,t),suffix:e.slice(t)}}function Ff(e){let t=[...e].map((r)=>Bf[r]).filter((r)=>r!==void 0);if(t.length===0)return Array.from({length:5},()=>"");return Array.from({length:5},(r,H)=>t.map((n)=>n[H]).join(" "))}var tC=2,rC=1,ma=1,en=8,HC=1,nC=Xf+1,oC=2,sC=1;function iC(e,t){switch(t){case"number":return nC;case"series":return en+HC;case"table":return sC+da(e);case"bars":return ga(e);case"unsupported":return oC}}function Uf(e,t){return tC+rC+iC(e,t)+ma}function ga(e){let t=e.limit??qo;return Math.max(1,Math.min(t,qo))}function Yf(e){return[...e].map((t,r)=>({widget:t,index:r})).sort((t,r)=>{let H=t.widget.layout,n=r.widget.layout;if(!H&&!n)return t.index-r.index;if(!H)return 1;if(!n)return-1;return H.y-n.y||H.x-n.x||t.index-r.index}).map(({widget:t})=>t)}function aC(e){let t=[],r=0;for(let H of e)t.push(r),r+=H;return t}function $f({heights:e,index:t,viewportHeight:r,scrollTop:H}){if(e.length===0||r<=0)return 0;let n=Math.max(0,Math.min(t,e.length-1)),o=aC(e),s=o[e.length-1]+e[e.length-1],i=Math.max(0,s-r),a=o[n],l=a+e[n],c=a<H||e[n]>r?a:l>H+r?l-r:H;return Math.min(Math.max(c,0),i)}import{jsxDEV as le}from"h:6___________________________";var cC=4,Mo=6,lC=8,AC=24,Vf=8,uC=8;function Jf({widget:e,kind:t,status:r,width:H,height:n,selected:o,placeholder:s=!1}){let i=S(),a=Math.max(4,H-cC),l=Math.max(0,n-3);return le("box",{style:{flexDirection:"column",width:H,height:n,flexShrink:0,marginBottom:ma,border:!0,borderColor:o?i.accent:i.border,backgroundColor:o?i.panel:void 0,paddingLeft:1,paddingRight:1},children:[le(dC,{widget:e,width:a,selected:o,placeholder:s},void 0,!1,void 0,this),le(pC,{widget:e,kind:t,status:s?void 0:r,width:a,lines:l},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function dC({widget:e,width:t,selected:r,placeholder:H}){let n=S(),o=e.displayType,s=Math.max(1,t-o.length-1);return le("box",{style:{flexDirection:"row",width:t,flexShrink:0},children:[le("text",{fg:H?n.panelAlt:r?n.accent:n.text,attributes:H?0:X,children:_(H?Oa(s,3):e.title||"Untitled widget",s)},void 0,!1,void 0,this),le("text",{fg:n.subText,attributes:rt,children:_(o,o.length+1,"right")},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function pC({widget:e,kind:t,status:r,width:H,lines:n}){if(t==="unsupported")return le(zf,{reason:ua(e),width:H,lines:n},void 0,!1,void 0,this);let o=se(r);if(o)return le(kC,{message:o.message,width:H,lines:n},void 0,!1,void 0,this);let s=B(r)??null;if(s===null&&r?.state==="ready")return le(zf,{reason:ua(e),width:H,lines:n},void 0,!1,void 0,this);let i=s===null||Ig(r)||r===void 0;switch(t){case"number":return le(mC,{data:s?.kind==="number"?s:void 0,pending:i,width:H},void 0,!1,void 0,this);case"series":return le(gC,{data:s?.kind==="series"?s:void 0,pending:i,width:H},void 0,!1,void 0,this);case"table":return le(fC,{data:s?.kind==="table"?s:void 0,width:H,lines:n},void 0,!1,void 0,this);case"bars":return le(_C,{data:s?.kind==="bars"?s:void 0,rows:ga(e),width:H},void 0,!1,void 0,this)}}function mC({data:e,pending:t,width:r}){let H=S(),{numeric:n,suffix:o}=Wf(e?.formatted??""),s=Ff(t||n.length===0?"000":n),i=t||n.length===0,a=s.length-1,l=o?` ${o}`:"",c=(s[0]?.length??0)+l.length;return le("box",{style:{flexDirection:"column",width:r,flexShrink:0},children:[s.map((A,u)=>le("box",{style:{flexDirection:"row",width:r,flexShrink:0},children:le("text",{fg:i?H.panelAlt:H.text,children:_(_(u===a?A+l:A,c),r,"center")},void 0,!1,void 0,this)},u,!1,void 0,this)),le("text",{fg:H.muted,children:_(e?.label??"",r,"center")},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function gC({data:e,pending:t,width:r}){let H=S(),n=Math.max(4,r-Mo-1),o=(e?.series??[]).map(({buckets:m,label:g})=>({label:g,points:m.map(([p,O])=>[p,O[0]?.count??0])})),s=t?[{label:"",points:void 0}]:o.slice(0,en),i=[H.accent,H.success,H.warning,H.highlight],a=Math.floor(en/Math.max(1,s.length)),l=en%Math.max(1,s.length),c=s.length>1,A=s.flatMap(({label:m,points:g},p)=>{let O=a+(l-- >0?1:0),y=g?AH(g,n):void 0,L=zn(y,n,O,{floor:!0}),f=g&&g.length>0?Math.max(...g.map(([,k])=>k)):0;return L.map((k,I)=>({line:k,color:i[p%i.length],gutter:c?I===0?R(m,Mo):"":OC(I,L.length,f,Boolean(g))}))}),u=o[0]?.points,d=c?`${s.length} series`:o[0]?.label??"";return le("box",{style:{flexDirection:"column",width:r,flexShrink:0},children:[A.map(({line:m,gutter:g,color:p},O)=>le("box",{style:{flexDirection:"row",width:r,flexShrink:0},children:[le("text",{fg:H.muted,attributes:rt,children:`${_(g,Mo,c?"left":"right")} `},void 0,!1,void 0,this),le("text",{fg:t?H.panelAlt:p,children:m},void 0,!1,void 0,this)]},O,!0,void 0,this)),le("box",{style:{flexDirection:"row",width:r,flexShrink:0},children:[le("text",{fg:H.muted,attributes:rt,children:" ".repeat(Mo+1)},void 0,!1,void 0,this),le("text",{fg:H.subText,attributes:rt,children:yC(u,d,n)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}function OC(e,t,r,H){if(!H)return"";if(e===0)return pa(r);if(e===t-1)return"0";return""}function yC(e,t,r){if(!e||e.length===0||r<12)return" ".repeat(Math.max(0,r));let H=Zf(e[0][0]),n=Zf(e[e.length-1][0]),o=Math.max(1,r-H.length-n.length);return`${H}${_(R(t,Math.max(0,o-4)),o,"center")}${n}`.slice(0,r)}function Zf(e){let t=new Date(e*1000);return`${String(t.getHours()).padStart(2,"0")}:${String(t.getMinutes()).padStart(2,"0")}`}function fC({data:e,width:t,lines:r}){let H=S(),n=e?.headers??[],o=e?.fields??[],s=(n.length>0?n:[""]).map((l,c)=>({key:String(c),width:"flex",priority:n.length-c,header:l,field:o[c]??""})),i=br(s,t,{gap:1,minFlex:uC}),a=Math.max(0,r-1);return le("box",{style:{flexDirection:"column",width:t,flexShrink:0},children:[le("text",{fg:H.muted,children:i.map(({column:l,width:c})=>_(l.header,c)).join(" ")},void 0,!1,void 0,this),Array.from({length:a},(l,c)=>{let A=e?.rows[c];return le("text",{fg:A?H.text:H.panelAlt,children:i.map(({column:u,width:d})=>_(A?SC(A,u.field):e?"":Oa(d,c),d)).join(" ")},c,!1,void 0,this)})]},void 0,!0,void 0,this)}function SC(e,t){let r=e[t];if(r===void 0||r===null||r==="")return"\u2014";if(typeof r==="number")return Number.isInteger(r)?String(r):r.toFixed(2);return String(r)}function Oa(e,t){if(e<=0)return"";let r=0.4+t*17%45/100;return"\u2500".repeat(Math.max(1,Math.min(e,Math.floor(e*r))))}function _C({data:e,rows:t,width:r}){let H=S(),n=Math.max(lC,Math.min(AC,Math.floor(r*0.35))),o=Math.max(1,r-n-Vf-2),s=e?.entries??[],i=Math.max(1,...s.map((a)=>a.value));return le("box",{style:{flexDirection:"column",width:r,flexShrink:0},children:Array.from({length:t},(a,l)=>{let c=s[l],A=c?Math.max(1,Math.round(c.value/i*o)):0,u=c||!e?Math.max(0,o-A):0;return le("box",{style:{flexDirection:"row",width:r,flexShrink:0},children:[le("text",{fg:c?H.subText:H.panelAlt,children:`${_(c?.label??(e?"":Oa(n,l)),n)} `},void 0,!1,void 0,this),A>0?le("text",{fg:H.accent,children:"\u2588".repeat(A)},void 0,!1,void 0,this):null,u>0?le("text",{fg:H.panelAlt,children:"\u2591".repeat(u)},void 0,!1,void 0,this):null,le("text",{fg:c?H.text:H.panelAlt,children:_(c?Pe(c.value):"",Vf,"right")},void 0,!1,void 0,this)]},l,!0,void 0,this)})},void 0,!1,void 0,this)}function zf({reason:e,width:t,lines:r}){let H=S();return le(eS,{width:t,lines:r,children:[le("text",{fg:H.muted,children:R(e,t)},void 0,!1,void 0,this),le("text",{fg:H.subText,attributes:rt,children:R("Open it on sentry.io to see this one.",t)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function kC({message:e,width:t,lines:r}){let H=S();return le(eS,{width:t,lines:r,children:[le("text",{fg:H.danger,children:R("Failed to load this widget",t)},void 0,!1,void 0,this),le("text",{fg:H.muted,children:R(e,t)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function eS({width:e,lines:t,children:r}){return le("box",{style:{flexDirection:"column",width:e,height:t,flexShrink:0},children:r},void 0,!1,void 0,this)}import{useEffect as ya,useRef as tn,useState as tS}from"h:0__";function rS(e,{org:t,id:r,reloadToken:H=0}){let[n,o]=tS(me),s=tn(n);return s.current=n,ya(()=>{if(!e)return;let i=new AbortController,{signal:a}=i,l=!1;return o(_e(s.current,Date.now())),(async()=>{try{let c=await _y(e,{org:t,id:r,signal:a});if(!l)o(ge(Ly(c),Date.now()))}catch(c){if(l||a.aborted)return;o(Oe(s.current,Ne(c)))}})(),()=>{l=!0,i.abort()}},[e,t,r,H]),n}function Qo(e,t){return e.id??`#${t}`}function HS(e,{org:t,dashboardId:r,widgets:H,upto:n,statsPeriod:o,project:s,environment:i,reloadToken:a=0}){let[l,c]=tS(()=>new Map),A=JSON.stringify([t,r,o,s??null,i??null,a]),u=tn({org:t,statsPeriod:o,project:s,environment:i});u.current={org:t,statsPeriod:o,project:s,environment:i};let d=tn(new Set),m=tn(Promise.resolve()),g=tn(null);return ya(()=>{d.current=new Set,m.current=Promise.resolve(),c(new Map);let p=new AbortController;return g.current=p,()=>p.abort()},[A]),ya(()=>{if(!e)return;let p=g.current;if(!p)return;let O=Math.min(H.length,Math.max(0,n));for(let y=0;y<O;y++){let L=H[y],f=Qo(L,y);if(d.current.has(f))continue;if(d.current.add(f),!hC(L)){c((k)=>Co(k,f,ge(null,Date.now())));continue}c((k)=>Co(k,f,_e(void 0,Date.now()))),m.current=m.current.then(async()=>{if(p.signal.aborted)return;try{let k=await Kf(e,{...u.current,widget:L,signal:p.signal});if(!p.signal.aborted)c((I)=>Co(I,f,ge(k,Date.now())))}catch(k){if(p.signal.aborted)return;c((I)=>Co(I,f,Oe(void 0,Ne(k))))}})}},[e,H,n,A]),l}function hC(e){return Vr(e.displayType)!=="unsupported"&&Aa(e.widgetType)!==null&&e.queries.length>0}function Co(e,t,r){let H=new Map(e);return H.set(t,r),H}import{jsxDEV as gt}from"h:6___________________________";var bC=2,wC=2,xC="14d",TC=2,PC=1;function Sa(e){return{id:`dashboard:${e.id}`,sentryLocation:{screen:"dashboards.all",detail:{kind:"dashboard",dashboardId:e.id}},label:e.title,stateKey:Rl,initialState:{statsPeriod:xC,selectedEnvs:e.environment??[],selectedProjects:[]},render:(t)=>t.state?gt(qC,{...t,state:t.state,dashboard:e},void 0,!1,void 0,this):null}}function oS(e){return Sa({id:e,title:`Dashboard ${e}`,widgetDisplay:[]})}function qC({client:e,org:t,state:r,focused:H,width:n,height:o,reloadToken:s,dashboard:i,updateView:a}){let l=S(),{dispatch:c}=r,A=nS(null),u=rS(e,{org:t,id:i.id,reloadToken:s}),d=B(u),m=se(u),g=u.state==="loading";SH(()=>{if(d)a(`dashboard:${i.id}`,{label:d.title})},[d,i.id,a]);let p=fa(()=>Yf(d?.widgets??[]),[d]),O=fa(()=>(i.widgetDisplay??[]).map((x,P)=>({id:`placeholder-${P}`,title:"",displayType:x,queries:[]})),[i.widgetDisplay]),y=d?p:O,L=!d,f=Boolean(d?.prebuiltId??i.prebuiltId);SH(()=>{c({type:"setEntries",payload:p})},[p,c]),SH(()=>{c({type:"setStatus",payload:{loading:g,error:m?.message,noun:"dashboard"}})},[g,m,c]);let k=nS(null);SH(()=>{if(!d?.period||k.current===d.id)return;k.current=d.id,c({type:"setStatsPeriod",payload:d.period})},[d,c]);let[I,h]=IC(bC);SH(()=>{h((x)=>Math.max(x,r.selected+1+wC))},[r.selected]);let b=r.selectedProjects.length>0?r.selectedProjects:void 0,w=r.selectedEnvs.length>0?r.selectedEnvs:void 0,T=HS(e,{org:t,dashboardId:i.id,widgets:p,upto:I,statsPeriod:r.statsPeriod,project:b,environment:w,reloadToken:s}),q=Math.max(20,n-TC),E=fa(()=>y.map((x)=>Uf(x,Vr(x.displayType))),[y]);SH(()=>{let x=A.current;if(!x||E.length===0)return;let P=x.viewport.height;if(P<=0)return;let N=$f({heights:E,index:r.selected,viewportHeight:P,scrollTop:x.scrollTop});if(N!==x.scrollTop)x.scrollTop=N},[E,r.selected,o]);let D=LC(()=>c({type:"setOpenDropdown",payload:null}),[c]);return gt("box",{style:{flexDirection:"column",width:n,height:o},children:[gt("box",{style:{flexDirection:"row",width:n,flexShrink:0,paddingLeft:1},children:[gt("text",{fg:l.text,attributes:X,children:R(d?.title??i.title,Math.max(8,n-24))},void 0,!1,void 0,this),gt("text",{fg:l.muted,children:d?.period?` saved on ${d.period}`:" read-only"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),gt(Ve,{client:e,org:t,openDropdown:r.openDropdown,selectedProjects:r.selectedProjects,selectedEnvs:r.selectedEnvs,statsPeriod:r.statsPeriod,width:n,anchorTop:PC,onProjectChange:(x)=>c({type:"setSelectedProjects",payload:x}),onEnvChange:(x)=>c({type:"setSelectedEnvs",payload:x}),onPeriodChange:(x)=>c({type:"setStatsPeriod",payload:x}),onDropdownClose:D,onDropdownOpen:(x)=>c({type:"setOpenDropdown",payload:x})},void 0,!1,void 0,this),m&&!d?gt("box",{style:{flexDirection:"column",padding:1},children:[gt("text",{fg:l.danger,children:"Failed to load dashboard"},void 0,!1,void 0,this),gt("text",{fg:l.muted,children:m.message},void 0,!1,void 0,this),m.retryable?gt("text",{fg:l.muted,children:"R to retry"},void 0,!1,void 0,this):null]},void 0,!0,void 0,this):null,d&&y.length===0?gt("box",{style:{flexDirection:"column",padding:1},children:[gt("text",{fg:l.text,children:f?"This Sentry Built dashboard is not bundled in this version.":"This dashboard has no widgets."},void 0,!1,void 0,this),gt("text",{fg:l.muted,children:f?"Its widgets live in Sentry Web rather than the API; open it on sentry.io to view them.":"Add one on sentry.io \u2014 this client is read-only."},void 0,!1,void 0,this)]},void 0,!0,void 0,this):null,gt("scrollbox",{ref:A,focused:H,verticalScrollbarOptions:{showArrows:!1,trackOptions:{backgroundColor:l.panel,foregroundColor:l.muted}},style:{flexGrow:1,flexBasis:0,width:n},children:y.map((x,P)=>gt(Jf,{widget:x,kind:Vr(x.displayType),status:T.get(Qo(x,P)),width:q,height:E[P]-1,selected:H&&P===r.selected,placeholder:L},Qo(x,P),!1,void 0,this))},void 0,!1,void 0,this),y.length>0?gt("text",{fg:l.subText,attributes:rt,children:R(` widget ${Math.min(r.selected+1,y.length)} of ${y.length} \xB7 j/k to move \xB7 esc to go back`,n)},void 0,!1,void 0,this):null]},void 0,!0,void 0,this)}import{jsxDEV as Ot}from"h:6___________________________";var QC=4,NC=28;function jC(e){let t={key:"star",label:"\u2605",width:1,render:(i)=>Ot("text",{fg:i.isFavorited?e.warning:e.border,children:i.isFavorited?"\u2605":"\u2606"},void 0,!1,void 0,this)},r={key:"name",label:"Name",width:"flex",render:(i,a,l)=>Ot("text",{fg:a?e.text:e.accent,attributes:a?X:0,children:_(i.title,l)},void 0,!1,void 0,this)},H={key:"widgets",label:"Widgets",width:7,align:"right",priority:4,render:(i,a,l)=>Ot("text",{fg:e.text,children:_(DC(i),l,"right")},void 0,!1,void 0,this)},n={key:"lastVisited",label:"Last Visited",width:12,priority:5,render:(i,a,l)=>Ot("text",{fg:e.subText,children:_(i.lastVisited?he(i.lastVisited):"\u2014",l)},void 0,!1,void 0,this)};return{standard:[t,r,H,{key:"owner",label:"Owner",width:18,priority:3,render:(i,a,l)=>Ot("text",{fg:e.muted,children:_(RC(i),l)},void 0,!1,void 0,this)},{key:"access",label:"Access",width:10,priority:1,render:(i,a,l)=>Ot("text",{fg:e.muted,children:_(vC(i),l)},void 0,!1,void 0,this)},{key:"created",label:"Created",width:10,priority:2,render:(i,a,l)=>Ot("text",{fg:e.subText,children:_(i.dateCreated?he(i.dateCreated):"\u2014",l)},void 0,!1,void 0,this)},n],prebuilt:[t,r,{key:"description",label:"Description",width:"flex",priority:1,render:(i,a,l)=>Ot("text",{fg:e.muted,children:_(i.description??"",l)},void 0,!1,void 0,this)},H,n]}}function _a(e){let t=S(),{client:r,org:H,screen:n,state:o,focused:s,width:i,height:a,reloadToken:l}=e,{dispatch:c,focusSearch:A,handleSearchBlur:u}=o,m=Gf(n.id)??{title:n.item,description:"",sort:"recentlyViewed",searchPlaceholder:"Search dashboards\u2026",emptyTitle:"No dashboards found.",emptyLines:[]},g=m.filter==="onlyPrebuilt",p=CC(()=>Bi(g),[g]),O=yy(o.sort,m.sort,g),{dashboards:y,nextCursor:L}=wy(r,{org:H,filter:m.filter,query:o.committedQuery,sort:O,reloadToken:l}),f=B(y),k=se(y),I=y.state==="loading";sS(()=>{if(f)c({type:"setEntries",payload:f})},[f,c]),sS(()=>{c({type:"setStatus",payload:{loading:I,error:k?.message,noun:"dashboards"}})},[I,k,c]);let{pushView:h}=e,b=MC((q)=>{let E=f?.[q];if(E)h(Sa(E))},[f,h]);Ke(e.registerActions,{open:b});let w=jC(t),T=g?w.prebuilt:w.standard;return Ot("box",{style:{flexDirection:"column",width:i,height:a},children:[Ot(Lt,{value:o.searchQuery,placeholder:m.searchPlaceholder,focused:o.searchFocused,width:i,onInput:(q)=>c({type:"setSearchQuery",payload:q}),onFocus:A,onBlur:u},void 0,!1,void 0,this),Ot("box",{style:{flexDirection:"row",width:i,flexShrink:0,paddingLeft:1},children:[Ot("text",{fg:t.text,attributes:X,children:m.title},void 0,!1,void 0,this),Ot("text",{fg:t.muted,children:` ${m.description}`},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Ot(fH,{value:O,items:p,open:o.openDropdown==="sort",width:i,anchorTop:Le+1,onChange:(q)=>c({type:"setSort",payload:q}),onOpen:()=>c({type:"setOpenDropdown",payload:"sort"}),onClose:()=>c({type:"setOpenDropdown",payload:null})},void 0,!1,void 0,this),Ot(nt,{rows:f,columns:T,width:i,minFlex:NC,selectedIndex:o.selected,focused:s,rowKey:(q)=>q.id,loading:ke(y),error:k,errorTitle:"Failed to load dashboards",onRowClick:e.activateRow,empty:{title:m.emptyTitle,lines:[o.committedQuery||void 0,...m.emptyLines]},layout:[a,QC]},void 0,!1,void 0,this),Ot(Re,{count:f?.length,noun:"dashboard",hasMore:L!==null},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function DC(e){if(e.widgetDisplay.length>0)return String(e.widgetDisplay.length);return e.prebuiltId==null?"0":"\u2014"}function RC(e){let t=e.createdBy;if(!t)return"Sentry";return t.name||t.email||"\u2014"}function vC(e){let t=e.permissions;if(!t||t.isEditableByEveryone)return"All";let r=t.teamsWithEditAccess?.length??0;return r>0?`Creator +${r}`:"Creator"}import{useCallback as ba,useEffect as Eo,useMemo as dQ,useRef as wa}from"h:0__";import{RenderableEvents as Go}from"h:3__________";import{jsxDEV as ur}from"h:6___________________________";function iS({width:e,rows:t}){return ur("box",{style:{flexDirection:"column",width:e},children:Array.from({length:t},(r,H)=>ur(to,{width:e,seed:H},H,!1,void 0,this))},void 0,!1,void 0,this)}function aS({query:e}){let t=S();return ur("box",{style:{flexDirection:"column",padding:1},children:[ur("text",{fg:t.text,children:"No issues match this search."},void 0,!1,void 0,this),ur("text",{fg:t.muted,children:e},void 0,!1,void 0,this),ur("text",{fg:t.muted,children:`${ve(we("sentry.nav.search"))} to edit the query`},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function cS({error:e}){let t=S();return ur("box",{style:{flexDirection:"column",padding:1},children:[ur("text",{fg:t.danger,children:"Failed to load issues"},void 0,!1,void 0,this),ur("text",{fg:t.muted,children:e.message},void 0,!1,void 0,this),e.retryable?ur("text",{fg:t.muted,children:`${ve(we("sentry.app.refresh"))} to retry`},void 0,!1,void 0,this):null]},void 0,!0,void 0,this)}import{useMemo as XC}from"h:0__";import{useCallback as GC,useMemo as EC}from"h:0__";var lS=new WeakMap;function KC(e,t){let r=lS.get(e);if(!r)r=new Map,lS.set(e,r);let H=r.get(t);if(H)return H;let n=Wc(e,{org:t}).then((o)=>new Map(o.flatMap((s)=>s.user?[[s.user.id,s]]:[])));return r.set(t,n),n.catch(()=>{if(r.get(t)===n)r.delete(t)}),n}function No(e,t,r=!0){let H=GC((o)=>e&&t&&r?KC(e,t):null,[e,t,r]),n=EC(()=>({client:e,org:t,enabled:r}),[e,t,r]);return Kt(H,{resetKey:n}).status}var BC=new Map;function AS(e,t,r){let{supportsHighRes:H}=Zt(),o=No(e,t,r&&H),s=B(o);return XC(()=>s?Qg([...s.values()]):BC,[s])}import{useCallback as Hn,useEffect as eQ,useLayoutEffect as tQ,useRef as fS,useState as La}from"h:0__";import{useKeyboard as rQ}from"h:4___________";function WC(e,t,r){return r||e.inApp||(t?.inApp??!1)||!e.inApp&&t===void 0}function FC(e,t){if(!t)return!1;return e.filename===t.filename&&e.function===t.function&&e.lineNo===t.lineNo&&e.colNo===t.colNo}function jo(e,{includeSystemFrames:t=!1,newestFirst:r=!0}={}){let H=e?.frames??[];if(H.length===0)return[];let n=[],o=0;for(let s=0;s<H.length;s++){let i=H[s],a=H[s+1];if(!WC(i,a,t)){o++;continue}let l=n[n.length-1];if(l?.kind==="frame"&&o===0&&FC(i,l.frame)){l.repeats++;continue}n.push({kind:"frame",frame:i,index:s,repeats:0,hiddenBefore:o}),o=0}if(o>0){let s=n[n.length-1];if(s?.kind==="frame")s.hiddenBefore+=o}if(e?.framesOmitted){let[s,i]=e.framesOmitted;n.push({kind:"omitted",from:s,to:i})}return r?n.reverse():n}function uS(e){let r=[e.filename??e.module??"<unknown>"];if(e.function)r.push(`in ${e.function}`);if(e.lineNo!==null&&e.lineNo>0){let H=e.colNo!==null&&e.colNo>0?`${e.lineNo}:${e.colNo}`:String(e.lineNo);r.push(`at line ${H}`)}return r.join(" ")}function dS(e){return e.context.length>0||e.vars!==null&&Object.keys(e.vars).length>0}function pS(e){let t=e.filename??e.absPath??"";if(t.endsWith(".tsx"))return"tsx";if(t.endsWith(".ts"))return"typescript";if(t.endsWith(".js")||t.endsWith(".jsx"))return"javascript";if(t.endsWith(".md"))return"markdown";if(t.endsWith(".py")||t.endsWith(".pyi"))return"python";if(t.endsWith(".rb"))return"ruby";if(t.endsWith(".php"))return"php";if(t.endsWith(".go"))return"go";return}import{useCallback as mS,useState as UC}from"h:0__";import{useKeyboard as YC}from"h:4___________";import{jsxDEV as dr}from"h:6___________________________";var Ie=" ",rn=18;function Qt(){let e=S();return dr("text",{fg:e.subText,children:" \xB7 "},void 0,!1,void 0,this)}function st({children:e}){let t=S();return dr("text",{fg:t.subText,children:`${Ie}${e}`},void 0,!1,void 0,this)}function ka(e){return _(R(e,rn-1),rn)}function Xt({name:e,value:t,width:r}){let H=S();return dr("box",{style:{flexDirection:"row",width:r},children:[dr("text",{fg:H.muted,children:`${Ie}${ka(e)}`},void 0,!1,void 0,this),dr("text",{fg:H.text,children:R(t,Math.max(0,r-rn-Ie.length))},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function Do({index:e,title:t,count:r,collapsed:H,width:n,onToggle:o,children:s}){let i=S(),a=r===void 0?t:`${t} (${r})`,l=`${H?"\u25B8":"\u25BE"} ${e} `,c=Math.max(0,n-ce(l)-ce(a)-1);return dr("box",{style:{flexDirection:"column",width:n,paddingTop:1},children:[dr("box",{style:{flexDirection:"row",width:n},onMouseDown:o,children:[dr("text",{fg:i.accent,children:l},void 0,!1,void 0,this),dr("text",{fg:i.text,attributes:X,children:a},void 0,!1,void 0,this),dr("text",{fg:i.border,children:` ${"\u2500".repeat(c)}`},void 0,!1,void 0,this)]},void 0,!0,void 0,this),H?null:s]},void 0,!0,void 0,this)}function Ro(e,t){let[r,H]=UC(()=>new Set),n=mS((s)=>{H((i)=>{let a=new Set(i);if(a.has(s))a.delete(s);else a.add(s);return a})},[]),o=mS(()=>{H((s)=>s.size===e.length?new Set:new Set(e))},[e]);return YC((s)=>{if(!t)return;Rt([()=>{if(Q("sentry.view.toggleAllSections",s))return o(),"mine";if(Q("sentry.view.toggleSection",s)){let i=e[Number(s.name)-1];if(!i)return"notMine";return n(i),"mine"}return"notMine"}],s,je)}),{collapsed:r,toggle:n}}import{jsxDEV as Xe}from"h:6___________________________";function ha(e,t,r){return`${e}:${t}:${r}`}function gS({value:e,traceId:t,exceptionIndex:r,width:H,expandedFrames:n,selectedFrame:o,selectedFrameId:s,onFrameClick:i,includeSystemFrames:a}){let l=S(),c=jo(e.stacktrace,{includeSystemFrames:a});return Xe("box",{style:{flexDirection:"column",width:H},children:[Xe("text",{fg:l.danger,attributes:1,children:R(e.type??"Error",H)},void 0,!1,void 0,this),e.value?Xe("text",{fg:l.text,children:R(e.value,H)},void 0,!1,void 0,this):null,e.mechanism?Xe("text",{fg:l.muted,children:`mechanism: ${e.mechanism.type}${e.mechanism.handled?"":" \xB7 unhandled"}`},void 0,!1,void 0,this):null,c.map((A)=>{if(A.kind==="omitted")return Xe("text",{fg:l.muted,children:` \u2026 frames ${A.from}\u2013${A.to} omitted`},`omitted-${A.from}`,!1,void 0,this);let u=ha(t,r,A.index);return Xe($C,{frame:A.frame,width:H,repeats:A.repeats,hiddenBefore:A.hiddenBefore,expanded:n.has(u),selected:o===u,selectedId:s,onClick:()=>i(u)},A.index,!1,void 0,this)}),c.length===0?Xe("text",{fg:l.muted,children:"No stack trace available."},void 0,!1,void 0,this):null]},void 0,!0,void 0,this)}function $C({frame:e,width:t,repeats:r,hiddenBefore:H,expanded:n,selected:o,selectedId:s,onClick:i}){let a=S(),c=dS(e)?n?"\u25BE":"\u25B8":" ";return Xe("box",{style:{flexDirection:"column",width:t},children:[H>0?Xe("text",{fg:a.muted,children:` \u25B8 ${H} more frame${H===1?"":"s"}`},void 0,!1,void 0,this):null,Xe("box",{id:o?s:void 0,style:{flexDirection:"row",width:t,backgroundColor:o?a.selected:void 0},onMouseDown:i,children:[Xe("text",{fg:o?a.accent:a.muted,children:`${o?"\u276F":" "} ${c} `},void 0,!1,void 0,this),Xe("text",{fg:e.inApp?a.text:a.muted,children:R(uS(e),t-15)},void 0,!1,void 0,this),Xe("box",{style:{flexGrow:1}},void 0,!1,void 0,this),r>0?Xe("text",{fg:a.muted,children:`\xD7${r+1} `},void 0,!1,void 0,this):null,e.inApp?Xe("text",{fg:a.accent,children:"In App"},void 0,!1,void 0,this):null]},void 0,!0,void 0,this),n?Xe(VC,{frame:e,width:t},void 0,!1,void 0,this):null]},void 0,!0,void 0,this)}function VC({frame:e,width:t}){let r=S(),H=Ho(),n=H?pS(e):void 0,o=e.vars?Object.entries(e.vars):[];return Xe("box",{style:{flexDirection:"column",width:t,paddingLeft:5},children:[e.context.map(([s,i])=>{let a=s===e.lineNo,l=String(s).padStart(5);return Xe("box",{style:{flexDirection:"row",width:t-5},children:[Xe("text",{fg:a?r.accent:r.muted,children:`${l} ${a?"\u276F":" "} `},void 0,!1,void 0,this),n&&H?Xe("code",{content:i??"",filetype:n,syntaxStyle:H,style:{flexGrow:1}},void 0,!1,void 0,this):Xe("text",{fg:a?r.text:r.muted,children:R(i??"",t-14)},void 0,!1,void 0,this)]},s,!0,void 0,this)}),o.length>0?Xe("box",{style:{flexDirection:"column",paddingTop:1},children:[Xe("text",{fg:r.muted,children:"Local variables"},void 0,!1,void 0,this),o.map(([s,i])=>Xe("text",{fg:r.muted,children:R(` ${s} = ${ZC(i)}`,t-6)},s,!1,void 0,this))]},void 0,!0,void 0,this):null]},void 0,!0,void 0,this)}function ZC(e){if(typeof e==="string")return e;try{return JSON.stringify(e)??String(e)}catch{return String(e)}}import{useEffect as zC,useRef as OS,useState as JC}from"h:0__";function yS(e,{org:t,issueId:r,eventId:H="latest",reloadToken:n=0}){let[o,s]=JC(me),i=OS(o);i.current=o;let a=OS(null);return zC(()=>{if(!e||!r){a.current=null,s(me());return}let l=new AbortController,c=!1,A=a.current===r;return a.current=r,s(_e(A?i.current:me(),Date.now())),(async()=>{try{let u=await Gc(e,{org:t,issueId:r,eventId:H,signal:l.signal});if(c)return;s(ge(u,Date.now()))}catch(u){if(c||l.signal.aborted)return;s(Oe(i.current,{message:u instanceof Error?u.message:String(u),retryable:u instanceof pr?u.retryable:!0}))}})(),()=>{c=!0,l.abort()}},[e,t,r,H,n]),o}import{jsxDEV as V,Fragment as uQ}from"h:6___________________________";var SS=["exception","breadcrumbs","request","tags","contexts","sdk"],HQ={exception:"Stack Trace",breadcrumbs:"Breadcrumbs",request:"Request",tags:"Tags",contexts:"Contexts",sdk:"SDK"},_S=24,nQ=3,kS="issue-detail-selected-frame",oQ=8,vo="sentry.issue.actions";function Ia({client:e,org:t,group:r,width:H,height:n,focused:o,eventId:s,reloadToken:i,runIssueAction:a,openIssueAutofix:l}){let c=S(),A=yS(e,{org:t,issueId:r.id,eventId:s,reloadToken:i}),u=B(A),d=se(A),m=ke(A),g=fS(null),[p,O]=La(!1),{collapsed:y,toggle:L}=Ro(SS,o),[f,k]=La(),I=fS(f),[h,b]=La(()=>new Map),w=u?(HH(u.entries,"exception")?.data.values??[]).flatMap((G,Y)=>jo(G.stacktrace).filter((ee)=>ee.kind==="frame").map((ee)=>({key:ha(u.id,Y,ee.index),row:ee}))):[],T=w.find((G)=>G.key===f)??w[0],q=w[0]?.key,E=new Set(w.filter((G)=>h.get(G.key)??G.key===q).map((G)=>G.key));tQ(()=>{if(f===T?.key)return;I.current=T?.key,k(T?.key)},[T?.key,f]);let D=Hn((G)=>{b((Y)=>{let ee=new Map(Y),C=Y.get(G)??G===q;return ee.set(G,!C),ee})},[q]),x=Hn((G)=>{let Y=w[Math.max(0,Math.min(G,w.length-1))];if(!Y)return;I.current=Y.key,k(Y.key)},[w]),P=Hn((G)=>{let Y=w.findIndex((ee)=>ee.key===G);if(Y<0)return;x(Y),D(G)},[w,x,D]);rQ((G)=>{if(!o)return;if(Q(vo,G)){O((Y)=>!Y),je(G);return}if(p||y.has("exception")||!T)return;if(Q("sentry.nav.down",G)){let Y=Math.max(0,w.findIndex((ee)=>ee.key===I.current));if(Y>=w.length-1)return;x(Y+1),je(G);return}if(Q("sentry.nav.up",G)){let Y=Math.max(0,w.findIndex((ee)=>ee.key===I.current));if(Y===0)return;x(Y-1),je(G);return}if(Q("sentry.nav.open",G)){let Y=w.find((ee)=>ee.key===I.current)??T;D(Y.key),je(G)}}),eQ(()=>{g.current?.scrollChildIntoView(kS)},[T?.key,h,n]);let N=Math.max(20,H-2),F=sQ(r),j=F.findIndex((G)=>G.command===vo),U=Ie.length+(Cn(F)[Math.max(0,j)]??0),z=[{value:"sentry.issue.bookmark",label:r.isBookmarked?"Unbookmark":"Bookmark"},...!r.hasSeen?[{value:"sentry.issue.markReviewed",label:"Mark reviewed"}]:[],{value:"autofix",label:"Autofix"}],oe=Hn((G)=>{let Y=G[0];if(O(!1),Y==="autofix")l(r);else if(Y)a(Y,r)},[r,l,a]),ie=Hn((G)=>{if(G.command===vo)O((Y)=>!Y);else a(G.command,r)},[r,a]);return V(uQ,{children:[V("scrollbox",{ref:g,focused:o,verticalScrollbarOptions:{showArrows:!1,trackOptions:{backgroundColor:c.panel,foregroundColor:c.muted}},style:{width:H,height:n,paddingLeft:1},children:[V(aQ,{group:r,width:N,actions:F,actionsOpen:p,onActionPress:ie},void 0,!1,void 0,this),m?V("text",{fg:c.muted,children:`${Ie}Loading event\u2026`},void 0,!1,void 0,this):null,d?V("box",{style:{flexDirection:"column",paddingTop:1},children:[V("text",{fg:c.danger,children:`${Ie}Failed to load event`},void 0,!1,void 0,this),V("text",{fg:c.muted,children:R(`${Ie}${d.message}`,N)},void 0,!1,void 0,this)]},void 0,!0,void 0,this):null,u?SS.map((G,Y)=>V(Do,{index:Y+1,title:HQ[G],count:cQ(G,u),collapsed:y.has(G),width:N,onToggle:()=>L(G),children:V(lQ,{sectionKey:G,event:u,width:N,expandedFrames:E,selectedFrame:T?.key,selectedFrameId:kS,onFrameClick:P},void 0,!1,void 0,this)},G,!1,void 0,this)):null]},void 0,!0,void 0,this),p?V(lt,{title:"Actions",items:z,selected:[],anchorLeft:U,anchorTop:oQ+ft,availableWidth:H,showAll:!1,showSelection:!1,onSelect:oe,onClose:()=>O(!1)},void 0,!1,void 0,this):null]},void 0,!0,void 0,this)}function sQ(e){return[e.status===Vt.RESOLVED?{command:"sentry.issue.unresolve",label:"unresolve",inlineHotkey:!0}:{command:"sentry.issue.resolve",label:"resolve",inlineHotkey:!0},e.status===Vt.IGNORED?{command:"sentry.issue.archive",label:"unarchive",inlineHotkey:!0}:{command:"sentry.issue.archive",label:"archive",inlineHotkey:!0},{command:vo,label:"actions",inlineHotkey:!0,caret:!0}]}function iQ(e){let t=e.stats?.["24h"],r=t?.length?Math.min(_S,t.length):0;return zn(t,r||_S,nQ,{floor:!0})}function aQ({group:e,width:t,actions:r,actionsOpen:H,onActionPress:n}){let o=S(),s=o.level[e.level]??o.level.unknown,i=Math.max(12,t-2),a=iQ(e),l=Math.max(...a.map(ce));return V("box",{style:{flexDirection:"column",width:t},children:[V("box",{style:{flexDirection:"row",width:t},children:[V("text",{fg:s,children:"\u2503 "},void 0,!1,void 0,this),V(pH,{text:Kr(e),fallback:"(no title)",width:i,fg:o.text,attributes:X},void 0,!1,void 0,this)]},void 0,!0,void 0,this),V("box",{style:{flexDirection:"row",width:t},children:[V("text",{fg:s,children:"\u2503 "},void 0,!1,void 0,this),V(pH,{text:Wn(e),fallback:"(no error message)",width:i,fg:o.muted},void 0,!1,void 0,this)]},void 0,!0,void 0,this),V("box",{style:{flexDirection:"row",width:t,paddingTop:1},children:[V("text",{children:Ie},void 0,!1,void 0,this),V(aH,{platform:e.project.platform},void 0,!1,void 0,this),V("text",{fg:o.muted,children:e.project.slug},void 0,!1,void 0,this),V(Qt,{},void 0,!1,void 0,this),V("text",{fg:o.muted,children:e.priority?`${e.priority} priority`:"no priority"},void 0,!1,void 0,this),V(Qt,{},void 0,!1,void 0,this),V("text",{fg:o.muted,children:e.assignedTo?.name??"unassigned"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),V("box",{style:{flexDirection:"row",width:t,alignItems:"center",paddingTop:1},children:[V("text",{children:Ie},void 0,!1,void 0,this),V("text",{fg:o.muted,children:"24h "},void 0,!1,void 0,this),V("box",{style:{flexDirection:"column",alignItems:"flex-start",width:l,flexShrink:0},children:a.map((c,A)=>V("text",{fg:o.accent,children:c},A,!1,void 0,this))},void 0,!1,void 0,this),V("text",{children:" "},void 0,!1,void 0,this),V("text",{fg:o.muted,children:uH(e.count,"event")},void 0,!1,void 0,this),V(Qt,{},void 0,!1,void 0,this),V("text",{fg:o.muted,children:uH(e.userCount,"user")},void 0,!1,void 0,this),V(Qt,{},void 0,!1,void 0,this),V("text",{fg:o.muted,children:`first seen ${he(e.firstSeen)} ago`},void 0,!1,void 0,this),V(Qt,{},void 0,!1,void 0,this),V("text",{fg:o.muted,children:`last seen ${he(e.lastSeen)} ago`},void 0,!1,void 0,this)]},void 0,!0,void 0,this),V("box",{style:{flexDirection:"row",width:t},children:[V("text",{children:Ie},void 0,!1,void 0,this),V(Qn,{chips:r,activeIndex:H?r.length-1:void 0,onPress:n},void 0,!1,void 0,this)]},void 0,!0,void 0,this),V("text",{fg:o.border,children:"\u2500".repeat(t)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function cQ(e,t){switch(e){case"breadcrumbs":return HH(t.entries,"breadcrumbs")?.data.values?.length;case"tags":return t.tags?.length;case"contexts":return Object.keys(t.contexts??{}).length;default:return}}function lQ({sectionKey:e,event:t,width:r,expandedFrames:H,selectedFrame:n,selectedFrameId:o,onFrameClick:s}){let i=S();switch(e){case"exception":{let l=HH(t.entries,"exception")?.data.values??[];if(l.length===0)return V(st,{children:"No exception on this event."},void 0,!1,void 0,this);return V("box",{style:{flexDirection:"column",paddingLeft:Ie.length},children:l.map((c,A)=>V(gS,{value:c,traceId:t.id,exceptionIndex:A,width:r-Ie.length,expandedFrames:H,selectedFrame:n,selectedFrameId:o,onFrameClick:s,includeSystemFrames:!1},A,!1,void 0,this))},void 0,!1,void 0,this)}case"breadcrumbs":{let a=HH(t.entries,"breadcrumbs")?.data.values??[];if(a.length===0)return V(st,{children:"No breadcrumbs."},void 0,!1,void 0,this);return V("box",{style:{flexDirection:"column",width:r},children:a.map((l,c)=>V(AQ,{crumb:l,width:r},c,!1,void 0,this))},void 0,!1,void 0,this)}case"request":{let a=HH(t.entries,"request")?.data;if(!a?.url)return V(st,{children:"No request data."},void 0,!1,void 0,this);return V("box",{style:{flexDirection:"column",width:r},children:[V("text",{fg:i.text,children:R(`${Ie}${a.method??"GET"} ${a.url}`,r)},void 0,!1,void 0,this),(a.headers??[]).map(([l,c])=>V(Xt,{name:l,value:c,width:r},l,!1,void 0,this))]},void 0,!0,void 0,this)}case"tags":{let a=t.tags??[];if(a.length===0)return V(st,{children:"No tags."},void 0,!1,void 0,this);return V("box",{style:{flexDirection:"column",width:r},children:a.map((l)=>V(Xt,{name:l.key,value:l.value,width:r},l.key,!1,void 0,this))},void 0,!1,void 0,this)}case"contexts":{let a=Object.entries(t.contexts??{});if(a.length===0)return V(st,{children:"No contexts."},void 0,!1,void 0,this);return V("box",{style:{flexDirection:"column",width:r},children:a.map(([l,c])=>V(Xt,{name:l,value:hS(c),width:r},l,!1,void 0,this))},void 0,!1,void 0,this)}case"sdk":if(!t.sdk)return V(st,{children:"Unknown SDK."},void 0,!1,void 0,this);return V("box",{style:{flexDirection:"row",width:r},children:[V("text",{fg:i.text,children:`${Ie}${t.sdk.name}`},void 0,!1,void 0,this),V("text",{fg:i.muted,children:` ${t.sdk.version}`},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}}function AQ({crumb:e,width:t}){let r=S(),H=e.timestamp?e.timestamp.slice(11,19):"--:--:--",n=e.category??e.type,o=e.message??hS(e.data??{}),s=Ie.length+H.length+2+rn;return V("box",{style:{flexDirection:"row",width:t},children:[V("text",{fg:r.subText,children:`${Ie}${H} `},void 0,!1,void 0,this),V("text",{fg:r.muted,children:ka(n)},void 0,!1,void 0,this),V("text",{fg:r.text,children:R(o,Math.max(0,t-s))},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function hS(e){return Object.entries(e).filter(([t])=>t!=="type").map(([t,r])=>`${t}=${String(r)}`).join(" ")}import{jsxDEV as et}from"h:6___________________________";var pQ=1,mQ=1;function Bt(e){let{client:t,org:r,state:H,focused:n,width:o,height:s,reloadToken:i,pendingIds:a,pushView:l,activateRow:c,registerActions:A}=e,u=S(),{dispatch:d}=H,m="screen"in e?Ql(e.screen.item):void 0,g="screen"in e?m?.label:e.title,p="screen"in e?m?.description:e.description,O="screen"in e?e.onProjectSelect:(C)=>d({type:"setSelectedProjects",payload:C}),y=wa(null),L=wa(null),f=ba((C)=>{let v=tr(H)[C];if(v)l(gQ(v,t,r))},[H,l,t,r]),k=ba(()=>d({type:"setOpenDropdown",payload:null}),[d]),I=ba((C)=>{let v=y.current;if(v)v.removeAllListeners(Go.FOCUSED),v.removeAllListeners(Go.BLURRED);if(y.current=C,C)C.on(Go.FOCUSED,H.focusSearch),C.on(Go.BLURRED,H.handleSearchBlur)},[H.focusSearch,H.handleSearchBlur]),h=jc(H.sort),{issues:b,statsLoading:w,nextCursor:T,prevCursor:q,page:E,nextPage:D,previousPage:x}=ro(t,{org:r,query:H.committedQuery,sort:h,statsPeriod:H.statsPeriod,project:H.selectedProjects.length>0?H.selectedProjects:void 0,environment:H.selectedEnvs.length>0?H.selectedEnvs:void 0,reloadToken:i});Ke(A,{open:f,nextPage:D,previousPage:x});let P=wa(E);Eo(()=>{if(P.current===E)return;P.current=E,d({type:"setSelected",payload:0})},[E,d]);let N=b.state==="loading",F=Je(b),j=B(b),U=tr(H),z=U.length>0?U:j,oe=se(b),ie=z!==void 0&&(N||oe!==void 0);Eo(()=>{if(j)d({type:"setEntries",payload:j})},[j,d]),Eo(()=>{d({type:"setStatus",payload:{loading:N||w,since:F,error:oe?.message,noun:"issues"}})},[N,w,F,oe,b,d]),gH(L,{index:H.selected,rowCount:z?.length??0,rowHeight:Ii,layout:[s]});let G=dQ(()=>(z??[]).some((C)=>C.assignedTo?.type==="user"),[z]),Y=AS(t,r,G),ee=Math.max(20,o-pQ);return et("box",{style:{flexDirection:"column",width:o,height:s},children:[g?et("box",{style:{flexDirection:"row",width:o,flexShrink:0,paddingLeft:1},children:[et("text",{fg:u.text,attributes:X,children:g},void 0,!1,void 0,this),p?et("text",{fg:u.muted,children:` ${R(p,Math.max(0,ee-ce(g)-3))}`},void 0,!1,void 0,this):null]},void 0,!0,void 0,this):null,et("box",{style:{flexDirection:"row",width:o,flexShrink:0,height:3,border:!0,borderStyle:"rounded",borderColor:H.searchFocused?u.accent:u.border,backgroundColor:u.panel,paddingLeft:1,paddingRight:1},children:[et(Gt,{},void 0,!1,void 0,this),et("input",{ref:I,value:H.searchQuery,placeholder:"Search issues\u2026",focused:H.searchFocused,onInput:(C)=>d({type:"setSearchQuery",payload:C}),style:{flexGrow:1,textColor:u.text,backgroundColor:u.panel,focusedTextColor:u.text,focusedBackgroundColor:u.panel,placeholderColor:u.subText}},void 0,!1,void 0,this)]},void 0,!0,void 0,this),et(Ve,{client:t,org:r,openDropdown:H.openDropdown,selectedProjects:H.selectedProjects,selectedEnvs:H.selectedEnvs,statsPeriod:H.statsPeriod,sort:{value:h,items:qs,onChange:(C)=>d({type:"setSort",payload:C})},width:o,anchorTop:Le+(g?mQ:0),onProjectChange:O,onEnvChange:(C)=>d({type:"setSelectedEnvs",payload:C}),onPeriodChange:(C)=>d({type:"setStatsPeriod",payload:C}),onDropdownClose:k,onDropdownOpen:(C)=>d({type:"setOpenDropdown",payload:C})},void 0,!1,void 0,this),et(Jn,{width:ee,selectionBelow:n&&H.selected===0&&(z?.length??0)>0},void 0,!1,void 0,this),et("scrollbox",{ref:L,focused:n,verticalScrollbarOptions:{showArrows:!1,trackOptions:{backgroundColor:u.panel,foregroundColor:u.muted}},style:{flexGrow:1,flexBasis:0,width:o},children:[z===void 0&&ke(b)?et(iS,{width:ee,rows:Ps},void 0,!1,void 0,this):null,z!==void 0&&z.length===0&&!N?et(aS,{query:H.committedQuery},void 0,!1,void 0,this):null,z?.map((C,v)=>et(eo,{group:C,selected:n&&v===H.selected,selectionBelow:n&&v+1===H.selected,width:ee,pending:a.has(C.id),assigneeAvatarUrl:Ng(C.assignedTo,Y),onClick:()=>c(v)},C.id,!1,void 0,this)),oe&&z===void 0?et(cS,{error:oe},void 0,!1,void 0,this):null]},void 0,!0,void 0,this),ie?et("text",{fg:u.muted,children:oe?` \u26A0 ${R(oe.message,ee-3)}`:""},void 0,!1,void 0,this):null,et(Re,{count:z?.length,noun:"issue",hasMore:T!==null,pagination:T!==null||q!==null||E>1?{page:E,hasPrevious:E>1&&q!==null,hasNext:T!==null,loading:N,onPrevious:x,onNext:D}:void 0},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function gQ(e,t,r){return{id:`issue:${e.id}`,sentryLocation:{screen:"issues.feed",detail:{kind:"issue",issueId:e.id}},label:e.shortId,issue:e,render:(H)=>et(Ia,{client:t,org:r,group:H.issue??e,width:H.width,height:H.height,focused:H.focused,reloadToken:H.reloadToken,runIssueAction:H.runIssueAction,openIssueAutofix:H.openIssueAutofix},void 0,!1,void 0,this)}}var OQ=(e,{org:t,id:r,signal:H})=>vc(e,{org:t,issueId:r,signal:H});function Ko(e,t){return{id:`issue:${e}`,sentryLocation:{screen:"issues.feed",detail:{kind:"issue",issueId:e,eventId:t}},label:`Issue ${e}`,render:(r)=>et(yQ,{...r,issueId:e,eventId:t},void 0,!1,void 0,this)}}function yQ({client:e,org:t,issueId:r,eventId:H,reloadToken:n,width:o,height:s,focused:i,updateView:a,issue:l,runIssueAction:c,openIssueAutofix:A}){let u=Ar(e,{org:t,id:r,reloadToken:n,load:OQ}),d=B(u);if(Eo(()=>{if(d)a(`issue:${r}`,{label:d.shortId,issue:d})},[d,r,a]),!d)return et(lr,{status:u,noun:"issue",width:o,height:s},void 0,!1,void 0,this);return et(Ia,{client:e,org:t,group:l??d,eventId:H,width:o,height:s,focused:i,reloadToken:n,runIssueAction:c,openIssueAutofix:A},void 0,!1,void 0,this)}import{useCallback as CS,useEffect as xQ}from"h:0__";var xa=[{value:"popularity",label:"Most Starred"},{value:"visited",label:"Recently Viewed"},{value:"name",label:"Name (A-Z)"},{value:"-name",label:"Name (Z-A)"},{value:"-created",label:"Created (Newest)"},{value:"created",label:"Created (Oldest)"}];function LS(e){return xa.some((t)=>t.value===e)?e:"popularity"}function fQ(e){switch(e){case"popularity":return["-popularity","-visited","-created"];case"visited":return["-visited","-popularity","-created"];case"name":return["name","-visited","-created"];case"-name":return["-name","-visited","-created"];case"created":return["created","-popularity","-visited"];case"-created":return["-created","-popularity","-visited"]}}var SQ=20;async function IS(e,{org:t,viewId:r,signal:H}){return(await e.request(`/organizations/${t}/group-search-views/${r}/`,{signal:H})).data}async function Ta(e,{org:t,createdBy:r,sort:H="popularity",limit:n=SQ,cursor:o,signal:s}){return e.request(`/organizations/${t}/group-search-views/`,{query:{createdBy:r,sort:fQ(H),per_page:n,cursor:o},signal:s})}import{useEffect as xS,useMemo as hQ,useRef as LQ}from"h:0__";import{useEffect as _Q,useRef as kQ,useState as bS}from"h:0__";function wS(e,{org:t,sort:r,reloadToken:H=0}){let[n,o]=bS(me),[s,i]=bS({mine:null,others:null}),a=kQ(n);return a.current=n,_Q(()=>{if(!e)return;let l=new AbortController,{signal:c}=l,A=!1;return o(_e(a.current,Date.now())),(async()=>{try{let[u,d]=await Promise.all([Ta(e,{org:t,createdBy:"me",sort:r,signal:c}),Ta(e,{org:t,createdBy:"others",sort:r,signal:c})]);if(A)return;i({mine:u.nextCursor,others:d.nextCursor}),o(ge([{title:"Created by Me",views:u.data},{title:"Created by Others",views:d.data}],Date.now()))}catch(u){if(A||c.aborted)return;o(Oe(a.current,Ne(u)))}})(),()=>{A=!0,l.abort()}},[e,t,r,H]),{sections:n,nextCursors:s}}import{jsxDEV as Ye}from"h:6___________________________";var IQ=1,TS=26,PS=10,qS=6,bQ=1;function MS({client:e,org:t,width:r,height:H,focused:n,selectedIndex:o,sort:s,openDropdown:i,onSortChange:a,onDropdownOpen:l,onDropdownClose:c,onRowsChange:A,onStatusChange:u,reloadToken:d}){let m=S(),g=LQ(null),p=LS(s),{sections:O,nextCursors:y}=wS(e,{org:t,sort:p,reloadToken:d}),L=B(O),f=se(O),k=O.state==="loading",I=hQ(()=>(L??[]).flatMap((w)=>w.views.map((T)=>({view:T,projectIds:T.projects.filter((q)=>q!==-1).map(String),statsPeriod:T.timeFilters?.period??xt}))),[L]);xS(()=>{A?.(I)},[I,A]),xS(()=>{u?.({loading:k,error:f?.message})},[k,f,u]),gH(g,{index:o,rowCount:I.length,rowHeight:IQ,layout:[H]});let h=Math.max(20,r-bQ),b=-1;return Ye("box",{style:{flexDirection:"column",width:r,height:H},children:[Ye("box",{style:{flexDirection:"row",width:r,flexShrink:0,paddingLeft:1},children:[Ye("text",{fg:m.text,attributes:X,children:"All Views"},void 0,!1,void 0,this),Ye("text",{fg:m.muted,children:" Saved issue searches for this organization."},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Ye(fH,{value:p,items:xa,open:i==="sort",width:r,anchorTop:1,onChange:a,onOpen:l,onClose:c},void 0,!1,void 0,this),Ye("scrollbox",{ref:g,focused:n,verticalScrollbarOptions:{showArrows:!1,trackOptions:{backgroundColor:m.panel,foregroundColor:m.muted}},style:{flexGrow:1,flexBasis:0,width:r},children:[L===void 0&&ke(O)?Ye("text",{fg:m.muted,children:" Loading views\u2026"},void 0,!1,void 0,this):null,f&&L===void 0?Ye("box",{style:{flexDirection:"column",padding:1},children:[Ye("text",{fg:m.danger,children:"Failed to load views"},void 0,!1,void 0,this),Ye("text",{fg:m.muted,children:f.message},void 0,!1,void 0,this)]},void 0,!0,void 0,this):null,L?.map((w)=>Ye("box",{style:{flexDirection:"column",width:h},children:[Ye("text",{fg:m.muted,attributes:X,children:` ${w.title}`},void 0,!1,void 0,this),w.views.length===0?Ye("text",{fg:m.subText,children:" No saved views."},void 0,!1,void 0,this):null,w.views.map((T)=>(b+=1,Ye(wQ,{view:T,width:h,selected:n&&b===o},T.id,!1,void 0,this)))]},w.title,!0,void 0,this))]},void 0,!0,void 0,this),Ye(Re,{count:L===void 0?void 0:I.length,noun:"view",hasMore:y.mine!==null||y.others!==null},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function wQ({view:e,width:t,selected:r}){let H=S(),n=r?"\u276F":" ",o=e.starred?"\u2605":" ",s=2+TS+PS+qS+3,i=Math.max(6,t-s);return Ye("box",{style:{flexDirection:"row",width:t,backgroundColor:r?H.panel:void 0},children:[Ye("text",{fg:H.accent,children:n},void 0,!1,void 0,this),Ye("text",{fg:e.starred?H.warning:H.muted,children:o},void 0,!1,void 0,this),Ye("text",{fg:r?H.text:H.subText,attributes:r?X:0,children:` ${_(e.name,TS)}`},void 0,!1,void 0,this),Ye("text",{fg:H.muted,children:` ${_(R(e.query,i),i)}`},void 0,!1,void 0,this),Ye("text",{fg:H.subText,children:` ${_(e.lastVisited?he(e.lastVisited):"\u2014",PS,"right")}`},void 0,!1,void 0,this),Ye("text",{fg:H.subText,children:_(`${e.stars}\u2605`,qS,"right")},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}import{jsxDEV as nn}from"h:6___________________________";function QS(e){let{client:t,org:r,state:H,focused:n,width:o,height:s,reloadToken:i,pushView:a,registerActions:l}=e,{dispatch:c}=H,A=CS((d)=>{let m=tr(H)[d];if(m)a(TQ(m))},[H,a]);Ke(l,{open:A});let u=CS((d)=>c({type:"setStatus",payload:{...d,noun:"saved views"}}),[c]);return nn(MS,{client:t,org:r,width:o,height:s,focused:n,selectedIndex:H.selected,sort:H.sort,openDropdown:H.openDropdown,onSortChange:(d)=>c({type:"setSort",payload:d}),onDropdownOpen:()=>c({type:"setOpenDropdown",payload:"sort"}),onDropdownClose:()=>c({type:"setOpenDropdown",payload:null}),onRowsChange:(d)=>c({type:"setEntries",payload:d}),onStatusChange:u,reloadToken:i},void 0,!1,void 0,this)}function TQ(e){return{id:`saved-view:${e.view.id}`,sentryLocation:{screen:"issues.all-views",detail:{kind:"issue_view",viewId:e.view.id}},label:e.view.name,stateKey:Es,initialState:{query:e.view.query,sort:e.view.querySort,statsPeriod:e.statsPeriod,selectedProjects:e.projectIds,selectedEnvs:e.view.environments},render:(t)=>t.state?nn(Bt,{...t,state:t.state,title:e.view.name,description:e.view.query},void 0,!1,void 0,this):null}}var PQ=(e,{org:t,id:r,signal:H})=>IS(e,{org:t,viewId:r,signal:H});function NS(e){return{id:`saved-view:${e}`,label:`View ${e}`,stateKey:Es,sentryLocation:{screen:"issues.all-views",detail:{kind:"issue_view",viewId:e}},render:(t)=>t.state?nn(qQ,{...t,state:t.state,viewId:e},void 0,!1,void 0,this):null}}function qQ({client:e,org:t,state:r,viewId:H,reloadToken:n,width:o,height:s,updateView:i,...a}){let l=Ar(e,{org:t,id:H,reloadToken:n,load:PQ}),c=B(l);if(xQ(()=>{if(!c)return;r.dispatch({type:"seed",payload:{query:c.query,sort:c.querySort,statsPeriod:c.timeFilters.period??void 0,selectedProjects:c.projects.filter((A)=>A!==-1).map(String),selectedEnvs:c.environments}}),i(`saved-view:${H}`,{label:c.name})},[r.dispatch,i,c,H]),!c)return nn(lr,{status:l,noun:"saved view",width:o,height:s},void 0,!1,void 0,this);return nn(Bt,{...a,client:e,org:t,state:r,reloadToken:n,width:o,height:s,updateView:i,title:c.name,description:c.query},void 0,!1,void 0,this)}import{useCallback as Ga,useEffect as os,useMemo as Ea,useRef as F_}from"h:0__";var qe={error:"error",metric:"metric_issue",cron:"monitor_check_in_failure",uptime:"uptime_domain_failure",issueStream:"issue_stream",mobileBuild:"preprod_size_analysis"},MQ=50,qa=[{value:"-latestGroup",label:"Latest Issue (newest)"},{value:"latestGroup",label:"Latest Issue (oldest)"},{value:"name",label:"Name (A-Z)"},{value:"-name",label:"Name (Z-A)"},{value:"type",label:"Type (A-Z)"},{value:"-type",label:"Type (Z-A)"},{value:"-connectedWorkflows",label:"Most Alerts"},{value:"connectedWorkflows",label:"Fewest Alerts"}],jS="-latestGroup";function DS(e){return qa.some((t)=>t.value===e)?e:jS}var Pa=100;async function RS(e,{org:t,query:r,sortBy:H=jS,project:n,limit:o=MQ,cursor:s,signal:i}){let a=await ws({...e.generatedOptions(i),path:{organization_id_or_slug:t},query:{query:r||void 0,sortBy:H,project:Fe(n),per_page:o}},s);return e.generatedPage({...a,data:KS(a.data)})}async function vS(e,{org:t,detectorId:r,signal:H}){return(await e.request(`/organizations/${t}/detectors/${r}/`,{signal:H})).data}var CQ=20;async function GS(e,{org:t,detectorId:r,statsPeriod:H,limit:n=CQ,cursor:o,signal:s}){return e.request(`/organizations/${t}/open-periods/`,{query:{detectorId:r,statsPeriod:H,per_page:n,cursor:o},signal:s})}async function ES(e,{org:t,ids:r,signal:H}){let n=[...new Set(r)];if(n.length===0)return[];let o=[];for(let i=0;i<n.length;i+=Pa)o.push(n.slice(i,i+Pa));return(await Promise.all(o.map((i)=>ws({...e.generatedOptions(H),path:{organization_id_or_slug:t},query:{id:i.map(Number),per_page:Pa}}).then((a)=>KS(a.data)).catch(()=>[])))).flat()}function KS(e){return Array.isArray(e)?e:[]}var XS="\u254C",QQ={ok:"\u2584",missed:"\u2591",timeout:"\u2592",in_progress:"\u2593",error:"\u2588",unknown:"?"},NQ={ok:"Okay",error:"Failed",in_progress:"In Progress",missed:"Missed",timeout:"Timed Out",unknown:"Unknown"},BS={precedence:["unknown","error","timeout","missed","ok","in_progress"],glyphs:QQ,labels:NQ},jQ={success:"\u2584",missed_window:"?",failure:"\u2593",failure_incident:"\u2588"},DQ={success:"Uptime",failure:"Failure",failure_incident:"Downtime",missed_window:"Unknown"},WS={precedence:["failure_incident","failure","success","missed_window"],glyphs:jQ,labels:DQ};function FS(e,t){if(!Number.isFinite(e)||!Number.isFinite(t))return 60;if(e<=0||t<=0)return 60;return Math.max(60,Math.ceil(e/Math.floor(t)))}function Xo(e,{width:t,since:r,until:H,config:n}){let o=Math.max(0,Math.floor(t));if(o===0)return[];let s=H>r?H-r:0,i=s/o,a=Array.from({length:o},(l,c)=>({status:null,glyph:"\xB7",total:0,counts:{},start:r+Math.round(c*i),end:r+Math.round((c+1)*i)}));if(s>0)for(let l of e??[]){let c=l?.[0],A=l?.[1];if(typeof c!=="number"||!Number.isFinite(c)||!A)continue;let u=Math.min(o-1,Math.max(0,Math.floor((c-r)/s*o)));RQ(a[u],A)}for(let l of a)vQ(l,n);return a}function US(e,t){return t.precedence.map((r)=>({status:r,label:t.labels[r],count:e.reduce((H,n)=>H+(n.counts[r]??0),0)})).filter((r)=>r.count>0)}function RQ(e,t){for(let[r,H]of Object.entries(t)){if(typeof H!=="number"||!Number.isFinite(H)||H<=0)continue;e.counts[r]=(e.counts[r]??0)+H,e.total+=H}}function vQ(e,t){if(e.total===0)return;let r=t.precedence.find((H)=>(e.counts[H]??0)>0);if(r===void 0){e.glyph="?";return}e.status=r,e.glyph=t.glyphs[r]??"?"}function Ma(e){return typeof e==="object"&&e!==null&&!Array.isArray(e)?Object.entries(e):[]}function $S(e){let t={};for(let[r,H]of Ma(e))if(typeof H==="number"&&Number.isFinite(H))t[r]=H;return t}function GQ(e){if(!Array.isArray(e)||e.length!==2||typeof e[0]!=="number"||!Number.isFinite(e[0]))return;return[e[0],$S(e[1])]}function EQ(e){if(!Array.isArray(e)||e.length!==2||typeof e[0]!=="number"||!Number.isFinite(e[0]))return;let t={};for(let[r,H]of Ma(e[1]))t[r]=$S(H);return[e[0],t]}function VS(e,t){let r={};for(let[H,n]of Ma(e)){let o=[];if(Array.isArray(n))for(let s of n){let i=t(s);if(i!==void 0)o.push(i)}r[H]=o}return r}var KQ=100,Bo=86400;function Wo(e){let t=Yt(e);if(t===void 0||t<=0)return Bo;return Math.floor(t*60)}function Ca(e,{windowSeconds:t=Bo,now:r=Date.now()}={}){let H=Math.floor(r/1000);return{since:H-t,until:H,resolution:FS(t,e)}}var YS=[60,120,300,600,900,1800,3600,7200,10800,14400,21600,43200,86400];function XQ(e){if(!Number.isFinite(e))return YS[0];let t=YS,r=t[0];for(let H of t)if(H<=e)r=H;return r}function ZS({since:e,until:t,resolution:r}){return{since:e,until:t,resolution:`${r}s`}}async function zS(e,{org:t,monitors:r,project:H,environment:n,signal:o,...s}){if(r.length===0)return{};let i=await e.request(`/organizations/${t}/monitors-stats/`,{query:{monitor:[...r],project:Fe(H),environment:n?[...n]:void 0,...ZS(s)},signal:o});return VS(i.data,EQ)}async function JS(e,{org:t,detectorIds:r,signal:H,...n}){let o=[...new Set(r)].slice(0,KQ);if(o.length===0)return{};let s=await e.request(`/organizations/${t}/uptime-stats/`,{query:{uptimeDetectorId:o,...ZS({...n,resolution:XQ(n.resolution)})},signal:H});return VS(s.data,GQ)}function e_(e,t){return(e??[]).map(([r,H])=>{if(t!==void 0)return[r,H[t]??{}];let n={};for(let o of Object.values(H??{}))for(let[s,i]of Object.entries(o??{}))n[s]=(n[s]??0)+i;return[r,n]})}var BQ=qe.issueStream,WQ={"monitors.all":{title:"All Monitors",description:"Everything watching this organization.",searchPlaceholder:"Search monitors by name, type or assignee\u2026",emptyTitle:"No monitors found.",emptyLines:["This organization may not have monitors (the workflow engine) enabled.","Otherwise nothing is being monitored yet \u2014 create a monitor on sentry.io, as this client is read-only."]},"monitors.mine":{title:"My Monitors",description:"Monitors assigned to you or your teams.",assignee:"[me,my_teams]",searchPlaceholder:"Search your monitors\u2026",emptyTitle:"No monitors assigned to you.",emptyLines:["This organization may not have monitors (the workflow engine) enabled.","Otherwise nothing here is assigned to you or to a team you are on."]},"monitors.error":{title:"Error",description:"The per-project detectors that turn errors into issues.",type:qe.error,searchPlaceholder:"Search error monitors\u2026",emptyTitle:"No error monitors found.",emptyLines:["This organization may not have monitors (the workflow engine) enabled.","Error monitors are created by Sentry, one per project \u2014 an org with projects should have some."]},"monitors.metric":{title:"Metric",description:"Thresholds and anomalies over a metric.",type:qe.metric,searchPlaceholder:"Search metric monitors\u2026",emptyTitle:"No metric monitors found.",emptyLines:["This organization may not have monitors (the workflow engine) enabled.","Otherwise no metric monitor has been created yet."]},"monitors.cron":{title:"Cron",description:"Scheduled jobs that check in when they run.",type:qe.cron,searchPlaceholder:"Search cron monitors\u2026",emptyTitle:"No cron monitors found.",emptyLines:["This organization may not have crons enabled.","Otherwise no job is checking in yet \u2014 a cron monitor is created by its first check-in."]},"monitors.uptime":{title:"Uptime",description:"URLs Sentry checks on a schedule.",type:qe.uptime,searchPlaceholder:"Search uptime monitors\u2026",emptyTitle:"No uptime monitors found.",emptyLines:["This organization may not have uptime monitoring enabled.","Otherwise no URL is being checked yet."]},"monitors.mobile-build":{title:"Mobile Build",description:"Size regressions in mobile builds.",type:qe.mobileBuild,searchPlaceholder:"Search mobile build monitors\u2026",emptyTitle:"No mobile build monitors found.",emptyLines:["This organization may not have build size analysis (preprod) enabled.","Otherwise no build size monitor has been created yet."]}};function t_(e){return WQ[e]}function r_(e,t=""){let r=[`!type:${BQ}`];if(e?.type)r.push(`type:${e.type}`);if(e?.assignee)r.push(`assignee:${e.assignee}`);let H=t.trim();if(H)r.push(H);return r.join(" ")}import{useEffect as FQ,useMemo as Fo,useRef as UQ,useState as YQ}from"h:0__";function Uo(e,{org:t,monitorIds:r,uptimeDetectorIds:H,width:n,statsPeriod:o,project:s,environment:i,reloadToken:a=0}){let[l,c]=YQ(me),A=UQ(l);A.current=l;let u=Fo(()=>[...new Set(r)].sort().join(","),[r]),d=Fo(()=>[...new Set(H)].sort().join(","),[H]),m=Fo(()=>(s??[]).join(","),[s]),g=Fo(()=>(i??[]).join(","),[i]),p=Wo(o),O=Ca(n,{windowSeconds:p}).resolution;return FQ(()=>{if(!e)return;let y=u?u.split(","):[],L=d?d.split(","):[],f=Ca(n,{windowSeconds:p});if(y.length===0&&L.length===0){c(me);return}let k=new AbortController,{signal:I}=k,h=!1;return c(_e(A.current,Date.now())),(async()=>{try{let[b,w]=await Promise.all([zS(e,{org:t,monitors:y,project:m?m.split(","):void 0,environment:g?g.split(","):void 0,signal:I,...f}),JS(e,{org:t,detectorIds:L,signal:I,...f})]);if(h)return;c(ge({window:f,monitors:b,uptime:w},Date.now()))}catch(b){if(h||I.aborted)return;c(Oe(A.current,Ne(b)))}})(),()=>{h=!0,k.abort()}},[e,t,u,d,m,g,p,O,a]),l}function on(e,t,r){if(!e||!t)return;return e_(e.monitors[t],r)}function Yo(e,t){if(!e||!t)return;return e.uptime[t]??[]}import{useCallback as $Q}from"h:0__";function H_(e,{org:t,query:r,sortBy:H,project:n,reloadToken:o=0}){let s=$Q((a,l)=>{if(!e)return null;return RS(e,{org:t,query:r,sortBy:H,project:n,cursor:a,signal:l}).then((c)=>({data:Array.isArray(c.data)?c.data:[],nextCursor:c.nextCursor}))},[e,t,r,H,n]),i=It(s,o);return{detectors:dt(i.status,(a)=>a.data),nextCursor:i.nextCursor,page:i.page,nextPage:i.nextPage,previousPage:i.previousPage}}import{useEffect as CN,useMemo as QN}from"h:0__";var Qa=[{value:"-lastTriggered",label:"Last Triggered (newest)"},{value:"lastTriggered",label:"Last Triggered (oldest)"},{value:"name",label:"Name (A-Z)"},{value:"-name",label:"Name (Z-A)"},{value:"-actions",label:"Most Actions"},{value:"actions",label:"Fewest Actions"},{value:"-connectedDetectors",label:"Most Monitors"},{value:"connectedDetectors",label:"Fewest Monitors"}],n_="-lastTriggered";function o_(e){return Qa.some((t)=>t.value===e)?e:n_}var VQ=50;async function $o(e,{org:t,detector:r,query:H,project:n,sortBy:o=n_,limit:s=VQ,cursor:i,signal:a}){let l=await Nc({...e.generatedOptions(a),path:{organization_id_or_slug:t},query:{detector:r?.map(Number),query:H||void 0,project:Fe(n),sortBy:o,per_page:s}},i);return e.generatedPage({...l,data:ZQ(l.data)})}function ZQ(e){return Array.isArray(e)?e:[]}var zQ={vsts:"Azure DevOps",discord:"Discord",email:"Email",github:"GitHub",github_enterprise:"GitHub Enterprise",jira:"JIRA",jira_server:"JIRA Server",msteams:"Teams",opsgenie:"Opsgenie",pagerduty:"Pagerduty",plugin:"Plugin",sentry_app:"Sentry App",slack:"Slack",slack_staging:"Slack (Staging)",webhook:"Webhook"};function Vo(e){return zQ[e]??e}function Zo(e){let t=new Set;for(let r of e.actionFilters??[])for(let H of r.actions??[])if(H?.type)t.add(H.type);return[...t]}var s_=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],JQ={sun:0,mon:1,tue:2,wed:3,thu:4,fri:5,sat:6},eN=["January","February","March","April","May","June","July","August","September","October","November","December"],tN={jan:1,feb:2,mar:3,apr:4,may:5,jun:6,jul:7,aug:8,sep:9,oct:10,nov:11,dec:12},rN={"@yearly":"0 0 1 1 *","@annually":"0 0 1 1 *","@monthly":"0 0 1 * *","@weekly":"0 0 * * 0","@daily":"0 0 * * *","@midnight":"0 0 * * *","@hourly":"0 * * * *"};function a_(e){let r=(rN[e.trim().toLowerCase()]??e).trim().split(/\s+/),[H,n,o,s,i]=r.length===6?r.slice(1):r;if(!H||!n||!o||!s||!i)return;let a=o==="*"&&s==="*",l=a&&i==="*";if(H==="*"&&n==="*"&&l)return"Every minute";let c=i_(H);if(c!==void 0&&n==="*"&&l)return`Every ${ja(c,"minute")}`;let A=sn(H);if(A===void 0)return;let u=i_(n);if(u!==void 0&&l)return`Every ${ja(u,"hour")} at :${zo(A)}`;if(n==="*"&&l)return`Every hour at :${zo(A)}`;let d=sn(n);if(d===void 0)return;let m=`at ${zo(d)}:${zo(A)}`;if(l)return`Every day ${m}`;if(a){let O=nN(i);return O?`Every ${O} ${m}`:void 0}if(i!=="*")return;let g=sn(o);if(g===void 0)return;if(s==="*")return`Day ${g} of every month ${m}`;let p=HN(s);if(p===void 0)return;return`${eN[p-1]} ${g} ${m}`}function c_(e,t){return`Every ${ja(e,t)}`}function ja(e,t){if(e===1)return t;return`${e} ${t}s`}function zo(e){return String(e).padStart(2,"0")}function i_(e){let t=e.match(/^\*\/(\d+)$/);if(!t)return;let r=Number(t[1]);return r>0?r:void 0}function sn(e){return/^\d+$/.test(e)?Number(e):void 0}function HN(e){let t=sn(e);if(t!==void 0)return t>=1&&t<=12?t:void 0;return tN[e.toLowerCase().slice(0,3)]}function nN(e){let t=e.match(/^([^-]+)-([^-]+)$/);if(t){let H=Na(t[1]),n=Na(t[2]);return H&&n?`${H}\u2013${n}`:void 0}let r=e.split(",").map((H)=>Na(H));if(r.some((H)=>H===void 0))return;if(r.length===1)return r[0];return`${r.slice(0,-1).join(", ")} and ${r.at(-1)}`}function Na(e){let t=e.trim(),r=sn(t);if(r!==void 0)return s_[r===7?0:r];let H=JQ[t.toLowerCase().slice(0,3)];return H===void 0?void 0:s_[H]}var A_=40,u_=" \u2502 ",oN={[qe.error]:"Error",[qe.metric]:"Metric",[qe.cron]:"Cron",[qe.uptime]:"Uptime",[qe.issueStream]:"Project",[qe.mobileBuild]:"Mobile Build"};function Jo(e){return oN[e]??"Unknown"}function es(e){if(!e)return"\u2014";let t=e.name||e.email;if(!t)return"\u2014";return e.type==="team"&&!t.startsWith("#")?`#${t}`:t}function ts(e){return e.dataSources?.find((r)=>r.type==="snuba_query_subscription")?.queryObj?.snubaQuery}function d_(e){return e.dataSources?.find((r)=>r.type==="uptime_subscription")?.queryObj??void 0}function yr(e){return e.dataSources?.find((r)=>r.type==="cron_monitor")?.queryObj??void 0}function p_(e,{projectSlug:t}={}){let r=[];if(t)r.push(t);switch(e.type){case qe.metric:r.push(...sN(e));break;case qe.uptime:r.push(...iN(e));break;case qe.cron:{let H=m_(yr(e)?.config);if(H)r.push(H);break}case qe.mobileBuild:{let H=aN(e);if(H)r.push(H);break}default:break}return r}function sN(e){let t=[],r=ts(e);if(r){if(r.environment)t.push(r.environment);if(r.aggregate)t.push(r.aggregate);if(r.query)t.push(ei(r.query,A_))}let H=g_(e);if(H)t.push(H);return t}function iN(e){let t=d_(e);if(!t)return[];let r=[];if(t.url)r.push(ei(t.url,A_));let H=t.intervalSeconds;if(typeof H==="number"&&H>0)r.push(`Every ${$r(H)}`);return r}function m_(e){let t=e?.schedule;if(t===void 0)return;if(Array.isArray(t)){let[r,H]=t;if(typeof r!=="number"||!H)return;return c_(r,H)}if(typeof t!=="string"||t.trim()==="")return;return a_(t)??t}function aN(e){let{measurement:t,thresholdType:r}=e.config??{};return[t,r].filter(Boolean).join(" ")||void 0}var cN={gt:">",gte:">=",lt:"<",lte:"<=",eq:"=",ne:"!="},lN={25:"low",50:"medium",75:"high"};function g_(e){let t=e.conditionGroup?.conditions;if(!t?.length)return;let r=e.config?.detectionType??"static";if(r==="dynamic")return"Dynamic";if(r==="percent"){let o=$r(e.config?.comparisonDelta??3600);return t.map((i)=>uN(i,o)).filter(Boolean).join(", ")||void 0}let H=ON(ts(e)?.aggregate??"count()");return t.map((o)=>AN(o,H)).filter(Boolean).join(", ")||void 0}function AN(e,t){let r=O_(e);if(!r)return;if(typeof e.comparison!=="number"&&typeof e.comparison!=="string")return;return`${cN[e.type]??e.type}${e.comparison}${t} ${r}`}function uN(e,t){if(!O_(e)||typeof e.comparison!=="number")return;let H=e.comparison,n=H>=100?H-100:100-H,o=H>=100?"higher":"lower";return`${n}% ${o} than previous ${t}`}function O_(e){let t=e.conditionResult;if(typeof t!=="number"||t===0)return;return lN[t]}var dN=new Set(["any","avg","max","min","p50","p75","p90","p95","p99","p100","percentile","sum"]),pN=new Set(["event.timestamp","function.duration","measurements.app_start_cold","measurements.app_start_warm","measurements.fcp","measurements.fid","measurements.fp","measurements.inp","measurements.lcp","measurements.stall_longest_time","measurements.stall_total_time","measurements.time_to_full_display","measurements.time_to_initial_display","measurements.ttfb","measurements.ttfb.requesttime","span.duration","span.self_time","spans.browser","spans.db","spans.http","spans.resource","spans.ui","timestamp","transaction.duration"]),mN=new Set(["http.decoded_response_content_length","http.response_content_length","http.response_transfer_size","payload_size"]),gN=new Set(["abnormal_rate","anr_rate","crash_free_rate","crash_rate","errored_rate","foreground_anr_rate","unhandled_rate","unhealthy_rate"]);function ON(e){let t=e.trim().toLowerCase().match(/^([a-z_][a-z0-9_]*)\((.*)\)$/);if(!t)return"";let r=t[1];if(gN.has(r))return"%";if(r==="last_seen")return"ms";if(!dN.has(r))return"";let H=t[2].split(",",1)[0].trim();if(pN.has(H))return"ms";if(mN.has(H))return"B";return""}function y_(e){switch(e.type){case qe.metric:return yN(e);case qe.uptime:return fN(e);case qe.cron:return SN(e);case qe.mobileBuild:return _N(e);default:return[]}}function rs(e){return e.filter((t)=>t!==void 0&&t.value!=="")}function Be(e,t){if(t===null||t===void 0||t==="")return;return{label:e,value:String(t)}}function yN(e){let t=ts(e),r=t?.timeWindow;return rs([Be("Aggregate",t?.aggregate),Be("Query",t?.query),Be("Dataset",t?.dataset),Be("Environment",t?.environment),Be("Time window",typeof r==="number"?$r(r):void 0),Be("Detection",e.config?.detectionType??"static"),Be("Threshold",g_(e))])}function fN(e){let t=d_(e),r=t?.intervalSeconds,H=t?.timeoutMs,n=e.config;return rs([Be("URL",t?.url),Be("Method",t?.method),Be("Interval",typeof r==="number"?`Every ${$r(r)}`:void 0),Be("Timeout",typeof H==="number"?$r(H/1000):void 0),Be("Environment",n?.environment),Be("Downtime after",f_(n?.downtimeThreshold)),Be("Recovers after",S_(n?.recoveryThreshold))])}function SN(e){let t=yr(e),r=t?.config,H=(t?.environments??[]).map((n)=>n.name);return rs([Be("Schedule",m_(r)),Be("Timezone",r?.timezone),Be("Check-in margin",l_(r?.checkin_margin)),Be("Max runtime",l_(r?.max_runtime)),Be("Fails after",f_(r?.failure_issue_threshold)),Be("Recovers after",S_(r?.recovery_threshold)),Be("Environments",H.join(", "))])}function _N(e){let t=e.config;return rs([Be("Measurement",t?.measurement),Be("Threshold type",t?.thresholdType),Be("Query",t?.query)])}function l_(e){if(typeof e!=="number")return;return e===1?"1 minute":`${e} minutes`}function f_(e){if(typeof e!=="number")return;return e===1?"1 failure":`${e} consecutive failures`}function S_(e){if(typeof e!=="number")return;return e===1?"1 success":`${e} consecutive successes`}function __(e){switch(e.type){case qe.metric:return ts(e)?.environment??void 0;case qe.uptime:return e.config?.environment??void 0;default:return}}import{useEffect as k_,useRef as h_,useState as L_}from"h:0__";function I_(e,{org:t,detectorId:r,statsPeriod:H,reloadToken:n=0}){let[o,s]=L_(me),i=h_(o);return i.current=o,k_(()=>{if(!e||!r)return;let a=new AbortController,{signal:l}=a,c=!1;return s(_e(i.current,Date.now())),(async()=>{try{let A=await GS(e,{org:t,detectorId:r,statsPeriod:H,signal:l});if(c)return;s(ge({rows:Array.isArray(A.data)?A.data:[],nextCursor:A.nextCursor,...A.totalCount===void 0?{}:{totalCount:A.totalCount}},Date.now()))}catch(A){if(c||l.aborted)return;s(Oe(i.current,Ne(A)))}})(),()=>{c=!0,a.abort()}},[e,t,r,H,n]),o}function b_(e,{org:t,detectorId:r,reloadToken:H=0}){let[n,o]=L_(me),s=h_(n);return s.current=n,k_(()=>{if(!e||!r)return;let i=new AbortController,{signal:a}=i,l=!1;return o(_e(s.current,Date.now())),(async()=>{try{let c=await $o(e,{org:t,detector:[r],signal:a});if(l)return;o(ge(Array.isArray(c.data)?c.data:[],Date.now()))}catch(c){if(l||a.aborted)return;o(Oe(s.current,Ne(c)))}})(),()=>{l=!0,i.abort()}},[e,t,r,H]),n}import{useEffect as xN,useMemo as N_,useRef as TN}from"h:0__";function Hs(e){let t=e.border;return{cron:{config:BS,colors:{ok:e.success,missed:e.muted,timeout:e.warning,error:e.danger,in_progress:e.accent,unknown:e.subText},trackColor:t},uptime:{config:WS,colors:{success:e.success,failure:e.danger,failure_incident:e.danger,missed_window:e.subText},trackColor:t}}}function ns(e=Bo){let t=Math.round(e/3600);if(t<=0)return"Last hour";if(t===1)return"Last hour";if(t%24!==0)return`Last ${t} hours`;let r=t/24;return r===1?"Last 24 hours":`Last ${r} days`}import{jsxDEV as Da}from"h:6___________________________";function _H({buckets:e,style:t,width:r,since:H,until:n}){let o=Math.max(0,Math.floor(r));if(o===0)return null;if(e===void 0)return Da("text",{fg:t.trackColor,children:XS.repeat(o)},void 0,!1,void 0,this);let s=Xo(e,{width:o,since:H,until:n,config:t.config});return Da("text",{children:kN(s,t)},void 0,!1,void 0,this)}function kN(e,t){let r=[],H="",n="",o=()=>{if(!H)return;r.push(Da("span",{fg:n,children:H},r.length,!1,void 0,this)),H=""};for(let s of e){let i=s.status===null?t.trackColor:t.colors[s.status];if(i!==n)o(),n=i;H+=s.glyph}return o(),r}import{jsxDEV as fr,Fragment as wN}from"h:6___________________________";function kH(e){if(e===qe.cron)return"cron";if(e===qe.uptime)return"uptime";return}function Ra(e){return kH(e.type)}var hN=16,LN=72,IN=0.45,bN=16,w_=8;function x_(e){let t=Math.floor(Math.max(0,e)*IN);return Math.max(hN,Math.min(LN,t))}function T_(e,t){return e==="cron"?C_(t).track:t}function P_(e){if(Ra(e)!=="cron")return 1;return Math.max(1,M_(e).length)}function q_({stats:e,failed:t,width:r,windowSeconds:H,theme:n}){let o=Hs(n),s=e?e.window.until-e.window.since:H;return{key:"check-ins",label:ns(s),width:r,render:(i,a,l)=>{let c=Ra(i);if(!c)return fr("text",{fg:n.subText,children:_("",l)},void 0,!1,void 0,this);let A=e?.window.since??0,u=e?.window.until??0;if(c==="uptime")return fr(_H,{buckets:t?[]:Yo(e,i.id),style:o.uptime,width:l,since:A,until:u},void 0,!1,void 0,this);let m=yr(i)?.id,g=M_(i);if(g.length===0)return fr(_H,{buckets:t||!m?[]:on(e,m),style:o.cron,width:l,since:A,until:u},void 0,!1,void 0,this);let p=C_(l);return fr("box",{style:{flexDirection:"column",width:l},children:g.map((O)=>fr("box",{style:{flexDirection:"row",width:l},children:[p.label>0?fr(wN,{children:[fr("text",{fg:n.subText,children:_(O,p.label)},void 0,!1,void 0,this),fr("text",{children:" ".repeat(p.gap)},void 0,!1,void 0,this)]},void 0,!0,void 0,this):null,fr(_H,{buckets:t||!m?[]:on(e,m,O),style:o.cron,width:p.track,since:A,until:u},void 0,!1,void 0,this)]},O,!0,void 0,this))},void 0,!1,void 0,this)}}}function M_(e){let t=(yr(e)?.environments??[]).map((r)=>r.name).filter((r)=>r.length>0);return[...new Set(t)]}function C_(e){let t=Math.max(0,Math.floor(e));if(t<=w_+1)return{label:0,gap:0,track:t};let r=1,H=Math.min(bN,t-w_-r);return{label:H,gap:r,track:t-H-r}}function Q_(e){let t=[],r=[];for(let H of e??[]){let n=Ra(H);if(n==="uptime")r.push(H.id);else if(n==="cron"){let o=yr(H)?.id;if(o)t.push(o)}}return{monitorIds:t,uptimeDetectorIds:r}}import{jsxDEV as St,Fragment as MN}from"h:6___________________________";function D_(e){return kH(e.type)!==void 0}function R_({detector:e,width:t,client:r,org:H,reloadToken:n,notify:o}){let s=S(),i=Hs(s),a=kH(e.type),l=a==="cron"?yr(e)?.id:void 0,c=N_(()=>l?[l]:[],[l]),A=N_(()=>a==="uptime"?[e.id]:[],[a,e.id]),u=Math.max(0,t-Ie.length),d=Uo(r,{org:H,monitorIds:c,uptimeDetectorIds:A,width:u,reloadToken:n}),m=B(d),g=d.state==="error"&&m===void 0,p=TN(void 0),O=se(d)?.message;if(xN(()=>{if(O&&p.current!==O)o({kind:"warning",text:"check-in history unavailable"});p.current=O},[O,o]),!a)return null;if(a==="cron"&&!l)return St(st,{children:"This monitor has no check-in source."},void 0,!1,void 0,this);let y=m?.window.since??0,L=m?.window.until??0;return St("box",{style:{flexDirection:"column",width:t},children:[St("box",{style:{flexDirection:"row",width:t},children:[St("text",{fg:s.muted,children:`${Ie}${ns()}`},void 0,!1,void 0,this),qN(e,s)]},void 0,!0,void 0,this),a==="uptime"?St(j_,{buckets:g?[]:Yo(m,e.id),style:i.uptime,width:u,since:y,until:L},void 0,!1,void 0,this):St(j_,{buckets:g?[]:on(m,l),style:i.cron,width:u,since:y,until:L},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function j_({buckets:e,style:t,width:r,since:H,until:n}){return St(MN,{children:[St("box",{style:{flexDirection:"row",width:r+Ie.length},children:[St("text",{children:Ie},void 0,!1,void 0,this),St(_H,{buckets:e,style:t,width:r,since:H,until:n},void 0,!1,void 0,this)]},void 0,!0,void 0,this),St(PN,{buckets:e,style:t,width:r,since:H,until:n},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function PN({buckets:e,style:t,width:r,since:H,until:n}){if(!e||e.length===0)return null;let o=Xo(e,{width:r,since:H,until:n,config:t.config}),s=US(o,t.config);if(s.length===0)return null;return St("box",{style:{flexDirection:"row",width:r+Ie.length},children:[St("text",{children:Ie},void 0,!1,void 0,this),s.map((i,a)=>St("text",{fg:t.colors[i.status],children:`${a>0?" \xB7 ":""}${i.count} ${i.label}`},i.status,!1,void 0,this))]},void 0,!0,void 0,this)}function qN(e,t){let r=yr(e)?.environments??[];if(r.length<2)return null;return St("text",{fg:t.subText,children:` (all ${r.length} environments)`},void 0,!1,void 0,this)}import{jsxDEV as W,Fragment as K_}from"h:6___________________________";var NN={config:"Configuration",timeline:"Check-ins",periods:"Open Periods",alerts:"Connected Alerts",details:"Details"};function v_(e,t,r=xt){return{id:`monitor:${e.id}`,sentryLocation:{screen:"monitors.all",detail:{kind:"monitor",detectorId:e.id}},label:e.name,render:(H)=>W(E_,{...H,detector:e,projectSlug:t,statsPeriod:r},void 0,!1,void 0,this)}}var jN=(e,{org:t,id:r,signal:H})=>vS(e,{org:t,detectorId:r,signal:H});function G_(e){return{id:`monitor:${e}`,sentryLocation:{screen:"monitors.all",detail:{kind:"monitor",detectorId:e}},label:`Monitor ${e}`,render:(t)=>W(DN,{...t,detectorId:e},void 0,!1,void 0,this)}}function DN({client:e,org:t,detectorId:r,reloadToken:H,width:n,height:o,updateView:s,...i}){let a=Ar(e,{org:t,id:r,reloadToken:H,load:jN}),l=B(a);if(CN(()=>{if(l)s(`monitor:${r}`,{label:l.name})},[l,r,s]),!l)return W(lr,{status:a,noun:"monitor",width:n,height:o},void 0,!1,void 0,this);return W(E_,{...i,client:e,org:t,detector:l,projectSlug:l.latestGroup?.project?.slug,reloadToken:H,width:n,height:o,updateView:s},void 0,!1,void 0,this)}function E_({client:e,org:t,detector:r,projectSlug:H,statsPeriod:n=xt,width:o,height:s,focused:i,reloadToken:a,notify:l,pushView:c,registerActions:A}){let u=S(),d=r.latestGroup?.id;Ke(A,{openDetail:d?()=>c(Ko(d)):void 0});let m=I_(e,{org:t,detectorId:r.id,statsPeriod:n,reloadToken:a}),g=b_(e,{org:t,detectorId:r.id,reloadToken:a}),p=Math.max(20,o-2),O=D_(r),y=QN(()=>["config",...O?["timeline"]:[],"periods","alerts","details"],[O]),{collapsed:L,toggle:f}=Ro(y,i),k=B(m),I=B(g),h={config:void 0,periods:KN(k),alerts:I?.length};return W("scrollbox",{focused:i,verticalScrollbarOptions:{showArrows:!1,trackOptions:{backgroundColor:u.panel,foregroundColor:u.muted}},style:{width:o,height:s,paddingLeft:1},children:[W(RN,{detector:r,projectSlug:H,width:p},void 0,!1,void 0,this),y.map((b,w)=>W(Do,{index:w+1,title:NN[b],count:h[b],collapsed:L.has(b),width:p,onToggle:()=>f(b),children:W(GN,{sectionKey:b,detector:r,width:p,client:e,org:t,reloadToken:a,notify:l,statsPeriod:n,periods:m,workflows:g},void 0,!1,void 0,this)},b,!1,void 0,this))]},void 0,!0,void 0,this)}function RN({detector:e,projectSlug:t,width:r}){let H=S(),n=e.enabled?H.accent:H.muted,o=Math.max(12,r-2);return W("box",{style:{flexDirection:"column",width:r},children:[W("box",{style:{flexDirection:"row",width:r},children:[W("text",{fg:n,children:"\u2503 "},void 0,!1,void 0,this),W("text",{fg:H.text,attributes:X,children:R(e.name,o)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),W("box",{style:{flexDirection:"row",width:r},children:[W("text",{fg:n,children:"\u2503 "},void 0,!1,void 0,this),W("text",{fg:H.muted,children:R(e.description||"(no description)",o)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),W("box",{style:{flexDirection:"row",width:r,paddingTop:1},children:[W("text",{children:Ie},void 0,!1,void 0,this),W("text",{fg:e.enabled?H.success:H.muted,children:e.enabled?"enabled":"disabled"},void 0,!1,void 0,this),W(Qt,{},void 0,!1,void 0,this),W("text",{fg:H.muted,children:Jo(e.type)},void 0,!1,void 0,this),t?W(K_,{children:[W(Qt,{},void 0,!1,void 0,this),W("text",{fg:H.muted,children:t},void 0,!1,void 0,this)]},void 0,!0,void 0,this):null,W(Qt,{},void 0,!1,void 0,this),W("text",{fg:H.muted,children:e.owner?es(e.owner):"unassigned"},void 0,!1,void 0,this),W(Qt,{},void 0,!1,void 0,this),W("text",{fg:H.muted,children:vN(e)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),W("text",{fg:H.border,children:"\u2500".repeat(r)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function vN(e){let t=e.lastTriggered?he(e.lastTriggered):"";if(t)return`last triggered ${t} ago`;let r=he(e.latestGroup?.lastSeen);return r?`last issue ${r} ago`:"never triggered"}function GN({sectionKey:e,detector:t,width:r,client:H,org:n,reloadToken:o,notify:s,statsPeriod:i,periods:a,workflows:l}){switch(e){case"config":{let c=y_(t);if(c.length===0)return t.type==="error"?W(st,{children:"An error monitor has no settings \u2014 every error in its project opens an issue."},void 0,!1,void 0,this):W(st,{children:"No configuration was returned for this monitor."},void 0,!1,void 0,this);return W("box",{style:{flexDirection:"column",width:r},children:c.map((A)=>W(Xt,{name:A.label,value:A.value,width:r},A.label,!1,void 0,this))},void 0,!1,void 0,this)}case"timeline":return W(R_,{detector:t,width:r,client:H,org:n,reloadToken:o,notify:s},void 0,!1,void 0,this);case"periods":return W(EN,{status:a,statsPeriod:i,width:r},void 0,!1,void 0,this);case"alerts":return W(WN,{status:l,width:r},void 0,!1,void 0,this);case"details":return W(UN,{detector:t,width:r,client:H,org:n},void 0,!1,void 0,this)}}function EN({status:e,statsPeriod:t,width:r}){let H=B(e),n=se(e);if(n)return W(st,{children:`Failed to load open periods: ${n.message}`},void 0,!1,void 0,this);if(!H)return W(st,{children:"Loading open periods\u2026"},void 0,!1,void 0,this);if(H.rows.length===0)return W(st,{children:`No open periods in the last ${t}.`},void 0,!1,void 0,this);return W("box",{style:{flexDirection:"column",width:r},children:[W(st,{children:XN(H,t)},void 0,!1,void 0,this),H.rows.map((o)=>W(BN,{period:o,width:r},o.id,!1,void 0,this))]},void 0,!0,void 0,this)}function KN(e){if(!e)return;if(e.totalCount!==void 0&&e.totalCount>e.rows.length)return`${e.rows.length} of ${e.totalCount}`;return e.nextCursor===null?e.rows.length:`${e.rows.length}+`}function XN(e,t){let r=e.rows.length,H=e.totalCount===void 0?void 0:Math.max(0,e.totalCount-r);if(H&&H>0)return`Newest ${r} in the last ${t}; ${H} older not shown.`;if(e.nextCursor!==null)return`Newest ${r} in the last ${t}; older periods not shown.`;return`All ${r} in the last ${t}, newest first.`}function BN({period:e,width:t}){let r=S(),H=e.isOpen||!e.end;return W("box",{style:{flexDirection:"row",width:t},children:[W("text",{fg:r.subText,children:`${Ie}#${e.id} `},void 0,!1,void 0,this),W("text",{fg:r.text,children:VH(e.start)},void 0,!1,void 0,this),W("text",{fg:r.subText,children:" \u2192 "},void 0,!1,void 0,this),W("text",{fg:H?r.warning:r.text,children:H?"ongoing":VH(e.end)},void 0,!1,void 0,this),W("text",{fg:r.muted,children:` ${yf(e.start,e.end)}`},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function WN({status:e,width:t}){let r=B(e),H=se(e);if(H)return W(st,{children:`Failed to load alerts: ${H.message}`},void 0,!1,void 0,this);if(!r)return W(st,{children:"Loading alerts\u2026"},void 0,!1,void 0,this);if(r.length===0)return W(st,{children:"No alerts are connected to this monitor."},void 0,!1,void 0,this);return W("box",{style:{flexDirection:"column",width:t},children:r.map((n)=>W(FN,{workflow:n,width:t},n.id,!1,void 0,this))},void 0,!1,void 0,this)}function FN({workflow:e,width:t}){let r=S(),H=Zo(e).map(Vo).join(", "),n=e.lastTriggered?`${he(e.lastTriggered)} ago`:"never",o=e.enabled!==!1;return W("box",{style:{flexDirection:"column",width:t},children:[W("box",{style:{flexDirection:"row",width:t},children:W("text",{fg:o?r.text:r.muted,children:`${Ie}${R(e.name||`Alert ${e.id}`,Math.max(8,t-4))}`},void 0,!1,void 0,this)},void 0,!1,void 0,this),W("box",{style:{flexDirection:"row",width:t},children:[W("text",{fg:r.subText,children:`${Ie} `},void 0,!1,void 0,this),W("text",{fg:o?r.muted:r.subText,children:o?"enabled":"disabled"},void 0,!1,void 0,this),H?W(K_,{children:[W(Qt,{},void 0,!1,void 0,this),W("text",{fg:r.muted,children:H},void 0,!1,void 0,this)]},void 0,!0,void 0,this):null,W(Qt,{},void 0,!1,void 0,this),W("text",{fg:r.muted,children:`last fired ${n}`},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}function UN({detector:e,width:t,client:r,org:H}){let n=__(e),o=e.latestGroup,s=No(r,H,Boolean(e.createdBy)),i=e.createdBy?s.state==="ready"?s.value.get(e.createdBy)?.user?.name??"Deactivated user":s.state==="error"?"Unavailable":"Loading\u2026":"Sentry";return W("box",{style:{flexDirection:"column",width:t},children:[W(Xt,{name:"Monitor ID",value:e.id,width:t},void 0,!1,void 0,this),n?W(Xt,{name:"Environment",value:n,width:t},void 0,!1,void 0,this):null,o?W(Xt,{name:"Last issue",value:YN(o.title,o.shortId,o.lastSeen),width:t},void 0,!1,void 0,this):null,W(Xt,{name:"Created",value:VH(e.dateCreated),width:t},void 0,!1,void 0,this),W(Xt,{name:"Created by",value:i,width:t},void 0,!1,void 0,this),W(Xt,{name:"Last modified",value:VH(e.dateUpdated),width:t},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function YN(e,t,r){let H=he(r);return[t,e,H?`${H} ago`:void 0].filter(Boolean).join(" \xB7 ")}import{jsxDEV as hH}from"h:6___________________________";var X_=22;function va(e,t,r){return e.enabled?t:r.muted}function $N(e){return{name:{key:"name",label:"Name",width:"flex",render:(s,i,a)=>hH("text",{fg:va(s,i?e.text:e.accent,e),attributes:i&&s.enabled?X:0,children:_(s.name,a)},void 0,!1,void 0,this)},type:{key:"type",label:"Type",width:12,priority:4,render:(s,i,a)=>hH("text",{fg:va(s,e.text,e),children:_(Jo(s.type),a)},void 0,!1,void 0,this)},lastIssue:{key:"last-issue",label:"Last Issue",width:26,priority:2,render:(s,i,a)=>hH("text",{fg:e.subText,children:_(VN(s),a)},void 0,!1,void 0,this)},assignee:{key:"assignee",label:"Assignee",width:16,priority:3,render:(s,i,a)=>hH("text",{fg:e.subText,children:_(es(s.owner),a)},void 0,!1,void 0,this)},alerts:{key:"alerts",label:"Alerts",width:6,align:"right",priority:1,render:(s,i,a)=>{let l=s.workflowIds?.length??0;return hH("text",{fg:l>0?va(s,e.text,e):e.subText,children:_(l>0?String(l):"\u2014",a,"right")},void 0,!1,void 0,this)}}}}function B_(e,{visualization:t}={}){let r=$N(e);if(t)return[r.name,r.type,t];return[r.name,r.type,r.lastIssue,r.assignee,r.alerts]}function W_(e,t,{projectSlugs:r,theme:H}){let n=e.projectId?r?.get(e.projectId)??e.latestGroup?.project?.slug:void 0,o=p_(e,{projectSlug:n});return hH("text",{fg:H.muted,children:_(` ${o.join(u_)}`,Math.max(0,t))},void 0,!1,void 0,this)}function VN(e){let t=e.latestGroup;if(!t)return"\u2014";let r=t.title||t.shortId||t.id,H=he(t.lastSeen);return H?`${r} \xB7 ${H}`:r}import{jsxDEV as xr}from"h:6___________________________";var ZN=4,zN=["project"],JN=["project","date"];function e1(e){return{title:e,description:"",searchPlaceholder:"Search monitors\u2026",emptyTitle:"No monitors found.",emptyLines:["This organization may not have monitors (the workflow engine) enabled."]}}function t1(e,t,r){return r.some((H)=>H.key==="check-ins")?P_(e):1}function Tr(e){let t=S(),{client:r,org:H,screen:n,state:o,focused:s,width:i,height:a,reloadToken:l,onProjectSelect:c}=e,{dispatch:A,focusSearch:u,handleSearchBlur:d}=o,m=t_(n.id)??e1(n.item),g=r_(m,o.committedQuery),p=DS(o.sort),O=o.selectedProjects.length>0?o.selectedProjects:void 0,{detectors:y,nextCursor:L,page:f,nextPage:k,previousPage:I}=H_(r,{org:H,query:g,sortBy:p,project:O,reloadToken:l}),h=B(y),b=se(y),w=y.state==="loading",T=Je(y);os(()=>{if(h)A({type:"setEntries",payload:h})},[h,A]);let q=F_(f);os(()=>{if(q.current===f)return;q.current=f,A({type:"setSelected",payload:0})},[f,A]),os(()=>{A({type:"setStatus",payload:{loading:w,since:T,error:b?.message,noun:"monitors"}})},[w,T,b,A]);let E=Ea(()=>h?.flatMap((de)=>de.projectId?[de.projectId]:[])??[],[h]),D=cH(r,H,E),{pushView:x}=e,P=Ga((de)=>{let re=h?.[de];if(!re)return;let ue=re.projectId?D.get(re.projectId):void 0;x(v_(re,ue??re.latestGroup?.project?.slug,o.statsPeriod))},[h,x,D,o.statsPeriod]);Ke(e.registerActions,{open:P,nextPage:k,previousPage:I});let N=Ga(()=>A({type:"setOpenDropdown",payload:null}),[A]),F=kH(m.type),j=x_(i),U=Wo(o.statsPeriod),{monitorIds:z,uptimeDetectorIds:oe}=Ea(()=>F?Q_(h):{monitorIds:[],uptimeDetectorIds:[]},[F,h]),ie=Uo(r,{org:H,monitorIds:z,uptimeDetectorIds:oe,width:F?T_(F,j):j,statsPeriod:o.statsPeriod,reloadToken:l}),G=B(ie),Y=ie.state==="error"&&G===void 0,{notify:ee}=e,C=F_(void 0),v=se(ie)?.message;os(()=>{if(!F)return;if(v&&C.current!==v)ee({kind:"warning",text:"check-in history unavailable"});C.current=v},[F,v,ee]);let pe=Ea(()=>B_(t,F?{visualization:q_({stats:G,failed:Y,width:j,windowSeconds:U,theme:t})}:void 0),[F,G,Y,j,U,t]),Me=Ga((de,re,ue)=>W_(de,ue,{projectSlugs:D,theme:t}),[D,t]);return xr("box",{style:{flexDirection:"column",width:i,height:a},children:[xr(Lt,{value:o.searchQuery,placeholder:m.searchPlaceholder,focused:o.searchFocused,width:i,onInput:(de)=>A({type:"setSearchQuery",payload:de}),onFocus:u,onBlur:d},void 0,!1,void 0,this),xr("box",{style:{flexDirection:"row",width:i,flexShrink:0,paddingLeft:1},children:[xr("text",{fg:t.text,attributes:X,children:m.title},void 0,!1,void 0,this),xr("text",{fg:t.muted,children:` ${m.description}`},void 0,!1,void 0,this)]},void 0,!0,void 0,this),xr(Ve,{client:r,org:H,openDropdown:o.openDropdown,selectedProjects:o.selectedProjects,selectedEnvs:o.selectedEnvs,statsPeriod:o.statsPeriod,filters:F?JN:zN,sort:{value:p,items:qa,onChange:(de)=>A({type:"setSort",payload:de})},width:i,anchorTop:Le+1,onProjectChange:c,onEnvChange:()=>{},onPeriodChange:(de)=>A({type:"setStatsPeriod",payload:de}),onDropdownOpen:(de)=>A({type:"setOpenDropdown",payload:de}),onDropdownClose:N},void 0,!1,void 0,this),xr(nt,{rows:h,columns:pe,width:i,minFlex:X_,selectedIndex:o.selected,focused:s,rowKey:(de)=>de.id,loading:ke(y),error:b,errorTitle:"Failed to load monitors",onRowClick:e.activateRow,renderDetail:Me,rowContentHeight:F==="cron"?t1:void 0,empty:{title:m.emptyTitle,lines:[o.committedQuery||void 0,...m.emptyLines]},layout:[a,ZN]},void 0,!1,void 0,this),xr(Re,{count:h?.length,noun:"monitor",hasMore:L!==null,pagination:L!==null||f>1?{page:f,hasPrevious:f>1,hasNext:L!==null,loading:w,onPrevious:I,onNext:k}:void 0},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}import{useCallback as Z_,useEffect as Xa,useRef as z_}from"h:0__";import{RenderableEvents as ss}from"h:3__________";var r1=["project","fingerprint","package","function","count()","sum()","avg()","p50()","p75()","p95()","p99()"],Ka=[{value:"-sum()",label:"Total self time"},{value:"-avg()",label:"Average self time"},{value:"-p50()",label:"p50 self time"},{value:"-p75()",label:"p75 self time"},{value:"-p95()",label:"p95 self time"},{value:"-p99()",label:"p99 self time"}],U_="-sum()";function Y_(e){return Ka.some((t)=>t.value===e)?e:U_}var H1=50;async function $_(e,{org:t,query:r="",statsPeriod:H,project:n,environment:o,sort:s=U_,cursor:i,limit:a=H1,signal:l}){let c=await Tt(e,{org:t,dataset:"profileFunctions",fields:r1,sort:s,query:r,statsPeriod:H,project:n,environment:o,cursor:i,limit:a,referrer:"sentry-tui.profile-functions",signal:l});return{data:c.rows.map(n1),nextCursor:c.nextCursor}}function n1(e,t){return{fingerprint:Ge(e,"fingerprint")??String(t),projectSlug:Ge(e,"project"),package:Ge(e,"package")??"",name:Ge(e,"function")??"",count:kt(e,"count()"),totalSelfTimeNs:kt(e,"sum()"),p75SelfTimeNs:kt(e,"p75()")}}import{useCallback as o1}from"h:0__";function V_(e,{org:t,query:r,statsPeriod:H,project:n,environment:o,sort:s,reloadToken:i=0}){let a=o1((c,A)=>e?$_(e,{org:t,query:r,statsPeriod:H,project:n,environment:o,sort:s,cursor:c,signal:A}):null,[e,t,r,H,n,o,s]),l=It(a,i);return{functions:dt(l.status,(c)=>c.data),nextCursor:l.nextCursor,page:l.page,nextPage:l.nextPage,previousPage:l.previousPage}}import{jsxDEV as Ue}from"h:6___________________________";var s1="Aggregate flamegraph \u2014 open Explore \u203A Profiles on sentry.io",i1=24,a1=["A flamegraph needs pixels a terminal does not have; an ASCII","approximation would mislead. Below: the same page's slowest functions."];function c1(e){return[{key:"function",label:"Function",width:"flex",render:(t,r,H)=>Ue("text",{fg:e.text,children:_(t.name,H)},void 0,!1,void 0,this)},{key:"package",label:"Package",width:18,priority:2,render:(t,r,H)=>Ue("text",{fg:e.muted,children:_(t.package,H)},void 0,!1,void 0,this)},{key:"project",label:"Project",width:12,priority:1,render:(t,r,H)=>Ue("text",{fg:e.subText,children:_(t.projectSlug??"",H)},void 0,!1,void 0,this)},{key:"count",label:"Calls",width:7,align:"right",priority:3,render:(t,r,H)=>Ue("text",{fg:e.muted,children:_(Pe(t.count),H,"right")},void 0,!1,void 0,this)},{key:"p75",label:"p75",width:9,align:"right",priority:4,render:(t,r,H)=>Ue("text",{fg:e.muted,children:_(is(t.p75SelfTimeNs),H,"right")},void 0,!1,void 0,this)},{key:"total",label:"Self Time",width:10,align:"right",render:(t,r,H)=>Ue("text",{fg:e.text,children:_(is(t.totalSelfTimeNs),H,"right")},void 0,!1,void 0,this)}]}function J_({client:e,org:t,state:r,focused:H,width:n,height:o,reloadToken:s,onProjectSelect:i,registerActions:a,activateRow:l}){let c=S(),{dispatch:A,focusSearch:u,handleSearchBlur:d}=r,m=z_(null),g=Z_((N)=>{let F=m.current;if(F)F.removeAllListeners(ss.FOCUSED),F.removeAllListeners(ss.BLURRED);if(m.current=N,N)N.on(ss.FOCUSED,()=>u()),N.on(ss.BLURRED,()=>d())},[u,d]),p=r.committedQuery,O=Y_(r.sort),{functions:y,nextCursor:L,page:f,nextPage:k,previousPage:I}=V_(e,{org:t,query:p,statsPeriod:r.statsPeriod,project:r.selectedProjects.length>0?r.selectedProjects:void 0,environment:r.selectedEnvs.length>0?r.selectedEnvs:void 0,sort:O,reloadToken:s}),h=y.state==="loading",b=Je(y),w=B(y),T=se(y);Xa(()=>{if(w)A({type:"setEntries",payload:w})},[w,A]);let q=z_(f);Xa(()=>{if(q.current===f)return;q.current=f,A({type:"setSelected",payload:0})},[f,A]),Xa(()=>{A({type:"setStatus",payload:{loading:h,since:b,error:T?.message,noun:"functions"}})},[h,b,T,y,A]);let E=Z_(()=>A({type:"setOpenDropdown",payload:null}),[A]);Ke(a,{open:()=>A({type:"setDetailOpen",payload:(N)=>!N}),nextPage:k,previousPage:I,back:()=>{if(!r.detailOpen)return!1;return A({type:"setDetailOpen",payload:!1}),!0}});let D=Math.max(20,n-2),x=w?.[r.selected]??null,P=r.detailOpen&&x!==null;return Ue("box",{style:{flexDirection:"column",width:n,height:o},children:[Ue("box",{style:{flexDirection:"row",width:n,flexShrink:0,height:Le,border:!0,borderStyle:"rounded",borderColor:r.searchFocused?c.accent:c.border,backgroundColor:c.panel,paddingLeft:1,paddingRight:1},children:[Ue(Gt,{},void 0,!1,void 0,this),Ue("input",{ref:g,value:r.searchQuery,placeholder:"Search functions\u2026",focused:r.searchFocused,onInput:(N)=>A({type:"setSearchQuery",payload:N}),style:{flexGrow:1,textColor:c.text,backgroundColor:c.panel,focusedTextColor:c.text,focusedBackgroundColor:c.panel,placeholderColor:c.subText}},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Ue(Ve,{client:e,org:t,openDropdown:r.openDropdown,selectedProjects:r.selectedProjects,selectedEnvs:r.selectedEnvs,statsPeriod:r.statsPeriod,sort:{value:O,items:Ka,onChange:(N)=>A({type:"setSort",payload:N})},width:n,anchorTop:Le,onProjectChange:i,onEnvChange:(N)=>A({type:"setSelectedEnvs",payload:N}),onPeriodChange:(N)=>A({type:"setStatsPeriod",payload:N}),onDropdownClose:E,onDropdownOpen:(N)=>A({type:"setOpenDropdown",payload:N})},void 0,!1,void 0,this),Ue(l1,{width:D},void 0,!1,void 0,this),Ue(nt,{rows:w,columns:c1(c),width:n,selectedIndex:r.selected,focused:H,rowKey:(N)=>N.fingerprint,loading:ke(y),error:T,errorTitle:"Failed to load profiled functions",minFlex:i1,onRowClick:l,empty:{title:"No profiled functions found.",lines:[p||void 0,"Try widening the time range or selecting a project that sends profiles.","This organization may not have profiling enabled."]},layout:[o,P]},void 0,!1,void 0,this),P&&x?Ue(A1,{fn:x,width:D},void 0,!1,void 0,this):null,Ue(Re,{count:w?.length,noun:"function",hasMore:L!==null,pagination:L!==null||f>1?{page:f,hasPrevious:f>1,hasNext:L!==null,loading:h,onPrevious:I,onNext:k}:void 0},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function l1({width:e}){let t=S();return Ue("box",{style:{flexDirection:"column",width:e,flexShrink:0,border:["bottom"],borderColor:t.border},children:[Ue("text",{fg:t.subText,attributes:X,children:R(s1,e)},void 0,!1,void 0,this),a1.map((r)=>Ue("text",{fg:t.muted,children:R(r,e)},r,!1,void 0,this))]},void 0,!0,void 0,this)}function A1({fn:e,width:t}){let r=S();return Ue("box",{style:{flexDirection:"column",width:t,border:["top"],borderColor:r.border,paddingTop:1,flexShrink:0},children:[Ue("text",{fg:r.accent,attributes:X,children:"\u25BE Function Details"},void 0,!1,void 0,this),Ue("text",{fg:r.text,children:R(e.name,t)},void 0,!1,void 0,this),Ue("text",{fg:r.muted,children:R(` Package: ${e.package||"\u2014"}`,t)},void 0,!1,void 0,this),Ue("text",{fg:r.muted,children:R(` Project: ${e.projectSlug??"\u2014"} \u2502 Calls: ${Pe(e.count)}`+` \u2502 Self time: ${is(e.totalSelfTimeNs)}`+` \u2502 p75: ${is(e.p75SelfTimeNs)}`,t)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function is(e){if(e===void 0||!Number.isFinite(e))return"\xB7\xB7";if(e<1000)return`${Math.round(e)}ns`;if(e<1e6)return`${Ba(e/1000)}\xB5s`;if(e<1e9)return`${Ba(e/1e6)}ms`;return`${Ba(e/1e9)}s`}function Ba(e){let t=e<10?2:e<100?1:0,r=e.toFixed(t);return r.includes(".")?r.replace(/\.?0+$/,""):r}import{useCallback as nk,useEffect as Wa,useMemo as as,useRef as Fa}from"h:0__";import{RenderableEvents as cs}from"h:3__________";import{useEffect as u1}from"h:0__";function ek(e,{index:t,heights:r,layout:H=[]}){let n=0;for(let i=0;i<t&&i<r.length;i++)n+=r[i]??0;let o=r[t]??0,s=r.reduce((i,a)=>i+a,0);u1(()=>{let i=e.current;if(!i||s===0)return;let a=i.viewport.height;if(a<=0)return;let l=BH({rowTop:n,rowHeight:o,contentHeight:s,viewportHeight:a,scrollTop:i.scrollTop});if(l!==i.scrollTop)i.scrollTop=l},[e,n,o,s,...H])}import{useCallback as d1}from"h:0__";function tk(e,{org:t,releases:r,project:H,environment:n}){let o=d1((s)=>e&&r?kl(e,{org:t,releases:r,project:H,environment:n,signal:s}):null,[e,t,r,H,n]);return Kt(o,{resetKey:r}).status}import{useCallback as p1,useEffect as m1,useRef as g1,useState as O1}from"h:0__";function rk(e,{org:t,query:r,statsPeriod:H,project:n,environment:o,sort:s,reloadToken:i=0}){let a=p1((c,A)=>e?Sl(e,{org:t,query:r,statsPeriod:H,project:n,environment:o,sort:s,cursor:c,signal:A}):null,[e,t,r,H,n,o,s]),l=It(a,i);return{releases:dt(l.status,(c)=>c.data),nextCursor:l.nextCursor,cursor:l.cursor,page:l.page,nextPage:l.nextPage,previousPage:l.previousPage}}function Hk(e,{org:t,query:r,statsPeriod:H,project:n,environment:o,sort:s,cursor:i,reloadToken:a=0}){let[l,c]=O1(me),A=g1(l);return A.current=l,m1(()=>{if(!e)return;let u=new AbortController,{signal:d}=u,m=!1;return c(_e(A.current,Date.now())),(async()=>{try{let g=await _l(e,{org:t,query:r,statsPeriod:H,project:n,environment:o,sort:s,cursor:i,signal:d});if(m)return;c(ge(g,Date.now()))}catch(g){if(m||d.aborted)return;c(Oe(A.current,Ne(g)))}})(),()=>{m=!0,u.abort()}},[e,t,r,H,n,o,s,i,a]),l}import{jsxDEV as Z,Fragment as N1}from"h:6___________________________";var y1=2,nr=2,an=1,f1=3,Ua=3,S1=4,_1=2,k1=12,sk=5,ls=["\u2581","\u2582","\u2583","\u2584","\u2585","\u2586","\u2587","\u2588"],h1=98,L1=99.5;function I1(e){return[{key:"project",label:"Project",width:"flex",render:(t,r,H)=>Z("text",{fg:e.text,children:_(t.project.slug,H)},void 0,!1,void 0,this)},{key:"adoption",label:"Adoption",width:sk+k1,priority:3,render:(t,r,H)=>Z(T1,{row:t,width:H},void 0,!1,void 0,this)},{key:"crashFree",label:"Crash-Free",width:11,align:"right",render:(t,r,H)=>Z(M1,{row:t,width:H},void 0,!1,void 0,this)},{key:"crashes",label:"Crashes",width:8,align:"right",priority:2,render:(t,r,H)=>t.pending?Z($a,{width:H,align:"right"},void 0,!1,void 0,this):Z("text",{fg:e.muted,children:_(t.health?Pe(t.health.sessionsCrashed??0):"\u2014",H,"right")},void 0,!1,void 0,this)},{key:"newIssues",label:"New Issues",width:10,align:"right",priority:1,render:(t,r,H)=>Z("text",{fg:e.muted,children:_(Pe(t.project.newGroups),H,"right")},void 0,!1,void 0,this)}]}function ik({client:e,org:t,state:r,focused:H,width:n,height:o,reloadToken:s,onProjectSelect:i,registerActions:a,activateRow:l}){let c=S(),{dispatch:A,focusSearch:u,handleSearchBlur:d}=r,m=Fa(null),g=Fa(null),p=nk((Ae)=>{let He=g.current;if(He)He.removeAllListeners(cs.FOCUSED),He.removeAllListeners(cs.BLURRED);if(g.current=Ae,Ae)Ae.on(cs.FOCUSED,()=>u()),Ae.on(cs.BLURRED,()=>d())},[u,d]),O=r.committedQuery,y=as(()=>Fe(r.selectedProjects),[r.selectedProjects]),L=r.selectedEnvs.length>0?r.selectedEnvs:void 0,f=as(()=>js(r.selectedEnvs),[r.selectedEnvs]),k=fl(r.sort,r.selectedEnvs),I={org:t,query:O,statsPeriod:r.statsPeriod,project:y,environment:L,sort:k,reloadToken:s},{releases:h,nextCursor:b,cursor:w,page:T,nextPage:q,previousPage:E}=rk(e,I),D=Hk(e,{...I,cursor:w}),x=B(h),P=tk(e,{org:t,releases:x,project:y,environment:L}),N=se(h),F=B(D),j=se(D),U=F===void 0&&D.state==="loading",z=B(P),oe=se(P),ie=x!==void 0&&z===void 0&&P.state!=="error",G=h.state==="loading",Y=Je(h);Wa(()=>{if(x)A({type:"setEntries",payload:x})},[x,A]);let ee=Fa(T);Wa(()=>{if(ee.current===T)return;ee.current=T,A({type:"setSelected",payload:0})},[T,A]),Wa(()=>{A({type:"setStatus",payload:{loading:G,since:Y,error:N?.message??(j?`health: ${j.message}`:void 0)??(oe?`adoption: ${oe.message}`:void 0),noun:"releases"}})},[G,Y,N,j,oe,h,A]);let C=nk(()=>A({type:"setOpenDropdown",payload:null}),[A]);Ke(a,{open:()=>A({type:"setDetailOpen",payload:(Ae)=>!Ae}),nextPage:q,previousPage:E,back:()=>{if(!r.detailOpen)return!1;return A({type:"setDetailOpen",payload:!1}),!0}});let v=Math.max(20,n-y1),pe=Math.max(10,v-nr),Me=as(()=>br(I1(c),pe,{gap:an}),[pe,c]),de=as(()=>(x??[]).map((Ae,He)=>b1(Ae,r.detailOpen&&He===r.selected)),[x,r.detailOpen,r.selected]);ek(m,{index:r.selected,heights:de,layout:[o]});let re=x===void 0&&G,ue=x!==void 0&&x.length===0&&!G;return Z("box",{style:{flexDirection:"column",width:n,height:o},children:[Z("box",{style:{flexDirection:"row",width:n,flexShrink:0,height:Le,border:!0,borderStyle:"rounded",borderColor:r.searchFocused?c.accent:c.border,backgroundColor:c.panel,paddingLeft:1,paddingRight:1},children:[Z(Gt,{},void 0,!1,void 0,this),Z("input",{ref:p,value:r.searchQuery,placeholder:"Search releases\u2026",focused:r.searchFocused,onInput:(Ae)=>A({type:"setSearchQuery",payload:Ae}),style:{flexGrow:1,textColor:c.text,backgroundColor:c.panel,focusedTextColor:c.text,focusedBackgroundColor:c.panel,placeholderColor:c.subText}},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Z(Ve,{client:e,org:t,openDropdown:r.openDropdown,selectedProjects:r.selectedProjects,selectedEnvs:r.selectedEnvs,statsPeriod:r.statsPeriod,sort:{value:k,items:f,onChange:(Ae)=>A({type:"setSort",payload:Ae})},width:n,anchorTop:Le,onProjectChange:i,onEnvChange:(Ae)=>A({type:"setSelectedEnvs",payload:Ae}),onPeriodChange:(Ae)=>A({type:"setStatsPeriod",payload:Ae}),onDropdownClose:C,onDropdownOpen:(Ae)=>A({type:"setOpenDropdown",payload:Ae})},void 0,!1,void 0,this),Z("scrollbox",{ref:m,focused:H,verticalScrollbarOptions:{showArrows:!1,trackOptions:{backgroundColor:c.panel,foregroundColor:c.muted}},style:{flexGrow:1,flexBasis:0,width:n},children:[re?Array.from({length:S1},(Ae,He)=>Z(Q1,{resolved:Me,width:v,seed:He},He,!1,void 0,this)):null,ue?Z("box",{style:{flexDirection:"column",padding:1},children:[Z("text",{fg:c.text,children:"No releases found."},void 0,!1,void 0,this),O?Z("text",{fg:c.muted,children:O},void 0,!1,void 0,this):null,Z("text",{fg:c.muted,children:"Try widening the time range or clearing the version filter."},void 0,!1,void 0,this),Z("text",{fg:c.muted,children:"This organization may not have release tracking set up."},void 0,!1,void 0,this)]},void 0,!0,void 0,this):null,x?.map((Ae,He)=>Z(w1,{release:Ae,index:He,health:F,healthPending:U,adoption:z,adoptionPending:ie,resolved:Me,width:v,selected:H&&He===r.selected,expanded:r.detailOpen&&He===r.selected,onPress:l},Ae.version,!1,void 0,this)),N&&x===void 0?Z("box",{style:{flexDirection:"column",padding:1},children:[Z("text",{fg:c.danger,children:"Failed to load releases"},void 0,!1,void 0,this),Z("text",{fg:c.muted,children:N.message},void 0,!1,void 0,this),N.retryable?Z("text",{fg:c.muted,children:"R to retry"},void 0,!1,void 0,this):null]},void 0,!0,void 0,this):null]},void 0,!0,void 0,this),Z(Re,{count:x?.length,noun:"release",hasMore:b!==null,pagination:b!==null||T>1?{page:T,hasPrevious:T>1,hasNext:b!==null,loading:G,onPrevious:E,onNext:q}:void 0},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function ak(e,t){let r=[...e.projects].sort((H,n)=>H.slug.localeCompare(n.slug));if(t||r.length<=Ua)return{shown:r,hidden:0};return{shown:r.slice(0,Ua),hidden:r.length-Ua}}function b1(e,t){let{shown:r,hidden:H}=ak(e,t);return f1+r.length+(H>0?1:0)+1}function w1({release:e,index:t,health:r,healthPending:H,adoption:n,adoptionPending:o,resolved:s,width:i,selected:a,expanded:l,onPress:c}){let A=S(),{shown:u,hidden:d}=ak(e,l),m=Math.max(10,i-nr),g=he(e.lastDeploy?.dateFinished??e.dateCreated),p=e.lastDeploy?` \u2502 ${e.lastDeploy.environment}`:"",O=`${g}${p}`,y=Math.min(O.length+1,Math.max(0,i-nr-4)),L=Math.max(4,i-nr-y);return Z("box",{style:{flexDirection:"column",width:i,flexShrink:0},onMouseDown:()=>c(t),children:[Z("box",{style:{flexDirection:"row",width:i,backgroundColor:a?A.selected:void 0},children:[Z("text",{fg:A.accent,children:a?"\u276F ":" "},void 0,!1,void 0,this),Z("text",{fg:A.text,attributes:X,children:_(e.shortVersion||e.version,L)},void 0,!1,void 0,this),Z("text",{fg:A.subText,children:_(O,y,"right")},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Z("text",{fg:A.muted,children:_(` ${x1(e)}`,i)},void 0,!1,void 0,this),Z("box",{style:{flexDirection:"row",width:i},children:[Z("text",{children:" ".repeat(nr)},void 0,!1,void 0,this),s.map(({column:f,width:k},I)=>Z("text",{fg:A.subText,children:(I>0?" ".repeat(an):"")+_(f.label,k,f.align??"left")},f.key,!1,void 0,this))]},void 0,!0,void 0,this),u.map((f)=>Z("box",{style:{flexDirection:"row",width:i},children:[Z("text",{children:" ".repeat(nr)},void 0,!1,void 0,this),s.map(({column:k,width:I},h)=>Z("box",{style:{flexDirection:"row",flexShrink:0},children:[h>0?Z("text",{children:" ".repeat(an)},void 0,!1,void 0,this):null,k.render({project:f,health:r?.get(Cr(e.version,f.id)),pending:H,adoption:n?.get(Cr(e.version,f.id)),adoptionPending:o},a,I)]},k.key,!0,void 0,this))]},f.id,!0,void 0,this)),d>0?Z("text",{fg:A.subText,attributes:mr,children:_(` +${d} more ${d===1?"project":"projects"} \u2014 enter to expand`,i)},void 0,!1,void 0,this):null,Z("text",{fg:A.border,children:"\u2500".repeat(Math.max(0,m+nr))},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function x1(e){let t=[];if(e.package)t.push(e.package);if(e.commitCount>0){let r=`${e.commitCount} ${e.commitCount===1?"commit":"commits"}`,H=`${e.authorCount} ${e.authorCount===1?"author":"authors"}`;t.push(`${r} by ${H}`)}return t.length>0?t.join(" \xB7 "):"no commits associated"}function T1({row:e,width:t}){let r=S();if(e.pending||e.adoptionPending)return Z($a,{width:t},void 0,!1,void 0,this);let H=e.health?.adoption;if(H===void 0)return Z("text",{fg:r.subText,children:_("\u2014",t)},void 0,!1,void 0,this);let n=Math.max(0,Math.min(100,H)),o=Math.min(sk,t),s=Math.max(0,t-o),i=e.adoption?P1(e.adoption,s):[];return Z(N1,{children:[Z("text",{fg:r.muted,children:_(`${Math.round(n)}%`,o)},void 0,!1,void 0,this),i.length>0?i.map((a,l)=>Z("text",{fg:a.series==="release"?r.accent:r.subText,children:a.glyph},l,!1,void 0,this)):Z("text",{children:" ".repeat(s)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function P1(e,t){if(t<=0||e.project.length===0&&e.release.length===0)return[];let r=Math.max(1,Math.floor(t/2)),H=Math.max(e.project.length,e.release.length),n=Array.from({length:H},(a,l)=>[e.project[l]??0,e.release[l]??0]),o=n.length>r?q1(n,r):AH(n,r),s=Math.max(1,...o.flatMap(([a,l])=>[a,l])),i=o.flatMap(([a,l])=>[{glyph:ok(a,s),series:"project"},{glyph:ok(l,s),series:"release"}]);while(i.length<t)i.push({glyph:" ",series:"project"});return i.slice(0,t)}function q1(e,t){let r=e.length/t;return Array.from({length:t},(H,n)=>{let o=Math.floor(n*r),s=Math.min(e.length,Math.floor((n+1)*r)),i=0,a=0;for(let l=o;l<s;l++)i+=e[l]?.[0]??0,a+=e[l]?.[1]??0;return[i,a]})}function ok(e,t){if(e<=0)return ls[0];let r=Math.ceil(e/t*ls.length)-1;return ls[Math.max(0,Math.min(ls.length-1,r))]}function M1({row:e,width:t}){let r=S();if(e.pending)return Z($a,{width:t,align:"right"},void 0,!1,void 0,this);let H=e.health?.crashFreeSessions;if(H===void 0)return Z("text",{fg:r.subText,children:_("\u2014",t,"right")},void 0,!1,void 0,this);let[n,o]=H<h1?[r.danger,"\u2717"]:H<L1?[r.warning,"!"]:[r.success,"\u2713"];return Z("text",{fg:n,children:_(`${o} ${C1(H)}`,t,"right")},void 0,!1,void 0,this)}function $a({width:e,align:t="left"}){let r=S();return Z("text",{fg:r.panelAlt,children:_("\u2500".repeat(Math.max(1,Math.floor(e*0.6))),e,t)},void 0,!1,void 0,this)}function C1(e){if(Number.isNaN(e))return"\u2014";if(e>0&&e<1)return"<1%";let r=10**(e>90?3:0),H=Math.round(e*r)/r;if(H===100&&e<100)H=Math.floor(e*r)/r;return`${H}%`}function Q1({resolved:e,width:t,seed:r}){let H=S(),n=Math.max(10,t-nr);return Z("box",{style:{flexDirection:"column",width:t,flexShrink:0},children:[Z("text",{fg:H.panelAlt,children:_(` ${Ya(24,r)}`,t)},void 0,!1,void 0,this),Z("text",{fg:H.panelAlt,children:_(` ${Ya(32,r+3)}`,t)},void 0,!1,void 0,this),Z("box",{style:{flexDirection:"row",width:t},children:[Z("text",{children:" ".repeat(nr)},void 0,!1,void 0,this),e.map(({column:o,width:s},i)=>Z("text",{fg:H.subText,children:(i>0?" ".repeat(an):"")+_(o.label,s,o.align??"left")},o.key,!1,void 0,this))]},void 0,!0,void 0,this),Array.from({length:_1},(o,s)=>Z("box",{style:{flexDirection:"row",width:t},children:[Z("text",{children:" ".repeat(nr)},void 0,!1,void 0,this),e.map(({column:i,width:a},l)=>Z("text",{fg:H.panelAlt,children:(l>0?" ".repeat(an):"")+_(Ya(a,r+s+l),a,i.align??"left")},i.key,!1,void 0,this))]},s,!0,void 0,this)),Z("text",{fg:H.border,children:"\u2500".repeat(Math.max(0,n+nr))},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function Ya(e,t){if(e<=0)return"";let r=0.4+t*17%45/100;return"\u2500".repeat(Math.max(1,Math.min(e,Math.floor(e*r))))}import{useCallback as za,useEffect as IH,useMemo as uk,useRef as dk}from"h:0__";import{RenderableEvents as As}from"h:3__________";import{useCallback as ck}from"h:0__";function lk(e,{org:t,query:r,statsPeriod:H,project:n,environment:o,sort:s,reloadToken:i=0}){let a=ck((c,A)=>e?xl(e,{org:t,query:r,statsPeriod:H,project:n,environment:o,sort:s,cursor:c,signal:A}):null,[e,t,r,H,n,o,s]),l=It(a,i);return{replays:dt(l.status,(c)=>c.data),nextCursor:l.nextCursor,page:l.page,nextPage:l.nextPage,previousPage:l.previousPage}}function Ak(e,{org:t,replayId:r,statsPeriod:H,environment:n,count:o,reloadToken:s=0}){let i=ck((l)=>{if(!e)return null;if(o<=0)return Promise.resolve({data:[],nextCursor:null});return Pl(e,{org:t,replayId:r,statsPeriod:H,environment:n,signal:l})},[e,t,r,H,n,o]),{status:a}=Kt(i,{reloadKey:s});return{errors:dt(a,(l)=>l.data),nextCursor:B(a)?.nextCursor??null}}import{jsxDEV as te,Fragment as Ok}from"h:6___________________________";var Za=10,j1=15;function D1(e){return[{key:"session",label:"Replay",width:"flex",render:(t,r,H)=>{if(t.isArchived)return te("text",{fg:e.subText,children:_("Deleted Replay",H)},void 0,!1,void 0,this);let n=t.hasViewed?" ":"\u25CF ",o=t.user.displayName??"Anonymous User",s=H-n.length;return te(Ok,{children:[te("text",{fg:e.accent,children:n},void 0,!1,void 0,this),s>0?te("text",{fg:e.text,attributes:r?X:0,children:_(o,s)},void 0,!1,void 0,this):null]},void 0,!0,void 0,this)}},{key:"os",label:"OS",width:11,render:(t,r,H)=>te("text",{fg:e.subText,children:_(MH(t.os),H)},void 0,!1,void 0,this)},{key:"browser",label:"Browser",width:11,render:(t,r,H)=>te("text",{fg:e.subText,children:_(MH(t.browser),H)},void 0,!1,void 0,this)},{key:"duration",label:"Duration",width:8,align:"right",render:(t,r,H)=>te("text",{fg:e.text,children:_(vs(t.durationSec),H,"right")},void 0,!1,void 0,this)},{key:"dead",label:"Dead",width:5,align:"right",priority:1,render:(t,r,H)=>te(Va,{value:t.countDeadClicks,width:H,color:e.warning},void 0,!1,void 0,this)},{key:"rage",label:"Rage",width:5,align:"right",priority:1,render:(t,r,H)=>te(Va,{value:t.countRageClicks,width:H,color:e.danger},void 0,!1,void 0,this)},{key:"errors",label:"Errors",width:6,align:"right",render:(t,r,H)=>te(Va,{value:t.countErrors,width:H,color:e.danger},void 0,!1,void 0,this)},{key:"activity",label:"Activity",width:Za,priority:2,render:(t,r,H)=>te(v1,{score:t.activity,width:H},void 0,!1,void 0,this)}]}function pk({client:e,org:t,state:r,focused:H,width:n,height:o,reloadToken:s,onProjectSelect:i,pushView:a,registerActions:l,activateRow:c}){let A=S(),{dispatch:u}=r,d=r.committedQuery,m=r.selectedProjects.length>0?r.selectedProjects:void 0,g=r.selectedEnvs.length>0?r.selectedEnvs:void 0,p=wl(r.sort),{replays:O,nextCursor:y,page:L,nextPage:f,previousPage:k}=lk(e,{org:t,query:d,statsPeriod:r.statsPeriod,project:m,environment:g,sort:p,reloadToken:s}),I=O.state==="loading",h=Je(O),b=B(O),w=se(O),T=uk(()=>b?.flatMap((P)=>P.projectId?[P.projectId]:[])??[],[b]),q=cH(e,t,T),E=uk(()=>b?.map((P)=>({...P,projectSlug:P.projectId?q.get(P.projectId):void 0})),[b,q]);IH(()=>{if(E)u({type:"setEntries",payload:E})},[E,u]);let D=dk(L);IH(()=>{if(D.current===L)return;D.current=L,u({type:"setSelected",payload:0})},[L,u]),IH(()=>{u({type:"setStatus",payload:{loading:I,since:h,error:w?.message,noun:"replays"}})},[I,h,w,O,u]);let x=za(()=>u({type:"setOpenDropdown",payload:null}),[u]);return Ke(l,{open:(P)=>{let N=tr(r)[P];if(N)a(G1(N,r.statsPeriod,r.selectedEnvs))},nextPage:f,previousPage:k}),te("box",{style:{flexDirection:"column",width:n,height:o},children:[te(F1,{state:r,width:n,placeholder:"Search replays\u2026"},void 0,!1,void 0,this),te(Ve,{client:e,org:t,openDropdown:r.openDropdown,selectedProjects:r.selectedProjects,selectedEnvs:r.selectedEnvs,statsPeriod:r.statsPeriod,sort:{value:p,items:Rs,onChange:(P)=>u({type:"setSort",payload:P})},width:n,anchorTop:Le,onProjectChange:i,onEnvChange:(P)=>u({type:"setSelectedEnvs",payload:P}),onPeriodChange:(P)=>u({type:"setStatsPeriod",payload:P}),onDropdownClose:x,onDropdownOpen:(P)=>u({type:"setOpenDropdown",payload:P})},void 0,!1,void 0,this),te(nt,{rows:E,columns:D1(A),width:n,selectedIndex:r.selected,focused:H,rowKey:(P)=>P.id,loading:ke(O),error:w,errorTitle:"Failed to load replays",onRowClick:c,renderDetail:(P,N,F)=>R1(P,N,F,A),minFlex:j1,empty:{title:"No replays found.",lines:[d||void 0,"Try widening the time range or adjusting the query.","This organization may not have session replay enabled."]},layout:[o]},void 0,!1,void 0,this),te(Re,{count:E?.length,noun:"replay",hasMore:y!==null,pagination:y!==null||L>1?{page:L,hasPrevious:L>1,hasNext:y!==null,loading:I,onPrevious:k,onNext:f}:void 0},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function R1(e,t,r,H){let n=[e.projectSlug,CH(e.id)].filter(Boolean),o=he(e.startedAt);if(o)n.push(`${o} ago`);return te("text",{fg:H.muted,children:_(` ${n.join(" \xB7 ")}`,r)},void 0,!1,void 0,this)}function Va({value:e,width:t,color:r}){let H=S(),n=e!==void 0;return te("text",{fg:n&&e>0?r:H.subText,children:_(n?String(e):"\u2014",t,"right")},void 0,!1,void 0,this)}function v1({score:e,width:t}){let r=S();if(t<=0)return null;if(e===void 0)return te("text",{fg:r.subText,children:_("\u2014",t)},void 0,!1,void 0,this);let H=Math.max(0,Math.min(Za,Math.round(e))),n=Math.round(H/Za*t),o=Math.max(0,t-n);return te(Ok,{children:[n>0?te("text",{fg:r.accent,children:"\u2588".repeat(n)},void 0,!1,void 0,this):null,o>0?te("text",{fg:r.border,children:"\u2591".repeat(o)},void 0,!1,void 0,this):null]},void 0,!0,void 0,this)}function G1(e,t,r){return{id:`replay:${e.id}`,sentryLocation:{screen:"explore.replays",detail:{kind:"replay",replayId:e.id}},label:CH(e.id),stateKey:Ks,initialState:{statsPeriod:t,selectedEnvs:r,selectedProjects:e.projectSlug?[e.projectSlug]:[]},render:(H)=>H.state?te(gk,{...H,state:H.state,replay:e},void 0,!1,void 0,this):null}}var E1=(e,{org:t,id:r,signal:H})=>Tl(e,{org:t,replayId:r,signal:H});function mk(e){return{id:`replay:${e}`,sentryLocation:{screen:"explore.replays",detail:{kind:"replay",replayId:e}},label:CH(e),stateKey:Ks,initialState:{statsPeriod:rH,selectedEnvs:[],selectedProjects:[]},render:(t)=>t.state?te(K1,{...t,state:t.state,replayId:e},void 0,!1,void 0,this):null}}function K1({client:e,org:t,state:r,replayId:H,reloadToken:n,width:o,height:s,updateView:i,...a}){let l=Ar(e,{org:t,id:H,reloadToken:n,load:E1}),c=B(l);if(IH(()=>{if(c)i(`replay:${H}`,{label:CH(c.id)})},[c,H,i]),!c)return te(lr,{status:l,noun:"replay",width:o,height:s},void 0,!1,void 0,this);return te(gk,{...a,client:e,org:t,state:r,replay:c,reloadToken:n,width:o,height:s,updateView:i},void 0,!1,void 0,this)}function X1(e){return[{key:"time",label:"Time",width:8,render:(t,r,H)=>te("text",{fg:e.muted,children:_(W1(t.timestamp),H)},void 0,!1,void 0,this)},{key:"level",label:"Level",width:5,priority:1,render:(t,r,H)=>te("text",{fg:t.level==="error"||t.level==="fatal"?e.danger:e.muted,children:_(t.level??"",H)},void 0,!1,void 0,this)},{key:"issue",label:"Issue",width:16,priority:2,render:(t,r,H)=>te("text",{fg:e.subText,children:_(t.issue??"",H)},void 0,!1,void 0,this)},{key:"title",label:"Title",width:"flex",render:(t,r,H)=>te("text",{fg:e.text,children:_(t.title,H)},void 0,!1,void 0,this)}]}function gk({client:e,org:t,state:r,replay:H,focused:n,width:o,height:s,reloadToken:i}){let a=S(),{dispatch:l}=r,{errors:c,nextCursor:A}=Ak(e,{org:t,replayId:H.id,statsPeriod:r.statsPeriod,environment:r.selectedEnvs.length>0?r.selectedEnvs:void 0,count:H.countErrors??0,reloadToken:i}),u=B(c),d=se(c);IH(()=>{if(u)l({type:"setEntries",payload:u})},[u,l]),IH(()=>{l({type:"setStatus",payload:{loading:c.state==="loading",error:d?.message,noun:"replay errors"}})},[c,d,l]);let m=za(()=>l({type:"setOpenDropdown",payload:null}),[l]),g=Math.max(20,o-2),p=H.user.displayName??"Anonymous User";return te("box",{style:{flexDirection:"column",width:o,height:s,paddingLeft:1},children:[te(Ve,{client:e,org:t,openDropdown:r.openDropdown,selectedProjects:r.selectedProjects,selectedEnvs:r.selectedEnvs,statsPeriod:r.statsPeriod,width:g,anchorTop:0,onProjectChange:(O)=>l({type:"setSelectedProjects",payload:O}),onEnvChange:(O)=>l({type:"setSelectedEnvs",payload:O}),onPeriodChange:(O)=>l({type:"setStatsPeriod",payload:O}),onDropdownClose:m,onDropdownOpen:(O)=>l({type:"setOpenDropdown",payload:O})},void 0,!1,void 0,this),te("box",{style:{flexDirection:"row",flexShrink:0},children:[te("text",{fg:a.text,attributes:X,children:R(p,Math.max(8,g-24))},void 0,!1,void 0,this),te("text",{fg:a.muted,children:R(` ${H.projectSlug??"\u2014"} \xB7 ${he(H.startedAt)} ago`,24)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),te(LH,{label:"Duration",value:vs(H.durationSec),width:g},void 0,!1,void 0,this),te(LH,{label:"Platform",value:[MH(H.os),MH(H.browser)].filter((O)=>O!=="\u2014").join(" \xB7 "),width:g},void 0,!1,void 0,this),te(LH,{label:"Clicks",value:`${cn(H.countDeadClicks)} dead \xB7 ${cn(H.countRageClicks)} rage`,width:g},void 0,!1,void 0,this),te(LH,{label:"Session",value:`${cn(H.countUrls)} urls \xB7 ${cn(H.countSegments)} segments \xB7 activity ${cn(H.activity)}`,width:g},void 0,!1,void 0,this),te(LH,{label:"Release",value:H.releases[0]??"\u2014",width:g},void 0,!1,void 0,this),te(LH,{label:"URL",value:H.urls[0]??"\u2014",width:g},void 0,!1,void 0,this),te("box",{style:{flexDirection:"column",flexShrink:0},children:[te("text",{fg:a.muted,children:" "},void 0,!1,void 0,this),te("text",{fg:a.subText,children:_("Playback is not available in a terminal. Open it at:",g)},void 0,!1,void 0,this),B1(ql(t,H.id),g).map((O,y)=>te("text",{fg:a.accent,children:_(O,g)},y,!1,void 0,this)),te("text",{fg:a.muted,children:" "},void 0,!1,void 0,this)]},void 0,!0,void 0,this),te(nt,{rows:u,columns:X1(a),width:o-1,selectedIndex:r.selected,focused:n,rowKey:(O)=>O.id,loading:ke(c),error:d,errorTitle:"Failed to load replay errors",empty:{title:"No errors in this replay."},layout:[s]},void 0,!1,void 0,this),te(Re,{count:u?.length,noun:"error",hasMore:A!==null},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function LH({label:e,value:t,width:r}){let H=S(),n=10;return te("box",{style:{flexDirection:"row",flexShrink:0},children:[te("text",{fg:H.muted,children:_(e,10)},void 0,!1,void 0,this),te("text",{fg:H.text,children:R(t||"\u2014",Math.max(0,r-10))},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function B1(e,t){if(t<=0)return[e];let r=[];for(let H=0;H<e.length;H+=t)r.push(e.slice(H,H+t));return r.length>0?r:[""]}function cn(e){return e===void 0?"\u2014":String(e)}function W1(e){if(!e)return"--:--:--";return/T(\d{2}:\d{2}:\d{2})/.exec(e)?.[1]??(e.slice(11,19)||"--:--:--")}function F1({state:e,width:t,placeholder:r}){let H=S(),{focusSearch:n,handleSearchBlur:o}=e,s=dk(null),i=za((a)=>{let l=s.current;if(l)l.removeAllListeners(As.FOCUSED),l.removeAllListeners(As.BLURRED);if(s.current=a,a)a.on(As.FOCUSED,()=>n()),a.on(As.BLURRED,()=>o())},[n,o]);return te("box",{style:{flexDirection:"row",width:t,flexShrink:0,height:Le,border:!0,borderStyle:"rounded",borderColor:e.searchFocused?H.accent:H.border,backgroundColor:H.panel,paddingLeft:1,paddingRight:1},children:[te(Gt,{},void 0,!1,void 0,this),te("input",{ref:i,value:e.searchQuery,placeholder:r,focused:e.searchFocused,onInput:(a)=>e.dispatch({type:"setSearchQuery",payload:a}),style:{flexGrow:1,textColor:H.text,backgroundColor:H.panel,focusedTextColor:H.text,focusedBackgroundColor:H.panel,placeholderColor:H.subText}},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}import{useCallback as U1,useEffect as yk,useMemo as Y1}from"h:0__";import{jsxDEV as bt}from"h:6___________________________";var $1=1,V1=20;function Z1(e,t){return[{key:"star",label:" ",width:1,render:(r)=>bt("text",{fg:r.starred?t.warning:t.muted,children:r.starred?"\u2605":" "},void 0,!1,void 0,this)},{key:"name",label:"Name",width:24,render:(r,H,n)=>bt("text",{fg:H?t.text:t.subText,attributes:H?X:0,children:_(R(r.name,n),n)},void 0,!1,void 0,this)},{key:"type",label:"Type",width:12,priority:2,render:(r,H,n)=>bt("text",{fg:t.muted,children:_(R(r.datasetLabel,n),n)},void 0,!1,void 0,this)},{key:"query",label:"Query",width:"flex",render:(r,H,n)=>bt("text",{fg:r.query?t.muted:t.subText,children:_(R(z1(r),n),n)},void 0,!1,void 0,this)},{key:"creator",label:"Creator",width:14,priority:3,render:(r,H,n)=>bt("text",{fg:t.subText,children:_(R(r.createdBy??(r.isPrebuilt?"Sentry":"\u2014"),n),n)},void 0,!1,void 0,this)},{key:"activity",label:e.activityLabel,width:11,align:"right",priority:1,render:(r,H,n)=>bt("text",{fg:t.subText,children:_(J1(r),n,"right")},void 0,!1,void 0,this)}]}function Ja(e){let t=S(),{client:r,org:H,screen:n,state:o,focused:s,width:i,height:a,reloadToken:l,pushView:c,registerActions:A,activateRow:u}=e,{dispatch:d,focusSearch:m,handleSearchBlur:g}=o,p=Fi(n.id)??Fi("explore.all-queries"),O=Xi(p.source),y=iy(o.sort,p.source),{queries:L,nextCursor:f}=po(r,{org:H,source:p.source,search:o.committedQuery||void 0,sort:y,reloadToken:l}),k=B(L),I=se(L),h=L.state==="loading",b=Je(L);yk(()=>{if(k)d({type:"setEntries",payload:k})},[k,d]),yk(()=>{d({type:"setStatus",payload:{loading:h,since:b,error:I?.message,noun:p.noun}})},[h,b,I,L,p.noun,d]);let w=U1((q)=>{let E=tr(o)[q];if(E)c(go(E))},[o,c]);Ke(A,{open:w});let T=Y1(()=>Z1(p,t),[p,t]);return bt("box",{style:{flexDirection:"column",width:i,height:a},children:[bt(Lt,{value:o.searchQuery,placeholder:p.searchPlaceholder,focused:o.searchFocused,width:i,onInput:(q)=>d({type:"setSearchQuery",payload:q}),onFocus:m,onBlur:g},void 0,!1,void 0,this),bt("box",{style:{flexDirection:"row",width:i,flexShrink:0,height:$1,paddingLeft:1},children:[bt("text",{fg:t.text,attributes:X,children:p.title},void 0,!1,void 0,this),bt("text",{fg:t.muted,children:` ${p.description}`},void 0,!1,void 0,this)]},void 0,!0,void 0,this),bt(fH,{value:y,items:O,open:o.openDropdown==="sort",width:i,anchorTop:Le+1,onChange:(q)=>d({type:"setSort",payload:q}),onOpen:()=>d({type:"setOpenDropdown",payload:"sort"}),onClose:()=>d({type:"setOpenDropdown",payload:null})},void 0,!1,void 0,this),bt(nt,{rows:k,columns:T,width:i,selectedIndex:o.selected,focused:s,rowKey:(q)=>`${q.source}:${q.id}`,loading:ke(L),error:I,errorTitle:`Failed to load ${p.noun}`,minFlex:V1,onRowClick:u,empty:{title:"No saved queries found.",lines:[o.committedQuery?`No query name matches "${o.committedQuery}".`:void 0,p.emptyHint]},layout:[a]},void 0,!1,void 0,this),bt(Re,{count:k?.length,noun:"query",hasMore:f!==null},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function z1(e){return e.query||e.fields.join(", ")}function J1(e){let t=e.lastVisited??e.dateUpdated;return t?he(t):"\u2014"}import{useCallback as n9,useEffect as tc,useMemo as _k,useRef as o9}from"h:0__";import{useCallback as e9,useEffect as t9,useMemo as r9,useState as H9}from"h:0__";function fk(e,{org:t,query:r="",project:H,sortBy:n,reloadToken:o=0}){let s=e9((a,l)=>e?$o(e,{org:t,query:r,project:H,sortBy:n,cursor:a,signal:l}).then((c)=>({data:Array.isArray(c.data)?c.data:[],nextCursor:c.nextCursor})):null,[e,t,r,H,n]),i=It(s,o);return{workflows:dt(i.status,(a)=>a.data),nextCursor:i.nextCursor,page:i.page,nextPage:i.nextPage,previousPage:i.previousPage}}var ec={byId:new Map,loading:!1};function Sk(e,t,r){let n=r9(()=>{let i=new Set;for(let a of r??[])for(let l of a.detectorIds??[])i.add(l);return[...i].sort()},[r]).join(","),[o,s]=H9(ec);return t9(()=>{if(!e||n===""){s(ec);return}let i=new AbortController,a=!1;return s((l)=>({byId:l.byId,loading:!0})),ES(e,{org:t,ids:n.split(","),signal:i.signal}).then((l)=>{if(a)return;s({byId:new Map(l.map((c)=>[c.id,c])),loading:!1})}).catch(()=>{if(!a)s(ec)}),()=>{a=!0,i.abort()}},[e,t,n]),o}import{jsxDEV as Nt}from"h:6___________________________";var s9=4,i9=24,bH="\u2014",a9=["project"];function c9(e){return[{key:"name",label:"Name",width:"flex",render:(t,r,H)=>Nt("text",{fg:l9(t,r,e),attributes:r?X:0,children:_(t.name,H)},void 0,!1,void 0,this)},{key:"lastTriggered",label:"Last Triggered",width:14,priority:2,render:(t,r,H)=>Nt("text",{fg:e.subText,children:_(t.lastTriggered,H)},void 0,!1,void 0,this)},{key:"actions",label:"Actions",width:18,priority:3,render:(t,r,H)=>Nt("text",{fg:t.enabled?e.text:e.subText,children:_(t.actions,H)},void 0,!1,void 0,this)},{key:"projects",label:"Projects",width:18,priority:4,render:(t,r,H)=>Nt("text",{fg:t.enabled?e.muted:e.subText,children:_(t.projects,H)},void 0,!1,void 0,this)},{key:"monitors",label:"Monitors",width:11,priority:1,render:(t,r,H)=>Nt("text",{fg:t.enabled?e.muted:e.subText,children:_(t.monitors,H)},void 0,!1,void 0,this)}]}function kk(e){let t=S(),{client:r,org:H,state:n,focused:o,width:s,height:i,reloadToken:a,onProjectSelect:l}=e,{dispatch:c,focusSearch:A,handleSearchBlur:u}=n,d=o_(n.sort),m=n.selectedProjects.length>0?n.selectedProjects:void 0,{workflows:g,nextCursor:p,page:O,nextPage:y,previousPage:L}=fk(r,{org:H,query:n.committedQuery,project:m,sortBy:d,reloadToken:a}),f=B(g),k=se(g),I=g.state==="loading",h=Je(g),b=Sk(r,H,f),w=_k(()=>[...b.byId.values()].flatMap((x)=>x.projectId?[x.projectId]:[]),[b.byId]),T=cH(r,H,w),q=_k(()=>f?.map((x)=>A9(x,b.byId,b.loading,T)),[f,b,T]);tc(()=>{if(q)c({type:"setEntries",payload:q})},[q,c]);let E=o9(O);tc(()=>{if(E.current===O)return;E.current=O,c({type:"setSelected",payload:0})},[O,c]),tc(()=>{c({type:"setStatus",payload:{loading:I,since:h,error:k?.message,noun:"alerts"}})},[I,h,k,c]);let D=n9(()=>c({type:"setOpenDropdown",payload:null}),[c]);return Ke(e.registerActions,{nextPage:y,previousPage:L}),Nt("box",{style:{flexDirection:"column",width:s,height:i},children:[Nt(Lt,{value:n.searchQuery,placeholder:"Search alerts by name\u2026",focused:n.searchFocused,width:s,onInput:(x)=>c({type:"setSearchQuery",payload:x}),onFocus:A,onBlur:u},void 0,!1,void 0,this),Nt("box",{style:{flexDirection:"row",width:s,height:1,flexShrink:0,overflow:"hidden",paddingLeft:1},children:[Nt("text",{fg:t.text,attributes:X,children:"Alerts"},void 0,!1,void 0,this),Nt("text",{fg:t.muted,children:" Automations that run when a monitor fires."},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Nt(Ve,{client:r,org:H,openDropdown:n.openDropdown,selectedProjects:n.selectedProjects,selectedEnvs:n.selectedEnvs,statsPeriod:n.statsPeriod,filters:a9,sort:{value:d,items:Qa,onChange:(x)=>c({type:"setSort",payload:x})},width:s,anchorTop:Le+1,onProjectChange:l,onEnvChange:()=>{},onPeriodChange:()=>{},onDropdownOpen:(x)=>c({type:"setOpenDropdown",payload:x}),onDropdownClose:D},void 0,!1,void 0,this),Nt(nt,{rows:q,columns:c9(t),width:s,minFlex:i9,selectedIndex:n.selected,focused:o,rowKey:(x)=>x.id,loading:ke(g),error:k,errorTitle:"Failed to load alerts",onRowClick:e.activateRow,empty:{title:"No alerts found.",lines:n.committedQuery?[`No alert name matches "${n.committedQuery}".`]:["Alerts are the automations that run when a monitor fires.","This organization may not have the new alerts and monitors enabled."]},layout:[i,s9]},void 0,!1,void 0,this),Nt(Re,{count:q?.length,noun:"alert",hasMore:p!==null,pagination:p!==null||O>1?{page:O,hasPrevious:O>1,hasNext:p!==null,loading:I,onPrevious:L,onNext:y}:void 0},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}function l9(e,t,r){if(!e.enabled)return r.subText;return t?r.text:r.accent}function A9(e,t,r,H){let n=e.detectorIds??[];return{workflow:e,id:e.id,name:e.name||`Alert ${e.id}`,enabled:e.enabled!==!1,lastTriggered:e.lastTriggered?he(e.lastTriggered):bH,actions:u9(e),projects:d9(n,t,r,H),monitors:n.length===0?bH:m9(n.length)}}function u9(e){let t=Zo(e);if(t.length===0)return bH;return t.map(Vo).join(", ")}function d9(e,t,r,H){if(e.length===0)return bH;let n=e.map((s)=>t.get(s)).filter(p9);if(n.length===0)return r?"\u2026":bH;if(n.some((s)=>s.projectId===null))return"All Projects";let o=[...new Set(n.map((s)=>s.projectId?H.get(s.projectId):void 0).filter((s)=>Boolean(s)))];if(o.length===0)return r?"\u2026":bH;return o.join(", ")}function p9(e){return e!==void 0}function m9(e){return`${e} ${e===1?"monitor":"monitors"}`}var hk={"issues.feed":Bt,"issues.inbox":Bt,"issues.errors-outages":Bt,"issues.breached-metrics":Bt,"issues.warnings":Bt,"issues.configuration":Bt,"issues.user-feedback":Bt,"issues.recently-run":Bt,"issues.all-views":QS,"seer.ask":oO,"explore.profiles":J_,"explore.releases":ik,"explore.replays":pk,"explore.traces":zH,"explore.logs":zH,"explore.metrics":zH,"explore.errors":zH,"explore.conversations":If,"dashboards.all":_a,"dashboards.sentry-built":_a,"monitors.alerts":kk,"explore.all-queries":Ja,"explore.discover":Ja,"monitors.all":Tr,"monitors.mine":Tr,"monitors.error":Tr,"monitors.metric":Tr,"monitors.cron":Tr,"monitors.uptime":Tr,"monitors.mobile-build":Tr};function ln(e,t){if(!e)return;let r;switch(e.kind){case"issue":r=Ko(e.issueId,e.eventId);break;case"dashboard":r=oS(e.dashboardId);break;case"replay":r=mk(e.replayId);break;case"monitor":r=G_(e.detectorId);break;case"issue_view":r=NS(e.viewId);break;case"saved_query":r=vy(e);break}if(!r.stateKey||!t)return r;return{...r,initialState:{...r.initialState,...t}}}var y9=4,Lk=["nav","secondary","content"];function Ik({client:e,org:t,reloadToken:r,width:H,initialScreen:n,initialLocation:o,initialViewLocations:s,initialScreenSnapshots:i,initialSelectedProjects:a=[],availableNavGroups:l,focus:c,canOpen:A}){let u=hr(o?.screen??n),[d]=O9(()=>{let ne=(s??[]).map(($e)=>ln($e.detail,$e.state)).filter(($e)=>$e!==void 0);if(ne.length>0)return ne;let be=ln(o?.detail,o?.state);return be?[be]:[]}),[m,g]=g9(Xy,void 0,()=>Ky(u.group,u.item,d)),{railGroup:p,activeGroup:O,activeItem:y,navExpanded:L,showSecondary:f,gotoMode:k,viewStack:I}=m,h=Gl(O,y),b=h?hk[h.id]:void 0,w=I.at(-1),T=w&&!w.stateKey?w:void 0,q=!T&&(b!==void 0||w!==void 0),E=[...I].reverse().find((ne)=>ne.stateKey),D=E?.stateKey??(h?jr(h):void 0),x=E?.id??h?.id??D??"__unregistered__",P=d.at(-1),{active:N,resetOrgScoped:F,seed:j,snapshots:U}=sy(D,x,a,P?.stateKey?P.initialState:o?.state,i),z=An(()=>I.map((ne)=>ne.sentryLocation),[I]),oe=Ey(e,t,p,r),ie=An(()=>Gi(p,oe),[p,oe]),G=or((ne)=>{if(ne.stateKey&&ne.initialState)j(ne.stateKey,ne.initialState);g({type:"pushView",view:ne})},[j]),Y=or((ne,be)=>{g({type:"updateView",id:ne,update:be})},[]),ee=or(()=>g({type:"popView"}),[]),C=or(()=>g({type:"clearViews"}),[]),v=or((ne,be)=>{g({type:"navigate",group:ne,item:be}),N.dispatch({type:"setDetailOpen",payload:!1}),c.focus("content")},[c,N.dispatch]),pe=or((ne,be)=>{let $e=hr(ne);if(!l.some((_r)=>_r.id===$e.group))return;if(be)j(jr($e),be);v($e.group,$e.item)},[l,v,j]),Me=or((ne)=>{let be=Ms(yt(ne));if(be!==void 0){v(ne,be);return}let $e=ne===O?y:yt(ne).sections[0]?.items[0]??"";g({type:"openGroup",group:ne,item:$e}),c.focus("secondary")},[O,y,c,v]),de=or(()=>{g({type:"expandNav"}),c.focus("nav")},[c]),re=or((ne)=>{let be=UO(p,ne);v(be.group,be.item);let $e=ne.open?.();if($e)G($e)},[p,v,G]),ue=An(()=>k?ty(p,l):null,[k,p,l]),Ae=or((ne)=>{let be=Ms(yt(ne));if(be!==void 0){v(ne,be);return}let $e=ne===O?y:Gi(ne,oe)[0]?.label??"";g({type:"previewGroup",group:ne,item:$e})},[O,y,oe,v]),He=or((ne)=>{N.dispatch({type:"setEntries",payload:(be)=>{let $e=be;return $e.some((_r)=>_r?.id===ne.id)?$e.map((_r)=>_r?.id===ne.id?ne:_r):be}}),g({type:"replaceIssue",issue:ne})},[N.dispatch]),Ce=f||k,fe=Ce?co:0,Sr=Math.max(20,H-(L?ji:Di)-fe-2),wH=I.at(-2)?.label??y,wt=An(()=>{if(I.length===0)return;let ne=Hy([yt(O).label,y,...I.map((be)=>be.label)],Math.max(0,Sr-y9-ni(wH,Sr)));return ne?` ${ne} `:void 0},[I,O,y,Sr,wH]),Zr=An(()=>{if(k)return[{command:"sentry.nav.back",label:"cancel"}];if(N.searchFocused)return[{command:"sentry.nav.open",label:"submit"},{command:"sentry.nav.back",label:"cancel"}];let ne=w?[{command:"sentry.nav.back",label:"back"}]:[],be=T?A?[{command:"sentry.nav.open",label:"open"}]:[]:[...A?[{command:"sentry.nav.open",label:N.detailOpen?"close":h?.openLabel??"open"}]:[],{command:"sentry.nav.search",label:"search"}];return[...ne,...be,{command:"sentry.nav.goto",label:"nav"},{command:"sentry.app.commandPalette",label:"commands"},{command:"sentry.app.help",label:"help"},...w?[]:[{command:"sentry.app.quit",label:"quit"}]]},[k,N.searchFocused,N.detailOpen,w,T,h,A]);return{...m,dispatch:g,showSecondaryPane:Ce,topView:w,detailView:T,listActive:q,screen:h,ScreenComponent:b,state:N,viewLocations:z,screenSnapshots:U,resetOrgScoped:F,seed:j,navExtras:oe,secondaryItems:ie,gotoHotkeys:ue,contentWidth:Sr,breadcrumb:wt,backTarget:wH,statusHints:Zr,navigateTo:v,navigateToScreen:pe,openNavGroup:Me,expandNav:de,selectNavItem:re,previewNavGroup:Ae,pushView:G,popView:ee,clearViews:C,updateView:Y,replaceIssue:He}}import{useEffect as bk,useMemo as f9}from"h:0__";import{abandonNavigation as S9,beginNavigation as _9,breadcrumb as k9,endNavigation as h9,isTelemetryEnabled as L9}from"h:7___________________________________";var I9=250;function wk(e,t,r){let H=`${yt(e).label} \u203A ${t}`,n=L9();f9(()=>{if(!n)return;_9(H),k9({category:"navigation",message:H})},[H,n]),bk(()=>n?()=>S9(H):void 0,[H,n]),bk(()=>{if(!n||r)return;let o=Date.now(),s=setTimeout(()=>h9(H,o),I9);return()=>clearTimeout(s)},[H,r,n])}import{useEffect as b9,useState as w9}from"h:0__";import{watchForUpdate as x9}from"h:9________________________________";function xk(){let[e,t]=w9(void 0);return b9(()=>x9(t),[]),e}import{useCallback as T9,useRef as P9,useState as q9}from"h:0__";function Tk(e,t,{onOptimistic:r,onNotice:H}){let[n,o]=q9(()=>new Set),s=P9(new Map),i=T9((a,l)=>{let c=wn(a);if(!c||!e)return;let A=c.update(l);if(!A){H({kind:"warning",text:HA(a)});return}let u=l,d=rA(l,A);r(d),s.current.get(l.id)?.abort();let m=new AbortController;s.current.set(l.id,m),o((p)=>new Set(p).add(l.id));let g=()=>o((p)=>{let O=new Set(p);return O.delete(l.id),O});(async()=>{try{let p=await Ec(e,{org:t,issueId:l.id,update:A,signal:m.signal});if(m.signal.aborted)return;r({...d,...p}),H({kind:"success",text:`${c.pastTense} ${l.shortId}`})}catch(p){if(m.signal.aborted)return;r(u),H({kind:"error",text:`failed: ${p instanceof pr?p.message:String(p)}`})}finally{if(!m.signal.aborted)s.current.delete(l.id),g()}})()},[e,t,r,H]);return{pending:n,run:i}}var us={"sentry.view.filterProject":"project","sentry.view.filterEnv":"env","sentry.view.filterDate":"date"},M9=Object.entries(us);function C9({showOpenUrl:e,showPalette:t,showHelp:r,showSeerAutofix:H,setShowHelp:n}){return(o)=>{if(e||t||H)return"focused";if(!r)return"notMine";if(Q("sentry.nav.back",o)||Q("sentry.app.help",o))n(!1);return"mine"}}function Q9({state:e,showOrgPicker:t}){return(r)=>{if(!e.openDropdown&&!t&&!Ai())return"notMine";if(e.openDropdown&&!Ai()&&Q("sentry.nav.back",r))return e.dispatch({type:"setOpenDropdown",payload:null}),"mine";return"focused"}}function N9({state:e,screenActions:t,setShowPalette:r}){return(H)=>{if(!Q("sentry.app.commandPalette",H))return"notMine";if(e.searchFocused)e.cancelSearch();if(t.current?.inputFocused?.())t.current.blurInput?.();return r(!0),"mine"}}function j9({state:e,screenActions:t,setShowOpenUrl:r}){return(H)=>{if(!Q("sentry.app.openUrl",H))return"notMine";if(e.searchFocused)e.cancelSearch();if(t.current?.inputFocused?.())t.current.blurInput?.();return r(!0),"mine"}}function D9({screenActions:e}){return(t)=>{let r=e.current;if(!r?.inputFocused?.())return"notMine";if(Q("sentry.nav.back",t))return r.blurInput?.(),"mine";if(Q("sentry.nav.open",t))return r.submitInput?.()?"mine":"focused";if(r.handleInputKey?.(t))return"mine";if(Q("sentry.app.focusNext",t)||Q("sentry.app.focusPrev",t))return r.blurInput?.(),"notMine";return"focused"}}function R9({state:e}){return(t)=>{if(!e.searchFocused)return"notMine";if(Q("sentry.nav.back",t))return e.cancelSearch(),"mine";if(Q("sentry.nav.open",t))return e.submitSearch(),"mine";return"focused"}}function v9({navigation:e,setShowOrgPicker:t}){return(r)=>{if(!e.gotoMode){if(!Q("sentry.nav.goto",r))return"notMine";return e.dispatch({type:"openGoto"}),"mine"}if(Q("sentry.nav.goto",r)||Q("sentry.nav.back",r)||r.ctrl||r.meta||r.shift)return e.dispatch({type:"closeGoto"}),"mine";if(Q("sentry.app.switchOrg",r))return e.dispatch({type:"closeGoto"}),t(!0),"mine";let H=e.gotoHotkeys?.byKey.get(r.name.toLowerCase());if(H?.kind==="group")return e.previewNavGroup(H.group),"mine";if(H?.kind==="item")return e.navigateTo(e.railGroup,H.item),"mine";return e.dispatch({type:"closeGoto"}),"mine"}}function G9({navigation:e}){return(t)=>{if(!e.topView||e.showSecondary)return"notMine";if(!Q("sentry.nav.back",t))return"notMine";return e.popView(),"mine"}}function E9({navigation:e,focus:t,screenActions:r}){return(H)=>{if(e.topView)return"notMine";if(t.focusedRef.current!=="content")return"notMine";if(!Q("sentry.nav.back",H))return"notMine";return r.current?.back?.()?"mine":"notMine"}}function K9({navigation:e,focus:t}){return(r)=>{if(!e.showSecondary||!Q("sentry.nav.back",r))return"notMine";return e.dispatch({type:"closeSecondary"}),t.focus("nav"),"mine"}}function X9({navigation:e,state:t,focus:r,setShowHelp:H,setShowOrgPicker:n,refresh:o,runUpdate:s,openInBrowser:i,onQuit:a}){return(l)=>{if(e.listActive&&r.focusedRef.current==="content"){for(let[c,A]of M9){if(!Q(c,l))continue;if(Bn(A))t.dispatch({type:"setOpenDropdown",payload:A});return"mine"}if(Q("sentry.view.sort",l)&&Ym())return t.dispatch({type:"setOpenDropdown",payload:"sort"}),"mine"}if(Q("sentry.app.help",l))return H(!0),"mine";if(Q("sentry.app.refresh",l))return o(),"mine";if(Q("sentry.app.switchOrg",l))return n(!0),"mine";if(Q("sentry.app.update",l))return s(),"mine";if(Q("sentry.app.openInBrowser",l))return i(),"mine";if(Q("sentry.app.quit",l))return a(),"mine";if(Q("sentry.app.focusNext",l)){if(!e.navExpanded)return r.focus("content"),"mine";let c=r.focusedRef.current;if(e.showSecondary)r.focus(c==="nav"?"secondary":"nav");else r.focus(c==="nav"?"content":"nav");return"mine"}if(Q("sentry.app.focusPrev",l)){if(!e.navExpanded)return r.focus("content"),"mine";let c=r.focusedRef.current;if(e.showSecondary)r.focus(c==="secondary"?"nav":"secondary");else r.focus(c==="content"?"nav":"content");return"mine"}return"notMine"}}function B9({activeIssue:e,focus:t,triage:r}){return(H)=>{if(!e||t.focusedRef.current!=="content")return"notMine";for(let n of $s){if(!Q(n.commandId,H))continue;return r(n.commandId,e),"mine"}return"notMine"}}function W9({navigation:e,focus:t,availableNavGroups:r}){return(H)=>{if(t.focusedRef.current!=="nav")return"notMine";if(Q("sentry.nav.open",H))return e.openNavGroup(e.railGroup),"mine";let n=r.findIndex((i)=>i.id===e.railGroup),o=Q("sentry.nav.down",H)?1:Q("sentry.nav.up",H)?-1:0;if(o===0)return"notMine";let s=r[(n+o+r.length)%r.length];return e.dispatch({type:"selectRailGroup",group:s.id}),"mine"}}function F9({navigation:e,focus:t}){return(r)=>{if(!e.showSecondary||t.focusedRef.current!=="secondary")return"notMine";let H=e.secondaryItems.findIndex((s)=>s.label===e.secondaryItem);if(Q("sentry.nav.open",r)){let s=e.secondaryItems[H]??e.secondaryItems[0];if(s)e.selectNavItem(s);return"mine"}let n=Q("sentry.nav.down",r)?1:Q("sentry.nav.up",r)?-1:0;if(n===0)return"notMine";let o=Math.max(0,Math.min(H+n,e.secondaryItems.length-1));return e.dispatch({type:"selectSecondaryItem",item:e.secondaryItems[o]?.label??e.secondaryItem}),"mine"}}function U9({screenActions:e,focus:t}){return(r)=>{let H=e.current;if(!H||!t.isFocused("content"))return"notMine";if(H.openDetail&&Q("sentry.nav.open",r))return H.openDetail(),"mine";return H.handleKey?.(r)?"mine":"notMine"}}function Y9({navigation:e,state:t,focus:r}){return(H)=>{if(!e.listActive||r.focusedRef.current!=="content")return"notMine";if(!Q("sentry.nav.search",H))return"notMine";return t.focusSearch(),"mine"}}function $9({navigation:e,state:t,screenActions:r,focus:H}){return(n)=>{if(!e.listActive||H.focusedRef.current!=="content")return"notMine";let o=Math.max(0,t.entries.length-1);if(Q("sentry.nav.pageDown",n))return r.current?.nextPage?.()?"mine":"notMine";if(Q("sentry.nav.pageUp",n))return r.current?.previousPage?.()?"mine":"notMine";if(Q("sentry.nav.open",n)){let s=r.current?.open;if(!s)return"notMine";return s(t.selected),"mine"}if(Q("sentry.nav.down",n))return t.dispatch({type:"setSelected",payload:(s)=>Math.min(s+1,o)}),"mine";if(Q("sentry.nav.up",n))return t.dispatch({type:"setSelected",payload:(s)=>Math.max(s-1,0)}),"mine";if(Q("sentry.nav.top",n))return t.dispatch({type:"setSelected",payload:0}),"mine";if(Q("sentry.nav.bottom",n))return t.dispatch({type:"setSelected",payload:o}),"mine";return"notMine"}}function Pk(e){return[C9(e),Q9(e),N9(e),j9(e),D9(e),R9(e),v9(e),G9(e),E9(e),K9(e),X9(e),B9(e),W9(e),F9(e),U9(e),Y9(e),$9(e)]}import{jsxDEV as ut}from"h:6___________________________";var qk="issues.feed";function Mk({onQuit:e,client:t=null,org:r="",initialScreen:H=qk,initialLocation:n,initialProjectsByOrg:o={},user:s,initialSeerCodeModeByOrg:i={},initialSeerBashModeByOrg:a={},initialSeerShowThinkingByOrg:l={},onApplyUpdate:c,onOpenUrl:A,initialSessionSnapshot:u,onSessionSnapshot:d}){let m=S(),{width:g,height:p}=Z9(),[O]=At(()=>Yl(u)),y=O?.snapshot,L=O?.location??n,[f,k]=At(()=>Object.fromEntries(Object.entries({...o,...y?.projectsByOrg}).map(([K,ae])=>[K,[...ae]]))),I=rc(f),[h,b]=At(()=>({...i,...y?.seerCodeModeByOrg})),[w,T]=At(()=>({...a,...y?.seerBashModeByOrg})),[q,E]=At(()=>({...l,...y?.seerShowThinkingByOrg})),[D,x]=At(L?.org??y?.org??r),[P,N]=At(!1),[F,j]=At(!1),[U,z]=At(!1),[oe,ie]=At(!1),[G,Y]=At(),[ee,C]=At(),[v,pe]=At(),[Me,de]=At(),[re,ue]=At(s),Ae=Me===void 0||Me.includes("seer-explorer"),He=ds(()=>Ut.filter((K)=>K.id!=="seer"||Ae),[Ae]),[Ce,fe]=At(0),Te=_t(()=>fe((K)=>K+1),[]),[Sr,wH]=At(!1),wt=zO(Lk,"content"),Zr=Ik({client:t,org:D,reloadToken:Ce,width:g,initialScreen:H,initialLocation:L,initialViewLocations:O?.viewStack,initialScreenSnapshots:y?.navigation.screens,initialSelectedProjects:f[D]??[],availableNavGroups:He,focus:wt,canOpen:Sr}),{activeGroup:ne,activeItem:be,backTarget:$e,breadcrumb:_r,clearViews:Hc,contentWidth:nc,detailView:ps,expandNav:Qk,gotoHotkeys:oc,gotoMode:sc,listActive:ic,navigateTo:pn,navigateToScreen:mn,navExpanded:Nk,navExtras:jk,openNavGroup:Dk,pushView:ms,railGroup:ac,replaceIssue:Rk,resetOrgScoped:cc,screen:kr,ScreenComponent:lc,secondaryItem:vk,seed:gs,selectNavItem:Gk,showSecondaryPane:Ek,state:We,statusHints:Kk,topView:sr,updateView:Xk,viewLocations:Os,screenSnapshots:Ac}=Zr;un(()=>{if(pe(void 0),de(void 0),!t||!D)return;let K=new AbortController;return Kc(t,{org:D,signal:K.signal}).then((ae)=>{if(ae.avatar?.avatarUrl)pe(ae.avatar.avatarUrl);if(Array.isArray(ae.features))de(ae.features)}).catch(()=>{}),()=>K.abort()},[t,D]),un(()=>{if(s?.email||!t){ue(s);return}if(ne!=="seer")return;let K=new AbortController;return Xc(t,K.signal).then(ue).catch(()=>{}),()=>K.abort()},[ne,t,s]);let Bk=_t((K)=>{b((ae)=>{let it={...ae,[D]:K};return dn({seerCodeModeByOrg:it}).catch(()=>{}),it})},[D]),Wk=_t((K)=>{T((ae)=>{let it={...ae,[D]:K};return dn({seerBashModeByOrg:it}).catch(()=>{}),it})},[D]),Fk=_t((K)=>{E((ae)=>{let it={...ae,[D]:K};return dn({seerShowThinkingByOrg:it}).catch(()=>{}),it})},[D]),Uk=_t((K)=>{We.dispatch({type:"setSelectedProjects",payload:K});let ae={...I.current,[D]:[...K]};I.current=ae,k(ae),dn({projectsByOrg:ae}).catch(()=>{})},[D,We.dispatch]);wk(ne,be,We.status.loading);let Wt=Tg(t,D,{features:Me,isEmployee:re?.email?.toLowerCase().endsWith("@sentry.io")===!0,userId:re?.id,pageName:kr?.id,codeMode:h[D]??"only",bashMode:w[D]??!1,showThinking:q[D]??!1,initialRunId:y?.seerRunId,onCodeModeChange:Bk,onBashModeChange:Wk,onShowThinkingChange:Fk}),Pr=ds(()=>{let K=sr?.sentryLocation??(kr?{screen:kr.id}:void 0);if(!K)return;let it=!sr&&kr?.kind!=="chat"||Boolean(sr?.stateKey)?{...K.state,query:We.committedQuery,sort:We.sort,statsPeriod:We.statsPeriod,selectedProjects:[...We.selectedProjects],selectedEnvs:[...We.selectedEnvs]}:K.state;return{org:D,...K,state:it,...K.screen==="seer.ask"&&Wt.runId!==null?{seerRunId:Wt.runId}:{}}},[D,kr,Wt.runId,We,sr]),ys=ds(()=>{if(!d||!D||!Pr)return;let K=Os.length-1;return Ul({org:D,navigation:{location:bn(Pr),viewStack:Os.map((ae,it)=>bn(it===K?Pr:{org:D,...ae})),screens:{...Ac}},projectsByOrg:Object.fromEntries(Object.entries(f).map(([ae,it])=>[ae,[...it]])),seerCodeModeByOrg:{...h},seerBashModeByOrg:{...w},seerShowThinkingByOrg:{...q},...Wt.runId===null?{}:{seerRunId:Wt.runId}})},[Pr,d,D,f,Ac,w,Wt.runId,h,q,Os]);un(()=>{if(ys)d?.(ys)},[d,ys]);let fs=_t(()=>{if(!Pr)return;let K=bn(Pr);if(!A){C(K);return}Promise.resolve(A(K)).then((ae)=>{if(!ae)C(K)}).catch(()=>C(K))},[Pr,A]),Ss=rc(null),Yk=_t((K)=>{Ss.current=K,wH(Boolean(K?.open||K?.openDetail))},[]),[$k,uc]=At(null),_s=rc(void 0),ir=_t((K)=>{uc(K),clearTimeout(_s.current),_s.current=setTimeout(()=>uc(null),4000)},[]);un(()=>()=>clearTimeout(_s.current),[]);let ks=_t((K)=>{if(ie(!1),!K||K===D)return;x(K),Hc(),cc(I.current[K]??[]),ir({kind:"info",text:`switched to ${K}`}),J9({org:K}),z9({category:"navigation",message:`switched org to ${K}`}),ej("info","ui.org.switched",{org:K}),dn({org:K}).catch(()=>{})},[Hc,D,cc,ir]),xH=Tk(t,D,{onOptimistic:Rk,onNotice:ir}),Vk=_t((K)=>{if(!Wt.capabilities.available){ir({kind:"error",text:"Seer is not enabled for this organization"});return}Wt.reset(),Y(K)},[Wt,ir]),zr=sr?.issue??(ne==="issues"?tr(We)[We.selected]:void 0);un(()=>{if(ne==="seer"&&!Ae)mn(qk)},[ne,mn,Ae]);let dc=_t((K)=>{let ae=hr(K.screen);if(K.org!==D)ks(K.org);pn(ae.group,ae.item);let it=ln(K.detail,K.state);if(it){if(!it.stateKey&&K.state)gs(jr(ae),K.state);ms(it)}else if(K.state)gs(jr(ae),K.state)},[pn,D,ms,gs,ks]),Zk=_t((K)=>{let ae=In(K);if(ae.kind!=="location")return Bl(ae,"command_palette"),ae;dc(ae.location),z(!1);return},[dc]),gn=xk(),hs=Boolean(gn&&c),On=_t(()=>{if(!gn||!c){ir({kind:"idle",text:"already up to date"});return}Promise.resolve(c(gn)).then((K)=>{if(!K)ir({kind:"error",text:"update could not be applied"})})},[gn,c,ir]),zk=ds(()=>rl({streamView:ic,hasIssue:Boolean(zr),updateReady:hs},He),[ic,zr,hs,He]),Jk=_t((K)=>{if(j(!1),K.target.kind==="nav"){pn(K.target.group,K.target.item);return}let{commandId:ae}=K.target;switch(ae){case"sentry.app.quit":e();return;case"sentry.app.help":N(!0);return;case"sentry.app.refresh":Te();return;case"sentry.app.switchOrg":ie(!0);return;case"sentry.app.openUrl":z(!0);return;case"sentry.app.openInBrowser":fs();return;case"sentry.app.update":On();return;case"sentry.nav.search":wt.focus("content"),We.focusSearch();return;case"sentry.view.filterProject":case"sentry.view.filterEnv":case"sentry.view.filterDate":{if(!Bn(us[ae]))return;wt.focus("content"),We.dispatch({type:"setOpenDropdown",payload:us[ae]});return}default:if(wn(ae)&&zr)xH.run(ae,zr)}},[zr,wt,pn,e,fs,Te,On,We,xH]),eh=_t((K)=>{let ae=wt.focusedRef.current==="content"&&K===We.selected;if(We.dispatch({type:"setSelected",payload:K}),Zr.dispatch({type:"closeSecondary"}),wt.focus("content"),ae)Ss.current?.open?.(K)},[wt,Zr,We]),th=Pk({showOpenUrl:U||Boolean(ee),showPalette:F,showHelp:P,showOrgPicker:oe,showSeerAutofix:Boolean(G),setShowOpenUrl:z,setShowPalette:j,setShowHelp:N,setShowOrgPicker:ie,navigation:Zr,state:We,screenActions:Ss,focus:wt,availableNavGroups:He,activeIssue:zr,triage:xH.run,refresh:Te,runUpdate:On,openInBrowser:fs,onQuit:e});V9((K)=>{Rt(th,K,je)});let rh=Math.max(3,p-3),pc=wt.isFocused("content")&&!oe&&!G,mc={client:t,org:D,focused:pc,width:nc,height:rh,reloadToken:Ce,onProjectSelect:Uk,pendingIds:xH.pending,runIssueAction:xH.run,openIssueAutofix:Vk,pushView:ms,notify:ir,activateRow:eh,registerActions:Yk,updateView:Xk,navigateToScreen:mn};return ut("box",{style:{width:"100%",height:"100%",flexDirection:"column",backgroundColor:m.bg},children:[ut("box",{style:{flexGrow:1,flexDirection:"row"},children:[ut(WO,{active:ac,expanded:Nk,focused:wt.isFocused("nav"),avatarUrl:v,orgSlug:D,groups:He,hotkeys:oc?.groups,onSelect:Dk,onExpand:Qk,onOrgPress:()=>ie(!0)},void 0,!1,void 0,this),Ek?ut($O,{group:ac,activeItem:vk,focused:wt.isFocused("secondary"),extras:jk,hotkeys:oc?.items,onSelect:Gk},void 0,!1,void 0,this):null,ut("box",{title:_r,titleColor:m.accent,style:{flexGrow:1,flexDirection:"column",overflow:"hidden",border:!0,borderColor:pc&&!We.searchFocused?m.borderFocused:m.border},children:ut(Vn.Provider,{value:Wt,children:sr?sr.render({...mc,state:sr.stateKey?We:void 0,issue:sr.issue}):lc&&kr?ut(lc,{...mc,screen:kr,state:We},kr.id,!1,void 0,this):ut("box",{style:{flexDirection:"column",paddingLeft:1},children:[ut("text",{fg:m.text,attributes:1,children:`${yt(ne).label} \u203A ${be}`},void 0,!1,void 0,this),ut("text",{fg:m.muted,children:"Not implemented yet."},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this),sr?ut(qA,{parent:$e,top:0,right:g-1,paneWidth:nc},void 0,!1,void 0,this):null]},void 0,!0,void 0,this),ut(VO,{notice:sc?{kind:"info",text:"go to\u2026"}:$k??(ps?{kind:"idle",text:ps.label??""}:tj(We.status)),since:ps||sc?void 0:We.status.since,hints:Kk,onUpdate:hs?On:void 0},void 0,!1,void 0,this),P?ut(eg,{onClose:()=>N(!1)},void 0,!1,void 0,this):null,F?ut(wA,{actions:zk,onRun:Jk,onClose:()=>j(!1)},void 0,!1,void 0,this):null,U?ut(lO,{onSubmit:Zk,onClose:()=>z(!1)},void 0,!1,void 0,this):null,oe?ut(FO,{client:t,currentOrg:D,anchorLeft:XO,anchorTop:BO,onSelect:ks,onClose:()=>ie(!1)},void 0,!1,void 0,this):null,ee?ut(ZO,{url:ee,onClose:()=>C(void 0)},void 0,!1,void 0,this):null,G?ut(aO,{issue:G,chat:Wt,client:t,org:D,navigateToScreen:mn,notify:ir,onClose:()=>Y(void 0)},void 0,!1,void 0,this):null]},void 0,!0,void 0,this)}function tj(e){if(e.error)return{kind:"error",text:e.error};if(e.loading)return{kind:"loading",text:e.noun?`loading ${e.noun}\u2026`:"loading\u2026"};return{kind:"idle",text:""}}import{jsxDEV as Ck}from"h:6___________________________";var Ane={version:Ls,hostApiVersion:gc};function une({theme:e,...t}){return Ck(eA,{...e,children:Ck(Mk,{...t},void 0,!1,void 0,this)},void 0,!1,void 0,this)}export{une as PayloadApp,Ane as payload};
|
|
19
19
|
|
|
20
|
-
//# debugId=
|
|
20
|
+
//# debugId=A974796D8F327EC364756E2164756E21
|
|
21
21
|
//# sourceMappingURL=app.mjs.map
|