PageSourceSearch

https://app.diffie.ai/_nuxt/DrbZkGCV.js

js diffie.ai collected 2026-10-05 13:37:49 UTC 5,883 bytes, 1 lines download raw bytes

1import{d as O,u as W,c as n,y as q,z as G,E as K,L as P,r as j,b as r,o as i,i as e,j as l,h as d,s as Q,m as X,g as s,l as Y,t as m,e as Z,f as x}from"./DdfYuB-h.js";import{_ as ee}from"./hx3azVNE.js";import{_ as te}from"./BrMeR1dl.js";import{_ as se}from"./vENxfOZR.js";import{_ as oe}from"./-ImsbhSx.js";import{g as ne,c as ae,_ as ie}from"./D5YTaB1p.js";import{_ as le}from"./BSckO2L_.js";import{u as re}from"./3osww2PH.js";import{a as ue}from"./CyU1qwor.js";import"./DjG8ynho.js";import"./CsxLFfQY.js";import"./CxHoJplP.js";import"./C3xXIF-K.js";import"./jFYhBC76.js";import"./CZs3Y4Mx.js";import"./BXv3ekyS.js";import"./CHuFx6ww.js";import"./BVnM2CLD.js";import"./C-qF5koq.js";import"./Cnsj_ovX.js";import"./CgCLZeh6.js";import"./BcM-ldoR.js";import"./UrPMyAnB.js";import"./x_rD_Ya3.js";import"./DlAUqK2U.js";const de={class:"min-h-screen bg-default"},me={class:"border-b border-default bg-elevated"},ce={class:"max-w-7xl mx-auto px-4 sm:px-6 py-4 flex items-center justify-between"},pe={class:"flex items-center gap-3"},_e={key:0,class:"flex items-center justify-center py-24"},fe={key:1,class:"max-w-2xl mx-auto px-4 py-16 text-center"},xe={key:2,class:"max-w-7xl mx-auto px-4 sm:px-6 py-6"},ve={class:"mb-6"},ge={class:"text-2xl font-semibold"},he={class:"grid grid-cols-1 lg:grid-cols-5 gap-6"},ye={class:"lg:col-span-2 space-y-4"},be={class:"rounded-lg border border-default overflow-hidden"},we={class:"p-3 flex items-center justify-between gap-4"},ke={class:"flex items-center gap-2.5"},Re={key:0,class:"text-sm font-medium"},Se={class:"flex items-center gap-4 text-sm text-[var(--ui-text-muted)]"},Te={key:0},$e={class:"px-3 py-3"},De={class:"leading-relaxed"},Ce={key:1},je={class:"px-3 py-3 bg-error/5"},Ae={class:"text-xs text-highlighted whitespace-pre-wrap break-words font-mono max-h-60 overflow-y-auto"},Ue={class:"lg:col-span-3 space-y-6"},Be={key:1,class:"aspect-video bg-muted/30 rounded-lg flex items-center justify-center"},Le={class:"text-center space-y-3"},rt=O({__name:"[id]",async setup(Ne){let c,y;const b=W().params.id,w=n(()=>q(G().public.apiUrl)),{data:k,error:A,status:U}=([c,y]=K(()=>re(`public-run-${b}`,()=>$fetch(`${w.value}/public/runs/${b}`))),c=await c,y(),c);P({title:n(()=>`${k.value?.test?.name||"Test Run"} — Diffie`)});const o=n(()=>k.value),p=n(()=>o.value?.started_at?new Date(o.value.started_at):null),R=n(()=>o.value?.completed_at?new Date(o.value.completed_at):null),B=n(()=>{if(!(!p.value||!R.value))return R.value.getTime()-p.value.getTime()}),S=n(()=>o.value?.execution_logs||[]),v=n(()=>o.value?.result?.summary),T=n(()=>{const a=o.value?.error_message;return o.value?.status!=="failed"||!a||a===v.value?null:a}),u=n(()=>ne(o.value?.recording,w.value)),L=n(()=>!!u.value);function N(a){if(!a)return"N/A";const t=Math.floor(a/1e3),_=Math.floor(t/60),f=t%60;return _>0?`${_}m ${f}s`:`${f}s`}const $=j(),{width:E}=ue($),D=n(()=>Math.max(E.value,400)),M=n(()=>D.value*.75),V=n(()=>ae(u.value)&&S.value.some(a=>a.time)),g=j();function z(a){if(!g.value?.gotoAbsolute)return;const t=typeof a=="string"?new Date(a).getTime():a;g.value.gotoAbsolute(t,!1)}return(a,t)=>{const _=Q,f=X,h=Y,F=ee,H=te,I=se,C=oe,J=ie;return i(),r("div",de,[e("header",me,[e("div",ce,[e("div",pe,[l(_,{to:"/",class:"flex items-center gap-2"},{default:d(()=>t[0]||(t[0]=[e("img",{src:le,alt:"Diffie",class:"w-7 h-7"},null,-1),e("span",{class:"font-semibold text-lg"},"Diffie",-1)])),_:1,__:[0]}),t[1]||(t[1]=e("span",{class:"text-muted"},"/",-1)),t[2]||(t[2]=e("span",{class:"text-sm text-muted"},"Test Run",-1))]),l(f,{to:"/login",label:"Sign in",color:"neutral",variant:"ghost",size:"sm"})])]),s(U)==="pending"?(i(),r("div",_e,[l(h,{name:"i-lucide-loader-2",class:"w-8 h-8 animate-spin"})])):s(A)||!s(o)?(i(),r("div",fe,[l(h,{name:"i-lucide-file-x",class:"w-12 h-12 mx-auto mb-4 text-muted-foreground/50"}),t[3]||(t[3]=e("h1",{class:"text-xl font-semibold mb-2"},"Run not found",-1)),t[4]||(t[4]=e("p",{class:"text-muted"},"This test run doesn't exist or the link is incorrect.",-1))])):(i(),r("main",xe,[e("div",ve,[e("h1",ge,m(s(o).test?.name||"Unknown Test"),1)]),e("div",he,[e("div",ye,[e("div",be,[e("div",we,[e("div",ke,[l(F,{status:s(o).status}
1,null,8,["status"]),s(p)?(i(),r("span",Re,m(s(p).toLocaleString(void 0,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})),1)):x("",!0)]),e("div",Se,[e("span",null,m(N(s(B))),1)])]),s(v)?(i(),r("div",Te,[t[5]||(t[5]=e("div",{class:"border-t border-default"},null,-1)),e("div",$e,[e("p",De,m(s(v)),1)])])):x("",!0),s(T)?(i(),r("div",Ce,[t[7]||(t[7]=e("div",{class:"border-t border-default"},null,-1)),e("div",je,[t[6]||(t[6]=e("p",{class:"text-xs font-medium text-error mb-1"},"Failure reason",-1)),e("pre",Ae,m(s(T)),1)])])):x("",!0)]),l(H,{logs:s(S),"is-running":!1,"can-seek":s(V),onSeekToTimestamp:z},null,8,["logs","can-seek"]),s(o).result&&Object.keys(s(o).result).length>0?(i(),Z(C,{key:0,ui:{body:"p-2 max-h-100 overflow-y-auto"}},{header:d(()=>t[8]||(t[8]=[e("h3",{class:"text-lg font-semibold"},"Result",-1)])),default:d(()=>[l(I,{obj:s(o).result},null,8,["obj"])]),_:1})):x("",!0)]),e("div",Ue,[l(C,null,{header:d(()=>t[9]||(t[9]=[e("h3",{class:"text-lg font-semibold"},"Session Replay",-1)])),default:d(()=>[s(L)&&s(u)?(i(),r("div",{key:0,ref_key:"sessionReplayContainer",ref:$,class:"w-full"},[l(J,{ref_key:"sessionReplayRef",ref:g,width:s(D),height:s(M),"events-url":s(u).eventsUrl,"video-url":s(u).videoUrl,"video-started-at-ms":s(u).startedAtMs,"auto-play":!1},null,8,["width","height","events-url","video-url","video-started-at-ms"])],512)):(i(),r("div",Be,[e("div",Le,[l(h,{name:"i-lucide-video-off",class:"w-8 h-8 mx-auto text-muted-foreground"}),t[10]||(t[10]=e("div",null,[e("h4",{class:"font-medium"},"Replay not available"),e("p",{class:"text-sm text-muted-foreground"}," The recording hasn't been processed yet. ")],-1))])]))]),_:1})])])]))])}}});export{rt as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.