@inkeep/open-knowledge 0.48.9 → 0.48.11

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 (121) hide show
  1. package/dist/{acp-harness-probe-DBdQYHRX.mjs → acp-harness-probe-D_rHo13p.mjs} +2 -2
  2. package/dist/cli.mjs +7 -7
  3. package/dist/constants-BA9qYvyG.mjs +2 -0
  4. package/dist/git-handle-CYRWHEh7.mjs +1 -0
  5. package/dist/{git-handle-DyGrpFVy.mjs → git-handle-DFxY8JnX.mjs} +2 -2
  6. package/dist/index.mjs +1 -1
  7. package/dist/{init-pDLhMu3u.mjs → init-BNFsNnJ6.mjs} +3 -3
  8. package/dist/init-CODoOhiA.mjs +1 -0
  9. package/dist/{launch-json-removal-DE_-Ww53.mjs → launch-json-removal-DYKkMpt-.mjs} +2 -2
  10. package/dist/loader-CX3djixw.mjs +1 -0
  11. package/dist/{loader-Tnvmv5P5.mjs → loader-DDQVcyQh.mjs} +2 -2
  12. package/dist/md-manager-DZ8UJzkg.mjs +2 -0
  13. package/dist/{open-browser-DAPyP3Fq.mjs → open-browser-Y-oAEZKD.mjs} +2 -2
  14. package/dist/parse-worker.mjs +1 -1
  15. package/dist/preview-D5r7TRLB.mjs +1 -0
  16. package/dist/{preview-aa7v0U7S.mjs → preview-Mi5rv_ve.mjs} +2 -2
  17. package/dist/public/assets/{ActivityModeContent-BNAxhpQj.js → ActivityModeContent-DM85auEh.js} +1 -1
  18. package/dist/public/assets/{AgentDiffPane-D7Khwouf.js → AgentDiffPane-h6KbuLuM.js} +1 -1
  19. package/dist/public/assets/{AgentThreadClientBinder-daoer6rt.js → AgentThreadClientBinder-da1LL_SY.js} +1 -1
  20. package/dist/public/assets/{ChangedOutsideBadge-CazpgqWA.js → ChangedOutsideBadge-BmpjMsBE.js} +1 -1
  21. package/dist/public/assets/{CodeMirrorPropInput-B98kUaCj.js → CodeMirrorPropInput-dxOdghCh.js} +1 -1
  22. package/dist/public/assets/{DocumentContext-BeNSZPYG.js → DocumentContext-PLpWHjz2.js} +1 -1
  23. package/dist/public/assets/{EditorModeToggle-BbMlOgkn.js → EditorModeToggle-B2lAbc17.js} +1 -1
  24. package/dist/public/assets/{EnableSyncConfirmDialog-CQetlwTb.js → EnableSyncConfirmDialog-B1OWd9EE.js} +1 -1
  25. package/dist/public/assets/FeedbackForm-DsnazcCt.js +1 -0
  26. package/dist/public/assets/{GraphPanel-BlKaOmvl.js → GraphPanel-DrUa36aL.js} +1 -1
  27. package/dist/public/assets/{ImportSkillDialog-BgrlE-MX.js → ImportSkillDialog-DBhf_4tt.js} +1 -1
  28. package/dist/public/assets/{LintConfigEditor-Cno_iGzp.js → LintConfigEditor-C7GgNqOT.js} +1 -1
  29. package/dist/public/assets/ManagedArtifactProperties-CzM8sRZ4.js +1 -0
  30. package/dist/public/assets/{ManagedArtifactProperties-CM6O_XVV.js → ManagedArtifactProperties-Du9v7VLv.js} +1 -1
  31. package/dist/public/assets/{McpConsentDialogBody-NLB2A56E.js → McpConsentDialogBody-Bb5WPldg.js} +1 -1
  32. package/dist/public/assets/{MermaidDocEditor-_Gx5VJXW.js → MermaidDocEditor-B2xQC_96.js} +1 -1
  33. package/dist/public/assets/{ReportBugDialogBody-C9wKJMEr.js → ReportBugDialogBody-DRk-vjXN.js} +1 -1
  34. package/dist/public/assets/{SchemaConfigEditor-KkMUeDV5.js → SchemaConfigEditor-3MujKW7M.js} +1 -1
  35. package/dist/public/assets/{SessionsHost-CH5jffAG.js → SessionsHost-DkXKT8Bg.js} +2 -2
  36. package/dist/public/assets/{SettingsDialogBody--nklwAG-.js → SettingsDialogBody-CJqsa6rI.js} +1 -1
  37. package/dist/public/assets/{ShareBranchSwitchDialog-DWmVoqtB.js → ShareBranchSwitchDialog-Dni3fO-b.js} +1 -1
  38. package/dist/public/assets/{ShareReceiveDialog-Deigdttj.js → ShareReceiveDialog-ARj0KHnK.js} +1 -1
  39. package/dist/public/assets/{ShareReceiveMissDialog-Bw2-qhvJ.js → ShareReceiveMissDialog-Rdeoo1uW.js} +1 -1
  40. package/dist/public/assets/{SkillEditBanner-B31-HMnN.js → SkillEditBanner-BMTobzfv.js} +1 -1
  41. package/dist/public/assets/{SkillOriginInline-OqQA2gy_.js → SkillOriginInline-BYqEAfJO.js} +1 -1
  42. package/dist/public/assets/{SkillToolbarControls-E6fzzRjO.js → SkillToolbarControls-ekEK8_iu.js} +1 -1
  43. package/dist/public/assets/{SourceEditor-DtuqTQRl.js → SourceEditor-CfXLQtgg.js} +1 -1
  44. package/dist/public/assets/{TerminalPanel-BElaeDzL.js → TerminalPanel-BT4fp_IY.js} +1 -1
  45. package/dist/public/assets/{TerminalWindowApp-C-uBdtmk.js → TerminalWindowApp-DWsGECA5.js} +1 -1
  46. package/dist/public/assets/{TextDocEditor-hb2f-OfN.js → TextDocEditor-Lnp5tcTc.js} +1 -1
  47. package/dist/public/assets/ThreadView-BisHrqpk.js +6 -0
  48. package/dist/public/assets/{TimelineDiffPane-BLLl6THu.js → TimelineDiffPane-s3uGKXLB.js} +1 -1
  49. package/dist/public/assets/{agent-diff-store-CLtKPNmI.js → agent-diff-store-tHURoOQg.js} +1 -1
  50. package/dist/public/assets/{agent-visibility-Dz506quD.js → agent-visibility-Cpdu85yR.js} +1 -1
  51. package/dist/public/assets/{auth-state-cache-epurX430.js → auth-state-cache-DUWEUIEQ.js} +1 -1
  52. package/dist/public/assets/{client-version-C9zQ1Cba.js → client-version-DU6zzjSY.js} +1 -1
  53. package/dist/public/assets/{comment-chips-Da14zLsr.js → comment-chips-8dFO3T9v.js} +1 -1
  54. package/dist/public/assets/{config-context-DyUEqnhn.js → config-context-DUQ3IUYG.js} +1 -1
  55. package/dist/public/assets/{config-provider-NjnhDMPo.js → config-provider-B659_kp5.js} +1 -1
  56. package/dist/public/assets/{dist-DOPRKSzO2.js → dist-CxCCVMAj2.js} +152 -152
  57. package/dist/public/assets/{doc-paths-Dr8av3tc.js → doc-paths-D5q41Smp.js} +1 -1
  58. package/dist/public/assets/{documents-events-Cd-1x5Ed.js → documents-events-H5yX50zU.js} +1 -1
  59. package/dist/public/assets/{file-tree-adapter-DbXLXHhN.js → file-tree-adapter-bY2IgJTi.js} +1 -1
  60. package/dist/public/assets/{file-tree-utils-DfeUmuaf.js → file-tree-utils-BA7sWXkr.js} +1 -1
  61. package/dist/public/assets/{folder-config-api-C3YTmDwB.js → folder-config-api-DIkSxeBg.js} +1 -1
  62. package/dist/public/assets/{follow-file-Bi4vCCLt.js → follow-file-BMtvM3LC.js} +1 -1
  63. package/dist/public/assets/{index-DcsAzzQA.js → index--L671yxd.js} +8 -8
  64. package/dist/public/assets/{lint-config-client-CeUWUhyK.js → lint-config-client-Dxc9eTCn.js} +1 -1
  65. package/dist/public/assets/{markdownlint-rule-browser-DfPiRgim.js → markdownlint-rule-browser-BrP845kO.js} +1 -1
  66. package/dist/public/assets/{navigation-targets-DxC4QM5f.js → navigation-targets-BOddXVqk.js} +1 -1
  67. package/dist/public/assets/{open-managed-artifact-tab-DN3NM6Ff.js → open-managed-artifact-tab-Dmf8ibYA.js} +1 -1
  68. package/dist/public/assets/{pending-receive-nav-store-B4JTMHp-.js → pending-receive-nav-store-BT_62FW1.js} +1 -1
  69. package/dist/public/assets/{prop-types-BC9HEC35.js → prop-types-BKHWo79O.js} +1 -1
  70. package/dist/public/assets/{receive-store-BCddK7iB.js → receive-store-CnA3ZNCE.js} +1 -1
  71. package/dist/public/assets/{selection-context-CHSH5Ljn.js → selection-context-BcBbGype.js} +1 -1
  72. package/dist/public/assets/{skill-actions-GGPV2_FQ.js → skill-actions-wa9glOzI.js} +1 -1
  73. package/dist/public/assets/{skill-scope-CEtnfeg4.js → skill-scope-ByPD9jGU.js} +1 -1
  74. package/dist/public/assets/{skills-api-Bt6QqZxu.js → skills-api-CASzL--x.js} +1 -1
  75. package/dist/public/assets/{src-BtmmehSp.js → src-t7Eus2r6.js} +1 -1
  76. package/dist/public/assets/{tag-pill-input-DFIdRT0e.js → tag-pill-input-DegUWgEi.js} +1 -1
  77. package/dist/public/assets/{target-navigation-intent-2M1YK6Wd.js → target-navigation-intent-CiL48bjQ.js} +1 -1
  78. package/dist/public/assets/{terminal-launch-events-C2Gz2G0L.js → terminal-launch-events-aUowmXQB.js} +1 -1
  79. package/dist/public/assets/{terminal-telemetry-CS_Zz_F-.js → terminal-telemetry-B-3b1USB.js} +1 -1
  80. package/dist/public/assets/{typing-burst-detector-DKVkQeXL.js → typing-burst-detector-wI2Qegxz.js} +1 -1
  81. package/dist/public/assets/{uninstall-iZnahGQ3.js → uninstall-CHf6PWrM.js} +1 -1
  82. package/dist/public/assets/{use-activity-panel-B0DFdV4C.js → use-activity-panel-_dm8Md6u.js} +1 -1
  83. package/dist/public/assets/{use-collab-url-CMgoqd7H.js → use-collab-url-CZkvhvOU.js} +1 -1
  84. package/dist/public/assets/{use-live-xterm-theme-KGb9fc_e.js → use-live-xterm-theme-CQWGwN3R.js} +1 -1
  85. package/dist/public/assets/{use-open-skill-DhpKvkHk.js → use-open-skill-By3CcfFH.js} +1 -1
  86. package/dist/public/assets/{use-settings-route-ClTq87t7.js → use-settings-route-CqX06UAI.js} +1 -1
  87. package/dist/public/assets/{use-skill-directory-CLM2VHZh.js → use-skill-directory-B23W-S2y.js} +1 -1
  88. package/dist/public/assets/{use-skill-origin-DxVRIW_T.js → use-skill-origin-D4AI1_PK.js} +1 -1
  89. package/dist/public/assets/{use-skills-CDcSIIym.js → use-skills-CNWx7hdZ.js} +1 -1
  90. package/dist/public/assets/{use-terminal-enabled-DTsNSKJU.js → use-terminal-enabled-CgNhU4kg.js} +1 -1
  91. package/dist/public/assets/{use-timeline-entry-diff-Cj4GIfcv.js → use-timeline-entry-diff-Ddw7I-lf.js} +1 -1
  92. package/dist/public/assets/{use-workspace-BNdbTGXU.js → use-workspace-BgoyRZK_.js} +1 -1
  93. package/dist/public/index.html +43 -43
  94. package/dist/public/uninstall.html +2 -2
  95. package/dist/{repair-launch-json-T0HZhyvo.mjs → repair-launch-json-C3CZcBrw.mjs} +2 -2
  96. package/dist/{repair-mcp-configs-Cg08-kCm.mjs → repair-mcp-configs-CGog_bNF.mjs} +2 -2
  97. package/dist/{repair-skills-y_pZk48z.mjs → repair-skills-BEHylDaY.mjs} +2 -2
  98. package/dist/repair-skills-OJwbra_v.mjs +1 -0
  99. package/dist/server-lock-CjRizrkx.mjs +1 -0
  100. package/dist/{server-lock-DsDrc4RU.mjs → server-lock-D72pz8rW.mjs} +2 -2
  101. package/dist/{skill-teardown-DLiJoeFc.mjs → skill-teardown-BQErQ4B8.mjs} +2 -2
  102. package/dist/{src-DheM9mHj.mjs → src-C6bSdZgY.mjs} +4 -4
  103. package/dist/{src-DGg3BDMz.mjs → src-DNuZTDQn.mjs} +1 -1
  104. package/dist/{src-b0z8MvS5.mjs → src-kFwg01Rz.mjs} +2 -2
  105. package/dist/{src-azBs1EPY.mjs → src-kQDLvgVC.mjs} +35 -35
  106. package/dist/{start-CV7wEZ2G.mjs → start-D0L_PnNa.mjs} +3 -3
  107. package/dist/start-DNLjpvau.mjs +1 -0
  108. package/dist/{write-project-skill-DXCs8P98.mjs → write-project-skill-C8ZViZ1q.mjs} +2 -2
  109. package/package.json +4 -4
  110. package/dist/constants-BeUu14cN.mjs +0 -2
  111. package/dist/git-handle-CtdWfsLv.mjs +0 -1
  112. package/dist/init-Drdm71ex.mjs +0 -1
  113. package/dist/loader-Dl8VR-rH.mjs +0 -1
  114. package/dist/md-manager-C54e9m9K.mjs +0 -2
  115. package/dist/preview-DJGWCirS.mjs +0 -1
  116. package/dist/public/assets/FeedbackForm-2S0S6aJk.js +0 -1
  117. package/dist/public/assets/ManagedArtifactProperties-DUFF_4AB.js +0 -1
  118. package/dist/public/assets/ThreadView-CQqlZmdN.js +0 -6
  119. package/dist/repair-skills-DNC6qLQ6.mjs +0 -1
  120. package/dist/server-lock-BoNixvAi.mjs +0 -1
  121. package/dist/start-Co1R6Dh9.mjs +0 -1
@@ -1,4 +1,4 @@
1
- import{Q as e,Y as t}from"./src-azBs1EPY.mjs";import{Vr as n,Xr as r,a as i,yn as a}from"./src-DheM9mHj.mjs";import{S as o,x as s}from"./write-project-skill-DXCs8P98.mjs";import{a as c,n as l,t as u}from"./acp-harness-probe-DBdQYHRX.mjs";import{n as d}from"./constants-BeUu14cN.mjs";import{spawn as f}from"node:child_process";import{basename as p,join as m,posix as h,resolve as g,win32 as _}from"node:path";import{closeSync as v,existsSync as y,mkdirSync as b,openSync as x,statSync as S}from"node:fs";import{homedir as C}from"node:os";import{rm as w}from"node:fs/promises";import{setTimeout as T}from"node:timers/promises";function E(e){let t={...e};return delete t.ELECTRON_RUN_AS_NODE,t}function D(e,t,r={}){let i=(r.spawn??f)(e,[...t],n({detached:!0,stdio:`ignore`,env:E(r.env??process.env)}));return i.unref(),i}const O=`OpenKnowledge.app`,k=`/Applications/${O}`;function A(){return{platform:process.platform,env:process.env,execPath:process.execPath,isTTY:process.stdout.isTTY,statSync:e=>{try{return S(e,{throwIfNoEntry:!1})??null}catch{return null}}}}function j(e){if(e.env.ELECTRON_RUN_AS_NODE===`1`){let t=/(.+?\.app)\/Contents\/MacOS\//.exec(e.execPath);if(t?.[1])return t[1]}if(M(e,k))return k;let t=m(e.homeDir??C(),`Applications`,O);return M(e,t)?t:null}function M(e,t){return N(e,m(t,`Contents`,`MacOS`,`OpenKnowledge`))}function N(e,t){try{let n=e.statSync(t);return n&&typeof n.isFile==`function`?n.isFile():!1}catch{return!1}}const ee=[`@inkeepopen-knowledge-desktop`,`OpenKnowledge`];function P(e){if(e.env.ELECTRON_RUN_AS_NODE===`1`&&/\\OpenKnowledge\.exe$/i.test(e.execPath))return e.execPath;let t=e.env.LOCALAPPDATA;if(t)for(let n of ee){let r=_.join(t,`Programs`,n,`OpenKnowledge.exe`);if(N(e,r))return r}return null}function F(e){if(e.env.ELECTRON_RUN_AS_NODE===`1`&&e.execPath.endsWith(`/openknowledge`))return e.execPath;let t=`/opt/OpenKnowledge/openknowledge`;return N(e,t)?t:null}function I(e){if(e.env.OK_FORCE_BROWSER===`1`)return{available:!1,reason:`force-browser`};if(e.platform!==`darwin`&&e.platform!==`win32`&&e.platform!==`linux`)return{available:!1,reason:`unsupported-platform`};let t;try{t=e.platform===`darwin`?j(e):e.platform===`win32`?P(e):F(e)}catch{return{available:!1,reason:`stat-error`}}return t?e.env.OK_FORCE_DESKTOP===`1`?{available:!0,reason:`available`,bundlePath:t}:!(e.isTTY===!0||e.platform===`win32`&&e.isTTY===void 0&&!e.env.CI)||e.env.SSH_CONNECTION||e.env.SSH_TTY||e.platform===`linux`&&!e.env.DISPLAY&&!e.env.WAYLAND_DISPLAY?{available:!1,reason:`headless`,bundlePath:t}:{available:!0,reason:`available`,bundlePath:t}:{available:!1,reason:`no-bundle`}}function L(e,t){let n=e.log??(e=>console.error(e)),r=e.platform??process.platform;if(n("Launching OpenKnowledge desktop (use `ok start` for the browser server, or `OK_FORCE_BROWSER=1` to always skip)"),r===`darwin`){D(`open`,[`-b`,`com.inkeep.open-knowledge`],{spawn:e.spawn});return}let i=t?.bundlePath;if(!i){n(`Desktop launch skipped: no resolved desktop executable (caller bug).`);return}D(i,[],{spawn:e.spawn})}function R(e=`no-bundle`){switch(e){case`no-bundle`:return`Desktop app not found (checked the standard install locations for this OS). Install it, or omit --mode for browser mode.`;case`darwin-only`:case`unsupported-platform`:return`Desktop app is not available on this platform. Use --mode=browser, or omit --mode for the server fallback.`;case`headless`:return`Desktop launch is gated in headless contexts (CI, SSH, non-TTY stdout). Set OK_FORCE_DESKTOP=1 to override, or use --mode=browser.`;case`force-browser`:return`OK_FORCE_BROWSER=1 is set — desktop dispatch is disabled. Unset it to use --mode=app.`;case`stat-error`:return`Failed to inspect the desktop install (filesystem error). Check permissions or use --mode=browser.`;case`available`:return`Desktop app appears available but launch dispatch did not fire (caller bug).`}}function z(e){return h.join(h.dirname(e),`..`,`Frameworks`,`OpenKnowledge Server.app`,`Contents`,`MacOS`,`OpenKnowledge Helper`)}const te=/\/[^/]+\.app\/Contents\/MacOS\/[^/]+$/;function ne(e){if(e.platform!==`darwin`||!te.test(e.execPath))return null;let t=z(e.execPath);return e.exists(t)?t:null}function B(e={}){let t=e.execPath??process.execPath,n=e.platform??process.platform,r=e.argv??process.argv,i=e.exists??y,a=r[1];return a?{command:ne({execPath:t,platform:n,exists:i})??t,prefixArgs:[a]}:(console.warn(`[self-spawn] process.argv[1] is empty — falling back to \`npx -y @inkeep/open-knowledge@latest\`. This re-introduces the registry-fetch surface that re-exec was fixing. Observed argv: ${JSON.stringify(r)}`),{command:`npx`,prefixArgs:[`-y`,`@inkeep/open-knowledge@latest`]})}function V(e,t){return e.host??t.HOST??`127.0.0.1`}function H(e,t){return t&&(e===`::`||e===`::1`||e===`[::1]`||e===`localhost`||e===`0.0.0.0`)?{host:`127.0.0.1`,coerced:!0}:{host:e,coerced:!1}}function U(e){let t=p(e).replace(/[^\x20-\x7E]/g,``).trim().slice(0,64);return`open-knowledge-server ${t.length>0?t:`unknown`}`}var W=class extends Error{cwd;constructor(e){super("This directory isn't set up yet. Run `ok init` first, then `ok start` again."),this.name=`OkDirMissingError`,this.cwd=e}};function G(e){return e.uiLock?e.isAlive(e.uiLock.pid)?{action:`skip`,reason:`alive`,pid:e.uiLock.pid,port:e.uiLock.port}:{action:`spawn`,reason:`stale`,stalePid:e.uiLock.pid}:{action:`spawn`,reason:`absent`}}function K(t){y(t.lockDir)||b(t.lockDir,{recursive:!0});let n=x(m(t.lockDir,e),`w`),r=t.spawn??f,{PORT:i,...a}=process.env,o=B();try{let e=r(o.command,[...o.prefixArgs,...t.args??[`ui`]],{detached:!0,stdio:[`ignore`,`ignore`,n],windowsHide:!0,cwd:t.cwd,env:{...a,ELECTRON_RUN_AS_NODE:`1`}});return e.unref(),e}finally{try{v(n)}catch{}}}function q(e,t,n,r=!1){return e??(n!==void 0||r?void 0:t)}function J(e,t){return e!==void 0&&t!==null&&t.port>0&&t.draining!==!0}function Y(e,t,n){return e??+(t!=null&&!n)}async function X(e){let t=e.spawn??f,n=B(),{PORT:r,...i}=process.env,a=t(n.command,[...n.prefixArgs,`ui`,`--port`,String(e.uiPort)],{cwd:e.cwd,stdio:`inherit`,windowsHide:!0,env:{...i,ELECTRON_RUN_AS_NODE:`1`}}),o=!1,s=e=>{o=!0;try{a.kill(e)}catch{}},c=()=>s(`SIGINT`),l=()=>s(`SIGTERM`);process.once(`SIGINT`,c),process.once(`SIGTERM`,l),await new Promise(e=>{a.on(`exit`,(t,n)=>{process.exitCode=Y(t,n,o),e()}),a.on(`error`,t=>{console.error(`[start] connect fallback: failed to spawn ok ui — ${t instanceof Error?t.message:String(t)}`),process.exitCode=1,e()})}),process.removeListener(`SIGINT`,c),process.removeListener(`SIGTERM`,l)}async function Z(e){let t=e.now()+e.timeoutMs;for(;e.now()<t;){let t=e.readUiLock();if(t&&t.port>0)return t.port;await e.sleep(e.pollIntervalMs)}let n=e.readUiLock();return n&&n.port>0?n.port:null}const re=t;function ie(e,t,n=e=>w(e,{recursive:!0,force:!0})){return async()=>{try{await e()}finally{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`)}}}}function ae(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 Q(e){let t=e.sigtermGraceMs??re,n=e.sigtermPollIntervalMs??200,r=e.sleep??(e=>T(e)),i=e.reason??`teardown`;try{let a=e.readUiLock(),o=e.spawnedUiPid();if(a&&e.isAlive(a.pid)&&a.pid!==o)e.log?.info({pid:a.pid,port:a.port,spawnedUiPid:o},`${i}: ui.lock holder is not our spawned sibling — leaving it alone`);else if(a&&e.isAlive(a.pid))try{e.killPid(a.pid,`SIGTERM`),e.log?.info({pid:a.pid,port:a.port},`${i}: SIGTERM UI sibling`);let o=Date.now()+t;for(;Date.now()<o&&e.isAlive(a.pid);)await r(n);if(e.isAlive(a.pid))try{e.killPid(a.pid,`SIGKILL`),e.log?.warn({pid:a.pid,graceMs:t},`${i}: SIGTERM grace expired — escalated to SIGKILL`)}catch(t){e.log?.error({pid:a.pid,err:t},`${i}: SIGKILL failed`)}}catch(t){e.log?.warn({pid:a.pid,err:t},`${i}: failed to SIGTERM UI sibling`)}}catch(t){e.log?.warn({err:t},`${i}: UI lookup failed; proceeding`)}}function oe(e){let{destroy:t,...n}=e;return async()=>{await Q({...n,reason:`idle-shutdown`}),await t()}}async function se(e){let{config:t,cwd:n,host:o}=e,s=e.skipAutoInit??!1,d=e.skipUiAutoSpawn??!1,f=e.idleThresholdMs??18e5,{existsSync:p,mkdirSync:m}=await import(`node:fs`),{basename:h,dirname:g}=await import(`node:path`),{bootServer:_,getLogger:v,isProcessAlive:y,readUiLock:b,resolveContentDir:x,resolveLockDir:S,waitForServerLockDrain:C}=await import(`./src-DGg3BDMz.mjs`),w=e.log??v(`start`),E=e.singleFile!==void 0,D=e.projectDir??n,O=E?i(e.singleFile).canonicalFilePath:void 0,k=O?g(O):void 0,A=O?h(O):void 0;if(!E){if(!s&&!a(n))throw new W(n);let t=process.env.OK_RECLAIM_DISABLE??null,r=e=>{let t=typeof e.event==`string`?e.event:``;(t.endsWith(`-failed`)||t.endsWith(`-error`)||t.endsWith(`-missing`))&&w.warn({event:e},`[start] reclaim sweep reported a problem`)};try{(e.repairMcpConfigsFn??(await import(`./repair-mcp-configs-Cg08-kCm.mjs`)).repairMcpConfigs)({projectDir:n,reclaimDisableEnv:t,logger:r})}catch(e){w.warn({err:e},`[start] mcp-config repair sweep failed; continuing`)}try{(e.repairLaunchJsonFn??(await import(`./repair-launch-json-T0HZhyvo.mjs`)).repairLaunchJson)({projectDir:n,reclaimDisableEnv:t,logger:r})}catch(e){w.warn({err:e},`[start] launch.json repair sweep failed; continuing`)}try{await(e.repairSkillsFn??(await import(`./repair-skills-DNC6qLQ6.mjs`)).repairSkills)({projectDir:n,reclaimDisableEnv:t,logger:r})}catch(e){w.warn({err:e},`[start] skill repair sweep failed; continuing`)}}let j=k??x(t,n);!E&&!p(j)&&(m(j,{recursive:!0}),w.info({contentDir:j},`Created content directory`));let M=null,N=null,ee=async({lockDir:t})=>{if(M=G({uiLock:b(t),isAlive:y}),M.action===`spawn`&&!d)try{let r=e.uiPort===void 0?void 0:[`ui`,`--port`,String(e.uiPort)];N=K({lockDir:t,cwd:n,spawn:e.spawn,args:r}).pid??null,w.info({reason:M.reason,uiPort:e.uiPort},`[start] auto-spawned ok ui sibling`)}catch(e){console.warn(`[start] failed to auto-spawn ok ui: ${e instanceof Error?e.message:String(e)}`)}else M.action===`skip`&&w.info({port:M.port,pid:M.pid},`UI already running at port ${M.port}`)},P=e.reactShellDistDir===void 0,F=c(),I=r();{let e=S(E?D:n),t=Date.now(),r=await C(e);r!==`no-drain`&&w.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`)}let L=await _({config:t,contentDir:j,projectDir:E?D:n,contentRoot:E?void 0:t.content.dir,port:e.port,host:o,...e.enableRemote===!0?{enableRemote:!0}:{},quiet:!1,detectGh:l,tokenStore:F,embeddingsKeyStore:I,...E?{ephemeral:!0,singleDocRelPath:A,gitEnabled:!1,gitPreflight:()=>({ok:!0,version:`0.0.0`,resolvedPath:`git`,source:`PATH`})}:{},localOpCliArgs:[process.execPath,process.argv[1]],probeHarnessManagedMcpEntry:(e,t)=>u(e,t),attachUiSibling:P,idleShutdownMs:f,skipAutoInit:!0,...P?{spawnUiSiblingFn:ee}:{},idleShutdownHandler:t=>{let n=oe({readUiLock:()=>b(L.lockDir),spawnedUiPid:()=>N,isAlive:y,killPid:(e,t)=>{process.kill(e,t)},destroy:t,log:w});return ae(E?ie(n,D):n,{log:w,exit:e.idleExit})},log:w,...e.serveContentAssets===void 0?{}:{serveContentAssets:e.serveContentAssets},...e.reactShellDistDir?{reactShellDistDir:e.reactShellDistDir}:{}});M||={action:`skip`,reason:`alive`,pid:0,port:0};let R=M,z=null;if(R.action===`skip`)z=R.port>0?R.port:null;else if(!d){let t=e.uiBindTimeoutMs??3e3;z=await Z({readUiLock:()=>b(L.lockDir),now:Date.now,sleep:e=>T(e),timeoutMs:t,pollIntervalMs:50}),z===null&&w.warn({timeoutMs:t},`[start] ok ui did not bind within timeout — banner falls back to API URL`)}return{httpServer:L.httpServer,destroy:L.destroy,lockDir:L.lockDir,contentDir:j,port:L.port,ready:L.ready,degraded:L.degraded,uiSpawnDecision:M,spawnedUiPid:N,resolvedUiPort:z}}function ce(e){if(e===`browser`||e===`app`)return e;throw new o(`--mode must be 'browser' or 'app'`)}function le(e){let t=Number.parseInt(e,10);if(Number.isNaN(t)||t<1||t>65535)throw new o(`--ui-port must be a port number between 1 and 65535`);return t}function ue(e){return e.OK_CONSOLE_LEVEL!==void 0||e.LOG_LEVEL!==void 0?null:`warn`}function $(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 de(e,t){let n=ue(process.env);n!==null&&(process.env.OK_CONSOLE_LEVEL=n);let{renderBanner:r}=await import(`./banner-CIK2GwPx.mjs`),{accent:i,dim:a,error:o,warning:s}=await import(`./colors-MGDi6UGf.mjs`),c=process.cwd(),l=t.remote!==void 0&&t.remote!==!1,u=typeof t.remote==`string`?t.remote:void 0,f=u===void 0?e:{...e,remote:{...e.remote,url:u}};process.title=U(c),l&&(typeof f.remote?.url!=`string`||f.remote.url===``)&&(console.error(o("--remote requires a public tunnel URL — pass it (`ok start --remote https://<your-tunnel-host>`) or set remote.url in .ok/config.yml.")),process.exit(78)),l&&console.warn(s([``,`⚠ REMOTE ACCESS ENABLED — no server-side authentication.`,` Anyone who can reach ${f.remote?.url} has FULL control of this`,` knowledge base, including sync, publishing, credentials, and local operations.`,` Restrict who can reach it at the tunnel: ngrok OAuth, Cloudflare Access,`,` Tailscale ACLs, or equivalent edge auth.`,``].join(`
2
- `)));let p=V(t,process.env),m=H(p,l);m.coerced&&console.warn(`remote access is enabled and ${p} is not an IPv4 loopback bind — tunnels proxy to 127.0.0.1, so binding ${p} would leave the tunnel dialing a dead port. Using 127.0.0.1.`);let h=m.host,_=t.port===void 0?void 0:Number(t.port),v=process.env.PORT?Number(process.env.PORT):void 0,b=t.uiPort===void 0?void 0:Number(t.uiPort);l&&_===void 0&&v!==void 0&&console.warn(`remote access is enabled — ignoring env PORT=${process.env.PORT}; the tunnel's port mapping targets the stable remote port (${f.remote?.port}). Pass --port to override deliberately.`);let x=q(_,v,b,l)??(l?f.remote?.port:void 0);if(b!==void 0){let{readServerLock:e,resolveLockDir:t}=await import(`./src-DGg3BDMz.mjs`);if(J(b,e(t(c)))){await X({cwd:c,uiPort:b});return}}let S=t.reactShellDistDir;if(l&&S===void 0){let e=import.meta.dirname??new URL(`.`,import.meta.url).pathname;S=[g(e,`public`),g(e,`../../app/dist`),g(e,`../../../app/dist`)].find(e=>y(e)),S===void 0&&console.warn(`remote access: bundled web UI not found — serving /mcp and /api only over the tunnel.`)}let C;try{C=await se({config:f,cwd:c,host:h,port:x,...b===void 0?{}:{uiPort:b},...t.serveContentAssets===void 0?{}:{serveContentAssets:t.serveContentAssets},...S?{reactShellDistDir:S}:{},...t.singleFile?{singleFile:t.singleFile}:{},...t.projectDir?{projectDir:t.projectDir}:{},...l?{enableRemote:!0}:{}})}catch(e){e instanceof W&&(console.error(o(e.message)),process.exit(1));let t=await import(`./src-DGg3BDMz.mjs`);if((e instanceof t.GitNotAvailableError||e instanceof t.GitTooOldError)&&process.exit(78),e instanceof t.RemoteConfigError&&(console.error(o(e.message)),process.exit(78)),(e instanceof t.SingleFileNotFoundError||e instanceof t.SingleFileNotAFileError||e instanceof t.SingleFileNotMarkdownError)&&(console.error(o(e.message)),process.exit(1)),b!==void 0&&fe(e,t)){await X({cwd:c,uiPort:b});return}let n=pe(e,c,t);n!==null&&(console.error(o(n)),process.exit(1)),console.error(`${o(`Failed to start:`)} ${e instanceof Error?e.stack??e.message:String(e)}`),process.exit(1)}let w=!1,T=async e=>{if(w)return;w=!0;let[t,...n]=$(e);console.log(i(`\n${t}`));for(let e of n)console.log(a(` ${e}`));if(C.spawnedUiPid!==null)try{let{getLogger:e,isProcessAlive:t,readUiLock:n}=await import(`./src-DGg3BDMz.mjs`);await Q({readUiLock:()=>n(C.lockDir),spawnedUiPid:()=>C.spawnedUiPid,isAlive:t,killPid:(e,t)=>process.kill(e,t),log:e(`start`),reason:`shutdown`})}catch(e){console.error(`${o(`ui sibling teardown failed:`)} ${e instanceof Error?e.stack??e.message:String(e)}`)}try{await C.destroy()}catch(e){console.error(`${o(`destroy() failed:`)} ${e instanceof Error?e.stack??e.message:String(e)}`),process.exitCode=1}process.exit(process.exitCode??0)};process.once(`SIGINT`,()=>{T(`SIGINT`)}),process.once(`SIGTERM`,()=>{T(`SIGTERM`)});let E=`http://${h}:${C.port}`,D=h===`0.0.0.0`||h===`::`?`http://0.0.0.0:${C.port}`:void 0,O=C.resolvedUiPort,k=O!==null&&O>0?`http://${h}:${O}`:E;console.log(r({name:`open-knowledge`,version:d,localUrl:k,apiUrl:k===E?void 0:E,networkUrl:D,nextSteps:[`Open the Editor URL in your browser to start editing.`]}));let A={"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`};C.ready.then(async()=>{if(C.degraded.length>0){console.log();for(let e of C.degraded){let t=A[e]??`${e} (check server logs for details)`;console.warn(` ${s(`⚠`)} ${s(e)}: ${a(t)}`)}console.log()}if(t.open){let{openBrowser:e}=await import(`./open-browser-DAPyP3Fq.mjs`);e(k)}}).catch(e=>{console.error(` ${o(`Server initialization failed:`)} ${e instanceof Error?e.message:String(e)}`)})}function fe(e,t){let n=t.ServerLockCollisionError;return n!==void 0&&e instanceof n}function pe(e,t,n){let r=n.ServerLockCollisionError;if(r===void 0||!(e instanceof r))return null;try{let e=m(t,`.ok`),r=n.readServerLock(e);return r?r.kind===`interactive`?`OpenKnowledge desktop is currently running on this project. Quit it or use --cwd to point elsewhere.`:r.kind===`mcp-spawned`?"An MCP-spawned server holds this lock; it should release on idle-shutdown (~30 min). Or run `ok stop`.":"OpenKnowledge server is already running on this project — check `ok status` or `ok stop`.":"OpenKnowledge server is already running on this project — check `ok status` or `ok stop`."}catch{return null}}function me(e){return new s(`start`).description(`Start the knowledge base collab server`).option(`-p, --port <port>`,`Server port`,void 0).option(`--ui-port <port>`,`Pin the ok ui sibling to <port> and connect (not exit) if a server already runs here — the worktree-preview recipe path`,le).option(`-H, --host <host>`,`Server host`,void 0).option(`--open`,`Open browser after start`).option(`--mode <mode>`,`Force dispatch mode: 'browser' or 'app'`,ce).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> (suppresses ok ui sibling)`).option(`--single-file <path>`,`No-project ephemeral single-file mode: scope the server to one markdown file (git + MCP off)`).option(`--project-dir <dir>`,`Throwaway project root for --single-file (where ephemeral .ok/ state lives)`).option(`--remote [url]`,`Serve through a tunnel: admit requests carrying the tunnel Host with NO server-side auth (anyone who can reach the URL has full control — restrict access at the tunnel with edge auth). Bare --remote uses remote.url from .ok/config.yml; --remote <url> supplies it for this run.`).action(async t=>{let n=e();if(t.mode===`app`){t.open&&(process.stderr.write(`error: option '--mode=app' cannot be combined with '--open' (--open opens a browser tab against the local server, which app mode does not boot)
1
+ import{Q as e,Y as t}from"./src-kQDLvgVC.mjs";import{Vr as n,Xr as r,a as i,yn as a}from"./src-C6bSdZgY.mjs";import{S as o,x as s}from"./write-project-skill-C8ZViZ1q.mjs";import{a as c,n as l,t as u}from"./acp-harness-probe-D_rHo13p.mjs";import{n as d}from"./constants-BA9qYvyG.mjs";import{spawn as f}from"node:child_process";import{basename as p,join as m,posix as h,resolve as g,win32 as _}from"node:path";import{closeSync as v,existsSync as y,mkdirSync as b,openSync as x,statSync as S}from"node:fs";import{homedir as C}from"node:os";import{rm as w}from"node:fs/promises";import{setTimeout as T}from"node:timers/promises";function E(e){let t={...e};return delete t.ELECTRON_RUN_AS_NODE,t}function D(e,t,r={}){let i=(r.spawn??f)(e,[...t],n({detached:!0,stdio:`ignore`,env:E(r.env??process.env)}));return i.unref(),i}const O=`OpenKnowledge.app`,k=`/Applications/${O}`;function A(){return{platform:process.platform,env:process.env,execPath:process.execPath,isTTY:process.stdout.isTTY,statSync:e=>{try{return S(e,{throwIfNoEntry:!1})??null}catch{return null}}}}function j(e){if(e.env.ELECTRON_RUN_AS_NODE===`1`){let t=/(.+?\.app)\/Contents\/MacOS\//.exec(e.execPath);if(t?.[1])return t[1]}if(M(e,k))return k;let t=m(e.homeDir??C(),`Applications`,O);return M(e,t)?t:null}function M(e,t){return N(e,m(t,`Contents`,`MacOS`,`OpenKnowledge`))}function N(e,t){try{let n=e.statSync(t);return n&&typeof n.isFile==`function`?n.isFile():!1}catch{return!1}}const ee=[`@inkeepopen-knowledge-desktop`,`OpenKnowledge`];function P(e){if(e.env.ELECTRON_RUN_AS_NODE===`1`&&/\\OpenKnowledge\.exe$/i.test(e.execPath))return e.execPath;let t=e.env.LOCALAPPDATA;if(t)for(let n of ee){let r=_.join(t,`Programs`,n,`OpenKnowledge.exe`);if(N(e,r))return r}return null}function F(e){if(e.env.ELECTRON_RUN_AS_NODE===`1`&&e.execPath.endsWith(`/openknowledge`))return e.execPath;let t=`/opt/OpenKnowledge/openknowledge`;return N(e,t)?t:null}function I(e){if(e.env.OK_FORCE_BROWSER===`1`)return{available:!1,reason:`force-browser`};if(e.platform!==`darwin`&&e.platform!==`win32`&&e.platform!==`linux`)return{available:!1,reason:`unsupported-platform`};let t;try{t=e.platform===`darwin`?j(e):e.platform===`win32`?P(e):F(e)}catch{return{available:!1,reason:`stat-error`}}return t?e.env.OK_FORCE_DESKTOP===`1`?{available:!0,reason:`available`,bundlePath:t}:!(e.isTTY===!0||e.platform===`win32`&&e.isTTY===void 0&&!e.env.CI)||e.env.SSH_CONNECTION||e.env.SSH_TTY||e.platform===`linux`&&!e.env.DISPLAY&&!e.env.WAYLAND_DISPLAY?{available:!1,reason:`headless`,bundlePath:t}:{available:!0,reason:`available`,bundlePath:t}:{available:!1,reason:`no-bundle`}}function L(e,t){let n=e.log??(e=>console.error(e)),r=e.platform??process.platform;if(n("Launching OpenKnowledge desktop (use `ok start` for the browser server, or `OK_FORCE_BROWSER=1` to always skip)"),r===`darwin`){D(`open`,[`-b`,`com.inkeep.open-knowledge`],{spawn:e.spawn});return}let i=t?.bundlePath;if(!i){n(`Desktop launch skipped: no resolved desktop executable (caller bug).`);return}D(i,[],{spawn:e.spawn})}function R(e=`no-bundle`){switch(e){case`no-bundle`:return`Desktop app not found (checked the standard install locations for this OS). Install it, or omit --mode for browser mode.`;case`darwin-only`:case`unsupported-platform`:return`Desktop app is not available on this platform. Use --mode=browser, or omit --mode for the server fallback.`;case`headless`:return`Desktop launch is gated in headless contexts (CI, SSH, non-TTY stdout). Set OK_FORCE_DESKTOP=1 to override, or use --mode=browser.`;case`force-browser`:return`OK_FORCE_BROWSER=1 is set — desktop dispatch is disabled. Unset it to use --mode=app.`;case`stat-error`:return`Failed to inspect the desktop install (filesystem error). Check permissions or use --mode=browser.`;case`available`:return`Desktop app appears available but launch dispatch did not fire (caller bug).`}}function z(e){return h.join(h.dirname(e),`..`,`Frameworks`,`OpenKnowledge Server.app`,`Contents`,`MacOS`,`OpenKnowledge Helper`)}const te=/\/[^/]+\.app\/Contents\/MacOS\/[^/]+$/;function ne(e){if(e.platform!==`darwin`||!te.test(e.execPath))return null;let t=z(e.execPath);return e.exists(t)?t:null}function B(e={}){let t=e.execPath??process.execPath,n=e.platform??process.platform,r=e.argv??process.argv,i=e.exists??y,a=r[1];return a?{command:ne({execPath:t,platform:n,exists:i})??t,prefixArgs:[a]}:(console.warn(`[self-spawn] process.argv[1] is empty — falling back to \`npx -y @inkeep/open-knowledge@latest\`. This re-introduces the registry-fetch surface that re-exec was fixing. Observed argv: ${JSON.stringify(r)}`),{command:`npx`,prefixArgs:[`-y`,`@inkeep/open-knowledge@latest`]})}function V(e,t){return e.host??t.HOST??`127.0.0.1`}function H(e,t){return t&&(e===`::`||e===`::1`||e===`[::1]`||e===`localhost`||e===`0.0.0.0`)?{host:`127.0.0.1`,coerced:!0}:{host:e,coerced:!1}}function U(e){let t=p(e).replace(/[^\x20-\x7E]/g,``).trim().slice(0,64);return`open-knowledge-server ${t.length>0?t:`unknown`}`}var W=class extends Error{cwd;constructor(e){super("This directory isn't set up yet. Run `ok init` first, then `ok start` again."),this.name=`OkDirMissingError`,this.cwd=e}};function G(e){return e.uiLock?e.isAlive(e.uiLock.pid)?{action:`skip`,reason:`alive`,pid:e.uiLock.pid,port:e.uiLock.port}:{action:`spawn`,reason:`stale`,stalePid:e.uiLock.pid}:{action:`spawn`,reason:`absent`}}function K(t){y(t.lockDir)||b(t.lockDir,{recursive:!0});let n=x(m(t.lockDir,e),`w`),r=t.spawn??f,{PORT:i,...a}=process.env,o=B();try{let e=r(o.command,[...o.prefixArgs,...t.args??[`ui`]],{detached:!0,stdio:[`ignore`,`ignore`,n],windowsHide:!0,cwd:t.cwd,env:{...a,ELECTRON_RUN_AS_NODE:`1`}});return e.unref(),e}finally{try{v(n)}catch{}}}function q(e,t,n,r=!1){return e??(n!==void 0||r?void 0:t)}function J(e,t){return e!==void 0&&t!==null&&t.port>0&&t.draining!==!0}function Y(e,t,n){return e??+(t!=null&&!n)}async function X(e){let t=e.spawn??f,n=B(),{PORT:r,...i}=process.env,a=t(n.command,[...n.prefixArgs,`ui`,`--port`,String(e.uiPort)],{cwd:e.cwd,stdio:`inherit`,windowsHide:!0,env:{...i,ELECTRON_RUN_AS_NODE:`1`}}),o=!1,s=e=>{o=!0;try{a.kill(e)}catch{}},c=()=>s(`SIGINT`),l=()=>s(`SIGTERM`);process.once(`SIGINT`,c),process.once(`SIGTERM`,l),await new Promise(e=>{a.on(`exit`,(t,n)=>{process.exitCode=Y(t,n,o),e()}),a.on(`error`,t=>{console.error(`[start] connect fallback: failed to spawn ok ui — ${t instanceof Error?t.message:String(t)}`),process.exitCode=1,e()})}),process.removeListener(`SIGINT`,c),process.removeListener(`SIGTERM`,l)}async function Z(e){let t=e.now()+e.timeoutMs;for(;e.now()<t;){let t=e.readUiLock();if(t&&t.port>0)return t.port;await e.sleep(e.pollIntervalMs)}let n=e.readUiLock();return n&&n.port>0?n.port:null}const re=t;function ie(e,t,n=e=>w(e,{recursive:!0,force:!0})){return async()=>{try{await e()}finally{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`)}}}}function ae(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 Q(e){let t=e.sigtermGraceMs??re,n=e.sigtermPollIntervalMs??200,r=e.sleep??(e=>T(e)),i=e.reason??`teardown`;try{let a=e.readUiLock(),o=e.spawnedUiPid();if(a&&e.isAlive(a.pid)&&a.pid!==o)e.log?.info({pid:a.pid,port:a.port,spawnedUiPid:o},`${i}: ui.lock holder is not our spawned sibling — leaving it alone`);else if(a&&e.isAlive(a.pid))try{e.killPid(a.pid,`SIGTERM`),e.log?.info({pid:a.pid,port:a.port},`${i}: SIGTERM UI sibling`);let o=Date.now()+t;for(;Date.now()<o&&e.isAlive(a.pid);)await r(n);if(e.isAlive(a.pid))try{e.killPid(a.pid,`SIGKILL`),e.log?.warn({pid:a.pid,graceMs:t},`${i}: SIGTERM grace expired — escalated to SIGKILL`)}catch(t){e.log?.error({pid:a.pid,err:t},`${i}: SIGKILL failed`)}}catch(t){e.log?.warn({pid:a.pid,err:t},`${i}: failed to SIGTERM UI sibling`)}}catch(t){e.log?.warn({err:t},`${i}: UI lookup failed; proceeding`)}}function oe(e){let{destroy:t,...n}=e;return async()=>{await Q({...n,reason:`idle-shutdown`}),await t()}}async function se(e){let{config:t,cwd:n,host:o}=e,s=e.skipAutoInit??!1,d=e.skipUiAutoSpawn??!1,f=e.idleThresholdMs??18e5,{existsSync:p,mkdirSync:m}=await import(`node:fs`),{basename:h,dirname:g}=await import(`node:path`),{bootServer:_,getLogger:v,isProcessAlive:y,readUiLock:b,resolveContentDir:x,resolveLockDir:S,waitForServerLockDrain:C}=await import(`./src-DNuZTDQn.mjs`),w=e.log??v(`start`),E=e.singleFile!==void 0,D=e.projectDir??n,O=E?i(e.singleFile).canonicalFilePath:void 0,k=O?g(O):void 0,A=O?h(O):void 0;if(!E){if(!s&&!a(n))throw new W(n);let t=process.env.OK_RECLAIM_DISABLE??null,r=e=>{let t=typeof e.event==`string`?e.event:``;(t.endsWith(`-failed`)||t.endsWith(`-error`)||t.endsWith(`-missing`))&&w.warn({event:e},`[start] reclaim sweep reported a problem`)};try{(e.repairMcpConfigsFn??(await import(`./repair-mcp-configs-CGog_bNF.mjs`)).repairMcpConfigs)({projectDir:n,reclaimDisableEnv:t,logger:r})}catch(e){w.warn({err:e},`[start] mcp-config repair sweep failed; continuing`)}try{(e.repairLaunchJsonFn??(await import(`./repair-launch-json-C3CZcBrw.mjs`)).repairLaunchJson)({projectDir:n,reclaimDisableEnv:t,logger:r})}catch(e){w.warn({err:e},`[start] launch.json repair sweep failed; continuing`)}try{await(e.repairSkillsFn??(await import(`./repair-skills-OJwbra_v.mjs`)).repairSkills)({projectDir:n,reclaimDisableEnv:t,logger:r})}catch(e){w.warn({err:e},`[start] skill repair sweep failed; continuing`)}}let j=k??x(t,n);!E&&!p(j)&&(m(j,{recursive:!0}),w.info({contentDir:j},`Created content directory`));let M=null,N=null,ee=async({lockDir:t})=>{if(M=G({uiLock:b(t),isAlive:y}),M.action===`spawn`&&!d)try{let r=e.uiPort===void 0?void 0:[`ui`,`--port`,String(e.uiPort)];N=K({lockDir:t,cwd:n,spawn:e.spawn,args:r}).pid??null,w.info({reason:M.reason,uiPort:e.uiPort},`[start] auto-spawned ok ui sibling`)}catch(e){console.warn(`[start] failed to auto-spawn ok ui: ${e instanceof Error?e.message:String(e)}`)}else M.action===`skip`&&w.info({port:M.port,pid:M.pid},`UI already running at port ${M.port}`)},P=e.reactShellDistDir===void 0,F=c(),I=r();{let e=S(E?D:n),t=Date.now(),r=await C(e);r!==`no-drain`&&w.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`)}let L=await _({config:t,contentDir:j,projectDir:E?D:n,contentRoot:E?void 0:t.content.dir,port:e.port,host:o,...e.enableRemote===!0?{enableRemote:!0}:{},quiet:!1,detectGh:l,tokenStore:F,embeddingsKeyStore:I,...E?{ephemeral:!0,singleDocRelPath:A,gitEnabled:!1,gitPreflight:()=>({ok:!0,version:`0.0.0`,resolvedPath:`git`,source:`PATH`})}:{},localOpCliArgs:[process.execPath,process.argv[1]],probeHarnessManagedMcpEntry:(e,t)=>u(e,t),attachUiSibling:P,idleShutdownMs:f,skipAutoInit:!0,...P?{spawnUiSiblingFn:ee}:{},idleShutdownHandler:t=>{let n=oe({readUiLock:()=>b(L.lockDir),spawnedUiPid:()=>N,isAlive:y,killPid:(e,t)=>{process.kill(e,t)},destroy:t,log:w});return ae(E?ie(n,D):n,{log:w,exit:e.idleExit})},log:w,...e.serveContentAssets===void 0?{}:{serveContentAssets:e.serveContentAssets},...e.reactShellDistDir?{reactShellDistDir:e.reactShellDistDir}:{}});M||={action:`skip`,reason:`alive`,pid:0,port:0};let R=M,z=null;if(R.action===`skip`)z=R.port>0?R.port:null;else if(!d){let t=e.uiBindTimeoutMs??3e3;z=await Z({readUiLock:()=>b(L.lockDir),now:Date.now,sleep:e=>T(e),timeoutMs:t,pollIntervalMs:50}),z===null&&w.warn({timeoutMs:t},`[start] ok ui did not bind within timeout — banner falls back to API URL`)}return{httpServer:L.httpServer,destroy:L.destroy,lockDir:L.lockDir,contentDir:j,port:L.port,ready:L.ready,degraded:L.degraded,uiSpawnDecision:M,spawnedUiPid:N,resolvedUiPort:z}}function ce(e){if(e===`browser`||e===`app`)return e;throw new o(`--mode must be 'browser' or 'app'`)}function le(e){let t=Number.parseInt(e,10);if(Number.isNaN(t)||t<1||t>65535)throw new o(`--ui-port must be a port number between 1 and 65535`);return t}function ue(e){return e.OK_CONSOLE_LEVEL!==void 0||e.LOG_LEVEL!==void 0?null:`warn`}function $(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 de(e,t){let n=ue(process.env);n!==null&&(process.env.OK_CONSOLE_LEVEL=n);let{renderBanner:r}=await import(`./banner-CIK2GwPx.mjs`),{accent:i,dim:a,error:o,warning:s}=await import(`./colors-MGDi6UGf.mjs`),c=process.cwd(),l=t.remote!==void 0&&t.remote!==!1,u=typeof t.remote==`string`?t.remote:void 0,f=u===void 0?e:{...e,remote:{...e.remote,url:u}};process.title=U(c),l&&(typeof f.remote?.url!=`string`||f.remote.url===``)&&(console.error(o("--remote requires a public tunnel URL — pass it (`ok start --remote https://<your-tunnel-host>`) or set remote.url in .ok/config.yml.")),process.exit(78)),l&&console.warn(s([``,`⚠ REMOTE ACCESS ENABLED — no server-side authentication.`,` Anyone who can reach ${f.remote?.url} has FULL control of this`,` knowledge base, including sync, publishing, credentials, and local operations.`,` Restrict who can reach it at the tunnel: ngrok OAuth, Cloudflare Access,`,` Tailscale ACLs, or equivalent edge auth.`,``].join(`
2
+ `)));let p=V(t,process.env),m=H(p,l);m.coerced&&console.warn(`remote access is enabled and ${p} is not an IPv4 loopback bind — tunnels proxy to 127.0.0.1, so binding ${p} would leave the tunnel dialing a dead port. Using 127.0.0.1.`);let h=m.host,_=t.port===void 0?void 0:Number(t.port),v=process.env.PORT?Number(process.env.PORT):void 0,b=t.uiPort===void 0?void 0:Number(t.uiPort);l&&_===void 0&&v!==void 0&&console.warn(`remote access is enabled — ignoring env PORT=${process.env.PORT}; the tunnel's port mapping targets the stable remote port (${f.remote?.port}). Pass --port to override deliberately.`);let x=q(_,v,b,l)??(l?f.remote?.port:void 0);if(b!==void 0){let{readServerLock:e,resolveLockDir:t}=await import(`./src-DNuZTDQn.mjs`);if(J(b,e(t(c)))){await X({cwd:c,uiPort:b});return}}let S=t.reactShellDistDir;if(l&&S===void 0){let e=import.meta.dirname??new URL(`.`,import.meta.url).pathname;S=[g(e,`public`),g(e,`../../app/dist`),g(e,`../../../app/dist`)].find(e=>y(e)),S===void 0&&console.warn(`remote access: bundled web UI not found — serving /mcp and /api only over the tunnel.`)}let C;try{C=await se({config:f,cwd:c,host:h,port:x,...b===void 0?{}:{uiPort:b},...t.serveContentAssets===void 0?{}:{serveContentAssets:t.serveContentAssets},...S?{reactShellDistDir:S}:{},...t.singleFile?{singleFile:t.singleFile}:{},...t.projectDir?{projectDir:t.projectDir}:{},...l?{enableRemote:!0}:{}})}catch(e){e instanceof W&&(console.error(o(e.message)),process.exit(1));let t=await import(`./src-DNuZTDQn.mjs`);if((e instanceof t.GitNotAvailableError||e instanceof t.GitTooOldError)&&process.exit(78),e instanceof t.RemoteConfigError&&(console.error(o(e.message)),process.exit(78)),(e instanceof t.SingleFileNotFoundError||e instanceof t.SingleFileNotAFileError||e instanceof t.SingleFileNotMarkdownError)&&(console.error(o(e.message)),process.exit(1)),b!==void 0&&fe(e,t)){await X({cwd:c,uiPort:b});return}let n=pe(e,c,t);n!==null&&(console.error(o(n)),process.exit(1)),console.error(`${o(`Failed to start:`)} ${e instanceof Error?e.stack??e.message:String(e)}`),process.exit(1)}let w=!1,T=async e=>{if(w)return;w=!0;let[t,...n]=$(e);console.log(i(`\n${t}`));for(let e of n)console.log(a(` ${e}`));if(C.spawnedUiPid!==null)try{let{getLogger:e,isProcessAlive:t,readUiLock:n}=await import(`./src-DNuZTDQn.mjs`);await Q({readUiLock:()=>n(C.lockDir),spawnedUiPid:()=>C.spawnedUiPid,isAlive:t,killPid:(e,t)=>process.kill(e,t),log:e(`start`),reason:`shutdown`})}catch(e){console.error(`${o(`ui sibling teardown failed:`)} ${e instanceof Error?e.stack??e.message:String(e)}`)}try{await C.destroy()}catch(e){console.error(`${o(`destroy() failed:`)} ${e instanceof Error?e.stack??e.message:String(e)}`),process.exitCode=1}process.exit(process.exitCode??0)};process.once(`SIGINT`,()=>{T(`SIGINT`)}),process.once(`SIGTERM`,()=>{T(`SIGTERM`)});let E=`http://${h}:${C.port}`,D=h===`0.0.0.0`||h===`::`?`http://0.0.0.0:${C.port}`:void 0,O=C.resolvedUiPort,k=O!==null&&O>0?`http://${h}:${O}`:E;console.log(r({name:`open-knowledge`,version:d,localUrl:k,apiUrl:k===E?void 0:E,networkUrl:D,nextSteps:[`Open the Editor URL in your browser to start editing.`]}));let A={"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`};C.ready.then(async()=>{if(C.degraded.length>0){console.log();for(let e of C.degraded){let t=A[e]??`${e} (check server logs for details)`;console.warn(` ${s(`⚠`)} ${s(e)}: ${a(t)}`)}console.log()}if(t.open){let{openBrowser:e}=await import(`./open-browser-Y-oAEZKD.mjs`);e(k)}}).catch(e=>{console.error(` ${o(`Server initialization failed:`)} ${e instanceof Error?e.message:String(e)}`)})}function fe(e,t){let n=t.ServerLockCollisionError;return n!==void 0&&e instanceof n}function pe(e,t,n){let r=n.ServerLockCollisionError;if(r===void 0||!(e instanceof r))return null;try{let e=m(t,`.ok`),r=n.readServerLock(e);return r?r.kind===`interactive`?`OpenKnowledge desktop is currently running on this project. Quit it or use --cwd to point elsewhere.`:r.kind===`mcp-spawned`?"An MCP-spawned server holds this lock; it should release on idle-shutdown (~30 min). Or run `ok stop`.":"OpenKnowledge server is already running on this project — check `ok status` or `ok stop`.":"OpenKnowledge server is already running on this project — check `ok status` or `ok stop`."}catch{return null}}function me(e){return new s(`start`).description(`Start the knowledge base collab server`).option(`-p, --port <port>`,`Server port`,void 0).option(`--ui-port <port>`,`Pin the ok ui sibling to <port> and connect (not exit) if a server already runs here — the worktree-preview recipe path`,le).option(`-H, --host <host>`,`Server host`,void 0).option(`--open`,`Open browser after start`).option(`--mode <mode>`,`Force dispatch mode: 'browser' or 'app'`,ce).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> (suppresses ok ui sibling)`).option(`--single-file <path>`,`No-project ephemeral single-file mode: scope the server to one markdown file (git + MCP off)`).option(`--project-dir <dir>`,`Throwaway project root for --single-file (where ephemeral .ok/ state lives)`).option(`--remote [url]`,`Serve through a tunnel: admit requests carrying the tunnel Host with NO server-side auth (anyone who can reach the URL has full control — restrict access at the tunnel with edge auth). Bare --remote uses remote.url from .ok/config.yml; --remote <url> supplies it for this run.`).action(async t=>{let n=e();if(t.mode===`app`){t.open&&(process.stderr.write(`error: option '--mode=app' cannot be combined with '--open' (--open opens a browser tab against the local server, which app mode does not boot)
3
3
  `),process.exit(2));let e=[];if(t.port!==void 0&&e.push(`--port`),t.uiPort!==void 0&&e.push(`--ui-port`),t.host!==void 0&&e.push(`--host`),e.length>0){let t=process.env.OK_LOG_LEVEL??`info`;(t===`debug`||t===`trace`)&&console.error(`--mode=app: ignoring ${e.join(`, `)}`)}let n=I(A());if(n.available){L({spawn:f},n);return}console.error(R(n.reason)),process.exit(1)}await de(n,t)})}export{B as C,D,L as E,ae as S,I as T,K as _,H as a,pe as b,G as c,fe as d,q as f,J as g,de as h,oe as i,U as l,ue as m,Z as n,Y as o,V as p,se as r,X as s,W as t,$ as u,me as v,A as w,ie as x,Q as y};
4
- //# sourceMappingURL=start-CV7wEZ2G.mjs.map
4
+ //# sourceMappingURL=start-D0L_PnNa.mjs.map
@@ -0,0 +1 @@
1
+ import{p as e,r as t,v as n}from"./start-D0L_PnNa.mjs";export{t as bootStartServer,e as resolveHost,n as startCommand};
@@ -1,4 +1,4 @@
1
- import{i as e,o as t,t as n}from"./chunk-DTipWd-i.mjs";import{Jo as r,Po as i,Uo as a,Wo as o}from"./src-azBs1EPY.mjs";import{kr as s,lr as c}from"./src-DheM9mHj.mjs";import{basename as l,dirname as u,isAbsolute as d,join as f,posix as p,relative as m,resolve as h,sep as g,win32 as _}from"node:path";import{cpSync as ee,existsSync as v,lstatSync as te,mkdirSync as ne,readFileSync as re,realpathSync as y,rmSync as b,statSync as x}from"node:fs";import{homedir as S}from"node:os";var C=n((e=>{var t=class extends Error{constructor(e,t,n){super(n),Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.code=t,this.exitCode=e,this.nestedError=void 0}},n=class extends t{constructor(e){super(1,`commander.invalidArgument`,e),Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}};e.CommanderError=t,e.InvalidArgumentError=n})),w=n((e=>{let{InvalidArgumentError:t}=C();var n=class{constructor(e,t){switch(this.description=t||``,this.variadic=!1,this.parseArg=void 0,this.defaultValue=void 0,this.defaultValueDescription=void 0,this.argChoices=void 0,e[0]){case`<`:this.required=!0,this._name=e.slice(1,-1);break;case`[`:this.required=!1,this._name=e.slice(1,-1);break;default:this.required=!0,this._name=e;break}this._name.endsWith(`...`)&&(this.variadic=!0,this._name=this._name.slice(0,-3))}name(){return this._name}_collectValue(e,t){return t===this.defaultValue||!Array.isArray(t)?[e]:(t.push(e),t)}default(e,t){return this.defaultValue=e,this.defaultValueDescription=t,this}argParser(e){return this.parseArg=e,this}choices(e){return this.argChoices=e.slice(),this.parseArg=(e,n)=>{if(!this.argChoices.includes(e))throw new t(`Allowed choices are ${this.argChoices.join(`, `)}.`);return this.variadic?this._collectValue(e,n):e},this}argRequired(){return this.required=!0,this}argOptional(){return this.required=!1,this}};function r(e){let t=e.name()+(e.variadic===!0?`...`:``);return e.required?`<`+t+`>`:`[`+t+`]`}e.Argument=n,e.humanReadableArgName=r})),T=n((e=>{let{humanReadableArgName:t}=w();var n=class{constructor(){this.helpWidth=void 0,this.minWidthToWrap=40,this.sortSubcommands=!1,this.sortOptions=!1,this.showGlobalOptions=!1}prepareContext(e){this.helpWidth=this.helpWidth??e.helpWidth??80}visibleCommands(e){let t=e.commands.filter(e=>!e._hidden),n=e._getHelpCommand();return n&&!n._hidden&&t.push(n),this.sortSubcommands&&t.sort((e,t)=>e.name().localeCompare(t.name())),t}compareOptions(e,t){let n=e=>e.short?e.short.replace(/^-/,``):e.long.replace(/^--/,``);return n(e).localeCompare(n(t))}visibleOptions(e){let t=e.options.filter(e=>!e.hidden),n=e._getHelpOption();if(n&&!n.hidden){let r=n.short&&e._findOption(n.short),i=n.long&&e._findOption(n.long);!r&&!i?t.push(n):n.long&&!i?t.push(e.createOption(n.long,n.description)):n.short&&!r&&t.push(e.createOption(n.short,n.description))}return this.sortOptions&&t.sort(this.compareOptions),t}visibleGlobalOptions(e){if(!this.showGlobalOptions)return[];let t=[];for(let n=e.parent;n;n=n.parent){let e=n.options.filter(e=>!e.hidden);t.push(...e)}return this.sortOptions&&t.sort(this.compareOptions),t}visibleArguments(e){return e._argsDescription&&e.registeredArguments.forEach(t=>{t.description=t.description||e._argsDescription[t.name()]||``}),e.registeredArguments.find(e=>e.description)?e.registeredArguments:[]}subcommandTerm(e){let n=e.registeredArguments.map(e=>t(e)).join(` `);return e._name+(e._aliases[0]?`|`+e._aliases[0]:``)+(e.options.length?` [options]`:``)+(n?` `+n:``)}optionTerm(e){return e.flags}argumentTerm(e){return e.name()}longestSubcommandTermLength(e,t){return t.visibleCommands(e).reduce((e,n)=>Math.max(e,this.displayWidth(t.styleSubcommandTerm(t.subcommandTerm(n)))),0)}longestOptionTermLength(e,t){return t.visibleOptions(e).reduce((e,n)=>Math.max(e,this.displayWidth(t.styleOptionTerm(t.optionTerm(n)))),0)}longestGlobalOptionTermLength(e,t){return t.visibleGlobalOptions(e).reduce((e,n)=>Math.max(e,this.displayWidth(t.styleOptionTerm(t.optionTerm(n)))),0)}longestArgumentTermLength(e,t){return t.visibleArguments(e).reduce((e,n)=>Math.max(e,this.displayWidth(t.styleArgumentTerm(t.argumentTerm(n)))),0)}commandUsage(e){let t=e._name;e._aliases[0]&&(t=t+`|`+e._aliases[0]);let n=``;for(let t=e.parent;t;t=t.parent)n=t.name()+` `+n;return n+t+` `+e.usage()}commandDescription(e){return e.description()}subcommandDescription(e){return e.summary()||e.description()}optionDescription(e){let t=[];if(e.argChoices&&t.push(`choices: ${e.argChoices.map(e=>JSON.stringify(e)).join(`, `)}`),e.defaultValue!==void 0&&(e.required||e.optional||e.isBoolean()&&typeof e.defaultValue==`boolean`)&&t.push(`default: ${e.defaultValueDescription||JSON.stringify(e.defaultValue)}`),e.presetArg!==void 0&&e.optional&&t.push(`preset: ${JSON.stringify(e.presetArg)}`),e.envVar!==void 0&&t.push(`env: ${e.envVar}`),t.length>0){let n=`(${t.join(`, `)})`;return e.description?`${e.description} ${n}`:n}return e.description}argumentDescription(e){let t=[];if(e.argChoices&&t.push(`choices: ${e.argChoices.map(e=>JSON.stringify(e)).join(`, `)}`),e.defaultValue!==void 0&&t.push(`default: ${e.defaultValueDescription||JSON.stringify(e.defaultValue)}`),t.length>0){let n=`(${t.join(`, `)})`;return e.description?`${e.description} ${n}`:n}return e.description}formatItemList(e,t,n){return t.length===0?[]:[n.styleTitle(e),...t,``]}groupItems(e,t,n){let r=new Map;return e.forEach(e=>{let t=n(e);r.has(t)||r.set(t,[])}),t.forEach(e=>{let t=n(e);r.has(t)||r.set(t,[]),r.get(t).push(e)}),r}formatHelp(e,t){let n=t.padWidth(e,t),r=t.helpWidth??80;function i(e,r){return t.formatItem(e,n,r,t)}let a=[`${t.styleTitle(`Usage:`)} ${t.styleUsage(t.commandUsage(e))}`,``],o=t.commandDescription(e);o.length>0&&(a=a.concat([t.boxWrap(t.styleCommandDescription(o),r),``]));let s=t.visibleArguments(e).map(e=>i(t.styleArgumentTerm(t.argumentTerm(e)),t.styleArgumentDescription(t.argumentDescription(e))));if(a=a.concat(this.formatItemList(`Arguments:`,s,t)),this.groupItems(e.options,t.visibleOptions(e),e=>e.helpGroupHeading??`Options:`).forEach((e,n)=>{let r=e.map(e=>i(t.styleOptionTerm(t.optionTerm(e)),t.styleOptionDescription(t.optionDescription(e))));a=a.concat(this.formatItemList(n,r,t))}),t.showGlobalOptions){let n=t.visibleGlobalOptions(e).map(e=>i(t.styleOptionTerm(t.optionTerm(e)),t.styleOptionDescription(t.optionDescription(e))));a=a.concat(this.formatItemList(`Global Options:`,n,t))}return this.groupItems(e.commands,t.visibleCommands(e),e=>e.helpGroup()||`Commands:`).forEach((e,n)=>{let r=e.map(e=>i(t.styleSubcommandTerm(t.subcommandTerm(e)),t.styleSubcommandDescription(t.subcommandDescription(e))));a=a.concat(this.formatItemList(n,r,t))}),a.join(`
1
+ import{i as e,o as t,t as n}from"./chunk-DTipWd-i.mjs";import{Jo as r,Po as i,Uo as a,Wo as o}from"./src-kQDLvgVC.mjs";import{kr as s,lr as c}from"./src-C6bSdZgY.mjs";import{basename as l,dirname as u,isAbsolute as d,join as f,posix as p,relative as m,resolve as h,sep as g,win32 as _}from"node:path";import{cpSync as ee,existsSync as v,lstatSync as te,mkdirSync as ne,readFileSync as re,realpathSync as y,rmSync as b,statSync as x}from"node:fs";import{homedir as S}from"node:os";var C=n((e=>{var t=class extends Error{constructor(e,t,n){super(n),Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name,this.code=t,this.exitCode=e,this.nestedError=void 0}},n=class extends t{constructor(e){super(1,`commander.invalidArgument`,e),Error.captureStackTrace(this,this.constructor),this.name=this.constructor.name}};e.CommanderError=t,e.InvalidArgumentError=n})),w=n((e=>{let{InvalidArgumentError:t}=C();var n=class{constructor(e,t){switch(this.description=t||``,this.variadic=!1,this.parseArg=void 0,this.defaultValue=void 0,this.defaultValueDescription=void 0,this.argChoices=void 0,e[0]){case`<`:this.required=!0,this._name=e.slice(1,-1);break;case`[`:this.required=!1,this._name=e.slice(1,-1);break;default:this.required=!0,this._name=e;break}this._name.endsWith(`...`)&&(this.variadic=!0,this._name=this._name.slice(0,-3))}name(){return this._name}_collectValue(e,t){return t===this.defaultValue||!Array.isArray(t)?[e]:(t.push(e),t)}default(e,t){return this.defaultValue=e,this.defaultValueDescription=t,this}argParser(e){return this.parseArg=e,this}choices(e){return this.argChoices=e.slice(),this.parseArg=(e,n)=>{if(!this.argChoices.includes(e))throw new t(`Allowed choices are ${this.argChoices.join(`, `)}.`);return this.variadic?this._collectValue(e,n):e},this}argRequired(){return this.required=!0,this}argOptional(){return this.required=!1,this}};function r(e){let t=e.name()+(e.variadic===!0?`...`:``);return e.required?`<`+t+`>`:`[`+t+`]`}e.Argument=n,e.humanReadableArgName=r})),T=n((e=>{let{humanReadableArgName:t}=w();var n=class{constructor(){this.helpWidth=void 0,this.minWidthToWrap=40,this.sortSubcommands=!1,this.sortOptions=!1,this.showGlobalOptions=!1}prepareContext(e){this.helpWidth=this.helpWidth??e.helpWidth??80}visibleCommands(e){let t=e.commands.filter(e=>!e._hidden),n=e._getHelpCommand();return n&&!n._hidden&&t.push(n),this.sortSubcommands&&t.sort((e,t)=>e.name().localeCompare(t.name())),t}compareOptions(e,t){let n=e=>e.short?e.short.replace(/^-/,``):e.long.replace(/^--/,``);return n(e).localeCompare(n(t))}visibleOptions(e){let t=e.options.filter(e=>!e.hidden),n=e._getHelpOption();if(n&&!n.hidden){let r=n.short&&e._findOption(n.short),i=n.long&&e._findOption(n.long);!r&&!i?t.push(n):n.long&&!i?t.push(e.createOption(n.long,n.description)):n.short&&!r&&t.push(e.createOption(n.short,n.description))}return this.sortOptions&&t.sort(this.compareOptions),t}visibleGlobalOptions(e){if(!this.showGlobalOptions)return[];let t=[];for(let n=e.parent;n;n=n.parent){let e=n.options.filter(e=>!e.hidden);t.push(...e)}return this.sortOptions&&t.sort(this.compareOptions),t}visibleArguments(e){return e._argsDescription&&e.registeredArguments.forEach(t=>{t.description=t.description||e._argsDescription[t.name()]||``}),e.registeredArguments.find(e=>e.description)?e.registeredArguments:[]}subcommandTerm(e){let n=e.registeredArguments.map(e=>t(e)).join(` `);return e._name+(e._aliases[0]?`|`+e._aliases[0]:``)+(e.options.length?` [options]`:``)+(n?` `+n:``)}optionTerm(e){return e.flags}argumentTerm(e){return e.name()}longestSubcommandTermLength(e,t){return t.visibleCommands(e).reduce((e,n)=>Math.max(e,this.displayWidth(t.styleSubcommandTerm(t.subcommandTerm(n)))),0)}longestOptionTermLength(e,t){return t.visibleOptions(e).reduce((e,n)=>Math.max(e,this.displayWidth(t.styleOptionTerm(t.optionTerm(n)))),0)}longestGlobalOptionTermLength(e,t){return t.visibleGlobalOptions(e).reduce((e,n)=>Math.max(e,this.displayWidth(t.styleOptionTerm(t.optionTerm(n)))),0)}longestArgumentTermLength(e,t){return t.visibleArguments(e).reduce((e,n)=>Math.max(e,this.displayWidth(t.styleArgumentTerm(t.argumentTerm(n)))),0)}commandUsage(e){let t=e._name;e._aliases[0]&&(t=t+`|`+e._aliases[0]);let n=``;for(let t=e.parent;t;t=t.parent)n=t.name()+` `+n;return n+t+` `+e.usage()}commandDescription(e){return e.description()}subcommandDescription(e){return e.summary()||e.description()}optionDescription(e){let t=[];if(e.argChoices&&t.push(`choices: ${e.argChoices.map(e=>JSON.stringify(e)).join(`, `)}`),e.defaultValue!==void 0&&(e.required||e.optional||e.isBoolean()&&typeof e.defaultValue==`boolean`)&&t.push(`default: ${e.defaultValueDescription||JSON.stringify(e.defaultValue)}`),e.presetArg!==void 0&&e.optional&&t.push(`preset: ${JSON.stringify(e.presetArg)}`),e.envVar!==void 0&&t.push(`env: ${e.envVar}`),t.length>0){let n=`(${t.join(`, `)})`;return e.description?`${e.description} ${n}`:n}return e.description}argumentDescription(e){let t=[];if(e.argChoices&&t.push(`choices: ${e.argChoices.map(e=>JSON.stringify(e)).join(`, `)}`),e.defaultValue!==void 0&&t.push(`default: ${e.defaultValueDescription||JSON.stringify(e.defaultValue)}`),t.length>0){let n=`(${t.join(`, `)})`;return e.description?`${e.description} ${n}`:n}return e.description}formatItemList(e,t,n){return t.length===0?[]:[n.styleTitle(e),...t,``]}groupItems(e,t,n){let r=new Map;return e.forEach(e=>{let t=n(e);r.has(t)||r.set(t,[])}),t.forEach(e=>{let t=n(e);r.has(t)||r.set(t,[]),r.get(t).push(e)}),r}formatHelp(e,t){let n=t.padWidth(e,t),r=t.helpWidth??80;function i(e,r){return t.formatItem(e,n,r,t)}let a=[`${t.styleTitle(`Usage:`)} ${t.styleUsage(t.commandUsage(e))}`,``],o=t.commandDescription(e);o.length>0&&(a=a.concat([t.boxWrap(t.styleCommandDescription(o),r),``]));let s=t.visibleArguments(e).map(e=>i(t.styleArgumentTerm(t.argumentTerm(e)),t.styleArgumentDescription(t.argumentDescription(e))));if(a=a.concat(this.formatItemList(`Arguments:`,s,t)),this.groupItems(e.options,t.visibleOptions(e),e=>e.helpGroupHeading??`Options:`).forEach((e,n)=>{let r=e.map(e=>i(t.styleOptionTerm(t.optionTerm(e)),t.styleOptionDescription(t.optionDescription(e))));a=a.concat(this.formatItemList(n,r,t))}),t.showGlobalOptions){let n=t.visibleGlobalOptions(e).map(e=>i(t.styleOptionTerm(t.optionTerm(e)),t.styleOptionDescription(t.optionDescription(e))));a=a.concat(this.formatItemList(`Global Options:`,n,t))}return this.groupItems(e.commands,t.visibleCommands(e),e=>e.helpGroup()||`Commands:`).forEach((e,n)=>{let r=e.map(e=>i(t.styleSubcommandTerm(t.subcommandTerm(e)),t.styleSubcommandDescription(t.subcommandDescription(e))));a=a.concat(this.formatItemList(n,r,t))}),a.join(`
2
2
  `)}displayWidth(e){return r(e).length}styleTitle(e){return e}styleUsage(e){return e.split(` `).map(e=>e===`[options]`?this.styleOptionText(e):e===`[command]`?this.styleSubcommandText(e):e[0]===`[`||e[0]===`<`?this.styleArgumentText(e):this.styleCommandText(e)).join(` `)}styleCommandDescription(e){return this.styleDescriptionText(e)}styleOptionDescription(e){return this.styleDescriptionText(e)}styleSubcommandDescription(e){return this.styleDescriptionText(e)}styleArgumentDescription(e){return this.styleDescriptionText(e)}styleDescriptionText(e){return e}styleOptionTerm(e){return this.styleOptionText(e)}styleSubcommandTerm(e){return e.split(` `).map(e=>e===`[options]`?this.styleOptionText(e):e[0]===`[`||e[0]===`<`?this.styleArgumentText(e):this.styleSubcommandText(e)).join(` `)}styleArgumentTerm(e){return this.styleArgumentText(e)}styleOptionText(e){return e}styleArgumentText(e){return e}styleSubcommandText(e){return e}styleCommandText(e){return e}padWidth(e,t){return Math.max(t.longestOptionTermLength(e,t),t.longestGlobalOptionTermLength(e,t),t.longestSubcommandTermLength(e,t),t.longestArgumentTermLength(e,t))}preformatted(e){return/\n[^\S\r\n]/.test(e)}formatItem(e,t,n,r){let i=` `.repeat(2);if(!n)return i+e;let a=e.padEnd(t+e.length-r.displayWidth(e)),o=(this.helpWidth??80)-t-2-2,s;return s=o<this.minWidthToWrap||r.preformatted(n)?n:r.boxWrap(n,o).replace(/\n/g,`
3
3
  `+` `.repeat(t+2)),i+a+` `.repeat(2)+s.replace(/\n/g,`\n${i}`)}boxWrap(e,t){if(t<this.minWidthToWrap)return e;let n=e.split(/\r\n|\n/),r=/[\s]*[^\s]+/g,i=[];return n.forEach(e=>{let n=e.match(r);if(n===null){i.push(``);return}let a=[n.shift()],o=this.displayWidth(a[0]);n.forEach(e=>{let n=this.displayWidth(e);if(o+n<=t){a.push(e),o+=n;return}i.push(a.join(``));let r=e.trimStart();a=[r],o=this.displayWidth(r)}),i.push(a.join(``))}),i.join(`
4
4
  `)}};function r(e){return e.replace(/\x1b\[\d*(;\d*)*m/g,``)}e.Help=n,e.stripColor=r})),E=n((e=>{let{InvalidArgumentError:t}=C();var n=class{constructor(e,t){this.flags=e,this.description=t||``,this.required=e.includes(`<`),this.optional=e.includes(`[`),this.variadic=/\w\.\.\.[>\]]$/.test(e),this.mandatory=!1;let n=a(e);this.short=n.shortFlag,this.long=n.longFlag,this.negate=!1,this.long&&(this.negate=this.long.startsWith(`--no-`)),this.defaultValue=void 0,this.defaultValueDescription=void 0,this.presetArg=void 0,this.envVar=void 0,this.parseArg=void 0,this.hidden=!1,this.argChoices=void 0,this.conflictsWith=[],this.implied=void 0,this.helpGroupHeading=void 0}default(e,t){return this.defaultValue=e,this.defaultValueDescription=t,this}preset(e){return this.presetArg=e,this}conflicts(e){return this.conflictsWith=this.conflictsWith.concat(e),this}implies(e){let t=e;return typeof e==`string`&&(t={[e]:!0}),this.implied=Object.assign(this.implied||{},t),this}env(e){return this.envVar=e,this}argParser(e){return this.parseArg=e,this}makeOptionMandatory(e=!0){return this.mandatory=!!e,this}hideHelp(e=!0){return this.hidden=!!e,this}_collectValue(e,t){return t===this.defaultValue||!Array.isArray(t)?[e]:(t.push(e),t)}choices(e){return this.argChoices=e.slice(),this.parseArg=(e,n)=>{if(!this.argChoices.includes(e))throw new t(`Allowed choices are ${this.argChoices.join(`, `)}.`);return this.variadic?this._collectValue(e,n):e},this}name(){return this.long?this.long.replace(/^--/,``):this.short.replace(/^-/,``)}attributeName(){return this.negate?i(this.name().replace(/^no-/,``)):i(this.name())}helpGroup(e){return this.helpGroupHeading=e,this}is(e){return this.short===e||this.long===e}isBoolean(){return!this.required&&!this.optional&&!this.negate}},r=class{constructor(e){this.positiveOptions=new Map,this.negativeOptions=new Map,this.dualOptions=new Set,e.forEach(e=>{e.negate?this.negativeOptions.set(e.attributeName(),e):this.positiveOptions.set(e.attributeName(),e)}),this.negativeOptions.forEach((e,t)=>{this.positiveOptions.has(t)&&this.dualOptions.add(t)})}valueFromOption(e,t){let n=t.attributeName();if(!this.dualOptions.has(n))return!0;let r=this.negativeOptions.get(n).presetArg,i=r===void 0?!1:r;return t.negate===(i===e)}};function i(e){return e.split(`-`).reduce((e,t)=>e+t[0].toUpperCase()+t.slice(1))}function a(e){let t,n,r=/^-[^-]$/,i=/^--[^-]/,a=e.split(/[ |,]+/).concat(`guard`);if(r.test(a[0])&&(t=a.shift()),i.test(a[0])&&(n=a.shift()),!t&&r.test(a[0])&&(t=a.shift()),!t&&i.test(a[0])&&(t=n,n=a.shift()),a[0].startsWith(`-`)){let t=a[0],n=`option creation failed due to '${t}' in option flags '${e}'`;throw/^-[^-][^-]/.test(t)?Error(`${n}
@@ -53,4 +53,4 @@ foreach ($d in $dirs) {
53
53
  }
54
54
  [Console]::Error.WriteLine('OpenKnowledge: install Node.js 24+ (npm i -g @inkeep/open-knowledge), then restart your editor')
55
55
  exit 127`,P=`// ok-pi-bridge`,F=`${P}-v1`,I=`ok-pi-managed-extension`;function L(e){if(typeof e!=`object`||!e)return!1;let t=e;if(t.command===`/bin/sh`){if(!Array.isArray(t.args)||t.args[0]!==`-l`||t.args[1]!==`-c`)return!1;let e=t.args[2];return typeof e==`string`&&e.includes(`# ok-mcp-v2`)}if(t.command===`powershell`){if(!Array.isArray(t.args)||t.args[0]!==`-NoProfile`||t.args[1]!==`-NonInteractive`||t.args[2]!==`-Command`)return!1;let e=t.args[3];return typeof e==`string`&&e.includes(`# ok-mcp-win-v1`)}if(t.type===`local`&&Array.isArray(t.command)){if(t.command[0]===`/bin/sh`){if(t.command[1]!==`-l`||t.command[2]!==`-c`)return!1;let e=t.command[3];return typeof e==`string`&&e.includes(`# ok-mcp-v2`)}if(t.command[0]===`powershell`){if(t.command[1]!==`-NoProfile`||t.command[2]!==`-NonInteractive`||t.command[3]!==`-Command`)return!1;let e=t.command[4];return typeof e==`string`&&e.includes(`# ok-mcp-win-v1`)}return!1}if(t.command===`ok-pi-managed-extension`){if(!Array.isArray(t.args))return!1;let e=t.args[0];return typeof e==`string`&&e.startsWith(F)}return!1}function R(e=process.argv[1]){if(!e)throw Error(`Cannot infer the local CLI entry for --dev-mcp because process.argv[1] is empty.`);let t=h(e);if(l(t)===`cli.mjs`&&l(u(t))===`dist`)return t;let n=t.split(g),r=n.lastIndexOf(`packages`);if(r===-1||n[r+1]!==`cli`)throw Error(`Cannot infer the repo root for --dev-mcp from ${t}. Run the local CLI from this repo so the built dist path can be derived.`);let i=n.slice(0,r);return f(i.length===0?g:i.join(g),`packages`,`cli`,`dist`,`cli.mjs`)}function z(e={}){return e.mode===`dev`?{command:A,args:[R(),`mcp`],env:{...j}}:(e.platformName??process.platform)===`win32`?{command:`powershell`,args:[`-NoProfile`,`-NonInteractive`,`-Command`,N]}:{command:`/bin/sh`,args:[`-l`,`-c`,M]}}function _e(e={}){return e.mode===`dev`?{type:`local`,enabled:!0,command:[A,R(),`mcp`],environment:{...j}}:(e.platformName??process.platform)===`win32`?{type:`local`,enabled:!0,command:[`powershell`,`-NoProfile`,`-NonInteractive`,`-Command`,N]}:{type:`local`,enabled:!0,command:[`/bin/sh`,`-l`,`-c`,M]}}function ve(e){if(typeof e!=`object`||!e)return!1;let t=e;return B(t,z({mode:`published`,platformName:`darwin`}))||B(t,z({mode:`published`,platformName:`win32`}))}function B(e,t){return Object.keys(e).length===Object.keys(t).length?ye(e,t):!1}function ye(e,t){if(e.command!==t.command)return!1;let n=t.args;return!Array.isArray(n)||!Array.isArray(e.args)||e.args.length!==n.length?!1:e.args.every((e,t)=>e===n[t])}function V(e,t){let n=e=>typeof e==`string`&&e.includes(`# ok-mcp`);return t===`/bin/sh`?e[0]===`-l`&&e[1]===`-c`&&n(e[2]):t===`powershell`?e[0]===`-NoProfile`&&e[1]===`-NonInteractive`&&e[2]===`-Command`&&n(e[3]):!1}function be(e){if(typeof e!=`object`||!e)return!1;let t=e;return t.enabled===!1||typeof t.command!=`string`||!Array.isArray(t.args)?!1:V(t.args,t.command)}function xe(e){if(typeof e!=`object`||!e)return!1;let t=e;if(t.type!==`local`||t.enabled===!1||!Array.isArray(t.command))return!1;let[n,...r]=t.command;return typeof n==`string`&&V(r,n)}function H(e){return e===`win32`?_:p}function Se(e={}){let t=e.platformName??process.platform,n=e.home??S(),r=e.env??process.env,i=H(t);return t===`darwin`?i.join(n,`Library`,`Application Support`):t===`win32`?r.APPDATA??i.join(n,`AppData`,`Roaming`):r.XDG_CONFIG_HOME??i.join(n,`.config`)}function Ce(e={}){let t=e.platformName??process.platform,n=e.home??S();return H(t).join(n,`.claude.json`)}function U(e={}){let t=e.platformName??process.platform,n=e.home??S(),r=e.env??process.env;if(t===`darwin`)return p.join(n,`Library`,`Application Support`,`Claude`,`claude_desktop_config.json`);if(t===`win32`){let e=r.APPDATA??_.join(n,`AppData`,`Roaming`);return _.join(e,`Claude`,`claude_desktop_config.json`)}throw Error(`Claude Desktop is not available on ${t}. Supported: macOS, Windows.`)}function W(e={}){let t=e.platformName??process.platform,n=e.home??S();return H(t).join(n,`.cursor`,`mcp.json`)}function we(e={}){let t=e.platformName??process.platform,n=e.home??S();return(e.env??process.env).CODEX_HOME??H(t).join(n,`.codex`)}function G(e={}){return H(e.platformName??process.platform).join(we(e),`config.toml`)}function K(e={}){let t=e.platformName??process.platform,n=e.home??S(),r=(e.env??process.env).COPILOT_HOME??H(t).join(n,`.copilot`);return H(t).join(r,`mcp-config.json`)}function Te(e={}){let t=e.platformName??process.platform,n=e.home??S(),r=e.env??process.env,i=H(t);if(t===`win32`){let e=r.APPDATA??i.join(n,`AppData`,`Roaming`);return i.join(e,`opencode`)}let a=r.XDG_CONFIG_HOME??i.join(n,`.config`);return i.join(a,`opencode`)}function q(e={}){return H(e.platformName??process.platform).join(Te(e),`opencode.json`)}function Ee(e={}){let t=e.platformName??process.platform,n=e.home??S();return H(t).join(n,`.openclaw`,`openclaw.json`)}function De(e={}){let t=e.platformName??process.platform,n=e.home??S();return H(t).join(n,`.hermes`,`config.yaml`)}function Oe(e={}){let t=e.platformName??process.platform,n=e.home??S();return(e.env??process.env).PI_CODING_AGENT_DIR??H(t).join(n,`.pi`,`agent`)}function ke(e={}){let t=e.platformName??process.platform,n=e.home??S();return H(t).join(n,`.gemini`,`config`,`mcp_config.json`)}function Ae(e,t){let n=H(t),r=n.join(e,`.lmstudio`,`mcp.json`),i=n.join(e,`.cache`,`lm-studio`,`mcp.json`);return t===`darwin`?[i,r]:[r,i]}function J(e={}){let t=e.platformName??process.platform,n=Ae(e.home??S(),t);return n.find(e=>v(e))||n.find(e=>v(u(e)))||n[0]}function je(e){let t=e.serverName(``);return e.format===`toml`?`[${e.topLevelKey}.${t}]`:[e.topLevelKey,e.serverMapSubKey,t].filter(Boolean).join(`.`)}function Me(e,t){let n;try{n=e.configPath(``,t)}catch{return null}return n.startsWith(`${t}/`)?`~${n.slice(t.length)}`:n}const Y={claude:{id:`claude`,label:k.claude,configPath:(e,t)=>Ce({home:t}),format:`json`,topLevelKey:`mcpServers`,serverName:()=>i,buildEntry:(e,t)=>z(t),scope:`global`,detectPath:(e,t)=>f(t??S(),`.claude`),projectConfigPath:e=>f(e,`.mcp.json`),projectSkillPath:e=>f(e,`.claude`,`skills`,`open-knowledge`,`SKILL.md`)},"claude-desktop":{id:`claude-desktop`,label:k[`claude-desktop`],configPath:(e,t)=>U({home:t}),format:`json`,topLevelKey:`mcpServers`,serverName:()=>i,buildEntry:(e,t)=>z(t),scope:`global`,detectPath:(e,t)=>u(U({home:t}))},cursor:{id:`cursor`,label:k.cursor,configPath:(e,t)=>W({home:t}),format:`json`,topLevelKey:`mcpServers`,serverName:()=>i,buildEntry:(e,t)=>z(t),scope:`global`,detectPath:(e,t)=>u(W({home:t})),projectConfigPath:e=>f(e,`.cursor`,`mcp.json`),projectSkillPath:e=>f(e,`.cursor`,`skills`,`open-knowledge`,`SKILL.md`)},codex:{id:`codex`,label:k.codex,configPath:(e,t)=>G({home:t}),format:`toml`,topLevelKey:`mcp_servers`,serverName:()=>i,buildEntry:(e,t)=>z(t),scope:`global`,detectPath:(e,t)=>u(G({home:t})),projectConfigPath:e=>f(e,`.codex`,`config.toml`),projectSkillPath:e=>f(e,`.codex`,`skills`,`open-knowledge`,`SKILL.md`)},copilot:{id:`copilot`,label:k.copilot,configPath:(e,t)=>K({home:t}),format:`json`,topLevelKey:`mcpServers`,serverName:()=>i,buildEntry:(e,t)=>z(t),scope:`global`,detectPath:(e,t)=>u(K({home:t})),projectSkillPath:e=>f(e,`.github`,`skills`,`open-knowledge`,`SKILL.md`)},opencode:{id:`opencode`,label:k.opencode,configPath:(e,t)=>q({home:t}),format:`json`,topLevelKey:`mcp`,serverName:()=>i,buildEntry:(e,t)=>_e(t),scope:`global`,detectPath:(e,t)=>u(q({home:t})),projectConfigPath:e=>f(e,`opencode.json`),projectSkillPath:e=>f(e,`.opencode`,`skills`,`open-knowledge`,`SKILL.md`)},openclaw:{id:`openclaw`,label:k.openclaw,configPath:(e,t)=>Ee({home:t}),format:`json`,topLevelKey:`mcp`,serverMapSubKey:`servers`,serverName:()=>i,buildEntry:(e,t)=>z(t),scope:`global`,detectPath:(e,t)=>f(t??S(),`.openclaw`),offerOnlyWhenDetected:!0},pi:{id:`pi`,label:k.pi,configPath:()=>{throw Error("Pi has no user-global MCP config; OK's integration is the project-scoped bridge extension at .pi/extensions/open-knowledge.ts (run `ok init` in the project).")},format:`file`,topLevelKey:`mcpServers`,serverName:()=>i,buildEntry:()=>{throw Error(`Pi has no MCP entry shape; the managed bridge file is built by buildPiExtensionSource (integrations/pi-extension.ts).`)},scope:`project`,detectPath:(e,t)=>Oe({home:t}),projectConfigPath:e=>f(e,`.pi`,`extensions`,`open-knowledge.ts`),projectSkillPath:e=>f(e,`.pi`,`skills`,`open-knowledge`,`SKILL.md`)},antigravity:{id:`antigravity`,label:k.antigravity,configPath:(e,t)=>ke({home:t}),format:`json`,topLevelKey:`mcpServers`,serverName:()=>i,buildEntry:(e,t)=>z(t),scope:`global`,detectPath:(e,t)=>f(t??S(),`.gemini`),offerOnlyWhenDetected:!0},"lm-studio":{id:`lm-studio`,label:k[`lm-studio`],configPath:(e,t)=>J({home:t}),format:`json`,topLevelKey:`mcpServers`,serverName:()=>i,buildEntry:(e,t)=>z(t),scope:`global`,detectPath:(e,t)=>u(J({home:t})),offerOnlyWhenDetected:!0},hermes:{id:`hermes`,label:k.hermes,configPath:(e,t)=>De({home:t}),format:`yaml`,topLevelKey:`mcp_servers`,serverName:()=>i,buildEntry:(e,t)=>z(t),scope:`global`,detectPath:(e,t)=>f(t??S(),`.hermes`),offerOnlyWhenDetected:!0}};function Ne(e){let t=e.filter(e=>!Object.hasOwn(Y,e));if(t.length>0)throw Error(`Unknown editor(s): ${t.join(`, `)}. Valid options: ${O.join(`, `)}`);return e.map(e=>Y[e])}function X(e,t){let n;try{n=te(e)}catch(e){if(e.code!==`ENOENT`)throw e}if(n?.isSymbolicLink())throw Error(`Refusing to write through a symbolic link at ${e}. Remove the symlink and re-run project setup.`);Q(e,t)}function Z(e,t){Q(e,t)}function Q(e,t){let n;try{n=y(t)}catch{n=h(t)}let r=u(e);for(;r.length>1&&r!==g;){let t;try{t=y(r)}catch(e){if(e.code===`ENOENT`){r=u(r);continue}throw e}let i=m(n,t);if(i===``||!i.startsWith(`..`)&&!d(i))return;throw Error(`Refusing to write at ${e}: ancestor ${r} resolves to ${t}, which is outside the project directory ${n}. A symbolic link in the path likely escapes the project. Remove the symlink and re-run project setup.`)}}function $(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Pe(e,t,n){try{if(x(n).size>10485760)return!1}catch{return!1}let r;try{r=re(n,`utf-8`)}catch{return!1}let i=[],a=s(r.charCodeAt(0)===65279?r.slice(1):r,i,{allowTrailingComma:!0,disallowComments:!1});if(i.length>0||!$(a))return!1;let o=a[e.topLevelKey];if(!$(o))return!1;let c=e.serverMapSubKey?o[e.serverMapSubKey]:o;return $(c)?$(c[e.serverName(t)]):!1}function Fe(e,t,n={}){if(e.id!==`copilot`)return!0;try{return Pe(e,t,e.configPath(t,n.home))}catch{return!1}}function Ie(e,t,n={}){let r=e.projectSkillPath?.(t);if(!r)return{editorId:e.id,label:e.label,action:`skipped-unsupported`,path:``};if(!Fe(e,t,n))return{editorId:e.id,label:e.label,action:`skipped-prerequisite`,path:r};try{let n=c(`project`,{checkDesktop:!0}),i=u(r);X(i,t);let a=v(r)?`overwritten`:`written`;return b(i,{recursive:!0,force:!0}),ne(u(i),{recursive:!0}),ee(n,i,{recursive:!0}),{editorId:e.id,label:e.label,action:a,path:r}}catch(t){return{editorId:e.id,label:e.label,action:`failed`,path:r,error:t instanceof Error?t.message:String(t)}}}function Le(e,t){let n=e.projectSkillPath?.(t);if(!n)return{editorId:e.id,label:e.label,action:`skipped-unsupported`,path:``};try{let r=u(n);return v(n)?(Z(r,t),b(r,{recursive:!0,force:!0}),{editorId:e.id,label:e.label,action:`removed`,path:n}):{editorId:e.id,label:e.label,action:`not-present`,path:n}}catch(t){return{editorId:e.id,label:e.label,action:`failed`,path:n,error:t instanceof Error?t.message:String(t)}}}export{me as C,D as S,ve as _,O as a,Ne as b,ge as c,I as d,z as f,L as g,be as h,Ie as i,P as l,je as m,Z as n,k as o,Me as p,Le as r,Y as s,X as t,F as u,xe as v,fe as x,Se as y};
56
- //# sourceMappingURL=write-project-skill-DXCs8P98.mjs.map
56
+ //# sourceMappingURL=write-project-skill-C8ZViZ1q.mjs.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inkeep/open-knowledge",
3
- "version": "0.48.9",
3
+ "version": "0.48.11",
4
4
  "license": "GPL-3.0-or-later",
5
5
  "private": false,
6
6
  "type": "module",
@@ -61,10 +61,10 @@
61
61
  "ajv-formats": "^3.0.1",
62
62
  "tsdown": "^0.21.7",
63
63
  "typescript": "^5.9.3",
64
- "@inkeep/open-knowledge-core": "0.48.9",
64
+ "@inkeep/open-knowledge-core": "0.48.11",
65
+ "@inkeep/open-knowledge-app": "0.48.11",
65
66
  "@inkeep/open-knowledge-native-config": "0.0.0",
66
- "@inkeep/open-knowledge-server": "0.48.9",
67
- "@inkeep/open-knowledge-app": "0.48.9"
67
+ "@inkeep/open-knowledge-server": "0.48.11"
68
68
  },
69
69
  "scripts": {
70
70
  "build:cli": "tsdown",
@@ -1,2 +0,0 @@
1
- import"./src-azBs1EPY.mjs";var e=`0.48.9`;const t=`config.yml`,n=e;export{n,t};
2
- //# sourceMappingURL=constants-BeUu14cN.mjs.map
@@ -1 +0,0 @@
1
- import{r as e}from"./git-handle-DyGrpFVy.mjs";export{e as createGitInstance};
@@ -1 +0,0 @@
1
- import{g as e}from"./init-pDLhMu3u.mjs";export{e as runInit};
@@ -1 +0,0 @@
1
- import{n as e}from"./loader-Tnvmv5P5.mjs";export{e as loadConfig};
@@ -1,2 +0,0 @@
1
- import{Pa as e,bo as t,ho as n}from"./src-azBs1EPY.mjs";const r=new e({extensions:n,deriveStructuralFreshness:!0}),i=t(n);export{i as n,r as t};
2
- //# sourceMappingURL=md-manager-C54e9m9K.mjs.map
@@ -1 +0,0 @@
1
- import{n as e,t}from"./preview-aa7v0U7S.mjs";export{t as formatPreviewBlock,e as previewContent};
@@ -1 +0,0 @@
1
- import{t as e}from"./index-DcsAzzQA.js";export{e as FeedbackForm};
@@ -1 +0,0 @@
1
- import{t as e}from"./ManagedArtifactProperties-CM6O_XVV.js";export{e as ManagedArtifactProperties};
@@ -1,6 +0,0 @@
1
- import{o as e}from"./chunk-CYidjpOJ.js";import{t}from"./jsx-runtime-BUgB2tll.js";import{Qn as n,U as r,er as i,i as a,nt as o}from"./DocumentContext-BeNSZPYG.js";import{t as s}from"./react-f2sANaYj.js";import{n as c,r as l}from"./dist-Nvb76hAm.js";import{t as u}from"./compiler-runtime-BfE3aGVn.js";import{l as d}from"./local-menu-action-bus-iy6v2osW.js";import{t as f}from"./utils-CPqDy6Hr.js";import{n as p,t as m}from"./use-workspace-BNdbTGXU.js";import{t as h}from"./button-RQ5o7P7w.js";import{i as g,n as _,t as v}from"./tooltip-x7BNUa3s.js";import{it as y}from"./CodeMirrorPropInput-B98kUaCj.js";import{t as b}from"./checkbox-DqQC4GOw.js";import{a as x,c as S,d as C,f as w,l as T,m as E,n as D,o as O,p as k,r as A,t as j}from"./dropdown-menu-DRytYgB4.js";import{t as M}from"./switch-0kSGDL9E.js";import{vr as N}from"./dist-DOPRKSzO2.js";import{t as P}from"./createLucideIcon-BbgVV4EV.js";import{l as F,o as ee}from"./Mermaid-DT9lZOmy.js";import{t as te}from"./RegisteredAgentIcon-CSZXCqwG.js";import{t as I}from"./check-DLRoQSSY.js";import{t as L}from"./chevron-down-CRb8csep.js";import{t as R}from"./chevron-right-BjiB8LDf.js";import{r as z}from"./prop-types-BC9HEC35.js";import{t as B}from"./download-QOlmqXQ8.js";import{t as ne}from"./loader-circle-B0OUuKph.js";import{c as V,i as H,l as re,n as ie,t as ae,u as oe}from"./comment-chips-Da14zLsr.js";import{t as U}from"./square-pen-CEIus1aL.js";import{t as W}from"./trash-2-Ccq_llrY.js";import{t as se}from"./wrench-D8b4qpCM.js";import{t as G}from"./x-B3zGPHCO.js";import{n as ce}from"./dist-DmEZHXvB.js";import{t as K}from"./dist-CpRBr-Ct.js";import{f as le,s as ue}from"./doc-paths-Dr8av3tc.js";import{t as q}from"./badge-CnYDYmI5.js";import{a as J,c as de,i as fe,l as pe,n as me,o as he,r as ge,s as _e,t as ve}from"./follow-file-Bi4vCCLt.js";import{t as ye}from"./textarea-CUVLEZhx.js";import{t as be}from"./skeleton-DS8zjX9Q.js";import{n as xe}from"./agent-presence-C8KjkxgZ.js";import{r as Se}from"./chunk-BO2N2NFS-CC8ch_fx.js";import{n as Ce}from"./libesm-Dcsy_--i.js";import{a as we,d as Te,f as Ee,n as De,p as Oe,r as ke,s as Ae,u as je}from"./thread-client-BVh92ozO.js";import{n as Me}from"./thread-draft-staging-BXLyxk1u.js";var Ne=P(`mouse-pointer-2`,[[`path`,{d:`M4.037 4.688a.495.495 0 0 1 .651-.651l16 6.5a.5.5 0 0 1-.063.947l-6.124 1.58a2 2 0 0 0-1.438 1.435l-1.579 6.126a.5.5 0 0 1-.947.063z`,key:`edeuup`}]]),Pe=P(`square`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}]]),Fe=P(`terminal`,[[`path`,{d:`M12 19h8`,key:`baeox8`}],[`path`,{d:`m4 17 6-6-6-6`,key:`1yngyt`}]]),Y=u(),X=e(s(),1),Z=t();function Ie({defaultTagName:e,props:t,render:n,state:r={},stateAttributesMapping:i}){let a=Le(Re(r,i),t);if(!n)return X.createElement(e,a);if(typeof n==`function`)return n(a,r);if(!X.isValidElement(n))return null;let o=n.props,s={...Le(a,o),ref:Ve(a.ref,o.ref)};return X.cloneElement(n,s)}function Le(...e){let t={};for(let n of e){if(!n)continue;let e=n;for(let n of Object.keys(e)){let r=e[n];if(r===void 0)continue;let i=t[n];n===`className`?t[n]=[i,r].filter(Boolean).join(` `):n===`style`?t[n]={...i,...r}:n===`ref`?t[n]=Ve(i,r):Be(n)&&typeof i==`function`&&typeof r==`function`?t[n]=ze(r,i):t[n]=r}}return t}function Re(e,t){let n={};for(let r of Object.keys(e)){let i=e[r],a=t?.[r]?.(i);if(a){Object.assign(n,a);continue}if(r===`slot`){n[`data-slot`]=i;continue}let o=`data-${String(r).replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`)}`;typeof i==`boolean`?n[o]=i?``:void 0:i!=null&&(n[o]=String(i))}return n}function ze(e,t){return function(n){e(n),n.defaultPrevented||t(n)}}function Be(e){return/^on[A-Z]/.test(e)}function Ve(...e){let t=e.filter(Boolean);if(t.length!==0)return e=>{for(let n of t)typeof n==`function`?n(e):n&&(n.current=e)}}var He=8,Ue=64,We=0,Ge=.5,Ke=180,qe=new Set([`ArrowDown`,`ArrowUp`,`End`,`Home`,`PageDown`,`PageUp`,` `]),Je={start:!1,end:!1},Ye={currentAnchorId:null,visibleMessageIds:[]};function Xe({content:e,scrollEdgeThreshold:t,spacer:n,viewport:r}){if(!r||!e)return Je;let i=ct({content:e,spacer:n,viewport:r});return{start:r.scrollTop>t,end:i-r.scrollTop-r.clientHeight>t}}function Ze({content:e,scrollMargin:t,scrollPreviousItemPeek:n,spacer:r,viewport:i,visibleMessageIds:a}){if(!e||!i)return Ye;let o=i.getBoundingClientRect(),s=o.top+t+n,c=typeof IntersectionObserver>`u`,l=[],u=null;for(let t of Qe(e,r)){let e=t.dataset.messageId;if(!e)continue;let n=t.dataset.scrollAnchor===`true`,r=n||c?t.getBoundingClientRect():null;(c&&r?r.bottom>s&&r.top<o.bottom:a.has(e))&&l.push(e),n&&r&&r.top<=s+Ge&&(u=e)}return l.length===0&&u===null?Ye:{currentAnchorId:u,visibleMessageIds:l}}function Qe(e,t){return Array.from(e.children).filter(e=>e instanceof HTMLElement&&e!==t)}function $e(e,t){for(let n=t;n<e.length;n++){let t=e[n];if(t?.dataset.scrollAnchor===`true`)return t}return null}function et(e,t){for(let n of e)if(n.dataset.scrollAnchor===`true`&&!t.has(n))return n;return null}function tt(e,t){let n=0;for(let r=t;r<e.length;r++)if(e[r]?.dataset.scrollAnchor===`true`&&(n+=1,n>1))return!0;return!1}function nt(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(n?.dataset.scrollAnchor===`true`)return n}return null}function rt({content:e,spacer:t,viewport:n}){let r=n.getBoundingClientRect();for(let n of Qe(e,t)){if(!n.dataset.messageId)continue;let e=n.getBoundingClientRect();if(e.bottom>r.top&&e.top<r.bottom)return n}return null}function it({align:e,element:t,scrollMargin:n,spacer:r,viewport:i}){let a=at(t,i),o=t.getBoundingClientRect().height,s=dt(r);if(e===`center`){let e=Math.max(0,i.clientHeight-s.start-s.end);return a-s.start-(e-o)/2-n}if(e===`end`)return a-i.clientHeight+o+s.end+n;if(e===`nearest`){let e=a+o,t=i.scrollTop+s.start,r=i.scrollTop+i.clientHeight-s.end;return a>=t&&e<=r?i.scrollTop:a<t?a-s.start-n:e-i.clientHeight+s.end+n}return a-s.start-n}function at(e,t){let n=e.getBoundingClientRect(),r=t.getBoundingClientRect();return n.top-r.top+t.scrollTop}function ot(e,t){return e.getBoundingClientRect().top-t.getBoundingClientRect().top}function st({content:e,scrollTop:t,spacer:n,viewport:r}){let i=ct({content:e,spacer:n,viewport:r});return t+r.clientHeight-i}function ct({content:e,spacer:t,viewport:n}){let r=Qe(e,t),i=ut(e),a=n.getBoundingClientRect(),o=n.scrollTop,s=i.start+i.end;for(let e of r){let t=e.getBoundingClientRect();s=Math.max(s,t.bottom-a.top+o+i.end)}return s}function lt(e){return Math.max(0,e.scrollHeight-e.clientHeight)}function ut(e){let t=window.getComputedStyle(e);return{end:pt(t.paddingBlockEnd||t.paddingBottom),start:pt(t.paddingBlockStart||t.paddingTop)}}function dt(e){let t=e?.parentElement;return t?ut(t):{end:0,start:0}}function ft(e){if(!e)return 0;let t=window.getComputedStyle(e);return pt(t.rowGap===`normal`?t.gap:t.rowGap)}function pt(e){if(!e)return 0;let t=Number.parseFloat(e);return Number.isFinite(t)?t:0}function mt({refs:e,commitScrollState:t,scheduleStateCommit:n,scheduleVisibilitySync:r}){let{streamingTurnRef:i,autoScrollRef:a,autoscrollingRef:o,autoscrollingTimeoutRef:s,contentRef:c,defaultScrollPositionAppliedRef:l,itemCountRef:u,messageElementsRef:d,modeRef:f,pendingScrollToMessageRef:p,prependRestoreRef:m,scrollMarginRef:h,scrollPreviousItemPeekRef:g,spacerGapRef:_,spacerHeightRef:v,spacerRef:y,viewportRef:b}=e,x=X.useCallback(e=>{s.current!==null&&(window.clearTimeout(s.current),s.current=null),o.current!==e&&(o.current=e,t()),e&&(s.current=window.setTimeout(()=>{s.current=null,o.current=!1,t()},Ke))},[t]),S=X.useCallback(e=>{let t=y.current;if(!t)return;let n=Math.max(0,Math.ceil(e));v.current!==n&&(v.current=n,t.hidden=n===0,t.style.height=`${n}px`,t.style.marginTop=n>0?`${-_.current}px`:``)},[]),C=X.useCallback((e,{behavior:r=`auto`,autoscrolling:i=!1}={})=>{let a=b.current;if(!a)return;let o=Math.max(0,e);if(Math.abs(a.scrollTop-o)<=Ge){a.scrollTop=o,t();return}i&&x(!0),a.scrollTo({top:o,behavior:r}),n()},[t,n,x]),w=X.useCallback(({behavior:e=`auto`}={})=>b.current?(S(0),i.current=null,f.current=`free-scrolling`,C(0,{behavior:e}),r(),!0):!1,[r,C,S]),T=X.useCallback(({behavior:e=`auto`}={})=>{let t=b.current;return t?(S(0),i.current=null,f.current=a.current?`following-bottom`:`free-scrolling`,C(lt(t),{autoscrolling:!0,behavior:e}),r(),!0):!1},[r,C,S]),E=X.useCallback((e,{align:t=`start`,behavior:n=`auto`,scrollMargin:a=h.current}={},{keepPreviousPeek:o=!1}={})=>{let s=c.current,l=b.current;if(!s||!l||!s.contains(e))return!1;let u=it({align:t,element:e,scrollMargin:o?a+g.current:a,spacer:y.current,viewport:l});return S(st({content:s,scrollTop:u,spacer:y.current,viewport:l})),m.current={element:e,viewportTop:ot(e,l)},f.current=o?`anchored-to-message`:`settling-jump`,i.current=o?e:null,C(u,{behavior:n}),r(),!0},[r,C,S]),D=X.useCallback(()=>{let e=i.current;return!e||!e.isConnected||f.current!==`anchored-to-message`?!1:E(e,{align:`start`},{keepPreviousPeek:!0})},[E]),O=X.useCallback((e,t)=>{let n=d.current.get(e);return n?(l.current=!0,E(n,t)?(p.current=null,!0):(p.current={messageId:e,options:t},!0)):u.current===0?(p.current={messageId:e,options:t},l.current=!0,!0):!1},[E]);return{flushPendingScrollToMessage:X.useCallback(()=>{let e=p.current;if(!e)return!1;let t=d.current.get(e.messageId);return!t||!E(t,e.options)?!1:(p.current=null,l.current=!0,!0)},[E]),reanchorToAnchoredMessage:D,scrollToElement:E,scrollToEnd:T,scrollToMessage:O,scrollToStart:w}}function ht(e,t){let n=e,r=new Set;return{getSnapshot:()=>n,hasListeners:()=>r.size>0,setSnapshot:e=>{t(n,e)||(n=e,r.forEach(e=>e()))},subscribe:(e,t,n)=>{let i=r.size===0;return r.add(e),i&&t?.(),()=>{r.delete(e),r.size===0&&n?.()}}}}function gt(e,t){return ht(e,t)}function _t(){return ht(Ye,yt)}function vt(e,t){return e.start===t.start&&e.end===t.end}function yt(e,t){return e.currentAnchorId!==t.currentAnchorId||e.visibleMessageIds.length!==t.visibleMessageIds.length?!1:e.visibleMessageIds.every((e,n)=>e===t.visibleMessageIds[n])}function bt({autoScroll:e,scrollEdgeThreshold:t,scrollMargin:n,scrollPreviousItemPeek:r}){let i=X.useRef(e),a=X.useRef(!1),o=X.useRef(null),s=X.useRef(!1),c=X.useRef(t),l=X.useRef(0),u=X.useRef(null),d=X.useRef(0),f=X.useRef(e?`following-bottom`:`free-scrolling`),p=X.useRef(new Map),m=X.useRef(null),h=X.useRef(null),g=X.useRef(null),_=X.useRef(r),v=X.useRef(!0),y=X.useRef(null),b=X.useRef(n),x=X.useRef(null),S=X.useRef(0),C=X.useRef(0),w=X.useRef(null),T=X.useRef(null),E=X.useRef(null),D=X.useRef(null),O=X.useRef(null),k=X.useRef(null),A=X.useRef(null),j=X.useRef(null),M=X.useRef(new Set),N=X.useRef(new WeakSet);return E.current===null&&(E.current=gt(Je,vt)),j.current===null&&(j.current=_t()),i.current=e,c.current=t,b.current=n,_.current=r,{autoScrollRef:i,autoscrollingRef:a,autoscrollingTimeoutRef:D,streamingTurnRef:g,contentRef:o,defaultScrollPositionAppliedRef:s,firstItemRef:u,itemCountRef:l,lastScrollTopRef:d,messageElementsRef:p,modeRef:f,pendingScrollFrameRef:x,pendingScrollToMessageRef:m,prependRestoreRef:h,preserveScrollOnPrependRef:v,rootRef:y,scrollEdgeThresholdRef:c,scrollMarginRef:b,scrollPreviousItemPeekRef:_,spacerGapRef:S,spacerHeightRef:C,spacerRef:w,stateFrameRef:T,stateStore:E.current,viewportRef:O,visibilityFrameRef:k,visibilityObserverRef:A,visibilityStore:j.current,visibleMessageIdsRef:M,handledScrollAnchorsRef:N}}function xt(e,t){return X.useCallback(n=>{e.current=n,n&&t()},[e,t])}function St({autoScroll:e=!1,defaultScrollPosition:t=`end`,scrollEdgeThreshold:n=He,scrollPreviousItemPeek:r=Ue,scrollMargin:i=We}){let a=bt({autoScroll:e,scrollEdgeThreshold:n,scrollMargin:i,scrollPreviousItemPeek:r}),{streamingTurnRef:o,autoScrollRef:s,autoscrollingRef:c,autoscrollingTimeoutRef:l,contentRef:u,defaultScrollPositionAppliedRef:d,firstItemRef:f,itemCountRef:p,lastScrollTopRef:m,messageElementsRef:h,modeRef:g,pendingScrollFrameRef:_,pendingScrollToMessageRef:v,prependRestoreRef:y,preserveScrollOnPrependRef:b,rootRef:x,scrollEdgeThresholdRef:S,scrollMarginRef:C,scrollPreviousItemPeekRef:w,spacerGapRef:T,spacerHeightRef:E,spacerRef:D,stateFrameRef:O,stateStore:k,viewportRef:A,visibilityFrameRef:j,visibilityObserverRef:M,visibilityStore:N,visibleMessageIdsRef:P,handledScrollAnchorsRef:F}=a,ee=X.useRef(t);ee.current!==t&&(ee.current=t,d.current=!1);let te=X.useCallback(e=>{let t=x.current,n=A.current,r=[e.start&&`start`,e.end&&`end`].filter(Boolean).join(` `),i=c.current;for(let e of[t,n])e&&(r?e.setAttribute(`data-scrollable`,r):e.removeAttribute(`data-scrollable`),e.toggleAttribute(`data-autoscrolling`,i))},[]),I=X.useCallback(e=>{let t=A.current?.scrollTop??0,n=t<m.current-Ge;m.current=t,s.current&&!e.end&&g.current!==`settling-jump`&&g.current!==`anchored-to-message`?g.current=`following-bottom`:g.current===`following-bottom`&&e.end&&n&&!c.current&&(g.current=`free-scrolling`)},[]),L=X.useCallback(()=>{let e=Xe({content:u.current,scrollEdgeThreshold:S.current,spacer:D.current,viewport:A.current});I(e);let t=g.current===`following-bottom`?{...e,end:!1}:e;te(t),k.setSnapshot(t)},[I,k,te]),R=X.useCallback(()=>{O.current===null&&(O.current=window.requestAnimationFrame(()=>{O.current=null,L()}))},[L]),z=X.useCallback(()=>{N.hasListeners()&&j.current===null&&(j.current=window.requestAnimationFrame(()=>{j.current=null,N.hasListeners()&&N.setSnapshot(Ze({content:u.current,scrollMargin:C.current,scrollPreviousItemPeek:w.current,spacer:D.current,viewport:A.current,visibleMessageIds:P.current}))}))},[N]),{flushPendingScrollToMessage:B,reanchorToAnchoredMessage:ne,scrollToElement:V,scrollToEnd:H,scrollToMessage:re,scrollToStart:ie}=mt({refs:a,commitScrollState:L,scheduleStateCommit:R,scheduleVisibilitySync:z}),ae=X.useCallback(()=>{let e=y.current,t=A.current;if(!e||!t||!e.element.isConnected)return!1;let n=ot(e.element,t)-e.viewportTop;return Math.abs(n)<=Ge?!1:(t.scrollTop+=n,e.viewportTop=ot(e.element,t),R(),z(),!0)},[R,z]),oe=X.useCallback(()=>{let e=u.current,t=A.current;if(!e||!t){y.current=null;return}let n=rt({content:e,spacer:D.current,viewport:t});y.current=n?{element:n,viewportTop:ot(n,t)}:null},[]),U=X.useCallback(()=>{_.current===null&&(_.current=window.requestAnimationFrame(()=>{_.current=null,B()&&oe()}))},[oe,B]),W=X.useCallback(()=>{if(!t||d.current||p.current===0)return!1;let e=!1;if(t===`last-anchor`){let t=u.current,n=A.current,r=t&&n?nt(Qe(t,D.current)):null;if(!t||!n||!r)e=H({behavior:`auto`});else{let i=at(r,n);e=ct({content:t,spacer:D.current,viewport:n})-i<=n.clientHeight?H({behavior:`auto`}):V(r,{align:`start`},{keepPreviousPeek:!0})}}else e=t===`end`?H({behavior:`auto`}):ie({behavior:`auto`});return e?(d.current=!0,!0):!1},[t,V,H,ie]),se=X.useCallback(()=>{let e=u.current;if(!e)return;let t=Qe(e,D.current),n=p.current,r=f.current;p.current=t.length,f.current=t[0]??null,(()=>{if(B())return;if(n===0){if(W()||t.length>0&&s.current&&H({behavior:`auto`}))return;L(),z();return}let e=r?t.indexOf(r):-1;if(b.current&&e>0){ae();return}if(t.length>n){let e=$e(t,n);if(e){if(s.current&&g.current===`following-bottom`&&tt(t,n)){H({behavior:`auto`});return}V(e,{align:`start`},{keepPreviousPeek:!0}),F.current.add(e);return}}if(t.length===n){let e=et(t,F.current);if(e){V(e,{align:`start`},{keepPreviousPeek:!0}),F.current.add(e);return}}g.current===`following-bottom`&&s.current?H({behavior:`auto`}):(L(),z())})(),oe()},[W,oe,L,B,ae,z,V,H]),G=X.useCallback(()=>{if(g.current===`following-bottom`&&s.current){H({behavior:`auto`});return}let e=E.current;if(ne()){s.current&&e>0&&E.current===0&&H({behavior:`auto`});return}R(),z()},[ne,R,z,H]),ce=X.useCallback(()=>{let e=A.current;if(!(!e||!N.hasListeners())){if(typeof IntersectionObserver>`u`){z();return}M.current||=new IntersectionObserver(e=>{for(let t of e){let e=t.target.dataset.messageId;e&&(t.isIntersecting?P.current.add(e):P.current.delete(e))}z()},{root:e,rootMargin:`${-(C.current+w.current)}px 0px 0px 0px`,threshold:[0,.01,.5,1]}),h.current.forEach(e=>{M.current?.observe(e)}),z()}},[z,N]),K=X.useCallback(()=>{j.current!==null&&(window.cancelAnimationFrame(j.current),j.current=null),M.current?.disconnect(),M.current=null,P.current.clear(),N.setSnapshot(Ye)},[N]),le=X.useCallback((e,t,n)=>{if(t){h.current.set(e,t),M.current?.observe(t),z(),v.current?.messageId===e&&U();return}n&&h.current.get(e)===n&&(h.current.delete(e),P.current.delete(e),M.current?.unobserve(n),z())},[U,z]),ue=X.useCallback(()=>{(g.current===`following-bottom`||g.current===`anchored-to-message`||g.current===`settling-jump`)&&(o.current=null,g.current=`free-scrolling`)},[]),q=X.useCallback(()=>te(k.getSnapshot()),[k,te]),J=xt(x,q),de=xt(A,q),fe=X.useCallback(e=>{u.current=e},[]),pe=X.useCallback(e=>{D.current=e,T.current=ft(e?.parentElement??null)},[]),me=X.useCallback(()=>{L(),z(),oe()},[oe,L,z]),he=X.useMemo(()=>({handleContentChange:se,handleResize:G,observeVisibility:ce,preserveScrollOnPrependRef:b,scrollToEnd:H,scrollToMessage:re,scrollToStart:ie,setContentElement:fe,setRootElement:J,setSpacerElement:pe,setViewportElement:de,stateStore:k,syncAfterScroll:me,unobserveVisibility:K,userScrollIntent:ue,viewportRef:A,visibilityStore:N}),[se,G,ce,H,re,ie,fe,J,pe,de,k,me,K,ue,N]);return X.useLayoutEffect(()=>{W()},[W]),X.useEffect(()=>()=>{O.current!==null&&(window.cancelAnimationFrame(O.current),O.current=null),j.current!==null&&(window.cancelAnimationFrame(j.current),j.current=null),l.current!==null&&(window.clearTimeout(l.current),l.current=null),_.current!==null&&(window.cancelAnimationFrame(_.current),_.current=null),M.current?.disconnect(),M.current=null},[]),X.useLayoutEffect(()=>{if(e&&g.current===`following-bottom`&&p.current>0){H({behavior:`auto`});return}L()},[e,L,H]),{context:he,registerMessage:le}}function Ct(e){let t=X.useRef(e);return t.current=e,t}var wt=X.createContext(null),Tt=X.createContext(null);function Et(){let e=X.useContext(wt);if(!e)throw Error(`useMessageScroller must be used within a MessageScroller.`);return e}function Dt(){let e=X.useContext(Tt);if(!e)throw Error(`MessageScrollerItem must be used within a MessageScroller.`);return e}function Ot(){let{scrollToEnd:e,scrollToMessage:t,scrollToStart:n}=Et();return X.useMemo(()=>({scrollToEnd:e,scrollToMessage:t,scrollToStart:n}),[e,t,n])}function kt({autoScroll:e=!1,children:t,defaultScrollPosition:n=`end`,scrollEdgeThreshold:r,scrollPreviousItemPeek:i,scrollMargin:a}){let{context:o,registerMessage:s}=St({autoScroll:e,defaultScrollPosition:n,scrollEdgeThreshold:r,scrollPreviousItemPeek:i,scrollMargin:a});return(0,Z.jsx)(wt.Provider,{value:o,children:(0,Z.jsx)(Tt.Provider,{value:s,children:t})})}function At({children:e,...t}){let{setRootElement:n}=Et();return(0,Z.jsx)(`div`,{ref:n,...t,children:e})}function jt({"aria-label":e,children:t,onKeyDown:n,onScroll:r,onTouchMove:i,onWheel:a,preserveScrollOnPrepend:o=!0,ref:s,role:c,tabIndex:l,...u}){let{handleResize:d,preserveScrollOnPrependRef:f,setViewportElement:p,syncAfterScroll:m,userScrollIntent:h,viewportRef:g}=Et();f.current=o;let _=X.useCallback(e=>{p(e),Ve(s)?.(e)},[s,p]);function v(e){m(),r?.(e)}function y(e){h(),a?.(e)}function b(e){h(),i?.(e)}function x(e){qe.has(e.key)&&h(),n?.(e)}return X.useEffect(()=>{let e=g.current;if(!e||typeof ResizeObserver>`u`)return;let t=0,n=new ResizeObserver(()=>{window.cancelAnimationFrame(t),t=window.requestAnimationFrame(d)});return n.observe(e),()=>{window.cancelAnimationFrame(t),n.disconnect()}},[d,g]),(0,Z.jsx)(`div`,{ref:_,role:c??`region`,"aria-label":e??`Messages`,tabIndex:l??0,onKeyDown:x,onScroll:v,onTouchMove:b,onWheel:y,...u,children:t})}function Mt({"aria-relevant":e,children:t,ref:n,role:r,spacerClassName:i,...a}){let{handleContentChange:o,handleResize:s,setContentElement:c,setSpacerElement:l}=Et(),u=X.useRef(null),d=X.useCallback(e=>{u.current=e,c(e),Ve(n)?.(e)},[n,c]);return X.useLayoutEffect(()=>{let e=u.current;if(!e||(o(),typeof MutationObserver>`u`))return;let t=new MutationObserver(()=>{o()});return t.observe(e,{childList:!0}),()=>t.disconnect()},[o]),X.useEffect(()=>{let e=u.current;if(!e||typeof ResizeObserver>`u`)return;let t=0,n=new ResizeObserver(()=>{window.cancelAnimationFrame(t),t=window.requestAnimationFrame(s)});return n.observe(e),()=>{window.cancelAnimationFrame(t),n.disconnect()}},[s]),(0,Z.jsxs)(`div`,{ref:d,role:r??`log`,"aria-relevant":e??`additions`,...a,children:[t,(0,Z.jsx)(`div`,{ref:l,"aria-hidden":`true`,"data-message-scroller-spacer":``,hidden:!0,className:i})]})}function Nt({messageId:e,ref:t,scrollAnchor:n=!1,...r}){let i=Dt(),a=X.useRef(null);return(0,Z.jsx)(`div`,{ref:X.useCallback(n=>{let r=a.current;a.current=n,e&&i(e,n,r),Ve(t)?.(n)},[e,t,i]),"data-message-id":e,"data-scroll-anchor":n?`true`:`false`,...r})}function Pt({behavior:e=`smooth`,children:t,direction:n=`end`,onClick:r,render:i,tabIndex:a,type:o=`button`,...s}){let{scrollToEnd:c,scrollToStart:l,stateStore:u}=Et(),d=Ct(r),f=X.useCallback(e=>u.subscribe(e),[u]),p=X.useCallback(()=>{let e=u.getSnapshot();return n===`start`?e.start:e.end},[n,u]),m=X.useSyncExternalStore(f,p,p),h=X.useCallback(t=>{m&&(d.current?.(t),t.defaultPrevented||(t.currentTarget.blur(),n===`start`?l({behavior:e}):c({behavior:e})))},[e,n,m,d,c,l]);return Ie({defaultTagName:`button`,props:Le({type:o,inert:!m,tabIndex:m?a:-1,children:t??(0,Z.jsxs)(`span`,{children:[`Scroll to `,n]}),onClick:h},s),render:i,state:{active:m,direction:n},stateAttributesMapping:{active:e=>({"data-active":e?`true`:`false`})}})}var Ft={Provider:kt,Root:At,Viewport:jt,Content:Mt,Item:Nt,Button:Pt};function It(e){let t=(0,Y.c)(2),n;return t[0]===e?n=t[1]:(n=(0,Z.jsx)(Ft.Provider,{...e}),t[0]=e,t[1]=n),n}function Lt(e){let t=(0,Y.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=f(`group/message-scroller relative flex size-full min-h-0 flex-col overflow-hidden`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,Z.jsx)(Ft.Root,{"data-slot":`message-scroller`,className:i,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function Rt(e){let t=(0,Y.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=f(`size-full min-h-0 min-w-0 scrollbar-thin overflow-y-auto overscroll-contain contain-content data-autoscrolling:scrollbar-thumb-transparent data-autoscrolling:scrollbar-track-transparent`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,Z.jsx)(Ft.Viewport,{"data-slot":`message-scroller-viewport`,className:i,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function zt(e){let t=(0,Y.c)(8),n,r;t[0]===e?(n=t[1],r=t[2]):({className:n,...r}=e,t[0]=e,t[1]=n,t[2]=r);let i;t[3]===n?i=t[4]:(i=f(`flex h-max min-h-full flex-col gap-6`,n),t[3]=n,t[4]=i);let a;return t[5]!==r||t[6]!==i?(a=(0,Z.jsx)(Ft.Content,{"data-slot":`message-scroller-content`,className:i,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function Bt(e){let t=(0,Y.c)(10),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({className:n,scrollAnchor:i,...r}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let a=i===void 0?!1:i,o;t[4]===n?o=t[5]:(o=f(`min-w-0 shrink-0 [contain-intrinsic-size:auto_10rem] [content-visibility:auto]`,n),t[4]=n,t[5]=o);let s;return t[6]!==r||t[7]!==a||t[8]!==o?(s=(0,Z.jsx)(Ft.Item,{"data-slot":`message-scroller-item`,scrollAnchor:a,className:o,...r}),t[6]=r,t[7]=a,t[8]=o,t[9]=s):s=t[9],s}function Vt(e){let t=(0,Y.c)(25),n,r,i,a,o,s,l;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4],o=t[5],s=t[6],l=t[7]):({direction:o,className:r,children:n,render:a,variant:s,size:l,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i,t[4]=a,t[5]=o,t[6]=s,t[7]=l);let u=o===void 0?`end`:o,d=s===void 0?`secondary`:s,p=l===void 0?`icon-sm`:l,m;t[8]===r?m=t[9]:(m=f(`absolute inset-s-1/2 -translate-x-1/2 border-border bg-background text-foreground transition-[translate,scale,opacity] duration-200 hover:bg-muted hover:text-foreground data-[active=false]:pointer-events-none data-[active=false]:scale-95 data-[active=false]:opacity-0 data-[active=false]:duration-400 data-[active=false]:ease-[cubic-bezier(0.7,0,0.84,0)] data-[active=true]:translate-y-0 data-[active=true]:scale-100 data-[active=true]:opacity-100 data-[active=true]:ease-[cubic-bezier(0.23,1,0.32,1)] data-[direction=end]:bottom-4 data-[direction=end]:data-[active=false]:translate-y-full data-[direction=start]:top-4 data-[direction=start]:data-[active=false]:-translate-y-full rtl:translate-x-1/2 data-[direction=start]:[&_svg]:rotate-180`,r),t[8]=r,t[9]=m);let g;t[10]!==a||t[11]!==p||t[12]!==d?(g=a??(0,Z.jsx)(h,{variant:d,size:p}),t[10]=a,t[11]=p,t[12]=d,t[13]=g):g=t[13];let _;t[14]!==n||t[15]!==u?(_=n??(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(F,{"aria-hidden":`true`}),(0,Z.jsx)(`span`,{className:`sr-only`,children:u===`end`?(0,Z.jsx)(c,{id:`EQXPXf`}):(0,Z.jsx)(c,{id:`b1FDss`})})]}),t[14]=n,t[15]=u,t[16]=_):_=t[16];let v;return t[17]!==u||t[18]!==i||t[19]!==p||t[20]!==m||t[21]!==g||t[22]!==_||t[23]!==d?(v=(0,Z.jsx)(Ft.Button,{"data-slot":`message-scroller-button`,"data-direction":u,"data-variant":d,"data-size":p,direction:u,className:m,render:g,...i,children:_}),t[17]=u,t[18]=i,t[19]=p,t[20]=m,t[21]=g,t[22]=_,t[23]=d,t[24]=v):v=t[24],v}var Ht=new Map,Ut=0;function Wt(){return typeof performance<`u`&&typeof performance.now==`function`?performance.now():Date.now()}function Gt(){let e=Wt();for(let[t,n]of Ht)t((e-n)/1e3);if(Ht.size===0){Ut=0;return}Ut=requestAnimationFrame(Gt)}function Kt(e){return Ht.set(e,Wt()),Ut===0&&typeof requestAnimationFrame==`function`&&(Ut=requestAnimationFrame(Gt)),()=>{Ht.delete(e),Ht.size===0&&Ut!==0&&(cancelAnimationFrame(Ut),Ut=0)}}var Q=40,qt=15,Jt=15,$=12.4,Yt={blobby:0,triangle:1,square:2,sparkle:3,pentagon:4,hexagon:5,dot:6,star5:7,clover:8,star6:9,scallop:10,comma:11,diamond:12,cloud:13},Xt=`M15.34 2.91C15.96 2.77 16.69 2.65 17.33 2.63C17.97 2.62 18.72 2.71 19.36 2.84C20.00 2.97 20.79 3.10 21.33 3.44C21.88 3.79 22.38 4.46 22.75 5.01C23.12 5.56 23.42 6.30 23.66 6.89C23.90 7.49 24.06 8.18 24.26 8.73C24.45 9.28 24.66 9.84 24.89 10.34C25.12 10.84 25.39 11.36 25.68 11.85C25.97 12.34 26.46 12.87 26.71 13.41C26.96 13.94 27.12 14.61 27.26 15.21C27.39 15.80 27.54 16.52 27.55 17.14C27.56 17.76 27.43 18.47 27.30 19.09C27.16 19.71 26.99 20.43 26.72 21.01C26.46 21.58 26.05 22.20 25.64 22.69C25.22 23.17 24.65 23.63 24.15 24.02C23.66 24.41 23.09 24.82 22.55 25.14C22.02 25.45 21.39 25.74 20.84 25.99C20.28 26.25 19.65 26.52 19.08 26.70C18.50 26.89 17.83 27.05 17.23 27.15C16.63 27.26 15.95 27.34 15.34 27.37C14.73 27.39 14.03 27.40 13.42 27.33C12.81 27.26 12.12 27.10 11.54 26.92C10.95 26.73 10.30 26.47 9.75 26.18C9.20 25.90 8.62 25.51 8.11 25.15C7.61 24.80 7.06 24.37 6.60 23.94C6.15 23.52 5.68 23.00 5.28 22.52C4.89 22.03 4.47 21.45 4.13 20.92C3.79 20.38 3.41 19.75 3.16 19.16C2.91 18.57 2.68 17.86 2.56 17.23C2.45 16.60 2.42 15.85 2.45 15.21C2.48 14.56 2.60 13.83 2.76 13.22C2.93 12.60 3.18 11.91 3.47 11.35C3.77 10.80 4.24 10.23 4.63 9.75C5.01 9.27 5.45 8.74 5.89 8.34C6.34 7.95 6.93 7.61 7.40 7.27C7.88 6.94 8.38 6.57 8.83 6.25C9.29 5.93 9.79 5.56 10.27 5.25C10.75 4.95 11.29 4.61 11.81 4.33C12.32 4.05 12.92 3.74 13.49 3.52C14.05 3.29 14.73 3.05 15.34 2.91Z`,Zt=2.26,Qt=`M76.4805 11.041C99.1124 7.04848 118.186 8.33731 134.31 14.4102C150.369 20.4588 164.177 31.5065 175.929 48.1846L176.446 48.9199C187.179 64.5695 195.653 90.2797 191.323 112.539C186.344 138.13 169.219 160.474 150.105 178.107C131.113 195.629 111.037 207.691 101.728 212.842C98.3779 214.693 93.3915 217.316 88.0508 217.316C85.74 217.316 83.6583 216.814 81.7607 215.855L81.3838 215.658C75.1451 212.251 73.9381 205.91 73.376 198.68L73.2705 197.222C72.953 192.5 72.5095 188.039 71.1416 184.247C69.5395 179.806 66.852 176.673 63.1406 174.227L63.1377 174.225C41.2846 159.832 21.8495 144.226 13.3828 121.439L13.3818 121.438L13.0146 120.427C5.46004 99.1404 7.95139 74.5467 20.4404 52.7568L20.4414 52.7549C33.2945 30.3176 54.4303 14.925 76.4785 11.041H76.4805Z`;function $t(e){let t=t=>{let n=e[(t-1+Q)%Q],r=e[(t+1)%Q];return[(r[0]-n[0])*.16,(r[1]-n[1])*.16]},n=`M${e[0][0].toFixed(2)} ${e[0][1].toFixed(2)}`;for(let r=0;r<Q;r++){let i=e[r],a=e[(r+1)%Q],o=t(r),s=t((r+1)%Q);n+=`C${(i[0]+o[0]).toFixed(2)} ${(i[1]+o[1]).toFixed(2)} ${(a[0]-s[0]).toFixed(2)} ${(a[1]-s[1]).toFixed(2)} ${a[0].toFixed(2)} ${a[1].toFixed(2)}`}return`${n}Z`}function en(e,t){let n=e.map(e=>e[0]),r=e.map(e=>e[1]),i=Math.min(...n),a=Math.max(...n),o=Math.min(...r),s=Math.max(...r),c=t*2/Math.max(a-i,s-o);return e.map(e=>[qt+(e[0]-(i+a)/2)*c,Jt+(e[1]-(o+s)/2)*c])}function tn(e,t,n){let r=e;for(let e=0;e<t;e++){let e=r;r=e.map((t,r)=>{let i=e[(r-1+Q)%Q],a=e[(r+1)%Q];return[t[0]*(1-n)+(i[0]+a[0])/2*n,t[1]*(1-n)+(i[1]+a[1])/2*n]})}return r}function nn(){if(typeof document>`u`)return null;let e=document.createElementNS(`http://www.w3.org/2000/svg`,`svg`);e.setAttribute(`width`,`0`),e.setAttribute(`height`,`0`),e.style.position=`absolute`,e.style.visibility=`hidden`;let t=document.createElementNS(`http://www.w3.org/2000/svg`,`path`);if(e.appendChild(t),document.body.appendChild(e),typeof t.getTotalLength!=`function`||typeof t.getPointAtLength!=`function`)return e.remove(),null;try{t.setAttribute(`d`,`M0 0L1 0`),t.getPointAtLength(0)}catch{return e.remove(),null}return t}function rn(e){function t(t,n){e.setAttribute(`d`,t);let r=e.getTotalLength(),i=[];for(let t=0;t<n;t++){let a=e.getPointAtLength(r*t/n);i.push([a.x,a.y])}return i}function n(e){let t=0,n=0;for(let r of e)t+=r[0],n+=r[1];t/=e.length,n/=e.length;let r=Array(Q).fill(0),i=Array(Q).fill(1/0);for(let a of e){let e=Math.atan2(a[1]-n,a[0]-t),o=Math.hypot(a[0]-t,a[1]-n),s=Math.round((e+Math.PI/2)/(2*Math.PI)*Q);s=(s%Q+Q)%Q,o>r[s]&&(r[s]=o),o<i[s]&&(i[s]=o)}return{cx:t,cy:n,hi:r,lo:i}}function r(e,t,n){return e.map((e,r)=>{let i=-Math.PI/2+r*2*Math.PI/Q;return[t+Math.cos(i)*e,n+Math.sin(i)*e]})}function i(e,i){let{cx:a,cy:o,hi:s,lo:c}=n(t(e,1080)),l=s.map((e,t)=>(e+c[t])/2),u=s.reduce((e,t,n)=>e+(t-c[n]),0)/Q,d=r(l,a,o),f=d.map(e=>e[0]),p=d.map(e=>e[1]),m=i*2/Math.max(Math.max(...f)-Math.min(...f),Math.max(...p)-Math.min(...p));return{path:$t(en(d,i)),strokeWidth:u*m}}function a(e,i){let{cx:a,cy:o,hi:s}=n(t(e,1400));return $t(en(r(s.map((e,t)=>s[t]*.86+(s[(t-1+Q)%Q]+s[(t+1)%Q])*.07),a,o),i))}function o(e,n){return $t(en(t(e,Q),n))}function s(e,n,r){return $t(tn(t(e,Q),n,r))}function c(e,n,r){return $t(t(e,Q).map(e=>[qt+(e[0]-qt)*n,Jt+(e[1]-Jt)*r]))}function l(e,n,r=1){return $t(t(e,Q).map((e,t)=>{let i=t*2*Math.PI/Q,a=1+r*(.035*Math.sin(i*3+n)+.025*Math.sin(i*5+n*2)+.018*Math.sin(i*2-n));return[qt+(e[0]-qt)*a,Jt+(e[1]-Jt)*a]}))}function u(e,t,n,r=0){let i=[];for(let n=0;n<e;n++){let a=-Math.PI/2+n*2*Math.PI/e+r;i.push([qt+Math.cos(a)*t,Jt+Math.sin(a)*t])}let a=(e,t)=>{let n=t[0]-e[0],r=t[1]-e[1],i=Math.hypot(n,r);return[n/i,r/i]},o=``;for(let t=0;t<e;t++){let r=i[t],s=a(r,i[(t-1+e)%e]),c=a(r,i[(t+1)%e]),l=[r[0]+s[0]*n,r[1]+s[1]*n],u=[r[0]+c[0]*n,r[1]+c[1]*n];o+=`${t?`L`:`M`}${l[0].toFixed(2)} ${l[1].toFixed(2)}A${n} ${n} 0 0 1 ${u[0].toFixed(2)} ${u[1].toFixed(2)}`}return`${o}Z`}function d(e,n,r,i){let a=``;for(let t=0;t<e*2;t++){let i=-Math.PI/2+t*Math.PI/e,o=t%2?r:n;a+=`${t?`L`:`M`}${(qt+Math.cos(i)*o).toFixed(2)} ${(Jt+Math.sin(i)*o).toFixed(2)}`}return $t(en(tn(t(`${a}Z`,Q),i,.3),n))}function f(e,n,r){let i=t=>{let n=-Math.PI/2+t*Math.PI/2;return[qt+Math.cos(n)*e,Jt+Math.sin(n)*e]},a=`M${i(0)[0].toFixed(2)} ${i(0)[1].toFixed(2)}`;for(let e=0;e<4;e++){let t=-Math.PI/2+(e+.5)*Math.PI/2,r=[qt+Math.cos(t)*n,Jt+Math.sin(t)*n],o=i((e+1)%4);a+=`Q${r[0].toFixed(2)} ${r[1].toFixed(2)} ${o[0].toFixed(2)} ${o[1].toFixed(2)}`}return $t(en(tn(t(`${a}Z`,Q),r,.34),e))}function p(e,t,n,r){let i=[];for(let a=0;a<Q;a++){let o=-Math.PI/2+a*2*Math.PI/Q,s=(1+Math.cos(e*(o+Math.PI/2)))/2,c=n+(t-n)*s**r;i.push([qt+Math.cos(o)*c,Jt+Math.sin(o)*c])}return $t(i)}function m(e){let t=[];for(let n=0;n<Q;n++){let r=-Math.PI/2+n*2*Math.PI/Q;t.push([qt+Math.cos(r)*e,Jt+Math.sin(r)*e])}return $t(t)}return{silhouette:i,hull:a,fit:o,soften:s,squeeze:c,wobble:l,poly:u,star:d,sparkle:f,lobed:p,dot:m,circle:(e,t,n)=>`M${e-n} ${t}a${n} ${n} 0 1 0 ${n*2} 0a${n} ${n} 0 1 0 ${-n*2} 0`}}function an(){let e=nn();if(e===null)return null;try{let t=rn(e),n=t.silhouette(p,12.55);return{paths:[n.path,t.wobble(t.poly(3,$*1.16,$*.5,.1),1.1),t.wobble(t.poly(4,$*1.02,$*.44),2.3),t.wobble(t.sparkle($*1.24,$*.1,3),3.7),t.wobble(t.poly(5,$*1,$*.38),4.9),t.wobble(t.poly(6,$*.98,$*.34),6.2),t.wobble(t.dot($*.34),2.8),t.wobble(t.star(5,$*1.14,$*.68,6),7.4),t.wobble(t.soften(t.lobed(4,$*1.16,$*.46,.5),3,.3),8.1),t.wobble(t.star(6,$*1.2,$*.42,4),9.3),t.wobble(t.lobed(8,$*1.06,$*.74,.6),10.5),t.wobble(t.soften(t.fit(Qt,$*1.12),3,.22),11.7,.3),t.wobble(t.squeeze(t.poly(4,$*1.3,$*.2),.84,1),12.9),t.wobble(t.hull(t.circle(10.2,16,4.3)+t.circle(15,12,5.5)+t.circle(20,15.4,4.4)+t.circle(15,17.4,5.2),12.4),13.6)],strokeWidth:n.strokeWidth}}finally{e.ownerSVGElement?.remove()}}var on;function sn(){return on===void 0&&(on=an()),on}var cn=/-?\d+(?:\.\d+)?/g;function ln(e){return{fragments:e[0].split(cn),numbers:e.map(e=>(e.match(cn)??[]).map(Number))}}function un(e,t){let n=``;for(let r=0;r<t.length;r++)n+=e[r]+t[r].toFixed(2);return n+e[t.length]}function dn(e){return e<.5?2*e*e:1-2*(1-e)**2}var fn=.58;function pn(e,t,n,r){let i=t-1,a=n/i,o=e%n,s=Math.max(0,Math.min(i-1,Math.floor(o/a))),c=o%a/a;return{from:s,to:s+1,t:dn(r?Math.min(1,c/fn):c)}}var mn=Yt,hn=[mn.blobby,mn.triangle,mn.square,mn.sparkle,mn.comma,mn.pentagon,mn.hexagon,mn.blobby],gn={[mn.comma]:-2.9},_n={leftCx:10.9,rightCx:18.1,cy:16,rx:1.25,ry:1.9},vn=20,yn=8.4;function bn(e){let t=(0,Y.c)(22),{status:n,className:r,testId:i}=e,{_:a}=l(),o=(0,X.useRef)(null),s=(0,X.useRef)(null),c=J(),u,d;t[0]===c?(u=t[1],d=t[2]):(u=()=>{let e=o.current;if(e===null)return;if(c){e.setAttribute(`d`,Xt),e.setAttribute(`stroke-width`,String(Zt)),s.current?.removeAttribute(`transform`);return}let t=sn();if(t===null)return;e.setAttribute(`stroke-width`,t.strokeWidth.toFixed(2));let n=ln(t.paths),r=NaN,i=``;return Kt(t=>{let{from:a,to:o,t:c}=pn(t,hn.length,yn,!0),l=n.numbers[hn[a]],u=n.numbers[hn[o]],d=l.map((e,t)=>e+(u[t]-e)*c),f=un(n.fragments,d);f!==i&&(i=f,e.setAttribute(`d`,f));let p=s.current;if(p===null)return;let m=gn[hn[a]]??0,h=m+((gn[hn[o]]??0)-m)*c;h!==r&&(r=h,p.setAttribute(`transform`,`translate(0 ${h.toFixed(2)})`))})},d=[c],t[0]=c,t[1]=u,t[2]=d),(0,X.useEffect)(u,d);let[p,m]=(0,X.useState)(``),h,g;t[3]===a?(h=t[4],g=t[5]):(h=()=>{m(a({id:`DCSSZt`}))},g=[a],t[3]=a,t[4]=h,t[5]=g),(0,X.useEffect)(h,g);let _;t[6]===r?_=t[7]:(_=f(`ok-working-enter flex items-center gap-2`,r),t[6]=r,t[7]=_);let v;t[8]===p?v=t[9]:(v=(0,Z.jsx)(`span`,{"aria-live":`polite`,className:`sr-only`,role:`status`,children:p}),t[8]=p,t[9]=v);let y;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,Z.jsx)(`path`,{ref:o,d:Xt,fill:`none`,stroke:`currentColor`,strokeWidth:Zt,strokeLinejoin:`round`,strokeLinecap:`round`}),t[10]=y):y=t[10];let b;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(b=(0,Z.jsx)(`span`,{className:`grid shrink-0 place-items-center text-muted-foreground/80`,children:(0,Z.jsx)(`svg`,{width:vn,height:vn,viewBox:`0 0 30 30`,xmlns:`http://www.w3.org/2000/svg`,"aria-hidden":`true`,className:`ok-working-pop ok-working-squint block shrink-0 overflow-visible`,children:(0,Z.jsxs)(`g`,{className:`ok-working-group`,children:[y,(0,Z.jsxs)(`g`,{ref:s,children:[(0,Z.jsx)(`ellipse`,{className:`ok-working-eye`,cx:_n.leftCx,cy:_n.cy,rx:_n.rx,ry:_n.ry,fill:`currentColor`}),(0,Z.jsx)(`ellipse`,{className:`ok-working-eye`,cx:_n.rightCx,cy:_n.cy,rx:_n.rx,ry:_n.ry,fill:`currentColor`})]})]})})}),t[11]=b):b=t[11];let x;t[12]===n?x=t[13]:(x=(0,Z.jsx)(`span`,{className:`shimmer`,children:n}),t[12]=n,t[13]=x);let S;t[14]!==n||t[15]!==x?(S=(0,Z.jsx)(`span`,{className:`ok-working-status text-sm`,children:x},n),t[14]=n,t[15]=x,t[16]=S):S=t[16];let C;return t[17]!==S||t[18]!==_||t[19]!==v||t[20]!==i?(C=(0,Z.jsxs)(`div`,{className:_,"data-testid":i,children:[v,b,S]}),t[17]=S,t[18]=_,t[19]=v,t[20]=i,t[21]=C):C=t[21],C}var xn=3,Sn=xn*2+2;function Cn(e){let t=e.split(`
2
- `);return t[t.length-1]===``&&t.pop(),t}function wn(e,t){if(e===null)return Cn(t).map(e=>({type:`add`,text:e}));let n=[],r=Ce(e,t);for(let[e,t]of r.entries()){let i=Cn(t.value);if(t.added){for(let e of i)n.push({type:`add`,text:e});continue}if(t.removed){for(let e of i)n.push({type:`del`,text:e});continue}if(i.length<=Sn){for(let e of i)n.push({type:`ctx`,text:e});continue}let a=e>0?i.slice(0,xn):[],o=e<r.length-1?i.slice(-xn):[];for(let e of a)n.push({type:`ctx`,text:e});n.push({type:`gap`,count:i.length-a.length-o.length});for(let e of o)n.push({type:`ctx`,text:e})}return n}var Tn=new RegExp([`bypass`,`acceptedits`,`fullaccess`,`autoedit`,`yolo`,`danger`,`fullauto`,`autoaccept`,`autoapprove`,`autorun`,`skippermission`,`noconfirm`,`noprompt`,`unrestricted`,`allowall`].join(`|`)),En=new Set([`auto`]);function Dn(e){return e.toLowerCase().replace(/[^a-z]/g,``)}function On(e){let t=Dn(e.id),n=Dn(e.name??``);return En.has(t)||En.has(n)?!0:Tn.test(t)||Tn.test(n)}var kn=/\x1b\[[0-9;?]*[ -/]*[@-~]|\x1b\][^\x07\x1b]*(?:\x07|\x1b\\)|\x1b[@-Z\\-_]/g;function An(e){return e.replace(kn,``)}function jn(e){return An(e).split(`
3
- `).map(e=>{let t=e.replace(/\r+$/,``),n=t.lastIndexOf(`\r`);return n===-1?t:t.slice(n+1)}).join(`
4
- `)}function Mn(e){let t=(0,Y.c)(11),{text:n}=e,r,i;t[0]===n?(r=t[1],i=t[2]):(r=[n],i=()=>(0,Z.jsx)(`span`,{className:`whitespace-pre-wrap`,children:n}),t[0]=n,t[1]=r,t[2]=i);let a,o;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(a={code:{copy:!0,download:!1},table:!1,mermaid:!1},o={enabled:!1},t[3]=a,t[4]=o):(a=t[3],o=t[4]);let s;t[5]===n?s=t[6]:(s=(0,Z.jsx)(Se,{className:`[&>*:first-child]:mt-0 [&>*:last-child]:mb-0 [&_pre_code>span]:block [&_ol]:list-outside [&_ul]:list-outside [&_ol]:ps-6 [&_ul]:ps-6 [&_code]:text-1sm [&_pre]:text-1sm`,lineNumbers:!1,controls:a,linkSafety:o,children:n}),t[5]=n,t[6]=s);let c;return t[7]!==r||t[8]!==i||t[9]!==s?(c=(0,Z.jsx)(d,{resetKeys:r,fallbackRender:i,onError:Nn,children:s}),t[7]=r,t[8]=i,t[9]=s,t[10]=c):c=t[10],c}function Nn(e){console.warn(`[AgentMarkdown] markdown render failed, falling back to plain text`,e)}function Pn(e,t){if(!xe(e))return null;let n=null;for(let r of e.getStates().values()){let e=r.agentPresence;if(e)for(let r of Object.values(e)){if(!r.currentDoc||N(r.currentDoc)||t-r.ts>=5e3||n!==null&&r.ts<=n.ts)continue;let e=ge(r.currentDoc);e!==null&&(n={doc:e,ts:r.ts})}}return n}function Fn(e,t){let n=e[e.length-1];return n!==void 0&&n.doc===t.doc&&n.ts===t.ts?e:[...e,t]}function In(e,t){switch(e.kind){case`message`:return`msg:${t}:${e.messageId}`;case`tool_call`:return`tool:${e.toolCallId}`;case`permission`:return`perm:${e.requestId}`;case`runtime_consent`:return`consent:${e.requestId}`;case`notice`:return`notice:${t}`}}function Ln(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(n.kind===`tool_call`&&(n.status===`in_progress`||n.status===`pending`))return n.toolKind}return null}function Rn(){return[K._({id:`-VqsyR`}),K._({id:`UD_onR`}),K._({id:`D7hnvB`}),K._({id:`uF82hk`}),K._({id:`G0I7bo`}),K._({id:`eXPP7Z`}),K._({id:`juD53g`}),K._({id:`sqUrlK`}),K._({id:`3zDeFb`}),K._({id:`JAQ09e`}),K._({id:`JyW5aS`}),K._({id:`gmAH_b`})]}var zn={min:3500,max:7e3};function Bn(e,t,n){return t<=1?0:(e+1+Math.floor(n*(t-1)))%t}function Vn(e){return zn.min+e*(zn.max-zn.min)}function Hn(e){let t=(0,Y.c)(3),[n,r]=(0,X.useState)(Wn),i,a;return t[0]===e?(i=t[1],a=t[2]):(i=()=>{if(!e)return;r(Math.floor(Math.random()*Rn().length));let t,n=()=>{t=setTimeout(()=>{r(Un),n()},Vn(Math.random()))};return n(),()=>clearTimeout(t)},a=[e],t[0]=e,t[1]=i,t[2]=a),(0,X.useEffect)(i,a),n}function Un(e){return Bn(e,Rn().length,Math.random())}function Wn(){return Math.floor(Math.random()*Rn().length)}function Gn(e){switch(e){case`read`:return K._({id:`YGt-0e`});case`search`:return K._({id:`jC8Bv4`});case`fetch`:return K._({id:`bnOTEz`});case`edit`:return K._({id:`GwpcXB`});case`delete`:return K._({id:`CD8lBW`});case`execute`:return K._({id:`wc54KE`});case`think`:return K._({id:`BGoW3h`});default:return null}}function Kn(e,t){let n=Gn(e);if(n!==null)return n;let r=Rn();return r[(t%r.length+r.length)%r.length]}var qn=1e4,Jn=1400,Yn={read:y,edit:U,delete:W,search:i,execute:Fe,fetch:i,think:n};function Xn(e){return e.replace(/\s+Agent$/i,``)}function Zn(e){let t=(0,Y.c)(103),{info:n}=e,{_:i}=l(),s=we(n.threadId),c;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(c=ke(),t[0]=c):c=t[0];let u=c,d=m(),[f,p]=(0,X.useState)(``),[g,_]=(0,X.useState)(me),v=(0,X.useRef)(null),y=(0,X.useRef)(null),b=(0,X.useRef)(null),x,S;t[1]===n.threadId?(x=t[2],S=t[3]):(x=()=>Me(n.threadId,e=>{p(t=>t.trim()===``?e:`${t.replace(/\s+$/,``)}\n\n${e}`)}),S=[n.threadId],t[1]=n.threadId,t[2]=x,t[3]=S),(0,X.useEffect)(x,S);let C=Ae(n.threadId),w=n.status,T=n.archived===!0,E=C?.turnActive===!0&&!T,D=Hn(E),[O,k]=(0,X.useState)(!1),[A,j]=(0,X.useState)(null),M=T?!O:w===`ready`&&!E,N=!T&&E,P=z(),F=P!==null&&!P.loading?P.pages:null,ee;if(t[4]!==C||t[5]!==F||t[6]!==d){let e=F===null?{}:{commandTargetExists:e=>F.has(e)};ee=C===null?null:ve(C.items,d,e),t[4]=C,t[5]=F,t[6]=d,t[7]=ee}else ee=t[7];let te=ee,{systemProvider:I}=a(),L;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(L=[],t[8]=L):L=t[8];let[R,B]=(0,X.useState)(L),V;t[9]!==I?.awareness||t[10]!==E?(V=()=>{if(!E){B([]);return}let e=I?.awareness,t=()=>{let t=Pn(e,Date.now());t!==null&&B(e=>Fn(e,t))};t();let n=typeof e==`object`&&e&&typeof e.on==`function`&&typeof e.off==`function`?e:null;return n?.on(`change`,t),()=>n?.off(`change`,t)},t[9]=I?.awareness,t[10]=E,t[11]=V):V=t[11];let ie;t[12]!==I||t[13]!==E?(ie=[E,I],t[12]=I,t[13]=E,t[14]=ie):ie=t[14],(0,X.useEffect)(V,ie);let ae=te??(R.length>0?R[R.length-1]?.doc??null:null),U=s?.lastSeq??null,[W,se]=(0,X.useState)(!1),[G,K]=(0,X.useState)(!1),q,J;t[15]===E?(q=t[16],J=t[17]):(q=()=>{E||(se(!1),K(!1))},J=[E],t[15]=E,t[16]=q,t[17]=J),(0,X.useEffect)(q,J);let de,pe;t[18]!==W||t[19]!==E?(de=()=>{if(!W||!E)return;let e=setTimeout(()=>K(!0),qn);return()=>clearTimeout(e)},pe=[W,E],t[18]=W,t[19]=E,t[20]=de,t[21]=pe):(de=t[20],pe=t[21]),(0,X.useEffect)(de,pe);let he;t[22]===n.threadId?he=t[23]:(he=()=>{u.cancel(n.threadId),se(!0)},t[22]=n.threadId,t[23]=he);let ge=he,_e,ye;t[24]===U?(_e=t[25],ye=t[26]):(_e=()=>{U!==null&&y.current===null&&(y.current=U)},ye=[U],t[24]=U,t[25]=_e,t[26]=ye),(0,X.useEffect)(_e,ye);let be,xe;t[27]!==g||t[28]!==ae||t[29]!==U||t[30]!==E?(be=()=>{!g||ae===null||E&&(y.current===null||U===null||U<=y.current||b.current!==ae&&(b.current=ae,ue(window.location.hash)!==ae&&window.location.assign(le(ae))))},xe=[g,ae,E,U],t[27]=g,t[28]=ae,t[29]=U,t[30]=E,t[31]=be,t[32]=xe):(be=t[31],xe=t[32]),(0,X.useEffect)(be,xe);let Se;t[33]===g?Se=t[34]:(Se=()=>{let e=!g;_(e),fe(e),e&&(b.current=null)},t[33]=g,t[34]=Se);let Ce=Se,[Te,Ee]=(0,X.useState)(null),Oe=re(),je=oe(),[Ne,Pe]=(0,X.useState)(!1),[Fe,Ie]=(0,X.useState)(!1),Le=je>0&&Ne,Re;t[35]!==T||t[36]!==n.threadId?(Re=(e,t)=>{let r=t===void 0?e:t;return T?(k(!0),j(null),Ee(null),v.current?.scrollToEnd(),u.resumeThread(n.threadId,e).then(tr).catch(e=>(j(e instanceof De?e:new De(`internal`,e instanceof Error?e.message:String(e))),Ee(r),!1)).finally(()=>k(!1))):(u.prompt(n.threadId,e),v.current?.scrollToEnd(),Promise.resolve(!0))},t[35]=T,t[36]=n.threadId,t[37]=Re):Re=t[37];let ze=Re,Be;if(t[38]!==i||t[39]!==M||t[40]!==N||t[41]!==f||t[42]!==Le||t[43]!==ze){Be=()=>{let t=f.trim();if(M||N){if(Le){e(t).catch(er);return}t!==``&&(ze(t),p(``))}};let e=async e=>{let t=N;(await r({resolve:!t,compose:t=>ze(H(t.map($n),e),null)})).length!==0&&(t&&ce.info(i({id:`Eiowpn`})),p(``),Pe(!1),Ie(!1))};t[38]=i,t[39]=M,t[40]=N,t[41]=f,t[42]=Le,t[43]=ze,t[44]=Be}else Be=t[44];let Ve;t[45]!==f||t[46]!==Te||t[47]!==n.agent.id||t[48]!==n.agent.source?(Ve=()=>{let e=Te??(f.trim()===``?void 0:f.trim());j(null),Ee(null),u.createThread({agent:{source:n.agent.source,id:n.agent.id},prompt:e}).catch(t=>{j(t instanceof De?t:new De(`internal`,t instanceof Error?t.message:String(t))),Ee(e??null)})},t[45]=f,t[46]=Te,t[47]=n.agent.id,t[48]=n.agent.source,t[49]=Ve):Ve=t[49];let He=Ve,Ue;t[50]!==g||t[51]!==n||t[52]!==Ce?(Ue=(0,Z.jsx)(nr,{info:n,followFile:g,onToggleFollow:Ce}),t[50]=g,t[51]=n,t[52]=Ce,t[53]=Ue):Ue=t[53];let We;t[54]===C?We=t[55]:(We=C!==null&&C.plan.length>0?(0,Z.jsx)(Sr,{plan:C.plan}):null,t[54]=C,t[55]=We);let Ge;t[56]!==i||t[57]!==T||t[58]!==n.agent||t[59]!==n.threadId||t[60]!==C||t[61]!==w||t[62]!==D||t[63]!==E?(Ge=C===null||C.items.length===0?(0,Z.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto px-3 py-2 subtle-scrollbar scroll-fade-mask`,"data-testid":`agent-thread-transcript`,children:(0,Z.jsx)(xr,{status:w,archived:T,agent:n.agent})}):(0,Z.jsxs)(It,{autoScroll:!0,defaultScrollPosition:`last-anchor`,children:[(0,Z.jsx)(Er,{apiRef:v}),(0,Z.jsxs)(Lt,{className:`min-h-0 flex-1`,children:[(0,Z.jsx)(Rt,{"aria-label":i({id:`vPEyDz`}),className:`px-3 py-2 subtle-scrollbar scroll-fade-mask`,"data-testid":`agent-thread-transcript`,children:(0,Z.jsxs)(zt,{className:`gap-2 [&>[data-tool-call]+[data-tool-call]]:-mt-1`,children:[C.items.map((e,t)=>{let r=In(e,t);return(0,Z.jsx)(Bt,{messageId:r,className:`flex flex-col`,scrollAnchor:e.kind===`message`&&e.role===`user`,"data-tool-call":e.kind===`tool_call`?``:void 0,children:(0,Z.jsx)(Dr,{item:e,threadId:n.threadId,actionable:!T&&w!==`exited`&&w!==`error`,terminals:C.terminals,permissionsByToolCall:C.permissionsByToolCall})},r)}),E?w===`awaiting_permission`?(0,Z.jsx)(`div`,{className:`flex items-center gap-2 px-1 py-1 text-muted-foreground text-sm shimmer`,"data-testid":`agent-thread-awaiting-permission`,children:(0,Z.jsx)(`span`,{children:i({id:`_gO_m8`})})}):(0,Z.jsx)(bn,{status:Kn(Ln(C.items),D),className:`px-1 py-1`,testId:`agent-thread-working`}):w===`installing`||w===`spawning`?(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 px-1 py-1 text-muted-foreground text-sm shimmer`,"data-testid":`agent-thread-starting`,children:[(0,Z.jsx)(ne,{className:`size-3.5 animate-spin`,"aria-hidden":`true`}),(0,Z.jsx)(`span`,{children:i({id:`l3zD7w`})})]}):null]})}),(0,Z.jsx)(Vt,{direction:`end`})]})]}),t[56]=i,t[57]=T,t[58]=n.agent,t[59]=n.threadId,t[60]=C,t[61]=w,t[62]=D,t[63]=E,t[64]=Ge):Ge=t[64];let Ke;t[65]!==i||t[66]!==G||t[67]!==n.threadId||t[68]!==E?(Ke=G&&E?(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 border-amber-500/30 border-t bg-amber-500/5 px-3 py-1.5 text-amber-700 text-xs dark:text-amber-400`,"data-testid":`agent-thread-cancel-stalled`,children:[(0,Z.jsx)(`span`,{className:`flex-1`,children:i({id:`CBsdhe`})}),(0,Z.jsx)(h,{type:`button`,size:`sm`,variant:`destructive`,className:`h-6 text-xs`,onClick:()=>u.closeThread(n.threadId),"data-testid":`agent-thread-force-stop`,children:i({id:`16eIWu`})})]}):null,t[65]=i,t[66]=G,t[67]=n.threadId,t[68]=E,t[69]=Ke):Ke=t[69];let qe;t[70]!==i||t[71]!==T||t[72]!==n.agent.name||t[73]!==A||t[74]!==He?(qe=T&&A!==null?(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 border-amber-500/30 border-t bg-amber-500/5 px-3 py-1.5 text-amber-700 text-xs dark:text-amber-400`,"data-testid":`agent-thread-resume-failed`,children:[(0,Z.jsx)(`span`,{className:`flex-1`,children:A.code===`resume-unsupported`?i({id:`f3Nvg7`,values:{0:n.agent.name}}):i({id:`dYCvMf`,values:{0:A.message}})}),(0,Z.jsx)(h,{type:`button`,size:`sm`,variant:`outline`,className:`h-6 shrink-0 text-xs`,onClick:He,"data-testid":`agent-thread-resume-fallback-new`,children:i({id:`5vYdh9`,values:{0:n.agent.name}})})]}):null,t[70]=i,t[71]=T,t[72]=n.agent.name,t[73]=A,t[74]=He,t[75]=qe):qe=t[75];let Je=C?.tokenUsage??null,Ye,Xe,Ze;t[76]===Symbol.for(`react.memo_cache_sentinel`)?(Ye=()=>{Pe(!0),o()},Xe=()=>Ie(Qn),Ze=()=>{Pe(!1),Ie(!1)},t[76]=Ye,t[77]=Xe,t[78]=Ze):(Ye=t[76],Xe=t[77],Ze=t[78]);let Qe;t[79]!==T||t[80]!==M||t[81]!==N||t[82]!==W||t[83]!==Fe||t[84]!==f||t[85]!==Le||t[86]!==n||t[87]!==Oe||t[88]!==ge||t[89]!==O||t[90]!==je||t[91]!==w||t[92]!==Be||t[93]!==Je||t[94]!==E?(Qe=(0,Z.jsx)(ri,{info:n,draft:f,onDraftChange:p,onSubmit:Be,canPrompt:M,canQueue:N,turnActive:E,cancelPending:W,onCancel:ge,status:w,archived:T,resumePending:O,usage:Je,queuedComments:Oe,selectedCommentCount:je,hasQueuedComments:Le,commentsExpanded:Fe,onAttachComments:Ye,onToggleCommentsExpanded:Xe,onDismissComments:Ze}),t[79]=T,t[80]=M,t[81]=N,t[82]=W,t[83]=Fe,t[84]=f,t[85]=Le,t[86]=n,t[87]=Oe,t[88]=ge,t[89]=O,t[90]=je,t[91]=w,t[92]=Be,t[93]=Je,t[94]=E,t[95]=Qe):Qe=t[95];let $e;return t[96]!==Ue||t[97]!==We||t[98]!==Ge||t[99]!==Ke||t[100]!==qe||t[101]!==Qe?($e=(0,Z.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col text-gray-800 dark:text-gray-200`,"data-agent-thread-root":``,children:[Ue,We,Ge,Ke,qe,Qe]}),t[96]=Ue,t[97]=We,t[98]=Ge,t[99]=Ke,t[100]=qe,t[101]=Qe,t[102]=$e):$e=t[102],$e}function Qn(e){return!e}function $n(e){return V(e.payload)}function er(e){console.warn(`[acp] queued-comment send rejected unexpectedly`,e)}function tr(){return!0}function nr(e){let t=(0,Y.c)(27),{info:n,followFile:r,onToggleFollow:i}=e,{_:a}=l(),o;t[0]===n.title?o=t[1]:(o=(0,Z.jsx)(`span`,{className:`min-w-0 truncate font-medium text-1sm`,children:n.title}),t[0]=n.title,t[1]=o);let s;t[2]!==a||t[3]!==n.archived?(s=n.archived===!0?(0,Z.jsx)(q,{variant:`gray`,className:`shrink-0 px-1.5 py-0 text-[10px]`,children:a({id:`TdfEV7`})}):null,t[2]=a,t[3]=n.archived,t[4]=s):s=t[4];let c=r?`bg-primary/10 text-primary hover:bg-primary/15 hover:text-primary`:`text-muted-foreground`,u;t[5]===c?u=t[6]:(u=f(`rounded-md`,c),t[5]=c,t[6]=u);let d;t[7]===a?d=t[8]:(d=a({id:`w6sT-y`}),t[7]=a,t[8]=d);let p;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,Z.jsx)(Ne,{className:`size-3.5`,"aria-hidden":`true`}),t[9]=p):p=t[9];let m;t[10]!==r||t[11]!==i||t[12]!==u||t[13]!==d?(m=(0,Z.jsx)(g,{asChild:!0,children:(0,Z.jsx)(h,{type:`button`,variant:`ghost`,size:`icon-xs`,className:u,"aria-pressed":r,"aria-label":d,onClick:i,"data-testid":`agent-thread-follow-toggle`,children:p})}),t[10]=r,t[11]=i,t[12]=u,t[13]=d,t[14]=m):m=t[14];let y;t[15]!==a||t[16]!==r?(y=a(r?{id:`1a6ICf`}:{id:`w6sT-y`}),t[15]=a,t[16]=r,t[17]=y):y=t[17];let b;t[18]===y?b=t[19]:(b=(0,Z.jsx)(_,{side:`bottom`,children:y}),t[18]=y,t[19]=b);let x;t[20]!==m||t[21]!==b?(x=(0,Z.jsx)(`div`,{className:`ml-auto flex shrink-0 items-center gap-1.5`,children:(0,Z.jsxs)(v,{children:[m,b]})}),t[20]=m,t[21]=b,t[22]=x):x=t[22];let S;return t[23]!==o||t[24]!==x||t[25]!==s?(S=(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 px-3 pb-1.5 pt-0`,children:[o,s,x]}),t[23]=o,t[24]=x,t[25]=s,t[26]=S):S=t[26],S}function rr(e){for(let t of e.options){if(`value`in t){if(t.value===e.currentValue)return t.name;continue}let n=t.options.find(t=>t.value===e.currentValue);if(n!==void 0)return n.name}return e.currentValue}function ir(e){return e.options.some(e=>`value`in e?!0:e.options.length>0)}function ar(e){let t=[];for(let n of e.options)if(`value`in n)t.push({id:n.value,name:n.name});else for(let e of n.options)t.push({id:e.value,name:e.name});return t}function or(e){let t=(e.configOptions??[]).find(e=>e.type===`select`&&e.category===`mode`&&ir(e));if(t!==void 0)return{configId:t.id,currentId:t.currentValue,currentName:rr(t),values:ar(t)};let n=e.modes;return n!=null&&n.availableModes.length>1?{configId:null,currentId:n.currentModeId,currentName:n.availableModes.find(e=>e.id===n.currentModeId)?.name??n.currentModeId,values:n.availableModes.map(e=>({id:e.id,name:e.name}))}:null}function sr(e){let t=(0,Y.c)(32),{info:n}=e,{_:r}=l(),i,a,o,s,c,u,d,f,p;if(t[0]!==r||t[1]!==n){p=Symbol.for(`react.early_return_sentinel`);bb0:{let e=ke(),l=Te(n.agent),m=(t,r)=>{e.setConfigOption(n.threadId,t.id,r),Ee(l,t.id,r)},y;t[11]===n.configOptions?y=t[12]:(y=n.configOptions??[],t[11]=n.configOptions,t[12]=y);let b=y.filter(dr),x=or(n),S=x!==null&&x.configId===null;if(b.length===0&&!S){p=null;break bb0}let C=S?x.currentName:void 0,w=x!==null&&On({id:x.currentId,name:x.currentName}),T=b.find(ur)??b.find(lr),D=T===void 0?C??r({id:`Tz0i8g`}):rr(T),O=r(w&&x!==null?{id:`MuxcRB`,values:{0:x.currentName,1:n.agent.name}}:{id:`Wfy3rU`});a=j;let k;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,Z.jsx)(L,{className:`size-3.5`,"data-icon":`inline-end`,"aria-hidden":`true`}),t[13]=k):k=t[13];let M=(0,Z.jsx)(E,{asChild:!0,children:(0,Z.jsxs)(h,{type:`button`,variant:`ghost`,className:`h-6 max-w-48 gap-1 rounded-md pl-1.5 pr-1! text-xs`,"aria-label":O,"data-testid":`agent-thread-settings`,children:[w?(0,Z.jsx)(`span`,{className:`size-1.5 shrink-0 rounded-full bg-amber-500 ring-[3px] ring-amber-500/15 dark:bg-amber-400 dark:ring-amber-400/15`,"data-testid":`agent-thread-mode-accent`,"aria-hidden":`true`}):null,(0,Z.jsx)(`span`,{className:`truncate`,children:D}),k]})}),N;t[14]===M?N=t[15]:(N=(0,Z.jsx)(g,{asChild:!0,children:M}),t[14]=M,t[15]=N);let P;t[16]===O?P=t[17]:(P=(0,Z.jsx)(_,{side:`bottom`,children:O}),t[16]=O,t[17]=P),t[18]!==N||t[19]!==P?(f=(0,Z.jsxs)(v,{children:[N,P]}),t[18]=N,t[19]=P,t[20]=f):f=t[20],i=A,o=`end`,s=`w-60`,c=`agent-thread-settings-popover`,u=b.map(e=>e.type===`select`?(0,Z.jsx)(fr,{option:e,onSelect:t=>m(e,t)},e.id):(0,Z.jsx)(vr,{option:e,onCheckedChange:t=>m(e,t)},e.id)),d=S?(0,Z.jsx)(fr,{option:{id:`legacy-mode`,name:r({id:`EbMUlU`}),category:`mode`,type:`select`,currentValue:x.currentId,options:x.values.map(cr)},onSelect:t=>{e.setMode(n.threadId,t),Oe(l,t)}}):null}t[0]=r,t[1]=n,t[2]=i,t[3]=a,t[4]=o,t[5]=s,t[6]=c,t[7]=u,t[8]=d,t[9]=f,t[10]=p}else i=t[2],a=t[3],o=t[4],s=t[5],c=t[6],u=t[7],d=t[8],f=t[9],p=t[10];if(p!==Symbol.for(`react.early_return_sentinel`))return p;let m;t[21]!==i||t[22]!==o||t[23]!==s||t[24]!==c||t[25]!==u||t[26]!==d?(m=(0,Z.jsxs)(i,{align:o,className:s,"data-testid":c,children:[u,d]}),t[21]=i,t[22]=o,t[23]=s,t[24]=c,t[25]=u,t[26]=d,t[27]=m):m=t[27];let y;return t[28]!==a||t[29]!==f||t[30]!==m?(y=(0,Z.jsxs)(a,{children:[f,m]}),t[28]=a,t[29]=f,t[30]=m,t[31]=y):y=t[31],y}function cr(e){return{value:e.id,name:e.name}}function lr(e){return e.type===`select`}function ur(e){return e.type===`select`&&e.category===`model`}function dr(e){return e.type===`boolean`||ir(e)}function fr(e){let t=(0,Y.c)(42),{option:n,onSelect:r}=e,i=n.options,a,o,s,c,l,u,d,f,p,m;if(t[0]!==i||t[1]!==r||t[2]!==n){let e=i.filter(gr),h=i.filter(hr);s=C;let g=`agent-thread-config-${n.id}`,_;t[13]===n.name?_=t[14]:(_=(0,Z.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:n.name}),t[13]=n.name,t[14]=_);let v;t[15]===n?v=t[16]:(v=rr(n),t[15]=n,t[16]=v);let y;t[17]===v?y=t[18]:(y=(0,Z.jsx)(`span`,{className:`max-w-[11rem] truncate text-1sm text-muted-foreground`,children:v}),t[17]=v,t[18]=y),t[19]!==y||t[20]!==g||t[21]!==_?(m=(0,Z.jsxs)(k,{className:`gap-2`,"data-testid":g,children:[_,y]}),t[19]=y,t[20]=g,t[21]=_,t[22]=m):m=t[22],o=w,f=`max-h-[min(22rem,var(--radix-dropdown-menu-content-available-height))] max-w-72 overscroll-contain`,t[23]===n.name?p=t[24]:(p=(0,Z.jsx)(O,{children:n.name}),t[23]=n.name,t[24]=p),a=S,c=n.currentValue,l=r,u=e.map(mr);let b;t[25]===n.name?b=t[26]:(b=e=>(0,Z.jsxs)(X.Fragment,{children:[e.name===n.name?null:(0,Z.jsx)(O,{className:`font-normal text-muted-foreground`,children:e.name}),e.options.map(pr)]},e.group),t[25]=n.name,t[26]=b),d=h.map(b),t[0]=i,t[1]=r,t[2]=n,t[3]=a,t[4]=o,t[5]=s,t[6]=c,t[7]=l,t[8]=u,t[9]=d,t[10]=f,t[11]=p,t[12]=m}else a=t[3],o=t[4],s=t[5],c=t[6],l=t[7],u=t[8],d=t[9],f=t[10],p=t[11],m=t[12];let h;t[27]!==a||t[28]!==c||t[29]!==l||t[30]!==u||t[31]!==d?(h=(0,Z.jsxs)(a,{value:c,onValueChange:l,children:[u,d]}),t[27]=a,t[28]=c,t[29]=l,t[30]=u,t[31]=d,t[32]=h):h=t[32];let g;t[33]!==o||t[34]!==f||t[35]!==p||t[36]!==h?(g=(0,Z.jsxs)(o,{className:f,children:[p,h]}),t[33]=o,t[34]=f,t[35]=p,t[36]=h,t[37]=g):g=t[37];let _;return t[38]!==s||t[39]!==m||t[40]!==g?(_=(0,Z.jsxs)(s,{children:[m,g]}),t[38]=s,t[39]=m,t[40]=g,t[41]=_):_=t[41],_}function pr(e){return(0,Z.jsx)(_r,{entry:e},e.value)}function mr(e){return(0,Z.jsx)(_r,{entry:e},e.value)}function hr(e){return`group`in e}function gr(e){return`value`in e}function _r(e){let t=(0,Y.c)(11),{entry:n}=e,r=`agent-thread-config-option-${n.value}`,i;t[0]===n.name?i=t[1]:(i=(0,Z.jsx)(`span`,{className:`truncate`,children:n.name}),t[0]=n.name,t[1]=i);let a;t[2]===n.description?a=t[3]:(a=n.description?(0,Z.jsx)(`span`,{className:`line-clamp-2 text-1sm text-muted-foreground`,children:n.description}):null,t[2]=n.description,t[3]=a);let o;t[4]!==i||t[5]!==a?(o=(0,Z.jsxs)(`div`,{className:`flex min-w-0 flex-col`,children:[i,a]}),t[4]=i,t[5]=a,t[6]=o):o=t[6];let s;return t[7]!==n.value||t[8]!==r||t[9]!==o?(s=(0,Z.jsx)(T,{value:n.value,className:`items-start`,"data-testid":r,children:o}),t[7]=n.value,t[8]=r,t[9]=o,t[10]=s):s=t[10],s}function vr(e){let t=(0,Y.c)(15),{option:n,onCheckedChange:r}=e,i=`agent-thread-config-${n.id}`,a;t[0]===n.name?a=t[1]:(a=(0,Z.jsx)(`span`,{children:n.name}),t[0]=n.name,t[1]=a);let o;t[2]===n.description?o=t[3]:(o=n.description?(0,Z.jsx)(`span`,{className:`text-1sm text-muted-foreground`,children:n.description}):null,t[2]=n.description,t[3]=o);let s;t[4]!==a||t[5]!==o?(s=(0,Z.jsxs)(`div`,{className:`flex min-w-0 flex-col`,children:[a,o]}),t[4]=a,t[5]=o,t[6]=s):s=t[6];let c;t[7]===n.currentValue?c=t[8]:(c=(0,Z.jsx)(M,{checked:n.currentValue,size:`sm`,"aria-hidden":`true`,tabIndex:-1,className:`pointer-events-none mt-0.5`}),t[7]=n.currentValue,t[8]=c);let l;return t[9]!==r||t[10]!==n.currentValue||t[11]!==i||t[12]!==s||t[13]!==c?(l=(0,Z.jsxs)(D,{checked:n.currentValue,onCheckedChange:r,onSelect:yr,className:`items-start justify-between gap-4 pr-2 [&_[data-slot=dropdown-menu-checkbox-item-indicator]]:hidden`,"data-testid":i,children:[s,c]}),t[9]=r,t[10]=n.currentValue,t[11]=i,t[12]=s,t[13]=c,t[14]=l):l=t[14],l}function yr(e){return e.preventDefault()}function br(){let e=(0,Y.c)(11),{_:t}=l(),[n,r]=(0,X.useState)(``),i,a;e[0]===t?(i=e[1],a=e[2]):(i=()=>{r(t({id:`7vQdBK`}))},a=[t],e[0]=t,e[1]=i,e[2]=a),(0,X.useEffect)(i,a);let o;e[3]===n?o=e[4]:(o=(0,Z.jsx)(`div`,{"aria-live":`polite`,className:`sr-only`,role:`status`,children:n}),e[3]=n,e[4]=o);let s;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,Z.jsx)(`div`,{className:`flex justify-end`,children:(0,Z.jsx)(be,{className:`h-12 w-3/5 rounded-2xl rounded-br-xs`})}),e[5]=s):s=e[5];let c;e[6]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,Z.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,Z.jsx)(be,{className:`h-3.5 w-11/12`}),(0,Z.jsx)(be,{className:`h-3.5 w-4/5`}),(0,Z.jsx)(be,{className:`h-3.5 w-2/3`})]}),e[6]=c):c=e[6];let u;e[7]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,Z.jsx)(`div`,{className:`flex justify-end`,children:(0,Z.jsx)(be,{className:`h-8 w-2/5 rounded-2xl rounded-br-xs`})}),e[7]=u):u=e[7];let d;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,Z.jsxs)(`div`,{"aria-hidden":`true`,className:`flex flex-col gap-6`,children:[s,c,u,(0,Z.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,Z.jsx)(be,{className:`h-3.5 w-5/6`}),(0,Z.jsx)(be,{className:`h-3.5 w-3/4`})]})]}),e[8]=d):d=e[8];let f;return e[9]===o?f=e[10]:(f=(0,Z.jsxs)(`div`,{className:`flex flex-col gap-6 pt-2`,children:[o,d]}),e[9]=o,e[10]=f),f}function xr(e){let t=(0,Y.c)(24),{status:n,archived:r,agent:i}=e,{_:a}=l(),o,s;if(t[0]!==a||t[1]!==i.iconUrl||t[2]!==i.id||t[3]!==i.name||t[4]!==r||t[5]!==n){s=Symbol.for(`react.early_return_sentinel`);bb0:{let e=Xn(i.name);if(r){let e;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,Z.jsx)(br,{}),t[8]=e):e=t[8],s=e;break bb0}if(n===`ready`){let n;t[9]!==i.iconUrl||t[10]!==i.id?(n=(0,Z.jsx)(te,{agentId:i.id,iconUrl:i.iconUrl,className:`size-12 opacity-25 grayscale`}),t[9]=i.iconUrl,t[10]=i.id,t[11]=n):n=t[11],s=(0,Z.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-3 px-6 text-center`,children:[n,(0,Z.jsx)(`p`,{className:`text-muted-foreground text-sm`,children:a({id:`g4e0hS`,values:{agentName:e}})})]});break bb0}if(n===`auth_required`){let e;t[12]===a?e=t[13]:(e=a({id:`QTsvh1`}),t[12]=a,t[13]=e);let n;t[14]===e?n=t[15]:(n=(0,Z.jsx)(`div`,{className:`flex h-full items-center justify-center px-6 text-center text-muted-foreground text-sm`,children:e}),t[14]=e,t[15]=n),s=n;break bb0}o=a(n===`installing`?{id:`Y_ZQ6l`,values:{agentName:e}}:n===`spawning`?{id:`8t9CRE`,values:{agentName:e}}:{id:`MysZUL`,values:{agentName:e}})}t[0]=a,t[1]=i.iconUrl,t[2]=i.id,t[3]=i.name,t[4]=r,t[5]=n,t[6]=o,t[7]=s}else o=t[6],s=t[7];if(s!==Symbol.for(`react.early_return_sentinel`))return s;let c=o,u;t[16]!==i.iconUrl||t[17]!==i.id?(u=(0,Z.jsx)(te,{agentId:i.id,iconUrl:i.iconUrl,className:`size-12 opacity-25 grayscale`}),t[16]=i.iconUrl,t[17]=i.id,t[18]=u):u=t[18];let d;t[19]===c?d=t[20]:(d=(0,Z.jsx)(`p`,{className:`shimmer text-sm`,children:c}),t[19]=c,t[20]=d);let f;return t[21]!==u||t[22]!==d?(f=(0,Z.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-3 px-6 text-center`,children:[u,d]}),t[21]=u,t[22]=d,t[23]=f):f=t[23],f}function Sr(e){let t=(0,Y.c)(35),{plan:n}=e,{_:r}=l(),[i,a]=(0,X.useState)(!0),o,s,c,u,d,f,p,m,g,_;if(t[0]!==r||t[1]!==i||t[2]!==n){let e=n.filter(Tr).length;_=`border-border/60 border-b bg-muted/30 px-3 py-1.5`,o=h,c=`button`,u=`ghost`,d=`sm`,f=`h-auto w-full justify-start gap-1.5 p-0 font-medium text-muted-foreground text-xs hover:bg-transparent`,t[13]===Symbol.for(`react.memo_cache_sentinel`)?(p=()=>a(wr),t[13]=p):p=t[13],m=i,t[14]===i?g=t[15]:(g=i?(0,Z.jsx)(L,{className:`size-3.5`,"aria-hidden":`true`}):(0,Z.jsx)(R,{className:`size-3.5`,"aria-hidden":`true`}),t[14]=i,t[15]=g),s=r({id:`QM3SBZ`,values:{0:n.length,done:e}}),t[0]=r,t[1]=i,t[2]=n,t[3]=o,t[4]=s,t[5]=c,t[6]=u,t[7]=d,t[8]=f,t[9]=p,t[10]=m,t[11]=g,t[12]=_}else o=t[3],s=t[4],c=t[5],u=t[6],d=t[7],f=t[8],p=t[9],m=t[10],g=t[11],_=t[12];let v;t[16]===s?v=t[17]:(v=(0,Z.jsx)(`span`,{children:s}),t[16]=s,t[17]=v);let y;t[18]!==o||t[19]!==v||t[20]!==c||t[21]!==u||t[22]!==d||t[23]!==f||t[24]!==p||t[25]!==m||t[26]!==g?(y=(0,Z.jsxs)(o,{type:c,variant:u,size:d,className:f,onClick:p,"aria-expanded":m,children:[g,v]}),t[18]=o,t[19]=v,t[20]=c,t[21]=u,t[22]=d,t[23]=f,t[24]=p,t[25]=m,t[26]=g,t[27]=y):y=t[27];let b;t[28]!==i||t[29]!==n?(b=i?(0,Z.jsx)(`ul`,{className:`mt-1 flex flex-col gap-0.5`,children:n.map(Cr)}):null,t[28]=i,t[29]=n,t[30]=b):b=t[30];let x;return t[31]!==y||t[32]!==b||t[33]!==_?(x=(0,Z.jsxs)(`div`,{className:_,children:[y,b]}),t[31]=y,t[32]=b,t[33]=_,t[34]=x):x=t[34],x}function Cr(e,t){return(0,Z.jsxs)(`li`,{className:f(`flex items-start gap-1.5 text-xs`,e.status===`completed`&&`text-muted-foreground line-through`),children:[(0,Z.jsx)(`span`,{"aria-hidden":`true`,children:e.status===`completed`?`☑`:`☐`}),(0,Z.jsx)(`span`,{children:e.content})]},t)}function wr(e){return!e}function Tr(e){return e.status===`completed`}function Er(e){let t=(0,Y.c)(4),{apiRef:n}=e,r=Ot(),i,a;return t[0]!==r||t[1]!==n?(i=()=>(n.current=r,()=>{n.current=null}),a=[r,n],t[0]=r,t[1]=n,t[2]=i,t[3]=a):(i=t[2],a=t[3]),(0,X.useEffect)(i,a),null}function Dr(e){let t=(0,Y.c)(18),{item:n,threadId:r,actionable:i,terminals:a,permissionsByToolCall:o}=e;switch(n.kind){case`message`:{let e;return t[0]===n?e=t[1]:(e=(0,Z.jsx)(Or,{item:n}),t[0]=n,t[1]=e),e}case`tool_call`:{let e=o[n.toolCallId],r;return t[2]!==n||t[3]!==e||t[4]!==a?(r=(0,Z.jsx)(jr,{call:n,terminals:a,permission:e}),t[2]=n,t[3]=e,t[4]=a,t[5]=r):r=t[5],r}case`permission`:{let e;return t[6]!==i||t[7]!==n||t[8]!==r?(e=n.mergedIntoToolCall&&n.resolved!==null?null:(0,Z.jsx)(qr,{item:n,threadId:r,actionable:i}),t[6]=i,t[7]=n,t[8]=r,t[9]=e):e=t[9],e}case`runtime_consent`:{let e;return t[10]!==n||t[11]!==r?(e=(0,Z.jsx)($r,{item:n,threadId:r}),t[10]=n,t[11]=r,t[12]=e):e=t[12],e}case`notice`:{let e=n.tone===`error`?`border-red-500/30 bg-red-500/5 text-red-600 dark:text-red-400`:`border-amber-500/30 bg-amber-500/5 text-amber-700 dark:text-amber-400`,r;t[13]===e?r=t[14]:(r=f(`rounded-md border px-2 py-1.5 text-xs`,e),t[13]=e,t[14]=r);let i;return t[15]!==n.text||t[16]!==r?(i=(0,Z.jsx)(`div`,{className:r,"data-testid":`agent-thread-notice`,children:n.text}),t[15]=n.text,t[16]=r,t[17]=i):i=t[17],i}}}function Or(e){let t=(0,Y.c)(11),{item:n}=e;if(n.role===`thought`){let e;return t[0]===n.text?e=t[1]:(e=(0,Z.jsx)(`div`,{className:`px-1 text-muted-foreground text-xs italic **:font-normal! **:text-xs!`,children:(0,Z.jsx)(Mn,{text:n.text})}),t[0]=n.text,t[1]=e),e}let r=n.role===`user`,i=r?`my-3 ml-auto max-w-[85%] whitespace-pre-wrap rounded-2xl rounded-br-xs bg-muted px-3 py-1.5`:`w-full`,a;t[2]===i?a=t[3]:(a=f(`wrap-break-word text-sm text-foreground`,i),t[2]=i,t[3]=a);let o=r?`agent-thread-user-message`:`agent-thread-agent-message`,s;t[4]!==r||t[5]!==n.text?(s=r?n.text:(0,Z.jsx)(Mn,{text:n.text}),t[4]=r,t[5]=n.text,t[6]=s):s=t[6];let c;return t[7]!==a||t[8]!==o||t[9]!==s?(c=(0,Z.jsx)(`div`,{className:a,"data-testid":o,children:s}),t[7]=a,t[8]=o,t[9]=s,t[10]=c):c=t[10],c}function kr(e){if(e==null||typeof e==`object`&&!Array.isArray(e)&&Object.keys(e).length===0)return null;let t;try{t=JSON.stringify(e,null,1)}catch{return null}return t===void 0?null:t.length>2e3?`${t.slice(0,2e3)}…`:t}function Ar(e){let t=e.trim();if(!t.startsWith("```"))return e;let n=t.split(`
5
- `);return n.length<2||n[n.length-1]?.trim()!=="```"?e:n.slice(1,-1).join(`
6
- `)}function jr(e){let t=(0,Y.c)(46),{call:n,terminals:r,permission:i}=e,[a,o]=(0,X.useState)(n.status===`failed`),s=(0,X.useRef)(!1),c=(0,X.useRef)(n.status),[l,u]=(0,X.useState)(!1),[d,p]=(0,X.useState)(!1),m,g;t[0]===n.status?(m=t[1],g=t[2]):(m=()=>{let e=c.current;if(c.current=n.status,e!==n.status&&(n.status===`failed`&&!s.current&&o(!0),e!==`completed`&&n.status===`completed`)){u(!0),p(!0);let e=setTimeout(()=>p(!1),Jn);return()=>clearTimeout(e)}},g=[n.status],t[0]=n.status,t[1]=m,t[2]=g),(0,X.useEffect)(m,g);let _;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(_=()=>{s.current=!0,o(Lr)},t[3]=_):_=t[3];let v=_,y=Yn[n.toolKind]??se,b;if(t[4]!==y||t[5]!==n.content||t[6]!==n.diffs||t[7]!==n.locations||t[8]!==n.rawInput||t[9]!==n.status||t[10]!==n.terminalIds||t[11]!==n.title||t[12]!==d||t[13]!==l||t[14]!==a||t[15]!==i||t[16]!==r){let e;t[18]===r?e=t[19]:(e=e=>r[e],t[18]=r,t[19]=e);let o=n.terminalIds.map(e).filter(Ir),s;t[20]===n.rawInput?s=t[21]:(s=kr(n.rawInput),t[20]=n.rawInput,t[21]=s);let c=s,u=n.diffs.length>0||n.content.length>0||n.locations.length>0||o.length>0||c!==null,p=a&&u,m;t[22]===y?m=t[23]:(m=(0,Z.jsx)(y,{className:`size-3.5 shrink-0 text-muted-foreground`,"aria-hidden":`true`}),t[22]=y,t[23]=m);let g;t[24]===n.title?g=t[25]:(g=(0,Z.jsx)(`span`,{className:`truncate`,children:n.title}),t[24]=n.title,t[25]=g);let _;t[26]!==n.status||t[27]!==i?(_=(0,Z.jsx)(Vr,{permission:i,status:n.status}),t[26]=n.status,t[27]=i,t[28]=_):_=t[28];let x;t[29]!==n.status||t[30]!==d||t[31]!==l?(x=(0,Z.jsx)(Hr,{status:n.status,completedLive:l,checkVisible:d}),t[29]=n.status,t[30]=d,t[31]=l,t[32]=x):x=t[32];let S;t[33]!==x||t[34]!==_?(S=(0,Z.jsxs)(`span`,{className:`ml-auto flex shrink-0 items-center gap-1.5`,children:[_,x]}),t[33]=x,t[34]=_,t[35]=S):S=t[35];let C;t[36]!==S||t[37]!==m||t[38]!==g?(C=(0,Z.jsxs)(Z.Fragment,{children:[m,g,S]}),t[36]=S,t[37]=m,t[38]=g,t[39]=C):C=t[39];let w=C,T=p&&`rounded-md border border-border/60`,E;t[40]===T?E=t[41]:(E=f(`text-xs`,T),t[40]=T,t[41]=E);let D;t[42]!==u||t[43]!==a||t[44]!==w?(D=u?(0,Z.jsx)(h,{type:`button`,variant:`ghost`,size:`sm`,className:`h-auto w-full justify-start gap-1.5 rounded-md px-2 py-1.5 font-normal`,onClick:v,"aria-expanded":a,children:w}):(0,Z.jsx)(`div`,{className:`flex w-full items-center gap-1.5 px-2 py-1.5`,children:w}),t[42]=u,t[43]=a,t[44]=w,t[45]=D):D=t[45],b=(0,Z.jsxs)(`div`,{className:E,"data-tool-call":``,"data-testid":`agent-thread-tool-call`,children:[D,p?(0,Z.jsxs)(`div`,{className:`flex flex-col gap-1.5 border-border/60 border-t px-2 py-1.5`,children:[n.diffs.map(Fr),o.map(Pr),n.content.map(Nr),c===null?null:(0,Z.jsx)(Gr,{text:c}),n.locations.length>0?(0,Z.jsx)(`div`,{className:`flex flex-wrap gap-1 text-muted-foreground`,children:n.locations.map(Mr)}):null]}):null]}),t[4]=y,t[5]=n.content,t[6]=n.diffs,t[7]=n.locations,t[8]=n.rawInput,t[9]=n.status,t[10]=n.terminalIds,t[11]=n.title,t[12]=d,t[13]=l,t[14]=a,t[15]=i,t[16]=r,t[17]=b}else b=t[17];return b}function Mr(e,t){return(0,Z.jsxs)(`span`,{className:`rounded bg-muted/50 px-1 py-0.5 font-mono text-[11px]`,children:[e.path,e.line===void 0?``:`:${e.line}`]},t)}function Nr(e,t){return(0,Z.jsx)(`pre`,{className:`overflow-x-auto whitespace-pre-wrap break-words rounded bg-muted/50 px-2 py-1 font-mono text-[11px]`,children:Ar(e)},t)}function Pr(e){return(0,Z.jsx)(Wr,{terminal:e},e.terminalId)}function Fr(e,t){return(0,Z.jsx)(Ur,{diff:e},t)}function Ir(e){return e!==void 0}function Lr(e){return!e}var Rr=new Set([`accept`,`allow`,`approve`,`decline`,`deny`,`no`,`ok`,`reject`,`yes`]);function zr(e){if(e===null)return null;let t=e.trim().toLocaleLowerCase();return t===``||Rr.has(t)?null:e}function Br(){let{_:e}=l();return t=>{if(t===null)return null;if(t.kind===`dismissed`)return e({id:`nmwqWS`});let n=zr(t.optionName);return t.kind===`approved`?t.auto?e({id:`xzAmL_`}):e(n===null?{id:`7kb4LU`}:{id:`rbrHTd`,values:{optionName:n}}):t.auto?e({id:`pUKV4K`}):e(n===null?{id:`JsY1p5`}:{id:`_LczaQ`,values:{optionName:n}})}}function Vr(e){let t=(0,Y.c)(11),{permission:n,status:r}=e,i=Br();if(n===void 0||!n.mergedIntoToolCall)return null;let a,o,s,c;if(t[0]!==i||t[1]!==n||t[2]!==r){c=Symbol.for(`react.early_return_sentinel`);bb0:{let e=je(n);if(e===null||e.kind===`approved`){c=null;break bb0}if(r===`failed`){c=null;break bb0}a=`shrink-0 text-muted-foreground`,o=`agent-thread-tool-permission`,s=i(e)}t[0]=i,t[1]=n,t[2]=r,t[3]=a,t[4]=o,t[5]=s,t[6]=c}else a=t[3],o=t[4],s=t[5],c=t[6];if(c!==Symbol.for(`react.early_return_sentinel`))return c;let l;return t[7]!==a||t[8]!==o||t[9]!==s?(l=(0,Z.jsx)(`span`,{className:a,"data-testid":o,children:s}),t[7]=a,t[8]=o,t[9]=s,t[10]=l):l=t[10],l}function Hr(e){let t=(0,Y.c)(13),{status:n,completedLive:r,checkVisible:i}=e,{_:a}=l(),o;t[0]!==a||t[1]!==n?(o=a(n===`completed`?{id:`Q7xfEj`}:n===`failed`?{id:`7l15X4`}:n===`in_progress`?{id:`KUjOb9`}:{id:`S48xcO`}),t[0]=a,t[1]=n,t[2]=o):o=t[2];let s=o,c;t[3]===s?c=t[4]:(c=(0,Z.jsx)(`span`,{className:`sr-only`,children:s}),t[3]=s,t[4]=c);let u;t[5]!==i||t[6]!==r||t[7]!==s||t[8]!==n?(u=n===`failed`?(0,Z.jsx)(q,{variant:`destructive`,className:`rounded-sm px-1.5 py-0 text-[10px]`,"data-testid":`agent-thread-tool-failed`,children:s}):n===`in_progress`||n===`pending`?(0,Z.jsx)(ne,{className:`size-3.5 animate-spin text-muted-foreground`,"aria-hidden":`true`,"data-testid":`agent-thread-tool-spinner`}):r?(0,Z.jsx)(I,{className:f(`size-3.5 text-muted-foreground/70 transition-opacity duration-500 motion-reduce:transition-none`,i?`opacity-100`:`opacity-0`),"aria-hidden":`true`,"data-testid":`agent-thread-tool-check`}):null,t[5]=i,t[6]=r,t[7]=s,t[8]=n,t[9]=u):u=t[9];let d;return t[10]!==c||t[11]!==u?(d=(0,Z.jsxs)(`span`,{className:`flex shrink-0 items-center`,children:[c,u]}),t[10]=c,t[11]=u,t[12]=d):d=t[12],d}function Ur(e){let t=(0,Y.c)(19),{diff:n}=e,{_:r}=l(),i,a,o,s;if(t[0]!==r||t[1]!==n.newText||t[2]!==n.oldText||t[3]!==n.path){let e=wn(n.oldText,n.newText);o=`overflow-hidden rounded border border-border/60`,t[8]===n.path?s=t[9]:(s=(0,Z.jsx)(`div`,{className:`bg-muted/50 px-2 py-0.5 font-mono text-[11px] text-muted-foreground`,children:n.path}),t[8]=n.path,t[9]=s),i=`overflow-x-auto font-mono text-[11px] leading-snug`;let c;t[10]===r?c=t[11]:(c=(e,t)=>e.type===`gap`?(0,Z.jsx)(`div`,{className:`select-none px-2 text-muted-foreground/70`,children:r({id:`OJOA7Z`,values:{0:e.count}})},t):(0,Z.jsxs)(`div`,{className:f(`px-2`,e.type===`add`&&`bg-green-500/10 text-green-700 dark:text-green-400`,e.type===`del`&&`bg-red-500/10 text-red-700 dark:text-red-400`,e.type===`ctx`&&`text-muted-foreground`),children:[(0,Z.jsx)(`span`,{"aria-hidden":`true`,children:e.type===`add`?`+ `:e.type===`del`?`- `:` `}),e.text]},t),t[10]=r,t[11]=c),a=e.map(c),t[0]=r,t[1]=n.newText,t[2]=n.oldText,t[3]=n.path,t[4]=i,t[5]=a,t[6]=o,t[7]=s}else i=t[4],a=t[5],o=t[6],s=t[7];let c;t[12]!==i||t[13]!==a?(c=(0,Z.jsx)(`pre`,{className:i,children:a}),t[12]=i,t[13]=a,t[14]=c):c=t[14];let u;return t[15]!==o||t[16]!==s||t[17]!==c?(u=(0,Z.jsxs)(`div`,{className:o,children:[s,c]}),t[15]=o,t[16]=s,t[17]=c,t[18]=u):u=t[18],u}function Wr(e){let t=(0,Y.c)(19),{terminal:n}=e,{_:r}=l(),i;t[0]!==n.args||t[1]!==n.command?(i=[n.command,...n.args],t[0]=n.args,t[1]=n.command,t[2]=i):i=t[2];let a=i.join(` `),o;if(t[3]!==r||t[4]!==a||t[5]!==n.exit||t[6]!==n.output||t[7]!==n.truncated){let e=jn(n.output),i=n.exit,s=i!==null&&(i.signal!==null||i.exitCode!==0),c;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,Z.jsx)(Fe,{className:`size-3 shrink-0 text-muted-foreground`,"aria-hidden":`true`}),t[9]=c):c=t[9];let l;t[10]===a?l=t[11]:(l=(0,Z.jsx)(`span`,{className:`truncate font-mono text-[11px] text-muted-foreground`,title:a,children:a}),t[10]=a,t[11]=l);let u;t[12]!==r||t[13]!==i||t[14]!==s?(u=(0,Z.jsx)(`span`,{className:`ml-auto shrink-0`,children:i===null?(0,Z.jsxs)(`span`,{className:`flex items-center gap-1 text-[10px] text-muted-foreground shimmer`,children:[(0,Z.jsx)(ne,{className:`size-3 animate-spin`,"aria-hidden":`true`}),r({id:`KUjOb9`})]}):(0,Z.jsx)(q,{variant:s?`destructive`:`secondary`,className:`px-1.5 py-0 font-mono text-[10px] rounded-sm`,"data-testid":`agent-thread-terminal-exit`,children:i.signal===null?r({id:`APNlbk`,values:{0:i.exitCode??0}}):i.signal})}),t[12]=r,t[13]=i,t[14]=s,t[15]=u):u=t[15];let d;t[16]!==l||t[17]!==u?(d=(0,Z.jsxs)(`div`,{className:`flex items-center gap-1.5 bg-muted/50 px-2 py-0.5`,children:[c,l,u]}),t[16]=l,t[17]=u,t[18]=d):d=t[18],o=(0,Z.jsxs)(`div`,{className:`overflow-hidden rounded border border-border/60`,"data-testid":`agent-thread-terminal`,children:[d,e.trim()!==``||n.truncated?(0,Z.jsxs)(`pre`,{className:`max-h-64 overflow-auto whitespace-pre-wrap break-words px-2 py-1 font-mono text-[11px] leading-snug`,children:[n.truncated?`${r({id:`_Pmhxt`})}\n`:null,e]}):null]}),t[3]=r,t[4]=a,t[5]=n.exit,t[6]=n.output,t[7]=n.truncated,t[8]=o}else o=t[8];return o}function Gr(e){let t=(0,Y.c)(17),{text:n}=e,{_:r}=l(),[i,a]=(0,X.useState)(!1),o=(0,X.useId)(),s;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=()=>a(Kr),t[0]=s):s=t[0];let c;t[1]===i?c=t[2]:(c=i?(0,Z.jsx)(L,{className:`size-3`,"aria-hidden":`true`}):(0,Z.jsx)(R,{className:`size-3`,"aria-hidden":`true`}),t[1]=i,t[2]=c);let u;t[3]===r?u=t[4]:(u=r({id:`XU5AOg`}),t[3]=r,t[4]=u);let d;t[5]!==o||t[6]!==i||t[7]!==c||t[8]!==u?(d=(0,Z.jsxs)(h,{type:`button`,variant:`ghost`,size:`sm`,className:`h-auto w-full justify-start gap-1 px-0 py-0.5 text-[10px] text-muted-foreground uppercase tracking-wide hover:bg-transparent`,onClick:s,"aria-expanded":i,"aria-controls":o,children:[c,u]}),t[5]=o,t[6]=i,t[7]=c,t[8]=u,t[9]=d):d=t[9];let f;t[10]!==o||t[11]!==i||t[12]!==n?(f=i?(0,Z.jsx)(`pre`,{id:o,className:`overflow-x-auto whitespace-pre-wrap break-words rounded bg-muted/30 px-2 py-1 font-mono text-[11px] text-muted-foreground`,children:n}):null,t[10]=o,t[11]=i,t[12]=n,t[13]=f):f=t[13];let p;return t[14]!==d||t[15]!==f?(p=(0,Z.jsxs)(`div`,{"data-testid":`agent-thread-tool-raw-input`,children:[d,f]}),t[14]=d,t[15]=f,t[16]=p):p=t[16],p}function Kr(e){return!e}function qr(e){let t=(0,Y.c)(32),{item:n,threadId:r,actionable:i}=e,{_:a}=l(),o=Br(),s;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=ke(),t[0]=s):s=t[0];let c=s,u=je(n),d=u===null,p=(0,X.useRef)(null),m=(0,X.useRef)(null),g;t[1]!==n.requestId||t[2]!==r?(g=e=>{c.respondPermission(r,n.requestId,{kind:`selected`,optionId:e})},t[1]=n.requestId,t[2]=r,t[3]=g):g=t[3];let _=g,v,y,b;if(t[4]!==n.options){let e=n.options.filter(Zr),r=n.options.filter(Xr);v=e.find(Yr)??e[0],y=e.filter(e=>e!==v);let i=r.find(Jr)??r[0];b=i===void 0?[]:[i,...r.filter(e=>e!==i)],t[4]=n.options,t[5]=v,t[6]=y,t[7]=b}else v=t[5],y=t[6],b=t[7];let x=b,S=v===void 0?m:void 0,C,w;t[8]!==i||t[9]!==d?(C=()=>{if(!d||!i)return;let e=p.current?.closest(`[data-agent-thread-root]`);e==null||!e.contains(document.activeElement)||m.current?.focus()},w=[d,i],t[8]=i,t[9]=d,t[10]=C,t[11]=w):(C=t[10],w=t[11]),(0,X.useEffect)(C,w);let T=o(u),E=d&&i?`border-border bg-muted/30`:`border-border/60 bg-muted/20`,D;t[12]===E?D=t[13]:(D=f(`rounded-md border px-2.5 py-2 text-sm`,E),t[12]=E,t[13]=D);let O;t[14]===n.title?O=t[15]:(O=(0,Z.jsx)(`div`,{className:`mb-1.5 font-medium`,children:n.title}),t[14]=n.title,t[15]=O);let k;t[16]!==a||t[17]!==i||t[18]!==x||t[19]!==S||t[20]!==n.requestId||t[21]!==d||t[22]!==v||t[23]!==T||t[24]!==y||t[25]!==_||t[26]!==r?(k=d?i?(0,Z.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[x.length>0?(0,Z.jsx)(Qr,{options:x,onSelect:_,buttonRef:S,testId:`agent-thread-permission-deny`,moreLabel:a({id:`xlQpTE`}),menuAlign:`start`}):(0,Z.jsx)(h,{ref:S,type:`button`,size:`sm`,variant:`outline`,className:`text-xs`,onClick:()=>c.respondPermission(r,n.requestId,{kind:`cancelled`}),"data-testid":`agent-thread-permission-deny`,children:a({id:`cFCKYZ`})}),(0,Z.jsxs)(`div`,{className:`ml-auto flex items-center gap-1.5`,children:[y.length>0?(0,Z.jsx)(Qr,{options:y,onSelect:_,testId:`agent-thread-permission-allow-more`,moreLabel:a({id:`9dVehq`}),menuAlign:`end`}):null,v===void 0?null:(0,Z.jsx)(h,{ref:m,type:`button`,size:`sm`,className:`text-xs normal-case font-sans`,title:v.name,onClick:()=>_(v.optionId),"data-testid":`agent-thread-permission-allow`,"data-permission-kind":v.kind,children:(0,Z.jsx)(`span`,{className:`max-w-52 truncate`,children:v.name})})]})]}):(0,Z.jsx)(`div`,{className:`text-muted-foreground text-xs`,children:a({id:`Tz4dq-`})}):(0,Z.jsx)(`div`,{className:`text-muted-foreground text-xs`,"data-testid":`agent-thread-permission-outcome`,children:T}),t[16]=a,t[17]=i,t[18]=x,t[19]=S,t[20]=n.requestId,t[21]=d,t[22]=v,t[23]=T,t[24]=y,t[25]=_,t[26]=r,t[27]=k):k=t[27];let A;return t[28]!==D||t[29]!==O||t[30]!==k?(A=(0,Z.jsxs)(`div`,{ref:p,className:D,"data-testid":`agent-thread-permission`,children:[O,k]}),t[28]=D,t[29]=O,t[30]=k,t[31]=A):A=t[31],A}function Jr(e){return e.kind===`reject_once`}function Yr(e){return e.kind===`allow_once`}function Xr(e){return e.kind.startsWith(`reject`)}function Zr(e){return e.kind.startsWith(`allow`)}function Qr(e){let t=(0,Y.c)(31),{options:n,onSelect:r,buttonRef:i,testId:a,moreLabel:o,menuAlign:s}=e,c=n[0];if(c===void 0)return null;let l;t[0]!==r||t[1]!==c.optionId?(l=()=>r(c.optionId),t[0]=r,t[1]=c.optionId,t[2]=l):l=t[2];let u;t[3]===c.name?u=t[4]:(u=(0,Z.jsx)(`span`,{className:`max-w-52 truncate`,children:c.name}),t[3]=c.name,t[4]=u);let d;t[5]!==i||t[6]!==c.kind||t[7]!==c.name||t[8]!==l||t[9]!==u||t[10]!==a?(d=(0,Z.jsx)(h,{ref:i,type:`button`,size:`sm`,variant:`outline`,className:`text-xs`,title:c.name,onClick:l,"data-testid":a,"data-permission-kind":c.kind,children:u}),t[5]=i,t[6]=c.kind,t[7]=c.name,t[8]=l,t[9]=u,t[10]=a,t[11]=d):d=t[11];let f=d;if(n.length===1)return f;let p;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,Z.jsx)(pe,{}),t[12]=p):p=t[12];let m=`${a}-more`,g;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,Z.jsx)(L,{className:`size-3.5`,"aria-hidden":`true`}),t[13]=g):g=t[13];let _;t[14]!==o||t[15]!==m?(_=(0,Z.jsx)(E,{asChild:!0,children:(0,Z.jsx)(h,{type:`button`,size:`icon-sm`,variant:`outline`,"aria-label":o,"data-testid":m,children:g})}),t[14]=o,t[15]=m,t[16]=_):_=t[16];let v;if(t[17]!==r||t[18]!==n){let e;t[20]===r?e=t[21]:(e=e=>(0,Z.jsx)(x,{onSelect:()=>r(e.optionId),"data-permission-kind":e.kind,children:e.name},e.optionId),t[20]=r,t[21]=e),v=n.map(e),t[17]=r,t[18]=n,t[19]=v}else v=t[19];let y;t[22]!==s||t[23]!==v?(y=(0,Z.jsx)(A,{align:s,className:`max-w-72`,children:v}),t[22]=s,t[23]=v,t[24]=y):y=t[24];let b;t[25]!==_||t[26]!==y?(b=(0,Z.jsxs)(j,{children:[_,y]}),t[25]=_,t[26]=y,t[27]=b):b=t[27];let S;return t[28]!==f||t[29]!==b?(S=(0,Z.jsxs)(de,{children:[f,p,b]}),t[28]=f,t[29]=b,t[30]=S):S=t[30],S}function $r(e){let t=(0,Y.c)(89),{item:n,threadId:r}=e,{_:i}=l(),a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=ke(),t[0]=a):a=t[0];let o=a,[s,c]=(0,X.useState)(!0);if(n.resolved===`declined`||n.resolved===`timeout`){let e;t[1]!==i||t[2]!==n.displayName||t[3]!==n.resolved?(e=n.resolved===`declined`?i({id:`sgmRY8`,values:{0:n.displayName}}):i({id:`Y_GpJd`,values:{0:n.displayName}}),t[1]=i,t[2]=n.displayName,t[3]=n.resolved,t[4]=e):e=t[4];let r;return t[5]===e?r=t[6]:(r=(0,Z.jsx)(`div`,{className:`rounded-md border border-border/60 bg-muted/20 px-2.5 py-2 text-muted-foreground text-xs`,"data-testid":`agent-thread-runtime-consent`,children:e}),t[5]=e,t[6]=r),r}if(n.resolved===`granted`){if(n.install===`done`){let e;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,Z.jsx)(I,{className:`size-3.5 shrink-0 text-green-600 dark:text-green-400`,"aria-hidden":`true`}),t[7]=e):e=t[7];let r;t[8]!==i||t[9]!==n.displayName||t[10]!==n.version?(r=i({id:`lKQnp-`,values:{0:n.displayName,1:n.version}}),t[8]=i,t[9]=n.displayName,t[10]=n.version,t[11]=r):r=t[11];let a;return t[12]===r?a=t[13]:(a=(0,Z.jsxs)(`div`,{className:`flex items-center gap-1.5 rounded-md border border-border/60 bg-muted/20 px-2.5 py-2 text-muted-foreground text-xs`,"data-testid":`agent-thread-runtime-consent`,children:[e,(0,Z.jsx)(`span`,{children:r})]}),t[12]=r,t[13]=a),a}if(n.install===`failed`){let e;t[14]!==i||t[15]!==n.displayName?(e=i({id:`jeJexw`,values:{0:n.displayName}}),t[14]=i,t[15]=n.displayName,t[16]=e):e=t[16];let r;return t[17]===e?r=t[18]:(r=(0,Z.jsx)(`div`,{className:`rounded-md border border-border/60 bg-muted/20 px-2.5 py-2 text-muted-foreground text-xs`,"data-testid":`agent-thread-runtime-consent`,children:e}),t[17]=e,t[18]=r),r}let e;t[19]===n.progress?e=t[20]:(e=ei(n.progress),t[19]=n.progress,t[20]=e);let r=e,a;t[21]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,Z.jsx)(ne,{className:`size-3.5 shrink-0 animate-spin`,"aria-hidden":`true`}),t[21]=a):a=t[21];let o;t[22]!==i||t[23]!==n.displayName||t[24]!==n.version?(o=i({id:`DMeaxi`,values:{0:n.displayName,1:n.version}}),t[22]=i,t[23]=n.displayName,t[24]=n.version,t[25]=o):o=t[25];let s;t[26]===o?s=t[27]:(s=(0,Z.jsxs)(`div`,{className:`mb-1.5 flex items-center gap-1.5 text-muted-foreground`,children:[a,(0,Z.jsx)(`span`,{children:o})]}),t[26]=o,t[27]=s);let c=r===null?`40%`:`${r}%`,l;t[28]===c?l=t[29]:(l=(0,Z.jsx)(`div`,{className:`h-1.5 w-full overflow-hidden rounded-full bg-muted`,children:(0,Z.jsx)(`div`,{className:`h-full rounded-full bg-primary transition-[width] duration-200`,style:{width:c}})}),t[28]=c,t[29]=l);let u;t[30]===r?u=t[31]:(u=r===null?null:(0,Z.jsx)(`div`,{className:`mt-1 text-[11px] text-muted-foreground`,children:`${r}%`}),t[30]=r,t[31]=u);let d;return t[32]!==s||t[33]!==l||t[34]!==u?(d=(0,Z.jsxs)(`div`,{className:`rounded-md border border-border/60 bg-muted/30 px-2.5 py-2 text-xs`,"data-testid":`agent-thread-runtime-consent`,children:[s,l,u]}),t[32]=s,t[33]=l,t[34]=u,t[35]=d):d=t[35],d}let u;t[36]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,Z.jsx)(B,{className:`size-4 shrink-0`,"aria-hidden":`true`}),t[36]=u):u=t[36];let d;t[37]!==i||t[38]!==n.agentName||t[39]!==n.displayName?(d=i({id:`u5Utjn`,values:{0:n.agentName,1:n.displayName}}),t[37]=i,t[38]=n.agentName,t[39]=n.displayName,t[40]=d):d=t[40];let f;t[41]===d?f=t[42]:(f=(0,Z.jsxs)(`div`,{className:`mb-1 flex items-center gap-1.5 font-medium`,children:[u,(0,Z.jsx)(`span`,{children:d})]}),t[41]=d,t[42]=f);let p;t[43]!==i||t[44]!==n.approxSizeMB||t[45]!==n.displayName||t[46]!==n.provides||t[47]!==n.sourceHost||t[48]!==n.version?(p=i({id:`l7Qq48`,values:{0:n.provides,1:n.displayName,2:n.version,3:n.approxSizeMB,4:n.sourceHost}}),t[43]=i,t[44]=n.approxSizeMB,t[45]=n.displayName,t[46]=n.provides,t[47]=n.sourceHost,t[48]=n.version,t[49]=p):p=t[49];let m;t[50]===p?m=t[51]:(m=(0,Z.jsx)(`p`,{className:`mb-2 text-muted-foreground text-xs`,children:p}),t[50]=p,t[51]=m);let g=`runtime-consent-remember-${n.requestId}`,_=`runtime-consent-remember-${n.requestId}`,v;t[52]===Symbol.for(`react.memo_cache_sentinel`)?(v=e=>c(e===!0),t[52]=v):v=t[52];let y;t[53]!==s||t[54]!==_?(y=(0,Z.jsx)(b,{id:_,checked:s,onCheckedChange:v,"data-testid":`agent-thread-runtime-consent-remember`}),t[53]=s,t[54]=_,t[55]=y):y=t[55];let x;t[56]===i?x=t[57]:(x=i({id:`oi4zaa`}),t[56]=i,t[57]=x);let S;t[58]!==y||t[59]!==x||t[60]!==g?(S=(0,Z.jsxs)(`label`,{htmlFor:g,className:`mb-2 flex w-fit items-center gap-1.5 text-muted-foreground text-xs`,children:[y,x]}),t[58]=y,t[59]=x,t[60]=g,t[61]=S):S=t[61];let C;t[62]!==n.requestId||t[63]!==s||t[64]!==r?(C=()=>o.respondRuntimeConsent(r,n.requestId,{kind:`granted`,remember:s}),t[62]=n.requestId,t[63]=s,t[64]=r,t[65]=C):C=t[65];let w;t[66]!==i||t[67]!==n.displayName?(w=i({id:`BjitBo`,values:{0:n.displayName}}),t[66]=i,t[67]=n.displayName,t[68]=w):w=t[68];let T;t[69]!==C||t[70]!==w?(T=(0,Z.jsx)(h,{type:`button`,size:`sm`,className:`h-7 text-xs`,onClick:C,"data-testid":`agent-thread-runtime-consent-allow`,children:w}),t[69]=C,t[70]=w,t[71]=T):T=t[71];let E;t[72]!==n.requestId||t[73]!==s||t[74]!==r?(E=()=>o.respondRuntimeConsent(r,n.requestId,{kind:`declined`,remember:s}),t[72]=n.requestId,t[73]=s,t[74]=r,t[75]=E):E=t[75];let D;t[76]===i?D=t[77]:(D=i({id:`PBxg_E`}),t[76]=i,t[77]=D);let O;t[78]!==E||t[79]!==D?(O=(0,Z.jsx)(h,{type:`button`,size:`sm`,variant:`outline`,className:`h-7 text-xs`,onClick:E,"data-testid":`agent-thread-runtime-consent-decline`,children:D}),t[78]=E,t[79]=D,t[80]=O):O=t[80];let k;t[81]!==T||t[82]!==O?(k=(0,Z.jsxs)(`div`,{className:`flex flex-wrap gap-1.5`,children:[T,O]}),t[81]=T,t[82]=O,t[83]=k):k=t[83];let A;return t[84]!==S||t[85]!==k||t[86]!==f||t[87]!==m?(A=(0,Z.jsxs)(`div`,{className:`rounded-md border border-blue-500/40 bg-blue-500/5 px-2.5 py-2 text-sm`,"data-testid":`agent-thread-runtime-consent`,children:[f,m,S,k]}),t[84]=S,t[85]=k,t[86]=f,t[87]=m,t[88]=A):A=t[88],A}function ei(e){return e===null||e.totalBytes===null||e.totalBytes<=0?null:Math.min(100,Math.round(e.receivedBytes/e.totalBytes*100))}function ti(e){let t=Math.round(e/1e3);if(t>=1e3){let t=e/1e6;return`${t%1==0?t.toFixed(0):t.toFixed(1)}M`}return e>=1e3?`${t}k`:String(e)}function ni(e){let t=(0,Y.c)(47),{used:n,size:r,percent:i}=e,{_:a}=l(),o=2*Math.PI*6,s=i>=90?`text-red-500`:i>=75?`text-amber-500`:`text-muted-foreground/60`,c=100-i,u,d,p,m,h,y,b,x,S;if(t[0]!==a||t[1]!==c||t[2]!==i||t[3]!==r||t[4]!==s||t[5]!==n){let e=ti(n),l=ti(r);d=v;let C=a({id:`ElatXA`,values:{percent:i,usedLabel:e,sizeLabel:l}}),w;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,Z.jsx)(`circle`,{cx:`8`,cy:`8`,r:6,fill:`none`,strokeWidth:`2`,className:`stroke-current text-muted-foreground/10`}),t[15]=w):w=t[15];let T=o*(1-i/100),E;t[16]===s?E=t[17]:(E=f(`stroke-current transition-[stroke-dashoffset]`,s),t[16]=s,t[17]=E);let D;t[18]!==T||t[19]!==E?(D=(0,Z.jsxs)(`svg`,{viewBox:`0 0 16 16`,className:`size-4 -rotate-90`,"aria-hidden":`true`,children:[w,(0,Z.jsx)(`circle`,{cx:`8`,cy:`8`,r:6,fill:`none`,strokeWidth:`2`,strokeLinecap:`round`,strokeDasharray:o,strokeDashoffset:T,className:E})]}),t[18]=T,t[19]=E,t[20]=D):D=t[20],S=(0,Z.jsx)(g,{"aria-label":C,className:`flex size-5 items-center justify-center rounded-full outline-none focus-visible:ring-2 focus-visible:ring-ring/50`,"data-testid":`agent-thread-usage`,children:D}),u=_,x=`top`,h=`flex flex-col items-center gap-0.5 text-center`;let O;t[21]===a?O=t[22]:(O=a({id:`MJuO1q`}),t[21]=a,t[22]=O),t[23]===O?y=t[24]:(y=(0,Z.jsx)(`span`,{className:`text-background/60`,children:O}),t[23]=O,t[24]=y);let k;t[25]!==a||t[26]!==c||t[27]!==i?(k=a({id:`syi2ye`,values:{percent:i,left:c}}),t[25]=a,t[26]=c,t[27]=i,t[28]=k):k=t[28],t[29]===k?b=t[30]:(b=(0,Z.jsx)(`span`,{children:k}),t[29]=k,t[30]=b),p=`tabular-nums`,m=a({id:`EPwuTC`,values:{usedLabel:e,sizeLabel:l}}),t[0]=a,t[1]=c,t[2]=i,t[3]=r,t[4]=s,t[5]=n,t[6]=u,t[7]=d,t[8]=p,t[9]=m,t[10]=h,t[11]=y,t[12]=b,t[13]=x,t[14]=S}else u=t[6],d=t[7],p=t[8],m=t[9],h=t[10],y=t[11],b=t[12],x=t[13],S=t[14];let C;t[31]!==p||t[32]!==m?(C=(0,Z.jsx)(`span`,{className:p,children:m}),t[31]=p,t[32]=m,t[33]=C):C=t[33];let w;t[34]!==h||t[35]!==y||t[36]!==b||t[37]!==C?(w=(0,Z.jsxs)(`div`,{className:h,children:[y,b,C]}),t[34]=h,t[35]=y,t[36]=b,t[37]=C,t[38]=w):w=t[38];let T;t[39]!==u||t[40]!==x||t[41]!==w?(T=(0,Z.jsx)(u,{side:x,children:w}),t[39]=u,t[40]=x,t[41]=w,t[42]=T):T=t[42];let E;return t[43]!==d||t[44]!==T||t[45]!==S?(E=(0,Z.jsxs)(d,{children:[S,T]}),t[43]=d,t[44]=T,t[45]=S,t[46]=E):E=t[46],E}function ri(e){let t=(0,Y.c)(67),{info:n,draft:r,onDraftChange:i,onSubmit:a,canPrompt:o,canQueue:s,turnActive:c,cancelPending:u,onCancel:d,status:f,archived:p,resumePending:m,usage:y,queuedComments:b,selectedCommentCount:x,hasQueuedComments:S,commentsExpanded:C,onAttachComments:w,onToggleCommentsExpanded:T,onDismissComments:E}=e,{_:D}=l(),O=(0,X.useRef)(null),k=Xn(n.agent.name),A;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(A=()=>{let e=O.current;e!==null&&(e.style.height=`auto`,e.style.height=`${Math.min(e.scrollHeight,160)}px`)},t[0]=A):A=t[0];let j;t[1]===r?j=t[2]:(j=[r],t[1]=r,t[2]=j),(0,X.useEffect)(A,j);let M;t[3]===y?M=t[4]:(M=y!==null&&y.used!==void 0&&y.size!==void 0&&y.size>0?Math.min(100,Math.round(y.used/y.size*100)):null,t[3]=y,t[4]=M);let N=M,P;t[5]===n.queue?P=t[6]:(P=n.queue??[],t[5]=n.queue,t[6]=P);let F=P,te=b.length,I;t[7]!==r||t[8]!==S?(I=r.trim()!==``||S,t[7]=r,t[8]=S,t[9]=I):I=t[9];let L=I,R;t[10]!==p||t[11]!==n.threadId||t[12]!==F?(R=F.length>0&&!p?(0,Z.jsx)(ii,{threadId:n.threadId,queue:F}):null,t[10]=p,t[11]=n.threadId,t[12]=F,t[13]=R):R=t[13];let z;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(z=e=>_e(e,O),t[14]=z):z=t[14];let B;t[15]!==C||t[16]!==S||t[17]!==w||t[18]!==E||t[19]!==T||t[20]!==te||t[21]!==b||t[22]!==x?(B=te>0?(0,Z.jsxs)(he,{className:`px-3 pt-2 pb-1`,children:[(0,Z.jsx)(ae,{count:S?x:te,attached:S,expanded:C,onAttach:w,onToggleExpanded:T,onDismiss:E}),S&&C?(0,Z.jsx)(ie,{threads:b}):null]}):null,t[15]=C,t[16]=S,t[17]=w,t[18]=E,t[19]=T,t[20]=te,t[21]=b,t[22]=x,t[23]=B):B=t[23];let V=ye,H;t[24]===i?H=t[25]:(H=e=>i(e.target.value),t[24]=i,t[25]=H);let re;t[26]!==u||t[27]!==d||t[28]!==a||t[29]!==c?(re=e=>{e.key===`Enter`&&!e.shiftKey?(e.preventDefault(),a()):e.key===`Escape`&&c&&!u&&(e.preventDefault(),d())},t[26]=u,t[27]=d,t[28]=a,t[29]=c,t[30]=re):re=t[30];let oe=D({id:`mToVM9`,values:{agentName:k}}),U=D(p?m?{id:`3oEK1e`}:{id:`e9sHSO`}:f===`auth_required`?{id:`r2eKE3`,values:{agentName:k}}:{id:`mToVM9`,values:{agentName:k}}),W=p?m:f!==`ready`&&f!==`running`&&f!==`awaiting_permission`,se;t[31]!==V||t[32]!==r||t[33]!==H||t[34]!==re||t[35]!==oe||t[36]!==U||t[37]!==W?(se=(0,Z.jsx)(V,{ref:O,value:r,onChange:H,onKeyDown:re,rows:1,"aria-label":oe,placeholder:U,disabled:W,className:`max-h-40 min-h-9 resize-none border-0 bg-transparent pb-0 shadow-none focus-visible:border-0 focus-visible:ring-0 disabled:bg-transparent dark:bg-transparent dark:disabled:bg-transparent placeholder:text-muted-foreground/60`,"data-testid":`agent-thread-composer`}),t[31]=V,t[32]=r,t[33]=H,t[34]=re,t[35]=oe,t[36]=U,t[37]=W,t[38]=se):se=t[38];let G;t[39]===n?G=t[40]:(G=(0,Z.jsx)(sr,{info:n}),t[39]=n,t[40]=G);let ce;t[41]!==y||t[42]!==N?(ce=N!==null&&y?.used!==void 0&&y?.size!==void 0?(0,Z.jsx)(ni,{used:y.used,size:y.size,percent:N}):null,t[41]=y,t[42]=N,t[43]=ce):ce=t[43];let K;t[44]!==D||t[45]!==o||t[46]!==s||t[47]!==u||t[48]!==L||t[49]!==d||t[50]!==a||t[51]!==c?(K=c&&(u||!L)?(0,Z.jsxs)(v,{children:[(0,Z.jsx)(g,{asChild:!0,children:(0,Z.jsx)(h,{type:`button`,size:`icon-sm`,className:`rounded-lg`,disabled:u,onClick:d,"aria-label":D(u?{id:`161NCV`}:{id:`ygCKqB`}),"data-testid":`agent-thread-cancel`,children:u?(0,Z.jsx)(ne,{className:`size-3.5 animate-spin`,"aria-hidden":`true`}):(0,Z.jsx)(Pe,{className:`size-3 fill-current`,"aria-hidden":`true`})})}),(0,Z.jsx)(_,{side:`top`,children:D({id:`RLYckQ`})})]}):(0,Z.jsx)(h,{type:`button`,size:`icon-sm`,className:`rounded-lg`,disabled:!(o||s)||!L,onClick:a,"aria-label":D(s?{id:`RQWuCs`}:{id:`JlFcis`}),"data-testid":`agent-thread-send`,children:(0,Z.jsx)(ee,{className:`size-4`,"aria-hidden":`true`})}),t[44]=D,t[45]=o,t[46]=s,t[47]=u,t[48]=L,t[49]=d,t[50]=a,t[51]=c,t[52]=K):K=t[52];let le;t[53]!==ce||t[54]!==K?(le=(0,Z.jsxs)(`div`,{className:`ml-auto flex items-center gap-1.5`,children:[ce,K]}),t[53]=ce,t[54]=K,t[55]=le):le=t[55];let ue;t[56]!==G||t[57]!==le?(ue=(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 px-1.5 pt-1 pb-1.5`,children:[G,le]}),t[56]=G,t[57]=le,t[58]=ue):ue=t[58];let q;t[59]!==B||t[60]!==se||t[61]!==ue||t[62]!==z?(q=(0,Z.jsxs)(`div`,{onMouseDown:z,className:`cursor-text rounded-lg border border-input bg-transparent transition-colors focus-within:border-ring focus-within:ring-3 focus-within:ring-ring/50 dark:bg-input/30`,children:[B,se,ue]}),t[59]=B,t[60]=se,t[61]=ue,t[62]=z,t[63]=q):q=t[63];let J;return t[64]!==q||t[65]!==R?(J=(0,Z.jsxs)(`div`,{className:`p-2`,children:[R,q]}),t[64]=q,t[65]=R,t[66]=J):J=t[66],J}function ii(e){let t=(0,Y.c)(12),{threadId:n,queue:r}=e,{_:i}=l(),a;t[0]===i?a=t[1]:(a=i({id:`8wu9lr`}),t[0]=i,t[1]=a);let o;t[2]===a?o=t[3]:(o=(0,Z.jsx)(`span`,{className:`px-1 font-medium text-[10px] text-muted-foreground/70 uppercase tracking-wide`,children:a}),t[2]=a,t[3]=o);let s;if(t[4]!==r||t[5]!==n){let e;t[7]===n?e=t[8]:(e=e=>(0,Z.jsx)(ai,{threadId:n,message:e},e.id),t[7]=n,t[8]=e),s=r.map(e),t[4]=r,t[5]=n,t[6]=s}else s=t[6];let c;return t[9]!==o||t[10]!==s?(c=(0,Z.jsxs)(`div`,{className:`mb-1.5 flex flex-col gap-1`,"data-testid":`agent-thread-queue`,children:[o,s]}),t[9]=o,t[10]=s,t[11]=c):c=t[11],c}function ai(e){let t=(0,Y.c)(59),{threadId:n,message:r}=e,{_:i}=l(),a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=ke(),t[0]=a):a=t[0];let o=a,[s,c]=(0,X.useState)(!1),[u,d]=(0,X.useState)(``),f;t[1]===r.content?f=t[2]:(f=()=>{d(r.content),c(!0)},t[1]=r.content,t[2]=f);let p=f,m;t[3]!==r.content||t[4]!==r.id||t[5]!==n||t[6]!==u?(m=()=>{let e=u.trim();if(e===``){c(!1);return}e!==r.content&&o.editQueued(n,r.id,e),c(!1)},t[3]=r.content,t[4]=r.id,t[5]=n,t[6]=u,t[7]=m):m=t[7];let g=m;if(s){let e;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(e=e=>d(e.target.value),t[8]=e):e=t[8];let n;t[9]===g?n=t[10]:(n=e=>{e.key===`Enter`&&!e.shiftKey?(e.preventDefault(),g()):e.key===`Escape`&&(e.preventDefault(),c(!1))},t[9]=g,t[10]=n);let r;t[11]===i?r=t[12]:(r=i({id:`5soCUZ`}),t[11]=i,t[12]=r);let a;t[13]!==n||t[14]!==r||t[15]!==u?(a=(0,Z.jsx)(ye,{value:u,onChange:e,onKeyDown:n,autoFocus:!0,rows:1,"aria-label":r,className:`min-h-8 resize-none border-0 bg-transparent px-1.5 py-1 shadow-none focus-visible:border-0 focus-visible:ring-0 dark:bg-transparent`,"data-testid":`agent-thread-queued-input`}),t[13]=n,t[14]=r,t[15]=u,t[16]=a):a=t[16];let o;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(o=()=>c(!1),t[17]=o):o=t[17];let s;t[18]===i?s=t[19]:(s=i({id:`nBHvPL`}),t[18]=i,t[19]=s);let l;t[20]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,Z.jsx)(G,{className:`size-3.5`,"aria-hidden":`true`}),t[20]=l):l=t[20];let f;t[21]===s?f=t[22]:(f=(0,Z.jsx)(h,{type:`button`,size:`icon-sm`,variant:`ghost`,className:`size-6`,onClick:o,"aria-label":s,"data-testid":`agent-thread-queued-cancel-edit`,children:l}),t[21]=s,t[22]=f);let p;t[23]===u?p=t[24]:(p=u.trim(),t[23]=u,t[24]=p);let m=p===``,_;t[25]===i?_=t[26]:(_=i({id:`CB7c0Z`}),t[25]=i,t[26]=_);let v;t[27]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,Z.jsx)(I,{className:`size-3.5`,"aria-hidden":`true`}),t[27]=v):v=t[27];let y;t[28]!==g||t[29]!==m||t[30]!==_?(y=(0,Z.jsx)(h,{type:`button`,size:`icon-sm`,variant:`ghost`,className:`size-6`,disabled:m,onClick:g,"aria-label":_,"data-testid":`agent-thread-queued-save`,children:v}),t[28]=g,t[29]=m,t[30]=_,t[31]=y):y=t[31];let b;t[32]!==f||t[33]!==y?(b=(0,Z.jsxs)(`div`,{className:`flex items-center justify-end gap-1`,children:[f,y]}),t[32]=f,t[33]=y,t[34]=b):b=t[34];let x;return t[35]!==b||t[36]!==a?(x=(0,Z.jsxs)(`div`,{className:`rounded-md border border-input bg-muted/30 p-1`,"data-testid":`agent-thread-queued-editing`,children:[a,b]}),t[35]=b,t[36]=a,t[37]=x):x=t[37],x}let _;t[38]===r.content?_=t[39]:(_=(0,Z.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-muted-foreground text-sm`,children:r.content}),t[38]=r.content,t[39]=_);let v;t[40]===i?v=t[41]:(v=i({id:`5soCUZ`}),t[40]=i,t[41]=v);let y;t[42]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,Z.jsx)(U,{className:`size-3.5`,"aria-hidden":`true`}),t[42]=y):y=t[42];let b;t[43]!==p||t[44]!==v?(b=(0,Z.jsx)(h,{type:`button`,size:`icon-sm`,variant:`ghost`,className:`size-6 shrink-0 text-muted-foreground`,onClick:p,"aria-label":v,"data-testid":`agent-thread-queued-edit`,children:y}),t[43]=p,t[44]=v,t[45]=b):b=t[45];let x;t[46]!==r.id||t[47]!==n?(x=()=>o.removeQueued(n,r.id),t[46]=r.id,t[47]=n,t[48]=x):x=t[48];let S;t[49]===i?S=t[50]:(S=i({id:`-WeuHF`}),t[49]=i,t[50]=S);let C;t[51]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,Z.jsx)(G,{className:`size-3.5`,"aria-hidden":`true`}),t[51]=C):C=t[51];let w;t[52]!==x||t[53]!==S?(w=(0,Z.jsx)(h,{type:`button`,size:`icon-sm`,variant:`ghost`,className:`size-6 shrink-0 text-muted-foreground`,onClick:x,"aria-label":S,"data-testid":`agent-thread-queued-remove`,children:C}),t[52]=x,t[53]=S,t[54]=w):w=t[54];let T;return t[55]!==w||t[56]!==_||t[57]!==b?(T=(0,Z.jsxs)(`div`,{className:`flex items-center gap-1 rounded-md border border-input/60 bg-muted/30 py-0.5 pl-2 pr-1`,"data-testid":`agent-thread-queued`,children:[_,b,w]}),t[55]=w,t[56]=_,t[57]=b,t[58]=T):T=t[58],T}export{Zn as ThreadView};
@@ -1 +0,0 @@
1
- import{t as e}from"./repair-skills-y_pZk48z.mjs";export{e as repairSkills};
@@ -1 +0,0 @@
1
- import{a as e,o as t,r as n}from"./server-lock-DsDrc4RU.mjs";export{n as markServerLockDraining,e as releaseServerLock,t as updateServerLockPort};
@@ -1 +0,0 @@
1
- import{p as e,r as t,v as n}from"./start-CV7wEZ2G.mjs";export{t as bootStartServer,e as resolveHost,n as startCommand};