@inkeep/open-knowledge 0.43.0-beta.0 → 0.43.0-beta.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. package/dist/{acp-harness-probe-BI6bXf3a.mjs → acp-harness-probe-BsZ-Hyeq.mjs} +2 -2
  2. package/dist/assets/skills/discovery/SKILL.md +1 -1
  3. package/dist/assets/skills/project/SKILL.md +1 -1
  4. package/dist/cli.mjs +32 -32
  5. package/dist/config-schema.json +26 -0
  6. package/dist/config.project.schema.json +26 -0
  7. package/dist/constants-B7CkRnCB.mjs +2 -0
  8. package/dist/fs-traced-CeWo_16n.mjs +1 -0
  9. package/dist/{fs-traced-BmZQL7v9.mjs → fs-traced-DDm-belY.mjs} +2 -2
  10. package/dist/{git-handle-bosCq-DO.mjs → git-handle-Brc1fNLy.mjs} +2 -2
  11. package/dist/git-handle-DHnKEzLR.mjs +1 -0
  12. package/dist/index.d.mts +4 -0
  13. package/dist/index.mjs +1 -1
  14. package/dist/{init-BUp3cQ_4.mjs → init-CopMFOJr.mjs} +11 -11
  15. package/dist/init-Dmrh4v-w.mjs +1 -0
  16. package/dist/{launch-json-removal-CwOqJJze.mjs → launch-json-removal-DCerdFQY.mjs} +2 -2
  17. package/dist/{loader-y7Mn8M-Z.mjs → loader-1EAoe8bs.mjs} +2 -2
  18. package/dist/loader-B8BSGqBb.mjs +1 -0
  19. package/dist/md-manager-Cz4fhjnd.mjs +2 -0
  20. package/dist/{open-browser-CkLowmAw.mjs → open-browser-CZVSVsTE.mjs} +2 -2
  21. package/dist/parse-worker.mjs +1 -1
  22. package/dist/{preview-BV8bR51k.mjs → preview-CgtWMnxl.mjs} +2 -2
  23. package/dist/preview-D1OxPvJB.mjs +1 -0
  24. package/dist/public/assets/{ActivityModeContent-CCFHLlT9.js → ActivityModeContent-Dn0hroLN.js} +1 -1
  25. package/dist/public/assets/{AgentDiffPane-CQfhJYfr.js → AgentDiffPane-D8VHumHS.js} +1 -1
  26. package/dist/public/assets/{AgentThreadClientBinder-DZwzRPDa.js → AgentThreadClientBinder-DmS2wmOY.js} +1 -1
  27. package/dist/public/assets/{CodeMirrorPropInput-BqDZpzvH.js → CodeMirrorPropInput-BAKVIamK.js} +1 -1
  28. package/dist/public/assets/{DocumentContext-WcIs30H8.js → DocumentContext-ACm8UJLB.js} +1 -1
  29. package/dist/public/assets/{EditorModeToggle-1xLWvnWd.js → EditorModeToggle-vHV06Y3F.js} +1 -1
  30. package/dist/public/assets/{EnableSyncConfirmDialog-CPuodmd5.js → EnableSyncConfirmDialog-BXVF9BSv.js} +1 -1
  31. package/dist/public/assets/FeedbackForm-xoUaEF0z.js +1 -0
  32. package/dist/public/assets/{GraphPanel-U2ZyS1Aa.js → GraphPanel-1c013bf_.js} +1 -1
  33. package/dist/public/assets/{LintConfigEditor-DEUL9rFl.js → LintConfigEditor-DYclvSQA.js} +1 -1
  34. package/dist/public/assets/{ManagedArtifactProperties-EDghUFni.js → ManagedArtifactProperties-C_oqe0AW.js} +1 -1
  35. package/dist/public/assets/{McpConsentDialogBody-C8VSVSPz.js → McpConsentDialogBody-B6Gwaht3.js} +1 -1
  36. package/dist/public/assets/{MermaidDocEditor-BwjUe5g_.js → MermaidDocEditor-CqAdgxBk.js} +1 -1
  37. package/dist/public/assets/{PropertyPanel-F1tECi8I.js → PropertyPanel-CdiLI8dT.js} +1 -1
  38. package/dist/public/assets/{ReportBugDialogBody-Cz_kN3Qc.js → ReportBugDialogBody-D-51Fi6S.js} +1 -1
  39. package/dist/public/assets/SchemaConfigEditor-CIGVJa_q.js +1 -0
  40. package/dist/public/assets/{SettingsDialogBody-_7c5ty2t.js → SettingsDialogBody-CfFnHbf_.js} +2 -2
  41. package/dist/public/assets/{ShareBranchSwitchDialog-Dj6PdkLL.js → ShareBranchSwitchDialog-CPxlFKib.js} +1 -1
  42. package/dist/public/assets/{ShareReceiveDialog-Cmfia-Vl.js → ShareReceiveDialog-BVziJqwR.js} +1 -1
  43. package/dist/public/assets/{ShareReceiveMissDialog-xHTJ1V_2.js → ShareReceiveMissDialog-Ds8bPOAr.js} +1 -1
  44. package/dist/public/assets/{SkillEditorActions-Cw7itVro.js → SkillEditorActions-Cs6ruYBc.js} +1 -1
  45. package/dist/public/assets/{SourceEditor-DGpQCfDe.js → SourceEditor-40phOys_.js} +1 -1
  46. package/dist/public/assets/{TerminalPanel-Dfvz7JrY.js → TerminalPanel-ocG4IGRI.js} +1 -1
  47. package/dist/public/assets/{TerminalSessionsHost-D6vvdN1I.js → TerminalSessionsHost-DRgRpFQr.js} +2 -2
  48. package/dist/public/assets/{TerminalWindowApp-CfeLvqLD.js → TerminalWindowApp-J2gSwG7E.js} +1 -1
  49. package/dist/public/assets/{ThreadView-S_XJwwbZ.js → ThreadView-CsQ9ujqA.js} +1 -1
  50. package/dist/public/assets/{TimelineDiffPane-DgS-xWyU.js → TimelineDiffPane-TaEpfkAq.js} +1 -1
  51. package/dist/public/assets/{agent-diff-store-Cn0Zbsuy.js → agent-diff-store-CDu00oUs.js} +1 -1
  52. package/dist/public/assets/{agent-visibility-B4n6jrOx.js → agent-visibility-Doi5rQGj.js} +1 -1
  53. package/dist/public/assets/{auth-state-cache-PC5ml3gS.js → auth-state-cache-BbUKb42S.js} +1 -1
  54. package/dist/public/assets/{client-version-BmlQC9U8.js → client-version-CbYEf8u3.js} +1 -1
  55. package/dist/public/assets/{config-provider-GshVNiWq.js → config-provider-DsxJSqOE.js} +1 -1
  56. package/dist/public/assets/{dist-Cgpf3BIr.js → dist-DmmOGEYy.js} +2 -2
  57. package/dist/public/assets/{doc-hash-Bso39bSh.js → doc-hash-npYJLwiA.js} +1 -1
  58. package/dist/public/assets/{documents-events-CtKncdGv.js → documents-events-DR-3KwvB.js} +1 -1
  59. package/dist/public/assets/{file-tree-adapter-SJF4yRd-.js → file-tree-adapter-_Iw9bOfm.js} +1 -1
  60. package/dist/public/assets/{file-tree-utils-llNa05uo.js → file-tree-utils-D0sM1hl6.js} +1 -1
  61. package/dist/public/assets/{index-BVWeqqNi.js → index-OREKqjHv.js} +7 -7
  62. package/dist/public/assets/{lint-config-client-BYECwWuu.js → lint-config-client-P4Vl5_Ll.js} +1 -1
  63. package/dist/public/assets/{markdownlint-rule-browser-BR80y6ho.js → markdownlint-rule-browser-CgMCf9t4.js} +1 -1
  64. package/dist/public/assets/{navigation-targets-SdStq-nY.js → navigation-targets-DeBO_CiV.js} +1 -1
  65. package/dist/public/assets/{open-managed-artifact-tab-CgQ5akUh.js → open-managed-artifact-tab-C3XHRPjz.js} +1 -1
  66. package/dist/public/assets/{pending-receive-nav-store-DTqMgVXW.js → pending-receive-nav-store-D1Ak_KBi.js} +1 -1
  67. package/dist/public/assets/{prop-types-CU-rIGvv.js → prop-types-Bhd8xMdJ.js} +1 -1
  68. package/dist/public/assets/{receive-store-C5uRDARd.js → receive-store-B0la12DE.js} +1 -1
  69. package/dist/public/assets/{schema-fields-view-intent-BeD8vY0v.js → schema-fields-view-intent-D_s-Cynn.js} +1 -1
  70. package/dist/public/assets/{selection-context-DtzxXWAX.js → selection-context-BhBk68lx.js} +1 -1
  71. package/dist/public/assets/{skill-actions-PBEWDc_3.js → skill-actions-QNwfiy_e.js} +1 -1
  72. package/dist/public/assets/{skills-api-Cd3IvPjQ.js → skills-api-BM7Qxf1S.js} +1 -1
  73. package/dist/public/assets/{src-Dum6a22K.js → src-BBZpFfdp.js} +1 -1
  74. package/dist/public/assets/{tag-pill-input-CS-2Qx-_.js → tag-pill-input-_HZuox-k.js} +1 -1
  75. package/dist/public/assets/{target-navigation-intent-D3w-HLu3.js → target-navigation-intent-voqLi0RG.js} +1 -1
  76. package/dist/public/assets/{terminal-launch-events-CTVJjVZG.js → terminal-launch-events-CgQk_kaz.js} +1 -1
  77. package/dist/public/assets/{terminal-telemetry-pdIn1zDv.js → terminal-telemetry-CBfCAmXL.js} +1 -1
  78. package/dist/public/assets/{typing-burst-detector-BEbZgL9-.js → typing-burst-detector-D2SiMS8f.js} +1 -1
  79. package/dist/public/assets/{uninstall-BpVYvA3J.js → uninstall-C-l5Ivsg.js} +1 -1
  80. package/dist/public/assets/{use-activity-panel-B8RDBgok.js → use-activity-panel-Da12eNsM.js} +1 -1
  81. package/dist/public/assets/{use-apply-config-color-theme-A0jx7vnI.js → use-apply-config-color-theme-DRPFp4xs.js} +1 -1
  82. package/dist/public/assets/{use-collab-url-bpUtly6S.js → use-collab-url-BwoofE89.js} +1 -1
  83. package/dist/public/assets/{use-live-xterm-theme-w8QeNUlq.js → use-live-xterm-theme-CEP9y4ZI.js} +1 -1
  84. package/dist/public/assets/{use-settings-route-CFvCFlXS.js → use-settings-route-DPMg_rMU.js} +1 -1
  85. package/dist/public/assets/{use-terminal-enabled-CuFAAh8J.js → use-terminal-enabled-CqqmmreO.js} +1 -1
  86. package/dist/public/assets/{use-timeline-entry-diff-DlW9hmrR.js → use-timeline-entry-diff-DxvN8h6c.js} +1 -1
  87. package/dist/public/assets/{use-workspace-CNWEPWim.js → use-workspace-BIKWmfQe.js} +1 -1
  88. package/dist/public/assets/{workspace-paths-DQOJHVhV.js → workspace-paths-BJBhipCI.js} +1 -1
  89. package/dist/public/index.html +35 -35
  90. package/dist/public/uninstall.html +2 -2
  91. package/dist/{repair-launch-json-_2TGq22B.mjs → repair-launch-json-DR3VAd4W.mjs} +2 -2
  92. package/dist/{repair-mcp-configs-Cf6t84yK.mjs → repair-mcp-configs-CvPyVJOe.mjs} +2 -2
  93. package/dist/repair-skills-B05O8c60.mjs +1 -0
  94. package/dist/{repair-skills-DwQqF8O8.mjs → repair-skills-dZDoxvRM.mjs} +2 -2
  95. package/dist/schemas/v0/config.project.schema.json +26 -0
  96. package/dist/server-lock-B7mZG_Hv.mjs +1 -0
  97. package/dist/{server-lock-DpWXnrNF.mjs → server-lock-CH_iezNY.mjs} +2 -2
  98. package/dist/{sleep-DTzPXGtM.mjs → sleep-DDnWCWup.mjs} +2 -2
  99. package/dist/src-BRIunPu2.mjs +1 -0
  100. package/dist/{src-JZ7OJ1TB.mjs → src-CHlNjTzl.mjs} +5 -5
  101. package/dist/src-CbnujJE-.mjs +3271 -0
  102. package/dist/{src-DY417osM.mjs → src-Duzu_tVF.mjs} +124 -124
  103. package/dist/start-Cqs3MTiS.mjs +4 -0
  104. package/dist/start-DWJSVlHW.mjs +1 -0
  105. package/dist/{write-project-skill-cxdqSDsT.mjs → write-project-skill-CJb6JZQ_.mjs} +3 -3
  106. package/package.json +5 -5
  107. package/dist/constants-BKJ7B5iw.mjs +0 -2
  108. package/dist/fs-traced-B9Czc2nP.mjs +0 -1
  109. package/dist/git-handle-B1uGukUi.mjs +0 -1
  110. package/dist/init-CIt3KTw5.mjs +0 -1
  111. package/dist/loader-Bofa7u1n.mjs +0 -1
  112. package/dist/md-manager-DPw-b4lt.mjs +0 -2
  113. package/dist/preview-CUhu4iSu.mjs +0 -1
  114. package/dist/public/assets/FeedbackForm-DXei5e26.js +0 -1
  115. package/dist/public/assets/SchemaConfigEditor-C_t3p7aQ.js +0 -1
  116. package/dist/repair-skills-CtpTVpw_.mjs +0 -1
  117. package/dist/server-lock-CZMSbPZ0.mjs +0 -1
  118. package/dist/src-BFcAqZ_V.mjs +0 -1
  119. package/dist/src-BkP5u3RK.mjs +0 -3269
  120. package/dist/start-0twfe-vW.mjs +0 -1
  121. package/dist/start-BcTJLNem.mjs +0 -3
@@ -0,0 +1,4 @@
1
+ import{L as e,P as t}from"./src-Duzu_tVF.mjs";import{Wr as n,Zr as r,a as i,dn as a}from"./src-CbnujJE-.mjs";import{C as o,w as s}from"./write-project-skill-CJb6JZQ_.mjs";import{a as c,n as l,t as u}from"./acp-harness-probe-BsZ-Hyeq.mjs";import{n as d}from"./constants-B7CkRnCB.mjs";import{spawn as f}from"node:child_process";import{basename as p,dirname as m,join as h,resolve as g,win32 as _}from"node:path";import{closeSync as v,existsSync as y,mkdirSync as b,openSync as x,statSync as S}from"node:fs";import{homedir as C}from"node:os";import{rm as w}from"node:fs/promises";import{setTimeout as T}from"node:timers/promises";function E(e){let t={...e};return delete t.ELECTRON_RUN_AS_NODE,t}function D(e,t,r={}){let i=(r.spawn??f)(e,[...t],n({detached:!0,stdio:`ignore`,env:E(r.env??process.env)}));return i.unref(),i}const O=`OpenKnowledge.app`,k=`/Applications/${O}`;function A(){return{platform:process.platform,env:process.env,execPath:process.execPath,isTTY:process.stdout.isTTY,statSync:e=>{try{return S(e,{throwIfNoEntry:!1})??null}catch{return null}}}}function j(e){if(e.env.ELECTRON_RUN_AS_NODE===`1`){let t=/(.+?\.app)\/Contents\/MacOS\//.exec(e.execPath);if(t?.[1])return t[1]}if(M(e,k))return k;let t=h(e.homeDir??C(),`Applications`,O);return M(e,t)?t:null}function M(e,t){return N(e,h(t,`Contents`,`MacOS`,`OpenKnowledge`))}function N(e,t){try{let n=e.statSync(t);return n&&typeof n.isFile==`function`?n.isFile():!1}catch{return!1}}const ee=[`@inkeepopen-knowledge-desktop`,`OpenKnowledge`];function P(e){if(e.env.ELECTRON_RUN_AS_NODE===`1`&&/\\OpenKnowledge\.exe$/i.test(e.execPath))return e.execPath;let t=e.env.LOCALAPPDATA;if(t)for(let n of ee){let r=_.join(t,`Programs`,n,`OpenKnowledge.exe`);if(N(e,r))return r}return null}function F(e){if(e.env.ELECTRON_RUN_AS_NODE===`1`&&e.execPath.endsWith(`/openknowledge`))return e.execPath;let t=`/opt/OpenKnowledge/openknowledge`;return N(e,t)?t:null}function I(e){if(e.env.OK_FORCE_BROWSER===`1`)return{available:!1,reason:`force-browser`};if(e.platform!==`darwin`&&e.platform!==`win32`&&e.platform!==`linux`)return{available:!1,reason:`unsupported-platform`};let t;try{t=e.platform===`darwin`?j(e):e.platform===`win32`?P(e):F(e)}catch{return{available:!1,reason:`stat-error`}}return t?e.env.OK_FORCE_DESKTOP===`1`?{available:!0,reason:`available`,bundlePath:t}:!(e.isTTY===!0||e.platform===`win32`&&e.isTTY===void 0&&!e.env.CI)||e.env.SSH_CONNECTION||e.env.SSH_TTY||e.platform===`linux`&&!e.env.DISPLAY&&!e.env.WAYLAND_DISPLAY?{available:!1,reason:`headless`,bundlePath:t}:{available:!0,reason:`available`,bundlePath:t}:{available:!1,reason:`no-bundle`}}function L(e,t){let n=e.log??(e=>console.error(e)),r=e.platform??process.platform;if(n("Launching OpenKnowledge desktop (use `ok start` for the browser server, or `OK_FORCE_BROWSER=1` to always skip)"),r===`darwin`){D(`open`,[`-b`,`com.inkeep.open-knowledge`],{spawn:e.spawn});return}let i=t?.bundlePath;if(!i){n(`Desktop launch skipped: no resolved desktop executable (caller bug).`);return}D(i,[],{spawn:e.spawn})}function R(e=`no-bundle`){switch(e){case`no-bundle`:return`Desktop app not found (checked the standard install locations for this OS). Install it, or omit --mode for browser mode.`;case`darwin-only`:case`unsupported-platform`:return`Desktop app is not available on this platform. Use --mode=browser, or omit --mode for the server fallback.`;case`headless`:return`Desktop launch is gated in headless contexts (CI, SSH, non-TTY stdout). Set OK_FORCE_DESKTOP=1 to override, or use --mode=browser.`;case`force-browser`:return`OK_FORCE_BROWSER=1 is set — desktop dispatch is disabled. Unset it to use --mode=app.`;case`stat-error`:return`Failed to inspect the desktop install (filesystem error). Check permissions or use --mode=browser.`;case`available`:return`Desktop app appears available but launch dispatch did not fire (caller bug).`}}function z(e){return h(m(e),`..`,`Frameworks`,`OpenKnowledge Server.app`,`Contents`,`MacOS`,`OpenKnowledge Helper`)}const te=/\/[^/]+\.app\/Contents\/MacOS\/[^/]+$/;function ne(e){if(e.platform!==`darwin`||!te.test(e.execPath))return null;let t=z(e.execPath);return e.exists(t)?t:null}function B(e={}){let t=e.execPath??process.execPath,n=e.platform??process.platform,r=e.argv??process.argv,i=e.exists??y,a=r[1];return a?{command:ne({execPath:t,platform:n,exists:i})??t,prefixArgs:[a]}:(console.warn(`[self-spawn] process.argv[1] is empty — falling back to \`npx -y @inkeep/open-knowledge@latest\`. This re-introduces the registry-fetch surface that re-exec was fixing. Observed argv: ${JSON.stringify(r)}`),{command:`npx`,prefixArgs:[`-y`,`@inkeep/open-knowledge@latest`]})}function V(e,t){return e.host??t.HOST??`127.0.0.1`}function H(e,t){return t&&(e===`::`||e===`::1`||e===`[::1]`||e===`localhost`||e===`0.0.0.0`)?{host:`127.0.0.1`,coerced:!0}:{host:e,coerced:!1}}function U(e){let t=p(e).replace(/[^\x20-\x7E]/g,``).trim().slice(0,64);return`open-knowledge-server ${t.length>0?t:`unknown`}`}var W=class extends Error{cwd;constructor(e){super("This directory isn't set up yet. Run `ok init` first, then `ok start` again."),this.name=`OkDirMissingError`,this.cwd=e}};function G(e){return e.uiLock?e.isAlive(e.uiLock.pid)?{action:`skip`,reason:`alive`,pid:e.uiLock.pid,port:e.uiLock.port}:{action:`spawn`,reason:`stale`,stalePid:e.uiLock.pid}:{action:`spawn`,reason:`absent`}}function K(t){y(t.lockDir)||b(t.lockDir,{recursive:!0});let n=x(h(t.lockDir,e),`w`),r=t.spawn??f,{PORT:i,...a}=process.env,o=B();try{let e=r(o.command,[...o.prefixArgs,...t.args??[`ui`]],{detached:!0,stdio:[`ignore`,`ignore`,n],windowsHide:!0,cwd:t.cwd,env:{...a,ELECTRON_RUN_AS_NODE:`1`}});return e.unref(),e}finally{try{v(n)}catch{}}}function q(e,t,n,r=!1){return e??(n!==void 0||r?void 0:t)}function J(e,t){return e!==void 0&&t!==null&&t.port>0&&t.draining!==!0}function Y(e,t,n){return e??+(t!=null&&!n)}async function X(e){let t=e.spawn??f,n=B(),{PORT:r,...i}=process.env,a=t(n.command,[...n.prefixArgs,`ui`,`--port`,String(e.uiPort)],{cwd:e.cwd,stdio:`inherit`,windowsHide:!0,env:{...i,ELECTRON_RUN_AS_NODE:`1`}}),o=!1,s=e=>{o=!0;try{a.kill(e)}catch{}},c=()=>s(`SIGINT`),l=()=>s(`SIGTERM`);process.once(`SIGINT`,c),process.once(`SIGTERM`,l),await new Promise(e=>{a.on(`exit`,(t,n)=>{process.exitCode=Y(t,n,o),e()}),a.on(`error`,t=>{console.error(`[start] connect fallback: failed to spawn ok ui — ${t instanceof Error?t.message:String(t)}`),process.exitCode=1,e()})}),process.removeListener(`SIGINT`,c),process.removeListener(`SIGTERM`,l)}async function Z(e){let t=e.now()+e.timeoutMs;for(;e.now()<t;){let t=e.readUiLock();if(t&&t.port>0)return t.port;await e.sleep(e.pollIntervalMs)}let n=e.readUiLock();return n&&n.port>0?n.port:null}const re=t;function ie(e,t,n=e=>w(e,{recursive:!0,force:!0})){return async()=>{try{await e()}finally{try{await n(t)}catch(e){process.stderr.write(`[start] ephemeral temp dir reap failed for ${t}: ${e instanceof Error?e.message:String(e)}\n`)}}}}function ae(e,t={}){let n=t.exit??(e=>process.exit(e)),r=t.getActiveHandles??(()=>{let e=process._getActiveHandles;return e?e.call(process):null});return async()=>{let i=!1;try{await e()}catch(e){i=!0,t.log?.error({err:e},`idle-shutdown: destroy failed — exiting anyway`)}finally{let e=null;try{let t=r();if(t!==null){e={};for(let n of t){let t=n?.constructor?.name??`unknown`;e[t]=(e[t]??0)+1}}}catch{e=null}t.log?.info({event:`idle-shutdown-exit`,exitCode:+!!i,openHandles:e??{},handlesAvailable:e!==null},`idle-shutdown: teardown finished — exiting process`),n(+!!i)}}}async function Q(e){let t=e.sigtermGraceMs??re,n=e.sigtermPollIntervalMs??200,r=e.sleep??(e=>T(e)),i=e.reason??`teardown`;try{let a=e.readUiLock(),o=e.spawnedUiPid();if(a&&e.isAlive(a.pid)&&a.pid!==o)e.log?.info({pid:a.pid,port:a.port,spawnedUiPid:o},`${i}: ui.lock holder is not our spawned sibling — leaving it alone`);else if(a&&e.isAlive(a.pid))try{e.killPid(a.pid,`SIGTERM`),e.log?.info({pid:a.pid,port:a.port},`${i}: SIGTERM UI sibling`);let o=Date.now()+t;for(;Date.now()<o&&e.isAlive(a.pid);)await r(n);if(e.isAlive(a.pid))try{e.killPid(a.pid,`SIGKILL`),e.log?.warn({pid:a.pid,graceMs:t},`${i}: SIGTERM grace expired — escalated to SIGKILL`)}catch(t){e.log?.error({pid:a.pid,err:t},`${i}: SIGKILL failed`)}}catch(t){e.log?.warn({pid:a.pid,err:t},`${i}: failed to SIGTERM UI sibling`)}}catch(t){e.log?.warn({err:t},`${i}: UI lookup failed; proceeding`)}}function oe(e){let{destroy:t,...n}=e;return async()=>{await Q({...n,reason:`idle-shutdown`}),await t()}}async function se(e){let{config:t,cwd:n,host:o}=e,s=e.skipAutoInit??!1,d=e.skipUiAutoSpawn??!1,f=e.idleThresholdMs??18e5,{existsSync:p,mkdirSync:m}=await import(`node:fs`),{basename:h,dirname:g}=await import(`node:path`),{bootServer:_,getLogger:v,isProcessAlive:y,readUiLock:b,resolveContentDir:x,resolveLockDir:S,waitForServerLockDrain:C}=await import(`./src-BRIunPu2.mjs`),w=e.log??v(`start`),E=e.singleFile!==void 0,D=e.projectDir??n,O=E?i(e.singleFile).canonicalFilePath:void 0,k=O?g(O):void 0,A=O?h(O):void 0;if(!E){if(!s&&!a(n))throw new W(n);let t=process.env.OK_RECLAIM_DISABLE??null,r=e=>{let t=typeof e.event==`string`?e.event:``;(t.endsWith(`-failed`)||t.endsWith(`-error`)||t.endsWith(`-missing`))&&w.warn({event:e},`[start] reclaim sweep reported a problem`)};try{(e.repairMcpConfigsFn??(await import(`./repair-mcp-configs-CvPyVJOe.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-DR3VAd4W.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-B05O8c60.mjs`)).repairSkills)({projectDir:n,reclaimDisableEnv:t,logger:r})}catch(e){w.warn({err:e},`[start] skill repair sweep failed; continuing`)}}let j=k??x(t,n);!E&&!p(j)&&(m(j,{recursive:!0}),w.info({contentDir:j},`Created content directory`));let M=null,N=null,ee=async({lockDir:t})=>{if(M=G({uiLock:b(t),isAlive:y}),M.action===`spawn`&&!d)try{let r=e.uiPort===void 0?void 0:[`ui`,`--port`,String(e.uiPort)];N=K({lockDir:t,cwd:n,spawn:e.spawn,args:r}).pid??null,w.info({reason:M.reason,uiPort:e.uiPort},`[start] auto-spawned ok ui sibling`)}catch(e){console.warn(`[start] failed to auto-spawn ok ui: ${e instanceof Error?e.message:String(e)}`)}else M.action===`skip`&&w.info({port:M.port,pid:M.pid},`UI already running at port ${M.port}`)},P=e.reactShellDistDir===void 0,F=c(),I=r();{let e=S(E?D:n),t=Date.now(),r=await C(e);r!==`no-drain`&&w.info({event:`start-waited-for-draining-predecessor`,outcome:r,waitedMs:Date.now()-t,drainLockDir:e},r===`released`?`[start] predecessor server finished draining — proceeding`:`[start] predecessor server still draining after wait — proceeding to collide`)}let L=await _({config:t,contentDir:j,projectDir:E?D:n,contentRoot:E?void 0:t.content.dir,port:e.port,host:o,...e.enableRemote===!0?{enableRemote:!0}:{},quiet:!1,detectGh:l,tokenStore:F,embeddingsKeyStore:I,...E?{ephemeral:!0,singleDocRelPath:A,gitEnabled:!1,gitPreflight:()=>({ok:!0,version:`0.0.0`,resolvedPath:`git`,source:`PATH`})}:{},localOpCliArgs:[process.execPath,process.argv[1]],probeHarnessManagedMcpEntry:(e,t)=>u(e,t),attachUiSibling:P,idleShutdownMs:f,skipAutoInit:!0,...P?{spawnUiSiblingFn:ee}:{},idleShutdownHandler:t=>{let n=oe({readUiLock:()=>b(L.lockDir),spawnedUiPid:()=>N,isAlive:y,killPid:(e,t)=>{process.kill(e,t)},destroy:t,log:w});return ae(E?ie(n,D):n,{log:w,exit:e.idleExit})},log:w,...e.serveContentAssets===void 0?{}:{serveContentAssets:e.serveContentAssets},...e.reactShellDistDir?{reactShellDistDir:e.reactShellDistDir}:{}});M||={action:`skip`,reason:`alive`,pid:0,port:0};let R=M,z=null;if(R.action===`skip`)z=R.port>0?R.port:null;else if(!d){let t=e.uiBindTimeoutMs??3e3;z=await Z({readUiLock:()=>b(L.lockDir),now:Date.now,sleep:e=>T(e),timeoutMs:t,pollIntervalMs:50}),z===null&&w.warn({timeoutMs:t},`[start] ok ui did not bind within timeout — banner falls back to API URL`)}return{httpServer:L.httpServer,destroy:L.destroy,lockDir:L.lockDir,contentDir:j,port:L.port,ready:L.ready,degraded:L.degraded,uiSpawnDecision:M,spawnedUiPid:N,resolvedUiPort:z}}function ce(e){if(e===`browser`||e===`app`)return e;throw new s(`--mode must be 'browser' or 'app'`)}function le(e){let t=Number.parseInt(e,10);if(Number.isNaN(t)||t<1||t>65535)throw new s(`--ui-port must be a port number between 1 and 65535`);return t}function $(e){return e.OK_CONSOLE_LEVEL!==void 0||e.LOG_LEVEL!==void 0?null:`warn`}function ue(e){let t=[`Stopping OpenKnowledge…`,`Saving pending changes and releasing the server lock — this can take a few seconds.`];return e===`SIGINT`&&t.push(`Press Ctrl+C again to force quit.`),t}async function de(e,t){let n=$(process.env);n!==null&&(process.env.OK_CONSOLE_LEVEL=n);let{renderBanner:r}=await import(`./banner--DGfdMN8.mjs`),{accent:i,dim:a,error:o,warning:s}=await import(`./colors-MGDi6UGf.mjs`),c=process.cwd(),l=t.remote!==void 0&&t.remote!==!1,u=typeof t.remote==`string`?t.remote:void 0,f=u===void 0?e:{...e,remote:{...e.remote,url:u}};process.title=U(c),l&&(typeof f.remote?.url!=`string`||f.remote.url===``)&&(console.error(o("--remote requires a public tunnel URL — pass it (`ok start --remote https://<your-tunnel-host>`) or set remote.url in .ok/config.yml.")),process.exit(78)),l&&console.warn(s([``,`⚠ REMOTE ACCESS ENABLED — no server-side authentication.`,` Anyone who can reach ${f.remote?.url} has FULL control of this`,` knowledge base, including sync, publishing, credentials, and local operations.`,` Restrict who can reach it at the tunnel: ngrok OAuth, Cloudflare Access,`,` Tailscale ACLs, or equivalent edge auth.`,``].join(`
2
+ `)));let p=V(t,process.env),m=H(p,l);m.coerced&&console.warn(`remote access is enabled and ${p} is not an IPv4 loopback bind — tunnels proxy to 127.0.0.1, so binding ${p} would leave the tunnel dialing a dead port. Using 127.0.0.1.`);let h=m.host,_=t.port===void 0?void 0:Number(t.port),v=process.env.PORT?Number(process.env.PORT):void 0,b=t.uiPort===void 0?void 0:Number(t.uiPort);l&&_===void 0&&v!==void 0&&console.warn(`remote access is enabled — ignoring env PORT=${process.env.PORT}; the tunnel's port mapping targets the stable remote port (${f.remote?.port}). Pass --port to override deliberately.`);let x=q(_,v,b,l)??(l?f.remote?.port:void 0);if(b!==void 0){let{readServerLock:e,resolveLockDir:t}=await import(`./src-BRIunPu2.mjs`);if(J(b,e(t(c)))){await X({cwd:c,uiPort:b});return}}let S=t.reactShellDistDir;if(l&&S===void 0){let e=import.meta.dirname??new URL(`.`,import.meta.url).pathname;S=[g(e,`public`),g(e,`../../app/dist`),g(e,`../../../app/dist`)].find(e=>y(e)),S===void 0&&console.warn(`remote access: bundled web UI not found — serving /mcp and /api only over the tunnel.`)}let C;try{C=await se({config:f,cwd:c,host:h,port:x,...b===void 0?{}:{uiPort:b},...t.serveContentAssets===void 0?{}:{serveContentAssets:t.serveContentAssets},...S?{reactShellDistDir:S}:{},...t.singleFile?{singleFile:t.singleFile}:{},...t.projectDir?{projectDir:t.projectDir}:{},...l?{enableRemote:!0}:{}})}catch(e){e instanceof W&&(console.error(o(e.message)),process.exit(1));let t=await import(`./src-BRIunPu2.mjs`);if((e instanceof t.GitNotAvailableError||e instanceof t.GitTooOldError)&&process.exit(78),e instanceof t.RemoteConfigError&&(console.error(o(e.message)),process.exit(78)),(e instanceof t.SingleFileNotFoundError||e instanceof t.SingleFileNotAFileError||e instanceof t.SingleFileNotMarkdownError)&&(console.error(o(e.message)),process.exit(1)),b!==void 0&&fe(e,t)){await X({cwd:c,uiPort:b});return}let n=pe(e,c,t);n!==null&&(console.error(o(n)),process.exit(1)),console.error(`${o(`Failed to start:`)} ${e instanceof Error?e.stack??e.message:String(e)}`),process.exit(1)}let w=!1,T=async e=>{if(w)return;w=!0;let[t,...n]=ue(e);console.log(i(`\n${t}`));for(let e of n)console.log(a(` ${e}`));if(C.spawnedUiPid!==null)try{let{getLogger:e,isProcessAlive:t,readUiLock:n}=await import(`./src-BRIunPu2.mjs`);await Q({readUiLock:()=>n(C.lockDir),spawnedUiPid:()=>C.spawnedUiPid,isAlive:t,killPid:(e,t)=>process.kill(e,t),log:e(`start`),reason:`shutdown`})}catch(e){console.error(`${o(`ui sibling teardown failed:`)} ${e instanceof Error?e.stack??e.message:String(e)}`)}try{await C.destroy()}catch(e){console.error(`${o(`destroy() failed:`)} ${e instanceof Error?e.stack??e.message:String(e)}`),process.exitCode=1}process.exit(process.exitCode??0)};process.once(`SIGINT`,()=>{T(`SIGINT`)}),process.once(`SIGTERM`,()=>{T(`SIGTERM`)});let E=`http://${h}:${C.port}`,D=h===`0.0.0.0`||h===`::`?`http://0.0.0.0:${C.port}`:void 0,O=C.resolvedUiPort,k=O!==null&&O>0?`http://${h}:${O}`:E;console.log(r({name:`open-knowledge`,version:d,localUrl:k,apiUrl:k===E?void 0:E,networkUrl:D,nextSteps:[`Open the Editor URL in your browser to start editing.`]}));let A={"shadow-repo":`Version history and branch-switch safety unavailable`,"file-watcher":`External file changes will not sync to the editor`,"head-watcher":`Git branch switches may cause document inconsistency`};C.ready.then(async()=>{if(C.degraded.length>0){console.log();for(let e of C.degraded){let t=A[e]??`${e} (check server logs for details)`;console.warn(` ${s(`⚠`)} ${s(e)}: ${a(t)}`)}console.log()}if(t.open){let{openBrowser:e}=await import(`./open-browser-CZVSVsTE.mjs`);e(k)}}).catch(e=>{console.error(` ${o(`Server initialization failed:`)} ${e instanceof Error?e.message:String(e)}`)})}function fe(e,t){let n=t.ServerLockCollisionError;return n!==void 0&&e instanceof n}function pe(e,t,n){let r=n.ServerLockCollisionError;if(r===void 0||!(e instanceof r))return null;try{let e=h(t,`.ok`),r=n.readServerLock(e);return r?r.kind===`interactive`?`OpenKnowledge desktop is currently running on this project. Quit it or use --cwd to point elsewhere.`:r.kind===`mcp-spawned`?"An MCP-spawned server holds this lock; it should release on idle-shutdown (~30 min). Or run `ok stop`.":"OpenKnowledge server is already running on this project — check `ok status` or `ok stop`.":"OpenKnowledge server is already running on this project — check `ok status` or `ok stop`."}catch{return null}}function me(e){return new o(`start`).description(`Start the knowledge base collab server`).option(`-p, --port <port>`,`Server port`,void 0).option(`--ui-port <port>`,`Pin the ok ui sibling to <port> and connect (not exit) if a server already runs here — the worktree-preview recipe path`,le).option(`-H, --host <host>`,`Server host`,void 0).option(`--open`,`Open browser after start`).option(`--mode <mode>`,`Force dispatch mode: 'browser' or 'app'`,ce).option(`--serve-content-assets`,`Serve content assets from this server (now the default; kept for compatibility)`).option(`--react-shell-dist-dir <path>`,`Serve React shell from <path> (suppresses ok ui sibling)`).option(`--single-file <path>`,`No-project ephemeral single-file mode: scope the server to one markdown file (git + MCP off)`).option(`--project-dir <dir>`,`Throwaway project root for --single-file (where ephemeral .ok/ state lives)`).option(`--remote [url]`,`Serve through a tunnel: admit requests carrying the tunnel Host with NO server-side auth (anyone who can reach the URL has full control — restrict access at the tunnel with edge auth). Bare --remote uses remote.url from .ok/config.yml; --remote <url> supplies it for this run.`).action(async t=>{let n=e();if(t.mode===`app`){t.open&&(process.stderr.write(`error: option '--mode=app' cannot be combined with '--open' (--open opens a browser tab against the local server, which app mode does not boot)
3
+ `),process.exit(2));let e=[];if(t.port!==void 0&&e.push(`--port`),t.uiPort!==void 0&&e.push(`--ui-port`),t.host!==void 0&&e.push(`--host`),e.length>0){let t=process.env.OK_LOG_LEVEL??`info`;(t===`debug`||t===`trace`)&&console.error(`--mode=app: ignoring ${e.join(`, `)}`)}let n=I(A());if(n.available){L({spawn:f},n);return}console.error(R(n.reason)),process.exit(1)}await de(n,t)})}export{B as C,D,L as E,ae as S,I as T,K as _,H as a,pe as b,G as c,fe as d,q as f,J as g,de as h,oe as i,U as l,$ as m,Z as n,Y as o,V as p,se as r,X as s,W as t,ue as u,me as v,A as w,ie as x,Q as y};
4
+ //# sourceMappingURL=start-Cqs3MTiS.mjs.map
@@ -0,0 +1 @@
1
+ import{p as e,r as t,v as n}from"./start-Cqs3MTiS.mjs";export{t as bootStartServer,e as resolveHost,n as startCommand};
@@ -1,4 +1,4 @@
1
- import{i as e,o as t,t as n}from"./chunk-DTipWd-i.mjs";import{Ba as r,Ma as i,Ua as a,za as o}from"./src-DY417osM.mjs";import{Mr as s,_r as c,fr as l,gr as u}from"./src-BkP5u3RK.mjs";import{basename as d,dirname as f,isAbsolute as p,join as m,posix as h,relative as g,resolve as _,sep as v,win32 as y}from"node:path";import{cpSync as ee,existsSync as b,lstatSync as x,mkdirSync as te,readFileSync as ne,readdirSync as re,realpathSync as S,rmSync as C,rmdirSync as ie,statSync as ae}from"node:fs";import{homedir as w}from"node:os";var T=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})),E=n((e=>{let{InvalidArgumentError:t}=T();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})),D=n((e=>{let{humanReadableArgName:t}=E();var n=class{constructor(){this.helpWidth=void 0,this.minWidthToWrap=40,this.sortSubcommands=!1,this.sortOptions=!1,this.showGlobalOptions=!1}prepareContext(e){this.helpWidth=this.helpWidth??e.helpWidth??80}visibleCommands(e){let t=e.commands.filter(e=>!e._hidden),n=e._getHelpCommand();return n&&!n._hidden&&t.push(n),this.sortSubcommands&&t.sort((e,t)=>e.name().localeCompare(t.name())),t}compareOptions(e,t){let n=e=>e.short?e.short.replace(/^-/,``):e.long.replace(/^--/,``);return n(e).localeCompare(n(t))}visibleOptions(e){let t=e.options.filter(e=>!e.hidden),n=e._getHelpOption();if(n&&!n.hidden){let r=n.short&&e._findOption(n.short),i=n.long&&e._findOption(n.long);!r&&!i?t.push(n):n.long&&!i?t.push(e.createOption(n.long,n.description)):n.short&&!r&&t.push(e.createOption(n.short,n.description))}return this.sortOptions&&t.sort(this.compareOptions),t}visibleGlobalOptions(e){if(!this.showGlobalOptions)return[];let t=[];for(let n=e.parent;n;n=n.parent){let e=n.options.filter(e=>!e.hidden);t.push(...e)}return this.sortOptions&&t.sort(this.compareOptions),t}visibleArguments(e){return e._argsDescription&&e.registeredArguments.forEach(t=>{t.description=t.description||e._argsDescription[t.name()]||``}),e.registeredArguments.find(e=>e.description)?e.registeredArguments:[]}subcommandTerm(e){let n=e.registeredArguments.map(e=>t(e)).join(` `);return e._name+(e._aliases[0]?`|`+e._aliases[0]:``)+(e.options.length?` [options]`:``)+(n?` `+n:``)}optionTerm(e){return e.flags}argumentTerm(e){return e.name()}longestSubcommandTermLength(e,t){return t.visibleCommands(e).reduce((e,n)=>Math.max(e,this.displayWidth(t.styleSubcommandTerm(t.subcommandTerm(n)))),0)}longestOptionTermLength(e,t){return t.visibleOptions(e).reduce((e,n)=>Math.max(e,this.displayWidth(t.styleOptionTerm(t.optionTerm(n)))),0)}longestGlobalOptionTermLength(e,t){return t.visibleGlobalOptions(e).reduce((e,n)=>Math.max(e,this.displayWidth(t.styleOptionTerm(t.optionTerm(n)))),0)}longestArgumentTermLength(e,t){return t.visibleArguments(e).reduce((e,n)=>Math.max(e,this.displayWidth(t.styleArgumentTerm(t.argumentTerm(n)))),0)}commandUsage(e){let t=e._name;e._aliases[0]&&(t=t+`|`+e._aliases[0]);let n=``;for(let t=e.parent;t;t=t.parent)n=t.name()+` `+n;return n+t+` `+e.usage()}commandDescription(e){return e.description()}subcommandDescription(e){return e.summary()||e.description()}optionDescription(e){let t=[];if(e.argChoices&&t.push(`choices: ${e.argChoices.map(e=>JSON.stringify(e)).join(`, `)}`),e.defaultValue!==void 0&&(e.required||e.optional||e.isBoolean()&&typeof e.defaultValue==`boolean`)&&t.push(`default: ${e.defaultValueDescription||JSON.stringify(e.defaultValue)}`),e.presetArg!==void 0&&e.optional&&t.push(`preset: ${JSON.stringify(e.presetArg)}`),e.envVar!==void 0&&t.push(`env: ${e.envVar}`),t.length>0){let n=`(${t.join(`, `)})`;return e.description?`${e.description} ${n}`:n}return e.description}argumentDescription(e){let t=[];if(e.argChoices&&t.push(`choices: ${e.argChoices.map(e=>JSON.stringify(e)).join(`, `)}`),e.defaultValue!==void 0&&t.push(`default: ${e.defaultValueDescription||JSON.stringify(e.defaultValue)}`),t.length>0){let n=`(${t.join(`, `)})`;return e.description?`${e.description} ${n}`:n}return e.description}formatItemList(e,t,n){return t.length===0?[]:[n.styleTitle(e),...t,``]}groupItems(e,t,n){let r=new Map;return e.forEach(e=>{let t=n(e);r.has(t)||r.set(t,[])}),t.forEach(e=>{let t=n(e);r.has(t)||r.set(t,[]),r.get(t).push(e)}),r}formatHelp(e,t){let n=t.padWidth(e,t),r=t.helpWidth??80;function i(e,r){return t.formatItem(e,n,r,t)}let a=[`${t.styleTitle(`Usage:`)} ${t.styleUsage(t.commandUsage(e))}`,``],o=t.commandDescription(e);o.length>0&&(a=a.concat([t.boxWrap(t.styleCommandDescription(o),r),``]));let s=t.visibleArguments(e).map(e=>i(t.styleArgumentTerm(t.argumentTerm(e)),t.styleArgumentDescription(t.argumentDescription(e))));if(a=a.concat(this.formatItemList(`Arguments:`,s,t)),this.groupItems(e.options,t.visibleOptions(e),e=>e.helpGroupHeading??`Options:`).forEach((e,n)=>{let r=e.map(e=>i(t.styleOptionTerm(t.optionTerm(e)),t.styleOptionDescription(t.optionDescription(e))));a=a.concat(this.formatItemList(n,r,t))}),t.showGlobalOptions){let n=t.visibleGlobalOptions(e).map(e=>i(t.styleOptionTerm(t.optionTerm(e)),t.styleOptionDescription(t.optionDescription(e))));a=a.concat(this.formatItemList(`Global Options:`,n,t))}return this.groupItems(e.commands,t.visibleCommands(e),e=>e.helpGroup()||`Commands:`).forEach((e,n)=>{let r=e.map(e=>i(t.styleSubcommandTerm(t.subcommandTerm(e)),t.styleSubcommandDescription(t.subcommandDescription(e))));a=a.concat(this.formatItemList(n,r,t))}),a.join(`
1
+ import{i as e,o as t,t as n}from"./chunk-DTipWd-i.mjs";import{Ba as r,Ma as i,Ua as a,za as o}from"./src-Duzu_tVF.mjs";import{Ar as s,hr as c,mr as l,ur as u}from"./src-CbnujJE-.mjs";import{basename as d,dirname as f,isAbsolute as p,join as m,posix as h,relative as g,resolve as _,sep as v,win32 as y}from"node:path";import{cpSync as ee,existsSync as b,lstatSync as x,mkdirSync as te,readFileSync as ne,readdirSync as re,realpathSync as S,rmSync as C,rmdirSync as ie,statSync as ae}from"node:fs";import{homedir as w}from"node:os";var T=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})),E=n((e=>{let{InvalidArgumentError:t}=T();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})),D=n((e=>{let{humanReadableArgName:t}=E();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})),O=n((e=>{let{InvalidArgumentError:t}=T();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}
@@ -52,5 +52,5 @@ foreach ($d in $dirs) {
52
52
  if (Test-Path -LiteralPath $probe -PathType Leaf) { & $probe -y '@inkeep/open-knowledge@latest' mcp; exit $LASTEXITCODE }
53
53
  }
54
54
  [Console]::Error.WriteLine('OpenKnowledge: install Node.js 24+ (npm i -g @inkeep/open-knowledge), then restart your editor')
55
- exit 127`,I=`// ok-pi-bridge`,L=`${I}-v1`,ye=`ok-pi-managed-extension`;function be(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(L)}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=_(e);if(d(t)===`cli.mjs`&&d(f(t))===`dist`)return t;let n=t.split(v),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 m(i.length===0?v:i.join(v),`packages`,`cli`,`dist`,`cli.mjs`)}function z(e={}){return e.mode===`dev`?{command:M,args:[R(),`mcp`],env:{...N}}:(e.platformName??process.platform)===`win32`?{command:`powershell`,args:[`-NoProfile`,`-NonInteractive`,`-Command`,F]}:{command:`/bin/sh`,args:[`-l`,`-c`,P]}}function xe(e={}){return e.mode===`dev`?{type:`local`,enabled:!0,command:[M,R(),`mcp`],environment:{...N}}:(e.platformName??process.platform)===`win32`?{type:`local`,enabled:!0,command:[`powershell`,`-NoProfile`,`-NonInteractive`,`-Command`,F]}:{type:`local`,enabled:!0,command:[`/bin/sh`,`-l`,`-c`,P]}}function Se(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?Ce(e,t):!1}function Ce(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 we(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 Te(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`?y:h}function Ee(e={}){let t=e.platformName??process.platform,n=e.home??w(),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 De(e={}){let t=e.platformName??process.platform,n=e.home??w();return H(t).join(n,`.claude.json`)}function U(e={}){let t=e.platformName??process.platform,n=e.home??w(),r=e.env??process.env;if(t===`darwin`)return h.join(n,`Library`,`Application Support`,`Claude`,`claude_desktop_config.json`);if(t===`win32`){let e=r.APPDATA??y.join(n,`AppData`,`Roaming`);return y.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??w();return H(t).join(n,`.cursor`,`mcp.json`)}function Oe(e={}){let t=e.platformName??process.platform,n=e.home??w();return(e.env??process.env).CODEX_HOME??H(t).join(n,`.codex`)}function G(e={}){return H(e.platformName??process.platform).join(Oe(e),`config.toml`)}function K(e={}){let t=e.platformName??process.platform,n=e.home??w(),r=(e.env??process.env).COPILOT_HOME??H(t).join(n,`.copilot`);return H(t).join(r,`mcp-config.json`)}function ke(e={}){let t=e.platformName??process.platform,n=e.home??w(),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(ke(e),`opencode.json`)}function Ae(e={}){let t=e.platformName??process.platform,n=e.home??w();return H(t).join(n,`.openclaw`,`openclaw.json`)}function je(e={}){let t=e.platformName??process.platform,n=e.home??w();return H(t).join(n,`.hermes`,`config.yaml`)}function Me(e={}){let t=e.platformName??process.platform,n=e.home??w();return(e.env??process.env).PI_CODING_AGENT_DIR??H(t).join(n,`.pi`,`agent`)}function Ne(e={}){let t=e.platformName??process.platform,n=e.home??w();return H(t).join(n,`.gemini`,`config`,`mcp_config.json`)}function Pe(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=Pe(e.home??w(),t);return n.find(e=>b(e))||n.find(e=>b(f(e)))||n[0]}const Y={claude:{id:`claude`,label:A.claude,configPath:(e,t)=>De({home:t}),format:`json`,topLevelKey:`mcpServers`,serverName:()=>i,buildEntry:(e,t)=>z(t),scope:`global`,detectPath:(e,t)=>m(t??w(),`.claude`),projectConfigPath:e=>m(e,`.mcp.json`),projectSkillPath:e=>m(e,`.claude`,`skills`,`open-knowledge`,`SKILL.md`)},"claude-desktop":{id:`claude-desktop`,label:A[`claude-desktop`],configPath:(e,t)=>U({home:t}),format:`json`,topLevelKey:`mcpServers`,serverName:()=>i,buildEntry:(e,t)=>z(t),scope:`global`,detectPath:(e,t)=>f(U({home:t}))},cursor:{id:`cursor`,label:A.cursor,configPath:(e,t)=>W({home:t}),format:`json`,topLevelKey:`mcpServers`,serverName:()=>i,buildEntry:(e,t)=>z(t),scope:`global`,detectPath:(e,t)=>f(W({home:t})),projectConfigPath:e=>m(e,`.cursor`,`mcp.json`),projectSkillPath:e=>m(e,`.cursor`,`skills`,`open-knowledge`,`SKILL.md`)},codex:{id:`codex`,label:A.codex,configPath:(e,t)=>G({home:t}),format:`toml`,topLevelKey:`mcp_servers`,serverName:()=>i,buildEntry:(e,t)=>z(t),scope:`global`,detectPath:(e,t)=>f(G({home:t})),projectConfigPath:e=>m(e,`.codex`,`config.toml`),projectSkillPath:e=>m(e,`.codex`,`skills`,`open-knowledge`,`SKILL.md`)},copilot:{id:`copilot`,label:A.copilot,configPath:(e,t)=>K({home:t}),format:`json`,topLevelKey:`mcpServers`,serverName:()=>i,buildEntry:(e,t)=>z(t),scope:`global`,detectPath:(e,t)=>f(K({home:t})),projectSkillPath:e=>m(e,`.github`,`skills`,`open-knowledge`,`SKILL.md`)},opencode:{id:`opencode`,label:A.opencode,configPath:(e,t)=>q({home:t}),format:`json`,topLevelKey:`mcp`,serverName:()=>i,buildEntry:(e,t)=>xe(t),scope:`global`,detectPath:(e,t)=>f(q({home:t})),projectConfigPath:e=>m(e,`opencode.json`),projectSkillPath:e=>m(e,`.opencode`,`skills`,`open-knowledge`,`SKILL.md`)},openclaw:{id:`openclaw`,label:A.openclaw,configPath:(e,t)=>Ae({home:t}),format:`json`,topLevelKey:`mcp`,serverMapSubKey:`servers`,serverName:()=>i,buildEntry:(e,t)=>z(t),scope:`global`,detectPath:(e,t)=>m(t??w(),`.openclaw`),offerOnlyWhenDetected:!0},pi:{id:`pi`,label:A.pi,configPath:()=>{throw Error("Pi has no user-global MCP config; OK's integration is the project-scoped bridge extension at .pi/extensions/open-knowledge.ts (run `ok init` in the project).")},format:`file`,topLevelKey:`mcpServers`,serverName:()=>i,buildEntry:()=>{throw Error(`Pi has no MCP entry shape; the managed bridge file is built by buildPiExtensionSource (integrations/pi-extension.ts).`)},scope:`project`,detectPath:(e,t)=>Me({home:t}),projectConfigPath:e=>m(e,`.pi`,`extensions`,`open-knowledge.ts`),projectSkillPath:e=>m(e,`.pi`,`skills`,`open-knowledge`,`SKILL.md`)},antigravity:{id:`antigravity`,label:A.antigravity,configPath:(e,t)=>Ne({home:t}),format:`json`,topLevelKey:`mcpServers`,serverName:()=>i,buildEntry:(e,t)=>z(t),scope:`global`,detectPath:(e,t)=>m(t??w(),`.gemini`),offerOnlyWhenDetected:!0},"lm-studio":{id:`lm-studio`,label:A[`lm-studio`],configPath:(e,t)=>J({home:t}),format:`json`,topLevelKey:`mcpServers`,serverName:()=>i,buildEntry:(e,t)=>z(t),scope:`global`,detectPath:(e,t)=>f(J({home:t})),offerOnlyWhenDetected:!0},hermes:{id:`hermes`,label:A.hermes,configPath:(e,t)=>je({home:t}),format:`yaml`,topLevelKey:`mcp_servers`,serverName:()=>i,buildEntry:(e,t)=>z(t),scope:`global`,detectPath:(e,t)=>m(t??w(),`.hermes`),offerOnlyWhenDetected:!0}};function Fe(e){let t=e.filter(e=>!Object.hasOwn(Y,e));if(t.length>0)throw Error(`Unknown editor(s): ${t.join(`, `)}. Valid options: ${k.join(`, `)}`);return e.map(e=>Y[e])}const Ie=[{hostDir:`.adal`,pruneRoot:`.adal`},{hostDir:`.aider-desk`,pruneRoot:`.aider-desk`},{hostDir:`.astrbot/data`,pruneRoot:`.astrbot`},{hostDir:`.augment`,pruneRoot:`.augment`},{hostDir:`.autohand`,pruneRoot:`.autohand`},{hostDir:`.bob`,pruneRoot:`.bob`},{hostDir:`.codeartsdoer`,pruneRoot:`.codeartsdoer`},{hostDir:`.codebuddy`,pruneRoot:`.codebuddy`},{hostDir:`.codeium/windsurf`,pruneRoot:`.codeium`},{hostDir:`.codemaker`,pruneRoot:`.codemaker`},{hostDir:`.codestudio`,pruneRoot:`.codestudio`},{hostDir:`.commandcode`,pruneRoot:`.commandcode`},{hostDir:`.config/crush`,pruneRoot:`.config/crush`},{hostDir:`.config/devin`,pruneRoot:`.config/devin`},{hostDir:`.config/goose`,pruneRoot:`.config/goose`},{hostDir:`.config/kimchi/harness`,pruneRoot:`.config/kimchi`},{hostDir:`.continue`,pruneRoot:`.continue`},{hostDir:`.factory`,pruneRoot:`.factory`},{hostDir:`.forge`,pruneRoot:`.forge`},{hostDir:`.grok`,pruneRoot:`.grok`},{hostDir:`.iflow`,pruneRoot:`.iflow`},{hostDir:`.inferencesh`,pruneRoot:`.inferencesh`},{hostDir:`.jazz`,pruneRoot:`.jazz`},{hostDir:`.junie`,pruneRoot:`.junie`},{hostDir:`.kilocode`,pruneRoot:`.kilocode`},{hostDir:`.kiro`,pruneRoot:`.kiro`},{hostDir:`.kode`,pruneRoot:`.kode`},{hostDir:`.lingma`,pruneRoot:`.lingma`},{hostDir:`.mcpjam`,pruneRoot:`.mcpjam`},{hostDir:`.moxby`,pruneRoot:`.moxby`},{hostDir:`.mux`,pruneRoot:`.mux`},{hostDir:`.neovate`,pruneRoot:`.neovate`},{hostDir:`.ona`,pruneRoot:`.ona`},{hostDir:`.openhands`,pruneRoot:`.openhands`},{hostDir:`.pochi`,pruneRoot:`.pochi`},{hostDir:`.qoder`,pruneRoot:`.qoder`},{hostDir:`.qoder-cn`,pruneRoot:`.qoder-cn`},{hostDir:`.qwen`,pruneRoot:`.qwen`},{hostDir:`.reasonix`,pruneRoot:`.reasonix`},{hostDir:`.roo`,pruneRoot:`.roo`},{hostDir:`.rovodev`,pruneRoot:`.rovodev`},{hostDir:`.snowflake/cortex`,pruneRoot:`.snowflake`},{hostDir:`.tabnine/agent`,pruneRoot:`.tabnine`},{hostDir:`.terramind`,pruneRoot:`.terramind`},{hostDir:`.tinycloud`,pruneRoot:`.tinycloud`},{hostDir:`.trae`,pruneRoot:`.trae`},{hostDir:`.trae-cn`,pruneRoot:`.trae-cn`},{hostDir:`.vibe`,pruneRoot:`.vibe`},{hostDir:`.zcode`,pruneRoot:`.zcode`},{hostDir:`.zencoder`,pruneRoot:`.zencoder`}],Le=[...c.map(e=>u[e]),`open-knowledge`];function X(e){if(!p(e))throw Error(`skill cleanup requires an absolute home directory; got ${JSON.stringify(e)}`);let t=_(e);if(t===v||f(t)===t)throw Error(`skill cleanup refuses to operate on the filesystem root (${t})`);return t}function Z(e,t){let n=g(e,t);if(n.startsWith(`..`)||p(n))return!1;let r=e;for(let e of n.split(v)){r=m(r,e);try{if(!x(r).isDirectory())return!1}catch{return!1}}return!0}function Re(e,t){try{return re(e).every(n=>t.has(m(e,n)))}catch{return!1}}function ze(e){let t=X(e),n=[],r=[],i=new Set;for(let e of Ie){let a=m(t,e.hostDir,`skills`);if(!Z(t,a))continue;let o=Le.map(e=>m(a,e)).filter(e=>b(e));n.push(...o);for(let e of o)i.add(e);let s=m(t,e.pruneRoot),c=a;for(;Re(c,i)&&(r.push(c),i.add(c),c!==s);){let e=f(c);if(e===c||e===t||!e.startsWith(t+v))break;c=e}}return{skillDirs:n,emptyDirs:r}}function Be(e){try{if(!x(e).isDirectory())return!1;let t=re(e);return t.length===0||t.includes(`SKILL.md`)}catch{return!1}}function Ve(e){let t=new Set,n=new Set;for(let r of Ie){let i=m(e,r.hostDir,`skills`);for(let e of Le)t.add(m(i,e));let a=m(e,r.pruneRoot),o=i;for(;n.add(o),o!==a;){let t=f(o);if(t===o||t===e||!t.startsWith(e+v))break;o=t}}return{skillDirs:t,emptyDirs:n}}function He(e,t){let n=X(e),r=Ve(n),i=[...t.skillDirs.filter(e=>!r.skillDirs.has(e)),...t.emptyDirs.filter(e=>!r.emptyDirs.has(e))];if(i.length>0)throw Error(`refusing skill cleanup — ${i.length} path(s) outside the known legacy set: ${i.join(`, `)}`);let a=[];for(let e of t.skillDirs)if(Z(n,e)&&Be(e))try{C(e,{recursive:!0,force:!0}),a.push(e)}catch{}for(let e of t.emptyDirs)if(Z(n,e))try{ie(e),a.push(e)}catch{}return a}function Q(e){let t=X(e),n=[];for(let e of c){let r=u[e];n.push({path:m(t,`.agents`,`skills`,r),bundleId:e,scope:`central`});for(let i of j)n.push({path:m(t,i.hostDir,`skills`,r),bundleId:e,scope:`host`,hostDir:i.hostDir})}return n}function Ue(e,t){let n=[];for(let r of Q(e))if(r.bundleId===t)try{C(r.path,{recursive:!0,force:!0})}catch(e){n.push(e instanceof Error?e:Error(String(e)))}if(n.length>0)throw AggregateError(n,`Failed to remove ${n.length} path(s) for ${t}`)}function We(e,t){let n;try{n=x(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.`);Ke(e,t)}function Ge(e,t){Ke(e,t)}function Ke(e,t){let n;try{n=S(t)}catch{n=_(t)}let r=f(e);for(;r.length>1&&r!==v;){let t;try{t=S(r)}catch(e){if(e.code===`ENOENT`){r=f(r);continue}throw e}let i=g(n,t);if(i===``||!i.startsWith(`..`)&&!p(i))return;throw Error(`Refusing to write at ${e}: ancestor ${r} resolves to ${t}, which is outside the project directory ${n}. A symbolic link in the path likely escapes the project. Remove the symlink and re-run project setup.`)}}function $(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function qe(e,t,n){try{if(ae(n).size>10485760)return!1}catch{return!1}let r;try{r=ne(n,`utf-8`)}catch{return!1}let i=[],a=s(r.charCodeAt(0)===65279?r.slice(1):r,i,{allowTrailingComma:!0,disallowComments:!1});if(i.length>0||!$(a))return!1;let o=a[e.topLevelKey];if(!$(o))return!1;let c=e.serverMapSubKey?o[e.serverMapSubKey]:o;return $(c)?$(c[e.serverName(t)]):!1}function Je(e,t,n={}){if(e.id!==`copilot`)return!0;try{return qe(e,t,e.configPath(t,n.home))}catch{return!1}}function Ye(e,t,n={}){let r=e.projectSkillPath?.(t);if(!r)return{editorId:e.id,label:e.label,action:`skipped-unsupported`,path:``};if(!Je(e,t,n))return{editorId:e.id,label:e.label,action:`skipped-prerequisite`,path:r};try{let n=l(`project`,{checkDesktop:!0}),i=f(r);We(i,t);let a=b(r)?`overwritten`:`written`;return C(i,{recursive:!0,force:!0}),te(f(i),{recursive:!0}),ee(n,i,{recursive:!0}),{editorId:e.id,label:e.label,action:a,path:r}}catch(t){return{editorId:e.id,label:e.label,action:`failed`,path:r,error:t instanceof Error?t.message:String(t)}}}function Xe(e,t){let n=e.projectSkillPath?.(t);if(!n)return{editorId:e.id,label:e.label,action:`skipped-unsupported`,path:``};try{let r=f(n);return b(n)?(Ge(r,t),C(r,{recursive:!0,force:!0}),{editorId:e.id,label:e.label,action:`removed`,path:n}):{editorId:e.id,label:e.label,action:`not-present`,path:n}}catch(t){return{editorId:e.id,label:e.label,action:`failed`,path:n,error:t instanceof Error?t.message:String(t)}}}export{he as C,Fe as S,_e as T,we as _,He as a,Te as b,Q as c,Y as d,j as f,z as g,ye as h,Ye as i,k as l,L as m,Ge as n,ze as o,I as p,Xe as r,Ue as s,We as t,A as u,be as v,pe as w,Ee as x,Se as y};
56
- //# sourceMappingURL=write-project-skill-cxdqSDsT.mjs.map
55
+ exit 127`,I=`// ok-pi-bridge`,L=`${I}-v1`,ye=`ok-pi-managed-extension`;function be(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(L)}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=_(e);if(d(t)===`cli.mjs`&&d(f(t))===`dist`)return t;let n=t.split(v),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 m(i.length===0?v:i.join(v),`packages`,`cli`,`dist`,`cli.mjs`)}function z(e={}){return e.mode===`dev`?{command:M,args:[R(),`mcp`],env:{...N}}:(e.platformName??process.platform)===`win32`?{command:`powershell`,args:[`-NoProfile`,`-NonInteractive`,`-Command`,F]}:{command:`/bin/sh`,args:[`-l`,`-c`,P]}}function xe(e={}){return e.mode===`dev`?{type:`local`,enabled:!0,command:[M,R(),`mcp`],environment:{...N}}:(e.platformName??process.platform)===`win32`?{type:`local`,enabled:!0,command:[`powershell`,`-NoProfile`,`-NonInteractive`,`-Command`,F]}:{type:`local`,enabled:!0,command:[`/bin/sh`,`-l`,`-c`,P]}}function Se(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?Ce(e,t):!1}function Ce(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 we(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 Te(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`?y:h}function Ee(e={}){let t=e.platformName??process.platform,n=e.home??w(),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 De(e={}){let t=e.platformName??process.platform,n=e.home??w();return H(t).join(n,`.claude.json`)}function U(e={}){let t=e.platformName??process.platform,n=e.home??w(),r=e.env??process.env;if(t===`darwin`)return h.join(n,`Library`,`Application Support`,`Claude`,`claude_desktop_config.json`);if(t===`win32`){let e=r.APPDATA??y.join(n,`AppData`,`Roaming`);return y.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??w();return H(t).join(n,`.cursor`,`mcp.json`)}function Oe(e={}){let t=e.platformName??process.platform,n=e.home??w();return(e.env??process.env).CODEX_HOME??H(t).join(n,`.codex`)}function G(e={}){return H(e.platformName??process.platform).join(Oe(e),`config.toml`)}function K(e={}){let t=e.platformName??process.platform,n=e.home??w(),r=(e.env??process.env).COPILOT_HOME??H(t).join(n,`.copilot`);return H(t).join(r,`mcp-config.json`)}function ke(e={}){let t=e.platformName??process.platform,n=e.home??w(),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(ke(e),`opencode.json`)}function Ae(e={}){let t=e.platformName??process.platform,n=e.home??w();return H(t).join(n,`.openclaw`,`openclaw.json`)}function je(e={}){let t=e.platformName??process.platform,n=e.home??w();return H(t).join(n,`.hermes`,`config.yaml`)}function Me(e={}){let t=e.platformName??process.platform,n=e.home??w();return(e.env??process.env).PI_CODING_AGENT_DIR??H(t).join(n,`.pi`,`agent`)}function Ne(e={}){let t=e.platformName??process.platform,n=e.home??w();return H(t).join(n,`.gemini`,`config`,`mcp_config.json`)}function Pe(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=Pe(e.home??w(),t);return n.find(e=>b(e))||n.find(e=>b(f(e)))||n[0]}const Y={claude:{id:`claude`,label:A.claude,configPath:(e,t)=>De({home:t}),format:`json`,topLevelKey:`mcpServers`,serverName:()=>i,buildEntry:(e,t)=>z(t),scope:`global`,detectPath:(e,t)=>m(t??w(),`.claude`),projectConfigPath:e=>m(e,`.mcp.json`),projectSkillPath:e=>m(e,`.claude`,`skills`,`open-knowledge`,`SKILL.md`)},"claude-desktop":{id:`claude-desktop`,label:A[`claude-desktop`],configPath:(e,t)=>U({home:t}),format:`json`,topLevelKey:`mcpServers`,serverName:()=>i,buildEntry:(e,t)=>z(t),scope:`global`,detectPath:(e,t)=>f(U({home:t}))},cursor:{id:`cursor`,label:A.cursor,configPath:(e,t)=>W({home:t}),format:`json`,topLevelKey:`mcpServers`,serverName:()=>i,buildEntry:(e,t)=>z(t),scope:`global`,detectPath:(e,t)=>f(W({home:t})),projectConfigPath:e=>m(e,`.cursor`,`mcp.json`),projectSkillPath:e=>m(e,`.cursor`,`skills`,`open-knowledge`,`SKILL.md`)},codex:{id:`codex`,label:A.codex,configPath:(e,t)=>G({home:t}),format:`toml`,topLevelKey:`mcp_servers`,serverName:()=>i,buildEntry:(e,t)=>z(t),scope:`global`,detectPath:(e,t)=>f(G({home:t})),projectConfigPath:e=>m(e,`.codex`,`config.toml`),projectSkillPath:e=>m(e,`.codex`,`skills`,`open-knowledge`,`SKILL.md`)},copilot:{id:`copilot`,label:A.copilot,configPath:(e,t)=>K({home:t}),format:`json`,topLevelKey:`mcpServers`,serverName:()=>i,buildEntry:(e,t)=>z(t),scope:`global`,detectPath:(e,t)=>f(K({home:t})),projectSkillPath:e=>m(e,`.github`,`skills`,`open-knowledge`,`SKILL.md`)},opencode:{id:`opencode`,label:A.opencode,configPath:(e,t)=>q({home:t}),format:`json`,topLevelKey:`mcp`,serverName:()=>i,buildEntry:(e,t)=>xe(t),scope:`global`,detectPath:(e,t)=>f(q({home:t})),projectConfigPath:e=>m(e,`opencode.json`),projectSkillPath:e=>m(e,`.opencode`,`skills`,`open-knowledge`,`SKILL.md`)},openclaw:{id:`openclaw`,label:A.openclaw,configPath:(e,t)=>Ae({home:t}),format:`json`,topLevelKey:`mcp`,serverMapSubKey:`servers`,serverName:()=>i,buildEntry:(e,t)=>z(t),scope:`global`,detectPath:(e,t)=>m(t??w(),`.openclaw`),offerOnlyWhenDetected:!0},pi:{id:`pi`,label:A.pi,configPath:()=>{throw Error("Pi has no user-global MCP config; OK's integration is the project-scoped bridge extension at .pi/extensions/open-knowledge.ts (run `ok init` in the project).")},format:`file`,topLevelKey:`mcpServers`,serverName:()=>i,buildEntry:()=>{throw Error(`Pi has no MCP entry shape; the managed bridge file is built by buildPiExtensionSource (integrations/pi-extension.ts).`)},scope:`project`,detectPath:(e,t)=>Me({home:t}),projectConfigPath:e=>m(e,`.pi`,`extensions`,`open-knowledge.ts`),projectSkillPath:e=>m(e,`.pi`,`skills`,`open-knowledge`,`SKILL.md`)},antigravity:{id:`antigravity`,label:A.antigravity,configPath:(e,t)=>Ne({home:t}),format:`json`,topLevelKey:`mcpServers`,serverName:()=>i,buildEntry:(e,t)=>z(t),scope:`global`,detectPath:(e,t)=>m(t??w(),`.gemini`),offerOnlyWhenDetected:!0},"lm-studio":{id:`lm-studio`,label:A[`lm-studio`],configPath:(e,t)=>J({home:t}),format:`json`,topLevelKey:`mcpServers`,serverName:()=>i,buildEntry:(e,t)=>z(t),scope:`global`,detectPath:(e,t)=>f(J({home:t})),offerOnlyWhenDetected:!0},hermes:{id:`hermes`,label:A.hermes,configPath:(e,t)=>je({home:t}),format:`yaml`,topLevelKey:`mcp_servers`,serverName:()=>i,buildEntry:(e,t)=>z(t),scope:`global`,detectPath:(e,t)=>m(t??w(),`.hermes`),offerOnlyWhenDetected:!0}};function Fe(e){let t=e.filter(e=>!Object.hasOwn(Y,e));if(t.length>0)throw Error(`Unknown editor(s): ${t.join(`, `)}. Valid options: ${k.join(`, `)}`);return e.map(e=>Y[e])}const Ie=[{hostDir:`.adal`,pruneRoot:`.adal`},{hostDir:`.aider-desk`,pruneRoot:`.aider-desk`},{hostDir:`.astrbot/data`,pruneRoot:`.astrbot`},{hostDir:`.augment`,pruneRoot:`.augment`},{hostDir:`.autohand`,pruneRoot:`.autohand`},{hostDir:`.bob`,pruneRoot:`.bob`},{hostDir:`.codeartsdoer`,pruneRoot:`.codeartsdoer`},{hostDir:`.codebuddy`,pruneRoot:`.codebuddy`},{hostDir:`.codeium/windsurf`,pruneRoot:`.codeium`},{hostDir:`.codemaker`,pruneRoot:`.codemaker`},{hostDir:`.codestudio`,pruneRoot:`.codestudio`},{hostDir:`.commandcode`,pruneRoot:`.commandcode`},{hostDir:`.config/crush`,pruneRoot:`.config/crush`},{hostDir:`.config/devin`,pruneRoot:`.config/devin`},{hostDir:`.config/goose`,pruneRoot:`.config/goose`},{hostDir:`.config/kimchi/harness`,pruneRoot:`.config/kimchi`},{hostDir:`.continue`,pruneRoot:`.continue`},{hostDir:`.factory`,pruneRoot:`.factory`},{hostDir:`.forge`,pruneRoot:`.forge`},{hostDir:`.grok`,pruneRoot:`.grok`},{hostDir:`.iflow`,pruneRoot:`.iflow`},{hostDir:`.inferencesh`,pruneRoot:`.inferencesh`},{hostDir:`.jazz`,pruneRoot:`.jazz`},{hostDir:`.junie`,pruneRoot:`.junie`},{hostDir:`.kilocode`,pruneRoot:`.kilocode`},{hostDir:`.kiro`,pruneRoot:`.kiro`},{hostDir:`.kode`,pruneRoot:`.kode`},{hostDir:`.lingma`,pruneRoot:`.lingma`},{hostDir:`.mcpjam`,pruneRoot:`.mcpjam`},{hostDir:`.moxby`,pruneRoot:`.moxby`},{hostDir:`.mux`,pruneRoot:`.mux`},{hostDir:`.neovate`,pruneRoot:`.neovate`},{hostDir:`.ona`,pruneRoot:`.ona`},{hostDir:`.openhands`,pruneRoot:`.openhands`},{hostDir:`.pochi`,pruneRoot:`.pochi`},{hostDir:`.qoder`,pruneRoot:`.qoder`},{hostDir:`.qoder-cn`,pruneRoot:`.qoder-cn`},{hostDir:`.qwen`,pruneRoot:`.qwen`},{hostDir:`.reasonix`,pruneRoot:`.reasonix`},{hostDir:`.roo`,pruneRoot:`.roo`},{hostDir:`.rovodev`,pruneRoot:`.rovodev`},{hostDir:`.snowflake/cortex`,pruneRoot:`.snowflake`},{hostDir:`.tabnine/agent`,pruneRoot:`.tabnine`},{hostDir:`.terramind`,pruneRoot:`.terramind`},{hostDir:`.tinycloud`,pruneRoot:`.tinycloud`},{hostDir:`.trae`,pruneRoot:`.trae`},{hostDir:`.trae-cn`,pruneRoot:`.trae-cn`},{hostDir:`.vibe`,pruneRoot:`.vibe`},{hostDir:`.zcode`,pruneRoot:`.zcode`},{hostDir:`.zencoder`,pruneRoot:`.zencoder`}],Le=[...c.map(e=>l[e]),`open-knowledge`];function X(e){if(!p(e))throw Error(`skill cleanup requires an absolute home directory; got ${JSON.stringify(e)}`);let t=_(e);if(t===v||f(t)===t)throw Error(`skill cleanup refuses to operate on the filesystem root (${t})`);return t}function Z(e,t){let n=g(e,t);if(n.startsWith(`..`)||p(n))return!1;let r=e;for(let e of n.split(v)){r=m(r,e);try{if(!x(r).isDirectory())return!1}catch{return!1}}return!0}function Re(e,t){try{return re(e).every(n=>t.has(m(e,n)))}catch{return!1}}function ze(e){let t=X(e),n=[],r=[],i=new Set;for(let e of Ie){let a=m(t,e.hostDir,`skills`);if(!Z(t,a))continue;let o=Le.map(e=>m(a,e)).filter(e=>b(e));n.push(...o);for(let e of o)i.add(e);let s=m(t,e.pruneRoot),c=a;for(;Re(c,i)&&(r.push(c),i.add(c),c!==s);){let e=f(c);if(e===c||e===t||!e.startsWith(t+v))break;c=e}}return{skillDirs:n,emptyDirs:r}}function Be(e){try{if(!x(e).isDirectory())return!1;let t=re(e);return t.length===0||t.includes(`SKILL.md`)}catch{return!1}}function Ve(e){let t=new Set,n=new Set;for(let r of Ie){let i=m(e,r.hostDir,`skills`);for(let e of Le)t.add(m(i,e));let a=m(e,r.pruneRoot),o=i;for(;n.add(o),o!==a;){let t=f(o);if(t===o||t===e||!t.startsWith(e+v))break;o=t}}return{skillDirs:t,emptyDirs:n}}function He(e,t){let n=X(e),r=Ve(n),i=[...t.skillDirs.filter(e=>!r.skillDirs.has(e)),...t.emptyDirs.filter(e=>!r.emptyDirs.has(e))];if(i.length>0)throw Error(`refusing skill cleanup — ${i.length} path(s) outside the known legacy set: ${i.join(`, `)}`);let a=[];for(let e of t.skillDirs)if(Z(n,e)&&Be(e))try{C(e,{recursive:!0,force:!0}),a.push(e)}catch{}for(let e of t.emptyDirs)if(Z(n,e))try{ie(e),a.push(e)}catch{}return a}function Q(e){let t=X(e),n=[];for(let e of c){let r=l[e];n.push({path:m(t,`.agents`,`skills`,r),bundleId:e,scope:`central`});for(let i of j)n.push({path:m(t,i.hostDir,`skills`,r),bundleId:e,scope:`host`,hostDir:i.hostDir})}return n}function Ue(e,t){let n=[];for(let r of Q(e))if(r.bundleId===t)try{C(r.path,{recursive:!0,force:!0})}catch(e){n.push(e instanceof Error?e:Error(String(e)))}if(n.length>0)throw AggregateError(n,`Failed to remove ${n.length} path(s) for ${t}`)}function We(e,t){let n;try{n=x(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.`);Ke(e,t)}function Ge(e,t){Ke(e,t)}function Ke(e,t){let n;try{n=S(t)}catch{n=_(t)}let r=f(e);for(;r.length>1&&r!==v;){let t;try{t=S(r)}catch(e){if(e.code===`ENOENT`){r=f(r);continue}throw e}let i=g(n,t);if(i===``||!i.startsWith(`..`)&&!p(i))return;throw Error(`Refusing to write at ${e}: ancestor ${r} resolves to ${t}, which is outside the project directory ${n}. A symbolic link in the path likely escapes the project. Remove the symlink and re-run project setup.`)}}function $(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function qe(e,t,n){try{if(ae(n).size>10485760)return!1}catch{return!1}let r;try{r=ne(n,`utf-8`)}catch{return!1}let i=[],a=s(r.charCodeAt(0)===65279?r.slice(1):r,i,{allowTrailingComma:!0,disallowComments:!1});if(i.length>0||!$(a))return!1;let o=a[e.topLevelKey];if(!$(o))return!1;let c=e.serverMapSubKey?o[e.serverMapSubKey]:o;return $(c)?$(c[e.serverName(t)]):!1}function Je(e,t,n={}){if(e.id!==`copilot`)return!0;try{return qe(e,t,e.configPath(t,n.home))}catch{return!1}}function Ye(e,t,n={}){let r=e.projectSkillPath?.(t);if(!r)return{editorId:e.id,label:e.label,action:`skipped-unsupported`,path:``};if(!Je(e,t,n))return{editorId:e.id,label:e.label,action:`skipped-prerequisite`,path:r};try{let n=u(`project`,{checkDesktop:!0}),i=f(r);We(i,t);let a=b(r)?`overwritten`:`written`;return C(i,{recursive:!0,force:!0}),te(f(i),{recursive:!0}),ee(n,i,{recursive:!0}),{editorId:e.id,label:e.label,action:a,path:r}}catch(t){return{editorId:e.id,label:e.label,action:`failed`,path:r,error:t instanceof Error?t.message:String(t)}}}function Xe(e,t){let n=e.projectSkillPath?.(t);if(!n)return{editorId:e.id,label:e.label,action:`skipped-unsupported`,path:``};try{let r=f(n);return b(n)?(Ge(r,t),C(r,{recursive:!0,force:!0}),{editorId:e.id,label:e.label,action:`removed`,path:n}):{editorId:e.id,label:e.label,action:`not-present`,path:n}}catch(t){return{editorId:e.id,label:e.label,action:`failed`,path:n,error:t instanceof Error?t.message:String(t)}}}export{he as C,Fe as S,_e as T,we as _,He as a,Te as b,Q as c,Y as d,j as f,z as g,ye as h,Ye as i,k as l,L as m,Ge as n,ze as o,I as p,Xe as r,Ue as s,We as t,A as u,be as v,pe as w,Ee as x,Se as y};
56
+ //# sourceMappingURL=write-project-skill-CJb6JZQ_.mjs.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inkeep/open-knowledge",
3
- "version": "0.43.0-beta.0",
3
+ "version": "0.43.0-beta.2",
4
4
  "license": "GPL-3.0-or-later",
5
5
  "private": false,
6
6
  "type": "module",
@@ -61,10 +61,10 @@
61
61
  "ajv-formats": "^3.0.1",
62
62
  "tsdown": "^0.21.7",
63
63
  "typescript": "^5.9.3",
64
- "@inkeep/open-knowledge-core": "0.43.0-beta.0",
65
- "@inkeep/open-knowledge-app": "0.43.0-beta.0",
66
- "@inkeep/open-knowledge-server": "0.43.0-beta.0",
67
- "@inkeep/open-knowledge-native-config": "0.0.0"
64
+ "@inkeep/open-knowledge-app": "0.43.0-beta.2",
65
+ "@inkeep/open-knowledge-server": "0.43.0-beta.2",
66
+ "@inkeep/open-knowledge-native-config": "0.0.0",
67
+ "@inkeep/open-knowledge-core": "0.43.0-beta.2"
68
68
  },
69
69
  "scripts": {
70
70
  "build:cli": "tsdown",
@@ -1,2 +0,0 @@
1
- import"./src-DY417osM.mjs";var e=`0.43.0-beta.0`;const t=`config.yml`,n=e;export{n,t};
2
- //# sourceMappingURL=constants-BKJ7B5iw.mjs.map
@@ -1 +0,0 @@
1
- import{_ as e,c as t}from"./fs-traced-BmZQL7v9.mjs";export{t as tracedMkdir,e as tracedWriteFile};
@@ -1 +0,0 @@
1
- import{r as e}from"./git-handle-bosCq-DO.mjs";export{e as createGitInstance};
@@ -1 +0,0 @@
1
- import{g as e}from"./init-BUp3cQ_4.mjs";export{e as runInit};
@@ -1 +0,0 @@
1
- import{n as e}from"./loader-y7Mn8M-Z.mjs";export{e as loadConfig};
@@ -1,2 +0,0 @@
1
- import{wa as e,ya as t,zi as n}from"./src-DY417osM.mjs";const r=new n({extensions:t,deriveStructuralFreshness:!0}),i=e(t);export{i as n,r as t};
2
- //# sourceMappingURL=md-manager-DPw-b4lt.mjs.map
@@ -1 +0,0 @@
1
- import{n as e,t}from"./preview-BV8bR51k.mjs";export{t as formatPreviewBlock,e as previewContent};
@@ -1 +0,0 @@
1
- import{t as e}from"./index-BVWeqqNi.js";export{e as FeedbackForm};
@@ -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{s as o,t as s}from"./createLucideIcon-DAkhoPjT.js";import{t as c}from"./button-Gol9BgNB.js";import{t as l}from"./label-DyipnO5I.js";import{a as u,i as d,n as f,o as p,r as m,t as h}from"./switch-DYic2V-1.js";import{t as g}from"./braces-DwnwFx_V.js";import{t as _}from"./case-sensitive-nl0tWMnZ.js";import{t as v}from"./hash-DNKDqZ18.js";import{t as y}from"./trash-2-BUuL4OCw.js";import{n as b}from"./dist-BLAMau9Z.js";import{t as x}from"./input-D0ZW0Opq.js";import{d as S,f as C,o as w,r as T,s as E}from"./lint-config-client-BYECwWuu.js";import{n as D,r as ee,t as O}from"./EditorModeToggle-1xLWvnWd.js";import{t as k}from"./tag-pill-input-CS-2Qx-_.js";import{t as te}from"./useLintConfigViewMode-DKPENttR.js";import{r as A,t as ne}from"./schema-fields-view-intent-BeD8vY0v.js";var j=s(`brackets`,[[`path`,{d:`M16 3h3a1 1 0 0 1 1 1v16a1 1 0 0 1-1 1h-3`,key:`1kt8lf`}],[`path`,{d:`M8 21H5a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h3`,key:`gduv9`}]]),M=s(`list-checks`,[[`path`,{d:`M13 5h8`,key:`a7qcls`}],[`path`,{d:`M13 12h8`,key:`h98zly`}],[`path`,{d:`M13 19h8`,key:`c3s6r1`}],[`path`,{d:`m3 17 2 2 4-4`,key:`1jhpwq`}],[`path`,{d:`m3 7 2 2 4-4`,key:`1obspn`}]]),N=s(`toggle-left`,[[`circle`,{cx:`9`,cy:`12`,r:`3`,key:`u3jwor`}],[`rect`,{width:`20`,height:`14`,x:`2`,y:`5`,rx:`7`,key:`g7kal2`}]]),P=a(),re=e(n(),1),F=t(),I=[`string`,`number`,`boolean`,`array`,`object`],L=[`string`,`number`,`boolean`,`enum`,`array`,`object`],ie=[`string`,`number`,`boolean`,`enum`,`object`],R={string:{Icon:_,className:`text-green-500`},number:{Icon:v,className:`text-blue-500`},boolean:{Icon:N,className:`text-orange-500`},enum:{Icon:M,className:`text-yellow-500`},array:{Icon:j,className:`text-pink-500`},object:{Icon:g,className:`text-purple-500`}};function ae(e){let t=(0,P.c)(8),{option:n}=e,{Icon:r,className:i}=R[n],a;t[0]===i?a=t[1]:(a=o(`size-3.5 shrink-0`,i),t[0]=i,t[1]=a);let s;t[2]!==r||t[3]!==a?(s=(0,F.jsx)(r,{"aria-hidden":!0,className:a}),t[2]=r,t[3]=a,t[4]=s):s=t[4];let c;return t[5]!==n||t[6]!==s?(c=(0,F.jsxs)(`span`,{className:`flex items-center gap-2`,children:[s,n]}),t[5]=n,t[6]=s,t[7]=c):c=t[7],c}function oe(e){let t=(0,P.c)(5),{option:n}=e,{Icon:r,className:i}=R[n],a;t[0]===i?a=t[1]:(a=o(`size-4 shrink-0`,i),t[0]=i,t[1]=a);let s;return t[2]!==r||t[3]!==a?(s=(0,F.jsx)(r,{"aria-hidden":!0,className:a}),t[2]=r,t[3]=a,t[4]=s):s=t[4],s}var se=4,ce=new Set([`$schema`,`type`,`properties`,`required`]),z=new Set([`type`,`enum`,`pattern`,`format`,`items`,`description`,`properties`,`required`]);function B(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function le(e){return e===void 0?[]:Array.isArray(e)&&e.every(e=>typeof e==`string`)?e:null}function ue(e){if(Object.keys(e).some(e=>!z.has(e)))return!0;let t=e.items;if(t!==void 0){if(!B(t))return!0;let e=new Set([`enum`,`type`,`properties`,`required`,`description`]);if(Object.keys(t).some(t=>!e.has(t)))return!0}return!1}function de(e,t){return[...e.map(e=>typeof e==`string`?e:`[]`),t].join(`.`)}function fe(e){let t=(0,P.c)(28),{file:n}=e,{_:a}=i(),{data:o}=S(),s,c,l,u,d,f,p;if(t[0]!==a||t[1]!==o?.effective.plugins.frontmatter.schemas||t[2]!==n){let e=o?.effective.plugins.frontmatter.schemas.find(e=>e.file===n)?.schema,i=B(e)?Object.keys(e).filter(pe):[],m;t[10]!==a||t[11]!==n?(m={save:(e,t,r)=>{(async()=>{let i=await C(n,e,t,r);i.ok?T():b.error(i.errorDetail??a({id:`IQgeSn`}))})()},rename:(e,t,r)=>{(async()=>{let i=await E(n,e,t,r);i.ok?T():b.error(i.errorDetail??a({id:`kooyLJ`}))})()},remove:(e,t)=>{(async()=>{let r=await w(n,e,t);r.ok?T():b.error(r.errorDetail??a({id:`qC7PwZ`}))})()}},t[10]=a,t[11]=n,t[12]=m):m=t[12],c=m,u=`space-y-3`,d=`frontmatter-field-editor-${n}`,f=e===void 0&&(0,F.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:(0,F.jsx)(r,{id:`ri6zS-`})}),t[13]!==n||t[14]!==i?(p=i.length>0&&(0,F.jsx)(`p`,{className:`text-xs text-muted-foreground`,"data-testid":`frontmatter-schema-root-preserved-${n}`,children:(0,F.jsx)(r,{id:`98FP1E`,values:{0:i.join(`, `)}})}),t[13]=n,t[14]=i,t[15]=p):p=t[15],s=me,l=B(e)?e:{},t[0]=a,t[1]=o?.effective.plugins.frontmatter.schemas,t[2]=n,t[3]=s,t[4]=c,t[5]=l,t[6]=u,t[7]=d,t[8]=f,t[9]=p}else s=t[3],c=t[4],l=t[5],u=t[6],d=t[7],f=t[8],p=t[9];let m;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(m=[],t[16]=m):m=t[16];let h=`frontmatter-add-field-${n}`,g;t[17]!==s||t[18]!==c||t[19]!==l||t[20]!==h?(g=(0,F.jsx)(s,{node:l,parentPath:m,depth:0,addInputId:h,ops:c}),t[17]=s,t[18]=c,t[19]=l,t[20]=h,t[21]=g):g=t[21];let _;return t[22]!==u||t[23]!==d||t[24]!==f||t[25]!==p||t[26]!==g?(_=(0,F.jsxs)(`div`,{className:u,"data-testid":d,children:[f,p,g]}),t[22]=u,t[23]=d,t[24]=f,t[25]=p,t[26]=g,t[27]=_):_=t[27],_}function pe(e){return!ce.has(e)}function me(e){let t=(0,P.c)(19),{node:n,parentPath:r,depth:i,addInputId:a,ops:o}=e,s;t[0]===n.properties?s=t[1]:(s=B(n.properties)?n.properties:{},t[0]=n.properties,t[1]=s);let c=s,l,u;if(t[2]!==i||t[3]!==n.required||t[4]!==o||t[5]!==r||t[6]!==c){let e=Array.isArray(n.required)?n.required.filter(he):[];l=`space-y-2`,u=Object.entries(c).map(t=>{let[n,a]=t;return(0,F.jsx)(V,{field:n,property:B(a)?a:{},isRequired:e.includes(n),parentPath:r,depth:i,ops:o},n)}),t[2]=i,t[3]=n.required,t[4]=o,t[5]=r,t[6]=c,t[7]=l,t[8]=u}else l=t[7],u=t[8];let d;t[9]!==o||t[10]!==r?(d=e=>o.save(e,{type:`string`},r),t[9]=o,t[10]=r,t[11]=d):d=t[11];let f;t[12]!==a||t[13]!==d?(f=(0,F.jsx)(ve,{inputId:a,onAdd:d}),t[12]=a,t[13]=d,t[14]=f):f=t[14];let p;return t[15]!==l||t[16]!==u||t[17]!==f?(p=(0,F.jsxs)(`div`,{className:l,children:[u,f]}),t[15]=l,t[16]=u,t[17]=f,t[18]=p):p=t[18],p}function he(e){return typeof e==`string`}function V(e){let t=(0,P.c)(172),{field:n,property:a,isRequired:o,parentPath:s,depth:d,ops:g}=e,{_}=i(),[v,b]=(0,re.useState)(!1),[x,S]=(0,re.useState)(!1),C;t[0]!==n||t[1]!==s?(C=de(s,n),t[0]=n,t[1]=s,t[2]=C):C=t[2];let w=C,T=typeof a.type==`string`&&I.includes(a.type)?a.type:void 0,E;t[3]===a.enum?E=t[4]:(E=le(a.enum),t[3]=a.enum,t[4]=E);let D=E,ee;t[5]===a.items?ee=t[6]:(ee=B(a.items)?a.items:{},t[5]=a.items,t[6]=ee);let O=ee,te;t[7]===O.enum?te=t[8]:(te=le(O.enum),t[7]=O.enum,t[8]=te);let A=te,ne=typeof a.pattern==`string`?a.pattern:``,j=typeof a.description==`string`?a.description:``,M;t[9]===a?M=t[10]:(M=ue(a),t[9]=a,t[10]=M);let N=M,R=T!==`array`&&D!==null&&(D.length>0||v),ae=T===`object`&&d<se,ce;t[11]===O.type?ce=t[12]:(ce=typeof O.type==`string`&&ie.includes(O.type)?O.type:void 0,t[11]=O.type,t[12]=ce);let z=ce,fe=z!==`object`&&A!==null&&(A.length>0||x),pe=T===`array`&&z===`object`&&d<se,he=`frontmatter-field-row-${w}`,V;t[13]!==R||t[14]!==T?(V=(R||T!==void 0)&&(0,F.jsx)(oe,{option:R?`enum`:T}),t[13]=R,t[14]=T,t[15]=V):V=t[15];let ve=`frontmatter-field-name-${w}`,H;t[16]===_?H=t[17]:(H=_({id:`nrXDdR`}),t[16]=_,t[17]=H);let U;t[18]!==n||t[19]!==g||t[20]!==s?(U=e=>{e!==``&&e!==n&&g.rename(n,e,s)},t[18]=n,t[19]=g,t[20]=s,t[21]=U):U=t[21];let W;t[22]!==n||t[23]!==H||t[24]!==U||t[25]!==ve?(W=(0,F.jsx)(ye,{id:ve,initial:n,ariaLabel:H,className:`h-7 w-36 shrink-0 font-mono text-sm font-medium`,onCommit:U}),t[22]=n,t[23]=H,t[24]=U,t[25]=ve,t[26]=W):W=t[26];let be=`frontmatter-field-description-${w}`,G;t[27]===_?G=t[28]:(G=_({id:`PGPGsL`}),t[27]=_,t[28]=G);let K;t[29]!==_||t[30]!==n?(K=_({id:`IFALcX`,values:{field:n}}),t[29]=_,t[30]=n,t[31]=K):K=t[31];let q;t[32]!==n||t[33]!==g||t[34]!==s?(q=e=>g.save(n,{description:e===``?null:e},s),t[32]=n,t[33]=g,t[34]=s,t[35]=q):q=t[35];let J;t[36]!==j||t[37]!==be||t[38]!==G||t[39]!==K||t[40]!==q?(J=(0,F.jsx)(ye,{id:be,initial:j,placeholder:G,ariaLabel:K,className:`h-7 min-w-0 flex-1`,onCommit:q}),t[36]=j,t[37]=be,t[38]=G,t[39]=K,t[40]=q,t[41]=J):J=t[41];let xe=`frontmatter-field-required-${w}`,Se;t[42]===Symbol.for(`react.memo_cache_sentinel`)?(Se=(0,F.jsx)(r,{id:`TMLAx2`}),t[42]=Se):Se=t[42];let Y;t[43]===xe?Y=t[44]:(Y=(0,F.jsx)(l,{htmlFor:xe,className:`shrink-0 text-xs text-muted-foreground`,children:Se}),t[43]=xe,t[44]=Y);let Ce=`frontmatter-field-required-${w}`,X;t[45]!==n||t[46]!==g||t[47]!==s?(X=e=>g.save(n,{required:e},s),t[45]=n,t[46]=g,t[47]=s,t[48]=X):X=t[48];let we=`frontmatter-field-required-${w}`,Z;t[49]!==o||t[50]!==Ce||t[51]!==X||t[52]!==we?(Z=(0,F.jsx)(h,{id:Ce,checked:o,onCheckedChange:X,"data-testid":we}),t[49]=o,t[50]=Ce,t[51]=X,t[52]=we,t[53]=Z):Z=t[53];let Te;t[54]!==n||t[55]!==g||t[56]!==s?(Te=()=>g.remove(n,s),t[54]=n,t[55]=g,t[56]=s,t[57]=Te):Te=t[57];let Ee;t[58]!==_||t[59]!==n?(Ee=_({id:`bF22t6`,values:{field:n}}),t[58]=_,t[59]=n,t[60]=Ee):Ee=t[60];let De=`frontmatter-field-remove-${w}`,Oe;t[61]===Symbol.for(`react.memo_cache_sentinel`)?(Oe=(0,F.jsx)(y,{"aria-hidden":!0,className:`size-4`}),t[61]=Oe):Oe=t[61];let ke;t[62]!==Te||t[63]!==Ee||t[64]!==De?(ke=(0,F.jsx)(c,{variant:`ghost`,size:`icon`,className:`size-7 shrink-0`,onClick:Te,"aria-label":Ee,"data-testid":De,children:Oe}),t[62]=Te,t[63]=Ee,t[64]=De,t[65]=ke):ke=t[65];let Ae;t[66]!==W||t[67]!==J||t[68]!==Y||t[69]!==Z||t[70]!==ke||t[71]!==V?(Ae=(0,F.jsxs)(`div`,{className:`flex items-center gap-2`,children:[V,W,J,Y,Z,ke]}),t[66]=W,t[67]=J,t[68]=Y,t[69]=Z,t[70]=ke,t[71]=V,t[72]=Ae):Ae=t[72];let je;t[73]!==w||t[74]!==N?(je=N&&(0,F.jsx)(`p`,{className:`text-xs text-muted-foreground`,"data-testid":`frontmatter-field-preserved-${w}`,children:(0,F.jsx)(r,{id:`TdlVEN`})}),t[73]=w,t[74]=N,t[75]=je):je=t[75];let Me=`frontmatter-field-type-${w}`,Ne;t[76]===Symbol.for(`react.memo_cache_sentinel`)?(Ne=(0,F.jsx)(r,{id:`-zy2Nq`}),t[76]=Ne):Ne=t[76];let Pe;t[77]===Me?Pe=t[78]:(Pe=(0,F.jsx)(l,{className:`text-xs`,htmlFor:Me,children:Ne}),t[77]=Me,t[78]=Pe);let Fe=R?`enum`:T??``,Ie;t[79]!==D?.length||t[80]!==n||t[81]!==g||t[82]!==s||t[83]!==R||t[84]!==T?(Ie=e=>{if(e===`enum`){b(!0),T===void 0&&g.save(n,{type:`string`},s);return}b(!1);let t=R&&(D?.length??0)>0?{type:e,enum:null}:{type:e};g.save(n,t,s)},t[79]=D?.length,t[80]=n,t[81]=g,t[82]=s,t[83]=R,t[84]=T,t[85]=Ie):Ie=t[85];let Le=`frontmatter-field-type-${w}`,Re=`frontmatter-field-type-${w}`,Q;t[86]===_?Q=t[87]:(Q=_({id:`EkUnmS`}),t[86]=_,t[87]=Q);let ze;t[88]===Q?ze=t[89]:(ze=(0,F.jsx)(p,{placeholder:Q}),t[88]=Q,t[89]=ze);let Be;t[90]!==Le||t[91]!==Re||t[92]!==ze?(Be=(0,F.jsx)(u,{id:Le,"data-testid":Re,children:ze}),t[90]=Le,t[91]=Re,t[92]=ze,t[93]=Be):Be=t[93];let Ve;t[94]===Symbol.for(`react.memo_cache_sentinel`)?(Ve=(0,F.jsx)(m,{children:L.map(_e)}),t[94]=Ve):Ve=t[94];let He;t[95]!==Fe||t[96]!==Ie||t[97]!==Be?(He=(0,F.jsxs)(f,{value:Fe,onValueChange:Ie,children:[Be,Ve]}),t[95]=Fe,t[96]=Ie,t[97]=Be,t[98]=He):He=t[98];let Ue;t[99]!==Pe||t[100]!==He?(Ue=(0,F.jsxs)(`div`,{className:`space-y-1`,children:[Pe,He]}),t[99]=Pe,t[100]=He,t[101]=Ue):Ue=t[101];let We=`frontmatter-field-pattern-${w}`,Ge;t[102]===Symbol.for(`react.memo_cache_sentinel`)?(Ge=(0,F.jsx)(r,{id:`cstC0z`}),t[102]=Ge):Ge=t[102];let Ke;t[103]===We?Ke=t[104]:(Ke=(0,F.jsx)(l,{className:`text-xs`,htmlFor:We,children:Ge}),t[103]=We,t[104]=Ke);let qe=`frontmatter-field-pattern-${w}`,Je;t[105]!==n||t[106]!==g||t[107]!==s?(Je=e=>g.save(n,{pattern:e===``?null:e},s),t[105]=n,t[106]=g,t[107]=s,t[108]=Je):Je=t[108];let Ye;t[109]!==ne||t[110]!==qe||t[111]!==Je?(Ye=(0,F.jsx)(ye,{id:qe,initial:ne,onCommit:Je}),t[109]=ne,t[110]=qe,t[111]=Je,t[112]=Ye):Ye=t[112];let Xe;t[113]!==Ke||t[114]!==Ye?(Xe=(0,F.jsxs)(`div`,{className:`space-y-1`,children:[Ke,Ye]}),t[113]=Ke,t[114]=Ye,t[115]=Xe):Xe=t[115];let Ze;t[116]!==Ue||t[117]!==Xe?(Ze=(0,F.jsxs)(`div`,{className:`grid grid-cols-2 gap-2`,children:[Ue,Xe]}),t[116]=Ue,t[117]=Xe,t[118]=Ze):Ze=t[118];let Qe;t[119]!==_||t[120]!==D||t[121]!==n||t[122]!==g||t[123]!==s||t[124]!==w||t[125]!==T?(Qe=T!==`array`&&T!==`object`&&D!==null&&(0,F.jsxs)(`div`,{className:`space-y-1`,children:[(0,F.jsx)(l,{className:`text-xs`,htmlFor:`frontmatter-field-enum-${w}`,children:(0,F.jsx)(r,{id:`UGeJuP`})}),(0,F.jsx)(k,{id:`frontmatter-field-enum-${w}`,value:D,grammar:`free-text`,onChange:e=>g.save(n,{enum:e.length===0?null:e},s),placeholder:_({id:`5tcmwY`}),"aria-label":_({id:`5qQr1u`,values:{field:n}})})]}),t[119]=_,t[120]=D,t[121]=n,t[122]=g,t[123]=s,t[124]=w,t[125]=T,t[126]=Qe):Qe=t[126];let $e;t[127]!==_||t[128]!==n||t[129]!==A?.length||t[130]!==z||t[131]!==g||t[132]!==s||t[133]!==w||t[134]!==fe||t[135]!==T?($e=T===`array`&&(0,F.jsx)(`div`,{className:`grid grid-cols-2 gap-2`,children:(0,F.jsxs)(`div`,{className:`space-y-1`,children:[(0,F.jsx)(l,{className:`text-xs`,htmlFor:`frontmatter-field-items-type-${w}`,children:(0,F.jsx)(r,{id:`6pe_G5`})}),(0,F.jsxs)(f,{value:fe?`enum`:z??``,onValueChange:e=>{if(e===`enum`){S(!0),z===void 0&&g.save(n,{itemsType:`string`},s);return}S(!1);let t=fe&&(A?.length??0)>0?{itemsType:e,itemsEnum:null}:{itemsType:e};g.save(n,t,s)},children:[(0,F.jsx)(u,{id:`frontmatter-field-items-type-${w}`,"data-testid":`frontmatter-field-items-type-${w}`,children:(0,F.jsx)(p,{placeholder:_({id:`EkUnmS`})})}),(0,F.jsx)(m,{children:ie.map(ge)})]})]})}),t[127]=_,t[128]=n,t[129]=A?.length,t[130]=z,t[131]=g,t[132]=s,t[133]=w,t[134]=fe,t[135]=T,t[136]=$e):$e=t[136];let et;t[137]!==_||t[138]!==n||t[139]!==A||t[140]!==z||t[141]!==g||t[142]!==s||t[143]!==w||t[144]!==T?(et=T===`array`&&z!==`object`&&A!==null&&(0,F.jsxs)(`div`,{className:`space-y-1`,children:[(0,F.jsx)(l,{className:`text-xs`,htmlFor:`frontmatter-field-items-enum-${w}`,children:(0,F.jsx)(r,{id:`ezUmoU`})}),(0,F.jsx)(k,{id:`frontmatter-field-items-enum-${w}`,value:A,grammar:`free-text`,onChange:e=>g.save(n,{itemsEnum:e.length===0?null:e},s),placeholder:_({id:`5tcmwY`}),"aria-label":_({id:`e60wew`,values:{field:n}})})]}),t[137]=_,t[138]=n,t[139]=A,t[140]=z,t[141]=g,t[142]=s,t[143]=w,t[144]=T,t[145]=et):et=t[145];let tt;t[146]!==d||t[147]!==n||t[148]!==O||t[149]!==g||t[150]!==s||t[151]!==w||t[152]!==pe?(tt=pe&&(0,F.jsxs)(`div`,{className:`ml-2 space-y-1 border-l pl-3 pt-1`,"data-testid":`frontmatter-field-item-children-${w}`,children:[(0,F.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:(0,F.jsx)(r,{id:`wU8WyK`})}),(0,F.jsx)(me,{node:O,parentPath:[...s,n,{items:!0}],depth:d+1,addInputId:`frontmatter-add-field-${w}.[]`,ops:g})]}),t[146]=d,t[147]=n,t[148]=O,t[149]=g,t[150]=s,t[151]=w,t[152]=pe,t[153]=tt):tt=t[153];let $;t[154]!==d||t[155]!==n||t[156]!==g||t[157]!==s||t[158]!==w||t[159]!==a||t[160]!==ae?($=ae&&(0,F.jsxs)(`div`,{className:`ml-2 space-y-1 border-l pl-3 pt-1`,"data-testid":`frontmatter-field-children-${w}`,children:[(0,F.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:(0,F.jsx)(r,{id:`9nIrRp`})}),(0,F.jsx)(me,{node:a,parentPath:[...s,n],depth:d+1,addInputId:`frontmatter-add-field-${w}`,ops:g})]}),t[154]=d,t[155]=n,t[156]=g,t[157]=s,t[158]=w,t[159]=a,t[160]=ae,t[161]=$):$=t[161];let nt;return t[162]!==Ae||t[163]!==je||t[164]!==Ze||t[165]!==Qe||t[166]!==$e||t[167]!==et||t[168]!==tt||t[169]!==$||t[170]!==he?(nt=(0,F.jsxs)(`div`,{className:`space-y-2 rounded-md border p-3`,"data-testid":he,children:[Ae,je,Ze,Qe,$e,et,tt,$]}),t[162]=Ae,t[163]=je,t[164]=Ze,t[165]=Qe,t[166]=$e,t[167]=et,t[168]=tt,t[169]=$,t[170]=he,t[171]=nt):nt=t[171],nt}function ge(e){return(0,F.jsx)(d,{value:e,children:(0,F.jsx)(ae,{option:e})},e)}function _e(e){return(0,F.jsx)(d,{value:e,children:(0,F.jsx)(ae,{option:e})},e)}function ve(e){let t=(0,P.c)(24),{inputId:n,onAdd:i}=e,[a,o]=(0,re.useState)(``),s;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(s=(0,F.jsx)(r,{id:`Va3xJe`}),t[0]=s):s=t[0];let u;t[1]===n?u=t[2]:(u=(0,F.jsx)(l,{htmlFor:n,className:`text-xs`,children:s}),t[1]=n,t[2]=u);let d;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(d=e=>o(e.target.value),t[3]=d):d=t[3];let f=`${n}-input`,p;t[4]!==n||t[5]!==a||t[6]!==f?(p=(0,F.jsx)(x,{id:n,value:a,onChange:d,placeholder:`owner`,"data-testid":f}),t[4]=n,t[5]=a,t[6]=f,t[7]=p):p=t[7];let m;t[8]!==u||t[9]!==p?(m=(0,F.jsxs)(`div`,{className:`min-w-0 flex-1 space-y-1`,children:[u,p]}),t[8]=u,t[9]=p,t[10]=m):m=t[10];let h;t[11]===a?h=t[12]:(h=a.trim(),t[11]=a,t[12]=h);let g=h===``,_;t[13]!==a||t[14]!==i?(_=()=>{i(a.trim()),o(``)},t[13]=a,t[14]=i,t[15]=_):_=t[15];let v=`${n}-save`,y;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,F.jsx)(r,{id:`m16xKo`}),t[16]=y):y=t[16];let b;t[17]!==v||t[18]!==g||t[19]!==_?(b=(0,F.jsx)(c,{size:`sm`,variant:`outline`,disabled:g,onClick:_,"data-testid":v,children:y}),t[17]=v,t[18]=g,t[19]=_,t[20]=b):b=t[20];let S;return t[21]!==b||t[22]!==m?(S=(0,F.jsxs)(`div`,{className:`flex items-end gap-2`,children:[m,b]}),t[21]=b,t[22]=m,t[23]=S):S=t[23],S}function ye(e){let t=(0,P.c)(15),{id:n,initial:r,onCommit:i,placeholder:a,ariaLabel:o,className:s}=e,[c,l]=(0,re.useState)(r),u;t[0]!==c||t[1]!==r||t[2]!==i?(u=()=>{c.trim()!==r&&i(c.trim())},t[0]=c,t[1]=r,t[2]=i,t[3]=u):u=t[3];let d=u,f;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(f=e=>l(e.target.value),t[4]=f):f=t[4];let p;t[5]===d?p=t[6]:(p=e=>{e.key===`Enter`&&d()},t[5]=d,t[6]=p);let m;return t[7]!==o||t[8]!==s||t[9]!==d||t[10]!==c||t[11]!==n||t[12]!==a||t[13]!==p?(m=(0,F.jsx)(x,{id:n,value:c,onChange:f,onBlur:d,onKeyDown:p,placeholder:a,"aria-label":o,className:s,"data-testid":n}),t[7]=o,t[8]=s,t[9]=d,t[10]=c,t[11]=n,t[12]=a,t[13]=p,t[14]=m):m=t[14],m}function H(e){return`/api/asset-text?path=${encodeURIComponent(e)}`}function U(e){let t=(0,P.c)(44),{assetPath:n}=e,{_:r}=i(),[a,o]=te(),s;t[0]===n?s=t[1]:(s=()=>ne(n)?`rules`:null,t[0]=n,t[1]=s);let[c,l]=(0,re.useState)(s),u=c??a,d;t[2]===o?d=t[3]:(d=e=>{l(e),o(e)},t[2]=o,t[3]=d);let f=d,{data:p}=S(),m;t[4]===p?.effective.plugins.frontmatter.schemas?m=t[5]:(m=p?.effective.plugins.frontmatter.schemas??[],t[4]=p?.effective.plugins.frontmatter.schemas,t[5]=m);let h;if(t[6]!==n||t[7]!==m){let e;t[9]===n?e=t[10]:(e=e=>e.file===n,t[9]=n,t[10]=e),h=m.some(e),t[6]=n,t[7]=m,t[8]=h}else h=t[8];let g=h,_=!g||u===`source`,v;t[11]===n?v=t[12]:(v=n.split(`/`).pop()??n,t[11]=n,t[12]=v);let y=v,b;t[13]===y?b=t[14]:(b=y.includes(`.`)?(y.split(`.`).pop()??``).toLowerCase():``,t[13]=y,t[14]=b);let x=b,C;t[15]===n?C=t[16]:(C=(0,F.jsx)(D,{entry:{kind:`asset`,path:n},className:`shrink-0 border-b bg-background px-3 py-1.5`}),t[15]=n,t[16]=C);let w;t[17]===f?w=t[18]:(w=e=>f(e===`source`?`source`:`rules`),t[17]=f,t[18]=w);let T=!g,E;t[19]===r?E=t[20]:(E=r({id:`vF68cg`}),t[19]=r,t[20]=E);let k;t[21]===r?k=t[22]:(k=r({id:`wdxz7K`}),t[21]=r,t[22]=k);let j;t[23]===r?j=t[24]:(j=r({id:`nc-ipN`}),t[23]=r,t[24]=j);let M;t[25]!==_||t[26]!==E||t[27]!==k||t[28]!==j||t[29]!==w||t[30]!==T?(M=(0,F.jsx)(O,{isSourceMode:_,onModeChange:w,wysiwygDisabled:T,wysiwygLabel:E,sourceLabel:k,wysiwygDisabledReason:j}),t[25]=_,t[26]=E,t[27]=k,t[28]=j,t[29]=w,t[30]=T,t[31]=M):M=t[31];let N;t[32]===Symbol.for(`react.memo_cache_sentinel`)?(N=(0,F.jsx)(A,{className:`absolute left-3 top-1/2 -translate-y-1/2`}),t[32]=N):N=t[32];let I;t[33]===M?I=t[34]:(I=(0,F.jsxs)(`div`,{className:`relative flex shrink-0 items-center justify-center border-b bg-background py-2`,children:[M,N]}),t[33]=M,t[34]=I);let L;t[35]!==n||t[36]!==x||t[37]!==y||t[38]!==_?(L=_?(0,F.jsx)(`div`,{className:`min-h-0 flex-1 overflow-hidden`,children:(0,F.jsx)(ee,{src:H(n),fileName:y,extension:x},n)}):(0,F.jsx)(`div`,{className:`min-h-0 flex-1 overflow-y-auto px-4 py-4 sm:px-6`,children:(0,F.jsx)(`div`,{className:`mx-auto w-full max-w-3xl`,children:(0,F.jsx)(fe,{file:n})})}),t[35]=n,t[36]=x,t[37]=y,t[38]=_,t[39]=L):L=t[39];let ie;return t[40]!==I||t[41]!==L||t[42]!==C?(ie=(0,F.jsxs)(`div`,{className:`flex h-full min-h-0 flex-col bg-background`,"data-schema-config-editor":``,children:[C,I,L]}),t[40]=I,t[41]=L,t[42]=C,t[43]=ie):ie=t[43],ie}export{U as SchemaConfigEditor};
@@ -1 +0,0 @@
1
- import{t as e}from"./repair-skills-DwQqF8O8.mjs";export{e as repairSkills};
@@ -1 +0,0 @@
1
- import{a as e,o as t,r as n}from"./server-lock-DpWXnrNF.mjs";export{n as markServerLockDraining,e as releaseServerLock,t as updateServerLockPort};
@@ -1 +0,0 @@
1
- import{C as e,Ja as t,Ma as n,Na as r,Pa as i,Xa as a,bo as o,d as s,l as c,oo as l,y as u}from"./src-DY417osM.mjs";import{$ as d,$i as f,$n as p,$r as m,$t as h,A as g,Ai as _,An as v,At as y,B as b,Bi as x,Bn as S,Br as C,Bt as w,C as T,Ci as E,Cn as D,Cr as O,Ct as k,D as A,Di as j,Dn as M,Dr as N,Dt as P,E as F,Ei as I,En as L,Er as R,Et as z,F as B,Fi as V,Fn as H,Fr as U,Ft as W,G,Gi as K,Gn as q,Gr as J,Gt as Y,H as X,Hi as Z,Hn as Q,Hr as $,Ht as ee,I as te,Ii as ne,In as re,Ir as ie,It as ae,J as oe,Ji as se,Jn as ce,Jr as le,Jt as ue,K as de,Ki as fe,Kn as pe,Kr as me,Kt as he,L as ge,Li as _e,Ln as ve,Lr as ye,Lt as be,M as xe,Mi as Se,Mn as Ce,Mt as we,N as Te,Ni as Ee,Nn as De,Nt as Oe,O as ke,Oi as Ae,On as je,Or as Me,Ot as Ne,P as Pe,Pi as Fe,Pn as Ie,Pr as Le,Pt as Re,Q as ze,Qi as Be,Qn as Ve,Qr as He,Qt as Ue,R as We,Ri as Ge,Rn as Ke,Rr as qe,Rt as Je,S as Ye,Si as Xe,Sn as Ze,Sr as Qe,St as $e,T as et,Ti as tt,Tn as nt,Tr as rt,Tt as it,U as at,Ui as ot,Un as st,Ur as ct,Ut as lt,V as ut,Vi as dt,Vn as ft,Vr as pt,Vt as mt,W as ht,Wi as gt,Wn as _t,Wr as vt,Wt as yt,X as bt,Xi as xt,Xn as St,Xr as Ct,Xt as wt,Y as Tt,Yi as Et,Yn as Dt,Yr as Ot,Yt as kt,Z as At,Zi as jt,Zn as Mt,Zr as Nt,Zt as Pt,_ as Ft,_i as It,_n as Lt,_r as Rt,_t as zt,a as Bt,aa as Vt,ai as Ht,an as Ut,ar as Wt,at as Gt,b as Kt,bi as qt,bn as Jt,br as Yt,bt as Xt,c as Zt,ca as Qt,ci as $t,cn as en,cr as tn,ct as nn,d as rn,da as an,di as on,dn as sn,dr as cn,ea as ln,ei as un,en as dn,er as fn,et as pn,f as mn,fa as hn,fi as gn,fn as _n,fr as vn,g as yn,gi as bn,gn as xn,gr as Sn,gt as Cn,h as wn,ha as Tn,hi as En,hn as Dn,hr as On,i as kn,ia as An,ii as jn,in as Mn,ir as Nn,it as Pn,j as Fn,ji as In,jn as Ln,jt as Rn,k as zn,ki as Bn,kn as Vn,kt as Hn,l as Un,la as Wn,li as Gn,ln as Kn,lr as qn,lt as Jn,m as Yn,ma as Xn,mi as Zn,mn as Qn,mr as $n,n as er,na as tr,ni as nr,nn as rr,nr as ir,nt as ar,o as or,oa as sr,oi as cr,on as lr,or as ur,ot as dr,p as fr,pa as pr,pi as mr,pn as hr,pr as gr,q as _r,qi as vr,qn as yr,qr as br,qt as xr,r as Sr,ra as Cr,ri as wr,rn as Tr,rr as Er,rt as Dr,s as Or,sa as kr,si as Ar,sn as jr,sr as Mr,st as Nr,t as Pr,ta as Fr,ti as Ir,tn as Lr,tr as Rr,tt as zr,u as Br,ua as Vr,ui as Hr,un as Ur,ur as Wr,v as Gr,vi as Kr,vn as qr,vr as Jr,vt as Yr,w as Xr,wi as Zr,wn as Qr,wr as $r,wt as ei,x as ti,xi as ni,xn as ri,xr as ii,xt as ai,y as oi,yi as si,yn as ci,yr as li,yt as ui,z as di,zi as fi,zn as pi,zr as mi,zt as hi}from"./src-BkP5u3RK.mjs";import{C as gi,E as _i,T as vi,_ as yi,b as bi,c as xi,d as Si,g as Ci,i as wi,l as Ti,m as Ei,n as Di,p as Oi,s as ki,t as Ai,u as ji,v as Mi,w as Ni,x as Pi,y as Fi}from"./fs-traced-BmZQL7v9.mjs";import{a as Ii,d as Li,f as Ri,i as zi,l as Bi,n as Vi,r as Hi,t as Ui,u as Wi}from"./logger-B7Z8XO-z.mjs";import{S as Gi,_ as Ki,a as qi,c as Ji,f as Yi,g as Xi,h as Zi,i as Qi,l as $i,m as ea,n as ta,o as na,p as ra,r as ia,s as aa,t as oa,u as sa,v as ca,x as la}from"./server-lock-DpWXnrNF.mjs";export{sr as AGENT_ID_MAX_LEN,kr as AGENT_ID_RE,Xe as AGENT_WRITE_ORIGIN,pr as AcpPermissionStore,Vr as AcpRegistry,si as AcpThreadManager,It as AgentFocusBroadcaster,bn as AgentPresenceBroadcaster,E as AgentSessionCapacityError,Zr as AgentSessionManager,zt as AutoStartDisabledError,$n as BUNDLE_IDS,On as BUNDLE_SCOPE,Sn as BUNDLE_SKILL_NAME,De as BacklinkIndex,Fe as CC1Broadcaster,a as CC1_CONTRACT_VERSION,Mn as CONFIG_FILENAME,je as CONFLICT_MARKER_RE,qe as CURSOR_BUNDLE_PATHS_BY_PLATFORM,Ft as ConfigSchema,x as DEFAULT_CHECKPOINT_RETENTION,un as DEFAULT_EMBEDDINGS_DIMENSIONS,W as DEFAULT_PACK_ID,X as DocumentDurabilityState,Ir as EMBEDDINGS_API_KEY_ENV,an as FEATURED_AGENT_IDS,dt as FILE_SYSTEM_WRITER,Ce as FILE_WATCHER_ORIGIN,le as FileEmbeddingsBackend,h as GIT_PREFLIGHT_FAIL_SPAN_NAME,Z as GIT_UPSTREAM_WRITER,Xn as GitDirAccessError,S as GitNotAvailableError,ft as GitTooOldError,Yr as HOCUSPOCUS_AUTH_REJECTION_REASONS,ui as HocuspocusAuthRejection,Xt as HocuspocusAuthTokenSchema,vt as INSTALLED_AGENTS_SCHEMES,t as LINEAGE_EPOCH_KEY,di as LIVE_DERIVED_INDEX_DEBOUNCE_MS,ae as LOG_MD_TEMPLATE,z as MANAGED_RENAME_ORIGIN,qt as MAX_ACP_THREADS,tt as MAX_AGENT_SESSIONS,nn as MCP_CONNECTION_ID_HEADER,n as MCP_SERVER_NAME,I as MIN_EVICTABLE_IDLE_MS,Q as MIN_GIT_VERSION,at as MISSING_OK_CONFIG_MESSAGE,Tn as MalformedGitPointerError,pn as McpLogger,ht as MissingOkConfigError,Ae as OBSERVER_SYNC_ORIGIN,Ut as OK_OKIGNORE_TEMPLATE,r as ORPHAN_MODES,o as PROTOCOL_VERSION,Ui as PinoLogger,Ji as ProcessLockCollisionError,Un as ProjectGitInitError,P as ROLLBACK_ORIGIN,lr as ROOT_GITIGNORE_TEMPLATE,Xi as RUNTIME_VERSION,ot as SERVICE_WRITER,qn as SKILL_INSTALL_EVENTS_FILE_REL,u as SKILL_STATE_TARGETS,be as STARTER_FOLDERS,Je as STARTER_FOLDER_FRONTMATTER_FILENAME,hi as STARTER_PACKS,w as STARTER_PACK_IDS,mt as STARTER_TEMPLATES,F as STATE_MANIFEST_FILENAME,Ki as STATE_SCHEMA_VERSION,l as SYSTEM_DOC_NAME,xr as SeedPrerequisiteError,ue as SeedRootDirError,oa as ServerLockCollisionError,Pr as SingleFileNotAFileError,er as SingleFileNotFoundError,Sr as SingleFileNotMarkdownError,A as StateManifestError,et as TagIndex,Rt as USER_GLOBAL_BUNDLE_IDS,H as UiLockCollisionError,Ne as __getShowAllWalkStatsForTesting,Hn as __resetShowAllWalkStatsForTesting,$i as acquireProcessLock,ta as acquireServerLock,re as acquireUiLock,j as applyAgentMarkdownWrite,L as applyExternalChange,Re as applySeed,ke as assertCompatibleStateManifest,st as assertGitAvailable,Qn as assertNeverDiskEvent,Kr as attachAcpThreadSocket,Cn as attachIdleShutdown,Gr as bootServer,Ve as buildAndOpenSkill,jr as buildConfigYmlContent,Tt as buildExecResult,ni as buildOkMcpStdioCommand,cn as buildSkillZip,ee as buildStarterFolderFrontmatterYaml,gt as buildWipTree,Jr as bundleSkillMdPath,Ot as canonicalProjectKey,Dn as classifyEvents,Ai as classifyFsPath,Ct as clearAllEmbeddingsKeys,wr as clearContributors,lt as coercePackId,c as colorFromSeed,K as commitUpstreamImport,fe as commitWip,vr as commitWipFromTree,_t as compareSemver,ii as composeEffectiveLinterConfig,Qe as composeFrontmatterSchemasConfig,Vn as containsConflictMarkers,xn as contentHash,jn as contributorCount,B as countShadowObjects,te as countStaleAgentWipRefs,ge as countWipRefs,y as createApiExtension,mr as createAssetServeMiddleware,Le as createContentFilter,U as createContentFilterAsync,Nt as createEmbeddingsSecretStore,kn as createEphemeralProjectDir,M as createExternalChangeHandler,mn as createFileLogger,b as createLiveDerivedIndexExtension,_r as createMcpHttpHandler,J as createOsProbe,Pe as createPersistenceExtension,T as createServer,xe as createServerObserverExtension,In as createStreamingErrorWriter,Vi as createTestLogger,He as describeStoredEmbeddingsKey,yn as detectClaudeDesktopPresence,q as detectGit,zn as detectProjectShape,p as detectUserSkillHosts,Dr as discoverLockDirs,rt as discoverMarkdownlintConfig,dn as emitPreflightFailureSpan,bt as encodeDocName,At as encodeFolderRoute,ze as encodeSkillRoute,Br as ensureProjectGit,en as ensureProjectSkillGitignore,Se as errorResponse,Lt as evictStaleTrackerEntries,Pn as extractOkBinaryPath,Ie as extractWikiLinksFromMarkdown,pe as fallbackPaths,rn as findEnclosingGitRoot,_n as findEnclosingProjectRoot,R as findNativeMarkdownlintFile,fr as flushFileLogger,ai as formatAuthRejectionWire,Ht as formatContributors,cr as formatContributorsFrom,we as formatPackRationale,se as gcCheckpointRefs,zr as getCurrentMcpLogger,Hr as getLocalDir,Yn as getLogFilePath,Hi as getLogger,wn as getLogsDir,ca as getMachineId,Fi as getMeter,Fr as getMetrics,bi as getTracer,tr as handleCollabSocketError,mi as handleSpawnCursor,We as hasGcLogLatch,s as iconFromClientName,Cr as incrementCollabSocketFilteredError,An as incrementServerObserverFire,Kn as initContent,Et as initShadowRepo,Pi as initTelemetry,Kt as initToleranceTelemetryWriter,Nr as installPrettyZodErrors,zi as installTestLoggers,fn as installUserSkill,En as isAllowedApiOrigin,kt as isAllowedWorkspaceHostHeader,V as isConfigDoc,$e as isHocuspocusAuthRejectionReason,yt as isKnownPackId,ne as isLinkIndexExcludedDoc,wt as isLoopbackAddress,_e as isManagedArtifactDoc,i as isOrphanMode,Bn as isPairedWriteOrigin,C as isPathWithinDir,la as isProcessAlive,hr as isProjectRoot,ce as isProjectSkillManaged,Ge as isReservedForUserTree,qr as isSelfWrite,fi as isSystemDoc,ti as isToleranceTelemetryEnabled,Gi as isValidLockPid,ci as lastKnownHash,xt as listRescueCheckpoints,Y as listStarterPacks,hn as loadCustomAgents,Te as loadPrincipal,sa as lockFilePath,Ii as loggerFactory,Bi as logsCurrentPath,Wi as logsPreviousPath,m as makeLazyEmbeddingsKeyStore,ia as markServerLockDraining,G as mountMcpAndApi,Di as normalizeFsPath,li as originGitHubHost,Ur as packageVersionMajorMinor,k as parseAuthRejectionWire,yr as parseGitVersion,ei as parseHocuspocusAuthToken,de as parseKeepaliveConnectionId,Jt as pathToDocName,Oe as planSeed,Bt as prepareSingleFileOpen,Gt as processCommand,dr as processUsage,Rr as readAllTargets,ir as readBundleDecision,N as readOwnNativeRules,Yi as readProcessLock,ra as readProcessLockDetailed,ut as readProjectHeadState,br as readProjectLocalSemanticConfig,Qi as readServerLock,Er as readServerPackageVersion,Nn as readSkillInstallStateSnapshot,Dt as readSkillManagement,g as readStateManifest,Wt as readTargetRecordedAt,ur as readTargetVersion,ve as readUiLock,v as reconcile,Ar as recordContributor,Wr as recordSkillInstallEvent,oe as registerAllTools,ri as registerWrite,ea as releaseProcessLock,qi as releaseServerLock,Ke as releaseUiLock,Ze as removeLastKnownHash,Vt as resetMetrics,e as resolveBundleEnabled,vn as resolveBundledSkillDir,on as resolveContentDir,pt as resolveCursorBinaryDefault,$ as resolveCursorSpawnInvocation,O as resolveEffectiveLinterConfig,nr as resolveEmbeddingsCredential,gn as resolveLockDir,$r as resolveNativeConfigForDoc,Me as resolveNativeMarkdownlintConfig,he as resolvePack,Or as resolvePackageVersion,d as resolveUiInfo,$t as restoreContributors,oi as restoreLifecycleFromConflictsJson,ie as rewriteMarkdownLinksForDocumentRename,ye as rewriteWikiLinksForDocumentRename,Lr as runAuthReposSubprocess,rr as runAuthStatusSubprocess,Pt as runCloneSubprocess,Tr as runDeviceFlowSubprocess,ar as runWithMcpLogger,Zn as safeContentPath,Rn as safeSubdir,jt as safetyCheckpoint,Jn as sanitizeClientName,Be as saveInMemoryCheckpoint,f as saveVersion,it as seedBasenameIndex,or as serializeError,gi as setActiveSpanAttributes,_ as setupServerObservers,ln as shadowGit,Ni as shutdownTelemetry,St as skillManagementPath,Li as spansCurrentPath,Ri as spansPreviousPath,ct as spawnDetached,Ln as splitMarkdownBlocks,D as startWatcher,Ee as streamingProblemEvent,Gn as swapContributors,Ye as teardownToleranceTelemetryWriter,Qt as toBroadcasterKey,wi as tracedAppendFileSync,ki as tracedLinkSync,xi as tracedMkdir,Ti as tracedMkdirSync,ji as tracedRename,Si as tracedRenameSync,Oi as tracedRmSync,Ei as tracedRmdirSync,Ci as tracedUnlinkSync,yi as tracedWriteFile,Mi as tracedWriteFileSync,Xr as trustSystemCertificates,Zt as untrackTrackedProjectSkillProjection,Qr as updateLastKnownHash,Zi as updateProcessLockPort,na as updateServerLockPort,pi as updateUiLockPort,Wn as validateAgentId,Ue as validateCloneInputs,gr as validateSkillZip,aa as waitForServerLockDrain,me as withHiddenWindowsConsole,vi as withSpan,_i as withSpanSync,Mr as writeBundleDecision,Yt as writeMarkdownlintRule,sn as writeRootGitignoreForNewRepo,Mt as writeSkillManagement,Fn as writeStateManifest,tn as writeTargetVersion,nt as writeTracker};