@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.
- package/dist/{acp-harness-probe-DBdQYHRX.mjs → acp-harness-probe-D_rHo13p.mjs} +2 -2
- package/dist/cli.mjs +7 -7
- package/dist/constants-BA9qYvyG.mjs +2 -0
- package/dist/git-handle-CYRWHEh7.mjs +1 -0
- package/dist/{git-handle-DyGrpFVy.mjs → git-handle-DFxY8JnX.mjs} +2 -2
- package/dist/index.mjs +1 -1
- package/dist/{init-pDLhMu3u.mjs → init-BNFsNnJ6.mjs} +3 -3
- package/dist/init-CODoOhiA.mjs +1 -0
- package/dist/{launch-json-removal-DE_-Ww53.mjs → launch-json-removal-DYKkMpt-.mjs} +2 -2
- package/dist/loader-CX3djixw.mjs +1 -0
- package/dist/{loader-Tnvmv5P5.mjs → loader-DDQVcyQh.mjs} +2 -2
- package/dist/md-manager-DZ8UJzkg.mjs +2 -0
- package/dist/{open-browser-DAPyP3Fq.mjs → open-browser-Y-oAEZKD.mjs} +2 -2
- package/dist/parse-worker.mjs +1 -1
- package/dist/preview-D5r7TRLB.mjs +1 -0
- package/dist/{preview-aa7v0U7S.mjs → preview-Mi5rv_ve.mjs} +2 -2
- package/dist/public/assets/{ActivityModeContent-BNAxhpQj.js → ActivityModeContent-DM85auEh.js} +1 -1
- package/dist/public/assets/{AgentDiffPane-D7Khwouf.js → AgentDiffPane-h6KbuLuM.js} +1 -1
- package/dist/public/assets/{AgentThreadClientBinder-daoer6rt.js → AgentThreadClientBinder-da1LL_SY.js} +1 -1
- package/dist/public/assets/{ChangedOutsideBadge-CazpgqWA.js → ChangedOutsideBadge-BmpjMsBE.js} +1 -1
- package/dist/public/assets/{CodeMirrorPropInput-B98kUaCj.js → CodeMirrorPropInput-dxOdghCh.js} +1 -1
- package/dist/public/assets/{DocumentContext-BeNSZPYG.js → DocumentContext-PLpWHjz2.js} +1 -1
- package/dist/public/assets/{EditorModeToggle-BbMlOgkn.js → EditorModeToggle-B2lAbc17.js} +1 -1
- package/dist/public/assets/{EnableSyncConfirmDialog-CQetlwTb.js → EnableSyncConfirmDialog-B1OWd9EE.js} +1 -1
- package/dist/public/assets/FeedbackForm-DsnazcCt.js +1 -0
- package/dist/public/assets/{GraphPanel-BlKaOmvl.js → GraphPanel-DrUa36aL.js} +1 -1
- package/dist/public/assets/{ImportSkillDialog-BgrlE-MX.js → ImportSkillDialog-DBhf_4tt.js} +1 -1
- package/dist/public/assets/{LintConfigEditor-Cno_iGzp.js → LintConfigEditor-C7GgNqOT.js} +1 -1
- package/dist/public/assets/ManagedArtifactProperties-CzM8sRZ4.js +1 -0
- package/dist/public/assets/{ManagedArtifactProperties-CM6O_XVV.js → ManagedArtifactProperties-Du9v7VLv.js} +1 -1
- package/dist/public/assets/{McpConsentDialogBody-NLB2A56E.js → McpConsentDialogBody-Bb5WPldg.js} +1 -1
- package/dist/public/assets/{MermaidDocEditor-_Gx5VJXW.js → MermaidDocEditor-B2xQC_96.js} +1 -1
- package/dist/public/assets/{ReportBugDialogBody-C9wKJMEr.js → ReportBugDialogBody-DRk-vjXN.js} +1 -1
- package/dist/public/assets/{SchemaConfigEditor-KkMUeDV5.js → SchemaConfigEditor-3MujKW7M.js} +1 -1
- package/dist/public/assets/{SessionsHost-CH5jffAG.js → SessionsHost-DkXKT8Bg.js} +2 -2
- package/dist/public/assets/{SettingsDialogBody--nklwAG-.js → SettingsDialogBody-CJqsa6rI.js} +1 -1
- package/dist/public/assets/{ShareBranchSwitchDialog-DWmVoqtB.js → ShareBranchSwitchDialog-Dni3fO-b.js} +1 -1
- package/dist/public/assets/{ShareReceiveDialog-Deigdttj.js → ShareReceiveDialog-ARj0KHnK.js} +1 -1
- package/dist/public/assets/{ShareReceiveMissDialog-Bw2-qhvJ.js → ShareReceiveMissDialog-Rdeoo1uW.js} +1 -1
- package/dist/public/assets/{SkillEditBanner-B31-HMnN.js → SkillEditBanner-BMTobzfv.js} +1 -1
- package/dist/public/assets/{SkillOriginInline-OqQA2gy_.js → SkillOriginInline-BYqEAfJO.js} +1 -1
- package/dist/public/assets/{SkillToolbarControls-E6fzzRjO.js → SkillToolbarControls-ekEK8_iu.js} +1 -1
- package/dist/public/assets/{SourceEditor-DtuqTQRl.js → SourceEditor-CfXLQtgg.js} +1 -1
- package/dist/public/assets/{TerminalPanel-BElaeDzL.js → TerminalPanel-BT4fp_IY.js} +1 -1
- package/dist/public/assets/{TerminalWindowApp-C-uBdtmk.js → TerminalWindowApp-DWsGECA5.js} +1 -1
- package/dist/public/assets/{TextDocEditor-hb2f-OfN.js → TextDocEditor-Lnp5tcTc.js} +1 -1
- package/dist/public/assets/ThreadView-BisHrqpk.js +6 -0
- package/dist/public/assets/{TimelineDiffPane-BLLl6THu.js → TimelineDiffPane-s3uGKXLB.js} +1 -1
- package/dist/public/assets/{agent-diff-store-CLtKPNmI.js → agent-diff-store-tHURoOQg.js} +1 -1
- package/dist/public/assets/{agent-visibility-Dz506quD.js → agent-visibility-Cpdu85yR.js} +1 -1
- package/dist/public/assets/{auth-state-cache-epurX430.js → auth-state-cache-DUWEUIEQ.js} +1 -1
- package/dist/public/assets/{client-version-C9zQ1Cba.js → client-version-DU6zzjSY.js} +1 -1
- package/dist/public/assets/{comment-chips-Da14zLsr.js → comment-chips-8dFO3T9v.js} +1 -1
- package/dist/public/assets/{config-context-DyUEqnhn.js → config-context-DUQ3IUYG.js} +1 -1
- package/dist/public/assets/{config-provider-NjnhDMPo.js → config-provider-B659_kp5.js} +1 -1
- package/dist/public/assets/{dist-DOPRKSzO2.js → dist-CxCCVMAj2.js} +152 -152
- package/dist/public/assets/{doc-paths-Dr8av3tc.js → doc-paths-D5q41Smp.js} +1 -1
- package/dist/public/assets/{documents-events-Cd-1x5Ed.js → documents-events-H5yX50zU.js} +1 -1
- package/dist/public/assets/{file-tree-adapter-DbXLXHhN.js → file-tree-adapter-bY2IgJTi.js} +1 -1
- package/dist/public/assets/{file-tree-utils-DfeUmuaf.js → file-tree-utils-BA7sWXkr.js} +1 -1
- package/dist/public/assets/{folder-config-api-C3YTmDwB.js → folder-config-api-DIkSxeBg.js} +1 -1
- package/dist/public/assets/{follow-file-Bi4vCCLt.js → follow-file-BMtvM3LC.js} +1 -1
- package/dist/public/assets/{index-DcsAzzQA.js → index--L671yxd.js} +8 -8
- package/dist/public/assets/{lint-config-client-CeUWUhyK.js → lint-config-client-Dxc9eTCn.js} +1 -1
- package/dist/public/assets/{markdownlint-rule-browser-DfPiRgim.js → markdownlint-rule-browser-BrP845kO.js} +1 -1
- package/dist/public/assets/{navigation-targets-DxC4QM5f.js → navigation-targets-BOddXVqk.js} +1 -1
- package/dist/public/assets/{open-managed-artifact-tab-DN3NM6Ff.js → open-managed-artifact-tab-Dmf8ibYA.js} +1 -1
- package/dist/public/assets/{pending-receive-nav-store-B4JTMHp-.js → pending-receive-nav-store-BT_62FW1.js} +1 -1
- package/dist/public/assets/{prop-types-BC9HEC35.js → prop-types-BKHWo79O.js} +1 -1
- package/dist/public/assets/{receive-store-BCddK7iB.js → receive-store-CnA3ZNCE.js} +1 -1
- package/dist/public/assets/{selection-context-CHSH5Ljn.js → selection-context-BcBbGype.js} +1 -1
- package/dist/public/assets/{skill-actions-GGPV2_FQ.js → skill-actions-wa9glOzI.js} +1 -1
- package/dist/public/assets/{skill-scope-CEtnfeg4.js → skill-scope-ByPD9jGU.js} +1 -1
- package/dist/public/assets/{skills-api-Bt6QqZxu.js → skills-api-CASzL--x.js} +1 -1
- package/dist/public/assets/{src-BtmmehSp.js → src-t7Eus2r6.js} +1 -1
- package/dist/public/assets/{tag-pill-input-DFIdRT0e.js → tag-pill-input-DegUWgEi.js} +1 -1
- package/dist/public/assets/{target-navigation-intent-2M1YK6Wd.js → target-navigation-intent-CiL48bjQ.js} +1 -1
- package/dist/public/assets/{terminal-launch-events-C2Gz2G0L.js → terminal-launch-events-aUowmXQB.js} +1 -1
- package/dist/public/assets/{terminal-telemetry-CS_Zz_F-.js → terminal-telemetry-B-3b1USB.js} +1 -1
- package/dist/public/assets/{typing-burst-detector-DKVkQeXL.js → typing-burst-detector-wI2Qegxz.js} +1 -1
- package/dist/public/assets/{uninstall-iZnahGQ3.js → uninstall-CHf6PWrM.js} +1 -1
- package/dist/public/assets/{use-activity-panel-B0DFdV4C.js → use-activity-panel-_dm8Md6u.js} +1 -1
- package/dist/public/assets/{use-collab-url-CMgoqd7H.js → use-collab-url-CZkvhvOU.js} +1 -1
- package/dist/public/assets/{use-live-xterm-theme-KGb9fc_e.js → use-live-xterm-theme-CQWGwN3R.js} +1 -1
- package/dist/public/assets/{use-open-skill-DhpKvkHk.js → use-open-skill-By3CcfFH.js} +1 -1
- package/dist/public/assets/{use-settings-route-ClTq87t7.js → use-settings-route-CqX06UAI.js} +1 -1
- package/dist/public/assets/{use-skill-directory-CLM2VHZh.js → use-skill-directory-B23W-S2y.js} +1 -1
- package/dist/public/assets/{use-skill-origin-DxVRIW_T.js → use-skill-origin-D4AI1_PK.js} +1 -1
- package/dist/public/assets/{use-skills-CDcSIIym.js → use-skills-CNWx7hdZ.js} +1 -1
- package/dist/public/assets/{use-terminal-enabled-DTsNSKJU.js → use-terminal-enabled-CgNhU4kg.js} +1 -1
- package/dist/public/assets/{use-timeline-entry-diff-Cj4GIfcv.js → use-timeline-entry-diff-Ddw7I-lf.js} +1 -1
- package/dist/public/assets/{use-workspace-BNdbTGXU.js → use-workspace-BgoyRZK_.js} +1 -1
- package/dist/public/index.html +43 -43
- package/dist/public/uninstall.html +2 -2
- package/dist/{repair-launch-json-T0HZhyvo.mjs → repair-launch-json-C3CZcBrw.mjs} +2 -2
- package/dist/{repair-mcp-configs-Cg08-kCm.mjs → repair-mcp-configs-CGog_bNF.mjs} +2 -2
- package/dist/{repair-skills-y_pZk48z.mjs → repair-skills-BEHylDaY.mjs} +2 -2
- package/dist/repair-skills-OJwbra_v.mjs +1 -0
- package/dist/server-lock-CjRizrkx.mjs +1 -0
- package/dist/{server-lock-DsDrc4RU.mjs → server-lock-D72pz8rW.mjs} +2 -2
- package/dist/{skill-teardown-DLiJoeFc.mjs → skill-teardown-BQErQ4B8.mjs} +2 -2
- package/dist/{src-DheM9mHj.mjs → src-C6bSdZgY.mjs} +4 -4
- package/dist/{src-DGg3BDMz.mjs → src-DNuZTDQn.mjs} +1 -1
- package/dist/{src-b0z8MvS5.mjs → src-kFwg01Rz.mjs} +2 -2
- package/dist/{src-azBs1EPY.mjs → src-kQDLvgVC.mjs} +35 -35
- package/dist/{start-CV7wEZ2G.mjs → start-D0L_PnNa.mjs} +3 -3
- package/dist/start-DNLjpvau.mjs +1 -0
- package/dist/{write-project-skill-DXCs8P98.mjs → write-project-skill-C8ZViZ1q.mjs} +2 -2
- package/package.json +4 -4
- package/dist/constants-BeUu14cN.mjs +0 -2
- package/dist/git-handle-CtdWfsLv.mjs +0 -1
- package/dist/init-Drdm71ex.mjs +0 -1
- package/dist/loader-Dl8VR-rH.mjs +0 -1
- package/dist/md-manager-C54e9m9K.mjs +0 -2
- package/dist/preview-DJGWCirS.mjs +0 -1
- package/dist/public/assets/FeedbackForm-2S0S6aJk.js +0 -1
- package/dist/public/assets/ManagedArtifactProperties-DUFF_4AB.js +0 -1
- package/dist/public/assets/ThreadView-CQqlZmdN.js +0 -6
- package/dist/repair-skills-DNC6qLQ6.mjs +0 -1
- package/dist/server-lock-BoNixvAi.mjs +0 -1
- 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-
|
|
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-
|
|
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-
|
|
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-
|
|
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.
|
|
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.
|
|
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.
|
|
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 +0,0 @@
|
|
|
1
|
-
import{r as e}from"./git-handle-DyGrpFVy.mjs";export{e as createGitInstance};
|
package/dist/init-Drdm71ex.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{g as e}from"./init-pDLhMu3u.mjs";export{e as runInit};
|
package/dist/loader-Dl8VR-rH.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./loader-Tnvmv5P5.mjs";export{e as loadConfig};
|
|
@@ -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};
|
package/dist/start-Co1R6Dh9.mjs
DELETED
|
@@ -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};
|