@inkeep/open-knowledge 0.54.0-beta.0 → 0.54.0-beta.1
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-BAU5A5o3.mjs → acp-harness-probe-BzmgSqA8.mjs} +2 -2
- package/dist/cli.mjs +6 -6
- package/dist/constants-DeP_CxzR.mjs +2 -0
- package/dist/index.mjs +1 -1
- package/dist/{init-DqyJAJAm.mjs → init-DM4P6gP4.mjs} +3 -3
- package/dist/init-DdBm3BKa.mjs +1 -0
- package/dist/{launch-json-removal-CBpeW9Ah.mjs → launch-json-removal-CdDuUhcm.mjs} +2 -2
- package/dist/{loader-BkusT1hI.mjs → loader-CLFEaGX8.mjs} +2 -2
- package/dist/loader-D0CeoXvV.mjs +1 -0
- package/dist/{open-browser-BqA6XiT0.mjs → open-browser-DYnRS1jz.mjs} +2 -2
- package/dist/{preview-kSEjxYuX.mjs → preview-DNJ9Xnme.mjs} +2 -2
- package/dist/preview-ohubTKxE.mjs +1 -0
- package/dist/public/assets/{ActivityModeContent-CQnmKBGo.js → ActivityModeContent-BLw3WMWz.js} +1 -1
- package/dist/public/assets/{AgentDiffPane-BMJtHPB0.js → AgentDiffPane-DrZCRBSs.js} +1 -1
- package/dist/public/assets/{AgentThreadClientBinder-CSCbo226.js → AgentThreadClientBinder-CWcDlN8A.js} +1 -1
- package/dist/public/assets/{ChangedOutsideBadge-DGYi7hdZ.js → ChangedOutsideBadge-BRBEndlT.js} +1 -1
- package/dist/public/assets/{CodeMirrorPropInput-DywYyBz8.js → CodeMirrorPropInput-B5_xejDl.js} +1 -1
- package/dist/public/assets/{DocumentContext-CKR9tIsX.js → DocumentContext-y4udwaSS.js} +1 -1
- package/dist/public/assets/{EditorModeToggle-CiWiUMD4.js → EditorModeToggle-BlT04JPF.js} +1 -1
- package/dist/public/assets/{EnableSyncConfirmDialog-PNZ3-bzD.js → EnableSyncConfirmDialog-BKrwMqLx.js} +1 -1
- package/dist/public/assets/FeedbackForm-CW1RBxOz.js +1 -0
- package/dist/public/assets/{ImportSkillDialog-D_zbPvrz.js → ImportSkillDialog-Cx_uO9te.js} +1 -1
- package/dist/public/assets/{LintConfigEditor-CmDISx0R.js → LintConfigEditor-DpkMgp67.js} +1 -1
- package/dist/public/assets/{ManagedArtifactProperties-D1j8yV7G.js → ManagedArtifactProperties-DQV6Xkkp.js} +1 -1
- package/dist/public/assets/ManagedArtifactProperties-DfOLsWxL.js +1 -0
- package/dist/public/assets/{MermaidDocEditor-CClwSJEd.js → MermaidDocEditor-D02-RjZh.js} +1 -1
- package/dist/public/assets/{SchemaConfigEditor-DmzRjNLX.js → SchemaConfigEditor-CMR-IQnf.js} +1 -1
- package/dist/public/assets/{SessionsHost-DvCES4YX.js → SessionsHost-aL9Yi0YA.js} +2 -2
- package/dist/public/assets/{SettingsDialogBody-CGs75yJY.js → SettingsDialogBody-DgU6z-4x.js} +1 -1
- package/dist/public/assets/{ShareReceiveMissDialog-B-CD8c9A.js → ShareReceiveMissDialog-C6Fw1jSy.js} +1 -1
- package/dist/public/assets/{SkillToolbarControls-BbJJTW3S.js → SkillToolbarControls-CV5iqOyh.js} +1 -1
- package/dist/public/assets/{SourceEditor-Dakmm381.js → SourceEditor-Cgcjeeix.js} +1 -1
- package/dist/public/assets/{TerminalWindowApp-Bzecjegv.js → TerminalWindowApp-pFQbcyvr.js} +1 -1
- package/dist/public/assets/{TextDocEditor-B73XTMKM.js → TextDocEditor-BIvaeGcP.js} +1 -1
- package/dist/public/assets/ThreadView-uJiWLV3S.js +10 -0
- package/dist/public/assets/{TimelineDiffPane-BnuEYjxI.js → TimelineDiffPane-DP3x-bCT.js} +1 -1
- package/dist/public/assets/{agent-diff-store-CJK-vc6Z.js → agent-diff-store-BvJOHqlb.js} +1 -1
- package/dist/public/assets/{auth-state-cache-BR8S3JrV.js → auth-state-cache-B-pvyyml.js} +1 -1
- package/dist/public/assets/{client-version-stzG9fok.js → client-version-Dl9MDBtc.js} +1 -1
- package/dist/public/assets/{comment-chips-VYzrfZOz.js → comment-chips-JdDlBBOC.js} +1 -1
- package/dist/public/assets/{config-provider-K5pliovj.js → config-provider-BEm_X5z4.js} +3 -3
- package/dist/public/assets/{follow-file-CoVZeHYJ.js → follow-file-DXj47N4P.js} +4 -4
- package/dist/public/assets/globals-CJLw9I7s.css +1 -0
- package/dist/public/assets/i18n-9-u0vIHQ.js +1 -0
- package/dist/public/assets/{index-CQiP7zms.js → index-BfoZXcbJ.js} +7 -7
- package/dist/public/assets/messages-70uyb6Sl.js +1 -0
- package/dist/public/assets/messages-BZmGV91Y.js +1 -0
- package/dist/public/assets/messages-C5UOlhWV.js +1 -0
- package/dist/public/assets/messages-C9FmY7uu.js +1 -0
- package/dist/public/assets/messages-CW3KcnxY.js +1 -0
- package/dist/public/assets/messages-CaxDnJNi.js +1 -0
- package/dist/public/assets/messages-CdzCdHWg.js +1 -0
- package/dist/public/assets/messages-D0j48ldR.js +1 -0
- package/dist/public/assets/messages-DvPjiVuw.js +1 -0
- package/dist/public/assets/messages-h8GDTlCf.js +1 -0
- package/dist/public/assets/messages-vdVQRalr.js +1 -0
- package/dist/public/assets/{pending-receive-nav-store-CaeSNfXj.js → pending-receive-nav-store-NNPZxbyU.js} +1 -1
- package/dist/public/assets/{selection-context-DPs8vxvW.js → selection-context-DaBEt_qe.js} +1 -1
- package/dist/public/assets/{skill-actions-CzmorCTi.js → skill-actions-rrqHJf1p.js} +1 -1
- package/dist/public/assets/{src-B87zThCs.js → src-D9vfSdRg.js} +1 -1
- package/dist/public/assets/{telemetry-impl-DSYzVKpq.js → telemetry-impl-CyzYpIO_.js} +1 -1
- package/dist/public/assets/{telemetry-startup-Da9NTocG.js → telemetry-startup-D_qndbLQ.js} +1 -1
- package/dist/public/assets/thread-client-CDd-DZmX.js +1 -0
- package/dist/public/assets/{typing-burst-detector-BY-anD9p.js → typing-burst-detector-4lnkqJUG.js} +1 -1
- package/dist/public/assets/{uninstall-wgIMFaoT.js → uninstall-DvHaOfxL.js} +1 -1
- package/dist/public/assets/{use-activity-panel-DqTP5DTk.js → use-activity-panel-YwUA1Y9R.js} +1 -1
- package/dist/public/assets/{use-open-skill-BK6woDan.js → use-open-skill-CLA3orpv.js} +1 -1
- package/dist/public/assets/{use-popular-skills-Wut1asdd.js → use-popular-skills-DRLF7dJB.js} +1 -1
- package/dist/public/assets/{use-terminal-enabled-CuoUv2VD.js → use-terminal-enabled-NR-FDyhW.js} +1 -1
- package/dist/public/assets/{use-timeline-entry-diff-Ci46DL5w.js → use-timeline-entry-diff-D_UL2qvn.js} +1 -1
- package/dist/public/index.html +23 -23
- package/dist/public/uninstall.html +5 -5
- package/dist/{repair-launch-json-CbCU3tYc.mjs → repair-launch-json-ggaqjMTx.mjs} +2 -2
- package/dist/{repair-mcp-configs-DDEeRKrI.mjs → repair-mcp-configs-C9fi2PGL.mjs} +2 -2
- package/dist/{repair-skills-DTNqAGfI.mjs → repair-skills-CfH-4HV1.mjs} +2 -2
- package/dist/repair-skills-eHShRAdH.mjs +1 -0
- package/dist/{skill-teardown-ottam6sV.mjs → skill-teardown-BDCZSEP-.mjs} +2 -2
- package/dist/{src-BA3VPog2.mjs → src-CzlLKhaZ.mjs} +2 -2
- package/dist/{src-BF0nCoer.mjs → src-DCqoFl4a.mjs} +1 -1
- package/dist/src-Da93CAF3.mjs +2040 -0
- package/dist/src-EOQRkCBx.mjs +1 -0
- package/dist/start-ClRDnoCe.mjs +1 -0
- package/dist/{start-BbzEXh_C.mjs → start-D7fayOIn.mjs} +4 -4
- package/dist/{ui-B7mhq8_g.mjs → ui-CGn0Cm6_.mjs} +3 -3
- package/dist/{write-project-skill-DWGQrWRr.mjs → write-project-skill-Bzg8sfOX.mjs} +2 -2
- package/package.json +4 -4
- package/dist/constants-CdO7Ip8K.mjs +0 -2
- package/dist/init-Cc1kMhai.mjs +0 -1
- package/dist/loader-COoyAZy6.mjs +0 -1
- package/dist/preview-eDBiuPbb.mjs +0 -1
- package/dist/public/assets/FeedbackForm-CNHw5U32.js +0 -1
- package/dist/public/assets/ManagedArtifactProperties-C5neRevI.js +0 -1
- package/dist/public/assets/ThreadView-Dyqxn2Co.js +0 -10
- package/dist/public/assets/globals-Cl9DVROF.css +0 -1
- package/dist/public/assets/i18n-DdNV3ihn.js +0 -1
- package/dist/public/assets/messages-BD6xU0hl.js +0 -1
- package/dist/public/assets/messages-BrOihCC2.js +0 -1
- package/dist/public/assets/messages-CeGZ3qGI.js +0 -1
- package/dist/public/assets/messages-DLAxD4Ea.js +0 -1
- package/dist/public/assets/messages-DiRAd1Pa.js +0 -1
- package/dist/public/assets/messages-DoSs73jK.js +0 -1
- package/dist/public/assets/messages-FGGtYX0Z.js +0 -1
- package/dist/public/assets/messages-QNJusJtV.js +0 -1
- package/dist/public/assets/messages-T7J7xjCi.js +0 -1
- package/dist/public/assets/messages-rE7VifgH.js +0 -1
- package/dist/public/assets/messages-zscDryNK.js +0 -1
- package/dist/public/assets/thread-client-DnaLPSLV.js +0 -1
- package/dist/repair-skills-DI3Fy43j.mjs +0 -1
- package/dist/src-BPm9wAhY.mjs +0 -1
- package/dist/src-BXlWNOZp.mjs +0 -2040
- package/dist/start-CfJGPzvO.mjs +0 -1
- /package/dist/public/assets/{globals-CI7YXh9U.js → globals-DMS6iUdG.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import"./src-BqZfalMj.mjs";import"./write-project-skill-Bzg8sfOX.mjs";import"./src-CzlLKhaZ.mjs";import"./acp-harness-probe-BzmgSqA8.mjs";import"./init-DM4P6gP4.mjs";import{n as e}from"./loader-CLFEaGX8.mjs";import"./skill-teardown-BDCZSEP-.mjs";import"./preview-DNJ9Xnme.mjs";import"./mcp-migrate-event-B1gJf6bG.mjs";export{e as loadConfig};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{T as e,_ as t,m as n,n as r}from"./start-D7fayOIn.mjs";export{r as bootStartServer,n as resolveBundledReactShellDir,t as resolveHost,e as startCommand};
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import{M as e}from"./sleep-C7muMiHm.mjs";import{Hs as t,Js as n,Ks as r,Vs as i,Ws as a,qs as o}from"./src-BqZfalMj.mjs";import{Pn as s,a as ee,si as c}from"./src-
|
|
1
|
+
import{M as e}from"./sleep-C7muMiHm.mjs";import{Hs as t,Js as n,Ks as r,Vs as i,Ws as a,qs as o}from"./src-BqZfalMj.mjs";import{Pn as s,a as ee,si as c}from"./src-Da93CAF3.mjs";import{b as l,v as u,y as d}from"./write-project-skill-Bzg8sfOX.mjs";import{a as f,c as p,d as m,i as h,o as g,r as _,t as v}from"./acp-harness-probe-BzmgSqA8.mjs";import{n as y}from"./constants-DeP_CxzR.mjs";import{spawn as b}from"node:child_process";import{basename as x,resolve as S}from"node:path";import{existsSync as C}from"node:fs";import{rm as w}from"node:fs/promises";import{setTimeout as te}from"node:timers/promises";function T(e,t){return e.bind?.[0]??e.host??t.HOST??`127.0.0.1`}function E(e){if(e===`ui`||e===`server`)return e;throw new d(`--only must be 'ui' or 'server'`)}function D(e=C){let t=import.meta.dirname??new URL(`.`,import.meta.url).pathname;return[S(t,`public`),S(t,`../../app/dist`),S(t,`../../../app/dist`)].find(t=>e(t))}function O(e){if(e.explicitDir!==void 0)return{dir:e.explicitDir,missingBundle:!1};if(e.only===`server`)return{dir:void 0,missingBundle:!1};let t=e.findBundledDir();return{dir:t,missingBundle:t===void 0}}function k(t){if(t===`off`)return`off`;if(!e.test(t))throw new d(`--idle-shutdown must be 'off' or a duration like 90s, 30m, 2h`);return t}function A(e){return e===`localhost`||e===`::1`||e===`[::1]`||e.startsWith(`127.`)}function j(e){return!e.flagBindSet&&!e.okBindSet&&e.hostEnvSet&&e.fileBindCount>1}function M(e){return!e.openBrowser||e.remoteEnabled||e.ephemeral||e.only===`server`||!e.servesUi?!1:e.legacyOpen?!0:(e.explicitOn||A(e.host))&&e.isTTY}function N(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 P(e,n){return t(n)?e:{externalUrl:e.externalUrl,idleShutdown:e.idleShutdown}}function F(e,t){if(e===void 0||e===!1)return null;let n=typeof e==`string`?e:t;if(n===void 0||n===``)return{ok:!1,errorMessage:"--remote requires a public tunnel URL — pass it (`ok start --remote https://<your-tunnel-host>`) or set remote.url in .ok/config.yml."};let r;try{r=new URL(n)}catch{return{ok:!1,errorMessage:`remote.url is not a valid URL: ${n}`}}if(r.protocol!==`https:`)return{ok:!1,errorMessage:`remote.url must be https — it is the public tunnel URL remote clients connect to (got: ${n})`};let i=n.replace(/\/+$/,``);return{ok:!0,url:i,serverOverlay:{externalUrl:i,allowExternal:!0,idleShutdown:`off`}}}function I(e,t){let n;try{n=new URL(t)}catch{throw new d(`${e} is not a valid URL: ${t}`)}if(n.protocol!==`http:`&&n.protocol!==`https:`)throw new d(`${e} must be an http(s) origin (got: ${t})`);return t}function L(e){return I(`--external-url`,e)}function ne(e){return e.externalUrl??e.publicUrl}function R(e){return I(`--public-url`,e)}function z(e){let t=x(e).replace(/[^\x20-\x7E]/g,``).trim().slice(0,64);return`open-knowledge-server ${t.length>0?t:`unknown`}`}var B=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 V(e,t,n=!1){return e??(n?void 0:t)}function H(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 U(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 W(e){let{config:t,cwd:n,host:r}=e,i=e.skipAutoInit??!1,a=e.idleThresholdMs===void 0?18e5:e.idleThresholdMs,{existsSync:o,mkdirSync:l}=await import(`node:fs`),{basename:u,dirname:d}=await import(`node:path`),{bootServer:f,getLogger:h,resolveContentDir:g,resolveLockDir:_,waitForServerLockDrain:y}=await import(`./src-DCqoFl4a.mjs`),b=e.log??h(`start`),x=e.singleFile!==void 0,S=e.projectDir??n,C=x?ee(e.singleFile).canonicalFilePath:void 0,w=C?d(C):void 0,te=C?u(C):void 0;if(!x){if(!i&&!s(n))throw new B(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`))&&b.warn({event:e},`[start] reclaim sweep reported a problem`)};try{(e.repairMcpConfigsFn??(await import(`./repair-mcp-configs-C9fi2PGL.mjs`)).repairMcpConfigs)({projectDir:n,reclaimDisableEnv:t,logger:r})}catch(e){b.warn({err:e},`[start] mcp-config repair sweep failed; continuing`)}try{(e.repairLaunchJsonFn??(await import(`./repair-launch-json-ggaqjMTx.mjs`)).repairLaunchJson)({projectDir:n,reclaimDisableEnv:t,logger:r})}catch(e){b.warn({err:e},`[start] launch.json repair sweep failed; continuing`)}try{await(e.repairSkillsFn??(await import(`./repair-skills-eHShRAdH.mjs`)).repairSkills)({projectDir:n,reclaimDisableEnv:t,logger:r})}catch(e){b.warn({err:e},`[start] skill repair sweep failed; continuing`)}}let T=w??g(t,n);!x&&!o(T)&&(l(T,{recursive:!0}),b.info({contentDir:T},`Created content directory`));let E=m(),D=c();{let e=_(x?S:n),t=Date.now(),r=await y(e);r!==`no-drain`&&b.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 O=await f({config:t,contentDir:T,projectDir:x?S:n,contentRoot:x?void 0:t.content.dir,port:e.port,host:r,quiet:!1,detectGh:p,tokenStore:E,embeddingsKeyStore:D,...x?{ephemeral:!0,singleDocRelPath:te,gitEnabled:!1,gitPreflight:()=>({ok:!0,version:`0.0.0`,resolvedPath:`git`,source:`PATH`})}:{},localOpCliArgs:[process.execPath,process.argv[1]],probeHarnessManagedMcpEntry:(e,t)=>v(e,t),idleShutdownMs:a,...e.serverRuntime===void 0?{}:{serverRuntime:e.serverRuntime},...e.bind===void 0?{}:{bind:e.bind},skipAutoInit:!0,idleShutdownHandler:t=>{let n=t;return U(x?H(n,S):n,{log:b,exit:e.idleExit})},log:b,...e.serveContentAssets===void 0?{}:{serveContentAssets:e.serveContentAssets},...e.reactShellDistDir?{reactShellDistDir:e.reactShellDistDir}:{}});return{httpServer:O.httpServer,destroy:O.destroy,lockDir:O.lockDir,contentDir:T,port:O.port,ready:O.ready,degraded:O.degraded}}function G(e){if(e===`browser`||e===`app`)return e;throw new d(`--mode must be 'browser' or 'app'`)}function K(e){return e.OK_CONSOLE_LEVEL!==void 0||e.LOG_LEVEL!==void 0?null:`warn`}function q(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 J(e,t){let s=K(process.env);s!==null&&(process.env.OK_CONSOLE_LEVEL=s);let{renderBanner:ee}=await import(`./banner-Ev4hKBM4.mjs`),{accent:c,dim:l,error:u,warning:d}=await import(`./colors-MGDi6UGf.mjs`),f=process.cwd(),p=t.remote!==void 0&&t.remote!==!1;process.title=z(f),p&&console.warn(d("--remote is deprecated — use `OK_IDLE_SHUTDOWN=off OK_ALLOW_EXTERNAL=1 ok start --external-url <url>` instead (add --bind to serve a non-loopback address; keep OK_IDLE_SHUTDOWN=off — the idle timer only counts WS clients and would tear the server down under a live remote MCP client). The flag now just expands to those server.* keys and will be removed in a later release.")),t.publicUrl!==void 0&&console.warn(d(`--public-url is deprecated — use --external-url <url> (same value and semantics; the key was renamed to server.externalUrl). The old spelling will be removed in a later release.`)),a(e).externalUrlFromDeprecatedKey&&console.warn(d(`[config] server.publicUrl is deprecated — use server.externalUrl instead (same value and semantics). If this config is committed and shared, keep both keys until every collaborator has upgraded — older versions read only server.publicUrl; see https://openknowledge.ai/docs/reference/configuration. The old key will be removed in a later release.`));let m=F(t.remote,e.remote?.url);m!==null&&!m.ok&&(console.error(u(m.errorMessage)),process.exit(78));let h=m?.ok?m:null,g=h!==null;h!==null&&console.warn(d([``,`⚠ REMOTE ACCESS ENABLED — no server-side authentication.`,` Anyone who can reach ${h.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
2
|
`)));let _;try{_=n(process.env)}catch(e){throw e instanceof r&&(console.error(u(e.message)),process.exit(78)),e}for(let e of _.diagnostics)console.warn(d(`[config] ${e.message}`));let v=o(e,_.layer),b=_.overrides.some(e=>e.envVar===`OK_BIND`),x=t.bind!==void 0&&t.bind.length>0?t.bind:t.host===void 0?void 0:[t.host],S=process.env.HOST,C=S!==void 0&&S.trim()!==``?S:void 0,w=a(v),T=x??(b||C===void 0?[...w.bind]:[C]);j({flagBindSet:x!==void 0,okBindSet:b,hostEnvSet:C!==void 0,fileBindCount:w.bind.length})&&console.warn(d(`[config] HOST=${C} overrides server.bind — dropping the file-configured addresses (${w.bind.join(`, `)}). Use OK_BIND with a space-separated list to keep multiple binds.`));let E=T[0]??`127.0.0.1`,k=N(E,g);k.coerced&&console.warn(`remote access is enabled and ${E} is not an IPv4 loopback bind — tunnels proxy to 127.0.0.1, so binding ${E} would leave the tunnel dialing a dead port. Using 127.0.0.1.`);let A=k.host,I=g?[A]:T,L=h===null?{}:P(h.serverOverlay,I);h!==null&&!(`allowExternal`in L)&&console.warn(d(`--remote does not consent to exposing a non-loopback bind (${I.join(`, `)}) — the tunnel is the only ingress the alias vouches for. Consent explicitly with OK_ALLOW_EXTERNAL=1 (or server.allowExternal in .ok/local/config.yml), or drop the non-loopback bind.`));let R=ne(t),H=a(o(v,{server:{bind:I,...L,...R===void 0?{}:{externalUrl:R}}}));if(!g&&H.allowExternal&&(!H.loopbackOnly||H.externalUrl)){let e=H.externalUrl??H.bind.join(`, `);console.warn(d([``,`⚠ EXTERNAL ACCESS ENABLED (server.allowExternal) — no server-side authentication.`,` This server is reachable beyond this machine (${e}). Anyone who can`,` reach it has FULL control of this knowledge base — sync, publishing, GitHub`,` credentials, and local operations (clone, sign-in, repo spawn).`,` Restrict who can reach it at the edge: a Tailscale ACL, a reverse proxy with`,` auth (Cloudflare Access, oauth2-proxy), or a firewall.`,``].join(`
|
|
3
|
-
`)))}let U=t.port===void 0?void 0:Number(t.port),G=_.overrides.find(e=>e.envVar===`PORT`)?.value,J=a(e).port,ae=e.server?.port;g&&U===void 0&&G!==void 0&&console.warn(`remote access is enabled — ignoring env PORT=${process.env.PORT}; the tunnel's port mapping targets the stable remote port (${J??24550}). Pass --port to override deliberately.`);let oe=V(U,G,g)??(g?J??24550:ae),se=O({explicitDir:t.reactShellDistDir,only:t.only,findBundledDir:D}),Z=se.dir;se.missingBundle&&console.warn(g?`remote access: bundled web UI not found — serving /mcp and /api only over the tunnel.`:`bundled web UI not found — serving /api and /mcp only. Reinstall @inkeep/open-knowledge, or build packages/app in a source checkout.`);let Q;try{Q=await W({config:e,cwd:f,host:A,port:oe,bind:I,...t.serveContentAssets===void 0?{}:{serveContentAssets:t.serveContentAssets},...Z?{reactShellDistDir:Z}:{},idleThresholdMs:i((g?void 0:t.idleShutdown)??H.idleShutdown),serverRuntime:H,...t.singleFile?{singleFile:t.singleFile}:{},...t.projectDir?{projectDir:t.projectDir}:{}})}catch(e){e instanceof B&&(console.error(u(e.message)),process.exit(1));let t=await import(`./src-
|
|
3
|
+
`)))}let U=t.port===void 0?void 0:Number(t.port),G=_.overrides.find(e=>e.envVar===`PORT`)?.value,J=a(e).port,ae=e.server?.port;g&&U===void 0&&G!==void 0&&console.warn(`remote access is enabled — ignoring env PORT=${process.env.PORT}; the tunnel's port mapping targets the stable remote port (${J??24550}). Pass --port to override deliberately.`);let oe=V(U,G,g)??(g?J??24550:ae),se=O({explicitDir:t.reactShellDistDir,only:t.only,findBundledDir:D}),Z=se.dir;se.missingBundle&&console.warn(g?`remote access: bundled web UI not found — serving /mcp and /api only over the tunnel.`:`bundled web UI not found — serving /api and /mcp only. Reinstall @inkeep/open-knowledge, or build packages/app in a source checkout.`);let Q;try{Q=await W({config:e,cwd:f,host:A,port:oe,bind:I,...t.serveContentAssets===void 0?{}:{serveContentAssets:t.serveContentAssets},...Z?{reactShellDistDir:Z}:{},idleThresholdMs:i((g?void 0:t.idleShutdown)??H.idleShutdown),serverRuntime:H,...t.singleFile?{singleFile:t.singleFile}:{},...t.projectDir?{projectDir:t.projectDir}:{}})}catch(e){e instanceof B&&(console.error(u(e.message)),process.exit(1));let t=await import(`./src-DCqoFl4a.mjs`);if((e instanceof t.GitNotAvailableError||e instanceof t.GitTooOldError)&&process.exit(78),e instanceof t.ExposureConsentError&&(console.error(u(e.message)),process.exit(78)),(e instanceof t.SingleFileNotFoundError||e instanceof t.SingleFileNotAFileError||e instanceof t.SingleFileNotMarkdownError)&&(console.error(u(e.message)),process.exit(1)),re(e,t)){let e=t.resolveLockDir(f),n=null;try{n=await Y({readServerLock:()=>t.readServerLock(e),readUiLock:()=>t.readUiLock(e),now:Date.now,sleep:e=>te(e),timeoutMs:3e3,pollIntervalMs:50})}catch(e){process.stderr.write(`[start] spawn-or-reuse: lock poll failed (${e instanceof Error?e.message:String(e)}) — falling back to the collision message\n`)}if(n!==null){let[e,...t]=X(n);console.log(c(e));for(let e of t)console.log(l(e));process.exit(0)}}let n=ie(e,f,t);n!==null&&(console.error(u(n)),process.exit(1)),console.error(`${u(`Failed to start:`)} ${e instanceof Error?e.stack??e.message:String(e)}`),process.exit(1)}let ce=!1,$=async e=>{if(ce)return;ce=!0;let[t,...n]=q(e);console.log(c(`\n${t}`));for(let e of n)console.log(l(` ${e}`));try{await Q.destroy()}catch(e){console.error(`${u(`destroy() failed:`)} ${e instanceof Error?e.stack??e.message:String(e)}`),process.exitCode=1}process.exit(process.exitCode??0)};process.once(`SIGINT`,()=>{$(`SIGINT`)}),process.once(`SIGTERM`,()=>{$(`SIGTERM`)});let le=`http://${A.includes(`:`)&&!A.startsWith(`[`)?`[${A}]`:A}:${Q.port}`,ue=A===`0.0.0.0`||A===`::`?`http://0.0.0.0:${Q.port}`:void 0,de=le;console.log(ee({name:`open-knowledge`,version:y,localUrl:de,networkUrl:ue,nextSteps:[`Open the Editor URL in your browser to start editing.`]}));let fe={"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`};Q.ready.then(async()=>{if(Q.degraded.length>0){console.log();for(let e of Q.degraded){let t=fe[e]??`${e} (check server logs for details)`;console.warn(` ${d(`⚠`)} ${d(e)}: ${l(t)}`)}console.log()}if(M({openBrowser:t.openBrowser!==!1&&H.openBrowser,explicitOn:t.openBrowser!==!1&&v.server?.openBrowser===!0,legacyOpen:t.open===!0,host:A,isTTY:process.stdout.isTTY===!0,remoteEnabled:g,ephemeral:t.singleFile!==void 0,only:t.only,servesUi:Z!==void 0})){let{openBrowser:e}=await import(`./open-browser-DYnRS1jz.mjs`);e(de)}}).catch(e=>{console.error(` ${u(`Server initialization failed:`)} ${e instanceof Error?e.message:String(e)}`)})}async function Y(e){let t=e.now()+e.timeoutMs,n=e.readServerLock();for(;n!==null&&n.draining!==!0&&n.port<=0&&e.now()<t;)await e.sleep(e.pollIntervalMs),n=e.readServerLock();if(n===null||n.draining===!0||n.port<=0)return null;if(n.capabilities?.includes(`ui`)===!0&&n.url!==void 0)return{url:n.url,kind:n.kind,pid:n.pid,servesUi:!0};let r=e.readUiLock();return r!==null&&r.port>0?{url:r.url??`http://localhost:${r.port}`,kind:n.kind,pid:n.pid,servesUi:!1}:{url:n.url??`http://127.0.0.1:${n.port}`,kind:n.kind,pid:n.pid,servesUi:!1}}function X(e){return[`${e.kind===`mcp-spawned`?`An MCP-spawned OpenKnowledge server is already running on this project`:`OpenKnowledge is already running on this project`} (pid ${e.pid}).`,` ${e.url}`,"Leaving it running — run `ok stop` first if you want a fresh server."]}function re(e,t){let n=t.ServerLockCollisionError;return n!==void 0&&e instanceof n}function ie(e,t,n){let r=n.ServerLockCollisionError;if(r===void 0||!(e instanceof r))return null;try{let e=n.readServerLock(n.resolveLockDir(t));return e&&e.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`."}catch{return null}}function ae(e){return new u(`start`).description(`Start the OpenKnowledge server (UI + API + MCP + collab on one port)`).option(`-p, --port <port>`,`Server port`,void 0).option(`--bind <address>`,`Bind address (repeatable; default 127.0.0.1 — loopback only)`,(e,t)=>[...t??[],e]).addOption(new l(`-H, --host <host>`,`Deprecated alias of --bind`).hideHelp()).option(`--no-open-browser`,`Do not open the browser after start (interactive loopback starts open it by default)`).addOption(new l(`--open`,`Deprecated: force-open the browser after start`).hideHelp()).option(`--only <module>`,`Serve one module: 'server' (API + MCP only, no shell or browser) or 'ui' (shell + proxy only; requires --server-url)`,E).option(`--server-url <url>`,`Project-server URL the --only ui process proxies to (e.g. http://127.0.0.1:24550)`).option(`--idle-shutdown <duration>`,`Shut the server down after this long with no connected clients ('off', or a duration like 90s, 30m, 2h; default 30m)`,k).option(`--mode <mode>`,`Force dispatch mode: 'browser' or 'app'`,G).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>`).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(`--external-url <url>`,`Canonical external origin clients dial (sets server.externalUrl for this run) — its host joins the Host/Origin allowlists and issued URLs. External exposure additionally requires consent (OK_ALLOW_EXTERNAL=1 or server.allowExternal).`,L).option(`--public-url <url>`,`Deprecated alias of --external-url (the former name of that flag) — same value and semantics.`,R).option(`--remote [url]`,`Deprecated alias: expands to --external-url <url> + OK_ALLOW_EXTERNAL consent on a loopback bind. Serves through a tunnel 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.serverUrl!==void 0&&t.only!==`ui`&&(process.stderr.write(`error: option '--server-url' requires '--only ui'
|
|
4
4
|
`),process.exit(2)),t.externalUrl!==void 0&&t.publicUrl!==void 0&&(process.stderr.write(`error: option '--public-url' cannot be combined with '--external-url' (--public-url is a deprecated alias of --external-url)
|
|
5
5
|
`),process.exit(2)),(t.externalUrl!==void 0||t.publicUrl!==void 0)&&t.remote!==void 0&&t.remote!==!1){let e=t.externalUrl===void 0?`--public-url`:`--external-url`;process.stderr.write(`error: option '--remote' cannot be combined with '${e}' (--remote is a deprecated alias that sets server.externalUrl)\n`),process.exit(2)}if(t.singleFile!==void 0&&t.remote!==void 0&&t.remote!==!1&&(process.stderr.write(`error: option '--single-file' cannot be combined with '--remote' — ephemeral single-file mode has no project and no consented root to serve remotely
|
|
6
6
|
`),process.exit(2)),t.only===`server`&&t.reactShellDistDir!==void 0&&(process.stderr.write(`error: option '--only server' cannot be combined with '--react-shell-dist-dir'
|
|
7
7
|
`),process.exit(2)),t.only===`ui`){{let{warning:e}=await import(`./colors-MGDi6UGf.mjs`);console.error(e("[start] `--only ui` is deprecated — plain `ok start` serves the editor UI, API, and MCP on one port. The split-mode proxy will be removed in a future release."))}t.serverUrl===void 0&&(process.stderr.write(`error: '--only ui' requires '--server-url <url>' (where the project server runs)
|
|
8
8
|
`),process.exit(2)),t.mode===`app`&&(process.stderr.write(`error: option '--only ui' cannot be combined with '--mode app'
|
|
9
9
|
`),process.exit(2)),t.remote!==void 0&&t.remote!==!1&&(process.stderr.write(`error: option '--only ui' cannot be combined with '--remote'
|
|
10
|
-
`),process.exit(2));let{runUiCommand:e}=await import(`./ui-
|
|
10
|
+
`),process.exit(2));let{runUiCommand:e}=await import(`./ui-CGn0Cm6_.mjs`);await e(n,{...t.port===void 0?{}:{port:String(t.port)},...t.bind?.[0]===void 0?t.host===void 0?{}:{host:t.host}:{host:t.bind[0]},upstreamUrl:t.serverUrl});return}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)
|
|
11
11
|
`),process.exit(2));let e=[];if(t.port!==void 0&&e.push(`--port`),t.bind!==void 0&&e.push(`--bind`),t.host!==void 0&&e.push(`--host`),t.only!==void 0&&e.push(`--only`),t.serverUrl!==void 0&&e.push(`--server-url`),t.idleShutdown!==void 0&&e.push(`--idle-shutdown`),t.openBrowser===!1&&e.push(`--no-open-browser`),t.externalUrl!==void 0&&e.push(`--external-url`),t.publicUrl!==void 0&&e.push(`--public-url`),t.remote!==void 0&&t.remote!==!1&&e.push(`--remote`),e.length>0){let t=process.env.OK_LOG_LEVEL??`info`;(t===`debug`||t===`trace`)&&console.error(`--mode=app: ignoring ${e.join(`, `)}`)}let n=h(_());if(n.available){f({spawn:b},n);return}console.error(g(n.reason)),process.exit(1)}await J(n,t)})}export{M as C,H as D,ie as E,U as O,P as S,ae as T,T as _,F as a,O as b,A as c,k as d,E as f,ne as g,V as h,z as i,re as l,D as m,W as n,X as o,R as p,N as r,q as s,B as t,L as u,Y as v,j as w,J as x,K as y};
|
|
12
|
-
//# sourceMappingURL=start-
|
|
12
|
+
//# sourceMappingURL=start-D7fayOIn.mjs.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{Q as e,it as t,tt as n}from"./sleep-C7muMiHm.mjs";import{Yo as r,ao as i,dt as a}from"./src-BqZfalMj.mjs";import{An as o,Mn as s,jn as c}from"./src-
|
|
2
|
-
`)}\r\n\r\n`),n.length>0&&o.write(n)}catch(e){c({event:`proxy-upgrade-handshake-write-failed`,err:e});return}o.on(`data`,e=>{t.writable&&t.write(e)}),t.on(`data`,e=>{o.writable&&o.write(e)})}),o.once(`timeout`,()=>{c({event:`proxy-upgrade-upstream-connect-timeout`})}),o.on(`error`,e=>c({event:`proxy-upgrade-upstream-error`,err:e})),t.on(`error`,e=>c({event:`proxy-upgrade-client-error`,err:e})),o.once(`close`,()=>c()),t.once(`close`,()=>c())}const y=[`connection`,`keep-alive`,`proxy-authenticate`,`proxy-authorization`,`te`,`trailer`,`transfer-encoding`,`upgrade`,`cookie`,`set-cookie`];async function b(e){let t=e.upstreamTimeoutMs??m,n=new Set,r=u((n,r)=>{h(n,r)||x(n,r,e.upstreamHost,e.upstreamPort,t)});r.on(`upgrade`,(t,r,i)=>{_(t,r)||v(t,r,i,e.upstreamHost,e.upstreamPort,n)}),await new Promise((t,n)=>{let i=e=>n(e);r.once(`error`,i),r.listen(e.listenPort,e.host,()=>{r.off(`error`,i),t()})});let i=r.address();return{httpServer:r,port:typeof i==`object`&&i?i.port:e.listenPort,close:()=>new Promise(e=>{for(let e of n)try{e.destroy()}catch{}n.clear(),r.close(()=>e()),r.closeIdleConnections()})}}function ee(e,t,n){x(e,t,n.upstreamHost,n.upstreamPort,n.upstreamTimeoutMs??m)}function x(e,t,n,r,i){let a={...e.headers};delete a.host;for(let e of y)delete a[e];e.setTimeout(g,()=>{if(t.headersSent)try{t.end()}catch{}else try{p(t,408,`urn:ok:error:request-timeout`,`Proxy request exceeded the per-request deadline.`,`Slow-loris-class: client did not finish within ${g/1e3}s.`)}catch{}try{e.socket?.destroy()}catch{}});let o=d({host:n,port:r,method:e.method,path:e.url,headers:{...a,host:`${n}:${r}`}},e=>{let n={...e.headers};for(let e of y)delete n[e];t.writeHead(e.statusCode??502,n),e.pipe(t),e.once(`error`,()=>{try{t.end()}catch{}})});i>0&&o.setTimeout(i,()=>{if(!t.headersSent)p(t,504,`urn:ok:error:gateway-timeout`,`Upstream did not respond before the gateway deadline.`,`Upstream timeout: ${i/1e3}s elapsed without a response.`);else try{t.end()}catch{}o.destroy()}),o.on(`error`,()=>{if(!t.headersSent)p(t,502,`urn:ok:error:collab-server-not-running`,`Collab server is unreachable.`,`Upstream connection failed or dropped before a response was received.`);else try{t.end()}catch{}}),e.on(`error`,()=>{o.destroy()}),e.pipe(o)}async function S(e){await Promise.all(e.map(e=>new Promise(t=>{e.close(()=>t())})))}function C(e){let t;try{t=new URL(e)}catch{throw Error(`Invalid --server-url '${e}' — expected e.g. http://127.0.0.1:24550`)}if(t.protocol!==`http:`)throw Error(`--server-url must be http: (got '${t.protocol}//') — the UI proxy speaks plain HTTP; terminate TLS at your ingress`);let n=t.port===``?80:Number(t.port);return{host:t.hostname.replace(/^\[(.+)\]$/,`$1`),port:n}}async function w(i){let{existsSync:o}=await import(`node:fs`),{createServer:s}=await import(`node:http`),{resolve:c}=await import(`node:path`),{acquireUiLock:l,buildIngressPolicy:u,createAssetServeMiddleware:d,createContentFilter:f,readServerLock:m,releaseUiLock:g,updateUiLockPort:y}=await import(`./src-
|
|
3
|
-
//# sourceMappingURL=ui-
|
|
1
|
+
import{Q as e,it as t,tt as n}from"./sleep-C7muMiHm.mjs";import{Yo as r,ao as i,dt as a}from"./src-BqZfalMj.mjs";import{An as o,Mn as s,jn as c}from"./src-Da93CAF3.mjs";import{randomUUID as l}from"node:crypto";import{createServer as u,request as d}from"node:http";import{connect as f}from"node:net";function p(e,t,n,r,a){let o=`urn:uuid:${l()}`;if(e.headersSent||e.writableEnded||e.destroyed){console.error(`[ok ui] emitProblem called after headers sent — suppressed`,{type:n,status:t,instance:o});return}let s={type:n,title:r,status:t,instance:o,...a===void 0?{}:{detail:a}},c=i.safeParse(s);if(!c.success){console.error(`[ok ui] emitProblem produced an invalid ProblemDetails body:`,{issues:c.error.issues,originalStatus:t,body:s}),e.writeHead(500,{"Content-Type":`application/problem+json`,"X-Content-Type-Options":`nosniff`,"Cache-Control":`no-store`}),e.end(JSON.stringify({type:`urn:ok:error:internal-server-error`,title:`Internal server error.`,status:500,instance:o}));return}e.writeHead(t,{"Content-Type":`application/problem+json`,"X-Content-Type-Options":`nosniff`,"Cache-Control":`no-store`}),e.end(JSON.stringify(s))}const m=1e4;function h(e,t){let n=e.socket?.remoteAddress;if(n!==void 0&&!c(n))return p(t,403,`urn:ok:error:loopback-required`,`Request must originate from a loopback address.`),!0;if(!o(e.headers.host))return p(t,403,`urn:ok:error:host-not-allowed`,`Host header is not in the loopback allowlist.`),!0;let r=e.headers.origin;return r!==void 0&&!s(r)?(p(t,403,`urn:ok:error:invalid-origin`,`Origin header is not in the loopback allowlist.`),!0):!1}const g=3e4;function _(e,t){let n=e.socket?.remoteAddress;if(n!==void 0&&!c(n)||!o(e.headers.host))return t.destroy(),!0;let r=e.headers.origin;return typeof r==`string`&&!s(r)?(t.destroy(),!0):!1}function v(e,t,n,r,i,a){a.add(t),t.once(`close`,()=>a.delete(t));let o=f({host:r,port:i,timeout:m});a.add(o),o.once(`close`,()=>a.delete(o));let s=!1,c=n=>{if(!s){if(s=!0,n!==void 0){let t=n.err;console.warn(JSON.stringify({event:n.event,upstreamHost:r,upstreamPort:i,url:e.url,code:t instanceof Error?t.code:void 0,message:t instanceof Error?t.message:void 0}))}try{o.destroy()}catch{}try{t.destroy()}catch{}}};o.once(`connect`,()=>{o.setTimeout(0);let a=[`${e.method??`GET`} ${e.url??`/`} HTTP/1.1`,`host: ${r}:${i}`];for(let[t,n]of Object.entries(e.headers))if(t.toLowerCase()!==`host`&&n!==void 0)if(Array.isArray(n))for(let e of n)a.push(`${t}: ${e}`);else a.push(`${t}: ${n}`);try{o.write(`${a.join(`\r
|
|
2
|
+
`)}\r\n\r\n`),n.length>0&&o.write(n)}catch(e){c({event:`proxy-upgrade-handshake-write-failed`,err:e});return}o.on(`data`,e=>{t.writable&&t.write(e)}),t.on(`data`,e=>{o.writable&&o.write(e)})}),o.once(`timeout`,()=>{c({event:`proxy-upgrade-upstream-connect-timeout`})}),o.on(`error`,e=>c({event:`proxy-upgrade-upstream-error`,err:e})),t.on(`error`,e=>c({event:`proxy-upgrade-client-error`,err:e})),o.once(`close`,()=>c()),t.once(`close`,()=>c())}const y=[`connection`,`keep-alive`,`proxy-authenticate`,`proxy-authorization`,`te`,`trailer`,`transfer-encoding`,`upgrade`,`cookie`,`set-cookie`];async function b(e){let t=e.upstreamTimeoutMs??m,n=new Set,r=u((n,r)=>{h(n,r)||x(n,r,e.upstreamHost,e.upstreamPort,t)});r.on(`upgrade`,(t,r,i)=>{_(t,r)||v(t,r,i,e.upstreamHost,e.upstreamPort,n)}),await new Promise((t,n)=>{let i=e=>n(e);r.once(`error`,i),r.listen(e.listenPort,e.host,()=>{r.off(`error`,i),t()})});let i=r.address();return{httpServer:r,port:typeof i==`object`&&i?i.port:e.listenPort,close:()=>new Promise(e=>{for(let e of n)try{e.destroy()}catch{}n.clear(),r.close(()=>e()),r.closeIdleConnections()})}}function ee(e,t,n){x(e,t,n.upstreamHost,n.upstreamPort,n.upstreamTimeoutMs??m)}function x(e,t,n,r,i){let a={...e.headers};delete a.host;for(let e of y)delete a[e];e.setTimeout(g,()=>{if(t.headersSent)try{t.end()}catch{}else try{p(t,408,`urn:ok:error:request-timeout`,`Proxy request exceeded the per-request deadline.`,`Slow-loris-class: client did not finish within ${g/1e3}s.`)}catch{}try{e.socket?.destroy()}catch{}});let o=d({host:n,port:r,method:e.method,path:e.url,headers:{...a,host:`${n}:${r}`}},e=>{let n={...e.headers};for(let e of y)delete n[e];t.writeHead(e.statusCode??502,n),e.pipe(t),e.once(`error`,()=>{try{t.end()}catch{}})});i>0&&o.setTimeout(i,()=>{if(!t.headersSent)p(t,504,`urn:ok:error:gateway-timeout`,`Upstream did not respond before the gateway deadline.`,`Upstream timeout: ${i/1e3}s elapsed without a response.`);else try{t.end()}catch{}o.destroy()}),o.on(`error`,()=>{if(!t.headersSent)p(t,502,`urn:ok:error:collab-server-not-running`,`Collab server is unreachable.`,`Upstream connection failed or dropped before a response was received.`);else try{t.end()}catch{}}),e.on(`error`,()=>{o.destroy()}),e.pipe(o)}async function S(e){await Promise.all(e.map(e=>new Promise(t=>{e.close(()=>t())})))}function C(e){let t;try{t=new URL(e)}catch{throw Error(`Invalid --server-url '${e}' — expected e.g. http://127.0.0.1:24550`)}if(t.protocol!==`http:`)throw Error(`--server-url must be http: (got '${t.protocol}//') — the UI proxy speaks plain HTTP; terminate TLS at your ingress`);let n=t.port===``?80:Number(t.port);return{host:t.hostname.replace(/^\[(.+)\]$/,`$1`),port:n}}async function w(i){let{existsSync:o}=await import(`node:fs`),{createServer:s}=await import(`node:http`),{resolve:c}=await import(`node:path`),{acquireUiLock:l,buildIngressPolicy:u,createAssetServeMiddleware:d,createContentFilter:f,readServerLock:m,releaseUiLock:g,updateUiLockPort:y}=await import(`./src-DCqoFl4a.mjs`),{default:b}=await import(`./build-BcDJ6qQ2.mjs`),{resolveContentDir:x,resolveLockDir:S}=await import(`./src-DCqoFl4a.mjs`),w=x(i.config,i.cwd),E=S(i.cwd);l(E,{port:0,worktreeRoot:i.cwd});let D=import.meta.dirname??new URL(`.`,import.meta.url).pathname,O=[c(D,`public`),c(D,`../../app/dist`),c(D,`../../../app/dist`)],k=i.assetDir??O.find(e=>o(e)),A=k?b(k,{single:!0,gzip:!0,etag:!0,dev:!0,extensions:[]}):null,j=o(w)?d({contentFilter:f({projectDir:i.cwd,contentDir:w}),contentSirv:b(w,{dotfiles:!1,dev:!0,extensions:[]}),inlineExtensions:t,assetExtensions:e,blocklistExtensions:n,ingressPolicy:u({})}):null,M=i.upstreamUrl===void 0?null:C(i.upstreamUrl),N=()=>{if(M!==null)return M;let e=m(E);return!e||e.port<=0?null:{host:r,port:e.port}},P=i.port,F=null,I=(e,t)=>{let n=e.url?.split(`?`)[0];if((n===`/`||n===``)&&(e.url=`/index.html`),!(n?.startsWith(`/api/`)&&h(e,t))){if(n===`/api/config`&&(e.method===`GET`||e.method===`HEAD`)){F?.();let n=e.headers.host??`localhost:${P}`,r=N()===null?null:`ws://${n}/collab`,i=JSON.stringify({collabUrl:r,previewUrl:null,port:P});t.setHeader(`Content-Type`,`application/json`),t.setHeader(`Cache-Control`,`no-store`),t.setHeader(`X-Content-Type-Options`,`nosniff`),t.statusCode=200,e.method===`HEAD`?t.end():t.end(i);return}if(n?.startsWith(`/api/`)){F?.();let r=N();if(r===null){p(t,503,`urn:ok:error:collab-server-not-running`,"Collab server not running. Start `ok start` or run `ok status`.",`Path: ${n}`);return}ee(e,t,{upstreamHost:r.host,upstreamPort:r.port});return}if(A&&n?.startsWith(`/assets/`)){A(e,t,()=>{j?j(e,t,()=>T(t)):T(t)});return}if(j){j(e,t,()=>{A?A(e,t):T(t)});return}if(A){A(e,t);return}T(t)}},L=new Set,R=(e,t,n)=>{if(_(e,t))return;let r=e.url?.split(`?`)[0]??``;if(r!==`/collab`&&!r.startsWith(`/collab/`)){t.destroy();return}let i=N();if(i===null){console.warn(JSON.stringify({event:`ok-ui-upgrade-no-collab-lock`,url:r,reason:"server.lock missing or port unbound — is `ok start` running?"})),t.destroy();return}v(e,t,n,i.host,i.port,L)},z=()=>{for(let e of L)try{e.destroy()}catch{}L.clear()},te=i.host===void 0?[`::1`,`127.0.0.1`]:[i.host],B=[],V=i.port,ne=e=>e instanceof Error&&e.code===`EADDRINUSE`,H=async()=>{await Promise.all(B.splice(0).map(e=>new Promise(t=>{try{e.close(()=>t())}catch{t()}})))},U=async e=>{V=e;for(let e of te){let t=s(I);t.on(`upgrade`,R),B.push(t),await new Promise((n,r)=>{let i=e=>r(e);t.once(`error`,i),t.listen(V,e,()=>{t.off(`error`,i);let e=t.address();typeof e==`object`&&e&&(V=e.port),n()})})}};try{try{await U(i.port)}catch(e){if(i.fallbackToKernel===!0&&ne(e))await H(),await U(0);else throw e}}catch(e){await H();try{g(E)}catch{}throw e}let W=V;P=W,y(E,W,`http://localhost:${W}`);let G=i.scheduler??a,K=i.safetyNetMs??432e5,q=null,J=!1,Y=!1,X=()=>{J||(J=!0,q!==null&&(G.clearTimeout(q),q=null))},Z=()=>{if(X(),!Y){Y=!0;try{g(E)}catch{}}},Q=()=>{J||K<=0||(q!==null&&(G.clearTimeout(q),q=null),q=G.setTimeout(()=>{q=null,console.warn(`[ui] safety-net (${K}ms) reached — shutting down (D-025 backstop)`);try{i.onSafetyNet?.()}catch{}z();for(let e of B)try{e.close()}catch{}Z()},K))},$=()=>{J||K<=0||Q()};return F=$,Q(),{httpServers:B,port:W,release:Z,detachSafetyNet:X,nudgeSafetyNet:$,drainUpgradeSockets:z}}function T(e){e.headersSent||e.writableEnded||e.destroyed||(e.setHeader(`X-Content-Type-Options`,`nosniff`),e.setHeader(`Cache-Control`,`no-store`),e.statusCode=404,e.end())}function E(e,t){if(e!==void 0){let t=Number.parseInt(e,10);if(Number.isNaN(t)||t<0||t>65535)throw Error(`Invalid --port value '${e}'`);return{port:t,fallbackToKernel:!1}}if(t!==void 0&&t!==``){let e=Number.parseInt(t,10);if(Number.isNaN(e)||e<0||e>65535)throw Error(`Invalid PORT env value '${t}'`);return{port:e,fallbackToKernel:!1}}return{port:39847,fallbackToKernel:!0}}async function D(e){let t=e.readLock??(async()=>{let{readUiLock:t}=await import(`./src-DCqoFl4a.mjs`);return t(e.lockDir)}),n=await t();if(!n)throw Error(`UI lock collision reported but the lock disappeared before handling — retry acquiring.`);if(n.port===e.requestedPort&&n.port>0)return{mode:`already-running`,port:n.port};let r=n.port;if(r===0){let n=Date.now()+(e.pollDeadlineMs??2e3),i=e.pollIntervalMs??100;for(;Date.now()<n;){await new Promise(e=>{setTimeout(e,i)});let e=await t();if(e&&e.port>0){r=e.port;break}}if(r===0)throw Error("UI did not bind within 2s; run `ok clean`");if(r===e.requestedPort)return{mode:`already-running`,port:r}}return{mode:`proxy`,handle:await b({listenPort:e.requestedPort,host:e.host,upstreamHost:`localhost`,upstreamPort:r}),upstreamPort:r}}async function O(e,t){let{dim:n}=await import(`./colors-MGDi6UGf.mjs`),{UiLockCollisionError:r}=await import(`./src-DCqoFl4a.mjs`),{resolveLockDir:i}=await import(`./src-DCqoFl4a.mjs`),a=t.host;if(t.upstreamUrl!==void 0)try{C(t.upstreamUrl)}catch(e){console.error(e instanceof Error?e.message:String(e)),process.exit(2)}let o;try{o=E(t.port,process.env.PORT)}catch(e){console.error(e instanceof Error?e.message:String(e)),process.exit(2)}let s=o.port;try{let r=await w({config:e,cwd:process.cwd(),port:s,fallbackToKernel:o.fallbackToKernel,host:a,...t.upstreamUrl===void 0?{}:{upstreamUrl:t.upstreamUrl}}),i=a===void 0||a===`::`||a===`0.0.0.0`?`localhost`:a;console.log(`${n(`[ui]`)} listening on http://${i}:${r.port}`);let c=!1,l=e=>{if(c)return;c=!0,console.log(n(`\n[ui] Shutting down (${e})`)),r.detachSafetyNet();let t=()=>{try{r.release()}finally{process.exit(process.exitCode??0)}};r.drainUpgradeSockets(),S(r.httpServers).then(t,t),setTimeout(t,2e3).unref()};process.once(`SIGINT`,()=>l(`SIGINT`)),process.once(`SIGTERM`,()=>l(`SIGTERM`));return}catch(e){if(!(e instanceof r))throw e;let t=i(process.cwd()),o=a??`localhost`,c;try{c=await D({requestedPort:s,host:o,lockDir:t})}catch(e){console.error(e instanceof Error?e.message:String(e)),process.exit(1)}if(c.mode===`already-running`){if(console.log(`UI already running at http://${o}:${c.port}`),k(process)){await new Promise(e=>{let t=t=>{console.log(n(`\n[ui-keepalive] Shutting down (${t})`)),e()};process.once(`SIGINT`,()=>t(`SIGINT`)),process.once(`SIGTERM`,()=>t(`SIGTERM`))});return}process.exit(0)}console.log(`UI running at http://${o}:${c.upstreamPort}; acting as HTTP proxy on port ${c.handle.port}`);let l=!1,u=e=>{l||(l=!0,console.log(n(`\n[ui-proxy] Shutting down (${e})`)),c.handle.close().finally(()=>process.exit(process.exitCode??0)),setTimeout(()=>process.exit(process.exitCode??0),2e3).unref())};process.once(`SIGINT`,()=>u(`SIGINT`)),process.once(`SIGTERM`,()=>u(`SIGTERM`))}}function k(e){let t=e.stdout.isTTY===!0,n=typeof e.env.PORT==`string`&&e.env.PORT!==``;return!t||n}export{O as runUiCommand};
|
|
3
|
+
//# sourceMappingURL=ui-CGn0Cm6_.mjs.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{i as e,o as t,t as n}from"./chunk-DTipWd-i.mjs";import{$o as r,cs as i,fs as a,ss as o}from"./src-BqZfalMj.mjs";import{yr as s,zr as c}from"./src-
|
|
1
|
+
import{i as e,o as t,t as n}from"./chunk-DTipWd-i.mjs";import{$o as r,cs as i,fs as a,ss as o}from"./src-BqZfalMj.mjs";import{yr as s,zr as c}from"./src-Da93CAF3.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 y,readFileSync as ne,realpathSync as b,rmSync as x,statSync as re}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]}const Y={claude:{id:`claude`,label:k.claude,configPath:(e,t)=>Ce({home:t}),format:`json`,topLevelKey:`mcpServers`,serverName:()=>r,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:()=>r,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:()=>r,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:()=>r,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:()=>r,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:()=>r,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:()=>r,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:()=>r,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:()=>r,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:()=>r,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:()=>r,buildEntry:(e,t)=>z(t),scope:`global`,detectPath:(e,t)=>f(t??S(),`.hermes`),offerOnlyWhenDetected:!0}};function je(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.`);Z(e,t)}function Me(e,t){Z(e,t)}function Z(e,t){let n;try{n=b(t)}catch{n=h(t)}let r=u(e);for(;r.length>1&&r!==g;){let t;try{t=b(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 Q(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Ne(e,t,n){try{if(re(n).size>10485760)return!1}catch{return!1}let r;try{r=ne(n,`utf-8`)}catch{return!1}let i=[],a=c(r.charCodeAt(0)===65279?r.slice(1):r,i,{allowTrailingComma:!0,disallowComments:!1});if(i.length>0||!Q(a))return!1;let o=a[e.topLevelKey];if(!Q(o))return!1;let s=e.serverMapSubKey?o[e.serverMapSubKey]:o;return Q(s)?Q(s[e.serverName(t)]):!1}function Pe(e,t,n={}){if(e.id!==`copilot`)return!0;try{return Ne(e,t,e.configPath(t,n.home))}catch{return!1}}function $(e,t,n={}){let r=e.projectSkillPath?.(t);if(!r)return{editorId:e.id,label:e.label,action:`skipped-unsupported`,path:``};if(!Pe(e,t,n))return{editorId:e.id,label:e.label,action:`skipped-prerequisite`,path:r};try{let n=s(`project`,{checkDesktop:!0}),i=u(r);X(i,t);let a=v(r)?`overwritten`:`written`;return x(i,{recursive:!0,force:!0}),y(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)}}}export{je as _,k as a,me as b,P as c,z as d,be as f,Se as g,xe as h,O as i,F as l,ve as m,Me as n,Y as o,L as p,$ as r,ge as s,X as t,I as u,fe as v,D as y};
|
|
56
|
-
//# sourceMappingURL=write-project-skill-
|
|
56
|
+
//# sourceMappingURL=write-project-skill-Bzg8sfOX.mjs.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@inkeep/open-knowledge",
|
|
3
|
-
"version": "0.54.0-beta.
|
|
3
|
+
"version": "0.54.0-beta.1",
|
|
4
4
|
"license": "GPL-3.0-or-later",
|
|
5
5
|
"private": false,
|
|
6
6
|
"type": "module",
|
|
@@ -62,10 +62,10 @@
|
|
|
62
62
|
"ajv-formats": "^3.0.1",
|
|
63
63
|
"tsdown": "^0.21.7",
|
|
64
64
|
"typescript": "^5.9.3",
|
|
65
|
-
"@inkeep/open-knowledge-app": "0.54.0-beta.0",
|
|
66
|
-
"@inkeep/open-knowledge-core": "0.54.0-beta.0",
|
|
67
65
|
"@inkeep/open-knowledge-native-config": "0.0.0",
|
|
68
|
-
"@inkeep/open-knowledge-server": "0.54.0-beta.
|
|
66
|
+
"@inkeep/open-knowledge-server": "0.54.0-beta.1",
|
|
67
|
+
"@inkeep/open-knowledge-app": "0.54.0-beta.1",
|
|
68
|
+
"@inkeep/open-knowledge-core": "0.54.0-beta.1"
|
|
69
69
|
},
|
|
70
70
|
"scripts": {
|
|
71
71
|
"build:cli": "rm -rf dist && tsdown",
|
package/dist/init-Cc1kMhai.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{g as e}from"./init-DqyJAJAm.mjs";export{e as runInit};
|
package/dist/loader-COoyAZy6.mjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e}from"./loader-BkusT1hI.mjs";export{e as loadConfig};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{n as e,t}from"./preview-kSEjxYuX.mjs";export{t as formatPreviewBlock,e as previewContent};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./index-CQiP7zms.js";export{e as FeedbackForm};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./ManagedArtifactProperties-D1j8yV7G.js";export{e as ManagedArtifactProperties};
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./code-highlighter-impl-Dk8zJoMV.js","./lib-C0Wr4O8I.js","./html-void-elements-C35FEqss.js","./chunk-CYidjpOJ.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{o as e}from"./chunk-CYidjpOJ.js";import{t}from"./preload-helper-Chd9yIcd.js";import{t as n}from"./jsx-runtime-BUgB2tll.js";import{Dn as r,In as i,On as a,Tn as o,a as s,er as c,kn as l,mr as u,xn as d}from"./DocumentContext-CKR9tIsX.js";import{t as f}from"./react-f2sANaYj.js";import{n as p,r as m}from"./dist-Nvb76hAm.js";import{t as h}from"./compiler-runtime-BfE3aGVn.js";import{l as g}from"./local-menu-action-bus-Cypryz6Z.js";import{t as _}from"./utils-CPqDy6Hr.js";import{t as v}from"./mascot-outline-CtS592mc.js";import{t as y}from"./button-CA0dewJJ.js";import{i as b,n as x,t as S}from"./tooltip-DHXgxWLL.js";import{ot as C}from"./CodeMirrorPropInput-DywYyBz8.js";import{t as w}from"./checkbox-Bxl4H4lV.js";import{a as T,c as E,d as D,f as O,l as k,m as A,n as j,o as M,p as N,r as P,t as F}from"./dropdown-menu-CLgDYkh1.js";import{t as I}from"./progress-BdSO2c_8.js";import{n as L}from"./separator-vdmCepR4.js";import{t as ee}from"./switch-B2sF5R0q.js";import{Lr as R,lt as te}from"./dist-C27Q9mDy.js";import{t as z}from"./dist-DUfEoSbR.js";import{n as B}from"./dist-B6jB2qbD2.js";import{i as ne,t as V}from"./history-B1SZDFzE.js";import{t as H}from"./use-workspace-CyUAn3C0.js";import{t as U}from"./createLucideIcon-Bhw2PmPp.js";import{l as W,o as re}from"./Mermaid-mUyEEsA0.js";import{t as G}from"./RegisteredAgentIcon-BxpJAHOj.js";import{t as K}from"./check-CGfmW4da.js";import{t as q}from"./chevron-down-DabHDQTe.js";import{t as J}from"./chevron-right-Diamp-K_.js";import{o as ie,r as ae,s as oe}from"./prop-types-CxA_rPl_.js";import{t as se}from"./download-Dn5ulvxm.js";import{t as ce}from"./list-plus-2r7_ATZj.js";import{t as le}from"./spinner-CHTY-VE-.js";import{c as ue,l as de,n as fe,r as pe,s as me,t as he}from"./comment-chips-VYzrfZOz.js";import{a as ge,b as _e,c as ve,d as ye,f as be,i as xe,l as Se,m as Ce,n as we,o as Te,r as Ee,s as De,t as Oe,u as ke,v as Ae,y as je}from"./follow-file-CoVZeHYJ.js";import{t as Me}from"./square-pen-DdAKbKU7.js";import{t as Ne}from"./terminal-DRi0ugpC.js";import{t as Pe}from"./trash-2-BWJWOK8-.js";import{t as Fe}from"./wrench-C3BL-uHg.js";import{t as Ie}from"./x-BaJrHZK_.js";import{f as Le,s as Re}from"./doc-paths-BVBn68AJ.js";import{t as ze}from"./badge-BYteLKha.js";import{t as Be}from"./textarea-CzW0aR0j.js";import{t as Ve}from"./skeleton-BOVIbSHk.js";import{n as He}from"./agent-presence-C3GIHDxc.js";import{r as Ue}from"./chunk-BO2N2NFS-BD-R2P8f.js";import{n as We}from"./libesm-DQtLkQQh.js";import{a as Ge,d as Ke,f as qe,n as Je,p as Ye,r as Xe,s as Ze,u as Qe}from"./thread-client-DnaLPSLV.js";import{n as $e}from"./thread-draft-staging-BG7XGHEN.js";var et=U(`folder-input`,[[`path`,{d:`M2 9V5a2 2 0 0 1 2-2h3.9a2 2 0 0 1 1.69.9l.81 1.2a2 2 0 0 0 1.67.9H20a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2v-1`,key:`fm4g5t`}],[`path`,{d:`M2 13h10`,key:`pgb2dq`}],[`path`,{d:`m9 16 3-3-3-3`,key:`6m91ic`}]]),tt=U(`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`}]]),nt=U(`shuffle`,[[`path`,{d:`m18 14 4 4-4 4`,key:`10pe0f`}],[`path`,{d:`m18 2 4 4-4 4`,key:`pucp1d`}],[`path`,{d:`M2 18h1.973a4 4 0 0 0 3.3-1.7l5.454-8.6a4 4 0 0 1 3.3-1.7H22`,key:`1ailkh`}],[`path`,{d:`M2 6h1.972a4 4 0 0 1 3.6 2.2`,key:`km57vx`}],[`path`,{d:`M22 18h-6.041a4 4 0 0 1-3.3-1.8l-.359-.45`,key:`os18l9`}]]),rt=U(`square`,[[`rect`,{width:`18`,height:`18`,x:`3`,y:`3`,rx:`2`,key:`afitv7`}]]),Y=h(),it=new RegExp([`bypass`,`acceptedits`,`fullaccess`,`autoedit`,`yolo`,`danger`,`fullauto`,`autoaccept`,`autoapprove`,`autorun`,`skippermission`,`noconfirm`,`noprompt`,`unrestricted`,`allowall`].join(`|`)),at=new Set([`auto`]);function ot(e){return e.toLowerCase().replace(/[^a-z]/g,``)}function st(e){let t=ot(e.id),n=ot(e.name??``);return at.has(t)||at.has(n)?!0:it.test(t)||it.test(n)}var ct={"claude-acp":`asks`,"codex-acp":`self-managed`,cursor:`self-managed`,"pi-acp":`autonomous`};function lt(e,t,n){let r=n??(t==null?null:t.availableModes.find(e=>e.id===t.currentModeId)??null),i=ct[e];return i===void 0?t!=null&&t.availableModes.length>0?`self-managed`:`unknown`:i===`asks`&&r!==null&&st(r)?`self-managed`:i}var X=e(f(),1),Z=n();function ut({defaultTagName:e,props:t,render:n,state:r={},stateAttributesMapping:i}){let a=dt(ft(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={...dt(a,o),ref:ht(a.ref,o.ref)};return X.cloneElement(n,s)}function dt(...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]=ht(i,r):mt(n)&&typeof i==`function`&&typeof r==`function`?t[n]=pt(r,i):t[n]=r}}return t}function ft(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 pt(e,t){return function(n){e(n),n.defaultPrevented||t(n)}}function mt(e){return/^on[A-Z]/.test(e)}function ht(...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 gt=8,_t=64,vt=0,yt=.5,bt=180,xt=new Set([`ArrowDown`,`ArrowUp`,`End`,`Home`,`PageDown`,`PageUp`,` `]),St={start:!1,end:!1},Ct={currentAnchorId:null,visibleMessageIds:[]};function wt({content:e,scrollEdgeThreshold:t,spacer:n,viewport:r}){if(!r||!e)return St;let i=It({content:e,spacer:n,viewport:r});return{start:r.scrollTop>t,end:i-r.scrollTop-r.clientHeight>t}}function Tt({content:e,scrollMargin:t,scrollPreviousItemPeek:n,spacer:r,viewport:i,visibleMessageIds:a}){if(!e||!i)return Ct;let o=i.getBoundingClientRect(),s=o.top+t+n,c=typeof IntersectionObserver>`u`,l=[],u=null;for(let t of Et(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+yt&&(u=e)}return l.length===0&&u===null?Ct:{currentAnchorId:u,visibleMessageIds:l}}function Et(e,t){return Array.from(e.children).filter(e=>e instanceof HTMLElement&&e!==t)}function Dt(e,t){for(let n=t;n<e.length;n++){let t=e[n];if(t?.dataset.scrollAnchor===`true`)return t}return null}function Ot(e,t){for(let n of e)if(n.dataset.scrollAnchor===`true`&&!t.has(n))return n;return null}function kt(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 At(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(n?.dataset.scrollAnchor===`true`)return n}return null}function jt({content:e,spacer:t,viewport:n}){let r=n.getBoundingClientRect();for(let n of Et(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 Mt({align:e,element:t,scrollMargin:n,spacer:r,viewport:i}){let a=Nt(t,i),o=t.getBoundingClientRect().height,s=zt(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 Nt(e,t){let n=e.getBoundingClientRect(),r=t.getBoundingClientRect();return n.top-r.top+t.scrollTop}function Pt(e,t){return e.getBoundingClientRect().top-t.getBoundingClientRect().top}function Ft({content:e,scrollTop:t,spacer:n,viewport:r}){let i=It({content:e,spacer:n,viewport:r});return t+r.clientHeight-i}function It({content:e,spacer:t,viewport:n}){let r=Et(e,t),i=Rt(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 Rt(e){let t=window.getComputedStyle(e);return{end:Vt(t.paddingBlockEnd||t.paddingBottom),start:Vt(t.paddingBlockStart||t.paddingTop)}}function zt(e){let t=e?.parentElement;return t?Rt(t):{end:0,start:0}}function Bt(e){if(!e)return 0;let t=window.getComputedStyle(e);return Vt(t.rowGap===`normal`?t.gap:t.rowGap)}function Vt(e){if(!e)return 0;let t=Number.parseFloat(e);return Number.isFinite(t)?t:0}function Ht({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()},bt))},[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)<=yt){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=Mt({align:t,element:e,scrollMargin:o?a+g.current:a,spacer:y.current,viewport:l});return S(Ft({content:s,scrollTop:u,spacer:y.current,viewport:l})),m.current={element:e,viewportTop:Pt(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 Ut(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 Wt(e,t){return Ut(e,t)}function Gt(){return Ut(Ct,qt)}function Kt(e,t){return e.start===t.start&&e.end===t.end}function qt(e,t){return e.currentAnchorId!==t.currentAnchorId||e.visibleMessageIds.length!==t.visibleMessageIds.length?!1:e.visibleMessageIds.every((e,n)=>e===t.visibleMessageIds[n])}function Jt({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=Wt(St,Kt)),j.current===null&&(j.current=Gt()),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 Yt(e,t){return X.useCallback(n=>{e.current=n,n&&t()},[e,t])}function Xt({autoScroll:e=!1,defaultScrollPosition:t=`end`,scrollEdgeThreshold:n=gt,scrollPreviousItemPeek:r=_t,scrollMargin:i=vt}){let a=Jt({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,I=X.useRef(t);I.current!==t&&(I.current=t,d.current=!1);let L=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))},[]),ee=X.useCallback(e=>{let t=A.current?.scrollTop??0,n=t<m.current-yt;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`)},[]),R=X.useCallback(()=>{let e=wt({content:u.current,scrollEdgeThreshold:S.current,spacer:D.current,viewport:A.current});ee(e);let t=g.current===`following-bottom`?{...e,end:!1}:e;L(t),k.setSnapshot(t)},[ee,k,L]),te=X.useCallback(()=>{O.current===null&&(O.current=window.requestAnimationFrame(()=>{O.current=null,R()}))},[R]),z=X.useCallback(()=>{N.hasListeners()&&j.current===null&&(j.current=window.requestAnimationFrame(()=>{j.current=null,N.hasListeners()&&N.setSnapshot(Tt({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:U,scrollToStart:W}=Ht({refs:a,commitScrollState:R,scheduleStateCommit:te,scheduleVisibilitySync:z}),re=X.useCallback(()=>{let e=y.current,t=A.current;if(!e||!t||!e.element.isConnected)return!1;let n=Pt(e.element,t)-e.viewportTop;return Math.abs(n)<=yt?!1:(t.scrollTop+=n,e.viewportTop=Pt(e.element,t),te(),z(),!0)},[te,z]),G=X.useCallback(()=>{let e=u.current,t=A.current;if(!e||!t){y.current=null;return}let n=jt({content:e,spacer:D.current,viewport:t});y.current=n?{element:n,viewportTop:Pt(n,t)}:null},[]),K=X.useCallback(()=>{_.current===null&&(_.current=window.requestAnimationFrame(()=>{_.current=null,B()&&G()}))},[G,B]),q=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?At(Et(t,D.current)):null;if(!t||!n||!r)e=H({behavior:`auto`});else{let i=Nt(r,n);e=It({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`}):W({behavior:`auto`});return e?(d.current=!0,!0):!1},[t,V,H,W]),J=X.useCallback(()=>{let e=u.current;if(!e)return;let t=Et(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(q()||t.length>0&&s.current&&H({behavior:`auto`}))return;R(),z();return}let e=r?t.indexOf(r):-1;if(b.current&&e>0){re();return}if(t.length>n){let e=Dt(t,n);if(e){if(s.current&&g.current===`following-bottom`&&kt(t,n)){H({behavior:`auto`});return}V(e,{align:`start`},{keepPreviousPeek:!0}),F.current.add(e);return}}if(t.length===n){let e=Ot(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`}):(R(),z())})(),G()},[q,G,R,B,re,z,V,H]),ie=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}te(),z()},[ne,te,z,H]),ae=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]),oe=X.useCallback(()=>{j.current!==null&&(window.cancelAnimationFrame(j.current),j.current=null),M.current?.disconnect(),M.current=null,P.current.clear(),N.setSnapshot(Ct)},[N]),se=X.useCallback((e,t,n)=>{if(t){h.current.set(e,t),M.current?.observe(t),z(),v.current?.messageId===e&&K();return}n&&h.current.get(e)===n&&(h.current.delete(e),P.current.delete(e),M.current?.unobserve(n),z())},[K,z]),ce=X.useCallback(()=>{(g.current===`following-bottom`||g.current===`anchored-to-message`||g.current===`settling-jump`)&&(o.current=null,g.current=`free-scrolling`)},[]),le=X.useCallback(()=>L(k.getSnapshot()),[k,L]),ue=Yt(x,le),de=Yt(A,le),fe=X.useCallback(e=>{u.current=e},[]),pe=X.useCallback(e=>{D.current=e,T.current=Bt(e?.parentElement??null)},[]),me=X.useCallback(()=>{R(),z(),G()},[G,R,z]),he=X.useMemo(()=>({handleContentChange:J,handleResize:ie,observeVisibility:ae,preserveScrollOnPrependRef:b,scrollToEnd:H,scrollToMessage:U,scrollToStart:W,setContentElement:fe,setRootElement:ue,setSpacerElement:pe,setViewportElement:de,stateStore:k,syncAfterScroll:me,unobserveVisibility:oe,userScrollIntent:ce,viewportRef:A,visibilityStore:N}),[J,ie,ae,H,U,W,fe,ue,pe,de,k,me,oe,ce,N]);return X.useLayoutEffect(()=>{q()},[q]),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}R()},[e,R,H]),{context:he,registerMessage:se}}function Zt(e){let t=X.useRef(e);return t.current=e,t}var Qt=X.createContext(null),$t=X.createContext(null);function en(){let e=X.useContext(Qt);if(!e)throw Error(`useMessageScroller must be used within a MessageScroller.`);return e}function tn(){let e=X.useContext($t);if(!e)throw Error(`MessageScrollerItem must be used within a MessageScroller.`);return e}function nn(){let{scrollToEnd:e,scrollToMessage:t,scrollToStart:n}=en();return X.useMemo(()=>({scrollToEnd:e,scrollToMessage:t,scrollToStart:n}),[e,t,n])}function rn({autoScroll:e=!1,children:t,defaultScrollPosition:n=`end`,scrollEdgeThreshold:r,scrollPreviousItemPeek:i,scrollMargin:a}){let{context:o,registerMessage:s}=Xt({autoScroll:e,defaultScrollPosition:n,scrollEdgeThreshold:r,scrollPreviousItemPeek:i,scrollMargin:a});return(0,Z.jsx)(Qt.Provider,{value:o,children:(0,Z.jsx)($t.Provider,{value:s,children:t})})}function an({children:e,...t}){let{setRootElement:n}=en();return(0,Z.jsx)(`div`,{ref:n,...t,children:e})}function on({"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}=en();f.current=o;let _=X.useCallback(e=>{p(e),ht(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){xt.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 sn({"aria-relevant":e,children:t,ref:n,role:r,spacerClassName:i,...a}){let{handleContentChange:o,handleResize:s,setContentElement:c,setSpacerElement:l}=en(),u=X.useRef(null),d=X.useCallback(e=>{u.current=e,c(e),ht(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 cn({messageId:e,ref:t,scrollAnchor:n=!1,...r}){let i=tn(),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),ht(t)?.(n)},[e,t,i]),"data-message-id":e,"data-scroll-anchor":n?`true`:`false`,...r})}function ln({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}=en(),d=Zt(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 ut({defaultTagName:`button`,props:dt({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 un={Provider:rn,Root:an,Viewport:on,Content:sn,Item:cn,Button:ln};function dn(e){let t=(0,Y.c)(2),n;return t[0]===e?n=t[1]:(n=(0,Z.jsx)(un.Provider,{...e}),t[0]=e,t[1]=n),n}function fn(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=_(`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)(un.Root,{"data-slot":`message-scroller`,className:i,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function pn(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=_(`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)(un.Viewport,{"data-slot":`message-scroller-viewport`,className:i,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function mn(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=_(`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)(un.Content,{"data-slot":`message-scroller-content`,className:i,...r}),t[5]=r,t[6]=i,t[7]=a):a=t[7],a}function hn(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=_(`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)(un.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 gn(e){let t=(0,Y.c)(25),n,r,i,a,o,s,c;t[0]===e?(n=t[1],r=t[2],i=t[3],a=t[4],o=t[5],s=t[6],c=t[7]):({direction:o,className:r,children:n,render:a,variant:s,size:c,...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]=c);let l=o===void 0?`end`:o,u=s===void 0?`secondary`:s,d=c===void 0?`icon-sm`:c,f;t[8]===r?f=t[9]:(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]=f);let m;t[10]!==a||t[11]!==d||t[12]!==u?(m=a??(0,Z.jsx)(y,{variant:u,size:d}),t[10]=a,t[11]=d,t[12]=u,t[13]=m):m=t[13];let h;t[14]!==n||t[15]!==l?(h=n??(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(W,{"aria-hidden":`true`}),(0,Z.jsx)(`span`,{className:`sr-only`,children:l===`end`?(0,Z.jsx)(p,{id:`EQXPXf`}):(0,Z.jsx)(p,{id:`b1FDss`})})]}),t[14]=n,t[15]=l,t[16]=h):h=t[16];let g;return t[17]!==l||t[18]!==i||t[19]!==d||t[20]!==f||t[21]!==m||t[22]!==h||t[23]!==u?(g=(0,Z.jsx)(un.Button,{"data-slot":`message-scroller-button`,"data-direction":l,"data-variant":u,"data-size":d,direction:l,className:f,render:m,...i,children:h}),t[17]=l,t[18]=i,t[19]=d,t[20]=f,t[21]=m,t[22]=h,t[23]=u,t[24]=g):g=t[24],g}var _n=new Map,vn=0;function yn(){return typeof performance<`u`&&typeof performance.now==`function`?performance.now():Date.now()}function bn(){let e=yn();for(let[t,n]of _n)t((e-n)/1e3);if(_n.size===0){vn=0;return}vn=requestAnimationFrame(bn)}function xn(e){return _n.set(e,yn()),vn===0&&typeof requestAnimationFrame==`function`&&(vn=requestAnimationFrame(bn)),()=>{_n.delete(e),_n.size===0&&vn!==0&&(cancelAnimationFrame(vn),vn=0)}}var Q=40,Sn=15,Cn=15,$=12.4,wn={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},Tn=`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`,En=2.26,Dn=`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 On(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 kn(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=>[Sn+(e[0]-(i+a)/2)*c,Cn+(e[1]-(o+s)/2)*c])}function An(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 jn(){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 Mn(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:On(kn(d,i)),strokeWidth:u*m}}function a(e,i){let{cx:a,cy:o,hi:s}=n(t(e,1400));return On(kn(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 On(kn(t(e,Q),n))}function s(e,n,r){return On(An(t(e,Q),n,r))}function c(e,n,r){return On(t(e,Q).map(e=>[Sn+(e[0]-Sn)*n,Cn+(e[1]-Cn)*r]))}function l(e,n,r=1){return On(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[Sn+(e[0]-Sn)*a,Cn+(e[1]-Cn)*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([Sn+Math.cos(a)*t,Cn+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`}${(Sn+Math.cos(i)*o).toFixed(2)} ${(Cn+Math.sin(i)*o).toFixed(2)}`}return On(kn(An(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[Sn+Math.cos(n)*e,Cn+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=[Sn+Math.cos(t)*n,Cn+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 On(kn(An(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([Sn+Math.cos(o)*c,Cn+Math.sin(o)*c])}return On(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([Sn+Math.cos(r)*e,Cn+Math.sin(r)*e])}return On(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 Nn(){let e=jn();if(e===null)return null;try{let t=Mn(e),n=t.silhouette(v,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(Dn,$*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 Pn;function Fn(){return Pn===void 0&&(Pn=Nn()),Pn}var In=/-?\d+(?:\.\d+)?/g;function Ln(e){return{fragments:e[0].split(In),numbers:e.map(e=>(e.match(In)??[]).map(Number))}}function Rn(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 zn(e){return e<.5?2*e*e:1-2*(1-e)**2}var Bn=.58;function Vn(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:zn(r?Math.min(1,c/Bn):c)}}var Hn=wn,Un=[Hn.blobby,Hn.triangle,Hn.square,Hn.sparkle,Hn.comma,Hn.pentagon,Hn.hexagon,Hn.blobby],Wn={[Hn.comma]:-2.9},Gn={leftCx:10.9,rightCx:18.1,cy:16,rx:1.25,ry:1.9},Kn=20,qn=8.4;function Jn(e){let t=(0,Y.c)(22),{status:n,className:r,testId:i}=e,{_:a}=m(),o=(0,X.useRef)(null),s=(0,X.useRef)(null),c=ke(),l,u;t[0]===c?(l=t[1],u=t[2]):(l=()=>{let e=o.current;if(e===null)return;if(c){e.setAttribute(`d`,Tn),e.setAttribute(`stroke-width`,String(En)),s.current?.removeAttribute(`transform`);return}let t=Fn();if(t===null)return;e.setAttribute(`stroke-width`,t.strokeWidth.toFixed(2));let n=Ln(t.paths),r=NaN,i=``;return xn(t=>{let{from:a,to:o,t:c}=Vn(t,Un.length,qn,!0),l=n.numbers[Un[a]],u=n.numbers[Un[o]],d=l.map((e,t)=>e+(u[t]-e)*c),f=Rn(n.fragments,d);f!==i&&(i=f,e.setAttribute(`d`,f));let p=s.current;if(p===null)return;let m=Wn[Un[a]]??0,h=m+((Wn[Un[o]]??0)-m)*c;h!==r&&(r=h,p.setAttribute(`transform`,`translate(0 ${h.toFixed(2)})`))})},u=[c],t[0]=c,t[1]=l,t[2]=u),(0,X.useEffect)(l,u);let[d,f]=(0,X.useState)(``),p,h;t[3]===a?(p=t[4],h=t[5]):(p=()=>{f(a({id:`DCSSZt`}))},h=[a],t[3]=a,t[4]=p,t[5]=h),(0,X.useEffect)(p,h);let g;t[6]===r?g=t[7]:(g=_(`ok-working-enter flex items-center gap-2`,r),t[6]=r,t[7]=g);let v;t[8]===d?v=t[9]:(v=(0,Z.jsx)(`span`,{"aria-live":`polite`,className:`sr-only`,role:`status`,children:d}),t[8]=d,t[9]=v);let y;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,Z.jsx)(`path`,{ref:o,d:Tn,fill:`none`,stroke:`currentColor`,strokeWidth:En,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:Kn,height:Kn,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:Gn.leftCx,cy:Gn.cy,rx:Gn.rx,ry:Gn.ry,fill:`currentColor`}),(0,Z.jsx)(`ellipse`,{className:`ok-working-eye`,cx:Gn.rightCx,cy:Gn.cy,rx:Gn.rx,ry:Gn.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]!==g||t[19]!==v||t[20]!==i?(C=(0,Z.jsxs)(`div`,{className:g,"data-testid":i,children:[v,b,S]}),t[17]=S,t[18]=g,t[19]=v,t[20]=i,t[21]=C):C=t[21],C}function Yn(e){let t=[];for(let n of e.options)`value`in n?t.push(n):t.push(...n.options);return t}function Xn(e){let t=Yn(e),n=t.find(t=>t.value===e.currentValue);if(n===void 0||n.value!==`default`||!n.description)return null;let r=t.find(e=>e.value!==n.value&&e.description===n.description);return r===void 0?null:z._({id:`GK5Ft_`,values:{0:r.name}})}function Zn(e,t,n){return e===`claude-acp`&&t===`effort`&&n===`default`?z._({id:`3SWNP8`}):e===`codex-acp`&&t===`collaboration_mode`&&n===`default`?z._({id:`R6ABfU`}):null}var Qn=3,$n=Qn*2+2;function er(e){let t=e.split(`
|
|
3
|
-
`);return t[t.length-1]===``&&t.pop(),t}function tr(e,t){if(e===null)return er(t).map(e=>({type:`add`,text:e}));let n=[],r=We(e,t);for(let[e,t]of r.entries()){let i=er(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<=$n){for(let e of i)n.push({type:`ctx`,text:e});continue}let a=e>0?i.slice(0,Qn):[],o=e<r.length-1?i.slice(-Qn):[];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 nr=/\x1b\[[0-9;?]*[ -/]*[@-~]|\x1b\][^\x07\x1b]*(?:\x07|\x1b\\)|\x1b[@-Z\\-_]/g;function rr(e){return e.replace(nr,``)}function ir(e){return rr(e).split(`
|
|
4
|
-
`).map(e=>{let t=e.replace(/\r+$/,``),n=t.lastIndexOf(`\r`);return n===-1?t:t.slice(n+1)}).join(`
|
|
5
|
-
`)}var ar=new Set(te),or=/^(?:open[-_ ]?knowledge|ok)$/,sr=/^(?:mcp[^a-z0-9]+)?(?:open[-_ ]?knowledge|ok)[^a-z0-9]+([a-z_]+)$/;function cr(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:{}}function lr(e){return sr.exec(e.trim().toLowerCase())?.[1]??null}function ur(e,t){let n=ve(cr(t),`server`);if(n!==null&&!or.test(n.toLowerCase()))return null;let r=Se(t),i=[lr(e),r?.tool??null].find(e=>e!==null&&ar.has(e));return i===void 0?null:{tool:i,args:r?.args??{}}}function dr(e){return typeof e==`string`?e.trim()===``?[]:[e.trim()]:Array.isArray(e)?e.flatMap(dr):typeof e==`object`&&e?dr(e.path):[]}var fr=[`document`,`documents`,`folder`,`file`,`template`,`asset`,`path`,`from`,`name`];function pr(e){for(let t of fr){let n=dr(e[t]);if(n.length>0)return n}return[]}function mr(e){return e.replace(/\.mdx?$/i,``)}var hr=120;function gr(e){if(typeof e!=`string`)return null;let t=e.replace(/\s+/g,` `).trim();return t===``?null:t.length>hr?`${t.slice(0,hr-1)}…`:t}function _r(e,t){let n=pr(t),r=n[0],i=n.length>1?z._({id:`C7waqI`,values:{0:n.length}}):r===void 0?null:mr(r);switch(e){case`write`:return{glyph:`edit`,text:i===null?z._({id:`tLX6LY`}):z._({id:`MvWBwz`,values:{subject:i}})};case`edit`:return{glyph:`edit`,text:i===null?z._({id:`Fx9aOF`}):z._({id:`7aNk5D`,values:{subject:i}})};case`delete`:return{glyph:`delete`,text:i===null?z._({id:`DcFr-y`}):z._({id:`Gb_h4G`,values:{subject:i}})};case`move`:{let e=dr(t.to)[0];if(i===null||e===void 0)return{glyph:`move`,text:z._({id:`RGptDW`})};let n=mr(e);return{glyph:`move`,text:z._({id:`pbyEp3`,values:{subject:i,destination:n}})}}case`search`:{let e=gr(t.query);return{glyph:`search`,text:e===null?z._({id:`EvXKHE`}):z._({id:`yWfjqS`,values:{query:e}})}}case`exec`:{let e=gr(t.command);return{glyph:`execute`,text:e===null?z._({id:`FS4Udk`}):z._({id:`a5gwRt`,values:{command:e}})}}case`lint`:case`audit`:return{glyph:`check`,text:i===null?z._({id:`7S7FNA`}):z._({id:`TEJiKw`,values:{subject:i}})};case`links`:return{glyph:`link`,text:i===null?z._({id:`vallqD`}):z._({id:`KDrbNG`,values:{subject:i}})};case`history`:return{glyph:`history`,text:i===null?z._({id:`Ug2xzC`}):z._({id:`90-wKT`,values:{subject:i}})};case`config`:{let e=gr(t.key);return{glyph:`settings`,text:e===null?z._({id:`ZwpggY`}):z._({id:`-oHckY`,values:{key:e}})}}case`skills`:return{glyph:`read`,text:z._({id:`4mp6Tv`})};case`install`:return{glyph:`install`,text:i===null?z._({id:`4ErgAf`}):z._({id:`WbWtif`,values:{subject:i}})};case`import`:{let e=gr(t.skill)??gr(t.source);return{glyph:`install`,text:e===null?z._({id:`DhT_PK`}):z._({id:`hCattk`,values:{source:e}})}}case`palette`:return{glyph:`read`,text:z._({id:`7czmD1`})};case`preview_url`:return{glyph:`fetch`,text:z._({id:`UL-9ej`})};case`share_link`:return{glyph:`share`,text:i===null?z._({id:`ABq-cq`}):z._({id:`ibE3-O`,values:{subject:i}})};case`checkpoint`:return{glyph:`history`,text:z._({id:`5b3WD-`})};case`conflicts`:return{glyph:`check`,text:z._({id:`i94lQe`})};case`resolve_conflict`:return{glyph:`edit`,text:i===null?z._({id:`_YWqV2`}):z._({id:`AeLo3p`,values:{subject:i}})};case`restore_version`:return{glyph:`restore`,text:i===null?z._({id:`caiyaU`}):z._({id:`hS0wC4`,values:{subject:i}})};default:return{glyph:`other`,text:z._({id:`vhGTWU`,values:{tool:e}})}}}var vr={read:`read`,edit:`edit`,delete:`delete`,move:`move`,search:`search`,execute:`execute`,think:`think`,fetch:`fetch`,switch_mode:`switch_mode`};function yr(e){let t=ur(e.title,e.rawInput);return t===null?{text:e.title,glyph:vr[e.toolKind]??`other`}:_r(t.tool,t.args)}var br=new Map([{id:`shellscript`,aliases:[`bash`,`sh`,`shell`,`zsh`]},{id:`tsx`,aliases:[`typescript`,`ts`,`jsx`]},{id:`javascript`,aliases:[`js`]},{id:`json`,aliases:[`jsonc`]},{id:`python`,aliases:[`py`]},{id:`rust`,aliases:[`rs`]},{id:`go`,aliases:[]},{id:`css`,aliases:[]},{id:`html`,aliases:[]},{id:`markdown`,aliases:[`md`]},{id:`yaml`,aliases:[`yml`]},{id:`toml`,aliases:[]},{id:`sql`,aliases:[]},{id:`diff`,aliases:[]},{id:`dockerfile`,aliases:[`docker`]}].flatMap(e=>[[e.id,e.id],...e.aliases.map(t=>[t,e.id])])),xr=[`github-light`,`github-dark`],Sr=400,Cr=new Map,wr=new Map;function Tr(e,t){return`${t}:${e.length}:${e.slice(0,100)}:${e.length>100?e.slice(-100):``}`}var Er={name:`shiki`,type:`code-highlighter`,getSupportedLanguages:()=>Array.from(br.keys()),supportsLanguage:e=>br.has(e),getThemes:()=>xr,highlight(e,n){let r=br.get(e.language)??`text`,i=Tr(e.code,r),a=Cr.get(i);if(a!==void 0)return a;if(n!==void 0){let e=wr.get(i)??new Set;e.add(n),wr.set(i,e)}return t(async()=>{let{tokenize:e}=await import(`./code-highlighter-impl-Dk8zJoMV.js`);return{tokenize:e}},__vite__mapDeps([0,1,2,3]),import.meta.url).then(async({tokenize:t})=>{let n=await t(e.code,r);if(Cr.size>=Sr){let e=Math.floor(Cr.size/2);for(let t of Cr.keys()){if(e===0)break;Cr.delete(t),--e}}Cr.set(i,n);let a=wr.get(i);if(a!==void 0){wr.delete(i);for(let e of a)e(n)}}).catch(e=>{wr.delete(i),console.warn(`[code-highlighter] highlight failed, leaving plain text`,e)}),null}};function Dr(e){let t=(0,Y.c)(12),{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,s;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(a={code:{copy:!0,download:!1},table:!1,mermaid:!1},o={code:Er},s={enabled:!1},t[3]=a,t[4]=o,t[5]=s):(a=t[3],o=t[4],s=t[5]);let c;t[6]===n?c=t[7]:(c=(0,Z.jsx)(Ue,{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 [&_[data-streamdown=code-block-body]]:p-3 [&_[data-streamdown=code-block-body]]:max-h-80 [&_[data-streamdown=code-block-body]]:overflow-auto`,lineNumbers:!1,controls:a,plugins:o,linkSafety:s,children:n}),t[6]=n,t[7]=c);let l;return t[8]!==r||t[9]!==i||t[10]!==c?(l=(0,Z.jsx)(g,{resetKeys:r,fallbackRender:i,onError:Or,children:c}),t[8]=r,t[9]=i,t[10]=c,t[11]=l):l=t[11],l}function Or(e){console.warn(`[AgentMarkdown] markdown render failed, falling back to plain text`,e)}function kr(e,t){if(!He(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||R(r.currentDoc)||t-r.ts>=5e3||n!==null&&r.ts<=n.ts)continue;let e=Te(r.currentDoc);e!==null&&(n={doc:e,ts:r.ts})}}return n}function Ar(e,t){let n=e[e.length-1];return n!==void 0&&n.doc===t.doc&&n.ts===t.ts?e:[...e,t]}function jr(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 Mr(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 Nr(){return[z._({id:`-VqsyR`}),z._({id:`UD_onR`}),z._({id:`D7hnvB`}),z._({id:`uF82hk`}),z._({id:`G0I7bo`}),z._({id:`eXPP7Z`}),z._({id:`juD53g`}),z._({id:`sqUrlK`}),z._({id:`3zDeFb`}),z._({id:`JAQ09e`}),z._({id:`JyW5aS`}),z._({id:`gmAH_b`})]}var Pr={min:3500,max:7e3};function Fr(e,t,n){return t<=1?0:(e+1+Math.floor(n*(t-1)))%t}function Ir(e){return Pr.min+e*(Pr.max-Pr.min)}function Lr(e){let t=(0,Y.c)(3),[n,r]=(0,X.useState)(zr),i,a;return t[0]===e?(i=t[1],a=t[2]):(i=()=>{if(!e)return;r(Math.floor(Math.random()*Nr().length));let t,n=()=>{t=setTimeout(()=>{r(Rr),n()},Ir(Math.random()))};return n(),()=>clearTimeout(t)},a=[e],t[0]=e,t[1]=i,t[2]=a),(0,X.useEffect)(i,a),n}function Rr(e){return Fr(e,Nr().length,Math.random())}function zr(){return Math.floor(Math.random()*Nr().length)}function Br(e){switch(e){case`read`:return z._({id:`YGt-0e`});case`search`:return z._({id:`jC8Bv4`});case`fetch`:return z._({id:`bnOTEz`});case`edit`:return z._({id:`GwpcXB`});case`delete`:return z._({id:`CD8lBW`});case`execute`:return z._({id:`wc54KE`});case`think`:return z._({id:`BGoW3h`});default:return null}}function Vr(e,t){let n=Br(e);if(n!==null)return n;let r=Nr();return r[(t%r.length+r.length)%r.length]}var Hr=1e4,Ur=1400,Wr={read:C,edit:Me,delete:Pe,move:et,search:l,execute:Ne,think:o,fetch:ie,switch_mode:nt,check:oe,link:i,history:V,share:_e,install:se,settings:a,restore:L,other:Fe};function Gr(e){return e instanceof Error?e.message:String(e)}function Kr(e){return e.replace(/\s+Agent$/i,``)}var qr=new Set([`connect`,`session-setup`,`auth-required`]);function Jr(e){return qr.has(e.reason)}function Yr(e){let t=(0,Y.c)(137),{info:n,active:r}=e,i=r===void 0?!0:r,{_:a}=m(),o=Ge(n.threadId),l;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(l=Xe(),t[0]=l):l=t[0];let d=l,f=H(),p=(0,X.useRef)(null),h;t[1]===Symbol.for(`react.memo_cache_sentinel`)?(h=()=>p.current?.getContent().instruction.trim()??``,t[1]=h):h=t[1];let g=h,[_,v]=(0,X.useState)(xe),b=(0,X.useRef)(null),x=(0,X.useRef)(null),S=(0,X.useRef)(Oe),C=(0,X.useRef)(!1),w,T;t[2]===n.threadId?(w=t[3],T=t[4]):(w=()=>$e(n.threadId,e=>{p.current?.appendText(e)}),T=[n.threadId],t[2]=n.threadId,t[3]=w,t[4]=T),(0,X.useEffect)(w,T);let E=Ze(n.threadId),D=n.status,O=n.archived===!0,k=E?.turnActive===!0&&!O,A=Lr(k),[j,M]=(0,X.useState)(!1),[N,P]=(0,X.useState)(null),F=O?!j:D===`ready`&&!k,I=!O&&(D===`error`||D===`auth_required`),[L,ee]=(0,X.useState)(!1),R=!O&&k,te=ge(ae()),z=E===null?null:Ee(E.items,f,te),{systemProvider:V}=s(),U;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(U=[],t[5]=U):U=t[5];let[W,re]=(0,X.useState)(U),G;t[6]!==V?.awareness||t[7]!==k?(G=()=>{if(!k){re([]);return}let e=V?.awareness,t=()=>{let t=kr(e,Date.now());t!==null&&re(e=>Ar(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[6]=V?.awareness,t[7]=k,t[8]=G):G=t[8];let K;t[9]!==V||t[10]!==k?(K=[k,V],t[9]=V,t[10]=k,t[11]=K):K=t[11],(0,X.useEffect)(G,K);let q=z??(W.length>0?W[W.length-1]?.doc??null:null),J=o?.lastSeq??null,[ie,oe]=(0,X.useState)(!1),[se,ce]=(0,X.useState)(!1),fe,me;t[12]===k?(fe=t[13],me=t[14]):(me=()=>{k||(oe(!1),ce(!1))},fe=[k],t[12]=k,t[13]=fe,t[14]=me),(0,X.useEffect)(me,fe);let he,_e;t[15]!==ie||t[16]!==k?(he=()=>{if(!ie||!k)return;let e=setTimeout(()=>ce(!0),Hr);return()=>clearTimeout(e)},_e=[ie,k],t[15]=ie,t[16]=k,t[17]=he,t[18]=_e):(he=t[17],_e=t[18]),(0,X.useEffect)(he,_e);let ve;t[19]!==n.queue||t[20]!==n.steer||t[21]!==n.threadId?(ve=()=>{let e=[...n.steer===void 0?[]:[n.steer.content],...(n.queue??[]).map(ti)];e.length>0&&p.current?.appendText(e.join(`
|
|
6
|
-
|
|
7
|
-
`)),d.cancel(n.threadId),oe(!0)},t[19]=n.queue,t[20]=n.steer,t[21]=n.threadId,t[22]=ve):ve=t[22];let ye=ve,be;t[23]===n.threadId?be=t[24]:(be=()=>{let e=g();e!==``&&(d.steer(n.threadId,e),p.current?.clear(),b.current?.scrollToEnd())},t[23]=n.threadId,t[24]=be);let Se=be,Ce,Te;t[25]===J?(Ce=t[26],Te=t[27]):(Ce=()=>{J!==null&&x.current===null&&(x.current=J)},Te=[J],t[25]=J,t[26]=Ce,t[27]=Te),(0,X.useEffect)(Ce,Te);let ke,Ae;t[28]===I?(ke=t[29],Ae=t[30]):(ke=()=>{I||ee(!1)},Ae=[I],t[28]=I,t[29]=ke,t[30]=Ae),(0,X.useEffect)(ke,Ae);let je,Me;t[31]===k?(je=t[32],Me=t[33]):(je=()=>{k&&!C.current&&(S.current={...S.current,yielded:!1,reArmed:!0}),C.current=k},Me=[k],t[31]=k,t[32]=je,t[33]=Me),(0,X.useEffect)(je,Me);let Ne,Pe;t[34]!==i||t[35]!==_||t[36]!==q||t[37]!==J||t[38]!==k?(Ne=()=>{if(!i||!_||q===null||!k||x.current===null||J===null||J<=x.current)return;let e=we(q,Re(window.location.hash),S.current);S.current=e.state,e.navigateTo!==null&&window.location.assign(Le(e.navigateTo))},Pe=[i,_,q,k,J],t[34]=i,t[35]=_,t[36]=q,t[37]=J,t[38]=k,t[39]=Ne,t[40]=Pe):(Ne=t[39],Pe=t[40]),(0,X.useEffect)(Ne,Pe);let Fe;t[41]===_?Fe=t[42]:(Fe=()=>{let e=!_;v(e),De(e),e&&(S.current=Oe)},t[41]=_,t[42]=Fe);let Ie=Fe,[ze,Be]=(0,X.useState)(null),Ve=ue(),He=de(),[Ue,We]=(0,X.useState)(!1),[Ke,qe]=(0,X.useState)(!1),Ye=He>0&&Ue,Qe;t[43]!==O||t[44]!==n.threadId?(Qe=(e,t)=>{let r=t===void 0?e:t;return O?(M(!0),P(null),Be(null),b.current?.scrollToEnd(),d.resumeThread(n.threadId,e).then(ei).catch(e=>(P(e instanceof Je?e:new Je(`internal`,e instanceof Error?e.message:String(e))),Be(r),!1)).finally(()=>M(!1))):(d.prompt(n.threadId,e),b.current?.scrollToEnd(),Promise.resolve(!0))},t[43]=O,t[44]=n.threadId,t[45]=Qe):Qe=t[45];let et=Qe,tt,nt;t[46]!==a||t[47]!==F||t[48]!==R||t[49]!==Ye||t[50]!==et?(tt=()=>{let e=g();if(F||R){if(Ye){nt(e).catch($r);return}e!==``&&(et(e),p.current?.clear())}},nt=async(e,t)=>{let n=R;(await c({threadIds:t,resolve:!n,compose:t=>et(pe(t.map(Qr),e),null)})).length!==0&&(n&&B.info(a({id:`Eiowpn`})),p.current?.clear(),We(!1),qe(!1))},t[46]=a,t[47]=F,t[48]=R,t[49]=Ye,t[50]=et,t[51]=tt,t[52]=nt):(tt=t[51],nt=t[52]);let rt;t[53]!==F||t[54]!==R||t[55]!==nt?(rt=e=>{(F||R)&&nt(g(),e).catch(Zr)},t[53]=F,t[54]=R,t[55]=nt,t[56]=rt):rt=t[56];let it=(0,X.useEffectEvent)(rt),at;t[57]!==n.threadId||t[58]!==it?(at=()=>ne((e,t)=>{e===n.threadId&&it(t)}),t[57]=n.threadId,t[58]=it,t[59]=at):at=t[59];let ot;t[60]===n.threadId?ot=t[61]:(ot=[n.threadId],t[60]=n.threadId,t[61]=ot),(0,X.useEffect)(at,ot);let st;t[62]!==a||t[63]!==n.agent.name||t[64]!==n.threadId?(st=()=>{ee(!0),d.retryThread(n.threadId).catch(e=>{B.error(a({id:`UJEFJY`,values:{0:n.agent.name,1:Gr(e)}}))}).finally(()=>ee(!1))},t[62]=a,t[63]=n.agent.name,t[64]=n.threadId,t[65]=st):st=t[65];let ct=st,lt;t[66]===n.threadId?lt=t[67]:(lt=async e=>{await d.authenticateThread(n.threadId,e)},t[66]=n.threadId,t[67]=lt);let ut=lt,dt;t[68]!==ze||t[69]!==n.agent.id||t[70]!==n.agent.source?(dt=()=>{let e=g(),t=ze??(e===``?void 0:e);P(null),Be(null),d.createThread({agent:{source:n.agent.source,id:n.agent.id},prompt:t}).catch(e=>{P(e instanceof Je?e:new Je(`internal`,e instanceof Error?e.message:String(e))),Be(t??null)})},t[68]=ze,t[69]=n.agent.id,t[70]=n.agent.source,t[71]=dt):dt=t[71];let ft=dt,pt;if(t[72]!==I||t[73]!==E){if(pt=-1,I&&E!==null)for(let e=E.items.length-1;e>=0;--e){let t=E.items[e];if(t?.kind===`notice`&&t.failure!==null&&Jr(t.failure)){pt=e;break}}t[72]=I,t[73]=E,t[74]=pt}else pt=t[74];let mt;t[75]!==_||t[76]!==n||t[77]!==Ie?(mt=(0,Z.jsx)(ri,{info:n,followFile:_,onToggleFollow:Ie}),t[75]=_,t[76]=n,t[77]=Ie,t[78]=mt):mt=t[78];let ht;t[79]===E?ht=t[80]:(ht=E!==null&&E.plan.length>0?(0,Z.jsx)(wi,{plan:E.plan}):null,t[79]=E,t[80]=ht);let gt;t[81]!==a||t[82]!==O||t[83]!==ut||t[84]!==n.agent||t[85]!==n.threadId||t[86]!==E||t[87]!==pt||t[88]!==L||t[89]!==ct||t[90]!==D||t[91]!==A||t[92]!==k?(gt=E===null||E.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)(Ci,{status:D,archived:O,agent:n.agent})}):(0,Z.jsxs)(dn,{autoScroll:!0,defaultScrollPosition:`last-anchor`,children:[(0,Z.jsx)(Oi,{apiRef:b}),(0,Z.jsxs)(fn,{className:`min-h-0 flex-1`,children:[(0,Z.jsx)(pn,{"aria-label":a({id:`vPEyDz`}),className:`px-3 py-2 subtle-scrollbar scroll-fade-mask`,"data-testid":`agent-thread-transcript`,children:(0,Z.jsxs)(mn,{className:`gap-2 [&>[data-tool-call]+[data-tool-call]]:-mt-1`,children:[E.items.map((e,t)=>{let r=jr(e,t);return(0,Z.jsx)(hn,{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)(ki,{item:e,threadId:n.threadId,agent:n.agent,actionable:!O&&D!==`exited`&&D!==`error`,streaming:k&&t===E.items.length-1,terminals:E.terminals,permissionsByToolCall:E.permissionsByToolCall,showRetry:t===pt,retryPending:L,onRetry:ct,showAuth:t===pt&&D===`auth_required`,onAuthenticate:ut})},r)}),k?D===`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:a({id:`_gO_m8`})})}):(0,Z.jsx)(Jn,{status:Vr(Mr(E.items),A),className:`px-1 py-1`,testId:`agent-thread-working`}):D===`installing`||D===`spawning`?(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 px-1 py-1 text-muted-foreground text-sm`,"data-testid":`agent-thread-starting`,children:[(0,Z.jsx)(le,{className:`size-3.5`,"aria-hidden":`true`}),(0,Z.jsx)(`span`,{className:`shimmer`,children:a({id:`l3zD7w`})})]}):null]})}),(0,Z.jsx)(gn,{direction:`end`})]})]}),t[81]=a,t[82]=O,t[83]=ut,t[84]=n.agent,t[85]=n.threadId,t[86]=E,t[87]=pt,t[88]=L,t[89]=ct,t[90]=D,t[91]=A,t[92]=k,t[93]=gt):gt=t[93];let _t;t[94]!==a||t[95]!==O||t[96]!==n.steer?(_t=n.steer!==void 0&&!O?(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 border-t bg-muted/40 px-3 py-1.5 text-muted-foreground text-xs`,"data-testid":`agent-thread-steer-pending`,children:[(0,Z.jsx)(le,{className:`size-3.5 shrink-0`,"aria-hidden":`true`}),(0,Z.jsx)(`span`,{className:`shrink-0`,children:a({id:`PVSwOe`})}),(0,Z.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-foreground/80`,children:n.steer.content})]}):null,t[94]=a,t[95]=O,t[96]=n.steer,t[97]=_t):_t=t[97];let vt;t[98]!==a||t[99]!==se||t[100]!==n.threadId||t[101]!==k?(vt=se&&k?(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:a({id:`SkTkKV`})}),(0,Z.jsx)(y,{type:`button`,size:`sm`,variant:`destructive`,className:`h-6 text-xs`,onClick:()=>d.closeThread(n.threadId),"data-testid":`agent-thread-force-stop`,children:a({id:`16eIWu`})})]}):null,t[98]=a,t[99]=se,t[100]=n.threadId,t[101]=k,t[102]=vt):vt=t[102];let yt;t[103]!==a||t[104]!==O||t[105]!==n.agent||t[106]!==N||t[107]!==ft?(yt=O&&N!==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:N.code===`resume-unsupported`?a({id:`ms4r8V`,values:{0:n.agent.name}}):a({id:`2RnFoM`,values:{0:N.message}})}),(0,Z.jsx)(y,{type:`button`,size:`sm`,variant:`outline`,className:`h-6 shrink-0 text-xs`,onClick:ft,"data-testid":`agent-thread-resume-fallback-new`,children:a({id:`hHR0tt`,values:{0:n.agent.name}})})]}):null,t[103]=a,t[104]=O,t[105]=n.agent,t[106]=N,t[107]=ft,t[108]=yt):yt=t[108];let bt=E?.tokenUsage??null,xt,St,Ct;t[109]===Symbol.for(`react.memo_cache_sentinel`)?(xt=()=>{We(!0),u()},St=()=>qe(Xr),Ct=()=>{We(!1),qe(!1)},t[109]=xt,t[110]=St,t[111]=Ct):(xt=t[109],St=t[110],Ct=t[111]);let wt;t[112]!==O||t[113]!==F||t[114]!==R||t[115]!==ie||t[116]!==Ke||t[117]!==Ye||t[118]!==n||t[119]!==Ve||t[120]!==ye||t[121]!==Se||t[122]!==j||t[123]!==He||t[124]!==D||t[125]!==tt||t[126]!==bt||t[127]!==k?(wt=(0,Z.jsx)(pa,{info:n,composerRef:p,onSubmit:tt,canPrompt:F,canQueue:R,turnActive:k,cancelPending:ie,onCancel:ye,onSteer:Se,status:D,archived:O,resumePending:j,usage:bt,queuedComments:Ve,selectedCommentCount:He,hasQueuedComments:Ye,commentsExpanded:Ke,onAttachComments:xt,onToggleCommentsExpanded:St,onDismissComments:Ct}),t[112]=O,t[113]=F,t[114]=R,t[115]=ie,t[116]=Ke,t[117]=Ye,t[118]=n,t[119]=Ve,t[120]=ye,t[121]=Se,t[122]=j,t[123]=He,t[124]=D,t[125]=tt,t[126]=bt,t[127]=k,t[128]=wt):wt=t[128];let Tt;return t[129]!==mt||t[130]!==ht||t[131]!==gt||t[132]!==_t||t[133]!==vt||t[134]!==yt||t[135]!==wt?(Tt=(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:[mt,ht,gt,_t,vt,yt,wt]}),t[129]=mt,t[130]=ht,t[131]=gt,t[132]=_t,t[133]=vt,t[134]=yt,t[135]=wt,t[136]=Tt):Tt=t[136],Tt}function Xr(e){return!e}function Zr(e){console.warn(`[acp] panel comment send rejected unexpectedly`,e)}function Qr(e){return me(e.payload)}function $r(e){console.warn(`[acp] queued-comment send rejected unexpectedly`,e)}function ei(){return!0}function ti(e){return e.content}function ni(e){let t=(0,Y.c)(6),{info:n}=e,{_:i}=m();if(lt(n.agent.id,n.modes)!==`autonomous`)return null;let a;t[0]!==i||t[1]!==n.agent.name?(a=i({id:`Soy_80`,values:{0:n.agent.name}}),t[0]=i,t[1]=n.agent.name,t[2]=a):a=t[2];let o=a,s;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,Z.jsx)(`span`,{className:`inline-flex shrink-0 text-amber-500 dark:text-amber-400`,"data-testid":`agent-thread-posture`,children:(0,Z.jsx)(r,{className:`size-3.5`,"aria-hidden":`true`})}),t[3]=s):s=t[3];let c;return t[4]===o?c=t[5]:(c=(0,Z.jsxs)(S,{children:[(0,Z.jsx)(b,{asChild:!0,children:(0,Z.jsx)(`span`,{tabIndex:0,role:`img`,"aria-label":o,className:`inline-flex rounded-sm outline-none focus-visible:ring-2 focus-visible:ring-ring/50`,children:s})}),(0,Z.jsx)(x,{side:`bottom`,className:`max-w-64`,children:o})]}),t[4]=o,t[5]=c),c}function ri(e){let t=(0,Y.c)(33),{info:n,followFile:r,onToggleFollow:i}=e,{_:a}=m(),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.agent.name||t[4]!==n.agent.version?(s=n.agent.version!==void 0&&n.agent.version!==``?(0,Z.jsx)(`span`,{className:`shrink-0 text-[10px] text-muted-foreground tabular-nums`,title:a({id:`MLVPcm`,values:{0:n.agent.name,1:n.agent.version}}),"data-testid":`agent-thread-agent-version`,children:n.agent.version}):null,t[2]=a,t[3]=n.agent.name,t[4]=n.agent.version,t[5]=s):s=t[5];let c;t[6]===n?c=t[7]:(c=(0,Z.jsx)(ni,{info:n}),t[6]=n,t[7]=c);let l=r?`bg-primary/10 text-primary hover:bg-primary/15 hover:text-primary`:`text-muted-foreground`,u;t[8]===l?u=t[9]:(u=_(`rounded-md`,l),t[8]=l,t[9]=u);let d;t[10]===a?d=t[11]:(d=a({id:`w6sT-y`}),t[10]=a,t[11]=d);let f;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,Z.jsx)(tt,{className:`size-3.5`,"aria-hidden":`true`}),t[12]=f):f=t[12];let p;t[13]!==r||t[14]!==i||t[15]!==u||t[16]!==d?(p=(0,Z.jsx)(b,{asChild:!0,children:(0,Z.jsx)(y,{type:`button`,variant:`ghost`,size:`icon-xs`,className:u,"aria-pressed":r,"aria-label":d,onClick:i,"data-testid":`agent-thread-follow-toggle`,children:f})}),t[13]=r,t[14]=i,t[15]=u,t[16]=d,t[17]=p):p=t[17];let h;t[18]!==a||t[19]!==r?(h=a(r?{id:`1a6ICf`}:{id:`w6sT-y`}),t[18]=a,t[19]=r,t[20]=h):h=t[20];let g;t[21]===h?g=t[22]:(g=(0,Z.jsx)(x,{side:`bottom`,children:h}),t[21]=h,t[22]=g);let v;t[23]!==g||t[24]!==p?(v=(0,Z.jsxs)(S,{children:[p,g]}),t[23]=g,t[24]=p,t[25]=v):v=t[25];let C;t[26]!==v||t[27]!==c?(C=(0,Z.jsxs)(`div`,{className:`ml-auto flex shrink-0 items-center gap-1.5`,children:[c,v]}),t[26]=v,t[27]=c,t[28]=C):C=t[28];let w;return t[29]!==o||t[30]!==C||t[31]!==s?(w=(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 px-3 pb-1.5 pt-0`,children:[o,s,C]}),t[29]=o,t[30]=C,t[31]=s,t[32]=w):w=t[32],w}function ii(e){for(let t of e.options){if(`value`in t){if(t.value===e.currentValue)return t;continue}let n=t.options.find(t=>t.value===e.currentValue);if(n!==void 0)return n}}function ai(e){let t=e.replace(/[_-]+/g,` `).replace(/([a-z])([A-Z])/g,`$1 $2`).trim();return t.charAt(0).toUpperCase()+t.slice(1)}function oi(e){return ii(e)?.name??ai(e.currentValue)}function si(e,t){let n=ii(t);return n===void 0?ai(t.currentValue):Zn(e,t.id,n.value)??Xn(t)??n.name}function ci(e){return e.options.some(e=>`value`in e?!0:e.options.length>0)}function li(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 ui(e){let t=(e.configOptions??[]).find(e=>e.type===`select`&&e.category===`mode`&&ci(e));if(t!==void 0)return{configId:t.id,currentId:t.currentValue,currentName:oi(t),values:li(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??ai(n.currentModeId),values:n.availableModes.map(e=>({id:e.id,name:e.name}))}:null}function di(e){let t=(0,Y.c)(59),{info:n}=e,{_:r}=m(),i=(0,X.useId)(),a,o,s,c,l,u,d,f,p;if(t[0]!==r||t[1]!==n||t[2]!==i){p=Symbol.for(`react.early_return_sentinel`);bb0:{let e=Xe(),m=Ke(n.agent),h=(t,r)=>{e.setConfigOption(n.threadId,t.id,r),qe(m,t.id,r)},g;t[12]===n.configOptions?g=t[13]:(g=n.configOptions??[],t[12]=n.configOptions,t[13]=g);let _=g.filter(hi),v=ui(n),C=v!==null&&v.configId===null;if(_.length===0&&!C){let e=n.status===`ready`||n.status===`running`||n.status===`awaiting_permission`||n.status===`exited`,a;t[14]!==r||t[15]!==n.agent.name||t[16]!==e?(a=r(e?{id:`VVRrPk`,values:{0:n.agent.name}}:{id:`PMxZyQ`,values:{0:n.agent.name}}),t[14]=r,t[15]=n.agent.name,t[16]=e,t[17]=a):a=t[17];let o=a,s;t[18]===r?s=t[19]:(s=r({id:`Wfy3rU`}),t[18]=r,t[19]=s);let c;t[20]===r?c=t[21]:(c=r({id:`Tz0i8g`}),t[20]=r,t[21]=c);let l;t[22]===c?l=t[23]:(l=(0,Z.jsx)(`span`,{className:`truncate text-muted-foreground/50`,children:c}),t[22]=c,t[23]=l);let u;t[24]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,Z.jsx)(q,{className:`size-3.5 text-muted-foreground/50`,"data-icon":`inline-end`,"aria-hidden":`true`}),t[24]=u):u=t[24];let d;t[25]!==i||t[26]!==s||t[27]!==l?(d=(0,Z.jsxs)(y,{type:`button`,variant:`ghost`,className:`h-6 max-w-48 gap-1 rounded-md pl-1.5 pr-1! text-xs`,"aria-label":s,"aria-disabled":!0,"aria-describedby":i,"data-testid":`agent-thread-settings`,children:[l,u]}),t[25]=i,t[26]=s,t[27]=l,t[28]=d):d=t[28];let f;t[29]!==o||t[30]!==i?(f=(0,Z.jsx)(`span`,{id:i,className:`sr-only`,children:o}),t[29]=o,t[30]=i,t[31]=f):f=t[31];let m;t[32]!==d||t[33]!==f?(m=(0,Z.jsx)(b,{asChild:!0,children:(0,Z.jsxs)(`span`,{className:`inline-flex cursor-not-allowed`,children:[d,f]})}),t[32]=d,t[33]=f,t[34]=m):m=t[34];let h;t[35]===o?h=t[36]:(h=(0,Z.jsx)(x,{side:`bottom`,children:o}),t[35]=o,t[36]=h);let g;t[37]!==m||t[38]!==h?(g=(0,Z.jsxs)(S,{children:[m,h]}),t[37]=m,t[38]=h,t[39]=g):g=t[39],p=g;break bb0}let w=C?v.currentName:void 0,T=v!==null&&st({id:v.currentId,name:v.currentName}),E=_.find(mi)??_.find(pi),D=E===void 0?w??r({id:`Tz0i8g`}):si(n.agent.id,E),O=r(T&&v!==null?{id:`MuxcRB`,values:{0:v.currentName,1:n.agent.name}}:{id:`Wfy3rU`});o=F;let k;t[40]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,Z.jsx)(q,{className:`size-3.5`,"data-icon":`inline-end`,"aria-hidden":`true`}),t[40]=k):k=t[40];let j=(0,Z.jsx)(A,{asChild:!0,children:(0,Z.jsxs)(y,{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:[T?(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]})}),M;t[41]===j?M=t[42]:(M=(0,Z.jsx)(b,{asChild:!0,children:j}),t[41]=j,t[42]=M);let N;t[43]===O?N=t[44]:(N=(0,Z.jsx)(x,{side:`bottom`,children:O}),t[43]=O,t[44]=N),t[45]!==M||t[46]!==N?(f=(0,Z.jsxs)(S,{children:[M,N]}),t[45]=M,t[46]=N,t[47]=f):f=t[47],a=P,s=`end`,c=`w-60`,l=`agent-thread-settings-popover`,u=_.map(e=>e.type===`select`?(0,Z.jsx)(gi,{agentId:n.agent.id,option:e,onSelect:t=>h(e,t)},e.id):(0,Z.jsx)(bi,{option:e,onCheckedChange:t=>h(e,t)},e.id)),d=C?(0,Z.jsx)(gi,{agentId:n.agent.id,option:{id:`legacy-mode`,name:r({id:`EbMUlU`}),category:`mode`,type:`select`,currentValue:v.currentId,options:v.values.map(fi)},onSelect:t=>{e.setMode(n.threadId,t),Ye(m,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]=l,t[8]=u,t[9]=d,t[10]=f,t[11]=p}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];if(p!==Symbol.for(`react.early_return_sentinel`))return p;let h;t[48]!==a||t[49]!==s||t[50]!==c||t[51]!==l||t[52]!==u||t[53]!==d?(h=(0,Z.jsxs)(a,{align:s,className:c,"data-testid":l,children:[u,d]}),t[48]=a,t[49]=s,t[50]=c,t[51]=l,t[52]=u,t[53]=d,t[54]=h):h=t[54];let g;return t[55]!==o||t[56]!==f||t[57]!==h?(g=(0,Z.jsxs)(o,{children:[f,h]}),t[55]=o,t[56]=f,t[57]=h,t[58]=g):g=t[58],g}function fi(e){return{value:e.id,name:e.name}}function pi(e){return e.type===`select`}function mi(e){return e.type===`select`&&e.category===`model`}function hi(e){return e.type===`boolean`||ci(e)}function gi(e){let t=(0,Y.c)(51),{agentId:n,option:r,onSelect:i}=e,a;t[0]!==n||t[1]!==r.id?(a=e=>e.description?e:{...e,description:Zn(n,r.id,e.value)??void 0},t[0]=n,t[1]=r.id,t[2]=a):a=t[2];let o=a,s=r.options,c,l,u,d,f,p,m,h,g,_;if(t[3]!==n||t[4]!==s||t[5]!==i||t[6]!==r||t[7]!==o){let e=s.filter(vi),a=s.filter(_i);u=D;let v=`agent-thread-config-${r.id}`,y;t[18]===r.name?y=t[19]:(y=(0,Z.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:r.name}),t[18]=r.name,t[19]=y);let b;t[20]!==n||t[21]!==r?(b=si(n,r),t[20]=n,t[21]=r,t[22]=b):b=t[22];let x;t[23]===b?x=t[24]:(x=(0,Z.jsx)(`span`,{className:`max-w-[11rem] truncate text-1sm text-muted-foreground`,children:b}),t[23]=b,t[24]=x),t[25]!==y||t[26]!==x||t[27]!==v?(_=(0,Z.jsxs)(N,{className:`gap-2`,"data-testid":v,children:[y,x]}),t[25]=y,t[26]=x,t[27]=v,t[28]=_):_=t[28],l=O,h=`max-h-[min(22rem,var(--radix-dropdown-menu-content-available-height))] max-w-72 overscroll-contain`,t[29]===r.name?g=t[30]:(g=(0,Z.jsx)(M,{children:r.name}),t[29]=r.name,t[30]=g),c=E,d=r.currentValue,f=i;let S;t[31]===o?S=t[32]:(S=e=>(0,Z.jsx)(yi,{entry:o(e)},e.value),t[31]=o,t[32]=S),p=e.map(S);let C;t[33]!==r.name||t[34]!==o?(C=e=>(0,Z.jsxs)(X.Fragment,{children:[e.name===r.name?null:(0,Z.jsx)(M,{className:`font-normal text-muted-foreground`,children:e.name}),e.options.map(e=>(0,Z.jsx)(yi,{entry:o(e)},e.value))]},e.group),t[33]=r.name,t[34]=o,t[35]=C):C=t[35],m=a.map(C),t[3]=n,t[4]=s,t[5]=i,t[6]=r,t[7]=o,t[8]=c,t[9]=l,t[10]=u,t[11]=d,t[12]=f,t[13]=p,t[14]=m,t[15]=h,t[16]=g,t[17]=_}else c=t[8],l=t[9],u=t[10],d=t[11],f=t[12],p=t[13],m=t[14],h=t[15],g=t[16],_=t[17];let v;t[36]!==c||t[37]!==d||t[38]!==f||t[39]!==p||t[40]!==m?(v=(0,Z.jsxs)(c,{value:d,onValueChange:f,children:[p,m]}),t[36]=c,t[37]=d,t[38]=f,t[39]=p,t[40]=m,t[41]=v):v=t[41];let y;t[42]!==l||t[43]!==h||t[44]!==g||t[45]!==v?(y=(0,Z.jsxs)(l,{className:h,children:[g,v]}),t[42]=l,t[43]=h,t[44]=g,t[45]=v,t[46]=y):y=t[46];let b;return t[47]!==u||t[48]!==y||t[49]!==_?(b=(0,Z.jsxs)(u,{children:[_,y]}),t[47]=u,t[48]=y,t[49]=_,t[50]=b):b=t[50],b}function _i(e){return`group`in e}function vi(e){return`value`in e}function yi(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)(k,{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 bi(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)(ee,{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)(j,{checked:n.currentValue,onCheckedChange:r,onSelect:xi,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 xi(e){return e.preventDefault()}function Si(){let e=(0,Y.c)(11),{_:t}=m(),[n,r]=(0,X.useState)(``),i,a;e[0]===t?(i=e[1],a=e[2]):(i=()=>{r(t({id:`PWqtgd`}))},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)(Ve,{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)(Ve,{className:`h-3.5 w-11/12`}),(0,Z.jsx)(Ve,{className:`h-3.5 w-4/5`}),(0,Z.jsx)(Ve,{className:`h-3.5 w-2/3`})]}),e[6]=c):c=e[6];let l;e[7]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,Z.jsx)(`div`,{className:`flex justify-end`,children:(0,Z.jsx)(Ve,{className:`h-8 w-2/5 rounded-2xl rounded-br-xs`})}),e[7]=l):l=e[7];let u;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,Z.jsxs)(`div`,{"aria-hidden":`true`,className:`flex flex-col gap-6`,children:[s,c,l,(0,Z.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,Z.jsx)(Ve,{className:`h-3.5 w-5/6`}),(0,Z.jsx)(Ve,{className:`h-3.5 w-3/4`})]})]}),e[8]=u):u=e[8];let d;return e[9]===o?d=e[10]:(d=(0,Z.jsxs)(`div`,{className:`flex flex-col gap-6 pt-2`,children:[o,u]}),e[9]=o,e[10]=d),d}function Ci(e){let t=(0,Y.c)(24),{status:n,archived:r,agent:i}=e,{_:a}=m(),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=Kr(i.name);if(r){let e;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,Z.jsx)(Si,{}),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)(G,{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,l;t[16]!==i.iconUrl||t[17]!==i.id?(l=(0,Z.jsx)(G,{agentId:i.id,iconUrl:i.iconUrl,className:`size-12 animate-pulse opacity-25 grayscale motion-reduce:animate-none`}),t[16]=i.iconUrl,t[17]=i.id,t[18]=l):l=t[18];let u;t[19]===c?u=t[20]:(u=(0,Z.jsx)(`p`,{className:`shimmer text-sm`,children:c}),t[19]=c,t[20]=u);let d;return t[21]!==l||t[22]!==u?(d=(0,Z.jsxs)(`div`,{className:`flex h-full flex-col items-center justify-center gap-3 px-6 text-center`,children:[l,u]}),t[21]=l,t[22]=u,t[23]=d):d=t[23],d}function wi(e){let t=(0,Y.c)(35),{plan:n}=e,{_:r}=m(),[i,a]=(0,X.useState)(!0),o,s,c,l,u,d,f,p,h,g;if(t[0]!==r||t[1]!==i||t[2]!==n){let e=n.filter(Di).length;g=`border-border/60 border-b bg-muted/30 px-3 py-1.5`,o=y,c=`button`,l=`ghost`,u=`sm`,d=`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`)?(f=()=>a(Ei),t[13]=f):f=t[13],p=i,t[14]===i?h=t[15]:(h=i?(0,Z.jsx)(q,{className:`size-3.5`,"aria-hidden":`true`}):(0,Z.jsx)(J,{className:`size-3.5`,"aria-hidden":`true`}),t[14]=i,t[15]=h),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]=l,t[7]=u,t[8]=d,t[9]=f,t[10]=p,t[11]=h,t[12]=g}else o=t[3],s=t[4],c=t[5],l=t[6],u=t[7],d=t[8],f=t[9],p=t[10],h=t[11],g=t[12];let _;t[16]===s?_=t[17]:(_=(0,Z.jsx)(`span`,{children:s}),t[16]=s,t[17]=_);let v;t[18]!==o||t[19]!==_||t[20]!==c||t[21]!==l||t[22]!==u||t[23]!==d||t[24]!==f||t[25]!==p||t[26]!==h?(v=(0,Z.jsxs)(o,{type:c,variant:l,size:u,className:d,onClick:f,"aria-expanded":p,children:[h,_]}),t[18]=o,t[19]=_,t[20]=c,t[21]=l,t[22]=u,t[23]=d,t[24]=f,t[25]=p,t[26]=h,t[27]=v):v=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(Ti)}):null,t[28]=i,t[29]=n,t[30]=b):b=t[30];let x;return t[31]!==v||t[32]!==b||t[33]!==g?(x=(0,Z.jsxs)(`div`,{className:g,children:[v,b]}),t[31]=v,t[32]=b,t[33]=g,t[34]=x):x=t[34],x}function Ti(e,t){return(0,Z.jsxs)(`li`,{className:_(`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 Ei(e){return!e}function Di(e){return e.status===`completed`}function Oi(e){let t=(0,Y.c)(4),{apiRef:n}=e,r=nn(),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 ki(e){let t=(0,Y.c)(24),{item:n,threadId:r,agent:i,actionable:a,streaming:o,terminals:s,permissionsByToolCall:c,showRetry:l,retryPending:u,onRetry:d,showAuth:f,onAuthenticate:p}=e;switch(n.kind){case`message`:{let e;return t[0]!==n||t[1]!==o?(e=(0,Z.jsx)(Ri,{item:n,streaming:o}),t[0]=n,t[1]=o,t[2]=e):e=t[2],e}case`tool_call`:{let e=c[n.toolCallId],r;return t[3]!==n||t[4]!==e||t[5]!==s?(r=(0,Z.jsx)(Vi,{call:n,terminals:s,permission:e}),t[3]=n,t[4]=e,t[5]=s,t[6]=r):r=t[6],r}case`permission`:{let e;return t[7]!==a||t[8]!==n||t[9]!==r?(e=n.mergedIntoToolCall&&n.resolved!==null?null:(0,Z.jsx)(ra,{item:n,threadId:r,actionable:a}),t[7]=a,t[8]=n,t[9]=r,t[10]=e):e=t[10],e}case`runtime_consent`:{let e;return t[11]!==n||t[12]!==r?(e=(0,Z.jsx)(la,{item:n,threadId:r}),t[11]=n,t[12]=r,t[13]=e):e=t[13],e}case`notice`:{let e;t[14]===i.name?e=t[15]:(e=Kr(i.name),t[14]=i.name,t[15]=e);let r;return t[16]!==n||t[17]!==p||t[18]!==d||t[19]!==u||t[20]!==f||t[21]!==l||t[22]!==e?(r=(0,Z.jsx)(Ni,{item:n,agentName:e,showRetry:l,retryPending:u,onRetry:d,showAuth:f,onAuthenticate:p}),t[16]=n,t[17]=p,t[18]=d,t[19]=u,t[20]=f,t[21]=l,t[22]=e,t[23]=r):r=t[23],r}}}function Ai(e){let t=(0,Y.c)(21),{item:n,streaming:r}=e,{_:i}=m(),[a,o]=(0,X.useState)(!1),s;t[0]===n.text?s=t[1]:(s=n.text.split(`
|
|
8
|
-
`).filter(Mi),t[0]=n.text,t[1]=s);let c=s,l=(r?c[c.length-1]:c[0])??``,u;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(u=()=>o(ji),t[2]=u):u=t[2];let d;t[3]===a?d=t[4]:(d=a?(0,Z.jsx)(q,{className:`size-3`,"aria-hidden":`true`}):(0,Z.jsx)(J,{className:`size-3`,"aria-hidden":`true`}),t[3]=a,t[4]=d);let f;t[5]===i?f=t[6]:(f=i({id:`AUV-TY`}),t[5]=i,t[6]=f);let p;t[7]!==a||t[8]!==l?(p=a?null:(0,Z.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-left font-normal text-xs normal-case italic tracking-normal`,children:l}),t[7]=a,t[8]=l,t[9]=p):p=t[9];let h;t[10]!==a||t[11]!==d||t[12]!==f||t[13]!==p?(h=(0,Z.jsxs)(y,{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:u,"aria-expanded":a,"data-testid":`agent-thread-thought-toggle`,children:[d,f,p]}),t[10]=a,t[11]=d,t[12]=f,t[13]=p,t[14]=h):h=t[14];let g;t[15]!==n.text||t[16]!==a?(g=a?(0,Z.jsx)(`div`,{className:`px-1 text-muted-foreground text-xs italic **:font-normal! **:text-xs!`,children:(0,Z.jsx)(Dr,{text:n.text})}):null,t[15]=n.text,t[16]=a,t[17]=g):g=t[17];let _;return t[18]!==h||t[19]!==g?(_=(0,Z.jsxs)(`div`,{"data-testid":`agent-thread-thought`,children:[h,g]}),t[18]=h,t[19]=g,t[20]=_):_=t[20],_}function ji(e){return!e}function Mi(e){return e.trim().length>0}function Ni(e){let t=(0,Y.c)(33),{item:n,agentName:r,showRetry:i,retryPending:a,onRetry:o,showAuth:s,onAuthenticate:c}=e,{_:l}=m(),[u,d]=(0,X.useState)(!1),[f,p]=(0,X.useState)(null),h=n.failure,g;t[0]!==h||t[1]!==s?(g=s&&h!==null&&h.reason===`auth-required`?h.authMethods??[]:[],t[0]=h,t[1]=s,t[2]=g):g=t[2];let v=g,b,x,S;if(t[3]!==l||t[4]!==r||t[5]!==v||t[6]!==f||t[7]!==h||t[8]!==n.text||t[9]!==n.tone||t[10]!==c||t[11]!==o||t[12]!==a||t[13]!==u||t[14]!==i){let e=v.filter(Li),s=v.filter(Ii),m;t[18]!==l||t[19]!==c?(m=e=>{p(e),c(e).catch(e=>{B.error(l({id:`s0QzlI`,values:{0:Gr(e)}}))}).finally(()=>p(null))},t[18]=l,t[19]=c,t[20]=m):m=t[20];let g=m,C;t[21]!==l||t[22]!==r?(C=e=>{switch(e){case`auth-required`:return l({id:`np2zZM`,values:{agentName:r}});case`connect`:return l({id:`fCSBwN`,values:{agentName:r}});case`session-setup`:return l({id:`l9s3IX`,values:{agentName:r}});case`prompt`:return l({id:`str6n9`,values:{agentName:r}});default:return String(e)}},t[21]=l,t[22]=r,t[23]=C):C=t[23];let w=C,T;t[24]!==h||t[25]!==w?(T=h===null?null:w(h.reason),t[24]=h,t[25]=w,t[26]=T):T=t[26];let E=T,D=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`;t[27]===D?b=t[28]:(b=_(`rounded-md border px-2 py-1.5 text-xs`,D),t[27]=D,t[28]=b),x=`agent-thread-notice`,S=h===null?n.text:(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`p`,{children:E}),h.agentMessage!==void 0&&h.agentMessage!==``?(0,Z.jsx)(`p`,{className:`mt-1 opacity-80`,children:h.agentMessage}):null,h.machineDetail!==void 0&&h.machineDetail!==``?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(y,{type:`button`,variant:`ghost`,size:`sm`,className:`mt-1 h-auto p-0 text-[11px] underline hover:bg-transparent`,onClick:()=>d(Fi),"aria-expanded":u,"data-testid":`agent-thread-notice-details-toggle`,children:l(u?{id:`VMlRqi`}:{id:`BowKyI`})}),u?(0,Z.jsx)(`pre`,{className:`mt-1 overflow-x-auto whitespace-pre-wrap font-mono text-[10px] opacity-70`,"data-testid":`agent-thread-notice-details`,children:h.machineDetail}):null]}):null,s.length>0?(0,Z.jsx)(`ul`,{className:`mt-1.5 flex flex-col gap-0.5 opacity-80`,children:s.map(Pi)}):null,e.length>0?(0,Z.jsx)(`div`,{className:`mt-1.5 flex flex-wrap items-center gap-1.5`,children:e.map(t=>(0,Z.jsxs)(y,{type:`button`,size:`sm`,className:`h-6 text-xs`,disabled:f!==null,onClick:()=>g(t.id),"data-testid":`agent-thread-auth-method`,"data-auth-method-id":t.id,children:[f===t.id?(0,Z.jsx)(le,{className:`size-3`,"aria-hidden":`true`}):null,e.length===1?l({id:`e_ToF5`,values:{0:t.name}}):t.name]},t.id))}):null,i?(0,Z.jsx)(`div`,{className:`mt-1.5`,children:(0,Z.jsx)(y,{type:`button`,variant:`outline`,size:`sm`,className:`h-6 text-xs`,disabled:a,onClick:o,"data-testid":`agent-thread-retry`,children:a?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(le,{className:`size-3`,"aria-hidden":`true`}),l({id:`kNGLX6`})]}):l({id:`6gRgw8`})})}):null]}),t[3]=l,t[4]=r,t[5]=v,t[6]=f,t[7]=h,t[8]=n.text,t[9]=n.tone,t[10]=c,t[11]=o,t[12]=a,t[13]=u,t[14]=i,t[15]=b,t[16]=x,t[17]=S}else b=t[15],x=t[16],S=t[17];let C;return t[29]!==b||t[30]!==x||t[31]!==S?(C=(0,Z.jsx)(`div`,{className:b,"data-testid":x,children:S}),t[29]=b,t[30]=x,t[31]=S,t[32]=C):C=t[32],C}function Pi(e){return(0,Z.jsx)(`li`,{"data-testid":`agent-thread-auth-manual`,children:e.description!==void 0&&e.description!==``?`${e.name} — ${e.description}`:e.name},e.id)}function Fi(e){return!e}function Ii(e){return e.kind===`terminal`||e.kind===`env_var`}function Li(e){return e.kind!==`terminal`&&e.kind!==`env_var`}function Ri(e){let t=(0,Y.c)(12),{item:n,streaming:r}=e;if(n.role===`thought`){let e=r===!0,i;return t[0]!==n||t[1]!==e?(i=(0,Z.jsx)(Ai,{item:n,streaming:e}),t[0]=n,t[1]=e,t[2]=i):i=t[2],i}let i=n.role===`user`,a=i?`my-3 ml-auto max-w-[85%] whitespace-pre-wrap rounded-2xl rounded-br-xs bg-muted px-3 py-1.5`:`w-full`,o;t[3]===a?o=t[4]:(o=_(`wrap-break-word text-sm text-foreground`,a),t[3]=a,t[4]=o);let s=i?`agent-thread-user-message`:`agent-thread-agent-message`,c;t[5]!==i||t[6]!==n.text?(c=i?n.text:(0,Z.jsx)(Dr,{text:n.text}),t[5]=i,t[6]=n.text,t[7]=c):c=t[7];let l;return t[8]!==o||t[9]!==s||t[10]!==c?(l=(0,Z.jsx)(`div`,{className:o,"data-testid":s,children:c}),t[8]=o,t[9]=s,t[10]=c,t[11]=l):l=t[11],l}function zi(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 Bi(e){let t=e.trim();if(!t.startsWith("```"))return e;let n=t.split(`
|
|
9
|
-
`);return n.length<2||n[n.length-1]?.trim()!=="```"?e:n.slice(1,-1).join(`
|
|
10
|
-
`)}function Vi(e){let t=(0,Y.c)(48),{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,f]=(0,X.useState)(!1),p,m;t[0]===n.status?(p=t[1],m=t[2]):(p=()=>{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),f(!0);let e=setTimeout(()=>f(!1),Ur);return()=>clearTimeout(e)}},m=[n.status],t[0]=n.status,t[1]=p,t[2]=m),(0,X.useEffect)(p,m);let h;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(h=()=>{s.current=!0,o(qi)},t[3]=h):h=t[3];let g=h,v;t[4]===n?v=t[5]:(v=yr(n),t[4]=n,t[5]=v);let b=v,x=Wr[b.glyph],S;if(t[6]!==x||t[7]!==n.content||t[8]!==n.diffs||t[9]!==n.locations||t[10]!==n.rawInput||t[11]!==n.status||t[12]!==n.terminalIds||t[13]!==d||t[14]!==l||t[15]!==b.text||t[16]!==a||t[17]!==i||t[18]!==r){let e;t[20]===r?e=t[21]:(e=e=>r[e],t[20]=r,t[21]=e);let o=n.terminalIds.map(e).filter(Ki),s;t[22]===n.rawInput?s=t[23]:(s=zi(n.rawInput),t[22]=n.rawInput,t[23]=s);let c=s,u=n.diffs.length>0||n.content.length>0||n.locations.length>0||o.length>0||c!==null,f=a&&u,p;t[24]===x?p=t[25]:(p=(0,Z.jsx)(x,{className:`size-3.5 shrink-0 text-muted-foreground`,"aria-hidden":`true`}),t[24]=x,t[25]=p);let m;t[26]===b.text?m=t[27]:(m=(0,Z.jsx)(`span`,{className:`min-w-0 truncate`,children:b.text}),t[26]=b.text,t[27]=m);let h;t[28]!==n.status||t[29]!==i?(h=(0,Z.jsx)(Zi,{permission:i,status:n.status}),t[28]=n.status,t[29]=i,t[30]=h):h=t[30];let v;t[31]!==n.status||t[32]!==d||t[33]!==l?(v=(0,Z.jsx)(Qi,{status:n.status,completedLive:l,checkVisible:d}),t[31]=n.status,t[32]=d,t[33]=l,t[34]=v):v=t[34];let C;t[35]!==h||t[36]!==v?(C=(0,Z.jsxs)(`span`,{className:`ml-auto flex shrink-0 items-center gap-1.5`,children:[h,v]}),t[35]=h,t[36]=v,t[37]=C):C=t[37];let w;t[38]!==C||t[39]!==p||t[40]!==m?(w=(0,Z.jsxs)(Z.Fragment,{children:[p,m,C]}),t[38]=C,t[39]=p,t[40]=m,t[41]=w):w=t[41];let T=w,E=f&&`rounded-md border border-border/60`,D;t[42]===E?D=t[43]:(D=_(`text-xs`,E),t[42]=E,t[43]=D);let O;t[44]!==u||t[45]!==a||t[46]!==T?(O=u?(0,Z.jsx)(y,{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:g,"aria-expanded":a,children:T}):(0,Z.jsx)(`div`,{className:`flex w-full items-center gap-1.5 px-2 py-1.5`,children:T}),t[44]=u,t[45]=a,t[46]=T,t[47]=O):O=t[47],S=(0,Z.jsxs)(`div`,{className:D,"data-tool-call":``,"data-testid":`agent-thread-tool-call`,children:[O,f?(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(Gi),o.map(Wi),n.content.map(Ui),c===null?null:(0,Z.jsx)(ta,{text:c}),n.locations.length>0?(0,Z.jsx)(`div`,{className:`flex flex-wrap gap-1 text-muted-foreground`,children:n.locations.map(Hi)}):null]}):null]}),t[6]=x,t[7]=n.content,t[8]=n.diffs,t[9]=n.locations,t[10]=n.rawInput,t[11]=n.status,t[12]=n.terminalIds,t[13]=d,t[14]=l,t[15]=b.text,t[16]=a,t[17]=i,t[18]=r,t[19]=S}else S=t[19];return S}function Hi(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 Ui(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:Bi(e)},t)}function Wi(e){return(0,Z.jsx)(ea,{terminal:e},e.terminalId)}function Gi(e,t){return(0,Z.jsx)($i,{diff:e},t)}function Ki(e){return e!==void 0}function qi(e){return!e}var Ji=new Set([`accept`,`allow`,`approve`,`decline`,`deny`,`no`,`ok`,`reject`,`yes`]);function Yi(e){if(e===null)return null;let t=e.trim().toLocaleLowerCase();return t===``||Ji.has(t)?null:e}function Xi(){let{_:e}=m();return t=>{if(t===null)return null;if(t.kind===`dismissed`)return e({id:`nmwqWS`});let n=Yi(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 Zi(e){let t=(0,Y.c)(11),{permission:n,status:r}=e,i=Xi();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=Qe(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 Qi(e){let t=(0,Y.c)(13),{status:n,completedLive:r,checkVisible:i}=e,{_:a}=m(),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 l;t[5]!==i||t[6]!==r||t[7]!==s||t[8]!==n?(l=n===`failed`?(0,Z.jsx)(ze,{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)(le,{className:`size-3.5 text-muted-foreground`,"aria-hidden":`true`,"data-testid":`agent-thread-tool-spinner`}):r?(0,Z.jsx)(K,{className:_(`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]=l):l=t[9];let u;return t[10]!==c||t[11]!==l?(u=(0,Z.jsxs)(`span`,{className:`flex shrink-0 items-center`,children:[c,l]}),t[10]=c,t[11]=l,t[12]=u):u=t[12],u}function $i(e){let t=(0,Y.c)(19),{diff:n}=e,{_:r}=m(),i,a,o,s;if(t[0]!==r||t[1]!==n.newText||t[2]!==n.oldText||t[3]!==n.path){let e=tr(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:_(`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 l;return t[15]!==o||t[16]!==s||t[17]!==c?(l=(0,Z.jsxs)(`div`,{className:o,children:[s,c]}),t[15]=o,t[16]=s,t[17]=c,t[18]=l):l=t[18],l}function ea(e){let t=(0,Y.c)(19),{terminal:n}=e,{_:r}=m(),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=ir(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)(Ne,{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)(le,{className:`size-3`,"aria-hidden":`true`}),r({id:`KUjOb9`})]}):(0,Z.jsx)(ze,{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 ta(e){let t=(0,Y.c)(15),{text:n}=e,{_:r}=m(),[i,a]=(0,X.useState)(!1),o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=()=>a(na),t[0]=o):o=t[0];let s;t[1]===i?s=t[2]:(s=i?(0,Z.jsx)(q,{className:`size-3`,"aria-hidden":`true`}):(0,Z.jsx)(J,{className:`size-3`,"aria-hidden":`true`}),t[1]=i,t[2]=s);let c;t[3]===r?c=t[4]:(c=r({id:`XU5AOg`}),t[3]=r,t[4]=c);let l;t[5]!==i||t[6]!==s||t[7]!==c?(l=(0,Z.jsxs)(y,{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:o,"aria-expanded":i,children:[s,c]}),t[5]=i,t[6]=s,t[7]=c,t[8]=l):l=t[8];let u;t[9]!==i||t[10]!==n?(u=i?(0,Z.jsx)(`pre`,{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[9]=i,t[10]=n,t[11]=u):u=t[11];let d;return t[12]!==l||t[13]!==u?(d=(0,Z.jsxs)(`div`,{"data-testid":`agent-thread-tool-raw-input`,children:[l,u]}),t[12]=l,t[13]=u,t[14]=d):d=t[14],d}function na(e){return!e}function ra(e){let t=(0,Y.c)(32),{item:n,threadId:r,actionable:i}=e,{_:a}=m(),o=Xi(),s;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=Xe(),t[0]=s):s=t[0];let c=s,l=Qe(n),u=l===null,d=(0,X.useRef)(null),f=(0,X.useRef)(null),p;t[1]!==n.requestId||t[2]!==r?(p=e=>{c.respondPermission(r,n.requestId,{kind:`selected`,optionId:e})},t[1]=n.requestId,t[2]=r,t[3]=p):p=t[3];let h=p,g,v,b;if(t[4]!==n.options){let e=n.options.filter(sa),r=n.options.filter(oa);g=e.find(aa)??e[0],v=e.filter(e=>e!==g);let i=r.find(ia)??r[0];b=i===void 0?[]:[i,...r.filter(e=>e!==i)],t[4]=n.options,t[5]=g,t[6]=v,t[7]=b}else g=t[5],v=t[6],b=t[7];let x=b,S=g===void 0?f:void 0,C,w;t[8]!==i||t[9]!==u?(C=()=>{if(!u||!i)return;let e=d.current?.closest(`[data-agent-thread-root]`);e==null||!e.contains(document.activeElement)||f.current?.focus()},w=[u,i],t[8]=i,t[9]=u,t[10]=C,t[11]=w):(C=t[10],w=t[11]),(0,X.useEffect)(C,w);let T=o(l),E=u&&i?`border-border bg-muted/30`:`border-border/60 bg-muted/20`,D;t[12]===E?D=t[13]:(D=_(`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]!==u||t[22]!==g||t[23]!==T||t[24]!==v||t[25]!==h||t[26]!==r?(k=u?i?(0,Z.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-2`,children:[x.length>0?(0,Z.jsx)(ca,{options:x,onSelect:h,buttonRef:S,testId:`agent-thread-permission-deny`,moreLabel:a({id:`xlQpTE`}),menuAlign:`start`}):(0,Z.jsx)(y,{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:[v.length>0?(0,Z.jsx)(ca,{options:v,onSelect:h,testId:`agent-thread-permission-allow-more`,moreLabel:a({id:`9dVehq`}),menuAlign:`end`}):null,g===void 0?null:(0,Z.jsx)(y,{ref:f,type:`button`,size:`sm`,className:`text-xs normal-case font-sans`,title:g.name,onClick:()=>h(g.optionId),"data-testid":`agent-thread-permission-allow`,"data-permission-kind":g.kind,children:(0,Z.jsx)(`span`,{className:`max-w-52 truncate`,children:g.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]=u,t[22]=g,t[23]=T,t[24]=v,t[25]=h,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:d,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 ia(e){return e.kind===`reject_once`}function aa(e){return e.kind===`allow_once`}function oa(e){return e.kind.startsWith(`reject`)}function sa(e){return e.kind.startsWith(`allow`)}function ca(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)(y,{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)(je,{}),t[12]=p):p=t[12];let m=`${a}-more`,h;t[13]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,Z.jsx)(q,{className:`size-3.5`,"aria-hidden":`true`}),t[13]=h):h=t[13];let g;t[14]!==o||t[15]!==m?(g=(0,Z.jsx)(A,{asChild:!0,children:(0,Z.jsx)(y,{type:`button`,size:`icon-sm`,variant:`outline`,"aria-label":o,"data-testid":m,children:h})}),t[14]=o,t[15]=m,t[16]=g):g=t[16];let _;if(t[17]!==r||t[18]!==n){let e;t[20]===r?e=t[21]:(e=e=>(0,Z.jsx)(T,{onSelect:()=>r(e.optionId),"data-permission-kind":e.kind,children:e.name},e.optionId),t[20]=r,t[21]=e),_=n.map(e),t[17]=r,t[18]=n,t[19]=_}else _=t[19];let v;t[22]!==s||t[23]!==_?(v=(0,Z.jsx)(P,{align:s,className:`max-w-72`,children:_}),t[22]=s,t[23]=_,t[24]=v):v=t[24];let b;t[25]!==g||t[26]!==v?(b=(0,Z.jsxs)(F,{children:[g,v]}),t[25]=g,t[26]=v,t[27]=b):b=t[27];let x;return t[28]!==f||t[29]!==b?(x=(0,Z.jsxs)(Ae,{children:[f,p,b]}),t[28]=f,t[29]=b,t[30]=x):x=t[30],x}function la(e){let t=(0,Y.c)(91),{item:n,threadId:r}=e,{_:i}=m(),a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=Xe(),t[0]=a):a=t[0];let o=a,[s,c]=(0,X.useState)(!0),l=(0,X.useId)();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)(K,{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=ua(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)(le,{className:`size-3.5 shrink-0`,"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]!==l||t[27]!==o?(s=(0,Z.jsxs)(`div`,{className:`mb-1.5 flex items-center gap-1.5 text-muted-foreground`,children:[a,(0,Z.jsx)(`span`,{id:l,children:o})]}),t[26]=l,t[27]=o,t[28]=s):s=t[28];let c;t[29]!==l||t[30]!==r?(c=(0,Z.jsx)(I,{value:r,indeterminateFillPercent:40,"aria-labelledby":l,className:`h-1.5`}),t[29]=l,t[30]=r,t[31]=c):c=t[31];let u;t[32]===r?u=t[33]:(u=r===null?null:(0,Z.jsx)(`div`,{"aria-hidden":`true`,className:`mt-1 text-[11px] text-muted-foreground`,children:`${r}%`}),t[32]=r,t[33]=u);let d;return t[34]!==s||t[35]!==c||t[36]!==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,c,u]}),t[34]=s,t[35]=c,t[36]=u,t[37]=d):d=t[37],d}let u;t[38]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,Z.jsx)(se,{className:`size-4 shrink-0`,"aria-hidden":`true`}),t[38]=u):u=t[38];let d;t[39]!==i||t[40]!==n.agentName||t[41]!==n.displayName?(d=i({id:`u5Utjn`,values:{0:n.agentName,1:n.displayName}}),t[39]=i,t[40]=n.agentName,t[41]=n.displayName,t[42]=d):d=t[42];let f;t[43]===d?f=t[44]:(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[43]=d,t[44]=f);let p;t[45]!==i||t[46]!==n.approxSizeMB||t[47]!==n.displayName||t[48]!==n.provides||t[49]!==n.sourceHost||t[50]!==n.version?(p=i({id:`l7Qq48`,values:{0:n.provides,1:n.displayName,2:n.version,3:n.approxSizeMB,4:n.sourceHost}}),t[45]=i,t[46]=n.approxSizeMB,t[47]=n.displayName,t[48]=n.provides,t[49]=n.sourceHost,t[50]=n.version,t[51]=p):p=t[51];let h;t[52]===p?h=t[53]:(h=(0,Z.jsx)(`p`,{className:`mb-2 text-muted-foreground text-xs`,children:p}),t[52]=p,t[53]=h);let g=`runtime-consent-remember-${n.requestId}`,_=`runtime-consent-remember-${n.requestId}`,v;t[54]===Symbol.for(`react.memo_cache_sentinel`)?(v=e=>c(e===!0),t[54]=v):v=t[54];let b;t[55]!==s||t[56]!==_?(b=(0,Z.jsx)(w,{id:_,checked:s,onCheckedChange:v,"data-testid":`agent-thread-runtime-consent-remember`}),t[55]=s,t[56]=_,t[57]=b):b=t[57];let x;t[58]===i?x=t[59]:(x=i({id:`oi4zaa`}),t[58]=i,t[59]=x);let S;t[60]!==b||t[61]!==x||t[62]!==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:[b,x]}),t[60]=b,t[61]=x,t[62]=g,t[63]=S):S=t[63];let C;t[64]!==n.requestId||t[65]!==s||t[66]!==r?(C=()=>o.respondRuntimeConsent(r,n.requestId,{kind:`granted`,remember:s}),t[64]=n.requestId,t[65]=s,t[66]=r,t[67]=C):C=t[67];let T;t[68]!==i||t[69]!==n.displayName?(T=i({id:`BjitBo`,values:{0:n.displayName}}),t[68]=i,t[69]=n.displayName,t[70]=T):T=t[70];let E;t[71]!==C||t[72]!==T?(E=(0,Z.jsx)(y,{type:`button`,size:`sm`,className:`h-7 text-xs`,onClick:C,"data-testid":`agent-thread-runtime-consent-allow`,children:T}),t[71]=C,t[72]=T,t[73]=E):E=t[73];let D;t[74]!==n.requestId||t[75]!==s||t[76]!==r?(D=()=>o.respondRuntimeConsent(r,n.requestId,{kind:`declined`,remember:s}),t[74]=n.requestId,t[75]=s,t[76]=r,t[77]=D):D=t[77];let O;t[78]===i?O=t[79]:(O=i({id:`PBxg_E`}),t[78]=i,t[79]=O);let k;t[80]!==D||t[81]!==O?(k=(0,Z.jsx)(y,{type:`button`,size:`sm`,variant:`outline`,className:`h-7 text-xs`,onClick:D,"data-testid":`agent-thread-runtime-consent-decline`,children:O}),t[80]=D,t[81]=O,t[82]=k):k=t[82];let A;t[83]!==E||t[84]!==k?(A=(0,Z.jsxs)(`div`,{className:`flex flex-wrap gap-1.5`,children:[E,k]}),t[83]=E,t[84]=k,t[85]=A):A=t[85];let j;return t[86]!==S||t[87]!==A||t[88]!==f||t[89]!==h?(j=(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,h,S,A]}),t[86]=S,t[87]=A,t[88]=f,t[89]=h,t[90]=j):j=t[90],j}function ua(e){return e===null||e.totalBytes===null||e.totalBytes<=0?null:Math.min(100,Math.round(e.receivedBytes/e.totalBytes*100))}function da(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 fa(e){let t=(0,Y.c)(47),{used:n,size:r,percent:i}=e,{_:a}=m(),o=2*Math.PI*6,s=i>=90?`text-red-500`:i>=75?`text-amber-500`:`text-muted-foreground/60`,c=100-i,l,u,d,f,p,h,g,v,y;if(t[0]!==a||t[1]!==c||t[2]!==i||t[3]!==r||t[4]!==s||t[5]!==n){let e=da(n),m=da(r);u=S;let C=a({id:`ElatXA`,values:{percent:i,usedLabel:e,sizeLabel:m}}),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=_(`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],y=(0,Z.jsx)(b,{"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}),l=x,v=`top`,p=`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?h=t[24]:(h=(0,Z.jsx)(`span`,{className:`text-background/60`,children:O}),t[23]=O,t[24]=h);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?g=t[30]:(g=(0,Z.jsx)(`span`,{children:k}),t[29]=k,t[30]=g),d=`tabular-nums`,f=a({id:`EPwuTC`,values:{usedLabel:e,sizeLabel:m}}),t[0]=a,t[1]=c,t[2]=i,t[3]=r,t[4]=s,t[5]=n,t[6]=l,t[7]=u,t[8]=d,t[9]=f,t[10]=p,t[11]=h,t[12]=g,t[13]=v,t[14]=y}else l=t[6],u=t[7],d=t[8],f=t[9],p=t[10],h=t[11],g=t[12],v=t[13],y=t[14];let C;t[31]!==d||t[32]!==f?(C=(0,Z.jsx)(`span`,{className:d,children:f}),t[31]=d,t[32]=f,t[33]=C):C=t[33];let w;t[34]!==p||t[35]!==h||t[36]!==g||t[37]!==C?(w=(0,Z.jsxs)(`div`,{className:p,children:[h,g,C]}),t[34]=p,t[35]=h,t[36]=g,t[37]=C,t[38]=w):w=t[38];let T;t[39]!==l||t[40]!==v||t[41]!==w?(T=(0,Z.jsx)(l,{side:v,children:w}),t[39]=l,t[40]=v,t[41]=w,t[42]=T):T=t[42];let E;return t[43]!==u||t[44]!==T||t[45]!==y?(E=(0,Z.jsxs)(u,{children:[y,T]}),t[43]=u,t[44]=T,t[45]=y,t[46]=E):E=t[46],E}function pa(e){let t=(0,Y.c)(75),{info:n,composerRef:r,onSubmit:i,canPrompt:a,canQueue:o,turnActive:s,cancelPending:c,onCancel:l,onSteer:u,status:f,archived:p,resumePending:h,usage:g,queuedComments:v,selectedCommentCount:C,hasQueuedComments:w,commentsExpanded:T,onAttachComments:E,onToggleCommentsExpanded:D,onDismissComments:O}=e,{_:k}=m(),A=Kr(n.agent.name),[j,M]=(0,X.useState)(!0),N=p?h:f===`exited`,P;t[0]===g?P=t[1]:(P=g!==null&&g.used!==void 0&&g.size!==void 0&&g.size>0?Math.min(100,Math.round(g.used/g.size*100)):null,t[0]=g,t[1]=P);let F=P,I;t[2]===n.queue?I=t[3]:(I=n.queue??[],t[2]=n.queue,t[3]=I);let L=I,ee=v.length,R=!j||w,te=!(a||o)||!R,z;t[4]!==k||t[5]!==o?(z=k(o?{id:`RQWuCs`}:{id:`JlFcis`}),t[4]=k,t[5]=o,t[6]=z):z=t[6];let B;t[7]===o?B=t[8]:(B=o?(0,Z.jsx)(ce,{className:`size-4`,"aria-hidden":`true`}):(0,Z.jsx)(re,{className:`size-4`,"aria-hidden":`true`}),t[7]=o,t[8]=B);let ne;t[9]!==i||t[10]!==te||t[11]!==z||t[12]!==B?(ne=(0,Z.jsx)(y,{type:`button`,size:`icon-sm`,className:`rounded-lg`,disabled:te,onClick:i,"aria-label":z,"data-testid":`agent-thread-send`,children:B}),t[9]=i,t[10]=te,t[11]=z,t[12]=B,t[13]=ne):ne=t[13];let V=ne,H;t[14]!==p||t[15]!==n.threadId||t[16]!==L?(H=L.length>0&&!p?(0,Z.jsx)(ma,{threadId:n.threadId,queue:L}):null,t[14]=p,t[15]=n.threadId,t[16]=L,t[17]=H):H=t[17];let U;t[18]===r?U=t[19]:(U=e=>Ce(e,r),t[18]=r,t[19]=U);let W;t[20]!==T||t[21]!==w||t[22]!==E||t[23]!==O||t[24]!==D||t[25]!==ee||t[26]!==v||t[27]!==C?(W=ee>0?(0,Z.jsxs)(ye,{className:`px-3 pt-2 pb-1`,children:[(0,Z.jsx)(he,{count:w?C:ee,attached:w,expanded:T,onAttach:E,onToggleExpanded:D,onDismiss:O}),w&&T?(0,Z.jsx)(fe,{threads:v}):null]}):null,t[20]=T,t[21]=w,t[22]=E,t[23]=O,t[24]=D,t[25]=ee,t[26]=v,t[27]=C,t[28]=W):W=t[28];let G=be,K=k({id:`mToVM9`,values:{agentName:A}}),q;t[29]!==c||t[30]!==l||t[31]!==s?(q=()=>{s&&!c&&l()},t[29]=c,t[30]=l,t[31]=s,t[32]=q):q=t[32];let J=k(p?h?{id:`lhRpUP`}:{id:`e9sHSO`}:f===`auth_required`?{id:`r2eKE3`,values:{agentName:A}}:{id:`mToVM9`,values:{agentName:A}}),ie=n.availableCommands??null,ae=N&&`opacity-50`,oe;t[33]===ae?oe=t[34]:(oe=_(`max-h-40 overflow-y-auto px-2.5 pt-1 text-base md:text-sm`,ae),t[33]=ae,t[34]=oe);let se;t[35]!==G||t[36]!==N||t[37]!==r||t[38]!==i||t[39]!==M||t[40]!==K||t[41]!==q||t[42]!==J||t[43]!==ie||t[44]!==oe?(se=(0,Z.jsx)(G,{ref:r,ariaLabel:K,onEmptyChange:M,onSubmit:i,onEscape:q,placeholder:J,disabled:N,slashCommands:ie,className:oe,testId:`agent-thread-composer`}),t[35]=G,t[36]=N,t[37]=r,t[38]=i,t[39]=M,t[40]=K,t[41]=q,t[42]=J,t[43]=ie,t[44]=oe,t[45]=se):se=t[45];let ue;t[46]===n?ue=t[47]:(ue=(0,Z.jsx)(di,{info:n}),t[46]=n,t[47]=ue);let de;t[48]!==g||t[49]!==F?(de=F!==null&&g?.used!==void 0&&g?.size!==void 0?(0,Z.jsx)(fa,{used:g.used,size:g.size,percent:F}):null,t[48]=g,t[49]=F,t[50]=de):de=t[50];let pe;t[51]!==k||t[52]!==o||t[53]!==c||t[54]!==R||t[55]!==j||t[56]!==l||t[57]!==u||t[58]!==V||t[59]!==s?(pe=s&&(c||!R)?(0,Z.jsxs)(S,{children:[(0,Z.jsx)(b,{asChild:!0,children:(0,Z.jsx)(y,{type:`button`,size:`icon-sm`,className:`rounded-lg`,disabled:c,onClick:l,"aria-label":k(c?{id:`161NCV`}:{id:`ygCKqB`}),"data-testid":`agent-thread-cancel`,children:c?(0,Z.jsx)(le,{className:`size-3.5`,"aria-hidden":`true`}):(0,Z.jsx)(rt,{className:`size-3 fill-current`,"aria-hidden":`true`})})}),(0,Z.jsx)(x,{side:`top`,children:k({id:`RLYckQ`})})]}):o?(0,Z.jsxs)(Z.Fragment,{children:[j?null:(0,Z.jsxs)(S,{children:[(0,Z.jsx)(b,{asChild:!0,children:(0,Z.jsx)(y,{type:`button`,size:`icon-sm`,variant:`outline`,className:`rounded-lg`,onClick:u,"aria-label":k({id:`7lFX_h`}),"data-testid":`agent-thread-steer`,children:(0,Z.jsx)(d,{className:`size-4`,"aria-hidden":`true`})})}),(0,Z.jsx)(x,{side:`top`,children:k({id:`dSORvE`})})]}),(0,Z.jsxs)(S,{children:[(0,Z.jsx)(b,{asChild:!0,children:V}),(0,Z.jsx)(x,{side:`top`,children:k({id:`5HJpFY`})})]})]}):V,t[51]=k,t[52]=o,t[53]=c,t[54]=R,t[55]=j,t[56]=l,t[57]=u,t[58]=V,t[59]=s,t[60]=pe):pe=t[60];let me;t[61]!==de||t[62]!==pe?(me=(0,Z.jsxs)(`div`,{className:`ml-auto flex items-center gap-1.5`,children:[de,pe]}),t[61]=de,t[62]=pe,t[63]=me):me=t[63];let ge;t[64]!==ue||t[65]!==me?(ge=(0,Z.jsxs)(`div`,{className:`flex items-center gap-2 px-1.5 pt-1 pb-1.5`,children:[ue,me]}),t[64]=ue,t[65]=me,t[66]=ge):ge=t[66];let _e;t[67]!==W||t[68]!==se||t[69]!==ge||t[70]!==U?(_e=(0,Z.jsxs)(`div`,{onMouseDown:U,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:[W,se,ge]}),t[67]=W,t[68]=se,t[69]=ge,t[70]=U,t[71]=_e):_e=t[71];let ve;return t[72]!==_e||t[73]!==H?(ve=(0,Z.jsxs)(`div`,{className:`p-2`,children:[H,_e]}),t[72]=_e,t[73]=H,t[74]=ve):ve=t[74],ve}function ma(e){let t=(0,Y.c)(12),{threadId:n,queue:r}=e,{_:i}=m(),a;t[0]===i?a=t[1]:(a=i({id:`GNkUvW`}),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)(ha,{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 ha(e){let t=(0,Y.c)(82),{threadId:n,message:r}=e,{_:i}=m(),a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=Xe(),t[0]=a):a=t[0];let o=a,[s,c]=(0,X.useState)(!1),[l,u]=(0,X.useState)(``),d=r.held===!0,f;t[1]!==r.id||t[2]!==n?(f=()=>o.holdQueued(n,r.id,!1),t[1]=r.id,t[2]=n,t[3]=f):f=t[3];let p=f,h;t[4]!==r.content||t[5]!==r.id||t[6]!==n?(h=()=>{o.holdQueued(n,r.id,!0),u(r.content),c(!0)},t[4]=r.content,t[5]=r.id,t[6]=n,t[7]=h):h=t[7];let g=h,v;t[8]===p?v=t[9]:(v=()=>{c(!1),p()},t[8]=p,t[9]=v);let b=v,x;t[10]!==i||t[11]!==b||t[12]!==r.content||t[13]!==r.id||t[14]!==p||t[15]!==n||t[16]!==l?(x=()=>{let e=l.trim();if(e===``){b();return}if(c(!1),e===r.content){p();return}o.editQueued(n,r.id,e).catch(()=>{B.error(i({id:`EFfGAv`}))})},t[10]=i,t[11]=b,t[12]=r.content,t[13]=r.id,t[14]=p,t[15]=n,t[16]=l,t[17]=x):x=t[17];let S=x;if(s){let e;t[18]===Symbol.for(`react.memo_cache_sentinel`)?(e=e=>u(e.target.value),t[18]=e):e=t[18];let n;t[19]!==b||t[20]!==S?(n=e=>{e.key===`Enter`&&!e.shiftKey?(e.preventDefault(),S()):e.key===`Escape`&&(e.preventDefault(),b())},t[19]=b,t[20]=S,t[21]=n):n=t[21];let r;t[22]===i?r=t[23]:(r=i({id:`5soCUZ`}),t[22]=i,t[23]=r);let a;t[24]!==n||t[25]!==r||t[26]!==l?(a=(0,Z.jsx)(Be,{value:l,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[24]=n,t[25]=r,t[26]=l,t[27]=a):a=t[27];let o;t[28]===i?o=t[29]:(o=i({id:`nBHvPL`}),t[28]=i,t[29]=o);let s;t[30]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,Z.jsx)(Ie,{className:`size-3.5`,"aria-hidden":`true`}),t[30]=s):s=t[30];let c;t[31]!==b||t[32]!==o?(c=(0,Z.jsx)(y,{type:`button`,size:`icon-sm`,variant:`ghost`,className:`size-6`,onClick:b,"aria-label":o,"data-testid":`agent-thread-queued-cancel-edit`,children:s}),t[31]=b,t[32]=o,t[33]=c):c=t[33];let d;t[34]===l?d=t[35]:(d=l.trim(),t[34]=l,t[35]=d);let f=d===``,p;t[36]===i?p=t[37]:(p=i({id:`CB7c0Z`}),t[36]=i,t[37]=p);let m;t[38]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,Z.jsx)(K,{className:`size-3.5`,"aria-hidden":`true`}),t[38]=m):m=t[38];let h;t[39]!==S||t[40]!==f||t[41]!==p?(h=(0,Z.jsx)(y,{type:`button`,size:`icon-sm`,variant:`ghost`,className:`size-6`,disabled:f,onClick:S,"aria-label":p,"data-testid":`agent-thread-queued-save`,children:m}),t[39]=S,t[40]=f,t[41]=p,t[42]=h):h=t[42];let g;t[43]!==c||t[44]!==h?(g=(0,Z.jsxs)(`div`,{className:`flex items-center justify-end gap-1`,children:[c,h]}),t[43]=c,t[44]=h,t[45]=g):g=t[45];let _;return t[46]!==g||t[47]!==a?(_=(0,Z.jsxs)(`div`,{className:`rounded-md border border-input bg-muted/30 p-1`,"data-testid":`agent-thread-queued-editing`,children:[a,g]}),t[46]=g,t[47]=a,t[48]=_):_=t[48],_}let C=d?`border-input/40 border-dashed bg-muted/20`:`border-input/60 bg-muted/30`,w;t[49]===C?w=t[50]:(w=_(`flex items-center gap-1 rounded-md border py-0.5 pl-2 pr-1`,C),t[49]=C,t[50]=w);let T=d?`true`:void 0,E=d?`text-muted-foreground/60`:`text-muted-foreground`,D;t[51]===E?D=t[52]:(D=_(`min-w-0 flex-1 truncate text-sm`,E),t[51]=E,t[52]=D);let O;t[53]!==r.content||t[54]!==D?(O=(0,Z.jsx)(`span`,{className:D,children:r.content}),t[53]=r.content,t[54]=D,t[55]=O):O=t[55];let k;t[56]!==i||t[57]!==d||t[58]!==p?(k=d?(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsx)(`span`,{className:`shrink-0 font-medium text-[10px] text-muted-foreground/70 uppercase tracking-wide`,children:i({id:`UPi_yZ`})}),(0,Z.jsx)(y,{type:`button`,size:`icon-sm`,variant:`ghost`,className:`size-6 shrink-0 text-muted-foreground`,onClick:p,"aria-label":i({id:`oPU_4D`}),"data-testid":`agent-thread-queued-release`,children:(0,Z.jsx)(K,{className:`size-3.5`,"aria-hidden":`true`})})]}):null,t[56]=i,t[57]=d,t[58]=p,t[59]=k):k=t[59];let A;t[60]===i?A=t[61]:(A=i({id:`5soCUZ`}),t[60]=i,t[61]=A);let j;t[62]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,Z.jsx)(Me,{className:`size-3.5`,"aria-hidden":`true`}),t[62]=j):j=t[62];let M;t[63]!==g||t[64]!==A?(M=(0,Z.jsx)(y,{type:`button`,size:`icon-sm`,variant:`ghost`,className:`size-6 shrink-0 text-muted-foreground`,onClick:g,"aria-label":A,"data-testid":`agent-thread-queued-edit`,children:j}),t[63]=g,t[64]=A,t[65]=M):M=t[65];let N;t[66]!==r.id||t[67]!==n?(N=()=>o.removeQueued(n,r.id),t[66]=r.id,t[67]=n,t[68]=N):N=t[68];let P;t[69]===i?P=t[70]:(P=i({id:`-WeuHF`}),t[69]=i,t[70]=P);let F;t[71]===Symbol.for(`react.memo_cache_sentinel`)?(F=(0,Z.jsx)(Ie,{className:`size-3.5`,"aria-hidden":`true`}),t[71]=F):F=t[71];let I;t[72]!==N||t[73]!==P?(I=(0,Z.jsx)(y,{type:`button`,size:`icon-sm`,variant:`ghost`,className:`size-6 shrink-0 text-muted-foreground`,onClick:N,"aria-label":P,"data-testid":`agent-thread-queued-remove`,children:F}),t[72]=N,t[73]=P,t[74]=I):I=t[74];let L;return t[75]!==O||t[76]!==k||t[77]!==M||t[78]!==I||t[79]!==w||t[80]!==T?(L=(0,Z.jsxs)(`div`,{className:w,"data-testid":`agent-thread-queued`,"data-held":T,children:[O,k,M,I]}),t[75]=O,t[76]=k,t[77]=M,t[78]=I,t[79]=w,t[80]=T,t[81]=L):L=t[81],L}export{Yr as ThreadView};
|