railwatch 0.9.0 → 0.9.2
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +20 -0
- data/app/frontend/components/railwatch/stat.tsx +13 -1
- data/app/frontend/hooks/use-live.ts +26 -0
- data/docs/configuration.md +3 -1
- data/lib/railwatch/version.rb +1 -1
- data/lib/railwatch.rb +9 -2
- data/public/railwatch/assets/{app-layout-LvxN9xSS.js → app-layout-CpEbDy93.js} +1 -1
- data/public/railwatch/assets/{arrow-up-DG01k9AL.js → arrow-up-DAODKT5N.js} +1 -1
- data/public/railwatch/assets/{braces-C3w7pfxS.js → braces-DgB4bqp0.js} +1 -1
- data/public/railwatch/assets/{card-Dpwlr0uY.js → card-C4EFUWG1.js} +1 -1
- data/public/railwatch/assets/{chart-DJHv3R7W.js → chart-CD6EHDjG.js} +1 -1
- data/public/railwatch/assets/{chart-hover-CEH-DtXO.js → chart-hover-B5cFOZ24.js} +1 -1
- data/public/railwatch/assets/{chart-panel-CUdIzJvk.js → chart-panel-XD8qJDmg.js} +1 -1
- data/public/railwatch/assets/{code-BRZprwun.js → code-CuTKEYtT.js} +1 -1
- data/public/railwatch/assets/{copy-id-CwhGGiwF.js → copy-id-COM9oXfT.js} +1 -1
- data/public/railwatch/assets/{cursor-load-more-uF1_955Q.js → cursor-load-more-CleS4nD4.js} +1 -1
- data/public/railwatch/assets/{data-table-DYi-N0hm.js → data-table-Bzj8zcao.js} +1 -1
- data/public/railwatch/assets/{env-layout-HdcOaPPX.js → env-layout-Dic4A8Kn.js} +1 -1
- data/public/railwatch/assets/{execution-path-CElXXFO_.js → execution-path-C7Up9w4e.js} +1 -1
- data/public/railwatch/assets/{filter-bar-DEv0G_34.js → filter-bar-B5wbix1y.js} +1 -1
- data/public/railwatch/assets/{flamegraph-SKD9yxW9.js → flamegraph-Dve4TVkl.js} +1 -1
- data/public/railwatch/assets/{frames-CUpyJQDy.js → frames-CkDFkUhi.js} +1 -1
- data/public/railwatch/assets/{index-HRXGir-0.js → index-0glo-UpF.js} +1 -1
- data/public/railwatch/assets/{index-CvqfEExO.js → index-6t2RLBwA.js} +1 -1
- data/public/railwatch/assets/{index-CjxXgOs-.js → index-7fYWYI1v.js} +1 -1
- data/public/railwatch/assets/{index-CiRMSYMn.js → index-B2hTf0w6.js} +1 -1
- data/public/railwatch/assets/{index-74ocuU5d.js → index-B51WiPQg.js} +1 -1
- data/public/railwatch/assets/{index-BxCXBHP2.js → index-BA3nScnV.js} +1 -1
- data/public/railwatch/assets/{index-CIaZkokF.js → index-BheGBdI9.js} +1 -1
- data/public/railwatch/assets/{index-d-3J7gQ5.js → index-BxSwNl8H.js} +1 -1
- data/public/railwatch/assets/{index-BBCEkLqp.js → index-CEcv5bba.js} +1 -1
- data/public/railwatch/assets/{index-CEetm4oC.js → index-CG7VCShP.js} +1 -1
- data/public/railwatch/assets/{index-ClL-PYEV.js → index-CXSEiNWw.js} +1 -1
- data/public/railwatch/assets/{index-B_KFb9LS.js → index-C_3JsXHv.js} +1 -1
- data/public/railwatch/assets/{index-DJd3OUSd.js → index-CgoVIV-m.js} +1 -1
- data/public/railwatch/assets/{index-C1jc1OoH.js → index-CnlT_aCL.js} +1 -1
- data/public/railwatch/assets/{index-DPD-rLp6.js → index-D7t5pSOT.js} +1 -1
- data/public/railwatch/assets/{index-CteZ6fop.js → index-DJZkxYZf.js} +1 -1
- data/public/railwatch/assets/{index-Ce4SB5AB.js → index-DKwz3gSX.js} +1 -1
- data/public/railwatch/assets/{index-CNH85TZp.js → index-DTLmaJha.js} +1 -1
- data/public/railwatch/assets/{index-UJOUALr_.js → index-D_dUD6LY.js} +1 -1
- data/public/railwatch/assets/{index-BqK_VKom.js → index-Dj03Gham.js} +1 -1
- data/public/railwatch/assets/{index-DrayARrI.js → index-DqeNWrJc.js} +1 -1
- data/public/railwatch/assets/{index-oQrvBpOm.js → index-DwGETVLb.js} +1 -1
- data/public/railwatch/assets/{index-CxTLT-Qh.js → index-Dx7oNB2j.js} +1 -1
- data/public/railwatch/assets/{index-BDcglJzX.js → index-Kxpc-Jju.js} +1 -1
- data/public/railwatch/assets/{index-B8NA62Lz.js → index-YqmR-RY4.js} +1 -1
- data/public/railwatch/assets/{index-2W-ppwap.js → index-kX9K5M8z.js} +1 -1
- data/public/railwatch/assets/{index-DYK_dps4.js → index-wH-xxmJK.js} +1 -1
- data/public/railwatch/assets/{index-C7zREldp.js → index-x18ma-AF.js} +1 -1
- data/public/railwatch/assets/{inertia-FoqYZAk8.js → inertia-b7M33AzA.js} +2 -2
- data/public/railwatch/assets/{json-viewer-CxqMojEm.js → json-viewer-C0RZwcC2.js} +1 -1
- data/public/railwatch/assets/{klass-DEF-Vat5.js → klass-BT-gRTuY.js} +1 -1
- data/public/railwatch/assets/{origin-identity-Y6gvfQVR.js → origin-identity-ouOEvOlq.js} +1 -1
- data/public/railwatch/assets/{percentile-picker-E2aUdLxx.js → percentile-picker-BYFo11OE.js} +1 -1
- data/public/railwatch/assets/{relative-time-DcJbkKlN.js → relative-time-CJX4HXBB.js} +1 -1
- data/public/railwatch/assets/{release-health-C8WSCDKD.js → release-health-CIxeXQ_e.js} +1 -1
- data/public/railwatch/assets/{route-qO5vX1p-.js → route-eUFnanVO.js} +1 -1
- data/public/railwatch/assets/{segmented-BWee8uc9.js → segmented-CJq8WOHZ.js} +1 -1
- data/public/railwatch/assets/{select-G7rNBzv0.js → select-vYjStP1q.js} +1 -1
- data/public/railwatch/assets/{series-chart-C5nXIUc5.js → series-chart-FBOfRLhK.js} +1 -1
- data/public/railwatch/assets/{show-CTO8Lvd2.js → show-BBNCHyV9.js} +1 -1
- data/public/railwatch/assets/{show-Nfpxs8su.js → show-BJcTlqdU.js} +1 -1
- data/public/railwatch/assets/{show-CH7yxt7R.js → show-Bq4w9YtT.js} +1 -1
- data/public/railwatch/assets/{show-DyzHM527.js → show-C5SMVt6Z.js} +1 -1
- data/public/railwatch/assets/{show-BEa9PGu1.js → show-C7w8Tnt2.js} +1 -1
- data/public/railwatch/assets/{show-ddjUMo9G.js → show-D7fBqLw0.js} +1 -1
- data/public/railwatch/assets/{show-DnYsDMUt.js → show-DGPuUSHE.js} +1 -1
- data/public/railwatch/assets/{show-ksjbSzDH.js → show-DNY79oEl.js} +1 -1
- data/public/railwatch/assets/{show-BpCO49d3.js → show-DeTnRall.js} +1 -1
- data/public/railwatch/assets/{show-BiT_Aloc.js → show-daCAn8qV.js} +1 -1
- data/public/railwatch/assets/{show-BEWisLQw.js → show-zaB17ZGC.js} +1 -1
- data/public/railwatch/assets/{sort-header-uOq5VlrB.js → sort-header-dslBMND2.js} +1 -1
- data/public/railwatch/assets/{sparkline-cell-DgGij0cu.js → sparkline-cell-C7fhjJby.js} +1 -1
- data/public/railwatch/assets/stat-nY8iS5q9.js +1 -0
- data/public/railwatch/assets/{status-badge-BDkOXa-C.js → status-badge-D40D8TiV.js} +1 -1
- data/public/railwatch/assets/{tenant-path-DU0ezKSU.js → tenant-path-UhieazCc.js} +1 -1
- data/public/railwatch/assets/{use-clipboard-DoENmlWY.js → use-clipboard-T9kCBcs8.js} +1 -1
- data/public/railwatch/assets/use-live-rp6jfGac.js +1 -0
- data/public/railwatch/manifest.json +611 -611
- metadata +74 -74
- data/public/railwatch/assets/stat-BTzNKTm2.js +0 -1
- data/public/railwatch/assets/use-live-CE_fN5_6.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{x as ae,c as $,u as he,j as l,f as fe,d as le,D as pe,L as xe,o as ge,r as re}from"./inertia-FoqYZAk8.js";import{V as se,D as ne}from"./chart-panel-CUdIzJvk.js";import{D as ee}from"./data-table-DYi-N0hm.js";import{E as ie,$ as ce,C as _e,a as ke}from"./app-layout-LvxN9xSS.js";import{F as je}from"./filter-bar-DEv0G_34.js";import{P as ye,E as be}from"./env-layout-HdcOaPPX.js";import{S as de}from"./sparkline-cell-DgGij0cu.js";import{S as Ne}from"./status-badge-BDkOXa-C.js";import{c as f,u as ue,p as te,m as F,w as we}from"./format-B9SDkrWj.js";import"./series-chart-C5nXIUc5.js";import"./chart-hover-CEH-DtXO.js";import"./chart-DJHv3R7W.js";import"./use-live-CE_fN5_6.js";import"./segmented-BWee8uc9.js";const ve=[["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551",key:"1miecu"}]],Me=ae("paperclip",ve);const Se=[["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["path",{d:"M8.12 8.12 12 12",key:"1alkpv"}],["path",{d:"M20 4 8.12 15.88",key:"xgtan2"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M14.8 14.8 20 20",key:"ptml3r"}]],Oe=ae("scissors",Se),oe=l.jsx(ie,{icon:ce,title:"No model calls in this window",description:"Chats, embeddings, and other model calls your app makes through RubyLLM appear here, with the request or job that made them."}),Ce=l.jsx(ie,{icon:ce,title:"No tool calls in this window",description:"Tools your models invoke appear here, timed separately from the calls that asked for them."});function Le(t){const e=$.c(7),{reason:s}=t;if(!s||s==="stop"||s==="tool_calls")return null;const a=s==="max_tokens"||s==="content_filter"?"text-destructive":"text-muted-foreground";let n;e[0]!==a?(n=ge("ml-2 inline-flex items-center gap-1 text-xs",a),e[0]=a,e[1]=n):n=e[1];const r=s==="max_tokens"?"The answer was cut off at the output token limit":`Model stopped: ${s}`;let i;e[2]===Symbol.for("react.memo_cache_sentinel")?(i=l.jsx(Oe,{className:"size-3"}),e[2]=i):i=e[2];let c;return e[3]!==s||e[4]!==n||e[5]!==r?(c=l.jsxs("span",{className:n,title:r,children:[i,s]}),e[3]=s,e[4]=n,e[5]=r,e[6]=c):c=e[6],c}function Te(t){const e=$.c(4),{call:s}=t;if(!s.attachments)return null;const o=s.attachment_names??`${s.attachments} file(s): ${s.attachment_types}`;let a;e[0]===Symbol.for("react.memo_cache_sentinel")?(a=l.jsx(Me,{className:"size-3"}),e[0]=a):a=e[0];const n=s.attachment_types??s.attachments;let r;return e[1]!==o||e[2]!==n?(r=l.jsxs("span",{className:"text-muted-foreground ml-2 inline-flex items-center gap-1 text-xs",title:o,children:[a,n]}),e[1]=o,e[2]=n,e[3]=r):r=e[3],r}function $e(t){const e=$.c(19),{call:s}=t,[o,a]=re.useState(!1),{prompt:n,completion:r,params:i,provider_request_id:c,tools:p}=s;if(!(n!==null||r!==null||c!==null||p!==null||i!==null&&Object.keys(i).length>0)){let g;return e[0]===Symbol.for("react.memo_cache_sentinel")?(g=l.jsx("span",{className:"text-muted-foreground",children:"–"}),e[0]=g):g=e[0],g}const _=o?_e:ke;let d;e[1]!==o?(d=()=>a(!o),e[1]=o,e[2]=d):d=e[2];let u;e[3]!==_?(u=l.jsx(_,{className:"size-3"}),e[3]=_,e[4]=u):u=e[4];let m;e[5]!==o||e[6]!==d||e[7]!==u?(m=l.jsxs("button",{type:"button",onClick:d,"aria-expanded":o,className:"text-muted-foreground hover:text-foreground inline-flex items-center gap-1",children:[u,"Detail"]}),e[5]=o,e[6]=d,e[7]=u,e[8]=m):m=e[8];let h;e[9]!==r||e[10]!==o||e[11]!==i||e[12]!==n||e[13]!==c||e[14]!==p?(h=o&&l.jsxs("div",{className:"w-[70vw] max-w-[36rem] space-y-2 text-left",children:[l.jsxs("dl",{className:"grid grid-cols-[auto_1fr] gap-x-3 gap-y-1 font-mono text-[10px]",children:[c&&l.jsxs(l.Fragment,{children:[l.jsx("dt",{className:"text-muted-foreground",children:"provider id"}),l.jsx("dd",{className:"break-all",children:c})]}),p&&l.jsxs(l.Fragment,{children:[l.jsx("dt",{className:"text-muted-foreground",children:"tools"}),l.jsx("dd",{className:"break-all",children:p})]}),i&&Object.entries(i).map(Fe)]}),[["Prompt",n],["Completion",r]].map(De)]}),e[9]=r,e[10]=o,e[11]=i,e[12]=n,e[13]=c,e[14]=p,e[15]=h):h=e[15];let x;return e[16]!==m||e[17]!==h?(x=l.jsxs("div",{className:"flex flex-col items-end gap-1",children:[m,h]}),e[16]=m,e[17]=h,e[18]=x):x=e[18],x}function De(t){const[e,s]=t;return s?l.jsxs("div",{children:[l.jsx("div",{className:"text-muted-foreground text-[10px] tracking-wide uppercase",children:e}),l.jsx("pre",{className:"bg-muted max-h-64 overflow-auto rounded p-2 font-mono text-[10px] break-all whitespace-pre-wrap",children:s})]},e):null}function Fe(t){const[e,s]=t;return l.jsxs(re.Fragment,{children:[l.jsx("dt",{className:"text-muted-foreground",children:e}),l.jsx("dd",{className:"break-all",children:typeof s=="string"||typeof s=="number"?s:JSON.stringify(s)})]},e)}function me(t){const e=$.c(9),{cost:s,unpriced:o}=t;if(s===null){let i;return e[0]!==o?(i=o>0?l.jsx("span",{className:"text-muted-foreground",title:"No registry pricing",children:"unpriced"}):l.jsx("span",{className:"text-muted-foreground",title:"Nothing here has a price",children:"–"}),e[0]=o,e[1]=i):i=e[1],i}let a;e[2]!==s?(a=ue(s),e[2]=s,e[3]=a):a=e[3];let n;e[4]!==o?(n=o>0&&l.jsxs("span",{className:"text-muted-foreground ml-1 text-xs font-normal",title:`${o} call${o===1?"":"s"} had no registry pricing and are not in this total`,children:["+",f(o)," unpriced"]}),e[4]=o,e[5]=n):n=e[5];let r;return e[6]!==a||e[7]!==n?(r=l.jsxs("span",{className:"font-semibold",children:[a,n]}),e[6]=a,e[7]=n,e[8]=r):r=e[8],r}function D(t){const e=$.c(7),{label:s,children:o}=t;let a;e[0]!==s?(a=l.jsx("div",{className:"text-muted-foreground text-xs",children:s}),e[0]=s,e[1]=a):a=e[1];let n;e[2]!==o?(n=l.jsx("div",{className:"truncate text-lg",children:o}),e[2]=o,e[3]=n):n=e[3];let r;return e[4]!==a||e[5]!==n?(r=l.jsxs("div",{className:"min-w-0",children:[a,n]}),e[4]=a,e[5]=n,e[6]=r):r=e[6],r}function wt(t){const e=$.c(79),{environment:s,window:o}=he().props,a=s.application_id,n=s.id;let r;e[0]!==a||e[1]!==n?(r=k=>k.execution_id?fe(a,n,k.execution_id):null,e[0]=a,e[1]=n,e[2]=r):r=e[2];const i=r;let c;e[3]===Symbol.for("react.memo_cache_sentinel")?(c=l.jsx(ye,{title:"LLM",description:"Model calls and tool invocations through RubyLLM, by model and by the request or job that made them."}),e[3]=c):c=e[3];let p;e[4]!==t.totals.count?(p=f(t.totals.count),e[4]=t.totals.count,e[5]=p):p=e[5];let j;e[6]!==p?(j=l.jsx(D,{label:"Model calls",children:p}),e[6]=p,e[7]=j):j=e[7];let _;e[8]!==t.totals.tool_count?(_=f(t.totals.tool_count),e[8]=t.totals.tool_count,e[9]=_):_=e[9];let d;e[10]!==_?(d=l.jsx(D,{label:"Tool calls",children:_}),e[10]=_,e[11]=d):d=e[11];let u;e[12]!==t.totals.cost||e[13]!==t.totals.unpriced?(u=l.jsx(D,{label:"Spend",children:l.jsx(me,{cost:t.totals.cost,unpriced:t.totals.unpriced})}),e[12]=t.totals.cost,e[13]=t.totals.unpriced,e[14]=u):u=e[14];let m;e[15]!==t.totals.input_tokens?(m=f(t.totals.input_tokens),e[15]=t.totals.input_tokens,e[16]=m):m=e[16];let h;e[17]!==m?(h=l.jsx(D,{label:"Tokens in",children:m}),e[17]=m,e[18]=h):h=e[18];let x;e[19]!==t.totals.output_tokens?(x=f(t.totals.output_tokens),e[19]=t.totals.output_tokens,e[20]=x):x=e[20];let g;e[21]!==x?(g=l.jsx(D,{label:"Tokens out",children:x}),e[21]=x,e[22]=g):g=e[22];let y;e[23]!==g||e[24]!==j||e[25]!==d||e[26]!==u||e[27]!==h?(y=l.jsxs("div",{className:"grid grid-cols-2 gap-4 lg:grid-cols-5",children:[j,d,u,h,g]}),e[23]=g,e[24]=j,e[25]=d,e[26]=u,e[27]=h,e[28]=y):y=e[28];let b;e[29]!==t.series?(b=l.jsxs("div",{className:"grid gap-4 lg:grid-cols-2",children:[l.jsx(se,{legend:"outcome",label:"Model calls",seriesLabel:"Calls",data:t.series}),l.jsx(ne,{label:"Model latency",data:t.series,percentile:"p95"})]}),e[29]=t.series,e[30]=b):b=e[30];let N;e[31]!==t.tool_series||e[32]!==t.totals.tool_count?(N=t.totals.tool_count>0&&l.jsxs("div",{className:"grid gap-4 lg:grid-cols-2",children:[l.jsx(se,{legend:"outcome",label:"Tool calls",seriesLabel:"Calls",data:t.tool_series}),l.jsx(ne,{label:"Tool latency",data:t.tool_series,percentile:"p95"})]}),e[31]=t.tool_series,e[32]=t.totals.tool_count,e[33]=N):N=e[33];let E;e[34]===Symbol.for("react.memo_cache_sentinel")?(E=[{key:"m",header:"Model",cell:it},{key:"trend",hideOnMobile:!0,header:"Trend",cell:rt},{key:"n",header:"Calls",align:"right",cell:at},{key:"f",hideOnMobile:!0,header:"Failed",align:"right",cell:ot},{key:"cut",hideOnMobile:!0,header:"Cut off",align:"right",cell:nt},{key:"att",hideOnMobile:!0,header:"With files",align:"right",cell:st},{key:"in",hideOnMobile:!0,header:"Tokens in",align:"right",cell:lt},{key:"out",hideOnMobile:!0,header:"Tokens out",align:"right",cell:tt},{key:"cached",hideOnMobile:!0,header:"Cached",align:"right",cell:et},{key:"p95",hideOnMobile:!0,header:"p95",align:"right",cell:Ze},{key:"cost",header:"Spend",align:"right",cell:Ye}],e[34]=E):E=e[34];let w;e[35]!==t.models?(w=l.jsx(ee,{rows:t.models,rowKey:ct,empty:oe,columns:E}),e[35]=t.models,e[36]=w):w=e[36];let v;e[37]!==t.tools?(v=t.tools.length>0&&l.jsxs(l.Fragment,{children:[l.jsx("h2",{className:"text-sm font-semibold",children:"Tools"}),l.jsx(ee,{rows:t.tools,rowKey:Xe,empty:Ce,columns:[{key:"t",header:"Tool",cell:Ue},{key:"trend",hideOnMobile:!0,header:"Trend",cell:Qe},{key:"n",header:"Calls",align:"right",cell:Ge},{key:"f",hideOnMobile:!0,header:"Failed",align:"right",cell:Je},{key:"avg",hideOnMobile:!0,header:"Avg",align:"right",cell:He},{key:"p95",header:"p95",align:"right",cell:Ve},{key:"max",hideOnMobile:!0,header:"Max",align:"right",cell:Ie}]})]}),e[37]=t.tools,e[38]=v):v=e[38];let P;e[39]===Symbol.for("react.memo_cache_sentinel")?(P=l.jsx("h2",{className:"text-sm font-semibold",children:"Recent"}),e[39]=P):P=e[39];let q,R;e[40]===Symbol.for("react.memo_cache_sentinel")?(q={key:"model",label:"Model"},R={key:"provider",label:"Provider"},e[40]=q,e[41]=R):(q=e[40],R=e[41]);let W,z;e[42]===Symbol.for("react.memo_cache_sentinel")?(W={key:"operation",label:"Operation",options:["chat","tool","embedding","image","speech","transcription","moderation","rerank","ocr"]},z={key:"workflow",label:"Workflow"},e[42]=W,e[43]=z):(W=e[42],z=e[43]);let A;e[44]===Symbol.for("react.memo_cache_sentinel")?(A={key:"finish",label:"Finish",options:["stop","max_tokens","tool_calls","content_filter"]},e[44]=A):A=e[44];let K;e[45]===Symbol.for("react.memo_cache_sentinel")?(K=[q,R,W,z,A,{key:"attachments",label:"Files",options:["any","image","pdf","audio","video"]}],e[45]=K):K=e[45];let M;e[46]!==a||e[47]!==n||e[48]!==o?(M=k=>le.visit(pe(a,n,{window:o,q:k||void 0}),{preserveState:!0}),e[46]=a,e[47]=n,e[48]=o,e[49]=M):M=e[49];let S;e[50]!==t.q||e[51]!==M?(S=l.jsx(je,{value:t.q,fields:K,onChange:M,placeholder:"model:claude-opus-5 operation:chat"}),e[50]=t.q,e[51]=M,e[52]=S):S=e[52];let O;e[53]!==i?(O={onOpen:(k,Y)=>{const Z=i(k);Z&&(Y?.newTab?globalThis.window.open(Z,"_blank"):le.visit(Z))}},e[53]=i,e[54]=O):O=e[54];let B,I,V,H,J,G,Q;e[55]===Symbol.for("react.memo_cache_sentinel")?(B={key:"when",header:"When",cell:Ke},I={key:"st",header:"Status",cell:Ae},V={key:"what",header:"Call",grow:!0,cell:ze},H={key:"wf",hideOnMobile:!0,header:"Workflow",cell:We},J={key:"tok",hideOnMobile:!0,header:"Tokens",align:"right",cell:Re},G={key:"d",header:"Duration",align:"right",cell:qe},Q={key:"cost",header:"Cost",align:"right",cell:Pe},e[55]=B,e[56]=I,e[57]=V,e[58]=H,e[59]=J,e[60]=G,e[61]=Q):(B=e[55],I=e[56],V=e[57],H=e[58],J=e[59],G=e[60],Q=e[61]);let C;e[62]!==i?(C={key:"in",hideOnMobile:!0,header:"In",cell:k=>{const Y=i(k);return Y?l.jsx(xe,{className:"font-mono text-xs hover:underline",href:Y,children:k.execution_preview}):null}},e[62]=i,e[63]=C):C=e[63];let U;e[64]===Symbol.for("react.memo_cache_sentinel")?(U={key:"content",header:"Detail",align:"right",cell:Ee},e[64]=U):U=e[64];let L;e[65]!==C?(L=[B,I,V,H,J,G,Q,C,U],e[65]=C,e[66]=L):L=e[66];let T;e[67]!==t.recent||e[68]!==O||e[69]!==L?(T=l.jsx(ee,{rows:t.recent,rowKey:Be,empty:oe,keyboardNav:O,columns:L}),e[67]=t.recent,e[68]=O,e[69]=L,e[70]=T):T=e[70];let X;return e[71]!==y||e[72]!==b||e[73]!==N||e[74]!==w||e[75]!==v||e[76]!==S||e[77]!==T?(X=l.jsxs(be,{title:"LLM",children:[c,y,b,N,w,v,P,S,T]}),e[71]=y,e[72]=b,e[73]=N,e[74]=w,e[75]=v,e[76]=S,e[77]=T,e[78]=X):X=e[78],X}function Ee(t){return l.jsx($e,{call:t})}function Pe(t){return t.cost===null&&t.operation!=="tool"&&t.status!=="failed"?l.jsx("span",{className:"text-muted-foreground",title:"No registry pricing",children:"unpriced"}):ue(t.cost)}function qe(t){return F(t.duration)}function Re(t){return t.input_tokens===null&&t.output_tokens===null?l.jsx("span",{className:"text-muted-foreground",children:"–"}):l.jsxs("span",{className:"font-mono text-xs",children:[f(t.input_tokens??0)," / ",f(t.output_tokens??0)]})}function We(t){return t.workflow_name?l.jsxs("span",{className:"text-xs",children:[t.workflow_name,t.workflow_step_name&&l.jsxs("span",{className:"text-muted-foreground",children:[" · ",t.workflow_step_name]})]}):null}function ze(t){return l.jsxs("span",{className:"font-mono text-xs",children:[t.operation==="tool"?t.tool_name:l.jsxs(l.Fragment,{children:[l.jsxs("span",{className:"text-muted-foreground",children:[t.provider,"/"]}),l.jsx("span",{className:"font-semibold",children:t.model})]}),t.error&&l.jsx("span",{className:"text-destructive ml-2",children:t.error}),l.jsx(Le,{reason:t.finish_reason}),l.jsx(Te,{call:t})]})}function Ae(t){return l.jsx(Ne,{status:null,label:t.status==="failed"?"error":t.operation,outcome:t.status==="failed"?"failed":void 0})}function Ke(t){return l.jsx("span",{className:"text-xs",children:we(t.occurred_at)})}function Be(t){return t.id}function Ie(t){return F(t.max)}function Ve(t){return l.jsx("span",{className:"font-semibold",children:F(t.p95)})}function He(t){return F(t.avg)}function Je(t){return l.jsx("span",{className:t.errors?"text-destructive":"",children:te(t.errors,t.count)})}function Ge(t){return f(t.count)}function Qe(t){return l.jsx(de,{data:t.sparkline})}function Ue(t){return l.jsx("span",{className:"font-mono text-xs",children:t.name})}function Xe(t){return t.group_hash}function Ye(t){return l.jsx(me,{cost:t.cost,unpriced:t.unpriced})}function Ze(t){return F(t.p95)}function et(t){return f(t.cache_read_tokens)}function tt(t){return f(t.output_tokens)}function lt(t){return f(t.input_tokens)}function st(t){return t.with_attachments?f(t.with_attachments):l.jsx("span",{className:"text-muted-foreground",children:"–"})}function nt(t){return t.truncated?l.jsx("span",{className:"text-destructive",title:"Answers stopped at the output token limit",children:te(t.truncated,t.count)}):l.jsx("span",{className:"text-muted-foreground",children:"–"})}function ot(t){return l.jsx("span",{className:t.errors?"text-destructive":"",children:te(t.errors,t.count)})}function at(t){return f(t.count)}function rt(t){return l.jsx(de,{data:t.sparkline})}function it(t){return l.jsx("span",{className:"font-mono text-xs",children:t.name})}function ct(t){return t.group_hash}export{wt as default};
|
|
1
|
+
import{x as ae,c as $,u as he,j as l,f as fe,d as le,D as pe,L as xe,o as ge,r as re}from"./inertia-b7M33AzA.js";import{V as se,D as ne}from"./chart-panel-XD8qJDmg.js";import{D as ee}from"./data-table-Bzj8zcao.js";import{E as ie,$ as ce,C as _e,a as ke}from"./app-layout-CpEbDy93.js";import{F as je}from"./filter-bar-B5wbix1y.js";import{P as ye,E as be}from"./env-layout-Dic4A8Kn.js";import{S as de}from"./sparkline-cell-C7fhjJby.js";import{S as Ne}from"./status-badge-D40D8TiV.js";import{c as f,u as ue,p as te,m as F,w as we}from"./format-B9SDkrWj.js";import"./series-chart-FBOfRLhK.js";import"./chart-hover-B5cFOZ24.js";import"./chart-CD6EHDjG.js";import"./use-live-rp6jfGac.js";import"./segmented-CJq8WOHZ.js";const ve=[["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551",key:"1miecu"}]],Me=ae("paperclip",ve);const Se=[["circle",{cx:"6",cy:"6",r:"3",key:"1lh9wr"}],["path",{d:"M8.12 8.12 12 12",key:"1alkpv"}],["path",{d:"M20 4 8.12 15.88",key:"xgtan2"}],["circle",{cx:"6",cy:"18",r:"3",key:"fqmcym"}],["path",{d:"M14.8 14.8 20 20",key:"ptml3r"}]],Oe=ae("scissors",Se),oe=l.jsx(ie,{icon:ce,title:"No model calls in this window",description:"Chats, embeddings, and other model calls your app makes through RubyLLM appear here, with the request or job that made them."}),Ce=l.jsx(ie,{icon:ce,title:"No tool calls in this window",description:"Tools your models invoke appear here, timed separately from the calls that asked for them."});function Le(t){const e=$.c(7),{reason:s}=t;if(!s||s==="stop"||s==="tool_calls")return null;const a=s==="max_tokens"||s==="content_filter"?"text-destructive":"text-muted-foreground";let n;e[0]!==a?(n=ge("ml-2 inline-flex items-center gap-1 text-xs",a),e[0]=a,e[1]=n):n=e[1];const r=s==="max_tokens"?"The answer was cut off at the output token limit":`Model stopped: ${s}`;let i;e[2]===Symbol.for("react.memo_cache_sentinel")?(i=l.jsx(Oe,{className:"size-3"}),e[2]=i):i=e[2];let c;return e[3]!==s||e[4]!==n||e[5]!==r?(c=l.jsxs("span",{className:n,title:r,children:[i,s]}),e[3]=s,e[4]=n,e[5]=r,e[6]=c):c=e[6],c}function Te(t){const e=$.c(4),{call:s}=t;if(!s.attachments)return null;const o=s.attachment_names??`${s.attachments} file(s): ${s.attachment_types}`;let a;e[0]===Symbol.for("react.memo_cache_sentinel")?(a=l.jsx(Me,{className:"size-3"}),e[0]=a):a=e[0];const n=s.attachment_types??s.attachments;let r;return e[1]!==o||e[2]!==n?(r=l.jsxs("span",{className:"text-muted-foreground ml-2 inline-flex items-center gap-1 text-xs",title:o,children:[a,n]}),e[1]=o,e[2]=n,e[3]=r):r=e[3],r}function $e(t){const e=$.c(19),{call:s}=t,[o,a]=re.useState(!1),{prompt:n,completion:r,params:i,provider_request_id:c,tools:p}=s;if(!(n!==null||r!==null||c!==null||p!==null||i!==null&&Object.keys(i).length>0)){let g;return e[0]===Symbol.for("react.memo_cache_sentinel")?(g=l.jsx("span",{className:"text-muted-foreground",children:"–"}),e[0]=g):g=e[0],g}const _=o?_e:ke;let d;e[1]!==o?(d=()=>a(!o),e[1]=o,e[2]=d):d=e[2];let u;e[3]!==_?(u=l.jsx(_,{className:"size-3"}),e[3]=_,e[4]=u):u=e[4];let m;e[5]!==o||e[6]!==d||e[7]!==u?(m=l.jsxs("button",{type:"button",onClick:d,"aria-expanded":o,className:"text-muted-foreground hover:text-foreground inline-flex items-center gap-1",children:[u,"Detail"]}),e[5]=o,e[6]=d,e[7]=u,e[8]=m):m=e[8];let h;e[9]!==r||e[10]!==o||e[11]!==i||e[12]!==n||e[13]!==c||e[14]!==p?(h=o&&l.jsxs("div",{className:"w-[70vw] max-w-[36rem] space-y-2 text-left",children:[l.jsxs("dl",{className:"grid grid-cols-[auto_1fr] gap-x-3 gap-y-1 font-mono text-[10px]",children:[c&&l.jsxs(l.Fragment,{children:[l.jsx("dt",{className:"text-muted-foreground",children:"provider id"}),l.jsx("dd",{className:"break-all",children:c})]}),p&&l.jsxs(l.Fragment,{children:[l.jsx("dt",{className:"text-muted-foreground",children:"tools"}),l.jsx("dd",{className:"break-all",children:p})]}),i&&Object.entries(i).map(Fe)]}),[["Prompt",n],["Completion",r]].map(De)]}),e[9]=r,e[10]=o,e[11]=i,e[12]=n,e[13]=c,e[14]=p,e[15]=h):h=e[15];let x;return e[16]!==m||e[17]!==h?(x=l.jsxs("div",{className:"flex flex-col items-end gap-1",children:[m,h]}),e[16]=m,e[17]=h,e[18]=x):x=e[18],x}function De(t){const[e,s]=t;return s?l.jsxs("div",{children:[l.jsx("div",{className:"text-muted-foreground text-[10px] tracking-wide uppercase",children:e}),l.jsx("pre",{className:"bg-muted max-h-64 overflow-auto rounded p-2 font-mono text-[10px] break-all whitespace-pre-wrap",children:s})]},e):null}function Fe(t){const[e,s]=t;return l.jsxs(re.Fragment,{children:[l.jsx("dt",{className:"text-muted-foreground",children:e}),l.jsx("dd",{className:"break-all",children:typeof s=="string"||typeof s=="number"?s:JSON.stringify(s)})]},e)}function me(t){const e=$.c(9),{cost:s,unpriced:o}=t;if(s===null){let i;return e[0]!==o?(i=o>0?l.jsx("span",{className:"text-muted-foreground",title:"No registry pricing",children:"unpriced"}):l.jsx("span",{className:"text-muted-foreground",title:"Nothing here has a price",children:"–"}),e[0]=o,e[1]=i):i=e[1],i}let a;e[2]!==s?(a=ue(s),e[2]=s,e[3]=a):a=e[3];let n;e[4]!==o?(n=o>0&&l.jsxs("span",{className:"text-muted-foreground ml-1 text-xs font-normal",title:`${o} call${o===1?"":"s"} had no registry pricing and are not in this total`,children:["+",f(o)," unpriced"]}),e[4]=o,e[5]=n):n=e[5];let r;return e[6]!==a||e[7]!==n?(r=l.jsxs("span",{className:"font-semibold",children:[a,n]}),e[6]=a,e[7]=n,e[8]=r):r=e[8],r}function D(t){const e=$.c(7),{label:s,children:o}=t;let a;e[0]!==s?(a=l.jsx("div",{className:"text-muted-foreground text-xs",children:s}),e[0]=s,e[1]=a):a=e[1];let n;e[2]!==o?(n=l.jsx("div",{className:"truncate text-lg",children:o}),e[2]=o,e[3]=n):n=e[3];let r;return e[4]!==a||e[5]!==n?(r=l.jsxs("div",{className:"min-w-0",children:[a,n]}),e[4]=a,e[5]=n,e[6]=r):r=e[6],r}function wt(t){const e=$.c(79),{environment:s,window:o}=he().props,a=s.application_id,n=s.id;let r;e[0]!==a||e[1]!==n?(r=k=>k.execution_id?fe(a,n,k.execution_id):null,e[0]=a,e[1]=n,e[2]=r):r=e[2];const i=r;let c;e[3]===Symbol.for("react.memo_cache_sentinel")?(c=l.jsx(ye,{title:"LLM",description:"Model calls and tool invocations through RubyLLM, by model and by the request or job that made them."}),e[3]=c):c=e[3];let p;e[4]!==t.totals.count?(p=f(t.totals.count),e[4]=t.totals.count,e[5]=p):p=e[5];let j;e[6]!==p?(j=l.jsx(D,{label:"Model calls",children:p}),e[6]=p,e[7]=j):j=e[7];let _;e[8]!==t.totals.tool_count?(_=f(t.totals.tool_count),e[8]=t.totals.tool_count,e[9]=_):_=e[9];let d;e[10]!==_?(d=l.jsx(D,{label:"Tool calls",children:_}),e[10]=_,e[11]=d):d=e[11];let u;e[12]!==t.totals.cost||e[13]!==t.totals.unpriced?(u=l.jsx(D,{label:"Spend",children:l.jsx(me,{cost:t.totals.cost,unpriced:t.totals.unpriced})}),e[12]=t.totals.cost,e[13]=t.totals.unpriced,e[14]=u):u=e[14];let m;e[15]!==t.totals.input_tokens?(m=f(t.totals.input_tokens),e[15]=t.totals.input_tokens,e[16]=m):m=e[16];let h;e[17]!==m?(h=l.jsx(D,{label:"Tokens in",children:m}),e[17]=m,e[18]=h):h=e[18];let x;e[19]!==t.totals.output_tokens?(x=f(t.totals.output_tokens),e[19]=t.totals.output_tokens,e[20]=x):x=e[20];let g;e[21]!==x?(g=l.jsx(D,{label:"Tokens out",children:x}),e[21]=x,e[22]=g):g=e[22];let y;e[23]!==g||e[24]!==j||e[25]!==d||e[26]!==u||e[27]!==h?(y=l.jsxs("div",{className:"grid grid-cols-2 gap-4 lg:grid-cols-5",children:[j,d,u,h,g]}),e[23]=g,e[24]=j,e[25]=d,e[26]=u,e[27]=h,e[28]=y):y=e[28];let b;e[29]!==t.series?(b=l.jsxs("div",{className:"grid gap-4 lg:grid-cols-2",children:[l.jsx(se,{legend:"outcome",label:"Model calls",seriesLabel:"Calls",data:t.series}),l.jsx(ne,{label:"Model latency",data:t.series,percentile:"p95"})]}),e[29]=t.series,e[30]=b):b=e[30];let N;e[31]!==t.tool_series||e[32]!==t.totals.tool_count?(N=t.totals.tool_count>0&&l.jsxs("div",{className:"grid gap-4 lg:grid-cols-2",children:[l.jsx(se,{legend:"outcome",label:"Tool calls",seriesLabel:"Calls",data:t.tool_series}),l.jsx(ne,{label:"Tool latency",data:t.tool_series,percentile:"p95"})]}),e[31]=t.tool_series,e[32]=t.totals.tool_count,e[33]=N):N=e[33];let E;e[34]===Symbol.for("react.memo_cache_sentinel")?(E=[{key:"m",header:"Model",cell:it},{key:"trend",hideOnMobile:!0,header:"Trend",cell:rt},{key:"n",header:"Calls",align:"right",cell:at},{key:"f",hideOnMobile:!0,header:"Failed",align:"right",cell:ot},{key:"cut",hideOnMobile:!0,header:"Cut off",align:"right",cell:nt},{key:"att",hideOnMobile:!0,header:"With files",align:"right",cell:st},{key:"in",hideOnMobile:!0,header:"Tokens in",align:"right",cell:lt},{key:"out",hideOnMobile:!0,header:"Tokens out",align:"right",cell:tt},{key:"cached",hideOnMobile:!0,header:"Cached",align:"right",cell:et},{key:"p95",hideOnMobile:!0,header:"p95",align:"right",cell:Ze},{key:"cost",header:"Spend",align:"right",cell:Ye}],e[34]=E):E=e[34];let w;e[35]!==t.models?(w=l.jsx(ee,{rows:t.models,rowKey:ct,empty:oe,columns:E}),e[35]=t.models,e[36]=w):w=e[36];let v;e[37]!==t.tools?(v=t.tools.length>0&&l.jsxs(l.Fragment,{children:[l.jsx("h2",{className:"text-sm font-semibold",children:"Tools"}),l.jsx(ee,{rows:t.tools,rowKey:Xe,empty:Ce,columns:[{key:"t",header:"Tool",cell:Ue},{key:"trend",hideOnMobile:!0,header:"Trend",cell:Qe},{key:"n",header:"Calls",align:"right",cell:Ge},{key:"f",hideOnMobile:!0,header:"Failed",align:"right",cell:Je},{key:"avg",hideOnMobile:!0,header:"Avg",align:"right",cell:He},{key:"p95",header:"p95",align:"right",cell:Ve},{key:"max",hideOnMobile:!0,header:"Max",align:"right",cell:Ie}]})]}),e[37]=t.tools,e[38]=v):v=e[38];let P;e[39]===Symbol.for("react.memo_cache_sentinel")?(P=l.jsx("h2",{className:"text-sm font-semibold",children:"Recent"}),e[39]=P):P=e[39];let q,R;e[40]===Symbol.for("react.memo_cache_sentinel")?(q={key:"model",label:"Model"},R={key:"provider",label:"Provider"},e[40]=q,e[41]=R):(q=e[40],R=e[41]);let W,z;e[42]===Symbol.for("react.memo_cache_sentinel")?(W={key:"operation",label:"Operation",options:["chat","tool","embedding","image","speech","transcription","moderation","rerank","ocr"]},z={key:"workflow",label:"Workflow"},e[42]=W,e[43]=z):(W=e[42],z=e[43]);let A;e[44]===Symbol.for("react.memo_cache_sentinel")?(A={key:"finish",label:"Finish",options:["stop","max_tokens","tool_calls","content_filter"]},e[44]=A):A=e[44];let K;e[45]===Symbol.for("react.memo_cache_sentinel")?(K=[q,R,W,z,A,{key:"attachments",label:"Files",options:["any","image","pdf","audio","video"]}],e[45]=K):K=e[45];let M;e[46]!==a||e[47]!==n||e[48]!==o?(M=k=>le.visit(pe(a,n,{window:o,q:k||void 0}),{preserveState:!0}),e[46]=a,e[47]=n,e[48]=o,e[49]=M):M=e[49];let S;e[50]!==t.q||e[51]!==M?(S=l.jsx(je,{value:t.q,fields:K,onChange:M,placeholder:"model:claude-opus-5 operation:chat"}),e[50]=t.q,e[51]=M,e[52]=S):S=e[52];let O;e[53]!==i?(O={onOpen:(k,Y)=>{const Z=i(k);Z&&(Y?.newTab?globalThis.window.open(Z,"_blank"):le.visit(Z))}},e[53]=i,e[54]=O):O=e[54];let B,I,V,H,J,G,Q;e[55]===Symbol.for("react.memo_cache_sentinel")?(B={key:"when",header:"When",cell:Ke},I={key:"st",header:"Status",cell:Ae},V={key:"what",header:"Call",grow:!0,cell:ze},H={key:"wf",hideOnMobile:!0,header:"Workflow",cell:We},J={key:"tok",hideOnMobile:!0,header:"Tokens",align:"right",cell:Re},G={key:"d",header:"Duration",align:"right",cell:qe},Q={key:"cost",header:"Cost",align:"right",cell:Pe},e[55]=B,e[56]=I,e[57]=V,e[58]=H,e[59]=J,e[60]=G,e[61]=Q):(B=e[55],I=e[56],V=e[57],H=e[58],J=e[59],G=e[60],Q=e[61]);let C;e[62]!==i?(C={key:"in",hideOnMobile:!0,header:"In",cell:k=>{const Y=i(k);return Y?l.jsx(xe,{className:"font-mono text-xs hover:underline",href:Y,children:k.execution_preview}):null}},e[62]=i,e[63]=C):C=e[63];let U;e[64]===Symbol.for("react.memo_cache_sentinel")?(U={key:"content",header:"Detail",align:"right",cell:Ee},e[64]=U):U=e[64];let L;e[65]!==C?(L=[B,I,V,H,J,G,Q,C,U],e[65]=C,e[66]=L):L=e[66];let T;e[67]!==t.recent||e[68]!==O||e[69]!==L?(T=l.jsx(ee,{rows:t.recent,rowKey:Be,empty:oe,keyboardNav:O,columns:L}),e[67]=t.recent,e[68]=O,e[69]=L,e[70]=T):T=e[70];let X;return e[71]!==y||e[72]!==b||e[73]!==N||e[74]!==w||e[75]!==v||e[76]!==S||e[77]!==T?(X=l.jsxs(be,{title:"LLM",children:[c,y,b,N,w,v,P,S,T]}),e[71]=y,e[72]=b,e[73]=N,e[74]=w,e[75]=v,e[76]=S,e[77]=T,e[78]=X):X=e[78],X}function Ee(t){return l.jsx($e,{call:t})}function Pe(t){return t.cost===null&&t.operation!=="tool"&&t.status!=="failed"?l.jsx("span",{className:"text-muted-foreground",title:"No registry pricing",children:"unpriced"}):ue(t.cost)}function qe(t){return F(t.duration)}function Re(t){return t.input_tokens===null&&t.output_tokens===null?l.jsx("span",{className:"text-muted-foreground",children:"–"}):l.jsxs("span",{className:"font-mono text-xs",children:[f(t.input_tokens??0)," / ",f(t.output_tokens??0)]})}function We(t){return t.workflow_name?l.jsxs("span",{className:"text-xs",children:[t.workflow_name,t.workflow_step_name&&l.jsxs("span",{className:"text-muted-foreground",children:[" · ",t.workflow_step_name]})]}):null}function ze(t){return l.jsxs("span",{className:"font-mono text-xs",children:[t.operation==="tool"?t.tool_name:l.jsxs(l.Fragment,{children:[l.jsxs("span",{className:"text-muted-foreground",children:[t.provider,"/"]}),l.jsx("span",{className:"font-semibold",children:t.model})]}),t.error&&l.jsx("span",{className:"text-destructive ml-2",children:t.error}),l.jsx(Le,{reason:t.finish_reason}),l.jsx(Te,{call:t})]})}function Ae(t){return l.jsx(Ne,{status:null,label:t.status==="failed"?"error":t.operation,outcome:t.status==="failed"?"failed":void 0})}function Ke(t){return l.jsx("span",{className:"text-xs",children:we(t.occurred_at)})}function Be(t){return t.id}function Ie(t){return F(t.max)}function Ve(t){return l.jsx("span",{className:"font-semibold",children:F(t.p95)})}function He(t){return F(t.avg)}function Je(t){return l.jsx("span",{className:t.errors?"text-destructive":"",children:te(t.errors,t.count)})}function Ge(t){return f(t.count)}function Qe(t){return l.jsx(de,{data:t.sparkline})}function Ue(t){return l.jsx("span",{className:"font-mono text-xs",children:t.name})}function Xe(t){return t.group_hash}function Ye(t){return l.jsx(me,{cost:t.cost,unpriced:t.unpriced})}function Ze(t){return F(t.p95)}function et(t){return f(t.cache_read_tokens)}function tt(t){return f(t.output_tokens)}function lt(t){return f(t.input_tokens)}function st(t){return t.with_attachments?f(t.with_attachments):l.jsx("span",{className:"text-muted-foreground",children:"–"})}function nt(t){return t.truncated?l.jsx("span",{className:"text-destructive",title:"Answers stopped at the output token limit",children:te(t.truncated,t.count)}):l.jsx("span",{className:"text-muted-foreground",children:"–"})}function ot(t){return l.jsx("span",{className:t.errors?"text-destructive":"",children:te(t.errors,t.count)})}function at(t){return f(t.count)}function rt(t){return l.jsx(de,{data:t.sparkline})}function it(t){return l.jsx("span",{className:"font-mono text-xs",children:t.name})}function ct(t){return t.group_hash}export{wt as default};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{c as ee,u as oe,j as s,d as ie,E as te,L as ae,f as re,r as ce,o as me}from"./inertia-
|
|
1
|
+
import{c as ee,u as oe,j as s,d as ie,E as te,L as ae,f as re,r as ce,o as me}from"./inertia-b7M33AzA.js";import{C as fe}from"./cursor-load-more-CleS4nD4.js";import{D as de}from"./data-table-Bzj8zcao.js";import{S as he,E as ue,a0 as ge}from"./app-layout-CpEbDy93.js";import{p as Z,F as xe,s as se}from"./filter-bar-B5wbix1y.js";import{P as pe,E as be}from"./env-layout-Dic4A8Kn.js";import{a as le,S as ve}from"./segmented-CJq8WOHZ.js";import{L as ye}from"./status-badge-D40D8TiV.js";import{c as ne,w as je}from"./format-B9SDkrWj.js";import"./chart-hover-B5cFOZ24.js";import"./use-live-rp6jfGac.js";const ke="",_e=160;function we(t){const e=ee.c(18),{message:a,highlight:i,tags:n}=t,[o,m]=ce.useState(!1);let d,c;e[0]!==a||e[1]!==o?(d=a.length>_e||a.includes(`
|
|
2
2
|
`),c=me("font-mono text-xs break-all whitespace-pre-wrap",d&&!o&&"line-clamp-3"),e[0]=a,e[1]=o,e[2]=d,e[3]=c):(d=e[2],c=e[3]);let f;e[4]!==i||e[5]!==a?(f=i?s.jsx(Se,{text:i}):a,e[4]=i,e[5]=a,e[6]=f):f=e[6];let h;e[7]!==n?(h=n.length>0&&s.jsxs("span",{className:"text-muted-foreground",children:[" [",n.join(", "),"]"]}),e[7]=n,e[8]=h):h=e[8];let u;e[9]!==c||e[10]!==f||e[11]!==h?(u=s.jsxs("span",{className:c,children:[f,h]}),e[9]=c,e[10]=f,e[11]=h,e[12]=u):u=e[12];const r=u;if(!d)return r;let g;e[13]===Symbol.for("react.memo_cache_sentinel")?(g=()=>m(qe),e[13]=g):g=e[13];const p=o?"Collapse":"Expand";let x;return e[14]!==r||e[15]!==o||e[16]!==p?(x=s.jsx("button",{type:"button",onClick:g,"aria-expanded":o,className:"block w-full cursor-pointer text-left",title:p,children:r}),e[14]=r,e[15]=o,e[16]=p,e[17]=x):x=e[17],x}function qe(t){return!t}function Se(t){const e=ee.c(4),{text:a}=t;let i;e[0]!==a?(i=a.split(ke).map(Le),e[0]=a,e[1]=i):i=e[1];let n;return e[2]!==i?(n=s.jsx(s.Fragment,{children:i}),e[2]=i,e[3]=n):n=e[3],n}function Le(t,e){return e%2===1?s.jsx("mark",{className:"fts-mark",children:t},e):s.jsx("span",{children:t},e)}function Ke(t){const e=ee.c(81),{environment:a,window:i,range:n}=oe().props,o=a.application_id,m=a.id;let d;e[0]!==n?.from||e[1]!==n?.to||e[2]!==i?(d=i==="custom"?{from:n?.from,to:n?.to}:{window:i},e[0]=n?.from,e[1]=n?.to,e[2]=i,e[3]=d):d=e[3];const c=d;let f;e[4]!==n||e[5]!==c?(f=n?{from:n.from,to:n.to}:c,e[4]=n,e[5]=c,e[6]=f):f=e[6];const h=f;let u;e[7]!==o||e[8]!==m||e[9]!==c?(u=l=>ie.visit(te(o,m,{...c,q:l||void 0}),{only:["logs","pagination","highlights","counts","q"],preserveState:!0,preserveScroll:!0,reset:["logs","highlights"]}),e[7]=o,e[8]=m,e[9]=c,e[10]=u):u=e[10];const r=u;let g;e[11]!==o||e[12]!==h||e[13]!==m||e[14]!==t.pagination.limit||e[15]!==t.q?(g=l=>te(o,m,{...h,q:t.q||void 0,cursor:l,limit:t.pagination.limit}),e[11]=o,e[12]=h,e[13]=m,e[14]=t.pagination.limit,e[15]=t.q,e[16]=g):g=e[16];const p=g;let x;e[17]!==t.q?(x=Z(t.q),e[17]=t.q,e[18]=x):x=e[18];const R=x.fields.level;let T;e[19]!==t.q||e[20]!==r?(T=l=>{const F=Z(t.q),Y={...F.fields};l?Y.level=l:delete Y.level,r(se({text:F.text,fields:Y}))},e[19]=t.q,e[20]=r,e[21]=T):T=e[21];const b=T;let A;e[22]===Symbol.for("react.memo_cache_sentinel")?(A=s.jsx(pe,{title:"Logs",description:"Rails.logger lines and Rails.event structured events, linked to the request or job that wrote them.",actions:s.jsx(he,{page:"logs"})}),e[22]=A):A=e[22];const Q=!R;let v;e[23]!==b?(v=()=>b(void 0),e[23]=b,e[24]=v):v=e[24];let y;e[25]!==Q||e[26]!==v?(y=s.jsx(le,{active:Q,onClick:v,children:"All"}),e[25]=Q,e[26]=v,e[27]=y):y=e[27];let B;e[28]===Symbol.for("react.memo_cache_sentinel")?(B=["debug","info","warn","error","fatal","event"],e[28]=B):B=e[28];let j;e[29]!==R||e[30]!==t.counts||e[31]!==b?(j=B.map(l=>s.jsxs(le,{active:R===l,onClick:()=>b(l),className:"gap-1.5",children:[l,s.jsx("span",{className:"opacity-60",children:ne(t.counts[l]??0)})]},l)),e[29]=R,e[30]=t.counts,e[31]=b,e[32]=j):j=e[32];let k;e[33]!==j||e[34]!==y?(k=s.jsx("div",{className:"-mx-3 [scrollbar-width:none] overflow-x-auto px-3 md:mx-0 md:px-0 [&::-webkit-scrollbar]:hidden",children:s.jsxs(ve,{className:"w-max",children:[y,j]})}),e[33]=j,e[34]=y,e[35]=k):k=e[35];let D,O,$,I;e[36]===Symbol.for("react.memo_cache_sentinel")?(D={key:"after",label:"After"},O={key:"before",label:"Before"},$={key:"user",label:"User"},I={key:"deploy",label:"Deploy"},e[36]=D,e[37]=O,e[38]=$,e[39]=I):(D=e[36],O=e[37],$=e[38],I=e[39]);let K;e[40]===Symbol.for("react.memo_cache_sentinel")?(K={key:"level",label:"Level",options:["debug","info","warn","error","fatal","event","unknown"]},e[40]=K):K=e[40];let z;e[41]===Symbol.for("react.memo_cache_sentinel")?(z=[D,O,$,I,K,{key:"kind",label:"Execution kind",options:["request","job","scheduled_task","command"]},{key:"source",label:"Source"},{key:"tenant",label:"Tenant"}],e[41]=z):z=e[41];let _;e[42]!==t.q||e[43]!==r?(_=s.jsx(xe,{value:t.q,fields:z,onChange:r,placeholder:"level:error kind:job source:app/jobs/sync_job.rb:12"}),e[42]=t.q,e[43]=r,e[44]=_):_=e[44];let w;e[45]!==t.logs.length?(w=ne(t.logs.length),e[45]=t.logs.length,e[46]=w):w=e[46];const X=t.logs.length===1?"line":"lines";let q;e[47]!==w||e[48]!==X?(q=s.jsxs("span",{className:"font-mono tabular-nums",children:[w," ",X]}),e[47]=w,e[48]=X,e[49]=q):q=e[49];let H;e[50]===Symbol.for("react.memo_cache_sentinel")?(H=s.jsx("span",{children:"Full-text search: quotes for phrases, -word to exclude, prefixes match"}),e[50]=H):H=e[50];let S;e[51]!==q?(S=s.jsxs("div",{className:"text-muted-foreground flex flex-wrap items-baseline gap-x-3 gap-y-1 text-xs",children:[q,H]}),e[51]=q,e[52]=S):S=e[52];let U,V,W;e[53]===Symbol.for("react.memo_cache_sentinel")?(U=s.jsx(ue,{icon:ge,title:"No log lines match",signal:"caution",description:"Log lines are captured from your app's Rails logger."}),V={key:"when",header:"When",className:"w-40",cell:Ee},W={key:"lvl",header:"Level",cell:Ne},e[53]=U,e[54]=V,e[55]=W):(U=e[53],V=e[54],W=e[55]);let L;e[56]!==t.highlights?(L={key:"msg",header:"Message",grow:!0,className:"whitespace-normal",cell:l=>s.jsx(we,{message:l.message,highlight:t.highlights[l.id],tags:l.tags})},e[56]=t.highlights,e[57]=L):L=e[57];let N;e[58]!==o||e[59]!==m?(N={key:"in",hideOnMobile:!0,header:"In",cell:l=>l.execution_id?s.jsx(ae,{className:"font-mono text-xs hover:underline",href:re(o,m,l.execution_id),children:l.execution_preview}):null},e[58]=o,e[59]=m,e[60]=N):N=e[60];let E;e[61]!==t.q||e[62]!==r?(E={key:"t",hideOnMobile:!0,header:"Tenant",cell:l=>l.tenant?s.jsx("button",{className:"font-mono text-xs hover:underline",onClick:()=>{const F=Z(t.q);r(se({text:F.text,fields:{...F.fields,tenant:l.tenant}}))},children:l.tenant}):null},e[61]=t.q,e[62]=r,e[63]=E):E=e[63];let C;e[64]!==L||e[65]!==N||e[66]!==E?(C=[V,W,L,N,E],e[64]=L,e[65]=N,e[66]=E,e[67]=C):C=e[67];let P;e[68]!==t.logs||e[69]!==C?(P=s.jsx(de,{rows:t.logs,rowKey:Ce,empty:U,columns:C}),e[68]=t.logs,e[69]=C,e[70]=P):P=e[70];let G;e[71]===Symbol.for("react.memo_cache_sentinel")?(G=["logs","pagination","highlights"],e[71]=G):G=e[71];let M;e[72]!==p||e[73]!==t.pagination?(M=s.jsx(fe,{meta:t.pagination,href:p,only:G}),e[72]=p,e[73]=t.pagination,e[74]=M):M=e[74];let J;return e[75]!==k||e[76]!==_||e[77]!==S||e[78]!==P||e[79]!==M?(J=s.jsxs(be,{title:"Logs",children:[A,k,_,S,P,M]}),e[75]=k,e[76]=_,e[77]=S,e[78]=P,e[79]=M,e[80]=J):J=e[80],J}function Ne(t){return s.jsx(ye,{level:t.level})}function Ee(t){return s.jsx("span",{className:"text-xs tabular-nums",children:je(t.occurred_at)})}function Ce(t){return t.id}export{Ke as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as w,u as v,j as n,h as E,d as b}from"./inertia-
|
|
1
|
+
import{c as w,u as v,j as n,h as E,d as b}from"./inertia-b7M33AzA.js";import{D as k}from"./data-table-Bzj8zcao.js";import{E as N,T as S}from"./app-layout-CpEbDy93.js";import{P as C,E as M}from"./env-layout-Dic4A8Kn.js";import{S as O}from"./status-badge-D40D8TiV.js";import{c as R,m as y,w as P}from"./format-B9SDkrWj.js";import"./chart-hover-B5cFOZ24.js";import"./use-live-rp6jfGac.js";import"./segmented-CJq8WOHZ.js";function te(t){const e=w.c(20),{environment:g}=v().props,x=g.application_id,_=g.id;let m;e[0]!==x||e[1]!==_?(m=a=>E(x,_,a.execution_id),e[0]=x,e[1]=_,e[2]=m):m=e[2];const l=m;let c;e[3]===Symbol.for("react.memo_cache_sentinel")?(c=n.jsx(C,{title:"Commands",description:"Rake tasks and rails runner executions."}),e[3]=c):c=e[3];let u,d;e[4]===Symbol.for("react.memo_cache_sentinel")?(u=n.jsx(N,{icon:S,title:"No commands ran in this window",description:"rails runner and console executions reported by the gem appear here."}),d=[{key:"n",header:"Command",cell:F},{key:"c",header:"Runs",align:"right",cell:q},{key:"f",hideOnMobile:!0,header:"Non-zero exit",align:"right",cell:$},{key:"avg",hideOnMobile:!0,header:"Avg",align:"right",cell:W},{key:"max",hideOnMobile:!0,header:"Max",align:"right",cell:L}],e[4]=u,e[5]=d):(u=e[4],d=e[5]);let r;e[6]!==t.commands?(r=n.jsx(k,{rows:t.commands,rowKey:G,empty:u,columns:d}),e[6]=t.commands,e[7]=r):r=e[7];let p;e[8]===Symbol.for("react.memo_cache_sentinel")?(p=n.jsx("h2",{className:"text-sm font-semibold",children:"Recent runs"}),e[8]=p):p=e[8];let o,s;e[9]!==l?(o=a=>b.visit(l(a)),s={onOpen:(a,j)=>j?.newTab?window.open(l(a),"_blank"):b.visit(l(a))},e[9]=l,e[10]=o,e[11]=s):(o=e[10],s=e[11]);let h;e[12]===Symbol.for("react.memo_cache_sentinel")?(h=[{key:"when",header:"When",cell:A},{key:"n",header:"Command",cell:z},{key:"x",hideOnMobile:!0,header:"Exit",cell:K},{key:"d",header:"Duration",align:"right",cell:H},{key:"s",hideOnMobile:!0,header:"Server",cell:D},{key:"ex",hideOnMobile:!0,header:"Exception",cell:T}],e[12]=h):h=e[12];let i;e[13]!==t.runs||e[14]!==o||e[15]!==s?(i=n.jsx(k,{rows:t.runs,rowKey:B,onRowClick:o,keyboardNav:s,columns:h}),e[13]=t.runs,e[14]=o,e[15]=s,e[16]=i):i=e[16];let f;return e[17]!==r||e[18]!==i?(f=n.jsxs(M,{title:"Commands",children:[c,r,p,i]}),e[17]=r,e[18]=i,e[19]=f):f=e[19],f}function T(t){return n.jsx("span",{className:"text-destructive line-clamp-1 text-xs",children:t.exception_preview??""})}function D(t){return n.jsx("span",{className:"font-mono text-xs",children:t.server})}function H(t){return y(t.duration)}function K(t){return n.jsx(O,{label:String(t.status??"?"),outcome:t.status?"failed":"processed"})}function z(t){return n.jsx("span",{className:"font-mono text-xs",children:t.name})}function A(t){return n.jsx("span",{className:"text-xs",children:P(t.occurred_at)})}function B(t){return t.execution_id}function L(t){return y(t.max)}function W(t){return y(t.avg)}function $(t){return t.errors}function q(t){return R(t.count)}function F(t){return n.jsx("span",{className:"font-mono text-xs",children:t.name})}function G(t){return t.group_hash}export{te as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as M,u as T,j as i,L as N,p as O}from"./inertia-
|
|
1
|
+
import{c as M,u as T,j as i,L as N,p as O}from"./inertia-b7M33AzA.js";import{D as $}from"./data-table-Bzj8zcao.js";import{E as D,a7 as F}from"./app-layout-CpEbDy93.js";import{P as H,E as I}from"./env-layout-Dic4A8Kn.js";import{R as C}from"./relative-time-CJX4HXBB.js";import{S as R,a as K}from"./stat-nY8iS5q9.js";import{c as d,p as W,m as q}from"./format-B9SDkrWj.js";import"./chart-hover-B5cFOZ24.js";import"./use-live-rp6jfGac.js";import"./segmented-CJq8WOHZ.js";import"./arrow-up-DAODKT5N.js";function re(l){const e=M.c(40),{environment:A,window:b}=T().props,S=A.application_id,k=A.id,t=l.summary;let h;e[0]===Symbol.for("react.memo_cache_sentinel")?(h=i.jsx(H,{title:"Profiles",description:"Sampled stack profiles, grouped by the execution they profiled."}),e[0]=h):h=e[0];let s;e[1]!==t.profiles?(s=d(t.profiles),e[1]=t.profiles,e[2]=s):s=e[2];let o;e[3]!==s?(o=i.jsx(R,{label:"Profiles",value:s}),e[3]=s,e[4]=o):o=e[4];let r;e[5]!==t.executions||e[6]!==t.profiled?(r=W(t.profiled,t.executions),e[5]=t.executions,e[6]=t.profiled,e[7]=r):r=e[7];let x;e[8]!==t.profiled?(x=d(t.profiled),e[8]=t.profiled,e[9]=x):x=e[9];let _;e[10]!==t.executions?(_=d(t.executions),e[10]=t.executions,e[11]=_):_=e[11];const w=`${x} of ${_}`;let a;e[12]!==r||e[13]!==w?(a=i.jsx(R,{label:"Executions profiled",value:r,hint:w}),e[12]=r,e[13]=w,e[14]=a):a=e[14];let n;e[15]!==t.avg_samples?(n=d(t.avg_samples),e[15]=t.avg_samples,e[16]=n):n=e[16];let p;e[17]!==n?(p=i.jsx(R,{label:"Avg samples",value:n}),e[17]=n,e[18]=p):p=e[18];let f;e[19]!==o||e[20]!==a||e[21]!==p?(f=i.jsxs(K,{children:[o,a,p]}),e[19]=o,e[20]=a,e[21]=p,e[22]=f):f=e[22];let g;e[23]===Symbol.for("react.memo_cache_sentinel")?(g=i.jsx(D,{icon:F,title:"No profiles in this window",description:"Set RAILWATCH_PROFILE_SAMPLE_RATE in the app to profile slow executions."}),e[23]=g):g=e[23];let m;e[24]!==S||e[25]!==k||e[26]!==b?(m={key:"name",header:"Execution",className:"max-w-0",cell:L=>i.jsx(N,{href:O(S,k,L.profile_id,{window:b}),className:"block truncate font-mono text-xs hover:underline",children:L.name??L.group_hash})},e[24]=S,e[25]=k,e[26]=b,e[27]=m):m=e[27];let v,y,j,E;e[28]===Symbol.for("react.memo_cache_sentinel")?(v={key:"n",header:"Profiles",align:"right",cell:J},y={key:"avg",header:"Avg duration",align:"right",cell:G},j={key:"samples",hideOnMobile:!0,header:"Max samples",align:"right",cell:B},E={key:"last",hideOnMobile:!0,header:"Last seen",align:"right",cell:z},e[28]=v,e[29]=y,e[30]=j,e[31]=E):(v=e[28],y=e[29],j=e[30],E=e[31]);let c;e[32]!==m?(c=[m,v,y,j,E],e[32]=m,e[33]=c):c=e[33];let u;e[34]!==l.profiles||e[35]!==c?(u=i.jsx($,{rows:l.profiles,rowKey:Q,empty:g,columns:c}),e[34]=l.profiles,e[35]=c,e[36]=u):u=e[36];let P;return e[37]!==f||e[38]!==u?(P=i.jsxs(I,{title:"Profiles",children:[h,f,u]}),e[37]=f,e[38]=u,e[39]=P):P=e[39],P}function z(l){return i.jsx(C,{iso:l.last_seen_at})}function B(l){return d(l.max_samples)}function G(l){return q(l.avg_duration)}function J(l){return d(l.count)}function Q(l){return l.group_hash}export{re as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as I,u as z,j as i,f as J,d as V,G as Q,L as U}from"./inertia-
|
|
1
|
+
import{c as I,u as z,j as i,f as J,d as V,G as Q,L as U}from"./inertia-b7M33AzA.js";import{V as X}from"./chart-panel-XD8qJDmg.js";import{D as H}from"./data-table-Bzj8zcao.js";import{E as W,a1 as G,B as Y}from"./app-layout-CpEbDy93.js";import{F as Z}from"./filter-bar-B5wbix1y.js";import{P as ee,E as te}from"./env-layout-Dic4A8Kn.js";import{u as ie,P as le}from"./percentile-picker-BYFo11OE.js";import{S as re}from"./sparkline-cell-C7fhjJby.js";import{m as F,c as ne,w as ae}from"./format-B9SDkrWj.js";import"./series-chart-FBOfRLhK.js";import"./chart-hover-B5cFOZ24.js";import"./chart-CD6EHDjG.js";import"./use-live-rp6jfGac.js";import"./segmented-CJq8WOHZ.js";function Be(t){const e=I.c(51),{environment:K,window:R}=z().props,{percentile:r}=ie(),n=K.application_id,a=K.id;let y;e[0]!==n||e[1]!==a?(y=l=>l.execution_id?J(n,a,l.execution_id):null,e[0]=n,e[1]=a,e[2]=y):y=e[2];const s=y;let _;e[3]===Symbol.for("react.memo_cache_sentinel")?(_=i.jsx(ee,{title:"Mail",description:"Action Mailer deliveries: recipients, delivery method, render and send time.",actions:i.jsx(le,{})}),e[3]=_):_=e[3];let o;e[4]!==t.series?(o=i.jsx(X,{legend:"outcome",label:"Deliveries",seriesLabel:"Deliveries",data:t.series}),e[4]=t.series,e[5]=o):o=e[5];let b,g,k,v,j,M;e[6]===Symbol.for("react.memo_cache_sentinel")?(b=i.jsx(W,{icon:G,title:"No mail sent in this window",description:"ActionMailer deliveries appear here as your app sends them."}),g={key:"m",header:"Mailer",cell:ge},k={key:"trend",hideOnMobile:!0,header:"Trend",cell:be},v={key:"n",header:"Sent",align:"right",cell:_e},j={key:"f",hideOnMobile:!0,header:"Failed",align:"right",cell:ye},M={key:"avg",hideOnMobile:!0,header:"Avg",align:"right",cell:xe},e[6]=b,e[7]=g,e[8]=k,e[9]=v,e[10]=j,e[11]=M):(b=e[6],g=e[7],k=e[8],v=e[9],j=e[10],M=e[11]);let c;e[12]!==r?(c=l=>i.jsx("span",{className:"font-semibold",children:F(l[r])}),e[12]=r,e[13]=c):c=e[13];let m;e[14]!==r||e[15]!==c?(m=[g,k,v,j,M,{key:r,header:r,align:"right",cell:c}],e[14]=r,e[15]=c,e[16]=m):m=e[16];let d;e[17]!==t.mailers||e[18]!==m?(d=i.jsx(H,{rows:t.mailers,rowKey:ke,empty:b,columns:m}),e[17]=t.mailers,e[18]=m,e[19]=d):d=e[19];let w;e[20]===Symbol.for("react.memo_cache_sentinel")?(w=i.jsx("h2",{className:"text-sm font-semibold",children:"Recent"}),e[20]=w):w=e[20];let S;e[21]===Symbol.for("react.memo_cache_sentinel")?(S=[{key:"mailer",label:"Mailer"},{key:"kind",label:"Kind"}],e[21]=S):S=e[21];let u;e[22]!==n||e[23]!==a||e[24]!==R?(u=l=>V.visit(Q(n,a,{window:R,q:l||void 0}),{preserveState:!0}),e[22]=n,e[23]=a,e[24]=R,e[25]=u):u=e[25];let h;e[26]!==t.q||e[27]!==u?(h=i.jsx(Z,{value:t.q,fields:S,onChange:u,placeholder:"mailer:WidgetMailer kind:smtp"}),e[26]=t.q,e[27]=u,e[28]=h):h=e[28];let N;e[29]===Symbol.for("react.memo_cache_sentinel")?(N=i.jsx(W,{icon:G,title:"No mail sent in this window",description:"ActionMailer deliveries appear here as your app sends them."}),e[29]=N):N=e[29];let f;e[30]!==s?(f={onOpen:(l,L)=>{const $=s(l);$&&(L?.newTab?globalThis.window.open($,"_blank"):V.visit($))}},e[30]=s,e[31]=f):f=e[31];let P,O,E,C,q,A,D,T;e[32]===Symbol.for("react.memo_cache_sentinel")?(P={key:"when",header:"When",cell:fe},O={key:"m",header:"Mailer",cell:he},E={key:"s",header:"Subject",cell:ue},C={key:"to",hideOnMobile:!0,header:"To/CC/BCC",align:"right",cell:de},q={key:"att",hideOnMobile:!0,header:"Att.",align:"right",cell:me},A={key:"dm",hideOnMobile:!0,header:"Via",cell:ce},D={key:"st",header:"",cell:oe},T={key:"d",hideOnMobile:!0,header:"Duration",align:"right",cell:se},e[32]=P,e[33]=O,e[34]=E,e[35]=C,e[36]=q,e[37]=A,e[38]=D,e[39]=T):(P=e[32],O=e[33],E=e[34],C=e[35],q=e[36],A=e[37],D=e[38],T=e[39]);let p;e[40]!==s?(p=[P,O,E,C,q,A,D,T,{key:"in",hideOnMobile:!0,header:"In",cell:l=>{const L=s(l);return L?i.jsx(U,{className:"font-mono text-xs hover:underline",href:L,children:l.execution_preview}):null}}],e[40]=s,e[41]=p):p=e[41];let x;e[42]!==t.recent||e[43]!==f||e[44]!==p?(x=i.jsx(H,{rows:t.recent,rowKey:pe,empty:N,keyboardNav:f,columns:p}),e[42]=t.recent,e[43]=f,e[44]=p,e[45]=x):x=e[45];let B;return e[46]!==d||e[47]!==h||e[48]!==o||e[49]!==x?(B=i.jsxs(te,{title:"Mail",children:[_,o,d,w,h,x]}),e[46]=d,e[47]=h,e[48]=o,e[49]=x,e[50]=B):B=e[50],B}function se(t){return F(t.duration)}function oe(t){return t.failed?i.jsx(Y,{variant:"destructive",children:"failed"}):null}function ce(t){return t.delivery_method}function me(t){return t.attachments}function de(t){return`${t.to}/${t.cc}/${t.bcc}`}function ue(t){return i.jsx("span",{className:"line-clamp-1 text-xs",children:t.subject})}function he(t){return i.jsx("span",{className:"font-mono text-xs",children:t.mailer})}function fe(t){return i.jsx("span",{className:"text-xs",children:ae(t.occurred_at)})}function pe(t){return t.id}function xe(t){return F(t.avg)}function ye(t){return t.errors}function _e(t){return ne(t.count)}function be(t){return i.jsx(re,{data:t.sparkline})}function ge(t){return i.jsx("span",{className:"font-mono text-xs",children:t.name})}function ke(t){return t.group_hash}export{Be as default};
|