@inkeep/open-knowledge 0.59.0-beta.40 → 0.59.0-beta.42

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (130) hide show
  1. package/dist/acp-harness-probe-CqyXU5gq.mjs +6 -0
  2. package/dist/cli.mjs +60 -60
  3. package/dist/constants-C8qimQe2.mjs +2 -0
  4. package/dist/index.d.mts +112 -1
  5. package/dist/index.mjs +206 -203
  6. package/dist/{init-DJQw_oSo.mjs → init-BALL45ev.mjs} +43 -43
  7. package/dist/init-XQ5681Ov.mjs +1 -0
  8. package/dist/{launch-json-removal-D9jr3Cym.mjs → launch-json-removal-TNatfsf_.mjs} +2 -2
  9. package/dist/{loader-lM2dlAdG.mjs → loader-7-3iPTYi.mjs} +2 -2
  10. package/dist/loader-D_O3xgpG.mjs +1 -0
  11. package/dist/{open-browser-CldvWM5B.mjs → open-browser-Ch6OlrUp.mjs} +2 -2
  12. package/dist/{preview-P4lIN2Xz.mjs → preview-BFzV6mP_.mjs} +2 -2
  13. package/dist/preview-cfoQaK2M.mjs +1 -0
  14. package/dist/public/assets/{ActivityModeContent-B6cXYk7E.js → ActivityModeContent-x8iSkUrB.js} +1 -1
  15. package/dist/public/assets/{AgentDiffPane-Bh5zJLhI.js → AgentDiffPane-DIfBCWO1.js} +1 -1
  16. package/dist/public/assets/{AgentThreadClientBinder-DXqc9G_d.js → AgentThreadClientBinder-C1JrAGMt.js} +1 -1
  17. package/dist/public/assets/{CodeMirrorPropInput-ONJdKGBm.js → CodeMirrorPropInput-BM_u3lg7.js} +1 -1
  18. package/dist/public/assets/{DocumentContext-CoYCdUTn.js → DocumentContext-D4Y47Klw.js} +1 -1
  19. package/dist/public/assets/EditorModeToggle-bPu1-wXx.js +1 -0
  20. package/dist/public/assets/EnableSyncConfirmDialog-B8vwEx-G.js +1 -0
  21. package/dist/public/assets/{ExcalidrawDocEditor-DESqJPaH.js → ExcalidrawDocEditor-CZaikE7U.js} +1 -1
  22. package/dist/public/assets/FeedbackForm-DficBQ0g.js +1 -0
  23. package/dist/public/assets/{ImportSkillDialog-CUfIX2Eq.js → ImportSkillDialog-bAaKE04j.js} +1 -1
  24. package/dist/public/assets/{LintConfigEditor-DeQ2Zl6N.js → LintConfigEditor-CdU9ili0.js} +1 -1
  25. package/dist/public/assets/ManagedArtifactProperties-BnpBJJIl.js +1 -0
  26. package/dist/public/assets/{ManagedArtifactProperties-C0w77LVG.js → ManagedArtifactProperties-L9Q_a2lq.js} +1 -1
  27. package/dist/public/assets/McpConsentDialogBody-BFXgHBtR.js +1 -0
  28. package/dist/public/assets/{MermaidDocEditor-DxmG30L8.js → MermaidDocEditor-Ck0DClOn.js} +1 -1
  29. package/dist/public/assets/{PropertyDisplayRow-B6rCTA9W.js → PropertyDisplayRow-D9vgrQxy.js} +1 -1
  30. package/dist/public/assets/{SchemaConfigEditor-C1OVUId-.js → SchemaConfigEditor-BJraSvhl.js} +1 -1
  31. package/dist/public/assets/{SessionsHost-DfN_SR22.js → SessionsHost-DnEPyu0P.js} +2 -2
  32. package/dist/public/assets/SettingsDialogBody-D6iWh9MU.js +13 -0
  33. package/dist/public/assets/{ShareReceiveMissDialog-Dv1AenCZ.js → ShareReceiveMissDialog-CZn_-Jit.js} +1 -1
  34. package/dist/public/assets/{SkillInstallMenu-ChmuKg2U.js → SkillInstallMenu-DJppC3wU.js} +1 -1
  35. package/dist/public/assets/{SkillToolbarControls-CfDZO8oD.js → SkillToolbarControls-z2sLIYRw.js} +1 -1
  36. package/dist/public/assets/SourceEditor-0j1ZvL-h.js +1 -0
  37. package/dist/public/assets/{TerminalPanel-03FSZaXv.js → TerminalPanel-DboHU8Nj.js} +1 -1
  38. package/dist/public/assets/{TerminalWindowApp-D243fYSc.js → TerminalWindowApp-BxcVh58X.js} +1 -1
  39. package/dist/public/assets/{TextDocEditor-CKfjEUc-.js → TextDocEditor-qBjuCIxn.js} +1 -1
  40. package/dist/public/assets/ThemePicker-BEO3X5aw.js +1 -0
  41. package/dist/public/assets/{ThreadView-D9vhfjoU.js → ThreadView-DE0GIwNP.js} +4 -4
  42. package/dist/public/assets/{TimelineDiffPane-DpxUnCr7.js → TimelineDiffPane-hXIZ6EEv.js} +1 -1
  43. package/dist/public/assets/{agent-diff-store-S2i2o6of.js → agent-diff-store-CSsM5NtK.js} +1 -1
  44. package/dist/public/assets/{auth-state-cache-CyUM6zjr.js → auth-state-cache-VX6Ik25_.js} +2 -2
  45. package/dist/public/assets/{comment-chips-CoL6Cjh4.js → comment-chips-D64XvN0P.js} +1 -1
  46. package/dist/public/assets/config-provider-GSYWEpD8.js +5 -0
  47. package/dist/public/assets/i18n-BILgtwZc.js +1 -0
  48. package/dist/public/assets/{index-BEbGyHpc.js → index-DBGm6kcd.js} +9 -9
  49. package/dist/public/assets/messages-BBOavCsg.js +1 -0
  50. package/dist/public/assets/messages-BLwf6BPC.js +1 -0
  51. package/dist/public/assets/messages-BWoDaP3l.js +1 -0
  52. package/dist/public/assets/messages-CJc6Fwhy.js +1 -0
  53. package/dist/public/assets/messages-CVX6T0zf.js +1 -0
  54. package/dist/public/assets/messages-Cctjaczm.js +1 -0
  55. package/dist/public/assets/messages-D7ueLI0N.js +1 -0
  56. package/dist/public/assets/messages-Do2GOztj.js +1 -0
  57. package/dist/public/assets/messages-DpWEt-bz.js +1 -0
  58. package/dist/public/assets/messages-QZSRIG9j.js +1 -0
  59. package/dist/public/assets/messages-_lezxuNr.js +1 -0
  60. package/dist/public/assets/messages-fK0eB8Up.js +1 -0
  61. package/dist/public/assets/{pending-receive-nav-store-BmPJ0hig.js → pending-receive-nav-store-BOj8hp8p.js} +1 -1
  62. package/dist/public/assets/{progress-BI1WoFwX.js → progress-D4lLincY.js} +1 -1
  63. package/dist/public/assets/{selection-context-BIBH9g3O.js → selection-context-rll1jeSE.js} +1 -1
  64. package/dist/public/assets/skill-actions-B9TcWw8x.js +1 -0
  65. package/dist/public/assets/{src-7zCAXVHf.js → src-DKz7yeHs.js} +1 -1
  66. package/dist/public/assets/thread-client-BUOJIDSk.js +1 -0
  67. package/dist/public/assets/{typing-burst-detector-BNdl6EaU.js → typing-burst-detector-DOvugHVv.js} +1 -1
  68. package/dist/public/assets/{uninstall-nSAdScfe.js → uninstall-ByzOPpbn.js} +1 -1
  69. package/dist/public/assets/{use-activity-panel-BUNW6oNK.js → use-activity-panel-Dqy4KlBO.js} +1 -1
  70. package/dist/public/assets/use-apply-config-color-theme-Nqcqbuav.js +1 -0
  71. package/dist/public/assets/use-apply-config-theme-B1eLRQeV.js +1 -0
  72. package/dist/public/assets/{use-live-xterm-theme-DuH9FKgs.js → use-live-xterm-theme-CxDATY-d.js} +1 -1
  73. package/dist/public/assets/{use-open-skill-Bjriumns.js → use-open-skill-CQShwRGi.js} +1 -1
  74. package/dist/public/assets/{use-popular-skills-HmcJCaX6.js → use-popular-skills-B1364QHD.js} +1 -1
  75. package/dist/public/assets/use-terminal-enabled-7wVxmd56.js +1 -0
  76. package/dist/public/assets/{use-timeline-entry-diff-DijUR0V_.js → use-timeline-entry-diff-Vvj7EP3T.js} +1 -1
  77. package/dist/public/index.html +24 -24
  78. package/dist/public/uninstall.html +3 -3
  79. package/dist/{repair-launch-json-CdSGcXNS.mjs → repair-launch-json-BOo07iVX.mjs} +2 -2
  80. package/dist/{repair-mcp-configs-6T3iELeJ.mjs → repair-mcp-configs-CFosU-ui.mjs} +2 -2
  81. package/dist/{repair-skills-DdLknuYw.mjs → repair-skills-BzH72pUo.mjs} +3 -3
  82. package/dist/repair-skills-Drrx-xv7.mjs +1 -0
  83. package/dist/{resolve-project-root-CHFE5Tp7.mjs → resolve-project-root-CXTFWDeF.mjs} +3 -3
  84. package/dist/{skill-teardown-DcAF7q_b.mjs → skill-teardown-D5P-vpe_.mjs} +2 -2
  85. package/dist/src-67yUma5a.mjs +20 -0
  86. package/dist/src-CNeIF6hC.mjs +1 -0
  87. package/dist/src-CpD0HabK.mjs +2029 -0
  88. package/dist/src-Cqd_6rOD.mjs +1 -0
  89. package/dist/start-2NeresgM.mjs +1 -0
  90. package/dist/start-Dl3pKcwO.mjs +4 -0
  91. package/package.json +4 -4
  92. package/dist/acp-harness-probe-BXaEG9XN.mjs +0 -3
  93. package/dist/constants-DzwYLdlF.mjs +0 -2
  94. package/dist/init-DiyB7t8-.mjs +0 -1
  95. package/dist/loader-DN5VV8rd.mjs +0 -1
  96. package/dist/preview-DfNrt9nH.mjs +0 -1
  97. package/dist/public/assets/EditorModeToggle-Cvt1TW83.js +0 -1
  98. package/dist/public/assets/EnableSyncConfirmDialog-CAa7STLG.js +0 -1
  99. package/dist/public/assets/FeedbackForm-Be8PVK4s.js +0 -1
  100. package/dist/public/assets/ManagedArtifactProperties-C-2tXobc.js +0 -1
  101. package/dist/public/assets/McpConsentDialogBody-sqWpWPQc.js +0 -1
  102. package/dist/public/assets/SettingsDialogBody-zm5oYc1W.js +0 -13
  103. package/dist/public/assets/SourceEditor-CmjhgcpS.js +0 -1
  104. package/dist/public/assets/config-context-BH8hj2sg.js +0 -1
  105. package/dist/public/assets/config-provider-BEy0uWv0.js +0 -5
  106. package/dist/public/assets/i18n-DgDGD96k.js +0 -1
  107. package/dist/public/assets/messages-CUxjY1bg.js +0 -1
  108. package/dist/public/assets/messages-CbJcA1a-.js +0 -1
  109. package/dist/public/assets/messages-CcamDXr_.js +0 -1
  110. package/dist/public/assets/messages-CoC8VCIg.js +0 -1
  111. package/dist/public/assets/messages-DBHRMUAC.js +0 -1
  112. package/dist/public/assets/messages-DayldphK.js +0 -1
  113. package/dist/public/assets/messages-NxV5iFe4.js +0 -1
  114. package/dist/public/assets/messages-TD09LIiN.js +0 -1
  115. package/dist/public/assets/messages-_8bTGBiH.js +0 -1
  116. package/dist/public/assets/messages-eTs_IzNw.js +0 -1
  117. package/dist/public/assets/messages-j2csGD4E.js +0 -1
  118. package/dist/public/assets/messages-lFIWwgmW.js +0 -1
  119. package/dist/public/assets/skill-actions-D5hCSoeU.js +0 -1
  120. package/dist/public/assets/sun-D7hLUh5f.js +0 -1
  121. package/dist/public/assets/thread-client-BprEkf79.js +0 -1
  122. package/dist/public/assets/use-apply-config-color-theme-DPzjfJfO.js +0 -1
  123. package/dist/public/assets/use-terminal-enabled-UtVaQQM1.js +0 -1
  124. package/dist/repair-skills-CS2_jKX3.mjs +0 -1
  125. package/dist/src-B8QX7oNJ.mjs +0 -20
  126. package/dist/src-BoSNO_uo.mjs +0 -1
  127. package/dist/src-CKvbaaFV.mjs +0 -2029
  128. package/dist/src-nk8WfDCB.mjs +0 -1
  129. package/dist/start-CoLYZ46p.mjs +0 -1
  130. package/dist/start-DzgWu5RH.mjs +0 -4
@@ -0,0 +1 @@
1
+ import"./src-BD1wHyiU.mjs";import"./resolve-project-root-CXTFWDeF.mjs";import"./src-67yUma5a.mjs";import"./acp-harness-probe-CqyXU5gq.mjs";import"./init-BALL45ev.mjs";import{n as e}from"./loader-7-3iPTYi.mjs";import"./skill-teardown-D5P-vpe_.mjs";import"./preview-BFzV6mP_.mjs";import"./mcp-migrate-event-9DFnNzHa.mjs";export{e as loadConfig};
@@ -0,0 +1 @@
1
+ import{d as e,f as t,n,y as r}from"./start-Dl3pKcwO.mjs";export{n as bootStartServer,e as resolveBundledReactShellDir,t as resolveHost,r as startCommand};
@@ -0,0 +1,4 @@
1
+ import{j as e}from"./sleep-DhRrtbfG.mjs";import{bc as t,fc as n,hc as r,xc as i,yc as a}from"./src-BD1wHyiU.mjs";import{Dn as o,a as s,ti as c}from"./src-CpD0HabK.mjs";import{r as l}from"./server-lock-RKPNHNqb.mjs";import{S as u,x as d}from"./resolve-project-root-CXTFWDeF.mjs";import{c as f,f as p,h as m,l as h,n as g,o as _,r as v,s as y,t as b}from"./acp-harness-probe-CqyXU5gq.mjs";import{y as x}from"./init-BALL45ev.mjs";import{n as S}from"./constants-C8qimQe2.mjs";import{spawn as C}from"node:child_process";import{basename as w,resolve as T}from"node:path";import{existsSync as E}from"node:fs";import{rm as D}from"node:fs/promises";import{setTimeout as O}from"node:timers/promises";function k(e,t){return e.bind?.[0]??t.HOST??`127.0.0.1`}function A(e){if(e===`server`)return e;throw new u(`--only must be 'server'`)}function j(e=E){let t=import.meta.dirname??new URL(`.`,import.meta.url).pathname;return[T(t,`public`),T(t,`../../app/dist`),T(t,`../../../app/dist`)].find(t=>e(t))}function M(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 N(t){if(t===`off`)return`off`;if(!e.test(t))throw new u(`--idle-shutdown must be 'off' or a duration like 90s, 30m, 2h`);return t}function P(e){return e===`localhost`||e===`::1`||e===`[::1]`||e.startsWith(`127.`)}function F(e){return!e.flagBindSet&&!e.okBindSet&&e.hostEnvSet&&e.fileBindCount>1}function I(e){return!e.openBrowser||e.ephemeral||e.only===`server`||!e.servesUi?!1:(e.explicitOn||P(e.host))&&e.isTTY}function L(e,t){let n;try{n=new URL(t)}catch{throw new u(`${e} is not a valid URL: ${t}`)}if(n.protocol!==`http:`&&n.protocol!==`https:`)throw new u(`${e} must be an http(s) origin (got: ${t})`);return t}function R(e){return L(`--external-url`,e)}function z(e){let t=w(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=e=>D(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 H(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 U(e){let{config:t,cwd:n,host:r}=e,i=e.skipAutoInit??!1,a=e.idleThresholdMs===void 0?18e5:e.idleThresholdMs,{existsSync:l,mkdirSync:u}=await import(`node:fs`),{basename:d,dirname:f}=await import(`node:path`),{bootServer:h,getLogger:_,resolveContentDir:y,resolveLockDir:S,waitForServerLockDrain:C}=await import(`./src-CNeIF6hC.mjs`),w=e.log??_(`start`),T=e.singleFile!==void 0,E=e.projectDir??n,D=T?s(e.singleFile).canonicalFilePath:void 0,O=D?f(D):void 0,k=D?d(D):void 0;if(!T){if(!i&&!o(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`))&&w.warn({event:e},`[start] reclaim sweep reported a problem`)};try{(e.repairMcpConfigsFn??(await import(`./repair-mcp-configs-CFosU-ui.mjs`)).repairMcpConfigs)({projectDir:n,reclaimDisableEnv:t,logger:r})}catch(e){w.warn({err:e},`[start] mcp-config repair sweep failed; continuing`)}try{(e.repairLaunchJsonFn??(await import(`./repair-launch-json-BOo07iVX.mjs`)).repairLaunchJson)({projectDir:n,reclaimDisableEnv:t,logger:r})}catch(e){w.warn({err:e},`[start] launch.json repair sweep failed; continuing`)}try{await(e.repairSkillsFn??(await import(`./repair-skills-Drrx-xv7.mjs`)).repairSkills)({projectDir:n,reclaimDisableEnv:t,logger:r})}catch(e){w.warn({err:e},`[start] skill repair sweep failed; continuing`)}}let A=O??y(t,n);!T&&!l(A)&&(u(A,{recursive:!0}),w.info({contentDir:A},`Created content directory`));let j=m(),M=c();{let e=S(T?E:n),t=Date.now(),r=await C(e);r!==`no-drain`&&w.info({event:`start-waited-for-draining-predecessor`,outcome:r,waitedMs:Date.now()-t,drainLockDir:e},r===`released`?`[start] predecessor server finished draining — proceeding`:`[start] predecessor server still draining after wait — proceeding to collide`)}let N=await h({config:t,contentDir:A,projectDir:T?E:n,contentRoot:T?void 0:t.content.dir,port:e.port,host:r,quiet:!1,detectGh:p,tokenStore:j,embeddingsKeyStore:M,mcpTomlEditor:x(),...T?{ephemeral:!0,singleDocRelPath:k,gitEnabled:!1,gitPreflight:()=>({ok:!0,version:`0.0.0`,resolvedPath:`git`,source:`PATH`})}:{},localOpCliArgs:[process.execPath,process.argv[1]],probeHarnessManagedMcpEntry:(e,t)=>b(e,t),probePiAcpBridge:e=>v(e),ensurePiAcpBridge:e=>g(e),idleShutdownMs:a,...e.serverRuntime===void 0?{}:{serverRuntime:e.serverRuntime},...e.bind===void 0?{}:{bind:e.bind},skipAutoInit:!0,idleShutdownHandler:t=>{let n=t;return H(T?V(n,E):n,{log:w,exit:e.idleExit})},log:w,...e.serveContentAssets===void 0?{}:{serveContentAssets:e.serveContentAssets},...e.reactShellDistDir?{reactShellDistDir:e.reactShellDistDir}:{}});return{httpServer:N.httpServer,destroy:N.destroy,lockDir:N.lockDir,contentDir:A,port:N.port,ready:N.ready,degraded:N.degraded}}function W(e){if(e===`browser`||e===`app`)return e;throw new u(`--mode must be 'browser' or 'app'`)}function G(e){return e.OK_CONSOLE_LEVEL!==void 0||e.LOG_LEVEL!==void 0?null:`warn`}function K(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 q(e,o){let s=G(process.env);s!==null&&(process.env.OK_CONSOLE_LEVEL=s);let{renderBanner:c}=await import(`./banner-B14xalho.mjs`),{accent:l,dim:u,error:d,warning:f}=await import(`./colors-CpP5E4wV.mjs`),p=process.cwd();process.title=z(p);let m;try{m=i(process.env)}catch(e){throw e instanceof a&&(console.error(d(e.message)),process.exit(78)),e}for(let e of m.diagnostics)console.warn(f(`[config] ${e.message}`));let h=t(e,m.layer),g=m.overrides.some(e=>e.envVar===`OK_BIND`),_=o.bind!==void 0&&o.bind.length>0?o.bind:void 0,v=process.env.HOST,y=v!==void 0&&v.trim()!==``?v:void 0,b=r(h),x=_??(g||y===void 0?[...b.bind]:[y]);F({flagBindSet:_!==void 0,okBindSet:g,hostEnvSet:y!==void 0,fileBindCount:b.bind.length})&&console.warn(f(`[config] HOST=${y} overrides server.bind — dropping the file-configured addresses (${b.bind.join(`, `)}). Use OK_BIND with a space-separated list to keep multiple binds.`));let C=x[0]??`127.0.0.1`,w=x,T=o.externalUrl,E=r(t(h,{server:{bind:w,...T===void 0?{}:{externalUrl:T}}}));if(E.allowExternal&&(!E.loopbackOnly||E.externalUrl)){let e=E.externalUrl??E.bind.join(`, `);console.warn(f([``,`⚠ 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(`
2
+ `)))}let D=o.port===void 0?void 0:Number(o.port),k=m.overrides.find(e=>e.envVar===`PORT`)?.value,A=D??k??e.server?.port,N=M({explicitDir:o.reactShellDistDir,only:o.only,findBundledDir:j}),P=N.dir;N.missingBundle&&console.warn(`bundled web UI not found — serving /api and /mcp only. Reinstall @inkeep/open-knowledge, or build packages/app in a source checkout.`);let L;try{L=await U({config:e,cwd:p,host:C,port:A,bind:w,...o.serveContentAssets===void 0?{}:{serveContentAssets:o.serveContentAssets},...P?{reactShellDistDir:P}:{},idleThresholdMs:n(o.idleShutdown??E.idleShutdown),serverRuntime:E,...o.singleFile?{singleFile:o.singleFile}:{},...o.projectDir?{projectDir:o.projectDir}:{}})}catch(e){e instanceof B&&(console.error(d(e.message)),process.exit(1));let t=await import(`./src-CNeIF6hC.mjs`);if((e instanceof t.GitNotAvailableError||e instanceof t.GitTooOldError)&&process.exit(78),e instanceof t.ExposureConsentError&&(console.error(d(e.message)),process.exit(78)),(e instanceof t.SingleFileNotFoundError||e instanceof t.SingleFileNotAFileError||e instanceof t.SingleFileNotMarkdownError)&&(console.error(d(e.message)),process.exit(1)),X(e,t)){let e=t.resolveLockDir(p),n=null;try{n=await J({readServerLock:()=>t.readServerLock(e),now:Date.now,sleep:e=>O(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]=Y(n);console.log(l(e));for(let e of t)console.log(u(e));process.exit(0)}}let n=Z(e,p,t);n!==null&&(console.error(d(n)),process.exit(1)),console.error(`${d(`Failed to start:`)} ${e instanceof Error?e.stack??e.message:String(e)}`),process.exit(1)}let R=!1,V=async e=>{if(R)return;R=!0;let[t,...n]=K(e);console.log(l(`\n${t}`));for(let e of n)console.log(u(` ${e}`));try{await L.destroy()}catch(e){console.error(`${d(`destroy() failed:`)} ${e instanceof Error?e.stack??e.message:String(e)}`),process.exitCode=1}process.exit(process.exitCode??0)};process.once(`SIGINT`,()=>{V(`SIGINT`)}),process.once(`SIGTERM`,()=>{V(`SIGTERM`)});let H=`http://${C.includes(`:`)&&!C.startsWith(`[`)?`[${C}]`:C}:${L.port}`,W=C===`0.0.0.0`||C===`::`?`http://0.0.0.0:${L.port}`:void 0,q=H;console.log(c({name:`open-knowledge`,version:S,localUrl:q,networkUrl:W,nextSteps:[`Open the Editor URL in your browser to start editing.`]}));let Q={"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`};L.ready.then(async()=>{if(L.degraded.length>0){console.log();for(let e of L.degraded){let t=Q[e]??`${e} (check server logs for details)`;console.warn(` ${f(`⚠`)} ${f(e)}: ${u(t)}`)}console.log()}if(I({openBrowser:o.openBrowser!==!1&&E.openBrowser,explicitOn:o.openBrowser!==!1&&h.server?.openBrowser===!0,host:C,isTTY:process.stdout.isTTY===!0,ephemeral:o.singleFile!==void 0,only:o.only,servesUi:P!==void 0})){let{openBrowser:e}=await import(`./open-browser-Ch6OlrUp.mjs`);e(q)}}).catch(e=>{console.error(` ${d(`Server initialization failed:`)} ${e instanceof Error?e.message:String(e)}`)})}async function J(e){let t=e.now()+e.timeoutMs,n=e.readServerLock();for(;n!==null&&n.draining!==!0&&n.port<=0&&e.now()<t;)await e.sleep(e.pollIntervalMs),n=e.readServerLock();return n===null||n.draining===!0||n.port<=0?null:l(n)&&n.url!==void 0?{url:n.url,kind:n.kind,pid:n.pid,servesUi:!0}:{url:n.url??`http://127.0.0.1:${n.port}`,kind:n.kind,pid:n.pid,servesUi:!1}}function Y(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 X(e,t){let n=t.ServerLockCollisionError;return n!==void 0&&e instanceof n}function Z(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 Q(e){return new d(`start`).description(`Start the OpenKnowledge server (UI + API + MCP + collab on one port)`).option(`-p, --port <port>`,`Server port`,void 0).option(`--bind <address>`,`Bind address (repeatable; default 127.0.0.1 — loopback only)`,(e,t)=>[...t??[],e]).option(`--no-open-browser`,`Do not open the browser after start (interactive loopback starts open it by default)`).option(`--only <module>`,`Serve one module: 'server' (API + MCP only, no shell or browser)`,A).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)`,N).option(`--mode <mode>`,`Force dispatch mode: 'browser' or 'app'`,W).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 (CORS + external-Host admission). External exposure additionally requires consent (OK_ALLOW_EXTERNAL=1 or server.allowExternal).`,R).action(async t=>{let n=e();if(t.only===`server`&&t.reactShellDistDir!==void 0&&(process.stderr.write(`error: option '--only server' cannot be combined with '--react-shell-dist-dir'
3
+ `),process.exit(2)),t.mode===`app`){let e=[];if(t.port!==void 0&&e.push(`--port`),t.bind!==void 0&&e.push(`--bind`),t.only!==void 0&&e.push(`--only`),t.idleShutdown!==void 0&&e.push(`--idle-shutdown`),t.openBrowser===!1&&e.push(`--no-open-browser`),t.externalUrl!==void 0&&e.push(`--external-url`),e.length>0){let t=process.env.OK_LOG_LEVEL??`info`;(t===`debug`||t===`trace`)&&console.error(`--mode=app: ignoring ${e.join(`, `)}`)}let n=y(_());if(n.available){f({spawn:C},n);return}console.error(h(n.reason)),process.exit(1)}await q(n,t)})}export{H as S,I as _,K as a,Z as b,R as c,j as d,k as f,q as g,M as h,Y as i,N as l,G as m,U as n,P as o,J as p,z as r,X as s,B as t,A as u,F as v,V as x,Q as y};
4
+ //# sourceMappingURL=start-Dl3pKcwO.mjs.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inkeep/open-knowledge",
3
- "version": "0.59.0-beta.40",
3
+ "version": "0.59.0-beta.42",
4
4
  "description": "Local-first, agent-friendly Markdown knowledge base with a cross-platform CLI and web editor",
5
5
  "keywords": [
6
6
  "knowledge-base",
@@ -71,10 +71,10 @@
71
71
  "ajv-formats": "^3.0.1",
72
72
  "tsdown": "^0.21.7",
73
73
  "typescript": "^5.9.3",
74
- "@inkeep/open-knowledge-app": "0.59.0-beta.40",
75
- "@inkeep/open-knowledge-core": "0.59.0-beta.40",
74
+ "@inkeep/open-knowledge-core": "0.59.0-beta.42",
75
+ "@inkeep/open-knowledge-app": "0.59.0-beta.42",
76
76
  "@inkeep/open-knowledge-native-config": "0.0.0",
77
- "@inkeep/open-knowledge-server": "0.59.0-beta.40"
77
+ "@inkeep/open-knowledge-server": "0.59.0-beta.42"
78
78
  },
79
79
  "scripts": {
80
80
  "build:cli": "rm -rf dist && tsdown",
@@ -1,3 +0,0 @@
1
- import{pt as e}from"./sleep-DhRrtbfG.mjs";import{ei as t}from"./src-CKvbaaFV.mjs";import{g as n,p as r,s as i}from"./resolve-project-root-CHFE5Tp7.mjs";import{d as a}from"./init-DJQw_oSo.mjs";import{execFileSync as o,spawn as s}from"node:child_process";import{dirname as c,join as l,win32 as u}from"node:path";import{existsSync as d,mkdirSync as f,readFileSync as p,statSync as m,writeFileSync as h}from"node:fs";import{homedir as g}from"node:os";var _=e();const v=`open-knowledge`;function y(e){try{e()}catch{}}var b=class{backend=`keyring`;constructor(e){this.onKeychainRead=e}async get(e){let{Entry:t}=await import(`@napi-rs/keyring`),n;try{n=new t(v,e).getPassword()}catch(t){return y(()=>this.onKeychainRead?.({kind:`read-error`,host:e,error:t instanceof Error?t.name:`unknown`})),null}if(n==null)return y(()=>this.onKeychainRead?.({kind:`absent`,host:e})),null;try{return JSON.parse(n)}catch{return y(()=>this.onKeychainRead?.({kind:`corrupt-entry`,host:e,error:`corrupt-entry`})),null}}async set(e,t,n,r){let{Entry:i}=await import(`@napi-rs/keyring`),a=new i(v,e),o={login:t,token:n,...r};a.setPassword(JSON.stringify(o))}async clear(e){let{Entry:t}=await import(`@napi-rs/keyring`);try{new t(v,e).deletePassword()}catch{}}},x=class{backend=`file`;authFile;constructor(e){this.authFile=e??l(g(),`.ok`,`auth.yml`)}read(){if(!d(this.authFile))return{};try{return(0,_.parse)(p(this.authFile,`utf-8`))??{}}catch(e){let t=e instanceof Error?e.message:`unknown error`;return process.stderr.write(`[auth] Failed to parse ${this.authFile}: ${t}. Starting with empty credentials.\n`),{}}}write(e){let t=c(this.authFile);d(t)||f(t,{recursive:!0,mode:448}),h(this.authFile,(0,_.stringify)(e),{mode:384})}async get(e){return this.read()[e]??null}async set(e,t,n,r){let i=this.read();i[e]={login:t,token:n,...r},this.write(i)}async clear(e){let t=this.read();delete t[e],this.write(t)}},S=class{backend=`keyring`;constructor(e,t){this.keychain=e,this.file=t}async get(e){let t=await this.keychain.get(e);if(t!=null)return t;let n=await this.file.get(e);if(n==null)return null;try{await this.keychain.set(e,n.login,n.token,{gitProtocol:n.gitProtocol,name:n.name,email:n.email}),await this.file.clear(e),process.stderr.write(`[auth] migrated ${e} credential from ~/.ok/auth.yml to the OS keychain\n`)}catch{}return n}set(e,t,n,r){return this.keychain.set(e,t,n,r)}async clear(e){await this.keychain.clear(e),await this.file.get(e)!=null&&await this.file.clear(e)}};async function C(e,t){try{let{Entry:n}=await import(`@napi-rs/keyring`);return new n(v,`__probe__`),process.stderr.write(`[auth] token storage: OS keychain
2
- `),y(()=>t?.onBackendSelected?.({backend:`keyring`})),new S(new b(t?.onKeychainRead),new x(e))}catch(n){let r=n instanceof Error?`${n.name}: ${n.message}`:String(n);return process.stderr.write(`[auth] token storage: file (~/.ok/auth.yml) — OS keychain unavailable: ${r}\n`),y(()=>t?.onBackendSelected?.({backend:`file`,reason:r})),new x(e)}}function w(e){let t=null;return function(){if(t)return t;let n=2e3;return t=(async()=>{let t=null,r=new Promise(r=>{t=setTimeout(()=>{process.stderr.write(`[auth] token storage: keyring init exceeded ${n}ms; falling back to file (~/.ok/auth.yml)\n`),r(new x(e))},n)});try{return await Promise.race([C(e),r])}catch{return new x(e)}finally{t!==null&&clearTimeout(t)}})(),t}}function T(e){let t=w(e);return{async get(e){let n=await(await t()).get(e);return n===null?null:{token:n.token}}}}function E(e){let t=w(e);return{backend:`file`,async get(e){return(await t()).get(e)},async set(e,n,r,i){return(await t()).set(e,n,r,i)},async clear(e){return(await t()).clear(e)}}}async function D(e,t){let n=[],r=new x(t);await r.get(e)!=null&&(await r.clear(e),n.push(`file`));let i;try{let{Entry:t}=await import(`@napi-rs/keyring`);new t(v,`__probe__`);let r,a=await new b(e=>{e.kind===`read-error`&&(r=e.error??`read-error`)}).get(e);if(r!==void 0)i=r;else if(a!=null)try{new t(v,e).deletePassword(),n.push(`keychain`)}catch(e){i=e instanceof Error?e.name:`delete-error`}}catch{}return{touched:n,keychainError:i}}const O=[`/opt/homebrew/bin/gh`,`/usr/local/bin/gh`,`/opt/local/bin/gh`,`/snap/bin/gh`,`/usr/bin/gh`],k={encoding:`utf-8`,stdio:[`ignore`,`pipe`,`pipe`],timeout:5e3,windowsHide:!0};function A(e,t={}){let n=t._exec??o,r=t._fileExists??d,i=[`auth`,`token`,...e?[`--hostname`,e]:[]],a=[`gh`,...O.filter(r)];for(let e of a)try{let t=n(e,i,k).toString().trim();if(t.length>0)return{available:!0,token:t}}catch{}return{available:!1}}function j(e){let t={...e};return delete t.ELECTRON_RUN_AS_NODE,t}function M(e){let t=e?.code;return t===`ENOENT`||t===`EACCES`||t===`EPERM`?{ok:!1,reason:`not-installed`}:{ok:!1,reason:`spawn-error`}}function N(e){return t({detached:!0,stdio:`ignore`,shell:!1,env:j(e)})}function P(e,t,n={}){let r=(n.spawn??s)(e,[...t],N(n.env??process.env));return r.unref(),r}function F(e,t,n={}){let r=n.spawn??s,i=n.timeoutMs??2e3;return new Promise(a=>{let o=!1,s=e=>{o||(o=!0,a(e))},c=setTimeout(()=>s({ok:!1,reason:`timeout`}),i);try{let i=r(e,[...t],N(n.env??process.env));i.once(`error`,e=>{clearTimeout(c),s(M(e))}),i.once(`spawn`,()=>{clearTimeout(c),s({ok:!0})});try{i.unref()}catch{}}catch(e){clearTimeout(c),s(M(e))}})}const I=`com.inkeep.open-knowledge`,L=`OpenKnowledge.app`,R=`/Applications/${L}`;function z(){return{platform:process.platform,env:process.env,execPath:process.execPath,isTTY:process.stdout.isTTY,statSync:e=>{try{return m(e,{throwIfNoEntry:!1})??null}catch{return null}}}}function B(e){if(e.env.ELECTRON_RUN_AS_NODE===`1`){let t=/(.+?\.app)\/Contents\/MacOS\//.exec(e.execPath);if(t?.[1])return t[1]}if(V(e,R))return R;let t=l(e.homeDir??g(),`Applications`,L);return V(e,t)?t:null}function V(e,t){return H(e,l(t,`Contents`,`MacOS`,`OpenKnowledge`))}function H(e,t){try{let n=e.statSync(t);return n&&typeof n.isFile==`function`?n.isFile():!1}catch{return!1}}const U=[`@inkeepopen-knowledge-desktop`,`OpenKnowledge`];function W(e){if(e.env.ELECTRON_RUN_AS_NODE===`1`&&/\\OpenKnowledge\.exe$/i.test(e.execPath))return e.execPath;let t=e.env.LOCALAPPDATA;if(t)for(let n of U){let r=u.join(t,`Programs`,n,`OpenKnowledge.exe`);if(H(e,r))return r}return null}function G(e){if(e.env.ELECTRON_RUN_AS_NODE===`1`&&e.execPath.endsWith(`/openknowledge`))return e.execPath;let t=`/opt/OpenKnowledge/openknowledge`;return H(e,t)?t:null}function K(e){if(e.env.OK_FORCE_BROWSER===`1`)return{available:!1,reason:`force-browser`};if(e.platform!==`darwin`&&e.platform!==`win32`&&e.platform!==`linux`)return{available:!1,reason:`unsupported-platform`};let t;try{t=e.platform===`darwin`?B(e):e.platform===`win32`?W(e):G(e)}catch{return{available:!1,reason:`stat-error`}}return t?e.env.OK_FORCE_DESKTOP===`1`?{available:!0,reason:`available`,bundlePath:t}:!(e.isTTY===!0||e.platform===`win32`&&e.isTTY===void 0&&!e.env.CI)||e.env.SSH_CONNECTION||e.env.SSH_TTY||e.platform===`linux`&&!e.env.DISPLAY&&!e.env.WAYLAND_DISPLAY?{available:!1,reason:`headless`,bundlePath:t}:{available:!0,reason:`available`,bundlePath:t}:{available:!1,reason:`no-bundle`}}function q(e,t){let n=e.log??(e=>console.error(e)),r=e.platform??process.platform;if(n("Launching OpenKnowledge desktop (use `ok start` for the browser server, or `OK_FORCE_BROWSER=1` to always skip)"),r===`darwin`){P(`open`,[`-b`,I],{spawn:e.spawn});return}let i=t?.bundlePath;if(!i){n(`Desktop launch skipped: no resolved desktop executable (caller bug).`);return}P(i,[],{spawn:e.spawn})}function J(e=`no-bundle`){switch(e){case`no-bundle`:return`Desktop app not found (checked the standard install locations for this OS). Install it from https://openknowledge.ai/download, or omit --mode for browser mode.`;case`darwin-only`:case`unsupported-platform`:return`Desktop app is not available on this platform. Use --mode=browser, or omit --mode for the server fallback.`;case`headless`:return`Desktop launch is gated in headless contexts (CI, SSH, non-TTY stdout). Set OK_FORCE_DESKTOP=1 to override, or use --mode=browser.`;case`force-browser`:return`OK_FORCE_BROWSER=1 is set — desktop dispatch is disabled. Unset it to use --mode=app.`;case`stat-error`:return`Failed to inspect the desktop install (filesystem error). Check permissions or use --mode=browser.`;case`available`:return`Desktop app appears available but launch dispatch did not fire (caller bug).`}}function Y(e,t,o){let s=i[e],c=e===`opencode`?n:r,l=[],u=s.projectConfigPath?.(t);u!==void 0&&l.push({scope:`project`,configPath:u});try{l.push({scope:`user`,configPath:s.configPath(t,o)})}catch{}for(let n of l){let r=a(s,t,o,n.configPath);if(r!==null&&c(r))return{editorId:e,scope:n.scope,configPath:n.configPath}}return null}export{q as a,F as c,C as d,T as f,K as i,A as l,I as n,J as o,E as p,z as r,P as s,Y as t,D as u};
3
- //# sourceMappingURL=acp-harness-probe-BXaEG9XN.mjs.map
@@ -1,2 +0,0 @@
1
- import"./src-BD1wHyiU.mjs";var e=`0.59.0-beta.40`;const t=`config.yml`,n=e;export{n,t};
2
- //# sourceMappingURL=constants-DzwYLdlF.mjs.map
@@ -1 +0,0 @@
1
- import"./src-CKvbaaFV.mjs";import{g as e}from"./init-DJQw_oSo.mjs";export{e as runInit};
@@ -1 +0,0 @@
1
- import{n as e}from"./loader-lM2dlAdG.mjs";export{e as loadConfig};
@@ -1 +0,0 @@
1
- import{n as e,t}from"./preview-P4lIN2Xz.mjs";export{t as formatPreviewBlock,e as previewContent};
@@ -1 +0,0 @@
1
- import{o as e}from"./chunk-CYidjpOJ.js";import{t}from"./jsx-runtime-BUgB2tll.js";import{t as n}from"./react-f2sANaYj.js";import{n as r,r as i}from"./dist-Nvb76hAm.js";import{n as a}from"./dist-PQ5KMVDh.js";import{t as o}from"./compiler-runtime-BfE3aGVn.js";import{t as s}from"./utils-CPqDy6Hr.js";import{t as c}from"./button-CA0dewJJ.js";import{i as l,n as u,t as d}from"./tooltip-DPvMEqsq.js";import{c as f}from"./select-fWSYgcDA.js";import{n as p,t as m}from"./toggle-group-BlEg4yJE.js";import{Wi as h,Wo as g,ps as _,vs as v}from"./dist-D-pIxpOA2.js";import{n as y}from"./dist-DTX2HxC82.js";import{n as b}from"./config-context-BH8hj2sg.js";import{t as x}from"./file-tree-utils-gFdyQRo9.js";import"./config-provider-BEy0uWv0.js";import{Z as S,kt as C}from"./dist-DcC48PoS.js";import{t as w}from"./cm-theme-DR0DsVFd.js";import{t as T}from"./asset-dispatch-CUbn3YXS.js";import{t as E}from"./dist-D0VBJbTX.js";import{t as D}from"./text-viewer-languages-CnJ46eYl.js";var O=o(),k=e(n(),1),A=class extends Error{httpStatus;constructor(e,t){super(e),this.name=`ViewerTextLoadError`,this.httpStatus=t}};function j(e){let t=(0,O.c)(10),{_:n}=i(),r;t[0]===n?r=t[1]:(r=e=>n(e===413?{id:`C_WGy8`}:e===415?{id:`VM7H66`}:e===404?{id:`s0IDhW`}:e===400?{id:`N1mdmS`}:typeof e==`number`?{id:`96w9hU`,values:{status:e}}:{id:`ig5vUe`}),t[0]=n,t[1]=r);let a=r,{src:o,loadText:s}=e,c=(0,k.useRef)(s),l=(0,k.useRef)(a),u;t[2]!==s||t[3]!==a?(u=()=>{c.current=s,l.current=a},t[2]=s,t[3]=a,t[4]=u):u=t[4],(0,k.useEffect)(u);let d;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(d={status:`loading`},t[5]=d):d=t[5];let[f,p]=(0,k.useState)(d),m,h;return t[6]!==n||t[7]!==o?(m=()=>{let e=!1,t=new AbortController;p({status:`loading`});let r=c.current;return r?(r(t.signal).then(t=>{if(!e){if(t.ok){p({status:`loaded`,content:t.text});return}p({status:`error`,message:t.message??l.current(t.status),httpStatus:t.status})}}).catch(t=>{e||t instanceof Error&&t.name===`AbortError`||p({status:`error`,message:n({id:`ig5vUe`})})}),()=>{e=!0,t.abort()}):(fetch(o??``,{credentials:`same-origin`,signal:t.signal}).then(async e=>{if(!e.ok)throw new A(l.current(e.status),e.status);return e.text()}).then(t=>{e||p({status:`loaded`,content:t})}).catch(t=>{e||t instanceof Error&&t.name===`AbortError`||p({status:`error`,message:t instanceof Error?t.message:n({id:`ig5vUe`}),httpStatus:t instanceof A?t.httpStatus:void 0})}),()=>{e=!0,t.abort()})},h=[o,n],t[6]=n,t[7]=o,t[8]=m,t[9]=h):(m=t[8],h=t[9]),(0,k.useEffect)(m,h),f}var M=t();function N(e){let t=(0,O.c)(10),{fileName:n,dataAttr:i,extraAttrs:a}=e,o=`${i}-state`,s;t[0]!==i||t[1]!==o?(s={[i]:``,[o]:`loading`},t[0]=i,t[1]=o,t[2]=s):s=t[2];let c;t[3]===n?c=t[4]:(c=(0,M.jsx)(`span`,{children:(0,M.jsx)(r,{id:`Md709y`,values:{fileName:n}})}),t[3]=n,t[4]=c);let l;return t[5]!==a||t[6]!==n||t[7]!==s||t[8]!==c?(l=(0,M.jsx)(`main`,{className:`flex h-full min-h-0 flex-col items-center justify-center bg-background text-muted-foreground text-sm`,"aria-label":n,...s,...a,children:c}),t[5]=a,t[6]=n,t[7]=s,t[8]=c,t[9]=l):l=t[9],l}function P(e){let t=(0,O.c)(16),{fileName:n,dataAttr:i,extraAttrs:a,message:o,openFile:s}=e,l=`${i}-state`,u;t[0]!==i||t[1]!==l?(u={[i]:``,[l]:`error`},t[0]=i,t[1]=l,t[2]=u):u=t[2];let d;t[3]===n?d=t[4]:(d=(0,M.jsx)(`div`,{className:`font-medium text-sm`,children:(0,M.jsx)(r,{id:`qdBUHP`,values:{fileName:n}})}),t[3]=n,t[4]=d);let f;t[5]===o?f=t[6]:(f=(0,M.jsx)(`div`,{className:`text-muted-foreground text-xs`,children:o}),t[5]=o,t[6]=f);let p;t[7]===s?p=t[8]:(p=s?(0,M.jsx)(c,{variant:`outline`,size:`sm`,className:`mt-2`,"data-testid":`viewer-open-file`,onClick:()=>{T({url:s.url,projectRelPath:s.projectRelPath,ext:s.ext,title:s.title,forceOsDelegation:!0})},children:(0,M.jsx)(r,{id:`9npOH9`})}):null,t[7]=s,t[8]=p);let m;return t[9]!==a||t[10]!==n||t[11]!==u||t[12]!==d||t[13]!==f||t[14]!==p?(m=(0,M.jsxs)(`main`,{className:`flex h-full min-h-0 flex-col items-center justify-center gap-2 bg-background p-4 text-center`,"aria-label":n,...u,...a,children:[d,f,p]}),t[9]=a,t[10]=n,t[11]=u,t[12]=d,t[13]=f,t[14]=p,t[15]=m):m=t[15],m}function F({assetPath:e,fileName:t,extension:n,httpStatus:r}){if(!e||r===404)return;let i=n.toLowerCase();return{projectRelPath:e,ext:i,title:t,url:h(`${g.has(i)?`/api/asset`:`/api/asset-text`}?path=${encodeURIComponent(e)}`)}}var I=w({dark:!0,background:`var(--background)`,gutterBackground:`var(--muted)`}),L=w({dark:!1,background:`var(--background)`,gutterBackground:`var(--muted)`});function R(e){let t=(0,O.c)(28),n,r,i;t[0]===e?(n=t[1],r=t[2],i=t[3]):({fileName:r,extension:n,...i}=e,t[0]=e,t[1]=n,t[2]=r,t[3]=i);let o=(0,k.useRef)(null),s=(0,k.useRef)(null),{resolvedTheme:c}=a(),l=j(i),u=l.status===`loaded`?l.content:null,d,f;t[4]!==n||t[5]!==u||t[6]!==c?(d=()=>{if(!o.current||u===null)return;let e=n.toLowerCase(),t=_(e),r=c===`dark`?I:L,i=!1,a=null;return D(e,t).then(e=>{if(i||!o.current)return;let t=[E,...e?[e]:[],S.editable.of(!0),C.readOnly.of(!0),S.lineWrapping,r];a=new S({state:C.create({doc:u,extensions:t}),parent:o.current}),s.current=a}),()=>{i=!0,a?.destroy(),s.current=null}},f=[u,n,c],t[4]=n,t[5]=u,t[6]=c,t[7]=d,t[8]=f):(d=t[7],f=t[8]),(0,k.useEffect)(d,f);let p;t[9]===n?p=t[10]:(p={"data-text-viewer-extension":n},t[9]=n,t[10]=p);let m=p;if(l.status===`loading`){let e;return t[11]!==m||t[12]!==r?(e=(0,M.jsx)(N,{fileName:r,dataAttr:`data-text-viewer`,extraAttrs:m}),t[11]=m,t[12]=r,t[13]=e):e=t[13],e}if(l.status===`error`){let e=l.message,a;t[14]!==n||t[15]!==l.httpStatus||t[16]!==r||t[17]!==i.assetPath?(a=F({assetPath:i.assetPath,fileName:r,extension:n,httpStatus:l.httpStatus}),t[14]=n,t[15]=l.httpStatus,t[16]=r,t[17]=i.assetPath,t[18]=a):a=t[18];let o;return t[19]!==m||t[20]!==l.message||t[21]!==r||t[22]!==a?(o=(0,M.jsx)(P,{fileName:r,dataAttr:`data-text-viewer`,extraAttrs:m,message:e,openFile:a}),t[19]=m,t[20]=l.message,t[21]=r,t[22]=a,t[23]=o):o=t[23],o}let h;t[24]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,M.jsx)(`div`,{ref:o,className:`min-h-0 flex-1 overflow-auto`}),t[24]=h):h=t[24];let g;return t[25]!==n||t[26]!==r?(g=(0,M.jsx)(`main`,{className:`flex h-full min-h-0 flex-col bg-background`,"aria-label":r,"data-text-viewer":``,"data-text-viewer-state":`loaded`,"data-text-viewer-extension":n,children:h}),t[25]=n,t[26]=r,t[27]=g):g=t[27],g}function z(e){let t=(0,O.c)(29),{entry:n,className:r}=e,{_:a}=i(),{projectLocalBinding:o,projectLocalSynced:l,merged:u}=b();if(u===null||!l)return null;let d=u?.appearance?.sidebar,p=d?.showHiddenFiles??!1,m=d?.showOnlyMarkdownFiles??!1,h;t[0]!==n||t[1]!==p||t[2]!==m?(h=x(n,{showHiddenFiles:p,showOnlyMarkdownFiles:m}),t[0]=n,t[1]=p,t[2]=m,t[3]=h):h=t[3];let g=h;if(!g.hiddenFiles&&!g.onlyMarkdownFiles)return null;let _;t[4]!==a||t[5]!==o?(_=e=>{if(o===null)return;let t=o.patch({appearance:{sidebar:e}});t.ok||(console.warn(`[NotInSidebarIndicator] sidebar visibility flip rejected:`,v(t.error)),y.error(a({id:`P47EWZ`}),{description:v(t.error)}))},t[4]=a,t[5]=o,t[6]=_):_=t[6];let S=_,C;t[7]===r?C=t[8]:(C=s(`flex items-center gap-1.5 text-muted-foreground/70 text-xs`,r),t[7]=r,t[8]=C);let w;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(w=(0,M.jsx)(f,{"aria-hidden":`true`,className:`size-3.5 shrink-0`}),t[9]=w):w=t[9];let T;t[10]===a?T=t[11]:(T=a({id:`j9tqwO`}),t[10]=a,t[11]=T);let E;t[12]===T?E=t[13]:(E=(0,M.jsx)(`span`,{className:`whitespace-nowrap`,children:T}),t[12]=T,t[13]=E);let D;t[14]!==a||t[15]!==g.hiddenFiles||t[16]!==S||t[17]!==o?(D=g.hiddenFiles?(0,M.jsx)(c,{variant:`outline`,size:`sm`,className:`h-5 rounded-sm px-1.5 font-normal text-2xs text-muted-foreground hover:text-foreground`,disabled:o===null,onClick:()=>S({showHiddenFiles:!0}),"aria-label":a({id:`XcGbim`}),title:a({id:`XcGbim`}),"data-testid":`not-in-sidebar-flip-hidden-files`,children:a({id:`6KCH4m`})}):null,t[14]=a,t[15]=g.hiddenFiles,t[16]=S,t[17]=o,t[18]=D):D=t[18];let k;t[19]!==a||t[20]!==g.onlyMarkdownFiles||t[21]!==S||t[22]!==o?(k=g.onlyMarkdownFiles?(0,M.jsx)(c,{variant:`outline`,size:`sm`,className:`h-5 rounded-sm px-1.5 font-normal text-2xs text-muted-foreground hover:text-foreground`,disabled:o===null,onClick:()=>S({showOnlyMarkdownFiles:!1}),"aria-label":a({id:`10g8I_`}),title:a({id:`10g8I_`}),"data-testid":`not-in-sidebar-flip-only-markdown`,children:a({id:`5-o4kO`})}):null,t[19]=a,t[20]=g.onlyMarkdownFiles,t[21]=S,t[22]=o,t[23]=k):k=t[23];let A;return t[24]!==k||t[25]!==C||t[26]!==E||t[27]!==D?(A=(0,M.jsxs)(`div`,{"data-testid":`not-in-sidebar-indicator`,className:C,children:[w,E,D,k]}),t[24]=k,t[25]=C,t[26]=E,t[27]=D,t[28]=A):A=t[28],A}var B={fill:`none`,height:24,stroke:`currentColor`,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:2,viewBox:`0 0 24 24`,width:24,xmlns:`http://www.w3.org/2000/svg`},V=e=>{let t=(0,O.c)(15),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]):({color:a,size:o,strokeWidth:s,absoluteStrokeWidth:n,className:c,children:r,...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=a===void 0?`currentColor`:a,u=o===void 0?24:o,d=s===void 0?2:s,f=c===void 0?``:c,p=n?Number(d)*24/Number(u):d,m;return t[8]!==r||t[9]!==f||t[10]!==l||t[11]!==i||t[12]!==u||t[13]!==p?(m=(0,M.jsx)(`svg`,{"aria-hidden":`true`,...B,className:f,height:u,stroke:l,strokeLinecap:`round`,strokeLinejoin:`round`,strokeWidth:p,width:u,...i,children:r}),t[8]=r,t[9]=f,t[10]=l,t[11]=i,t[12]=u,t[13]=p,t[14]=m):m=t[14],m},H=e=>{let t=(0,O.c)(4),n,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,M.jsx)(`title`,{children:`Markdown`}),r=(0,M.jsx)(`path`,{d:`M232,48H24A16,16,0,0,0,8,64V192a16,16,0,0,0,16,16H232a16,16,0,0,0,16-16V64A16,16,0,0,0,232,48Zm0,144H24V64H232V192ZM128,104v48a8,8,0,0,1-16,0V123.31L93.66,141.66a8,8,0,0,1-11.32,0L64,123.31V152a8,8,0,0,1-16,0V104a8,8,0,0,1,13.66-5.66L88,124.69l26.34-26.35A8,8,0,0,1,128,104Zm77.66,18.34a8,8,0,0,1,0,11.32l-24,24a8,8,0,0,1-11.32,0l-24-24a8,8,0,0,1,11.32-11.32L168,132.69V104a8,8,0,0,1,16,0v28.69l10.34-10.35A8,8,0,0,1,205.66,122.34Z`}),t[0]=n,t[1]=r):(n=t[0],r=t[1]);let i;return t[2]===e?i=t[3]:(i=(0,M.jsxs)(V,{...e,viewBox:`0 0 256 256`,fill:`currentColor`,children:[n,r]}),t[2]=e,t[3]=i),i},U=e=>{let t=(0,O.c)(4),n,r;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,M.jsx)(`title`,{children:`Textbox`}),r=(0,M.jsx)(`path`,{d:`M112,40a8,8,0,0,0-8,8V64H24A16,16,0,0,0,8,80v96a16,16,0,0,0,16,16h80v16a8,8,0,0,0,16,0V48A8,8,0,0,0,112,40ZM24,176V80h80v96ZM248,80v96a16,16,0,0,1-16,16H144a8,8,0,0,1,0-16h88V80H144a8,8,0,0,1,0-16h88A16,16,0,0,1,248,80ZM88,112a8,8,0,0,1-8,8H72v24a8,8,0,0,1-16,0V120H48a8,8,0,0,1,0-16H80A8,8,0,0,1,88,112Z`}),t[0]=n,t[1]=r):(n=t[0],r=t[1]);let i;return t[2]===e?i=t[3]:(i=(0,M.jsxs)(V,{...e,viewBox:`0 0 256 256`,fill:`currentColor`,children:[n,r]}),t[2]=e,t[3]=i),i};function W(e){let t=(0,O.c)(48),{isSourceMode:n,onModeChange:a,sourceDisabled:o,wysiwygDisabled:s,wysiwygLabel:c,sourceLabel:f,wysiwygDisabledReason:h}=e,g=o===void 0?!1:o,_=s===void 0?!1:s,{_:v}=i(),y;t[0]!==v||t[1]!==c?(y=c??v({id:`ur2XSb`}),t[0]=v,t[1]=c,t[2]=y):y=t[2];let b=y,x;t[3]!==v||t[4]!==f?(x=f??v({id:`xbdtfY`}),t[3]=v,t[4]=f,t[5]=x):x=t[5];let S=x,C=(0,k.useId)(),w=_&&h?h:null,T=n?`source`:`wysiwyg`,E;t[6]===a?E=t[7]:(E=e=>{e&&a(e)},t[6]=a,t[7]=E);let D;t[8]===v?D=t[9]:(D=v({id:`n7aopT`}),t[8]=v,t[9]=D);let A=w?C:void 0,j;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,M.jsx)(U,{className:`size-4`}),t[10]=j):j=t[10];let N;t[11]!==A||t[12]!==_||t[13]!==b?(N=(0,M.jsx)(p,{value:`wysiwyg`,"aria-label":b,"aria-describedby":A,disabled:_,className:`size-7 px-0 dark:data-[state=on]:bg-foreground/15`,children:j}),t[11]=A,t[12]=_,t[13]=b,t[14]=N):N=t[14];let P;t[15]!==w||t[16]!==C?(P=w?(0,M.jsx)(`span`,{id:C,className:`sr-only`,children:w}):null,t[15]=w,t[16]=C,t[17]=P):P=t[17];let F;t[18]!==N||t[19]!==P?(F=(0,M.jsx)(l,{asChild:!0,children:(0,M.jsxs)(`div`,{children:[N,P]})}),t[18]=N,t[19]=P,t[20]=F):F=t[20];let I;t[21]!==_||t[22]!==h||t[23]!==c?(I=_&&h?h:c||(0,M.jsx)(r,{id:`Mb_20S`}),t[21]=_,t[22]=h,t[23]=c,t[24]=I):I=t[24];let L;t[25]===I?L=t[26]:(L=(0,M.jsx)(u,{side:`bottom`,children:I}),t[25]=I,t[26]=L);let R;t[27]!==F||t[28]!==L?(R=(0,M.jsxs)(d,{children:[F,L]}),t[27]=F,t[28]=L,t[29]=R):R=t[29];let z;t[30]===Symbol.for(`react.memo_cache_sentinel`)?(z=(0,M.jsx)(H,{className:`size-4`}),t[30]=z):z=t[30];let B;t[31]!==g||t[32]!==S?(B=(0,M.jsx)(l,{asChild:!0,children:(0,M.jsx)(`div`,{children:(0,M.jsx)(p,{value:`source`,"aria-label":S,disabled:g,className:`size-7 px-0 dark:data-[state=on]:bg-foreground/15`,children:z})})}),t[31]=g,t[32]=S,t[33]=B):B=t[33];let V;t[34]!==g||t[35]!==f?(V=g?(0,M.jsx)(r,{id:`G-JBA1`}):f||(0,M.jsx)(r,{id:`u6Hp4N`}),t[34]=g,t[35]=f,t[36]=V):V=t[36];let W;t[37]===V?W=t[38]:(W=(0,M.jsx)(u,{side:`bottom`,children:V}),t[37]=V,t[38]=W);let G;t[39]!==B||t[40]!==W?(G=(0,M.jsxs)(d,{children:[B,W]}),t[39]=B,t[40]=W,t[41]=G):G=t[41];let K;return t[42]!==R||t[43]!==G||t[44]!==T||t[45]!==E||t[46]!==D?(K=(0,M.jsxs)(m,{type:`single`,value:T,onValueChange:E,"aria-label":D,variant:`segmented`,size:`sm`,spacing:1,className:`shrink-0 bg-muted p-0.5 data-[size=sm]:rounded-[10px]`,children:[R,G]}),t[42]=R,t[43]=G,t[44]=T,t[45]=E,t[46]=D,t[47]=K):K=t[47],K}export{F as a,j as c,R as i,H as n,P as o,z as r,N as s,W as t};
@@ -1 +0,0 @@
1
- import{o as e}from"./chunk-CYidjpOJ.js";import{t}from"./jsx-runtime-BUgB2tll.js";import{t as n}from"./react-f2sANaYj.js";import{n as r,r as i}from"./dist-Nvb76hAm.js";import{t as a}from"./compiler-runtime-BfE3aGVn.js";import{t as o}from"./button-CA0dewJJ.js";import{Ds as s,Rs as c,_s as l,hs as u,vs as d}from"./dist-D-pIxpOA2.js";import{n as f}from"./dist-DTX2HxC82.js";import{_ as p}from"./documents-events-Dv0-c6Gq.js";import{n as m}from"./config-context-BH8hj2sg.js";import{t as h}from"./createLucideIcon-CAkY8Blx.js";import{t as g}from"./eye-DIJifYDY.js";import{a as _,c as v,i as y,n as b,o as x,r as S,s as C,t as w}from"./dialog-Cc8i13PJ.js";import"./config-provider-BEy0uWv0.js";var T=h(`arrow-down-to-line`,[[`path`,{d:`M12 17V3`,key:`1cwfxf`}],[`path`,{d:`m6 11 6 6 6-6`,key:`12ii2o`}],[`path`,{d:`M19 21H5`,key:`150jfl`}]]),E=h(`arrow-right-left`,[[`path`,{d:`m16 3 4 4-4 4`,key:`1x1c3m`}],[`path`,{d:`M20 7H4`,key:`zbl0bi`}],[`path`,{d:`m8 21-4-4 4-4`,key:`h9nckh`}],[`path`,{d:`M4 17h16`,key:`g4d7ey`}]]),D=h(`git-commit-vertical`,[[`path`,{d:`M12 3v6`,key:`1holv5`}],[`circle`,{cx:`12`,cy:`12`,r:`3`,key:`1v7zrd`}],[`path`,{d:`M12 15v6`,key:`a9ows0`}]]),O=h(`git-merge`,[[`circle`,{cx:`18`,cy:`18`,r:`3`,key:`1xkwt0`}],[`circle`,{cx:`6`,cy:`6`,r:`3`,key:`1lh9wr`}],[`path`,{d:`M6 21V9a9 9 0 0 0 9 9`,key:`7kw0sc`}]]),k=h(`laptop`,[[`path`,{d:`M18 5a2 2 0 0 1 2 2v8.526a2 2 0 0 0 .212.897l1.068 2.127a1 1 0 0 1-.9 1.45H3.62a1 1 0 0 1-.9-1.45l1.068-2.127A2 2 0 0 0 4 15.526V7a2 2 0 0 1 2-2z`,key:`1pdavp`}],[`path`,{d:`M20.054 15.987H3.946`,key:`14rxg9`}]]),A=a(),j=e(n(),1);async function M(){try{let e=await fetch(`/api/sync/status`);return e.ok?{status:await e.json()}:{status:null,error:`server`}}catch{return{status:null,error:`network`}}}function N(){return P().status}function P(){let e=(0,A.c)(8),[t,n]=(0,j.useState)(null),[r,i]=(0,j.useState)(null),a;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=function(){M().then(e=>{let{status:t,error:r}=e;i(r??null),t&&n(t)})},e[0]=a):a=e[0];let o=a,s,c;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(s=()=>{o()},c=[],e[1]=s,e[2]=c):(s=e[1],c=e[2]),(0,j.useEffect)(s,c);let l,u;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(l=()=>p(e=>{e.includes(`sync-status`)&&o()}),u=[],e[3]=l,e[4]=u):(l=e[3],u=e[4]),(0,j.useEffect)(l,u);let d;return e[5]!==r||e[6]!==t?(d={status:t,fetchError:r},e[5]=r,e[6]=t,e[7]=d):d=e[7],d}var F=t();function I(e){let t=(0,A.c)(3),{children:n}=e,i;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,F.jsxs)(`p`,{className:`flex items-center gap-1.5 font-mono text-xs font-semibold tracking-wider uppercase`,children:[(0,F.jsx)(`span`,{"aria-hidden":`true`,className:`mb-[3px] flex items-center justify-center`,children:`◇`}),(0,F.jsx)(r,{id:`6s7LXO`})]}),t[0]=i):i=t[0];let a;return t[1]===n?a=t[2]:(a=(0,F.jsxs)(`div`,{role:`note`,className:`flex flex-col gap-5 text-sm`,children:[i,(0,F.jsx)(`div`,{className:`flex flex-col gap-5`,children:n})]}),t[1]=n,t[2]=a),a}function L(e){let t=(0,A.c)(10),{icon:n,title:r,body:i}=e,a;t[0]===r?a=t[1]:(a=(0,F.jsx)(`p`,{className:`font-medium`,children:r}),t[0]=r,t[1]=a);let o;t[2]===i?o=t[3]:(o=(0,F.jsx)(`p`,{className:`text-muted-foreground`,children:i}),t[2]=i,t[3]=o);let s;t[4]!==a||t[5]!==o?(s=(0,F.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[a,o]}),t[4]=a,t[5]=o,t[6]=s):s=t[6];let c;return t[7]!==n||t[8]!==s?(c=(0,F.jsxs)(`div`,{className:`flex items-start gap-3`,children:[n,s]}),t[7]=n,t[8]=s,t[9]=c):c=t[9],c}function R(e){let t=(0,A.c)(4),{variant:n}=e;if((n===void 0?`full`:n)===`follow`){let e;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,F.jsx)(v,{children:(0,F.jsx)(r,{id:`8sMErm`})}),t[0]=e):e=t[0];let n;return t[1]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,F.jsxs)(F.Fragment,{children:[e,(0,F.jsx)(_,{children:(0,F.jsx)(r,{id:`CVRM5N`})})]}),t[1]=n):n=t[1],n}let i;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,F.jsx)(v,{children:(0,F.jsx)(r,{id:`q_9EcE`})}),t[2]=i):i=t[2];let a;return t[3]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,F.jsxs)(F.Fragment,{children:[i,(0,F.jsx)(_,{children:(0,F.jsx)(r,{id:`n6hXUm`})})]}),t[3]=a):a=t[3],a}function z(e){let t=(0,A.c)(2),{variant:n}=e,r=n===void 0?`full`:n,i;return t[0]===r?i=t[1]:(i=(0,F.jsx)(I,{children:r===`follow`?(0,F.jsx)(V,{}):(0,F.jsx)(B,{})}),t[0]=r,t[1]=i),i}function B(){let e=(0,A.c)(3),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,F.jsx)(L,{icon:(0,F.jsx)(E,{"aria-hidden":`true`,className:`mt-0.5 size-4 shrink-0 text-muted-foreground`}),title:(0,F.jsx)(r,{id:`cdmk8A`}),body:(0,F.jsx)(r,{id:`YaeyFh`})}),e[0]=t):t=e[0];let n;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,F.jsx)(L,{icon:(0,F.jsx)(D,{"aria-hidden":`true`,className:`mt-0.5 size-4 shrink-0 text-muted-foreground`}),title:(0,F.jsx)(r,{id:`9i21pa`}),body:(0,F.jsx)(r,{id:`KIIamL`})}),e[1]=n):n=e[1];let i;return e[2]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,F.jsxs)(F.Fragment,{children:[t,n,(0,F.jsx)(L,{icon:(0,F.jsx)(g,{"aria-hidden":`true`,className:`mt-0.5 size-4 shrink-0 text-muted-foreground`}),title:(0,F.jsx)(r,{id:`8cpeU3`}),body:(0,F.jsx)(r,{id:`DELNQk`})})]}),e[2]=i):i=e[2],i}function V(){let e=(0,A.c)(3),t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,F.jsx)(L,{icon:(0,F.jsx)(T,{"aria-hidden":`true`,className:`mt-0.5 size-4 shrink-0 text-muted-foreground`}),title:(0,F.jsx)(r,{id:`0xnQ_X`}),body:(0,F.jsx)(r,{id:`aCoQfY`})}),e[0]=t):t=e[0];let n;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,F.jsx)(L,{icon:(0,F.jsx)(k,{"aria-hidden":`true`,className:`mt-0.5 size-4 shrink-0 text-muted-foreground`}),title:(0,F.jsx)(r,{id:`5rnB76`}),body:(0,F.jsx)(r,{id:`evHlIg`})}),e[1]=n):n=e[1];let i;return e[2]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,F.jsxs)(F.Fragment,{children:[t,n,(0,F.jsx)(L,{icon:(0,F.jsx)(O,{"aria-hidden":`true`,className:`mt-0.5 size-4 shrink-0 text-muted-foreground`}),title:(0,F.jsx)(r,{id:`oBK5fD`}),body:(0,F.jsx)(r,{id:`8Wav8y`})})]}),e[2]=i):i=e[2],i}function H(){let e=(0,A.c)(2),{projectLocalBinding:t}=m();if(t===null)return null;let n;return e[0]===t?n=e[1]:(n=e=>{let n=e?`full`:`off`,r=t.patch({autoSync:{mode:n,enabled:e}});return r.ok?{ok:!0}:{ok:!1,error:d(r.error)}},e[0]=t,e[1]=n),n}function U(){let e=(0,A.c)(2),{projectLocalBinding:t}=m();if(t===null)return null;let n;return e[0]===t?n=e[1]:(n=e=>{let n=t.patch({autoSync:{mode:e,enabled:null}});return n.ok?{ok:!0}:{ok:!1,error:d(n.error)}},e[0]=t,e[1]=n),n}function W(){let e=(0,A.c)(2),{projectBinding:t}=m();if(t===null)return null;let n;return e[0]===t?n=e[1]:(n=e=>{let n=t.patch({autoSync:{default:e}});return n.ok?{ok:!0}:{ok:!1,error:d(n.error)}},e[0]=t,e[1]=n),n}function G(e,t){let n=(0,A.c)(12),{_:r}=i(),[a,o]=(0,j.useState)(!1),s;n[0]!==r||n[1]!==e?(s=function(t){if(e===null)return f.error(r({id:`fiMNLl`})),!1;let n=e(t);if(!n.ok){console.error(`[sync] toggle failed:`,n.error);let e=n.error;return f.error(r(t?{id:`04RA0-`,values:{detail:e}}:{id:`qjHMHf`,values:{detail:e}})),!1}return!0},n[0]=r,n[1]=e,n[2]=s):s=n[2];let c=s,l;n[3]===c?l=n[4]:(l=function(e){if(e){o(!0);return}c(!1)},n[3]=c,n[4]=l);let u=l,d;n[5]!==c||n[6]!==t?(d=function(){c(!0)&&(o(!1),t?.onEnabled?.())},n[5]=c,n[6]=t,n[7]=d):d=n[7];let p=d,m;return n[8]!==a||n[9]!==p||n[10]!==u?(m={confirmOpen:a,setConfirmOpen:o,onToggleRequest:u,onConfirm:p},n[8]=a,n[9]=p,n[10]=u,n[11]=m):m=n[11],m}function K(e,t,n){let r=(0,A.c)(15),{_:a}=i(),[o,s]=(0,j.useState)(!1),[c,l]=(0,j.useState)(null),u;r[0]!==a||r[1]!==n||r[2]!==e?(u=function(t){if(e===null)return f.error(a({id:`fiMNLl`})),!1;let r=e(t);if(!r.ok){console.error(`[sync] mode change failed:`,r.error);let e=r.error;return f.error(a({id:`nOEDQs`,values:{detail:e}})),!1}return n?.onApplied?.(t),!0},r[0]=a,r[1]=n,r[2]=e,r[3]=u):u=r[3];let d=u,p;r[4]!==d||r[5]!==t?(p=function(e){if(e!==t){if(e===`off`){d(`off`);return}l(e),s(!0)}},r[4]=d,r[5]=t,r[6]=p):p=r[6];let m=p,h;r[7]!==d||r[8]!==c?(h=function(){c!==null&&d(c)&&s(!1)},r[7]=d,r[8]=c,r[9]=h):h=r[9];let g=h,_;return r[10]!==o||r[11]!==g||r[12]!==m||r[13]!==c?(_={confirmOpen:o,setConfirmOpen:s,pendingMode:c,onModeSelect:m,onConfirm:g},r[10]=o,r[11]=g,r[12]=m,r[13]=c,r[14]=_):_=r[14],_}function q(){let e=(0,A.c)(2),{projectLocalBinding:t}=m();if(t===null)return null;let n;return e[0]===t?n=e[1]:(n=e=>{let n=t.patch({autoSync:e});return n.ok?{ok:!0}:{ok:!1,error:d(n.error)}},e[0]=t,e[1]=n),n}function J(e,t){let n=(0,A.c)(34),{_:r}=i(),a=q(),[o,d]=(0,j.useState)(!1),[p,m]=(0,j.useState)(null),h;n[0]===e?h=n[1]:(h=c(e)??`off`,n[0]=e,n[1]=h);let g=h,_=g===`follow`||g===`full`,v;n[2]===e?v=n[3]:(v=s(e),n[2]=e,n[3]=v);let y=v,b;n[4]===e?b=n[5]:(b=l(e),n[4]=e,n[5]=b);let x=b,S;n[6]===e?S=n[7]:(S=u(e),n[6]=e,n[7]=S);let C=S,w;n[8]!==r||n[9]!==a?(w=function(e){if(a===null)return f.error(r({id:`fiMNLl`})),!1;let t=a(e);if(!t.ok){console.error(`[sync] badge control failed:`,t.error);let e=t.error;return f.error(r({id:`ZVOhXM`,values:{detail:e}})),!1}return!0},n[8]=r,n[9]=a,n[10]=w):w=n[10];let T=w,E;n[11]!==_||n[12]!==T||n[13]!==g||n[14]!==C?(E=function(e){if(e){if(C===`full`){m(`full`),d(!0);return}T({mode:`follow`,enabled:null,resumeMode:null});return}T({mode:`off`,enabled:null,resumeMode:_?g:C})},n[11]=_,n[12]=T,n[13]=g,n[14]=C,n[15]=E):E=n[15];let D=E,O;n[16]!==_||n[17]!==T||n[18]!==C?(O=function(e){if(e!==C){if(!_){T({resumeMode:e});return}m(e),d(!0)}},n[16]=_,n[17]=T,n[18]=C,n[19]=O):O=n[19];let k=O,M;n[20]!==T||n[21]!==p?(M=function(){p!==null&&T({mode:p,enabled:null,resumeMode:null})&&(d(!1),m(null))},n[20]=T,n[21]=p,n[22]=M):M=n[22];let N=M,P=p===`follow`?t:0,F;return n[23]!==_||n[24]!==o||n[25]!==x||n[26]!==N||n[27]!==k||n[28]!==D||n[29]!==y||n[30]!==p||n[31]!==P||n[32]!==C?(F={active:_,paused:y,everEnabled:x,toggleMode:C,confirmOpen:o,setConfirmOpen:d,pendingMode:p,strandedCommitCount:P,onToggleActive:D,onModeSelect:k,onConfirm:N},n[23]=_,n[24]=o,n[25]=x,n[26]=N,n[27]=k,n[28]=D,n[29]=y,n[30]=p,n[31]=P,n[32]=C,n[33]=F):F=n[33],F}async function Y(e){let t=await fetch(`/api/sync/trigger`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({op:e})});if(!t.ok)throw Error(`sync trigger failed: ${t.status}`)}function X(e){let t=(0,A.c)(24),{open:n,onOpenChange:i,onConfirm:a,variant:s,strandedCommitCount:c}=e,l=s===void 0?`full`:s,u=c===void 0?0:c,d=l===`follow`&&u>0,f;t[0]===l?f=t[1]:(f=(0,F.jsx)(C,{children:(0,F.jsx)(R,{variant:l})}),t[0]=l,t[1]=f);let p;t[2]===l?p=t[3]:(p=(0,F.jsx)(z,{variant:l}),t[2]=l,t[3]=p);let m;t[4]!==d||t[5]!==u?(m=d&&(0,F.jsx)(`p`,{className:`mt-4 text-sm text-muted-foreground`,children:(0,F.jsx)(r,{id:`caw8gO`,values:{strandedCommitCount:u}})}),t[4]=d,t[5]=u,t[6]=m):m=t[6];let h;t[7]!==p||t[8]!==m?(h=(0,F.jsxs)(b,{children:[p,m]}),t[7]=p,t[8]=m,t[9]=h):h=t[9];let g;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,F.jsx)(S,{asChild:!0,children:(0,F.jsx)(o,{variant:`outline`,children:(0,F.jsx)(r,{id:`dEgA5A`})})}),t[10]=g):g=t[10];let _;t[11]===l?_=t[12]:(_=l===`follow`?(0,F.jsx)(r,{id:`U4nTfu`}):(0,F.jsx)(r,{id:`XU0OXn`}),t[11]=l,t[12]=_);let v;t[13]!==a||t[14]!==_?(v=(0,F.jsxs)(x,{children:[g,(0,F.jsx)(o,{onClick:a,children:_})]}),t[13]=a,t[14]=_,t[15]=v):v=t[15];let T;t[16]!==f||t[17]!==h||t[18]!==v?(T=(0,F.jsxs)(y,{className:`sm:max-w-lg`,children:[f,h,v]}),t[16]=f,t[17]=h,t[18]=v,t[19]=T):T=t[19];let E;return t[20]!==i||t[21]!==n||t[22]!==T?(E=(0,F.jsx)(w,{open:n,onOpenChange:i,children:T}),t[20]=i,t[21]=n,t[22]=T,t[23]=E):E=t[23],E}export{W as a,U as c,I as d,L as f,T as g,O as h,G as i,R as l,P as m,Y as n,H as o,N as p,J as r,K as s,X as t,z as u};
@@ -1 +0,0 @@
1
- import{t as e}from"./index-BEbGyHpc.js";export{e as FeedbackForm};
@@ -1 +0,0 @@
1
- import{t as e}from"./ManagedArtifactProperties-C0w77LVG.js";export{e as ManagedArtifactProperties};
@@ -1 +0,0 @@
1
- import{o as e}from"./chunk-CYidjpOJ.js";import{t}from"./jsx-runtime-BUgB2tll.js";import{t as n}from"./react-f2sANaYj.js";import{n as r,r as i}from"./dist-Nvb76hAm.js";import{n as a}from"./dist-PQ5KMVDh.js";import{t as o}from"./compiler-runtime-BfE3aGVn.js";import{t as s}from"./utils-CPqDy6Hr.js";import{t as c}from"./button-CA0dewJJ.js";import{a as l,c as u,i as d,l as f,o as p,r as ee,s as te,t as ne}from"./alert-dialog-ZBAB0rfs.js";import{t as re}from"./checkbox-Bi7zk4c5.js";import{t as ie}from"./label-Bbz2bT-a.js";import{r as m,t as h}from"./radio-group-BsZGGl8l.js";import{n as g}from"./dist-DTX2HxC82.js";import{t as ae}from"./dist-BgXDUIPy.js";import{r as oe}from"./config-context-BH8hj2sg.js";import{t as _}from"./createLucideIcon-CAkY8Blx.js";import{t as v}from"./check-Bzwwm-o4.js";import{n as y,t as b}from"./sun-D7hLUh5f.js";import{i as se,r as ce,t as le}from"./ok-CVy0jrrS.js";import{t as ue}from"./tool-list-format-ltxayE_z.js";var x=_(`monitor`,[[`rect`,{width:`20`,height:`14`,x:`2`,y:`3`,rx:`2`,key:`48i651`}],[`line`,{x1:`8`,x2:`16`,y1:`21`,y2:`21`,key:`1svkeh`}],[`line`,{x1:`12`,x2:`12`,y1:`17`,y2:`21`,key:`vw1qmm`}]]),S=e(n(),1),C=o(),w=t(),T=[{value:`system`,label:{id:`D-NlUC`},Icon:x,preview:`split`},{value:`dark`,label:{id:`pvnfJD`},Icon:y,preview:`dark`},{value:`light`,label:{id:`1njn7W`},Icon:b,preview:`light`}];function de(e){let t=(0,C.c)(13),{value:n,onValueChange:r,disabled:a,"aria-label":o,className:c}=e,{_:l}=i(),u;t[0]===r?u=t[1]:(u=e=>r(e),t[0]=r,t[1]=u);let d;t[2]===c?d=t[3]:(d=s(`grid-cols-[repeat(auto-fit,minmax(9rem,1fr))] gap-3`,c),t[2]=c,t[3]=d);let f;t[4]===l?f=t[5]:(f=T.map(e=>(0,w.jsx)(E,{option:e,label:l(e.label)},e.value)),t[4]=l,t[5]=f);let p;return t[6]!==o||t[7]!==a||t[8]!==u||t[9]!==d||t[10]!==f||t[11]!==n?(p=(0,w.jsx)(h,{value:n,onValueChange:u,disabled:a,"aria-label":o,className:d,"data-testid":`theme-picker`,children:f}),t[6]=o,t[7]=a,t[8]=u,t[9]=d,t[10]=f,t[11]=n,t[12]=p):p=t[12],p}function E(e){let t=(0,C.c)(15),{option:n,label:r}=e,{Icon:i,preview:a,value:o}=n,s=`theme-picker-${o}`,c;t[0]===a?c=t[1]:(c=(0,w.jsx)(fe,{tone:a}),t[0]=a,t[1]=c);let l;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,w.jsx)(`span`,{className:`absolute end-1.5 top-1.5 hidden size-4 items-center justify-center rounded-full bg-primary text-primary-foreground group-data-[state=checked]:flex`,"aria-hidden":!0,children:(0,w.jsx)(v,{className:`size-3`})}),t[2]=l):l=t[2];let u;t[3]===c?u=t[4]:(u=(0,w.jsxs)(`span`,{className:`relative block overflow-hidden rounded-md border border-border/60`,children:[c,l]}),t[3]=c,t[4]=u);let d;t[5]===i?d=t[6]:(d=(0,w.jsx)(i,{className:`size-3.5 shrink-0 text-muted-foreground`}),t[5]=i,t[6]=d);let f;t[7]!==r||t[8]!==d?(f=(0,w.jsxs)(`span`,{className:`flex items-center gap-1.5 px-0.5 pb-0.5 font-medium text-1sm text-foreground`,children:[d,r]}),t[7]=r,t[8]=d,t[9]=f):f=t[9];let p;return t[10]!==s||t[11]!==u||t[12]!==f||t[13]!==o?(p=(0,w.jsxs)(m,{value:o,className:`group relative flex cursor-pointer flex-col gap-2 rounded-lg border border-border bg-card/50 p-2 text-start outline-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:border-primary data-[state=checked]:bg-primary/5`,"data-testid":s,children:[u,f]}),t[10]=s,t[11]=u,t[12]=f,t[13]=o,t[14]=p):p=t[14],p}function fe(e){let t=(0,C.c)(4),{tone:n}=e;if(n===`split`){let e;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,w.jsx)(D,{tone:`light`}),t[0]=e):e=t[0];let n;return t[1]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,w.jsxs)(`span`,{className:`relative block`,"aria-hidden":!0,children:[e,(0,w.jsx)(`span`,{className:`absolute inset-y-0 start-0 w-1/2 overflow-hidden`,children:(0,w.jsx)(`span`,{className:`block w-[200%]`,children:(0,w.jsx)(D,{tone:`dark`})})})]}),t[1]=n):n=t[1],n}let r;return t[2]===n?r=t[3]:(r=(0,w.jsx)(`span`,{className:`block`,"aria-hidden":!0,children:(0,w.jsx)(D,{tone:n})}),t[2]=n,t[3]=r),r}function D(e){let t=(0,C.c)(19),{tone:n}=e,r=n===`dark`,i=r?`#18181b`:`#ffffff`,a;t[0]===i?a=t[1]:(a={backgroundColor:i},t[0]=i,t[1]=a);let o=r?`#000000`:`#f4f4f5`,s;t[2]===o?s=t[3]:(s={backgroundColor:o},t[2]=o,t[3]=s);let c,l,u;t[4]===n?(c=t[5],l=t[6],u=t[7]):(c=(0,w.jsx)(O,{className:`w-3/4`,tone:n,strength:`strong`}),l=(0,w.jsx)(O,{className:`w-full`,tone:n,strength:`weak`}),u=(0,w.jsx)(O,{className:`w-2/3`,tone:n,strength:`weak`}),t[4]=n,t[5]=c,t[6]=l,t[7]=u);let d;t[8]!==s||t[9]!==c||t[10]!==l||t[11]!==u?(d=(0,w.jsxs)(`span`,{className:`flex w-1/3 shrink-0 flex-col gap-1.5 rounded-sm p-1.5`,style:s,children:[c,l,u]}),t[8]=s,t[9]=c,t[10]=l,t[11]=u,t[12]=d):d=t[12];let f;t[13]===n?f=t[14]:(f=(0,w.jsxs)(`span`,{className:`flex min-w-0 flex-1 flex-col gap-1.5 p-1.5`,children:[(0,w.jsx)(O,{className:`w-1/2`,tone:n,strength:`strong`}),(0,w.jsx)(O,{className:`w-full`,tone:n,strength:`weak`}),(0,w.jsx)(O,{className:`w-5/6`,tone:n,strength:`weak`})]}),t[13]=n,t[14]=f);let p;return t[15]!==a||t[16]!==d||t[17]!==f?(p=(0,w.jsxs)(`span`,{className:`flex h-24 w-full gap-1.5 p-1.5`,style:a,children:[d,f]}),t[15]=a,t[16]=d,t[17]=f,t[18]=p):p=t[18],p}function O(e){let t=(0,C.c)(7),{className:n,tone:r,strength:i}=e,a=r===`dark`?i===`strong`?`#52525b`:`#27272a`:i===`strong`?`#d4d4d8`:`#e4e4e7`,o;t[0]===n?o=t[1]:(o=s(`block h-1 rounded-full`,n),t[0]=n,t[1]=o);let c;t[2]===a?c=t[3]:(c={backgroundColor:a},t[2]=a,t[3]=c);let l;return t[4]!==o||t[5]!==c?(l=(0,w.jsx)(`span`,{className:o,style:c}),t[4]=o,t[5]=c,t[6]=l):l=t[6],l}var k=`text-1sm leading-normal`,A=`${k} ps-6.5 text-muted-foreground`,pe=`${k} ps-6.5 text-amber-700 dark:text-amber-400`,me=`${k} text-muted-foreground`;function he(e){return e.shellDetected&&!e.alreadyInstalled}function ge(e){return e.filter(e=>e.detected)}var _e={error:e=>g.error(e),message:e=>g.message(e)};function ve(e){let t=(0,C.c)(9),n;t[0]===e?n=t[1]:(n=e===void 0?{}:e,t[0]=e,t[1]=n);let{store:r,toast:i,payload:a}=n,o=r===void 0?ce:r,s=i===void 0?_e:i,c;t[2]!==a||t[3]!==o?(c=a??o.getSnapshot(),t[2]=a,t[3]=o,t[4]=c):c=t[4];let l=c;if(!l)return null;let u;return t[5]!==l||t[6]!==o||t[7]!==s?(u=(0,w.jsx)(j,{payload:l,store:o,toast:s}),t[5]=l,t[6]=o,t[7]=s,t[8]=u):u=t[8],u}function j(e){let t=(0,C.c)(54),{payload:n,store:o,toast:m}=e,{_:h}=i(),g=n.pathInstall,_=n.globalSkills,v;t[0]===_?v=t[1]:(v=_.some(ke),t[0]=_,t[1]=v);let y=v,b=he(g),ce=window.okDesktop?.config.ptyAvailable===!0,x=ge(n.detectedEditors),T=x.length>0,E=x.filter(Oe),fe=E.length>0&&E.length===x.length,D=ue(x.map(De),ae.locale),[O,k]=(0,S.useState)(!0),[_e,ve]=(0,S.useState)(!0),[j,Ae]=(0,S.useState)(!0),{theme:je,setTheme:M}=a(),Me=je===`dark`||je===`light`?je:`system`,Ne=oe(),N;t[2]!==h||t[3]!==Ne?.userBinding||t[4]!==M||t[5]!==m?(N=function(e){M(e);let t=Ne?.userBinding;t&&(t.patch({appearance:{theme:e}}).ok||m.error(h({id:`LJXDjm`})))},t[2]=h,t[3]=Ne?.userBinding,t[4]=M,t[5]=m,t[6]=N):N=t[6];let Pe=N,[P,F]=(0,S.useState)(!1),I=(0,S.useId)(),Fe=O&&E.length>0,Ie=async function(){F(!0);let e=O&&T,t=await o.confirm({editorIds:e?x.map(Ee):[],pathInstall:b?j:void 0,skills:_e&&y?_.map(Te):void 0});if(!t.ok){m.error(t.error),F(!1);return}e||m.message(h({id:`851WA-`}))},L;t[7]!==h||t[8]!==o||t[9]!==m?(L=async function(){F(!0);let e=await o.skip();e.ok?m.message(h({id:`851WA-`})):(m.error(e.error),F(!1))},t[7]=h,t[8]=o,t[9]=m,t[10]=L):L=t[10];let Le=L,R;t[11]!==P||t[12]!==Le?(R=function(e){!e&&!P&&Le()},t[11]=P,t[12]=Le,t[13]=R):R=t[13];let Re=R,ze=ne,Be=l,z;t[14]===Symbol.for(`react.memo_cache_sentinel`)?(z=(0,w.jsx)(le,{className:`size-10 shrink-0`,"aria-hidden":!0}),t[14]=z):z=t[14];let B;t[15]===Symbol.for(`react.memo_cache_sentinel`)?(B=(0,w.jsxs)(f,{className:`flex flex-col gap-8 text-2xl tracking-tighter`,children:[z,(0,w.jsxs)(`span`,{className:`flex flex-col gap-1.5`,children:[(0,w.jsx)(`span`,{className:`uppercase font-mono font-normal text-2xs text-muted-foreground tracking-widest`,children:(0,w.jsx)(r,{id:`cYvRiE`})}),(0,w.jsx)(r,{id:`U6Mdhd`})]})]}),t[15]=B):B=t[15];let V;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(V=(0,w.jsxs)(u,{children:[B,(0,w.jsx)(p,{className:`sr-only`,children:(0,w.jsx)(r,{id:`0DVpoY`})})]}),t[16]=V):V=t[16];let Ve=ee,He=g.shellDetected&&(0,w.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,w.jsx)(`h3`,{className:`text-sm font-medium text-foreground`,children:(0,w.jsx)(r,{id:`ALhMYW`})}),(0,w.jsxs)(`div`,{className:s(`relative overflow-hidden rounded-lg border border-border bg-card/50 px-4 py-3`,b&&`hover:bg-accent`),children:[(0,w.jsxs)(ie,{htmlFor:`${I}-path`,className:b?`flex min-w-0 cursor-pointer flex-col items-start gap-1 font-normal`:`flex min-w-0 flex-col items-start gap-1 font-normal`,children:[(0,w.jsxs)(`span`,{className:`flex w-full items-center gap-2.5`,children:[(0,w.jsx)(re,{id:`${I}-path`,checked:b?j:!0,disabled:P||!b,onCheckedChange:()=>Ae(we),"data-testid":`mcp-consent-path-checkbox`}),(0,w.jsx)(`span`,{className:`flex min-w-0 flex-1 items-center gap-1.5 pe-28 text-sm font-medium text-foreground`,children:(0,w.jsx)(r,{id:`Fsx78O`,components:{0:(0,w.jsx)(`code`,{className:`inline-code text-1sm!`})}})})]}),b&&(0,w.jsx)(`span`,{className:A,children:(0,w.jsx)(r,{id:`LJeFU6`,components:{0:(0,w.jsx)(`code`,{className:`inline-code text-xs!`}),1:(0,w.jsx)(`code`,{className:`inline-code text-xs!`})}})}),!b&&(0,w.jsx)(`span`,{className:A,"data-testid":`mcp-consent-path-status`,children:h({id:`RnrnTe`})}),b&&!j&&(0,w.jsx)(`span`,{className:pe,"data-testid":`mcp-consent-path-warning`,children:ce?(0,w.jsx)(r,{id:`7PXYaF`,components:{0:(0,w.jsx)(`code`,{className:`inline-code text-xs!`})}}):(0,w.jsx)(r,{id:`BOsvJ8`,components:{0:(0,w.jsx)(`code`,{className:`inline-code text-xs!`})}})})]}),b&&(0,w.jsx)(se,{title:h({id:`f9lQNJ`}),testId:`mcp-consent-path-info`,children:(0,w.jsx)(`span`,{className:`wrap-break-word`,"data-testid":`mcp-consent-path-status`,children:g.rcFilesToTouch.map(Ce)})})]})]}),Ue=(T||y)&&(0,w.jsx)(w.Fragment,{children:(0,w.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[(0,w.jsx)(`h3`,{className:`text-sm font-medium text-foreground`,children:(0,w.jsx)(r,{id:`04JR6L`})}),T?(0,w.jsx)(`p`,{className:s(me,`mb-1`),children:(0,w.jsx)(r,{id:`mlA3HX`})}):null,(0,w.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[T?(0,w.jsxs)(`div`,{className:`relative overflow-hidden rounded-lg border border-border bg-card/50 px-4 py-3 hover:bg-accent`,children:[(0,w.jsxs)(ie,{htmlFor:`${I}-connect`,className:`flex min-w-0 cursor-pointer flex-col items-start gap-1 font-normal`,children:[(0,w.jsxs)(`span`,{className:`flex w-full items-center gap-2.5`,children:[(0,w.jsx)(re,{id:`${I}-connect`,checked:O,disabled:P,onCheckedChange:()=>k(Se),"data-testid":`mcp-consent-connect-checkbox`}),(0,w.jsx)(`span`,{className:`flex min-w-0 flex-1 items-center gap-1.5 pe-28 text-sm font-medium text-foreground`,"data-testid":`mcp-consent-connect-summary`,children:(0,w.jsx)(r,{id:`qBi_YG`})})]}),(0,w.jsx)(`span`,{className:A,children:(0,w.jsx)(r,{id:`RvbTzC`,values:{connectToolList:D},components:{0:(0,w.jsx)(`span`,{className:`font-medium text-foreground`})}})}),Fe&&(0,w.jsx)(`span`,{className:pe,"data-testid":`mcp-consent-connect-replace-warning`,children:h(fe?{id:`nJaz5Q`}:{id:`LAR9ub`,values:{0:ue(E.map(xe),ae.locale)}})})]}),(0,w.jsx)(se,{title:h({id:`m3ocfn`}),testId:`mcp-consent-connect-info`,children:(0,w.jsx)(`span`,{className:`flex flex-col gap-2`,"data-testid":`mcp-consent-connect-details`,children:x.map(e=>(0,w.jsxs)(`span`,{className:`flex min-w-0 flex-col`,children:[(0,w.jsx)(`span`,{className:`font-medium`,children:e.label}),(0,w.jsx)(`span`,{className:`wrap-break-word opacity-75`,children:(0,w.jsx)(`code`,{className:`break-all`,children:e.configPath??h({id:`ndwmea`})})})]},e.id))})})]}):null,y&&(0,w.jsxs)(`div`,{className:`relative overflow-hidden rounded-lg border border-border bg-card/50 px-4 py-3 hover:bg-accent`,children:[(0,w.jsxs)(ie,{htmlFor:`${I}-skills`,className:`flex min-w-0 cursor-pointer flex-col items-start gap-1 font-normal`,children:[(0,w.jsxs)(`span`,{className:`flex w-full items-center gap-2.5`,children:[(0,w.jsx)(re,{id:`${I}-skills`,checked:_e,disabled:P,onCheckedChange:()=>ve(be),"data-testid":`mcp-consent-skill-checkbox`}),(0,w.jsx)(`span`,{className:`flex min-w-0 flex-1 items-center gap-1.5 pe-28 text-sm font-medium text-foreground`,children:(0,w.jsx)(r,{id:`vqJXNe`,components:{0:(0,w.jsx)(`code`,{className:`inline-code text-1sm!`})}})})]}),(0,w.jsx)(`span`,{className:A,children:(0,w.jsx)(r,{id:`6ur2Mk`})})]}),(0,w.jsx)(se,{title:h({id:`gcrh1R`}),testId:`mcp-consent-skill-info`,children:(0,w.jsx)(`span`,{className:`flex flex-col gap-2`,"data-testid":`mcp-consent-skill-details`,children:_.map(e=>(0,w.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-0.5`,children:[_.length>1&&(0,w.jsx)(`span`,{className:`font-medium`,children:e.name}),e.paths.map(ye)]},e.id))})})]}),!T&&(0,w.jsx)(`p`,{className:me,"data-testid":`mcp-consent-no-tools`,children:(0,w.jsx)(r,{id:`tLd2qa`})})]})]})}),H;t[17]===Symbol.for(`react.memo_cache_sentinel`)?(H=(0,w.jsx)(`h3`,{className:`text-sm font-medium text-foreground`,children:(0,w.jsx)(r,{id:`37Vsg6`})}),t[17]=H):H=t[17];let U;t[18]===h?U=t[19]:(U=h({id:`37Vsg6`}),t[18]=h,t[19]=U);let W;t[20]!==P||t[21]!==Pe||t[22]!==U||t[23]!==Me?(W=(0,w.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[H,(0,w.jsx)(de,{value:Me,onValueChange:Pe,disabled:P,"aria-label":U})]}),t[20]=P,t[21]=Pe,t[22]=U,t[23]=Me,t[24]=W):W=t[24];let G;t[25]!==Ve||t[26]!==He||t[27]!==Ue||t[28]!==W?(G=(0,w.jsxs)(Ve,{className:`flex flex-col gap-6 min-h-0`,children:[He,Ue,W]}),t[25]=Ve,t[26]=He,t[27]=Ue,t[28]=W,t[29]=G):G=t[29];let K;t[30]===Symbol.for(`react.memo_cache_sentinel`)?(K=(0,w.jsx)(r,{id:`hnlGzG`}),t[30]=K):K=t[30];let q;t[31]===P?q=t[32]:(q=(0,w.jsx)(d,{variant:`link-muted`,disabled:P,className:`-ms-2.5 tracking-wide`,"data-testid":`mcp-consent-skip`,children:K}),t[31]=P,t[32]=q);let J;t[33]===Ie?J=t[34]:(J=()=>void Ie(),t[33]=Ie,t[34]=J);let Y;t[35]===P?Y=t[36]:(Y=P?(0,w.jsx)(r,{id:`b4itZn`}):(0,w.jsx)(r,{id:`LHH461`}),t[35]=P,t[36]=Y);let X;t[37]!==P||t[38]!==J||t[39]!==Y?(X=(0,w.jsx)(c,{onClick:J,disabled:P,"data-testid":`mcp-consent-add`,children:Y}),t[37]=P,t[38]=J,t[39]=Y,t[40]=X):X=t[40];let Z;t[41]!==q||t[42]!==X?(Z=(0,w.jsxs)(te,{className:`sm:justify-between`,children:[q,X]}),t[41]=q,t[42]=X,t[43]=Z):Z=t[43];let Q;t[44]!==Be||t[45]!==P||t[46]!==G||t[47]!==Z||t[48]!==V?(Q=(0,w.jsxs)(Be,{className:`sm:max-w-2xl md:max-w-3xl`,"aria-busy":P,children:[V,G,Z]}),t[44]=Be,t[45]=P,t[46]=G,t[47]=Z,t[48]=V,t[49]=Q):Q=t[49];let $;return t[50]!==ze||t[51]!==Re||t[52]!==Q?($=(0,w.jsx)(ze,{open:!0,onOpenChange:Re,children:Q}),t[50]=ze,t[51]=Re,t[52]=Q,t[53]=$):$=t[53],$}function ye(e){return(0,w.jsx)(`span`,{className:`wrap-break-word opacity-75`,children:(0,w.jsx)(`code`,{className:`break-all`,children:e})},e)}function be(e){return!e}function xe(e){return e.label}function Se(e){return!e}function Ce(e){return(0,w.jsx)(`span`,{className:`block`,children:(0,w.jsx)(`code`,{className:`break-all`,children:e})},e)}function we(e){return!e}function Te(e){return e.id}function Ee(e){return e.id}function De(e){return e.label}function Oe(e){return e.willReplace}function ke(e){return e.paths.length>0}export{ve as McpConsentDialogBody,ve as default,ge as connectableEditors,he as isPathRowActionable};