@straiffi/archon 1.4.5 → 1.4.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/assets/{TestsDialog-DBpAoUrD.js → TestsDialog-Vy9cdwzA.js} +1 -1
- package/dist/client/assets/{architectureDiagram-3BPJPVTR-DRYE7rYk.js → architectureDiagram-3BPJPVTR-B0ybRTUn.js} +1 -1
- package/dist/client/assets/{blockDiagram-GPEHLZMM-CiIia-is.js → blockDiagram-GPEHLZMM-DrrQouTh.js} +1 -1
- package/dist/client/assets/{c4Diagram-AAUBKEIU-DJyt0ST1.js → c4Diagram-AAUBKEIU-BJdqjAbL.js} +1 -1
- package/dist/client/assets/channel-B3iXJSit.js +1 -0
- package/dist/client/assets/{chunk-2J33WTMH-4rs3kEGJ.js → chunk-2J33WTMH-Dh6TqsDY.js} +1 -1
- package/dist/client/assets/{chunk-3OPIFGDE-Blil6LY6.js → chunk-3OPIFGDE-BI6L9trS.js} +1 -1
- package/dist/client/assets/{chunk-5ZQYHXKU-B3BKPXu9.js → chunk-5ZQYHXKU-mt5W2CGF.js} +1 -1
- package/dist/client/assets/{chunk-727SXJPM-BPiJw3ok.js → chunk-727SXJPM-D7IvpFAq.js} +1 -1
- package/dist/client/assets/{chunk-AQP2D5EJ-CirmqnqC.js → chunk-AQP2D5EJ-CjusndWN.js} +1 -1
- package/dist/client/assets/{chunk-CSCIHK7Q-BBSFAnRU.js → chunk-CSCIHK7Q-BmXd8_5X.js} +1 -1
- package/dist/client/assets/{chunk-KSCS5N6A-BS7Xc7LK.js → chunk-KSCS5N6A-DJIqk8ji.js} +1 -1
- package/dist/client/assets/{chunk-L5ZTLDWV-Dv6J9uY7.js → chunk-L5ZTLDWV-CRVFCsvJ.js} +1 -1
- package/dist/client/assets/{chunk-LZXEDZCA-Cmf0q0yS.js → chunk-LZXEDZCA-CRla8IXQ.js} +2 -2
- package/dist/client/assets/{chunk-ND2GUHAM-CDlohAWH.js → chunk-ND2GUHAM-BYAb7NsA.js} +1 -1
- package/dist/client/assets/{chunk-NZK2D7GU-CxSkoT2Y.js → chunk-NZK2D7GU-DUI0mwZm.js} +1 -1
- package/dist/client/assets/{chunk-O5CBEL6O-BXd2x_kB.js → chunk-O5CBEL6O-BX5VWTmZ.js} +1 -1
- package/dist/client/assets/{chunk-WU5MYG2G-9_1BRED1.js → chunk-WU5MYG2G-xHcJhj1C.js} +1 -1
- package/dist/client/assets/classDiagram-4FO5ZUOK-BvskNpH1.js +1 -0
- package/dist/client/assets/classDiagram-v2-Q7XG4LA2-B1-Afdak.js +1 -0
- package/dist/client/assets/{dagre-BM42HDAG-qbY-_U_P.js → dagre-BM42HDAG-CqGwgHpm.js} +1 -1
- package/dist/client/assets/{diagram-2AECGRRQ-BruZ4V4-.js → diagram-2AECGRRQ-W2M_p8Yv.js} +1 -1
- package/dist/client/assets/{diagram-5GNKFQAL-CHpiGDEK.js → diagram-5GNKFQAL-Cl9Hh0jb.js} +1 -1
- package/dist/client/assets/{diagram-KO2AKTUF-DoSfbHss.js → diagram-KO2AKTUF-Cn0-x5HI.js} +1 -1
- package/dist/client/assets/{diagram-LMA3HP47-DCFkEMag.js → diagram-LMA3HP47-BH2_JbrM.js} +1 -1
- package/dist/client/assets/{diagram-OG6HWLK6-DfS36HPH.js → diagram-OG6HWLK6-DuSmDdz3.js} +1 -1
- package/dist/client/assets/{erDiagram-TEJ5UH35-BgkfVf_x.js → erDiagram-TEJ5UH35-DMHLFeQs.js} +1 -1
- package/dist/client/assets/{flowDiagram-I6XJVG4X-BWtiqkEz.js → flowDiagram-I6XJVG4X-G6q9UKR3.js} +1 -1
- package/dist/client/assets/{ganttDiagram-6RSMTGT7-DELzQnRT.js → ganttDiagram-6RSMTGT7-hhWmmnFi.js} +1 -1
- package/dist/client/assets/{gitGraphDiagram-PVQCEYII-B6aWEYCQ.js → gitGraphDiagram-PVQCEYII-CvmZJ3zf.js} +1 -1
- package/dist/client/assets/index-CT3aYWb0.js +260 -0
- package/dist/client/assets/{infoDiagram-5YYISTIA-DsEXuPrb.js → infoDiagram-5YYISTIA-BIes94lQ.js} +1 -1
- package/dist/client/assets/{ishikawaDiagram-YF4QCWOH-CFDL3YcX.js → ishikawaDiagram-YF4QCWOH-1sUDbjPm.js} +1 -1
- package/dist/client/assets/{journeyDiagram-JHISSGLW-B0cGkrgh.js → journeyDiagram-JHISSGLW-BEEP6Na-.js} +1 -1
- package/dist/client/assets/{kanban-definition-UN3LZRKU-CSjzz50M.js → kanban-definition-UN3LZRKU-CPFego8B.js} +1 -1
- package/dist/client/assets/{line-DRLRh6Y5.js → line-BdjuNfVr.js} +1 -1
- package/dist/client/assets/{mermaid-parser.core-SmtnvsDu.js → mermaid-parser.core-ep6OPAQm.js} +1 -1
- package/dist/client/assets/{mermaid.core-CN8lcuFN.js → mermaid.core-CgiGEZhy.js} +3 -3
- package/dist/client/assets/{mindmap-definition-RKZ34NQL-Cl31Y0w1.js → mindmap-definition-RKZ34NQL-0hOE50-8.js} +1 -1
- package/dist/client/assets/{pieDiagram-4H26LBE5-oPNTIUQf.js → pieDiagram-4H26LBE5-BEgccEEE.js} +1 -1
- package/dist/client/assets/{quadrantDiagram-W4KKPZXB-Betbh1hD.js → quadrantDiagram-W4KKPZXB-CvDyAdJI.js} +1 -1
- package/dist/client/assets/{requirementDiagram-4Y6WPE33-C-6kjIO_.js → requirementDiagram-4Y6WPE33-DSmztQBO.js} +1 -1
- package/dist/client/assets/{sankeyDiagram-5OEKKPKP-SNnedZYP.js → sankeyDiagram-5OEKKPKP-DgDUHUAw.js} +1 -1
- package/dist/client/assets/{sequenceDiagram-3UESZ5HK-P-xT2ud1.js → sequenceDiagram-3UESZ5HK-BYaYgN0W.js} +1 -1
- package/dist/client/assets/{stateDiagram-AJRCARHV-DRb3tNFE.js → stateDiagram-AJRCARHV-CqU_4LpV.js} +1 -1
- package/dist/client/assets/stateDiagram-v2-BHNVJYJU-C_J0aecM.js +1 -0
- package/dist/client/assets/{timeline-definition-PNZ67QCA-Pc200Wi3.js → timeline-definition-PNZ67QCA-BTYLNo8J.js} +1 -1
- package/dist/client/assets/{vennDiagram-CIIHVFJN-lrnl-blT.js → vennDiagram-CIIHVFJN-C-MV8-cy.js} +1 -1
- package/dist/client/assets/{wardleyDiagram-YWT4CUSO-DrAvcMKU.js → wardleyDiagram-YWT4CUSO-BOZ5g5Fn.js} +1 -1
- package/dist/client/assets/{xychartDiagram-2RQKCTM6-Dd9WgWou.js → xychartDiagram-2RQKCTM6-6wYwr3vn.js} +1 -1
- package/dist/client/index.html +1 -1
- package/dist/server/db.js +18 -0
- package/dist/server/db.js.map +1 -1
- package/dist/server/index.js +11 -0
- package/dist/server/index.js.map +1 -1
- package/dist/server/lib/agent.js +41 -16
- package/dist/server/lib/agent.js.map +1 -1
- package/dist/server/lib/agentRuns.js +95 -0
- package/dist/server/lib/agentRuns.js.map +1 -0
- package/dist/server/lib/mobileAccess.js +14 -0
- package/dist/server/lib/mobileAccess.js.map +1 -1
- package/dist/server/workers/review.js +52 -6
- package/dist/server/workers/review.js.map +1 -1
- package/package.json +1 -1
- package/dist/client/assets/channel-BsqleV7r.js +0 -1
- package/dist/client/assets/classDiagram-4FO5ZUOK-BUpNkDvz.js +0 -1
- package/dist/client/assets/classDiagram-v2-Q7XG4LA2-Abk6ZER3.js +0 -1
- package/dist/client/assets/index-Bn5d_XNM.js +0 -260
- package/dist/client/assets/stateDiagram-v2-BHNVJYJU-CmEm490w.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as e}from"./chunk-BNv3lrIs.js";import{A as t,C as n,D as r,E as i,F as a,M as o,N as s,O as c,P as l,S as u,T as d,_ as f,a as p,b as m,c as ee,d as h,f as g,g as _,h as te,i as v,j as y,k as ne,l as b,m as x,n as S,o as C,p as w,r as T,s as E,u as re,v as D,w as ie,x as ae,y as O}from"./index-Bn5d_XNM.js";var k=e(a(),1),oe=(e,t)=>l(o(`/projects/${e}/test-sessions`),{method:`POST`,body:t,fallbackErrorMessage:`Unable to open the test runner right now.`}),se=(e,t)=>l(o(`/tickets/${e}/test-sessions${t?`?project_id=${encodeURIComponent(t)}`:``}`),{method:`POST`,fallbackErrorMessage:`Unable to open the test runner right now.`}),ce=(e,t={})=>l(o(`/test-sessions/${e}/discovery${t.commandId?`?command_id=${encodeURIComponent(t.commandId)}`:``}`),{signal:t.signal,fallbackErrorMessage:`Unable to discover tests right now.`}),le=(e,t)=>l(o(`/test-sessions/${e}/run`),{method:`POST`,body:t,fallbackErrorMessage:`Unable to start the selected tests right now.`}),ue=e=>l(o(`/test-sessions/${e}/stop`),{method:`POST`,fallbackErrorMessage:`Unable to stop the test run right now.`}),de=e=>s(o(`/test-sessions/${e}`),{method:`DELETE`,fallbackErrorMessage:`Unable to close the test runner right now.`}),A=t(),j=256*1024,M=24,N=RegExp(`\x1B\\[[0-9;?]*[ -/]*[@-~]`,`g`),P=(e,t)=>E.t(`common:testsDialog.${e}`,t),fe=(e,t)=>{let n=`${e}${t}`;return n.length<=j?n:n.slice(-j)},F=e=>e.replace(N,``),pe=e=>e.scrollHeight-e.scrollTop-e.clientHeight<=M,I=e=>{e.scrollTop=e.scrollHeight},me=(e,t=!1)=>{I(e);let n=0,r=0;return n=window.requestAnimationFrame(()=>{I(e),t&&(r=window.requestAnimationFrame(()=>{I(e)}))}),()=>{window.cancelAnimationFrame(n),r!==0&&window.cancelAnimationFrame(r)}},he=e=>{if(!e)return[];try{let t=JSON.parse(e);return Array.isArray(t)?t.flatMap(e=>{if(!e||typeof e!=`object`||Array.isArray(e))return[];let t=e;if(typeof t.id!=`string`||typeof t.name!=`string`||typeof t.command!=`string`)return[];let n=t.runner===`vitest`||t.runner===`jest`||t.runner===`unknown`?t.runner:`auto`;return[{id:t.id,name:t.name,command:t.command,runner:n,...typeof t.cwd==`string`&&t.cwd.trim()!==``?{cwd:t.cwd}:{}}]}):[]}catch{return[]}},L=e=>e===`running`?`border-sky-400/40 bg-sky-500/10 text-sky-200`:e===`passed`?`border-emerald-400/40 bg-emerald-500/10 text-emerald-200`:e===`failed`||e===`error`?`border-rose-400/40 bg-rose-500/10 text-rose-200`:e===`stopped`?`border-amber-400/40 bg-amber-500/10 text-amber-200`:`border-border/70 bg-background/60 text-muted-foreground`,ge=e=>e==null?null:e<1e3?`${e} ms`:`${(e/1e3).toFixed(e>=1e4?0:1)} s`,R=e=>{let t=e.split(`/`);return t[t.length-1]||e},z=e=>e.toLowerCase().trim().split(/\s+/).filter(Boolean),B=(e,t)=>e.length===0?!0:e.every(e=>t.some(t=>t.includes(e))),V=(e,t)=>{let n=z(t);return n.length===0?e:e.flatMap(e=>{let t=R(e.path);if(B(n,[t.toLowerCase(),e.path.toLowerCase()]))return[e];let r=e.cases.filter(r=>B(n,[t.toLowerCase(),e.path.toLowerCase(),r.name.toLowerCase()]));return r.length===0?[]:[{...e,cases:r}]})},H=e=>P(e===`passed`?`status.passed`:e===`failed`?`status.failed`:e===`running`?`status.running`:e===`error`?`status.error`:e===`stopped`?`status.stopped`:`status.idle`),_e=e=>e?.selection?e.selection.kind===`all`?P(`selection.allTests`):e.selection.kind===`case`?e.selection.name:R(e.selection.path):P(`selection.noRunYet`),U=e=>/(^|\s)(?:FAIL|✗)(\s|$)|\b(?:failed|error|stderr|Expected:|Received:)\b/i.test(e)?`failure`:/(^|\s)(?:PASS|✓)(\s|$)|\bpassed\b/i.test(e)?`success`:/\b(?:WARN|warning|skipped|todo|pending)\b/i.test(e)?`warning`:`default`,W=e=>e===`failure`?`text-rose-200`:e===`success`?`text-emerald-200`:e===`warning`?`text-amber-200`:`text-slate-200`,G=(e,t)=>e===t?!0:e.length===t.length?e.every((e,n)=>{let r=t[n];return r!=null&&e.id===r.id&&e.name===r.name&&e.command===r.command&&e.cwd===r.cwd&&e.runner===r.runner}):!1,ve=`min-w-24 justify-center shadow-none transition-none disabled:opacity-100`,K=({line:e,tone:t})=>(0,A.jsx)(`div`,{"data-tone":t,className:c(`whitespace-pre-wrap break-words`,W(t)),children:e===``?` `:e}),q=(0,k.memo)(({canRunGranular:e,filePath:t,isActive:n,name:r,onRunCase:i})=>(0,A.jsxs)(`button`,{type:`button`,"aria-label":P(`caseRow.runAriaLabel`,{name:r}),title:r,className:c(`flex w-full min-w-0 items-center gap-2.5 rounded-xl px-2.5 py-1.5 text-left transition-colors outline-none focus-visible:ring-2 focus-visible:ring-ring/50`,e?`cursor-pointer hover:bg-sky-500/10`:`cursor-not-allowed opacity-60`,n&&`bg-sky-500/10`),disabled:!e,onClick:()=>{i(t,r)},children:[(0,A.jsx)(`span`,{className:`h-2 w-2 shrink-0 rounded-full bg-sky-300/80`}),(0,A.jsx)(`span`,{className:`truncate text-xs text-foreground`,children:r})]}));q.displayName=`TestCaseRow`;var J=(0,k.memo)(({activeSelectionKind:e,activeSelectionName:t,activeSelectionPath:n,canRunGranular:i,file:a,isExpanded:o,onRunCase:s,onRunFile:l,onToggleFile:u})=>{let d=e===`file`&&n===a.path,f=e===`case`&&n===a.path;return(0,A.jsx)(T,{open:o,onOpenChange:e=>{u(a.path,e)},children:(0,A.jsxs)(`div`,{className:`space-y-1`,children:[(0,A.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,A.jsx)(p,{asChild:!0,children:(0,A.jsx)(r,{type:`button`,variant:`ghost`,size:`icon-xs`,"aria-label":P(o?`fileRow.collapseAriaLabel`:`fileRow.expandAriaLabel`,{path:a.path}),className:`mt-1 shrink-0 text-muted-foreground hover:text-foreground`,children:(0,A.jsx)(D,{className:c(`h-4 w-4 transition-transform`,o&&`rotate-180`)})})}),(0,A.jsx)(`button`,{type:`button`,"aria-label":P(`fileRow.runAriaLabel`,{path:a.path}),className:c(`min-w-0 flex-1 rounded-xl border border-border/60 bg-background/20 px-2.5 py-2 text-left transition-colors outline-none focus-visible:ring-2 focus-visible:ring-ring/50`,i?`cursor-pointer hover:border-sky-400/35 hover:bg-sky-500/10`:`cursor-not-allowed opacity-60`,(d||f)&&`border-sky-400/45 bg-sky-500/10`),disabled:!i,onClick:()=>{l(a.path)},children:(0,A.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2.5`,children:[(0,A.jsx)(`span`,{className:`flex size-6 shrink-0 items-center justify-center rounded-md border border-border/70 bg-background/60 text-sky-200`,children:(0,A.jsx)(S,{className:`h-3.5 w-3.5`})}),(0,A.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-start justify-between gap-3`,children:[(0,A.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,A.jsx)(`span`,{className:`block truncate text-xs font-medium text-foreground`,children:R(a.path)}),(0,A.jsx)(`span`,{className:`mt-0.5 block truncate text-[11px] text-muted-foreground`,children:a.path})]}),(0,A.jsx)(`span`,{className:`shrink-0 text-[11px] text-muted-foreground`,children:P(`fileRow.testCount`,{count:a.cases.length})})]})]})})]}),(0,A.jsx)(v,{children:(0,A.jsx)(`div`,{className:`ml-4 border-l border-border/60 pl-6`,children:a.cases.length===0?(0,A.jsx)(`p`,{className:`px-2.5 py-1.5 text-xs text-muted-foreground`,children:P(`fileRow.noNamedTests`)}):(0,A.jsx)(`div`,{className:`space-y-1`,children:a.cases.map(r=>{let o=e===`case`&&n===a.path&&t===r.name;return(0,A.jsx)(q,{canRunGranular:i,filePath:a.path,isActive:o,name:r.name,onRunCase:s},r.id)})})})})]})})});J.displayName=`DiscoveryFileRow`;var ye=(0,k.memo)(({activeSelectionKind:e,activeSelectionName:t,activeSelectionPath:n,availableCommands:i,canRunGranular:a,discovery:o,expandedFiles:s,fullSuiteOnlyNotice:l,isLoading:u,selectedCommandId:d,selectedCommandName:f,sessionError:p,sessionStatus:m,shouldShowCommandSelector:te,onRunCase:v,onRunFile:y,onSelectCommand:ne,onToggleFile:b})=>{let[x,S]=(0,k.useState)(``),C=(0,k.useMemo)(()=>V(o,x),[o,x]),T=(0,k.useMemo)(()=>C.reduce((e,t)=>e+t.cases.length,0),[C]),E=z(x).length>0;return(0,A.jsx)(`aside`,{className:`min-h-0 border-b border-border/70 px-4 py-4 lg:border-r lg:border-b-0`,children:(0,A.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col gap-3`,children:[te&&(0,A.jsxs)(`div`,{className:`space-y-2`,children:[(0,A.jsx)(`p`,{className:`text-xs uppercase tracking-[0.22em] text-muted-foreground`,children:P(`scope.label`)}),(0,A.jsxs)(re,{children:[(0,A.jsx)(w,{asChild:!0,children:(0,A.jsxs)(r,{type:`button`,variant:`outline`,className:`w-full justify-between rounded-xl border-border/70 bg-background/60`,"aria-label":P(`scope.selectedCommandAriaLabel`),disabled:i.length===0||m===`running`,children:[(0,A.jsx)(`span`,{className:`truncate`,children:f??P(`scope.selectTestScope`)}),(0,A.jsx)(D,{className:`h-4 w-4 text-muted-foreground`})]})}),(0,A.jsx)(h,{align:`start`,className:`w-72`,children:i.map(e=>(0,A.jsx)(g,{className:c(d===e.id&&`bg-accent text-accent-foreground`),onSelect:()=>{ne(e.id)},children:(0,A.jsx)(`span`,{className:`truncate`,children:e.name})},e.id))})]})]}),l&&(0,A.jsx)(`div`,{className:`rounded-2xl border border-border/70 bg-background/30 px-4 py-3 text-sm text-muted-foreground`,children:l}),(o.length>0||x.length>0)&&(0,A.jsxs)(`div`,{className:`relative mt-1 shrink-0`,children:[(0,A.jsx)(O,{type:`search`,value:x,onChange:e=>{S(e.target.value)},placeholder:P(`filter.placeholder`),"aria-label":P(`filter.ariaLabel`),className:`pr-10`}),x.length>0&&(0,A.jsx)(r,{type:`button`,variant:`ghost`,size:`icon-sm`,"aria-label":P(`filter.clearAriaLabel`),className:`absolute right-1 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground`,onClick:()=>{S(``)},children:(0,A.jsx)(ee,{className:`size-4`})})]}),!i.length&&(0,A.jsx)(`div`,{className:`rounded-2xl border border-dashed border-border/70 bg-background/20 px-4 py-4 text-sm text-muted-foreground`,children:P(`discovery.noCommands`)}),p&&(0,A.jsx)(`div`,{className:`rounded-2xl border border-rose-500/30 bg-rose-500/10 px-4 py-3 text-sm text-rose-200`,children:p}),(0,A.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-3 overflow-hidden rounded-2xl border border-border/70 bg-background/20 p-4`,children:[(0,A.jsxs)(`div`,{className:`shrink-0 flex items-start justify-between gap-3`,children:[(0,A.jsx)(`div`,{className:`min-w-0`,children:(0,A.jsxs)(`p`,{className:`text-sm text-muted-foreground`,children:[P(`discovery.fileCount`,{count:C.length}),`, `,P(`discovery.caseCount`,{count:T})]})}),u&&(0,A.jsx)(_,{className:`h-4 w-4 animate-spin text-muted-foreground`})]}),(0,A.jsx)(`div`,{className:`min-h-0 flex-1 space-y-2 overflow-y-auto pr-1`,children:o.length===0&&!u?(0,A.jsx)(`div`,{className:`rounded-2xl border border-dashed border-border/70 bg-background/20 px-4 py-5 text-sm text-muted-foreground`,children:P(`discovery.noFilesDetected`)}):C.length===0?(0,A.jsx)(`div`,{className:`rounded-2xl border border-dashed border-border/70 bg-background/20 px-4 py-5 text-sm text-muted-foreground`,children:P(`discovery.noFilterMatches`)}):C.map(r=>(0,A.jsx)(J,{activeSelectionKind:e,activeSelectionName:t,activeSelectionPath:n,canRunGranular:a,file:r,isExpanded:E||(s[r.path]??!1),onRunCase:v,onRunFile:y,onToggleFile:b},r.path))})]})]})})});ye.displayName=`DiscoveryPane`;var be=(0,k.memo)(({durationMs:e,output:t,outputTruncated:n,selectionLabel:r,status:i,summaryCounts:a,viewportRef:o,onScroll:s})=>{let l=(0,k.useMemo)(()=>t?F(t).replaceAll(`\r
|
|
1
|
+
import{a as e}from"./chunk-BNv3lrIs.js";import{A as t,C as n,D as r,E as i,F as a,M as o,N as s,O as c,P as l,S as u,T as d,_ as f,a as p,b as m,c as ee,d as h,f as g,g as _,h as te,i as v,j as y,k as ne,l as b,m as x,n as S,o as C,p as w,r as T,s as E,u as re,v as D,w as ie,x as ae,y as O}from"./index-CT3aYWb0.js";var k=e(a(),1),oe=(e,t)=>l(o(`/projects/${e}/test-sessions`),{method:`POST`,body:t,fallbackErrorMessage:`Unable to open the test runner right now.`}),se=(e,t)=>l(o(`/tickets/${e}/test-sessions${t?`?project_id=${encodeURIComponent(t)}`:``}`),{method:`POST`,fallbackErrorMessage:`Unable to open the test runner right now.`}),ce=(e,t={})=>l(o(`/test-sessions/${e}/discovery${t.commandId?`?command_id=${encodeURIComponent(t.commandId)}`:``}`),{signal:t.signal,fallbackErrorMessage:`Unable to discover tests right now.`}),le=(e,t)=>l(o(`/test-sessions/${e}/run`),{method:`POST`,body:t,fallbackErrorMessage:`Unable to start the selected tests right now.`}),ue=e=>l(o(`/test-sessions/${e}/stop`),{method:`POST`,fallbackErrorMessage:`Unable to stop the test run right now.`}),de=e=>s(o(`/test-sessions/${e}`),{method:`DELETE`,fallbackErrorMessage:`Unable to close the test runner right now.`}),A=t(),j=256*1024,M=24,N=RegExp(`\x1B\\[[0-9;?]*[ -/]*[@-~]`,`g`),P=(e,t)=>E.t(`common:testsDialog.${e}`,t),fe=(e,t)=>{let n=`${e}${t}`;return n.length<=j?n:n.slice(-j)},F=e=>e.replace(N,``),pe=e=>e.scrollHeight-e.scrollTop-e.clientHeight<=M,I=e=>{e.scrollTop=e.scrollHeight},me=(e,t=!1)=>{I(e);let n=0,r=0;return n=window.requestAnimationFrame(()=>{I(e),t&&(r=window.requestAnimationFrame(()=>{I(e)}))}),()=>{window.cancelAnimationFrame(n),r!==0&&window.cancelAnimationFrame(r)}},he=e=>{if(!e)return[];try{let t=JSON.parse(e);return Array.isArray(t)?t.flatMap(e=>{if(!e||typeof e!=`object`||Array.isArray(e))return[];let t=e;if(typeof t.id!=`string`||typeof t.name!=`string`||typeof t.command!=`string`)return[];let n=t.runner===`vitest`||t.runner===`jest`||t.runner===`unknown`?t.runner:`auto`;return[{id:t.id,name:t.name,command:t.command,runner:n,...typeof t.cwd==`string`&&t.cwd.trim()!==``?{cwd:t.cwd}:{}}]}):[]}catch{return[]}},L=e=>e===`running`?`border-sky-400/40 bg-sky-500/10 text-sky-200`:e===`passed`?`border-emerald-400/40 bg-emerald-500/10 text-emerald-200`:e===`failed`||e===`error`?`border-rose-400/40 bg-rose-500/10 text-rose-200`:e===`stopped`?`border-amber-400/40 bg-amber-500/10 text-amber-200`:`border-border/70 bg-background/60 text-muted-foreground`,ge=e=>e==null?null:e<1e3?`${e} ms`:`${(e/1e3).toFixed(e>=1e4?0:1)} s`,R=e=>{let t=e.split(`/`);return t[t.length-1]||e},z=e=>e.toLowerCase().trim().split(/\s+/).filter(Boolean),B=(e,t)=>e.length===0?!0:e.every(e=>t.some(t=>t.includes(e))),V=(e,t)=>{let n=z(t);return n.length===0?e:e.flatMap(e=>{let t=R(e.path);if(B(n,[t.toLowerCase(),e.path.toLowerCase()]))return[e];let r=e.cases.filter(r=>B(n,[t.toLowerCase(),e.path.toLowerCase(),r.name.toLowerCase()]));return r.length===0?[]:[{...e,cases:r}]})},H=e=>P(e===`passed`?`status.passed`:e===`failed`?`status.failed`:e===`running`?`status.running`:e===`error`?`status.error`:e===`stopped`?`status.stopped`:`status.idle`),_e=e=>e?.selection?e.selection.kind===`all`?P(`selection.allTests`):e.selection.kind===`case`?e.selection.name:R(e.selection.path):P(`selection.noRunYet`),U=e=>/(^|\s)(?:FAIL|✗)(\s|$)|\b(?:failed|error|stderr|Expected:|Received:)\b/i.test(e)?`failure`:/(^|\s)(?:PASS|✓)(\s|$)|\bpassed\b/i.test(e)?`success`:/\b(?:WARN|warning|skipped|todo|pending)\b/i.test(e)?`warning`:`default`,W=e=>e===`failure`?`text-rose-200`:e===`success`?`text-emerald-200`:e===`warning`?`text-amber-200`:`text-slate-200`,G=(e,t)=>e===t?!0:e.length===t.length?e.every((e,n)=>{let r=t[n];return r!=null&&e.id===r.id&&e.name===r.name&&e.command===r.command&&e.cwd===r.cwd&&e.runner===r.runner}):!1,ve=`min-w-24 justify-center shadow-none transition-none disabled:opacity-100`,K=({line:e,tone:t})=>(0,A.jsx)(`div`,{"data-tone":t,className:c(`whitespace-pre-wrap break-words`,W(t)),children:e===``?` `:e}),q=(0,k.memo)(({canRunGranular:e,filePath:t,isActive:n,name:r,onRunCase:i})=>(0,A.jsxs)(`button`,{type:`button`,"aria-label":P(`caseRow.runAriaLabel`,{name:r}),title:r,className:c(`flex w-full min-w-0 items-center gap-2.5 rounded-xl px-2.5 py-1.5 text-left transition-colors outline-none focus-visible:ring-2 focus-visible:ring-ring/50`,e?`cursor-pointer hover:bg-sky-500/10`:`cursor-not-allowed opacity-60`,n&&`bg-sky-500/10`),disabled:!e,onClick:()=>{i(t,r)},children:[(0,A.jsx)(`span`,{className:`h-2 w-2 shrink-0 rounded-full bg-sky-300/80`}),(0,A.jsx)(`span`,{className:`truncate text-xs text-foreground`,children:r})]}));q.displayName=`TestCaseRow`;var J=(0,k.memo)(({activeSelectionKind:e,activeSelectionName:t,activeSelectionPath:n,canRunGranular:i,file:a,isExpanded:o,onRunCase:s,onRunFile:l,onToggleFile:u})=>{let d=e===`file`&&n===a.path,f=e===`case`&&n===a.path;return(0,A.jsx)(T,{open:o,onOpenChange:e=>{u(a.path,e)},children:(0,A.jsxs)(`div`,{className:`space-y-1`,children:[(0,A.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,A.jsx)(p,{asChild:!0,children:(0,A.jsx)(r,{type:`button`,variant:`ghost`,size:`icon-xs`,"aria-label":P(o?`fileRow.collapseAriaLabel`:`fileRow.expandAriaLabel`,{path:a.path}),className:`mt-1 shrink-0 text-muted-foreground hover:text-foreground`,children:(0,A.jsx)(D,{className:c(`h-4 w-4 transition-transform`,o&&`rotate-180`)})})}),(0,A.jsx)(`button`,{type:`button`,"aria-label":P(`fileRow.runAriaLabel`,{path:a.path}),className:c(`min-w-0 flex-1 rounded-xl border border-border/60 bg-background/20 px-2.5 py-2 text-left transition-colors outline-none focus-visible:ring-2 focus-visible:ring-ring/50`,i?`cursor-pointer hover:border-sky-400/35 hover:bg-sky-500/10`:`cursor-not-allowed opacity-60`,(d||f)&&`border-sky-400/45 bg-sky-500/10`),disabled:!i,onClick:()=>{l(a.path)},children:(0,A.jsxs)(`span`,{className:`flex min-w-0 items-center gap-2.5`,children:[(0,A.jsx)(`span`,{className:`flex size-6 shrink-0 items-center justify-center rounded-md border border-border/70 bg-background/60 text-sky-200`,children:(0,A.jsx)(S,{className:`h-3.5 w-3.5`})}),(0,A.jsxs)(`span`,{className:`flex min-w-0 flex-1 items-start justify-between gap-3`,children:[(0,A.jsxs)(`span`,{className:`min-w-0 flex-1`,children:[(0,A.jsx)(`span`,{className:`block truncate text-xs font-medium text-foreground`,children:R(a.path)}),(0,A.jsx)(`span`,{className:`mt-0.5 block truncate text-[11px] text-muted-foreground`,children:a.path})]}),(0,A.jsx)(`span`,{className:`shrink-0 text-[11px] text-muted-foreground`,children:P(`fileRow.testCount`,{count:a.cases.length})})]})]})})]}),(0,A.jsx)(v,{children:(0,A.jsx)(`div`,{className:`ml-4 border-l border-border/60 pl-6`,children:a.cases.length===0?(0,A.jsx)(`p`,{className:`px-2.5 py-1.5 text-xs text-muted-foreground`,children:P(`fileRow.noNamedTests`)}):(0,A.jsx)(`div`,{className:`space-y-1`,children:a.cases.map(r=>{let o=e===`case`&&n===a.path&&t===r.name;return(0,A.jsx)(q,{canRunGranular:i,filePath:a.path,isActive:o,name:r.name,onRunCase:s},r.id)})})})})]})})});J.displayName=`DiscoveryFileRow`;var ye=(0,k.memo)(({activeSelectionKind:e,activeSelectionName:t,activeSelectionPath:n,availableCommands:i,canRunGranular:a,discovery:o,expandedFiles:s,fullSuiteOnlyNotice:l,isLoading:u,selectedCommandId:d,selectedCommandName:f,sessionError:p,sessionStatus:m,shouldShowCommandSelector:te,onRunCase:v,onRunFile:y,onSelectCommand:ne,onToggleFile:b})=>{let[x,S]=(0,k.useState)(``),C=(0,k.useMemo)(()=>V(o,x),[o,x]),T=(0,k.useMemo)(()=>C.reduce((e,t)=>e+t.cases.length,0),[C]),E=z(x).length>0;return(0,A.jsx)(`aside`,{className:`min-h-0 border-b border-border/70 px-4 py-4 lg:border-r lg:border-b-0`,children:(0,A.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col gap-3`,children:[te&&(0,A.jsxs)(`div`,{className:`space-y-2`,children:[(0,A.jsx)(`p`,{className:`text-xs uppercase tracking-[0.22em] text-muted-foreground`,children:P(`scope.label`)}),(0,A.jsxs)(re,{children:[(0,A.jsx)(w,{asChild:!0,children:(0,A.jsxs)(r,{type:`button`,variant:`outline`,className:`w-full justify-between rounded-xl border-border/70 bg-background/60`,"aria-label":P(`scope.selectedCommandAriaLabel`),disabled:i.length===0||m===`running`,children:[(0,A.jsx)(`span`,{className:`truncate`,children:f??P(`scope.selectTestScope`)}),(0,A.jsx)(D,{className:`h-4 w-4 text-muted-foreground`})]})}),(0,A.jsx)(h,{align:`start`,className:`w-72`,children:i.map(e=>(0,A.jsx)(g,{className:c(d===e.id&&`bg-accent text-accent-foreground`),onSelect:()=>{ne(e.id)},children:(0,A.jsx)(`span`,{className:`truncate`,children:e.name})},e.id))})]})]}),l&&(0,A.jsx)(`div`,{className:`rounded-2xl border border-border/70 bg-background/30 px-4 py-3 text-sm text-muted-foreground`,children:l}),(o.length>0||x.length>0)&&(0,A.jsxs)(`div`,{className:`relative mt-1 shrink-0`,children:[(0,A.jsx)(O,{type:`search`,value:x,onChange:e=>{S(e.target.value)},placeholder:P(`filter.placeholder`),"aria-label":P(`filter.ariaLabel`),className:`pr-10`}),x.length>0&&(0,A.jsx)(r,{type:`button`,variant:`ghost`,size:`icon-sm`,"aria-label":P(`filter.clearAriaLabel`),className:`absolute right-1 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground`,onClick:()=>{S(``)},children:(0,A.jsx)(ee,{className:`size-4`})})]}),!i.length&&(0,A.jsx)(`div`,{className:`rounded-2xl border border-dashed border-border/70 bg-background/20 px-4 py-4 text-sm text-muted-foreground`,children:P(`discovery.noCommands`)}),p&&(0,A.jsx)(`div`,{className:`rounded-2xl border border-rose-500/30 bg-rose-500/10 px-4 py-3 text-sm text-rose-200`,children:p}),(0,A.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-3 overflow-hidden rounded-2xl border border-border/70 bg-background/20 p-4`,children:[(0,A.jsxs)(`div`,{className:`shrink-0 flex items-start justify-between gap-3`,children:[(0,A.jsx)(`div`,{className:`min-w-0`,children:(0,A.jsxs)(`p`,{className:`text-sm text-muted-foreground`,children:[P(`discovery.fileCount`,{count:C.length}),`, `,P(`discovery.caseCount`,{count:T})]})}),u&&(0,A.jsx)(_,{className:`h-4 w-4 animate-spin text-muted-foreground`})]}),(0,A.jsx)(`div`,{className:`min-h-0 flex-1 space-y-2 overflow-y-auto pr-1`,children:o.length===0&&!u?(0,A.jsx)(`div`,{className:`rounded-2xl border border-dashed border-border/70 bg-background/20 px-4 py-5 text-sm text-muted-foreground`,children:P(`discovery.noFilesDetected`)}):C.length===0?(0,A.jsx)(`div`,{className:`rounded-2xl border border-dashed border-border/70 bg-background/20 px-4 py-5 text-sm text-muted-foreground`,children:P(`discovery.noFilterMatches`)}):C.map(r=>(0,A.jsx)(J,{activeSelectionKind:e,activeSelectionName:t,activeSelectionPath:n,canRunGranular:a,file:r,isExpanded:E||(s[r.path]??!1),onRunCase:v,onRunFile:y,onToggleFile:b},r.path))})]})]})})});ye.displayName=`DiscoveryPane`;var be=(0,k.memo)(({durationMs:e,output:t,outputTruncated:n,selectionLabel:r,status:i,summaryCounts:a,viewportRef:o,onScroll:s})=>{let l=(0,k.useMemo)(()=>t?F(t).replaceAll(`\r
|
|
2
2
|
`,`
|
|
3
3
|
`).replaceAll(`\r`,`
|
|
4
4
|
`).split(`
|