vibe64 0.1.21 → 0.1.22
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/assets/ProjectTypeGate-B3NHteXC.js +1 -0
- package/dist/assets/ProjectTypeGate-fJcYj6sR.css +1 -0
- package/dist/assets/{SetupReadinessGate-DkkorR2Y.js → SetupReadinessGate-2twHjoYZ.js} +1 -1
- package/dist/assets/{ShellLayout-BcKS2HG9.js → ShellLayout-BjAbXfzf.js} +1 -1
- package/dist/assets/{VTabs-BJ8MKoig.js → VTabs-BLGGdbms.js} +1 -1
- package/dist/assets/{error-CwT53qTu.js → error-DvUPciuh.js} +1 -1
- package/dist/assets/history-DfM4ewyV.js +1 -0
- package/dist/assets/home-sh4v0vz7.js +1 -0
- package/dist/assets/index-C4JbNnml.css +1 -0
- package/dist/assets/{index-BJxDQvyK.js → index-CdFWokfE.js} +1 -1
- package/dist/assets/index-D4oqjV9n.js +132 -0
- package/dist/assets/{index-CY-wDjNv.js → index-DqoYKexs.js} +15 -15
- package/dist/assets/{placement-7FCYadh2.js → placement-QfRaYTFY.js} +1 -1
- package/dist/assets/{setup-BzzdD38G.js → setup-B-WOti3H.js} +2 -2
- package/dist/assets/{streamEvents-Ba9kHw-1.js → streamEvents-CIqegoLa.js} +1 -1
- package/dist/assets/{studioGateApi-hkZdLr1Y.js → studioGateApi-CFtez6lH.js} +1 -1
- package/dist/assets/{target-scripts-8hczu84t.js → target-scripts-CI-nAISO.js} +1 -1
- package/dist/assets/useStudioTerminal-I8tuBymw.js +1 -0
- package/dist/assets/vibe64SessionPanelModel-DLdexNxC.js +1 -0
- package/dist/index.html +1 -1
- package/node_modules/@local/setup-doctor-core/src/server/doctorToolchain.js +4 -0
- package/node_modules/@local/studio-terminal-core/src/server/gitGithubTransport.js +33 -0
- package/node_modules/@local/studio-terminal-core/src/server/index.js +1 -0
- package/node_modules/@local/studio-terminal-core/src/server/terminalSessions.js +51 -1
- package/node_modules/@local/vibe64-adapters/src/server/adapter.js +4 -0
- package/node_modules/@local/vibe64-adapters/src/server/adapters/laravel/adapter.js +5 -0
- package/node_modules/@local/vibe64-adapters/src/server/adapters/laravel/databaseRuntime.js +50 -0
- package/node_modules/@local/vibe64-adapters/src/server/configStore.js +22 -1
- package/node_modules/@local/vibe64-adapters/src/server/systemPrompts/agent_conversation.txt +0 -2
- package/node_modules/@local/vibe64-adapters/src/server/systemPrompts/draft_issue.txt +18 -0
- package/node_modules/@local/vibe64-adapters/src/server/systemPrompts/make_plan.txt +14 -2
- package/node_modules/@local/vibe64-adapters/src/server/systemPrompts/prepare_for_merge.txt +2 -0
- package/node_modules/@local/vibe64-adapters/src/server/systemPrompts/resolve_pull_request.txt +1 -0
- package/node_modules/@local/vibe64-adapters/src/server/systemPrompts/run_deep_ui_check.txt +7 -3
- package/node_modules/@local/vibe64-adapters/src/server/workflowCommandTerminal/commitPush.js +4 -22
- package/node_modules/@local/vibe64-adapters/src/server/workflowCommandTerminal/factMetadata.js +21 -20
- package/node_modules/@local/vibe64-adapters/src/server/workflowCommandTerminal/issuePr.js +27 -4
- package/node_modules/@local/vibe64-adapters/src/server/workflowCommandTerminal/mergeSync.js +65 -8
- package/node_modules/@local/vibe64-adapters/src/server/workflowCommandTerminal/worktreeDependencies.js +12 -25
- package/node_modules/@local/vibe64-adapters/src/server/workflowSessionActions.js +77 -20
- package/node_modules/@local/vibe64-core/src/server/terminalWebSocketRoutes.js +14 -5
- package/node_modules/@local/vibe64-project/src/server/actions.js +21 -0
- package/node_modules/@local/vibe64-project/src/server/registerRoutes.js +6 -0
- package/node_modules/@local/vibe64-project/src/server/service.js +125 -8
- package/node_modules/@local/vibe64-runtime/src/server/coreProjectTools.js +135 -0
- package/node_modules/@local/vibe64-runtime/src/server/index.js +4 -0
- package/node_modules/@local/vibe64-runtime/src/server/projectToolRegistry.js +434 -0
- package/node_modules/@local/vibe64-runtime/src/server/runtime.js +40 -16
- package/node_modules/@local/vibe64-runtime/src/server/sessionWorktreeState.js +25 -0
- package/node_modules/@local/vibe64-runtime/src/server/terminalFailureFixRequest.js +112 -0
- package/node_modules/@local/vibe64-runtime/src/server/workflowArtifacts.js +2 -2
- package/node_modules/@local/vibe64-runtime/src/server/workflowDefinitionBuilders.js +1 -0
- package/node_modules/@local/vibe64-runtime/src/server/workflowDefinitionComposers.js +192 -0
- package/node_modules/@local/vibe64-runtime/src/server/workflowMachine.js +5 -0
- package/node_modules/@local/vibe64-runtime/src/server/workflowModules/coreCoding.js +1309 -419
- package/node_modules/@local/vibe64-runtime/src/server/workflowModules/coreLifecycle.js +540 -358
- package/node_modules/@local/vibe64-runtime/src/server/workflowModules/coreMaintenance.js +5 -26
- package/node_modules/@local/vibe64-runtime/src/server/workflowPresentation.js +153 -26
- package/node_modules/@local/vibe64-runtime/src/server/workflowStepMachineHelpers.js +63 -10
- package/node_modules/@local/vibe64-runtime/src/server/workflowStepMachines.js +63 -2
- package/node_modules/@local/vibe64-sessions/src/server/inputSchemas.js +5 -0
- package/node_modules/@local/vibe64-sessions/src/server/service.js +8 -9
- package/node_modules/@local/vibe64-terminals/src/server/actions.js +65 -0
- package/node_modules/@local/vibe64-terminals/src/server/codexTerminal.js +608 -23
- package/node_modules/@local/vibe64-terminals/src/server/commandTerminal.js +261 -4
- package/node_modules/@local/vibe64-terminals/src/server/fixCodexJobs.js +420 -0
- package/node_modules/@local/vibe64-terminals/src/server/inputSchemas.js +240 -0
- package/node_modules/@local/vibe64-terminals/src/server/launchTargetTerminal.js +2 -0
- package/node_modules/@local/vibe64-terminals/src/server/registerRoutes.js +226 -0
- package/node_modules/@local/vibe64-terminals/src/server/service.js +140 -1
- package/node_modules/@local/vibe64-terminals/src/server/targetToolchainTerminal.js +1 -1
- package/node_modules/@local/vibe64-terminals/src/server/terminalShared.js +34 -0
- package/node_modules/node-pty/build/Makefile +369 -0
- package/node_modules/node-pty/build/Release/pty.node +0 -0
- package/node_modules/node-pty/build/binding.Makefile +6 -0
- package/node_modules/node-pty/build/config.gypi +440 -0
- package/node_modules/node-pty/build/pty.target.mk +166 -0
- package/node_modules/node-pty/node-addon-api/node_addon_api.Makefile +6 -0
- package/node_modules/node-pty/node-addon-api/node_addon_api.target.mk +104 -0
- package/node_modules/node-pty/node-addon-api/node_addon_api_except.target.mk +108 -0
- package/node_modules/node-pty/node-addon-api/node_addon_api_maybe.target.mk +104 -0
- package/node_modules/which/CHANGELOG.md +166 -0
- package/package.json +2 -2
- package/packages/setup-doctor-core/src/server/doctorToolchain.js +4 -0
- package/packages/studio-terminal-core/src/server/gitGithubTransport.js +33 -0
- package/packages/studio-terminal-core/src/server/index.js +1 -0
- package/packages/studio-terminal-core/src/server/terminalSessions.js +51 -1
- package/packages/vibe64-adapters/src/server/adapter.js +4 -0
- package/packages/vibe64-adapters/src/server/adapters/laravel/adapter.js +5 -0
- package/packages/vibe64-adapters/src/server/adapters/laravel/databaseRuntime.js +50 -0
- package/packages/vibe64-adapters/src/server/configStore.js +22 -1
- package/packages/vibe64-adapters/src/server/systemPrompts/agent_conversation.txt +0 -2
- package/packages/vibe64-adapters/src/server/systemPrompts/draft_issue.txt +18 -0
- package/packages/vibe64-adapters/src/server/systemPrompts/make_plan.txt +14 -2
- package/packages/vibe64-adapters/src/server/systemPrompts/prepare_for_merge.txt +2 -0
- package/packages/vibe64-adapters/src/server/systemPrompts/resolve_pull_request.txt +1 -0
- package/packages/vibe64-adapters/src/server/systemPrompts/run_deep_ui_check.txt +7 -3
- package/packages/vibe64-adapters/src/server/workflowCommandTerminal/commitPush.js +4 -22
- package/packages/vibe64-adapters/src/server/workflowCommandTerminal/factMetadata.js +21 -20
- package/packages/vibe64-adapters/src/server/workflowCommandTerminal/issuePr.js +27 -4
- package/packages/vibe64-adapters/src/server/workflowCommandTerminal/mergeSync.js +65 -8
- package/packages/vibe64-adapters/src/server/workflowCommandTerminal/worktreeDependencies.js +12 -25
- package/packages/vibe64-adapters/src/server/workflowSessionActions.js +77 -20
- package/packages/vibe64-core/src/server/terminalWebSocketRoutes.js +14 -5
- package/packages/vibe64-project/src/server/actions.js +21 -0
- package/packages/vibe64-project/src/server/registerRoutes.js +6 -0
- package/packages/vibe64-project/src/server/service.js +125 -8
- package/packages/vibe64-runtime/src/server/coreProjectTools.js +135 -0
- package/packages/vibe64-runtime/src/server/index.js +4 -0
- package/packages/vibe64-runtime/src/server/projectToolRegistry.js +434 -0
- package/packages/vibe64-runtime/src/server/runtime.js +40 -16
- package/packages/vibe64-runtime/src/server/sessionWorktreeState.js +25 -0
- package/packages/vibe64-runtime/src/server/terminalFailureFixRequest.js +112 -0
- package/packages/vibe64-runtime/src/server/workflowArtifacts.js +2 -2
- package/packages/vibe64-runtime/src/server/workflowDefinitionBuilders.js +1 -0
- package/packages/vibe64-runtime/src/server/workflowDefinitionComposers.js +192 -0
- package/packages/vibe64-runtime/src/server/workflowMachine.js +5 -0
- package/packages/vibe64-runtime/src/server/workflowModules/coreCoding.js +1309 -419
- package/packages/vibe64-runtime/src/server/workflowModules/coreLifecycle.js +540 -358
- package/packages/vibe64-runtime/src/server/workflowModules/coreMaintenance.js +5 -26
- package/packages/vibe64-runtime/src/server/workflowPresentation.js +153 -26
- package/packages/vibe64-runtime/src/server/workflowStepMachineHelpers.js +63 -10
- package/packages/vibe64-runtime/src/server/workflowStepMachines.js +63 -2
- package/packages/vibe64-sessions/src/server/inputSchemas.js +5 -0
- package/packages/vibe64-sessions/src/server/service.js +8 -9
- package/packages/vibe64-terminals/src/server/actions.js +65 -0
- package/packages/vibe64-terminals/src/server/codexTerminal.js +608 -23
- package/packages/vibe64-terminals/src/server/commandTerminal.js +261 -4
- package/packages/vibe64-terminals/src/server/fixCodexJobs.js +420 -0
- package/packages/vibe64-terminals/src/server/inputSchemas.js +240 -0
- package/packages/vibe64-terminals/src/server/launchTargetTerminal.js +2 -0
- package/packages/vibe64-terminals/src/server/registerRoutes.js +226 -0
- package/packages/vibe64-terminals/src/server/service.js +140 -1
- package/packages/vibe64-terminals/src/server/targetToolchainTerminal.js +1 -1
- package/packages/vibe64-terminals/src/server/terminalShared.js +34 -0
- package/dist/assets/ProjectTypeGate-DStq4W4X.js +0 -1
- package/dist/assets/ProjectTypeGate-Dh2ycSoM.css +0 -1
- package/dist/assets/history-HQ_XliX2.js +0 -1
- package/dist/assets/home-B89EbUmA.js +0 -1
- package/dist/assets/index-16P0GeGq.js +0 -134
- package/dist/assets/index-eMhOXhf_.css +0 -1
- package/dist/assets/useStudioTerminal-D9TNb50w.js +0 -1
- package/dist/assets/vibe64SessionPanelModel-DvY_IbW3.js +0 -1
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import{_ as ze,c4 as g,a0 as z,di as M,$ as te,bR as Fe,cC as le,dl as He,cg as un,a1 as X,a4 as re,cy as Ts,cz as rt,cr as Wt,dg as _e,c1 as mt,a6 as W,i as ve,cG as c,Y as f,j as Rt,l as Ot,o as Lt,ce as Q,a3 as q,bV as ka,T as Aa,bO as qe,R as it,F as Ee,cf as Ve,bq as ca,bx as zt,by as da,bc as xs,v as mn,w as Ut,bt as fa,bN as Pt,y as vn,b3 as Mt,bH as ks,bA as xt,bd as Bi,b8 as pn,ax as Vn,b4 as gn,r as $i,dj as En,df as Fi,ai as ji,c$ as zi,ag as Ui,c7 as Hi,aB as As,c2 as Jt,x as Wi,bK as _s,m as Xt,k as Qt,G as Rn,cc as qi,u as tt,aZ as ln,bw as Es,V as dt,bM as Tn,b1 as Ki,b6 as Gi,b5 as Xi,ci as ma,bn as Rs,aX as Os,z as Mn,b as Ka,cZ as Ls,cM as Ps,dh as Ds,ad as Ns,de as Vs,Z as Zn,U as Ms,N as Bs,cv as $s,b$ as Fs,br as Qi,bB as js,ak as zs,cb as Je,bI as Us,bb as Ga,b2 as Hs,bl as Xa,b0 as rn,bg as On,A as Ji,a$ as Qa,dk as Ja,aY as Ws,bu as va,bi as qs,bE as Ks,b7 as Gs,bp as Xs,bo as Qs,d2 as Yi,d3 as Js,bL as Ys}from"./index-DqoYKexs.js";import{S as Yt,V as kt,e as Tt,z as Zt,w as pt,h as Zs,i as el,d as tl,g as bn,x as nl,u as al,c as Ya,b as Za,a as il,v as ol,j as sl,k as ll,m as rl,P as ul}from"./ProjectTypeGate-B3NHteXC.js";import{u as _a,t as cl}from"./useStudioTerminal-I8tuBymw.js";import{K as Bn,k as Xe,L as ct,O as ei}from"./studioGateApi-CFtez6lH.js";import{a as nt,y as pa,z as dl,w as fl,x as ml,J as $n,L as vl,B as pl,A as gl,q as bl,V as hl,o as yl,n as Sl,m as wl,b as ga,t as Cl,r as Il,e as Tl,l as xl,u as kl,F as xn,v as Al,g as _l,f as $t,I as Zi,H as eo,h as kn,C as to,j as no,D as ao,d as io,c as El,s as ti,S as Rl,K as Ol,G as Ll,M as Pl,E as Dl,i as Nl}from"./vibe64SessionPanelModel-DLdexNxC.js";import{a as Ke,w as oo,p as ni,r as St}from"./streamEvents-CIqegoLa.js";import{D as Vl,o as Ml}from"./xterm-BADreHn8.js";import{u as Bl,S as $l}from"./SetupReadinessGate-2twHjoYZ.js";const Fl={class:"vibe64-terminal-frame__heading"},jl={class:"vibe64-terminal-frame__title"},zl={class:"vibe64-terminal-frame__subtitle"},Ul={class:"vibe64-terminal-frame__footer"},Hl={__name:"Vibe64TerminalFrame",props:{commandPreview:{type:String,default:""},draggable:{type:Boolean,default:!1},error:{type:String,default:""},status:{type:String,default:""},subtitle:{type:String,default:""},terminalHostRef:{type:Function,default:null},title:{type:String,default:"Terminal"}},emits:["drag-start"],setup(e,{emit:n}){const a=e,t=n;function i(r){!a.draggable||r.button!==0||t("drag-start",r)}return(r,l)=>(g(),z(Tt,{rounded:"lg",color:"surface",class:"vibe64-terminal-frame"},{default:M(()=>[te("div",{class:Fe(["vibe64-terminal-frame__bar",{"vibe64-terminal-frame__bar--draggable":e.draggable}]),onPointerdown:i},[te("div",Fl,[te("div",jl,le(e.title),1),te("div",zl,le(e.subtitle),1)]),te("div",{class:"vibe64-terminal-frame__actions",onPointerdown:l[0]||(l[0]=He(()=>{},["stop"]))},[un(r.$slots,"actions",{},void 0,!0)],32)],34),e.error?(g(),z(Yt,{key:0,title:"Terminal needs attention",error:e.error,compact:"",class:"mb-2"},null,8,["error"])):X("",!0),te("div",{ref:e.terminalHostRef,class:"vibe64-terminal-frame__host"},null,512),te("div",Ul,[te("span",null,le(e.commandPreview||"No command running."),1),e.status?(g(),z(kt,{key:0,size:"x-small",variant:"tonal"},{default:M(()=>[re(le(e.status),1)]),_:1})):X("",!0)])]),_:3}))}},so=ze(Hl,[["__scopeId","data-v-7e4b8622"]]);function Wl({onlyFirst:e=!1}={}){const i="(?:\\u001B\\][\\s\\S]*?(?:\\u0007|\\u001B\\u005C|\\u009C))|[\\u001B\\u009B][[\\]()#;?]*(?:\\d{1,4}(?:[;:]\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]";return new RegExp(i,e?void 0:"g")}const ql=Wl();function Kl(e){if(typeof e!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof e}\``);return!e.includes("\x1B")&&!e.includes("")?e:e.replace(ql,"")}const wt="[[VIBE64_CONTEXT_START]]",lt="[[VIBE64_CONTEXT_END]]",gt="\x1B",hn="\x07",lo="",Ea="",ro=[144,152,157,158,159].map(e=>String.fromCharCode(e)).join(""),Gl=["\0-\b","\v","\f","-","-"].join(""),Xl=new RegExp(`${gt}\\][\\s\\S]*?(?:${hn}|${gt}\\\\)`,"gu"),Ql=new RegExp(`${gt}[PX^_][\\s\\S]*?(?:${hn}|${gt}\\\\)`,"gu"),Jl=new RegExp(`${gt}\\[[0-?]*[ -/]*[@-~]`,"gu"),Yl=new RegExp(`[${ro}][\\s\\S]*?(?:${hn}|${lo}|${gt}\\\\)`,"gu"),Zl=new RegExp(`${Ea}[0-?]*[ -/]*[@-~]`,"gu"),er=new RegExp(`${gt}[ -/]*[@-~]`,"gu"),tr=new RegExp(`[${Gl}]`,"gu"),uo=new Set(["]","P","X","^","_"]),nr=new Set([hn,lo]);function ar(e,n){for(let a=n;a<e.length;a+=1){if(e[a]===hn)return a+1;if(e[a]===gt&&e[a+1]==="\\")return a+2}return e.length}function ai(e,n){for(let a=n;a<e.length;a+=1){const t=e.charCodeAt(a);if(t>=64&&t<=126)return a+1}return e.length}function ir(e,n){for(let a=n;a<e.length;a+=1){if(nr.has(e[a]))return a+1;if(e[a]===gt&&e[a+1]==="\\")return a+2}return e.length}function co(e,n){const a=e[n]||"";if(!a)return n;if(a===gt){const t=e[n+1]||"";return uo.has(t)?ar(e,n+2):t==="["?ai(e,n+2):Math.min(n+2,e.length)}return a===Ea?ai(e,n+1):ro.includes(a)?ir(e,n+1):n}function Dt(e){const n=String(e||"").replace(Xl,"").replace(Ql,"").replace(Jl,"").replace(Yl,"").replace(Zl,"").replace(er,"");return Kl(n).replace(tr,"")}function or(e="",n=0){const a=e[n]||"";return a===gt?!uo.has(e[n+1]||""):a===Ea}function sr(e=""){const n=e.charCodeAt(0);return n>=0&&n<=8||n===11||n===12||n>=14&&n<=31||n>=127&&n<=159}function lr(e){const n=String(e||"");let a="";for(let t=0;t<n.length;){const i=co(n,t);if(i>t){or(n,t)&&(a+=n.slice(t,i)),t=i;continue}const r=n[t];sr(r)||(a+=r),t+=1}return a}function ba(e,n){const a=String(e||""),t=Math.min(a.length,n.length-1);for(let i=t;i>0;i-=1)if(n.startsWith(a.slice(a.length-i)))return i;return 0}function ii(e){const n=String(e||"");return n.startsWith(`\r
|
|
2
|
+
`)?n.slice(2):n.startsWith(`
|
|
3
|
+
`)||n.startsWith("\r")?n.slice(1):n}function rr(){let e=!1,n="";function a(){e=!1,n=""}function t(i=""){n+=String(i||"");let r="";for(;n;){if(e){const u=n.indexOf(lt);if(u<0){const s=ba(n,lt);return n=s>0?n.slice(n.length-s):"",r}n=ii(n.slice(u+lt.length)),e=!1;continue}const l=n.indexOf(wt),o=n.indexOf(lt);if(o>=0&&(l<0||o<l)){n=ii(n.slice(o+lt.length));continue}if(l<0){const u=ba(n,wt),s=n.length-u;return s>0&&(r+=n.slice(0,s)),n=u>0?n.slice(s):"",r}r+=n.slice(0,l),n=n.slice(l+wt.length),e=!0}return r}return{filterChunk:t,reset:a}}function ur(e){const n=String(e||"");let a="";const t=[];for(let i=0;i<n.length;){const r=co(n,i);if(r>i){i=r;continue}a+=n[i],t.push(i),i+=1}return{rawIndexes:t,text:a}}function ea(e,n,a){return n>=e.length?a:e[n]}function fo(e){const n=String(e||"");if(!n)return"";if(!n.includes(wt)&&!n.includes(lt))return n;const{rawIndexes:a,text:t}=ur(n);let i="",r=0,l=0;for(;l<t.length;){const o=t.indexOf(wt,l);if(o<0){const s=t.indexOf(lt,l);if(s>=0){let d=s+lt.length;t[d]===`
|
|
4
|
+
`&&(d+=1),r=ea(a,d,n.length),l=d;continue}const v=t.slice(l),m=ba(v,wt),h=m>0?ea(a,t.length-m,n.length):n.length;return`${i}${n.slice(r,h)}`.replaceAll(lt,"")}i+=n.slice(r,a[o]);const u=t.indexOf(lt,o+wt.length);if(u<0)return i;l=u+lt.length,r=ea(a,l,n.length)}return`${i}${n.slice(r)}`.replaceAll(lt,"")}const Fn=Ts("vibe64"),cr=`${Fn}/sessions`,oi=`${Fn}/codex-terminal`,mo=`${Fn}/tools`,dr=`${Fn}/fix-codex-jobs`;function At(e,n=""){return`${cr}/${encodeURIComponent(e)}${n}`}function Ra(e,n=""){const a=At(e,"/codex-terminal");return n?`${a}/${encodeURIComponent(n)}`:a}function Oa(e=""){return e?`${oi}/${encodeURIComponent(e)}`:oi}function La(e,n=""){const a=At(e,"/command-terminal");return n?`${a}/${encodeURIComponent(n)}`:a}function Pa(e,n=""){return`${mo}/${encodeURIComponent(e)}${n}`}function fr(e){return Pa(e,"/run")}function mr(e){return Pa(e,"/fix")}function vr(e,n=""){const a=Pa(e,"/terminal");return n?`${a}/${encodeURIComponent(n)}`:a}function vo(e,n=""){const a=`${dr}/${encodeURIComponent(e)}/terminal`;return n?`${a}/${encodeURIComponent(n)}`:a}function pr(e){return At(e,"/artifact-readiness")}function gr(e){return At(e,"/current-step/input")}function br(e){return At(e,"/terminal-failure-fix")}function hr(e){return At(e,"/artifact-readiness/stream")}function yr(e,n=""){const a=At(e,"/launch-terminal");return n?`${a}/${encodeURIComponent(n)}`:a}function Sr(e,n=""){const a=At(e,"/shell-terminal");return n?`${a}/${encodeURIComponent(n)}`:a}function wr(e,n){return Wt(`${Ra(e,n)}/ws`)}function Cr(e,n){return Wt(`${Oa(n)}/ws`)}function po(e,n){return Wt(`${La(e,n)}/ws`)}function Ir(e,n){return Wt(`${vr(e,n)}/ws`)}function Tr(e,n){return Wt(`${vo(e,n)}/ws`)}function go(e,n){return Wt(`${yr(e,n)}/ws`)}function xr(e,n){return Wt(`${Sr(e,n)}/ws`)}function kr(e={}){const n=e&&typeof e=="object"&&!Array.isArray(e)?e:{};return{actionId:String(n.actionId||""),actionLabel:String(n.actionLabel||""),attemptedCommand:String(n.attemptedCommand||""),closeError:String(n.closeError||""),commandPreview:String(n.commandPreview||""),exitCode:n.exitCode==null?"":String(n.exitCode),output:String(n.output||""),terminalSessionId:String(n.terminalSessionId||""),terminalStatus:String(n.terminalStatus||""),toolId:String(n.toolId||""),toolLabel:String(n.toolLabel||""),userMessage:String(n.userMessage||"")}}async function Ar(e){return rt.get(At(e,"/diff"))}async function bo(e){return rt.post(Ra(e),{})}async function _r(){return rt.post(Oa(),{})}async function Er(e,n){return rt.delete(Ra(e,n))}async function Rr(e,n){return rt.delete(Oa(n))}async function Or(e,n={}){return rt.post(La(e),n)}async function Lr(){return rt.get(mo)}async function Pr(e,n={}){return rt.post(fr(e),n)}async function Dr(e,n={}){return rt.post(mr(e),kr({...n,toolId:(n==null?void 0:n.toolId)||e}))}async function Nr(e,n){return rt.delete(vo(e,n))}async function Vr(e,n){return rt.delete(La(e,n))}async function Mr(e){return rt.get(pr(e))}async function Br(e,n={}){const a=n&&typeof n=="object"&&!Array.isArray(n)?n:{};return rt.post(gr(e),{...a,kind:a.kind||"ready"})}async function $r(e,n={}){const a=n&&typeof n=="object"&&!Array.isArray(n)?n:{};return rt.post(br(e),a)}const Fr={__name:"Vibe64FixCodexTerminal",props:{job:{default:null,type:Object},terminal:{default:null,type:Object}},emits:["closed"],setup(e,{emit:n}){const a=e,t=n,i=f(()=>{var x,P,Z;return String(((x=a.job)==null?void 0:x.id)||((Z=(P=a.terminal)==null?void 0:P.metadata)==null?void 0:Z.fixJobId)||"")}),r=f(()=>{var x;return String(((x=a.job)==null?void 0:x.subject)||"Ephemeral repair job")}),l=_a({displayFilter:rr(),webSocketUrl(x){return Tr(i.value,x)}}),{applyTerminalSession:o,closeTerminalSocket:u,connectTerminalSocket:s,disposeTerminalUi:v,setupTerminalUi:m,terminalCommandPreview:h,terminalError:d,terminalExited:p,terminalHost:I,terminalSessionId:S,terminalStatus:_}=l;function y(x){I.value=x}async function T(){var x;!((x=a.terminal)!=null&&x.id)||!i.value||(await m(),o(a.terminal,{fallbackStatus:"running"}),await s())}async function F(){const x=i.value,P=S.value;u(),x&&P&&await Nr(x,P).catch(()=>null),t("closed")}return _e(()=>{var x;return[i.value,((x=a.terminal)==null?void 0:x.id)||""].join(":")},T,{immediate:!0}),mt(()=>{v()}),(x,P)=>(g(),z(so,{"command-preview":c(h),error:c(d),status:c(_),subtitle:r.value,"terminal-host-ref":y,title:"Fix Codex"},{actions:M(()=>[W(ve,{disabled:!c(S),size:"small",variant:"text",onClick:F},{default:M(()=>[re(le(c(p)?"Close":"Stop job"),1)]),_:1},8,["disabled"])]),_:1},8,["command-preview","error","status","subtitle"]))}},jr={__name:"Vibe64FixCodexDialog",props:{job:{default:null,type:Object},modelValue:{default:!1,type:Boolean},terminal:{default:null,type:Object}},emits:["update:modelValue"],setup(e,{emit:n}){const a=e,t=n,i=f({get(){return a.modelValue},set(r){t("update:modelValue",r===!0)}});return(r,l)=>(g(),z(Lt,{modelValue:i.value,"onUpdate:modelValue":l[1]||(l[1]=o=>i.value=o),fullscreen:""},{default:M(()=>[W(Rt,{class:"vibe64-fix-codex-dialog"},{default:M(()=>[W(Ot,null,{default:M(()=>[e.job&&e.terminal?(g(),z(Fr,{key:0,job:e.job,terminal:e.terminal,onClosed:l[0]||(l[0]=o=>i.value=!1)},null,8,["job","terminal"])):X("",!0)]),_:1})]),_:1})]),_:1},8,["modelValue"]))}},jn=ze(jr,[["__scopeId","data-v-bef3ac2a"]]),zr=8;let Ur=0;const Nt=Q([]);function ho(e=0){const n=Number(e);return Number.isFinite(n)&&n>0?Math.round(n):0}function si(e=""){Nt.value=Nt.value.filter(n=>n.id!==e)}function yo(e=""){!e||Nt.value.some(n=>n.id===e)||(Nt.value=[...Nt.value,{id:e,width:0}])}function Hr(e="",n=0){yo(e);const a=ho(n);Nt.value=Nt.value.map(t=>t.id===e?{...t,width:a}:t)}function Wr(e=""){let n=0;for(const a of Nt.value){if(a.id===e)return n;n+=ho(a.width)+zr}return 0}function qr(e){const n=`floating-terminal-dock-${++Ur}`,a=f(()=>Wr(n));function t(i=0){c(e)&&Hr(n,i)}return _e(()=>!!c(e),i=>{if(i){yo(n);return}si(n)},{immediate:!0}),mt(()=>{si(n)}),{rightOffset:a,updateWidth:t}}function zn(){return typeof window>"u"||!window.localStorage?null:window.localStorage}function Kr(e="",n=null){var t;const a=String(e||"");if(!a)return n;try{const i=(t=zn())==null?void 0:t.getItem(a);return i?JSON.parse(i):n}catch{return n}}function Gr(e="",n=null){const a=String(e||""),t=zn();if(!(!a||!t))try{t.setItem(a,JSON.stringify(n))}catch{}}function So(e=""){const n=String(e||"");let a=0;for(let t=0;t<n.length;t+=1)a=Math.imul(a,31)+n.charCodeAt(t)>>>0;return a.toString(36)}const Xr=["aria-hidden"],Qr={__name:"Vibe64FloatingTerminalWindow",props:{minimizedWidth:{type:String,default:"min(28rem, calc(100vw - 1.5rem))"},minimized:{type:Boolean,default:!1},displayed:{type:Boolean,default:!0},storageKey:{type:String,default:""},visible:{type:Boolean,default:!1}},setup(e){const n=e,a=Q(null),t=Q({left:12,top:12}),i=Q({height:0,width:0}),r=f(()=>n.visible&&n.displayed&&n.minimized),{rightOffset:l,updateWidth:o}=qr(r);let u=null,s=null,v=!1;const m=f(()=>{if(n.minimized)return{"--ai-floating-terminal-minimized-right-offset":`${Math.round(l.value)}px`,"--ai-floating-terminal-minimized-width":n.minimizedWidth};const b={left:`${Math.round(t.value.left)}px`,top:`${Math.round(t.value.top)}px`};return i.value.width>0&&(b.width=`${Math.round(i.value.width)}px`),i.value.height>0&&(b.height=`${Math.round(i.value.height)}px`),b});function h(){return typeof window>"u"?{height:768,width:1024}:{height:window.innerHeight,width:window.innerWidth}}function d(){const b=h(),E=a.value;return i.value.width>0&&i.value.height>0?{height:i.value.height,width:i.value.width}:{height:(E==null?void 0:E.offsetHeight)||Math.min(b.height-24,704),width:(E==null?void 0:E.offsetWidth)||Math.min(b.width-24,1152)}}function p(b={}){const B=h(),H=d(),K=Math.max(12,B.width-H.width-12),ge=Math.max(12,B.height-H.height-12);return{left:Math.min(Math.max(12,Number(b.left||0)),K),top:Math.min(Math.max(12,Number(b.top||0)),ge)}}function I(b){const E=Number(b);return Number.isFinite(E)&&E>0?E:0}function S(){const b=Kr(n.storageKey,null);return b&&typeof b=="object"&&!Array.isArray(b)?b:null}function _(){const b=S();if(!b)return!1;const E=I(b.width),B=I(b.height);return i.value={height:B,width:E},t.value=p({left:Number(b.left||0),top:Number(b.top||0)}),!0}function y(){if(!n.storageKey||!n.visible||!n.displayed||n.minimized)return;const b=d();Gr(n.storageKey,{height:Math.round(b.height),left:Math.round(t.value.left),top:Math.round(t.value.top),width:Math.round(b.width)})}function T(){if(!n.visible||!n.displayed||n.minimized||_())return;const b=h(),E=d();t.value=p({left:(b.width-E.width)/2,top:(b.height-E.height)/2}),y()}function F(b){var E,B;n.minimized||b.button!==0||(b.preventDefault(),u={pointerId:b.pointerId,startLeft:t.value.left,startTop:t.value.top,startX:b.clientX,startY:b.clientY},(B=(E=b.currentTarget)==null?void 0:E.setPointerCapture)==null||B.call(E,b.pointerId),window.addEventListener("pointermove",x),window.addEventListener("pointerup",P),window.addEventListener("pointercancel",P))}function x(b){!u||b.pointerId!==u.pointerId||(t.value=p({left:u.startLeft+b.clientX-u.startX,top:u.startTop+b.clientY-u.startY}))}function P(){const b=!!u;u=null,!(typeof window>"u")&&(window.removeEventListener("pointermove",x),window.removeEventListener("pointerup",P),window.removeEventListener("pointercancel",P),b&&y())}function Z(){if(n.displayed){if(n.visible&&n.minimized){V();return}n.visible&&!n.minimized&&(t.value=p(t.value),y())}}function C(){typeof window>"u"||v||(v=!0,window.addEventListener("resize",Z))}function O(){typeof window>"u"||!v||(v=!1,window.removeEventListener("resize",Z))}function V(){var b;!n.visible||!n.displayed||!n.minimized||o(((b=a.value)==null?void 0:b.offsetWidth)||0)}function $(){var b;(b=s==null?void 0:s.disconnect)==null||b.call(s),s=null,!(typeof ResizeObserver>"u"||!a.value)&&(s=new ResizeObserver(()=>{const E=a.value;E&&(n.minimized?V():(i.value={height:E.offsetHeight,width:E.offsetWidth},Z()))}),s.observe(a.value))}return _e(()=>[n.visible,n.minimized,n.displayed],async([b,E,B])=>{var H;if(P(),!b){(H=s==null?void 0:s.disconnect)==null||H.call(s),s=null,O();return}B&&(C(),await qe(),E?V():T(),$())},{immediate:!0}),mt(()=>{var b;P(),(b=s==null?void 0:s.disconnect)==null||b.call(s),s=null,O()}),(b,E)=>(g(),z(Aa,{to:"body"},[e.visible?(g(),q("div",{key:0,class:Fe(["ai-floating-terminal-window",{"ai-floating-terminal-window--hidden":!e.displayed,"ai-floating-terminal-window--minimized":e.minimized}]),"aria-hidden":e.displayed?void 0:"true"},[te("div",{ref_key:"floatingWindow",ref:a,class:"ai-floating-terminal-window__panel",style:ka(m.value)},[un(b.$slots,"default",{startDrag:F},void 0)],4)],10,Xr)):X("",!0)]))}},Jr=ze(Qr,[["__scopeId","data-v-939877c0"]]),Yr="popup,width=1400,height=900,left=80,top=60",Zr=100,eu=50;function wo(e={}){return String(e.kind||"url")==="url"&&!!String(e.href||"").trim()}function Co(e={}){const n=(e==null?void 0:e.targetRoot)||(e==null?void 0:e.worktree)||(e==null?void 0:e.sessionRoot)||(e==null?void 0:e.sessionId)||"target";return`vibe64-launch-${So(n)}`}function tu(e={}){return`vibe64:floating-terminal:launch:${Co(e)}`}function nu(e={},n={},a=null){if(!wo(e))return null;const t=a||(typeof window<"u"?window:null);if(!(t!=null&&t.open))return null;const i=t.open(e.href,Co(n),Yr);if(!i)return null;try{i.opener=null}catch{}return typeof i.focus=="function"&&i.focus(),i}function au(e={}){return $n(e)}function iu(e=0){return new Promise(n=>setTimeout(n,e))}function ou({workflowCommand:e=!1}={}){return!!e}function su(e={}){return(e==null?void 0:e.launchReady)===!0||(e==null?void 0:e.launchReady)==="true"}function lu({busy:e=()=>!1,session:n=null,windowDisplayed:a=()=>!0}={}){const t=Zt(),i=Q(!1),r=Q(!1);let l="";const o=f(()=>Ke(n)||null),u=f(()=>{var oe;return String(((oe=o.value)==null?void 0:oe.sessionId)||"")}),s=f(()=>!!(u.value&&au(o.value||{}))),v=f(()=>t.api(nt,{surface:Xe})),m=f(()=>u.value?fl(v.value,u.value):""),h=f(()=>tu(o.value||{})),d=f(()=>Ke(a)!==!1),p=_a({webSocketUrl(oe){return go(u.value,oe)}}),{applyTerminalSession:I,closeTerminalSocket:S,connectTerminalSocket:_,disposeTerminalDisplay:y,disposeTerminalUi:T,resetTerminalDisplay:F,resetTerminalSessionState:x,sendCtrlC:P,setupTerminalUi:Z,terminalCommandPreview:C,terminalError:O,terminalExited:V,terminalExitCode:$,terminalHost:b,terminalMetadata:E,terminalOutput:B,terminalSessionId:H,terminalStarting:K,terminalStatus:ge}=p,ne=Bn({enabled:s,fallbackLoadError:"Launch targets could not be loaded.",path:m,queryKey:f(()=>ml(Xe,it,u.value)),refreshOnPull:!0}),A=pt({access:"never",apiSuffix:nt,buildCommandOptions:(oe,{context:Ne})=>({method:"POST",options:ct,path:pa(v.value,Ne.sessionId)}),buildRawPayload:(oe,{context:Ne})=>({launchTargetId:String(Ne.launchTargetId||"")}),fallbackRunError:"Launch target could not be started.",messages:{error:"Launch target could not be started."},ownershipFilter:it,placementSource:"vibe64.launch-target.start",suppressSuccessMessage:!0,surfaceId:Xe,writeMethod:"POST"}),J=pt({access:"never",apiSuffix:nt,buildCommandOptions:(oe,{context:Ne})=>({method:"POST",options:ct,path:dl(v.value,Ne.sessionId,Ne.terminalSessionId)}),fallbackRunError:"Launch target could not be stopped.",messages:{error:"Launch target could not be stopped."},ownershipFilter:it,placementSource:"vibe64.launch-target.stop",suppressSuccessMessage:!0,surfaceId:Xe,writeMethod:"POST"}),L=pt({access:"never",apiSuffix:nt,buildCommandOptions:(oe,{context:Ne})=>({method:"DELETE",options:ct,path:pa(v.value,Ne.sessionId,Ne.terminalSessionId)}),fallbackRunError:"Launch target terminal could not close.",messages:{error:"Launch target terminal could not close."},ownershipFilter:it,placementSource:"vibe64.launch-target.close",suppressSuccessMessage:!0,surfaceId:Xe,writeMethod:"DELETE"}),se=f(()=>ne.data.value||{}),U=f(()=>Array.isArray(se.value.launchTargets)?se.value.launchTargets:[]),k=f(()=>{const oe=se.value.activeTerminal;return oe&&typeof oe=="object"&&!Array.isArray(oe)?oe:null}),ee=f(()=>{var oe,Ne;return String(E.value.launchTargetId||((Ne=(oe=k.value)==null?void 0:oe.metadata)==null?void 0:Ne.launchTargetId)||"")}),ye=f(()=>U.value.find(oe=>oe.id===ee.value)||null),ue=f(()=>{var Ne,st;const oe=E.value.actions||((st=(Ne=k.value)==null?void 0:Ne.metadata)==null?void 0:st.actions)||[];return Array.isArray(oe)?oe.filter(he=>wo(he)):[]}),j=f(()=>{var oe;return su({...((oe=k.value)==null?void 0:oe.metadata)||{},...E.value||{}})}),D=f(()=>{var Ne;const oe=ge.value||((Ne=k.value)==null?void 0:Ne.status)||"";return oe==="running"||oe==="closing"||K.value}),G=f(()=>{var oe,Ne;if(ge.value==="exited"||((oe=k.value)==null?void 0:oe.status)==="exited"){const st=$.value??((Ne=k.value)==null?void 0:Ne.exitCode);return st&&st!==0?"failed":"stopped"}return D.value?j.value?"running":"starting":"stopped"}),be=f(()=>G.value==="running"?"Server is running":G.value==="starting"?"Server is starting":G.value==="failed"?"Server stopped with an error":"Server is stopped"),pe=f(()=>!!(Ke(e)||i.value||D.value)),Ie=f(()=>{var oe;return!!(H.value&&(ge.value||((oe=k.value)==null?void 0:oe.status))==="running")}),Le=f(()=>{var oe;return!!(H.value&&!D.value&&(V.value||((oe=k.value)==null?void 0:oe.status)==="exited"))}),je=f(()=>!!(H.value&&!D.value&&ee.value)),we=f(()=>!!(Ie.value&&ee.value)),Se=f(()=>!!B.value),Re=f(()=>!!(H.value||k.value)),Ue=f(()=>!!(d.value&&Re.value&&!r.value)),Pe=f(()=>!!(d.value&&Re.value&&r.value)),Ge=f(()=>{var oe;return((oe=ye.value)==null?void 0:oe.label)||"Run target"}),xe=f(()=>{var oe,Ne;if(D.value)return"Running";if(ge.value==="exited"||((oe=k.value)==null?void 0:oe.status)==="exited"){const st=$.value??((Ne=k.value)==null?void 0:Ne.exitCode);return st===0?"Exited":`Exited with code ${st}`}return ee.value?"Ready":"No launch target running."}),N=f(()=>!!((s.value||Re.value)&&(U.value.length>0||ne.loadError.value||Re.value)));async function Y(oe={},{applyDefaultDisplay:Ne=!0}={}){if(!u.value||pe.value||oe.available===!1||!oe.id)return!1;Ne&&(r.value=oe.defaultDisplay!=="minimized"),i.value=!0;try{const st=await A.run({launchTargetId:oe.id,sessionId:u.value});return w(st),await R(),await me(),!0}catch{return!1}finally{i.value=!1}}function w(oe={}){return!oe||oe.ok===!1||!oe.id?!1:(l=oe.id,I(oe,{fallbackStatus:"running"}),!0)}async function R(){return!H.value||!d.value?!1:_()}async function ae(){r.value=!0,await qe(),await Z()&&await R()}function fe(){r.value=!1,y(),R()}async function me(){return u.value?ne.reload():null}async function De(){if(!u.value||!Ie.value)return!1;i.value=!0;try{const oe=await J.run({sessionId:u.value,terminalSessionId:H.value});return w(oe),await me(),await de(),!0}catch{return!1}finally{i.value=!1}}async function de(){for(let oe=0;oe<eu;oe+=1){if(!D.value)return!0;await iu(Zr),await me()}return!1}async function ke(){if(!we.value)return!1;const oe=ye.value||U.value.find(Ne=>Ne.id===ee.value);return oe?(await De(),await de(),Y(oe,{applyDefaultDisplay:!1})):!1}async function We(){if(!je.value)return!1;const oe=ye.value||U.value.find(Ne=>Ne.id===ee.value);return oe?Y(oe,{applyDefaultDisplay:!1}):!1}async function Me(){if(!u.value||!Le.value)return!1;i.value=!0;try{return await L.run({sessionId:u.value,terminalSessionId:H.value}),S(),x(),F(),l="",r.value=!1,await me(),!0}catch{return!1}finally{i.value=!1}}async function vt(){var oe;return!B.value||typeof navigator>"u"||!((oe=navigator.clipboard)!=null&&oe.writeText)?!1:(await navigator.clipboard.writeText(B.value),!0)}function en(oe={}){return nu(oe,o.value)}function Bt(oe){b.value=oe,oe&&r.value&&(Z(),R())}return _e(k,oe=>{if(!(oe!=null&&oe.id)){H.value||(l="");return}oe.id!==l&&(S(),F(),l=oe.id),I(oe,{fallbackStatus:oe.status||"running"}),R()},{immediate:!0}),_e(r,async oe=>{oe?(await qe(),await Z()&&await R()):(y(),R())}),_e(d,oe=>{if(oe){me(),R();return}S(),y()}),_e(u,()=>{l="",S(),y(),x(),F(),r.value=!1}),mt(()=>{T()}),{activeLaunchTarget:ye,activeLaunchTargetId:ee,activeTerminal:k,closeTerminal:Me,copyLog:vt,expandTerminal:ae,launchActions:ue,launchButtonsDisabled:pe,launchTargets:U,loading:ne.isLoading,loadError:ne.loadError,minimizeTerminal:fe,openAction:en,operationBusy:i,refresh:me,restartTerminal:ke,retryTerminal:We,run:Y,sendCtrlC:P,setTerminalHost:Bt,stopTerminal:De,terminalCanClose:Le,terminalCanCopyLog:Se,terminalCanRestart:we,terminalCanRetry:je,terminalCanStop:Ie,terminalCommandPreview:C,terminalDisplayed:d,terminalDockVisible:Ue,terminalError:O,terminalExpanded:r,terminalExited:V,terminalExitCode:$,terminalHost:b,terminalIndicatorLabel:be,terminalIndicatorState:G,terminalIsRunning:D,terminalLaunchReady:j,terminalMetadata:E,terminalOutput:B,terminalSessionId:H,terminalStarting:K,terminalStatus:ge,terminalSubtitle:xe,terminalTitle:Ge,terminalVisible:Re,terminalWindowVisible:Pe,terminalWindowStorageKey:h,visible:N}}function Un(){const e=Q(!1),n=Q(null),a=Q(null);function t(r={}){return(r==null?void 0:r.ok)===!1?!1:(n.value=r.fixJob||null,a.value=r.id?r:null,e.value=!!(n.value&&a.value),e.value)}function i(){e.value=!1}return{closeFixCodexDialog:i,fixDialogOpen:e,fixJob:n,fixTerminal:a,openFixCodexDialog:t}}function ru(e={}){return{actionId:String(e.actionId||""),actionLabel:String(e.actionLabel||""),attemptedCommand:String(e.attemptedCommand||""),closeError:String(e.closeError||""),commandPreview:String(e.commandPreview||""),currentStep:String(e.currentStep||""),exitCode:e.exitCode==null?"":String(e.exitCode),launchTargetId:String(e.launchTargetId||""),launchTargetLabel:String(e.launchTargetLabel||""),output:String(e.output||""),sessionId:String(e.sessionId||""),shellTarget:String(e.shellTarget||""),stepStatus:String(e.stepStatus||""),terminalKind:String(e.terminalKind||""),terminalSessionId:String(e.terminalSessionId||""),terminalStatus:String(e.terminalStatus||""),userMessage:String(e.userMessage||"")}}async function Hn(e={}){const n=ru(e);return $r(n.sessionId,n)}const uu=["title"],cu=["aria-label","title"],du={__name:"Vibe64LaunchControls",props:{buttonLabel:{default:"Run",type:String},buttonSize:{default:"small",type:String},buttonVariant:{default:"tonal",type:String},prominent:{default:!1,type:Boolean},busy:{type:Boolean,default:!1},fixCommandFailure:{type:Function,default:null},session:{type:Object,default:null},windowDisplayed:{type:Boolean,default:!0},workflowCommand:{type:Boolean,default:!1}},setup(e){const n=e,{activeLaunchTarget:a,activeLaunchTargetId:t,closeTerminal:i,copyLog:r,expandTerminal:l,launchActions:o,launchButtonsDisabled:u,launchTargets:s,loading:v,loadError:m,minimizeTerminal:h,openAction:d,operationBusy:p,restartTerminal:I,retryTerminal:S,run:_,setTerminalHost:y,stopTerminal:T,terminalCanClose:F,terminalCanCopyLog:x,terminalCanRestart:P,terminalCanRetry:Z,terminalCanStop:C,terminalCommandPreview:O,terminalDisplayed:V,terminalDockVisible:$,terminalError:b,terminalExitCode:E,terminalIndicatorLabel:B,terminalIndicatorState:H,terminalIsRunning:K,terminalMetadata:ge,terminalOutput:ne,terminalSessionId:A,terminalStatus:J,terminalSubtitle:L,terminalTitle:se,terminalVisible:U,terminalWindowVisible:k,terminalWindowStorageKey:ee,visible:ye}=lu({windowDisplayed:()=>n.windowDisplayed,busy:()=>n.busy,session:()=>n.session}),{fixDialogOpen:ue,fixJob:j,fixTerminal:D,openFixCodexDialog:G}=Un(),be=f(()=>!!(u.value||v.value||s.value.length<1)),pe=f(()=>!!(b.value||J.value==="exited"&&E.value!==0)),Ie=f(()=>!!(ou({workflowCommand:n.workflowCommand})&&!K.value&&pe.value&&(ne.value||O.value||b.value)));async function Le(){var we,Se,Re;if(!Ie.value)return null;h();const je=await Hn({attemptedCommand:String(((we=ge.value)==null?void 0:we.attemptedCommand)||""),closeError:b.value,commandPreview:O.value,exitCode:E.value,launchTargetId:t.value,launchTargetLabel:((Se=a.value)==null?void 0:Se.label)||t.value,output:ne.value,sessionId:((Re=n.session)==null?void 0:Re.sessionId)||"",terminalKind:"launch",terminalSessionId:A.value,terminalStatus:J.value});return typeof n.fixCommandFailure=="function"&&n.fixCommandFailure(je),G(je),je}return(je,we)=>c(ye)?(g(),q("div",{key:0,class:Fe(["vibe64-launch-controls",{"vibe64-launch-controls--prominent":e.prominent}])},[c($)?(g(),q("div",{key:0,class:"vibe64-launch-controls__dock",title:c(se)},[te("span",{class:Fe(["vibe64-launch-controls__status-dot",`vibe64-launch-controls__status-dot--${c(H)}`]),"aria-label":c(B),title:c(B)},null,10,cu),(g(!0),q(Ee,null,Ve(c(o),Se=>(g(),z(ve,{key:Se.id||Se.href,icon:c(ca),size:"small",title:Se.label||Se.href,variant:"text",onClick:Re=>c(d)(Se)},null,8,["icon","title","onClick"]))),128)),c(Z)?(g(),z(ve,{key:0,disabled:c(p),icon:c(zt),size:"small",title:"Retry",variant:"text",onClick:c(S)},null,8,["disabled","icon","onClick"])):X("",!0),c(P)?(g(),z(ve,{key:1,disabled:c(p),icon:c(da),size:"small",title:"Restart",variant:"text",onClick:c(I)},null,8,["disabled","icon","onClick"])):X("",!0),W(ve,{icon:c(xs),size:"small",title:"Show launch terminal",variant:"text",onClick:c(l)},null,8,["icon","onClick"])],8,uu)):!c(U)&&c(s).length>0?(g(),z(vn,{key:1,location:"bottom end"},{activator:M(({props:Se})=>[W(ve,Pt(Se,{class:"vibe64-launch-controls__run-button",color:"primary",disabled:be.value,loading:c(v),"prepend-icon":c(fa),size:e.buttonSize,title:"Run target",variant:e.buttonVariant}),{default:M(()=>[re(le(e.buttonLabel),1)]),_:1},16,["disabled","loading","prepend-icon","size","variant"])]),default:M(()=>[W(mn,{class:"vibe64-launch-controls__menu",density:"compact"},{default:M(()=>[(g(!0),q(Ee,null,Ve(c(s),Se=>(g(),z(Ut,{key:Se.id,disabled:c(u)||Se.available===!1,"prepend-icon":c(fa),subtitle:Se.disabledReason||"",title:Se.label,onClick:Re=>c(_)(Se)},null,8,["disabled","prepend-icon","subtitle","title","onClick"]))),128))]),_:1})]),_:1})):X("",!0),c(m)?(g(),z(kt,{key:2,color:"warning",size:"small",variant:"tonal",title:c(m)},{default:M(()=>[...we[1]||(we[1]=[re(" Launch unavailable ",-1)])]),_:1},8,["title"])):X("",!0),W(Jr,{displayed:c(V),minimized:!1,"storage-key":c(ee),visible:c(k)},{default:M(({startDrag:Se})=>[W(so,{class:"vibe64-launch-controls__terminal","command-preview":c(O),draggable:"",error:c(b),status:c(J),subtitle:c(L),"terminal-host-ref":c(y),title:c(se),onDragStart:Se},{actions:M(()=>[W(ve,{icon:c(Mt),size:"small",title:"Minimize terminal",variant:"text",onClick:c(h)},null,8,["icon","onClick"]),(g(!0),q(Ee,null,Ve(c(o),Re=>(g(),z(ve,{key:`window:${Re.id||Re.href}`,color:"primary","prepend-icon":c(ca),size:"small",title:Re.href,variant:"tonal",onClick:Ue=>c(d)(Re)},{default:M(()=>[re(le(Re.label||"Open"),1)]),_:2},1032,["prepend-icon","title","onClick"]))),128)),c(P)?(g(),z(ve,{key:0,color:"primary",disabled:c(p),"prepend-icon":c(da),size:"small",variant:"tonal",onClick:c(I)},{default:M(()=>[...we[2]||(we[2]=[re(" Restart ",-1)])]),_:1},8,["disabled","prepend-icon","onClick"])):X("",!0),c(C)?(g(),z(ve,{key:1,disabled:c(p),"prepend-icon":c(ks),size:"small",variant:"tonal",onClick:c(T)},{default:M(()=>[...we[3]||(we[3]=[re(" Stop ",-1)])]),_:1},8,["disabled","prepend-icon","onClick"])):X("",!0),c(Z)?(g(),z(ve,{key:2,color:"primary",disabled:c(p),"prepend-icon":c(zt),size:"small",variant:"flat",onClick:c(S)},{default:M(()=>[...we[4]||(we[4]=[re(" Retry ",-1)])]),_:1},8,["disabled","prepend-icon","onClick"])):X("",!0),Ie.value?(g(),z(ve,{key:3,color:"primary","prepend-icon":c(xt),size:"small",variant:"tonal",onClick:Le},{default:M(()=>[...we[5]||(we[5]=[re(" Get AI to fix it ",-1)])]),_:1},8,["prepend-icon"])):X("",!0),c(x)?(g(),z(ve,{key:4,icon:c(Bi),size:"small",title:"Copy log",variant:"text",onClick:c(r)},null,8,["icon","onClick"])):X("",!0),c(F)?(g(),z(ve,{key:5,disabled:c(p),"prepend-icon":c(pn),size:"small",variant:"text",onClick:c(i)},{default:M(()=>[...we[6]||(we[6]=[re(" Close ",-1)])]),_:1},8,["disabled","prepend-icon","onClick"])):X("",!0)]),_:1},8,["command-preview","error","status","subtitle","terminal-host-ref","title","onDragStart"])]),_:1},8,["displayed","storage-key","visible"]),W(jn,{modelValue:c(ue),"onUpdate:modelValue":we[0]||(we[0]=Se=>Vn(ue)?ue.value=Se:null),job:c(j),terminal:c(D)},null,8,["modelValue","job","terminal"])],2)):X("",!0)}},Io=ze(du,[["__scopeId","data-v-13c14012"]]),fu=500;function mu({aiFixAvailable:e=!1,terminalCommandPreview:n="",terminalError:a="",terminalExited:t=!1,terminalExitCode:i=null,terminalOutput:r="",terminalRunning:l=!1}={}){return!!(e&&!l&&(a||t&&i!==0)&&(r||n||a))}function vu(e,n){const a=Q(!1),t=Q(e.initialExpanded!==!1),i=Zt();let r=null,l="",o="",u="",s="";const v=f(()=>{var de;return((de=e.session)==null?void 0:de.sessionId)||""}),m=f(()=>{var de;return((de=e.action)==null?void 0:de.id)||""}),h=f(()=>{var de;return((de=e.action)==null?void 0:de.label)||""}),d=f(()=>{var de;return((de=e.launchTarget)==null?void 0:de.id)||""}),p=f(()=>{var de;return((de=e.launchTarget)==null?void 0:de.label)||""}),I=f(()=>e.shellTarget||""),S=f(()=>i.api(nt,{surface:Xe})),_=f(()=>i.api(hl,{surface:Xe})),y=f(()=>e.terminalKind==="launch"),T=f(()=>e.terminalKind==="shell"),F=f(()=>e.terminalKind==="tool"),x=f(()=>e.title?e.title:y.value?"Launch terminal":T.value?"Shell terminal":"Command terminal"),P=f(()=>y.value?p.value||"Run a launch target.":T.value?I.value==="main"?"Main repo":"Session worktree":F.value?h.value||"Project tool":h.value||"Run adapter commands here."),Z=f(()=>y.value?"Launch terminal failed to start.":F.value?"Project tool failed to start.":T.value?"Shell terminal failed to start.":"Command terminal failed to start."),C=f(()=>F.value?!!m.value:!!(v.value&&(y.value&&d.value||T.value&&I.value||m.value)));function O({sessionId:de="",terminalKind:ke="command",terminalSessionId:We=""}={}){return ke==="launch"?pa(S.value,de,We):ke==="shell"?vl(S.value,de,We):ke==="tool"?We?pl(_.value,m.value,We):gl(_.value,m.value):bl(S.value,de,We)}const V=pt({access:"never",apiSuffix:nt,buildCommandOptions:(de,{context:ke})=>({method:"POST",options:ct,path:O(ke)}),buildRawPayload:(de,{context:ke})=>ke.terminalKind==="launch"?{launchTargetId:String(ke.launchTargetId||"")}:ke.terminalKind==="command"?{actionId:String(ke.actionId||""),advanceOnSuccess:ke.advanceOnSuccess===!0,input:ke.actionInput||{}}:ke.terminalKind==="shell"?{reuseRunning:ke.reuseRunning!==!1,target:String(ke.shellTarget||"")}:ke.terminalKind==="tool"?{parameters:ke.actionInput||{}}:{},fallbackRunError:"Terminal failed to start.",messages:{error:"Terminal failed to start."},ownershipFilter:it,placementSource:"vibe64.terminal.start",suppressSuccessMessage:!0,surfaceId:Xe,writeMethod:"POST"}),$=pt({access:"never",apiSuffix:nt,buildCommandOptions:(de,{context:ke})=>({method:"DELETE",options:ct,path:O(ke)}),fallbackRunError:"Terminal could not close.",messages:{error:"Terminal could not close."},ownershipFilter:it,placementSource:"vibe64.terminal.close",suppressSuccessMessage:!0,surfaceId:Xe,writeMethod:"DELETE"}),b=_a({onSessionUpdate:Ue,onStatusUpdate:Ge,webSocketUrl(de){return y.value?go(v.value,de):T.value?xr(v.value,de):F.value?Ir(m.value,de):po(v.value,de)}}),{applyTerminalSession:E,closeTerminalSocket:B,connectTerminalSocket:H,disposeTerminalUi:K,focusTerminal:ge,resetTerminalDisplay:ne,resetTerminalSessionState:A,sendCtrlC:J,setupTerminalUi:L,terminalCommandPreview:se,terminalError:U,terminalExited:k,terminalExitCode:ee,terminalHost:ye,terminalMetadata:ue,terminalOutput:j,terminalSessionId:D,terminalStarting:G,terminalStatus:be}=b,pe=f(()=>!!(C.value&&(U.value||a.value||k.value&&ee.value!==0))),Ie=f(()=>mu({aiFixAvailable:e.aiFixAvailable,sessionId:v.value,terminalCommandPreview:se.value,terminalError:U.value,terminalExited:k.value,terminalExitCode:ee.value,terminalOutput:j.value,terminalRunning:Le()}));function Le(de=be.value){return de==="running"||de==="closing"||G.value}function je(de={}){var ke;return y.value&&((ke=de==null?void 0:de.metadata)==null?void 0:ke.launchReady)===!0}function we(){n("running-changed",Le())}function Se(de){const ke=de===!0;t.value!==ke&&(t.value=ke,n("expanded-changed",ke))}function Re(de={}){!je(de)||s===de.id||(s=de.id,n("ready",{metadata:de.metadata||{},sessionId:v.value,terminalSessionId:de.id||D.value}))}function Ue(de={}){Re(de)}function Pe(de,ke=""){if(!D.value||l===D.value)return;l=D.value;const We=()=>{n("finished",{actionId:m.value,closeError:String(ke||U.value||""),exitCode:de,sessionId:v.value})},Me=Math.max(0,Number(e.finishedHoldMs??fu));if(Me>0){window.setTimeout(We,Me);return}We()}function Ge({closeError:de="",exitCode:ke=null,status:We=""}={}){U.value=String(de||U.value||""),we(),We==="exited"&&Pe(ke,de)}async function xe(){if(!C.value)return!1;if(r)return r;r=N();try{return await r}finally{r=null}}async function N(){var de,ke,We;G.value=!0,we(),U.value="",e.initialExpanded!==!1&&Se(!0);try{if(!ye.value)return!1;if(!await L())return U.value="Terminal view is not ready yet.",!1;a.value=!1;const Me=await V.run({actionId:m.value,actionInput:e.actionInput||{},advanceOnSuccess:((de=e.action)==null?void 0:de.advanceOnSuccess)===!0,launchTargetId:d.value,reuseRunning:e.reuseRunning!==!1,sessionId:v.value,shellTarget:I.value,terminalKind:e.terminalKind});if((Me==null?void 0:Me.ok)===!1)throw new Error(Me.error||((We=(ke=Me.errors)==null?void 0:ke[0])==null?void 0:We.message)||Z.value);if(!Me)throw new Error(Z.value);const vt=Me.id||"";return vt&&vt!==D.value&&(B(),ne(),l="",s=""),E(Me,{fallbackStatus:"running"}),n("started",{metadata:Me.metadata||{},sessionId:v.value,terminalSessionId:D.value}),Re({id:D.value,metadata:ue.value}),we(),H()}catch(Me){return U.value=String((Me==null?void 0:Me.message)||Me||Z.value),!1}finally{G.value=!1,we()}}async function Y(){if(!u||u===o||!ye.value||!C.value)return;o=u,await xe()}async function w({emitClosed:de=!0}={}){a.value=!0,we();const ke=fe(v.value);de&&e.emitClosedBeforeServerAck&&n("closed"),await ke,de&&!e.emitClosedBeforeServerAck&&n("closed")}async function R(){await w({emitClosed:!1}),ne(),l="",s="",a.value=!1,await xe()}async function ae(){var ke;if(!Ie.value)return;Se(!1);const de={actionId:m.value,actionLabel:h.value,attemptedCommand:String(((ke=ue.value)==null?void 0:ke.attemptedCommand)||""),closeError:U.value,commandPreview:se.value,exitCode:ee.value,launchTargetId:d.value,launchTargetLabel:p.value,output:j.value,sessionId:v.value,shellTarget:I.value,terminalKind:e.terminalKind,terminalSessionId:D.value,terminalStatus:be.value,toolId:m.value,toolLabel:h.value};if(F.value){n("fix-requested",await Dr(m.value,de));return}n("fix-requested",await Hn({...de}))}function fe(de=v.value){const ke=D.value;return A(),B(),!ke||!de?Promise.resolve(null):$.run({sessionId:de,terminalKind:e.terminalKind,terminalSessionId:ke}).catch(()=>null)}function me(){Se(!t.value),t.value&&L()}async function De(){return t.value||(Se(!0),await qe()),ge()}return _e(()=>e.startRequestKey,async de=>{const ke=String(de||"");if(!ke){u="";return}u=ke,await Y()},{immediate:!0}),_e(v,(de,ke)=>{fe(ke),ne(),o="",u="",l="",s="",a.value=!1,we()}),_e(ye,de=>{de&&(L(),Y())},{flush:"post"}),mt(()=>{fe(v.value),K(),n("running-changed",!1)}),{canRequestAiFix:Ie,canRetry:pe,closeTerminal:w,expanded:t,focusTerminal:De,restartTerminal:R,requestAiFix:ae,sendCtrlC:J,startTerminal:xe,terminalCommandPreview:se,terminalError:U,terminalExited:k,terminalHost:ye,terminalSessionId:D,terminalStarting:G,terminalStatus:be,terminalSubtitle:P,terminalTitle:x,toggleExpanded:me}}const pu={class:"ai-command-terminal__heading"},gu={class:"ai-command-terminal__title"},bu={class:"ai-command-terminal__subtitle"},hu={class:"ai-command-terminal__body"},yu={class:"ai-command-terminal__footer"},Su={__name:"Vibe64CommandTerminal",props:{action:{type:Object,default:null},actionInput:{type:Object,default:()=>({})},aiFixAvailable:{type:Boolean,default:!1},draggable:{type:Boolean,default:!1},initialExpanded:{type:Boolean,default:!0},finishedHoldMs:{type:Number,default:500},launchTarget:{type:Object,default:null},emitClosedBeforeServerAck:{type:Boolean,default:!1},reuseRunning:{type:Boolean,default:!0},session:{type:Object,default:null},shellTarget:{type:String,default:""},showInterrupt:{type:Boolean,default:!0},startRequestKey:{type:[String,Number],default:""},terminalKind:{type:String,default:"command"},title:{type:String,default:""}},emits:["closed","drag-start","expanded-changed","finished","fix-requested","ready","running-changed","started"],setup(e,{expose:n,emit:a}){const t=e,i=a,{canRequestAiFix:r,canRetry:l,closeTerminal:o,expanded:u,focusTerminal:s,requestAiFix:v,restartTerminal:m,sendCtrlC:h,startTerminal:d,terminalCommandPreview:p,terminalError:I,terminalExited:S,terminalHost:_,terminalSessionId:y,terminalStarting:T,terminalStatus:F,terminalSubtitle:x,terminalTitle:P,toggleExpanded:Z}=vu(t,i);n({focus:s,start:d});function C(O){!t.draggable||O.button!==0||i("drag-start",O)}return(O,V)=>(g(),z(Tt,{rounded:"lg",color:"surface",class:Fe(["ai-command-terminal",{"ai-command-terminal--collapsed":!c(u),"ai-command-terminal--launch":e.terminalKind==="launch","ai-command-terminal--shell":e.terminalKind==="shell"}])},{default:M(()=>[te("div",{class:Fe(["ai-command-terminal__bar",{"ai-command-terminal__bar--draggable":e.draggable}]),onPointerdown:C},[te("div",pu,[un(O.$slots,"heading",{subtitle:c(x),title:c(P)},()=>[te("div",gu,le(c(P)),1),te("div",bu,le(c(x)),1)],!0)]),te("div",{class:"ai-command-terminal__actions",onPointerdown:V[0]||(V[0]=He(()=>{},["stop"]))},[un(O.$slots,"header-actions",{},void 0,!0),W(ve,{icon:c(u)?c(Mt):c(gn),size:"small",title:c(u)?"Minimize terminal":"Expand terminal",variant:"text",onClick:c(Z)},null,8,["icon","title","onClick"]),c(r)?(g(),z(ve,{key:0,color:"primary","prepend-icon":c(xt),size:"small",variant:"tonal",onClick:c(v)},{default:M(()=>[...V[1]||(V[1]=[re(" Get AI to fix it ",-1)])]),_:1},8,["prepend-icon","onClick"])):X("",!0),c(l)?(g(),z(ve,{key:1,color:"primary",loading:c(T),size:"small",variant:"flat",onClick:c(m)},{default:M(()=>[...V[2]||(V[2]=[re(" Retry ",-1)])]),_:1},8,["loading","onClick"])):X("",!0),e.showInterrupt?(g(),z(ve,{key:2,disabled:!c(y)||c(S),size:"small",variant:"text",onClick:c(h)},{default:M(()=>[...V[3]||(V[3]=[re(" Ctrl-C ",-1)])]),_:1},8,["disabled","onClick"])):X("",!0),W(ve,{disabled:!c(y),size:"small",variant:"text",onClick:c(o)},{default:M(()=>[...V[4]||(V[4]=[re(" Close ",-1)])]),_:1},8,["disabled","onClick"])],32)],34),W($i,null,{default:M(()=>[En(te("div",hu,[c(I)?(g(),z(Yt,{key:0,title:"Terminal needs attention",error:c(I),compact:"",class:"mb-2"},null,8,["error"])):X("",!0),te("div",{ref_key:"terminalHost",ref:_,class:"ai-command-terminal__host"},null,512),te("div",yu,[te("span",null,le(c(p)||"No command running."),1),c(F)?(g(),z(kt,{key:0,size:"x-small",variant:"tonal"},{default:M(()=>[re(le(c(F)),1)]),_:1})):X("",!0)])],512),[[Fi,c(u)]])]),_:1})]),_:3},8,["class"]))}},Da=ze(Su,[["__scopeId","data-v-8ba9ed7b"]]),wu=Hi({...As(),...el()},"VForm"),Cu=ji()({name:"VForm",props:wu(),emits:{"update:modelValue":e=>!0,submit:e=>!0},setup(e,{slots:n,emit:a}){const t=Zs(e),i=Q();function r(o){o.preventDefault(),t.reset()}function l(o){const u=o,s=t.validate();u.then=s.then.bind(s),u.catch=s.catch.bind(s),u.finally=s.finally.bind(s),a("submit",u),u.defaultPrevented||s.then(({valid:v})=>{var m;v&&((m=i.value)==null||m.submit())}),u.preventDefault()}return zi(()=>{var o;return te("form",{ref:i,class:Fe(["v-form",e.class]),style:ka(e.style),novalidate:!0,onReset:r,onSubmit:l},[(o=n.default)==null?void 0:o.call(n,{errors:t.errors.value,isDisabled:t.isDisabled.value,isReadonly:t.isReadonly.value,isValidating:t.isValidating.value,isValid:t.isValid.value,items:t.items.value,validate:t.validate,reset:t.reset,resetValidation:t.resetValidation})])}),Ui(t,i)}}),Iu={class:"vibe64-project-tools"},Tu={__name:"Vibe64ProjectTools",emits:["global-codex-open","global-codex-update"],setup(e,{emit:n}){const a=n,t=Q(!1),i=Q(!1),r=Q([]),l=Q(null),o=Q(!1),u=Q(!1),s=Q(!1),v=Q(null),m=Q(""),h=Q({}),d=qi({}),{fixDialogOpen:p,fixJob:I,fixTerminal:S,openFixCodexDialog:_}=Un(),y=f(()=>{var $;return Array.isArray(($=l.value)==null?void 0:$.parameters)?l.value.parameters:[]});async function T(){if(!t.value){t.value=!0;try{const $=await Lr();r.value=Array.isArray($==null?void 0:$.tools)?$.tools:[]}finally{t.value=!1}}}function F($={}){for(const b of Object.keys(d))delete d[b];for(const b of Array.isArray($.parameters)?$.parameters:[])d[b.id]=b.defaultValue??""}function x($={}){if($.enabled===!0){if(l.value=$,F($),i.value=!1,y.value.length){o.value=!0;return}Z({})}}function P(){o.value=!1,Z({...d})}function Z($={}){var b;if(h.value=$,(b=l.value)!=null&&b.requiresConfirmation){u.value=!0;return}O()}function C(){u.value=!1,O()}async function O(){const $=l.value;if($!=null&&$.id){if($.type==="prompt"){const b=await Pr($.id,{parameters:h.value});(b==null?void 0:b.ok)!==!1&&(a("global-codex-update",b),a("global-codex-open"));return}v.value=$,m.value=`${$.id}:${Date.now()}`,s.value=!0}}const V=_;return Jt(T),($,b)=>(g(),q("div",Iu,[W(vn,{modelValue:i.value,"onUpdate:modelValue":b[0]||(b[0]=E=>i.value=E),location:"bottom end",transition:"scale-transition"},{activator:M(({props:E})=>[W(ve,Pt(E,{"append-icon":c(Mt),loading:t.value,"prepend-icon":c(_s),size:"small",type:"button",variant:"tonal",onClick:T}),{default:M(()=>[...b[8]||(b[8]=[re(" Tools ",-1)])]),_:1},16,["append-icon","loading","prepend-icon"])]),default:M(()=>[W(mn,{class:"vibe64-project-tools__menu",density:"comfortable",lines:"two",nav:""},{default:M(()=>[W(Wi,null,{default:M(()=>[...b[9]||(b[9]=[re("Project tools",-1)])]),_:1}),(g(!0),q(Ee,null,Ve(r.value,E=>(g(),z(Ut,{key:E.id,disabled:E.enabled!==!0,subtitle:E.enabled===!0?E.description:E.disabledReason,title:E.label,onClick:B=>x(E)},null,8,["disabled","subtitle","title","onClick"]))),128)),!r.value.length&&!t.value?(g(),z(Ut,{key:0,disabled:"",subtitle:"No project tools are available.",title:"No tools"})):X("",!0)]),_:1})]),_:1},8,["modelValue"]),W(Lt,{modelValue:o.value,"onUpdate:modelValue":b[2]||(b[2]=E=>o.value=E),"max-width":"34rem"},{default:M(()=>[W(Rt,null,{default:M(()=>[W(Xt,null,{default:M(()=>{var E;return[re(le((E=l.value)==null?void 0:E.label),1)]}),_:1}),W(Ot,null,{default:M(()=>[W(Cu,{class:"vibe64-project-tools__form",onSubmit:He(P,["prevent"])},{default:M(()=>[(g(!0),q(Ee,null,Ve(y.value,E=>(g(),q(Ee,{key:E.id},[E.type==="enum"?(g(),z(tl,{key:0,modelValue:d[E.id],"onUpdate:modelValue":B=>d[E.id]=B,items:E.options,"item-title":"label","item-value":"value",label:E.label,hint:E.description,"persistent-hint":"",density:"compact"},null,8,["modelValue","onUpdate:modelValue","items","label","hint"])):(g(),z(bn,{key:1,modelValue:d[E.id],"onUpdate:modelValue":B=>d[E.id]=B,type:E.type==="integer"?"number":"text",label:E.label,hint:E.description,"persistent-hint":"",density:"compact"},null,8,["modelValue","onUpdate:modelValue","type","label","hint"]))],64))),128))]),_:1})]),_:1}),W(Qt,null,{default:M(()=>[W(Rn),W(ve,{variant:"text",onClick:b[1]||(b[1]=E=>o.value=!1)},{default:M(()=>[...b[10]||(b[10]=[re("Cancel",-1)])]),_:1}),W(ve,{color:"primary",variant:"flat",onClick:P},{default:M(()=>[...b[11]||(b[11]=[re("Run",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"]),W(Lt,{modelValue:u.value,"onUpdate:modelValue":b[4]||(b[4]=E=>u.value=E),"max-width":"32rem"},{default:M(()=>[W(Rt,null,{default:M(()=>[W(Xt,null,{default:M(()=>{var E;return[re(le((E=l.value)==null?void 0:E.label),1)]}),_:1}),W(Ot,null,{default:M(()=>{var E;return[re(le(((E=l.value)==null?void 0:E.confirmationMessage)||"Run this project tool?"),1)]}),_:1}),W(Qt,null,{default:M(()=>[W(Rn),W(ve,{variant:"text",onClick:b[3]||(b[3]=E=>u.value=!1)},{default:M(()=>[...b[12]||(b[12]=[re("Cancel",-1)])]),_:1}),W(ve,{color:"primary",variant:"flat",onClick:C},{default:M(()=>[...b[13]||(b[13]=[re("Run",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"]),W(Lt,{modelValue:s.value,"onUpdate:modelValue":b[6]||(b[6]=E=>s.value=E),fullscreen:""},{default:M(()=>[W(Rt,{class:"vibe64-project-tools__terminal-dialog"},{default:M(()=>[W(Ot,null,{default:M(()=>[v.value?(g(),z(Da,{key:0,action:v.value,"action-input":h.value,"ai-fix-available":"","emit-closed-before-server-ack":!0,"terminal-kind":"tool","start-request-key":m.value,title:v.value.label,onClosed:b[5]||(b[5]=E=>s.value=!1),onFixRequested:c(V)},null,8,["action","action-input","start-request-key","title","onFixRequested"])):X("",!0)]),_:1})]),_:1})]),_:1},8,["modelValue"]),W(jn,{modelValue:c(p),"onUpdate:modelValue":b[7]||(b[7]=E=>Vn(p)?p.value=E:null),job:c(I),terminal:c(S)},null,8,["modelValue","job","terminal"])]))}},xu=ze(Tu,[["__scopeId","data-v-61488c39"]]),Et=Object.freeze({COMMAND_TERMINAL:"command-terminal",SESSION_ACTION:"session-action",SESSION_ADVANCE:"session-advance",SESSION_INTENT:"session-intent"}),cn=Object.freeze({...Et,EXTERNAL_LINK:"external-link"}),ha=Object.freeze({OPEN_DIFF:"open_diff",START_CODEX_TERMINAL:"start_codex_terminal"}),To=Object.freeze({DIFF:"diff"}),li=Object.freeze({DIFF_DISABLED:"diff_disabled",DIFF_LOADING:"diff_loading"});function ku(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:{}}function Na(e={}){return ku(e.control)}function Va(e={}){return String(Na(e).action||"").trim()}function Au(e={},n=""){const a=Na(e)[n];return Array.isArray(a)?a.map(t=>String(t||"").trim()).filter(Boolean):[]}function xo(e={}){return String(Na(e).icon||"").trim()}function Wn(e={}){return!!Va(e)}function _u(e={},n=""){return Va(e)===String(n||"").trim()}function Eu(e="",n={}){var a,t;switch(String(e||"").trim()){case li.DIFF_DISABLED:return!!((a=n.review)!=null&&a.diffDisabled);case li.DIFF_LOADING:return!!((t=n.diff)!=null&&t.loading);default:return!1}}function ya(e={},n="",a={}){return Au(e,n).some(t=>Eu(t,a))}const Ru={key:0,class:"studio-background-tasks"},Ou={class:"studio-background-tasks__row"},Lu={class:"studio-background-tasks__content"},Pu={class:"studio-background-tasks__title-row"},Du={key:0,class:"studio-background-tasks__time"},Nu={__name:"Vibe64BackgroundTasks",props:{error:{default:"",type:String},retryingTaskId:{default:"",type:String},tasks:{default:()=>[],type:Array}},emits:["retry"],setup(e){const n=e,a=f(()=>(Array.isArray(n.tasks)?n.tasks:[]).filter(o=>o&&["failed","running"].includes(String(o.status||""))));function t(o={}){return o.status==="failed"&&Wn(o.retry)}function i(o={}){return!!(o.id&&o.id===n.retryingTaskId)}function r(o={}){return o.status==="failed"?o.error||o.message||"This background task failed.":o.message||"Running in the background."}function l(o={}){const u=new Date(o.updatedAt||"");return Number.isNaN(u.getTime())?"":u.toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit"})}return(o,u)=>a.value.length||e.error?(g(),q("div",Ru,[(g(!0),q(Ee,null,Ve(a.value,s=>(g(),z(dt,{key:s.id,border:"start",class:"studio-background-tasks__alert",density:"compact",type:s.status==="failed"?"warning":"info",variant:"tonal"},{default:M(()=>[te("div",Ou,[W(tt,{class:"studio-background-tasks__icon",icon:s.status==="failed"?c(ln):c(Es),size:"20"},null,8,["icon"]),te("div",Lu,[te("div",Pu,[te("strong",null,le(s.label),1),l(s)?(g(),q("span",Du,le(l(s)),1)):X("",!0)]),te("span",null,le(r(s)),1)]),t(s)?(g(),z(ve,{key:0,loading:i(s),"prepend-icon":c(zt),size:"small",type:"button",variant:"tonal",onClick:v=>o.$emit("retry",s)},{default:M(()=>{var v;return[re(le(((v=s.retry)==null?void 0:v.label)||"Retry"),1)]}),_:2},1032,["loading","prepend-icon","onClick"])):X("",!0)])]),_:2},1032,["type"]))),128)),e.error?(g(),z(dt,{key:0,border:"start",class:"studio-background-tasks__alert",density:"compact",type:"warning",variant:"tonal"},{default:M(()=>[re(le(e.error),1)]),_:1})):X("",!0)])):X("",!0)}},ko=ze(Nu,[["__scopeId","data-v-69a88f54"]]),Vu={class:"studio-autopilot-nav__content"},Mu={class:"studio-autopilot-nav__steps"},Bu=["aria-current"],$u={class:"studio-autopilot-nav__step-icon"},Fu={class:"studio-autopilot-nav__step-label"},ju={__name:"Vibe64AutopilotNavigation",props:{busy:{default:!1,type:Boolean},layout:{default:"bar",type:String},steps:{default:()=>[],type:Array}},emits:["rewind"],setup(e,{emit:n}){const a=e,t=n,i=Q(!1),r=Q(null),l=Q(!1),o=f(()=>a.layout==="rail"),u=f(()=>a.steps.find(T=>T.current)||a.steps[0]||null),s=f(()=>{var T;return((T=u.value)==null?void 0:T.label)||"Steps"}),v=f(()=>`Steps: ${s.value}`),m=f(()=>a.steps.filter(T=>T.canRewind&&!T.current)),h=f(()=>m.value.length>0),d=f(()=>{var T,F;return((T=r.value)==null?void 0:T.rewindLabel)||((F=r.value)==null?void 0:F.label)||"this point"});function p(){i.value=!i.value}function I(T={}){a.busy||T.canRewind!==!0||(r.value=T,l.value=!0)}function S(){l.value=!1,r.value=null}function _(){if(a.busy||!r.value)return;const T=r.value;S(),t("rewind",T)}function y(T={}){return T.state==="done"?Ki:T.state==="current"?Gi:Xi}return _e(l,T=>{T||(r.value=null)}),_e(s,()=>{i.value=!1}),(T,F)=>e.steps.length?(g(),q("section",{key:0,class:Fe(["studio-autopilot-nav",[`studio-autopilot-nav--${e.layout}`,{"studio-autopilot-nav--expanded":i.value}]]),"aria-label":"Autopilot progress"},[o.value?(g(),z(ve,{key:0,class:"studio-autopilot-nav__mobile-toggle","append-icon":i.value?c(gn):c(Mt),type:"button",variant:"tonal",onClick:p},{default:M(()=>[re(le(v.value),1)]),_:1},8,["append-icon"])):X("",!0),te("div",Vu,[te("ol",Mu,[(g(!0),q(Ee,null,Ve(e.steps,x=>(g(),q("li",{key:x.id,class:Fe(["studio-autopilot-nav__step",`studio-autopilot-nav__step--${x.state}`]),"aria-current":x.current?"step":void 0},[te("span",$u,[W(tt,{icon:y(x),size:"16"},null,8,["icon"])]),te("span",Fu,le(x.label),1)],10,Bu))),128))]),W(vn,{location:"bottom end"},{activator:M(({props:x})=>[W(ve,Pt(x,{disabled:e.busy||!h.value,"prepend-icon":c(Tn),size:"small",type:"button",variant:"tonal"}),{default:M(()=>[...F[1]||(F[1]=[re(" Jump back ",-1)])]),_:1},16,["disabled","prepend-icon"])]),default:M(()=>[W(mn,{density:"compact",class:"studio-autopilot-nav__jump-list"},{default:M(()=>[(g(!0),q(Ee,null,Ve(m.value,x=>(g(),z(Ut,{key:x.id,disabled:e.busy,"prepend-icon":c(Tn),title:x.rewindLabel||x.label,onClick:P=>I(x)},null,8,["disabled","prepend-icon","title","onClick"]))),128))]),_:1})]),_:1})]),W(Lt,{modelValue:l.value,"onUpdate:modelValue":F[0]||(F[0]=x=>l.value=x),"max-width":"28rem"},{default:M(()=>[W(Rt,null,{default:M(()=>[W(Xt,null,{default:M(()=>[...F[2]||(F[2]=[re("Jump back?",-1)])]),_:1}),W(Ot,null,{default:M(()=>[re(" Rewind this session to "+le(d.value)+". Later Autopilot progress will be discarded. ",1)]),_:1}),W(Qt,null,{default:M(()=>[W(Rn),W(ve,{disabled:e.busy,type:"button",variant:"text",onClick:S},{default:M(()=>[...F[3]||(F[3]=[re(" Cancel ",-1)])]),_:1},8,["disabled"]),W(ve,{color:"error",disabled:e.busy,loading:e.busy,"prepend-icon":c(Tn),type:"button",variant:"tonal",onClick:_},{default:M(()=>[...F[4]||(F[4]=[re(" Rewind ",-1)])]),_:1},8,["disabled","loading","prepend-icon"])]),_:1})]),_:1})]),_:1},8,["modelValue"])],2)):X("",!0)}},zu=ze(ju,[["__scopeId","data-v-2224aee3"]]),Uu=[0,80];function ri(e){return c(e)||null}function ui(e){return typeof window<"u"&&typeof window[e]=="function"}function Hu(){return typeof window>"u"||typeof window.requestAnimationFrame!="function"?Promise.resolve():new Promise(e=>{window.requestAnimationFrame(e)})}function Wu({anchor:e=null,enabled:n=!0,settleDelaysMs:a=Uu,target:t}={}){const i=new Set;let r=!1;function l(){return c(n)!==!1}function o(){ui("clearTimeout")&&i.forEach(m=>{window.clearTimeout(m)}),i.clear()}function u(){var h,d;if(r||!l())return;const m=ri(t);m&&(m.scrollTop=m.scrollHeight,(d=(h=ri(e))==null?void 0:h.scrollIntoView)==null||d.call(h,{block:"end"}),m.scrollTop=m.scrollHeight)}function s(m){if(r||!l()||!ui("setTimeout"))return;const h=window.setTimeout(()=>{i.delete(h),u()},m);i.add(h)}async function v(){r||!l()||(await qe(),u(),await Hu(),u(),o(),a.forEach(m=>{s(m)}))}return mt(()=>{r=!0,o()}),{clearScheduledScrolls:o,scrollAfterLayout:v,scrollNow:u}}function Ao(e){const n=String(e||"").replace(/\r\n/gu,`
|
|
5
|
+
`).split(`
|
|
6
|
+
`),a=[];let t=[],i=null,r=null;const l=()=>{const s=t.join(" ").replace(/\s+/gu," ").trim();t=[],s&&a.push({text:s,type:"paragraph"})},o=()=>{i!=null&&i.items.length&&a.push(i),i=null},u=()=>{r&&a.push({text:r.join(`
|
|
7
|
+
`).replace(/\n+$/u,""),type:"code"}),r=null};for(const s of n){const v=s.replace(/\s+$/u,""),m=v.trim();if(r){/^```/u.test(m)?u():r.push(v);continue}if(/^```/u.test(m)){l(),o(),r=[];continue}if(!m){l(),o();continue}const h=m.match(/^(#{1,6})\s+(.+)$/u);if(h){l(),o(),a.push({level:h[1].length,text:h[2].trim(),type:"heading"});continue}const d=m.match(/^[-*+•]\s+(.*)$/u),p=m.match(/^\d+[.)]\s+(.*)$/u);if(d||p){l();const I=p?"ol":"ul";(!i||i.type!==I)&&(o(),i={items:[],type:I}),i.items.push({text:((p==null?void 0:p[1])||(d==null?void 0:d[1])||"").trim()});continue}o(),t.push(m)}return l(),o(),u(),a}function qu(e=""){const n=String(e||""),a=[],t=/(`([^`]+)`)|(\*\*([^*]+)\*\*)/gu;let i=0,r=t.exec(n);for(;r;)r.index>i&&a.push({text:n.slice(i,r.index),type:"text"}),a.push({text:r[2]||r[4]||"",type:r[2]?"code":"strong"}),i=r.index+r[0].length,r=t.exec(n);return i<n.length&&a.push({text:n.slice(i),type:"text"}),a.length?a:[{text:n,type:"text"}]}const Ku={key:0},Gu={key:1},Xu={key:2},Qu={__name:"LongTextInlineParts",props:{text:{default:"",type:String}},setup(e){const n=e,a=f(()=>qu(n.text));function t(i,r){return`${i.type}:${r}:${i.text}`}return(i,r)=>(g(!0),q(Ee,null,Ve(a.value,(l,o)=>(g(),q(Ee,{key:t(l,o)},[l.type==="strong"?(g(),q("strong",Ku,le(l.text),1)):l.type==="code"?(g(),q("code",Gu,le(l.text),1)):(g(),q("span",Xu,le(l.text),1))],64))),128))}},ta=ze(Qu,[["__scopeId","data-v-c7bdc0fb"]]),Ju={key:2,class:"studio-long-text-review__code"},Yu={key:3,class:"studio-long-text-review__paragraph"},Zu={__name:"LongTextPreviewBlocks",props:{blocks:{type:Array,required:!0},compact:{type:Boolean,default:!1}},setup(e){function n(i){return i.type==="ul"||i.type==="ol"}function a(i,r){return`${i.type}:${r}`}function t(i){return i<=1?"h3":i===2?"h4":"h5"}return(i,r)=>(g(),q("div",{class:Fe(["studio-long-text-review__blocks",{"studio-long-text-review__blocks--compact":e.compact}])},[(g(!0),q(Ee,null,Ve(e.blocks,(l,o)=>(g(),q(Ee,{key:a(l,o)},[l.type==="heading"?(g(),z(ma(t(l.level)),{key:0,class:"studio-long-text-review__heading"},{default:M(()=>[W(ta,{text:l.text},null,8,["text"])]),_:2},1024)):n(l)?(g(),z(ma(l.type),{key:1,class:"studio-long-text-review__list"},{default:M(()=>[(g(!0),q(Ee,null,Ve(l.items,(u,s)=>(g(),q("li",{key:`item:${o}:${s}`},[W(ta,{text:u.text},null,8,["text"])]))),128))]),_:2},1024)):l.type==="code"?(g(),q("pre",Ju,[te("code",null,le(l.text),1)])):(g(),q("p",Yu,[W(ta,{text:l.text},null,8,["text"])]))],64))),128))],2))}},Sa=ze(Zu,[["__scopeId","data-v-5f10674d"]]),ec="__ui_question_";function Ct(){return{intro:"",questions:[]}}function tc(e=[],n="response"){var a,t;return e.length===1&&((a=e[0])==null?void 0:a.name)===n&&((t=e[0])==null?void 0:t.kind)==="textarea"}function ci(e="",n=""){return!n||String(e||"")===String(n||"")}function nc({fields:e=[],fieldName:n="response",intentId:a="",requiredIntentId:t="",requiredStepStatus:i="",stepStatus:r=""}={}){return!!(tc(e,n)&&ci(a,t)&&ci(r,i))}function ac(e=""){return String(e||"").match(/^\[(?:Q)?(\d+)\]\s+(.+)$/iu)}function _o(e=[],n=0){const a=String(e[1]||""),t=Number(a),i=String(e[2]||"").trim();return!Number.isSafeInteger(t)||t!==n+1||String(t)!==a||!i?null:{label:i,name:`${ec}${t}`,number:t}}function ic(e=""){const n=String(e||"").split(/\r?\n/u).map(i=>i.trim()).filter(Boolean);if(n.length<2)return Ct();const a=[],t=[];for(const i of n){const r=ac(i);if(!r){if(!t.length){a.push(i);continue}return Ct()}const l=_o(r,t.length);if(!l)return Ct();t.push(l)}return t.length<2?Ct():{intro:a.join(`
|
|
8
|
+
`),questions:t}}function oc(e=""){const n=String(e||"").replace(/\r\n/gu,`
|
|
9
|
+
`).trim(),a=n.search(/\[(?:Q)?\d+\]\s+/iu);if(a<0)return Ct();const t=n.slice(0,a).trim(),i=n.slice(a).trim();if(!i||i.includes(`
|
|
10
|
+
`))return Ct();const r=/\[(?:Q)?(\d+)\]\s+/giu,l=[...i.matchAll(r)];if(l.length<2||l[0].index!==0)return Ct();const o=[];for(const[u,s]of l.entries()){const v=s.index+s[0].length,m=l[u+1],h=m?m.index:i.length,d=_o([s[0],s[1],i.slice(v,h)],o.length);if(!d)return Ct();o.push(d)}return{intro:t,questions:o}}function Eo(e=""){const n=ic(e);return n.questions.length?n:oc(e)}function sc(e={},n=[]){return Ro({fields:n,fieldName:"response",message:e==null?void 0:e.prompt})}function Ro({fields:e=[],fieldName:n="response",intentId:a="",message:t="",requiredIntentId:i="",requiredStepStatus:r="",stepStatus:l=""}={}){return nc({fields:e,fieldName:n,intentId:a,requiredIntentId:i,requiredStepStatus:r,stepStatus:l})?Eo(t):Ct()}function Oo(e=[]){return e.map(n=>({kind:"text",label:n.label,name:n.name,required:!0,requiredMessage:`Answer question ${n.number}.`}))}function lc(e=[],n={}){return e.map(a=>`[${a.number}] ${String(n[a.name]||"").trim()}`).join(`
|
|
11
|
+
`)}function Lo(e=[],n={},a="response"){return{[a]:lc(e,n)}}const rc={key:0,class:"studio-conversation-log","aria-label":"Conversation history"},uc={class:"studio-conversation-log__header"},cc={class:"studio-conversation-log__title"},dc={key:0,class:"studio-conversation-log__message studio-conversation-log__message--user"},fc={class:"studio-conversation-log__message-header"},mc={key:0},vc={key:1,class:"studio-conversation-log__message studio-conversation-log__message--assistant"},pc={class:"studio-conversation-log__message-header"},gc={key:0},bc={key:1,class:"studio-conversation-log__questions"},hc={class:"studio-conversation-log__question-number"},yc={class:"studio-conversation-log__question-text"},Sc={__name:"Vibe64ConversationLog",props:{error:{default:"",type:String},loading:{default:!1,type:Boolean},scrollKey:{default:"",type:[Number,String]},turns:{default:()=>[],type:Array},visible:{default:!1,type:Boolean}},setup(e){const n=e,a=Q(null),t=Q(null),i=new Intl.DateTimeFormat(void 0,{hour:"2-digit",minute:"2-digit"});function r(h=""){const d=new Date(String(h||""));return Number.isNaN(d.getTime())?"":i.format(d)}function l(h=null,{allowNumberedQuestions:d=!1}={}){if(!h)return null;const p=d?Eo(h.text):{intro:"",questions:[]},I=p.questions.length>0;return{...h,blocks:Ao(I?p.intro:h.text),questions:I?p.questions:[],displayAt:r(h.at)}}const o=f(()=>(Array.isArray(n.turns)?n.turns:[]).map((h,d)=>({assistant:l(h.assistant,{allowNumberedQuestions:!0}),turnId:String(h.turnId||d+1),user:l(h.user)})).filter(h=>h.user||h.assistant));function u(h=null){return h?[h.at||"",String(h.text||"").length].join("/"):"empty"}function s(h={}){return[h.turnId,u(h.user),u(h.assistant)].join(":")}const v=f(()=>[n.visible?"visible":"hidden",n.loading?"loading":"ready",n.scrollKey,o.value.map(s).join("|")].join(":")),{scrollAfterLayout:m}=Wu({anchor:t,enabled:f(()=>n.visible),target:a});return Jt(()=>{m()}),_e(v,()=>{m()},{flush:"post",immediate:!0}),(h,d)=>e.visible?(g(),q("section",rc,[te("div",uc,[te("div",cc,[W(tt,{icon:c(Rs),size:"18"},null,8,["icon"]),d[0]||(d[0]=te("strong",null,"Conversation",-1))]),e.loading?(g(),z(Mn,{key:0,color:"primary",indeterminate:"",size:"18",width:"2"})):X("",!0)]),e.error?(g(),z(dt,{key:0,density:"compact",type:"warning",variant:"tonal"},{default:M(()=>[re(le(e.error),1)]),_:1})):(g(),q("div",{key:1,ref_key:"bodyElement",ref:a,class:"studio-conversation-log__body"},[(g(!0),q(Ee,null,Ve(o.value,p=>(g(),q("article",{key:p.turnId,class:"studio-conversation-log__turn"},[p.user?(g(),q("div",dc,[te("div",fc,[te("span",null,[W(tt,{icon:c(Os),size:"16"},null,8,["icon"]),d[1]||(d[1]=re(" You ",-1))]),p.user.displayAt?(g(),q("time",mc,le(p.user.displayAt),1)):X("",!0)]),W(Sa,{blocks:p.user.blocks},null,8,["blocks"])])):X("",!0),p.assistant?(g(),q("div",vc,[te("div",pc,[te("span",null,[W(tt,{icon:c(xt),size:"16"},null,8,["icon"]),d[2]||(d[2]=re(" Codex ",-1))]),p.assistant.displayAt?(g(),q("time",gc,le(p.assistant.displayAt),1)):X("",!0)]),p.assistant.blocks.length?(g(),z(Sa,{key:0,blocks:p.assistant.blocks},null,8,["blocks"])):X("",!0),p.assistant.questions.length?(g(),q("ol",bc,[(g(!0),q(Ee,null,Ve(p.assistant.questions,I=>(g(),q("li",{key:I.name,class:"studio-conversation-log__question"},[te("span",hc,le(I.number),1),te("span",yc,le(I.label),1)]))),128))])):X("",!0)])):X("",!0)]))),128)),te("div",{ref_key:"bottomElement",ref:t,class:"studio-conversation-log__bottom","aria-hidden":"true"},null,512)],512))])):X("",!0)}},wc=ze(Sc,[["__scopeId","data-v-28c95be1"]]),Cc={class:"studio-headless-command-output__bar"},Ic={class:"studio-headless-command-output__title"},Tc={class:"studio-headless-command-output__subtitle"},xc={__name:"Vibe64HeadlessCommandOutput",props:{actionId:{default:"",type:String},actionLabel:{default:"",type:String},aiFixAvailable:{default:!1,type:Boolean},attemptedCommand:{default:"",type:String},commandPreview:{default:"",type:String},compact:{default:!1,type:Boolean},error:{default:"",type:String},exitCode:{default:null,type:[Number,String]},failed:{default:!1,type:Boolean},output:{default:"",type:String},running:{default:!1,type:Boolean},status:{default:"",type:String},sessionId:{default:"",type:String},terminalSessionId:{default:"",type:String},title:{default:"Command output",type:String}},emits:["fix-requested"],setup(e,{emit:n}){const a=e,t=n,i=Q(null),r=f(()=>{const m=Dt(a.output),h=Dt(a.commandPreview),d=Dt(a.error);return s(m||d||h||"Waiting for command output...")}),l=f(()=>a.error||a.commandPreview||"Autopilot command"),o=f(()=>a.failed?"failed":a.running?"running":a.status||"finished"),u=f(()=>!!(a.aiFixAvailable&&a.failed&&(a.output||a.error||a.commandPreview)));function s(m=""){const h=String(m||""),d=12e3;return h.length<=d?h:h.slice(h.length-d)}async function v(){u.value&&t("fix-requested",await Hn({actionId:a.actionId,actionLabel:a.actionLabel,attemptedCommand:a.attemptedCommand,closeError:a.error,commandPreview:a.commandPreview,exitCode:a.exitCode,output:a.output||a.error||a.commandPreview,sessionId:a.sessionId,terminalKind:"command",terminalSessionId:a.terminalSessionId,terminalStatus:a.status}))}return _e(r,async()=>{await qe(),i.value&&(i.value.scrollTop=i.value.scrollHeight)},{immediate:!0}),(m,h)=>(g(),z(Tt,{rounded:"lg",color:"surface",class:Fe(["studio-headless-command-output",{"studio-headless-command-output--compact":e.compact}])},{default:M(()=>[te("div",Cc,[te("div",null,[te("div",Ic,le(e.title),1),te("div",Tc,le(l.value),1)]),o.value?(g(),z(kt,{key:0,color:e.failed?"warning":"primary",size:"x-small",variant:"tonal"},{default:M(()=>[re(le(o.value),1)]),_:1},8,["color"])):X("",!0),u.value?(g(),z(ve,{key:1,color:"primary","prepend-icon":c(xt),size:"small",variant:"tonal",onClick:v},{default:M(()=>[...h[0]||(h[0]=[re(" Get AI to fix it ",-1)])]),_:1},8,["prepend-icon"])):X("",!0)]),te("pre",{ref_key:"outputElement",ref:i,class:"studio-headless-command-output__text"},le(r.value),513)]),_:1},8,["class"]))}},Po=ze(xc,[["__scopeId","data-v-0803ceeb"]]),kc=["aria-label"],Ac={key:0,class:"studio-report-preview__header"},_c={class:"studio-report-preview__identity"},Ec={key:1},Rc={key:2,class:"studio-report-preview__body"},Oc={key:1,class:"studio-report-preview__empty"},Lc={__name:"Vibe64ReportPreview",props:{emptyText:{default:"Report is not ready yet.",type:String},error:{default:"",type:String},loading:{default:!1,type:Boolean},text:{default:"",type:String},title:{default:"Session report",type:String},titleIcon:{default:"",type:String}},setup(e){const n=e,a=f(()=>Ao(n.text));return(t,i)=>(g(),q("section",{class:"studio-report-preview","aria-label":e.title||"Preview"},[e.title||e.titleIcon||e.loading?(g(),q("div",Ac,[te("div",_c,[e.titleIcon?(g(),z(tt,{key:0,icon:e.titleIcon,size:"18"},null,8,["icon"])):X("",!0),e.title?(g(),q("strong",Ec,le(e.title),1)):X("",!0)]),e.loading?(g(),z(Mn,{key:0,color:"primary",indeterminate:"",size:"18",width:"2"})):X("",!0)])):X("",!0),e.error?(g(),z(dt,{key:1,density:"compact",type:"warning",variant:"tonal"},{default:M(()=>[re(le(e.error),1)]),_:1})):(g(),q("div",Rc,[a.value.length?(g(),z(Sa,{key:0,blocks:a.value},null,8,["blocks"])):(g(),q("p",Oc,le(e.emptyText),1))]))],8,kc))}},Ln=ze(Lc,[["__scopeId","data-v-1c4af745"]]),wa={__name:"Vibe64SessionActionButton",props:{action:{default:()=>({}),type:Object},actions:{default:()=>({}),type:Object},busy:{default:!1,type:Boolean},beforeRun:{default:async()=>!0,type:Function},variant:{default:"flat",type:String}},setup(e){const n=e;async function a(){await n.beforeRun(n.action)!==!1&&await n.actions.runAction(n.action)}return(t,i)=>(g(),z(ve,{color:"primary",variant:e.variant,disabled:e.busy||e.action.enabled!==!0,loading:e.actions.runActionCommand.isRunning&&e.actions.activeActionId===e.action.id,"prepend-icon":e.actions.actionIcon(e.action),title:e.action.disabledReason||e.action.label,onClick:a},{default:M(()=>[re(le(e.action.label),1)]),_:1},8,["variant","disabled","loading","prepend-icon","title"]))}};function Pc(e=""){return String(e||"").trim()}function Dc(){return{error:"Vibe64 session id is required.",ok:!1}}function Nc(e){const n=new Uint8Array(e),a=32768,t=[];for(let i=0;i<n.length;i+=a)t.push(String.fromCharCode(...n.subarray(i,i+a)));return btoa(t.join(""))}async function Vc(e){const n=await e.arrayBuffer();return{contentType:String(e.type||""),dataBase64:Nc(n),fileName:String(e.name||"attachment")}}function Do(){const e=Zt(),n=f(()=>e.api(nt,{surface:Xe})),a=pt({access:"never",apiSuffix:nt,buildCommandOptions:(i,{context:r})=>({method:"POST",options:ct,path:yl(n.value,r.sessionId)}),buildRawPayload:(i,{context:r})=>({contentType:String(r.contentType||""),dataBase64:String(r.dataBase64||""),fileName:String(r.fileName||"attachment")}),fallbackRunError:"Codex attachment could not be uploaded.",messages:{error:"Codex attachment could not be uploaded."},ownershipFilter:it,placementSource:"vibe64.codex-attachment.upload",suppressSuccessMessage:!0,surfaceId:Xe,writeMethod:"POST"});async function t(i="",r=null){const l=Pc(i);return l?!r||typeof r.arrayBuffer!="function"?{error:"Attachment file is required.",ok:!1}:await a.run({...await Vc(r),sessionId:l})||{error:"Codex attachment upload did not start.",ok:!1}:Dc()}return{uploadAttachment:t,uploadAttachmentCommand:a}}function Mc(e){return String(Ke(e)||"").trim()}function Bc(e){return Ke(e)!==!1}function No(e=[]){return Array.from(e||[]).filter(n=>n&&n.size>=0)}function Vo(e){var n;return No((n=e==null?void 0:e.dataTransfer)==null?void 0:n.files)}function $c(e){var n;return Vo(e).length>0||Array.from(((n=e==null?void 0:e.dataTransfer)==null?void 0:n.types)||[]).includes("Files")}function Fc(e={}){var n,a;return(e==null?void 0:e.error)||((a=(n=e==null?void 0:e.errors)==null?void 0:n[0])==null?void 0:a.message)||""}async function jc(e,n=[]){n.length>0&&await e(n)}function Mo({canUpload:e=()=>!0,onUploaded:n=async()=>null,sessionId:a,uploadAttachment:t}={}){const i=Q([]),r=Q(0),l=Q(""),o=Q(!1),u=f(()=>r.value>0);function s(){r.value=0}function v(){l.value=""}function m(S){$c(S)&&(r.value+=1,S!=null&&S.dataTransfer&&(S.dataTransfer.dropEffect="copy"))}function h(S){S!=null&&S.dataTransfer&&(S.dataTransfer.dropEffect="copy")}function d(){r.value=Math.max(0,r.value-1)}async function p(S=[]){const _=No(S),y=Mc(a);if(_.length<1||!y||o.value||!Bc(e)||typeof t!="function")return[];o.value=!0,l.value="";const T=[];let F="";try{for(const x of _){const P=await t(y,x);if((P==null?void 0:P.ok)===!1)throw new Error(Fc(P)||"Attachment upload failed.");T.push(P),i.value.push(P)}}catch(x){F=String((x==null?void 0:x.message)||x||"Attachment upload failed.")}try{await jc(n,T)}catch(x){l.value=String((x==null?void 0:x.message)||x||"Attachment upload failed.")}finally{F&&(l.value=F),o.value=!1}return T}async function I(S){return s(),p(Vo(S))}return{attachments:i,clearStatus:v,dragActive:u,handleDragEnter:m,handleDragLeave:d,handleDragOver:h,handleDrop:I,resetDragState:s,status:l,uploading:o,uploadFiles:p}}const di="Attached files for Codex:";function zc(e={}){return String(e.fileName||"attachment").trim()||"attachment"}function Uc(e={}){return String(e.containerPath||"").trim()}function Hc(e){const n=Number(e);return!Number.isFinite(n)||n<0?"":n<1024?`${n} B`:n<1024*1024?`${(n/1024).toFixed(1)} KB`:`${(n/(1024*1024)).toFixed(1)} MB`}function Wc(e={}){const n=Uc(e);if(!n)return"";const a=Hc(e.size),t=a?` (${a})`:"";return`- ${zc(e)}${t}: ${n}`}function qc(e=[]){return e.map(Wc).filter(Boolean)}function Kc(e="",n=[]){const a=qc(n);if(a.length<1)return String(e||"");const t=String(e||"").trimEnd();return new RegExp(`(^|\\n)${di}\\n`,"u").test(t)?`${t}
|
|
12
|
+
${a.join(`
|
|
13
|
+
`)}`:[t,[di,...a].join(`
|
|
14
|
+
`)].filter(Boolean).join(`
|
|
15
|
+
|
|
16
|
+
`)}const Gc=Hi({autoGrow:Boolean,autofocus:Boolean,counter:[Boolean,Number,String],counterValue:Function,prefix:String,placeholder:String,persistentPlaceholder:Boolean,persistentCounter:Boolean,noResize:Boolean,rows:{type:[Number,String],default:5,validator:e=>!isNaN(parseFloat(e))},maxHeight:{type:[Number,String],validator:e=>!isNaN(parseFloat(e))},maxRows:{type:[Number,String],validator:e=>!isNaN(parseFloat(e))},suffix:String,modelModifiers:Object,...rl(),...Fs(ll(),["direction"]),...sl()},"VTextarea"),yn=ji()({name:"VTextarea",directives:{vIntersect:Ka},inheritAttrs:!1,props:Gc(),emits:{"click:control":e=>!0,"mousedown:control":e=>!0,"update:focused":e=>!0,"update:modelValue":e=>!0,"update:rows":e=>!0},setup(e,{attrs:n,emit:a,slots:t}){const i=Ls(e,"modelValue"),{isFocused:r,focus:l,blur:o}=nl(e),{onIntersect:u}=ol(e),s=f(()=>typeof e.counterValue=="function"?e.counterValue(i.value):(i.value||"").toString().length),v=f(()=>{if(n.maxlength)return n.maxlength;if(!(!e.counter||typeof e.counter!="number"&&typeof e.counter!="string"))return e.counter}),m=Q(),h=Q(),d=$s(""),p=Q(),I=Q(0),{platform:S}=Ps(),_=al(e),y=f(()=>e.persistentPlaceholder||r.value||e.active);function T(){var E;_.isSuppressing.value&&_.update(),p.value!==document.activeElement&&((E=p.value)==null||E.focus()),r.value||l()}function F(E){T(),a("click:control",E)}function x(E){a("mousedown:control",E)}function P(E){E.stopPropagation(),T(),qe(()=>{i.value="",Bs(e["onClick:clear"],E)})}function Z(E){var ne;const B=E.target;if(!((ne=e.modelModifiers)!=null&&ne.trim)){i.value=B.value;return}const H=B.value,K=B.selectionStart,ge=B.selectionEnd;i.value=H,qe(()=>{let A=0;H.trimStart().length===B.value.length&&(A=H.length-B.value.length),K!=null&&(B.selectionStart=K-A),ge!=null&&(B.selectionEnd=ge-A)})}const C=Q(),O=Q(Number(e.rows)),V=f(()=>["plain","underlined"].includes(e.variant));Ds(()=>{e.autoGrow||(O.value=Number(e.rows))});function $(){qe(()=>{if(!p.value)return;if(S.value.firefox){I.value=12;return}const{offsetWidth:E,clientWidth:B}=p.value;I.value=Math.max(0,E-B)}),e.autoGrow&&qe(()=>{if(!C.value||!h.value)return;const E=getComputedStyle(C.value),B=getComputedStyle(h.value.$el),H=parseFloat(E.getPropertyValue("--v-field-padding-top"))+parseFloat(E.getPropertyValue("--v-input-padding-top"))+parseFloat(E.getPropertyValue("--v-field-padding-bottom")),K=C.value.scrollHeight,ge=parseFloat(E.lineHeight),ne=Math.max(parseFloat(e.rows)*ge+H,parseFloat(B.getPropertyValue("--v-input-control-height"))),A=e.maxHeight?parseFloat(e.maxHeight):parseFloat(e.maxRows)*ge+H||1/0,J=Ms(K??0,ne,A);O.value=Math.floor((J-H)/ge),d.value=Zn(J)})}Jt($),_e(i,$),_e(()=>e.rows,$),_e(()=>e.maxHeight,$),_e(()=>e.maxRows,$),_e(()=>e.density,$),_e(O,E=>{a("update:rows",E)});let b;return _e(C,E=>{E?(b=new ResizeObserver($),b.observe(C.value)):b==null||b.disconnect()}),mt(()=>{b==null||b.disconnect()}),zi(()=>{const E=!!(t.counter||e.counter||e.counterValue),B=!!(E||t.details),[H,K]=Ns(n),{modelValue:ge,...ne}=Ya.filterProps(e),A={...Za.filterProps(e),"onClick:clear":P};return W(Ya,Pt({ref:m,modelValue:i.value,"onUpdate:modelValue":J=>i.value=J,class:["v-textarea v-text-field",{"v-textarea--prefixed":e.prefix,"v-textarea--suffixed":e.suffix,"v-text-field--prefixed":e.prefix,"v-text-field--suffixed":e.suffix,"v-textarea--auto-grow":e.autoGrow,"v-textarea--no-resize":e.noResize||e.autoGrow,"v-input--plain-underlined":V.value},e.class],style:[{"--v-textarea-max-height":e.maxHeight?Zn(e.maxHeight):void 0,"--v-textarea-scroll-bar-width":Zn(I.value)},e.style]},H,ne,{centerAffix:O.value===1&&!V.value,focused:r.value,indentDetails:e.indentDetails??!V.value}),{...t,default:({id:J,isDisabled:L,isDirty:se,isReadonly:U,isValid:k,hasDetails:ee})=>W(Za,Pt({ref:h,style:{"--v-textarea-control-height":d.value},onClick:F,onMousedown:x,"onClick:prependInner":e["onClick:prependInner"],"onClick:appendInner":e["onClick:appendInner"]},A,{id:J.value,active:y.value||se.value,labelId:`${J.value}-label`,centerAffix:O.value===1&&!V.value,dirty:se.value||e.dirty,disabled:L.value,focused:r.value,details:ee.value,error:k.value===!1}),{...t,default:({props:{class:ye,...ue},controlRef:j})=>te(Ee,null,[e.prefix&&te("span",{class:"v-text-field__prefix"},[e.prefix]),En(te("textarea",Pt({ref:D=>p.value=j.value=D,class:ye,value:i.value,onInput:Z,autofocus:e.autofocus,readonly:U.value,disabled:L.value,placeholder:e.placeholder,rows:e.rows,name:_.fieldName.value,autocomplete:_.fieldAutocomplete.value,onFocus:T,onBlur:o,"aria-labelledby":`${J.value}-label`},ue,K),null),[[Ka,{handler:u},null,{once:!0}]]),e.autoGrow&&En(te("textarea",{class:Fe([ye,"v-textarea__sizer"]),id:`${ue.id}-sizer`,"onUpdate:modelValue":D=>i.value=D,ref:C,readonly:!0,"aria-hidden":"true"},null),[[Vs,i.value]]),e.suffix&&te("span",{class:"v-text-field__suffix"},[e.suffix])])}),details:B?J=>{var L;return te(Ee,null,[(L=t.details)==null?void 0:L.call(t,J),E&&te(Ee,null,[te("span",null,null),W(il,{active:e.persistentCounter||r.value,value:s.value,max:v.value,disabled:e.disabled},t.counter)])])}:void 0})}),Ui({},m,h,p)}}),Xc={key:0,class:"studio-autopilot-prompt-textarea__attachments"},Qc={__name:"Vibe64AutopilotPromptTextarea",props:{autoGrow:{default:!0,type:Boolean},disabled:{default:!1,type:Boolean},errorMessages:{default:()=>[],type:[Array,String]},hint:{default:"",type:String},label:{default:"",type:String},modelValue:{default:"",type:String},persistentHint:{default:!1,type:Boolean},rows:{default:4,type:[Number,String]},sessionId:{default:"",type:String},variant:{default:"outlined",type:String}},emits:["update:modelValue"],setup(e,{emit:n}){const a=n,t=e,{uploadAttachment:i}=Do(),r=Mo({canUpload:()=>!t.disabled,onUploaded:async(p=[])=>{s(p)},sessionId:f(()=>t.sessionId),uploadAttachment:i}),l=r.dragActive,o=r.attachments,u=f(()=>{const p=Array.isArray(t.errorMessages)?t.errorMessages:[t.errorMessages].filter(Boolean);return r.status.value?[...p,r.status.value]:p});function s(p=[]){a("update:modelValue",Kc(t.modelValue,p))}function v(p){r.handleDrop(p)}const m=r.handleDragEnter,h=r.handleDragOver,d=r.handleDragLeave;return(p,I)=>(g(),q("div",{class:Fe(["studio-autopilot-prompt-textarea",{"studio-autopilot-prompt-textarea--dragging":c(l)}]),onDragenter:I[1]||(I[1]=He((...S)=>c(m)&&c(m)(...S),["prevent"])),onDragover:I[2]||(I[2]=He((...S)=>c(h)&&c(h)(...S),["prevent"])),onDragleave:I[3]||(I[3]=He((...S)=>c(d)&&c(d)(...S),["prevent"])),onDrop:He(v,["prevent"])},[W(yn,{"model-value":e.modelValue,"auto-grow":e.autoGrow,class:"studio-autopilot-prompt-textarea__input",disabled:e.disabled,"error-messages":u.value,"hide-details":"auto",hint:e.hint,label:e.label,"persistent-hint":e.persistentHint,rows:e.rows,variant:e.variant,"onUpdate:modelValue":I[0]||(I[0]=S=>p.$emit("update:modelValue",String(S||"")))},null,8,["model-value","auto-grow","disabled","error-messages","hint","label","persistent-hint","rows","variant"]),c(o).length?(g(),q("div",Xc,[(g(!0),q(Ee,null,Ve(c(o),S=>(g(),z(kt,{key:S.attachmentId,"prepend-icon":c(Qi),size:"small",variant:"tonal"},{default:M(()=>[re(le(S.fileName),1)]),_:2},1032,["prepend-icon"]))),128))])):X("",!0)],34))}},Jc=ze(Qc,[["__scopeId","data-v-ca1ffb1a"]]),Yc={class:"vibe64-workflow-control-form__actions"},Zc={class:"vibe64-workflow-control-form__submit-actions"},ed={key:0,class:"vibe64-workflow-control-form__workflow-actions"},td={__name:"Vibe64WorkflowControlForm",props:{asForm:{default:!1,type:Boolean},attachTextarea:{default:!1,type:Boolean},cancelVisible:{default:!0,type:Boolean},canSubmitSelectedControl:{default:!1,type:Boolean},layout:{default:"start",validator:e=>["center","split","start"].includes(e),type:String},running:{default:!1,type:Boolean},selectedControl:{default:()=>({}),type:Object},selectedControlFields:{default:()=>[],type:Array},selectedControlValues:{default:()=>({}),type:Object},sessionId:{default:"",type:String},stickyActions:{default:!1,type:Boolean},textareaRows:{default:4,type:[Number,String]},workflowControls:{default:()=>[],type:Array}},emits:["activate-control","cancel","submit","update-value"],setup(e,{emit:n}){const a=n,t=e,i=f(()=>t.asForm?"form":"div");function r(){a("submit")}function l(){t.asForm||a("submit")}return(o,u)=>(g(),z(ma(i.value),{class:Fe(["vibe64-workflow-control-form",[`vibe64-workflow-control-form--${e.layout}`,{"vibe64-workflow-control-form--sticky-actions":e.stickyActions}]]),onSubmit:He(r,["prevent"])},{default:M(()=>[(g(!0),q(Ee,null,Ve(e.selectedControlFields,s=>(g(),q(Ee,{key:s.name},[s.kind==="textarea"&&e.attachTextarea?(g(),z(Jc,{key:0,"model-value":e.selectedControlValues[s.name]||"",class:"vibe64-workflow-control-form__input",disabled:e.running,label:s.label,rows:s.rows||e.textareaRows,"session-id":e.sessionId,variant:"outlined","onUpdate:modelValue":v=>o.$emit("update-value",s.name,v)},null,8,["model-value","disabled","label","rows","session-id","onUpdate:modelValue"])):s.kind==="textarea"?(g(),z(yn,{key:1,"auto-grow":"",class:"vibe64-workflow-control-form__input",disabled:e.running,"hide-details":"auto",label:s.label,"model-value":e.selectedControlValues[s.name]||"",placeholder:s.placeholder,rows:s.rows||e.textareaRows,variant:"outlined","onUpdate:modelValue":v=>o.$emit("update-value",s.name,v)},null,8,["disabled","label","model-value","placeholder","rows","onUpdate:modelValue"])):(g(),z(bn,{key:2,class:"vibe64-workflow-control-form__input",disabled:e.running,"hide-details":"auto",label:s.label,"model-value":e.selectedControlValues[s.name]||"",placeholder:s.placeholder,variant:"outlined","onUpdate:modelValue":v=>o.$emit("update-value",s.name,v)},null,8,["disabled","label","model-value","placeholder","onUpdate:modelValue"]))],64))),128)),te("div",Yc,[te("div",Zc,[W(ve,{color:"primary",disabled:!e.canSubmitSelectedControl,loading:e.running,"prepend-icon":c(js),type:e.asForm?"submit":"button",variant:"flat",onClick:l},{default:M(()=>[re(le(e.selectedControl.label),1)]),_:1},8,["disabled","loading","prepend-icon","type"]),e.cancelVisible?(g(),z(ve,{key:0,disabled:e.running,"prepend-icon":c(pn),type:"button",variant:"tonal",onClick:u[0]||(u[0]=s=>o.$emit("cancel"))},{default:M(()=>[...u[1]||(u[1]=[re(" Cancel ",-1)])]),_:1},8,["disabled","prepend-icon"])):X("",!0)]),e.workflowControls.length?(g(),q("div",ed,[(g(!0),q(Ee,null,Ve(e.workflowControls,s=>(g(),z(ve,{key:s.id,color:s.buttonColor,disabled:s.disabled,loading:s.loading,"prepend-icon":s.icon,title:s.disabledReason||s.label,type:"button",variant:s.buttonVariant,onClick:v=>o.$emit("activate-control",s.sourceControl||s)},{default:M(()=>[re(le(s.label),1)]),_:2},1032,["color","disabled","loading","prepend-icon","title","variant","onClick"]))),128))])):X("",!0)])]),_:1},40,["class"]))}},Pn=ze(td,[["__scopeId","data-v-598224a0"]]);function Cn(e={}){return Array.isArray(e.inputFields)&&e.inputFields.length>0}function nd(e={}){return Object.fromEntries((Array.isArray(e.inputFields)?e.inputFields:[]).map(n=>[n.name,String(n.value??"")]))}function ad(e={}){var a,t;const n=Array.isArray(e==null?void 0:e.turns)?e.turns:[];for(let i=n.length-1;i>=0;i-=1){const r=String(((t=(a=n[i])==null?void 0:a.assistant)==null?void 0:t.text)||"").trim();if(r)return r}return""}function id(){return{intro:"",questions:[]}}function od(e={}){const n=e==null?void 0:e.input,a=n&&typeof n=="object"&&!Array.isArray(n)?n.questionSugar:null;return a&&typeof a=="object"&&!Array.isArray(a)?a:null}function sd(e={},n={}){return e.required!==!1&&!String(n[e.name]||"").trim()}function Bo({conversationLog:e,controls:n,isControlDisabled:a=()=>!1,onRunClientControl:t=()=>!1,onRunControl:i=async()=>!1,primaryIntentId:r,running:l}={}){const o=Q(null),u=Q({}),s=f(()=>{const b=Ke(n);return Array.isArray(b)?b:[]}),v=f(()=>Ke(e)||{}),m=f(()=>String(Ke(r)||"")),h=f(()=>!!Ke(l)),d=f(()=>m.value&&s.value.find(b=>b.id===m.value)||null),p=f(()=>s.value.filter(b=>(b==null?void 0:b.enabled)===!0&&Cn(b))),I=f(()=>{var b;return((b=d.value)==null?void 0:b.enabled)===!0&&Cn(d.value)?d.value:p.value.length===1?p.value[0]:null}),S=f(()=>{var E;const b=String(((E=o.value)==null?void 0:E.id)||"");return s.value.filter(B=>B.id!==b)}),_=f(()=>o.value&&Array.isArray(o.value.inputFields)?o.value.inputFields:[]),y=f(()=>{var E;const b=od(o.value);return(b==null?void 0:b.kind)!=="numbered_questions"||b.source!=="latest_assistant_message"?id():Ro({fields:_.value,fieldName:b.fieldName,intentId:(E=o.value)==null?void 0:E.id,message:ad(v.value)})}),T=f(()=>y.value.questions.length?Oo(y.value.questions):_.value),F=f(()=>{var b;return!!((b=o.value)!=null&&b.id&&o.value.id===m.value)}),x=f(()=>!!(o.value&&!h.value&&!T.value.some(b=>sd(b,u.value))));function P(){o.value=null,u.value={}}function Z(b={}){o.value=b,u.value=nd(b)}async function C(b={}){return a(b)?!1:Wn(b)?await t(b)!==!1:Cn(b)?(Z(b),!0):i(b)}function O(b="",E=""){u.value={...u.value,[String(b||"")]:String(E||"")}}function V(){const b=y.value.questions;return b.length?Lo(b,u.value,"conversationRequest"):u.value}async function $(){if(!x.value)return!1;const b=o.value;return await i(b,{fields:V()})?(b!=null&&b.id&&b.id===m.value?Z(d.value||b):P(),!0):!1}return _e(I,(b,E)=>{var H;if(!b)return;const B=String(((H=o.value)==null?void 0:H.id)||"");if(!B){Z(b);return}B!==b.id&&(B===(E==null?void 0:E.id)||B===m.value)&&Z(b)},{flush:"post",immediate:!0}),_e(s,b=>{if(!o.value)return;const E=b.find(B=>B.id===o.value.id)||null;if(!E||!Cn(E)){P();return}o.value=E},{flush:"post"}),{activateControl:C,canSubmitSelectedControl:x,clearSelectedControl:P,screenControls:S,selectedControl:o,selectedControlFields:T,selectedControlIsPrimary:F,selectedControlOriginalFields:_,selectedControlQuestionInput:y,selectedControlSubmissionFields:V,selectedControlValues:u,submitSelectedControl:$,updateSelectedControlValue:O}}const In="VIBE64_SESSION_DEBUG";function ft(e={}){return{code:String((e==null?void 0:e.code)||""),message:String((e==null?void 0:e.message)||e||""),name:String((e==null?void 0:e.name)||""),status:Number.isInteger(e==null?void 0:e.status)?e.status:null}}function $e(e){return Math.max(0,Date.now()-Number(e||Date.now()))}function ce(e="",n={}){const a=new Date().toISOString(),t={marker:In,timestamp:a,event:String(e||""),...n&&typeof n=="object"&&!Array.isArray(n)?n:{}};t.marker=In,t.timestamp=a;const i=globalThis.console;if(!i||typeof i.info!="function")return t;try{i.info(`[${In}] ${JSON.stringify(t)}`)}catch{i.info(`[${In}] ${a} ${t.event}`)}return t}function Oe(e={}){var n,a,t;return{currentStep:String((e==null?void 0:e.currentStep)||""),nextEnabled:((n=e==null?void 0:e.next)==null?void 0:n.enabled)===!0,nextStepId:String(((a=e==null?void 0:e.next)==null?void 0:a.stepId)||""),sessionId:String((e==null?void 0:e.sessionId)||""),status:String((e==null?void 0:e.status)||""),stepStatus:String(((t=e==null?void 0:e.stepMachine)==null?void 0:t.status)||"")}}const ld=2,rd=3;function Ca(e={}){return e&&typeof e=="object"&&!Array.isArray(e)?e:{}}function qn(e={}){return String(e.label||e.id||"Command action")}function Ft(e={}){return String(e.id||"").trim()}function ud(e=null){if(e==null||e==="")return null;const n=Number(e);return Number.isFinite(n)?n:null}function cd(e=""){try{return JSON.parse(String(e||""))}catch{return{error:"Terminal stream returned an invalid message.",type:"error"}}}function na(e={}){return String(e.status||"")==="exited"}function fi(e={}){return String(Ca(e.metadata).attemptedCommand||"")}function mi(e){!e||e.readyState===ld||e.readyState===rd||e.close()}function dd(e){zs()&&mt(e)}function yt({action:e={},attemptedCommand:n="",code:a="",commandPreview:t="",error:i="",exitCode:r=null,operationOutcome:l="",output:o="",refreshRecommended:u=!1,sessionId:s="",status:v=null,terminalSessionId:m=""}={}){const h=qn(e);return{actionId:Ft(e),actionLabel:h,attemptedCommand:String(n||""),code:String(a||""),commandPreview:t,error:String(i||`${h} failed.`),exitCode:r,ok:!1,operationOutcome:String(l||""),output:String(o||""),refreshRecommended:u===!0,sessionId:String(s||""),status:ud(v),terminalSessionId:m}}function fd({action:e={},attemptedCommand:n="",commandPreview:a="",exitCode:t=0,output:i="",sessionId:r="",terminalSessionId:l=""}={}){return{actionId:Ft(e),actionLabel:qn(e),attemptedCommand:String(n||""),commandPreview:a,error:"",exitCode:t,ok:!0,output:String(i||""),sessionId:String(r||""),terminalSessionId:l}}function md({action:e={},attemptedCommand:n="",commandPreview:a="",output:t="",sessionId:i="",terminalSessionId:r=""}={}){const l=qn(e);return yt({action:e,attemptedCommand:n,commandPreview:a,error:`${l} was stopped before it finished.`,exitCode:null,output:t,sessionId:i,terminalSessionId:r})}function $o({closeCommandTerminal:e=Vr,startCommandTerminal:n=Or,webSocketUrl:a=po}={}){const t=Q(""),i=Q(""),r=Q(""),l=Q(!1),o=Q(""),u=Q(null);let s=null,v=null,m=null;async function h({advanceOnSuccess:T=!1,action:F={},input:x={},sessionId:P=""}={}){var V,$,b,E,B,H;const Z=Date.now(),C=String(P||"").trim(),O=Ft(F);if(!C||!O||l.value)return ce("client.headlessCommand.run.skipped",{actionId:O,running:l.value,reason:C?O?"running":"missing_action":"missing_session",sessionId:C}),yt({action:F,error:"Command action cannot start."});ce("client.headlessCommand.run.start",{actionId:O,advanceOnSuccess:T===!0,inputKeys:Object.keys(x&&typeof x=="object"&&!Array.isArray(x)?x:{}).sort(),sessionId:C}),l.value=!0,i.value=C,u.value=null,t.value="",r.value="",o.value="";try{const K=await n(C,{advanceOnSuccess:T===!0,actionId:O,input:Ca(x)});if((K==null?void 0:K.ok)===!1){ce("client.headlessCommand.startTerminal.rejected",{actionId:O,code:String(K.code||(($=(V=K.errors)==null?void 0:V[0])==null?void 0:$.code)||""),durationMs:$e(Z),sessionId:C,status:K.status||K.statusCode||null});const ne=yt({action:F,code:K.code||((E=(b=K.errors)==null?void 0:b[0])==null?void 0:E.code)||"",error:K.error||((H=(B=K.errors)==null?void 0:B[0])==null?void 0:H.message)||"Command terminal could not start.",operationOutcome:K.operationOutcome,refreshRecommended:K.refreshRecommended===!0,sessionId:C,status:K.status||K.statusCode});return u.value=ne,ne}v={sessionId:C,terminalSessionId:String(K.id||"")},ce("client.headlessCommand.startTerminal.done",{actionId:O,durationMs:$e(Z),sessionId:C,terminalSessionId:v.terminalSessionId,terminalStatus:String(K.status||"")}),d(K);const ge=await I({action:F,commandStartedAtMs:Z,initialSession:K,sessionId:C,terminalSessionId:v.terminalSessionId,webSocketUrl:a});return u.value=ge,ce("client.headlessCommand.run.done",{actionId:O,durationMs:$e(Z),exitCode:ge.exitCode??null,ok:ge.ok===!0,sessionId:C,terminalSessionId:ge.terminalSessionId||""}),ge}catch(K){ce("client.headlessCommand.run.error",{actionId:O,durationMs:$e(Z),error:ft(K),sessionId:C});const ge=yt({action:F,code:K==null?void 0:K.code,error:String((K==null?void 0:K.message)||K||"Command terminal failed."),operationOutcome:K==null?void 0:K.operationOutcome,refreshRecommended:(K==null?void 0:K.refreshRecommended)===!0,sessionId:C,status:(K==null?void 0:K.status)||(K==null?void 0:K.statusCode)});return u.value=ge,ge}finally{await y(),l.value=!1,o.value="",m=null}}function d(T={}){t.value=String(T.commandPreview||t.value),r.value=String(T.output||r.value),o.value=String(T.status||o.value)}function p(T=""){r.value=`${r.value}${String(T||"")}`}function I({action:T={},commandStartedAtMs:F=Date.now(),initialSession:x={},sessionId:P="",terminalSessionId:Z="",webSocketUrl:C}={}){return new Promise(O=>{let V=fi(x),$=String(x.commandPreview||""),b=String(x.output||""),E=!1;function B(ne){E||(ce("client.headlessCommand.stream.settle",{actionId:Ft(T),durationMs:$e(F),error:String((ne==null?void 0:ne.error)||""),exitCode:(ne==null?void 0:ne.exitCode)??null,ok:(ne==null?void 0:ne.ok)===!0,sessionId:P,terminalSessionId:Z}),E=!0,m=null,mi(s),s=null,O(ne))}function H(ne,A=""){const J={action:T,attemptedCommand:V,commandPreview:$,exitCode:ne,output:b,sessionId:P,terminalSessionId:Z};return Number(ne)===0&&!A?fd(J):yt({...J,error:A||`${qn(T)} failed with exit code ${ne}.`})}function K(ne={}){V=fi(ne)||V,$=String(ne.commandPreview||$),b=String(ne.output||b),d({commandPreview:$,output:b,status:ne.status||""}),na(ne)&&B(H(ne.exitCode??null,String(ne.closeError||"")))}function ge(ne=""){const A=cd(ne);if(A.type==="snapshot"){K(A.session||{});return}if(A.type==="output"){const J=String(A.chunk||"");b+=J,p(J);return}if(A.type==="metadata"){V=String(Ca(A.metadata).attemptedCommand||V);return}if(A.type==="status"&&na(A)){o.value=String(A.status||""),B(H(A.exitCode??null,String(A.closeError||"")));return}A.type==="error"&&B(yt({action:T,attemptedCommand:V,commandPreview:$,error:String(A.error||"Terminal stream failed."),output:b,sessionId:P,terminalSessionId:Z}))}if(m=()=>(o.value="stopping",B(md({action:T,attemptedCommand:V,commandPreview:$,output:b,sessionId:P,terminalSessionId:Z})),!0),na(x)){ce("client.headlessCommand.stream.initialExited",{actionId:Ft(T),sessionId:P,terminalSessionId:Z}),B(H(x.exitCode??null,String(x.closeError||"")));return}if(!Z||typeof WebSocket!="function"){ce("client.headlessCommand.stream.unavailable",{actionId:Ft(T),hasTerminalSessionId:!!Z,hasWebSocket:typeof WebSocket=="function",sessionId:P,terminalSessionId:Z}),B(yt({action:T,attemptedCommand:V,commandPreview:$,error:"Terminal stream is not available.",output:b,sessionId:P,terminalSessionId:Z}));return}ce("client.headlessCommand.stream.open",{actionId:Ft(T),sessionId:P,terminalSessionId:Z}),s=new WebSocket(C(P,Z)),s.addEventListener("message",ne=>{ge(ne.data)}),s.addEventListener("error",()=>{B(yt({action:T,commandPreview:$,error:"Terminal stream failed.",output:b,sessionId:P,terminalSessionId:Z}))}),s.addEventListener("close",()=>{B(yt({action:T,commandPreview:$,error:"Terminal stream closed before the command finished.",output:b,sessionId:P,terminalSessionId:Z}))})})}function S(){return typeof m=="function"?m():!1}function _(){u.value=null,i.value="",t.value="",r.value="",o.value=""}async function y(){mi(s),s=null;const T=v;v=null,!(!(T!=null&&T.sessionId)||!(T!=null&&T.terminalSessionId))&&await e(T.sessionId,T.terminalSessionId).catch(()=>null)}return dd(()=>{y()}),{clearResult:_,closeActiveTerminal:y,commandPreview:t,activeSessionId:i,lastResult:u,output:r,runCommandAction:h,running:l,status:o,stopCommandAction:S}}const vd=6,pd=250;function gd(e=0){return new Promise(n=>{setTimeout(n,e)})}function bd(e){return Ke(e)||null}function Kn(e={}){const n=e==null?void 0:e.presentation;return n&&typeof n=="object"&&!Array.isArray(n)?n:{}}function Fo(e={}){const n=Kn(e).screen;return n&&typeof n=="object"&&!Array.isArray(n)?n:{}}function Ia(e={}){var a;const n=(a=Kn(e).auto)==null?void 0:a.nextOperation;return n&&typeof n=="object"&&!Array.isArray(n)?n:{executable:!1,kind:"stop"}}function aa(e={}){const n=e.input||e.fields;return n&&typeof n=="object"&&!Array.isArray(n)?n:{}}function jo(e={}){const n=Kn(e).command;return n&&typeof n=="object"&&!Array.isArray(n)?n:{}}function hd(e={}){const n=Kn(e).recovery||jo(e).recovery;return n&&typeof n=="object"&&!Array.isArray(n)?n:{}}function An(e={}){const n=String(e.route||""),a=e.executable===!0,t=Object.values(Et).includes(n);return a&&t}function dn(e={}){return[e.route||"",e.id||"",e.kind||"",e.actionId||"",e.intentId||"",e.label||"",e.executable===!0?"1":"0"].join(":")}function at(e={}){return{operationActionId:String(e.actionId||""),operationExecutable:e.executable===!0,operationId:String(e.id||""),operationIntentId:String(e.intentId||""),operationKey:dn(e),operationKind:String(e.kind||""),operationLabel:String(e.label||""),operationRoute:String(e.route||"")}}function vi(e={}){return{actionId:String(e.actionId||e.intentId||""),actionLabel:String(e.label||"Autopilot"),error:`${e.label||e.actionId||e.intentId||"The next operation"} is not dispatchable.`,exitCode:null,ok:!1,output:""}}function yd(){return{actionId:"",actionLabel:"Autopilot",error:"Autopilot stopped. Use Inspect to continue manually.",exitCode:null,ok:!1,output:""}}function Sd(e={}){return(e==null?void 0:e.ok)===!0||e!=null&&e.terminalSessionId?!1:(e==null?void 0:e.refreshRecommended)===!0||String((e==null?void 0:e.operationOutcome)||"")==="stale_operation"}function pi(e={}){return jo(e).applying===!0}function wd(e={},n={}){const a=Ia(n);return!An(a)||String(a.route||"")!==Et.COMMAND_TERMINAL?!0:dn(a)!==dn(e)}function Cd(e={}){var n;return String(((n=Fo(e).input)==null?void 0:n.kind)||"")==="command_failure_response"}function gi(e={}){return String((e==null?void 0:e.sessionId)||"").trim()}function Id({actions:e={},commandCompletionRefreshAttempts:n=vd,commandCompletionRefreshDelayMs:a=pd,commandRunner:t=$o(),enabled:i=!0,refreshSessionData:r=async()=>null,session:l}={}){const o=Q(!1),u=Q(""),s=Q(null),v=Q(""),m=Q(null),h=Q(""),d=Q(!1);let p=null,I=!1,S=!1;const _=f(()=>Ke(i)!==!1),y=f(()=>bd(l)),T=f(()=>Ia(y.value)),F=f(()=>{var w;return String(((w=y.value)==null?void 0:w.sessionId)||"")}),x=f(()=>Ke(t.lastResult)||m.value||null),P=f(()=>Ke(t.running)===!0),Z=f(()=>gi(x.value)||String(Ke(t.activeSessionId)||v.value||"")),C=f(()=>!!(Z.value&&Z.value===F.value)),O=f(()=>C.value?String(Ke(t.output)||""):""),V=f(()=>C.value?String(Ke(t.commandPreview)||""):""),$=f(()=>C.value?x.value:null),b=f(()=>P.value&&C.value),E=f(()=>{var w;return((w=$.value)==null?void 0:w.ok)===!1}),B=f(()=>{if(!s.value)return null;const w=String(s.value.sessionId||"");return!w||w===F.value?s.value:null}),H=f(()=>o.value||P.value),K=f(()=>dn(T.value)),ge=f(()=>[F.value,K.value].join("::")),ne=f(()=>{var de;const w=!!((de=y.value)!=null&&de.sessionId),R=An(T.value),ae=ge.value!==h.value,fe=!H.value,me=!B.value,De=!E.value;return!!(_.value&&w&&R&&ae&&fe&&me&&De)}),A=f(()=>{var me;const w=!!((me=y.value)!=null&&me.sessionId),R=hd(y.value).available===!0,ae=!H.value,fe=!b.value;return!!(_.value&&w&&R&&ae&&fe)}),J=f(()=>{if(b.value||E.value)return{icon:"none",kind:"command",showProgress:!1,title:b.value?"Command running.":"Command needs attention."};if(B.value)return{icon:"warning",kind:"failure",message:String(B.value.error||""),showProgress:!1,title:"Attention required"};const w=Fo(y.value);return{icon:w.icon||"cog",input:w.input&&typeof w.input=="object"&&!Array.isArray(w.input)?w.input:null,kind:w.kind||"idle",message:w.message||"",primaryIntentId:w.primaryIntentId||"",sections:Array.isArray(w.sections)?w.sections:[],showProgress:w.showProgress===!0,stopAction:w.stopAction||"",title:w.title||"Vibe64",variant:w.variant||""}});function L({clearCommandResult:w=!1}={}){s.value=null,m.value=null,w&&!P.value&&typeof t.clearResult=="function"&&t.clearResult()}function se(w=""){return!!w&&F.value===w}function U(w=""){return se(w)?y.value:null}function k(w={}){const R=gi(w)||F.value;ce("client.autopilot.failure",{actionId:String(w.actionId||""),actionLabel:String(w.actionLabel||w.actionId||"Action"),error:String(w.error||"Autopilot action failed."),exitCode:w.exitCode??null,sessionId:R,source:String(w.source||"")}),s.value={actionId:String(w.actionId||""),actionLabel:String(w.actionLabel||w.actionId||"Action"),commandPreview:String(w.commandPreview||""),error:String(w.error||"Autopilot action failed."),exitCode:w.exitCode??null,output:String(w.output||""),sessionId:R,source:String(w.source||"")}}async function ee(){if(!ne.value){ce("client.autopilot.runNextOperation.skipped",{...Oe(y.value||{}),...at(T.value),commandFailed:E.value,enabled:_.value,failure:!!B.value,running:H.value});return}S=!1,L(),ce("client.autopilot.runNextOperation.start",{...Oe(y.value||{}),...at(T.value)}),await G()}async function ye(){var w;if(!_.value||H.value){ce("client.autopilot.retry.skipped",{enabled:_.value,running:H.value,sessionId:String(((w=y.value)==null?void 0:w.sessionId)||"")});return}ce("client.autopilot.retry.start",{...Oe(y.value||{})}),S=!1,h.value="",L({clearCommandResult:!0}),await G()}function ue(){var w;if(ce("client.autopilot.stop.requested",{commandRunning:b.value,sessionId:String(((w=y.value)==null?void 0:w.sessionId)||"")}),S=!0,b.value&&typeof t.stopCommandAction=="function"){t.stopCommandAction();return}o.value=!1,u.value="",k(yd())}function j(){return!b.value||typeof t.stopCommandAction!="function"?!1:(S=!0,t.stopCommandAction())}async function D(){var R,ae,fe;if(!A.value||d.value)return ce("client.autopilot.recoverStuckStep.skipped",{...Oe(y.value||{}),available:A.value,recoveryRunning:d.value}),!1;const w=Date.now();d.value=!0,ce("client.autopilot.recoverStuckStep.start",{...Oe(y.value||{})});try{return await((ae=e.recoverStuckStep)==null?void 0:ae.call(e,{sessionId:((R=y.value)==null?void 0:R.sessionId)||""})),h.value="",typeof t.clearResult=="function"&&t.clearResult(),await r(),await qe(),ce("client.autopilot.recoverStuckStep.done",{...Oe(y.value||{}),durationMs:$e(w)}),!0}catch(me){return ce("client.autopilot.recoverStuckStep.error",{durationMs:$e(w),error:ft(me),sessionId:String(((fe=y.value)==null?void 0:fe.sessionId)||"")}),k({actionId:"recover_stuck_step",actionLabel:"Recover step",error:String((me==null?void 0:me.message)||me||"Vibe64 session step could not be recovered."),source:"recovery"}),!1}finally{d.value=!1}}async function G(){if(p)return I=!0,ce("client.autopilot.runUntilStopPoint.rerunRequested",{...Oe(y.value||{}),...at(T.value)}),p;const w=Date.now(),R=F.value;ce("client.autopilot.runUntilStopPoint.start",{...Oe(y.value||{}),...at(T.value)});do{I=!1,p=pe();try{await p}finally{p=null}}while(be(R));ce("client.autopilot.runUntilStopPoint.done",{...Oe(y.value||{}),durationMs:$e(w),failure:!!B.value,stopRequested:S})}function be(w=""){const R=I,ae=ne.value,fe=S;return(!w||F.value===w)&&(R||ae)&&!fe}async function pe(){var R;const w=Date.now();o.value=!0;try{const ae=y.value;if(!_.value||S||!(ae!=null&&ae.sessionId)){ce("client.autopilot.execute.skipped",{enabled:_.value,hasSession:!!(ae!=null&&ae.sessionId),stopRequested:S});return}const fe=Ia(ae);if(!An(fe)){ce("client.autopilot.execute.noDispatchableOperation",{...Oe(ae),...at(fe)});return}h.value=[ae.sessionId,dn(fe)].join("::"),ce("client.autopilot.execute.dispatch",{...Oe(ae),...at(fe),dispatchKey:h.value}),await Ie(fe),ce("client.autopilot.execute.done",{...Oe(y.value||{}),durationMs:$e(w)})}catch(ae){throw ce("client.autopilot.execute.error",{durationMs:$e(w),error:ft(ae),sessionId:String(((R=y.value)==null?void 0:R.sessionId)||"")}),ae}finally{o.value=!1,u.value=""}}async function Ie(w={}){var fe;const R=Date.now();if(u.value=String(w.label||w.actionId||w.intentId||"Autopilot"),ce("client.autopilot.operation.start",{...Oe(y.value||{}),...at(w)}),!An(w)){ce("client.autopilot.operation.blocked",{...Oe(y.value||{}),...at(w),reason:"not_dispatchable"}),k(vi(w));return}const ae=String(w.route||"");try{await Le(ae,w),ce("client.autopilot.operation.done",{...Oe(y.value||{}),...at(w),durationMs:$e(R)})}catch(me){throw ce("client.autopilot.operation.error",{...at(w),durationMs:$e(R),error:ft(me),sessionId:String(((fe=y.value)==null?void 0:fe.sessionId)||"")}),me}}async function Le(w="",R={}){const fe=je()[w];if(typeof fe!="function"){k(vi(R));return}await fe(R)}function je(){return{[Et.COMMAND_TERMINAL]:N,[Et.SESSION_ACTION]:Ue,[Et.SESSION_ADVANCE]:Se,[Et.SESSION_INTENT]:Re}}async function we(){await r(),await qe()}async function Se(){var w,R;await((R=e.advanceSession)==null?void 0:R.call(e,{sessionId:((w=y.value)==null?void 0:w.sessionId)||""})),await we()}async function Re(w={}){var R,ae,fe,me,De;await((De=e.runIntentById)==null?void 0:De.call(e,{fields:aa(w),intentId:w.intentId,sessionId:((R=y.value)==null?void 0:R.sessionId)||"",stepId:w.stepId||((ae=y.value)==null?void 0:ae.currentStep)||"",stepStatus:w.stepStatus||((me=(fe=y.value)==null?void 0:fe.stepMachine)==null?void 0:me.status)||""})),await we()}async function Ue(w={}){var R,ae;await((ae=e.runActionById)==null?void 0:ae.call(e,{actionId:w.actionId,advanceOnSuccess:w.advanceOnSuccess===!0,input:aa(w),sessionId:((R=y.value)==null?void 0:R.sessionId)||""})),await we()}async function Pe(w={},{continueAfterCompletion:R=!0,fields:ae={}}={}){var fe,me,De,de,ke,We;if(!xe(w))return!1;L(),o.value=!0,u.value=w.label||"Run intent";try{const Me=await((ke=e.runIntentById)==null?void 0:ke.call(e,{fields:ae,intentId:w.id,sessionId:((fe=y.value)==null?void 0:fe.sessionId)||"",stepId:((me=y.value)==null?void 0:me.currentStep)||"",stepStatus:((de=(De=y.value)==null?void 0:De.stepMachine)==null?void 0:de.status)||""}));await r(),await qe();const vt=String(((We=Me==null?void 0:Me.actionResult)==null?void 0:We.status)||"");return vt==="blocked"||vt==="failed"||B.value?!1:(R&&await G(),!B.value)}catch(Me){return k({actionId:w.id,actionLabel:w.label,error:String((Me==null?void 0:Me.message)||Me||`${w.label||w.id} failed.`)}),!1}finally{o.value=!1,u.value=""}}async function Ge(w={}){var R,ae;if(!_.value||H.value)return ce("client.autopilot.runCommandAction.skipped",{actionId:String(w.id||""),enabled:_.value,running:H.value,sessionId:String(((R=y.value)==null?void 0:R.sessionId)||"")}),!1;L({clearCommandResult:!0}),S=!1,o.value=!0,u.value=String(w.label||w.id||"Command");try{return await N({actionId:String(w.id||""),advanceOnSuccess:w.advanceOnSuccess===!0,id:`manual-command:${String(w.id||"")}`,kind:"action",label:String(w.label||w.id||"Command"),route:Et.COMMAND_TERMINAL}),!B.value}catch(fe){return ce("client.autopilot.runCommandAction.error",{actionId:String(w.id||""),error:ft(fe),sessionId:String(((ae=y.value)==null?void 0:ae.sessionId)||"")}),k({actionId:String(w.id||""),actionLabel:String(w.label||w.id||"Command"),error:String((fe==null?void 0:fe.message)||fe||"Command action failed."),source:"manual_command"}),!1}finally{o.value=!1,u.value=""}}function xe(w={}){const R=_.value,ae=w.enabled===!0,fe=o.value,De=!H.value||fe;return R&&De&&ae}async function N(w={}){const R=Date.now(),ae=y.value||{},fe=String(ae.sessionId||"");v.value=fe,ce("client.autopilot.commandTerminal.start",{...Oe(ae),...at(w)}),m.value=null;const me=await t.runCommandAction({action:{id:String(w.actionId||""),label:String(w.label||w.actionId||"Command")},advanceOnSuccess:w.advanceOnSuccess===!0,input:aa(w),sessionId:fe});if(Sd(me)){ce("client.autopilot.commandTerminal.startNeedsRefresh",{...at(w),code:String((me==null?void 0:me.code)||""),durationMs:$e(R),operationOutcome:String((me==null?void 0:me.operationOutcome)||""),refreshRecommended:(me==null?void 0:me.refreshRecommended)===!0,sessionId:fe,status:(me==null?void 0:me.status)??null}),m.value=null,typeof t.clearResult=="function"&&t.clearResult(),await r(),await qe();return}if(await r(),await qe(),(me==null?void 0:me.ok)!==!0){if(se(fe)&&wd(w,y.value)&&!Cd(y.value)){ce("client.autopilot.commandTerminal.serverNoLongerPresentsCommand",{...Oe(y.value||{}),...at(w),durationMs:$e(R),resultError:String((me==null?void 0:me.error)||"")}),m.value=null,typeof t.clearResult=="function"&&t.clearResult();return}m.value=me,ce("client.autopilot.commandTerminal.failed",{...at(w),durationMs:$e(R),error:String((me==null?void 0:me.error)||""),exitCode:(me==null?void 0:me.exitCode)??null,sessionId:fe}),k(me);return}await Y({operation:w,sessionId:fe,startedAtMs:R}),m.value=me,ce("client.autopilot.commandTerminal.done",{...Oe(U(fe)||ae),...at(w),durationMs:$e(R),exitCode:(me==null?void 0:me.exitCode)??null})}async function Y({operation:w={},sessionId:R="",startedAtMs:ae=Date.now()}={}){const fe=Math.max(0,Number(n)||0),me=Math.max(0,Number(a)||0);for(let De=1;De<=fe;De+=1){if(!se(R)||!pi(y.value))return!0;const de=me*De;ce("client.autopilot.commandTerminal.waitForState",{...Oe(U(R)||{}),...at(w),attempt:De,delayMs:de,durationMs:$e(ae)}),de>0&&await gd(de),await r(),await qe()}return ce("client.autopilot.commandTerminal.waitForState.timeout",{...Oe(y.value||{}),...at(w),attempts:fe,durationMs:$e(ae)}),!se(R)||!pi(y.value)}return _e(ge,w=>{var R;w!==h.value&&(ce("client.autopilot.dispatchKey.reset",{lastDispatchedOperationKey:h.value,nextOperationDispatchKey:w,sessionId:String(((R=y.value)==null?void 0:R.sessionId)||"")}),h.value="")}),{canDispatchNextOperation:ne,clearFailure:L,commandOutput:O,commandPreview:V,commandResult:$,commandRunning:b,failure:B,nextOperation:T,nextOperationKey:K,recoverStuckStep:D,retry:ye,runCommandAction:Ge,runNextOperation:ee,runPresentedIntent:Pe,running:H,screenState:J,stuckRecoveryAvailable:A,stuckRecoveryRunning:d,stop:ue,stopCommandAction:j}}function Td({diff:e={}}={}){return typeof e.openDialog!="function"?!1:(e.openDialog(),!0)}async function xd({refreshSessionData:e=async()=>null,session:n={},sessionId:a=""}={}){const t=String(a||(n==null?void 0:n.sessionId)||"").trim();if(!t)return!1;const i=await bo(t);return(i==null?void 0:i.ok)===!1?i:(await e(),!0)}const kd=Object.freeze({[ha.OPEN_DIFF]:Td,[ha.START_CODEX_TERMINAL]:xd});function zo(e={}){return kd[Va(e)]||null}function Ad(e={}){return!!zo(e)}async function Ma(e={},n={}){const a=zo(e);return a?a(n):!1}const _d=new Set(["failed","running"]);function Ed(e={}){var n;return(Array.isArray((n=e==null?void 0:e.presentation)==null?void 0:n.backgroundTasks)?e.presentation.backgroundTasks:[]).filter(a=>a&&typeof a=="object").map(a=>({...a,error:String(a.error||"").trim(),id:String(a.id||"").trim(),label:String(a.label||a.id||"Background task").trim(),message:String(a.message||"").trim(),retry:a.retry&&typeof a.retry=="object"?a.retry:null,status:String(a.status||"").trim(),updatedAt:String(a.updatedAt||"").trim()})).filter(a=>a.id&&a.status)}function Rd(e={}){return Ad(e.retry)}function Od(e){return String((e==null?void 0:e.message)||e||"Background task retry failed.").trim()}function Uo({refreshSessionData:e=async()=>null,session:n}={}){const a=Q(""),t=Q(""),i=f(()=>Ed(c(n)||{})),r=f(()=>i.value.filter(o=>_d.has(o.status)));async function l(o={}){var s;const u=String(((s=c(n))==null?void 0:s.sessionId)||"").trim();if(!u||!o.id||!Rd(o))return!1;t.value="",a.value=o.id;try{const v=await Ma(o.retry,{refreshSessionData:e,session:c(n),sessionId:u});if(!v)return!1;if((v==null?void 0:v.ok)===!1)throw new Error(v.error||"Codex could not be prepared.");return!0}catch(v){return t.value=Od(v),!1}finally{a.value=""}}return{backgroundTaskError:t,backgroundTasks:i,retryBackgroundTask:l,retryingBackgroundTaskId:a,visibleBackgroundTasks:r}}function Ld(e={}){var a,t;const n=(t=(a=e==null?void 0:e.presentation)==null?void 0:a.screen)==null?void 0:t.input;return n&&typeof n=="object"&&!Array.isArray(n)?n:null}function Pd(e={}){return Array.isArray(e==null?void 0:e.fields)?e.fields:[]}function Dd(e=[]){return Object.fromEntries(e.map(n=>[n.name,String(n.value??"")]))}function bi(e={},n={}){return e.required!==!1&&!String(n[e.name]||"").trim()}function Ho({onSaved:e=async()=>null,submitCurrentStepInput:n=Br,session:a}={}){const t=Q({}),i=Q(""),r=Q(!1),l=f(()=>Ke(a)||null),o=f(()=>{var x;return String(((x=l.value)==null?void 0:x.sessionId)||"")}),u=f(()=>Ld(l.value)),s=f(()=>Pd(u.value)),v=f(()=>sc(u.value,s.value)),m=f(()=>v.value.questions),h=f(()=>m.value.length?Oo(m.value):s.value),d=f(()=>{var x;return m.value.length?v.value.intro:String(((x=u.value)==null?void 0:x.prompt)||"")}),p=f(()=>{var x;return((x=u.value)==null?void 0:x.submitTarget)==="current-step-input"}),I=f(()=>p.value&&h.value.length>0),S=f(()=>I.value&&!r.value&&!h.value.some(x=>bi(x,t.value)));function _(){t.value=Dd(h.value),i.value=""}function y(x="",P=""){t.value={...t.value,[String(x||"")]:String(P||"")}}function T(){return m.value.length?Lo(m.value,t.value):t.value}async function F(){var P,Z,C,O,V,$,b,E;if(!I.value||r.value)return!1;const x=h.value.find(B=>bi(B,t.value));if(x)return i.value=x.requiredMessage||`${x.label||x.name} is required.`,!1;r.value=!0,i.value="";try{const B=await n(o.value,{fields:T(),kind:((P=u.value)==null?void 0:P.submitKind)||"ready",source:"ui",stepId:((Z=l.value)==null?void 0:Z.currentStep)||"",stepStatus:((O=(C=l.value)==null?void 0:C.stepMachine)==null?void 0:O.status)||""});if((B==null?void 0:B.ok)===!1)throw(($=(V=B.errors)==null?void 0:V[0])==null?void 0:$.code)==="vibe64_step_input_state_changed"&&await e(B),new Error(B.error||((E=(b=B.errors)==null?void 0:b[0])==null?void 0:E.message)||"Step input could not be saved.");return await e(B),!0}catch(B){return(B==null?void 0:B.code)==="vibe64_step_input_state_changed"&&await e({ok:!1}),i.value=String((B==null?void 0:B.message)||B||"Step input could not be saved."),!1}finally{r.value=!1}}return _e(()=>{var x,P,Z,C;return[o.value,((x=l.value)==null?void 0:x.currentStep)||"",((Z=(P=l.value)==null?void 0:P.stepMachine)==null?void 0:Z.status)||"",((C=u.value)==null?void 0:C.prompt)||""].join(":")},_,{immediate:!0}),{canSubmit:S,error:i,fields:h,interaction:u,prompt:d,saving:r,submit:F,updateValue:y,values:t,visible:I}}function ia(e){return Array.isArray(e)&&e.length>0}function Wo(e={},n={}){var a;return ia(n==null?void 0:n.intents)||ia(e==null?void 0:e.intents)||ia((a=e==null?void 0:e.presentation)==null?void 0:a.intents)}function qo(e={}){return(e==null?void 0:e.saveCurrentStepInputBeforeRun)===!0}function Gn(e){return Array.isArray(e)?e:[]}function Ko(e){return e&&typeof e=="object"&&!Array.isArray(e)?e:null}function Nd(e=[]){return Gn(e).filter(n=>n&&n.id&&n.label)}function Vd({actions:e=[],interaction:n={},session:a={}}={}){var i;const t=[a==null?void 0:a.intents,(i=a==null?void 0:a.presentation)==null?void 0:i.intents,n==null?void 0:n.intents];for(const r of t){const l=Nd(r);if(l.length>0)return l.map(o=>Bd(o,e))}return[]}function Md(e=[],n=""){const a=String(n||"").trim();return a&&Gn(e).find(t=>String((t==null?void 0:t.id)||"").trim()===a)||null}function Bd(e={},n=[]){const a=Md(n,e.actionId);return a?{...e,disabledReason:e.disabledReason||a.disabledReason||"",enabled:e.enabled===!0&&a.enabled===!0,sourceAction:a}:e}function $d(e={}){const n=Ko(e),a=String((n==null?void 0:n.id)||"").trim(),t=Gn(n==null?void 0:n.inputFields);return!n||!a||n.visible===!1||t.length<1?null:{actionId:a,disabledReason:String(n.disabledReason||""),enabled:n.enabled===!0,id:a,inputFields:t,label:String(n.label||a),sourceAction:n,style:n.style||"primary"}}function Fd(e=[]){return Gn(e).map($d).filter(Boolean)}function Go({actions:e=[],interaction:n={},session:a={}}={}){const t=Vd({actions:e,interaction:n,session:a});return t.length>0?t:Fd(e)}function jt(e={}){return Ko(e==null?void 0:e.sourceAction)}const jd={class:"studio-autopilot"},zd={key:0,class:"studio-autopilot__command-terminal-stage"},Ud={class:"studio-autopilot__command-terminal-overlay"},Hd={class:"studio-autopilot__actions"},Wd={key:1,class:"studio-autopilot__status-bar"},qd={key:5,class:"studio-autopilot__status"},Kd={key:0,class:"studio-autopilot__status-actions"},Gd={key:0,class:"text-body-2 text-medium-emphasis mb-0"},Xd={key:3,class:"studio-autopilot__actions"},Qd={key:6,class:"studio-autopilot__actions studio-autopilot__screen-actions"},Jd={__name:"Vibe64AutopilotView",props:{actions:{default:()=>({}),type:Object},active:{default:!0,type:Boolean},automationEnabled:{default:!0,type:Boolean},autopilotSteps:{default:()=>[],type:Array},commandRunner:{default:null,type:Object},conversationLog:{default:()=>({}),type:Object},diff:{default:()=>({}),type:Object},humanInputResponsePreview:{default:()=>({}),type:Object},page:{default:()=>({}),type:Object},reportPreview:{default:()=>({}),type:Object},review:{default:()=>({}),type:Object},refreshSessionData:{default:async()=>null,type:Function},rewindBusy:{default:!1,type:Boolean},rewindToStep:{default:null,type:Function},session:{default:null,type:Object}},emits:["busy-change"],setup(e,{emit:n}){const a=n,t=e,{canDispatchNextOperation:i,clearFailure:r,commandOutput:l,commandPreview:o,commandResult:u,commandRunning:s,failure:v,nextOperationKey:m,recoverStuckStep:h,retry:d,runCommandAction:p,runNextOperation:I,runPresentedIntent:S,running:_,screenState:y,stop:T,stopCommandAction:F,stuckRecoveryAvailable:x,stuckRecoveryRunning:P}=Id({actions:t.actions,commandRunner:t.commandRunner||void 0,enabled:f(()=>t.automationEnabled),refreshSessionData:()=>t.refreshSessionData(),session:f(()=>t.session)}),{backgroundTaskError:Z,retryBackgroundTask:C,retryingBackgroundTaskId:O,visibleBackgroundTasks:V}=Uo({refreshSessionData:()=>t.refreshSessionData(),session:f(()=>t.session)}),{fixDialogOpen:$,fixJob:b,fixTerminal:E,openFixCodexDialog:B}=Un(),H=Je(Ho({onSaved:async()=>{await t.refreshSessionData(),await qe(),await I()},session:f(()=>t.session)})),K=f(()=>y.value.kind),ge=f(()=>{var ie;return String(((ie=t.session)==null?void 0:ie.sessionId)||"")}),ne=f(()=>String(y.value.message||"")),A=f(()=>Array.isArray(y.value.sections)?y.value.sections:[]),J=f(()=>t.active?String(y.value.primaryIntentId||""):""),L=f(()=>{var ie;return H.visible&&((ie=H.interaction)==null?void 0:ie.title)||y.value.title}),se=f(()=>String(L.value||"").trim()==="Talk to Codex"),U=f(()=>!se.value),k=f(()=>!!y.value.showProgress),ee=f(()=>K.value==="codex_running"),ye=f(()=>{var ie;return((ie=u.value)==null?void 0:ie.ok)===!1}),ue=f(()=>K.value==="command"),j=f(()=>!!(H.visible&&!k.value&&!ue.value)),D=f(()=>!!Wo(t.session,H.interaction)),G=f(()=>!!(t.active&&j.value&&he.value&&Te.value.length)),be=f(()=>!!(t.active&&he.value)),pe=f(()=>s.value?"running":""),Ie=f(()=>{var ie;return((ie=u.value)==null?void 0:ie.ok)===!1?String(u.value.error||""):""}),Le=f(()=>{var ie;return Ie.value||((ie=v.value)==null?void 0:ie.error)||"The command did not finish properly."}),je=f(()=>ye.value?"Command needs attention.":"Command running."),we=f(()=>{var ut;const ie=Dt(l.value),Ae=Dt(((ut=u.value)==null?void 0:ut.output)||""),Ce=Dt(o.value);return fs(ie||Ae||Ce||"Starting command...")}),Se=f(()=>!!(t.active&&(_.value||y.value.showProgress===!0||H.saving))),Re=f(()=>{var ie;return!!((ie=t.page)!=null&&ie.busy||Se.value||t.rewindBusy)}),Ue=f(()=>!ee.value&&!ue.value&&!me.value),Pe=f(()=>K.value==="failure"),Ge=f(()=>String(y.value.stopAction||"")),xe=f(()=>!k.value&&!ue.value),N=f(()=>!!(xe.value&&ne.value&&se.value)),Y=f(()=>{var ie;return String(((ie=t.humanInputResponsePreview)==null?void 0:ie.text)||"")}),w=f(()=>{var ie;return String(((ie=t.humanInputResponsePreview)==null?void 0:ie.error)||"")}),R=f(()=>{var ie;return!!((ie=t.humanInputResponsePreview)!=null&&ie.loading)}),ae=f(()=>Sn("launch_controls")),fe=f(()=>{var ie;return!!(Sn("report_preview")&&((ie=t.reportPreview)!=null&&ie.visible))}),me=f(()=>{var ie;return!!(Sn("response_preview")&&((ie=t.conversationLog)!=null&&ie.visible))}),De=f(()=>!!(Sn("response_preview")&&!me.value&&(Y.value.trim()||w.value||R.value))),de=f(()=>!!(me.value||De.value)),ke=f(()=>{var ie;return!!((ie=t.actions)!=null&&ie.actionResultMessage&&!ue.value)}),We=Q(""),Me=f(()=>!!(We.value&&!ue.value)),vt=f(()=>{var ie;return[ge.value,me.value?"conversation-visible":"conversation-hidden",((ie=he.value)==null?void 0:ie.id)||"",Te.value.map(Ae=>Ae.name).join("|")].join(":")}),en=f(()=>{var ie;return Go({actions:((ie=t.actions)==null?void 0:ie.currentActions)||[],interaction:H.interaction,session:t.session})}),{activateControl:Bt,canSubmitSelectedControl:oe,clearSelectedControl:Ne,screenControls:st,selectedControl:he,selectedControlFields:Te,selectedControlIsPrimary:Be,selectedControlValues:Qe,submitSelectedControl:tn,updateSelectedControlValue:nn}=Bo({conversationLog:f(()=>t.conversationLog),controls:en,isControlDisabled:qa,onRunClientControl:ws,onRunControl:gs,primaryIntentId:J,running:_}),qt=f(()=>st.value.map(ie=>({...ie,buttonColor:ie.style==="primary"?"primary":void 0,buttonVariant:ie.style==="primary"?"flat":"tonal",disabled:qa(ie),icon:Is(ie),loading:Cs(ie),sourceControl:ie}))),cs=f(()=>({...t.actions,runAction:ps}));function Sn(ie=""){return A.value.some(Ae=>(Ae==null?void 0:Ae.kind)===ie)}function Jn(){a("busy-change",Se.value)}function ds(){if(G.value){Ha();return}D.value||ms()}function fs(ie=""){const Ae=String(ie||""),Ce=12e3;return Ae.length<=Ce?Ae:Ae.slice(Ae.length-Ce)}async function ms(){await H.submit()}async function Yn(ie={}){return!j.value||!qo(ie)?!0:await H.submit()}async function Ua(ie={}){return await Yn(ie)===!1?!1:Bt(ie)}async function Ha(){return await Yn(he.value)===!1?!1:tn()}async function vs(ie={}){return Yn(ie)}async function ps(ie={}){return String(ie.dispatchRoute||"")===cn.COMMAND_TERMINAL?p(ie):t.actions.runAction(ie)}async function gs(ie={},Ae={}){const Ce=jt(ie);if(!Ce)return S(ie,Ae);if(String(Ce.dispatchRoute||"")===cn.COMMAND_TERMINAL)return p(Ce);const ut=Ae!=null&&Ae.fields&&typeof Ae.fields=="object"&&!Array.isArray(Ae.fields)?Ae.fields:{},wn=await t.actions.runAction(Ce,{input:ut});return await t.refreshSessionData(),await qe(),await I(),wn!==!1}async function bs(){var ie;if(((ie=H.interaction)==null?void 0:ie.kind)==="command_failure_response"&&H.visible){r({clearCommandResult:!0}),await H.submit();return}await d()}async function hs(){var ie,Ae,Ce,ut,wn;ye.value&&B(await Hn({actionId:((ie=u.value)==null?void 0:ie.actionId)||"",actionLabel:((Ae=u.value)==null?void 0:Ae.actionLabel)||"",attemptedCommand:((Ce=u.value)==null?void 0:Ce.attemptedCommand)||"",closeError:Ie.value,commandPreview:o.value,exitCode:((ut=u.value)==null?void 0:ut.exitCode)??"",output:we.value,sessionId:ge.value,terminalKind:"command",terminalSessionId:((wn=u.value)==null?void 0:wn.terminalSessionId)||"",terminalStatus:pe.value}))}function ys(){T()}async function Ss(ie={}){Re.value||ie.canRewind!==!0||typeof t.rewindToStep!="function"||(r(),Ne(),await t.rewindToStep(ie))}function Wa(ie={},Ae=""){return ya(ie,Ae,{diff:t.diff,review:t.review})}async function ws(ie={}){We.value="";try{const Ae=await Ma(ie,{diff:t.diff,refreshSessionData:t.refreshSessionData,session:t.session,sessionId:ge.value});return(Ae==null?void 0:Ae.ok)===!1?(We.value=String(Ae.error||"The requested control could not run."),!1):Ae}catch(Ae){return We.value=String((Ae==null?void 0:Ae.message)||Ae||"The requested control could not run."),!1}}function qa(ie={}){return!!(t.page.busy||_.value||H.saving||ie.enabled!==!0||Wa(ie,"disabledWhen"))}function Cs(ie={}){var Ce;const Ae=jt(ie);return Ae?!!((Ce=t.actions.runActionCommand)!=null&&Ce.isRunning&&t.actions.activeActionId===Ae.id):!!(_.value||H.saving||Wa(ie,"loadingWhen"))}function Is(ie={}){const Ae=jt(ie);return Ae&&typeof t.actions.actionIcon=="function"?t.actions.actionIcon(Ae):xo(ie)===To.DIFF?On:ie.style==="primary"?rn:zt}return Jt(Jn),_e(Se,()=>{Jn()},{flush:"post"}),_e(()=>t.active,()=>{Jn()},{flush:"post"}),_e(()=>[t.active?"active":"inactive",i.value?"dispatchable":"idle",m.value].join(":"),()=>{t.active&&i.value&&I()},{flush:"post",immediate:!0}),(ie,Ae)=>(g(),q("section",jd,[W(zu,{class:"studio-autopilot__nav",busy:Re.value,layout:"rail",steps:e.autopilotSteps,onRewind:Ss},null,8,["busy","steps"]),te("div",{class:Fe(["studio-autopilot__stage",{"studio-autopilot__stage--failure":Pe.value}])},[ue.value?(g(),q("div",zd,[W(Po,{class:"studio-autopilot__command-terminal-output","command-preview":c(o),compact:"",error:Ie.value,failed:ye.value,output:we.value,running:c(s),status:pe.value,title:"Autopilot command"},null,8,["command-preview","error","failed","output","running","status"]),te("div",Ud,[te("strong",null,le(je.value),1),ye.value?(g(),q(Ee,{key:0},[te("span",null,le(Le.value),1),te("div",Hd,[W(ve,{color:"primary","prepend-icon":c(zt),size:"small",type:"button",variant:"tonal",onClick:bs},{default:M(()=>[...Ae[1]||(Ae[1]=[re(" Retry command ",-1)])]),_:1},8,["prepend-icon"]),W(ve,{color:"primary","prepend-icon":c(xt),size:"small",type:"button",variant:"tonal",onClick:hs},{default:M(()=>[...Ae[2]||(Ae[2]=[re(" Get AI to fix it ",-1)])]),_:1},8,["prepend-icon"])])],64)):(g(),q(Ee,{key:1},[te("span",null,le(L.value),1),c(s)?(g(),z(ve,{key:0,class:"studio-autopilot__stop-button","prepend-icon":c(Us),size:"small",type:"button",variant:"tonal",onClick:c(F)},{default:M(()=>[...Ae[3]||(Ae[3]=[re(" Stop command ",-1)])]),_:1},8,["prepend-icon","onClick"])):X("",!0)],64))])])):X("",!0),Ue.value?(g(),q("div",Wd,[k.value?(g(),z(Mn,{key:0,class:"studio-autopilot__cog",color:"primary",indeterminate:"",size:48,width:3},{default:M(()=>[W(tt,{icon:c(Ga),size:"24"},null,8,["icon"])]),_:1})):c(y).icon==="warning"?(g(),z(tt,{key:1,color:"warning",icon:c(ln),size:"34"},null,8,["icon"])):c(y).icon==="success"?(g(),z(tt,{key:2,color:"success",icon:c(Hs),size:"36"},null,8,["icon"])):(g(),z(tt,{key:3,color:"primary",icon:c(Ga),size:"34"},null,8,["icon"])),N.value?(g(),q("div",{key:4,class:Fe(["studio-autopilot__screen-message studio-autopilot__screen-message--inline",{"studio-autopilot__screen-message--warning":Pe.value}])},[W(tt,{icon:Pe.value?c(ln):c(Xa),size:"19"},null,8,["icon"]),te("span",null,le(ne.value),1)],2)):U.value?(g(),q("div",qd,[te("h2",null,le(L.value),1),Ge.value||c(x)?(g(),q("div",Kd,[Ge.value?(g(),z(ve,{key:0,class:"studio-autopilot__stop-button","prepend-icon":c(pn),size:"small",type:"button",variant:"tonal",onClick:ys},{default:M(()=>[...Ae[4]||(Ae[4]=[re(" Stop Autopilot ",-1)])]),_:1},8,["prepend-icon"])):X("",!0),c(x)?(g(),z(ve,{key:1,class:"studio-autopilot__stop-button",loading:c(P),"prepend-icon":c(zt),size:"small",type:"button",variant:"tonal",onClick:c(h)},{default:M(()=>[...Ae[5]||(Ae[5]=[re(" Recover step ",-1)])]),_:1},8,["loading","prepend-icon","onClick"])):X("",!0)])):X("",!0)])):X("",!0)])):X("",!0),c(V).length||c(Z)?(g(),z(ko,{key:2,error:c(Z),"retrying-task-id":c(O),tasks:c(V),onRetry:c(C)},null,8,["error","retrying-task-id","tasks","onRetry"])):X("",!0),ke.value?(g(),z(dt,{key:3,class:"studio-autopilot__notice",type:t.actions.actionResultType,variant:"tonal",density:"compact"},{default:M(()=>[re(le(t.actions.actionResultMessage),1)]),_:1},8,["type"])):X("",!0),Me.value?(g(),z(dt,{key:4,class:"studio-autopilot__notice",type:"warning",variant:"tonal",density:"compact"},{default:M(()=>[re(le(We.value),1)]),_:1})):X("",!0),j.value?(g(),q("form",{key:5,class:"studio-autopilot__input-form",onSubmit:He(ds,["prevent"])},[c(H).prompt?(g(),q("p",Gd,le(c(H).prompt),1)):X("",!0),(g(!0),q(Ee,null,Ve(c(H).fields,Ce=>(g(),q(Ee,{key:Ce.name},[Ce.kind==="textarea"?(g(),z(yn,{key:0,"auto-grow":"",class:"studio-autopilot__input",disabled:e.page.busy||c(H).saving,"hide-details":"auto",label:Ce.label,"model-value":c(H).values[Ce.name]||"",placeholder:Ce.placeholder,rows:Ce.rows||8,variant:"outlined","onUpdate:modelValue":ut=>c(H).updateValue(Ce.name,ut)},null,8,["disabled","label","model-value","placeholder","rows","onUpdate:modelValue"])):(g(),z(bn,{key:1,class:"studio-autopilot__input",disabled:e.page.busy||c(H).saving,"hide-details":"auto",label:Ce.label,"model-value":c(H).values[Ce.name]||"",placeholder:Ce.placeholder,variant:"outlined","onUpdate:modelValue":ut=>c(H).updateValue(Ce.name,ut)},null,8,["disabled","label","model-value","placeholder","onUpdate:modelValue"]))],64))),128)),c(H).error?(g(),z(dt,{key:1,type:"warning",variant:"tonal",density:"compact"},{default:M(()=>[re(le(c(H).error),1)]),_:1})):X("",!0),G.value?(g(),z(Pn,{key:2,class:"studio-autopilot__inline-control","can-submit-selected-control":c(oe),layout:"center",running:c(_),"selected-control":c(he),"selected-control-fields":c(Te),"selected-control-values":c(Qe),"sticky-actions":"","workflow-controls":qt.value,onActivateControl:Ua,onCancel:c(Ne),onSubmit:Ha,onUpdateValue:c(nn)},null,8,["can-submit-selected-control","running","selected-control","selected-control-fields","selected-control-values","workflow-controls","onCancel","onUpdateValue"])):(g(),q("div",Xd,[D.value?X("",!0):(g(),z(ve,{key:0,color:"primary",variant:D.value?"tonal":"flat",disabled:e.page.busy||!c(H).canSubmit,loading:c(H).saving,"prepend-icon":c(rn),type:"submit"},{default:M(()=>{var Ce;return[re(le(((Ce=c(H).interaction)==null?void 0:Ce.submitLabel)||"Submit"),1)]}),_:1},8,["variant","disabled","loading","prepend-icon"])),(g(!0),q(Ee,null,Ve(qt.value,Ce=>(g(),z(ve,{key:Ce.id,color:Ce.buttonColor,disabled:Ce.disabled,loading:Ce.loading,"prepend-icon":Ce.icon,title:Ce.disabledReason||Ce.label,type:"button",variant:Ce.buttonVariant,onClick:ut=>Ua(Ce.sourceControl||Ce)},{default:M(()=>[re(le(Ce.label),1)]),_:2},1032,["color","disabled","loading","prepend-icon","title","variant","onClick"]))),128)),!D.value&&!qt.value.length?(g(!0),q(Ee,{key:1},Ve(e.actions.currentActions,Ce=>(g(),z(wa,{key:Ce.id,action:Ce,actions:cs.value,"before-run":vs,busy:e.page.busy||c(H).saving,variant:"tonal"},null,8,["action","actions","busy"]))),128)):X("",!0)]))],32)):xe.value?(g(),q("div",{key:6,class:Fe(["studio-autopilot__server-screen",{"studio-autopilot__server-screen--with-response":de.value}])},[ne.value&&!N.value?(g(),q("div",{key:0,class:Fe(["studio-autopilot__screen-message",{"studio-autopilot__screen-message--warning":Pe.value}])},[W(tt,{icon:Pe.value?c(ln):c(Xa),size:"19"},null,8,["icon"]),te("span",null,le(ne.value),1)],2)):X("",!0),ae.value?(g(),z(Io,{key:1,"button-label":"Try it!","button-size":"x-large","button-variant":"flat",busy:c(_),prominent:"",session:e.session,"window-displayed":t.active,"workflow-command":""},null,8,["busy","session","window-displayed"])):X("",!0),fe.value?(g(),z(Ln,{key:2,error:e.reportPreview.error,loading:e.reportPreview.loading,text:e.reportPreview.text},null,8,["error","loading","text"])):X("",!0),me.value?(g(),z(wc,{key:3,class:"studio-autopilot__response-content",error:e.conversationLog.error,loading:e.conversationLog.loading,"scroll-key":vt.value,turns:e.conversationLog.turns,visible:e.conversationLog.visible},null,8,["error","loading","scroll-key","turns","visible"])):X("",!0),De.value?(g(),z(Ln,{key:4,class:"studio-autopilot__response-content studio-autopilot__response-preview","empty-text":"Codex response is not ready yet.",error:w.value,loading:R.value,text:Y.value,"title-icon":c(xt),title:"Codex"},null,8,["error","loading","text","title-icon"])):X("",!0),be.value?(g(),z(Pn,{key:5,"as-form":"","attach-textarea":"",class:"studio-autopilot__control-form","cancel-visible":!c(Be),"can-submit-selected-control":c(oe),layout:"split",running:c(_),"selected-control":c(he),"selected-control-fields":c(Te),"selected-control-values":c(Qe),"session-id":ge.value,"textarea-rows":3,"workflow-controls":qt.value,onActivateControl:c(Bt),onCancel:c(Ne),onSubmit:c(tn),onUpdateValue:c(nn)},null,8,["cancel-visible","can-submit-selected-control","running","selected-control","selected-control-fields","selected-control-values","session-id","workflow-controls","onActivateControl","onCancel","onSubmit","onUpdateValue"])):X("",!0),qt.value.length&&!c(he)?(g(),q("div",Qd,[(g(!0),q(Ee,null,Ve(qt.value,Ce=>(g(),z(ve,{key:Ce.id,color:Ce.buttonColor,disabled:Ce.disabled,loading:Ce.loading,"prepend-icon":Ce.icon,title:Ce.disabledReason||Ce.label,type:"button",variant:Ce.buttonVariant,onClick:ut=>c(Bt)(Ce.sourceControl||Ce)},{default:M(()=>[re(le(Ce.label),1)]),_:2},1032,["color","disabled","loading","prepend-icon","title","variant","onClick"]))),128))])):X("",!0)],2)):X("",!0)],2),W(jn,{modelValue:c($),"onUpdate:modelValue":Ae[0]||(Ae[0]=Ce=>Vn($)?$.value=Ce:null),job:c(b),terminal:c(E)},null,8,["modelValue","job","terminal"])]))}},Yd=ze(Jd,[["__scopeId","data-v-c4972293"]]),Zd={class:"text-body-2 text-medium-emphasis mb-0"},ef={__name:"Vibe64SessionAbandonDialog",props:{abandon:{default:()=>({}),type:Object},shortSessionId:{default:e=>String(e||""),type:Function}},setup(e){const n=e;function a(t){t!==!0&&n.abandon.cancel()}return(t,i)=>(g(),z(Lt,{"model-value":e.abandon.open,"max-width":"520",persistent:"","onUpdate:modelValue":a},{default:M(()=>[W(Rt,{class:"studio-ai-session-abandon-dialog"},{default:M(()=>[W(Xt,{class:"studio-ai-session-abandon-dialog__title"},{default:M(()=>[W(tt,{icon:c(ln),color:"warning"},null,8,["icon"]),i[0]||(i[0]=re(" Abandon session? ",-1))]),_:1}),W(Ot,null,{default:M(()=>[i[2]||(i[2]=te("p",{class:"text-body-2 mb-2"}," This will mark the session as abandoned and close its terminals. ",-1)),te("p",Zd,[i[1]||(i[1]=re(" Session: ",-1)),te("strong",null,le(e.abandon.sessionTitle||e.shortSessionId(e.abandon.sessionId)),1)])]),_:1}),W(Qt,{class:"studio-ai-session-abandon-dialog__actions"},{default:M(()=>[W(ve,{variant:"text",disabled:e.abandon.command.isRunning,onClick:e.abandon.cancel},{default:M(()=>[...i[3]||(i[3]=[re(" Cancel ",-1)])]),_:1},8,["disabled","onClick"]),W(ve,{color:"warning",variant:"flat",loading:e.abandon.command.isRunning,onClick:e.abandon.confirm},{default:M(()=>[...i[4]||(i[4]=[re(" Abandon session ",-1)])]),_:1},8,["loading","onClick"])]),_:1})]),_:1})]),_:1},8,["model-value"]))}},tf=ze(ef,[["__scopeId","data-v-2528375b"]]);var Ze;(function(e){e.INSERT="insert",e.DELETE="delete",e.CONTEXT="context"})(Ze||(Ze={}));const nf={LINE_BY_LINE:"line-by-line"},af={NONE:"none"},of={WORD:"word"};var Kt;(function(e){e.AUTO="auto",e.DARK="dark",e.LIGHT="light"})(Kt||(Kt={}));const sf=["-","[","]","/","{","}","(",")","*","+","?",".","\\","^","$","|"],lf=RegExp("["+sf.join("\\")+"]","g");function rf(e){return e.replace(lf,"\\$&")}function hi(e){return e&&e.replace(/\\/g,"/")}function uf(e){let n,a,t,i=0;for(n=0,t=e.length;n<t;n++)a=e.charCodeAt(n),i=(i<<5)-i+a,i|=0;return i}function Xo(e){const n=e.length;let a=-1/0;for(let t=0;t<n;t++)a=Math.max(a,e[t]);return a}function yi(e,n){const a=e.split(".");return a.length>1?a[a.length-1]:n}function Si(e,n){return n.reduce((a,t)=>a||e.startsWith(t),!1)}const wi=["a/","b/","i/","w/","c/","o/"];function _t(e,n,a){const t=a!==void 0?[...wi,a]:wi,i=n?new RegExp(`^${rf(n)} "?(.+?)"?$`):new RegExp('^"?(.+?)"?$'),[,r=""]=i.exec(e)||[],l=t.find(u=>r.indexOf(u)===0);return(l?r.slice(l.length):r).replace(/\s+\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}(?:\.\d+)? [+-]\d{4}.*$/,"")}function cf(e,n){return _t(e,"---",n)}function df(e,n){return _t(e,"+++",n)}function ff(e,n={}){const a=[];let t=null,i=null,r=null,l=null,o=null,u=null,s=null;const v="--- ",m="+++ ",h="@@",d=/^old mode (\d{6})/,p=/^new mode (\d{6})/,I=/^deleted file mode (\d{6})/,S=/^new file mode (\d{6})/,_=/^copy from "?(.+)"?/,y=/^copy to "?(.+)"?/,T=/^rename from "?(.+)"?/,F=/^rename to "?(.+)"?/,x=/^similarity index (\d+)%/,P=/^dissimilarity index (\d+)%/,Z=/^index ([\da-z]+)\.\.([\da-z]+)\s*(\d{6})?/,C=/^Binary files (.*) and (.*) differ/,O=/^GIT binary patch/,V=/^index ([\da-z]+),([\da-z]+)\.\.([\da-z]+)/,$=/^mode (\d{6}),(\d{6})\.\.(\d{6})/,b=/^new file mode (\d{6})/,E=/^deleted file mode (\d{6}),(\d{6})/,B=e.replace(/\/g,"").replace(/\r\n?/g,`
|
|
17
|
+
`).split(`
|
|
18
|
+
`);function H(){i!==null&&t!==null&&(t.blocks.push(i),i=null)}function K(){t!==null&&(!t.oldName&&u!==null&&(t.oldName=u),!t.newName&&s!==null&&(t.newName=s),t.newName&&(a.push(t),t=null)),u=null,s=null}function ge(){H(),K(),t={blocks:[],deletedLines:0,addedLines:0}}function ne(L){H();let se;t!==null&&((se=/^@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@.*/.exec(L))?(t.isCombined=!1,r=parseInt(se[1],10),o=parseInt(se[2],10)):(se=/^@@@ -(\d+)(?:,\d+)? -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@@.*/.exec(L))?(t.isCombined=!0,r=parseInt(se[1],10),l=parseInt(se[2],10),o=parseInt(se[3],10)):(L.startsWith(h)&&console.error("Failed to parse lines, starting in 0!"),r=0,o=0,t.isCombined=!1)),i={lines:[],oldStartLine:r,oldStartLine2:l,newStartLine:o,header:L}}function A(L){if(t===null||i===null||r===null||o===null)return;const se={content:L},U=t.isCombined?["+ "," +","++"]:["+"],k=t.isCombined?["- "," -","--"]:["-"];Si(L,U)?(t.addedLines++,se.type=Ze.INSERT,se.oldNumber=void 0,se.newNumber=o++):Si(L,k)?(t.deletedLines++,se.type=Ze.DELETE,se.oldNumber=r++,se.newNumber=void 0):(se.type=Ze.CONTEXT,se.oldNumber=r++,se.newNumber=o++),i.lines.push(se)}function J(L,se){let U=se;for(;U<B.length-3;){if(L.startsWith("diff"))return!1;if(B[U].startsWith(v)&&B[U+1].startsWith(m)&&B[U+2].startsWith(h))return!0;U++}return!1}return B.forEach((L,se)=>{if(!L||L.startsWith("*"))return;let U;const k=B[se-1],ee=B[se+1],ye=B[se+2];if(L.startsWith("diff --git")||L.startsWith("diff --combined")){if(ge(),(U=/^diff --git "?([a-ciow]\/.+)"? "?([a-ciow]\/.+)"?/.exec(L))&&(u=_t(U[1],void 0,n.dstPrefix),s=_t(U[2],void 0,n.srcPrefix)),t===null)throw new Error("Where is my file !!!");t.isGitDiff=!0;return}if(L.startsWith("Binary files")&&!(t!=null&&t.isGitDiff)){if(ge(),(U=/^Binary files "?([a-ciow]\/.+)"? and "?([a-ciow]\/.+)"? differ/.exec(L))&&(u=_t(U[1],void 0,n.dstPrefix),s=_t(U[2],void 0,n.srcPrefix)),t===null)throw new Error("Where is my file !!!");t.isBinary=!0;return}if((!t||!t.isGitDiff&&t&&L.startsWith(v)&&ee.startsWith(m)&&ye.startsWith(h))&&ge(),t!=null&&t.isTooBig)return;if(t&&(typeof n.diffMaxChanges=="number"&&t.addedLines+t.deletedLines>n.diffMaxChanges||typeof n.diffMaxLineLength=="number"&&L.length>n.diffMaxLineLength)){t.isTooBig=!0,t.addedLines=0,t.deletedLines=0,t.blocks=[],i=null;const j=typeof n.diffTooBigMessage=="function"?n.diffTooBigMessage(a.length):"Diff too big to be displayed";ne(j);return}if(L.startsWith(v)&&ee.startsWith(m)||L.startsWith(m)&&k.startsWith(v)){if(t&&!t.oldName&&L.startsWith("--- ")&&(U=cf(L,n.srcPrefix))){t.oldName=U,t.language=yi(t.oldName,t.language);return}if(t&&!t.newName&&L.startsWith("+++ ")&&(U=df(L,n.dstPrefix))){t.newName=U,t.language=yi(t.newName,t.language);return}}if(t&&(L.startsWith(h)||t.isGitDiff&&t.oldName&&t.newName&&!i)){ne(L);return}if(i&&(L.startsWith("+")||L.startsWith("-")||L.startsWith(" "))){A(L);return}const ue=!J(L,se);if(t===null)throw new Error("Where is my file !!!");(U=d.exec(L))?t.oldMode=U[1]:(U=p.exec(L))?t.newMode=U[1]:(U=I.exec(L))?(t.deletedFileMode=U[1],t.isDeleted=!0):(U=S.exec(L))?(t.newFileMode=U[1],t.isNew=!0):(U=_.exec(L))?(ue&&(t.oldName=U[1]),t.isCopy=!0):(U=y.exec(L))?(ue&&(t.newName=U[1]),t.isCopy=!0):(U=T.exec(L))?(ue&&(t.oldName=U[1]),t.isRename=!0):(U=F.exec(L))?(ue&&(t.newName=U[1]),t.isRename=!0):(U=C.exec(L))?(t.isBinary=!0,t.oldName=_t(U[1],void 0,n.srcPrefix),t.newName=_t(U[2],void 0,n.dstPrefix),ne("Binary file")):O.test(L)?(t.isBinary=!0,ne(L)):(U=x.exec(L))?t.unchangedPercentage=parseInt(U[1],10):(U=P.exec(L))?t.changedPercentage=parseInt(U[1],10):(U=Z.exec(L))?(t.checksumBefore=U[1],t.checksumAfter=U[2],U[3]&&(t.mode=U[3])):(U=V.exec(L))?(t.checksumBefore=[U[2],U[3]],t.checksumAfter=U[1]):(U=$.exec(L))?(t.oldMode=[U[2],U[3]],t.newMode=U[1]):(U=b.exec(L))?(t.newFileMode=U[1],t.isNew=!0):(U=E.exec(L))&&(t.deletedFileMode=U[1],t.isDeleted=!0)}),H(),K(),a}class Qo{diff(n,a,t={}){let i;typeof t=="function"?(i=t,t={}):"callback"in t&&(i=t.callback);const r=this.castInput(n,t),l=this.castInput(a,t),o=this.removeEmpty(this.tokenize(r,t)),u=this.removeEmpty(this.tokenize(l,t));return this.diffWithOptionsObj(o,u,t,i)}diffWithOptionsObj(n,a,t,i){var r;const l=y=>{if(y=this.postProcess(y,t),i){setTimeout(function(){i(y)},0);return}else return y},o=a.length,u=n.length;let s=1,v=o+u;t.maxEditLength!=null&&(v=Math.min(v,t.maxEditLength));const m=(r=t.timeout)!==null&&r!==void 0?r:1/0,h=Date.now()+m,d=[{oldPos:-1,lastComponent:void 0}];let p=this.extractCommon(d[0],a,n,0,t);if(d[0].oldPos+1>=u&&p+1>=o)return l(this.buildValues(d[0].lastComponent,a,n));let I=-1/0,S=1/0;const _=()=>{for(let y=Math.max(I,-s);y<=Math.min(S,s);y+=2){let T;const F=d[y-1],x=d[y+1];F&&(d[y-1]=void 0);let P=!1;if(x){const C=x.oldPos-y;P=x&&0<=C&&C<o}const Z=F&&F.oldPos+1<u;if(!P&&!Z){d[y]=void 0;continue}if(!Z||P&&F.oldPos<x.oldPos?T=this.addToPath(x,!0,!1,0,t):T=this.addToPath(F,!1,!0,1,t),p=this.extractCommon(T,a,n,y,t),T.oldPos+1>=u&&p+1>=o)return l(this.buildValues(T.lastComponent,a,n))||!0;d[y]=T,T.oldPos+1>=u&&(S=Math.min(S,y-1)),p+1>=o&&(I=Math.max(I,y+1))}s++};if(i)(function y(){setTimeout(function(){if(s>v||Date.now()>h)return i(void 0);_()||y()},0)})();else for(;s<=v&&Date.now()<=h;){const y=_();if(y)return y}}addToPath(n,a,t,i,r){const l=n.lastComponent;return l&&!r.oneChangePerToken&&l.added===a&&l.removed===t?{oldPos:n.oldPos+i,lastComponent:{count:l.count+1,added:a,removed:t,previousComponent:l.previousComponent}}:{oldPos:n.oldPos+i,lastComponent:{count:1,added:a,removed:t,previousComponent:l}}}extractCommon(n,a,t,i,r){const l=a.length,o=t.length;let u=n.oldPos,s=u-i,v=0;for(;s+1<l&&u+1<o&&this.equals(t[u+1],a[s+1],r);)s++,u++,v++,r.oneChangePerToken&&(n.lastComponent={count:1,previousComponent:n.lastComponent,added:!1,removed:!1});return v&&!r.oneChangePerToken&&(n.lastComponent={count:v,previousComponent:n.lastComponent,added:!1,removed:!1}),n.oldPos=u,s}equals(n,a,t){return t.comparator?t.comparator(n,a):n===a||!!t.ignoreCase&&n.toLowerCase()===a.toLowerCase()}removeEmpty(n){const a=[];for(let t=0;t<n.length;t++)n[t]&&a.push(n[t]);return a}castInput(n,a){return n}tokenize(n,a){return Array.from(n)}join(n){return n.join("")}postProcess(n,a){return n}get useLongestToken(){return!1}buildValues(n,a,t){const i=[];let r;for(;n;)i.push(n),r=n.previousComponent,delete n.previousComponent,n=r;i.reverse();const l=i.length;let o=0,u=0,s=0;for(;o<l;o++){const v=i[o];if(v.removed)v.value=this.join(t.slice(s,s+v.count)),s+=v.count;else{if(!v.added&&this.useLongestToken){let m=a.slice(u,u+v.count);m=m.map(function(h,d){const p=t[s+d];return p.length>h.length?p:h}),v.value=this.join(m)}else v.value=this.join(a.slice(u,u+v.count));u+=v.count,v.added||(s+=v.count)}}return i}}class mf extends Qo{}const vf=new mf;function pf(e,n,a){return vf.diff(e,n,a)}const Ci="a-zA-Z0-9_\\u{AD}\\u{C0}-\\u{D6}\\u{D8}-\\u{F6}\\u{F8}-\\u{2C6}\\u{2C8}-\\u{2D7}\\u{2DE}-\\u{2FF}\\u{1E00}-\\u{1EFF}";class gf extends Qo{tokenize(n){const a=new RegExp(`(\\r?\\n)|[${Ci}]+|[^\\S\\n\\r]+|[^${Ci}]`,"ug");return n.match(a)||[]}}const bf=new gf;function hf(e,n,a){return bf.diff(e,n,a)}function yf(e,n){if(e.length===0)return n.length;if(n.length===0)return e.length;const a=[];let t;for(t=0;t<=n.length;t++)a[t]=[t];let i;for(i=0;i<=e.length;i++)a[0][i]=i;for(t=1;t<=n.length;t++)for(i=1;i<=e.length;i++)n.charAt(t-1)===e.charAt(i-1)?a[t][i]=a[t-1][i-1]:a[t][i]=Math.min(a[t-1][i-1]+1,Math.min(a[t][i-1]+1,a[t-1][i]+1));return a[n.length][e.length]}function Ba(e){return(n,a)=>{const t=e(n).trim(),i=e(a).trim();return yf(t,i)/(t.length+i.length)}}function $a(e){function n(t,i,r=new Map){let l=1/0,o;for(let u=0;u<t.length;++u)for(let s=0;s<i.length;++s){const v=JSON.stringify([t[u],i[s]]);let m;r.has(v)&&(m=r.get(v))||(m=e(t[u],i[s]),r.set(v,m)),m<l&&(l=m,o={indexA:u,indexB:s,score:l})}return o}function a(t,i,r=0,l=new Map){const o=n(t,i,l);if(!o||t.length+i.length<3)return[[t,i]];const u=t.slice(0,o.indexA),s=i.slice(0,o.indexB),v=[t[o.indexA]],m=[i[o.indexB]],h=o.indexA+1,d=o.indexB+1,p=t.slice(h),I=i.slice(d),S=a(u,s,r+1,l),_=a(v,m,r+1,l),y=a(p,I,r+1,l);let T=_;return(o.indexA>0||o.indexB>0)&&(T=S.concat(T)),(t.length>h||i.length>d)&&(T=T.concat(y)),T}return a}const ot={INSERTS:"d2h-ins",DELETES:"d2h-del",CONTEXT:"d2h-cntx",INFO:"d2h-info",INSERT_CHANGES:"d2h-ins d2h-change",DELETE_CHANGES:"d2h-del d2h-change"},Xn={matching:af.NONE,matchWordsThreshold:.25,maxLineLengthHighlight:1e4,diffStyle:of.WORD,colorScheme:Kt.LIGHT},bt="/",Jo=Ba(e=>e.value),Sf=$a(Jo);function oa(e){return e.indexOf("dev/null")!==-1}function wf(e){return e.replace(/(<ins[^>]*>((.|\n)*?)<\/ins>)/g,"")}function Cf(e){return e.replace(/(<del[^>]*>((.|\n)*?)<\/del>)/g,"")}function Dn(e){switch(e){case Ze.CONTEXT:return ot.CONTEXT;case Ze.INSERT:return ot.INSERTS;case Ze.DELETE:return ot.DELETES}}function Fa(e){switch(e){case Kt.DARK:return"d2h-dark-color-scheme";case Kt.AUTO:return"d2h-auto-color-scheme";case Kt.LIGHT:default:return"d2h-light-color-scheme"}}function If(e){return e?2:1}function Gt(e){return e.slice(0).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/")}function ht(e,n,a=!0){const t=If(n);return{prefix:e.substring(0,t),content:a?Gt(e.substring(t)):e.substring(t)}}function Qn(e){const n=hi(e.oldName),a=hi(e.newName);if(n!==a&&!oa(n)&&!oa(a)){const t=[],i=[],r=n.split(bt),l=a.split(bt),o=r.length,u=l.length;let s=0,v=o-1,m=u-1;for(;s<v&&s<m&&r[s]===l[s];)t.push(l[s]),s+=1;for(;v>s&&m>s&&r[v]===l[m];)i.unshift(l[m]),v-=1,m-=1;const h=t.join(bt),d=i.join(bt),p=r.slice(s,v+1).join(bt),I=l.slice(s,m+1).join(bt);return h.length&&d.length?h+bt+"{"+p+" → "+I+"}"+bt+d:h.length?h+bt+"{"+p+" → "+I+"}":d.length?"{"+p+" → "+I+"}"+bt+d:n+" → "+a}else return oa(a)?n:a}function ja(e){return`d2h-${uf(Qn(e)).toString().slice(-6)}`}function za(e){let n="file-changed";return e.isRename||e.isCopy?n="file-renamed":e.isNew?n="file-added":e.isDeleted?n="file-deleted":e.newName!==e.oldName&&(n="file-renamed"),n}function Yo(e,n,a,t={}){const{matching:i,maxLineLengthHighlight:r,matchWordsThreshold:l,diffStyle:o}=Object.assign(Object.assign({},Xn),t),u=ht(e,a,!1),s=ht(n,a,!1);if(u.content.length>r||s.content.length>r)return{oldLine:{prefix:u.prefix,content:Gt(u.content)},newLine:{prefix:s.prefix,content:Gt(s.content)}};const v=o==="char"?pf(u.content,s.content):hf(u.content,s.content),m=[];if(o==="word"&&i==="words"){const d=v.filter(S=>S.removed),p=v.filter(S=>S.added);Sf(p,d).forEach(S=>{S[0].length===1&&S[1].length===1&&Jo(S[0][0],S[1][0])<l&&(m.push(S[0][0]),m.push(S[1][0]))})}const h=v.reduce((d,p)=>{const I=p.added?"ins":p.removed?"del":null,S=m.indexOf(p)>-1?' class="d2h-change"':"",_=Gt(p.value);return I!==null?`${d}<${I}${S}>${_}</${I}>`:`${d}${_}`},"");return{oldLine:{prefix:u.prefix,content:wf(h)},newLine:{prefix:s.prefix,content:Cf(h)}}}const Ii="file-summary",Tf="icon",xf={colorScheme:Xn.colorScheme};class kf{constructor(n,a={}){this.hoganUtils=n,this.config=Object.assign(Object.assign({},xf),a)}render(n){const a=n.map(t=>this.hoganUtils.render(Ii,"line",{fileHtmlId:ja(t),oldName:t.oldName,newName:t.newName,fileName:Qn(t),deletedLines:"-"+t.deletedLines,addedLines:"+"+t.addedLines},{fileIcon:this.hoganUtils.template(Tf,za(t))})).join(`
|
|
19
|
+
`);return this.hoganUtils.render(Ii,"wrapper",{colorScheme:Fa(this.config.colorScheme),filesNumber:n.length,files:a})}}const Zo=Object.assign(Object.assign({},Xn),{renderNothingWhenEmpty:!1,matchingMaxComparisons:2500,maxLineSizeInBlockForComparison:200}),an="generic",Ti="line-by-line",Af="icon",_f="tag";class Ef{constructor(n,a={}){this.hoganUtils=n,this.config=Object.assign(Object.assign({},Zo),a)}render(n){const a=n.map(t=>{let i;return t.blocks.length?i=this.generateFileHtml(t):i=this.generateEmptyDiff(),this.makeFileDiffHtml(t,i)}).join(`
|
|
20
|
+
`);return this.hoganUtils.render(an,"wrapper",{colorScheme:Fa(this.config.colorScheme),content:a})}makeFileDiffHtml(n,a){if(this.config.renderNothingWhenEmpty&&Array.isArray(n.blocks)&&n.blocks.length===0)return"";const t=this.hoganUtils.template(Ti,"file-diff"),i=this.hoganUtils.template(an,"file-path"),r=this.hoganUtils.template(Af,"file"),l=this.hoganUtils.template(_f,za(n));return t.render({file:n,fileHtmlId:ja(n),diffs:a,filePath:i.render({fileDiffName:Qn(n)},{fileIcon:r,fileTag:l})})}generateEmptyDiff(){return this.hoganUtils.render(an,"empty-diff",{contentClass:"d2h-code-line",CSSLineClass:ot})}generateFileHtml(n){const a=$a(Ba(t=>ht(t.content,n.isCombined).content));return n.blocks.map(t=>{let i=this.hoganUtils.render(an,"block-header",{CSSLineClass:ot,blockHeader:n.isTooBig?t.header:Gt(t.header),lineClass:"d2h-code-linenumber",contentClass:"d2h-code-line"});return this.applyLineGroupping(t).forEach(([r,l,o])=>{if(l.length&&o.length&&!r.length)this.applyRematchMatching(l,o,a).map(([u,s])=>{const{left:v,right:m}=this.processChangedLines(n,n.isCombined,u,s);i+=v,i+=m});else if(r.length)r.forEach(u=>{const{prefix:s,content:v}=ht(u.content,n.isCombined);i+=this.generateSingleLineHtml(n,{type:ot.CONTEXT,prefix:s,content:v,oldNumber:u.oldNumber,newNumber:u.newNumber})});else if(l.length||o.length){const{left:u,right:s}=this.processChangedLines(n,n.isCombined,l,o);i+=u,i+=s}else console.error("Unknown state reached while processing groups of lines",r,l,o)}),i}).join(`
|
|
21
|
+
`)}applyLineGroupping(n){const a=[];let t=[],i=[];for(let r=0;r<n.lines.length;r++){const l=n.lines[r];(l.type!==Ze.INSERT&&i.length||l.type===Ze.CONTEXT&&t.length>0)&&(a.push([[],t,i]),t=[],i=[]),l.type===Ze.CONTEXT?a.push([[l],[],[]]):l.type===Ze.INSERT&&t.length===0?a.push([[],[],[l]]):l.type===Ze.INSERT&&t.length>0?i.push(l):l.type===Ze.DELETE&&t.push(l)}return(t.length||i.length)&&(a.push([[],t,i]),t=[],i=[]),a}applyRematchMatching(n,a,t){const i=n.length*a.length,r=Xo(n.concat(a).map(o=>o.content.length));return i<this.config.matchingMaxComparisons&&r<this.config.maxLineSizeInBlockForComparison&&(this.config.matching==="lines"||this.config.matching==="words")?t(n,a):[[n,a]]}processChangedLines(n,a,t,i){const r={right:"",left:""},l=Math.max(t.length,i.length);for(let o=0;o<l;o++){const u=t[o],s=i[o],v=u!==void 0&&s!==void 0?Yo(u.content,s.content,a,this.config):void 0,m=u!==void 0&&u.oldNumber!==void 0?Object.assign(Object.assign({},v!==void 0?{prefix:v.oldLine.prefix,content:v.oldLine.content,type:ot.DELETE_CHANGES}:Object.assign(Object.assign({},ht(u.content,a)),{type:Dn(u.type)})),{oldNumber:u.oldNumber,newNumber:u.newNumber}):void 0,h=s!==void 0&&s.newNumber!==void 0?Object.assign(Object.assign({},v!==void 0?{prefix:v.newLine.prefix,content:v.newLine.content,type:ot.INSERT_CHANGES}:Object.assign(Object.assign({},ht(s.content,a)),{type:Dn(s.type)})),{oldNumber:s.oldNumber,newNumber:s.newNumber}):void 0,{left:d,right:p}=this.generateLineHtml(n,m,h);r.left+=d,r.right+=p}return r}generateLineHtml(n,a,t){return{left:this.generateSingleLineHtml(n,a),right:this.generateSingleLineHtml(n,t)}}generateSingleLineHtml(n,a){if(a===void 0)return"";const t=this.hoganUtils.render(Ti,"numbers",{oldNumber:a.oldNumber||"",newNumber:a.newNumber||""});return this.hoganUtils.render(an,"line",{type:a.type,lineClass:"d2h-code-linenumber",contentClass:"d2h-code-line",prefix:a.prefix===" "?" ":a.prefix,content:a.content,lineNumber:t,line:a,file:n})}}const es=Object.assign(Object.assign({},Xn),{renderNothingWhenEmpty:!1,matchingMaxComparisons:2500,maxLineSizeInBlockForComparison:200}),on="generic",Rf="side-by-side",Of="icon",Lf="tag";class Pf{constructor(n,a={}){this.hoganUtils=n,this.config=Object.assign(Object.assign({},es),a)}render(n){const a=n.map(t=>{let i;return t.blocks.length?i=this.generateFileHtml(t):i=this.generateEmptyDiff(),this.makeFileDiffHtml(t,i)}).join(`
|
|
22
|
+
`);return this.hoganUtils.render(on,"wrapper",{colorScheme:Fa(this.config.colorScheme),content:a})}makeFileDiffHtml(n,a){if(this.config.renderNothingWhenEmpty&&Array.isArray(n.blocks)&&n.blocks.length===0)return"";const t=this.hoganUtils.template(Rf,"file-diff"),i=this.hoganUtils.template(on,"file-path"),r=this.hoganUtils.template(Of,"file"),l=this.hoganUtils.template(Lf,za(n));return t.render({file:n,fileHtmlId:ja(n),diffs:a,filePath:i.render({fileDiffName:Qn(n)},{fileIcon:r,fileTag:l})})}generateEmptyDiff(){return{right:"",left:this.hoganUtils.render(on,"empty-diff",{contentClass:"d2h-code-side-line",CSSLineClass:ot})}}generateFileHtml(n){const a=$a(Ba(t=>ht(t.content,n.isCombined).content));return n.blocks.map(t=>{const i={left:this.makeHeaderHtml(t.header,n),right:this.makeHeaderHtml("")};return this.applyLineGroupping(t).forEach(([r,l,o])=>{if(l.length&&o.length&&!r.length)this.applyRematchMatching(l,o,a).map(([u,s])=>{const{left:v,right:m}=this.processChangedLines(n.isCombined,u,s);i.left+=v,i.right+=m});else if(r.length)r.forEach(u=>{const{prefix:s,content:v}=ht(u.content,n.isCombined),{left:m,right:h}=this.generateLineHtml({type:ot.CONTEXT,prefix:s,content:v,number:u.oldNumber},{type:ot.CONTEXT,prefix:s,content:v,number:u.newNumber});i.left+=m,i.right+=h});else if(l.length||o.length){const{left:u,right:s}=this.processChangedLines(n.isCombined,l,o);i.left+=u,i.right+=s}else console.error("Unknown state reached while processing groups of lines",r,l,o)}),i}).reduce((t,i)=>({left:t.left+i.left,right:t.right+i.right}),{left:"",right:""})}applyLineGroupping(n){const a=[];let t=[],i=[];for(let r=0;r<n.lines.length;r++){const l=n.lines[r];(l.type!==Ze.INSERT&&i.length||l.type===Ze.CONTEXT&&t.length>0)&&(a.push([[],t,i]),t=[],i=[]),l.type===Ze.CONTEXT?a.push([[l],[],[]]):l.type===Ze.INSERT&&t.length===0?a.push([[],[],[l]]):l.type===Ze.INSERT&&t.length>0?i.push(l):l.type===Ze.DELETE&&t.push(l)}return(t.length||i.length)&&(a.push([[],t,i]),t=[],i=[]),a}applyRematchMatching(n,a,t){const i=n.length*a.length,r=Xo(n.concat(a).map(o=>o.content.length));return i<this.config.matchingMaxComparisons&&r<this.config.maxLineSizeInBlockForComparison&&(this.config.matching==="lines"||this.config.matching==="words")?t(n,a):[[n,a]]}makeHeaderHtml(n,a){return this.hoganUtils.render(on,"block-header",{CSSLineClass:ot,blockHeader:a!=null&&a.isTooBig?n:Gt(n),lineClass:"d2h-code-side-linenumber",contentClass:"d2h-code-side-line"})}processChangedLines(n,a,t){const i={right:"",left:""},r=Math.max(a.length,t.length);for(let l=0;l<r;l++){const o=a[l],u=t[l],s=o!==void 0&&u!==void 0?Yo(o.content,u.content,n,this.config):void 0,v=o!==void 0&&o.oldNumber!==void 0?Object.assign(Object.assign({},s!==void 0?{prefix:s.oldLine.prefix,content:s.oldLine.content,type:ot.DELETE_CHANGES}:Object.assign(Object.assign({},ht(o.content,n)),{type:Dn(o.type)})),{number:o.oldNumber}):void 0,m=u!==void 0&&u.newNumber!==void 0?Object.assign(Object.assign({},s!==void 0?{prefix:s.newLine.prefix,content:s.newLine.content,type:ot.INSERT_CHANGES}:Object.assign(Object.assign({},ht(u.content,n)),{type:Dn(u.type)})),{number:u.newNumber}):void 0,{left:h,right:d}=this.generateLineHtml(v,m);i.left+=h,i.right+=d}return i}generateLineHtml(n,a){return{left:this.generateSingleHtml(n),right:this.generateSingleHtml(a)}}generateSingleHtml(n){const a="d2h-code-side-linenumber",t="d2h-code-side-line";return this.hoganUtils.render(on,"line",{type:(n==null?void 0:n.type)||`${ot.CONTEXT} d2h-emptyplaceholder`,lineClass:n!==void 0?a:`${a} d2h-code-side-emptyplaceholder`,contentClass:n!==void 0?t:`${t} d2h-code-side-emptyplaceholder`,prefix:(n==null?void 0:n.prefix)===" "?" ":n==null?void 0:n.prefix,content:n==null?void 0:n.content,lineNumber:n==null?void 0:n.number})}}var sa={},xi;function Df(){return xi||(xi=1,(function(e){(function(n){var a=/\S/,t=/\"/g,i=/\n/g,r=/\r/g,l=/\\/g,o=/\u2028/,u=/\u2029/;n.tags={"#":1,"^":2,"<":3,$:4,"/":5,"!":6,">":7,"=":8,_v:9,"{":10,"&":11,_t:12},n.scan=function(O,V){var $=O.length,b=0,E=1,B=2,H=b,K=null,ge=null,ne="",A=[],J=!1,L=0,se=0,U="{{",k="}}";function ee(){ne.length>0&&(A.push({tag:"_t",text:new String(ne)}),ne="")}function ye(){for(var D=!0,G=se;G<A.length;G++)if(D=n.tags[A[G].tag]<n.tags._v||A[G].tag=="_t"&&A[G].text.match(a)===null,!D)return!1;return D}function ue(D,G){if(ee(),D&&ye())for(var be=se,pe;be<A.length;be++)A[be].text&&((pe=A[be+1])&&pe.tag==">"&&(pe.indent=A[be].text.toString()),A.splice(be,1));else G||A.push({tag:`
|
|
23
|
+
`});J=!1,se=A.length}function j(D,G){var be="="+k,pe=D.indexOf(be,G),Ie=v(D.substring(D.indexOf("=",G)+1,pe)).split(" ");return U=Ie[0],k=Ie[Ie.length-1],pe+be.length-1}for(V&&(V=V.split(" "),U=V[0],k=V[1]),L=0;L<$;L++)H==b?m(U,O,L)?(--L,ee(),H=E):O.charAt(L)==`
|
|
24
|
+
`?ue(J):ne+=O.charAt(L):H==E?(L+=U.length-1,ge=n.tags[O.charAt(L+1)],K=ge?O.charAt(L+1):"_v",K=="="?(L=j(O,L),H=b):(ge&&L++,H=B),J=L):m(k,O,L)?(A.push({tag:K,n:v(ne),otag:U,ctag:k,i:K=="/"?J-U.length:L+k.length}),ne="",L+=k.length-1,H=b,K=="{"&&(k=="}}"?L++:s(A[A.length-1]))):ne+=O.charAt(L);return ue(J,!0),A};function s(C){C.n.substr(C.n.length-1)==="}"&&(C.n=C.n.substring(0,C.n.length-1))}function v(C){return C.trim?C.trim():C.replace(/^\s*|\s*$/g,"")}function m(C,O,V){if(O.charAt(V)!=C.charAt(0))return!1;for(var $=1,b=C.length;$<b;$++)if(O.charAt(V+$)!=C.charAt($))return!1;return!0}var h={_t:!0,"\n":!0,$:!0,"/":!0};function d(C,O,V,$){var b=[],E=null,B=null,H=null;for(B=V[V.length-1];C.length>0;){if(H=C.shift(),B&&B.tag=="<"&&!(H.tag in h))throw new Error("Illegal content in < super tag.");if(n.tags[H.tag]<=n.tags.$||p(H,$))V.push(H),H.nodes=d(C,H.tag,V,$);else if(H.tag=="/"){if(V.length===0)throw new Error("Closing tag without opener: /"+H.n);if(E=V.pop(),H.n!=E.n&&!I(H.n,E.n,$))throw new Error("Nesting error: "+E.n+" vs. "+H.n);return E.end=H.i,b}else H.tag==`
|
|
25
|
+
`&&(H.last=C.length==0||C[0].tag==`
|
|
26
|
+
`);b.push(H)}if(V.length>0)throw new Error("missing closing tag: "+V.pop().n);return b}function p(C,O){for(var V=0,$=O.length;V<$;V++)if(O[V].o==C.n)return C.tag="#",!0}function I(C,O,V){for(var $=0,b=V.length;$<b;$++)if(V[$].c==C&&V[$].o==O)return!0}function S(C){var O=[];for(var V in C)O.push('"'+T(V)+'": function(c,p,t,i) {'+C[V]+"}");return"{ "+O.join(",")+" }"}function _(C){var O=[];for(var V in C.partials)O.push('"'+T(V)+'":{name:"'+T(C.partials[V].name)+'", '+_(C.partials[V])+"}");return"partials: {"+O.join(",")+"}, subs: "+S(C.subs)}n.stringify=function(C,O,V){return"{code: function (c,p,i) { "+n.wrapMain(C.code)+" },"+_(C)+"}"};var y=0;n.generate=function(C,O,V){y=0;var $={code:"",subs:{},partials:{}};return n.walk(C,$),V.asString?this.stringify($,O,V):this.makeTemplate($,O,V)},n.wrapMain=function(C){return'var t=this;t.b(i=i||"");'+C+"return t.fl();"},n.template=n.Template,n.makeTemplate=function(C,O,V){var $=this.makePartials(C);return $.code=new Function("c","p","i",this.wrapMain(C.code)),new this.template($,O,this,V)},n.makePartials=function(C){var O,V={subs:{},partials:C.partials,name:C.name};for(O in V.partials)V.partials[O]=this.makePartials(V.partials[O]);for(O in C.subs)V.subs[O]=new Function("c","p","t","i",C.subs[O]);return V};function T(C){return C.replace(l,"\\\\").replace(t,'\\"').replace(i,"\\n").replace(r,"\\r").replace(o,"\\u2028").replace(u,"\\u2029")}function F(C){return~C.indexOf(".")?"d":"f"}function x(C,O){var V="<"+(O.prefix||""),$=V+C.n+y++;return O.partials[$]={name:C.n,partials:{}},O.code+='t.b(t.rp("'+T($)+'",c,p,"'+(C.indent||"")+'"));',$}n.codegen={"#":function(C,O){O.code+="if(t.s(t."+F(C.n)+'("'+T(C.n)+'",c,p,1),c,p,0,'+C.i+","+C.end+',"'+C.otag+" "+C.ctag+'")){t.rs(c,p,function(c,p,t){',n.walk(C.nodes,O),O.code+="});c.pop();}"},"^":function(C,O){O.code+="if(!t.s(t."+F(C.n)+'("'+T(C.n)+'",c,p,1),c,p,1,0,0,"")){',n.walk(C.nodes,O),O.code+="};"},">":x,"<":function(C,O){var V={partials:{},code:"",subs:{},inPartial:!0};n.walk(C.nodes,V);var $=O.partials[x(C,O)];$.subs=V.subs,$.partials=V.partials},$:function(C,O){var V={subs:{},code:"",partials:O.partials,prefix:C.n};n.walk(C.nodes,V),O.subs[C.n]=V.code,O.inPartial||(O.code+='t.sub("'+T(C.n)+'",c,p,i);')},"\n":function(C,O){O.code+=Z('"\\n"'+(C.last?"":" + i"))},_v:function(C,O){O.code+="t.b(t.v(t."+F(C.n)+'("'+T(C.n)+'",c,p,0)));'},_t:function(C,O){O.code+=Z('"'+T(C.text)+'"')},"{":P,"&":P};function P(C,O){O.code+="t.b(t.t(t."+F(C.n)+'("'+T(C.n)+'",c,p,0)));'}function Z(C){return"t.b("+C+");"}n.walk=function(C,O){for(var V,$=0,b=C.length;$<b;$++)V=n.codegen[C[$].tag],V&&V(C[$],O);return O},n.parse=function(C,O,V){return V=V||{},d(C,"",[],V.sectionTags||[])},n.cache={},n.cacheKey=function(C,O){return[C,!!O.asString,!!O.disableLambda,O.delimiters,!!O.modelGet].join("||")},n.compile=function(C,O){O=O||{};var V=n.cacheKey(C,O),$=this.cache[V];if($){var b=$.partials;for(var E in b)delete b[E].instance;return $}return $=this.generate(this.parse(this.scan(C,O.delimiters),C,O),C,O),this.cache[V]=$}})(e)})(sa)),sa}var la={},ki;function Nf(){return ki||(ki=1,(function(e){(function(n){n.Template=function(d,p,I,S){d=d||{},this.r=d.code||this.r,this.c=I,this.options=S||{},this.text=p||"",this.partials=d.partials||{},this.subs=d.subs||{},this.buf=""},n.Template.prototype={r:function(d,p,I){return""},v:m,t:v,render:function(p,I,S){return this.ri([p],I||{},S)},ri:function(d,p,I){return this.r(d,p,I)},ep:function(d,p){var I=this.partials[d],S=p[I.name];if(I.instance&&I.base==S)return I.instance;if(typeof S=="string"){if(!this.c)throw new Error("No compiler available.");S=this.c.compile(S,this.options)}if(!S)return null;if(this.partials[d].base=S,I.subs){p.stackText||(p.stackText={});for(key in I.subs)p.stackText[key]||(p.stackText[key]=this.activeSub!==void 0&&p.stackText[this.activeSub]?p.stackText[this.activeSub]:this.text);S=t(S,I.subs,I.partials,this.stackSubs,this.stackPartials,p.stackText)}return this.partials[d].instance=S,S},rp:function(d,p,I,S){var _=this.ep(d,I);return _?_.ri(p,I,S):""},rs:function(d,p,I){var S=d[d.length-1];if(!h(S)){I(d,p,this);return}for(var _=0;_<S.length;_++)d.push(S[_]),I(d,p,this),d.pop()},s:function(d,p,I,S,_,y,T){var F;return h(d)&&d.length===0?!1:(typeof d=="function"&&(d=this.ms(d,p,I,S,_,y,T)),F=!!d,!S&&F&&p&&p.push(typeof d=="object"?d:p[p.length-1]),F)},d:function(d,p,I,S){var _,y=d.split("."),T=this.f(y[0],p,I,S),F=this.options.modelGet,x=null;if(d==="."&&h(p[p.length-2]))T=p[p.length-1];else for(var P=1;P<y.length;P++)_=a(y[P],T,F),_!==void 0?(x=T,T=_):T="";return S&&!T?!1:(!S&&typeof T=="function"&&(p.push(x),T=this.mv(T,p,I),p.pop()),T)},f:function(d,p,I,S){for(var _=!1,y=null,T=!1,F=this.options.modelGet,x=p.length-1;x>=0;x--)if(y=p[x],_=a(d,y,F),_!==void 0){T=!0;break}return T?(!S&&typeof _=="function"&&(_=this.mv(_,p,I)),_):S?!1:""},ls:function(d,p,I,S,_,y){var T=this.options.delimiters;return this.options.delimiters=y,this.b(this.ct(v(d.call(p,_,I)),p,S)),this.options.delimiters=T,!1},ct:function(d,p,I){if(this.options.disableLambda)throw new Error("Lambda features disabled.");return this.c.compile(d,this.options).render(p,I)},b:function(d){this.buf+=d},fl:function(){var d=this.buf;return this.buf="",d},ms:function(d,p,I,S,_,y,T){var F,x=p[p.length-1],P=d.call(x);return typeof P=="function"?S?!0:(F=this.activeSub&&this.subsText&&this.subsText[this.activeSub]?this.subsText[this.activeSub]:this.text,this.ls(P,x,p,I,F.substring(_,y),T)):P},mv:function(d,p,I){var S=p[p.length-1],_=d.call(S);return typeof _=="function"?this.ct(v(_.call(S)),S,I):_},sub:function(d,p,I,S){var _=this.subs[d];_&&(this.activeSub=d,_(p,I,this,S),this.activeSub=!1)}};function a(d,p,I){var S;return p&&typeof p=="object"&&(p[d]!==void 0?S=p[d]:I&&p.get&&typeof p.get=="function"&&(S=p.get(d))),S}function t(d,p,I,S,_,y){function T(){}T.prototype=d;function F(){}F.prototype=d.subs;var x,P=new T;P.subs=new F,P.subsText={},P.buf="",S=S||{},P.stackSubs=S,P.subsText=y;for(x in p)S[x]||(S[x]=p[x]);for(x in S)P.subs[x]=S[x];_=_||{},P.stackPartials=_;for(x in I)_[x]||(_[x]=I[x]);for(x in _)P.partials[x]=_[x];return P}var i=/&/g,r=/</g,l=/>/g,o=/\'/g,u=/\"/g,s=/[&<>\"\']/;function v(d){return String(d??"")}function m(d){return d=v(d),s.test(d)?d.replace(i,"&").replace(r,"<").replace(l,">").replace(o,"'").replace(u,"""):d}var h=Array.isArray||function(d){return Object.prototype.toString.call(d)==="[object Array]"}})(e)})(la)),la}var ra,Ai;function Vf(){if(Ai)return ra;Ai=1;var e=Df();return e.Template=Nf().Template,e.template=e.Template,ra=e,ra}var Ye=Vf();const et={};et["file-summary-line"]=new Ye.Template({code:function(e,n,a){var t=this;return t.b(a=a||""),t.b('<li class="d2h-file-list-line">'),t.b(`
|
|
27
|
+
`+a),t.b(' <span class="d2h-file-name-wrapper">'),t.b(`
|
|
28
|
+
`+a),t.b(t.rp("<fileIcon0",e,n," ")),t.b(' <a href="#'),t.b(t.v(t.f("fileHtmlId",e,n,0))),t.b('" class="d2h-file-name">'),t.b(t.v(t.f("fileName",e,n,0))),t.b("</a>"),t.b(`
|
|
29
|
+
`+a),t.b(' <span class="d2h-file-stats">'),t.b(`
|
|
30
|
+
`+a),t.b(' <span class="d2h-lines-added">'),t.b(t.v(t.f("addedLines",e,n,0))),t.b("</span>"),t.b(`
|
|
31
|
+
`+a),t.b(' <span class="d2h-lines-deleted">'),t.b(t.v(t.f("deletedLines",e,n,0))),t.b("</span>"),t.b(`
|
|
32
|
+
`+a),t.b(" </span>"),t.b(`
|
|
33
|
+
`+a),t.b(" </span>"),t.b(`
|
|
34
|
+
`+a),t.b("</li>"),t.fl()},partials:{"<fileIcon0":{name:"fileIcon",partials:{},subs:{}}},subs:{}});et["file-summary-wrapper"]=new Ye.Template({code:function(e,n,a){var t=this;return t.b(a=a||""),t.b('<div class="d2h-file-list-wrapper '),t.b(t.v(t.f("colorScheme",e,n,0))),t.b('">'),t.b(`
|
|
35
|
+
`+a),t.b(' <div class="d2h-file-list-header">'),t.b(`
|
|
36
|
+
`+a),t.b(' <span class="d2h-file-list-title">Files changed ('),t.b(t.v(t.f("filesNumber",e,n,0))),t.b(")</span>"),t.b(`
|
|
37
|
+
`+a),t.b(' <a class="d2h-file-switch d2h-hide">hide</a>'),t.b(`
|
|
38
|
+
`+a),t.b(' <a class="d2h-file-switch d2h-show">show</a>'),t.b(`
|
|
39
|
+
`+a),t.b(" </div>"),t.b(`
|
|
40
|
+
`+a),t.b(' <ol class="d2h-file-list">'),t.b(`
|
|
41
|
+
`+a),t.b(" "),t.b(t.t(t.f("files",e,n,0))),t.b(`
|
|
42
|
+
`+a),t.b(" </ol>"),t.b(`
|
|
43
|
+
`+a),t.b("</div>"),t.fl()},partials:{},subs:{}});et["generic-block-header"]=new Ye.Template({code:function(e,n,a){var t=this;return t.b(a=a||""),t.b("<tr>"),t.b(`
|
|
44
|
+
`+a),t.b(' <td class="'),t.b(t.v(t.f("lineClass",e,n,0))),t.b(" "),t.b(t.v(t.d("CSSLineClass.INFO",e,n,0))),t.b('"></td>'),t.b(`
|
|
45
|
+
`+a),t.b(' <td class="'),t.b(t.v(t.d("CSSLineClass.INFO",e,n,0))),t.b('">'),t.b(`
|
|
46
|
+
`+a),t.b(' <div class="'),t.b(t.v(t.f("contentClass",e,n,0))),t.b('">'),t.s(t.f("blockHeader",e,n,1),e,n,0,156,173,"{{ }}")&&(t.rs(e,n,function(i,r,l){l.b(l.t(l.f("blockHeader",i,r,0)))}),e.pop()),t.s(t.f("blockHeader",e,n,1),e,n,1,0,0,"")||t.b(" "),t.b("</div>"),t.b(`
|
|
47
|
+
`+a),t.b(" </td>"),t.b(`
|
|
48
|
+
`+a),t.b("</tr>"),t.fl()},partials:{},subs:{}});et["generic-empty-diff"]=new Ye.Template({code:function(e,n,a){var t=this;return t.b(a=a||""),t.b("<tr>"),t.b(`
|
|
49
|
+
`+a),t.b(' <td class="'),t.b(t.v(t.d("CSSLineClass.INFO",e,n,0))),t.b('">'),t.b(`
|
|
50
|
+
`+a),t.b(' <div class="'),t.b(t.v(t.f("contentClass",e,n,0))),t.b('">'),t.b(`
|
|
51
|
+
`+a),t.b(" File without changes"),t.b(`
|
|
52
|
+
`+a),t.b(" </div>"),t.b(`
|
|
53
|
+
`+a),t.b(" </td>"),t.b(`
|
|
54
|
+
`+a),t.b("</tr>"),t.fl()},partials:{},subs:{}});et["generic-file-path"]=new Ye.Template({code:function(e,n,a){var t=this;return t.b(a=a||""),t.b('<span class="d2h-file-name-wrapper">'),t.b(`
|
|
55
|
+
`+a),t.b(t.rp("<fileIcon0",e,n," ")),t.b(' <span class="d2h-file-name">'),t.b(t.v(t.f("fileDiffName",e,n,0))),t.b("</span>"),t.b(`
|
|
56
|
+
`+a),t.b(t.rp("<fileTag1",e,n," ")),t.b("</span>"),t.b(`
|
|
57
|
+
`+a),t.b('<label class="d2h-file-collapse">'),t.b(`
|
|
58
|
+
`+a),t.b(' <input class="d2h-file-collapse-input" type="checkbox" name="viewed" value="viewed">'),t.b(`
|
|
59
|
+
`+a),t.b(" Viewed"),t.b(`
|
|
60
|
+
`+a),t.b("</label>"),t.fl()},partials:{"<fileIcon0":{name:"fileIcon",partials:{},subs:{}},"<fileTag1":{name:"fileTag",partials:{},subs:{}}},subs:{}});et["generic-line"]=new Ye.Template({code:function(e,n,a){var t=this;return t.b(a=a||""),t.b("<tr>"),t.b(`
|
|
61
|
+
`+a),t.b(' <td class="'),t.b(t.v(t.f("lineClass",e,n,0))),t.b(" "),t.b(t.v(t.f("type",e,n,0))),t.b('">'),t.b(`
|
|
62
|
+
`+a),t.b(" "),t.b(t.t(t.f("lineNumber",e,n,0))),t.b(`
|
|
63
|
+
`+a),t.b(" </td>"),t.b(`
|
|
64
|
+
`+a),t.b(' <td class="'),t.b(t.v(t.f("type",e,n,0))),t.b('">'),t.b(`
|
|
65
|
+
`+a),t.b(' <div class="'),t.b(t.v(t.f("contentClass",e,n,0))),t.b('">'),t.b(`
|
|
66
|
+
`+a),t.s(t.f("prefix",e,n,1),e,n,0,162,238,"{{ }}")&&(t.rs(e,n,function(i,r,l){l.b(' <span class="d2h-code-line-prefix">'),l.b(l.t(l.f("prefix",i,r,0))),l.b("</span>"),l.b(`
|
|
67
|
+
`+a)}),e.pop()),t.s(t.f("prefix",e,n,1),e,n,1,0,0,"")||(t.b(' <span class="d2h-code-line-prefix"> </span>'),t.b(`
|
|
68
|
+
`+a)),t.s(t.f("content",e,n,1),e,n,0,371,445,"{{ }}")&&(t.rs(e,n,function(i,r,l){l.b(' <span class="d2h-code-line-ctn">'),l.b(l.t(l.f("content",i,r,0))),l.b("</span>"),l.b(`
|
|
69
|
+
`+a)}),e.pop()),t.s(t.f("content",e,n,1),e,n,1,0,0,"")||(t.b(' <span class="d2h-code-line-ctn"><br></span>'),t.b(`
|
|
70
|
+
`+a)),t.b(" </div>"),t.b(`
|
|
71
|
+
`+a),t.b(" </td>"),t.b(`
|
|
72
|
+
`+a),t.b("</tr>"),t.fl()},partials:{},subs:{}});et["generic-wrapper"]=new Ye.Template({code:function(e,n,a){var t=this;return t.b(a=a||""),t.b('<div class="d2h-wrapper '),t.b(t.v(t.f("colorScheme",e,n,0))),t.b('">'),t.b(`
|
|
73
|
+
`+a),t.b(" "),t.b(t.t(t.f("content",e,n,0))),t.b(`
|
|
74
|
+
`+a),t.b("</div>"),t.fl()},partials:{},subs:{}});et["icon-file-added"]=new Ye.Template({code:function(e,n,a){var t=this;return t.b(a=a||""),t.b('<svg aria-hidden="true" class="d2h-icon d2h-added" height="16" title="added" version="1.1" viewBox="0 0 14 16"'),t.b(`
|
|
75
|
+
`+a),t.b(' width="14">'),t.b(`
|
|
76
|
+
`+a),t.b(' <path d="M13 1H1C0.45 1 0 1.45 0 2v12c0 0.55 0.45 1 1 1h12c0.55 0 1-0.45 1-1V2c0-0.55-0.45-1-1-1z m0 13H1V2h12v12zM6 9H3V7h3V4h2v3h3v2H8v3H6V9z"></path>'),t.b(`
|
|
77
|
+
`+a),t.b("</svg>"),t.fl()},partials:{},subs:{}});et["icon-file-changed"]=new Ye.Template({code:function(e,n,a){var t=this;return t.b(a=a||""),t.b('<svg aria-hidden="true" class="d2h-icon d2h-changed" height="16" title="modified" version="1.1"'),t.b(`
|
|
78
|
+
`+a),t.b(' viewBox="0 0 14 16" width="14">'),t.b(`
|
|
79
|
+
`+a),t.b(' <path d="M13 1H1C0.45 1 0 1.45 0 2v12c0 0.55 0.45 1 1 1h12c0.55 0 1-0.45 1-1V2c0-0.55-0.45-1-1-1z m0 13H1V2h12v12zM4 8c0-1.66 1.34-3 3-3s3 1.34 3 3-1.34 3-3 3-3-1.34-3-3z"></path>'),t.b(`
|
|
80
|
+
`+a),t.b("</svg>"),t.fl()},partials:{},subs:{}});et["icon-file-deleted"]=new Ye.Template({code:function(e,n,a){var t=this;return t.b(a=a||""),t.b('<svg aria-hidden="true" class="d2h-icon d2h-deleted" height="16" title="removed" version="1.1"'),t.b(`
|
|
81
|
+
`+a),t.b(' viewBox="0 0 14 16" width="14">'),t.b(`
|
|
82
|
+
`+a),t.b(' <path d="M13 1H1C0.45 1 0 1.45 0 2v12c0 0.55 0.45 1 1 1h12c0.55 0 1-0.45 1-1V2c0-0.55-0.45-1-1-1z m0 13H1V2h12v12zM11 9H3V7h8v2z"></path>'),t.b(`
|
|
83
|
+
`+a),t.b("</svg>"),t.fl()},partials:{},subs:{}});et["icon-file-renamed"]=new Ye.Template({code:function(e,n,a){var t=this;return t.b(a=a||""),t.b('<svg aria-hidden="true" class="d2h-icon d2h-moved" height="16" title="renamed" version="1.1"'),t.b(`
|
|
84
|
+
`+a),t.b(' viewBox="0 0 14 16" width="14">'),t.b(`
|
|
85
|
+
`+a),t.b(' <path d="M6 9H3V7h3V4l5 4-5 4V9z m8-7v12c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h12c0.55 0 1 0.45 1 1z m-1 0H1v12h12V2z"></path>'),t.b(`
|
|
86
|
+
`+a),t.b("</svg>"),t.fl()},partials:{},subs:{}});et["icon-file"]=new Ye.Template({code:function(e,n,a){var t=this;return t.b(a=a||""),t.b('<svg aria-hidden="true" class="d2h-icon" height="16" version="1.1" viewBox="0 0 12 16" width="12">'),t.b(`
|
|
87
|
+
`+a),t.b(' <path d="M6 5H2v-1h4v1zM2 8h7v-1H2v1z m0 2h7v-1H2v1z m0 2h7v-1H2v1z m10-7.5v9.5c0 0.55-0.45 1-1 1H1c-0.55 0-1-0.45-1-1V2c0-0.55 0.45-1 1-1h7.5l3.5 3.5z m-1 0.5L8 2H1v12h10V5z"></path>'),t.b(`
|
|
88
|
+
`+a),t.b("</svg>"),t.fl()},partials:{},subs:{}});et["line-by-line-file-diff"]=new Ye.Template({code:function(e,n,a){var t=this;return t.b(a=a||""),t.b('<div id="'),t.b(t.v(t.f("fileHtmlId",e,n,0))),t.b('" class="d2h-file-wrapper" data-lang="'),t.b(t.v(t.d("file.language",e,n,0))),t.b('">'),t.b(`
|
|
89
|
+
`+a),t.b(' <div class="d2h-file-header">'),t.b(`
|
|
90
|
+
`+a),t.b(" "),t.b(t.t(t.f("filePath",e,n,0))),t.b(`
|
|
91
|
+
`+a),t.b(" </div>"),t.b(`
|
|
92
|
+
`+a),t.b(' <div class="d2h-file-diff">'),t.b(`
|
|
93
|
+
`+a),t.b(' <div class="d2h-code-wrapper">'),t.b(`
|
|
94
|
+
`+a),t.b(' <table class="d2h-diff-table">'),t.b(`
|
|
95
|
+
`+a),t.b(' <tbody class="d2h-diff-tbody">'),t.b(`
|
|
96
|
+
`+a),t.b(" "),t.b(t.t(t.f("diffs",e,n,0))),t.b(`
|
|
97
|
+
`+a),t.b(" </tbody>"),t.b(`
|
|
98
|
+
`+a),t.b(" </table>"),t.b(`
|
|
99
|
+
`+a),t.b(" </div>"),t.b(`
|
|
100
|
+
`+a),t.b(" </div>"),t.b(`
|
|
101
|
+
`+a),t.b("</div>"),t.fl()},partials:{},subs:{}});et["line-by-line-numbers"]=new Ye.Template({code:function(e,n,a){var t=this;return t.b(a=a||""),t.b('<div class="line-num1">'),t.b(t.v(t.f("oldNumber",e,n,0))),t.b("</div>"),t.b(`
|
|
102
|
+
`+a),t.b('<div class="line-num2">'),t.b(t.v(t.f("newNumber",e,n,0))),t.b("</div>"),t.fl()},partials:{},subs:{}});et["side-by-side-file-diff"]=new Ye.Template({code:function(e,n,a){var t=this;return t.b(a=a||""),t.b('<div id="'),t.b(t.v(t.f("fileHtmlId",e,n,0))),t.b('" class="d2h-file-wrapper" data-lang="'),t.b(t.v(t.d("file.language",e,n,0))),t.b('">'),t.b(`
|
|
103
|
+
`+a),t.b(' <div class="d2h-file-header">'),t.b(`
|
|
104
|
+
`+a),t.b(" "),t.b(t.t(t.f("filePath",e,n,0))),t.b(`
|
|
105
|
+
`+a),t.b(" </div>"),t.b(`
|
|
106
|
+
`+a),t.b(' <div class="d2h-files-diff">'),t.b(`
|
|
107
|
+
`+a),t.b(' <div class="d2h-file-side-diff">'),t.b(`
|
|
108
|
+
`+a),t.b(' <div class="d2h-code-wrapper">'),t.b(`
|
|
109
|
+
`+a),t.b(' <table class="d2h-diff-table">'),t.b(`
|
|
110
|
+
`+a),t.b(' <tbody class="d2h-diff-tbody">'),t.b(`
|
|
111
|
+
`+a),t.b(" "),t.b(t.t(t.d("diffs.left",e,n,0))),t.b(`
|
|
112
|
+
`+a),t.b(" </tbody>"),t.b(`
|
|
113
|
+
`+a),t.b(" </table>"),t.b(`
|
|
114
|
+
`+a),t.b(" </div>"),t.b(`
|
|
115
|
+
`+a),t.b(" </div>"),t.b(`
|
|
116
|
+
`+a),t.b(' <div class="d2h-file-side-diff">'),t.b(`
|
|
117
|
+
`+a),t.b(' <div class="d2h-code-wrapper">'),t.b(`
|
|
118
|
+
`+a),t.b(' <table class="d2h-diff-table">'),t.b(`
|
|
119
|
+
`+a),t.b(' <tbody class="d2h-diff-tbody">'),t.b(`
|
|
120
|
+
`+a),t.b(" "),t.b(t.t(t.d("diffs.right",e,n,0))),t.b(`
|
|
121
|
+
`+a),t.b(" </tbody>"),t.b(`
|
|
122
|
+
`+a),t.b(" </table>"),t.b(`
|
|
123
|
+
`+a),t.b(" </div>"),t.b(`
|
|
124
|
+
`+a),t.b(" </div>"),t.b(`
|
|
125
|
+
`+a),t.b(" </div>"),t.b(`
|
|
126
|
+
`+a),t.b("</div>"),t.fl()},partials:{},subs:{}});et["tag-file-added"]=new Ye.Template({code:function(e,n,a){var t=this;return t.b(a=a||""),t.b('<span class="d2h-tag d2h-added d2h-added-tag">ADDED</span>'),t.fl()},partials:{},subs:{}});et["tag-file-changed"]=new Ye.Template({code:function(e,n,a){var t=this;return t.b(a=a||""),t.b('<span class="d2h-tag d2h-changed d2h-changed-tag">CHANGED</span>'),t.fl()},partials:{},subs:{}});et["tag-file-deleted"]=new Ye.Template({code:function(e,n,a){var t=this;return t.b(a=a||""),t.b('<span class="d2h-tag d2h-deleted d2h-deleted-tag">DELETED</span>'),t.fl()},partials:{},subs:{}});et["tag-file-renamed"]=new Ye.Template({code:function(e,n,a){var t=this;return t.b(a=a||""),t.b('<span class="d2h-tag d2h-moved d2h-moved-tag">RENAMED</span>'),t.fl()},partials:{},subs:{}});class Mf{constructor({compiledTemplates:n={},rawTemplates:a={}}){const t=Object.entries(a).reduce((i,[r,l])=>{const o=Ye.compile(l,{asString:!1});return Object.assign(Object.assign({},i),{[r]:o})},{});this.preCompiledTemplates=Object.assign(Object.assign(Object.assign({},et),n),t)}static compile(n){return Ye.compile(n,{asString:!1})}render(n,a,t,i,r){const l=this.templateKey(n,a);try{return this.preCompiledTemplates[l].render(t,i,r)}catch{throw new Error(`Could not find template to render '${l}'`)}}template(n,a){return this.preCompiledTemplates[this.templateKey(n,a)]}templateKey(n,a){return`${n}-${a}`}}const Bf=Object.assign(Object.assign(Object.assign({},Zo),es),{outputFormat:nf.LINE_BY_LINE,drawFileList:!0});function $f(e,n={}){const a=Object.assign(Object.assign({},Bf),n),t=typeof e=="string"?ff(e,a):e,i=new Mf(a),{colorScheme:r}=a,l={colorScheme:r},o=a.drawFileList?new kf(i,l).render(t):"",u=a.outputFormat==="side-by-side"?new Pf(i,a).render(t):new Ef(i,a).render(t);return o+u}const Ff={key:2,class:"studio-ai-session-diff-dialog__status"},jf=["innerHTML"],zf={__name:"Vibe64SessionDiffDialog",props:{diff:{default:()=>({}),type:Object}},setup(e){const n=e,a=Q(null),t=f(()=>{const o=n.diff.payload||{};return[o.stagedDiff,o.unstagedDiff,o.untrackedDiff].map(u=>String(u||"").trim()).filter(Boolean).join(`
|
|
127
|
+
`)}),i=f(()=>t.value?$f(t.value,{drawFileList:!0,matching:"lines",outputFormat:"side-by-side"}):"");function r(o){o!==!0&&n.diff.close()}function l(o){var d;const u=o.target instanceof Element?o.target:null,s=u==null?void 0:u.closest("a"),v=((d=a.value)==null?void 0:d.$el)||a.value;if(!s||!(v!=null&&v.contains(s)))return;const m=String(s.getAttribute("href")||"");if(!m.startsWith("#")){o.preventDefault(),o.stopPropagation();return}o.preventDefault(),o.stopPropagation();const h=document.getElementById(m.slice(1));h&&v.contains(h)&&h.scrollIntoView({block:"start",behavior:"smooth"})}return(o,u)=>(g(),z(Lt,{"model-value":e.diff.open,"max-width":"min(94vw, 72rem)","onUpdate:modelValue":r},{default:M(()=>[W(Rt,{class:"studio-ai-session-diff-dialog"},{default:M(()=>[W(Xt,{class:"studio-ai-session-diff-dialog__title"},{default:M(()=>[u[0]||(u[0]=te("span",null,"Review changes",-1)),e.diff.payload?(g(),z(kt,{key:0,color:e.diff.payload.hasChanges?"primary":"default",size:"small",variant:"tonal"},{default:M(()=>[re(le(e.diff.payload.hasChanges?"Changes found":"No changes"),1)]),_:1},8,["color"])):X("",!0)]),_:1}),W(Ot,{ref_key:"diffBodyElement",ref:a,class:"studio-ai-session-diff-dialog__body",onClick:l},{default:M(()=>{var s;return[e.diff.error?(g(),z(Yt,{key:0,title:"Diff could not load",error:e.diff.error,compact:"",class:"mb-3"},null,8,["error"])):X("",!0),e.diff.loading?(g(),z(Ji,{key:1,color:"primary",indeterminate:"",class:"mb-3"})):X("",!0),(s=e.diff.payload)!=null&&s.gitStatus?(g(),q("pre",Ff,le(e.diff.payload.gitStatus),1)):X("",!0),i.value?(g(),q("div",{key:3,class:"studio-ai-session-diff-dialog__rendered",innerHTML:i.value},null,8,jf)):!e.diff.loading&&!e.diff.error?(g(),z(dt,{key:4,type:"info",variant:"tonal"},{default:M(()=>[...u[1]||(u[1]=[re(" No diff is available for this session worktree. ",-1)])]),_:1})):X("",!0)]}),_:1},512),W(Qt,null,{default:M(()=>[W(Rn),W(ve,{variant:"text",onClick:e.diff.close},{default:M(()=>[...u[2]||(u[2]=[re("Close",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1})]),_:1},8,["model-value"]))}},Uf=ze(zf,[["__scopeId","data-v-335a2f47"]]),Hf={__name:"Vibe64SessionInputDialog",props:{input:{default:()=>({}),type:Object}},emits:["update-values"],setup(e,{emit:n}){const a=e,t=n;function i(l){l!==!0&&a.input.close()}function r(l,o){t("update-values",{...a.input.values||{},[l]:String(o||"")})}return(l,o)=>(g(),z(Lt,{"model-value":e.input.open,"max-width":"520",persistent:"","onUpdate:modelValue":i},{default:M(()=>[W(Rt,null,{default:M(()=>[W(Xt,null,{default:M(()=>[re(le(e.input.title),1)]),_:1}),W(Ot,{class:"studio-ai-session-input-dialog__body"},{default:M(()=>[e.input.error?(g(),z(Yt,{key:0,title:"Action needs attention",error:e.input.error,compact:""},null,8,["error"])):X("",!0),(g(!0),q(Ee,null,Ve(e.input.fields,u=>(g(),q(Ee,{key:u.name},[u.kind==="textarea"?(g(),z(yn,{key:0,"model-value":e.input.values[u.name],"auto-grow":"",disabled:e.input.submitting,label:u.label,placeholder:u.placeholder||void 0,rows:"5",variant:"outlined","onUpdate:modelValue":s=>r(u.name,s)},null,8,["model-value","disabled","label","placeholder","onUpdate:modelValue"])):(g(),z(bn,{key:1,"model-value":e.input.values[u.name],disabled:e.input.submitting,label:u.label,placeholder:u.placeholder||void 0,variant:"outlined","onUpdate:modelValue":s=>r(u.name,s)},null,8,["model-value","disabled","label","placeholder","onUpdate:modelValue"]))],64))),128))]),_:1}),W(Qt,{class:"studio-ai-session-input-dialog__actions"},{default:M(()=>[W(ve,{variant:"text",disabled:e.input.submitting,onClick:e.input.close},{default:M(()=>[...o[0]||(o[0]=[re(" Cancel ",-1)])]),_:1},8,["disabled","onClick"]),W(ve,{color:"primary",variant:"flat",disabled:e.input.saveDisabled,loading:e.input.submitting,onClick:e.input.submit},{default:M(()=>[...o[1]||(o[1]=[re(" Continue ",-1)])]),_:1},8,["disabled","loading","onClick"])]),_:1})]),_:1})]),_:1},8,["model-value"]))}},Wf=ze(Hf,[["__scopeId","data-v-5c29b8a0"]]),qf={__name:"Vibe64SessionDialogs",props:{dialogs:{default:()=>({}),type:Object},shortSessionId:{default:e=>String(e||""),type:Function}},emits:["update-input-values"],setup(e,{emit:n}){const a=n;return(t,i)=>(g(),q(Ee,null,[W(Wf,{input:e.dialogs.input,onUpdateValues:i[0]||(i[0]=r=>a("update-input-values",r))},null,8,["input"]),W(Uf,{diff:e.dialogs.diff},null,8,["diff"]),W(tf,{abandon:e.dialogs.abandon,"short-session-id":e.shortSessionId},null,8,["abandon","short-session-id"])],64))}};function Kf(e=""){const n=String(e||"").trim();return n?`\x1B[200~[${n}] \x1B[201~`:""}function Gf({ensureTerminalReady:e,focusTerminal:n,sendTerminalData:a,sessionId:t,uploadAttachment:i}={}){async function r(u=""){const s=Kf(u);return s?a(s):!1}async function l(u=[]){for(const s of u){const v=String(s.fileName||"attachment"),m=String(s.containerPath||"").trim();if(!m)throw new Error(`${v} uploaded, but no Codex path was returned.`);if(!await r(m))throw new Error(`${v} uploaded, but its path could not be sent to Codex.`)}}const o=Mo({canUpload:()=>!!c(t),onUploaded:async(u=[])=>{await l(u);const s=u.length===1?u[0].fileName:`${u.length} files`;o.status.value=`${s} attached. Press Enter in Codex when ready.`,n()},sessionId:t,uploadAttachment:async(u,s)=>{if(!await e())throw new Error("Codex terminal is not ready for attachments.");return i(u,s)}});return{attachmentDragActive:o.dragActive,attachmentStatus:o.status,attachmentUploading:o.uploading,clearAttachmentStatus:o.clearStatus,handleAttachmentDragEnter:o.handleDragEnter,handleAttachmentDragLeave:o.handleDragLeave,handleAttachmentDragOver:o.handleDragOver,handleAttachmentDrop:o.handleDrop,resetAttachmentDragState:o.resetDragState}}function Xf(e){const n=String(e||"");return[...new Set([n,n.replace(/\r?\n/gu,`\r
|
|
128
|
+
`),n.replace(/\r?\n/gu,`
|
|
129
|
+
`),n.replace(/\r?\n/gu,"\r")])].filter(Boolean)}function Qf(e){const n=fo(e).replace(/\s+/gu," ").trim();return!n||n.length>220?"Prompt sent.":n}function Jf(e,n,a=0){if(n.expired)return null;if(n.match){if(e.length>=n.match.end&&e.startsWith(n.match.candidate,n.match.start))return n.match;n.match=null}const t=Math.max(0,n.outputStart-a);if(t>e.length)return null;for(const i of n.candidates){if(e.startsWith(i,t))return{candidate:i,end:t+i.length,partial:!1,start:t};if(e.length-t<i.length&&i.startsWith(e.slice(t)))return{end:e.length,partial:!0,start:t}}for(const i of n.candidates){const r=e.indexOf(i,t);if(r>=t&&r-t<=1024)return{candidate:i,end:r+i.length,partial:!1,start:r}}return a===0&&e.length-t>n.longestCandidateLength+1024&&(n.expired=!0),null}function Yf(){let e=[],n=0;function a({outputStart:o=0,prompt:u=""}={}){const s=Xf(u);if(!s.length)return 0;const v=Qf(u);return n+=1,e=[...e.filter(m=>m.outputStart!==o||m.replacement!==v),{candidates:s,id:n,longestCandidateLength:Math.max(...s.map(m=>m.length)),outputStart:o,replacement:v}].sort((m,h)=>m.outputStart-h.outputStart),n}function t(o){o&&(e=e.filter(u=>u.id!==o))}function i(){e=[]}function r(o,{outputStartOffset:u=0}={}){const s=String(o||"");if(!e.length)return s;let v="",m=0;for(const h of e){const d=Jf(s,h,u);!d||d.start<m||(d.partial||(h.match=d),v+=s.slice(m,d.start),d.partial||(v+=h.replacement),m=d.end)}return v+=s.slice(m),v}function l(){return e.some(o=>!o.match&&!o.expired)}return Object.freeze({add:a,apply:r,clear:i,hasPending:l,remove:t})}const Zf=2200,em=650,tm=12,Ta="\x1B",Nn=256*1024,nm=80,am=120,im=new RegExp(`${Ta}\\[\\d+;\\d+H`,"u"),ts=Object.freeze(["Working (","Waiting for background terminal","background terminal running"]),ns=Object.freeze(["tab to queue message"]),om=Object.freeze([...ts,...ns]);function _i(e){const n=String(e||"");if(n.length<=Nn)return{output:n,trimmedLength:0};const a=n.length-Nn;return{output:n.slice(a),trimmedLength:a}}function sm(e="",n=[]){const a=String(e||"");return n.some(t=>a.includes(t))}function lm(e=""){const n=String(e||"");if(n.includes("background terminal running"))return!0;const a=Math.max(...ts.map(i=>n.lastIndexOf(i))),t=Math.max(...ns.map(i=>n.lastIndexOf(i)));return t>=0&&t>a?!1:a>=0?!0:null}function rm(e=""){const n=String(e||"");for(let a=0;a<n.length;a+=1){const t=n.charCodeAt(a);if(t>=0&&t<=8||t===11||t===12||t>=14&&t<=31||t>=127&&t<=159)return!0}return!1}function xa(e=""){return rm(e)?Dt(e):String(e||"")}function as(e=""){const n=String(e||"");return n.length<=256&&n.includes(`${Ta}[?2026`)&&n.includes(`${Ta}[K`)&&im.test(n)}function um(e="",n=xa(e)){const a=String(n||"").trim();return!a||a.length>tm||a.includes(`
|
|
130
|
+
`)?!1:as(e)}function cm(e){const n=String(e||"");return!n.includes(wt)&&!n.includes(lt)?n:fo(n)}function dm({appendDisplay:e,displayActive:n=!0,emitBusyChanged:a,onOutputChanged:t,shouldNotifyOutputChanged:i,sessionId:r,writeDisplay:l}={}){const o=Q(!1),u=Q(!1),s=Q(!1),v=Yf();let m=null,h=null,d="",p=null,I=null,S=0,_=!1,y="",T=0,F=0,x=0,P="",Z="";function C(){return!!c(n)}function O(){return typeof t=="function"&&(typeof i!="function"||i()!==!1)}function V(xe=y){return cm(v.apply(xe,{outputStartOffset:T}))}function $(){p&&(globalThis.clearTimeout(p),p=null)}function b(){a==null||a({busy:o.value,sessionId:c(r),streaming:s.value,working:u.value})}function E(){I&&(globalThis.clearTimeout(I),I=null)}function B(xe){const N=!!xe;s.value!==N&&(s.value=N,b())}function H(){B(!0),E(),I=globalThis.setTimeout(()=>{I=null,B(!1)},em)}function K(xe){const N=!!xe;o.value!==N&&(o.value=N,b())}function ge(xe){const N=!!xe;u.value!==N&&(u.value=N,b())}function ne(){ge(!1)}function A(xe="",{replace:N=!1}={}){if(d=(N?String(xe||""):`${d}${String(xe||"")}`).slice(-8192),!sm(d,om))return;const w=Dt(d),R=lm(w);R!==null&&ge(R)}function J(){$(),S=x,K(!0)}function L(){$(),S=x,K(!1)}function se(){!o.value||x<=S||($(),p=globalThis.setTimeout(()=>{p=null,L()},Zf))}function U(){x+=1,F=Date.now(),se()}function k(){m&&(globalThis.clearTimeout(m),m=null)}function ee(){P="",Z=""}function ye(xe=""){const N=String(xe||"");return!!(N&&!v.hasPending()&&!N.includes(wt)&&!N.includes(lt))}function ue(){k(),ee(),C()&&(l==null||l(V(y)))}function j(){if(m=null,!C()){ee();return}if(Z==="append"&&e){e(P),ee();return}ee(),l==null||l(V(y))}function D(){m||(m=globalThis.setTimeout(()=>{j()},nm))}function G(xe){if(C()){if(Z==="replace"){D();return}Z="append",P+=String(xe||""),D()}}function be(){C()&&(Z="replace",P="",D())}function pe(){h&&(globalThis.clearTimeout(h),h=null)}function Ie(xe=y){pe(),O()&&t(xe)}function Le(){const xe=!!(h&&O());pe(),xe&&t(y),ue()}function je(){!O()||h||(h=globalThis.setTimeout(()=>{h=null,O()&&t(y)},am))}function we({visibleText:xe=""}={}){x+=1,F=Date.now(),_=_||String(xe||"").trim().length>0,se()}function Se(xe,{emitImmediately:N=!1,visibleText:Y=""}={}){const w=y,R=_i(xe);y=R.output,T=R.trimmedLength,y!==w&&(we({visibleText:Y}),A(y,{replace:!0})),N?(Ie(y),ue()):(je(),be())}function Re(xe,{visibleText:N=""}={}){const Y=y.length,w=xe.length>=Nn?xe:`${y}${xe}`,R=_i(w);y=R.output,T+=xe.length>=Nn?Y+xe.length-y.length:R.trimmedLength,we({visibleText:N}),A(xe),je()}function Ue(xe){const N=lr(xe),Y=xa(N);Se(Y.trim()?N:"",{emitImmediately:!0,visibleText:Y})}function Pe(xe){const N=String(xe||"");if(!N)return;if(H(),as(N)){U(),ye(N)&&G(N);return}const Y=xa(N);if(!Y.trim()||um(N,Y)){U(),ye(N)&&G(N);return}Re(N,{visibleText:Y}),ye(N)?G(N):be()}function Ge({emit:xe=!1}={}){k(),pe(),ee(),E(),B(!1),L(),ne(),d="",_=!1,y="",T=0,F=0,x+=1,xe&&Ie(""),C()&&(l==null||l(""))}return{addPromptEchoFilter:v.add,appendTerminalOutput:Pe,clearCodexBusy:L,clearCodexWorking:ne,clearPromptEchoFilters:v.clear,codexBusy:o,codexWorking:u,flushTerminalOutput:Le,getTerminalOutput:()=>y,hasTerminalOutput:()=>_,lastTerminalOutputAt:()=>F,markCodexBusy:J,removePromptEchoFilter:v.remove,resetTerminalOutput:Ge,terminalStreaming:s,writeTerminalOutput:Ue}}function Ei(e,n){e&&typeof e=="object"&&"value"in e&&(e.value=n)}function fm({canUseTerminal:e,componentMounted:n,isTerminalSessionNotFound:a,onConnected:t,onError:i,onMessage:r,onMissingTerminal:l,sessionId:o,terminalSessionId:u,terminalStatus:s,webSocketUrl:v}={}){let m=null,h=null,d=null;function p(){d&&(window.clearTimeout(d),d=null)}function I(){p();const P=m;m=null,h=null,P&&P.readyState!==WebSocket.CLOSED&&P.readyState!==WebSocket.CLOSING&&P.close()}function S(){return!!(c(n)&&c(e)&&c(u)&&c(s)!=="exited")}function _(){d||!S()||(d=window.setTimeout(async()=>{if(d=null,!c(u)||m||c(s)==="exited")return;!await y()&&c(u)&&c(s)==="disconnected"&&_()},1200))}async function y(){return!c(u)||!c(o)?!1:(m==null?void 0:m.readyState)===WebSocket.OPEN?!0:h||(Ei(s,c(s)||"connecting"),h=new Promise(P=>{let Z=!1;const C=new WebSocket(v(c(o),c(u)));m=C;const O=V=>{Z||(Z=!0,P(V))};C.addEventListener("open",()=>{if(m!==C){O(!1);return}p(),t==null||t(),O(!0)}),C.addEventListener("message",V=>{m===C&&(r==null||r(V.data))}),C.addEventListener("error",()=>{if(m!==C){O(!1);return}i==null||i("Terminal stream failed."),O(!1)}),C.addEventListener("close",V=>{if(m===C)m=null;else{O(!1);return}if(h=null,O(!1),a!=null&&a(V.reason)){l==null||l();return}c(s)!=="exited"&&(Ei(s,c(u)?"disconnected":""),_())})}),h)}async function T(P){if(!await y()||(m==null?void 0:m.readyState)!==WebSocket.OPEN)throw new Error("Terminal stream is not connected.");m.send(JSON.stringify(P))}async function F(P){await T({data:String(P||""),type:"input"})}async function x({cols:P,rows:Z}={}){await T({cols:P,rows:Z,type:"resize"})}return{clearReconnect:p,closeSocket:I,connect:y,resize:x,scheduleReconnect:_,send:F}}function Ri(e=""){return String(e||"").toLowerCase().includes("terminal session not found")}function mm({appendTerminalOutput:e,canStartTerminal:n,canUseTerminal:a,clearCodexBusy:t,clearCodexWorking:i,clearPromptEchoFilters:r,clearTerminalDisplay:l,clearTerminalOutput:o,closeTerminalSession:u,componentMounted:s,defaultExpanded:v,disposeTerminalViewport:m,emitSessionState:h,expanded:d,fitTerminal:p,onBeforeDispose:I,onBeforeDetach:S,onMountedReady:_,onSessionChanged:y,onTerminalRecovered:T,onTerminalSnapshot:F,onTerminalStarted:x,refreshTerminalOutput:P,resetTerminal:Z,sessionId:C,setupTerminalUi:O,startTerminalSession:V,terminalCommandPreview:$,terminalError:b,terminalHost:E,terminalSessionId:B,terminalStarting:H,terminalStatus:K,visible:ge,webSocketUrl:ne,writeTerminalOutput:A}={}){let J=null,L=null;const se=f(()=>K.value==="exited"),U=f(()=>n==null?!!c(a):!!c(n)),k=f(()=>a.value&&U.value&&s.value&&!H.value&&(!B.value||se.value));function ee(N={}){!C.value||!B.value||h==null||h({codexTerminalCommandPreview:$.value,codexTerminalSessionId:B.value,codexTerminalStatus:K.value,sessionId:C.value,...N})}function ye(N={}){F==null||F(N),K.value=N.status||K.value||"",$.value=N.commandPreview||$.value,A==null||A(N.output)}function ue(N){let Y;try{Y=JSON.parse(String(N||""))}catch{b.value="Terminal stream returned an invalid message.";return}if((Y==null?void 0:Y.type)==="snapshot"){ye(Y.session||{});return}if((Y==null?void 0:Y.type)==="output"){e==null||e(Y.chunk);return}if((Y==null?void 0:Y.type)==="status"){K.value=Y.status||K.value||"",K.value==="exited"&&(t==null||t(),i==null||i());return}if((Y==null?void 0:Y.type)!=="resize.error"&&(Y==null?void 0:Y.type)==="error"){const w=String(Y.error||"Terminal stream failed.");if(cl(w))return;if(Ri(w)){Re();return}b.value=w}}const j=fm({canUseTerminal:a,componentMounted:s,isTerminalSessionNotFound:Ri,onConnected(){b.value=""},onError(N){b.value=N},onMessage:ue,onMissingTerminal(){Re()},sessionId:C,terminalSessionId:B,terminalStatus:K,webSocketUrl:ne});function D(){I==null||I(),t==null||t(),i==null||i(),j.closeSocket(),m==null||m(),r==null||r(),o==null||o()}function G(){j.closeSocket(),B.value="",K.value="",$.value="",b.value=""}async function be(){if(O==null||O(),p==null||p({forceResize:!0}),O==null||O().then(N=>{N&&(p==null||p({forceResize:!0}),P==null||P())}),!await j.connect())throw new Error("Terminal stream failed to connect.");return!0}async function pe(){var N,Y;if(O==null||O(),se.value&&U.value&&G(),B.value)return be();if(!U.value)return!1;H.value=!0,b.value="";try{const w=await(V==null?void 0:V(C.value));if((w==null?void 0:w.ok)===!1)throw new Error(w.error||((Y=(N=w.errors)==null?void 0:N[0])==null?void 0:Y.message)||"Codex terminal failed to start.");return B.value=w.id||"",K.value=w.status||"running",$.value=w.commandPreview||"",ee(),await be(),x==null||x(w),!0}catch(w){return b.value=String((w==null?void 0:w.message)||w||"Codex terminal failed to start."),!1}finally{H.value=!1}}async function Ie(){if(!a.value)return U.value&&(b.value="Create the session worktree before starting Codex."),!1;if(J)return J;J=pe();try{return await J}finally{J=null}}async function Le(N){if(!B.value||K.value==="exited")return!1;try{return await j.send(String(N||"")),!0}catch(Y){return b.value=String((Y==null?void 0:Y.message)||Y||"Terminal input failed."),!1}}async function je(N={}){if(!B.value||K.value==="exited")return!1;try{return await j.resize(N),!0}catch(Y){return b.value=String((Y==null?void 0:Y.message)||Y||"Terminal resize failed."),!1}}async function we(){const N=B.value;Ue(),N&&C.value&&await(u==null?void 0:u(C.value,N).catch(()=>null))}async function Se(N={}){const Y=String(N.id||N.terminalSessionId||"").trim();if(!Y)return B.value&&Ue(),!1;if(!(B.value===Y)&&B.value&&Ue(),B.value=Y,K.value=N.status||K.value||"running",$.value=N.commandPreview||$.value||"",!a.value||!s.value)return!0;try{return await be(),!0}catch(R){return b.value=String((R==null?void 0:R.message)||R||"Terminal stream failed to connect."),!1}}async function Re(){if(!a.value)return b.value="Terminal session not found.",!1;if(L)return L;L=(async()=>{const N=C.value;return j.closeSocket(),B.value="",K.value="",$.value="",b.value="",Z==null||Z(),l==null||l(),T==null||T(),N!==C.value?!1:Ie()})();try{return await L}finally{L=null}}function Ue(){B.value="",K.value="",$.value="",S==null||S(),D()}async function Pe(){b.value="",d.value=!0,await we(),await Ie()}function Ge(){a.value&&Ie()}async function xe(){await qe(),Ge(),_==null||_()}return _e(C,async(N,Y)=>{Y&&Y!==N&&Ue(),y==null||y(),d.value=(v==null?void 0:v())??!0,Ge()}),_e(a,N=>{N&&Ge()}),_e(E,N=>{N&&(O==null||O(),Ge())},{flush:"post"}),_e(ge,async N=>{if(!N){m==null||m({preserveDisplay:!0});return}await qe(),await(O==null?void 0:O())&&(p==null||p(),P==null||P()),Ge()}),Jt(()=>{s.value=!0,d.value=(v==null?void 0:v())??!0,xe()}),mt(()=>{Ue()}),{attachTerminalSession:Se,closeTerminal:we,detachTerminal:Ue,ensureTerminalReady:Ie,restartTerminal:Pe,resizeTerminal:je,sendTerminalInput:Le,showTerminalStartPanel:k,startTerminalWhenReady:Ge,terminalExited:se}}const vm=5e4,Oi=256*1024;function Li(e){const n=String(e||"");return n.length<=Oi?n:n.slice(n.length-Oi)}function pm({expanded:e,onData:n,onResize:a,visible:t}={}){const i=Q(null),r=Q(!1),l=Q("");let o=null,u=null,s=null,v=null,m=null,h=null,d=null,p=null,I=null,S=null,_=null,y=null,T=null,F=0,x=0,P="";function Z(){var ue;return l.value=(ue=o==null?void 0:o.hasSelection)!=null&&ue.call(o)?o.getSelection():"",l.value}function C(){const ue=i.value,j=document.activeElement;r.value=!!(ue&&j&&ue.contains(j))}function O(){var ue;(ue=o==null?void 0:o.focus)==null||ue.call(o),r.value=!0,window.setTimeout(C,0)}function V(){var ue;(ue=o==null?void 0:o.blur)==null||ue.call(o),r.value=!1}function $(ue){const j=i.value,D=ue.target;!j||!(D instanceof Node)||j.contains(D)||V()}function b(){return!!(o&&u&&c(e)&&c(t))}function E(ue={}){var j;b()&&(u.fit(),K(ue),(j=o.refresh)==null||j.call(o,0,Math.max(0,o.rows-1)))}function B({cols:ue,rows:j}={}){F=ue,x=j}function H(){F=0,x=0}function K({forceResize:ue=!1}={}){const j=Number((o==null?void 0:o.cols)||0),D=Number((o==null?void 0:o.rows)||0);if(!j||!D||!ue&&j===F&&D===x)return;const G={cols:j,rows:D},be=a==null?void 0:a(G);if(be&&typeof be.then=="function"){be.then(pe=>{pe!==!1&&B(G)}).catch(()=>null);return}be!==!1&&B(G)}function ge(){if(y===null)return;(typeof window.cancelAnimationFrame=="function"?window.cancelAnimationFrame.bind(window):window.clearTimeout.bind(window))(y),y=null}function ne(){if(y!==null||!b())return;y=(typeof window.requestAnimationFrame=="function"?window.requestAnimationFrame.bind(window):window.setTimeout.bind(window))(()=>{y=null,E()})}function A(){var ue;(ue=o==null?void 0:o.reset)==null||ue.call(o),P="",H()}function J(){P=""}function L(){var ue;(ue=o==null?void 0:o.scrollToBottom)==null||ue.call(o)}function se(ue){const j=String(ue||"");if(j){if(o){o.write(j,L);return}P=Li(`${P}${j}`)}}function U(ue){const j=Li(ue);P=j,o&&(o.reset(),o.write(j,L))}async function k(){if(o)return!0;if(T)return T;T=(async()=>(await qe(),i.value?(o=new Vl({convertEol:!0,cursorBlink:!0,fontFamily:"ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace",fontSize:13,scrollback:vm,theme:{background:"#101216",foreground:"#f5f7fb"}}),u=new Ml,o.loadAddon(u),o.open(i.value),c(e)&&c(t)&&E(),U(P),s=o.onData(ue=>{n==null||n(ue)}),m=()=>{r.value=!0},h=()=>{window.setTimeout(C,0)},d=()=>{window.setTimeout(C,0)},p=$,I=()=>{r.value=!1},i.value.addEventListener("focusin",m),i.value.addEventListener("focusout",h),document.addEventListener("focusin",d,!0),document.addEventListener("pointerdown",p,!0),window.addEventListener("blur",I),v=o.onSelectionChange(Z),S=ne,window.addEventListener("resize",S),typeof ResizeObserver<"u"&&(_=new ResizeObserver(ne),_.observe(i.value)),!0):!1))();try{return await T}finally{T=null}}function ee(){var be,pe;const ue=(be=o==null?void 0:o.buffer)==null?void 0:be.active;if(!ue||!o)return"";const j=Math.max(0,ue.baseY+ue.viewportY),D=Math.min(ue.length,j+o.rows),G=[];for(let Ie=j;Ie<D;Ie+=1)G.push(((pe=ue.getLine(Ie))==null?void 0:pe.translateToString(!0))||"");return G.join(`
|
|
131
|
+
`).trim()}function ye({preserveDisplay:ue=!1}={}){var j,D,G,be,pe,Ie;(j=s==null?void 0:s.dispose)==null||j.call(s),s=null,(D=v==null?void 0:v.dispose)==null||D.call(v),v=null,m&&((G=i.value)==null||G.removeEventListener("focusin",m),m=null),h&&((be=i.value)==null||be.removeEventListener("focusout",h),h=null),d&&(document.removeEventListener("focusin",d,!0),d=null),p&&(document.removeEventListener("pointerdown",p,!0),p=null),I&&(window.removeEventListener("blur",I),I=null),S&&(window.removeEventListener("resize",S),S=null),(pe=_==null?void 0:_.disconnect)==null||pe.call(_),_=null,ge(),(Ie=o==null?void 0:o.dispose)==null||Ie.call(o),o=null,u=null,H(),ue||(P=""),r.value=!1,l.value=""}return{appendTerminalDisplay:se,clearTerminalDisplay:J,disposeTerminalUi:ye,fitTerminal:E,focusTerminal:O,resetTerminal:A,setupTerminalUi:k,terminalFocused:r,terminalHost:i,terminalSelectedText:l,visibleTerminalText:ee,writeTerminalDisplay:U}}const ua="\x1B",gm="\x07",bm=new RegExp(`${ua}(?:\\[[0-?]*[ -/]*[@-~]|\\][\\s\\S]*?(?:${gm}|${ua}\\\\)|[PX^_][\\s\\S]*?${ua}\\\\|[@-Z\\\\-_])`,"gu");function hm(e=""){for(const n of String(e||"")){const a=n.codePointAt(0)||0;if(a>31&&a!==127)return!0}return!1}function ym(e=""){const n=String(e||"");if(!n)return!1;if(n.includes("\r")||n.includes(`
|
|
132
|
+
`))return!0;const a=n.replace(bm,"");return hm(a)}const Sm={class:"codex-terminal__bar"},wm={class:"codex-terminal__actions"},Cm={class:"codex-terminal__body"},Im={key:0,class:"codex-terminal__drop-overlay"},Tm={key:1,class:"codex-terminal__restart-panel"},xm={class:"codex-terminal__footer"},km={class:"codex-terminal__command"},Am={class:"codex-terminal__footer-actions"},_m={key:1,class:"text-caption text-medium-emphasis mb-0"},Em={__name:"CodexSessionTerminal",props:{session:{type:Object,default:null},visible:{type:Boolean,default:!0},allowStart:{type:Boolean,default:!0},displayMode:{type:String,default:"full"},readOnly:{type:Boolean,default:!1},listenWhenHidden:{type:Boolean,default:!1},scope:{type:String,default:"session",validator:e=>["session","global"].includes(e)},terminal:{type:Object,default:null}},emits:["activity-change","input","session-update"],setup(e,{emit:n}){const a=e,t=n,i=Do(),r=Q(""),l=Q(""),o=Q(""),u=Q(""),s=Q(!1),v=Q(""),m=Q(!0),h=Q(!1);let d=null;const p=f(()=>a.scope==="global"),I=f(()=>{var he;return((he=a.session)==null?void 0:he.sessionId)||""}),S=f(()=>p.value?"global":I.value),_=f(()=>$n(a.session||{})),y=f(()=>a.visible&&a.displayMode!=="headless"),T=f(()=>{var Be,Qe,tn,nn;if(a.terminal&&typeof a.terminal=="object"&&!Array.isArray(a.terminal))return a.terminal;const he=(Be=a.session)==null?void 0:Be.codexTerminal;if(he&&typeof he=="object"&&!Array.isArray(he))return he;const Te=(nn=(tn=(Qe=a.session)==null?void 0:Qe.presentation)==null?void 0:tn.terminal)==null?void 0:nn.codex;return Te&&typeof Te=="object"&&!Array.isArray(Te)?Te:{}}),F=f(()=>({commandPreview:String(T.value.commandPreview||""),id:String(T.value.id||T.value.terminalSessionId||""),status:String(T.value.status||"")})),x=f(()=>!!(a.listenWhenHidden&&F.value.id&&!y.value)),P=f(()=>!!(y.value||x.value));function Z(he={}){var Qe;const Te=(Qe=he==null?void 0:he.actionResult)==null?void 0:Qe.codexPromptHandoff;if(Te&&typeof Te=="object")return Te;const Be=he==null?void 0:he.codexPromptHandoff;return Be&&typeof Be=="object"?Be:null}const C=f(()=>p.value?!!(P.value&&S.value&&(a.allowStart||F.value.id)):!!(P.value&&I.value&&(F.value.id||a.allowStart&&_.value))),O=f(()=>p.value?!!(a.allowStart&&y.value&&S.value):!!(a.allowStart&&y.value&&I.value&&_.value)),{appendTerminalDisplay:V,clearTerminalDisplay:$,disposeTerminalUi:b,fitTerminal:E,focusTerminal:B,resetTerminal:H,setupTerminalUi:K,terminalFocused:ge,terminalHost:ne,terminalSelectedText:A,writeTerminalDisplay:J}=pm({expanded:m,onData(he){a.readOnly||oe(he,{source:"user"})},onResize(he){return d?d.resizeTerminal(he):!1},visible:f(()=>a.visible)}),{addPromptEchoFilter:L,appendTerminalOutput:se,clearCodexBusy:U,clearCodexWorking:k,clearPromptEchoFilters:ee,codexBusy:ye,codexWorking:ue,flushTerminalOutput:j,getTerminalOutput:D,markCodexBusy:G,resetTerminalOutput:be,terminalStreaming:pe,writeTerminalOutput:Ie}=dm({appendDisplay:V,displayActive:y,emitBusyChanged:We,sessionId:S,writeDisplay:J}),{attachmentDragActive:Le,attachmentStatus:je,attachmentUploading:we,clearAttachmentStatus:Se,handleAttachmentDragEnter:Re,handleAttachmentDragLeave:Ue,handleAttachmentDragOver:Pe,handleAttachmentDrop:Ge,resetAttachmentDragState:xe}=Gf({ensureTerminalReady:De,focusTerminal:B,sendTerminalData:oe,sessionId:S,uploadAttachment:Bt});d=mm({appendTerminalOutput:se,canStartTerminal:O,canUseTerminal:C,clearCodexBusy:U,clearCodexWorking:k,clearPromptEchoFilters:ee,clearTerminalDisplay:$,clearTerminalOutput(){be()},closeTerminalSession:vt,componentMounted:h,defaultExpanded:ae,disposeTerminalViewport:b,emitSessionState(he){t("session-update",he)},expanded:m,fitTerminal:E,onBeforeDispose(){j()},onSessionChanged(){xe(),Se()},onTerminalRecovered(){v.value="Studio server restarted; reconnecting Codex.",be({emit:!0})},onTerminalSnapshot(he){ke(he)},refreshTerminalOutput(){Ie(D())},resetTerminal:H,sessionId:S,setupTerminalUi:K,startTerminalSession:Me,terminalCommandPreview:o,terminalError:u,terminalHost:ne,terminalSessionId:r,terminalStarting:s,terminalStatus:l,visible:f(()=>a.visible),webSocketUrl:en,writeTerminalOutput:Ie});const{closeTerminal:N,restartTerminal:Y,showTerminalStartPanel:w,terminalExited:R}=d;function ae(){return typeof window>"u"||!window.matchMedia?!0:!window.matchMedia("(max-width: 700px)").matches}async function fe(he,Te){const Be=String(he||"");if(!Be)return!1;try{return await oo(Be),v.value=`${Te} copied.`,!0}catch(Qe){return v.value=String((Qe==null?void 0:Qe.message)||Qe||"Copy failed."),!1}}async function me(){await fe(A.value,"Selection")}function De(){return(d==null?void 0:d.ensureTerminalReady())||Promise.resolve(!1)}function de(he={}){const Te=Z(he);return String((Te==null?void 0:Te.terminalInput)||(Te==null?void 0:Te.prompt)||"")}function ke(he={}){if(p.value)return;const Te=Number(he==null?void 0:he.codexPromptHandoffOutputStart),Be=de(he);!Number.isSafeInteger(Te)||Te<0||!Be||L({outputStart:Te,prompt:Be})}function We(he={}){const Te=Object.hasOwn(he,"busy")?!!he.busy:!!ye.value,Be=Object.hasOwn(he,"working")?!!he.working:!!ue.value,Qe=Object.hasOwn(he,"streaming")?!!he.streaming:!!pe.value;t("activity-change",{active:!!Qe,busy:Te,scope:a.scope,sessionId:String(he.sessionId||S.value||""),streaming:Qe,terminalSessionId:r.value||F.value.id||"",working:Be})}function Me(he){return p.value?_r():bo(he)}function vt(he,Te){return p.value?Rr(he,Te):Er(he,Te)}function en(he,Te){return p.value?Cr(he,Te):wr(he,Te)}async function Bt(he,Te){if(p.value)throw new Error("Temporary attachments are available in session Codex terminals.");return i.uploadAttachment(he,Te)}async function oe(he,{source:Te="program"}={}){const Be=String(he||"");try{return await(d==null?void 0:d.sendTerminalInput(Be))?(Te==="user"&&Be.includes("")?(U(),k()):Te==="user"&&Be.includes("\r")&&G(),Te==="user"&&ym(Be)&&t("input",Be),!0):!1}catch(Qe){return u.value=String((Qe==null?void 0:Qe.message)||Qe||"Terminal input failed."),!1}}async function Ne(){await oe("",{source:"user"})}function st(){m.value=!m.value,m.value&&De()}return _e(()=>a.session,he=>{ke(he||{})},{immediate:!0}),_e(F,he=>{d==null||d.attachTerminalSession(he)},{flush:"post",immediate:!0}),_e(()=>a.displayMode,async he=>{he!=="headless"&&(await qe(),E())}),(he,Te)=>(g(),z(Tt,{rounded:"lg",class:Fe(["codex-terminal",{"codex-terminal--compact":e.displayMode==="compact","codex-terminal--desktop-actionless":!0,"codex-terminal--focused":c(ge),"codex-terminal--headless":e.displayMode==="headless"}]),"aria-hidden":e.displayMode==="headless"?"true":void 0},{default:M(()=>[e.displayMode!=="headless"?(g(),q(Ee,{key:0},[te("div",Sm,[te("div",wm,[W(ve,{icon:m.value?c(Mt):c(gn),class:"codex-terminal__collapse",size:"small",variant:"text",onClick:st},null,8,["icon"])])]),W($i,null,{default:M(()=>[En(te("div",Cm,[u.value?(g(),z(Yt,{key:0,title:"Codex terminal needs attention",error:u.value,compact:"",class:"mb-2"},null,8,["error"])):X("",!0),te("div",{class:Fe(["codex-terminal__stage",{"codex-terminal__stage--dragging":c(Le)}]),onDragenter:Te[1]||(Te[1]=He((...Be)=>c(Re)&&c(Re)(...Be),["prevent"])),onDragover:Te[2]||(Te[2]=He((...Be)=>c(Pe)&&c(Pe)(...Be),["prevent"])),onDragleave:Te[3]||(Te[3]=He((...Be)=>c(Ue)&&c(Ue)(...Be),["prevent"])),onDrop:Te[4]||(Te[4]=He((...Be)=>c(Ge)&&c(Ge)(...Be),["prevent"]))},[te("div",{ref_key:"terminalHost",ref:ne,class:"codex-terminal__host",onClick:Te[0]||(Te[0]=(...Be)=>c(B)&&c(B)(...Be))},null,512),c(Le)||c(we)?(g(),q("div",Im,[W(Tt,{class:"codex-terminal__drop-card",rounded:"lg",elevation:"10"},{default:M(()=>[W(tt,{icon:c(Qi),size:"28"},null,8,["icon"]),te("span",null,le(c(we)?"Uploading temporary file...":"Drop temporary files for Codex"),1)]),_:1})])):X("",!0),c(w)?(g(),q("div",Tm,[W(Tt,{class:"codex-terminal__restart-card",rounded:"lg",elevation:"8"},{default:M(()=>[te("span",null,le(c(R)?"Codex exited.":"Codex is not running."),1),W(ve,{color:"primary",loading:s.value,"prepend-icon":c(da),size:"small",variant:"flat",onClick:c(Y)},{default:M(()=>[re(le(c(R)?"Restart Codex":"Start Codex"),1)]),_:1},8,["loading","prepend-icon","onClick"])]),_:1})])):X("",!0)],34),te("div",xm,[te("span",km,le(o.value),1),te("div",Am,[W(ve,{disabled:!c(A),size:"small",variant:"text",onClick:me},{default:M(()=>[...Te[5]||(Te[5]=[re(" Copy ",-1)])]),_:1},8,["disabled"]),W(ve,{disabled:!r.value||c(R),size:"small",variant:"text",onClick:Ne},{default:M(()=>[...Te[6]||(Te[6]=[re(" Ctrl-C ",-1)])]),_:1},8,["disabled"]),W(ve,{disabled:!r.value,size:"small",variant:"text",onClick:c(N)},{default:M(()=>[...Te[7]||(Te[7]=[re(" Close ",-1)])]),_:1},8,["disabled","onClick"])])]),v.value||c(je)?(g(),q("p",_m,le(c(je)||v.value),1)):X("",!0)],512),[[Fi,m.value]])]),_:1})],64)):X("",!0)]),_:1},8,["class","aria-hidden"]))}},Rm=ze(Em,[["__scopeId","data-v-a3943c3a"]]),Om={__name:"Vibe64SessionTerminals",props:{codexTerminal:{default:()=>({}),type:Object},allowCodexStart:{default:!0,type:Boolean},codexReadOnly:{default:!1,type:Boolean},listenCodexWhenHidden:{default:!1,type:Boolean},codexScope:{default:"session",type:String},codexTerminalState:{default:null,type:Object},displayMode:{default:"full",type:String},commandTerminal:{default:()=>({}),type:Object},headlessCommandTerminal:{default:()=>({}),type:Object},showCommandOutput:{default:!0,type:Boolean},session:{default:null,type:Object}},emits:["codex-activity-change","codex-session-update"],setup(e,{emit:n}){const a=e,t=n,i=Q(!0),{fixDialogOpen:r,fixJob:l,fixTerminal:o,openFixCodexDialog:u}=Un(),s=f(()=>!!(a.showCommandOutput&&(a.commandTerminal.visible||a.headlessCommandTerminal.visible))),v=f(()=>!!(a.commandTerminal.visible&&!i.value));function m(p){i.value=p===!0}function h(p={}){typeof a.codexTerminal.sessionUpdate=="function"&&a.codexTerminal.sessionUpdate(p),t("codex-session-update",p)}function d(p={}){t("codex-activity-change",p)}return _e(()=>a.commandTerminal.startKey,()=>{a.commandTerminal.visible&&(i.value=!0)}),_e(()=>a.commandTerminal.visible,p=>{p||(i.value=!0)}),_e(()=>{var p;return((p=a.session)==null?void 0:p.sessionId)||""},()=>{i.value=!0}),(p,I)=>{var S;return g(),q("section",{class:Fe(["studio-ai-sessions__terminals",{"studio-ai-sessions__terminals--compact":e.displayMode==="compact","studio-ai-sessions__terminals--headless":e.displayMode==="headless"}])},[W(Rm,{class:"studio-ai-sessions__codex-terminal","allow-start":e.allowCodexStart,"display-mode":e.displayMode,"listen-when-hidden":e.listenCodexWhenHidden,"read-only":e.codexReadOnly,scope:e.codexScope,session:e.session,terminal:e.codexTerminalState,visible:e.displayMode!=="headless",onActivityChange:d,onSessionUpdate:h},null,8,["allow-start","display-mode","listen-when-hidden","read-only","scope","session","terminal","visible"]),e.displayMode!=="headless"&&s.value?(g(),q("div",{key:0,class:Fe(["studio-ai-sessions__command-overlay",{"studio-ai-sessions__command-overlay--minimized":v.value}])},[e.commandTerminal.visible?(g(),z(Da,{key:0,class:"studio-ai-sessions__command-terminal",action:e.commandTerminal.action,"action-input":e.commandTerminal.input,"ai-fix-available":"",session:e.session,"start-request-key":e.commandTerminal.startKey,onClosed:e.commandTerminal.closed,onExpandedChanged:m,onFinished:e.commandTerminal.finished,onFixRequested:c(u),onRunningChanged:e.commandTerminal.runningChanged},null,8,["action","action-input","session","start-request-key","onClosed","onFinished","onFixRequested","onRunningChanged"])):(g(),z(Po,{key:1,class:"studio-ai-sessions__command-terminal","action-id":e.headlessCommandTerminal.actionId,"action-label":e.headlessCommandTerminal.actionLabel,"ai-fix-available":"","attempted-command":e.headlessCommandTerminal.attemptedCommand,"command-preview":e.headlessCommandTerminal.commandPreview,error:e.headlessCommandTerminal.error,"exit-code":e.headlessCommandTerminal.exitCode,failed:e.headlessCommandTerminal.failed,output:e.headlessCommandTerminal.output,running:e.headlessCommandTerminal.running,"session-id":((S=e.session)==null?void 0:S.sessionId)||"",status:e.headlessCommandTerminal.status,"terminal-session-id":e.headlessCommandTerminal.terminalSessionId,title:"Autopilot command output",onFixRequested:c(u)},null,8,["action-id","action-label","attempted-command","command-preview","error","exit-code","failed","output","running","session-id","status","terminal-session-id","onFixRequested"]))],2)):X("",!0),W(jn,{modelValue:c(r),"onUpdate:modelValue":I[0]||(I[0]=_=>Vn(r)?r.value=_:null),job:c(l),terminal:c(o)},null,8,["modelValue","job","terminal"])],2)}}},is=ze(Om,[["__scopeId","data-v-7905a78f"]]),Lm={key:0,class:"text-body-2 text-medium-emphasis mb-0"},Pm={key:3,class:"studio-ai-sessions__actions"},Dm={key:2,class:"studio-ai-sessions__workflow-controls"},Nm={key:1,class:"studio-ai-sessions__actions"},Vm={key:3,class:"studio-ai-sessions__actions"},Mm={key:7,class:"text-caption text-medium-emphasis mb-0"},Bm={__name:"Vibe64SessionCurrentStep",props:{actions:{default:()=>({}),type:Object},active:{default:!0,type:Boolean},conversationLog:{default:()=>({}),type:Object},diff:{default:()=>({}),type:Object},page:{default:()=>({}),type:Object},review:{default:()=>({}),type:Object},refreshSessionData:{default:async()=>null,type:Function},session:{default:null,type:Object},stepInput:{default:()=>({}),type:Object}},setup(e){const n=e,a=f(()=>Wo(n.session,n.stepInput.interaction)),t=Q(""),i=f(()=>{var A,J;return Go({actions:((A=n.actions)==null?void 0:A.currentActions)||[],interaction:(J=n.stepInput)==null?void 0:J.interaction,session:n.session})}),r=f(()=>i.value.length>0),l=f(()=>!!(i.value.length&&i.value.every(A=>jt(A)))),o=f(()=>{var A;return!!(n.page.busy||n.stepInput.saving||(A=n.actions.runIntentCommand)!=null&&A.isRunning)}),u=f(()=>{var A,J,L;return n.active?String(((L=(J=(A=n.session)==null?void 0:A.presentation)==null?void 0:J.screen)==null?void 0:L.primaryIntentId)||""):""}),s=f(()=>d.value.map(A=>({...A,buttonColor:A.style==="primary"?"primary":void 0,buttonVariant:A.style==="primary"?"flat":"tonal",disabled:F(A),icon:P(A),loading:x(A),sourceControl:A}))),{activateControl:v,canSubmitSelectedControl:m,clearSelectedControl:h,screenControls:d,selectedControl:p,selectedControlFields:I,selectedControlValues:S,submitSelectedControl:_,updateSelectedControlValue:y}=Bo({conversationLog:f(()=>n.conversationLog),controls:i,isControlDisabled:F,onRunClientControl:Z,onRunControl:C,primaryIntentId:u,running:o}),T=f(()=>!!(n.active&&r.value&&p.value&&I.value.length));function F(A={}){return!!(o.value||A.enabled!==!0||ya(A,"disabledWhen",{diff:n.diff,review:n.review}))}function x(A={}){var L;const J=jt(A);return J?!!((L=n.actions.runActionCommand)!=null&&L.isRunning&&n.actions.activeActionId===J.id):!!(o.value||ya(A,"loadingWhen",{diff:n.diff,review:n.review}))}function P(A={}){const J=jt(A);return J&&typeof n.actions.actionIcon=="function"?n.actions.actionIcon(J):xo(A)===To.DIFF?On:A.style==="primary"?rn:zt}async function Z(A={}){var J;t.value="";try{const L=await Ma(A,{diff:n.diff,refreshSessionData:n.refreshSessionData,session:n.session,sessionId:((J=n.session)==null?void 0:J.sessionId)||""});return(L==null?void 0:L.ok)===!1?(t.value=String(L.error||"The requested control could not run."),!1):L}catch(L){return t.value=String((L==null?void 0:L.message)||L||"The requested control could not run."),!1}}async function C(A={},J={}){const L=J!=null&&J.fields&&typeof J.fields=="object"&&!Array.isArray(J.fields)?J.fields:{},se=jt(A);return se?await n.actions.runAction(se,{input:L})!==!1:Wn(A)?Z(A):await n.actions.runIntent(A,{fields:L})!==!1}async function O(A={}){const L=(A==null?void 0:A.kind)==="next"?a.value:qo(A);return!n.stepInput.visible||!L?!0:await n.stepInput.submit()}async function V(A={}){return await O(A)===!1?!1:v(A)}async function $(){return await O(p.value)===!1?!1:_()}async function b(){await O({kind:"next"})!==!1&&await n.actions.goNext()}async function E(A={}){return O(A)}async function B(){if(T.value){await $();return}a.value||await n.stepInput.submit()}const{backgroundTaskError:H,retryBackgroundTask:K,retryingBackgroundTaskId:ge,visibleBackgroundTasks:ne}=Uo({refreshSessionData:()=>n.refreshSessionData(),session:f(()=>n.session)});return(A,J)=>{var L,se,U;return g(),q(Ee,null,[c(ne).length||c(H)?(g(),z(ko,{key:0,class:"studio-ai-sessions__background-tasks",error:c(H),"retrying-task-id":c(ge),tasks:c(ne),onRetry:c(K)},null,8,["error","retrying-task-id","tasks","onRetry"])):X("",!0),e.stepInput.visible?(g(),q("form",{key:1,class:"studio-ai-sessions__step-input",onSubmit:He(B,["prevent"])},[(L=e.stepInput.interaction)!=null&&L.prompt?(g(),q("p",Lm,le(e.stepInput.interaction.prompt),1)):X("",!0),(g(!0),q(Ee,null,Ve(e.stepInput.fields,k=>(g(),q(Ee,{key:k.name},[k.kind==="textarea"?(g(),z(yn,{key:0,"auto-grow":"",class:"studio-ai-sessions__issue-request-input",disabled:e.page.busy||e.stepInput.saving,"hide-details":"auto",label:k.label,"model-value":e.stepInput.values[k.name]||"",placeholder:k.placeholder,rows:k.rows||8,variant:"outlined","onUpdate:modelValue":ee=>e.stepInput.updateValue(k.name,ee)},null,8,["disabled","label","model-value","placeholder","rows","onUpdate:modelValue"])):(g(),z(bn,{key:1,class:"studio-ai-sessions__issue-request-input",disabled:e.page.busy||e.stepInput.saving,"hide-details":"auto",label:k.label,"model-value":e.stepInput.values[k.name]||"",placeholder:k.placeholder,variant:"outlined","onUpdate:modelValue":ee=>e.stepInput.updateValue(k.name,ee)},null,8,["disabled","label","model-value","placeholder","onUpdate:modelValue"]))],64))),128)),e.stepInput.error?(g(),z(dt,{key:1,type:"warning",variant:"tonal",density:"compact"},{default:M(()=>[re(le(e.stepInput.error),1)]),_:1})):X("",!0),T.value?(g(),z(Pn,{key:2,"can-submit-selected-control":c(m),running:o.value,"selected-control":c(p),"selected-control-fields":c(I),"selected-control-values":c(S),"workflow-controls":s.value,onActivateControl:V,onCancel:c(h),onSubmit:$,onUpdateValue:c(y)},null,8,["can-submit-selected-control","running","selected-control","selected-control-fields","selected-control-values","workflow-controls","onCancel","onUpdateValue"])):(g(),q("div",Pm,[r.value?(g(),q(Ee,{key:0},[l.value?(g(),z(ve,{key:0,color:"primary",variant:"flat",disabled:e.page.busy||!e.stepInput.canSubmit,loading:e.stepInput.saving,"prepend-icon":c(rn),type:"submit"},{default:M(()=>{var k;return[re(le(((k=e.stepInput.interaction)==null?void 0:k.submitLabel)||"Submit"),1)]}),_:1},8,["disabled","loading","prepend-icon"])):X("",!0),(g(!0),q(Ee,null,Ve(s.value,k=>(g(),z(ve,{key:k.id,color:k.buttonColor,disabled:k.disabled,loading:k.loading,"prepend-icon":k.icon,title:k.disabledReason||k.label,type:"button",variant:k.buttonVariant,onClick:ee=>V(k.sourceControl||k)},{default:M(()=>[re(le(k.label),1)]),_:2},1032,["color","disabled","loading","prepend-icon","title","variant","onClick"]))),128))],64)):(g(),q(Ee,{key:1},[(se=e.actions.currentNext)!=null&&se.visible?(g(),z(ve,{key:0,class:"studio-ai-sessions__next-step-button",color:"primary",variant:"tonal",disabled:e.page.busy||e.stepInput.saving||e.actions.currentNext.enabled!==!0,loading:e.stepInput.saving||e.actions.advanceCommand.isRunning,"prepend-icon":c(Qa),title:e.actions.currentNext.disabledReason||e.actions.currentNext.label||"Next step",onClick:b},{default:M(()=>[re(le(e.actions.currentNext.label||"Next step"),1)]),_:1},8,["disabled","loading","prepend-icon","title"])):X("",!0),a.value?X("",!0):(g(),z(ve,{key:1,color:"primary",variant:a.value?"tonal":"flat",disabled:e.page.busy||!e.stepInput.canSubmit,loading:e.stepInput.saving,"prepend-icon":c(rn),type:"submit"},{default:M(()=>{var k;return[re(le(((k=e.stepInput.interaction)==null?void 0:k.submitLabel)||"Submit"),1)]}),_:1},8,["variant","disabled","loading","prepend-icon"])),(g(!0),q(Ee,null,Ve(e.actions.currentActions,k=>(g(),z(wa,{key:k.id,action:k,actions:e.actions,"before-run":E,busy:e.page.busy||e.stepInput.saving,variant:"tonal"},null,8,["action","actions","busy"]))),128))],64))]))],32)):r.value?(g(),q("div",Dm,[T.value?(g(),z(Pn,{key:0,"as-form":"","can-submit-selected-control":c(m),running:o.value,"selected-control":c(p),"selected-control-fields":c(I),"selected-control-values":c(S),"workflow-controls":s.value,onActivateControl:V,onCancel:c(h),onSubmit:$,onUpdateValue:c(y)},null,8,["can-submit-selected-control","running","selected-control","selected-control-fields","selected-control-values","workflow-controls","onCancel","onUpdateValue"])):(g(),q("div",Nm,[(g(!0),q(Ee,null,Ve(s.value,k=>(g(),z(ve,{key:k.id,color:k.buttonColor,disabled:k.disabled,loading:k.loading,"prepend-icon":k.icon,title:k.disabledReason||k.label,type:"button",variant:k.buttonVariant,onClick:ee=>V(k.sourceControl||k)},{default:M(()=>[re(le(k.label),1)]),_:2},1032,["color","disabled","loading","prepend-icon","title","variant","onClick"]))),128))]))])):(g(),q("div",Vm,[(U=e.actions.currentNext)!=null&&U.visible?(g(),z(ve,{key:0,class:"studio-ai-sessions__next-step-button",color:"primary",variant:"tonal",disabled:e.page.busy||e.actions.currentNext.enabled!==!0,loading:e.actions.advanceCommand.isRunning,"prepend-icon":c(Qa),title:e.actions.currentNext.disabledReason||e.actions.currentNext.label||"Next step",onClick:e.actions.goNext},{default:M(()=>[re(le(e.actions.currentNext.label||"Next step"),1)]),_:1},8,["disabled","loading","prepend-icon","title","onClick"])):X("",!0),e.review.acceptChangesUtilitiesVisible?(g(),z(ve,{key:1,color:"primary",variant:"flat",disabled:e.review.diffDisabled,loading:e.diff.loading,"prepend-icon":c(On),title:e.review.diffTitle,onClick:e.diff.openDialog},{default:M(()=>[...J[0]||(J[0]=[re(" Review diff ",-1)])]),_:1},8,["disabled","loading","prepend-icon","title","onClick"])):X("",!0),(g(!0),q(Ee,null,Ve(e.actions.currentActions,k=>(g(),z(wa,{key:k.id,action:k,actions:e.actions,busy:e.page.busy,variant:"flat"},null,8,["action","actions","busy"]))),128))])),e.actions.actionResultMessage?(g(),z(dt,{key:4,type:e.actions.actionResultType,variant:"tonal",density:"compact",class:"studio-ai-sessions__notice"},{default:M(()=>[re(le(e.actions.actionResultMessage),1)]),_:1},8,["type"])):X("",!0),e.actions.currentStepDisabledReason&&!r.value?(g(),z(dt,{key:5,type:"info",variant:"tonal",density:"compact",class:"studio-ai-sessions__notice"},{default:M(()=>[re(le(e.actions.currentStepDisabledReason),1)]),_:1})):X("",!0),t.value?(g(),z(dt,{key:6,type:"warning",variant:"tonal",density:"compact",class:"studio-ai-sessions__notice"},{default:M(()=>[re(le(t.value),1)]),_:1})):X("",!0),e.page.copyStatus?(g(),q("p",Mm,le(e.page.copyStatus),1)):X("",!0)],64)}}},$m=ze(Bm,[["__scopeId","data-v-45f981ff"]]),Fm={class:"studio-ai-session-facts__header"},jm={class:"studio-ai-session-facts__grid"},zm=["aria-expanded","role","tabindex","onClick","onKeydown"],Um={class:"studio-ai-session-facts__icon"},Hm={class:"studio-ai-session-facts__copy"},Wm={class:"studio-ai-session-facts__label"},qm=["href"],Km={key:1,class:"studio-ai-session-facts__value"},Gm={key:2,class:"studio-ai-session-facts__detail"},Xm={key:0,class:"studio-ai-session-facts__actions"},Qm={key:1,class:"studio-ai-session-facts__expanded"},Jm={__name:"Vibe64SessionFacts",props:{facts:{default:()=>[],type:Array},statusColor:{default:"default",type:String},statusLabel:{default:"",type:String}},emits:["copy"],setup(e,{emit:n}){const a=n,t=Q({});function i(o={}){return String(o.key||o.label||"").trim()}function r(o={}){return!!t.value[i(o)]}function l(o={}){if(!o.expandable)return;const u=i(o);u&&(t.value={...t.value,[u]:!t.value[u]})}return(o,u)=>e.facts.length?(g(),z(Tt,{key:0,rounded:"lg",border:"",class:"studio-ai-session-facts"},{default:M(()=>[te("div",Fm,[u[2]||(u[2]=te("h2",{class:"studio-ai-session-facts__title"},"Session details",-1)),W(kt,{color:e.statusColor,density:"comfortable",size:"small",variant:"tonal"},{default:M(()=>[re(le(e.statusLabel),1)]),_:1},8,["color"])]),te("div",jm,[(g(!0),q(Ee,null,Ve(e.facts,s=>(g(),q("div",{key:s.key,class:Fe(["studio-ai-session-facts__item",{"studio-ai-session-facts__item--expandable":s.expandable,"studio-ai-session-facts__item--expanded":r(s)}]),"aria-expanded":s.expandable?String(r(s)):void 0,role:s.expandable?"button":void 0,tabindex:s.expandable?0:void 0,onClick:v=>l(s),onKeydown:[Ja(He(v=>l(s),["prevent"]),["enter"]),Ja(He(v=>l(s),["prevent"]),["space"])]},[te("div",Um,[W(tt,{icon:s.icon,size:"18"},null,8,["icon"])]),te("div",Hm,[te("div",Wm,le(s.label),1),s.href?(g(),q("a",{key:0,class:"studio-ai-session-facts__value studio-ai-session-facts__link",href:s.href,target:"_blank",rel:"noreferrer",onClick:u[0]||(u[0]=He(()=>{},["stop"]))},le(s.value),9,qm)):(g(),q("div",Km,le(s.value),1)),s.detail?(g(),q("div",Gm,le(s.detail),1)):X("",!0)]),s.href||s.copyValue||s.expandable?(g(),q("div",Xm,[s.expandable?(g(),z(ve,{key:0,"aria-label":r(s)?`Collapse ${s.label}`:`Expand ${s.label}`,icon:r(s)?c(gn):c(Mt),size:"x-small",variant:"text",onClick:He(v=>l(s),["stop"])},null,8,["aria-label","icon","onClick"])):X("",!0),s.href?(g(),z(ve,{key:1,href:s.href,target:"_blank",rel:"noreferrer",icon:c(ca),size:"x-small",variant:"text",onClick:u[1]||(u[1]=He(()=>{},["stop"]))},null,8,["href","icon"])):X("",!0),s.copyValue?(g(),z(ve,{key:2,icon:c(Bi),size:"x-small",variant:"text",onClick:He(v=>a("copy",s.copyValue,s.label),["stop"])},null,8,["icon","onClick"])):X("",!0)])):X("",!0),s.expandable&&r(s)?(g(),q("div",Qm,[te("pre",null,le(s.expandedValue),1)])):X("",!0)],42,zm))),128))])]),_:1})):X("",!0)}},Ym=ze(Jm,[["__scopeId","data-v-d95ac10b"]]),Zm={class:"studio-ai-session-timeline"},ev=["title"],tv={class:"studio-ai-session-timeline__step-icon"},nv={class:"studio-ai-session-timeline__step-copy"},av={class:"studio-ai-session-timeline__step-title"},iv={key:0,class:"studio-ai-session-timeline__step-description"},ov={key:1,class:"studio-ai-session-timeline__done-actions"},sv={key:2,class:"studio-ai-session-timeline__step-action"},lv={__name:"Vibe64SessionTimeline",props:{busy:{default:!1,type:Boolean},steps:{default:()=>[],type:Array}},emits:["rewind"],setup(e,{emit:n}){const a=e,t=n,i=Q({});function r(s={}){return!!i.value[s.id]}function l(s={}){a.busy||!s.canExpand||(i.value={...i.value,[s.id]:!i.value[s.id]})}function o(s={}){return!!((s.current||r(s))&&s.description)}function u(s={}){return s.state==="done"?Ki:s.state==="current"?Gi:s.state==="blocked"?Ws:Xi}return(s,v)=>(g(),q("div",Zm,[(g(!0),q(Ee,null,Ve(e.steps,m=>(g(),q("div",{key:m.id,class:Fe(["studio-ai-session-timeline__step",`studio-ai-session-timeline__step--${m.state}`]),title:m.title||void 0},[te("div",tv,[W(tt,{icon:u(m),size:"18"},null,8,["icon"])]),te("div",nv,[te("div",av,[te("span",null,le(m.index+1)+". "+le(m.label),1),m.canExpand?(g(),z(ve,{key:0,icon:r(m)?c(gn):c(Mt),title:r(m)?"Collapse step details":"Expand step details","aria-label":"Toggle completed step details",class:"studio-ai-session-timeline__done-toggle",density:"compact",disabled:e.busy,size:"x-small",variant:"text",onClick:He(h=>l(m),["stop"])},null,8,["icon","title","disabled","onClick"])):X("",!0),(g(!0),q(Ee,null,Ve(m.badges,h=>(g(),z(kt,{key:h.label,color:h.color,"prepend-icon":h.icon||void 0,size:"x-small",title:h.title||void 0,variant:"tonal"},{default:M(()=>[re(le(h.label),1)]),_:2},1032,["color","prepend-icon","title"]))),128))]),o(m)?(g(),q("p",iv,le(m.description),1)):X("",!0),r(m)&&m.canRewind?(g(),q("div",ov,[W(ve,{color:"error",density:"compact",size:"small",variant:"tonal",disabled:e.busy,"prepend-icon":c(Tn),title:`Rewind to ${m.rewindLabel}`,"aria-label":`Rewind to ${m.rewindLabel}`,onClick:h=>t("rewind",m)},{default:M(()=>[...v[0]||(v[0]=[re(" Rewind here ",-1)])]),_:1},8,["disabled","prepend-icon","title","aria-label","onClick"])])):X("",!0),m.current?(g(),q("div",sv,[un(s.$slots,"current-step",{step:m},void 0)])):X("",!0)])],10,ev))),128))]))}},rv=ze(lv,[["__scopeId","data-v-354e6555"]]),uv={class:"studio-ai-sessions__main"},cv={__name:"Vibe64SessionWorkspace",props:{actions:{default:()=>({}),type:Object},active:{default:!0,type:Boolean},conversationLog:{default:()=>({}),type:Object},dialogs:{default:()=>({}),type:Object},page:{default:()=>({}),type:Object},reportPreview:{default:()=>({}),type:Object},review:{default:()=>({}),type:Object},refreshSessionData:{default:async()=>null,type:Function},humanInputResponsePreview:{default:()=>({}),type:Object},selection:{default:()=>({}),type:Object},stepInput:{default:()=>({}),type:Object},timeline:{default:()=>({}),type:Object}},setup(e){return(n,a)=>(g(),q("section",uv,[W(rv,{busy:e.page.busy,steps:e.timeline.steps,onRewind:e.timeline.rewindToStep},{"current-step":M(()=>[W($m,{actions:e.actions,active:e.active,"conversation-log":e.conversationLog,diff:e.dialogs.diff,page:e.page,"refresh-session-data":e.refreshSessionData,review:e.review,session:e.selection.selectedSession,"step-input":e.stepInput},null,8,["actions","active","conversation-log","diff","page","refresh-session-data","review","session","step-input"])]),_:1},8,["busy","steps","onRewind"]),W(Ym,{class:"studio-ai-sessions__facts",facts:e.selection.facts,"status-color":e.selection.statusColor(e.selection.selectedSession.status),"status-label":e.selection.statusLabel(e.selection.selectedSession.status),onCopy:e.page.copyText},null,8,["facts","status-color","status-label","onCopy"]),e.reportPreview.visible?(g(),z(Ln,{key:0,class:"studio-ai-sessions__report",error:e.reportPreview.error,loading:e.reportPreview.loading,text:e.reportPreview.text},null,8,["error","loading","text"])):X("",!0),e.humanInputResponsePreview.visible?(g(),z(Ln,{key:1,class:"studio-ai-sessions__report","empty-text":"Codex response is not ready yet.",error:e.humanInputResponsePreview.error,loading:e.humanInputResponsePreview.loading,text:e.humanInputResponsePreview.text,"title-icon":c(xt),title:"Codex"},null,8,["error","loading","text","title-icon"])):X("",!0)]))}},dv=ze(cv,[["__scopeId","data-v-2a770d1c"]]);function sn(e=""){return{artifactReadiness:{},ok:!0,sessionId:String(e||"")}}function fv({active:e=!0,readReadiness:n=Mr,sessionId:a=()=>""}={}){const t=Q(sn()),i=Q("");let r=null,l="";function o(){return String(c(a)||"").trim()}function u(){return c(e)!==!1}function s(){var d;(d=r==null?void 0:r.close)==null||d.call(r),r=null,l=""}function v(d={}){const p=String(d.sessionId||o());p===o()&&(t.value={...sn(p),...d,sessionId:p})}async function m(){const d=o();if(!d||!u())return t.value=sn(),t.value;const p=await n(d);return v(p),p}function h(){const d=o();if(!d||!u())return s(),t.value=sn(),!1;if(r&&l===d)return!0;if(s(),i.value="",t.value=sn(d),typeof EventSource!="function")return m().catch(S=>{i.value=String((S==null?void 0:S.message)||S||"Artifact readiness could not be read.")}),!1;const p=new EventSource(hr(d),{withCredentials:!0});r=p,l=d;const I=()=>p===r;return p.addEventListener("artifact-readiness.updated",S=>{I()&&(i.value="",v(ni(S)))}),p.addEventListener("artifact-readiness.error",S=>{I()&&(i.value=ni(S).error||"Artifact readiness stream failed.")}),p.onerror=()=>{I()&&(i.value="Artifact readiness stream disconnected.")},!0}return _e(()=>[o(),u()?"active":"inactive"].join("|"),h,{immediate:!0}),mt(s),{closeStream:s,readiness:t,refresh:m,startStream:h,streamError:i}}function mv(e=""){return String(e||"").trim()}function vv(e=""){return String(e||"").trim()}function pv(e="",n="",a=""){const t=wl(e,n);return a?`${t}?previewId=${encodeURIComponent(a)}`:t}function gv(){const e=Zt(),n=Q(""),a=Q(""),t=f(()=>e.api(nt,{surface:Xe})),i=Bn({enabled:!1,fallbackLoadError:"Artifact preview could not be loaded.",path:f(()=>a.value?pv(t.value,a.value,n.value):""),queryKey:f(()=>Sl(Xe,it,a.value,n.value))});async function r(l="",o=""){const u=mv(l),s=vv(o);if(a.value=u,n.value=s,!a.value||!n.value)return{error:"Vibe64 session id and artifact preview id are required.",ok:!1};await qe();const v=await i.reload();return(v==null?void 0:v.data)||i.data.value||{}}return{artifactsLoadError:i.loadError,artifactsLoading:i.isLoading,readArtifactPreview:r}}function os(e={},n="Vibe64 request failed."){var a,t;return String(((t=(a=e==null?void 0:e.errors)==null?void 0:a[0])==null?void 0:t.message)||(e==null?void 0:e.error)||n)}function bv(e={}){return Object.entries(e||{}).sort(([n],[a])=>n.localeCompare(a)).map(([n,a])=>[n,(a==null?void 0:a.nonEmpty)===!0?"ready":"missing",String((a==null?void 0:a.fingerprint)||"")].join(":")).join("|")}function ss({active:e=!0,artifactReadiness:n=null,loadErrorMessage:a="Artifact could not be loaded.",previewId:t="",session:i}={}){const r=gv(),l=Q(""),o=Q("");let u=0;const s=f(()=>Ke(i)||null),v=f(()=>Ke(n)||{}),m=f(()=>{var _;return bv({...(_=s.value)==null?void 0:_.artifactReadiness,...v.value})}),h=f(()=>r.artifactsLoading.value),d=f(()=>{var _;return!!(Ke(e)!==!1&&((_=s.value)!=null&&_.sessionId)&&t)}),p=f(()=>!!(h.value||l.value||o.value)),I=f(()=>{var _,y;return[Ke(e)===!1?"inactive":"active",((_=s.value)==null?void 0:_.sessionId)||"",((y=s.value)==null?void 0:y.currentStep)||"",t,m.value].join(":")});async function S(){const _=u+1;if(u=_,l.value="",o.value="",!!d.value)try{const y=await r.readArtifactPreview(s.value.sessionId,t);if(_!==u)return;if((y==null?void 0:y.ok)===!1){l.value=os(y,a);return}o.value=String((y==null?void 0:y.text)||"").trim()}catch(y){_===u&&(l.value=String((y==null?void 0:y.message)||y||a))}}return _e(I,()=>{S()},{flush:"post",immediate:!0}),{error:l,loading:h,text:o,visible:p}}const hv="ai_response";function yv(e={}){return ss({...e,loadErrorMessage:"AI response could not be loaded.",previewId:hv})}function Pi(e={}){if(!e||typeof e!="object"||Array.isArray(e))return null;const n=String(e.role||"").trim(),a=String(e.text||"").trim();return!n||!a?null:{at:String(e.at||"").trim(),role:n,text:a}}function Sv(e={},n=0){if(!e||typeof e!="object"||Array.isArray(e))return null;const a=Pi(e.user),t=Pi(e.assistant);return!a&&!t?null:{assistant:t,messages:[a,t].filter(Boolean),turnId:String(e.turnId||n+1).trim(),user:a}}function wv(e={},n={}){const t=(Array.isArray(e==null?void 0:e.conversationLog)?e.conversationLog:[]).map((r,l)=>Sv(r,l)).filter(Boolean),i=n.pending===!0?t.length-1:-1;return t.map((r,l)=>l===i&&r.user&&!r.assistant?{...r,pending:!0}:r)}function Cv(e={}){var a,t,i;const n=e&&typeof e=="object"&&!Array.isArray(e)?e:{};return String(((a=n.stepMachine)==null?void 0:a.status)||((i=(t=n.presentation)==null?void 0:t.step)==null?void 0:i.status)||"").trim()==="awaiting_agent_result"}function Iv({active:e=!0,session:n}={}){const a=Zt(),t=f(()=>Ke(n)||null),i=f(()=>{var v;return String(((v=t.value)==null?void 0:v.sessionId)||"").trim()}),r=f(()=>!!(Ke(e)!==!1&&i.value)),l=f(()=>a.api(nt,{surface:Xe})),o=Bn({enabled:r,fallbackLoadError:"Conversation history could not be loaded.",path:f(()=>i.value?Il(l.value,i.value):""),queryKey:f(()=>{var v,m;return[...Cl(Xe,it,i.value),String(((v=t.value)==null?void 0:v.revision)||""),String(((m=t.value)==null?void 0:m.stepRevision)||"")]}),readMethod:"GET",refreshOnPull:!0,realtime:{event:ga,matches:({payload:v={}}={})=>{const m=String(v.sessionId||v.entityId||"").trim();return!!m&&m===i.value}}}),u=f(()=>wv(o.data.value||{},{pending:Cv(t.value)})),s=f(()=>!!(o.isLoading.value||o.loadError.value||u.value.length));return{error:o.loadError,loading:o.isLoading,reload:o.reload,turns:u,visible:s}}function Tv(e={}){const n=String((e==null?void 0:e.name)||"").trim();return n?{kind:String(e.kind||"text").trim()==="textarea"?"textarea":"text",label:String(e.label||n).trim(),name:n,placeholder:String(e.placeholder||"").trim(),required:e.required!==!1,requiredMessage:String(e.requiredMessage||"").trim()}:null}function fn(e=[]){return(Array.isArray(e)?e:[]).map(Tv).filter(Boolean)}function xv(e=[]){return Object.fromEntries(fn(e).map(n=>[n.name,""]))}function kv(e=[],n={}){return fn(e).some(a=>a.required&&!String((n==null?void 0:n[a.name])||"").trim())}function Av(e={}){const n=String((e==null?void 0:e.message)||"");return/^Rendered\b/u.test(n)?"":n}function _v(e={}){return{fields:e!=null&&e.fields&&typeof e.fields=="object"&&!Array.isArray(e.fields)?e.fields:{},stepId:String((e==null?void 0:e.stepId)||""),stepStatus:String((e==null?void 0:e.stepStatus)||"")}}function Di(e={}){return String(e.dispatchRoute||cn.SESSION_ACTION).trim()}function Ev(e={}){return(e==null?void 0:e.refreshRecommended)===!0||String((e==null?void 0:e.operationOutcome)||"")==="stale_operation"}function Rv({clearCopyStatus:e=()=>null,commandBusy:n=()=>!1,commandTerminal:a,onRewindSuccess:t=()=>null,openInputDialog:i=()=>null,refreshSessionData:r,selectedSession:l,selectedSessionId:o,sessionsApiPath:u}={}){const s=Q(""),v=Q(!1),m=Q(""),h=Q("success"),d=Q(!1),p=Q(""),I=Q("success"),S=pt({access:"never",apiSuffix:nt,buildRawPayload:(j,{context:D})=>Tl(D),buildCommandOptions:(j,{context:D})=>({method:"POST",options:ct,path:xl(u.value,D==null?void 0:D.sessionId,D==null?void 0:D.actionId)}),fallbackRunError:"Vibe64 action could not run.",messages:{error:"Vibe64 action could not run.",success:"Vibe64 action completed."},onRunSuccess:async(j,{context:D}={})=>{var G;ce("client.sessionActions.runAction.success",{...Oe(j||{}),actionId:String((D==null?void 0:D.actionId)||""),actionResultStatus:String(((G=j==null?void 0:j.actionResult)==null?void 0:G.status)||""),advanceOnSuccess:(D==null?void 0:D.advanceOnSuccess)===!0}),await r()},ownershipFilter:it,placementSource:"vibe64.sessions.action",suppressSuccessMessage:!0,surfaceId:Xe,writeMethod:"POST"}),_=pt({access:"never",apiSuffix:nt,buildRawPayload:(j,{context:D})=>_v(D),buildCommandOptions:(j,{context:D})=>({method:"POST",options:ct,path:kl(u.value,D==null?void 0:D.sessionId,D==null?void 0:D.intentId)}),fallbackRunError:"Vibe64 intent could not run.",messages:{error:"Vibe64 intent could not run.",success:"Vibe64 intent completed."},onRunSuccess:async(j,{context:D}={})=>{var G;ce("client.sessionActions.runIntent.success",{...Oe(j||{}),actionResultStatus:String(((G=j==null?void 0:j.actionResult)==null?void 0:G.status)||""),intentId:String((D==null?void 0:D.intentId)||""),requestedStepId:String((D==null?void 0:D.stepId)||""),requestedStepStatus:String((D==null?void 0:D.stepStatus)||"")}),await r()},ownershipFilter:it,placementSource:"vibe64.sessions.intent",suppressSuccessMessage:!0,surfaceId:Xe,writeMethod:"POST"}),y=Je({isRunning:v,message:m,messageType:h,run:ge}),T=Je({isRunning:d,message:p,messageType:I,run:A}),F=pt({access:"never",apiSuffix:nt,buildRawPayload:(j,{context:D})=>({stepId:String((D==null?void 0:D.stepId)||"")}),buildCommandOptions:(j,{context:D})=>({method:"POST",options:ct,path:xn(u.value,D==null?void 0:D.sessionId,"/rewind")}),fallbackRunError:"Vibe64 session could not rewind.",messages:{error:"Vibe64 session could not rewind.",success:"Vibe64 session rewound."},onRunSuccess:async()=>{t(),await r()},ownershipFilter:it,placementSource:"vibe64.sessions.rewind",surfaceId:Xe,writeMethod:"POST"}),x=f(()=>{var j;return Array.isArray((j=l.value)==null?void 0:j.actions)?l.value.actions.filter(D=>D.visible!==!1):[]}),P=f(()=>{var j;return((j=l.value)==null?void 0:j.next)||null}),Z=f(()=>x.value),C=f(()=>!!$n(l.value||{})),O=f(()=>{var D,G;return(D=l.value)!=null&&D.actionResult?l.value.actionResult:(Array.isArray((G=l.value)==null?void 0:G.actionResults)?l.value.actionResults:[]).filter(be=>{var pe;return be.stepId===((pe=l.value)==null?void 0:pe.currentStep)}).slice().sort((be,pe)=>String(be.at||"").localeCompare(String(pe.at||""))).at(-1)||null}),V=f(()=>Av(O.value)),$=f(()=>{var D;const j=String(((D=O.value)==null?void 0:D.status)||"");return j==="completed"?"success":j==="blocked"||j==="failed"?"warning":"info"}),b=f(()=>_l(Z.value,P.value)),E=f(()=>{var D;return(Array.isArray((D=l.value)==null?void 0:D.intents)?l.value.intents:[]).some(G=>_u(G,ha.OPEN_DIFF)&&G.enabled!==!1)}),B=f(()=>!!(S.isRunning||_.isRunning||y.isRunning||T.isRunning||F.isRunning)),H=f(()=>$t(S,"error")||$t(_,"error")||$t(y,"error")||$t(T,"error")||$t(F,"error")||"");function K(){s.value=""}async function ge({sessionId:j=c(o)}={}){const D=String(j||"").trim();if(!D||v.value)return null;v.value=!0,m.value="",h.value="success";try{const G=await ei.request(xn(u.value,D,"/advance"),{method:"POST",...ct});return ce("client.sessionActions.advanceCommand.success",{...Oe(G||l.value||{}),selectedSessionId:String(c(o)||"")}),m.value="Vibe64 session advanced.",await r(),G}catch(G){if(Ev(G))return ce("client.sessionActions.advanceCommand.stale",{...Oe(l.value||{}),code:String((G==null?void 0:G.code)||""),error:ft(G),selectedSessionId:String(c(o)||""),sessionId:D,status:(G==null?void 0:G.status)??null}),m.value="",await r(),{code:String((G==null?void 0:G.code)||""),ok:!1,stale:!0,status:(G==null?void 0:G.status)??null};throw h.value="error",m.value=String((G==null?void 0:G.message)||"Vibe64 session could not advance."),G}finally{v.value=!1}}async function ne({actionId:j="",advanceOnSuccess:D=!1,input:G={},sessionId:be=c(o)}={}){var we;const pe=String(j||"").trim(),Ie=String(be||"").trim(),Le=St(n);if(!Ie||!pe||Le){ce("client.sessionActions.runActionById.skipped",{actionId:pe,busy:Le,reason:Ie?pe?"busy":"missing_action":"missing_session",sessionId:Ie});return}const je=Date.now();ce("client.sessionActions.runActionById.start",{...Oe(l.value||{}),actionId:pe,advanceOnSuccess:D===!0,inputKeys:Object.keys(G&&typeof G=="object"&&!Array.isArray(G)?G:{}).sort(),sessionId:Ie}),e(),s.value=pe;try{const Se=await S.run({actionId:pe,advanceOnSuccess:D===!0,input:G&&typeof G=="object"&&!Array.isArray(G)?G:{},sessionId:Ie});return ce("client.sessionActions.runActionById.done",{...Oe(Se||{}),actionId:pe,actionResultStatus:String(((we=Se==null?void 0:Se.actionResult)==null?void 0:we.status)||""),durationMs:$e(je),ok:(Se==null?void 0:Se.ok)!==!1,sessionId:Ie}),Se}catch(Se){throw ce("client.sessionActions.runActionById.error",{actionId:pe,durationMs:$e(je),error:ft(Se),sessionId:Ie}),Se}finally{s.value=""}}async function A({sessionId:j=c(o)}={}){const D=String(j||"").trim();if(!D||d.value)return null;d.value=!0,p.value="",I.value="success";try{const G=await ei.request(xn(u.value,D,"/recover-stuck-step"),{method:"POST",...ct});return ce("client.sessionActions.recoverStuckStepCommand.success",{...Oe(G||l.value||{}),selectedSessionId:String(c(o)||"")}),p.value="Vibe64 session step recovered.",await r(),G}catch(G){throw I.value="error",p.value=String((G==null?void 0:G.message)||"Vibe64 session step could not be recovered."),G}finally{d.value=!1}}async function J({sessionId:j=c(o)}={}){const D=String(j||"").trim(),G=St(n);if(!D||G)return ce("client.sessionActions.recoverStuckStep.skipped",{...Oe(l.value||{}),busy:G,reason:D?"busy":"missing_session",sessionId:D}),null;const be=Date.now();ce("client.sessionActions.recoverStuckStep.start",{...Oe(l.value||{}),sessionId:D});try{const pe=await T.run({sessionId:D});return ce("client.sessionActions.recoverStuckStep.done",{...Oe(pe||l.value||{}),durationMs:$e(be),ok:(pe==null?void 0:pe.ok)!==!1,sessionId:D}),a.clear(),pe}catch(pe){throw ce("client.sessionActions.recoverStuckStep.error",{durationMs:$e(be),error:ft(pe),sessionId:D}),pe}}async function L({fields:j={},intentId:D="",sessionId:G=c(o),stepId:be=(Ie=>(Ie=l.value)==null?void 0:Ie.currentStep)()||"",stepStatus:pe=(je=>(je=(Le=>(Le=l.value)==null?void 0:Le.stepMachine)())==null?void 0:je.status)()||""}={}){const we=String(D||"").trim(),Se=String(G||"").trim(),Re=St(n);if(!Se||!we||Re){ce("client.sessionActions.runIntentById.skipped",{busy:Re,intentId:we,reason:Se?we?"busy":"missing_intent":"missing_session",sessionId:Se});return}const Ue=Date.now();ce("client.sessionActions.runIntentById.start",{...Oe(l.value||{}),fieldKeys:Object.keys(j&&typeof j=="object"&&!Array.isArray(j)?j:{}).sort(),intentId:we,sessionId:Se,stepId:String(be||""),stepStatus:String(pe||"")}),e(),s.value=we;try{const Pe=await _.run({fields:j&&typeof j=="object"&&!Array.isArray(j)?j:{},intentId:we,sessionId:Se,stepId:be,stepStatus:pe});return ce("client.sessionActions.runIntentById.done",{...Oe(Pe||{}),durationMs:$e(Ue),intentId:we,ok:(Pe==null?void 0:Pe.ok)!==!1,sessionId:Se}),Pe}catch(Pe){throw ce("client.sessionActions.runIntentById.error",{durationMs:$e(Ue),error:ft(Pe),intentId:we,sessionId:Se}),Pe}finally{s.value=""}}async function se({sessionId:j=c(o)}={}){var pe,Ie;const D=String(j||"").trim(),G=St(n);if(!D||G||((pe=P.value)==null?void 0:pe.enabled)!==!0){ce("client.sessionActions.advanceSession.skipped",{...Oe(l.value||{}),busy:G,nextDisabledReason:String(((Ie=P.value)==null?void 0:Ie.disabledReason)||""),reason:D?G?"busy":"next_disabled":"missing_session",sessionId:D});return}const be=Date.now();ce("client.sessionActions.advanceSession.start",{...Oe(l.value||{}),sessionId:D});try{const Le=await y.run({sessionId:D});return ce("client.sessionActions.advanceSession.done",{...Oe(Le||l.value||{}),durationMs:$e(be),ok:(Le==null?void 0:Le.ok)!==!1,sessionId:D}),(Le==null?void 0:Le.stale)!==!0&&a.clear(),Le}catch(Le){throw ce("client.sessionActions.advanceSession.error",{durationMs:$e(be),error:ft(Le),sessionId:D}),Le}}async function U(j={},D={}){const G=St(n);if(!c(o)||!j.id||G||j.enabled!==!0){ce("client.sessionActions.runAction.skipped",{actionId:String(j.id||""),actionEnabled:j.enabled===!0,busy:G,reason:c(o)?j.id?G?"busy":"action_disabled":"missing_action":"missing_session",sessionId:String(c(o)||"")});return}const be=D.input&&typeof D.input=="object"&&!Array.isArray(D.input)?D.input:null;if(!be&&fn(j.inputFields).length>0){i(j);return}if(Di(j)===cn.EXTERNAL_LINK){ee(j);return}if(Di(j)===cn.COMMAND_TERMINAL){ce("client.sessionActions.runAction.commandTerminal.start",{actionId:String(j.id||""),sessionId:String(c(o)||"")}),a.start(j);return}return ne({actionId:j.id,advanceOnSuccess:j.advanceOnSuccess===!0,input:be||{}})}async function k(j={},D={}){const G=St(n);if(!c(o)||!j.id||G||j.enabled!==!0){ce("client.sessionActions.runIntent.skipped",{busy:G,intentEnabled:j.enabled===!0,intentId:String(j.id||""),reason:c(o)?j.id?G?"busy":"intent_disabled":"missing_intent":"missing_session",sessionId:String(c(o)||"")});return}if(!Wn(j))return L({fields:D.fields,intentId:j.id})}function ee(j={}){var be,pe;const D=String(j.hrefMetadata||"").trim(),G=D?String(((pe=(be=l.value)==null?void 0:be.metadata)==null?void 0:pe[D])||""):"";G&&typeof window<"u"&&window.open(G,"_blank","noopener")}async function ye(){await se()}async function ue(j={}){const D=String(j.rewindStepId||j.id||"");!c(o)||St(n)||j.canRewind!==!0||!D||await F.run({sessionId:c(o),stepId:D})}return{acceptChangesUtilitiesVisible:E,actionIcon:Al,actionResultMessage:V,actionResultType:$,activeActionId:s,advanceSession:se,advanceCommand:y,busy:B,clear:K,currentActions:Z,currentNext:P,currentStepDisabledReason:b,error:H,goNext:ye,recoverStuckStep:J,recoverStuckStepCommand:T,rewindCommand:F,rewindToStep:ue,runAction:U,runActionById:ne,runActionCommand:S,runIntent:k,runIntentById:L,runIntentCommand:_,worktreeReady:C}}function Ov(){const e=Q("");function n(){e.value=""}function a(i=""){e.value=String(i||"")}async function t(i,r="Value"){try{await oo(i),e.value=`${r} copied.`}catch(l){e.value=String((l==null?void 0:l.message)||l||"Copy failed.")}}return{clearCopyStatus:n,copyStatus:e,copyText:t,setCopyStatus:a}}function Lv({currentNext:e=()=>null,refreshSessionData:n,selectedSession:a,selectedSessionId:t}={}){const i=Q(null),r=Q({}),l=Q(!1),o=Q(""),u=Q(0),s=f(()=>!!(i.value||l.value));function v(){var S;(i.value||l.value)&&ce("client.sessionCommandTerminal.clear",{actionId:String(((S=i.value)==null?void 0:S.id)||""),running:l.value,sessionId:String(c(t)||"")}),i.value=null,r.value={},l.value=!1,o.value="",u.value=0}function m(S={}){const _=Date.now();ce("client.sessionCommandTerminal.start",{...Oe(Ke(a)||{}),actionId:String(S.id||""),advanceOnSuccess:S.advanceOnSuccess===!0,sessionId:String(c(t)||"")}),i.value=S,r.value={},u.value=_,o.value=`${c(t)}:${S.id}:${_}`}async function h({actionId:S="",exitCode:_=null}={}){const y=u.value||Date.now();ce("client.sessionCommandTerminal.settled.start",{actionId:String(S||""),exitCode:_,sessionId:String(c(t)||"")}),l.value=!1,await n(),await qe();const T=Ke(e);ce("client.sessionCommandTerminal.settled.afterRefresh",{...Oe(Ke(a)||{}),actionId:String(S||""),durationMs:$e(y),exitCode:_,nextEnabled:(T==null?void 0:T.enabled)===!0,nextVisible:(T==null?void 0:T.visible)===!0,sessionId:String(c(t)||"")}),u.value=0}function d(){var S;ce("client.sessionCommandTerminal.closed",{actionId:String(((S=i.value)==null?void 0:S.id)||""),sessionId:String(c(t)||"")}),v()}async function p(S={}){if(S.sessionId&&S.sessionId!==c(t)){ce("client.sessionCommandTerminal.finished.ignored",{actionId:String(S.actionId||""),eventSessionId:String(S.sessionId||""),selectedSessionId:String(c(t)||"")});return}ce("client.sessionCommandTerminal.finished",{actionId:String(S.actionId||""),eventSessionId:String(S.sessionId||""),exitCode:S.exitCode??null,selectedSessionId:String(c(t)||"")}),await h({actionId:S.actionId,exitCode:S.exitCode})}async function I(S){var y,T;const _=l.value;l.value=!!S,ce("client.sessionCommandTerminal.runningChanged",{actionId:String(((y=i.value)==null?void 0:y.id)||""),nextRunning:l.value,sessionId:String(c(t)||""),wasRunning:_}),!(l.value||!_)&&await h({actionId:((T=i.value)==null?void 0:T.id)||""})}return{action:i,clear:v,closed:d,finished:p,input:r,running:l,runningChanged:I,start:m,startKey:o,visible:s}}function Pv({canOpen:e,selectedSessionId:n}={}){const a=Q(!1),t=Q(""),i=Q(!1),r=Q(null);async function l(){if(!(!c(n)||!St(e))){a.value=!0,t.value="",i.value=!0,r.value=null;try{const s=await Ar(c(n));r.value=s,(s==null?void 0:s.ok)===!1&&(t.value=os(s,"Diff inspection failed."))}catch(s){t.value=String((s==null?void 0:s.message)||s||"Diff inspection failed.")}finally{i.value=!1}}}function o(){a.value=!1}function u(){a.value=!1,t.value="",r.value=null}return{clearDiffDialog:u,closeDiffDialog:o,diffDialogOpen:a,diffError:t,diffLoading:i,diffPayload:r,openDiffDialog:l}}function Dv({activeActionId:e,canOpenDiff:n=()=>!1,clearSelectedSession:a,commandBusy:t=()=>!1,isSelectedSessionClosed:i,onAbandoned:r=()=>null,refreshSessionData:l,runActionCommand:o,selectedSessionId:u,selectedSessionTitle:s,sessionsApiPath:v}={}){const m=Q(!1),h=Q(""),d=Q(""),p=Q(null),I=Q(""),S=Q(!1),_=Q(!1),y=Q({}),{clearDiffDialog:T,closeDiffDialog:F,diffDialogOpen:x,diffError:P,diffLoading:Z,diffPayload:C,openDiffDialog:O}=Pv({canOpen:n,selectedSessionId:u}),V=pt({access:"never",apiSuffix:nt,buildCommandOptions:(k,{context:ee})=>({method:"POST",options:ct,path:xn(v.value,ee==null?void 0:ee.sessionId,"/abandon")}),fallbackRunError:"Vibe64 session could not be abandoned.",messages:{error:"Vibe64 session could not be abandoned.",success:"Vibe64 session abandoned."},onRunSuccess:async(k,{context:ee}={})=>{(!(ee!=null&&ee.sessionId)||ee.sessionId===c(u))&&a(),r(),await l()},ownershipFilter:it,placementSource:"vibe64.sessions.abandon",surfaceId:Xe,writeMethod:"POST"}),$=f(()=>{var k;return fn((k=p.value)==null?void 0:k.inputFields)}),b=f(()=>{var k;return String(((k=p.value)==null?void 0:k.label)||"Provide details")}),E=f(()=>_.value||St(t)||$.value.length<1?!0:kv($.value,y.value)),B=f(()=>!!(V.isRunning||_.value));function H(){m.value=!1,h.value="",d.value=""}function K(){!c(u)||V.isRunning||c(i)||(h.value=c(u),d.value=c(s),m.value=!0)}function ge(){V.isRunning||H()}async function ne(){!h.value||V.isRunning||await V.run({sessionId:h.value})}function A(k={}){const ee=fn(k.inputFields);p.value=k,I.value="",y.value=xv(ee),S.value=!0}function J(){_.value||(p.value=null,I.value="",S.value=!1,y.value={})}async function L(){const k=p.value;if(!(!c(u)||!(k!=null&&k.id)||E.value)){I.value="",_.value=!0,e.value=k.id;try{await o.run({actionId:k.id,advanceOnSuccess:k.advanceOnSuccess===!0,input:{...y.value},sessionId:c(u)}),S.value=!1,p.value=null,y.value={}}catch(ee){I.value=String((ee==null?void 0:ee.message)||ee||"Action failed.")}finally{_.value=!1,e.value=""}}}function se(){p.value=null,I.value="",S.value=!1,_.value=!1,y.value={}}function U(){H(),T(),se()}return{abandon:{cancel:ge,command:V,confirm:ne,open:m,request:K,sessionId:h,sessionTitle:d},busy:B,clear:U,diff:{close:F,error:P,loading:Z,open:x,openDialog:O,payload:C},input:{close:J,error:I,fields:$,open:S,openDialog:A,saveDisabled:E,submit:L,submitting:_,title:b,values:y}}}function Nv({sessionData:e}={}){const{clearSelectedSession:n,createSessionCommand:a,isSelectedSessionClosed:t,pageLoading:i,refreshSessionData:r,selectedSession:l,selectedSessionId:o,selectedSessionTitle:u,selectSessionId:s,sessionList:v,sessionsApiPath:m}=e,h=Ov(),d={actions:null,commandTerminal:null,dialogs:null},p=f(()=>{var F,x,P;return!!(a.isRunning||(F=d.actions)!=null&&F.busy.value||(x=d.commandTerminal)!=null&&x.running.value||(P=d.dialogs)!=null&&P.busy.value)}),I=f(()=>{var F,x;return((F=d.dialogs)==null?void 0:F.diff.loading.value)||!((x=d.actions)!=null&&x.worktreeReady.value)}),S=f(()=>{var F;return(F=d.actions)!=null&&F.worktreeReady.value?"Review changes in the session worktree.":"Create the worktree before reviewing changes."});function _(){var F,x,P;(F=d.actions)==null||F.clear(),(x=d.commandTerminal)==null||x.clear(),(P=d.dialogs)==null||P.clear()}d.commandTerminal=Lv({currentNext:()=>{var F;return(F=d.actions)==null?void 0:F.currentNext.value},refreshSessionData:r,selectedSession:l,selectedSessionId:o}),d.actions=Rv({clearCopyStatus:h.clearCopyStatus,commandBusy:()=>p.value,commandTerminal:d.commandTerminal,onRewindSuccess:_,openInputDialog:F=>{var x;return(x=d.dialogs)==null?void 0:x.input.openDialog(F)},refreshSessionData:r,selectedSession:l,selectedSessionId:o,sessionsApiPath:m}),d.stepInput=Ho({onSaved:r,session:l}),d.dialogs=Dv({activeActionId:d.actions.activeActionId,canOpenDiff:()=>!I.value,clearSelectedSession:n,commandBusy:()=>p.value,isSelectedSessionClosed:t,onAbandoned:_,refreshSessionData:r,runActionCommand:d.actions.runActionCommand,selectedSessionId:o,selectedSessionTitle:u,sessionsApiPath:m});const y=f(()=>v.loadError||$t(a,"error")||d.actions.error.value||$t(d.dialogs.abandon.command,"error")||"");function T(F=""){_(),s(F)}return{actions:{actionIcon:d.actions.actionIcon,actionResultMessage:d.actions.actionResultMessage,actionResultType:d.actions.actionResultType,activeActionId:d.actions.activeActionId,advanceSession:d.actions.advanceSession,advanceCommand:d.actions.advanceCommand,currentActions:d.actions.currentActions,currentNext:d.actions.currentNext,currentStepDisabledReason:d.actions.currentStepDisabledReason,goNext:d.actions.goNext,recoverStuckStep:d.actions.recoverStuckStep,recoverStuckStepCommand:d.actions.recoverStuckStepCommand,rewindToStep:d.actions.rewindToStep,runAction:d.actions.runAction,runActionById:d.actions.runActionById,runActionCommand:d.actions.runActionCommand,runIntent:d.actions.runIntent,runIntentById:d.actions.runIntentById,runIntentCommand:d.actions.runIntentCommand},codexTerminal:{sessionUpdate:r},commandTerminal:{action:d.commandTerminal.action,closed:d.commandTerminal.closed,finished:d.commandTerminal.finished,input:d.commandTerminal.input,running:d.commandTerminal.running,runningChanged:d.commandTerminal.runningChanged,startKey:d.commandTerminal.startKey,visible:d.commandTerminal.visible},dialogs:{abandon:d.dialogs.abandon,diff:d.dialogs.diff,input:{close:d.dialogs.input.close,error:d.dialogs.input.error,fields:d.dialogs.input.fields,open:d.dialogs.input.open,saveDisabled:d.dialogs.input.saveDisabled,submit:d.dialogs.input.submit,submitting:d.dialogs.input.submitting,title:d.dialogs.input.title,values:d.dialogs.input.values}},page:{busy:p,copyStatus:h.copyStatus,copyText:h.copyText,error:y,loading:i},review:{acceptChangesUtilitiesVisible:d.actions.acceptChangesUtilitiesVisible,diffDisabled:I,diffTitle:S},stepInput:d.stepInput,selectSession:T,timeline:{rewindCommand:d.actions.rewindCommand,rewindToStep:d.actions.rewindToStep}}}const Vv="report";function Mv(e={}){return ss({...e,loadErrorMessage:"Report could not be loaded.",previewId:Vv})}function ls(e=""){return`vibe64-shell-panel-${So(e)}`}function Bv(e=""){return`#${ls(e)}`}const $v={class:"studio-ai-session-runtime"},Fv={key:1,class:"studio-ai-sessions__codex-thinking-overlay",role:"status","aria-live":"polite"},jv={class:"studio-ai-sessions__codex-thinking-status"},zv={key:2,class:"studio-ai-sessions__inspect-slot"},Uv=["id"],Hv={__name:"Vibe64SessionRuntimeHost",props:{active:{default:!1,type:Boolean},sessionData:{required:!0,type:Object},globalCodexOpen:{default:!1,type:Boolean},globalCodexTerminalState:{default:null,type:Object},sessionId:{required:!0,type:String},sessionMode:{default:"autopilot",type:String},autopilotCodexOpen:{default:!1,type:Boolean}},emits:["busy-change","global-codex-update","page-error-change","toolbar-controls-ready"],setup(e,{emit:n}){const a=e,t=n,i=f(()=>a.sessionId),r=f(()=>typeof a.sessionData.sessionForId=="function"?a.sessionData.sessionForId(a.sessionId):(c(a.sessionData.sessions)||[]).find(ae=>ae.sessionId===a.sessionId)||null),l=f(()=>kn(r.value)),o=f(()=>to(l.value||{})||`Session ${a.sessionData.shortSessionId(a.sessionId)}`),u=f(()=>ls(a.sessionId)),s=f(()=>no(l.value||{})),v=f(()=>ao(l.value||{})),m=f(()=>io(l.value)),h=f(()=>El(l.value)),d={canCreateSession:a.sessionData.canCreateSession,clearSelectedSession:a.sessionData.clearSelectedSession,createSessionCommand:a.sessionData.createSessionCommand,createSessionTitle:a.sessionData.createSessionTitle,isSelectedSessionClosed:s,pageLoading:a.sessionData.pageLoading,refreshSessionData:a.sessionData.refreshSessionData,selectSessionId:a.sessionData.selectSessionId,selectedSession:l,selectedSessionId:i,selectedSessionTitle:o,sessionList:a.sessionData.sessionList,sessions:a.sessionData.sessions,sessionsApiPath:a.sessionData.sessionsApiPath,shortSessionId:a.sessionData.shortSessionId,statusColor:a.sessionData.statusColor,statusLabel:a.sessionData.statusLabel},p=Nv({sessionData:d}),I=$o(),S=fv({active:f(()=>a.active),sessionId:i}),_=f(()=>{var ae;const R=(ae=S.readiness.value)==null?void 0:ae.artifactReadiness;return R&&typeof R=="object"?R:{}}),y=f(()=>w(_.value)),T=Je(p.actions),F=Je(p.codexTerminal),x=Je(p.commandTerminal),P={abandon:Je(p.dialogs.abandon),diff:Je(p.dialogs.diff),input:Je(p.dialogs.input)},Z=Je(p.page),C=Je(Mv({active:f(()=>a.active),artifactReadiness:_,session:l})),O=Je(yv({active:f(()=>a.active),artifactReadiness:_,session:l})),V=Je(Iv({active:f(()=>!!a.active),session:l})),$=Je(p.review),b=Je(p.stepInput),E=Je({facts:v,isClosed:s,selectedSession:l,selectedSessionId:i,selectedSessionTitle:o,statusColor:eo,statusLabel:Zi}),B=Je({rewindCommand:p.timeline.rewindCommand,rewindToStep:p.timeline.rewindToStep,steps:m}),H=f(()=>{var R;return String(((R=I.lastResult.value)==null?void 0:R.sessionId)||I.activeSessionId.value||"")}),K=f(()=>!!(H.value&&H.value===i.value)),ge=Je({actionId:f(()=>{var R;return String(((R=I.lastResult.value)==null?void 0:R.actionId)||"")}),actionLabel:f(()=>{var R;return String(((R=I.lastResult.value)==null?void 0:R.actionLabel)||"")}),attemptedCommand:f(()=>{var R;return String(((R=I.lastResult.value)==null?void 0:R.attemptedCommand)||"")}),commandPreview:f(()=>K.value?I.commandPreview.value:""),error:f(()=>{const R=I.lastResult.value;return K.value&&(R==null?void 0:R.ok)===!1?String(R.error||""):""}),exitCode:f(()=>{var R;return K.value?((R=I.lastResult.value)==null?void 0:R.exitCode)??null:null}),failed:f(()=>{var R;return K.value&&((R=I.lastResult.value)==null?void 0:R.ok)===!1}),output:f(()=>K.value?I.output.value:""),running:f(()=>K.value&&I.running.value),status:f(()=>K.value?I.status.value:""),terminalSessionId:f(()=>{var R;return K.value?String(((R=I.lastResult.value)==null?void 0:R.terminalSessionId)||""):""}),visible:f(()=>{var R;return!!(K.value&&(I.running.value||((R=I.lastResult.value)==null?void 0:R.ok)===!1))})}),ne=Q(!1),A=Q({active:!1,busy:!1,scope:"",sessionId:"",streaming:!1,terminalSessionId:"",working:!1}),J=f(()=>!!(a.active&&a.sessionMode==="autopilot")),L=f(()=>a.sessionMode==="autopilot"),se=f(()=>{var ae,fe,me;const R=(me=(fe=(ae=l.value)==null?void 0:ae.presentation)==null?void 0:fe.terminal)==null?void 0:me.codex;return R&&typeof R=="object"&&!Array.isArray(R)?R:{}}),U=f(()=>!!(a.active&&a.sessionMode==="autopilot"&&a.autopilotCodexOpen&&i.value)),k=f(()=>!!(a.active&&a.sessionMode==="autopilot"&&a.globalCodexOpen&&!U.value)),ee=f(()=>!!(U.value||k.value)),ye=f(()=>{var R,ae;return String(((ae=(R=l.value)==null?void 0:R.codexTerminal)==null?void 0:ae.id)||"")}),ue=f(()=>!!(a.active&&a.sessionMode==="autopilot"&&!ee.value&&A.value.streaming&&A.value.scope==="session"&&A.value.sessionId===i.value)),j=f(()=>!!ue.value),D=f(()=>!!(a.active&&a.sessionMode==="autopilot"&&!ee.value&&j.value)),G=f(()=>!!(a.sessionMode!=="autopilot"||D.value)),be=f(()=>a.active?ee.value||a.sessionMode==="inspect"?"full":j.value?"compact":"headless":"headless"),pe=f(()=>!!(a.active&&(a.sessionMode==="inspect"||ee.value))),Ie=f(()=>ee.value||a.sessionMode==="inspect"?!1:se.value.readOnlyInAutopilot!==!1),Le=f(()=>k.value?"global":"session"),je=f(()=>k.value?a.globalCodexTerminalState:null),we=f(()=>!!(a.active&&a.sessionMode==="autopilot"&&!ee.value&&ye.value)),Se=f(()=>!!(Z.busy||ne.value||D.value)),Re=f(()=>({busy:Se.value,copyStatus:Z.copyStatus,copyText:Z.copyText,error:Z.error,loading:Z.loading}));function Ue(R){ne.value=!!R}function Pe(){t("busy-change",{busy:Se.value,sessionId:a.sessionId})}function Ge(){t("page-error-change",{error:String(Z.error||""),sessionId:a.sessionId})}function xe(){t("toolbar-controls-ready",{controls:{abandon:P.abandon,diff:P.diff,review:$},sessionId:a.sessionId})}function N(R={}){k.value&&t("global-codex-update",R)}function Y(R={}){const ae=!!R.busy,fe=!!R.streaming,me=!!R.working,De={active:!!(R.active||ae||fe||me),busy:ae,scope:String(R.scope||""),sessionId:String(R.sessionId||""),streaming:fe,terminalSessionId:String(R.terminalSessionId||""),working:me};De.scope!=="session"||De.sessionId!==i.value||ye.value&&De.terminalSessionId&&De.terminalSessionId!==ye.value||(A.value=De)}function w(R={}){return Object.entries(R).sort(([ae],[fe])=>ae.localeCompare(fe)).map(([ae,fe])=>[ae,(fe==null?void 0:fe.nonEmpty)===!0?"ready":"missing",String((fe==null?void 0:fe.fingerprint)||"")].join(":")).join("|")}return Jt(()=>{xe(),Pe(),Ge()}),_e(Se,Pe,{flush:"post"}),_e(()=>{var R,ae,fe;return[a.active?"active":"inactive",a.sessionMode,a.sessionId,((R=l.value)==null?void 0:R.currentStep)||"",((fe=(ae=l.value)==null?void 0:ae.stepMachine)==null?void 0:fe.status)||""].join("|")},()=>{ce("client.sessionRuntimeHost.state",{...Oe(l.value||{}),active:a.active,sessionId:a.sessionId,sessionMode:a.sessionMode})},{flush:"post",immediate:!0}),_e(y,(R,ae)=>{a.active&&R&&R!==ae&&(ce("client.sessionRuntimeHost.artifactReadiness.changed",{artifactReadinessVersion:R,previousArtifactReadinessVersion:ae||"",sessionId:a.sessionId}),a.sessionData.refreshSessionData())},{flush:"post"}),_e(()=>Z.error,Ge,{flush:"post"}),_e(()=>[a.sessionId,a.sessionMode,ye.value].join("|"),()=>{A.value={active:!1,busy:!1,scope:"",sessionId:"",streaming:!1,terminalSessionId:"",working:!1}},{flush:"post"}),(R,ae)=>{var fe;return g(),q("section",$v,[te("div",{class:Fe(["studio-ai-sessions__layout",`studio-ai-sessions__layout--${e.sessionMode}`])},[e.sessionMode==="autopilot"?(g(),z(Yd,{key:0,actions:c(T),active:J.value,"automation-enabled":L.value,"autopilot-steps":h.value,"command-runner":c(I),"conversation-log":c(V),diff:P.diff,"human-input-response-preview":c(O),page:Re.value,"refresh-session-data":e.sessionData.refreshSessionData,"report-preview":c(C),review:c($),"rewind-busy":!!((fe=c(B).rewindCommand)!=null&&fe.isRunning),"rewind-to-step":c(B).rewindToStep,session:c(E).selectedSession,inert:G.value,onBusyChange:Ue},null,8,["actions","active","automation-enabled","autopilot-steps","command-runner","conversation-log","diff","human-input-response-preview","page","refresh-session-data","report-preview","review","rewind-busy","rewind-to-step","session","inert"])):X("",!0),D.value?(g(),q("div",Fv,[te("div",jv,[W(Mn,{class:"studio-ai-sessions__codex-thinking-spinner",color:"primary",indeterminate:"",size:48,width:3},{default:M(()=>[W(tt,{icon:c(xt),size:"24"},null,8,["icon"])]),_:1}),ae[1]||(ae[1]=te("strong",null,"Codex is thinking...",-1))])])):X("",!0),e.sessionMode==="inspect"?(g(),q("div",zv,[W(dv,{class:"studio-ai-sessions__inspect-workspace",actions:c(T),active:a.active&&e.sessionMode==="inspect","conversation-log":c(V),dialogs:P,page:Re.value,"refresh-session-data":e.sessionData.refreshSessionData,"report-preview":c(C),review:c($),"human-input-response-preview":c(O),selection:c(E),"step-input":c(b),timeline:c(B)},null,8,["actions","active","conversation-log","page","refresh-session-data","report-preview","review","human-input-response-preview","selection","step-input","timeline"]),te("div",{id:u.value,class:"studio-ai-sessions__shell-terminal-target"},null,8,Uv)])):X("",!0),W(is,{class:Fe({"studio-ai-sessions__terminals--autopilot-preview":j.value,"studio-ai-sessions__terminals--autopilot-foreground":ee.value}),"allow-codex-start":pe.value,"codex-terminal":c(F),"codex-read-only":Ie.value,"codex-scope":Le.value,"codex-terminal-state":je.value,"command-terminal":c(x),"display-mode":be.value,"headless-command-terminal":c(ge),"listen-codex-when-hidden":we.value,session:c(E).selectedSession,"show-command-output":e.sessionMode==="inspect",onCodexActivityChange:Y,onCodexSessionUpdate:N},null,8,["class","allow-codex-start","codex-terminal","codex-read-only","codex-scope","codex-terminal-state","command-terminal","display-mode","headless-command-terminal","listen-codex-when-hidden","session","show-command-output"])],2),W(qf,{dialogs:P,"short-session-id":e.sessionData.shortSessionId,onUpdateInputValues:ae[0]||(ae[0]=me=>P.input.values=me)},null,8,["short-session-id"])])}}},Wv=ze(Hv,[["__scopeId","data-v-7cb728f2"]]),qv={class:"studio-ai-sessions__toolbar"},Kv={class:"studio-ai-sessions__tabs"},Gv={__name:"Vibe64SessionToolbar",props:{abandon:{default:()=>({}),type:Object},selectedSessionId:{default:"",type:String},selectionClosed:{default:!1,type:Boolean},toolbar:{default:()=>({}),type:Object}},setup(e){const n=e;function a(o={}){var s,v,m;const u=String(o.sessionName||((s=o.metadata)==null?void 0:s.issue_word)||"").trim();return u||((m=(v=n.toolbar).shortSessionId)==null?void 0:m.call(v,o.sessionId))||String(o.sessionId||"")}const t=f(()=>Array.isArray(n.toolbar.workflowDefinitions)?n.toolbar.workflowDefinitions:[]),i=f(()=>n.toolbar.createSessionMode==="select"&&t.value.length>0),r=Q(!1);function l(o=""){var u,s;r.value=!1,(s=(u=n.toolbar).createSession)==null||s.call(u,o)}return(o,u)=>(g(),q("div",qv,[te("div",Kv,[(g(!0),q(Ee,null,Ve(e.toolbar.sessions,s=>(g(),z(kt,{key:s.sessionId,color:s.sessionId===e.selectedSessionId?"primary":"default",variant:s.sessionId===e.selectedSessionId?"flat":"tonal",class:"studio-ai-sessions__tab",size:"large",onClick:v=>e.toolbar.selectSession(s.sessionId)},{default:M(()=>[te("span",{class:Fe(["studio-ai-sessions__status-dot",`studio-ai-sessions__status-dot--${s.status}`])},null,2),te("span",null,le(a(s)),1),s.sessionId===e.selectedSessionId?(g(),z(ve,{key:0,class:"studio-ai-sessions__tab-abandon",density:"comfortable",disabled:e.selectionClosed||e.abandon.command.isRunning,icon:c(pn),loading:e.abandon.command.isRunning,size:"small",title:"Abandon session",variant:"text","aria-label":"Abandon session",onClick:He(e.abandon.request,["stop"])},null,8,["disabled","icon","loading","onClick"])):X("",!0)]),_:2},1032,["color","variant","onClick"]))),128)),i.value?(g(),z(vn,{key:0,modelValue:r.value,"onUpdate:modelValue":u[0]||(u[0]=s=>r.value=s),location:"bottom end",transition:"scale-transition"},{activator:M(({props:s})=>[W(ve,Pt(s,{color:"primary",variant:"tonal","append-icon":c(Mt),disabled:!e.toolbar.canCreateSession,loading:e.toolbar.createSessionCommand.isRunning,"prepend-icon":c(va),title:e.toolbar.createSessionTitle}),{default:M(()=>[...u[2]||(u[2]=[re(" New Session ",-1)])]),_:1},16,["append-icon","disabled","loading","prepend-icon","title"])]),default:M(()=>[W(mn,{class:"studio-ai-sessions__definition-menu",density:"comfortable",lines:"two",nav:""},{default:M(()=>[W(Wi,null,{default:M(()=>[...u[3]||(u[3]=[re("Session type",-1)])]),_:1}),(g(!0),q(Ee,null,Ve(t.value,s=>(g(),z(Ut,{key:s.id,disabled:e.toolbar.createSessionCommand.isRunning,subtitle:s.description,title:s.label,onClick:v=>l(s.id)},null,8,["disabled","subtitle","title","onClick"]))),128))]),_:1})]),_:1},8,["modelValue"])):(g(),z(ve,{key:1,color:"primary",variant:"tonal",disabled:!e.toolbar.canCreateSession,loading:e.toolbar.createSessionCommand.isRunning,"prepend-icon":c(va),title:e.toolbar.createSessionTitle,onClick:u[1]||(u[1]=s=>e.toolbar.createSession())},{default:M(()=>[...u[4]||(u[4]=[re(" New Session ",-1)])]),_:1},8,["disabled","loading","prepend-icon","title"]))])]))}},Xv=ze(Gv,[["__scopeId","data-v-4c03461b"]]),_n=5;function Qv(e={}){const n=String(e.key||"").toLowerCase(),a=e.altKey&&!e.ctrlKey&&!e.shiftKey&&!e.metaKey;if(e.ctrlKey&&e.shiftKey&&!e.altKey&&!e.metaKey&&n==="t")return{type:"new-tab"};if(a&&n==="n")return{type:"new-tab"};if(a&&/^[1-9]$/u.test(n)){const t=Number(n)-1;if(t<_n)return{tabIndex:t,type:"select-tab"}}return null}function Ni(e={}){var n,a;(n=e.preventDefault)==null||n.call(e),(a=e.stopImmediatePropagation)==null||a.call(e)}const Jv={key:0,class:"vibe64-shell-controls"},Yv={class:"vibe64-shell-controls__window"},Zv={class:"vibe64-shell-controls__terminal-stack"},ep=["aria-selected","title","onPointerdown","onClick"],tp={__name:"Vibe64ShellControls",props:{session:{type:Object,default:null},showActivator:{type:Boolean,default:!0},windowDisplayed:{type:Boolean,default:!0}},setup(e){const n=e,a=Q(""),t=Q([]),i=Q(!1),r=Q(null),l=new Map;let o=0,u=!1,s=null;const v=f(()=>{var N;return String(((N=n.session)==null?void 0:N.sessionId)||"")}),m=f(()=>$n(n.session||{})),h=f(()=>!v.value),d=f(()=>!!(v.value&&!h.value)),p=f(()=>!!(d.value&&m.value)),I=f(()=>t.value.length>0),S=f(()=>n.windowDisplayed!==!1),_=f(()=>!!(I.value&&S.value&&!i.value)),y=f(()=>_.value),T=f(()=>t.value.find(N=>N.id===a.value)||null),F=f(()=>t.value.length>=_n),x=`Shell tabs are limited to ${_n}.`,P=f(()=>!!(!F.value&&d.value)),Z=f(()=>!!(!F.value&&p.value)),C=f(()=>{var N;return(N=T.value)!=null&&N.target?k(T.value.target):Z.value||P.value}),O=f(()=>F.value?x:"Project root"),V=f(()=>F.value?x:"New shell tab (Alt-N)"),$=`Alt-N creates a tab. Alt-1 through Alt-${_n} switches tabs.`,b=f(()=>Bv(v.value)),E=f(()=>t.value.filter(N=>N.running).length),B=f(()=>E.value>0?Xs:Qs),H=f(()=>I.value?"primary":void 0),K=f(()=>I.value?_.value?"Hide shells":"Show shells":"Open shell"),ge=f(()=>{const N=r.value;return!_.value||!N?{}:{bottom:`${N.bottom}px`,height:"auto",left:"0px",top:`${N.top}px`,width:`${N.right}px`}}),ne=f(()=>!!(n.showActivator&&!I.value)),A=f(()=>F.value?x:m.value||"Create the session worktree first.");function J(N=""){return N==="main"?"Main repo shell":"Worktree shell"}function L(){return`terminal ${o+1}`}function se(N=""){return o+=1,`${v.value}:shell:${N}:${Date.now()}:${o}`}function U(){var N;return(N=T.value)!=null&&N.target?T.value.target:p.value?"worktree":"main"}function k(N=""){return N==="worktree"?Z.value:N==="main"&&P.value}function ee(N){ue(N)}function ye(){I.value&&(i.value=!i.value,i.value||Ie())}function ue(N){if(!k(N))return;const Y=L(),w=se(N);t.value=[...t.value,{id:w,label:Y,running:!1,session:n.session,startKey:`${w}:start`,target:N,title:J(N)}],a.value=w,i.value=!1,Ie(w)}function j(){ue(U())}function D(N=""){t.value.some(Y=>Y.id===N)&&(a.value=N,i.value=!1,Ie(N))}function G(){t.value=[],a.value="",i.value=!1,l.clear()}function be(N=""){const Y=t.value.findIndex(ae=>ae.id===N);if(Y<0)return;const w=t.value.filter(ae=>ae.id!==N);if(t.value=w,a.value!==N)return;const R=w[Math.min(Y,w.length-1)]||null;if(a.value=(R==null?void 0:R.id)||"",!R){i.value=!1;return}Ie(R.id)}function pe(N="",Y=null){if(N){if(Y){l.set(N,Y);return}l.delete(N)}}function Ie(N=a.value){var w,R;const Y=String(N||"");Y&&((R=(w=l.get(Y))==null?void 0:w.focus)==null||R.call(w),qe().then(()=>{var fe,me;(me=(fe=l.get(Y))==null?void 0:fe.focus)==null||me.call(fe);const ae=()=>{var De,de;(de=(De=l.get(Y))==null?void 0:De.focus)==null||de.call(De)};if(typeof window<"u"&&typeof window.requestAnimationFrame=="function"){window.requestAnimationFrame(ae);return}typeof window<"u"&&window.setTimeout(ae,0)}))}function Le(N="",Y=!1){const w=t.value.find(R=>R.id===N);w&&(w.running=!!Y)}function je(N="",Y=!0){var w,R;N===a.value&&(i.value=Y!==!0,i.value&&typeof document<"u"&&((R=(w=document.activeElement)==null?void 0:w.blur)==null||R.call(w)))}function we(N){if(!I.value||N.defaultPrevented)return;const Y=Qv(N);if(Y){if(Y.type==="new-tab"){Ni(N),j();return}if(Y.type==="select-tab"){const w=t.value[Y.tabIndex];w&&(Ni(N),D(w.id))}}}function Se(){u||typeof window>"u"||(u=!0,window.addEventListener("keydown",we,!0))}function Re(){!u||typeof window>"u"||(u=!1,window.removeEventListener("keydown",we,!0))}function Ue(){var w;if(typeof document>"u")return null;const N=document.querySelector(b.value),Y=(w=N==null?void 0:N.getBoundingClientRect)==null?void 0:w.call(N);return!Y||Y.width<=0||Y.height<=0?null:N}function Pe(){var R,ae;const N=Ue(),Y=(R=N==null?void 0:N.getBoundingClientRect)==null?void 0:R.call(N);if(!Y){r.value=null;return}const w=window.innerHeight||((ae=document.documentElement)==null?void 0:ae.clientHeight)||Y.bottom;r.value={bottom:Math.max(0,w-Y.bottom),right:Math.round(Y.right),top:Y.top}}async function Ge(){xe(),await qe(),Pe();const N=Ue();typeof ResizeObserver=="function"&&N&&(s=new ResizeObserver(Pe),s.observe(N)),typeof window<"u"&&(window.addEventListener("resize",Pe,!0),window.addEventListener("scroll",Pe,!0))}function xe(){var N;(N=s==null?void 0:s.disconnect)==null||N.call(s),s=null,typeof window<"u"&&(window.removeEventListener("resize",Pe,!0),window.removeEventListener("scroll",Pe,!0)),r.value=null}return _e(v,()=>{G()}),_e(y,N=>{N?Se():Re()},{immediate:!0}),_e(_,N=>{N?Ge():xe()},{immediate:!0}),mt(()=>{Re(),xe()}),(N,Y)=>v.value?(g(),q("div",Jv,[ne.value?(g(),z(vn,{key:0,location:"bottom end"},{activator:M(({props:w})=>[W(ve,Pt(w,{color:H.value,disabled:h.value,icon:B.value,size:"small",title:K.value,variant:"tonal","aria-label":K.value}),null,16,["color","disabled","icon","title","aria-label"])]),default:M(()=>[W(mn,{class:"vibe64-shell-controls__menu",density:"compact"},{default:M(()=>[W(Ut,{disabled:!Z.value,"prepend-icon":c(qs),subtitle:A.value,title:"Worktree shell",onClick:Y[0]||(Y[0]=w=>ee("worktree"))},null,8,["disabled","prepend-icon","subtitle"]),W(Ut,{disabled:!P.value,"prepend-icon":c(Ks),subtitle:O.value,title:"Main repo shell",onClick:Y[1]||(Y[1]=w=>ee("main"))},null,8,["disabled","prepend-icon","subtitle"])]),_:1})]),_:1})):e.showActivator?(g(),z(ve,{key:1,color:H.value,icon:B.value,size:"small",title:K.value,variant:"tonal","aria-label":K.value,onClick:ye},null,8,["color","icon","title","aria-label"])):X("",!0),I.value?(g(),z(Aa,{key:2,defer:"",to:"body"},[te("div",{class:Fe(["vibe64-shell-controls__inline-panel",{"vibe64-shell-controls__inline-panel--displayed":_.value,"vibe64-shell-controls__inline-panel--hidden":!_.value}]),style:ka(ge.value)},[te("div",Yv,[te("div",Zv,[(g(!0),q(Ee,null,Ve(t.value,w=>(g(),z(Da,{key:w.id,ref_for:!0,ref:R=>pe(w.id,R),class:Fe(["vibe64-shell-controls__terminal",{"vibe64-shell-controls__terminal--active":w.id===a.value}]),"emit-closed-before-server-ack":"","finished-hold-ms":0,"reuse-running":!1,"show-interrupt":!1,"terminal-kind":"shell",session:w.session,"shell-target":w.target,"start-request-key":w.startKey,title:w.title,onClosed:R=>be(w.id),onExpandedChanged:R=>je(w.id,R),onFinished:R=>be(w.id),onRunningChanged:R=>Le(w.id,R),onStarted:R=>Ie(w.id)},{heading:M(()=>[w.id===a.value?(g(),q("div",{key:0,class:"vibe64-shell-controls__tabs",title:$},[te("div",{class:"vibe64-shell-controls__tab-list",role:"tablist",onPointerdown:Y[3]||(Y[3]=He(()=>{},["stop"]))},[(g(!0),q(Ee,null,Ve(t.value,(R,ae)=>(g(),q("button",{key:R.id,type:"button",class:Fe(["vibe64-shell-controls__tab",{"vibe64-shell-controls__tab--active":R.id===a.value}]),"aria-selected":R.id===a.value?"true":"false",role:"tab",title:`Alt-${ae+1}: ${R.label}`,onPointerdown:He(fe=>D(R.id),["prevent"]),onClick:fe=>D(R.id)},[te("span",null,le(R.label),1),R.running?(g(),z(tt,{key:0,class:"vibe64-shell-controls__tab-running",icon:c(Gs),size:"18"},null,8,["icon"])):X("",!0),W(tt,{icon:c(pn),class:"vibe64-shell-controls__tab-close",size:"15",title:"Close tab",onPointerdown:Y[2]||(Y[2]=He(()=>{},["stop"])),onClick:He(fe=>be(R.id),["stop"])},null,8,["icon","onClick"])],42,ep))),128))],32),W(ve,{class:"vibe64-shell-controls__new-tab",disabled:!C.value,icon:c(va),size:"small",title:V.value,variant:"text",onPointerdown:Y[4]||(Y[4]=He(()=>{},["stop"])),onClick:j},null,8,["disabled","icon","title"])])):X("",!0)]),_:2},1032,["class","session","shell-target","start-request-key","title","onClosed","onExpandedChanged","onFinished","onRunningChanged","onStarted"]))),128))])])],6)])):X("",!0)])):X("",!0)}},np=ze(tp,[["__scopeId","data-v-0f883907"]]);function rs(){return typeof window>"u"||!window.sessionStorage?null:window.sessionStorage}function Vi(e=""){var n;try{return String(((n=rs())==null?void 0:n.getItem(e))||"")}catch{return""}}function ap(e="",n=""){try{const a=rs();if(!a)return;const t=String(n||"").trim();if(t){a.setItem(e,t);return}a.removeItem(e)}catch{}}function ip({storageKey:e=""}={}){const n=Q(Vi(e));function a(r=""){n.value=String(r||"").trim(),ap(e,n.value)}function t(){a("")}function i(r=[],{fallbackId:l="",getId:o=u=>u==null?void 0:u.id}={}){if(r.length===0)return t(),"";const u=r.map(m=>String(o(m)||"").trim()).filter(Boolean);if(u.includes(n.value))return a(n.value),n.value;const s=Vi(e),v=u.includes(s)?s:String(l||"").trim();return a(v),n.value}return{clear:t,select:a,selectAvailableId:i,selectedId:n}}function op(e={}){var t,i;const n=(i=(t=e==null?void 0:e.presentation)==null?void 0:t.auto)==null?void 0:i.nextOperation,a=n&&typeof n=="object"&&!Array.isArray(n)?n:{};return{operationActionId:String(a.actionId||""),operationExecutable:a.executable===!0,operationId:String(a.id||""),operationIntentId:String(a.intentId||""),operationKind:String(a.kind||""),operationRoute:String(a.route||"")}}function sp(e=null,n=null,a=""){const t=String(a||"").trim();return t&&(e==null?void 0:e.sessionId)===t&&(e==null?void 0:e.ok)!==!1?e:n}function lp({onTitleChange:e=null}={}){const n=typeof e=="function"?e:()=>null,a=Zt(),t=ip({storageKey:Rl}),i=t.selectedId,r=f(()=>a.api(nt,{surface:Xe})),l=f(()=>{const A=String(i.value||"").trim();return A?`${r.value}/${encodeURIComponent(A)}`:""}),o=f(()=>[...Ll(Xe,it),String(i.value||"").trim()]),u=Bl({access:"never",apiSuffix:nt,fallbackLoadError:"Vibe64 sessions could not be loaded.",ownershipFilter:it,placementSource:"vibe64.sessions.list",queryKeyFactory:Ol,realtime:{event:ga},selectItems:A=>Array.isArray(A==null?void 0:A.sessions)?A.sessions:[],surfaceId:Xe}),s=pt({access:"never",apiSuffix:nt,buildRawPayload:(A,{context:J})=>{const L=String((J==null?void 0:J.workflowDefinition)||"").trim();return L?{workflowDefinition:L}:{}},buildCommandOptions:()=>({options:ct}),fallbackRunError:"Vibe64 session could not be created.",messages:{error:"Vibe64 session could not be created.",success:"Vibe64 session created."},onRunSuccess:async A=>{A!=null&&A.sessionId&&B(A.sessionId),await E()},ownershipFilter:it,placementSource:"vibe64.sessions.create",surfaceId:Xe,writeMethod:"POST"}),v=Bn({enabled:f(()=>!!i.value),fallbackLoadError:"Vibe64 session could not be loaded.",path:l,queryKey:o,readMethod:"GET",refreshOnPull:!0,realtime:{event:ga,matches:({payload:A={}}={})=>{const J=String(A.sessionId||A.entityId||"").trim();return!!J&&J===i.value}}}),m=Je({loadError:v.loadError,record:f(()=>v.data.value||null),refresh:v.reload}),h=f(()=>Pl(u.items||[])),d=f(()=>{var A,J;return((J=(A=u.pages)==null?void 0:A[0])==null?void 0:J.creation)||{}}),p=f(()=>{const A=d.value.workflowDefinitions;return Array.isArray(A)?A:[]}),I=f(()=>d.value.mode==="select"&&p.value.length>0?"select":"direct"),S=f(()=>h.value.find(A=>A.sessionId===i.value)||null),_=f(()=>sp(m.record,S.value,i.value)),y=f(()=>kn(_.value)),T=f(()=>no(y.value||{})),F=f(()=>!!u.isLoading),x=f(()=>{var A,J;return Dl({payloadLimits:((J=(A=u.pages)==null?void 0:A[0])==null?void 0:J.limits)||{},sessions:h.value})}),P=f(()=>typeof d.value.canCreate=="boolean"?d.value.canCreate:x.value.openSessionCount<x.value.maxOpenSessions),Z=f(()=>d.value.disabledReason?String(d.value.disabledReason):x.value.openSessionCount>=x.value.maxOpenSessions?`Studio allows up to ${x.value.maxOpenSessions} active sessions.`:"Create a new Vibe64 session"),C=f(()=>to(y.value||{})||`Session ${ti(i.value)}`),O=f(()=>io(y.value)),V=f(()=>ao(y.value||{}));function $(A=""){const J=String(A||"").trim();return J?J===i.value&&_.value?kn(_.value):kn(h.value.find(L=>L.sessionId===J)||null):null}async function b(){return i.value?m.refresh():null}async function E(){const A=Date.now();ce("client.sessionData.refresh.start",{selectedSessionId:String(i.value||"")});try{const J=await Promise.all([u.reload(),b()]);return ce("client.sessionData.refresh.done",{...Oe(y.value||{}),durationMs:$e(A),selectedSessionId:String(i.value||""),sessionCount:h.value.length}),J}catch(J){throw ce("client.sessionData.refresh.error",{durationMs:$e(A),error:ft(J),selectedSessionId:String(i.value||"")}),J}}function B(A=""){ce("client.sessionData.selectSession",{fromSessionId:String(i.value||""),toSessionId:String(A||"")}),t.select(A)}function H(){t.clear()}async function K(A=""){var L,se;const J=Date.now();ce("client.sessionData.createSession.start",{workflowDefinition:String(A||"")});try{const U=await s.run({workflowDefinition:A});return ce("client.sessionData.createSession.done",{...Oe(U||{}),code:String((U==null?void 0:U.code)||((se=(L=U==null?void 0:U.errors)==null?void 0:L[0])==null?void 0:se.code)||""),durationMs:$e(J),ok:(U==null?void 0:U.ok)!==!1,workflowDefinition:String(A||"")}),U}catch(U){throw ce("client.sessionData.createSession.error",{durationMs:$e(J),error:ft(U),workflowDefinition:String(A||"")}),U}}function ge(A="",J=[]){const L=String(A||"").trim();return!!L&&J.some(se=>se.sessionId===L)}function ne(A=[]){var L;const J=String(i.value||"").trim();return!J||ge(J,A)?!1:!!(u.isLoading||s.isRunning||(L=v.isLoading)!=null&&L.value)}return _e(h,A=>{var J;ce("client.sessionData.sessions.changed",{selectedSessionId:String(i.value||""),sessionCount:A.length}),!(u.isInitialLoading||ne(A))&&t.selectAvailableId(A,{fallbackId:((J=A.at(-1))==null?void 0:J.sessionId)||"",getId:L=>L.sessionId})},{immediate:!0}),_e(()=>{var J,L,se,U,k,ee,ye,ue,j;const A=y.value||{};return[A.sessionId||"",A.currentStep||"",((J=A.stepMachine)==null?void 0:J.status)||"",((L=A.next)==null?void 0:L.stepId)||"",((se=A.next)==null?void 0:se.enabled)===!0?"next-enabled":"next-disabled",((ee=(k=(U=A.presentation)==null?void 0:U.auto)==null?void 0:k.nextOperation)==null?void 0:ee.id)||"",((j=(ue=(ye=A.presentation)==null?void 0:ye.auto)==null?void 0:ue.nextOperation)==null?void 0:j.executable)===!0?"op-executable":"op-idle"].join("|")},()=>{const A=y.value||{};A.sessionId&&ce("client.sessionData.selectedSession.state",{...Oe(A),...op(A)})},{flush:"post",immediate:!0}),_e(C,A=>{n(A||"")},{immediate:!0}),{canCreateSession:P,clearSelectedSession:H,createSession:K,createSessionCommand:s,createSessionMode:I,createSessionTitle:Z,isSelectedSessionClosed:T,pageLoading:F,refreshSessionData:E,selectSessionId:B,selectedSession:y,selectedSessionId:i,selectedSessionView:m,selectedSessionTitle:C,sessionForId:$,sessionFacts:V,sessionList:u,sessions:h,sessionsApiPath:r,shortSessionId:ti,statusColor:eo,statusLabel:Zi,timelineSteps:O,workflowDefinitions:p}}const Ht=Object.freeze({AUTOPILOT:"autopilot",INSPECT:"inspect"}),It=Ht.AUTOPILOT,rp="vibe64:session-mode:";function Vt(e="",n=It){const a=String(e||"").trim();switch(a){case Ht.AUTOPILOT:case Ht.INSPECT:return a;default:return n}}function us(e=""){const n=String(e||"").trim();return n?`${rp}${encodeURIComponent(n)}`:""}function up(e="",n=It){var t;const a=us(e);if(!a)return Vt("",n);try{return Vt((t=zn())==null?void 0:t.getItem(a),n)}catch{return Vt("",n)}}function Mi(e="",n=It){var i;const a=us(e);if(!a)return"";const t=Vt(n);try{(i=zn())==null||i.setItem(a,t)}catch{}return t}function cp(e={}){const n=Array.isArray(e==null?void 0:e.mode)?e.mode[0]:e==null?void 0:e.mode;return Vt(n,"")}function dp(e={},n=It){const a={...e};return Vt(n)===Ht.INSPECT?a.mode=Ht.INSPECT:delete a.mode,a}function fp(e={},n=It){const a=Vt(n),t=Object.prototype.hasOwnProperty.call(e||{},"mode");return a===Ht.INSPECT?(e==null?void 0:e.mode)===Ht.INSPECT:!t}function mp({route:e=null,router:n=null,selectedSessionId:a}={}){const t=new Map;let i=cp((e==null?void 0:e.query)||{});const r=Q(It);function l(){return String(c(a)||"").trim()}function o(m=""){const h=String(m||"").trim();if(!h)return It;if(t.has(h))return t.get(h);if(i){const p=i;return i="",t.set(h,Mi(h,p)),t.get(h)}const d=up(h);return t.set(h,d),d}function u(m=It){!l()||typeof(n==null?void 0:n.replace)!="function"||fp((e==null?void 0:e.query)||{},m)||n.replace({query:dp((e==null?void 0:e.query)||{},m)})}function s(){const m=l();r.value=o(m),u(r.value)}function v(m=It){const h=l();if(!h)return;const d=Mi(h,Vt(m));t.set(h,d),r.value=d,u(d)}return _e(()=>l(),s,{immediate:!0}),{sessionMode:r,setSessionMode:v}}const vp={class:"studio-ai-sessions__header"},pp={key:0,class:"studio-ai-sessions__app-bar-actions"},gp={key:0,class:"studio-ai-sessions__inspect-tools"},bp={key:2,class:"studio-ai-sessions__runtime-stack"},hp={__name:"Vibe64SessionPanel",emits:["title-change"],setup(e,{emit:n}){const a=n,t=Yi(),i=Js(),r={command:{isRunning:!1},request:()=>null},l=qi({}),o=Q(!1),u=Q(!1),s=Q(null),v=lp({onTitleChange(k){a("title-change",k)}}),m=Je({isClosed:v.isSelectedSessionClosed,selectedSession:v.selectedSession,selectedSessionId:v.selectedSessionId}),h=Je({canCreateSession:v.canCreateSession,createSession:v.createSession,createSessionCommand:v.createSessionCommand,createSessionMode:v.createSessionMode,createSessionTitle:v.createSessionTitle,selectSession:v.selectSessionId,sessions:v.sessions,shortSessionId:v.shortSessionId,workflowDefinitions:v.workflowDefinitions}),{sessionMode:d,setSessionMode:p}=mp({route:t,router:i,selectedSessionId:v.selectedSessionId}),I=f(()=>d.value==="inspect"?"autopilot":"inspect"),S=f(()=>I.value==="inspect"?"Inspect":"Autopilot"),_=f(()=>I.value==="inspect"?Ys:fa),y=v.pageLoading,T=f(()=>!0),F=f(()=>!!(d.value==="autopilot"&&m.selectedSession)),x={sessionUpdate:se},P=f(()=>m.selectedSession||(h.sessions||[]).find(k=>k.sessionId===m.selectedSessionId)||null),Z=f(()=>(h.sessions||[]).map(k=>v.sessionForId(k.sessionId)||k).filter(k=>k==null?void 0:k.sessionId)),C=f(()=>l[m.selectedSessionId]||null),O=f(()=>{var k,ee;return((ee=(k=C.value)==null?void 0:k.toolbarControls)==null?void 0:ee.abandon)||r}),V=f(()=>{var k,ee;return((ee=(k=C.value)==null?void 0:k.toolbarControls)==null?void 0:ee.diff)||{}}),$=f(()=>{var k,ee;return((ee=(k=C.value)==null?void 0:k.toolbarControls)==null?void 0:ee.review)||{}}),b=f(()=>Nl({diff:V.value,selectedSession:m.selectedSession,sessionMode:d.value})),E=f(()=>{var k,ee;return v.sessionList.loadError||((k=v.selectedSessionView)==null?void 0:k.loadError)||((ee=C.value)==null?void 0:ee.pageError)||""});function B(k=""){const ee=String(k||"");return ee?(l[ee]||(l[ee]={toolbarControls:null,busy:!1,pageError:""}),l[ee]):null}function H({controls:k=null,sessionId:ee=""}={}){const ye=B(ee);ye&&(ye.toolbarControls=k)}function K({busy:k=!1,sessionId:ee=""}={}){const ye=B(ee);ye&&(ye.busy=!!k)}function ge({error:k="",sessionId:ee=""}={}){const ye=B(ee);ye&&(ye.pageError=String(k||""))}function ne(k="autopilot"){ce("client.sessionPanel.setSessionMode",{fromMode:d.value,selectedSessionId:String(m.selectedSessionId||""),toMode:k}),p(k)}function A(){ne(I.value)}function J(){o.value=!o.value}function L(){u.value=!0}function se(k={}){const ee=(k==null?void 0:k.globalCodexTerminal)||(k==null?void 0:k.codexTerminal);if(ee&&typeof ee=="object"&&!Array.isArray(ee)){s.value=ee;return}s.value={...s.value||{},commandPreview:String(k.codexTerminalCommandPreview||k.commandPreview||""),id:String(k.codexTerminalSessionId||k.terminalSessionId||k.id||""),status:String(k.codexTerminalStatus||k.status||"")}}function U(k={}){return!!(d.value==="inspect"&&(k!=null&&k.sessionId)&&k.sessionId===m.selectedSessionId)}return _e(d,()=>{ce("client.sessionPanel.sessionMode.changed",{selectedSessionId:String(m.selectedSessionId||""),sessionMode:d.value}),m.selectedSessionId&&v.refreshSessionData()}),_e(()=>m.selectedSessionId,k=>{k||(o.value=!1)}),_e(v.sessions,(k=[])=>{const ee=new Set(k.map(ye=>ye.sessionId));for(const ye of Object.keys(l))ee.has(ye)||delete l[ye]}),(k,ee)=>(g(),z(Tt,{rounded:"lg",class:"studio-ai-sessions studio-screen__panel"},{default:M(()=>[te("div",vp,[E.value?(g(),z(Yt,{key:0,title:"Vibe64 sessions could not load",error:E.value,compact:""},null,8,["error"])):X("",!0),W(Xv,{abandon:O.value,"selected-session-id":c(m).selectedSessionId,"selection-closed":c(m).isClosed,toolbar:c(h)},null,8,["abandon","selected-session-id","selection-closed","toolbar"])]),(g(),z(Aa,{defer:"",to:"#studio-home-app-bar-actions"},[T.value?(g(),q("div",pp,[W(xu,{onGlobalCodexOpen:L,onGlobalCodexUpdate:se}),F.value?(g(),z(ve,{key:0,class:"studio-ai-sessions__autopilot-codex-button",color:o.value?"primary":void 0,"prepend-icon":c(xt),size:"small",type:"button",variant:o.value?"flat":"tonal",onClick:J},{default:M(()=>[...ee[0]||(ee[0]=[re(" Codex terminal ",-1)])]),_:1},8,["color","prepend-icon","variant"])):X("",!0),c(m).selectedSession?(g(),q(Ee,{key:1},[c(d)==="inspect"?(g(),q("div",gp,[b.value?(g(),z(ve,{key:0,class:"studio-ai-sessions__inspect-button",disabled:$.value.diffDisabled,loading:V.value.loading,"prepend-icon":c(On),size:"small",title:$.value.diffTitle,type:"button",variant:"tonal",onClick:V.value.openDialog},{default:M(()=>[...ee[1]||(ee[1]=[re(" Review diff ",-1)])]),_:1},8,["disabled","loading","prepend-icon","title","onClick"])):X("",!0)])):X("",!0),(g(!0),q(Ee,null,Ve(Z.value,ye=>(g(),z(np,{key:`shell:${ye.sessionId}`,session:ye,"show-activator":U(ye),"window-displayed":U(ye)},null,8,["session","show-activator","window-displayed"]))),128)),P.value?(g(),z(Io,{key:`launch:${P.value.sessionId}`,"button-size":"large","button-variant":"flat",busy:!1,class:"studio-ai-sessions__run-controls",prominent:"",session:P.value,"window-displayed":"","workflow-command":""},null,8,["session"])):X("",!0),W(ve,{class:"studio-ai-sessions__mode-switch","prepend-icon":_.value,type:"button",variant:"tonal",onClick:A},{default:M(()=>[re(le(S.value),1)]),_:1},8,["prepend-icon"])],64)):X("",!0)])):X("",!0)])),c(y)&&!c(m).selectedSession?(g(),z(Ji,{key:0,color:"primary",height:"6",indeterminate:"",rounded:""})):c(m).selectedSession?(g(),q("div",bp,[W(Wv,{active:"","autopilot-codex-open":o.value,"global-codex-open":u.value,"global-codex-terminal-state":s.value,"session-data":c(v),"session-id":c(m).selectedSessionId,"session-mode":c(d),onBusyChange:K,onGlobalCodexUpdate:se,onPageErrorChange:ge,onToolbarControlsReady:H},null,8,["autopilot-codex-open","global-codex-open","global-codex-terminal-state","session-data","session-id","session-mode"])])):(g(),q("div",{key:1,class:Fe(["studio-ai-sessions__empty-layout",{"studio-ai-sessions__empty-layout--with-terminal":u.value}])},[W(Tt,{rounded:"lg",border:"",class:"studio-ai-sessions__empty"},{default:M(()=>[...ee[2]||(ee[2]=[te("p",{class:"text-body-2 text-medium-emphasis mb-0"},"No sessions yet.",-1)])]),_:1}),u.value?(g(),z(is,{key:0,"allow-codex-start":!0,class:"studio-ai-sessions__global-codex-terminal","codex-terminal":x,"codex-scope":"global","codex-terminal-state":s.value,"display-mode":"full","show-command-output":!1,onCodexSessionUpdate:se},null,8,["codex-terminal-state"])):X("",!0)],2))]),_:1}))}},yp=ze(hp,[["__scopeId","data-v-6a7c4d67"]]),Sp={class:"generated-ui-screen generated-ui-screen--studio studio-screen d-flex flex-column ga-3"},wp={class:"studio-screen__gate-scroll"},Cp={__name:"index",emits:["page-title-change"],setup(e,{emit:n}){const a=Q(""),t=n,i=Yi(),r=f(()=>i.query.configure==="project");function l(v=""){t("page-title-change",String(v||"").trim())}function o(){a.value=""}function u(v={}){var m;a.value="",l(((m=v==null?void 0:v.projectType)==null?void 0:m.ready)===!0?"Configure project":"Choose project type")}function s(v){a.value=String(v||""),l()}return mt(()=>{l()}),(v,m)=>(g(),q("section",Sp,[a.value?(g(),z(dt,{key:0,type:"error",variant:"tonal",border:"start",class:"studio-screen__alert"},{default:M(()=>[re(le(a.value),1)]),_:1})):X("",!0),te("div",wp,[W(ul,{"configure-project":r.value,onError:s,onMissing:u,onReady:o},{default:M(()=>[W($l,null,{default:M(()=>[W(yp,{onTitleChange:l})]),_:1})]),_:1},8,["configure-project"])])]))}},Op=ze(Cp,[["__scopeId","data-v-24a0e49c"]]);export{Op as default};
|