@inkeep/open-knowledge 0.88.0-beta.4 → 0.88.0-beta.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. package/dist/cli.mjs +6 -6
  2. package/dist/constants-VukQvYdL.mjs +1 -0
  3. package/dist/{dist-CkWLD9k6.mjs → dist-6mRqHaPH.mjs} +1 -1
  4. package/dist/{dist-Gs3Faeeg.mjs → dist-cEMV5fgn.mjs} +1 -1
  5. package/dist/index.mjs +1 -1
  6. package/dist/init-BgZVtpTY.mjs +1 -0
  7. package/dist/{init-C0rtJLMt.mjs → init-DFdh051o.mjs} +2 -2
  8. package/dist/{launch-json-removal-DlNTrdX0.mjs → launch-json-removal-CYzSQDdc.mjs} +1 -1
  9. package/dist/loader-BlmPb6AB.mjs +1 -0
  10. package/dist/{loader-DzqfET0v.mjs → loader-BoNz0iVg.mjs} +1 -1
  11. package/dist/{open-browser-DmIGnAR_.mjs → open-browser-D1i95Ud7.mjs} +1 -1
  12. package/dist/preview-BWr_S3BA.mjs +1 -0
  13. package/dist/{preview-5gP5qg7t.mjs → preview-CbOBbupp.mjs} +1 -1
  14. package/dist/public/assets/{AccountSection-pyWbuFmc.js → AccountSection-G-bEok1r.js} +1 -1
  15. package/dist/public/assets/{ActivityModeContent-BzCNdm53.js → ActivityModeContent-JZbbBTrm.js} +1 -1
  16. package/dist/public/assets/{AddPropertiesButton-ByAYJiuY.js → AddPropertiesButton-0jmf9Gqy.js} +1 -1
  17. package/dist/public/assets/{AgentDiffPane-aOO-fsyJ.js → AgentDiffPane-_RdEVyc3.js} +1 -1
  18. package/dist/public/assets/{AttachmentsSection-CfxTJoHZ.js → AttachmentsSection-Mms_06ol.js} +1 -1
  19. package/dist/public/assets/{CodeMirrorPropInput-DZQ4BkYp.js → CodeMirrorPropInput-BUDmLzYA.js} +1 -1
  20. package/dist/public/assets/{ContentRulesSection-BdXHoyur.js → ContentRulesSection-DUWbyVg5.js} +1 -1
  21. package/dist/public/assets/{DocumentContext-f_UBvd4w.js → DocumentContext-Yvvvh9eq.js} +1 -1
  22. package/dist/public/assets/{EditorModeToggle-DEm-TvNE.js → EditorModeToggle-JURdI3H4.js} +1 -1
  23. package/dist/public/assets/{ExcalidrawDocEditor-FAkgGMIx.js → ExcalidrawDocEditor-CW0kiQbn.js} +1 -1
  24. package/dist/public/assets/FeedbackForm-CzKdxyG2.js +1 -0
  25. package/dist/public/assets/{ImportSkillDialog-D0G8dXM_.js → ImportSkillDialog-DEsVCAq1.js} +1 -1
  26. package/dist/public/assets/{LinkPreviewsSection-B3MJEO2P.js → LinkPreviewsSection-D5T6WFZF.js} +1 -1
  27. package/dist/public/assets/{LintConfigEditor-VH1bWD9N.js → LintConfigEditor-CFNi30Uy.js} +1 -1
  28. package/dist/public/assets/{LintingSection-DxwVKi4j.js → LintingSection-BT5Mx9gK.js} +1 -1
  29. package/dist/public/assets/{ManagedArtifactProperties-Dp9fraTI.js → ManagedArtifactProperties-MbEvT_Ng.js} +1 -1
  30. package/dist/public/assets/ManagedArtifactProperties-lTSbp_Pu.js +1 -0
  31. package/dist/public/assets/{MermaidDocEditor-bmNuQCD6.js → MermaidDocEditor-Dxmko28H.js} +1 -1
  32. package/dist/public/assets/{NetworkAccessSection-CgnCCHbA.js → NetworkAccessSection-DibRYILi.js} +1 -1
  33. package/dist/public/assets/{PropertyDisplayRow-BveMZzwy.js → PropertyDisplayRow-B-yVuNvT.js} +1 -1
  34. package/dist/public/assets/{PublishToGitHubDialog-CiHvsXpf.js → PublishToGitHubDialog-CS3MfTWA.js} +1 -1
  35. package/dist/public/assets/{SchemaConfigEditor-St76u0ee.js → SchemaConfigEditor-CuMqV7Bp.js} +1 -1
  36. package/dist/public/assets/{SearchSection-CoxnlMu0.js → SearchSection-CQSk8ahG.js} +1 -1
  37. package/dist/public/assets/SessionsHost-Dp_umkBZ.js +2 -0
  38. package/dist/public/assets/{SettingsDialogBody-t3iE3fLz.js → SettingsDialogBody-BNCcnp-C.js} +2 -2
  39. package/dist/public/assets/{ShareReceiveMissDialog-vRzY7Jv8.js → ShareReceiveMissDialog-DskjHISp.js} +1 -1
  40. package/dist/public/assets/{SkillToolbarControls-CtsbLqDT.js → SkillToolbarControls-eXGKl94y.js} +1 -1
  41. package/dist/public/assets/{SourceEditor-CXnlzCx3.js → SourceEditor-C055Y6xM.js} +1 -1
  42. package/dist/public/assets/{SpellingSettings-BFBbjTHO.js → SpellingSettings-B0irQ8c8.js} +1 -1
  43. package/dist/public/assets/{SyncSection-C-5iMrRu.js → SyncSection-BGWdYO91.js} +1 -1
  44. package/dist/public/assets/{SyncStatusBadge-CZP25yhb.js → SyncStatusBadge-D8rRxj99.js} +1 -1
  45. package/dist/public/assets/{TerminalSection-TWq8Mkh7.js → TerminalSection-BsxddHKZ.js} +1 -1
  46. package/dist/public/assets/{TerminalWindowApp-DjKQZ6e8.js → TerminalWindowApp-BckE4Qr9.js} +1 -1
  47. package/dist/public/assets/{TextDocEditor-CLXQ0-BX.js → TextDocEditor-DqCTs_PQ.js} +1 -1
  48. package/dist/public/assets/{ThemePluginSection-BfrSINmi.js → ThemePluginSection-Ts6Qi5Kl.js} +1 -1
  49. package/dist/public/assets/{ThreadView-Dsiuhy-G.js → ThreadView-BxkX51yn.js} +1 -1
  50. package/dist/public/assets/{TimelineDiffPane-bl_YLWMz.js → TimelineDiffPane-suBAtK0T.js} +1 -1
  51. package/dist/public/assets/{client-version-S2pq-A2d.js → client-version-1PpvH5hZ.js} +1 -1
  52. package/dist/public/assets/{comment-chips-BZPfQgcT.js → comment-chips-JWhqnPo7.js} +1 -1
  53. package/dist/public/assets/{config-provider-DJlrqCRv.js → config-provider-BjfR2_Gp.js} +1 -1
  54. package/dist/public/assets/config-schema-mRzIAFKz.js +1 -0
  55. package/dist/public/assets/{doc-undo-manager-D4PZBxZV.js → doc-undo-manager-BhwVEZP9.js} +1 -1
  56. package/dist/public/assets/{field-controls-DJ7wQFLg.js → field-controls-BmamcfuR.js} +1 -1
  57. package/dist/public/assets/field-controls-PGacnR0J.js +1 -0
  58. package/dist/public/assets/globals-CUNJ93ve.css +1 -0
  59. package/dist/public/assets/index-CFqwCPJL.js +2209 -0
  60. package/dist/public/assets/{lint-config-client-DyMKM06n.js → lint-config-client-CBQpIZKK.js} +1 -1
  61. package/dist/public/assets/{lint-plugins-DyoQe2qv.js → lint-plugins-C6GePwEn.js} +1 -1
  62. package/dist/public/assets/{markdown-lint-C-M0JiQ5.js → markdown-lint-DRIU7cWm.js} +1 -1
  63. package/dist/public/assets/{markdownlint-rule-browser-DW7DRrRS.js → markdownlint-rule-browser-Bq2a8pIJ.js} +1 -1
  64. package/dist/public/assets/{messages-DTiDiIsC.js → messages-3dJtj02e.js} +1 -1
  65. package/dist/public/assets/{messages-DvT70O8q.js → messages-5bhssbPQ.js} +1 -1
  66. package/dist/public/assets/{messages-26bpjZcd.js → messages-B2HQ5CjQ.js} +1 -1
  67. package/dist/public/assets/{messages-CVljQUXv.js → messages-B5yKhGi7.js} +1 -1
  68. package/dist/public/assets/{messages-CMJ_JyBF.js → messages-B6uzAK9y.js} +1 -1
  69. package/dist/public/assets/{messages-BWbfR5Q0.js → messages-BYcsBE5B.js} +1 -1
  70. package/dist/public/assets/{messages-bZH1o9Xe.js → messages-CBj3OWaO.js} +1 -1
  71. package/dist/public/assets/{messages-BGQbGbVt.js → messages-CZy4eoUg.js} +1 -1
  72. package/dist/public/assets/{messages-B_mHY6e9.js → messages-CoD5aflo.js} +1 -1
  73. package/dist/public/assets/{messages-DboCHfEo.js → messages-D9XSrnti.js} +1 -1
  74. package/dist/public/assets/{messages-QIgvjBSp.js → messages-DVUICFLH.js} +1 -1
  75. package/dist/public/assets/{messages-C6pvzKb-.js → messages-Dy25Wk4T.js} +1 -1
  76. package/dist/public/assets/{messages-Yd7IL__D.js → messages-TJg6Q0gk.js} +1 -1
  77. package/dist/public/assets/{pending-receive-nav-store-3l1VsraZ.js → pending-receive-nav-store-BoALKlnl.js} +1 -1
  78. package/dist/public/assets/preferred-session-events-BCMVH9Jc.js +1 -0
  79. package/dist/public/assets/{progress-RA1uWm0H.js → progress-weUhe6LA.js} +1 -1
  80. package/dist/public/assets/{saved-themes-client-DjWW0PP-.js → saved-themes-client-BJyf6Xyq.js} +1 -1
  81. package/dist/public/assets/{schema-section-BkQl5hR7.js → schema-section-Kq5cLLZ1.js} +1 -1
  82. package/dist/public/assets/{selection-context-0pM6ndc5.js → selection-context-D74HP0kz.js} +1 -1
  83. package/dist/public/assets/{src-ptqVq5ku.js → src-DbQdMrYl.js} +1 -1
  84. package/dist/public/assets/{telemetry-impl-qEuHQYiG.js → telemetry-impl-Dpd17Qkv.js} +1 -1
  85. package/dist/public/assets/{telemetry-startup-DrvSlOEH.js → telemetry-startup-Dis6bVxP.js} +1 -1
  86. package/dist/public/assets/{typing-burst-detector-CX1Qs3dW.js → typing-burst-detector-D1zBEr2_.js} +1 -1
  87. package/dist/public/assets/{uninstall-CO42B_Qo.js → uninstall-DkOvQ2C2.js} +1 -1
  88. package/dist/public/assets/{use-activity-panel-BUvrSJkx.js → use-activity-panel-JvC10OLa.js} +1 -1
  89. package/dist/public/assets/{use-apply-config-language-C-yGgM6f.js → use-apply-config-language-Ir0QsEhN.js} +2 -2
  90. package/dist/public/assets/{use-open-skill-BY5JNtzY.js → use-open-skill-CRF_BjfN.js} +1 -1
  91. package/dist/public/assets/{use-terminal-enabled-C6TjwbMf.js → use-terminal-enabled-gjumBxXb.js} +1 -1
  92. package/dist/public/assets/{use-timeline-entry-diff-CsqNP2D3.js → use-timeline-entry-diff-j-ETn5AY.js} +1 -1
  93. package/dist/public/index.html +26 -26
  94. package/dist/public/uninstall.html +5 -5
  95. package/dist/{registry-probes-lh9u_4Y8.mjs → registry-probes-C3Z9yWC5.mjs} +1 -1
  96. package/dist/{removal-file-path-dVFSEG9k.mjs → removal-file-path-RedaejUo.mjs} +1 -1
  97. package/dist/{repair-launch-json-BAXUEwk6.mjs → repair-launch-json-DoCOMfXL.mjs} +1 -1
  98. package/dist/{repair-mcp-configs--oBRB5Ge.mjs → repair-mcp-configs-DrR0Ro08.mjs} +1 -1
  99. package/dist/src-CR6-YY-U.mjs +1 -0
  100. package/dist/{src-BPpE7LaD.mjs → src-DSfFbGlT.mjs} +1 -1
  101. package/dist/{start-Xcu0zXYB.mjs → start-N8_Gk9Cw.mjs} +3 -3
  102. package/dist/start-fBA_FE9y.mjs +1 -0
  103. package/package.json +4 -4
  104. package/dist/constants-BJbL6KLX.mjs +0 -1
  105. package/dist/init-SvoaMCoH.mjs +0 -1
  106. package/dist/loader-C45P_Nry.mjs +0 -1
  107. package/dist/preview-DsLcBlwe.mjs +0 -1
  108. package/dist/public/assets/FeedbackForm-B7HCZMAo.js +0 -1
  109. package/dist/public/assets/ManagedArtifactProperties-DyFXBJAT.js +0 -1
  110. package/dist/public/assets/SessionsHost-CgfT1hep.js +0 -2
  111. package/dist/public/assets/config-schema-DxBMkaxe.js +0 -1
  112. package/dist/public/assets/field-controls-BJysfyd4.js +0 -1
  113. package/dist/public/assets/globals-CB_Hk1sR.css +0 -1
  114. package/dist/public/assets/index-CaVRqEFp.js +0 -2209
  115. package/dist/public/assets/preferred-session-events-BLRejZ_z.js +0 -1
  116. package/dist/src-K7R3CxBI.mjs +0 -1
  117. package/dist/start-C42cSWsK.mjs +0 -1
  118. /package/dist/public/assets/{globals-DdWAFgqq.js → globals-BaU1-QGZ.js} +0 -0
@@ -1,4 +1,4 @@
1
- import{o as e}from"./rolldown-runtime-tZXQYakl.mjs";import{$f as t,$l as n,Da as r,G as i,Gf as a,Hf as o,Jf as s,Nf as c,Oa as l,Ql as u,Rf as d,U as f,W as p,Wf as m,Yf as h,dl as g,fd as _,fl as v,l as y,ol as b,sl as x,u as ee,zf as S}from"./md-manager-BGnqyqi1-B15iekH4.mjs";import{Ai as C,Bs as w,Di as T,Ei as E,Ji as D,Ki as te,Nt as O,Oi as k,Qt as A,Wo as j,_a as M,_r as N,_s as P,ba as ne,bi as F,bs as re,ia as ie,ii as ae,m as oe,pi as I,pr as se,rr as L,wo as ce,xs as le,ys as ue,za as de}from"./dist-Gs3Faeeg.mjs";import{t as fe}from"./yazl-BBz29IQN.mjs";import{ct as pe,gt as me,ht as he,mt as ge,pt as _e,st as ve,wt as ye}from"./init-C0rtJLMt.mjs";import{T as be,l as xe,u as Se}from"./registry-probes-lh9u_4Y8.mjs";import{c as Ce}from"./colors-r_owlCuY.mjs";import{t as we}from"./is-object-BGze3w87.mjs";import{n as Te}from"./constants-BJbL6KLX.mjs";import"./loader-DzqfET0v.mjs";import"./preview-5gP5qg7t.mjs";import{execFile as Ee,execSync as De,spawnSync as Oe}from"node:child_process";import{basename as R,dirname as z,isAbsolute as ke,join as B,relative as Ae,resolve as V,sep as H,win32 as je}from"node:path";import{closeSync as Me,cpSync as Ne,createWriteStream as Pe,existsSync as U,lstatSync as Fe,mkdirSync as W,mkdtempSync as Ie,openSync as Le,readFileSync as G,readSync as Re,readdirSync as K,readlinkSync as ze,realpathSync as Be,rmSync as Ve,rmdirSync as He,statSync as Ue,writeFileSync as q}from"node:fs";import{arch as We,freemem as Ge,homedir as J,hostname as Ke,platform as qe,release as Je,tmpdir as Ye,totalmem as Xe,type as Ze,uptime as Qe}from"node:os";import{readFile as $e,readdir as et,stat as tt}from"node:fs/promises";import{createHash as nt}from"node:crypto";function rt(e,t){let n=t.map(e=>[w(e),e]);for(let t of e){let e=w(t);if(e===null)continue;let r=n.find(([t])=>t===e);if(r!==void 0)return r[1]}}function it(e){let{override:t,storedPreference:n,preferenceList:r,supportedLocales:i}=e,a=e.autoDetectableLocales??i;if(t!==void 0){let e=rt([t],i);if(e!==void 0)return{locale:e,source:`override`}}if(n!==void 0&&n!==`system`&&i.includes(n))return{locale:n,source:`explicit`};let o=rt(r,a);return o===void 0?{locale:`en`,source:`fallback`}:{locale:o,source:`system`}}function at(e,t=Date.now()){let n=Date.parse(e);if(!Number.isFinite(n))return`unknown`;let r=Math.floor(Math.max(0,t-n)/1e3);if(r<60)return`${r}s ago`;let i=Math.floor(r/60);if(i<60)return`${i}m ago`;let a=Math.floor(i/60);return a<24?`${a}h ago`:`${Math.floor(a/24)}d ago`}const ot=new Set([`start`,`stop`,`status`,`clean`,`ui`,`mcp`,`preview`,`lint`,`audit`,`deinit`,`auth`]);function st(e,t,n=N){if(e!==void 0&&!ot.has(e))return null;let r=n(t);return r===null||r.distance===0?null:r.rootPath}let ct=null;function lt(e){ct=e}function ut(){return ct??process.cwd()}const dt=`Open Knowledge`;function ft(e={}){let t=e.platformName??process.platform,n=e.productName??a().productName;return ve(t).join(pe({...e,platformName:t}),n)}function pt(e={}){let t=e.platformName??process.platform,n=e.home??J(),r=e.env??process.env,i=ve(t),o;return o=t===`win32`?r.LOCALAPPDATA||i.join(n,`AppData`,`Local`):t===`darwin`?i.join(n,`Library`,`Caches`):r.XDG_CACHE_HOME||i.join(n,`.cache`),i.join(o,`${a().packageName.replaceAll(`/`,``)}-updater`)}function mt(e){if(typeof e!=`object`||!e)return null;let t=e.recentProjects;if(!Array.isArray(t))return null;let n=[];for(let e of t){if(typeof e!=`object`||!e)continue;let t=e;typeof t.path==`string`&&typeof t.name==`string`&&n.push({path:t.path,name:t.name})}return n}function ht(e){let t=B(e,`state.json`);if(!U(t))return[];let n;try{n=JSON.parse(G(t,`utf-8`))}catch{return[]}return mt(n)??[]}function gt(e){let t=B(e,`state.json`);if(!U(t))return!1;try{return mt(JSON.parse(G(t,`utf-8`)))!==null}catch{return!1}}const _t=8192;function vt(e,t){if(e.outcome===`not-present`)return`not-present (no DiagnosticReports directory)`;if(e.outcome===`unreadable-directory`)return`unreadable (${e.directoryErrorCode??`unknown`} reading DiagnosticReports)`;let n=[`${e.windowDays}d`,`${e.foreignIgnored} other-process report(s) ignored`,`${e.unparseable} unparseable`];e.droppedOverCap>0&&n.push(`${e.droppedOverCap} older dropped over cap`);let r=e.files.length-t;return r>0&&n.push(`${r} vanished before staging`),e.outcome===`none-in-window`?`none found in window (${n.join(`; `)})`:`${t} collected (${n.join(`; `)})`}function yt(e){return e.replace(/\\+\/?/g,e=>{if(!e.endsWith(`/`))return e;let t=e.length-1;return`${`\\`.repeat(t-t%2)}/`})}const bt=RegExp(`("(?:${[`crashReporterKey`,`bootSessionUUID`,`deviceIdentifierForVendor`].join(`|`)})"\\s*:\\s*)"[^"]*"`,`g`);function xt(e){return e.replace(bt,`$1"[REDACTED-DEVICE-ID]"`)}function St(e){return xt(yt(e))}const Ct=/^(\d{4}-\d{2}-\d{2}) (\d{2}:\d{2}:\d{2})(\.\d+)? ([+-]\d{2})(\d{2})$/;function wt(e){if(typeof e!=`string`)return null;let t=Ct.exec(e.trim());if(t===null)return null;let[,n,r,i=``,a,o]=t,s=Date.parse(`${n}T${r}${i}${a}:${o}`);return Number.isNaN(s)?null:s}function Tt(e){let t=Le(e,`r`);try{let e=Buffer.alloc(_t),n=0,r=!1;for(;n<_t;){let i=Re(t,e,n,_t-n,n);if(i===0){r=!0;break}let a=n;n+=i;let o=e.subarray(0,n).indexOf(10,a);if(o!==-1)return e.subarray(0,o).toString(`utf-8`)}return r?e.subarray(0,n).toString(`utf-8`):null}finally{Me(t)}}function Et(e){try{let t=Tt(e);if(t===null)return{kind:`unreadable`};let n=JSON.parse(t);if(typeof n!=`object`||!n)return{kind:`unreadable`};let{name:r,app_name:i,timestamp:a}=n,o=typeof r==`string`?r:typeof i==`string`?i:null;return o===null?{kind:`unreadable`}:{kind:`named`,name:o,timestampMs:wt(a)}}catch{return{kind:`unreadable`}}}function Dt(e){return e===`OpenKnowledge`||e.startsWith(`OpenKnowledge `)}function Ot(e,t){let n={files:[],foreignIgnored:0,unparseable:0,droppedOverCap:0,windowDays:7},r;try{r=K(e,{withFileTypes:!0})}catch(e){let t=e.code;return t===`ENOENT`?{...n,outcome:`not-present`}:{...n,outcome:`unreadable-directory`,directoryErrorCode:t??`unknown`}}let i=t.getTime()-6048e5,a=[],o=0,s=0;for(let t of r){if(!t.isFile()||!t.name.endsWith(`.ips`))continue;let n=B(e,t.name),r;try{r=Ue(n).mtimeMs}catch{continue}if(r<i)continue;let c=Et(n),l=c.kind===`named`&&c.timestampMs!==null?c.timestampMs:r;if(c.kind===`unreadable`){s+=1;continue}if(!Dt(c.name)){o+=1;continue}a.push({path:n,atMs:l})}a.sort((e,t)=>t.atMs-e.atMs);let c=a.slice(0,25),l={foreignIgnored:o,unparseable:s,droppedOverCap:a.length-c.length,windowDays:7};return c.length===0?{...l,files:[],outcome:`none-in-window`}:{...l,files:c.map(e=>e.path),outcome:`collected`}}const kt=`state/os-termination-evidence.json`,At=6048e5,jt=/openknowledge/i,Mt=o.map(e=>h(S[e]));function Nt(e={}){return(t,n)=>new Promise(r=>{try{Ee(t,n,{encoding:`utf8`,timeout:e.timeoutMs??15e3,maxBuffer:e.maxBuffer??16777216,windowsHide:!0},(e,t,n)=>{r({...Pt(e),stdout:t,stderr:n})})}catch(e){let t=e.code;r({status:null,stdout:``,stderr:``,errorCode:typeof t==`string`?t:`spawn-failed`})}})}function Pt(e){return e===null?{status:0}:typeof e.code==`string`?{status:null,errorCode:e.code}:typeof e.code==`number`?{status:e.code}:e.killed===!0?{status:null,errorCode:`ETIMEDOUT`}:e.signal?{status:null,signal:e.signal}:{status:null}}function Ft(e){if(e.errorCode!==void 0)return e.errorCode;if(e.signal!==void 0)return`signal ${e.signal}`;let t=(e.stderr.trim().split(`
1
+ import{o as e}from"./rolldown-runtime-tZXQYakl.mjs";import{$f as t,$l as n,Da as r,G as i,Gf as a,Hf as o,Jf as s,Nf as c,Oa as l,Ql as u,Rf as d,U as f,W as p,Wf as m,Yf as h,dl as g,fd as _,fl as v,l as y,ol as b,sl as x,u as ee,zf as S}from"./md-manager-BGnqyqi1-B15iekH4.mjs";import{Ai as C,Bs as w,Di as T,Ei as E,Ji as D,Ki as te,Nt as O,Oi as k,Qt as A,Wo as j,_a as M,_r as N,_s as P,ba as ne,bi as F,bs as re,ia as ie,ii as ae,m as oe,pi as I,pr as se,rr as L,wo as ce,xs as le,ys as ue,za as de}from"./dist-cEMV5fgn.mjs";import{t as fe}from"./yazl-BBz29IQN.mjs";import{ct as pe,gt as me,ht as he,mt as ge,pt as _e,st as ve,wt as ye}from"./init-DFdh051o.mjs";import{T as be,l as xe,u as Se}from"./registry-probes-C3Z9yWC5.mjs";import{c as Ce}from"./colors-r_owlCuY.mjs";import{t as we}from"./is-object-BGze3w87.mjs";import{n as Te}from"./constants-VukQvYdL.mjs";import"./loader-BoNz0iVg.mjs";import"./preview-CbOBbupp.mjs";import{execFile as Ee,execSync as De,spawnSync as Oe}from"node:child_process";import{basename as R,dirname as z,isAbsolute as ke,join as B,relative as Ae,resolve as V,sep as H,win32 as je}from"node:path";import{closeSync as Me,cpSync as Ne,createWriteStream as Pe,existsSync as U,lstatSync as Fe,mkdirSync as W,mkdtempSync as Ie,openSync as Le,readFileSync as G,readSync as Re,readdirSync as K,readlinkSync as ze,realpathSync as Be,rmSync as Ve,rmdirSync as He,statSync as Ue,writeFileSync as q}from"node:fs";import{arch as We,freemem as Ge,homedir as J,hostname as Ke,platform as qe,release as Je,tmpdir as Ye,totalmem as Xe,type as Ze,uptime as Qe}from"node:os";import{readFile as $e,readdir as et,stat as tt}from"node:fs/promises";import{createHash as nt}from"node:crypto";function rt(e,t){let n=t.map(e=>[w(e),e]);for(let t of e){let e=w(t);if(e===null)continue;let r=n.find(([t])=>t===e);if(r!==void 0)return r[1]}}function it(e){let{override:t,storedPreference:n,preferenceList:r,supportedLocales:i}=e,a=e.autoDetectableLocales??i;if(t!==void 0){let e=rt([t],i);if(e!==void 0)return{locale:e,source:`override`}}if(n!==void 0&&n!==`system`&&i.includes(n))return{locale:n,source:`explicit`};let o=rt(r,a);return o===void 0?{locale:`en`,source:`fallback`}:{locale:o,source:`system`}}function at(e,t=Date.now()){let n=Date.parse(e);if(!Number.isFinite(n))return`unknown`;let r=Math.floor(Math.max(0,t-n)/1e3);if(r<60)return`${r}s ago`;let i=Math.floor(r/60);if(i<60)return`${i}m ago`;let a=Math.floor(i/60);return a<24?`${a}h ago`:`${Math.floor(a/24)}d ago`}const ot=new Set([`start`,`stop`,`status`,`clean`,`ui`,`mcp`,`preview`,`lint`,`audit`,`deinit`,`auth`]);function st(e,t,n=N){if(e!==void 0&&!ot.has(e))return null;let r=n(t);return r===null||r.distance===0?null:r.rootPath}let ct=null;function lt(e){ct=e}function ut(){return ct??process.cwd()}const dt=`Open Knowledge`;function ft(e={}){let t=e.platformName??process.platform,n=e.productName??a().productName;return ve(t).join(pe({...e,platformName:t}),n)}function pt(e={}){let t=e.platformName??process.platform,n=e.home??J(),r=e.env??process.env,i=ve(t),o;return o=t===`win32`?r.LOCALAPPDATA||i.join(n,`AppData`,`Local`):t===`darwin`?i.join(n,`Library`,`Caches`):r.XDG_CACHE_HOME||i.join(n,`.cache`),i.join(o,`${a().packageName.replaceAll(`/`,``)}-updater`)}function mt(e){if(typeof e!=`object`||!e)return null;let t=e.recentProjects;if(!Array.isArray(t))return null;let n=[];for(let e of t){if(typeof e!=`object`||!e)continue;let t=e;typeof t.path==`string`&&typeof t.name==`string`&&n.push({path:t.path,name:t.name})}return n}function ht(e){let t=B(e,`state.json`);if(!U(t))return[];let n;try{n=JSON.parse(G(t,`utf-8`))}catch{return[]}return mt(n)??[]}function gt(e){let t=B(e,`state.json`);if(!U(t))return!1;try{return mt(JSON.parse(G(t,`utf-8`)))!==null}catch{return!1}}const _t=8192;function vt(e,t){if(e.outcome===`not-present`)return`not-present (no DiagnosticReports directory)`;if(e.outcome===`unreadable-directory`)return`unreadable (${e.directoryErrorCode??`unknown`} reading DiagnosticReports)`;let n=[`${e.windowDays}d`,`${e.foreignIgnored} other-process report(s) ignored`,`${e.unparseable} unparseable`];e.droppedOverCap>0&&n.push(`${e.droppedOverCap} older dropped over cap`);let r=e.files.length-t;return r>0&&n.push(`${r} vanished before staging`),e.outcome===`none-in-window`?`none found in window (${n.join(`; `)})`:`${t} collected (${n.join(`; `)})`}function yt(e){return e.replace(/\\+\/?/g,e=>{if(!e.endsWith(`/`))return e;let t=e.length-1;return`${`\\`.repeat(t-t%2)}/`})}const bt=RegExp(`("(?:${[`crashReporterKey`,`bootSessionUUID`,`deviceIdentifierForVendor`].join(`|`)})"\\s*:\\s*)"[^"]*"`,`g`);function xt(e){return e.replace(bt,`$1"[REDACTED-DEVICE-ID]"`)}function St(e){return xt(yt(e))}const Ct=/^(\d{4}-\d{2}-\d{2}) (\d{2}:\d{2}:\d{2})(\.\d+)? ([+-]\d{2})(\d{2})$/;function wt(e){if(typeof e!=`string`)return null;let t=Ct.exec(e.trim());if(t===null)return null;let[,n,r,i=``,a,o]=t,s=Date.parse(`${n}T${r}${i}${a}:${o}`);return Number.isNaN(s)?null:s}function Tt(e){let t=Le(e,`r`);try{let e=Buffer.alloc(_t),n=0,r=!1;for(;n<_t;){let i=Re(t,e,n,_t-n,n);if(i===0){r=!0;break}let a=n;n+=i;let o=e.subarray(0,n).indexOf(10,a);if(o!==-1)return e.subarray(0,o).toString(`utf-8`)}return r?e.subarray(0,n).toString(`utf-8`):null}finally{Me(t)}}function Et(e){try{let t=Tt(e);if(t===null)return{kind:`unreadable`};let n=JSON.parse(t);if(typeof n!=`object`||!n)return{kind:`unreadable`};let{name:r,app_name:i,timestamp:a}=n,o=typeof r==`string`?r:typeof i==`string`?i:null;return o===null?{kind:`unreadable`}:{kind:`named`,name:o,timestampMs:wt(a)}}catch{return{kind:`unreadable`}}}function Dt(e){return e===`OpenKnowledge`||e.startsWith(`OpenKnowledge `)}function Ot(e,t){let n={files:[],foreignIgnored:0,unparseable:0,droppedOverCap:0,windowDays:7},r;try{r=K(e,{withFileTypes:!0})}catch(e){let t=e.code;return t===`ENOENT`?{...n,outcome:`not-present`}:{...n,outcome:`unreadable-directory`,directoryErrorCode:t??`unknown`}}let i=t.getTime()-6048e5,a=[],o=0,s=0;for(let t of r){if(!t.isFile()||!t.name.endsWith(`.ips`))continue;let n=B(e,t.name),r;try{r=Ue(n).mtimeMs}catch{continue}if(r<i)continue;let c=Et(n),l=c.kind===`named`&&c.timestampMs!==null?c.timestampMs:r;if(c.kind===`unreadable`){s+=1;continue}if(!Dt(c.name)){o+=1;continue}a.push({path:n,atMs:l})}a.sort((e,t)=>t.atMs-e.atMs);let c=a.slice(0,25),l={foreignIgnored:o,unparseable:s,droppedOverCap:a.length-c.length,windowDays:7};return c.length===0?{...l,files:[],outcome:`none-in-window`}:{...l,files:c.map(e=>e.path),outcome:`collected`}}const kt=`state/os-termination-evidence.json`,At=6048e5,jt=/openknowledge/i,Mt=o.map(e=>h(S[e]));function Nt(e={}){return(t,n)=>new Promise(r=>{try{Ee(t,n,{encoding:`utf8`,timeout:e.timeoutMs??15e3,maxBuffer:e.maxBuffer??16777216,windowsHide:!0},(e,t,n)=>{r({...Pt(e),stdout:t,stderr:n})})}catch(e){let t=e.code;r({status:null,stdout:``,stderr:``,errorCode:typeof t==`string`?t:`spawn-failed`})}})}function Pt(e){return e===null?{status:0}:typeof e.code==`string`?{status:null,errorCode:e.code}:typeof e.code==`number`?{status:e.code}:e.killed===!0?{status:null,errorCode:`ETIMEDOUT`}:e.signal?{status:null,signal:e.signal}:{status:null}}function Ft(e){if(e.errorCode!==void 0)return e.errorCode;if(e.signal!==void 0)return`signal ${e.signal}`;let t=(e.stderr.trim().split(`
2
2
  `)[0]??``).replace(/\S*\/journal\/\S*/g,`<journal path>`).replace(/\b[0-9a-f]{32}\b/gi,`<id>`);return`exit ${e.status}${t===``?``:`: ${t}`}`}function It(e,t,n){return{schemaVersion:1,platform:e,source:t,outcome:`none-in-window`,readFrom:n,windowDays:7,foreignIgnored:0,unparseable:0,droppedOverCap:0,events:[]}}function Lt(e,t){return{...e,outcome:`unavailable`,unavailableReason:t}}function Rt(e){return{...e,outcome:e.events.length>0?`collected`:`none-in-window`}}function zt(e){return typeof e==`number`&&Number.isFinite(e)?e:null}function Bt(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:null}function Vt(e,t){let n=t.indexOf(`
3
3
  `);if(n===-1)return null;let r,i;try{r=Bt(JSON.parse(t.slice(0,n))),i=Bt(JSON.parse(t.slice(n+1)))}catch{return null}if(r===null||i===null||!Array.isArray(i.processes))return null;let a=[];for(let e of i.processes){let t=Bt(e);t===null||typeof t.name!=`string`||!Dt(t.name)||a.push({name:t.name,pid:zt(t.pid),killReason:typeof t.reason==`string`?t.reason:null,residentPages:zt(t.rpages),lifetimeMaxPages:zt(t.lifetimeMax)})}let o=wt(r.timestamp);return{kind:`jetsam`,at:o===null?null:new Date(o).toISOString(),file:e,pageSize:zt(Bt(i.memoryStatus)?.pageSize),largestProcessOwned:typeof i.largestProcess==`string`?Dt(i.largestProcess):null,ownedProcesses:a}}const Ht=/^JetsamEvent-.*\.ips$/;function Ut(e,t,n,r){let i=e.flatMap(({file:e,mtimeMs:n})=>n!==null&&n>=t?[{file:e,mtimeMs:n}]:[]);return i.sort((e,t)=>r===`newest-first`?t.mtimeMs-e.mtimeMs:e.mtimeMs-t.mtimeMs),{files:i.slice(0,n).map(({file:e})=>e),statFailed:e.filter(({mtimeMs:e})=>e===null).length,droppedOverCap:Math.max(0,i.length-n)}}async function Wt(e,t){let n=It(`darwin`,`macos-jetsam`,[B(e,`JetsamEvent-*.ips`)]),r;try{r=await et(e)}catch(e){return Lt(n,e.code??`unknown`)}let i=Ut(await Promise.all(r.filter(e=>Ht.test(e)).map(async t=>{try{return{file:t,mtimeMs:(await tt(B(e,t))).mtimeMs}}catch{return{file:t,mtimeMs:null}}})),t.getTime()-At,50,`newest-first`);n.unparseable+=i.statFailed,n.droppedOverCap=i.droppedOverCap;for(let t of i.files){let r=null;try{r=Vt(t,await $e(B(e,t),`utf8`))}catch{}r===null?n.unparseable+=1:r.ownedProcesses.length===0?n.foreignIgnored+=1:n.events.push(r)}return Rt(n)}const Gt=[`--no-pager`,`--output=short-iso-precise`,`--since=-7d`,`--grep=Out of memory|oom-kill|Killed process|Killed /|memory pressure`,`_TRANSPORT=kernel`,`+`,`_SYSTEMD_UNIT=systemd-oomd.service`],Kt=[`--user`,`--no-pager`,`--output=short-iso-precise`,`--since=-7d`,`--grep=Fatal Wayland communication error|Wayland protocol error|X IO error|Missing X server`],qt=/^(\S+) \S+ ([^:\s[]+)(?:\[\d+\])?: (.*)$/,Jt=/\[(\d+)(?::\d+)?:\d{4}\/\d{6}\.\d+:[A-Z0-9]+:[^\]]*\]\s*(.*)$/,Yt=/^desktop\.\d{4}-\d{2}-\d{2}\.log$/;async function Xt(e,t){let n=new Set,r;try{r=await et(e)}catch{return{pids:n,unreadable:!0}}let i=!1;for(let a of r){if(!Yt.test(a))continue;let r=B(e,a);try{if(t.getTime()-(await tt(r)).mtimeMs>At)continue;for(let e of(await $e(r,`utf8`)).split(`
4
4
  `)){if(!e.includes(`"event":"desktop.boot"`))continue;let t=/"pid":(\d+)/.exec(e)?.[1];t!==void 0&&n.add(Number(t))}}catch{i=!0}}return{pids:n,unreadable:i}}function Zt(e,t){if(e===`systemd-oomd`){let e=/^Killed (\S+)/.exec(t);if(e===null)return null;let n=e[1]?.split(`/`).pop()??``;return{origin:`systemd-oomd`,action:`oomd-kill`,pid:null,processName:null,unit:jt.test(n)?n:null,trigger:/swap used/.test(t)?`swap`:/memory pressure/.test(t)?`memory-pressure`:null}}if(e!==`kernel`)return null;let n=/Killed process (\d+) \(([^)]+)\)/.exec(t);if(n!==null)return{origin:`kernel`,action:`oom-kill`,pid:Number(n[1]),processName:n[2]??null,unit:null,trigger:null};let r=/task=([^,]+),pid=(\d+)/.exec(t);if(r!==null)return{origin:`kernel`,action:`oom-kill`,pid:Number(r[2]),processName:r[1]??null,unit:null,trigger:null};let i=/^(\S+) invoked oom-killer/.exec(t);return i===null?null:{origin:`kernel`,action:`oom-invoked`,pid:null,processName:i[1]??null,unit:null,trigger:null}}function Qt(e){let t=[],n=0,r=0;for(let i of e.split(`
@@ -1,5 +1,5 @@
1
- import{C as e,Fl as t,I as n,Md as r,Q as i,Wf as a,Z as o,i as s}from"./md-manager-BGnqyqi1-B15iekH4.mjs";import{Ei as c,Gi as l,Ms as u,ji as d,k as f,mi as p,xs as m,ys as h}from"./dist-Gs3Faeeg.mjs";import{Et as g,R as _,Tt as v,Z as y,b,dt as x,wt as S,x as C,z as w}from"./init-C0rtJLMt.mjs";import{C as T,a as E,c as ee,d as D,g as O,h as k,i as A,m as j,n as M,o as N,r as P,s as te,t as F}from"./registry-probes-lh9u_4Y8.mjs";import{n as ne}from"./constants-BJbL6KLX.mjs";import{execFileSync as I,spawn as L}from"node:child_process";import{basename as R,dirname as z,resolve as B}from"node:path";import{existsSync as V,realpathSync as re}from"node:fs";import{homedir as ie,tmpdir as ae}from"node:os";import{rm as oe}from"node:fs/promises";import{setTimeout as se}from"node:timers/promises";const ce=[`/opt/homebrew/bin/gh`,`/usr/local/bin/gh`,`/opt/local/bin/gh`,`/snap/bin/gh`,`/usr/bin/gh`],le={encoding:`utf-8`,stdio:[`ignore`,`pipe`,`pipe`],timeout:5e3,windowsHide:!0};function H(e,t={}){let{login:n}=t,r=t._exec??I,i=U(t._fileExists??V),a=e?[`--hostname`,e]:[];if(n){let e=W(r,i,[`auth`,`token`,...a,`--user`,n]);if(e)return{available:!0,token:e,resolvedLogin:n,fallback:!1}}let o=W(r,i,[`auth`,`token`,...a]);return o?n?{available:!0,token:o,fallback:!0}:{available:!0,token:o}:{available:!1}}function U(e){return[`gh`,...ce.filter(e)]}function W(e,t,n){for(let r of t)try{let t=e(r,n,le).toString().trim();if(t.length>0)return t}catch{}}function ue(e,t={}){let n=t._exec??I,r=U(t._fileExists??V),i=[`auth`,`status`,...e?[`--hostname`,e]:[]],a=W(n,r,[...i,`--json`,`hosts`]);if(a!==void 0){let t=de(a,e);if(t)return t}let o=W(n,r,i);if(o!==void 0){let e=ge(o);if(e.length>0)return e}}function G(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:void 0}function de(e,t){let n;try{n=JSON.parse(e)}catch{return}let r=G(G(n)?.hosts);if(!r||t!==void 0&&r[t]===void 0)return;let i=t===void 0?Object.values(r):[r[t]],a=[];for(let e of i){if(!Array.isArray(e))return;for(let t of e){let e=G(t);if(!e)continue;let n=e.login;typeof n==`string`&&n.length!==0&&a.push({login:n,active:e.active===!0})}}return a}const fe=/Logged in to \S+ account (\S+) \(/,pe=/(?:Failed to log in to|Timeout trying to log in to) \S+/,me=/^\s*-\s*Active account:\s*true\s*$/,he=/\u001b\[[0-9;]*m/g;function ge(e){let t=[],n;for(let r of e.split(`
2
- `)){let e=r.replace(he,``),i=fe.exec(e)?.[1];if(i){n={login:i,active:!1},t.push(n);continue}if(pe.test(e)){n=void 0;continue}n&&me.test(e)&&(n.active=!0)}return t}const _e={mode:`published`,skipAvailabilityCheck:!0,replaceEntry:!0};function K(){return{action:`failed`,errorId:`write-failed`}}function q(){return{action:`skipped-missing`,errorId:`surface-missing`}}function J(e,t,n){u(`agent-integrations-apply`).warn({editor:e,path:t,reason:n},`skill write failed`)}function Y(){return{action:`skipped-unsupported`,errorId:`no-writer`}}function ve(e){switch(e){case`removed`:return{action:`removed`};case`not-present`:return{action:`no-op`};case`left-foreign`:return{action:`skipped-foreign`,errorId:`foreign-artifact`};case`declined`:return{action:`declined`,errorId:`write-declined`}}}function ye(e,t,n,r,i){let a=y[e];try{let o=N(a,t,n,r,i);return o.kind===`removed`&&o.trustDetail&&u(`agent-integrations-apply`).warn({editor:e,path:r??a.configPath(t,n),trust:o.trust,trustDetail:o.trustDetail},`MCP config removal retained Pi folder trust`),ve(o.kind)}catch(i){return u(`agent-integrations-apply`).warn({editor:e,path:r??a.configPath(t,n),reason:i instanceof Error?i.message:String(i)},`MCP config removal failed`),K()}}async function be(e,t,n){if(y[e].scope!==`global`)return q();if(n===`absent`)return ye(e,``,t.home,void 0,t.env);let r=(await C({editors:[e],home:t.home,replaceEntry:!0})).find(t=>t.editorId===e);if(r===void 0)return K();switch(r.action){case`written`:case`overwritten`:return{action:r.action};case`declined`:return{action:`declined`,errorId:`write-declined`};case`skipped-missing`:return q();case`skipped-flag`:return Y();default:return K()}}function xe(e,t,n){let r=y[e].projectConfigPath?.(t.cwd);if(r===void 0)return q();if(n===`absent`)return ye(e,t.cwd,t.home,r,t.env);let i=b(y[e],t.cwd,_e,void 0,r);switch(i.action){case`written`:case`overwritten`:return{action:i.action};case`declined`:return{action:`declined`,errorId:`write-declined`};default:return K()}}function Se(e,t,n){let r=t.home??ie();if(n===`absent`){let t=P(e,r);switch(t.action){case`removed`:return{action:`removed`};case`not-present`:return{action:`no-op`};case`skipped-unsupported`:return q();case`failed`:return J(e,t.path,t.error),K()}}let i=E(e,r);switch(i.action){case`written`:return{action:`written`};case`overwritten`:return{action:`overwritten`};case`skipped-unsupported`:return q();case`failed`:return J(e,i.path,i.error),K()}}function Ce(e,t,n){if(n===`absent`){let n=_(y[e],t.cwd);switch(n.action){case`removed`:return{action:`removed`};case`not-present`:return{action:`no-op`};case`skipped-unsupported`:return q();case`failed`:return J(e,n.path,n.error),K()}}let r=w(y[e],t.cwd);switch(r.action){case`written`:return{action:`written`};case`overwritten`:return{action:`overwritten`};case`skipped-unsupported`:return q();case`skipped-prerequisite`:return{action:`skipped-prerequisite`,errorId:`dependency-failed`};case`failed`:return J(e,r.path,r.error),K()}}function we(e){return t=>{if(t.pathId===void 0)return Y();let n=r(t.pathId);if(n===null||n.kind===`central-skill-store`)return Y();switch(n.kind){case`editor-user-config`:return be(n.editor,e,t.desired);case`editor-project-config`:return xe(n.editor,e,t.desired);case`editor-project-skill-root`:return Ce(n.editor,e,t.desired);case`editor-user-skill-root`:return Se(n.editor,e,t.desired)}}}function Te(e,t){return e.bind?.[0]??t.HOST??`127.0.0.1`}function Ee(e){if(e===`server`)return e;throw new v(`--only must be 'server'`)}function De(e=V,t=import.meta.dirname??new URL(`.`,import.meta.url).pathname){let n=[B(t,`public`),B(t,`../../app/dist`),B(t,`../../../app/dist`)];return e(B(t,`../../app.asar`))&&n.push(B(t,`../../app`)),n.find(t=>e(t))}function Oe(e){if(e.explicitDir!==void 0)return{dir:e.explicitDir,missingBundle:!1};if(e.only===`server`)return{dir:void 0,missingBundle:!1};let t=e.findBundledDir();return{dir:t,missingBundle:t===void 0}}function ke(e){if(e===`off`)return`off`;if(!t.test(e))throw new v(`--idle-shutdown must be 'off' or a duration like 90s, 30m, 2h`);return e}function Ae(e){return e===`localhost`||e===`::1`||e===`[::1]`||e.startsWith(`127.`)}function je(e){return!e.flagBindSet&&!e.okBindSet&&e.hostEnvSet&&e.fileBindCount>1}function Me(e){return!e.openBrowser||e.ephemeral||e.only===`server`||!e.servesUi?!1:(e.explicitOn||Ae(e.host))&&e.isTTY}function Ne(e,t){let n;try{n=new URL(t)}catch{throw new v(`${e} is not a valid URL: ${t}`)}if(n.protocol!==`http:`&&n.protocol!==`https:`)throw new v(`${e} must be an http(s) origin (got: ${t})`);return t}function Pe(e){return Ne(`--external-url`,e)}function Fe(e){let t=R(e).replace(/[^\x20-\x7E]/g,``).trim().slice(0,64);return`open-knowledge-server ${t.length>0?t:`unknown`}`}var X=class extends Error{cwd;constructor(e){super(`This directory isn't set up yet. Run \`${a()} init\` first, then \`${a()} start\` again.`),this.name=`OkDirMissingError`,this.cwd=e}},Z=class extends Error{projectDir;constructor(e){super(`--project-dir must be a throwaway ${f}* directory under the OS temp dir. Refusing to write ephemeral session state into ${e}. Omit --project-dir to let ${a()} start create (and clean up) its own.`),this.name=`EphemeralProjectDirNotThrowawayError`,this.projectDir=e}};function Q(e,t={}){let n=t.tmpdirFn??ae,r=t.realpathFn??re,i=e=>{try{return r(e)}catch(t){return t.code===`ENOENT`?B(e):null}},a=B(e),o;try{o=r(a)}catch(e){if(e.code===`ENOENT`){let e=i(z(a));o=e===null?null:B(e,R(a))}else o=null}if(o===null)return!1;let s=i(n());return s!==null&&z(o)===s&&R(o).startsWith(`ok-ephemeral-`)}function Ie(e,t,n=e=>oe(e,{recursive:!0,force:!0})){return async()=>{try{await e()}finally{if(Q(t))try{await n(t)}catch(e){process.stderr.write(`[start] ephemeral temp dir reap failed for ${t}: ${e instanceof Error?e.message:String(e)}\n`)}else process.stderr.write(`[start] leaving ${t} in place: only ${f}* dirs under the OS temp dir are removed on ephemeral teardown\n`)}}}function Le(e,t={}){let n=t.exit??(e=>process.exit(e)),r=t.getActiveHandles??(()=>{let e=process._getActiveHandles;return e?e.call(process):null});return async()=>{let i=!1;try{await e()}catch(e){i=!0,t.log?.error({err:e},`idle-shutdown: destroy failed — exiting anyway`)}finally{let e=null;try{let t=r();if(t!==null){e={};for(let n of t){let t=n?.constructor?.name??`unknown`;e[t]=(e[t]??0)+1}}}catch{e=null}t.log?.info({event:`idle-shutdown-exit`,exitCode:+!!i,openHandles:e??{},handlesAvailable:e!==null},`idle-shutdown: teardown finished — exiting process`),n(+!!i)}}}async function $(e){let{config:t,cwd:n,host:r}=e,i=e.skipAutoInit??!1,a=e.idleThresholdMs===void 0?18e5:e.idleThresholdMs,{existsSync:o,mkdirSync:s}=await import(`node:fs`),{basename:c,dirname:u,resolve:f}=await import(`node:path`),{bootServer:m,createEphemeralProjectDir:h,getLogger:g,resolveContentDir:_,resolveLockDir:v,seedEphemeralProjectDir:y,waitForServerLockDrain:b}=await import(`./dist-CkWLD9k6.mjs`),S=e.log??g(`start`),C=e.singleFile!==void 0,w=C?l(e.singleFile).canonicalFilePath:void 0,E=w?u(w):void 0,D=w?c(w):void 0,O,k=!1;if(E!==void 0){if(e.projectDir!==void 0){if(O=e.projectDir,!Q(O))throw new Z(O);o(f(O,`.ok`,`config.yml`))||y(O,E)}else O=h(E),k=!0}let j=async()=>{if(!(!k||O===void 0)){if(!Q(O)){S.warn({ephemeralProjectDir:O},`[start] refusing to reap self-provisioned ephemeral dir: no longer resolves to an ok-ephemeral-* temp dir`);return}try{await oe(O,{recursive:!0,force:!0})}catch(e){S.warn({err:e,ephemeralProjectDir:O},`[start] failed to reap self-provisioned ephemeral temp dir`)}}},N=O;if(!C){if(!i&&!p(n))throw new X(n);let t=process.env.OK_RECLAIM_DISABLE??null,r=e=>{e.severity===`info`?S.debug({event:e},`[start] reclaim sweep event`):S.warn({event:e},`[start] reclaim sweep reported a problem`)};try{let i=(e.repairMcpConfigsFn??(await import(`./repair-mcp-configs--oBRB5Ge.mjs`)).repairMcpConfigs)({projectDir:n,reclaimDisableEnv:t,logger:r}).outcomes.filter(e=>e.outcome!==`no-entry`&&e.outcome!==`canonical`&&e.outcome!==`repaired`&&e.outcome!==`foreign`);i.length>0&&S.warn({unhealed:i},`[start] reclaim sweep left entries it could not heal`)}catch(e){S.warn({err:e},`[start] mcp-config repair sweep failed; continuing`)}try{(e.repairLaunchJsonFn??(await import(`./repair-launch-json-BAXUEwk6.mjs`)).repairLaunchJson)({projectDir:n,reclaimDisableEnv:t,logger:r})}catch(e){S.warn({err:e},`[start] launch.json repair sweep failed; continuing`)}}let P=E??_(t,n);!C&&!o(P)&&(s(P,{recursive:!0}),S.info({contentDir:P},`Created content directory`));let ne=T(),I=d(),L;try{{let e=v(O??n),t=Date.now(),r=await b(e);r!==`no-drain`&&S.info({event:`start-waited-for-draining-predecessor`,outcome:r,waitedMs:Date.now()-t,drainLockDir:e},r===`released`?`[start] predecessor server finished draining — proceeding`:`[start] predecessor server still draining after wait — proceeding to collide`)}L=await m({config:t,contentDir:P,projectDir:O??n,contentRoot:C?void 0:t.content.dir,port:e.port,host:r,quiet:!1,detectGh:H,detectGhAccounts:ue,tokenStore:ne,embeddingsKeyStore:I,mcpTomlEditor:x(),...C?{ephemeral:!0,singleDocRelPath:D,gitEnabled:!1,gitPreflight:()=>({ok:!0,version:`0.0.0`,resolvedPath:`git`,source:`PATH`})}:{},localOpCliArgs:[process.execPath,process.argv[1]],probeHarnessManagedMcpEntry:(e,t)=>M(e,t),probePiAcpBridge:e=>ee(e),ensurePiAcpBridge:(e,t)=>te(e,void 0,void 0,void 0,t),agentIntegrations:(()=>{let e={cwd:O??n,home:ie(),env:process.env};return{probe:F(e),execute:we(e),userSkillPresentAnywhere:A}})(),idleShutdownMs:a,...e.serverRuntime===void 0?{}:{serverRuntime:e.serverRuntime},...e.bind===void 0?{}:{bind:e.bind},skipAutoInit:!0,idleShutdownHandler:t=>{let n=t;return Le(N===void 0?n:Ie(n,N),{log:S,exit:e.idleExit})},log:S,...e.serveContentAssets===void 0?{}:{serveContentAssets:e.serveContentAssets},...e.reactShellDistDir?{reactShellDistDir:e.reactShellDistDir}:{},...e.terminalAuthAvailable===!0?{terminalAuthAvailable:!0}:{}})}catch(e){throw await j(),e}let R=L.destroy,z=k?async()=>{try{await R()}finally{await j()}}:R;return{httpServer:L.httpServer,destroy:z,lockDir:L.lockDir,contentDir:P,port:L.port,ready:L.ready,degraded:L.degraded}}function Re(e,t,n=()=>h({absPath:m(`user`,process.cwd()),sideline:!1,warn:()=>{}}).value){return t===void 0?e:n()}function ze(e){if(e===`browser`||e===`app`)return e;throw new v(`--mode must be 'browser' or 'app'`)}function Be(e){return e.OK_CONSOLE_LEVEL!==void 0||e.LOG_LEVEL!==void 0?null:`warn`}function Ve(e){let t=[`Stopping OpenKnowledge…`,`Saving pending changes and releasing the server lock — this can take a few seconds.`];return e===`SIGINT`&&t.push(`Press Ctrl+C again to force quit.`),t}async function He(t,r){let a=Re(t,r.singleFile),c=Be(process.env);c!==null&&(process.env.OK_CONSOLE_LEVEL=c);let{renderBanner:l}=await import(`./banner-kywHhVaC.mjs`),{accent:u,dim:d,error:f,warning:p}=await import(`./colors-SgU3JHQu.mjs`),m=process.cwd();process.title=Fe(m);let h;try{h=o(process.env)}catch(e){throw e instanceof s&&(console.error(f(e.message)),process.exit(78)),e}for(let e of h.diagnostics)console.warn(p(`[config] ${e.message}`));let g=e(a,h.layer),_=h.overrides.some(e=>e.envVar===`OK_BIND`),v=r.bind!==void 0&&r.bind.length>0?r.bind:void 0,y=process.env.HOST,b=y!==void 0&&y.trim()!==``?y:void 0,x=i(g),S=v??(_||b===void 0?[...x.bind]:[b]);je({flagBindSet:v!==void 0,okBindSet:_,hostEnvSet:b!==void 0,fileBindCount:x.bind.length})&&console.warn(p(`[config] HOST=${b} overrides server.bind — dropping the file-configured addresses (${x.bind.join(`, `)}). Use OK_BIND with a space-separated list to keep multiple binds.`));let C=S[0]??`127.0.0.1`,w=S,T=r.externalUrl,E=i(e(g,{server:{bind:w,...T===void 0?{}:{externalUrl:T}}}));if(E.allowExternal&&(!E.loopbackOnly||E.externalUrl)){let e=E.externalUrl??E.bind.join(`, `);console.warn(p([``,`⚠ EXTERNAL ACCESS ENABLED (server.allowExternal) — no server-side authentication.`,` This server is reachable beyond this machine (${e}). Anyone who can`,` reach it has FULL control of this knowledge base — sync, publishing, GitHub`,` credentials, and local operations (clone, sign-in, repo spawn).`,` Restrict who can reach it at the edge: a Tailscale ACL, a reverse proxy with`,` auth (Cloudflare Access, oauth2-proxy), or a firewall.`,``].join(`
3
- `)))}let ee=r.port===void 0?void 0:Number(r.port),D=h.overrides.find(e=>e.envVar===`PORT`)?.value,O=ee??D??a.server?.port,k=Oe({explicitDir:r.reactShellDistDir,only:r.only,findBundledDir:De}),A=k.dir;k.missingBundle&&console.warn(`bundled web UI not found — serving /api and /mcp only. Reinstall @inkeep/open-knowledge, or build packages/app in a source checkout.`);let j;try{j=await $({config:a,cwd:m,host:C,port:O,bind:w,...r.serveContentAssets===void 0?{}:{serveContentAssets:r.serveContentAssets},...A?{reactShellDistDir:A}:{},idleThresholdMs:n(r.idleShutdown??E.idleShutdown),serverRuntime:E,...r.singleFile?{singleFile:r.singleFile}:{},...r.projectDir?{projectDir:r.projectDir}:{},...r.terminalAuth===!0?{terminalAuthAvailable:!0}:{}})}catch(e){e instanceof X&&(console.error(f(e.message)),process.exit(1)),e instanceof Z&&(console.error(f(e.message)),process.exit(1));let t=await import(`./dist-CkWLD9k6.mjs`);if((e instanceof t.GitNotAvailableError||e instanceof t.GitProbeTimeoutError||e instanceof t.GitTooOldError)&&process.exit(78),e instanceof t.ExposureConsentError&&(console.error(f(e.message)),process.exit(78)),(e instanceof t.SingleFileNotFoundError||e instanceof t.SingleFileNotAFileError||e instanceof t.SingleFileNotMarkdownError)&&(console.error(f(e.message)),process.exit(1)),(e instanceof t.MissingOkConfigError||e instanceof t.DocumentDurabilityStateError)&&(console.error(f(e.message)),process.exit(1)),Ge(e,t,m)){let e=t.resolveLockDir(m),n=null;try{n=await Ue({readServerLock:()=>t.readServerLock(e),now:Date.now,sleep:e=>se(e),timeoutMs:3e3,pollIntervalMs:50})}catch(e){process.stderr.write(`[start] spawn-or-reuse: lock poll failed (${e instanceof Error?e.message:String(e)}) — falling back to the collision message\n`)}if(n!==null){let[e,...t]=We(n);console.log(u(e));for(let e of t)console.log(d(e));process.exit(0)}}let n=Ke(e,m,t);n!==null&&(console.error(f(n)),process.exit(1)),console.error(`${f(`Failed to start:`)} ${e instanceof Error?e.stack??e.message:String(e)}`),process.exit(1)}let M=!1,N=async e=>{if(M)return;M=!0;let[t,...n]=Ve(e);console.log(u(`\n${t}`));for(let e of n)console.log(d(` ${e}`));try{await j.destroy(`external-signal`)}catch(e){console.error(`${f(`destroy() failed:`)} ${e instanceof Error?e.stack??e.message:String(e)}`),process.exitCode=1}process.exit(process.exitCode??0)};process.once(`SIGINT`,()=>{N(`SIGINT`)}),process.once(`SIGTERM`,()=>{N(`SIGTERM`)});let P=`http://${C.includes(`:`)&&!C.startsWith(`[`)?`[${C}]`:C}:${j.port}`,te=C===`0.0.0.0`||C===`::`?`http://0.0.0.0:${j.port}`:void 0,F=P;console.log(l({name:`open-knowledge`,version:ne,localUrl:F,networkUrl:te,nextSteps:[`Open the Editor URL in your browser to start editing.`]}));let I={"shadow-repo":`Version history and branch-switch safety unavailable`,"file-watcher":`External file changes will not sync to the editor`,"head-watcher":`Git branch switches may cause document inconsistency`};j.ready.then(async()=>{if(j.degraded.length>0){console.log();for(let e of j.degraded){let t=I[e]??`${e} (check server logs for details)`;console.warn(` ${p(`⚠`)} ${p(e)}: ${d(t)}`)}console.log()}if(Me({openBrowser:r.openBrowser!==!1&&E.openBrowser,explicitOn:r.openBrowser!==!1&&g.server?.openBrowser===!0,host:C,isTTY:process.stdout.isTTY===!0,ephemeral:r.singleFile!==void 0,only:r.only,servesUi:A!==void 0})){let{openBrowser:e}=await import(`./open-browser-DmIGnAR_.mjs`);e(F)}}).catch(e=>{console.error(` ${f(`Server initialization failed:`)} ${e instanceof Error?e.message:String(e)}`)})}async function Ue(e){let t=e.now()+e.timeoutMs,n=e.readServerLock();for(;n!==null&&n.draining!==!0&&n.port<=0&&e.now()<t;)await e.sleep(e.pollIntervalMs),n=e.readServerLock();return n===null||n.draining===!0||n.port<=0?null:c(n)&&n.url!==void 0?{url:n.url,kind:n.kind,pid:n.pid,servesUi:!0}:{url:n.url??`http://127.0.0.1:${n.port}`,kind:n.kind,pid:n.pid,servesUi:!1}}function We(e){return[`${e.kind===`mcp-spawned`?`An MCP-spawned OpenKnowledge server is already running on this project`:`OpenKnowledge is already running on this project`} (pid ${e.pid}).`,` ${e.url}`,`Leaving it running — run \`${a()} stop\` first if you want a fresh server.`]}function Ge(e,t,n){let r=t.ServerLockCollisionError;if(r!==void 0&&e instanceof r)return!0;let i=t.ServerAuthorityCollisionError;if(i===void 0||!(e instanceof i))return!1;try{return e.existing.scope.kind===`tree`&&re.native(n)===e.existing.projectDir}catch{return!1}}function Ke(e,t,n){let r=n.ServerAuthorityCollisionError;if(r!==void 0&&e instanceof r)return e.message;let i=n.ServerAuthorityRegistryError;if(i!==void 0&&e instanceof i)return e.message;let o=n.ProcessLockFileError;if(o!==void 0&&e instanceof o)return e.message;let s=n.ServerLockCollisionError;if(s===void 0||!(e instanceof s))return null;try{let e=n.readServerLock(n.resolveLockDir(t)),r=a();return e?.kind===`mcp-spawned`?`An MCP-spawned server holds this lock; it should release on idle-shutdown (~30 min). Or run \`${r} stop\`.`:`OpenKnowledge server is already running on this project — check \`${r} status\` or \`${r} stop\`.`}catch{return null}}function qe(e){return new S(`start`).description(`Start the OpenKnowledge server (UI + API + MCP + collab on one port)`).option(`-p, --port <port>`,`Server port`,void 0).option(`--bind <address>`,`Bind address (repeatable; default 127.0.0.1 — loopback only)`,(e,t)=>[...t??[],e]).option(`--no-open-browser`,`Do not open the browser after start (interactive loopback starts open it by default)`).option(`--only <module>`,`Serve one module: 'server' (API + MCP only, no shell or browser)`,Ee).option(`--idle-shutdown <duration>`,`Shut the server down after this long with no connected clients ('off', or a duration like 90s, 30m, 2h; default 30m)`,ke).option(`--mode <mode>`,`Force dispatch mode: 'browser' or 'app'`,ze).option(`--serve-content-assets`,`Serve content assets from this server (now the default; kept for compatibility)`).option(`--react-shell-dist-dir <path>`,`Serve React shell from <path>`).addOption(new g(`--single-file <path>`,`No-project ephemeral single-file mode: scope the server to one markdown file (git + MCP off)`).hideHelp()).addOption(new g(`--project-dir <dir>`,`Throwaway project root for --single-file (where ephemeral .ok/ state lives)`).hideHelp()).addOption(new g(`--terminal-auth`,`Tell in-app agents that this server's client can run terminal sign-ins (the desktop app passes it when it has a terminal)`).hideHelp()).option(`--external-url <url>`,`Canonical external origin clients dial (sets server.externalUrl for this run) — its host joins the Host/Origin allowlists (CORS + external-Host admission). External exposure additionally requires consent (OK_ALLOW_EXTERNAL=1 or server.allowExternal).`,Pe).action(async t=>{let n=e();if(t.only===`server`&&t.reactShellDistDir!==void 0&&(process.stderr.write(`error: option '--only server' cannot be combined with '--react-shell-dist-dir'
1
+ import{C as e,Fl as t,I as n,Md as r,Q as i,Wf as a,Z as o,i as s}from"./md-manager-BGnqyqi1-B15iekH4.mjs";import{Ei as c,Gi as l,Ms as u,ji as d,k as f,mi as p,xs as m,ys as h}from"./dist-cEMV5fgn.mjs";import{Et as g,R as _,Tt as v,Z as y,b,dt as x,wt as S,x as C,z as w}from"./init-DFdh051o.mjs";import{C as T,a as E,c as ee,d as D,g as O,h as k,i as A,m as j,n as M,o as N,r as P,s as te,t as F}from"./registry-probes-C3Z9yWC5.mjs";import{n as ne}from"./constants-VukQvYdL.mjs";import{execFileSync as I,spawn as L}from"node:child_process";import{basename as R,dirname as z,resolve as B}from"node:path";import{existsSync as V,realpathSync as re}from"node:fs";import{homedir as ie,tmpdir as ae}from"node:os";import{rm as oe}from"node:fs/promises";import{setTimeout as se}from"node:timers/promises";const ce=[`/opt/homebrew/bin/gh`,`/usr/local/bin/gh`,`/opt/local/bin/gh`,`/snap/bin/gh`,`/usr/bin/gh`],le={encoding:`utf-8`,stdio:[`ignore`,`pipe`,`pipe`],timeout:5e3,windowsHide:!0};function H(e,t={}){let{login:n}=t,r=t._exec??I,i=U(t._fileExists??V),a=e?[`--hostname`,e]:[];if(n){let e=W(r,i,[`auth`,`token`,...a,`--user`,n]);if(e)return{available:!0,token:e,resolvedLogin:n,fallback:!1}}let o=W(r,i,[`auth`,`token`,...a]);return o?n?{available:!0,token:o,fallback:!0}:{available:!0,token:o}:{available:!1}}function U(e){return[`gh`,...ce.filter(e)]}function W(e,t,n){for(let r of t)try{let t=e(r,n,le).toString().trim();if(t.length>0)return t}catch{}}function ue(e,t={}){let n=t._exec??I,r=U(t._fileExists??V),i=[`auth`,`status`,...e?[`--hostname`,e]:[]],a=W(n,r,[...i,`--json`,`hosts`]);if(a!==void 0){let t=de(a,e);if(t)return t}let o=W(n,r,i);if(o!==void 0){let e=ge(o);if(e.length>0)return e}}function G(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:void 0}function de(e,t){let n;try{n=JSON.parse(e)}catch{return}let r=G(G(n)?.hosts);if(!r||t!==void 0&&r[t]===void 0)return;let i=t===void 0?Object.values(r):[r[t]],a=[];for(let e of i){if(!Array.isArray(e))return;for(let t of e){let e=G(t);if(!e)continue;let n=e.login;typeof n==`string`&&n.length!==0&&a.push({login:n,active:e.active===!0})}}return a}const fe=/Logged in to \S+ account (\S+) \(/,pe=/(?:Failed to log in to|Timeout trying to log in to) \S+/,me=/^\s*-\s*Active account:\s*true\s*$/,he=/\u001b\[[0-9;]*m/g;function ge(e){let t=[],n;for(let r of e.split(`
2
+ `)){let e=r.replace(he,``),i=fe.exec(e)?.[1];if(i){n={login:i,active:!1},t.push(n);continue}if(pe.test(e)){n=void 0;continue}n&&me.test(e)&&(n.active=!0)}return t}const _e={mode:`published`,skipAvailabilityCheck:!0,replaceEntry:!0};function K(){return{action:`failed`,errorId:`write-failed`}}function q(){return{action:`skipped-missing`,errorId:`surface-missing`}}function J(e,t,n){u(`agent-integrations-apply`).warn({editor:e,path:t,reason:n},`skill write failed`)}function Y(){return{action:`skipped-unsupported`,errorId:`no-writer`}}function ve(e){switch(e){case`removed`:return{action:`removed`};case`not-present`:return{action:`no-op`};case`left-foreign`:return{action:`skipped-foreign`,errorId:`foreign-artifact`};case`declined`:return{action:`declined`,errorId:`write-declined`}}}function ye(e,t,n,r,i){let a=y[e];try{let o=N(a,t,n,r,i);return o.kind===`removed`&&o.trustDetail&&u(`agent-integrations-apply`).warn({editor:e,path:r??a.configPath(t,n),trust:o.trust,trustDetail:o.trustDetail},`MCP config removal retained Pi folder trust`),ve(o.kind)}catch(i){return u(`agent-integrations-apply`).warn({editor:e,path:r??a.configPath(t,n),reason:i instanceof Error?i.message:String(i)},`MCP config removal failed`),K()}}async function be(e,t,n){if(y[e].scope!==`global`)return q();if(n===`absent`)return ye(e,``,t.home,void 0,t.env);let r=(await C({editors:[e],home:t.home,replaceEntry:!0})).find(t=>t.editorId===e);if(r===void 0)return K();switch(r.action){case`written`:case`overwritten`:return{action:r.action};case`declined`:return{action:`declined`,errorId:`write-declined`};case`skipped-missing`:return q();case`skipped-flag`:return Y();default:return K()}}function xe(e,t,n){let r=y[e].projectConfigPath?.(t.cwd);if(r===void 0)return q();if(n===`absent`)return ye(e,t.cwd,t.home,r,t.env);let i=b(y[e],t.cwd,_e,void 0,r);switch(i.action){case`written`:case`overwritten`:return{action:i.action};case`declined`:return{action:`declined`,errorId:`write-declined`};default:return K()}}function Se(e,t,n){let r=t.home??ie();if(n===`absent`){let t=P(e,r);switch(t.action){case`removed`:return{action:`removed`};case`not-present`:return{action:`no-op`};case`skipped-unsupported`:return q();case`failed`:return J(e,t.path,t.error),K()}}let i=E(e,r);switch(i.action){case`written`:return{action:`written`};case`overwritten`:return{action:`overwritten`};case`skipped-unsupported`:return q();case`failed`:return J(e,i.path,i.error),K()}}function Ce(e,t,n){if(n===`absent`){let n=_(y[e],t.cwd);switch(n.action){case`removed`:return{action:`removed`};case`not-present`:return{action:`no-op`};case`skipped-unsupported`:return q();case`failed`:return J(e,n.path,n.error),K()}}let r=w(y[e],t.cwd);switch(r.action){case`written`:return{action:`written`};case`overwritten`:return{action:`overwritten`};case`skipped-unsupported`:return q();case`skipped-prerequisite`:return{action:`skipped-prerequisite`,errorId:`dependency-failed`};case`failed`:return J(e,r.path,r.error),K()}}function we(e){return t=>{if(t.pathId===void 0)return Y();let n=r(t.pathId);if(n===null||n.kind===`central-skill-store`)return Y();switch(n.kind){case`editor-user-config`:return be(n.editor,e,t.desired);case`editor-project-config`:return xe(n.editor,e,t.desired);case`editor-project-skill-root`:return Ce(n.editor,e,t.desired);case`editor-user-skill-root`:return Se(n.editor,e,t.desired)}}}function Te(e,t){return e.bind?.[0]??t.HOST??`127.0.0.1`}function Ee(e){if(e===`server`)return e;throw new v(`--only must be 'server'`)}function De(e=V,t=import.meta.dirname??new URL(`.`,import.meta.url).pathname){let n=[B(t,`public`),B(t,`../../app/dist`),B(t,`../../../app/dist`)];return e(B(t,`../../app.asar`))&&n.push(B(t,`../../app`)),n.find(t=>e(t))}function Oe(e){if(e.explicitDir!==void 0)return{dir:e.explicitDir,missingBundle:!1};if(e.only===`server`)return{dir:void 0,missingBundle:!1};let t=e.findBundledDir();return{dir:t,missingBundle:t===void 0}}function ke(e){if(e===`off`)return`off`;if(!t.test(e))throw new v(`--idle-shutdown must be 'off' or a duration like 90s, 30m, 2h`);return e}function Ae(e){return e===`localhost`||e===`::1`||e===`[::1]`||e.startsWith(`127.`)}function je(e){return!e.flagBindSet&&!e.okBindSet&&e.hostEnvSet&&e.fileBindCount>1}function Me(e){return!e.openBrowser||e.ephemeral||e.only===`server`||!e.servesUi?!1:(e.explicitOn||Ae(e.host))&&e.isTTY}function Ne(e,t){let n;try{n=new URL(t)}catch{throw new v(`${e} is not a valid URL: ${t}`)}if(n.protocol!==`http:`&&n.protocol!==`https:`)throw new v(`${e} must be an http(s) origin (got: ${t})`);return t}function Pe(e){return Ne(`--external-url`,e)}function Fe(e){let t=R(e).replace(/[^\x20-\x7E]/g,``).trim().slice(0,64);return`open-knowledge-server ${t.length>0?t:`unknown`}`}var X=class extends Error{cwd;constructor(e){super(`This directory isn't set up yet. Run \`${a()} init\` first, then \`${a()} start\` again.`),this.name=`OkDirMissingError`,this.cwd=e}},Z=class extends Error{projectDir;constructor(e){super(`--project-dir must be a throwaway ${f}* directory under the OS temp dir. Refusing to write ephemeral session state into ${e}. Omit --project-dir to let ${a()} start create (and clean up) its own.`),this.name=`EphemeralProjectDirNotThrowawayError`,this.projectDir=e}};function Q(e,t={}){let n=t.tmpdirFn??ae,r=t.realpathFn??re,i=e=>{try{return r(e)}catch(t){return t.code===`ENOENT`?B(e):null}},a=B(e),o;try{o=r(a)}catch(e){if(e.code===`ENOENT`){let e=i(z(a));o=e===null?null:B(e,R(a))}else o=null}if(o===null)return!1;let s=i(n());return s!==null&&z(o)===s&&R(o).startsWith(`ok-ephemeral-`)}function Ie(e,t,n=e=>oe(e,{recursive:!0,force:!0})){return async()=>{try{await e()}finally{if(Q(t))try{await n(t)}catch(e){process.stderr.write(`[start] ephemeral temp dir reap failed for ${t}: ${e instanceof Error?e.message:String(e)}\n`)}else process.stderr.write(`[start] leaving ${t} in place: only ${f}* dirs under the OS temp dir are removed on ephemeral teardown\n`)}}}function Le(e,t={}){let n=t.exit??(e=>process.exit(e)),r=t.getActiveHandles??(()=>{let e=process._getActiveHandles;return e?e.call(process):null});return async()=>{let i=!1;try{await e()}catch(e){i=!0,t.log?.error({err:e},`idle-shutdown: destroy failed — exiting anyway`)}finally{let e=null;try{let t=r();if(t!==null){e={};for(let n of t){let t=n?.constructor?.name??`unknown`;e[t]=(e[t]??0)+1}}}catch{e=null}t.log?.info({event:`idle-shutdown-exit`,exitCode:+!!i,openHandles:e??{},handlesAvailable:e!==null},`idle-shutdown: teardown finished — exiting process`),n(+!!i)}}}async function $(e){let{config:t,cwd:n,host:r}=e,i=e.skipAutoInit??!1,a=e.idleThresholdMs===void 0?18e5:e.idleThresholdMs,{existsSync:o,mkdirSync:s}=await import(`node:fs`),{basename:c,dirname:u,resolve:f}=await import(`node:path`),{bootServer:m,createEphemeralProjectDir:h,getLogger:g,resolveContentDir:_,resolveLockDir:v,seedEphemeralProjectDir:y,waitForServerLockDrain:b}=await import(`./dist-6mRqHaPH.mjs`),S=e.log??g(`start`),C=e.singleFile!==void 0,w=C?l(e.singleFile).canonicalFilePath:void 0,E=w?u(w):void 0,D=w?c(w):void 0,O,k=!1;if(E!==void 0){if(e.projectDir!==void 0){if(O=e.projectDir,!Q(O))throw new Z(O);o(f(O,`.ok`,`config.yml`))||y(O,E)}else O=h(E),k=!0}let j=async()=>{if(!(!k||O===void 0)){if(!Q(O)){S.warn({ephemeralProjectDir:O},`[start] refusing to reap self-provisioned ephemeral dir: no longer resolves to an ok-ephemeral-* temp dir`);return}try{await oe(O,{recursive:!0,force:!0})}catch(e){S.warn({err:e,ephemeralProjectDir:O},`[start] failed to reap self-provisioned ephemeral temp dir`)}}},N=O;if(!C){if(!i&&!p(n))throw new X(n);let t=process.env.OK_RECLAIM_DISABLE??null,r=e=>{e.severity===`info`?S.debug({event:e},`[start] reclaim sweep event`):S.warn({event:e},`[start] reclaim sweep reported a problem`)};try{let i=(e.repairMcpConfigsFn??(await import(`./repair-mcp-configs-DrR0Ro08.mjs`)).repairMcpConfigs)({projectDir:n,reclaimDisableEnv:t,logger:r}).outcomes.filter(e=>e.outcome!==`no-entry`&&e.outcome!==`canonical`&&e.outcome!==`repaired`&&e.outcome!==`foreign`);i.length>0&&S.warn({unhealed:i},`[start] reclaim sweep left entries it could not heal`)}catch(e){S.warn({err:e},`[start] mcp-config repair sweep failed; continuing`)}try{(e.repairLaunchJsonFn??(await import(`./repair-launch-json-DoCOMfXL.mjs`)).repairLaunchJson)({projectDir:n,reclaimDisableEnv:t,logger:r})}catch(e){S.warn({err:e},`[start] launch.json repair sweep failed; continuing`)}}let P=E??_(t,n);!C&&!o(P)&&(s(P,{recursive:!0}),S.info({contentDir:P},`Created content directory`));let ne=T(),I=d(),L;try{{let e=v(O??n),t=Date.now(),r=await b(e);r!==`no-drain`&&S.info({event:`start-waited-for-draining-predecessor`,outcome:r,waitedMs:Date.now()-t,drainLockDir:e},r===`released`?`[start] predecessor server finished draining — proceeding`:`[start] predecessor server still draining after wait — proceeding to collide`)}L=await m({config:t,contentDir:P,projectDir:O??n,contentRoot:C?void 0:t.content.dir,port:e.port,host:r,quiet:!1,detectGh:H,detectGhAccounts:ue,tokenStore:ne,embeddingsKeyStore:I,mcpTomlEditor:x(),...C?{ephemeral:!0,singleDocRelPath:D,gitEnabled:!1,gitPreflight:()=>({ok:!0,version:`0.0.0`,resolvedPath:`git`,source:`PATH`})}:{},localOpCliArgs:[process.execPath,process.argv[1]],probeHarnessManagedMcpEntry:(e,t)=>M(e,t),probePiAcpBridge:e=>ee(e),ensurePiAcpBridge:(e,t)=>te(e,void 0,void 0,void 0,t),agentIntegrations:(()=>{let e={cwd:O??n,home:ie(),env:process.env};return{probe:F(e),execute:we(e),userSkillPresentAnywhere:A}})(),idleShutdownMs:a,...e.serverRuntime===void 0?{}:{serverRuntime:e.serverRuntime},...e.bind===void 0?{}:{bind:e.bind},skipAutoInit:!0,idleShutdownHandler:t=>{let n=t;return Le(N===void 0?n:Ie(n,N),{log:S,exit:e.idleExit})},log:S,...e.serveContentAssets===void 0?{}:{serveContentAssets:e.serveContentAssets},...e.reactShellDistDir?{reactShellDistDir:e.reactShellDistDir}:{},...e.terminalAuthAvailable===!0?{terminalAuthAvailable:!0}:{}})}catch(e){throw await j(),e}let R=L.destroy,z=k?async()=>{try{await R()}finally{await j()}}:R;return{httpServer:L.httpServer,destroy:z,lockDir:L.lockDir,contentDir:P,port:L.port,ready:L.ready,degraded:L.degraded}}function Re(e,t,n=()=>h({absPath:m(`user`,process.cwd()),sideline:!1,warn:()=>{}}).value){return t===void 0?e:n()}function ze(e){if(e===`browser`||e===`app`)return e;throw new v(`--mode must be 'browser' or 'app'`)}function Be(e){return e.OK_CONSOLE_LEVEL!==void 0||e.LOG_LEVEL!==void 0?null:`warn`}function Ve(e){let t=[`Stopping OpenKnowledge…`,`Saving pending changes and releasing the server lock — this can take a few seconds.`];return e===`SIGINT`&&t.push(`Press Ctrl+C again to force quit.`),t}async function He(t,r){let a=Re(t,r.singleFile),c=Be(process.env);c!==null&&(process.env.OK_CONSOLE_LEVEL=c);let{renderBanner:l}=await import(`./banner-kywHhVaC.mjs`),{accent:u,dim:d,error:f,warning:p}=await import(`./colors-SgU3JHQu.mjs`),m=process.cwd();process.title=Fe(m);let h;try{h=o(process.env)}catch(e){throw e instanceof s&&(console.error(f(e.message)),process.exit(78)),e}for(let e of h.diagnostics)console.warn(p(`[config] ${e.message}`));let g=e(a,h.layer),_=h.overrides.some(e=>e.envVar===`OK_BIND`),v=r.bind!==void 0&&r.bind.length>0?r.bind:void 0,y=process.env.HOST,b=y!==void 0&&y.trim()!==``?y:void 0,x=i(g),S=v??(_||b===void 0?[...x.bind]:[b]);je({flagBindSet:v!==void 0,okBindSet:_,hostEnvSet:b!==void 0,fileBindCount:x.bind.length})&&console.warn(p(`[config] HOST=${b} overrides server.bind — dropping the file-configured addresses (${x.bind.join(`, `)}). Use OK_BIND with a space-separated list to keep multiple binds.`));let C=S[0]??`127.0.0.1`,w=S,T=r.externalUrl,E=i(e(g,{server:{bind:w,...T===void 0?{}:{externalUrl:T}}}));if(E.allowExternal&&(!E.loopbackOnly||E.externalUrl)){let e=E.externalUrl??E.bind.join(`, `);console.warn(p([``,`⚠ EXTERNAL ACCESS ENABLED (server.allowExternal) — no server-side authentication.`,` This server is reachable beyond this machine (${e}). Anyone who can`,` reach it has FULL control of this knowledge base — sync, publishing, GitHub`,` credentials, and local operations (clone, sign-in, repo spawn).`,` Restrict who can reach it at the edge: a Tailscale ACL, a reverse proxy with`,` auth (Cloudflare Access, oauth2-proxy), or a firewall.`,``].join(`
3
+ `)))}let ee=r.port===void 0?void 0:Number(r.port),D=h.overrides.find(e=>e.envVar===`PORT`)?.value,O=ee??D??a.server?.port,k=Oe({explicitDir:r.reactShellDistDir,only:r.only,findBundledDir:De}),A=k.dir;k.missingBundle&&console.warn(`bundled web UI not found — serving /api and /mcp only. Reinstall @inkeep/open-knowledge, or build packages/app in a source checkout.`);let j;try{j=await $({config:a,cwd:m,host:C,port:O,bind:w,...r.serveContentAssets===void 0?{}:{serveContentAssets:r.serveContentAssets},...A?{reactShellDistDir:A}:{},idleThresholdMs:n(r.idleShutdown??E.idleShutdown),serverRuntime:E,...r.singleFile?{singleFile:r.singleFile}:{},...r.projectDir?{projectDir:r.projectDir}:{},...r.terminalAuth===!0?{terminalAuthAvailable:!0}:{}})}catch(e){e instanceof X&&(console.error(f(e.message)),process.exit(1)),e instanceof Z&&(console.error(f(e.message)),process.exit(1));let t=await import(`./dist-6mRqHaPH.mjs`);if((e instanceof t.GitNotAvailableError||e instanceof t.GitProbeTimeoutError||e instanceof t.GitTooOldError)&&process.exit(78),e instanceof t.ExposureConsentError&&(console.error(f(e.message)),process.exit(78)),(e instanceof t.SingleFileNotFoundError||e instanceof t.SingleFileNotAFileError||e instanceof t.SingleFileNotMarkdownError)&&(console.error(f(e.message)),process.exit(1)),(e instanceof t.MissingOkConfigError||e instanceof t.DocumentDurabilityStateError)&&(console.error(f(e.message)),process.exit(1)),Ge(e,t,m)){let e=t.resolveLockDir(m),n=null;try{n=await Ue({readServerLock:()=>t.readServerLock(e),now:Date.now,sleep:e=>se(e),timeoutMs:3e3,pollIntervalMs:50})}catch(e){process.stderr.write(`[start] spawn-or-reuse: lock poll failed (${e instanceof Error?e.message:String(e)}) — falling back to the collision message\n`)}if(n!==null){let[e,...t]=We(n);console.log(u(e));for(let e of t)console.log(d(e));process.exit(0)}}let n=Ke(e,m,t);n!==null&&(console.error(f(n)),process.exit(1)),console.error(`${f(`Failed to start:`)} ${e instanceof Error?e.stack??e.message:String(e)}`),process.exit(1)}let M=!1,N=async e=>{if(M)return;M=!0;let[t,...n]=Ve(e);console.log(u(`\n${t}`));for(let e of n)console.log(d(` ${e}`));try{await j.destroy(`external-signal`)}catch(e){console.error(`${f(`destroy() failed:`)} ${e instanceof Error?e.stack??e.message:String(e)}`),process.exitCode=1}process.exit(process.exitCode??0)};process.once(`SIGINT`,()=>{N(`SIGINT`)}),process.once(`SIGTERM`,()=>{N(`SIGTERM`)});let P=`http://${C.includes(`:`)&&!C.startsWith(`[`)?`[${C}]`:C}:${j.port}`,te=C===`0.0.0.0`||C===`::`?`http://0.0.0.0:${j.port}`:void 0,F=P;console.log(l({name:`open-knowledge`,version:ne,localUrl:F,networkUrl:te,nextSteps:[`Open the Editor URL in your browser to start editing.`]}));let I={"shadow-repo":`Version history and branch-switch safety unavailable`,"file-watcher":`External file changes will not sync to the editor`,"head-watcher":`Git branch switches may cause document inconsistency`};j.ready.then(async()=>{if(j.degraded.length>0){console.log();for(let e of j.degraded){let t=I[e]??`${e} (check server logs for details)`;console.warn(` ${p(`⚠`)} ${p(e)}: ${d(t)}`)}console.log()}if(Me({openBrowser:r.openBrowser!==!1&&E.openBrowser,explicitOn:r.openBrowser!==!1&&g.server?.openBrowser===!0,host:C,isTTY:process.stdout.isTTY===!0,ephemeral:r.singleFile!==void 0,only:r.only,servesUi:A!==void 0})){let{openBrowser:e}=await import(`./open-browser-D1i95Ud7.mjs`);e(F)}}).catch(e=>{console.error(` ${f(`Server initialization failed:`)} ${e instanceof Error?e.message:String(e)}`)})}async function Ue(e){let t=e.now()+e.timeoutMs,n=e.readServerLock();for(;n!==null&&n.draining!==!0&&n.port<=0&&e.now()<t;)await e.sleep(e.pollIntervalMs),n=e.readServerLock();return n===null||n.draining===!0||n.port<=0?null:c(n)&&n.url!==void 0?{url:n.url,kind:n.kind,pid:n.pid,servesUi:!0}:{url:n.url??`http://127.0.0.1:${n.port}`,kind:n.kind,pid:n.pid,servesUi:!1}}function We(e){return[`${e.kind===`mcp-spawned`?`An MCP-spawned OpenKnowledge server is already running on this project`:`OpenKnowledge is already running on this project`} (pid ${e.pid}).`,` ${e.url}`,`Leaving it running — run \`${a()} stop\` first if you want a fresh server.`]}function Ge(e,t,n){let r=t.ServerLockCollisionError;if(r!==void 0&&e instanceof r)return!0;let i=t.ServerAuthorityCollisionError;if(i===void 0||!(e instanceof i))return!1;try{return e.existing.scope.kind===`tree`&&re.native(n)===e.existing.projectDir}catch{return!1}}function Ke(e,t,n){let r=n.ServerAuthorityCollisionError;if(r!==void 0&&e instanceof r)return e.message;let i=n.ServerAuthorityRegistryError;if(i!==void 0&&e instanceof i)return e.message;let o=n.ProcessLockFileError;if(o!==void 0&&e instanceof o)return e.message;let s=n.ServerLockCollisionError;if(s===void 0||!(e instanceof s))return null;try{let e=n.readServerLock(n.resolveLockDir(t)),r=a();return e?.kind===`mcp-spawned`?`An MCP-spawned server holds this lock; it should release on idle-shutdown (~30 min). Or run \`${r} stop\`.`:`OpenKnowledge server is already running on this project — check \`${r} status\` or \`${r} stop\`.`}catch{return null}}function qe(e){return new S(`start`).description(`Start the OpenKnowledge server (UI + API + MCP + collab on one port)`).option(`-p, --port <port>`,`Server port`,void 0).option(`--bind <address>`,`Bind address (repeatable; default 127.0.0.1 — loopback only)`,(e,t)=>[...t??[],e]).option(`--no-open-browser`,`Do not open the browser after start (interactive loopback starts open it by default)`).option(`--only <module>`,`Serve one module: 'server' (API + MCP only, no shell or browser)`,Ee).option(`--idle-shutdown <duration>`,`Shut the server down after this long with no connected clients ('off', or a duration like 90s, 30m, 2h; default 30m)`,ke).option(`--mode <mode>`,`Force dispatch mode: 'browser' or 'app'`,ze).option(`--serve-content-assets`,`Serve content assets from this server (now the default; kept for compatibility)`).option(`--react-shell-dist-dir <path>`,`Serve React shell from <path>`).addOption(new g(`--single-file <path>`,`No-project ephemeral single-file mode: scope the server to one markdown file (git + MCP off)`).hideHelp()).addOption(new g(`--project-dir <dir>`,`Throwaway project root for --single-file (where ephemeral .ok/ state lives)`).hideHelp()).addOption(new g(`--terminal-auth`,`Tell in-app agents that this server's client can run terminal sign-ins (the desktop app passes it when it has a terminal)`).hideHelp()).option(`--external-url <url>`,`Canonical external origin clients dial (sets server.externalUrl for this run) — its host joins the Host/Origin allowlists (CORS + external-Host admission). External exposure additionally requires consent (OK_ALLOW_EXTERNAL=1 or server.allowExternal).`,Pe).action(async t=>{let n=e();if(t.only===`server`&&t.reactShellDistDir!==void 0&&(process.stderr.write(`error: option '--only server' cannot be combined with '--react-shell-dist-dir'
4
4
  `),process.exit(2)),t.projectDir!==void 0&&t.singleFile===void 0&&(process.stderr.write(`error: option '--project-dir' requires '--single-file'
5
5
  `),process.exit(2)),t.mode===`app`){let e=[];if(t.port!==void 0&&e.push(`--port`),t.bind!==void 0&&e.push(`--bind`),t.only!==void 0&&e.push(`--only`),t.idleShutdown!==void 0&&e.push(`--idle-shutdown`),t.openBrowser===!1&&e.push(`--no-open-browser`),t.externalUrl!==void 0&&e.push(`--external-url`),e.length>0){let t=process.env.OK_LOG_LEVEL??`info`;(t===`debug`||t===`trace`)&&console.error(`--mode=app: ignoring ${e.join(`, `)}`)}let n=j(D());if(n.available){k({spawn:L},n);return}console.error(O(n.reason)),process.exit(1)}await He(n,t)})}export{Ke as C,ue as D,H as E,qe as S,Le as T,Be as _,We as a,Me as b,Q as c,ke as d,Ee as f,Re as g,Ue as h,Fe as i,Ge as l,Te as m,X as n,Ve as o,De as p,$ as r,Ae as s,Z as t,Pe as u,Oe as v,Ie as w,je as x,He as y};
@@ -0,0 +1 @@
1
+ import{S as e,m as t,p as n,r}from"./start-N8_Gk9Cw.mjs";export{r as bootStartServer,n as resolveBundledReactShellDir,t as resolveHost,e as startCommand};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inkeep/open-knowledge",
3
- "version": "0.88.0-beta.4",
3
+ "version": "0.88.0-beta.6",
4
4
  "description": "Local-first, agent-friendly Markdown knowledge base with a cross-platform CLI and web editor",
5
5
  "keywords": [
6
6
  "knowledge-base",
@@ -65,10 +65,10 @@
65
65
  "@parcel/watcher": "^2.5.6"
66
66
  },
67
67
  "devDependencies": {
68
- "@inkeep/open-knowledge-app": "0.88.0-beta.4",
69
- "@inkeep/open-knowledge-core": "0.88.0-beta.4",
68
+ "@inkeep/open-knowledge-app": "0.88.0-beta.6",
69
+ "@inkeep/open-knowledge-core": "0.88.0-beta.6",
70
70
  "@inkeep/open-knowledge-native-config": "0.0.0",
71
- "@inkeep/open-knowledge-server": "0.88.0-beta.4",
71
+ "@inkeep/open-knowledge-server": "0.88.0-beta.6",
72
72
  "@types/node": "^24.7.0",
73
73
  "@types/proper-lockfile": "^4.1.4",
74
74
  "@types/yazl": "^3.3.1",
@@ -1 +0,0 @@
1
- import"./md-manager-BGnqyqi1-B15iekH4.mjs";var e=`0.88.0-beta.4`;const t=`config.yml`,n=e;export{n,t};
@@ -1 +0,0 @@
1
- import"./dist-Gs3Faeeg.mjs";import{v as e}from"./init-C0rtJLMt.mjs";export{e as runInit};
@@ -1 +0,0 @@
1
- import{n as e}from"./loader-DzqfET0v.mjs";export{e as loadConfig};
@@ -1 +0,0 @@
1
- import{n as e,t}from"./preview-5gP5qg7t.mjs";export{t as formatPreviewBlock,e as previewContent};
@@ -1 +0,0 @@
1
- import{t as e}from"./index-CaVRqEFp.js";export{e as FeedbackForm};
@@ -1 +0,0 @@
1
- import{t as e}from"./ManagedArtifactProperties-Dp9fraTI.js";export{e as ManagedArtifactProperties};
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./TerminalPanel-DxeDkNhO.js","./chunk-CYidjpOJ.js","./dist-Nvb76hAm.js","./jsx-runtime-BUgB2tll.js","./react-f2sANaYj.js","./triangle-alert-DFWRwfH7.js","./createLucideIcon-DdBzwsHe.js","./x-wldAHzfP.js","./dist-PQ5KMVDh.js","./compiler-runtime-BfE3aGVn.js","./TerminalStartingNotice-iwOJoRm5.js","./spinner-Bx8xD6f8.js","./utils-CPqDy6Hr.js","./bundle-mjs-SHeFpKGC.js","./button-DzgjsZzC.js","./dist-CSCUSbQc.js","./dist-BsJYDohW.js","./file-tree-adapter-BoFbTGGE.js","./file-tree-rename-validation-BZbYm35X.js","./file-tree-utils-w-NVNUx5.js","./constants-cc1-Bt4QPTUe.js","./util-doc-name-DRKmy6g9.js","./navigation-targets-2KeX0-Gp.js","./doc-paths-C1iU3JM4.js","./constants-upload-CVKO8P4d.js","./doc-extensions-CcO7K8uD-DG9uHV54.js","./doc-hash-DnaMfJ4U.js","./terminal-command-events-BztGPiiV.js","./handoff-dsJx3fmu.js","./_envelope-BjFOILGI-BHu_Fgux.js","./schemas-B93JY9Ef.js","./share-D-LUU2aX-B7Yg0G_m.js","./agent-connections-eIAONhYw.js","./dist-C_FzPxEX2.js","./alert-dialog-Mwvu63aS.js","./dist-DTFuvKje.js","./react-dom-DPxgxlDT.js","./electron-drag-strip-D9GZhMg_.js","./dist-CxbWbOvU.js","./es2015-Dtr4fzLT.js","./checkbox-CKD8LETI.js","./dist-DBXmXNZF.js","./dist-CRjqnzU7.js","./check-B2OLRY33.js","./minus-DdRxss3A.js","./label-CvMpFFbN.js","./tooltip-Bz6z4_se.js","./dist-DXjgFhPl2.js","./floating-ui.dom-BYl7JZd0.js","./folder-QqUoFRPR.js","./info-CyR0W2SK.js","./monitor-IXzxTnmk.js","./sparkles-lfxw6YO9.js","./schemas-api-SZDu_YyA.js","./constants-github-B7yhDvQc.js","./logging-renderer-log-CqIZVUIQ.js","./skill-targets-schema-D6kA7J61.js","./constants-editors-DmmORwNP.js","./constants-product-BVSOzxVs.js","./AgentIconCluster-gjhntxbl.js","./OpenInAgentMenuItem-D0YuEr4G.js","./dropdown-menu-5XqyQTVx.js","./dist-C0nuYMFu.js","./dist-d2WYntJB.js","./dist-uiDX6Nr9.js","./dist-BKgU0kag.js","./chevron-right-Bofu4lib.js","./cursor-pH0WlPzE.js","./copilot-CmkvU8CH.js","./utils-random-uuid-CE1X6bNM.js","./mascot-outline-CtS592mc.js","./badge-DcyFOLs8.js","./dialog-CAxu_6pu.js","./field-DtEiTjHS.js","./separator-D7s_9ZwH.js","./tool-list-format-ahklHT7Z.js","./agent-registry-B5GJuQIb.js","./constants-skills-Coq7kn_k.js","./use-live-xterm-theme-TUL8x9zo.js","./css-color-to-hex-BTwrxN_f.js","./use-apply-config-color-theme-UxYGcH5_.js","./use-apply-config-theme-CYFG76sS.js","./page-list-cache-BzU3W0FU.js","./reveal-editor-CoucRZz8.js","./desktop-bridge-D6pSqrSU.js","./TerminalPanel-BrP-ENHg.css","./ThreadView-Dsiuhy-G.js","./preload-helper-Chd9yIcd.js","./CodeMirrorPropInput-DZQ4BkYp.js","./dist-W5hM-kQ3.js","./dist-CoJBCixp.js","./w3c-keyname-C7Rznu6R.js","./dist-BtC2yORW.js","./dist-B1rPVlDX.js","./dist-OHM7P10P.js","./dist-ldcsP3Wx.js","./dist-kajsw8zD.js","./dist-CNHpRWc3.js","./dist-OiK6QmuG.js","./dist-DLTuJxuQ2.js","./stex-CmWau-0j.js","./config-provider-DJlrqCRv.js","./trace-api-nQInEDYS.js","./status-CUwkWWLj.js","./use-apply-config-language-C-yGgM6f.js","./dist-BGzUo_18.js","./messages-QIgvjBSp.js","./client-version-S2pq-A2d.js","./saved-themes-client-DjWW0PP-.js","./dist-Dc8tD1th.js","./lib-CZXZ01YL.js","./ccount-s_UaBrax.js","./lib-Csk2IQWH.js","./space-separated-tokens-B2o5P1Kh.js","./trim-lines-CzojgEjk.js","./syntax-UjZu5532.js","./folder-open-COGOeTzI.js","./trash-2-Blf9Cydx.js","./with-selector-zVo3Fruj.js","./cm-theme-ZGYbhAB4.js","./external-link-DxgIpECR.js","./documents-fetch-ZX1mUge_.js","./note-window-mode-CI3Yju9B.js","./structural-freshness-C6rR7cV3-VXiZX15w.js","./progress-RA1uWm0H.js","./DocumentContext-f_UBvd4w.js","./propagation-api-dgM6YInk.js","./context-api-CMjojwfb.js","./select-pACXgFe2.js","./chevron-down-CEv6N8LG.js","./collapsible-BKbszYZV.js","./switch-BKZTXkzu.js","./lib-o_ZJ5rsY.js","./bridge-D8zLwSJL.js","./lib-D3PsW6H5.js","./lib-DxyUjQpt.js","./git-branch-CeTudSak.js","./arrow-up-BGHhPj4y.js","./Mermaid-DH1HLMlB.js","./arrow-right-NOQZeKIW.js","./maximize-2-DjzhPUDZ.js","./circle-alert-eBm4JPxY.js","./circle-check-nK1yRBIw.js","./copy-DpWa6i2v.js","./download-BouT3__0.js","./ime-composition-BGkVl2cJ.js","./settings-2-DoBlNQMk.js","./prop-types-ZtKgQMRh.js","./hash-C4CJQURT.js","./local-menu-action-bus-Dyh2UJJF.js","./paperclip-FfP_WlTp.js","./plus-CXQ-oViZ.js","./search-BoiwnBpA.js","./react-error-boundary-6ac6QM6R.js","./CopyButton-DM7FN3ou.js","./PageListContext-BV0kcssj.js","./documents-events-BmU3ACXG.js","./schemas-cc1-B-Y7IUGl.js","./config-errors-CHiUH8-1.js","./parse-api-error-CeEVOj25.js","./startup-marks-C403iSh4.js","./perf-CYJlqBBt.js","./diagnostic-breadcrumb-Mg7sdCfQ.js","./input-CgydZJoC.js","./kbd-Cg1nrB7U.js","./popover-Dxc5JyiN.js","./dist-Cj3Bpren.js","./skeleton-2Ewnato7.js","./use-collab-url-B1r2VMuu.js","./api-config-C0OrJP9L.js","./excalidraw-scene-Dgb0SaoB.js","./known-skill-dirs-CErGS26P.js","./single-file-mode-DURp6aom.js","./skill-scope-rg-mENMq.js","./skills-api-J_HhXiVW.js","./storage-scope-BvRo-u56.js","./use-workspace-D0H3LThj.js","./DocumentContext-B0sQn39F.css","./comment-chips-BZPfQgcT.js","./image-attachment-Chp6ejuJ.js","./acp-thread-protocol-EC8X7m2Z.js","./workspace-paths-BjilyZF6.js","./acp-tool-call-input-B6Z0o0iM.js","./libesm-DKFmHwvW.js","./chunk-BO2N2NFS-DMifCIKB.js","./RegisteredAgentIcon-Coqfs_TZ.js","./git-merge-VDBzSZBV.js","./terminal-launch-events-CuBvrguH.js","./list-plus-CYMJBvrm.js","./rotate-ccw-DeMl2ou7.js","./square-pen-DU3t-IcD.js","./terminal-B38K-KMo.js","./wrench-DmtZXcHB.js","./use-installed-clis-CRqLKblW.js","./sign-in-terminal-events-CuDNhwoI.js","./thread-client-B0xaHedQ.js","./textarea-DkcNoPBJ.js","./use-git-sync-status-2jy5qKEq.js","./agent-presence-DrFUej3A.js","./ok-syntax-theme-CmGxcKkF.js","./overlay-layers-CKMAjef3.js","./clipboard-adapter-FO6gFDPG.js"])))=>i.map(i=>d[i]);
2
- import{o as e}from"./chunk-CYidjpOJ.js";import{t}from"./preload-helper-Chd9yIcd.js";import{t as n}from"./jsx-runtime-BUgB2tll.js";import{t as r}from"./react-f2sANaYj.js";import{n as i,r as a}from"./dist-Nvb76hAm.js";import{t as o}from"./react-dom-DPxgxlDT.js";import{t as s}from"./compiler-runtime-BfE3aGVn.js";import{t as c}from"./react-error-boundary-6ac6QM6R.js";import{t as l}from"./utils-CPqDy6Hr.js";import{t as u}from"./overlay-layers-CKMAjef3.js";import{i as d,n as f,t as p}from"./tooltip-Bz6z4_se.js";import{t as m}from"./alert-dialog-Mwvu63aS.js";import{t as h}from"./button-DzgjsZzC.js";import{_ as g,b as _,d as v,h as y,r as b,t as ee,u as te,y as x}from"./RegisteredAgentIcon-Coqfs_TZ.js";import{a as S,t as ne}from"./catalog-3ZWO8rRk.js";import{n as re}from"./dist-BGzUo_18.js";import{d as C}from"./keyboard-shortcuts-D5fo2XHL.js";import{t as w}from"./dist-C_FzPxEX2.js";import{n as ie,r as ae}from"./local-menu-action-bus-Dyh2UJJF.js";import{A as T,C as E,D,E as O,F as oe,K as k,M as se,N as A,O as ce,P as le,S as j,T as M,Y as N,Z as ue,_t as P,at as de,c as F,ct as I,dt as L,et as R,ft as fe,h as z,ht as B,i as pe,it as V,k as H,l as me,lt as he,mt as U,n as ge,nt as _e,ot as ve,r as ye,rt as W,st as be,u as xe,ut as Se,vt as Ce,x as we}from"./preferred-session-events-BLRejZ_z.js";import{S as Te,b as Ee,c as De,f as Oe,g as ke,h as Ae,i as je,m as Me,n as Ne,o as Pe,p as Fe,v as Ie}from"./terminal-launch-events-CuBvrguH.js";import{b as Le,w as Re}from"./handoff-dsJx3fmu.js";import{t as ze}from"./OpenInAgentMenuItem-D0YuEr4G.js";import{t as Be}from"./check-B2OLRY33.js";import{t as Ve}from"./chevron-left-C5T97PNU.js";import{t as He}from"./chevron-down-CEv6N8LG.js";import{a as G,h as Ue,i as We,o as Ge,r as K,t as Ke,u as qe}from"./dropdown-menu-5XqyQTVx.js";import{t as Je}from"./spinner-Bx8xD6f8.js";import{n as Ye,t as Xe}from"./plus-CXQ-oViZ.js";import{t as Ze}from"./search-BoiwnBpA.js";import{t as Qe}from"./trash-2-Blf9Cydx.js";import{t as $e}from"./x-wldAHzfP.js";import{o as et}from"./use-settings-route-BGtkup9E.js";import{t as tt}from"./diagnostic-breadcrumb-Mg7sdCfQ.js";import{a as nt}from"./reveal-editor-CoucRZz8.js";import{n as rt,t as it}from"./use-terminal-enabled-C6TjwbMf.js";import{t as at}from"./input-CgydZJoC.js";import{i as ot,n as st,r as q,t as ct}from"./input-group-CBuVp6zh.js";import{a as lt,d as J,i as ut,r as dt,t as ft}from"./context-menu-D6QSuT0b.js";import{t as pt}from"./lazy-with-preload-D3RC_59J.js";import{n as mt,t as Y}from"./terminal-cli-display-BdUsuvVO.js";import{a as ht,d as gt,g as _t,h as vt,n as yt,r as bt,s as xt,t as St}from"./sortable.esm-CnIkmeTY.js";import{t as Ct}from"./DeleteConfirmationDialog-CN6XZx5m.js";import{i as wt,n as Tt,r as Et,t as Dt}from"./tabs-BmABRF8o.js";import{a as Ot,c as kt,d as At,f as jt,g as Mt,m as Nt,p as Pt,u as Ft}from"./thread-client-B0xaHedQ.js";import{c as It,i as Lt,r as Rt,s as zt,t as Bt,u as Vt}from"./sign-in-terminal-events-CuDNhwoI.js";import{n as Ht,t as Ut}from"./TerminalStartingNotice-iwOJoRm5.js";var X=e(r(),1),Wt=e(o(),1),Z=s();function Gt(e,t){let n=Math.max(0,t-e);if(n<6e4)return w._({id:`xOTzt5`});let r=Math.round(n/6e4);if(r<60)return w._({id:`_rP3HI`,values:{minutes:r}});let i=Math.round(n/36e5);if(i<24)return w._({id:`nYeBmY`,values:{hours:i}});let a=Math.round(n/864e5);return w._({id:`LPAv9E`,values:{days:a}})}var Q=n(),Kt=3e4,qt=(0,X.createContext)(null);function Jt(e){let t=(0,Z.c)(8),{scope:n,children:r}=e,[i,a]=(0,X.useState)(``),o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=()=>{a(``)},t[0]=o):o=t[0];let s;t[1]===n?s=t[2]:(s=[n],t[1]=n,t[2]=s),(0,X.useEffect)(o,s);let c;t[3]===i?c=t[4]:(c={query:i,setQuery:a},t[3]=i,t[4]=c);let l;return t[5]!==r||t[6]!==c?(l=(0,Q.jsx)(qt,{value:c,children:r}),t[5]=r,t[6]=c,t[7]=l):l=t[7],l}function Yt(e){let t=(0,Z.c)(19),{open:n,panelId:r,triggerRef:i,onOpenChange:o}=e,{_:s}=a(),c;t[0]===s?c=t[1]:(c=s({id:`Sdv6pQ`}),t[0]=s,t[1]=c);let l;t[2]!==o||t[3]!==n?(l=()=>o(!n),t[2]=o,t[3]=n,t[4]=l):l=t[4];let u;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,Q.jsx)(Ie,{"aria-hidden":`true`}),t[5]=u):u=t[5];let m;t[6]!==n||t[7]!==r||t[8]!==c||t[9]!==l||t[10]!==i?(m=(0,Q.jsx)(d,{asChild:!0,children:(0,Q.jsx)(h,{ref:i,type:`button`,variant:`ghost`,size:`icon-xs`,className:`shrink-0 cursor-pointer text-muted-foreground hover:text-foreground`,"aria-label":c,"aria-expanded":n,"aria-controls":r,"data-testid":`agent-thread-history`,onClick:l,children:u})}),t[6]=n,t[7]=r,t[8]=c,t[9]=l,t[10]=i,t[11]=m):m=t[11];let g;t[12]===s?g=t[13]:(g=s({id:`Sdv6pQ`}),t[12]=s,t[13]=g);let _;t[14]===g?_=t[15]:(_=(0,Q.jsx)(f,{side:`bottom`,sideOffset:8,children:g}),t[14]=g,t[15]=_);let v;return t[16]!==m||t[17]!==_?(v=(0,Q.jsxs)(p,{children:[m,_]}),t[16]=m,t[17]=_,t[18]=v):v=t[18],v}function Xt(e){let t=(0,Z.c)(11),{controllerRef:n}=e,{_:r}=a(),[i,o]=(0,X.useState)(null),s,c;if(t[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=()=>({open:o}),c=[],t[0]=s,t[1]=c):(s=t[0],c=t[1]),(0,X.useImperativeHandle)(n,s,c),i===null)return null;let l;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(l=e=>{e||o(null)},t[2]=l):l=t[2];let u=i.title,d;t[3]===r?d=t[4]:(d=r({id:`IgkKDg`}),t[3]=r,t[4]=d);let f;t[5]===i.threadId?f=t[6]:(f=()=>{Ot().deleteThread(i.threadId),o(null)},t[5]=i.threadId,t[6]=f);let p;return t[7]!==d||t[8]!==f||t[9]!==i.title?(p=(0,Q.jsx)(m,{open:!0,onOpenChange:l,children:(0,Q.jsx)(Ct,{itemName:u,customTitle:d,isSubmitting:!1,onDelete:f})}),t[7]=d,t[8]=f,t[9]=i.title,t[10]=p):p=t[10],p}function Zt(e){let t=(0,Z.c)(96),{thread:n,openAsTab:r,active:i,mode:o,now:s,reasonId:c,openTabReason:u,deleteDialogRef:m,onSelectThread:g,onDismiss:_}=e,{_:v}=a(),[y,b]=(0,X.useState)(null),te=(0,X.useRef)(!1);if(y!==null){let e;t[0]!==y||t[1]!==n?(e=()=>{let e=y.trim();!te.current&&e!==``&&e!==n.title&&Ot().renameThread(n.threadId,e),te.current=!1,b(null)},t[0]=y,t[1]=n,t[2]=e):e=t[2];let r=e,i;t[3]===v?i=t[4]:(i=v({id:`tDlhkF`}),t[3]=v,t[4]=i);let a,o;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(a=e=>b(e.target.value),o=e=>{e.nativeEvent.isComposing||(e.key===`Enter`&&(e.preventDefault(),e.currentTarget.blur()),e.key===`Escape`&&(e.preventDefault(),te.current=!0,e.currentTarget.blur()))},t[5]=a,t[6]=o):(a=t[5],o=t[6]);let s;return t[7]!==y||t[8]!==r||t[9]!==i?(s=(0,Q.jsx)(oe,{className:`[contain-intrinsic-size:auto_2.25rem] [content-visibility:auto]`,children:(0,Q.jsx)(`div`,{className:`rounded-md bg-sidebar-accent p-1`,"data-testid":`agent-thread-history-rename`,children:(0,Q.jsx)(at,{autoFocus:!0,value:y,"aria-label":i,className:`h-7 min-w-0 text-sm`,onChange:a,onKeyDown:o,onBlur:r,"data-testid":`agent-thread-history-rename-input`})})}),t[7]=y,t[8]=r,t[9]=i,t[10]=s):s=t[10],s}let x=`${c}-${n.threadId}`,S=r||n.archived!==!0,ne=i?`bg-[var(--thread-row-bg)] [--thread-row-bg:var(--sidebar-selected)] [--thread-row-destructive-foreground:var(--sidebar-selected-destructive-foreground)] [--thread-row-foreground:var(--sidebar-selected-foreground)] [--thread-row-muted-foreground:var(--sidebar-selected-muted-foreground)]`:`hover:bg-[var(--thread-row-bg)] focus-within:bg-[var(--thread-row-bg)] [--thread-row-bg:var(--sidebar-hover)]`,re;t[11]===ne?re=t[12]:(re=l(`rounded-md [--thread-row-destructive-foreground:var(--sidebar-hover-destructive-foreground)] [--thread-row-foreground:var(--sidebar-hover-foreground)] [--thread-row-muted-foreground:var(--sidebar-hover-muted-foreground)] [contain-intrinsic-size:auto_2.25rem] [content-visibility:auto]`,ne),t[11]=ne,t[12]=re);let C=i?`true`:void 0,w;t[13]!==o||t[14]!==_||t[15]!==g||t[16]!==n.threadId?(w=()=>{g(n.threadId),o===`cover`&&_(`selection`)},t[13]=o,t[14]=_,t[15]=g,t[16]=n.threadId,t[17]=w):w=t[17];let ie=`agent-thread-history-open-${n.threadId}`,ae;t[18]!==n.agent.iconUrl||t[19]!==n.agent.id?(ae=(0,Q.jsx)(ee,{agentId:n.agent.id,iconUrl:n.agent.iconUrl,className:`size-4 shrink-0`}),t[18]=n.agent.iconUrl,t[19]=n.agent.id,t[20]=ae):ae=t[20];let T;t[21]===n.title?T=t[22]:(T=(0,Q.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-start`,children:n.title}),t[21]=n.title,t[22]=T);let E;t[23]!==s||t[24]!==n.lastActivityAt?(E=Gt(n.lastActivityAt,s),t[23]=s,t[24]=n.lastActivityAt,t[25]=E):E=t[25];let D;t[26]===E?D=t[27]:(D=(0,Q.jsx)(`span`,{className:`shrink-0 text-2xs text-[var(--thread-row-muted-foreground)] motion-safe:transition-opacity group-focus-within/menu-item:opacity-0 group-hover/menu-item:opacity-0`,children:E}),t[26]=E,t[27]=D);let O;t[28]!==i||t[29]!==C||t[30]!==w||t[31]!==ie||t[32]!==ae||t[33]!==T||t[34]!==D?(O=(0,Q.jsxs)(le,{type:`button`,size:`default`,isActive:i,"aria-current":C,className:`h-9 bg-transparent pr-2! text-sidebar-foreground hover:bg-transparent hover:text-[var(--thread-row-foreground)] active:bg-transparent data-active:bg-transparent data-active:text-[var(--thread-row-foreground)] data-active:hover:bg-transparent group-focus-within/menu-item:text-[var(--thread-row-foreground)] group-hover/menu-item:text-[var(--thread-row-foreground)]`,onClick:w,"data-testid":ie,children:[ae,T,D]}),t[28]=i,t[29]=C,t[30]=w,t[31]=ie,t[32]=ae,t[33]=T,t[34]=D,t[35]=O):O=t[35];let k;t[36]!==v||t[37]!==n.title?(k=v({id:`0TnCvC`,values:{0:n.title}}),t[36]=v,t[37]=n.title,t[38]=k):k=t[38];let se;t[39]===n.title?se=t[40]:(se=()=>{te.current=!1,b(n.title)},t[39]=n.title,t[40]=se);let ce=`agent-thread-history-rename-${n.threadId}`,j;t[41]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,Q.jsx)(Ye,{className:`size-3`,"aria-hidden":`true`}),t[41]=j):j=t[41];let M;t[42]!==k||t[43]!==se||t[44]!==ce?(M=(0,Q.jsx)(d,{asChild:!0,children:(0,Q.jsx)(h,{type:`button`,variant:`ghost`,size:`icon-xs`,"aria-label":k,className:`rounded-sm bg-transparent text-[var(--thread-row-muted-foreground)] shadow-none hover:bg-transparent hover:text-[var(--thread-row-foreground)]`,onClick:se,"data-testid":ce,children:j})}),t[42]=k,t[43]=se,t[44]=ce,t[45]=M):M=t[45];let N;t[46]===v?N=t[47]:(N=v({id:`6PsaMr`}),t[46]=v,t[47]=N);let ue;t[48]===N?ue=t[49]:(ue=(0,Q.jsx)(f,{side:`bottom`,sideOffset:8,children:N}),t[48]=N,t[49]=ue);let P;t[50]!==M||t[51]!==ue?(P=(0,Q.jsxs)(p,{children:[M,ue]}),t[50]=M,t[51]=ue,t[52]=P):P=t[52];let de=S&&`cursor-not-allowed`,F;t[53]===de?F=t[54]:(F=l(`inline-flex`,de),t[53]=de,t[54]=F);let I;t[55]!==v||t[56]!==n.title?(I=v({id:`Y2tU6I`,values:{0:n.title}}),t[55]=v,t[56]=n.title,t[57]=I):I=t[57];let L=S||void 0,R=S?x:void 0,fe=S?`pointer-events-none cursor-not-allowed bg-transparent text-muted-foreground/35 shadow-none hover:bg-transparent hover:text-muted-foreground/35 active:translate-y-0`:`rounded-sm bg-transparent text-[var(--thread-row-muted-foreground)] shadow-none hover:bg-transparent hover:text-[var(--thread-row-destructive-foreground)]`,z;t[58]===fe?z=t[59]:(z=l(fe),t[58]=fe,t[59]=z);let B;t[60]!==S||t[61]!==m||t[62]!==n?(B=()=>{S||m.current?.open(n)},t[60]=S,t[61]=m,t[62]=n,t[63]=B):B=t[63];let pe=`agent-thread-history-delete-${n.threadId}`,V;t[64]===Symbol.for(`react.memo_cache_sentinel`)?(V=(0,Q.jsx)(Qe,{className:`size-3`,"aria-hidden":`true`}),t[64]=V):V=t[64];let H;t[65]!==I||t[66]!==L||t[67]!==R||t[68]!==z||t[69]!==B||t[70]!==pe?(H=(0,Q.jsx)(h,{type:`button`,variant:`ghost`,size:`icon-xs`,"aria-label":I,"aria-disabled":L,"aria-describedby":R,className:z,onClick:B,"data-testid":pe,children:V}),t[65]=I,t[66]=L,t[67]=R,t[68]=z,t[69]=B,t[70]=pe,t[71]=H):H=t[71];let me;t[72]!==S||t[73]!==u||t[74]!==x?(me=S?(0,Q.jsx)(`span`,{id:x,className:`sr-only`,children:u}):null,t[72]=S,t[73]=u,t[74]=x,t[75]=me):me=t[75];let he;t[76]!==F||t[77]!==H||t[78]!==me?(he=(0,Q.jsx)(d,{asChild:!0,children:(0,Q.jsxs)(`span`,{className:F,children:[H,me]})}),t[76]=F,t[77]=H,t[78]=me,t[79]=he):he=t[79];let U;t[80]!==v||t[81]!==S||t[82]!==u?(U=S?u:v({id:`YFpLoV`}),t[80]=v,t[81]=S,t[82]=u,t[83]=U):U=t[83];let ge;t[84]===U?ge=t[85]:(ge=(0,Q.jsx)(f,{side:`bottom`,sideOffset:8,children:U}),t[84]=U,t[85]=ge);let _e;t[86]!==he||t[87]!==ge?(_e=(0,Q.jsxs)(p,{children:[he,ge]}),t[86]=he,t[87]=ge,t[88]=_e):_e=t[88];let ve;t[89]!==P||t[90]!==_e?(ve=(0,Q.jsx)(A,{asChild:!0,showOnHover:!0,className:`pointer-events-none inset-y-0 top-0! end-0! z-10 aspect-auto h-auto w-auto overflow-visible rounded-none rounded-e-md bg-[var(--thread-row-bg)] p-1 opacity-0 shadow-none before:pointer-events-none before:absolute before:inset-y-0 before:end-full before:w-8 before:bg-[linear-gradient(to_right,transparent,var(--thread-row-bg))] after:hidden hover:bg-[var(--thread-row-bg)] group-focus-within/menu-item:pointer-events-auto group-hover/menu-item:pointer-events-auto rtl:before:bg-[linear-gradient(to_left,transparent,var(--thread-row-bg))]`,children:(0,Q.jsxs)(`div`,{className:`flex items-center gap-0.5`,children:[P,_e]})}),t[89]=P,t[90]=_e,t[91]=ve):ve=t[91];let ye;return t[92]!==O||t[93]!==re||t[94]!==ve?(ye=(0,Q.jsxs)(oe,{className:re,children:[O,ve]}),t[92]=O,t[93]=re,t[94]=ve,t[95]=ye):ye=t[95],ye}function Qt(e){let t=(0,Z.c)(56),{threads:n,openThreadIds:r,activeThreadId:i,onSelectThread:o,mode:s,panelId:c,onDismiss:u,newChatControl:m}=e,{_:g}=a(),_=(0,X.use)(qt);if(_===null)throw Error(`ThreadHistoryPanel requires ThreadHistorySearchProvider`);let{query:v,setQuery:y}=_,[b,ee]=(0,X.useState)(en),te=(0,X.useRef)(null),x=(0,X.useRef)(null),S=(0,X.useRef)(s),ne=(0,X.useId)(),re=g({id:`V0mbgd`}),C=v.trim().toLowerCase(),w=n.filter(e=>e.title.toLowerCase().includes(C)).sort(tn),ie=w.filter(e=>nn(e.lastActivityAt,b)),ae=w.filter(e=>!nn(e.lastActivityAt,b)),E=[{key:`today`,label:g({id:`ecUA8p`}),threads:ie},{key:`older`,label:g({id:`_fwE6J`}),threads:ae}].filter($t),oe;t[0]===y?oe=t[1]:(oe=()=>{y(``),x.current?.focus()},t[0]=y,t[1]=oe);let A=oe,le,j;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(le=()=>{let e=setInterval(()=>ee(Date.now()),Kt);return()=>clearInterval(e)},j=[],t[2]=le,t[3]=j):(le=t[2],j=t[3]),(0,X.useEffect)(le,j);let P,de;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(P=()=>{x.current?.focus({preventScroll:S.current===`cover`})},de=[],t[4]=P,t[5]=de):(P=t[4],de=t[5]),(0,X.useEffect)(P,de);let F;t[6]===g?F=t[7]:(F=g({id:`Sdv6pQ`}),t[6]=g,t[7]=F);let I;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(I=l(`flex h-full min-h-0 w-full flex-col text-sidebar-foreground [--sidebar-accent-foreground:var(--foreground)]`,R),t[8]=I):I=t[8];let L;t[9]===u?L=t[10]:(L=e=>{e.key!==`Escape`||e.nativeEvent.isComposing||e.defaultPrevented||(e.preventDefault(),u(`explicit`))},t[9]=u,t[10]=L);let fe;t[11]!==g||t[12]!==s||t[13]!==u?(fe=s===`cover`?(0,Q.jsxs)(`div`,{className:`mb-2 flex h-8 items-center gap-1`,children:[(0,Q.jsxs)(p,{children:[(0,Q.jsx)(d,{asChild:!0,children:(0,Q.jsx)(h,{type:`button`,variant:`ghost`,size:`icon-sm`,"aria-label":g({id:`iH8pgl`}),"data-testid":`agent-thread-history-back`,onClick:()=>u(`explicit`),children:(0,Q.jsx)(Ve,{"aria-hidden":`true`})})}),(0,Q.jsx)(f,{side:`bottom`,sideOffset:8,children:g({id:`iH8pgl`})})]}),(0,Q.jsx)(`h2`,{className:`font-mono text-xs font-normal uppercase tracking-wide text-muted-foreground`,children:g({id:`Sdv6pQ`})})]}):null,t[11]=g,t[12]=s,t[13]=u,t[14]=fe):fe=t[14];let z;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(z=(0,Q.jsx)(st,{children:(0,Q.jsx)(Ze,{"aria-hidden":`true`})}),t[15]=z):z=t[15];let B;t[16]===g?B=t[17]:(B=g({id:`eKGK4A`}),t[16]=g,t[17]=B);let pe;t[18]===g?pe=t[19]:(pe=g({id:`a4xYoA`}),t[18]=g,t[19]=pe);let V;t[20]===y?V=t[21]:(V=e=>y(e.target.value),t[20]=y,t[21]=V);let me;t[22]!==v||t[23]!==B||t[24]!==pe||t[25]!==V?(me=(0,Q.jsx)(ot,{ref:x,type:`search`,className:`[&::-webkit-search-cancel-button]:hidden`,name:`chat-history-search`,autoComplete:`off`,spellCheck:!1,value:v,"aria-label":B,placeholder:pe,onChange:V}),t[22]=v,t[23]=B,t[24]=pe,t[25]=V,t[26]=me):me=t[26];let he;t[27]!==g||t[28]!==A||t[29]!==v?(he=v===``?null:(0,Q.jsx)(st,{align:`inline-end`,children:(0,Q.jsx)(q,{size:`icon-xs`,"aria-label":g({id:`8SVvE7`}),onClick:A,children:(0,Q.jsx)($e,{"aria-hidden":`true`})})}),t[27]=g,t[28]=A,t[29]=v,t[30]=he):he=t[30];let U;t[31]!==me||t[32]!==he?(U=(0,Q.jsxs)(ct,{className:`border-none bg-muted-foreground/5`,children:[z,me,he]}),t[31]=me,t[32]=he,t[33]=U):U=t[33];let ge;t[34]!==fe||t[35]!==U?(ge=(0,Q.jsxs)(T,{className:`shrink-0 gap-0`,children:[fe,U]}),t[34]=fe,t[35]=U,t[36]=ge):ge=t[36];let _e=M,ve=n.length===0?`flex min-h-0 flex-1 flex-col`:void 0,ye=n.length===0?(0,Q.jsx)(k,{className:`min-h-32 p-4`,children:(0,Q.jsx)(N,{children:(0,Q.jsx)(ue,{className:`font-normal text-muted-foreground`,asChild:!0,children:(0,Q.jsx)(`h2`,{children:g({id:`r3iaI0`})})})})}):w.length===0?(0,Q.jsx)(`h2`,{className:`px-4 py-6 text-center text-sm font-normal text-muted-foreground`,children:g({id:`cnR7h2`})}):null,W;t[37]!==ve||t[38]!==ye?(W=(0,Q.jsx)(`div`,{role:`status`,"aria-atomic":`true`,className:ve,children:ye}),t[37]=ve,t[38]=ye,t[39]=W):W=t[39];let be=E.map(e=>(0,Q.jsxs)(D,{className:`mt-1 p-0 first:mt-0`,children:[(0,Q.jsx)(H,{asChild:!0,className:`text-xs text-muted-foreground font-normal uppercase tracking-wide font-mono`,children:(0,Q.jsx)(`h2`,{id:`${ne}-${e.key}`,children:e.label})}),(0,Q.jsx)(ce,{children:(0,Q.jsx)(se,{"aria-labelledby":`${ne}-${e.key}`,children:e.threads.map(e=>(0,Q.jsx)(Zt,{thread:e,openAsTab:r.has(e.threadId),active:i===e.threadId,mode:s,now:b,reasonId:ne,openTabReason:re,deleteDialogRef:te,onSelectThread:o,onDismiss:u},e.threadId))})})]},e.key)),xe;t[40]!==_e||t[41]!==W||t[42]!==be?(xe=(0,Q.jsxs)(_e,{className:`px-1 pb-1 scroll-fade-mask`,children:[W,be]}),t[40]=_e,t[41]=W,t[42]=be,t[43]=xe):xe=t[43];let Se;t[44]===m?Se=t[45]:(Se=m==null?null:(0,Q.jsx)(O,{className:`shrink-0 gap-0`,children:m}),t[44]=m,t[45]=Se);let Ce;t[46]===Symbol.for(`react.memo_cache_sentinel`)?(Ce=(0,Q.jsx)(Xt,{controllerRef:te}),t[46]=Ce):Ce=t[46];let we;return t[47]!==s||t[48]!==c||t[49]!==ge||t[50]!==xe||t[51]!==Se||t[52]!==F||t[53]!==I||t[54]!==L?(we=(0,Q.jsxs)(`aside`,{id:c,"aria-label":F,className:I,"data-testid":`agent-thread-history-panel`,"data-history-mode":s,onKeyDown:L,children:[ge,xe,Se,Ce]}),t[47]=s,t[48]=c,t[49]=ge,t[50]=xe,t[51]=Se,t[52]=F,t[53]=I,t[54]=L,t[55]=we):we=t[55],we}function $t(e){return e.threads.length>0}function en(){return Date.now()}function tn(e,t){return e.lastActivityAt===t.lastActivityAt?e.threadId<t.threadId?-1:+(e.threadId>t.threadId):t.lastActivityAt-e.lastActivityAt}function nn(e,t){let n=new Date(e),r=new Date(t);return n.getFullYear()===r.getFullYear()&&n.getMonth()===r.getMonth()&&n.getDate()===r.getDate()}var rn=549;function an(e){return e>=rn?`docked`:`cover`}function on(e,t){let n=(0,Z.c)(9),[r,i]=(0,X.useState)(`cover`),a,o;n[0]!==e||n[1]!==t?(a=()=>{if(!t||e==null)return;let n=0,r=()=>{window.cancelAnimationFrame(n),n=window.requestAnimationFrame(()=>{i(an(e.getBoundingClientRect().width))})};r();let a=new ResizeObserver(r);return a.observe(e),()=>{window.cancelAnimationFrame(n),a.disconnect()}},o=[e,t],n[0]=e,n[1]=t,n[2]=a,n[3]=o):(a=n[2],o=n[3]),(0,X.useLayoutEffect)(a,o);let s;n[4]===e?s=n[5]:(s=()=>{e!=null&&i(an(e.getBoundingClientRect().width))},n[4]=e,n[5]=s);let c;return n[6]!==r||n[7]!==s?(c={mode:r,remeasure:s},n[6]=r,n[7]=s,n[8]=c):c=n[8],c}var sn=3e4,cn=new Set,ln=Date.now(),un=null;function dn(){ln=Date.now();for(let e of cn)e()}function fn(e){return cn.add(e),un===null&&(ln=Date.now(),un=setInterval(dn,sn)),()=>{cn.delete(e),cn.size===0&&un!==null&&(clearInterval(un),un=null)}}function pn(){return ln}function mn(){return(0,X.useSyncExternalStore)(fn,pn,pn)}var hn=pt(()=>t(()=>import(`./TerminalPanel-DxeDkNhO.js`).then(e=>({default:e.TerminalPanel})),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85]),import.meta.url));function gn(e){let t=(0,Z.c)(25),{bridge:n,onClose:r,onExit:i,onTitleChange:o,launch:s,commandId:l,adoptPtyId:u,onPtyId:d}=e,f=s===void 0?null:s,p=l===void 0?null:l,m=u===void 0?null:u,{enabled:h,synced:g}=it(),_=rt(),{_:v}=a(),y;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(y={enabled:null,hasSynced:!1},t[0]=y):y=t[0];let[b,ee]=(0,X.useState)(y),te,x;t[1]!==h||t[2]!==g?(te=()=>{g&&ee(e=>e.hasSynced&&e.enabled===h?e:{enabled:h,hasSynced:!0})},x=[h,g],t[1]=h,t[2]=g,t[3]=te,t[4]=x):(te=t[3],x=t[4]),(0,X.useEffect)(te,x);let S=g||b.hasSynced,ne=g?h:b.enabled,C=S&&ne===!1,w,ie;t[5]===C?(w=t[6],ie=t[7]):(w=()=>{C||hn.preload()},ie=[C],t[5]=C,t[6]=w,t[7]=ie),(0,X.useEffect)(w,ie);let ae;t[8]!==v||t[9]!==_?(ae=function(){if(_===null){re.error(v({id:`V_6bJ4`}));return}let e=_(!0);e.ok||re.error(v({id:`jKd3AP`,values:{0:e.error}}))},t[8]=v,t[9]=_,t[10]=ae):ae=t[10];let T=ae;if(S&&!C){let e;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,Q.jsx)(Ut,{}),t[11]=e):e=t[11];let a;return t[12]!==m||t[13]!==n||t[14]!==p||t[15]!==f||t[16]!==r||t[17]!==i||t[18]!==d||t[19]!==o?(a=(0,Q.jsx)(c,{fallbackRender:vn,onError:_n,children:(0,Q.jsx)(X.Suspense,{fallback:e,children:(0,Q.jsx)(hn,{bridge:n,className:`h-full`,onClose:r,onExit:i,onTitleChange:o,launch:f,commandId:p,adoptPtyId:m,onPtyId:d})})}),t[12]=m,t[13]=n,t[14]=p,t[15]=f,t[16]=r,t[17]=i,t[18]=d,t[19]=o,t[20]=a):a=t[20],a}let E;return t[21]!==T||t[22]!==C||t[23]!==_?(E=C?(0,Q.jsx)(bn,{enableDisabled:_===null,onEnable:T}):(0,Q.jsx)(Ut,{}),t[21]=T,t[22]=C,t[23]=_,t[24]=E):E=t[24],E}function _n(e,t){console.error(`[TerminalGate] rendered fallback for the terminal panel`,e,t.componentStack)}function vn(e){return(0,Q.jsx)(yn,{...e})}function yn(e){let t=(0,Z.c)(15),{error:n}=e,{_:r}=a(),i;t[0]!==r||t[1]!==n?(i=n instanceof Error&&/dynamically imported module|Failed to fetch/i.test(n.message)?r({id:`Y8ViJx`}):r({id:`fbsiBw`}),t[0]=r,t[1]=n,t[2]=i):i=t[2];let o=i,s;t[3]===r?s=t[4]:(s=r({id:`6MnZEC`}),t[3]=r,t[4]=s);let c;t[5]===o?c=t[6]:(c=(0,Q.jsx)(`p`,{className:`max-w-sm text-sm text-foreground`,children:o}),t[5]=o,t[6]=c);let l;t[7]===r?l=t[8]:(l=r({id:`HpK_8d`}),t[7]=r,t[8]=l);let u;t[9]===l?u=t[10]:(u=(0,Q.jsx)(h,{onClick:$,children:l}),t[9]=l,t[10]=u);let d;return t[11]!==s||t[12]!==c||t[13]!==u?(d=(0,Q.jsxs)(`section`,{"aria-label":s,className:`flex h-full w-full flex-col items-center justify-center gap-3 bg-background p-6 text-center`,role:`alert`,children:[c,u]}),t[11]=s,t[12]=c,t[13]=u,t[14]=d):d=t[14],d}function $(){return window.location.reload()}function bn(e){let t=(0,Z.c)(27),{enableDisabled:n,onEnable:r}=e,{_:i}=a(),o=(0,X.useId)(),s;t[0]===i?s=t[1]:(s=i({id:`_XWY2J`}),t[0]=i,t[1]=s);let c;t[2]===i?c=t[3]:(c=i({id:`oYepHb`}),t[2]=i,t[3]=c);let l;t[4]===c?l=t[5]:(l=(0,Q.jsx)(`p`,{className:`max-w-sm text-sm text-foreground`,children:c}),t[4]=c,t[5]=l);let u=n?o:void 0,d;t[6]===i?d=t[7]:(d=i({id:`v2ZW0K`}),t[6]=i,t[7]=d);let f;t[8]!==n||t[9]!==r||t[10]!==u||t[11]!==d?(f=(0,Q.jsx)(h,{disabled:n,"aria-describedby":u,onClick:r,children:d}),t[8]=n,t[9]=r,t[10]=u,t[11]=d,t[12]=f):f=t[12];let p;t[13]!==i||t[14]!==n||t[15]!==o?(p=n?(0,Q.jsx)(`p`,{id:o,className:`text-xs text-muted-foreground`,children:i({id:`V_6bJ4`})}):null,t[13]=i,t[14]=n,t[15]=o,t[16]=p):p=t[16];let m;t[17]===i?m=t[18]:(m=i({id:`ICoNYz`}),t[17]=i,t[18]=m);let g;t[19]===m?g=t[20]:(g=(0,Q.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:m}),t[19]=m,t[20]=g);let _;return t[21]!==s||t[22]!==l||t[23]!==f||t[24]!==p||t[25]!==g?(_=(0,Q.jsxs)(`section`,{"aria-label":s,className:`flex h-full w-full flex-col items-center justify-center gap-3 bg-background p-6 text-center`,children:[l,f,p,g]}),t[21]=s,t[22]=l,t[23]=f,t[24]=p,t[25]=g,t[26]=_):_=t[26],_}function xn(e){let t=(0,Z.c)(118),{selected:n,onLaunchSelected:r,showAgents:o,registeredAgents:s,onPickAgent:c,onOpenSettings:u,liveThreadCount:m,agentPickPending:g,showClis:_,onPickCli:v,onPickTerminal:y,visibleClis:b,className:te,presentation:x}=e,ne=g===void 0?!1:g,re=b===void 0?Y:b,C=x===void 0?`toolbar`:x,{_:w}=a(),[ie,T]=(0,X.useState)(!1),E=m>=(S(ie&&o).data?.maxThreads??8),D=E||ne,O=o||_,oe=C===`panel`,k=n.kind===`agent`?n.agent?.name:void 0,se;t[0]!==w||t[1]!==k||t[2]!==n.cli||t[3]!==n.kind?(se=n.kind===`terminal`?w({id:`AB4qw9`}):n.kind===`cli`?w({id:`nP-KFo`,values:{0:Le[n.cli].displayName}}):w(k===void 0?{id:`G7bn_N`}:{id:`iSguIe`,values:{agentName:k}}),t[0]=w,t[1]=k,t[2]=n.cli,t[3]=n.kind,t[4]=se):se=t[4];let A=se,ce;t[5]!==w||t[6]!==k||t[7]!==oe||t[8]!==A?(ce=oe&&k!==void 0?w({id:`hIQkLb`}):A,t[5]=w,t[6]=k,t[7]=oe,t[8]=A,t[9]=ce):ce=t[9];let le=ce;if(oe){let e;t[10]===te?e=t[11]:(e=l(`w-full`,te),t[10]=te,t[11]=e);let a;t[12]===n?a=t[13]:(a=n.kind===`terminal`?null:(0,Q.jsx)(Tn,{selected:n,className:`size-4`}),t[12]=n,t[13]=a);let d;t[14]===le?d=t[15]:(d=(0,Q.jsx)(`span`,{className:`truncate`,children:le}),t[14]=le,t[15]=d);let f;t[16]!==a||t[17]!==d?(f=(0,Q.jsxs)(Q.Fragment,{children:[a,d]}),t[16]=a,t[17]=d,t[18]=f):f=t[18];let p;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(p=[],t[19]=p):p=t[19];let m;t[20]!==D||t[21]!==c||t[22]!==s||t[23]!==n.agent?.id||t[24]!==n.agent?.source||t[25]!==n.kind||t[26]!==o?(m=o?s.map(e=>({key:`${e.source}:${e.id}`,id:e.id,name:e.name,...e.iconUrl===void 0?{}:{iconUrl:e.iconUrl},selected:n.kind===`agent`&&n.agent?.source===e.source&&n.agent?.id===e.id,disabled:D,onSelect:()=>c(e)})):void 0,t[20]=D,t[21]=c,t[22]=s,t[23]=n.agent?.id,t[24]=n.agent?.source,t[25]=n.kind,t[26]=o,t[27]=m):m=t[27];let h;t[28]===E?h=t[29]:(h=E?(0,Q.jsx)(Ge,{className:`py-1 font-normal text-muted-foreground text-xs`,"data-testid":`terminal-new-chat-cap`,children:(0,Q.jsx)(i,{id:`0QVrvp`})}):void 0,t[28]=E,t[29]=h);let g;t[30]!==w||t[31]!==v||t[32]!==n.cli||t[33]!==n.kind||t[34]!==_||t[35]!==re?(g=_?re.map(e=>({cli:e,label:Le[e].displayName,ariaLabel:w({id:`yxH4Gs`,values:{0:Le[e].displayName}}),selected:n.kind===`cli`&&n.cli===e,onSelect:()=>v(e)})):void 0,t[30]=w,t[31]=v,t[32]=n.cli,t[33]=n.kind,t[34]=_,t[35]=re,t[36]=g):g=t[36];let b;t[37]!==w||t[38]!==y||t[39]!==n.kind||t[40]!==_?(b=_?{selected:n.kind===`terminal`,onSelect:y,label:w({id:`ALhMYW`}),icon:(0,Q.jsx)(U,{"aria-hidden":`true`,className:`size-4`}),ariaLabel:w({id:`ALhMYW`}),testId:`terminal-new-chat-terminal`}:void 0,t[37]=w,t[38]=y,t[39]=n.kind,t[40]=_,t[41]=b):b=t[41];let ee;t[42]===w?ee=t[43]:(ee=w({id:`gzaLgh`}),t[42]=w,t[43]=ee);let x;t[44]===s?x=t[45]:(x={primary:`terminal-new-chat`,trigger:`terminal-new-chat-menu`,menu:`terminal-new-chat-menu-content`,option:Cn,terminal:Sn,threadAgent:e=>`terminal-new-chat-agent-${s.find(t=>`${t.source}:${t.id}`===e)?.id??e}`,settings:`terminal-new-chat-settings`},t[44]=s,t[45]=x);let S;return t[46]!==r||t[47]!==u||t[48]!==A||t[49]!==m||t[50]!==h||t[51]!==g||t[52]!==b||t[53]!==ee||t[54]!==x||t[55]!==e||t[56]!==f?(S=(0,Q.jsx)(W,{className:e,primaryClassName:`min-w-0 flex-1 justify-start`,primary:f,primaryAriaLabel:A,onPrimary:r,enabledTargets:p,selectedTargetId:null,onSelectTarget:wn,threadAgents:m,threadAgentsFooter:h,terminals:g,terminal:b,onOpenSettings:u,onMenuOpenChange:T,menuAlign:`start`,triggerAriaLabel:ee,testIds:x}),t[46]=r,t[47]=u,t[48]=A,t[49]=m,t[50]=h,t[51]=g,t[52]=b,t[53]=ee,t[54]=x,t[55]=e,t[56]=f,t[57]=S):S=t[57],S}let j;t[58]===te?j=t[59]:(j=l(`flex shrink-0 items-center`,te),t[58]=te,t[59]=j);let M=O&&`rounded-r-none`,N;t[60]===M?N=t[61]:(N=l(`cursor-pointer gap-0.5 px-1.5 text-muted-foreground hover:text-foreground`,M),t[60]=M,t[61]=N);let ue;t[62]===n?ue=t[63]:(ue=n.kind===`terminal`?null:(0,Q.jsx)(Tn,{selected:n,className:`size-3.5`}),t[62]=n,t[63]=ue);let P;t[64]===Symbol.for(`react.memo_cache_sentinel`)?(P=(0,Q.jsx)(Xe,{"aria-hidden":`true`,className:`size-3`}),t[64]=P):P=t[64];let de;t[65]!==r||t[66]!==A||t[67]!==N||t[68]!==ue?(de=(0,Q.jsx)(d,{asChild:!0,children:(0,Q.jsxs)(h,{type:`button`,variant:`ghost`,size:`xs`,"aria-label":A,"data-testid":`terminal-new-chat`,className:N,onClick:r,children:[ue,P]})}),t[65]=r,t[66]=A,t[67]=N,t[68]=ue,t[69]=de):de=t[69];let F;t[70]===A?F=t[71]:(F=(0,Q.jsx)(f,{side:`bottom`,sideOffset:8,children:A}),t[70]=A,t[71]=F);let I;t[72]!==de||t[73]!==F?(I=(0,Q.jsxs)(p,{children:[de,F]}),t[72]=de,t[73]=F,t[74]=I):I=t[74];let L;t[75]!==w||t[76]!==O?(L=O?(0,Q.jsx)(Ue,{asChild:!0,children:(0,Q.jsx)(h,{type:`button`,variant:`ghost`,size:`icon-xs`,"aria-label":w({id:`l87Deg`}),"data-testid":`terminal-new-chat-menu`,className:`cursor-pointer rounded-s-none text-muted-foreground hover:text-foreground`,children:(0,Q.jsx)(He,{"aria-hidden":`true`,className:`size-3`})})}):null,t[75]=w,t[76]=O,t[77]=L):L=t[77];let R;t[78]!==w||t[79]!==D||t[80]!==E||t[81]!==c||t[82]!==s||t[83]!==n.agent?.id||t[84]!==n.agent?.source||t[85]!==n.kind||t[86]!==o?(R=o&&s.length>0?(0,Q.jsxs)(We,{"aria-label":w({id:`RXEbZy`}),children:[(0,Q.jsx)(Ge,{children:(0,Q.jsx)(i,{id:`RXEbZy`})}),s.map(e=>{let t=n.kind===`agent`&&n.agent?.source===e.source&&n.agent?.id===e.id;return(0,Q.jsxs)(G,{onSelect:()=>c(e),disabled:D,"data-testid":`terminal-new-chat-agent-${e.id}`,"aria-current":t?`true`:void 0,children:[(0,Q.jsx)(ee,{agentId:e.id,iconUrl:e.iconUrl,className:`size-4`}),(0,Q.jsx)(`span`,{className:`flex-1 truncate`,children:e.name}),t?(0,Q.jsx)(Be,{"aria-hidden":`true`,className:`size-4 text-muted-foreground`}):null]},`${e.source}:${e.id}`)}),E?(0,Q.jsx)(Ge,{className:`py-1 font-normal text-muted-foreground text-xs`,"data-testid":`terminal-new-chat-cap`,children:(0,Q.jsx)(i,{id:`0QVrvp`})}):null]}):null,t[78]=w,t[79]=D,t[80]=E,t[81]=c,t[82]=s,t[83]=n.agent?.id,t[84]=n.agent?.source,t[85]=n.kind,t[86]=o,t[87]=R):R=t[87];let fe;t[88]!==s||t[89]!==o||t[90]!==_?(fe=o&&s.length>0&&_?(0,Q.jsx)(qe,{}):null,t[88]=s,t[89]=o,t[90]=_,t[91]=fe):fe=t[91];let z;t[92]!==w||t[93]!==v||t[94]!==y||t[95]!==n.cli||t[96]!==n.kind||t[97]!==_||t[98]!==re?(z=_?(0,Q.jsxs)(We,{"aria-label":w({id:`ALhMYW`}),children:[(0,Q.jsx)(Ge,{children:(0,Q.jsx)(i,{id:`ALhMYW`})}),re.map(e=>{let{displayName:t}=Le[e],r=n.kind===`cli`&&n.cli===e;return(0,Q.jsxs)(G,{onSelect:()=>v(e),"data-testid":`terminal-new-chat-cli-${e}`,"aria-label":w({id:`9mEZeD`,values:{name:t}}),"aria-current":r?`true`:void 0,children:[(0,Q.jsx)(ze,{id:mt(e),className:`size-4`,"aria-hidden":`true`}),(0,Q.jsx)(`span`,{className:`flex-1`,children:t}),r?(0,Q.jsx)(Be,{"aria-hidden":`true`,className:`size-4 text-muted-foreground`}):null]},e)}),(0,Q.jsxs)(G,{onSelect:y,"data-testid":`terminal-new-chat-terminal`,"aria-current":n.kind===`terminal`?`true`:void 0,children:[(0,Q.jsx)(U,{"aria-hidden":`true`,className:`size-4`}),(0,Q.jsx)(`span`,{className:`flex-1`,children:(0,Q.jsx)(i,{id:`ALhMYW`})}),n.kind===`terminal`?(0,Q.jsx)(Be,{"aria-hidden":`true`,className:`size-4 text-muted-foreground`}):null]})]}):null,t[92]=w,t[93]=v,t[94]=y,t[95]=n.cli,t[96]=n.kind,t[97]=_,t[98]=re,t[99]=z):z=t[99];let B;t[100]!==u||t[101]!==s||t[102]!==o||t[103]!==_?(B=o?(0,Q.jsxs)(Q.Fragment,{children:[s.length>0||_?(0,Q.jsx)(qe,{}):null,(0,Q.jsxs)(G,{onSelect:u,"data-testid":`terminal-new-chat-settings`,children:[(0,Q.jsx)(ae,{"aria-hidden":`true`,className:`size-4 text-muted-foreground`}),(0,Q.jsx)(`span`,{className:`flex-1`,children:(0,Q.jsx)(i,{id:`jRAGrQ`})})]})]}):null,t[100]=u,t[101]=s,t[102]=o,t[103]=_,t[104]=B):B=t[104];let pe;t[105]!==R||t[106]!==fe||t[107]!==z||t[108]!==B?(pe=(0,Q.jsxs)(K,{align:`start`,className:`max-h-80 min-w-[200px]`,children:[R,fe,z,B]}),t[105]=R,t[106]=fe,t[107]=z,t[108]=B,t[109]=pe):pe=t[109];let V;t[110]!==ie||t[111]!==L||t[112]!==pe?(V=(0,Q.jsxs)(Ke,{open:ie,onOpenChange:T,children:[L,pe]}),t[110]=ie,t[111]=L,t[112]=pe,t[113]=V):V=t[113];let H;return t[114]!==I||t[115]!==V||t[116]!==j?(H=(0,Q.jsxs)(`div`,{className:j,children:[I,V]}),t[114]=I,t[115]=V,t[116]=j,t[117]=H):H=t[117],H}function Sn(e){return`terminal-new-chat-cli-${e}`}function Cn(e){return`terminal-new-chat-option-${e}`}function wn(){}function Tn(e){let t=(0,Z.c)(13),{selected:n,className:r}=e;if(n.kind===`terminal`){let e;return t[0]===r?e=t[1]:(e=(0,Q.jsx)(U,{"aria-hidden":`true`,className:r}),t[0]=r,t[1]=e),e}if(n.kind===`cli`){let e;t[2]===n.cli?e=t[3]:(e=mt(n.cli),t[2]=n.cli,t[3]=e);let i;return t[4]!==r||t[5]!==e?(i=(0,Q.jsx)(ze,{id:e,className:r,"aria-hidden":`true`}),t[4]=r,t[5]=e,t[6]=i):i=t[6],i}if(n.agent!==null){let e;return t[7]!==r||t[8]!==n.agent.iconUrl||t[9]!==n.agent.id?(e=(0,Q.jsx)(ee,{agentId:n.agent.id,iconUrl:n.agent.iconUrl,className:r}),t[7]=r,t[8]=n.agent.iconUrl,t[9]=n.agent.id,t[10]=e):e=t[10],e}let i;return t[11]===r?i=t[12]:(i=(0,Q.jsx)(v,{"aria-hidden":`true`,className:r}),t[11]=r,t[12]=i),i}var En={id:null,openedAt:0};function Dn(e,t,n,r){return n?{id:t,openedAt:r}:e.id===t?{id:null,openedAt:e.openedAt}:e}var On=`[data-terminal-tab-sortable]`;function kn(e){let t=(0,Z.c)(11),{id:n,disabled:r,children:i}=e,a;t[0]!==r||t[1]!==n?(a={id:n,disabled:r},t[0]=r,t[1]=n,t[2]=a):a=t[2];let{setNodeRef:o,listeners:s,rect:c,transform:l,transition:u,isDragging:d}=ht(a),f;return t[3]!==i||t[4]!==d||t[5]!==s||t[6]!==c.current?.width||t[7]!==o||t[8]!==l||t[9]!==u?(f=i({setNodeRef:o,listeners:s,style:z({activeWidth:c.current?.width,isDragging:d,transform:l,transition:u})}),t[3]=i,t[4]=d,t[5]=s,t[6]=c.current?.width,t[7]=o,t[8]=l,t[9]=u,t[10]=f):f=t[10],f}function An(e){let t=(0,Z.c)(11),{children:n,onMoveRight:r}=e,a=(0,X.useRef)(null);if(r==null)return n;let o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=e=>{if(!j(e))return;e.preventDefault(),a.current=document.activeElement instanceof HTMLElement?document.activeElement:null;let t=e.currentTarget.getBoundingClientRect();e.currentTarget.dispatchEvent(new MouseEvent(`contextmenu`,{bubbles:!0,cancelable:!0,clientX:t.left,clientY:t.bottom}))},t[0]=o):o=t[0];let s;t[1]===n?s=t[2]:(s=(0,Q.jsx)(J,{asChild:!0,onKeyDown:o,children:n}),t[1]=n,t[2]=s);let c;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(c=e=>{a.current!=null&&(e.preventDefault(),a.current.focus(),a.current=null)},t[3]=c):c=t[3];let l,u;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,Q.jsx)(B,{"aria-hidden":`true`}),u=(0,Q.jsx)(i,{id:`jcEoUi`}),t[4]=l,t[5]=u):(l=t[4],u=t[5]);let d;t[6]===r?d=t[7]:(d=(0,Q.jsx)(dt,{onCloseAutoFocus:c,children:(0,Q.jsx)(ut,{children:(0,Q.jsxs)(lt,{onSelect:r,children:[l,u]})})}),t[6]=r,t[7]=d);let f;return t[8]!==s||t[9]!==d?(f=(0,Q.jsxs)(ft,{children:[s,d]}),t[8]=s,t[9]=d,t[10]=f):f=t[10],f}function jn(e){let t=(0,Z.c)(108),{sessions:n,sessionKind:r,activeSessionId:i,onSelect:o,onTabActivate:s,newButton:c,trailingControls:u,onClose:m,onRename:g,onReorder:_,onDragActiveChange:v,edge:y,onPlacementChange:b,children:ee,className:te,draggable:x}=e,{_:S}=a(),ne=y===`right`,re=typeof window<`u`&&window.okDesktop!=null,C=x||re,w=ne?`bottom`:`right`,ie;t[0]!==S||t[1]!==ne?(ie=S(ne?{id:`Tofsyo`}:{id:`PrWQiT`}),t[0]=S,t[1]=ne,t[2]=ie):ie=t[2];let ae=ie,T;t[3]!==y||t[4]!==b||t[5]!==r?(T=r===`terminal`&&y===`bottom`&&b!=null?()=>b(`right`):void 0,t[3]=y,t[4]=b,t[5]=r,t[6]=T):T=t[6];let D=T,[O,oe]=(0,X.useState)(null),[k,se]=(0,X.useState)(``),[A,ce]=(0,X.useState)(null),[le,j]=(0,X.useState)(En),M=(0,X.useRef)(null),N=(0,X.useRef)(!1),ue=g!=null,de,I;t[7]===O?(de=t[8],I=t[9]):(de=()=>{O!=null&&(M.current?.focus(),M.current?.select())},I=[O],t[7]=O,t[8]=de,t[9]=I),(0,X.useEffect)(de,I);let L,R;t[10]!==O||t[11]!==n?(L=()=>{O!=null&&!n.some(e=>e.id===O)&&(N.current=!1,oe(null),se(``))},R=[n,O],t[10]=O,t[11]=n,t[12]=L,t[13]=R):(L=t[12],R=t[13]),(0,X.useEffect)(L,R);let fe=function(e){ue&&(N.current=!1,oe(e.id),se(e.label))},z;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(z=function(e){let t=typeof CSS<`u`&&CSS.escape?CSS.escape(e):e;queueMicrotask(()=>{document.querySelector(`[role="tab"][data-tab-id="${t}"]`)?.focus()})},t[14]=z):z=t[14];let V=z,H=function(e){N.current||g?.(e,k.trim()),N.current=!1,oe(null),se(``),V(e)},he=(0,X.useRef)(null),U=(0,X.useRef)(null),[ge,_e]=(0,X.useState)(null),ve;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(ve={activationConstraint:{distance:8}},t[15]=ve):ve=t[15];let W=_t(vt(gt,ve)),be=_!=null,Se;t[16]===ge?Se=t[17]:(Se=xe(ge),t[16]=ge,t[17]=Se);let Ce;t[18]===Se?Ce=t[19]:(Ce=[Se],t[18]=Se,t[19]=Ce);let Te=Ce,Ee;t[20]!==i||t[21]!==n?(Ee=i===``?null:`${i}\u0000${n.map(Pn).join(`\0`)}`,t[20]=i,t[21]=n,t[22]=Ee):Ee=t[22];let De=Ee,Oe,ke;t[23]===De?(Oe=t[24],ke=t[25]):(Oe=()=>{if(De===null)return;let[e]=De.split(`\0`,1),t=typeof CSS<`u`&&CSS.escape?CSS.escape(e):e;U.current?.querySelector(`[data-tab-id="${t}"]`)?.scrollIntoView({block:`nearest`,inline:`nearest`})},ke=[De],t[23]=De,t[24]=Oe,t[25]=ke),(0,X.useEffect)(Oe,ke);let Ae;t[26]===v?Ae=t[27]:(Ae=function(){_e(we(he.current,On)),v?.(!0)},t[26]=v,t[27]=Ae);let je=Ae,Me;t[28]!==v||t[29]!==_||t[30]!==n?(Me=function(e){_e(null),v?.(!1);let t=String(e.active.id),r=e.over?String(e.over.id):null;if(!r||t===r)return;let i=n.map(Nn),a=i.indexOf(t),o=i.indexOf(r);a<0||o<0||a===o||_?.(yt(i,a,o))},t[28]=v,t[29]=_,t[30]=n,t[31]=Me):Me=t[31];let Ne=Me,Pe;t[32]===v?Pe=t[33]:(Pe=function(){_e(null),v?.(!1)},t[32]=v,t[33]=Pe);let Fe=Pe,Ie=Dt,Le;t[34]===te?Le=t[35]:(Le=l(`flex min-h-0 min-w-0 flex-1 flex-col`,te),t[34]=te,t[35]=Le);let Re=An,ze=x?void 0:``,Be=C?``:void 0,Ve=!x&&`h-11 shrink-0`,He=C&&`[-webkit-app-region:drag]`,G=x&&`h-[62px] pr-[22px] pl-[calc(var(--ok-titlebar-reserve-left,1rem)+0.75rem)]`,Ue;t[36]!==Ve||t[37]!==He||t[38]!==G?(Ue=l(`flex shrink-0 flex-row items-center gap-1 px-1.5 py-1`,Ve,He,G),t[36]=Ve,t[37]=He,t[38]=G,t[39]=Ue):Ue=t[39];let We=xt,Ge=E,K;t[40]===Symbol.for(`react.memo_cache_sentinel`)?(K={container:typeof document<`u`?document.body:void 0},t[40]=K):K=t[40];let Ke=St,qe;t[41]===n?qe=t[42]:(qe=n.map(Mn),t[41]=n,t[42]=qe);let Je=bt,Ye=ye,Xe=C&&`[-webkit-app-region:no-drag]`,Ze;t[43]===Xe?Ze=t[44]:(Ze=l(`grid h-auto w-fit max-w-full min-w-0 grid-flow-col items-center justify-start gap-0.5 overflow-x-auto overflow-y-hidden [grid-auto-columns:minmax(8rem,9rem)] [scrollbar-width:none] scroll-fade-mask-x`,Xe),t[43]=Xe,t[44]=Ze);let Qe;t[45]!==S||t[46]!==r?(Qe=S(r===`agent`?{id:`GjsGAu`}:{id:`1MGRQl`}),t[45]=S,t[46]=r,t[47]=Qe):Qe=t[47];let et=n.map((e,t)=>{let n=e.id===i,r=A===e.id,a=O===e.id;return(0,Q.jsx)(kn,{id:e.id,disabled:!be||O!=null,children:i=>{let{setNodeRef:o,listeners:c,style:u}=i;return(0,Q.jsxs)(p,{open:le.id===e.id,onOpenChange:t=>{let n=Date.now();j(r=>Dn(r,e.id,t,n))},children:[(0,Q.jsx)(d,{asChild:!0,children:(0,Q.jsxs)(wt,{ref:o,value:e.id,"data-terminal-tab-sortable":``,"data-tab-id":e.id,style:{...u,gridColumn:t+1,gridRow:1},...c,onMouseEnter:()=>ce(e.id),onMouseLeave:()=>ce(null),onClick:t=>{t.detail>=2||s?.(e.id)},onDoubleClick:()=>fe(e),onKeyDown:t=>{t.key===`F2`&&(t.preventDefault(),fe(e))},className:l(`h-7 flex-none justify-start gap-1.5 rounded-md py-0 pr-7 pl-2 text-left text-1sm transition-colors motion-reduce:transition-none`,n?F:r&&`bg-sidebar-hover! text-sidebar-hover-foreground!`,a&&`w-full opacity-0`,C&&`[-webkit-app-region:no-drag]`),children:[e.icon,(0,Q.jsx)(`span`,{className:l(`min-w-0 flex-1`,n||r?me:`truncate`),"data-tab-title":``,children:e.label}),e.srStatus===void 0?null:(0,Q.jsx)(`span`,{className:`sr-only`,children:e.srStatus})]})}),(0,Q.jsx)(f,{side:`bottom`,sideOffset:8,"aria-label":e.tooltipDescription?.(le.openedAt),children:e.tooltip??e.label})]})}},e.id)}),tt;t[48]!==Qe||t[49]!==et?(tt=(0,Q.jsx)(Et,{ref:U,variant:`line`,"aria-label":Qe,className:`contents`,children:et}),t[48]=Qe,t[49]=et,t[50]=tt):tt=t[50];let nt=n.map((e,t)=>{let n=e.id===i;return O===e.id?(0,Q.jsx)(ct,{style:{gridColumn:t+1,gridRow:1},className:l(`z-20 h-7 w-full rounded-md border-0 bg-transparent dark:bg-transparent`,C&&`[-webkit-app-region:no-drag]`),children:(0,Q.jsx)(ot,{ref:M,value:k,"aria-label":S({id:`0TnCvC`,values:{0:e.label}}),"data-testid":`terminal-tab-rename-input`,className:`h-7 px-2 text-1sm`,onChange:e=>se(e.target.value),onKeyDown:e=>{e.key===`Enter`?(e.preventDefault(),M.current?.blur()):e.key===`Escape`&&(e.preventDefault(),N.current=!0,M.current?.blur())},onBlur:()=>H(e.id)})},e.id):(0,Q.jsx)(h,{type:`button`,variant:`ghost`,size:`icon-xs`,"aria-label":S({id:`nzHlj8`,values:{0:e.label}}),tabIndex:n?0:-1,style:{gridColumn:t+1,gridRow:1},className:l(pe,`z-20 mr-0.5 justify-self-end opacity-0 transition-opacity focus-visible:opacity-100`,(n||A===e.id)&&`opacity-100`,ge!=null&&`pointer-events-none opacity-0`,C&&`[-webkit-app-region:no-drag]`),onMouseEnter:()=>ce(e.id),onMouseLeave:()=>ce(null),onClick:t=>{t.stopPropagation(),m(e.id)},children:(0,Q.jsx)($e,{"aria-hidden":`true`})},e.id)}),rt;t[51]===nt?rt=t[52]:(rt=(0,Q.jsx)(`div`,{className:`contents`,children:nt}),t[51]=nt,t[52]=rt);let it;t[53]!==Ye||t[54]!==Ze||t[55]!==tt||t[56]!==rt?(it=(0,Q.jsxs)(`div`,{onWheel:Ye,className:Ze,children:[tt,rt]}),t[53]=Ye,t[54]=Ze,t[55]=tt,t[56]=rt,t[57]=it):it=t[57];let at;t[58]!==Ke||t[59]!==qe||t[60]!==Je||t[61]!==it?(at=(0,Q.jsx)(Ke,{items:qe,strategy:Je,children:it}),t[58]=Ke,t[59]=qe,t[60]=Je,t[61]=it,t[62]=at):at=t[62];let st;t[63]!==We||t[64]!==Fe||t[65]!==Ne||t[66]!==je||t[67]!==Te||t[68]!==W||t[69]!==!1||t[70]!==Ge||t[71]!==K||t[72]!==at?(st=(0,Q.jsx)(We,{sensors:W,autoScroll:!1,collisionDetection:Ge,modifiers:Te,onDragStart:je,onDragEnd:Ne,onDragCancel:Fe,accessibility:K,children:at}),t[63]=We,t[64]=Fe,t[65]=Ne,t[66]=je,t[67]=Te,t[68]=W,t[69]=!1,t[70]=Ge,t[71]=K,t[72]=at,t[73]=st):st=t[73];let q;t[74]!==c||t[75]!==C?(q=c==null?null:(0,Q.jsx)(`div`,{className:l(`shrink-0`,C&&`[-webkit-app-region:no-drag]`),children:c}),t[74]=c,t[75]=C,t[76]=q):q=t[76];let lt;t[77]===Symbol.for(`react.memo_cache_sentinel`)?(lt=(0,Q.jsx)(`div`,{className:`flex-1`}),t[77]=lt):lt=t[77];let J;t[78]!==u||t[79]!==C?(J=u==null?null:(0,Q.jsx)(`div`,{className:l(`shrink-0`,C&&`[-webkit-app-region:no-drag]`),children:u}),t[78]=u,t[79]=C,t[80]=J):J=t[80];let ut;t[81]!==y||t[82]!==b||t[83]!==ae||t[84]!==w||t[85]!==ne||t[86]!==r||t[87]!==C?(ut=r===`terminal`&&y!=null&&b!=null?(0,Q.jsxs)(p,{children:[(0,Q.jsx)(d,{asChild:!0,children:(0,Q.jsx)(h,{type:`button`,variant:`ghost`,size:`icon-xs`,"aria-label":ae,className:l(`shrink-0 cursor-pointer text-muted-foreground hover:text-foreground`,C&&`[-webkit-app-region:no-drag]`),onClick:()=>b(w),children:ne?(0,Q.jsx)(P,{"aria-hidden":`true`}):(0,Q.jsx)(B,{"aria-hidden":`true`})})}),(0,Q.jsx)(f,{side:`bottom`,sideOffset:8,children:ae})]}):null,t[81]=y,t[82]=b,t[83]=ae,t[84]=w,t[85]=ne,t[86]=r,t[87]=C,t[88]=ut):ut=t[88];let dt;t[89]!==ze||t[90]!==Be||t[91]!==Ue||t[92]!==st||t[93]!==q||t[94]!==J||t[95]!==ut?(dt=(0,Q.jsxs)(`div`,{ref:he,"data-terminal-tab-row":``,"data-dock-handle":ze,"data-electron-drag":Be,className:Ue,children:[st,q,lt,J,ut]}),t[89]=ze,t[90]=Be,t[91]=Ue,t[92]=st,t[93]=q,t[94]=J,t[95]=ut,t[96]=dt):dt=t[96];let ft;t[97]!==Re||t[98]!==D||t[99]!==dt?(ft=(0,Q.jsx)(Re,{onMoveRight:D,children:dt}),t[97]=Re,t[98]=D,t[99]=dt,t[100]=ft):ft=t[100];let pt;return t[101]!==Ie||t[102]!==i||t[103]!==ee||t[104]!==o||t[105]!==Le||t[106]!==ft?(pt=(0,Q.jsxs)(Ie,{value:i,onValueChange:o,className:Le,children:[ft,ee]}),t[101]=Ie,t[102]=i,t[103]=ee,t[104]=o,t[105]=Le,t[106]=ft,t[107]=pt):pt=t[107],pt}function Mn(e){return e.id}function Nn(e){return e.id}function Pn(e){return e.id}var Fn=(0,X.lazy)(()=>t(()=>import(`./ThreadView-Dsiuhy-G.js`).then(e=>({default:e.ThreadView})),__vite__mapDeps([86,1,87,47,48,35,15,4,36,3,42,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,8,9,53,30,29,31,21,20,54,25,55,56,57,58,104,33,105,106,107,79,80,81,2,108,24,109,110,111,112,113,114,115,6,116,117,118,22,19,23,119,84,82,120,26,121,122,123,38,124,46,12,13,125,126,127,128,64,39,41,43,129,130,37,131,132,133,134,135,136,137,138,139,140,5,14,16,72,7,66,141,142,143,144,145,146,147,148,50,11,44,149,150,151,152,52,153,154,155,156,157,158,159,160,161,162,18,71,163,164,165,166,167,168,169,170,171,83,172,173,77,174,175,176,69,177,61,62,63,65,178,17,179,75,180,181,182,183,184,185,67,76,28,186,187,74,188,189,190,191,192,193,194,195,70,196,197,198,199,200,201]),import.meta.url));function In(e,t){if(t.length!==e.length)return null;let n=new Map(e.map(e=>[e.id,e])),r=[];for(let e of t){let t=n.get(e);if(t==null)return null;r.push(t)}return r.every((t,n)=>t===e[n])?null:r}function Ln(e){return`terminal-session-${e}`}function Rn(e){return typeof CSS<`u`&&CSS.escape?CSS.escape(e):e}function zn(e){return`[data-terminal-session="${Rn(e)}"] .xterm-helper-textarea`}function Bn(e){return`[data-session-id="${Rn(e)}"] [data-testid="agent-thread-composer"]`}function Vn(e){if(e===``)return!1;let t=document.querySelector(zn(e));return t?.focus(),t!=null&&document.activeElement===t}function Hn(e){let t=typeof CSS<`u`&&CSS.escape?CSS.escape(e):e;return document.querySelector(`[role="tab"][data-tab-id="${t}"]`)}function Un(e){if(e===``)return!1;let t=document.querySelector(Bn(e));return t?.focus(),t!=null&&document.activeElement===t?!0:(Hn(e)?.focus(),!1)}function Wn(e){return e.kind===`terminal`?Vn(e.id):Un(e.id)}function Gn(e){return e.kind===`thread`?Hn(e.id):null}function Kn(e){return e?.contains(document.activeElement)??!1}function qn(e){return e instanceof HTMLElement&&e!==document.body&&e.isConnected&&e.closest(`[inert]`)==null&&e.getClientRects().length>0}function Jn(e){if(e==null||e.disabled||e.tabIndex<0||!e.isConnected||e.closest(`[aria-disabled="true"], [hidden], [inert], [aria-hidden="true"]`)!=null)return null;let t=e;for(;t!=null;){let e=window.getComputedStyle(t);if(e.display===`none`||e.visibility===`hidden`)return null;t=t.parentElement}return e.focus(),document.activeElement===e?e:null}function Yn(e){return e.querySelector(`[data-testid="terminal-new-chat"]`)}function Xn(e,t){return t||Kn(e)}function Zn(e){if(e.archived===!0)return`closed`;switch(e.status){case`installing`:case`spawning`:case`authenticating`:case`running`:return`working`;case`auth_required`:case`awaiting_permission`:return`needs-you`;case`ready`:return`ready`;case`error`:case`exited`:return`stopped`;default:return e.status}}var Qn={working:`bg-info animate-pulse`,"needs-you":`bg-warning`,ready:`bg-success`,stopped:`bg-destructive`,closed:`bg-muted-foreground`};function $n(e){let{_:t}=a();if(e.archived===!0)return t({id:`0H5_2R`});switch(e.status){case`installing`:case`spawning`:return t({id:`l6GfXr`});case`authenticating`:return t({id:`5pYsL1`});case`auth_required`:return t({id:`bwoxGI`});case`awaiting_permission`:return t({id:`_gO_m8`});case`running`:return t({id:`b4itZn`});case`ready`:return t({id:`ckH3fT`});case`error`:return t({id:`nwtY4N`});case`exited`:return t({id:`NnvXp5`});default:return e.status}}function er(e){let t=(0,Z.c)(28),{info:n,threadId:r,label:i}=e,{_:o}=a(),s=mn(),c=$n(n),l=At(r),u,d,f,p,m,h;if(t[0]!==o||t[1]!==n.lastActivityAt||t[2]!==i||t[3]!==s||t[4]!==c||t[5]!==l){let e=Gt(n.lastActivityAt,s);f=`flex max-w-64 flex-col gap-0.5 text-start`,t[12]===i?p=t[13]:(p=(0,Q.jsx)(`span`,{className:`break-words font-medium`,children:i}),t[12]=i,t[13]=p),t[14]===c?m=t[15]:(m=(0,Q.jsx)(`span`,{children:c}),t[14]=c,t[15]=m),t[16]!==o||t[17]!==l?(h=l?(0,Q.jsx)(`span`,{children:o({id:`ln8Qo3`})}):null,t[16]=o,t[17]=l,t[18]=h):h=t[18],u=`opacity-70`,d=o({id:`5UccRr`,values:{lastActivity:e}}),t[0]=o,t[1]=n.lastActivityAt,t[2]=i,t[3]=s,t[4]=c,t[5]=l,t[6]=u,t[7]=d,t[8]=f,t[9]=p,t[10]=m,t[11]=h}else u=t[6],d=t[7],f=t[8],p=t[9],m=t[10],h=t[11];let g;t[19]!==u||t[20]!==d?(g=(0,Q.jsx)(`span`,{className:u,children:d}),t[19]=u,t[20]=d,t[21]=g):g=t[21];let _;return t[22]!==f||t[23]!==p||t[24]!==m||t[25]!==h||t[26]!==g?(_=(0,Q.jsxs)(`span`,{className:f,children:[p,m,h,g]}),t[22]=f,t[23]=p,t[24]=m,t[25]=h,t[26]=g,t[27]=_):_=t[27],_}function tr(e){let t=(0,Z.c)(4),{info:n,threadId:r}=e,{_:i}=a(),o=$n(n),s=At(r),c;return t[0]!==i||t[1]!==o||t[2]!==s?(c=i(s?{id:`MWKYTL`,values:{status:o}}:{id:`ohunoZ`,values:{status:o}}),t[0]=i,t[1]=o,t[2]=s,t[3]=c):c=t[3],c}function nr(){return(0,Q.jsx)(U,{className:`size-3.5 shrink-0 text-muted-foreground`,"aria-hidden":`true`})}var rr=[`ring-identity-1/60`,`ring-identity-2/60`,`ring-identity-3/60`,`ring-identity-4/60`];function ir(e){let t=5381;for(let n=0;n<e.length;n++)t=(t<<5)+t+e.charCodeAt(n)>>>0;return rr[t%rr.length]??`ring-transparent`}function ar(e){let t=(0,Z.c)(12),{info:n,threadId:r}=e,i=At(r),a;t[0]===r?a=t[1]:(a=l(`relative inline-flex shrink-0 rounded-full ring-1`,ir(r)),t[0]=r,t[1]=a);let o=n?.agent.id??``,s=n?.agent.iconUrl,c;t[2]!==o||t[3]!==s?(c=(0,Q.jsx)(ee,{agentId:o,iconUrl:s,className:`size-3.5`}),t[2]=o,t[3]=s,t[4]=c):c=t[4];let u;t[5]!==n||t[6]!==i?(u=n==null?null:(0,Q.jsx)(`span`,{className:l(`-right-0.5 -bottom-0.5 absolute size-1.5 rounded-full ring-1 ring-background`,Qn[Zn(n)],i&&Zn(n)===`ready`&&`animate-pulse`),"data-thread-state":Zn(n),"aria-hidden":`true`}),t[5]=n,t[6]=i,t[7]=u):u=t[7];let d;return t[8]!==a||t[9]!==c||t[10]!==u?(d=(0,Q.jsxs)(`span`,{className:a,children:[c,u]}),t[8]=a,t[9]=c,t[10]=u,t[11]=d):d=t[11],d}var or=5e3;function sr(e,t,n,r){let i=t===`always`||t===`if-panel-focused`&&document.getElementById(n)?.contains(document.activeElement)===!0;e(!1),i&&queueMicrotask(()=>r.current?.focus())}var cr=20;function lr(e){let t=(0,Z.c)(227),{bridge:n,terminalCapable:r,surface:i,terminalPlacement:o,onTerminalPlacementChange:s,terminalRestoreRevealNonce:c,visible:d,wideVisible:f,onVisibleChange:p,onPreferredSessionHostReady:m,agentsVisibilityRestoreSettled:h,launch:v,commandLaunch:ee,threadLaunch:w,focusRevealRequestNonce:ae,installedClis:T,container:E,isShowing:D,revealFocusHold:O,onRequestEditorFocus:oe}=e,k=r===void 0?!1:r,se=o===void 0?`bottom`:o,A=c===void 0?0:c,ce=f===void 0?d:f,le=v===void 0?null:v,j=ee===void 0?null:ee,M=w===void 0?null:w,N=ae===void 0?0:ae,ue=O===void 0?!1:O,{_:P}=a(),F=i===`terminal-window`,R=i===`agents-panel`,z=!R,B=z&&k&&n?.terminal!=null,pe=R?`right`:se,H=R?`agents`:`terminal`,me=R&&ce,U=!F,ye=n?.platform===`darwin`?`mac`:n?.platform===`linux`||n?.platform===`win32`?`windowsLinux`:void 0,[W]=(0,X.useState)(Ir),[xe,we]=(0,X.useState)(null),Ie=(0,X.useRef)(0),ze,Be;t[0]===W?(ze=t[1],Be=t[2]):(ze=()=>{if(W!=null)return()=>W.remove()},Be=[W],t[0]=W,t[1]=ze,t[2]=Be),(0,X.useLayoutEffect)(ze,Be);let Ve,He;t[3]!==E||t[4]!==W?(Ve=()=>{W==null||E==null||(W.parentElement!==E&&E.appendChild(W),we(W))},He=[W,E],t[3]=E,t[4]=W,t[5]=Ve,t[6]=He):(Ve=t[5],He=t[6]),(0,X.useLayoutEffect)(Ve,He);let[G,Ue]=(0,X.useState)(!1),{mode:We,remeasure:Ge}=on(E,R),K=(0,X.useId)(),Ke=(0,X.useRef)(null),qe=(0,X.useRef)(We),Je,Ye;t[7]!==We||t[8]!==G||t[9]!==K?(Je=()=>{let e=qe.current;qe.current=We,G&&e===`docked`&&We===`cover`&&sr(Ue,`if-panel-focused`,K,Ke)},Ye=[We,G,K],t[7]=We,t[8]=G,t[9]=K,t[10]=Je,t[11]=Ye):(Je=t[10],Ye=t[11]),(0,X.useLayoutEffect)(Je,Ye);let Xe=z&&typeof n?.terminal?.list==`function`,Ze=R&&typeof n?.terminal?.getDockState==`function`,Qe=!Xe&&B&&d,$e;t[12]!==n?.terminal?.getDockState||t[13]!==Xe||t[14]!==Qe||t[15]!==H||t[16]!==U?($e=()=>Xe||!U||Qe||typeof n?.terminal?.getDockState==`function`?null:ve(H),t[12]=n?.terminal?.getDockState,t[13]=Xe,t[14]=Qe,t[15]=H,t[16]=U,t[17]=$e):$e=t[17];let[rt]=(0,X.useState)($e),it;t[18]===rt?.order?it=t[19]:(it=rt?.order??[],t[18]=rt?.order,t[19]=it);let at=(0,X.useRef)(it),ot=(0,X.useRef)(rt?.activeKey??null),st;t[20]!==Qe||t[21]!==le?(st=()=>Qe?[{kind:`terminal`,id:Ln(1),launch:le,commandId:null,title:null,customLabel:null,ordinal:1,adoptPtyId:null}]:[],t[20]=Qe,t[21]=le,t[22]=st):st=t[22];let[q,ct]=(0,X.useState)(st),lt;t[23]===Qe?lt=t[24]:(lt=()=>Qe?Ln(1):``,t[23]=Qe,t[24]=lt);let[J,ut]=(0,X.useState)(lt),[dt,ft]=(0,X.useState)(!Xe&&!Ze),pt=(0,X.useRef)(!1),mt=(0,X.useRef)(J),Y=(0,X.useRef)(q),ht=(0,X.useRef)(+!!Qe),gt=(0,X.useRef)(Qe&&le?le.nonce:null),_t=(0,X.useRef)(null),vt=(0,X.useRef)(null),yt=(0,X.useRef)(!1),bt=(0,X.useRef)(null),xt=(0,X.useRef)(null),St=(0,X.useRef)(!1),[Ct,wt]=(0,X.useState)(`idle`),Et=(0,X.useRef)(null),Dt=(0,X.useRef)(null),At=(0,X.useRef)(null),Ut=(0,X.useRef)(null),Kt=(0,X.useRef)(!1),qt=(0,X.useRef)(!1),Xt=(0,X.useRef)(!1),Zt=(0,X.useRef)(!1),$t=(0,X.useRef)(!1),en=(0,X.useRef)(!1),tn=(0,X.useRef)(!1),nn=(0,X.useRef)(Fr),rn=(0,X.useRef)(null),an=(0,X.useRef)(F?!1:d),sn=(0,X.useRef)(!1),cn=(0,X.useRef)(null),ln,un;t[25]===N?(ln=t[26],un=t[27]):(ln=()=>{cn.current!==N&&(cn.current=N,N>0&&(sn.current=!0))},un=[N],t[25]=N,t[26]=ln,t[27]=un),(0,X.useLayoutEffect)(ln,un);let dn=(0,X.useRef)(A),fn=(0,X.useRef)(new Map),pn=(0,X.useRef)(0),mn=(0,X.useRef)(ue),hn,_n;t[28]===ue?(hn=t[29],_n=t[30]):(hn=()=>{mn.current=ue},_n=[ue],t[28]=ue,t[29]=hn,t[30]=_n),(0,X.useLayoutEffect)(hn,_n);let vn,yn;t[31]===D?(vn=t[32],yn=t[33]):(vn=()=>{let e=D&&!Kt.current;Kt.current=D,e&&(Ut.current={pendingThreadId:null}),D||(Ut.current=null)},yn=[D],t[31]=D,t[32]=vn,t[33]=yn),(0,X.useLayoutEffect)(vn,yn);let $=Nt(),bn=jt(),Sn=Ft(),Cn=kt(),wn;t[34]===Symbol.for(`react.memo_cache_sentinel`)?(wn=()=>{St.current=!1,Et.current=null,Dt.current=null,qt.current=!1,wt(`idle`)},t[34]=wn):wn=t[34];let Tn;t[35]===Sn?Tn=t[36]:(Tn=[Sn],t[35]=Sn,t[36]=Tn),(0,X.useEffect)(wn,Tn);let En,Dn;t[37]===Ct?(En=t[38],Dn=t[39]):(En=()=>{if(!qt.current||Ct!==`failed`&&Ct!==`deduped`)return;let e=window.requestAnimationFrame(()=>{qt.current=!1,At.current?.focus()});return()=>window.cancelAnimationFrame(e)},Dn=[Ct],t[37]=Ct,t[38]=En,t[39]=Dn),(0,X.useEffect)(En,Dn);let On,kn;t[40]!==G||t[41]!==K||t[42]!==R||t[43]!==d?(On=()=>{R&&!d&&G&&sr(Ue,`never`,K,Ke)},kn=[G,K,R,d],t[40]=G,t[41]=K,t[42]=R,t[43]=d,t[44]=On,t[45]=kn):(On=t[44],kn=t[45]),(0,X.useEffect)(On,kn);let An=Cn===`connecting`||Cn===`closed`,Mn=S(R),Nn=_(),Pn=te(),Fn;t[46]===Pn?Fn=t[47]:(Fn=e=>b(Pn,e.source,e.id,!0,e.supported),t[46]=Pn,t[47]=Fn);let Rn=Nn.filter(Fn),zn=y(Rn,x()),Bn=new Set(Nn.map(Pr)),Hn=ne(Mn.data?.agents??[]).some(e=>!Bn.has(`${e.source}:${e.id}`)),Zn;t[48]===Mn?Zn=t[49]:(Zn=()=>{Mn.refetch()},t[48]=Mn,t[49]=Zn);let Qn=Zn,$n=Mn.isError,rr=!Mn.isLoading&&!Hn,ir;t[50]===$?ir=t[51]:(ir=$.filter(Nr),t[50]=$,t[51]=ir);let lr=ir.length,Rr=new Map($.map(Mr)),Ur=new Set(Rr.keys()),Gr=function(e){Ui(),ot.current=null;let t=Y.current.find(t=>t.kind===`thread`&&t.threadId===e);if(t!=null){ut(t.id),queueMicrotask(()=>Wn(t));return}Ot().openArchivedThread(e)},Yr;t[52]===K?Yr=t[53]:(Yr=function(e){sr(Ue,e===`explicit`?`always`:`never`,K,Ke)},t[52]=K,t[53]=Yr);let Xr=Yr,Zr;t[54]===Ge?Zr=t[55]:(Zr=function(e){e&&Ge(),Ue(e)},t[54]=Ge,t[55]=Zr);let Qr=Zr,$r=function(){R&&G&&We===`cover`&&sr(Ue,`never`,K,Ke)},ei=function(){return!U||!dt?!0:Zt.current&&!$t.current?(tn.current||(tn.current=!0,console.warn(`[${R?`agents`:`terminal`}] dock persistence withheld: the restore did not complete, so the saved tab set is left untouched`)),!0):!1},ti=function(){if(ei())return;let e=fn.current,t=Y.current.map(t=>Kr(t,e)).filter(jr),r=Y.current.find(e=>e.id===mt.current),i=r==null?null:Kr(r,e),a=qr(Y.current,mt.current);R?(I(n,`agents`,{order:t,activeKey:i},a),be(n,ce)):I(n,`terminal`,{order:t,activeKey:i},a)},ni=function(e,t){if(t===null){fn.current.delete(e),Ei(Y.current,mt.current);return}fn.current.set(e,t),Ei(Y.current,mt.current);let r=Y.current.find(t=>t.id===e);r!=null&&r.kind===`terminal`&&n?.terminal?.setMeta?.(t,{ordinal:r.ordinal,customLabel:r.customLabel}),ti()},ri=function(e,t,n){let r=t===void 0?null:t;n===`user`&&Ui(),ot.current=null,ht.current+=1;let i=Ln(ht.current);ct(t=>[...t,{kind:`terminal`,id:i,launch:e,commandId:r,title:null,customLabel:null,ordinal:ht.current,adoptPtyId:null}]),ut(i)},ii=ke(),ai=Se(),oi;t[56]===T?oi=t[57]:(oi=T??{},t[56]=T,t[57]=oi);let si;t[58]===T?si=t[59]:(si=T??{},t[58]=T,t[59]=si);let ci=De({sticky:ii,effectiveThreadAgent:zn,enabledClis:Pe(Pn,oi),enabledDesktopTargets:[],installedClis:si,terminalAvailable:B,threadsAvailable:R,desktopSelectable:!1,preferBareTerminal:ai,bareTerminalFallback:!0}),li=Oe(ii),ui=ci.kind===`thread`?{kind:`agent`,agent:ci.agent}:ci.kind===`cli`?ci.cli===li?{kind:`cli`,cli:ci.cli}:{kind:`terminal`}:ci.kind===`terminal`?{kind:`terminal`}:{kind:`agent`,agent:null},di=function(e,t){pn.current+=1,ri({prompt:null,cli:e,nonce:pn.current},null,t)},fi=function(e,t){let{agent:n,prompt:r,docName:i,titleHint:a,stageDraft:o,attachments:s}=e,c=r===void 0?null:r,l=i===void 0?null:i,u=a===void 0?null:a,d=o===void 0?null:o,f=R&&Y.current.length===0,p=Et.current;return f&&(Et.current=e,wt(`launching`)),Lt({source:n.source,id:n.id},c,l,u,d,s,t).then(t=>{if(t===`deduped`&&re.error(P({id:`eCOktA`})),!f||Y.current.length>0||Et.current!==e)return t;switch(t){case`failed`:return Et.current=null,Dt.current=e,wt(`failed`),t;case`deduped`:return p===null?(Et.current=null,Dt.current=e,wt(`deduped`)):(Et.current=p,wt(`launching`)),t;case`started`:return t;default:return Hr(t)}})},pi=function(){$r(),qt.current=!0;let e=Dt.current;if(e===null){mi();return}fi(e)};function mi(){$r(),ui.kind===`terminal`?ri(null,null,`user`):ui.kind===`cli`?di(ui.cli,`user`):ui.kind===`agent`&&ui.agent!=null?fi({agent:ui.agent}):et()}let hi=function(){if(R){if(ui.kind!==`agent`||ui.agent==null)return!1;let e=ui.agent,t={agentKey:`${e.source}:${e.id}`,connectionGeneration:Ot().getConnectionGeneration()};return xt.current=null,bt.current=t,fi({agent:e},e=>{bt.current===t&&(xt.current=e.threadId,bt.current=null)}).then(e=>{e!==`started`&&bt.current===t&&(bt.current=null)}),!0}return ui.kind===`terminal`?ri(null,null,`restore-seed`):ui.kind===`cli`&&di(ui.cli,`restore-seed`),!0},gi;t[60]===T?gi=t[61]:(gi=T??{},t[60]=T,t[61]=gi);let _i;t[62]===T?_i=t[63]:(_i=T??{},t[62]=T,t[63]=_i);let vi=De({sticky:ii,effectiveThreadAgent:zn,enabledClis:Pe(Pn,gi),enabledDesktopTargets:[],installedClis:_i,terminalAvailable:k,threadsAvailable:!F,desktopSelectable:!1,preferBareTerminal:!1,bareTerminalFallback:!1}),yi=De({sticky:ii,effectiveThreadAgent:zn,enabledClis:[],enabledDesktopTargets:[],installedClis:{},terminalAvailable:!1,threadsAvailable:R,desktopSelectable:!1,preferBareTerminal:!1,bareTerminalFallback:!1}),bi;t[64]===T?bi=t[65]:(bi=T??{},t[64]=T,t[65]=bi);let xi=!F,Si;t[66]!==bi||t[67]!==xi||t[68]!==k?(Si={installedClis:bi,terminalAvailable:k,threadsAvailable:xi},t[66]=bi,t[67]=xi,t[68]=k,t[69]=Si):Si=t[69];let Ci=he(Si),wi;t[70]!==R||t[71]!==F?(wi=function(e){return F?!0:je[e]===(R?`agents`:`terminal`)},t[70]=R,t[71]=F,t[72]=wi):wi=t[72];let Ti=wi;function Ei(e,t){let r=e.find(e=>e.id===t);if(r==null){Ce(H,null);return}if(r.kind===`thread`){let e=Rr.get(r.threadId);Ce(H,{id:r.id,kind:`thread`,label:e?.agent.name??P({id:`bcm0pR`}),agentId:e?.agent.id??``,iconUrl:e?.agent.iconUrl});return}let i=fn.current.get(r.id),a=r.launch?.cli;if(i==null||n?.terminal==null||a==null){Ce(H,null);return}Ce(H,{id:r.id,kind:`terminal`,label:Le[a].displayName,cli:a})}let Di;t[73]!==J||t[74]!==$||t[75]!==q?(Di=[J,q,$],t[73]=J,t[74]=$,t[75]=q,t[76]=Di):Di=t[76],(0,X.useEffect)(()=>{Ei(q,J)},Di);let Oi;t[77]!==R||t[78]!==p||t[79]!==d?(Oi=function(){d?R&&nt.request(`agents`,!0):p(!0)},t[77]=R,t[78]=p,t[79]=d,t[80]=Oi):Oi=t[80];let ki=Oi,Ai=function(){$r(),ki()},ji=function(e){let{text:t,newTab:r,submit:i,target:a}=e,o=a===`agents`?yi:vi;if(a===`agents`){if(!R)return}else if(!Ti(o.kind))return;ki(),$r();let s=mt.current,c=Y.current.find(e=>e.id===s);if(!r&&c!=null){if(c.kind===`thread`){Vt(c.threadId,t),queueMicrotask(()=>Wn(c));return}let e=fn.current.get(c.id),r=n?.terminal;if(e!=null&&r!=null&&c.launch?.cli!=null){r.input(e,Re(t,Ht(e))),Ai(),queueMicrotask(()=>Vn(s));return}}if(o.kind===`thread`){let e={source:o.agent.source,id:o.agent.id};fi(i?{agent:e,prompt:t}:{agent:e,stageDraft:t})}else o.kind===`cli`?Ne(t,o.cli,{stage:!i}):et()},Mi=function(e){$r(),L(!1),Fe(Me(e)),di(e,`user`)},Ni=function(){$r(),L(!0),ri(null,null,`user`)},Pi=function(){let e=Y.current.find(e=>e.id===mt.current);if(e==null||e.kind!==`thread`)return null;let t=Rr.get(e.threadId);if(t===void 0||t.archived===!0)return null;let n=Ot().getThreadModel(e.threadId);return n===null||Mt(n)?null:{threadId:e.threadId,agent:t.agent}},Fi=function(e){let t=Pi();if(t!==null&&ca.has(t.threadId))return;if($r(),g(e),L(!1),Fe(Ae(e)),t===null||t.agent.source===e.source&&t.agent.id===e.id){fi({agent:e});return}let n=It(t.threadId);if(n?.uploadsPending===!0){fi({agent:e});return}let r=n!==null&&!zt(n)&&n.doc!==null?{agent:e,stageDraft:{doc:n.doc,attachments:n.attachments}}:{agent:e},i=t.threadId;la(e=>new Set(e).add(i)),fi(r).then(e=>{la(e=>{if(!e.has(i))return e;let t=new Set(e);return t.delete(i),t}),e===`started`&&Ot().closeThread(i)})},Ii;t[81]===Symbol.for(`react.memo_cache_sentinel`)?(Ii=function(e,t){let n=t.trim()===``?null:t.trim();ct(t=>t.some(t=>t.id===e&&t.kind===`terminal`&&t.title!==n)?t.map(t=>t.id===e&&t.kind===`terminal`?{...t,title:n}:t):t)},t[81]=Ii):Ii=t[81];let Li=Ii,Ri=function(e,t){let r=Y.current.find(t=>t.id===e);if(r==null)return;if(r.kind===`thread`){Ot().renameThread(r.threadId,t);return}let i=t.trim()===``?null:t.trim();ct(t=>t.some(t=>t.id===e&&t.kind===`terminal`&&t.customLabel!==i)?t.map(t=>t.id===e&&t.kind===`terminal`?{...t,customLabel:i}:t):t);let a=fn.current.get(e);a!=null&&n?.terminal?.setMeta?.(a,{customLabel:i})},zi=function(e){return e.kind===`terminal`?e.customLabel??e.title??P({id:`OVjNeX`,values:{0:e.ordinal}}):Rr.get(e.threadId)?.title??P({id:`iEQQyu`})},Bi=(0,X.useRef)(!1),Vi=(0,X.useRef)(null),Hi=(0,X.useRef)(null);function Ui(){tn.current&&console.warn(`[${R?`agents`:`terminal`}] dock persistence resumed: a user arrangement established the tab set the restore did not`),$t.current=!0,tn.current=!1}let Wi=function(e){In(Y.current,e)!=null&&Ui(),ct(t=>In(t,e)??t);let t=e.map(e=>fn.current.get(e)).filter(Ar);t.length>0&&n?.terminal?.setOrder?.(t)},Gi=function(e){let t=Y.current,n=t.findIndex(e=>e.id===mt.current);if(n<0)return null;let r=n+e;if(r<0||r>=t.length)return null;let i=t.map(kr),[a]=i.splice(n,1);return i.splice(r,0,a),Wi(i),{label:zi(t[n]),position:r+1,total:t.length}},Ki=function(){Ti(Ci.kind)&&(ki(),mi())},qi=(0,X.useRef)(Ui),Ji=(0,X.useRef)(Gi),Yi=(0,X.useRef)(ri),Xi=(0,X.useRef)(hi),Zi=(0,X.useRef)(fi),Qi=(0,X.useRef)(ji),$i=(0,X.useRef)(Ai),ea=(0,X.useRef)(Ki),ta=(0,X.useRef)(Ci.kind),na=function(e){let t=Y.current,n=t.findIndex(t=>t.id===e);if(n===-1)return;Ui();let r=t[n];aa(r);let i=t.length===1;if(ot.current=null,e===mt.current){let e=t[n-1]??t[n+1];ut(e?.id??``),e!=null&&queueMicrotask(()=>Wn(e))}r.kind===`thread`?Ot().closeThread(r.threadId):ct(t.filter(t=>t.id!==e)),i&&(p(!1,`session-close`),oe())},ra=(0,X.useRef)(Or),ia=(0,X.useRef)(new Set);function aa(e){if(e==null||e.kind!==`terminal`)return;let t=e.launch?.signInThreadId;t===void 0||ia.current.has(e.id)||(ia.current.add(e.id),Bt(t))}let[oa,sa]=(0,X.useState)(Dr),ca=oa,la=sa;(0,X.useEffect)(()=>{nn.current=ei,Yi.current=ri,Xi.current=hi,Zi.current=fi,Qi.current=ji,$i.current=Ai,ea.current=Ki,ta.current=Ci.kind,qi.current=Ui,Ji.current=Gi,mt.current=J,Y.current=q,q.length>0&&(en.current=!0),ra.current=()=>{let e=Y.current.find(e=>e.id===mt.current);if(e?.kind===`terminal`){na(e.id);return}let t=[...Y.current].reverse().find(Er);t!=null&&na(t.id)}});let ua,da;t[82]===q.length?(ua=t[83],da=t[84]):(ua=()=>{q.length!==0&&(Et.current=null,Dt.current=null,qt.current=!1,wt(`idle`))},da=[q.length],t[82]=q.length,t[83]=ua,t[84]=da),(0,X.useEffect)(ua,da);let fa=Pt(),pa;t[85]!==J||t[86]!==n||t[87]!==R||t[88]!==fa||t[89]!==me||t[90]!==U||t[91]!==dt||t[92]!==q?(pa=[q,J,U,n,dt,me,R,fa],t[85]=J,t[86]=n,t[87]=R,t[88]=fa,t[89]=me,t[90]=U,t[91]=dt,t[92]=q,t[93]=pa):pa=t[93],(0,X.useEffect)(()=>{if(!U||!dt||nn.current())return;if(R&&q.length===0&&!en.current&&(fa===null||fa.size>0)){be(n,me);return}let e=fn.current,t=q.map(t=>Kr(t,e)).filter(Tr),r=q.find(e=>e.id===J),i=r==null?null:Kr(r,e),a=qr(q,J);R?(I(n,`agents`,{order:t,activeKey:i},a),be(n,me)):I(n,`terminal`,{order:t,activeKey:i},a)},pa);let ma;t[94]!==R||t[95]!==$?(ma=[$,R],t[94]=R,t[95]=$,t[96]=ma):ma=t[96],(0,X.useEffect)(()=>{if(!R)return;let e=new Set($.map(wr)),t=Y.current,n=new Set(t.filter(Cr).map(Sr)),r=[];for(let e of $)n.has(e.threadId)||(ht.current+=1,r.push({kind:`thread`,id:e.threadId,threadId:e.threadId,ordinal:ht.current}));let i=t.some(t=>t.kind===`thread`&&!e.has(t.threadId));r.length===0&&!i||ct(t=>{let n=t.filter(t=>t.kind!==`thread`||e.has(t.threadId)),i=new Set(n.filter(xr).map(br)),a=r.filter(e=>!i.has(e.threadId)),o=fn.current,s=a.length>0?Jr(n,a,at.current,e=>Kr(e,o)):n;return s.length===t.length&&s.every((e,n)=>e===t[n])?t:s})},ma);let ha;t[97]===Symbol.for(`react.memo_cache_sentinel`)?(ha=[],t[97]=ha):ha=t[97];let ga=(0,X.useRef)(ha),_a,va;t[98]!==R||t[99]!==$?(_a=()=>{if(!R)return;let e=$.map(yr),t=ga.current;if(ga.current=e,ot.current!=null)return;let n=e.filter(e=>!t.includes(e)),r=n[n.length-1];r!=null&&(ut(r),Ut.current==null?queueMicrotask(()=>Un(r)):Ut.current.pendingThreadId=r)},va=[$,R],t[98]=R,t[99]=$,t[100]=_a,t[101]=va):(_a=t[100],va=t[101]),(0,X.useEffect)(_a,va);let ya;t[102]===$?ya=t[103]:(ya=$.filter(vr).map(_r),t[102]=$,t[103]=ya);let ba=ya,xa;t[104]!==fa||t[105]!==ba?(xa=fa===null?ba:[...fa],t[104]=fa,t[105]=ba,t[106]=xa):xa=t[106];let Sa=(0,X.useRef)(xa),Ca=(0,X.useRef)(fa===null),wa;t[107]!==h||t[108]!==R||t[109]!==fa||t[110]!==ba||t[111]!==p||t[112]!==$||t[113]!==d?(wa=[ba,$,R,h,d,fa,p],t[107]=h,t[108]=R,t[109]=fa,t[110]=ba,t[111]=p,t[112]=$,t[113]=d,t[114]=wa):wa=t[114],(0,X.useEffect)(()=>{if(!R||!h)return;let e=Sa.current;Sa.current=ba;let t=Ca.current,n=fa!==null;Ca.current=!n;let r=t&&n?ba.filter(e=>!fa.has(e)):ba.filter(t=>!e.includes(t));if(r.length===0)return;let i=bt.current,a=r.find(e=>{if(e===xt.current)return!0;if(i===null||i.connectionGeneration!==Ot().getConnectionGeneration())return!1;let t=$.find(t=>t.threadId===e);return fa?.has(e)!==!0&&t!==void 0&&`${t.agent.source}:${t.agent.id}`===i.agentKey});if(a!==void 0&&(xt.current=a,bt.current=null),d)return;let o=r.filter(e=>e!==a);o.length!==0&&(o.every(e=>fa?.has(e)===!0)||p(!0))},wa);let Ta;t[115]!==J||t[116]!==q?(Ta=[q,J],t[115]=J,t[116]=q,t[117]=Ta):Ta=t[117],(0,X.useEffect)(()=>{let e=ot.current;if(e!=null){let t=fn.current,n=q.find(n=>Kr(n,t)===e);if(n!=null){ot.current=null,ut(n.id);return}if(q.some(e=>e.id===J))return}if(!(J!==``&&q.some(e=>e.id===J))){if(q.length===0){J!==``&&ut(``);return}ut(q[q.length-1].id)}},Ta),(0,X.useEffect)(()=>{if(!dt)return;let e=an.current;if(an.current=d,le!=null&&le.nonce!==gt.current){gt.current=le.nonce,Yi.current(le,null,`user`);return}if(j!=null&&j.nonce!==rn.current){rn.current=j.nonce,Yi.current(null,j.id,`user`);return}let t=R&&M!=null&&M.nonce!==_t.current,n=z&&A!==dn.current;if(n&&(dn.current=A),d&&!e&&q.length===0&&!t&&!(R&&Rt())){if(n&&!Xt.current)return;if(R){if(fa===null)return;if(St.current=!0,$.length>0){yt.current=!1;return}}yt.current=!Xi.current();return}if(R&&d&&e&&!St.current&&fa!==null){St.current=!0,$.length===0&&q.length===0&&!t&&!Rt()&&(yt.current=!Xi.current());return}if(yt.current){if(!d||q.length>0||t||R&&$.length>0){yt.current=!1;return}R&&zn===null||Xi.current()&&(yt.current=!1)}},[d,le,j,M,q.length,dt,R,zn,fa,$.length,z,A]);let Ea;t[118]!==zn||t[119]!==R||t[120]!==M?(Ea=[M,R,zn],t[118]=zn,t[119]=R,t[120]=M,t[121]=Ea):Ea=t[121],(0,X.useEffect)(()=>{if(!R||M==null||M.nonce===_t.current)return;let e=M.agentId===``?null:{source:M.agentSource,id:M.agentId};if(e===null&&zn!==null&&(e={source:zn.source,id:zn.id}),e===null){vt.current!==M.nonce&&(vt.current=M.nonce,et());return}_t.current=M.nonce,Zi.current({agent:e,prompt:M.prompt,docName:M.docName,titleHint:M.titleHint,attachments:M.attachments??void 0})},Ea);let Da;t[122]!==n||t[123]!==z||t[124]!==H?(Da=[n,z,H],t[122]=n,t[123]=z,t[124]=H,t[125]=Da):Da=t[125],(0,X.useEffect)(()=>{if(!z||typeof n?.terminal?.list!=`function`||pt.current)return;pt.current=!0;let e=!1,t=!1,r=()=>{e||ft(!0)},i=window.setTimeout(()=>{t=!0,console.warn(`[terminal] dock restore exceeded its ${V}ms bound; cold-starting instead of waiting`),Xt.current=!0,Zt.current=!0,yt.current=!0,r()},V),a=()=>{window.clearTimeout(i),t||r()};return(async()=>{try{let{sessionOrder:r,terminalSnapshot:i,failed:o}=await de(n,H);if(e||t)return;o&&(Zt.current=!0),r!=null&&(at.current=r.order,ot.current=r.activeKey);let s=null;try{s=await n.terminal.list()??[]}catch(e){let t=e;Zt.current=!0,console.error(`[terminal] reload session list() failed; the surviving shells are unknown: ${String(t)}`)}if(e)return;if(t){let e=(s??[]).map(gr);e.length>0&&console.warn(`[terminal] dock restore was abandoned before list() resolved; these PTYs stay running unadopted: ${e.join(`, `)}`);return}if(s!=null&&s.length>0){let e=at.current,t=t=>{let n=e.indexOf(t);return n===-1?1/0:n},n=s.map(hr).sort((e,n)=>{let r=t(e.adoptPtyId),i=t(n.adoptPtyId);return r===i?0:r-i});ht.current=Math.max(n.length,...n.map(mr)),ct(n)}else if(s!=null&&i!=null&&i.tabs.length>0){let e=i.tabs.map(pr);ht.current=Math.max(e.length,...e.map(fr)),ot.current=null,ct(e);let t=e.find(e=>e.ordinal===i?.activeOrdinal);t!=null&&ut(t.id)}else s!=null&&(Xt.current=!0,yt.current=!0);window.setTimeout(()=>{e||(ot.current=null)},9e3),a()}catch(e){let t=e;Zt.current=!0,Xt.current=!0,yt.current=!0,console.error(`[terminal] dock rehydration failed; cold-starting: ${t instanceof Error?t.stack??t.message:String(t)}`),a()}})(),()=>{e=!0,t=!0,window.clearTimeout(i),pt.current=!1,Xt.current=!1,Zt.current=!1,$t.current=!1,yt.current=!1,tn.current=!1}},Da);let Oa,ka;t[126]!==n||t[127]!==Xe||t[128]!==H||t[129]!==U?(Oa=()=>{if(Xe||!U||typeof n?.terminal?.getDockState!=`function`)return;let e=!1,t=!1,r=()=>{e||ft(!0)},i=window.setTimeout(()=>{t=!0,console.warn(`[agents] dock order restore exceeded its ${V}ms bound; the saved tab set is left untouched`),Zt.current=!0,r()},V);return de(n,H).then(n=>{let{sessionOrder:r,failed:i}=n;e||t||(i&&(Zt.current=!0),r!=null&&(at.current=r.order,ot.current===null&&(ot.current=r.activeKey)))}).finally(()=>{window.clearTimeout(i),r()}),()=>{e=!0,window.clearTimeout(i),Zt.current=!1,$t.current=!1,tn.current=!1}},ka=[n,Xe,U,H],t[126]=n,t[127]=Xe,t[128]=H,t[129]=U,t[130]=Oa,t[131]=ka):(Oa=t[130],ka=t[131]),(0,X.useEffect)(Oa,ka);let Aa,ja;t[132]===Xe?(Aa=t[133],ja=t[134]):(Aa=()=>{if(Xe)return;let e=window.setTimeout(()=>{ot.current=null},9e3);return()=>window.clearTimeout(e)},ja=[Xe],t[132]=Xe,t[133]=Aa,t[134]=ja),(0,X.useEffect)(Aa,ja);let Ma;t[135]!==R||t[136]!==B?(Ma=[B,R],t[135]=R,t[136]=B,t[137]=Ma):Ma=t[137],(0,X.useEffect)(()=>{if(!(!B&&!R))return _e(e=>Qi.current(e))},Ma);let Na;t[138]===R?Na=t[139]:(Na=[R],t[138]=R,t[139]=Na),(0,X.useEffect)(()=>{if(R)return Te(e=>{let{threadIds:t}=e,n=mt.current,r=Y.current.find(e=>e.id===n);r?.kind===`thread`&&(Ee(r.threadId,t),$i.current(),queueMicrotask(()=>Wn(r)))})},Na);let Pa;t[140]!==R||t[141]!==F||t[142]!==m?(Pa=[R,F,m],t[140]=R,t[141]=F,t[142]=m,t[143]=Pa):Pa=t[143],(0,X.useEffect)(()=>{let e=ge(()=>ea.current(),window,()=>F?!0:je[ta.current]===(R?`agents`:`terminal`));return m?.(),e},Pa);let Fa;t[144]!==z||t[145]!==F||t[146]!==B?(Fa=[F,z,B],t[144]=z,t[145]=F,t[146]=B,t[147]=Fa):Fa=t[147],(0,X.useEffect)(()=>{if(z)return ie(e=>{e===`new-terminal`?B&&Yi.current(null,null,`user`):(e===`kill-terminal`||e===`close-active-tab-or-window`&&F)&&ra.current()})},Fa);let Ia;t[148]!==W||t[149]!==F||t[150]!==ye?(Ia=[W,F,ye],t[148]=W,t[149]=F,t[150]=ye,t[151]=Ia):Ia=t[151],(0,X.useEffect)(()=>{let e=function(e){if(!C(e,ye)||e.altKey||e.shiftKey||!/^[1-9]$/.test(e.key)||!Xn(W,F)||u())return;let t=Y.current[Number(e.key)-1];t!=null&&(e.preventDefault(),e.stopPropagation(),t.id!==mt.current&&qi.current(),ut(t.id),queueMicrotask(()=>Wn(t)))};return window.addEventListener(`keydown`,e,{capture:!0}),()=>window.removeEventListener(`keydown`,e,{capture:!0})},Ia);let La;t[152]!==P||t[153]!==W||t[154]!==F||t[155]!==ye?(La=[W,F,ye,P],t[152]=P,t[153]=W,t[154]=F,t[155]=ye,t[156]=La):La=t[156],(0,X.useEffect)(()=>{let e=function(e){if(!C(e,ye)||!e.shiftKey||e.altKey)return;let t=e.key===`ArrowLeft`?-1:+(e.key===`ArrowRight`);if(t===0||!Xn(W,F)||u()||Bi.current)return;let n=e.target;if(n?.tagName===`INPUT`||n?.isContentEditable)return;let r=Ji.current(t);if(r==null)return;e.preventDefault(),e.stopPropagation();let i=mt.current,a=Y.current.find(e=>e.id===i);a!=null&&queueMicrotask(()=>Wn(a));let o=P({id:`CoHvYd`,values:{0:r.label,1:r.position,2:r.total}});Hi.current!=null&&window.clearTimeout(Hi.current),Hi.current=window.setTimeout(()=>{Hi.current=null,Vi.current!=null&&(Vi.current.textContent=o)},60)};return window.addEventListener(`keydown`,e,{capture:!0}),()=>{window.removeEventListener(`keydown`,e,{capture:!0}),Hi.current!=null&&(window.clearTimeout(Hi.current),Hi.current=null)}},La);let Ra;t[157]!==n?.editor||t[158]!==z||t[159]!==q?(Ra=()=>{if(!z)return;let e=q.some(dr);fe({terminalLive:e}),n?.editor.notifyViewMenuStateChanged({terminalLive:e})},t[157]=n?.editor,t[158]=z,t[159]=q,t[160]=Ra):Ra=t[160];let za;t[161]!==n||t[162]!==z||t[163]!==q?(za=[n,q,z],t[161]=n,t[162]=z,t[163]=q,t[164]=za):za=t[164],(0,X.useEffect)(Ra,za);let Ba=(0,X.useRef)(!1),Va,Ha;t[165]===W?(Va=t[166],Ha=t[167]):(Va=()=>{if(W==null)return;let e=()=>{Ba.current=Kn(W)};return document.addEventListener(`focusin`,e,!0),e(),()=>document.removeEventListener(`focusin`,e,!0)},Ha=[W],t[165]=W,t[166]=Va,t[167]=Ha),(0,X.useEffect)(Va,Ha);let Ua,Wa;t[168]!==D||t[169]!==oe||t[170]!==d?(Ua=()=>{D||d||Ba.current&&(Ba.current=!1,oe())},Wa=[D,d,oe],t[168]=D,t[169]=oe,t[170]=d,t[171]=Ua,t[172]=Wa):(Ua=t[171],Wa=t[172]),(0,X.useLayoutEffect)(Ua,Wa);let Ga;t[173]!==xe||t[174]!==R||t[175]!==D?(Ga=[D,xe,R],t[173]=xe,t[174]=R,t[175]=D,t[176]=Ga):Ga=t[176],(0,X.useEffect)(()=>{if(!D||xe==null)return;let e=document.activeElement,t=sn.current;sn.current=!1;let n=e instanceof HTMLElement?e.getAttribute(`data-header-pane-button`):null,r=!t&&R&&qn(e)&&n!==null&&n!==`agents`;if(mn.current&&qn(e)){Ut.current=null;return}let i=Ut.current?.pendingThreadId??mt.current,a=Y.current.find(e=>e.id===i),o=!1;if(a!=null){let e=Gn(a);if(Wn(a)){Ut.current=null;return}o=e!=null&&document.activeElement===e}let s=R&&a==null&&!r?Jn(At.current)??Jn(Yn(xe)):null;Ut.current={pendingThreadId:Ut.current?.pendingThreadId??null};let c=r||o,l=null,u=null,d=!1,f=e=>{e.target===l&&(c=!0)},p=()=>{if(u=null,d)return;let t=Ut.current?.pendingThreadId??mt.current,n=Y.current.find(e=>e.id===t);if(n==null)return;if(r&&document.activeElement===e&&qn(e)){let e=Ut.current;e!=null&&(e.pendingThreadId=n.id),c=!0;return}let i=document.activeElement,a=Gn(n);if(i!=null&&i!==document.body&&i!==e&&i!==a&&i!==s){c=!0,Ut.current=null;return}c=!1,l=a;let o=Wn(n);l=null,c=o||c||a!=null&&document.activeElement===a,o&&(Ut.current=null,h.disconnect())},m=()=>{d||u!==null||(u=window.requestAnimationFrame(p))};document.addEventListener(`focusin`,f,!0);let h=new MutationObserver(()=>{p(),c||m()});h.observe(xe,{subtree:!0,childList:!0}),m();let g=window.setTimeout(()=>{d=!0,u!=null&&window.cancelAnimationFrame(u),u=null,h.disconnect(),Ut.current=null;let e=document.activeElement==null||document.activeElement===document.body,t=Y.current.find(e=>e.id===mt.current);!c&&e&&t!=null&&console.warn(`[${R?`agents`:`terminal`}] reveal focus did not land within its ${or}ms bound`)},or);return()=>{d=!0,Ut.current=null,document.removeEventListener(`focusin`,f,!0),h.disconnect(),u!=null&&window.cancelAnimationFrame(u),window.clearTimeout(g)}},Ga);let Ka;if(t[177]!==J||t[178]!==q){let e;t[180]===J?e=t[181]:(e=e=>e.id===J,t[180]=J,t[181]=e),Ka=q.find(e),t[177]=J,t[178]=q,t[179]=Ka}else Ka=t[179];let qa=Ka,Ja=qa?.kind===`thread`?qa.threadId:null,Ya=Ja===null?void 0:Rr.get(Ja),Xa=Ya?.lastActivityAt??null,Za=Ya?.status??null,Qa=R&&G&&We===`cover`,$a;t[182]!==Ja||t[183]!==Qa||t[184]!==D?($a=()=>{!D||Qa||Ja===null||Ot().markThreadViewed(Ja)},t[182]=Ja,t[183]=Qa,t[184]=D,t[185]=$a):$a=t[185];let eo;t[186]!==Xa||t[187]!==Ja||t[188]!==Za||t[189]!==Qa||t[190]!==D?(eo=[Ja,Xa,Za,Qa,D],t[186]=Xa,t[187]=Ja,t[188]=Za,t[189]=Qa,t[190]=D,t[191]=eo):eo=t[191],(0,X.useEffect)($a,eo);let to=q.map(e=>{let t=zi(e);if(e.kind===`terminal`)return{id:e.id,label:t,icon:nr()};let n=Rr.get(e.threadId);return{id:e.id,label:t,icon:(0,Q.jsx)(ar,{info:n,threadId:e.threadId}),tooltip:n===void 0?void 0:(0,Q.jsx)(er,{info:n,threadId:e.threadId,label:t}),tooltipDescription:n===void 0?void 0:e=>P({id:`5UccRr`,values:{lastActivity:Gt(n.lastActivityAt,e)}}),srStatus:n===void 0?void 0:(0,Q.jsx)(tr,{info:n,threadId:e.threadId})}}),no=[...q].sort(ur),ro=q.some(e=>e.id===J&&e.kind===`thread`&&ca.has(e.threadId)),io=mi,ao;t[192]===T?ao=t[193]:(ao=T??{},t[192]=T,t[193]=ao);let oo;t[194]!==Pn||t[195]!==ao?(oo=Pe(Pn,ao),t[194]=Pn,t[195]=ao,t[196]=oo):oo=t[196];let so=(0,Q.jsx)(xn,{selected:ui,onLaunchSelected:io,showAgents:R,registeredAgents:Rn,onPickAgent:Fi,agentPickPending:ro,onOpenSettings:et,liveThreadCount:lr,showClis:B,onPickCli:Mi,onPickTerminal:Ni,visibleClis:oo}),co=R?(0,Q.jsx)(xn,{selected:ui,onLaunchSelected:mi,showAgents:!0,registeredAgents:Rn,onPickAgent:Fi,agentPickPending:ro,onOpenSettings:et,liveThreadCount:lr,showClis:B,onPickCli:Mi,onPickTerminal:Ni,visibleClis:Pe(Pn,T??{}),presentation:`panel`}):null,lo;t[197]!==G||t[198]!==K||t[199]!==R||t[200]!==Qr?(lo=R?(0,Q.jsx)(Yt,{open:G,panelId:K,triggerRef:Ke,onOpenChange:Qr}):null,t[197]=G,t[198]=K,t[199]=R,t[200]=Qr,t[201]=lo):lo=t[201];let uo=lo,fo=q.length>0||d&&!F,po,mo;t[202]!==xe||t[203]!==E||t[204]!==W||t[205]!==z||t[206]!==q.length||t[207]!==fo||t[208]!==i||t[209]!==d?(po=()=>{z&&(Ie.current>=cr||(Ie.current+=1,tt(`ok-terminal-sessions-host-state`,{surface:i,sessions:q.length,hostConnected:W?.isConnected===!0,hasContainer:E!=null,attached:xe!=null,terminalVisible:d,showStrip:fo,tabs:W?.querySelectorAll(`[role="tab"]`).length??0})))},mo=[z,i,q.length,W,E,xe,d,fo],t[202]=xe,t[203]=E,t[204]=W,t[205]=z,t[206]=q.length,t[207]=fo,t[208]=i,t[209]=d,t[210]=po,t[211]=mo):(po=t[210],mo=t[211]),(0,X.useEffect)(po,mo);let ho;t[212]===Symbol.for(`react.memo_cache_sentinel`)?(ho=Vr(),t[212]=ho):ho=t[212];let go=ho,_o=go??(fa===null||zn===null&&!rr?`loading`:zn===null?$n?`agents-unavailable`:`no-agents`:Wr(Ct)),vo=R&&(q.length===0||go!==null)?(0,Q.jsx)(Br,{state:_o,onConfigureAgents:et,onRetry:_o===`agents-unavailable`?Qn:pi,actionButtonRef:At}):q.length===0?B?null:(0,Q.jsx)(zr,{}):no.map(e=>(0,Q.jsx)(Tt,{value:e.id,forceMount:!0,"data-session-id":e.id,...e.kind===`terminal`?{"data-terminal-session":e.id}:{},className:l(`m-0 flex min-h-0 flex-1 flex-col overflow-hidden data-[state=inactive]:hidden`,F&&`px-[22px] pb-[22px]`),children:e.kind===`terminal`?n!=null&&B?(0,Q.jsx)(gn,{bridge:n,launch:e.launch,commandId:e.commandId,adoptPtyId:e.adoptPtyId,onPtyId:t=>ni(e.id,t),onExit:e.launch?.signInThreadId===void 0?void 0:()=>aa(e),onTitleChange:t=>Li(e.id,t),onClose:()=>na(e.id)}):null:(0,Q.jsx)(Lr,{threadId:e.threadId,info:Rr.get(e.threadId),showConnectionBanner:An&&e.id===J,active:d&&!Qa&&e.id===J})},e.id)),yo=G?(0,Q.jsx)(Qt,{threads:bn,openThreadIds:Ur,activeThreadId:Ja,onSelectThread:Gr,mode:We,panelId:K,onDismiss:Xr,newChatControl:co}):null,bo;t[213]!==mt||t[214]!==Ui?(bo=e=>{e!==mt.current&&Ui(),ot.current=null,ut(e)},t[213]=mt,t[214]=Ui,t[215]=bo):bo=t[215];let xo;t[216]===Y?xo=t[217]:(xo=e=>{let t=Y.current.find(t=>t.id===e);t!=null&&queueMicrotask(()=>Wn(t))},t[216]=Y,t[217]=xo);let So;t[218]===Symbol.for(`react.memo_cache_sentinel`)?(So=e=>{Bi.current=e},t[218]=So):So=t[218];let Co;t[219]!==R||t[220]!==vo?(Co=R?(0,Q.jsx)(`div`,{className:`flex min-h-0 min-w-0 flex-1 flex-col overflow-hidden`,children:vo}):vo,t[219]=R,t[220]=vo,t[221]=Co):Co=t[221];let wo=(0,Q.jsx)(jn,{sessions:to,sessionKind:R?`agent`:`terminal`,activeSessionId:J,onSelect:bo,onTabActivate:xo,newButton:so,trailingControls:uo,onClose:na,onRename:Ri,onReorder:Wi,onDragActiveChange:So,edge:pe,onPlacementChange:i===`terminal-dock`?s:void 0,draggable:F,className:`h-full`,children:Co}),To=fo?R?(0,Q.jsx)(Jt,{scope:Sn,children:(0,Q.jsxs)(`div`,{className:`relative flex h-full min-h-0 min-w-0 overflow-hidden`,"data-testid":`agent-panel-layout`,children:[(0,Q.jsx)(`div`,{className:`flex min-h-0 min-w-0 flex-1 flex-col`,"data-testid":`agent-panel-session-surface`,inert:Qa?!0:void 0,children:wo}),G?(0,Q.jsx)(`div`,{className:l(`z-20 h-full max-w-full bg-sidebar`,We===`cover`?`absolute inset-0 w-full shadow-xl [-webkit-app-region:no-drag]`:`w-(--history-panel-width) shrink-0 border-s`),style:{"--history-panel-width":`248px`},"data-testid":`agent-thread-history-surface`,children:yo}):null]})}):wo:null,Eo;t[222]!==xe||t[223]!==To?(Eo=xe==null?null:(0,Wt.createPortal)((0,Q.jsxs)(Q.Fragment,{children:[To,(0,Q.jsx)(`span`,{ref:Vi,"aria-live":`polite`,"aria-atomic":`true`,className:`sr-only`,"data-testid":`terminal-reorder-announcer`})]}),xe),t[222]=xe,t[223]=To,t[224]=Eo):Eo=t[224];let Do;return t[225]===Eo?Do=t[226]:(Do=(0,Q.jsx)(Q.Fragment,{children:Eo}),t[225]=Eo,t[226]=Do),Do}function ur(e,t){return e.ordinal-t.ordinal}function dr(e){return e.kind===`terminal`}function fr(e){return e.ordinal}function pr(e,t){return{kind:`terminal`,commandId:null,id:Ln(t+1),launch:null,title:null,customLabel:e.customLabel,ordinal:e.ordinal,adoptPtyId:null}}function mr(e){return e.ordinal}function hr(e,t){return{kind:`terminal`,commandId:null,id:Ln(t+1),launch:null,title:null,customLabel:e.customLabel??null,ordinal:e.ordinal??t+1,adoptPtyId:e.ptyId}}function gr(e){return e.ptyId}function _r(e){return e.threadId}function vr(e){return e.archived!==!0}function yr(e){return e.threadId}function br(e){return e.threadId}function xr(e){return e.kind===`thread`}function Sr(e){return e.threadId}function Cr(e){return e.kind===`thread`}function wr(e){return e.threadId}function Tr(e){return e!=null}function Er(e){return e.kind===`terminal`}function Dr(){return new Set}function Or(){}function kr(e){return e.id}function Ar(e){return e!=null}function jr(e){return e!=null}function Mr(e){return[e.threadId,e]}function Nr(e){return e.archived!==!0}function Pr(e){return`${e.source}:${e.id}`}function Fr(){return!1}function Ir(){if(typeof document>`u`)return null;let e=document.createElement(`div`);return e.className=`flex min-h-0 flex-1 flex-col overflow-hidden`,e}function Lr(e){let t=(0,Z.c)(10),{threadId:n,info:r,showConnectionBanner:i,active:a}=e;if(r===void 0)return null;let o;t[0]===i?o=t[1]:(o=i?(0,Q.jsx)(Rr,{}):null,t[0]=i,t[1]=o);let s;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,Q.jsx)(`div`,{role:`status`,"aria-busy":`true`,className:`flex min-h-0 flex-1 items-center justify-center text-muted-foreground`,children:(0,Q.jsx)(Je,{className:`size-5`,"aria-hidden":`true`})}),t[2]=s):s=t[2];let c;t[3]!==a||t[4]!==r||t[5]!==n?(c=(0,Q.jsx)(X.Suspense,{fallback:s,children:(0,Q.jsx)(Fn,{info:r,active:a},n)}),t[3]=a,t[4]=r,t[5]=n,t[6]=c):c=t[6];let l;return t[7]!==o||t[8]!==c?(l=(0,Q.jsxs)(Q.Fragment,{children:[o,c]}),t[7]=o,t[8]=c,t[9]=l):l=t[9],l}function Rr(){let e=(0,Z.c)(4),{_:t}=a(),n;e[0]===t?n=e[1]:(n=t({id:`k0dL2I`}),e[0]=t,e[1]=n);let r;return e[2]===n?r=e[3]:(r=(0,Q.jsx)(`div`,{className:`shrink-0 border-warning/30 border-b bg-warning/5 px-3 py-1 text-warning text-xs`,"data-testid":`agent-thread-reconnecting`,children:n}),e[2]=n,e[3]=r),r}function zr(){let e=(0,Z.c)(4),{_:t}=a(),n;e[0]===t?n=e[1]:(n=t({id:`-l6jM7`}),e[0]=t,e[1]=n);let r;return e[2]===n?r=e[3]:(r=(0,Q.jsx)(`div`,{className:`flex min-h-0 flex-1 items-center justify-center px-6 text-center text-muted-foreground text-sm`,"data-testid":`sessions-dock-empty`,children:n}),e[2]=n,e[3]=r),r}function Br(e){let t=(0,Z.c)(62),{state:n,onConfigureAgents:r,onRetry:i,actionButtonRef:o}=e,{_:s}=a(),c;bb0:switch(n){case`idle`:c=null;break bb0;case`loading`:case`starting`:{let e;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,Q.jsx)(`span`,{"aria-hidden":`true`,children:(0,Q.jsx)(Je,{className:`size-4`})}),t[0]=e):e=t[0];let r;t[1]!==s||t[2]!==n?(r=s(n===`loading`?{id:`ucXZ0k`}:{id:`l3zD7w`}),t[1]=s,t[2]=n,t[3]=r):r=t[3];let i;t[4]===r?i=t[5]:(i=(0,Q.jsxs)(`div`,{role:`status`,"aria-busy":`true`,className:`flex items-center gap-2`,"data-testid":`sessions-dock-loading`,children:[e,(0,Q.jsx)(`span`,{children:r})]}),t[4]=r,t[5]=i),c=i;break bb0}case`no-agents`:{let e;t[6]===s?e=t[7]:(e=s({id:`jAQCRf`}),t[6]=s,t[7]=e);let n;t[8]===e?n=t[9]:(n=(0,Q.jsx)(`p`,{children:e}),t[8]=e,t[9]=n);let i;t[10]===s?i=t[11]:(i=s({id:`jRAGrQ`}),t[10]=s,t[11]=i);let a;t[12]!==o||t[13]!==r||t[14]!==i?(a=(0,Q.jsx)(h,{ref:o,type:`button`,size:`sm`,onClick:r,children:i}),t[12]=o,t[13]=r,t[14]=i,t[15]=a):a=t[15];let l;t[16]!==n||t[17]!==a?(l=(0,Q.jsxs)(`div`,{className:`flex flex-col items-center gap-2`,"data-testid":`sessions-dock-no-agents`,children:[n,a]}),t[16]=n,t[17]=a,t[18]=l):l=t[18],c=l;break bb0}case`agents-unavailable`:{let e;t[19]===s?e=t[20]:(e=s({id:`Jrwm42`}),t[19]=s,t[20]=e);let n;t[21]===e?n=t[22]:(n=(0,Q.jsx)(`p`,{children:e}),t[21]=e,t[22]=n);let r;t[23]===s?r=t[24]:(r=s({id:`KDw4GX`}),t[23]=s,t[24]=r);let a;t[25]!==o||t[26]!==i||t[27]!==r?(a=(0,Q.jsx)(h,{ref:o,type:`button`,size:`sm`,onClick:i,children:r}),t[25]=o,t[26]=i,t[27]=r,t[28]=a):a=t[28];let l;t[29]!==n||t[30]!==a?(l=(0,Q.jsxs)(`div`,{className:`flex flex-col items-center gap-2`,"data-testid":`sessions-dock-agents-unavailable`,children:[n,a]}),t[29]=n,t[30]=a,t[31]=l):l=t[31],c=l;break bb0}case`failed`:{let e;t[32]===s?e=t[33]:(e=s({id:`WC8Mr6`}),t[32]=s,t[33]=e);let n;t[34]===e?n=t[35]:(n=(0,Q.jsx)(`p`,{children:e}),t[34]=e,t[35]=n);let r;t[36]===s?r=t[37]:(r=s({id:`KDw4GX`}),t[36]=s,t[37]=r);let a;t[38]!==o||t[39]!==i||t[40]!==r?(a=(0,Q.jsx)(h,{ref:o,type:`button`,size:`sm`,onClick:i,children:r}),t[38]=o,t[39]=i,t[40]=r,t[41]=a):a=t[41];let l;t[42]!==n||t[43]!==a?(l=(0,Q.jsxs)(`div`,{className:`flex flex-col items-center gap-2`,"data-testid":`sessions-dock-launch-failed`,children:[n,a]}),t[42]=n,t[43]=a,t[44]=l):l=t[44],c=l;break bb0}case`deduped`:{let e;t[45]===s?e=t[46]:(e=s({id:`eCOktA`}),t[45]=s,t[46]=e);let n;t[47]===e?n=t[48]:(n=(0,Q.jsx)(`p`,{children:e}),t[47]=e,t[48]=n);let r;t[49]===s?r=t[50]:(r=s({id:`KDw4GX`}),t[49]=s,t[50]=r);let a;t[51]!==o||t[52]!==i||t[53]!==r?(a=(0,Q.jsx)(h,{ref:o,type:`button`,size:`sm`,onClick:i,children:r}),t[51]=o,t[52]=i,t[53]=r,t[54]=a):a=t[54];let l;t[55]!==n||t[56]!==a?(l=(0,Q.jsxs)(`div`,{className:`flex flex-col items-center gap-2`,"data-testid":`sessions-dock-launch-deduped`,children:[n,a]}),t[55]=n,t[56]=a,t[57]=l):l=t[57],c=l;break bb0}default:{let e;t[58]===n?e=t[59]:(e=Ur(n),t[58]=n,t[59]=e),c=e}}let l;return t[60]===c?l=t[61]:(l=(0,Q.jsx)(`div`,{className:`flex min-h-0 flex-1 items-center justify-center px-6 text-center text-muted-foreground text-sm`,"data-testid":`sessions-dock-empty`,children:c}),t[60]=c,t[61]=l),l}function Vr(){return null}function Hr(e){throw Error(`unhandled thread launch outcome: ${String(e)}`)}function Ur(e){throw Error(`unhandled empty agent state: ${String(e)}`)}function Wr(e){switch(e){case`idle`:return`idle`;case`launching`:return`starting`;case`deduped`:return`deduped`;case`failed`:return`failed`;default:return Gr(e)}}function Gr(e){throw Error(`unhandled empty agent launch state: ${String(e)}`)}function Kr(e,t){return e.kind===`thread`?e.threadId:e.adoptPtyId??t.get(e.id)??null}function qr(e,t){let n=e.filter(e=>e.kind===`terminal`),r=n.find(e=>e.id===t);return{tabs:n.map(e=>({ordinal:e.ordinal,customLabel:e.customLabel})),activeOrdinal:r?.ordinal??null}}function Jr(e,t,n,r){let i=e=>{let t=r(e);if(t==null)return 1/0;let i=n.indexOf(t);return i===-1?1/0:i},a=[...e];for(let e of t){let t=i(e);if(t===1/0){a.push(e);continue}let n=a.length;for(let e=0;e<a.length;e++)if(i(a[e])>t){n=e;break}a.splice(n,0,e)}return a}export{lr as SessionsHost};
@@ -1 +0,0 @@
1
- import"./saved-themes-client-DjWW0PP-.js";
@@ -1 +0,0 @@
1
- import{n as e}from"./field-controls-DJ7wQFLg.js";export{e as SectionSkeleton};