@muyichengshayu/promptx 0.2.0 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (28) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/apps/runner/src/engines/index.js +13 -3
  3. package/apps/runner/src/engines/shellRunner.js +216 -0
  4. package/apps/runner/src/runManager.js +68 -9
  5. package/apps/server/src/agents/index.js +18 -3
  6. package/apps/server/src/codexRuns.js +24 -7
  7. package/apps/server/src/db.js +2 -0
  8. package/apps/server/src/gitDiff.js +279 -17
  9. package/apps/server/src/internalRoutes.js +8 -1
  10. package/apps/server/src/relayClient.js +5 -1
  11. package/apps/server/src/relayConfig.js +10 -0
  12. package/apps/server/src/runDispatchService.js +44 -13
  13. package/apps/server/src/runEventIngest.js +6 -4
  14. package/apps/server/src/taskRoutes.js +72 -0
  15. package/apps/web/dist/assets/{CodexSessionManagerDialog-BbaObUl_.js → CodexSessionManagerDialog-CELTkz9T.js} +1 -1
  16. package/apps/web/dist/assets/{TaskDiffReviewDialog-ClUn4Ni4.js → TaskDiffReviewDialog-VwZmo00b.js} +1 -1
  17. package/apps/web/dist/assets/WorkbenchSettingsDialog-CThWkZHd.js +1 -0
  18. package/apps/web/dist/assets/WorkbenchView-D6auwJnA.js +60 -0
  19. package/apps/web/dist/assets/index-8vfFmsVl.js +2 -0
  20. package/apps/web/dist/assets/{index-CTHBQ5Ng.css → index-BPfQQtEB.css} +1 -1
  21. package/apps/web/dist/index.html +2 -2
  22. package/package.json +1 -1
  23. package/packages/shared/src/index.js +6 -0
  24. package/packages/shared/src/shellCommands.js +81 -0
  25. package/packages/shared/src/shellCommands.test.js +45 -0
  26. package/apps/web/dist/assets/WorkbenchSettingsDialog-C74C5fs1.js +0 -1
  27. package/apps/web/dist/assets/WorkbenchView-BgfyrrvY.js +0 -57
  28. package/apps/web/dist/assets/index-BIa_ZvMq.js +0 -2
@@ -1 +0,0 @@
1
- import{aD as l,aE as r,aF as e,aQ as a,u as i,aR as V,aS as O,aL as nt,aV as Nt,aI as N,aN as v,c as h,w as Qe,ak as $t,aJ as he,aG as B,aW as z,b2 as Ut,aY as Ft,aX as ke,b3 as It,b as m,r as ve}from"./vendor-misc-u-M8sNMf.js";import{h as J,j as jt,d as Lt,f as Vt,k as Ot}from"./WorkbenchView-BgfyrrvY.js";import{u as at,b as qt,W as Xe,c as At,f as Ht,d as Ze}from"./index-BIa_ZvMq.js";import{b as Kt,K as xe,D as et,E as Wt,g as zt,L as pe,H as tt,t as Jt,J as Gt,x as Yt}from"./vendor-ui-BwEQCho1.js";import"./vendor-markdown-9aQhqbjm.js";import"./vendor-tiptap-rwYdQb1L.js";import"./vendor-router-Dn8q3tJM.js";function Qt(){return J("/api/relay/config",{cache:"no-store"})}function st($){return J("/api/relay/config",{method:"PUT",body:JSON.stringify($)})}function Xt(){return J("/api/relay/reconnect",{method:"POST"})}function Zt(){return J("/api/system/config",{cache:"no-store"})}function es($){return J("/api/system/config",{method:"PUT",body:JSON.stringify($)})}function ts(){return J("/api/diagnostics/runtime",{cache:"no-store"})}const ss={class:"space-y-4"},ns={class:"flex items-center justify-between gap-3"},as={class:"theme-heading text-sm font-medium"},is={class:"theme-toggle-current theme-badge-muted theme-muted-text rounded-sm border border-dashed px-2 py-1 text-[11px]"},os={class:"theme-muted-text theme-note-text mt-1"},ls={class:"space-y-4"},rs={class:"theme-muted-text px-1 text-[10px] font-medium uppercase tracking-[0.16em]"},cs=["onClick"],ds={class:"flex items-start gap-3"},us={class:"mt-0.5 flex items-center gap-1.5"},ms={class:"min-w-0 flex-1"},gs={class:"flex items-center justify-between gap-2"},hs={class:"truncate text-sm font-medium"},vs={class:"theme-muted-text theme-note-text mt-1"},xs={__name:"ThemeToggle",setup($){const{currentTheme:G,setTheme:Y,themes:ie}=qt(),{t:R}=at(),_e=h(()=>{const C=ie.value.filter(x=>x.mode==="light"),oe=ie.value.filter(x=>x.mode==="dark");return[{id:"light",label:R("theme.groupLight"),items:C},{id:"dark",label:R("theme.groupDark"),items:oe}].filter(x=>x.items.length)});function ye(C){Y(C)}function s(C){return R(`theme.description.${C.id}`,{},C.description)}return(C,oe)=>(l(),r("div",ss,[e("div",null,[e("div",ns,[e("div",as,a(i(R)("theme.heading")),1),e("div",is,a(i(R)("theme.currentTheme",{name:i(G).shortName})),1)]),e("div",os,a(i(R)("theme.helper")),1)]),e("div",ls,[(l(!0),r(V,null,O(_e.value,x=>(l(),r("section",{key:x.id,class:"space-y-1.5"},[e("div",rs,a(x.label),1),(l(!0),r(V,null,O(x.items,f=>(l(),r("button",{key:f.id,type:"button",class:nt(["theme-option theme-toggle-card w-full rounded-sm border px-3 py-2 text-left transition",f.id===i(G).id?"theme-option-active":"theme-option-idle"]),onClick:U=>ye(f.id)},[e("div",ds,[e("div",us,[(l(!0),r(V,null,O(f.swatches,(U,S)=>(l(),r("span",{key:`${f.id}-${S}`,class:"h-3 w-3 rounded-full border border-black/10",style:Nt({backgroundColor:U})},null,4))),128))]),e("div",ms,[e("div",gs,[e("span",hs,a(f.shortName),1),f.id===i(G).id?(l(),N(i(Kt),{key:0,class:"h-4 w-4 shrink-0"})):v("",!0)]),e("div",vs,a(s(f)),1)])])],10,cs))),128))]))),128))])]))}},ps={class:"theme-heading inline-flex items-center gap-2 text-sm font-medium"},_s={class:"settings-dialog-content min-h-0 flex-1 overflow-y-auto px-5 py-5"},ys={key:0,class:"space-y-4"},fs={class:"theme-heading inline-flex items-center gap-2 text-base font-medium"},bs={class:"settings-section-card space-y-4 px-4 py-4"},Ds={class:"theme-heading text-sm font-medium"},ks={class:"theme-muted-text mt-1 text-xs leading-5"},ws={class:"grid gap-3"},Cs=["value","onChange"],Rs={class:"min-w-0"},Ss={class:"text-sm font-medium text-[var(--theme-textPrimary)]"},Ts={class:"theme-muted-text mt-1 text-xs leading-5"},Es={key:1,class:"space-y-4"},Ps={class:"theme-heading text-base font-medium"},Ms={class:"theme-muted-text mt-1 text-xs leading-5"},Bs={class:"settings-section-card px-4 py-4"},Ns={class:"settings-section-card space-y-4 px-4 py-4"},$s={class:"theme-heading text-sm font-medium"},Us={class:"theme-muted-text mt-1 text-xs leading-5"},Fs={class:"block space-y-1.5"},Is={class:"theme-muted-text text-xs"},js={class:"truncate text-sm text-[var(--theme-textPrimary)]"},Ls=["onClick"],Vs={class:"flex items-center justify-between gap-3"},Os={class:"min-w-0"},qs={class:"truncate text-[var(--theme-textPrimary)]"},As={class:"theme-muted-text mt-1 truncate text-xs"},Hs={key:0,class:"theme-status-success rounded-sm border border-dashed px-2 py-0.5 text-[10px]"},Ks={class:"theme-muted-text theme-note-text"},Ws={key:2,class:"space-y-4"},zs={class:"flex items-start justify-between gap-3"},Js={class:"theme-heading inline-flex items-center gap-2 text-base font-medium"},Gs={class:"settings-section-card space-y-4 px-4 py-4"},Ys={class:"settings-form-card flex items-center justify-between gap-3 px-3 py-2"},Qs={class:"text-sm font-medium text-[var(--theme-textPrimary)]"},Xs={class:"theme-muted-text mt-1 text-xs"},Zs=["disabled"],en={class:"grid gap-4 sm:grid-cols-2"},tn={class:"space-y-1.5 sm:col-span-2"},sn={class:"theme-muted-text text-xs"},nn=["disabled"],an={class:"space-y-1.5"},on={class:"theme-muted-text text-xs"},ln=["disabled"],rn={class:"space-y-1.5"},cn={class:"theme-muted-text text-xs"},dn={class:"relative"},un=["type","placeholder","disabled"],mn=["disabled"],gn={class:"settings-form-footer flex flex-wrap items-center justify-between gap-3"},hn={class:"min-w-0 space-y-1"},vn={key:0,class:"theme-danger-text theme-note-text"},xn={key:1,class:"theme-status-warning theme-note-text"},pn={key:2,class:"theme-danger-text theme-note-text"},_n={key:3,class:"theme-status-success theme-note-text"},yn={key:4,class:"theme-danger-text theme-note-text"},fn={key:5,class:"theme-muted-text theme-note-text"},bn={key:6,class:"theme-muted-text theme-note-text"},Dn={key:7,class:"theme-muted-text theme-note-text"},kn={key:8,class:"theme-status-success theme-note-text"},wn={key:9,class:"theme-muted-text theme-note-text"},Cn={class:"flex flex-wrap items-center gap-2"},Rn=["disabled"],Sn=["disabled"],Tn=["disabled"],En={key:3,class:"space-y-4"},Pn={class:"theme-heading inline-flex items-center gap-2 text-base font-medium"},Mn={class:"theme-muted-text mt-1 text-xs leading-5"},Bn={class:"settings-section-card space-y-4 px-4 py-4"},Nn={class:"space-y-1.5"},$n={class:"theme-muted-text text-xs"},Un=["disabled"],Fn={class:"theme-muted-text text-xs leading-5"},In={class:"settings-form-footer flex flex-wrap items-center justify-between gap-3"},jn={class:"min-w-0 space-y-1"},Ln={key:0,class:"theme-status-warning theme-note-text"},Vn={key:1,class:"theme-danger-text theme-note-text"},On={key:2,class:"theme-status-success theme-note-text"},qn={key:3,class:"theme-muted-text theme-note-text"},An={class:"flex flex-wrap items-center gap-2"},Hn=["disabled"],Kn={class:"settings-section-card space-y-4 px-4 py-4"},Wn={class:"flex flex-wrap items-start justify-between gap-3"},zn={class:"theme-heading text-sm font-medium"},Jn={class:"theme-muted-text mt-1 text-xs leading-5"},Gn={class:"flex flex-wrap items-center gap-2"},Yn=["disabled"],Qn={class:"min-w-0 space-y-1"},Xn={key:0,class:"theme-danger-text theme-note-text"},Zn={key:1,class:"theme-status-success theme-note-text"},ea={key:2,class:"theme-muted-text theme-note-text"},ta={key:0,class:"grid gap-3 sm:grid-cols-2 xl:grid-cols-4"},sa={class:"settings-form-card space-y-1 px-3 py-3"},na={class:"theme-heading text-lg font-medium"},aa={class:"theme-muted-text text-xs"},ia={class:"settings-form-card space-y-1 px-3 py-3"},oa={class:"theme-heading text-lg font-medium"},la={class:"theme-muted-text text-xs"},ra={class:"settings-form-card space-y-1 px-3 py-3"},ca={class:"theme-heading text-lg font-medium"},da={class:"theme-muted-text text-xs"},ua={class:"settings-form-card space-y-1 px-3 py-3"},ma={class:"theme-heading text-lg font-medium"},ga={class:"theme-muted-text text-xs"},ha={key:1,class:"grid gap-3 sm:grid-cols-2 xl:grid-cols-4"},va={class:"settings-form-card space-y-1 px-3 py-3"},xa={class:"theme-heading text-lg font-medium"},pa={class:"theme-muted-text text-xs"},_a={class:"settings-form-card space-y-1 px-3 py-3"},ya={class:"theme-heading text-lg font-medium"},fa={class:"theme-muted-text text-xs"},ba={class:"settings-form-card space-y-1 px-3 py-3"},Da={class:"theme-heading text-lg font-medium"},ka={class:"theme-muted-text text-xs"},wa={class:"settings-form-card space-y-1 px-3 py-3"},Ca={class:"theme-heading text-lg font-medium"},Ra={class:"theme-muted-text text-xs"},Sa={key:2,class:"grid gap-3 sm:grid-cols-2 xl:grid-cols-3"},Ta={class:"settings-form-card space-y-1 px-3 py-3"},Ea={class:"theme-heading text-lg font-medium"},Pa={class:"theme-muted-text text-xs"},Ma={class:"settings-form-card space-y-1 px-3 py-3"},Ba={class:"theme-heading text-lg font-medium"},Na={class:"theme-muted-text text-xs"},$a={class:"settings-form-card space-y-1 px-3 py-3"},Ua={class:"theme-heading text-sm font-medium"},Fa={class:"theme-muted-text text-xs"},Ia={class:"grid gap-4 lg:grid-cols-2"},ja={class:"settings-form-card space-y-3 px-3 py-3"},La={class:"theme-heading text-sm font-medium"},Va={class:"space-y-2 text-xs"},Oa={class:"flex items-center justify-between gap-3"},qa={class:"truncate text-right text-[var(--theme-textPrimary)]"},Aa={class:"flex items-center justify-between gap-3"},Ha={class:"text-right text-[var(--theme-textPrimary)]"},Ka={class:"flex items-center justify-between gap-3"},Wa={class:"text-right text-[var(--theme-textPrimary)]"},za={class:"flex items-center justify-between gap-3"},Ja={class:"text-right text-[var(--theme-textPrimary)]"},Ga={class:"flex items-center justify-between gap-3"},Ya={class:"text-right text-[var(--theme-textPrimary)]"},Qa={class:"settings-form-card space-y-3 px-3 py-3"},Xa={class:"theme-heading text-sm font-medium"},Za={class:"space-y-2 text-xs"},ei={class:"theme-muted-text"},ti={class:"text-[var(--theme-textPrimary)]"},si={key:3,class:"settings-form-card space-y-3 px-3 py-3"},ni={class:"theme-heading text-sm font-medium"},ai={class:"grid gap-2 sm:grid-cols-2 xl:grid-cols-3 text-xs"},ii={class:"theme-muted-text"},oi={class:"text-[var(--theme-textPrimary)]"},li={key:4,class:"settings-form-card space-y-2 px-3 py-3"},ri={class:"theme-heading text-sm font-medium"},ci={class:"theme-muted-text text-xs leading-5"},di={class:"theme-muted-text text-xs leading-5"},ui={key:4,class:"space-y-4"},mi={class:"theme-heading inline-flex items-center gap-2 text-base font-medium"},gi={class:"theme-muted-text mt-1 text-xs leading-5"},hi={class:"settings-section-card space-y-3 px-4 py-4"},vi={class:"min-w-0"},xi={class:"text-sm font-medium text-[var(--theme-textPrimary)]"},pi={class:"theme-muted-text mt-1 text-xs leading-5"},_i={class:"flex flex-wrap items-center gap-2"},yi={class:"rounded-sm border border-dashed border-[var(--theme-borderDefault)] px-2.5 py-1 text-xs font-medium text-[var(--theme-textPrimary)]"},fi={class:"rounded-sm border border-dashed border-[var(--theme-borderDefault)] px-2.5 py-1 text-xs font-medium text-[var(--theme-textPrimary)]"},bi={class:"theme-muted-text theme-note-text"},Di={key:5,class:"space-y-4"},ki={class:"theme-heading text-base font-medium"},wi={class:"theme-muted-text mt-1 text-xs leading-5"},Ci={class:"settings-section-card px-4 py-4"},Ri={class:"flex items-center justify-between gap-3"},Si={class:"theme-heading text-sm font-medium"},Ti={class:"theme-muted-text mt-1 text-xs leading-5"},Ei={class:"theme-badge-strong rounded-sm border border-dashed px-2.5 py-1 text-xs font-medium"},ji={__name:"WorkbenchSettingsDialog",props:{open:{type:Boolean,default:!1}},emits:["close"],setup($,{emit:G}){const Y=$,ie=G,{locale:R,localeOptions:_e,setLocale:ye,t:s}=at(),{getPreference:C,setPreference:oe}=At(),x=m(""),f=m(!1),U=m(""),S=m(!1),F=m(!1),T=m(!1),_=m(""),D=m(""),le=m(!1),q=m(!1),A=m(""),Q=m(""),H=m(!1),X=m(""),k=m(null),u=m(null),y=m(!1),K=ve({runnerMaxConcurrentRuns:!1}),Z=m(!1),re=m(!1),ce=m(!1),de=m(!1),d=ve({enabled:!1,relayUrl:"",deviceId:"",deviceToken:""}),W=ve({runnerMaxConcurrentRuns:3}),fe=ve({sendBehavior:""}),w=m("general");let I=null,j=null,ue=null;const it=h(()=>[{id:"general",label:s("settingsDialog.general.sectionLabel"),description:s("settingsDialog.general.sectionDescription"),icon:xe},{id:"theme",label:s("theme.title"),description:s("theme.sectionDescription"),icon:Gt},{id:"relay",label:s("settingsDialog.relay.sectionLabel"),description:s("settingsDialog.relay.sectionDescription"),icon:et},{id:"system",label:s("settingsDialog.system.sectionLabel"),description:s("settingsDialog.system.sectionDescription"),icon:tt},{id:"shortcuts",label:s("settingsDialog.shortcuts.sectionLabel"),description:s("settingsDialog.shortcuts.sectionDescription"),icon:xe},{id:"about",label:s("settingsDialog.about.sectionLabel"),description:s("settingsDialog.about.sectionDescription"),icon:Yt}]),ot=h(()=>Ze.map(t=>({value:t.value,label:s(t.labelKey),description:s(t.descriptionKey)})));function lt(t=null,n=""){const o=String((t==null?void 0:t.messageKey)||"").trim();if(o){const g=s(o);if(g&&g!==o)return g}return String((t==null?void 0:t.message)||"").trim()||(n?s(n):"")}function me(t="",n=""){const o=String(t||"").trim();if(o){const g=`settingsDialog.relay.reason.${o}`,b=s(g);if(b!==g)return b}return String(n||"").trim()||s("common.notAvailable")}function rt(t=null){const n=String((t==null?void 0:t.type)||"").trim()||"unknown",o=`settingsDialog.relay.event.${n}`,g=s(o);return g!==o?g:n}function ct(t=null){const n=String((t==null?void 0:t.lastErrorKey)||"").trim(),o=t!=null&&t.lastErrorParams&&typeof t.lastErrorParams=="object"?t.lastErrorParams:{};return n==="connect_failed"?s("settingsDialog.relay.error.connect_failed"):n==="disconnected"?s("settingsDialog.relay.error.disconnected",{reason:me(o.reasonCode,t==null?void 0:t.lastCloseReason)}):n==="rejected"?s("settingsDialog.relay.error.rejected",{reason:me(o.reasonCode,t==null?void 0:t.lastCloseReason)}):n==="closed_with_code"?s("settingsDialog.relay.error.closedWithCode",{code:o.code||(t==null?void 0:t.lastCloseCode)||0}):String((t==null?void 0:t.lastError)||"").trim()}const dt=h(()=>{var t,n,o,g;return T.value?s("settingsDialog.relay.status.reconnecting"):F.value||Z.value?s("settingsDialog.relay.status.saving"):S.value?s("settingsDialog.relay.status.loading"):(t=u.value)!=null&&t.reconnectPaused?s("settingsDialog.relay.status.paused"):(n=u.value)!=null&&n.connected?s("settingsDialog.relay.status.connected"):(((o=u.value)==null?void 0:o.enabled)??d.enabled)&&Number(((g=u.value)==null?void 0:g.nextReconnectDelayMs)||0)>0?s("settingsDialog.relay.status.waitingReconnect"):d.enabled?s("settingsDialog.relay.status.disconnected"):s("settingsDialog.relay.status.disabled")}),ut=h(()=>{var t,n;return(t=u.value)!=null&&t.reconnectPaused?"theme-status-danger":(n=u.value)!=null&&n.connected?"theme-status-success":d.enabled?"theme-status-warning":"theme-status-neutral"}),mt=h(()=>[{id:"open-settings",label:s("settingsDialog.shortcuts.openSettingsTitle"),description:s("settingsDialog.shortcuts.openSettingsDescription"),mac:"⌘ ⇧ ,",windows:"Ctrl + Shift + ,"},{id:"open-project-manager",label:s("settingsDialog.shortcuts.openProjectManagerTitle"),description:s("settingsDialog.shortcuts.openProjectManagerDescription"),mac:"⌘ ⇧ K",windows:"Ctrl + Shift + K"},{id:"open-source-browser",label:s("settingsDialog.shortcuts.openSourceBrowserTitle"),description:s("settingsDialog.shortcuts.openSourceBrowserDescription"),mac:"⌘ ⇧ O",windows:"Ctrl + Shift + O"},{id:"open-diff-review",label:s("settingsDialog.shortcuts.openDiffReviewTitle"),description:s("settingsDialog.shortcuts.openDiffReviewDescription"),mac:"⌘ ⇧ D",windows:"Ctrl + Shift + D"},{id:"close-top-dialog",label:s("settingsDialog.shortcuts.closeTopDialogTitle"),description:s("settingsDialog.shortcuts.closeTopDialogDescription"),mac:"Esc",windows:"Esc"}]),gt=h(()=>{var t,n,o;return!y.value&&!_.value&&!D.value&&!((t=u.value)!=null&&t.lastError)&&!((n=u.value)!=null&&n.lastCloseReason)&&!((o=u.value)!=null&&o.lastConnectedAt)}),ht=h(()=>{const t=d.deviceToken?`${"*".repeat(Math.max(0,d.deviceToken.length-4))}${d.deviceToken.slice(-4)}`:"";return JSON.stringify({generatedAt:new Date().toISOString(),source:"local-settings",config:{enabled:d.enabled,relayUrl:d.relayUrl,deviceId:d.deviceId,deviceTokenMasked:t,managedByEnv:y.value},status:u.value||null},null,2)}),L=h(()=>{var t,n;return((n=(t=k.value)==null?void 0:t.runner)==null?void 0:n.runner)||null}),ee=h(()=>{var t,n;return!!((n=(t=k.value)==null?void 0:t.runner)!=null&&n.ok&&L.value)}),p=h(()=>{var t;return((t=L.value)==null?void 0:t.metrics)||null}),we=h(()=>{var t;return((t=k.value)==null?void 0:t.recovery)||null}),Ce=h(()=>{var t;return((t=k.value)==null?void 0:t.maintenance)||null}),vt=h(()=>{var t;return((t=k.value)==null?void 0:t.gitDiffWorker)||null}),xt=h(()=>JSON.stringify({generatedAt:new Date().toISOString(),source:"local-settings",config:{runner:{maxConcurrentRuns:W.runnerMaxConcurrentRuns,managedByEnv:K.runnerMaxConcurrentRuns}},diagnostics:k.value||null},null,2));function te(t){const n=String(t||"").trim();if(!n)return s("common.notAvailable");const o=new Date(n);return Number.isNaN(o.getTime())?n:Ht(o.toISOString(),{year:"numeric",month:"numeric",day:"numeric",hour:"2-digit",minute:"2-digit",second:"2-digit"})}const pt=h(()=>{var t,n,o,g,b,E,P,M;return[{key:"queued_cancelled",label:s("settingsDialog.system.stopReasons.queued_cancelled"),value:Math.max(0,Number((n=(t=p.value)==null?void 0:t.stopReasons)==null?void 0:n.queued_cancelled)||0)},{key:"user_requested",label:s("settingsDialog.system.stopReasons.user_requested"),value:Math.max(0,Number((g=(o=p.value)==null?void 0:o.stopReasons)==null?void 0:g.user_requested)||0)},{key:"user_requested_after_error",label:s("settingsDialog.system.stopReasons.user_requested_after_error"),value:Math.max(0,Number((E=(b=p.value)==null?void 0:b.stopReasons)==null?void 0:E.user_requested_after_error)||0)},{key:"stop_timeout",label:s("settingsDialog.system.stopReasons.stop_timeout"),value:Math.max(0,Number((M=(P=p.value)==null?void 0:P.stopReasons)==null?void 0:M.stop_timeout)||0)}]}),_t=h(()=>{var t,n,o,g,b,E,P,M,ne,ae;return[{key:"runner_timeout_without_stop_request",label:s("settingsDialog.system.stopTimeoutPhases.runner_timeout_without_stop_request"),value:Math.max(0,Number((n=(t=p.value)==null?void 0:t.stopTimeoutPhases)==null?void 0:n.runner_timeout_without_stop_request)||0)},{key:"runner_timeout_before_cancel",label:s("settingsDialog.system.stopTimeoutPhases.runner_timeout_before_cancel"),value:Math.max(0,Number((g=(o=p.value)==null?void 0:o.stopTimeoutPhases)==null?void 0:g.runner_timeout_before_cancel)||0)},{key:"cli_not_exiting",label:s("settingsDialog.system.stopTimeoutPhases.cli_not_exiting"),value:Math.max(0,Number((E=(b=p.value)==null?void 0:b.stopTimeoutPhases)==null?void 0:E.cli_not_exiting)||0)},{key:"os_kill_slow",label:s("settingsDialog.system.stopTimeoutPhases.os_kill_slow"),value:Math.max(0,Number((M=(P=p.value)==null?void 0:P.stopTimeoutPhases)==null?void 0:M.os_kill_slow)||0)},{key:"runner_finalize_after_exit",label:s("settingsDialog.system.stopTimeoutPhases.runner_finalize_after_exit"),value:Math.max(0,Number((ae=(ne=p.value)==null?void 0:ne.stopTimeoutPhases)==null?void 0:ae.runner_finalize_after_exit)||0)}]}),yt=h(()=>_e.value.map(t=>({value:t.value,label:t.value==="zh-CN"?s("locale.zhHans"):s("locale.enUs"),englishLabel:t.englishLabel})));async function ft(){f.value=!0,U.value="";try{const t=await Ot(),n=String((t==null?void 0:t.version)||"").trim();x.value=n,n||(U.value=s("settingsDialog.about.versionPending"))}catch(t){x.value="",U.value=(t==null?void 0:t.message)||s("settingsDialog.about.versionLoadFailed")}finally{f.value=!1}}function be(t={}){d.enabled=!!(t!=null&&t.enabled),d.relayUrl=String((t==null?void 0:t.relayUrl)||""),d.deviceId=String((t==null?void 0:t.deviceId)||""),d.deviceToken=String((t==null?void 0:t.deviceToken)||"")}function Re(t={}){var n;W.runnerMaxConcurrentRuns=Math.max(1,Number((n=t==null?void 0:t.runner)==null?void 0:n.maxConcurrentRuns)||3)}function bt(){var t;fe.sendBehavior=String(C(Xe.SEND_BEHAVIOR)||((t=Ze[1])==null?void 0:t.value)||"")}async function Se(){S.value=!0,_.value="",D.value="";try{const t=await Qt();be((t==null?void 0:t.config)||{}),y.value=!!(t!=null&&t.managedByEnv),u.value=(t==null?void 0:t.relay)||null}catch(t){_.value=(t==null?void 0:t.message)||s("settingsDialog.relay.relayConfigLoadFailed"),u.value=null}finally{S.value=!1}}async function Dt(){var t,n;le.value=!0,A.value="",Q.value="";try{const o=await Zt();Re((o==null?void 0:o.config)||{}),K.runnerMaxConcurrentRuns=!!((n=(t=o==null?void 0:o.managedByEnv)==null?void 0:t.runner)!=null&&n.maxConcurrentRuns),se()}catch(o){A.value=(o==null?void 0:o.message)||s("settingsDialog.system.systemConfigLoadFailed")}finally{le.value=!1}}async function se(){H.value=!0,X.value="";try{k.value=await ts()}catch(t){X.value=(t==null?void 0:t.message)||s("settingsDialog.system.systemDiagnosticsLoadFailed")}finally{H.value=!1}}async function kt(){F.value=!0,_.value="",D.value="";try{const t=await st({enabled:d.enabled,relayUrl:d.relayUrl,deviceId:d.deviceId,deviceToken:d.deviceToken});be((t==null?void 0:t.config)||{}),y.value=!!(t!=null&&t.managedByEnv),u.value=(t==null?void 0:t.relay)||null,D.value=d.enabled?s("settingsDialog.relay.relayConfigSavedEnabled"):s("settingsDialog.relay.relayConfigSavedDisabled")}catch(t){_.value=(t==null?void 0:t.message)||s("settingsDialog.relay.relayConfigSaveFailed")}finally{F.value=!1}}async function wt(){T.value=!0,_.value="",D.value="";try{const t=await Xt();u.value=(t==null?void 0:t.relay)||null,D.value=s("settingsDialog.relay.relayReconnectTriggered"),setTimeout(()=>{Se()},1200)}catch(t){_.value=(t==null?void 0:t.message)||s("settingsDialog.relay.relayReconnectFailed")}finally{T.value=!1}}async function Ct(){var t,n;q.value=!0,A.value="",Q.value="";try{const o=await es({runner:{maxConcurrentRuns:W.runnerMaxConcurrentRuns}});Re((o==null?void 0:o.config)||{}),K.runnerMaxConcurrentRuns=!!((n=(t=o==null?void 0:o.managedByEnv)==null?void 0:t.runner)!=null&&n.maxConcurrentRuns),Q.value=s("settingsDialog.system.systemConfigSaved"),se()}catch(o){A.value=(o==null?void 0:o.message)||s("settingsDialog.system.systemConfigSaveFailed")}finally{q.value=!1}}function Rt(){return!!(String(d.relayUrl||"").trim()&&String(d.deviceId||"").trim()&&String(d.deviceToken||"").trim())}async function St(){var t;if(!y.value){if(_.value="",D.value="",d.enabled&&!Rt()){d.enabled=!1,_.value=s("settingsDialog.relay.relayFieldsRequired");return}Z.value=!0;try{const n=await st({enabled:d.enabled,relayUrl:d.relayUrl,deviceId:d.deviceId,deviceToken:d.deviceToken});be((n==null?void 0:n.config)||{}),y.value=!!(n!=null&&n.managedByEnv),u.value=(n==null?void 0:n.relay)||null,D.value=d.enabled?s("settingsDialog.relay.relayEnabledSaved"):s("settingsDialog.relay.relayConfigSavedDisabled")}catch(n){d.enabled=!!((t=u.value)!=null&&t.enabled),_.value=(n==null?void 0:n.message)||s("settingsDialog.relay.relayToggleFailed")}finally{Z.value=!1}}}async function Te(t){var o;if((o=navigator.clipboard)!=null&&o.writeText&&window.isSecureContext){await navigator.clipboard.writeText(t);return}const n=document.createElement("textarea");n.value=t,n.setAttribute("readonly","true"),n.style.position="fixed",n.style.opacity="0",n.style.pointerEvents="none",document.body.appendChild(n),n.select(),document.execCommand("copy"),document.body.removeChild(n)}async function Tt(){try{await Te(ht.value),ce.value=!0,I&&clearTimeout(I),I=setTimeout(()=>{ce.value=!1,I=null},2e3)}catch(t){_.value=(t==null?void 0:t.message)||s("settingsDialog.relay.relayDiagnosticsCopyFailed")}}async function Et(){try{await Te(xt.value),de.value=!0,j&&clearTimeout(j),j=setTimeout(()=>{de.value=!1,j=null},2e3)}catch(t){X.value=(t==null?void 0:t.message)||s("settingsDialog.system.systemDiagnosticsCopyFailed")}}function Pt(t){ye(t)}function De(){ue&&(clearInterval(ue),ue=null)}function Mt(){De(),!(!Y.open||w.value!=="system")&&(se(),ue=setInterval(()=>{se()},5e3))}return Qe(()=>Y.open,t=>{if(t){w.value="general",bt(),ft(),Se(),Dt();return}},{immediate:!0}),Qe([()=>Y.open,w],([t,n])=>{if(t&&n==="system"){Mt();return}De()},{immediate:!0}),$t(()=>{I&&(clearTimeout(I),I=null),j&&(clearTimeout(j),j=null),De()}),(t,n)=>(l(),N(Vt,{open:$.open,"stack-level":2,"panel-class":"settings-dialog-panel h-full max-w-5xl sm:h-[42rem] sm:max-h-[88vh]","header-class":"settings-dialog-header px-5 py-4","body-class":"settings-dialog-body min-h-0 flex flex-1 flex-col sm:flex-row",onClose:n[8]||(n[8]=o=>ie("close"))},{title:he(()=>[e("div",ps,[B(i(Jt),{class:"h-4 w-4"}),e("span",null,a(i(s)("common.settings")),1)])]),default:he(()=>{var o,g,b,E,P,M,ne,ae,Ee,Pe,Me,Be,Ne,$e,Ue,Fe,Ie,je,Le,Ve,Oe,qe,Ae,He,Ke,We,ze,Je,Ge,Ye;return[B(jt,{modelValue:w.value,"onUpdate:modelValue":n[0]||(n[0]=c=>w.value=c),sections:it.value},null,8,["modelValue","sections"]),e("div",_s,[w.value==="general"?(l(),r("section",ys,[e("div",null,[e("div",fs,[B(i(xe),{class:"h-4 w-4"}),e("span",null,a(i(s)("settingsDialog.general.title")),1)])]),e("section",bs,[e("div",null,[e("div",Ds,a(i(s)("settingsDialog.general.sendBehavior.title")),1),e("p",ks,a(i(s)("settingsDialog.general.sendBehavior.description")),1)]),e("div",ws,[(l(!0),r(V,null,O(ot.value,c=>(l(),r("label",{key:c.value,class:"settings-form-card flex items-start gap-3 px-3 py-3"},[z(e("input",{"onUpdate:modelValue":n[1]||(n[1]=ge=>fe.sendBehavior=ge),value:c.value,type:"radio",name:"workbench-send-behavior",class:"mt-0.5 h-4 w-4",onChange:ge=>i(oe)(i(Xe).SEND_BEHAVIOR,c.value)},null,40,Cs),[[Ut,fe.sendBehavior]]),e("div",Rs,[e("div",Ss,a(c.label),1),e("p",Ts,a(c.description),1)])]))),128))])])])):w.value==="theme"?(l(),r("section",Es,[e("div",null,[e("div",Ps,a(i(s)("theme.title")),1),e("p",Ms,a(i(s)("theme.sectionDescription")),1)]),e("section",Bs,[B(xs)]),e("section",Ns,[e("div",null,[e("div",$s,a(i(s)("locale.title")),1),e("p",Us,a(i(s)("locale.description")),1)]),e("label",Fs,[e("span",Is,a(i(s)("locale.field")),1),B(Lt,{"model-value":i(R),options:yt.value,"get-option-value":c=>c.value,"onUpdate:modelValue":Pt},{trigger:he(({selectedOption:c})=>[e("div",js,a((c==null?void 0:c.label)||i(s)("common.select")),1)]),option:he(({option:c,selected:ge,select:Bt})=>[e("button",{type:"button",class:"workbench-select-option theme-filter-idle w-full rounded-sm border border-dashed px-3 py-2 text-left text-sm",onClick:Pi=>Bt()},[e("div",Vs,[e("div",Os,[e("div",qs,a(c.label),1),e("div",As,a(c.englishLabel),1)]),ge?(l(),r("span",Hs,a(i(s)("common.enabled")),1)):v("",!0)])],8,Ls)]),_:1},8,["model-value","options","get-option-value"])]),e("p",Ks,a(i(s)("locale.immediateHint")),1)])])):w.value==="relay"?(l(),r("section",Ws,[e("div",zs,[e("div",null,[e("div",Js,[B(i(et),{class:"h-4 w-4"}),e("span",null,a(i(s)("settingsDialog.relay.title")),1)])]),e("span",{class:nt(["rounded-sm border border-dashed px-2.5 py-1 text-xs font-medium",ut.value])},a(dt.value),3)]),e("section",Gs,[e("label",Ys,[e("div",null,[e("div",Qs,a(i(s)("settingsDialog.relay.enableTitle")),1),e("p",Xs,a(i(s)("settingsDialog.relay.enableDescription")),1)]),z(e("input",{"onUpdate:modelValue":n[2]||(n[2]=c=>d.enabled=c),type:"checkbox",class:"h-4 w-4",disabled:y.value,onChange:St},null,40,Zs),[[Ft,d.enabled]])]),e("div",en,[e("label",tn,[e("span",sn,a(i(s)("settingsDialog.relay.relayUrl")),1),z(e("input",{"onUpdate:modelValue":n[3]||(n[3]=c=>d.relayUrl=c),type:"text",placeholder:"https://user1.promptx.example.com",class:"tool-input",disabled:y.value},null,8,nn),[[ke,d.relayUrl]])]),e("label",an,[e("span",on,a(i(s)("settingsDialog.relay.deviceId")),1),z(e("input",{"onUpdate:modelValue":n[4]||(n[4]=c=>d.deviceId=c),type:"text",placeholder:"my-macbook",class:"tool-input",disabled:y.value},null,8,ln),[[ke,d.deviceId]])]),e("label",rn,[e("span",cn,a(i(s)("settingsDialog.relay.deviceToken")),1),e("div",dn,[z(e("input",{"onUpdate:modelValue":n[5]||(n[5]=c=>d.deviceToken=c),type:re.value?"text":"password",placeholder:i(s)("settingsDialog.relay.deviceTokenPlaceholder"),class:"tool-input pr-10",disabled:y.value},null,8,un),[[It,d.deviceToken]]),e("button",{type:"button",class:"theme-icon-button absolute inset-y-1 right-1 flex h-auto w-8 items-center justify-center",disabled:y.value,onClick:n[6]||(n[6]=c=>re.value=!re.value)},[re.value?(l(),N(i(zt),{key:1,class:"h-4 w-4"})):(l(),N(i(Wt),{key:0,class:"h-4 w-4"}))],8,mn)])])]),e("div",gn,[e("div",hn,[(o=u.value)!=null&&o.reconnectPausedReason?(l(),r("p",vn,a(i(s)("settingsDialog.relay.pausedReconnect",{reason:me(u.value.reconnectPausedReasonCode,u.value.reconnectPausedReason)})),1)):v("",!0),y.value?(l(),r("p",xn,a(i(s)("settingsDialog.relay.managedByEnv")),1)):v("",!0),_.value?(l(),r("p",pn,a(_.value),1)):D.value?(l(),r("p",_n,a(D.value),1)):(g=u.value)!=null&&g.lastError?(l(),r("p",yn,a(i(s)("settingsDialog.relay.lastError",{value:ct(u.value)})),1)):(b=u.value)!=null&&b.lastCloseReason?(l(),r("p",fn,a(i(s)("settingsDialog.relay.lastClosed",{reason:me(u.value.lastCloseReasonCode,u.value.lastCloseReason),code:u.value.lastCloseCode})),1)):(E=u.value)!=null&&E.lastConnectedAt?(l(),r("p",bn,a(i(s)("settingsDialog.relay.lastConnected",{value:te(u.value.lastConnectedAt)})),1)):v("",!0),(M=(P=u.value)==null?void 0:P.recentEvents)!=null&&M.length?(l(),r("p",Dn,a(i(s)("settingsDialog.relay.recentEvent",{value:rt(u.value.recentEvents[0])})),1)):v("",!0),ce.value?(l(),r("p",kn,a(i(s)("settingsDialog.relay.copied")),1)):v("",!0),gt.value?(l(),r("p",wn,a(i(s)("settingsDialog.relay.defaultHint")),1)):v("",!0)]),e("div",Cn,[e("button",{type:"button",class:"tool-button inline-flex items-center gap-2 px-3 py-2 text-xs",disabled:S.value||F.value||Z.value||T.value||!(((ne=u.value)==null?void 0:ne.enabled)??d.enabled),onClick:wt},[T.value?(l(),N(i(pe),{key:0,class:"h-4 w-4 animate-spin"})):v("",!0),e("span",null,a(T.value?i(s)("settingsDialog.relay.reconnecting"):i(s)("settingsDialog.relay.reconnectNow")),1)],8,Rn),e("button",{type:"button",class:"tool-button inline-flex items-center gap-2 px-3 py-2 text-xs",disabled:S.value||T.value,onClick:Tt},[e("span",null,a(ce.value?i(s)("settingsDialog.relay.diagnosticsCopied"):i(s)("settingsDialog.relay.copyDiagnostics")),1)],8,Sn),e("button",{type:"button",class:"tool-button tool-button-primary inline-flex items-center gap-2 px-3 py-2 text-xs",disabled:S.value||F.value||Z.value||T.value||y.value,onClick:kt},[F.value?(l(),N(i(pe),{key:0,class:"h-4 w-4 animate-spin"})):v("",!0),e("span",null,a(F.value?i(s)("common.saving"):i(s)("settingsDialog.relay.saveConfig")),1)],8,Tn)])])])])):w.value==="system"?(l(),r("section",En,[e("div",null,[e("div",Pn,[B(i(tt),{class:"h-4 w-4"}),e("span",null,a(i(s)("settingsDialog.system.title")),1)]),e("p",Mn,a(i(s)("settingsDialog.system.intro")),1)]),e("section",Bn,[e("label",Nn,[e("span",$n,a(i(s)("settingsDialog.system.maxConcurrentRuns")),1),z(e("input",{"onUpdate:modelValue":n[7]||(n[7]=c=>W.runnerMaxConcurrentRuns=c),type:"number",min:"1",max:"16",step:"1",class:"tool-input",disabled:K.runnerMaxConcurrentRuns||le.value||q.value},null,8,Un),[[ke,W.runnerMaxConcurrentRuns,void 0,{number:!0}]]),e("p",Fn,a(i(s)("settingsDialog.system.maxConcurrentRunsHint")),1)]),e("div",In,[e("div",jn,[K.runnerMaxConcurrentRuns?(l(),r("p",Ln,a(i(s)("settingsDialog.system.managedByEnv")),1)):A.value?(l(),r("p",Vn,a(A.value),1)):Q.value?(l(),r("p",On,a(Q.value),1)):(l(),r("p",qn,a(i(s)("settingsDialog.system.diagnosticsHint")),1))]),e("div",An,[e("button",{type:"button",class:"tool-button tool-button-primary inline-flex items-center gap-2 px-3 py-2 text-xs",disabled:K.runnerMaxConcurrentRuns||le.value||q.value,onClick:Ct},[q.value?(l(),N(i(pe),{key:0,class:"h-4 w-4 animate-spin"})):v("",!0),e("span",null,a(q.value?i(s)("common.saving"):i(s)("settingsDialog.system.saveConfig")),1)],8,Hn)])])]),e("section",Kn,[e("div",Wn,[e("div",null,[e("div",zn,a(i(s)("settingsDialog.system.runtimeDiagnostics")),1),e("p",Jn,a(i(s)("settingsDialog.system.runtimeDiagnosticsHint")),1)]),e("div",Gn,[e("button",{type:"button",class:"tool-button inline-flex items-center gap-2 px-3 py-2 text-xs",disabled:H.value,onClick:se},[H.value?(l(),N(i(pe),{key:0,class:"h-4 w-4 animate-spin"})):v("",!0),e("span",null,a(H.value?i(s)("settingsDialog.system.refreshingDiagnostics"):i(s)("settingsDialog.system.refreshDiagnostics")),1)],8,Yn),e("button",{type:"button",class:"tool-button inline-flex items-center gap-2 px-3 py-2 text-xs",onClick:Et},[e("span",null,a(de.value?i(s)("settingsDialog.system.diagnosticsCopied"):i(s)("settingsDialog.system.copyDiagnostics")),1)])])]),e("div",Qn,[X.value?(l(),r("p",Xn,a(X.value),1)):de.value?(l(),r("p",Zn,a(i(s)("settingsDialog.system.diagnosticsCopiedHint")),1)):(l(),r("p",ea,a(i(s)("settingsDialog.system.diagnosticsHint")),1))]),ee.value?(l(),r("div",ta,[e("div",sa,[n[9]||(n[9]=e("div",{class:"theme-muted-text text-xs"},"active",-1)),e("div",na,a(((ae=L.value)==null?void 0:ae.activeRunCount)||0),1),e("p",aa,a(i(s)("settingsDialog.system.active")),1)]),e("div",ia,[n[10]||(n[10]=e("div",{class:"theme-muted-text text-xs"},"tracked",-1)),e("div",oa,a(((Ee=L.value)==null?void 0:Ee.trackedRunCount)||0),1),e("p",la,a(i(s)("settingsDialog.system.tracked")),1)]),e("div",ra,[n[11]||(n[11]=e("div",{class:"theme-muted-text text-xs"},"queued",-1)),e("div",ca,a(((Pe=L.value)==null?void 0:Pe.queuedRunCount)||0),1),e("p",da,a(i(s)("settingsDialog.system.queued")),1)]),e("div",ua,[n[12]||(n[12]=e("div",{class:"theme-muted-text text-xs"},"maxConcurrent",-1)),e("div",ma,a(((Be=(Me=L.value)==null?void 0:Me.config)==null?void 0:Be.maxConcurrentRuns)||W.runnerMaxConcurrentRuns),1),e("p",ga,a(i(s)("settingsDialog.system.maxConcurrent")),1)])])):v("",!0),ee.value?(l(),r("div",ha,[e("div",va,[n[13]||(n[13]=e("div",{class:"theme-muted-text text-xs"},"completed",-1)),e("div",xa,a(((Ne=p.value)==null?void 0:Ne.totalCompleted)||0),1),e("p",pa,a(i(s)("settingsDialog.system.completed")),1)]),e("div",_a,[n[14]||(n[14]=e("div",{class:"theme-muted-text text-xs"},"stopped",-1)),e("div",ya,a((($e=p.value)==null?void 0:$e.totalStopped)||0),1),e("p",fa,a(i(s)("settingsDialog.system.stopped")),1)]),e("div",ba,[n[15]||(n[15]=e("div",{class:"theme-muted-text text-xs"},"error",-1)),e("div",Da,a(((Ue=p.value)==null?void 0:Ue.totalErrored)||0),1),e("p",ka,a(i(s)("settingsDialog.system.error")),1)]),e("div",wa,[n[16]||(n[16]=e("div",{class:"theme-muted-text text-xs"},"stop_timeout",-1)),e("div",Ca,a(((Fe=p.value)==null?void 0:Fe.totalStopTimeout)||0),1),e("p",Ra,a(i(s)("settingsDialog.system.stopTimeout")),1)])])):v("",!0),ee.value?(l(),r("div",Sa,[e("div",Ta,[n[17]||(n[17]=e("div",{class:"theme-muted-text text-xs"},"event flush failures",-1)),e("div",Ea,a(((Ie=p.value)==null?void 0:Ie.eventFlushFailureCount)||0),1),e("p",Pa,a(i(s)("settingsDialog.system.eventWriteFailures")),1)]),e("div",Ma,[n[18]||(n[18]=e("div",{class:"theme-muted-text text-xs"},"recovered runs",-1)),e("div",Ba,a(((Le=(je=we.value)==null?void 0:je.metrics)==null?void 0:Le.totalRecovered)||0),1),e("p",Na,a(i(s)("settingsDialog.system.recoveredRuns")),1)]),e("div",$a,[n[19]||(n[19]=e("div",{class:"theme-muted-text text-xs"},"last cleanup",-1)),e("div",Ua,a(te((Oe=(Ve=Ce.value)==null?void 0:Ve.lastCleanup)==null?void 0:Oe.finishedAt)),1),e("p",Fa,a(i(s)("settingsDialog.system.lastMaintenanceAt")),1)])])):v("",!0),e("div",Ia,[e("div",ja,[e("div",La,a(i(s)("settingsDialog.system.baseStatus")),1),e("div",Va,[e("div",Oa,[n[20]||(n[20]=e("span",{class:"theme-muted-text"},"runner baseUrl",-1)),e("span",qa,a(((Ae=(qe=k.value)==null?void 0:qe.runner)==null?void 0:Ae.baseUrl)||"-"),1)]),e("div",Aa,[n[21]||(n[21]=e("span",{class:"theme-muted-text"},"runner startedAt",-1)),e("span",Ha,a(te((He=L.value)==null?void 0:He.startedAt)),1)]),e("div",Ka,[n[22]||(n[22]=e("span",{class:"theme-muted-text"},"last sweep",-1)),e("span",Wa,a(te((We=(Ke=we.value)==null?void 0:Ke.metrics)==null?void 0:We.lastSweepFinishedAt)),1)]),e("div",za,[n[23]||(n[23]=e("span",{class:"theme-muted-text"},"git diff worker",-1)),e("span",Ja,a(vt.value?i(s)("settingsDialog.system.available"):i(s)("settingsDialog.system.unknown")),1)]),e("div",Ga,[n[24]||(n[24]=e("span",{class:"theme-muted-text"},"db vacuum",-1)),e("span",Ya,a(te((ze=Ce.value)==null?void 0:ze.lastVacuumAt)),1)])])]),e("div",Qa,[e("div",Xa,a(i(s)("settingsDialog.system.stopReasonTitle")),1),e("div",Za,[(l(!0),r(V,null,O(pt.value,c=>(l(),r("div",{key:c.key,class:"flex items-center justify-between gap-3"},[e("span",ei,a(c.label),1),e("span",ti,a(c.value),1)]))),128))])])]),ee.value?(l(),r("div",si,[e("div",ni,a(i(s)("settingsDialog.system.stopTimeoutPhaseTitle")),1),e("div",ai,[(l(!0),r(V,null,O(_t.value,c=>(l(),r("div",{key:c.key,class:"flex items-center justify-between gap-3 rounded-sm border border-dashed border-[var(--theme-borderMuted)] px-2.5 py-2"},[e("span",ii,a(c.label),1),e("span",oi,a(c.value),1)]))),128))])])):v("",!0),!ee.value&&!H.value?(l(),r("div",li,[e("div",ri,a(i(s)("settingsDialog.system.runnerUnavailable")),1),e("p",ci,a(lt((Je=k.value)==null?void 0:Je.runner,"settingsDialog.system.runnerUnavailableDescription")),1),e("p",di," baseUrl: "+a(((Ye=(Ge=k.value)==null?void 0:Ge.runner)==null?void 0:Ye.baseUrl)||"-"),1)])):v("",!0)])])):w.value==="shortcuts"?(l(),r("section",ui,[e("div",null,[e("div",mi,[B(i(xe),{class:"h-4 w-4"}),e("span",null,a(i(s)("settingsDialog.shortcuts.title")),1)]),e("p",gi,a(i(s)("settingsDialog.shortcuts.intro")),1)]),e("section",hi,[(l(!0),r(V,null,O(mt.value,c=>(l(),r("div",{key:c.id,class:"settings-form-card flex flex-col justify-between gap-3 px-3 py-3 sm:flex-row sm:items-center"},[e("div",vi,[e("div",xi,a(c.label),1),e("p",pi,a(c.description),1)]),e("div",_i,[e("span",yi,a(c.mac),1),e("span",fi,a(c.windows),1)])]))),128)),e("p",bi,a(i(s)("settingsDialog.shortcuts.note")),1)])])):(l(),r("section",Di,[e("div",null,[e("div",ki,a(i(s)("settingsDialog.about.title")),1),e("p",wi,a(i(s)("settingsDialog.about.intro")),1)]),e("section",Ci,[e("div",Ri,[e("div",null,[e("div",Si,a(i(s)("settingsDialog.about.versionTitle")),1),e("p",Ti,a(U.value||i(s)("settingsDialog.about.versionDescription")),1)]),e("span",Ei,a(f.value?i(s)("common.loading"):x.value?`v${x.value}`:i(s)("common.unavailable")),1)])])]))])]}),_:1},8,["open"]))}};export{ji as default};