@inkeep/open-knowledge 0.37.1 → 0.37.3

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 (111) hide show
  1. package/dist/{acp-harness-probe-BaXcmDE0.mjs → acp-harness-probe-N1sSMZGg.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/assets/skills/write-skill/SKILL.md +1 -1
  5. package/dist/cli.mjs +62 -63
  6. package/dist/constants-CchUdUMd.mjs +2 -0
  7. package/dist/{git-handle-Dn9o6II0.mjs → git-handle-BNHoFrny.mjs} +2 -2
  8. package/dist/git-handle-CBwvOa-O.mjs +1 -0
  9. package/dist/index.d.mts +12 -1
  10. package/dist/index.mjs +1 -1
  11. package/dist/init-AZMgQ3nS.mjs +1 -0
  12. package/dist/init-CBfUP8hN.mjs +643 -0
  13. package/dist/{launch-json-removal-BNpNXmQG.mjs → launch-json-removal-RCdxWSel.mjs} +2 -2
  14. package/dist/{loader-Cz_WhlON.mjs → loader-DcESlMxI.mjs} +2 -2
  15. package/dist/loader-EZiQC7cG.mjs +1 -0
  16. package/dist/{open-browser-BTGfTWF8.mjs → open-browser-DGOoelb3.mjs} +2 -2
  17. package/dist/{preview-DJt8zOrQ.mjs → preview-Bt-_RLQB.mjs} +2 -2
  18. package/dist/preview-DGyDBzMH.mjs +1 -0
  19. package/dist/public/assets/{ActivityModeContent-fBC0Voik.js → ActivityModeContent-Cgqa56C2.js} +1 -1
  20. package/dist/public/assets/{AgentDiffPane-ChHaUBEu.js → AgentDiffPane-BnvGYsRG.js} +1 -1
  21. package/dist/public/assets/{AgentThreadClientBinder-BMUA20Qq.js → AgentThreadClientBinder-Dzf4FbOU.js} +1 -1
  22. package/dist/public/assets/{CodeMirrorPropInput-0TqZTWBW.js → CodeMirrorPropInput-Cx9FW420.js} +3 -3
  23. package/dist/public/assets/{DocumentContext-BcosLIs9.js → DocumentContext-Dog3N-Wc.js} +17 -17
  24. package/dist/public/assets/{EnableSyncConfirmDialog-Bo_sKBNs.js → EnableSyncConfirmDialog-DtYm7V_O.js} +1 -1
  25. package/dist/public/assets/{GraphPanel-CpJnEgaj.js → GraphPanel-CvqA9xnU.js} +1 -1
  26. package/dist/public/assets/{ManagedArtifactProperties-Cq1ODSN4.js → ManagedArtifactProperties-67a94DaU.js} +1 -1
  27. package/dist/public/assets/{McpConsentDialogBody-hjXtWWhb.js → McpConsentDialogBody-KLslh1LR.js} +1 -1
  28. package/dist/public/assets/{MermaidDocEditor-Bxza5rNh.js → MermaidDocEditor-DH7WRAfL.js} +1 -1
  29. package/dist/public/assets/{PropertyPanel-BoUU2Tf8.js → PropertyPanel-BoKsESSi.js} +1 -1
  30. package/dist/public/assets/{ReportBugDialogBody-CYIt3IGK.js → ReportBugDialogBody-Dg8V3ei2.js} +1 -1
  31. package/dist/public/assets/SettingsDialogBody-DVTTk_BU.js +7 -0
  32. package/dist/public/assets/{ShareBranchSwitchDialog-BDTs1Q1p.js → ShareBranchSwitchDialog-l3OatXNl.js} +1 -1
  33. package/dist/public/assets/ShareReceiveDialog-DuvJdcqg.js +1 -0
  34. package/dist/public/assets/{ShareReceiveMissDialog-Dh6JMbsb.js → ShareReceiveMissDialog-DLNWM2Pm.js} +1 -1
  35. package/dist/public/assets/{SkillEditorActions-NiL9cPXX.js → SkillEditorActions-B5cWxK9p.js} +1 -1
  36. package/dist/public/assets/{SourceEditor-DAvUlAy0.js → SourceEditor-yoaSx3d8.js} +1 -1
  37. package/dist/public/assets/{TerminalPanel-OeXRTBwe.js → TerminalPanel-D3vyvoTf.js} +1 -1
  38. package/dist/public/assets/TerminalSessionsHost-D500Eh7g.js +2 -0
  39. package/dist/public/assets/{TerminalWindowApp-CH4As48E.js → TerminalWindowApp-aWCNBKLz.js} +1 -1
  40. package/dist/public/assets/{ThreadView-BsUfIPqU.js → ThreadView-nnZWrgGO.js} +1 -1
  41. package/dist/public/assets/{TimelineDiffPane-DsFAdXX4.js → TimelineDiffPane-B7O4osuT.js} +1 -1
  42. package/dist/public/assets/{agent-diff-store-CmFPaGyV.js → agent-diff-store-DuUxJBjU.js} +1 -1
  43. package/dist/public/assets/{agent-visibility-BKHfJySh.js → agent-visibility-D2Mr5Jzk.js} +1 -1
  44. package/dist/public/assets/{auth-state-cache-CnAAGiPA.js → auth-state-cache-CEBkZrQO.js} +7 -7
  45. package/dist/public/assets/{config-provider-DMJrhWUp.js → config-provider-pXCSDe7I.js} +2 -2
  46. package/dist/public/assets/dist-CAKhzFlX.js +124 -0
  47. package/dist/public/assets/{dist-CJUUFO9W.js → dist-DZ_OIHsD.js} +1 -1
  48. package/dist/public/assets/{dist-D6R8vG-1.js → dist-zc03OoUp.js} +2 -2
  49. package/dist/public/assets/{doc-hash-sxvnKnL5.js → doc-hash-D8EI7kHA.js} +1 -1
  50. package/dist/public/assets/{documents-events-Bd2Tt95I.js → documents-events-BTDcCELc.js} +1 -1
  51. package/dist/public/assets/{file-tree-adapter-Cl9Gep-E.js → file-tree-adapter-BJqJ74LH.js} +1 -1
  52. package/dist/public/assets/index-1TeKfA3W.js +1995 -0
  53. package/dist/public/assets/index-CJ_7DqKn.css +1 -0
  54. package/dist/public/assets/{keyboard-shortcuts-ziymY5lY.js → keyboard-shortcuts-g08DUgcY.js} +1 -1
  55. package/dist/public/assets/{lint-config-client-B4tvFSj6.js → lint-config-client-BcxnEgHO.js} +1 -1
  56. package/dist/public/assets/{navigation-targets-CdngrI3e.js → navigation-targets-DUt4VF6E.js} +1 -1
  57. package/dist/public/assets/{open-managed-artifact-tab-CLJdEdvs.js → open-managed-artifact-tab-CRLFq4-B.js} +1 -1
  58. package/dist/public/assets/{pending-receive-nav-store-pcoVj0T5.js → pending-receive-nav-store-C4eKkzcx.js} +1 -1
  59. package/dist/public/assets/{prop-types-DIMZw1aA.js → prop-types-CBBOToAL.js} +1 -1
  60. package/dist/public/assets/{receive-store-CnAYtEWn.js → receive-store-nuIidOiz.js} +1 -1
  61. package/dist/public/assets/{selection-context-BLlRaGhH.js → selection-context-DgIDY04o.js} +1 -1
  62. package/dist/public/assets/{skill-actions-D_uHXMrN.js → skill-actions-DzaHqGRg.js} +1 -1
  63. package/dist/public/assets/{skills-api-CMDs_cbJ.js → skills-api-BOe6s3mN.js} +1 -1
  64. package/dist/public/assets/{src-DPcWwhgv.js → src-gANoUa2-.js} +1 -1
  65. package/dist/public/assets/{target-navigation-intent-BojcuU7o.js → target-navigation-intent-DzXHO48d.js} +1 -1
  66. package/dist/public/assets/{telemetry-impl-CDBAVJb9.js → telemetry-impl-ClWP6_iI.js} +1 -1
  67. package/dist/public/assets/{telemetry-startup-CZwQc5d3.js → telemetry-startup-D0otGNQT.js} +1 -1
  68. package/dist/public/assets/{terminal-launch-events-fYxl8byx.js → terminal-launch-events-BcKnMQ0G.js} +1 -1
  69. package/dist/public/assets/{terminal-telemetry-YHplv3Gm.js → terminal-telemetry-B-c91nRO.js} +1 -1
  70. package/dist/public/assets/{typing-burst-detector-rg4heHQj.js → typing-burst-detector-B_jwquxb.js} +1 -1
  71. package/dist/public/assets/{use-activity-panel-DXQ7UC10.js → use-activity-panel-Ds1FSy22.js} +1 -1
  72. package/dist/public/assets/{use-apply-config-color-theme-Bb_FV0b5.js → use-apply-config-color-theme-CTTOdBYC.js} +1 -1
  73. package/dist/public/assets/{use-collab-url-xyz-Nyoe.js → use-collab-url-DJN-Eh99.js} +1 -1
  74. package/dist/public/assets/{use-live-xterm-theme-qqv_COHj.js → use-live-xterm-theme-BVrjqV4f.js} +1 -1
  75. package/dist/public/assets/{use-terminal-enabled-CoqSHX6g.js → use-terminal-enabled-WZKABQLf.js} +1 -1
  76. package/dist/public/assets/{use-timeline-entry-diff-vDsLY3JP.js → use-timeline-entry-diff-DD8d8a6p.js} +1 -1
  77. package/dist/public/assets/{use-workspace--VMy_KL1.js → use-workspace-CqL9iZdQ.js} +1 -1
  78. package/dist/public/assets/{workspace-paths-0CCDk_CH.js → workspace-paths-d9KyFHx6.js} +1 -1
  79. package/dist/public/index.html +34 -34
  80. package/dist/{repair-launch-json-QySpBNGz.mjs → repair-launch-json-zFpMB98b.mjs} +2 -2
  81. package/dist/{repair-mcp-configs-BnLNbEPY.mjs → repair-mcp-configs-BooTRwN8.mjs} +2 -2
  82. package/dist/repair-skills-DXhO-R2J.mjs +1 -0
  83. package/dist/{repair-skills-my6e7ABJ.mjs → repair-skills-M9d8MZVm.mjs} +2 -2
  84. package/dist/server-lock-3eYo5zvq.mjs +1 -0
  85. package/dist/{server-lock-BCKlDt3u.mjs → server-lock-DfCsjalw.mjs} +2 -2
  86. package/dist/src-CDixjEaS.mjs +3262 -0
  87. package/dist/src-CL0d0X9t.mjs +1 -0
  88. package/dist/{src-CB6BqwdE.mjs → src-CXOotH7J.mjs} +109 -109
  89. package/dist/src-DRGXfsmB.mjs +21 -0
  90. package/dist/{start-BzmMNHPk.mjs → start-CJDgfxsl.mjs} +2 -2
  91. package/dist/start-DWQUoMMz.mjs +1 -0
  92. package/dist/{write-project-skill-BIiTrHhN.mjs → write-project-skill-B7oIs3rt.mjs} +4 -4
  93. package/package.json +5 -5
  94. package/dist/constants-BtC4Ad17.mjs +0 -2
  95. package/dist/git-handle-CeDCG6sj.mjs +0 -1
  96. package/dist/init-B-c_JFb0.mjs +0 -1
  97. package/dist/init-CCXK-jEf.mjs +0 -643
  98. package/dist/loader-Cc0XghVD.mjs +0 -1
  99. package/dist/preview-BS1Ouf2D.mjs +0 -1
  100. package/dist/public/assets/SettingsDialogBody-Ya-LreoD.js +0 -7
  101. package/dist/public/assets/ShareReceiveDialog-B2mln2_V.js +0 -1
  102. package/dist/public/assets/TerminalSessionsHost-uEP7qR5I.js +0 -2
  103. package/dist/public/assets/dist-CG58rUCC.js +0 -113
  104. package/dist/public/assets/index-CD3OM1Xi.js +0 -1995
  105. package/dist/public/assets/index-DS4HqlZl.css +0 -1
  106. package/dist/repair-skills-ZB7QzRgz.mjs +0 -1
  107. package/dist/server-lock-BrjnkHOv.mjs +0 -1
  108. package/dist/src-5hx6F-Ql.mjs +0 -3262
  109. package/dist/src-B1d5f35Y.mjs +0 -21
  110. package/dist/src-BuzTw3li.mjs +0 -1
  111. package/dist/start-DkuS68HX.mjs +0 -1
@@ -1,21 +0,0 @@
1
- import{o as e}from"./chunk-DTipWd-i.mjs";import{F as t,P as n}from"./src-CB6BqwdE.mjs";import{Mr as r,Tr as i,et as a,fa as o,nn as s,nt as c,rt as l,tt as u}from"./src-5hx6F-Ql.mjs";import{U as d}from"./sleep-DcENuR74.mjs";import{O as f,P as p}from"./fs-traced-DamTBe_K.mjs";import{b as m,u as h,v as g,y as _}from"./server-lock-BCKlDt3u.mjs";import{t as v}from"./yazl-DZr4PyKA.mjs";import{C as y,d as b,i as ee,v as x,y as S}from"./write-project-skill-BIiTrHhN.mjs";import"./acp-harness-probe-BaXcmDE0.mjs";import{E as te,S as ne,T as re,_ as C,b as w,o as ie,v as ae,w as T}from"./init-CCXK-jEf.mjs";import{n as oe}from"./constants-BtC4Ad17.mjs";import{t as E}from"./is-object-DKopTkoU.mjs";import"./loader-Cz_WhlON.mjs";import{c as se}from"./colors-BslXS0bZ.mjs";import"./preview-DJt8zOrQ.mjs";import{execSync as D,spawnSync as O}from"node:child_process";import{basename as k,dirname as A,isAbsolute as ce,join as j,relative as le,resolve as M,sep as ue}from"node:path";import{cpSync as de,createWriteStream as fe,existsSync as N,lstatSync as pe,mkdirSync as P,mkdtempSync as me,readFileSync as F,readdirSync as he,readlinkSync as ge,rmSync as I,statSync as _e,writeFileSync as L}from"node:fs";import{arch as ve,freemem as ye,homedir as be,hostname as xe,platform as Se,release as Ce,tmpdir as we,totalmem as Te,type as Ee,uptime as De}from"node:os";import{realpath as R}from"node:fs/promises";import{createHash as z}from"node:crypto";const Oe=[{name:`macos-home-path`,regex:/\/Users\/[^/]+\//g,replacement:`~/`},{name:`linux-home-path`,regex:/\/home\/[^/]+\//g,replacement:`~/`},{name:`github-pat`,regex:/\b(ghp_|gho_|ghu_|ghs_|ghr_)[A-Za-z0-9]{36,}\b/g,replacement:`[REDACTED-GH-PAT]`},{name:`aws-access-key`,regex:/\b(AKIA|ASIA|ABIA)[A-Z2-7]{16}\b/g,replacement:`[REDACTED-AWS-KEY]`},{name:`anthropic-key`,regex:/\bsk-ant-api03-[A-Za-z0-9_-]{20,}\b/g,replacement:`[REDACTED-ANTHROPIC]`},{name:`openai-key`,regex:/\bsk-[A-Za-z0-9]{20,}\b/g,replacement:`[REDACTED-OPENAI]`},{name:`bearer-token`,regex:/([Aa]uthorization:\s*[Bb]earer\s+)\S+/g,replacement:`$1[REDACTED]`},{name:`jwt`,regex:/eyJ[A-Za-z0-9_-]{8,}\.eyJ[A-Za-z0-9_-]{8,}\.[A-Za-z0-9_-]{8,}/g,replacement:`[REDACTED-JWT]`},{name:`url-credentials`,regex:/:\/\/[^/\s:@]+:[^/\s:@]+@/g,replacement:`://[REDACTED]@`}],ke=Oe.map(e=>e.name);function B(e){let t=new Set,n=0;return{redacted:e.split(`
2
- `).map(e=>{let r=e;for(let{name:e,regex:i,replacement:a}of Oe)i.lastIndex=0,i.test(r)&&(t.add(e),n++,i.lastIndex=0,r=r.replace(i,a));return r}).join(`
3
- `),patterns:[...t],lineCount:n}}function Ae(){return j(be(),`.ok`,`bug-reports`)}function je(e=new Date){let t=e.toISOString().replace(/[:.]/g,`-`);return j(Ae(),`${t}-bugreport.zip`)}function Me(e,t){let n=j(e,`.ok`,`config.yml`);if(N(n))try{let e=F(n,`utf8`).match(/^\s*name:\s*['"]?(.+?)['"]?\s*$/m);if(e?.[1])return e[1]}catch(e){t?.warn({configPath:n,err:e instanceof Error?e.message:String(e)},`bug-report: failed to read .ok/config.yml for project slug; using path-hash fallback`)}return N(j(e,`.ok`))?z(`sha256`).update(M(e)).digest(`hex`).slice(0,12):null}function Ne(){let e={timestamp:new Date().toISOString(),platform:Se(),osType:Ee(),osRelease:Ce(),hostname:`[redacted]`,uptime:De(),freeMem:ye(),totalMem:Te(),nodeVersion:process.version,bunVersion:process.versions.bun??null,v8Version:process.versions.v8??null,pid:process.pid};try{e.macosVersion=D(`sw_vers -productVersion 2>/dev/null`,r({encoding:`utf8`})).trim()}catch{}try{let t=j(__dirname,`..`,`..`,`package.json`);N(t)&&(e.okVersion=JSON.parse(F(t,`utf8`)).version)}catch{}return e}function Pe(e,t){if(!N(t))return{files:[]};let n=he(t).filter(e=>e.endsWith(`.log`)||/\.log\.\d+$/.test(e)).map(e=>j(t,e));if(e&&n.length>0){let t=n.filter(t=>{try{return F(t,`utf8`).includes(`"project":"${e}"`)}catch{return!0}});t.length>0&&(n=t)}return{files:n}}function Fe(e){let t=j(e,`.ok`,`local`);return N(t)?{files:[`server.lock`,`last-spawn-error.log`,n].map(e=>j(t,e)).filter(e=>N(e))}:{files:[]}}function Ie(e){let t=j(e,`.ok`,`local`,`logs`);return N(t)?{files:[`server-current.jsonl`,`server-prev.jsonl`].map(e=>j(t,e)).filter(e=>N(e))}:{files:[]}}function Le(e){if(e.redact){let{redacted:t,patterns:n,lineCount:r}=B(e.content);e.zipfile.addBuffer(Buffer.from(t,`utf8`),e.name),e.bundleFiles.push(e.name),n.length>0&&e.redactions.push({file:e.name,lineCount:r,patterns:n})}else e.zipfile.addBuffer(Buffer.from(e.content,`utf8`),e.name),e.bundleFiles.push(e.name)}function V(e){for(let t of e.files)try{Le({zipfile:e.zipfile,name:`${e.prefix}/${k(t)}`,content:F(t,`utf8`),redact:e.redact,bundleFiles:e.bundleFiles,redactions:e.redactions})}catch(n){e.logger?.warn({file:t,prefix:e.prefix,err:n instanceof Error?n.message:String(n)},`bug-report: skipped unreadable file`)}}async function Re(t){let{redact:n,outputPath:r,logger:i}=t,a=t.userLogsDir??j(be(),`.ok`,`logs`),o=t.projectDir?Me(t.projectDir,i):null;P(A(r),{recursive:!0}),i?.info({projectSlug:o},`gathering diagnostic data`);let s=Ne();s.desktop=t.desktop??null;let{files:c}=Pe(o,a),{files:l}=t.projectDir?Fe(t.projectDir):{files:[]},{files:u}=t.projectDir?Ie(t.projectDir):{files:[]};i?.info({logFileCount:c.length,lockFileCount:l.length,localSinkFileCount:u.length},`files collected`);let d=[],f=[],{ZipFile:p}=await import(`./yazl-jVENrf5i.mjs`).then(t=>e(t.default,1)),m=new p;V({zipfile:m,files:c,prefix:`logs`,redact:n,bundleFiles:f,redactions:d,logger:i}),V({zipfile:m,files:l,prefix:`lockdir`,redact:n,bundleFiles:f,redactions:d,logger:i}),V({zipfile:m,files:u,prefix:`local-logs`,redact:n,bundleFiles:f,redactions:d,logger:i});for(let e of t.extraFiles??[])try{let t=F(e.sourcePath),n=`extra/${e.zipName??k(e.sourcePath)}`;m.addBuffer(t,n),f.push(n)}catch(t){i?.warn({sourcePath:e.sourcePath,err:t},`extra file unreadable; omitted from bundle`)}t.note&&Le({zipfile:m,name:`note.txt`,content:t.note,redact:n,bundleFiles:f,redactions:d});let h=JSON.stringify(s,null,2);m.addBuffer(Buffer.from(h,`utf8`),`sysinfo.json`),f.push(`sysinfo.json`);let g={generatedAt:new Date().toISOString(),disciplineVersion:`1.0.0`,projectSlug:o,files:f,redactions:d,sysinfo:s};m.addBuffer(Buffer.from(JSON.stringify(g,null,2),`utf8`),`MANIFEST.json`);let _=d.reduce((e,t)=>e+t.lineCount,0),v=[`# Bug Report Bundle`,``,`Generated: ${g.generatedAt}`,`Project: ${o??`(unscoped)`}`,`Discipline version: ${g.disciplineVersion}`,``,`## Contents`,``,...f.map(e=>`- ${e}`),``,`## Privacy`,``,...n?[`This bundle was auto-redacted before packaging.`,`Patterns checked: ${ke.join(`, `)}`,_>0?`${_} line(s) were scrubbed across ${d.length} file(s).`:`No redactions were needed.`,`See MANIFEST.json for the full redaction audit report.`,``,`This bundle is safe to attach to a GitHub issue.`]:[`Redaction was disabled for this bundle; file contents are unmodified.`]].join(`
4
- `);m.addBuffer(Buffer.from(v,`utf8`),`README.md`),m.end();let y=fe(r);return m.outputStream.pipe(y),await new Promise((e,t)=>{y.on(`close`,e),y.on(`error`,t)}),i?.info({bundlePath:r,fileCount:f.length,redactionCount:_},`bundle written`),{zipPath:r,summary:{projectSlug:o,files:f,redactions:d,redactedLineCount:_,generatedAt:g.generatedAt}}}var H=d(),ze=e(v(),1);const Be=new Set([`doc.name`,`currentDoc`]);function Ve(e){return`doc:${z(`sha256`).update(e).digest(`hex`).slice(0,8)}`}function He(e,t,n){let r=e.docNameMap[n];if(r===void 0){e.docNameMap[n]=t;return}if(r===t)return;let i=e.docNameCollisions[n];i?i.includes(t)||i.push(t):e.docNameCollisions[n]=[t]}function Ue(e,t){let n=t.originalToHashed.get(e);if(n!==void 0)return n;let r=Ve(e);return t.originalToHashed.set(e,r),He(t,e,r),r}function U(e,t){return t.length===0||!e.includes(t)?e:e.split(t).join(`<CONTENT_DIR>`)}function W(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function G(e,t){if(typeof e==`string`)return U(e,t.contentDir);if(Array.isArray(e))return e.map(e=>G(e,t));if(!W(e))return e;let n=typeof e.key==`string`&&Be.has(e.key)&&W(e.value)&&typeof e.value.stringValue==`string`?e.value.stringValue:null,r={};for(let[i,a]of Object.entries(e))if(n!==null&&i===`value`&&W(a)){let e=Ue(n,t);r[i]={...a,stringValue:e}}else Be.has(i)&&typeof a==`string`?r[i]=Ue(a,t):r[i]=G(a,t);return r}function We(e,t){if(t.originalToHashed.size===0)return e;let n=Array.from(t.originalToHashed.entries()).sort(([e],[t])=>t.length-e.length),r=e;for(let[e,t]of n)e.length!==0&&r.includes(e)&&(r=r.split(e).join(t));return r}function Ge(e,t){let n=F(e,`utf-8`);if(n.length===0)return;let r=n.endsWith(`
5
- `),i=n.split(`
6
- `),a=[];for(let e=0;e<i.length;e++){let n=i[e]??``;if(!(e===i.length-1&&n===``)){if(n.length===0){a.push(``);continue}try{let e=G(JSON.parse(n),t);a.push(JSON.stringify(e))}catch{a.push(n)}}}L(e,r?`${a.join(`
7
- `)}\n`:a.join(`
8
- `))}function Ke(e,t){let n=F(e,`utf-8`);if(n.trim().length!==0)try{let r=G(JSON.parse(n),t),i=n.endsWith(`
9
- `)?`
10
- `:``;L(e,`${JSON.stringify(r,null,2)}${i}`)}catch{let r=We(U(n,t.contentDir),t);r!==n&&L(e,r)}}function qe(e,t){let n=F(e,`utf-8`),r=U(n,t.contentDir);r!==n&&L(e,r)}function Je(e){try{return he(e,{withFileTypes:!0}).filter(e=>e.isFile()).map(t=>j(e,t.name))}catch{return[]}}const Ye=new Set([`agent-presence.json`,`agent-effects.json`,`runtime.json`]);function Xe(e){let t={contentDir:e.contentDir,docNameMap:{},originalToHashed:new Map,docNameCollisions:{}};for(let n of[`telemetry`,`logs`,`process`])for(let r of Je(j(e.stagingDir,n)))r.endsWith(`.jsonl`)?Ge(r,t):r.endsWith(`.json`)?Ke(r,t):qe(r,t);for(let n of Je(j(e.stagingDir,`state`))){let e=k(n);Ye.has(e)?Ke(n,t):qe(n,t)}return{docNameMap:t.docNameMap,docNameCollisions:t.docNameCollisions}}const Ze=[`.ok`,`local`,`telemetry`],Qe=[`.ok`,`local`,`logs`],$e=`spans-current.jsonl`,et=`spans-prev.jsonl`,tt=`server-current.jsonl`,nt=`server-prev.jsonl`;function rt(e){return j(e,...Ze,$e)}function it(e){return j(e,...Ze,et)}function at(e){return j(e,...Qe,tt)}function ot(e){return j(e,...Qe,nt)}const st=1e3;async function ct(e){try{let t=await fetch(`http://127.0.0.1:${e}/api/metrics/agent-presence`,{signal:AbortSignal.timeout(st)});return t.ok?await t.text():null}catch{return null}}async function lt(e){try{let t=await fetch(`http://127.0.0.1:${e}/api/metrics/agent-effects`,{signal:AbortSignal.timeout(st)});return t.ok?await t.text():null}catch{return null}}function ut(e){let t=j(e,`.git`,`ok`);if(!N(t))return null;let n=O(`git`,[`-C`,t,`log`,`--oneline`,`-50`],r({encoding:`utf-8`,timeout:2e3}));return n.error||n.status!==0?null:n.stdout??``}function dt(e){let t=j(e,`.git`,`ok`);if(!N(t))return null;let n=O(`git`,[`-C`,t,`for-each-ref`,`--sort=-creatordate`,`--count=50`,`--format=%(refname)%09%(creatordate:iso-strict)%09%(contents:subject)`,`refs/checkpoints/`],r({encoding:`utf-8`,timeout:2e3}));return n.error||n.status!==0?null:n.stdout??``}function ft(){let e=process.env.OK_DESKTOP_VERSION,t=process.env.OK_DESKTOP_PACKAGED,n=process.env.OK_DESKTOP_CHANNEL;return e===void 0||t===void 0||n===void 0?null:{electronVersion:e,packaged:t===`1`||t.toLowerCase()===`true`,channel:n}}function pt(){return{nodeVersion:process.version,platform:Se(),arch:ve()}}function mt(){return process.env.OTEL_SDK_DISABLED===`false`}function K(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function ht(e){if(!N(e))return{};let t;try{t=(0,H.parse)(F(e,`utf-8`))}catch(t){return console.warn(`[ok diagnose bundle] failed to parse ${e} for manifest config; manifest will report schema defaults. Reason: ${t instanceof Error?t.message:String(t)}`),{}}if(!K(t))return{};let n=t.telemetry;if(!K(n))return{};let r=n.localSink;return K(r)?r:{}}function gt(e){return typeof e==`boolean`?e:void 0}function _t(e){return typeof e==`number`&&Number.isFinite(e)&&e>0?e:void 0}function q(e){if(K(e))return _t(e.maxBytes)}function vt(e){let t=ht(f(`project`,e)),n=ht(f(`project-local`,e));return{enabled:gt(n.enabled)??gt(t.enabled)??!0,spansMaxBytes:q(n.spans)??q(t.spans)??52428800,logsMaxBytes:q(n.logs)??q(t.logs)??26214400}}function yt(e){return z(`sha256`).update(e).digest(`hex`)}function bt(e){let t=F(e),n=0;for(let e=0;e<t.length;e++)t[e]===10&&n++;return n}function xt(e){let t=F(e,`utf-8`),n=`"doc.name"`,r=0,i=t.indexOf(n);for(;i!==-1;)r++,i=t.indexOf(n,i+10);return r}function J(e,t){return N(e)?(P(A(t),{recursive:!0}),de(e,t),!0):!1}function St(e){let t=[],n=e=>{let r=he(e,{withFileTypes:!0});for(let i of r){let r=j(e,i.name);i.isDirectory()?n(r):i.isFile()&&t.push(r)}};return n(e),t.sort()}const Ct=new Set([`.jsonl`]);function wt(e){let t=e.lastIndexOf(`.`);return t===-1?!1:Ct.has(e.slice(t))}const Tt=new Set([`.jsonl`,`.json`,`.txt`,`.log`,`.lock`]);function Et(e){let t=e.lastIndexOf(`.`);return t===-1?!1:Tt.has(e.slice(t))}function Dt(e){let t=[];for(let n of St(e)){let r=Ot(e,n);if(!Et(r))continue;let{redacted:i,patterns:a,lineCount:o}=B(F(n,`utf-8`));a.length!==0&&(L(n,i),t.push({file:r,lineCount:o,patterns:a}))}return{redactions:t,redactedLineCount:t.reduce((e,t)=>e+t.lineCount,0)}}function Ot(e,t){return le(e,t).split(ue).join(`/`)}async function kt(e){let r=M(e.contentDir),i=M(e.projectDir??e.contentDir),a=e.deps??{},o=a.fetchAgentPresence??ct,s=a.fetchAgentEffects??lt,c=a.readShadowHead??ut,l=a.readCheckpointRefs??dt,u=a.now??(()=>new Date),d=a.okVersion??(()=>oe),f=a.readDesktopEnv??ft,p=a.readRuntime??pt,m=a.isOtlpPushEnabled??mt,h=me(j(we(),`ok-bundle-`));try{P(j(h,`telemetry`),{recursive:!0}),P(j(h,`logs`),{recursive:!0}),P(j(h,`state`),{recursive:!0}),J(rt(i),j(h,`telemetry`,$e)),J(it(i),j(h,`telemetry`,et)),J(at(i),j(h,`logs`,tt)),J(ot(i),j(h,`logs`,nt));let g=j(i,`.ok`,`local`),_=j(g,`server.lock`),v=`not-running`,y=`no server.lock`,b=null;if(N(_)){J(_,j(h,`state`,`server.lock`));try{let e=F(_,`utf-8`),t=JSON.parse(e);typeof t.port==`number`?b=t.port:y=`lock present but no port`}catch{y=`lock present but unparseable`}}if(b!==null){let e=await o(b);e===null?y=`agent-presence endpoint at :${b} unreachable`:(L(j(h,`state`,`agent-presence.json`),e),v=`running`,y=``);let t=await s(b);t!==null&&L(j(h,`state`,`agent-effects.json`),t)}let ee=c(r);ee!==null&&L(j(h,`state`,`shadow-head.txt`),ee);let x=l(r);x!==null&&L(j(h,`state`,`checkpoint-refs.txt`),x),J(j(g,`last-spawn-error.log`),j(h,`state`,`last-spawn-error.log`)),J(j(g,t),j(h,`state`,t)),J(j(g,n),j(h,`state`,n));let S=p(),te=f(),ne={ok:{version:d(),nodeVersion:S.nodeVersion,platform:S.platform,arch:S.arch},host:{desktop:te}};L(j(h,`state`,`runtime.json`),`${JSON.stringify(ne,null,2)}\n`);let re=v===`running`?`running
11
- `:`not-running (${y})\n`;if(L(j(h,`state`,`server-status.txt`),re),e.processDir&&N(e.processDir)){let t=j(h,`process`);P(t,{recursive:!0}),de(e.processDir,t,{recursive:!0})}let C=null;e.redact===!0&&(C=Xe({stagingDir:h,contentDir:r})),e.note&&L(j(h,`note.txt`),e.note);let w=null;e.scrubSecrets===!0&&(w=Dt(h));for(let t of e.extraFiles??[])J(t.sourcePath,j(h,`extra`,t.zipName??k(t.sourcePath)))||a.logger?.warn({sourcePath:t.sourcePath},`extra file missing; omitted from bundle`);let ie=vt(i),ae=St(h),T=[],oe=0,E=0;for(let e of ae){let t=Ot(h,e),n=_e(e).size,r=wt(t)?bt(e):0;T.push({path:t,bytes:n,lines:r}),oe+=n,t.startsWith(`telemetry/`)&&wt(t)&&(E+=xt(e))}let se=C===null?{applied:!1,docNameMapSidecar:null}:Object.keys(C.docNameCollisions).length>0?{applied:!0,docNameMapSidecar:null,docNameCollisions:C.docNameCollisions}:{applied:!0,docNameMapSidecar:null};w!==null&&(se.secretScrub=w);let D={schemaVersion:1,createdAt:u().toISOString(),ok:{version:d(),nodeVersion:S.nodeVersion,platform:S.platform,arch:S.arch},host:{desktop:te},contentDir:{pathSha256:yt(r),absolutePath:C===null?r:`<CONTENT_DIR>`},telemetry:{localSink:ie,otlpPushEnabled:m()},redaction:se,serverStatus:v,files:T};L(j(h,`manifest.json`),`${JSON.stringify(D,null,2)}\n`);let O=ae.some(e=>{try{return F(e,`utf-8`).includes(r)}catch{return!1}}),A={totalBytes:oe,fileCount:T.length,docNameCount:E,contentDirVisible:O,redacted:C!==null},ce=!1;return{stagingDir:h,manifest:D,summary:A,redactionMapPayload:C===null?null:{docNameMap:C.docNameMap,docNameCollisions:C.docNameCollisions},cleanup:()=>{ce||(ce=!0,I(h,{recursive:!0,force:!0}))}}}catch(e){throw I(h,{recursive:!0,force:!0}),e}}async function At(e){let{collected:t,outputPath:n}=e,r=A(n);if(!N(r))throw Error(`ok diagnose bundle: parent directory does not exist: ${r}. Create it or pass --out with an existing parent.`);if(t.redactionMapPayload!==null){let e=`${k(n,`.zip`)}.docnames.json`,r={...t.manifest,redaction:{...t.manifest.redaction,applied:!0,docNameMapSidecar:e}};L(j(t.stagingDir,`manifest.json`),`${JSON.stringify(r,null,2)}\n`)}let i=new ze.ZipFile,a=St(t.stagingDir);for(let e of a){let n=Ot(t.stagingDir,e);i.addFile(e,n)}i.end(),t.redactionMapPayload!==null&&L(j(r,`${k(n,`.zip`)}.docnames.json`),`${JSON.stringify({docNameMap:t.redactionMapPayload.docNameMap,docNameCollisions:t.redactionMapPayload.docNameCollisions},null,2)}\n`,{mode:384});let o=fe(n);return i.outputStream.pipe(o),await new Promise((e,t)=>{o.on(`close`,e),o.on(`error`,t),i.outputStream.on(`error`,t)}),n}function jt(e,t){let n=j(e,`.ok`,`config.yml`);if(N(n))try{let t=(0,H.parse)(F(n,`utf-8`)),r=E(t)?t.content:void 0,i=E(r)?r.dir:void 0;if(typeof i==`string`&&i.length>0)return M(e,i)}catch(e){t?.warn({configPath:n,err:e instanceof Error?e.message:String(e)},`bug-report: failed to read .ok/config.yml; falling back to project root as content dir`)}return M(e)}async function Mt(e,t,n){let r=await kt({contentDir:jt(t,e.logger),projectDir:t,redact:e.redact,scrubSecrets:e.redact,note:e.note,extraFiles:e.extraFiles,deps:{readDesktopEnv:n,logger:e.logger}});try{P(A(e.outputPath),{recursive:!0}),await At({collected:r,outputPath:e.outputPath});let n=r.manifest.redaction.secretScrub;return{zipPath:e.outputPath,summary:{level:`full`,systemWide:!1,projectSlug:Me(t,e.logger),files:r.manifest.files.map(e=>e.path),redactions:n?.redactions??[],redactedLineCount:n?.redactedLineCount??0,generatedAt:r.manifest.createdAt}}}finally{r.cleanup()}}async function Nt(e){let{projectDir:t}=e,n=e.readDesktopEnv??ft;if(e.level===`full`&&t!==void 0)return Mt(e,t,n);let{zipPath:r,summary:i}=await Re({projectDir:t,redact:e.redact,outputPath:e.outputPath,userLogsDir:e.userLogsDir,logger:e.logger,note:e.note,extraFiles:e.extraFiles,desktop:n()});return{zipPath:r,summary:{level:e.level,systemWide:t===void 0,projectSlug:i.projectSlug,files:i.files,redactions:i.redactions,redactedLineCount:i.redactedLineCount,generatedAt:i.generatedAt}}}function Y(e,t,n={}){let r=h(e,t);if(!N(r))return{status:`missing`,lockPath:r};let i;try{i=JSON.parse(F(r,`utf-8`))}catch{return{status:`corrupt`,lockPath:r}}if(!i||typeof i!=`object`||!m(i.pid))return{status:`corrupt`,lockPath:r};let a=i;if(!(n.isAlive??_)(a.pid))return{status:`dead-pid`,lockPath:r,lock:a};if(typeof a.machineId==`string`)return a.machineId===(n.machineId??g())?{status:`alive`,lockPath:r,lock:a}:{status:`foreign-host`,lockPath:r,lock:a};let o=n.host??xe();return a.hostname===o?{status:`alive`,lockPath:r,lock:a}:{status:`foreign-host`,lockPath:r,lock:a}}function Pt(e){return e.replace(/:\d+$/,``)}function Ft(e){let t=e.trim();if(!t)return null;{let e=/^https?:\/\/([^/?#]+)\/([\w.\-~%]+)\/([\w.\-~%]+?)(?:\.git)?\/?$/.exec(t);if(e)return{protocol:`https`,hostname:Pt(e[1]),owner:e[2],name:e[3]}}{let e=/^ssh:\/\/(?:[\w.-]+@)?([^/?#]+)\/([\w.\-~%]+)\/([\w.\-~%]+?)(?:\.git)?\/?$/.exec(t);if(e)return{protocol:`ssh`,hostname:Pt(e[1]),owner:e[2],name:e[3]}}{let e=/^git:\/\/([^/?#]+)\/([\w.\-~%]+)\/([\w.\-~%]+?)(?:\.git)?\/?$/.exec(t);if(e)return{protocol:`git`,hostname:Pt(e[1]),owner:e[2],name:e[3]}}{let e=/^(?:[\w.-]+@)?([\w.-]+):([\w.\-~%]+)\/([\w.\-~%]+?)(?:\.git)?$/.exec(t);if(e?.[1].includes(`.`)||e&&t.startsWith(`git@`))return{protocol:`ssh`,hostname:e[1],owner:e[2],name:e[3]}}{let e=/^git:([\w.-]+)\/([\w.\-~%]+)\/([\w.\-~%]+?)(?:\.git)?\/?$/.exec(t);if(e)return{protocol:`git`,hostname:e[1],owner:e[2],name:e[3]}}if(!t.includes(`://`)&&!t.includes(`@`)&&!t.startsWith(`/`)){let e=/^([\w.-]+)\/([\w.\-~%]+?)(?:\.git)?$/.exec(t);if(e)return{protocol:`https`,hostname:`github.com`,owner:e[1],name:e[2]}}return null}function It(e){let t;try{t=new URL(e)}catch{return null}if(t.hostname!==`github.com`&&t.hostname!==`www.github.com`)return null;let n=t.pathname.split(`/`).filter(e=>e.length>0);if(n.length<5||n[2]!==`blob`)return null;let r,i,a,o;try{r=decodeURIComponent(n[0]),i=decodeURIComponent(n[1]),a=decodeURIComponent(n[3]),o=n.slice(4).map(e=>decodeURIComponent(e))}catch{return null}return!r||!i||!a||o.length===0||o.some(e=>e.length===0)?null:{owner:r,repo:i,branch:a,path:o.join(`/`)}}function Lt(e){let t;try{t=new URL(e)}catch{return null}if(t.hostname!==`github.com`&&t.hostname!==`www.github.com`)return null;let n=t.pathname.split(`/`);if(n.length<5||n[0]!==``||n[3]!==`tree`)return null;let r=n.slice(5);r.length===1&&r[0]===``&&r.pop();let i,a,o,s;try{i=decodeURIComponent(n[1]),a=decodeURIComponent(n[2]),o=decodeURIComponent(n[4]),s=r.map(e=>decodeURIComponent(e))}catch{return null}return!i||!a||!o||s.some(e=>e.length===0)?null:{owner:i,repo:a,branch:o,path:s.join(`/`)}}function Rt(e){let t=It(e);if(t)return{kind:`doc`,...t};let n=Lt(e);return n?{kind:`folder`,...n}:null}var X=e(se(),1);const zt=`# >>> open-knowledge cli >>>`,Bt=`# <<< open-knowledge cli <<<`,Vt=/^# >>> open-knowledge cli >>>\n[\s\S]*?^# <<< open-knowledge cli <<<\n?/m;function Ht(e){return j(e,`Library`,`Application Support`,`OpenKnowledge`,`path-install.json`)}const Ut={existsSync:e=>N(e),readFileSync:(e,t)=>F(e,t),lstatSync:e=>pe(e),readlinkSync:e=>ge(e)};function Wt(e,t=Ut){let n=Ht(e);if(!t.existsSync(n))return null;try{let e=JSON.parse(t.readFileSync(n,`utf8`));return e?.version===1?e:null}catch{return null}}function Gt(e){let t=e.replace(Vt,``);return{text:t,changed:t!==e,emptyAfter:t.trim()===``}}function Kt(e,t,n=Ut){try{return n.lstatSync(e).isSymbolicLink()?n.readlinkSync(e)===t:!1}catch{return!1}}function qt(e){return x(e)||S(e)||ne(e)}const Jt=10*1024*1024;function Yt(e,t,n,r){let i=ie(e,t,n,r);if(i.kind===`absent`||i.kind===`no-entry`)return{kind:`not-present`};if(i.kind===`decline`)return{kind:`declined`,reason:i.reason};if(!qt(i.entry))return{kind:`left-foreign`};let a;try{a=r??e.configPath(t,n)}catch{return{kind:`not-present`}}let o=e.serverName(t);return e.format===`file`?(I(a,{force:!0}),{kind:`removed`}):e.format===`toml`?Qt(a,o):e.format===`yaml`?Zt(a,e.topLevelKey,o):Xt(a,e.topLevelKey,e.serverMapSubKey,o)}function Xt(e,t,n,r){let i;try{i=F(e,`utf-8`)}catch{return{kind:`declined`,reason:`unparseable`}}if(Buffer.byteLength(i,`utf-8`)>Jt)return{kind:`declined`,reason:`oversize`};let{text:a,changed:o}=te(i,C(t,n,r));return o?(p(e,a,{mode:T(e)}),{kind:`removed`}):{kind:`not-present`}}function Zt(e,t,n){let r;try{r=F(e,`utf-8`)}catch{return{kind:`declined`,reason:`unparseable`}}if(Buffer.byteLength(r,`utf-8`)>Jt)return{kind:`declined`,reason:`oversize`};let i=r.charCodeAt(0)===65279,a=i?r.slice(1):r,o=(0,H.parseDocument)(a);if(o.errors.length>0)return{kind:`declined`,reason:`unparseable`};let s=[t,n];if(!o.hasIn(s))return{kind:`not-present`};o.deleteIn(s);let c=o.toString(),l=re(a);a.trim()===``||a.endsWith(`
12
- `)?c.endsWith(`
13
- `)||(c=`${c}\n`):c=c.replace(/\n+$/,``),l&&(c=c.replace(/\r\n/g,`
14
- `).replace(/\n/g,`\r
15
- `));let u=`${i?``:``}${c}`;return u!==r&&p(e,u,{mode:T(e)}),{kind:`removed`}}function Qt(e,t){let n=w();if(n.backend===`fallback`)return{kind:`declined`,reason:`no-native-writer`};let r;try{r=F(e,`utf-8`)}catch{return{kind:`declined`,reason:`unparseable`}}let i=r.charCodeAt(0)===65279,a=i?r.slice(1):r,o=re(a),s=a.trim()===``||a.endsWith(`
16
- `),c;try{c=n.removeEntry(a,t)}catch{return{kind:`declined`,reason:`unparseable`}}if(!c.existed)return{kind:`not-present`};let l=c.text;s?l.endsWith(`
17
- `)||(l=`${l}\n`):l=l.replace(/\n+$/,``),o&&(l=l.replace(/\r\n/g,`
18
- `).replace(/\n/g,`\r
19
- `));let u=`${i?``:``}${l}`;return u!==r&&p(e,u,{mode:T(e)}),{kind:`removed`}}const $t=new Set([`start`,`stop`,`status`,`clean`,`ui`,`mcp`,`preview`,`lint`,`deinit`,`auth`]);function en(e,t,n=s){if(e!==void 0&&!$t.has(e))return null;let r=n(t);return r===null||r.distance===0?null:r.rootPath}let tn=null;function nn(e){tn=e}function rn(){return tn??process.cwd()}function an(e){return e==null?!1:e.includes(`--type=utility`)&&e.includes(`--utility-sub-type=node.mojom.NodeService`)}function on(e,t=Date.now()){let n=new Date(e).getTime();if(Number.isNaN(n))return`—`;let r=t-n,i=Math.floor(r/1e3);if(i<60)return`${i}s`;let a=Math.floor(i/60);if(a<60)return`${a}m ago`;let o=Math.floor(a/60);return o<24?`${o}h ago`:`${Math.floor(o/24)}d ago`}function sn(e,t,n,r,i,a){if(t.status===`missing`||t.status===`corrupt`)return null;let o=t.lock,s=null;if(n.status!==`missing`&&n.status!==`corrupt`){let e=n.lock;s={port:e.port,status:n.status,pid:e.pid,startedAt:e.startedAt,usage:a}}return{directory:o.worktreeRoot,server:{port:o.port,status:t.status,pid:o.pid,startedAt:o.startedAt,usage:i},ui:s,hostname:o.hostname,lockPath:t.lockPath,binary:r==null?null:u(r),command:r,isDesktop:an(r)}}function cn(e){return e.ui==null?!1:e.ui.status===`alive`||e.ui.status===`foreign-host`}function Z(e){let t=e.server.status;return t===`alive`||t===`foreign-host`?e.isDesktop?`desktop`:t===`alive`?`running`:`foreign`:t===`dead-pid`&&cn(e)?`ui-orphan`:`stale`}const ln=new Set([`running`,`desktop`,`foreign`,`ui-orphan`]);function un(e){switch(e){case`running`:return X.default.green(e);case`desktop`:return X.default.blue(e);case`foreign`:return X.default.cyan(e);case`ui-orphan`:return X.default.magenta(e);case`stale`:return X.default.yellow(e)}}function dn(e){return e==null?`—`:`${e.cpuPercent.toFixed(1)}% / ${e.memPercent.toFixed(1)}%`}function fn(e){return`${dn(e.server.usage)} | ${dn(e.ui?.usage??null)}`}function pn(e){return`${e.server.port===0?`(starting)`:String(e.server.port)} / ${e.ui==null||e.ui.status===`dead-pid`?`—`:String(e.ui.port)}`}function mn(e){if(e.length===0)return`No open-knowledge servers found.`;let t=[`DIRECTORY`,`PORTS (API/UI)`,`CPU/MEM (API | UI)`,`STATUS`,`PID`,`STARTED`,`BINARY`],n=e.map(e=>{let t=Z(e),n=t===`ui-orphan`&&e.ui!=null?e.ui.pid:e.server.pid;return[e.directory,pn(e),fn(e),t,String(n),on(e.server.startedAt),e.binary??`—`]}),r=t.length,i=t.map(e=>e.length);for(let e of n)for(let t=0;t<r;t++)i[t]=Math.max(i[t]??0,(e[t]??``).length);let a=t.map((e,t)=>e.padEnd(i[t]??0)).join(` `).trimEnd(),o=e.map((e,t)=>{let a=n[t]??[],o=[];for(let t=0;t<r;t++){let n=(a[t]??``).padEnd(i[t]??0);if(t===3){let r=a[t]??``;n=un(Z(e))+` `.repeat(Math.max(0,(i[t]??0)-r.length))}o.push(n)}return o.join(` `).trimEnd()}),s=X.default.dim(`To stop a server: ok stop <port|pid|directory|all>`);return[a,...o,``,s].join(`
20
- `)}async function hn(e={}){let t=e.discover??a,n=e.inspect??Y,r=e.log??(e=>console.log(e)),i=e.resolveCommand??c,o=e.resolveUsage??l,s=await t(),u=[];for(let e of s){let t=n(e,`server`),r=n(e,`ui`),a=sn(e,t,r,t.status===`missing`||t.status===`corrupt`?null:i(t.lock.pid),t.status===`missing`||t.status===`corrupt`?null:o(t.lock.pid),r.status===`missing`||r.status===`corrupt`?null:o(r.lock.pid));a!=null&&u.push(a)}if(e.json){let e=u.map(e=>({...e,displayStatus:Z(e)}));r(JSON.stringify(e,null,2));return}r(mn(e.all?u:u.filter(e=>ln.has(Z(e)))))}function gn(){return new y(`ps`).description(`List all running open-knowledge servers`).argument(`[modifier]`,`"all" to include stale (dead-pid) entries`).option(`--all`,`Include stale (dead-pid) entries (foreign-host shows by default)`).option(`--json`,`Emit structured JSON (always includes all statuses)`).action(async(e,t)=>{await hn({all:t.all===!0||e===`all`,json:t.json===!0})})}function _n(e,t,n={}){let r=n.isAlive??_,i=[];for(let[n,a]of[[`server`,e],[`ui`,t]])(a.status===`alive`||a.status===`foreign-host`&&r(a.lock.pid))&&i.push({name:n,pid:a.lock.pid,port:a.lock.port});return{targets:i}}function Q(e){let t=e.inspect??(t=>Y(e.lockDir,t)),n=e.kill??((e,t)=>process.kill(e,t)),r=e.log??(e=>console.log(e)),i=e.error??(e=>console.error(e)),a=_n(t(`server`),t(`ui`),{isAlive:e.isAlive});if(a.targets.length===0)return r(`No running open-knowledge processes.`),{stopped:[],failed:[],hadTargets:!1};let o=[],s=[];for(let e of a.targets)try{n(e.pid,`SIGTERM`),o.push(e)}catch(t){s.push({target:e,error:t instanceof Error?t.message:String(t)})}return o.length>0&&r(`Stopped: ${o.map(e=>`${e.name} (pid=${e.pid}, port=${e.port})`).join(`, `)}`),s.length>0&&i(`Failed to stop: ${s.map(({target:e,error:t})=>`${e.name} (pid=${e.pid}): ${t}`).join(`; `)}`),{stopped:o,failed:s,hadTargets:!0}}function $(e,t){return e.status===`alive`?!0:e.status===`foreign-host`?t(e.lock.pid):!1}async function vn(e,t=_){let n=await a(),r=null;for(let i of n){let n=Y(i,`server`),a=Y(i,`ui`);if($(n,t)&&n.lock.port===e||$(a,t)&&a.lock.port===e)return i;r===null&&($(n,t)&&n.lock.pid===e||$(a,t)&&a.lock.pid===e)&&(r=i)}return r}function yn(e){let t=Q({lockDir:e});return t.failed.length>0&&(process.exitCode=1),t}function bn(e){return new y(`stop`).description(`Stop open-knowledge server(s). With no argument: stops the server for the current directory. Pass a port number, a directory path, or "all" to target globally.`).argument(`[target...]`,`port number, directory path (spaces OK), or "all"`).action(async t=>{let n=t.length===0?void 0:t.join(` `);if(n===void 0){e();let t=Q({lockDir:i(process.cwd()),log:()=>{}});if(t.hadTargets){if(t.stopped.length>0){let e=t.stopped.map(e=>`${e.name} (pid=${e.pid}, port=${e.port})`).join(`, `);console.log(`Stopped: ${e}`)}t.failed.length>0&&(process.exitCode=1)}else await hn({});return}if(n===`all`){let e=await a();if(e.length===0){console.log(`No running open-knowledge servers found.`);return}let t=0;for(let n of e){let e=Y(n,`server`),r=Y(n,`ui`);!$(e,_)&&!$(r,_)||(yn(n),t++)}t===0&&console.log(`No running open-knowledge servers found.`);return}if(/^\d+$/.test(n)){let e=Number.parseInt(n,10),t=await vn(e);if(t===null){console.log(`No running open-knowledge server found with port or PID ${e}.`);return}yn(t);return}yn(i(M(rn(),n)))})}function xn(e){return{event:`mcp-config-decline`,scope:e.scope,surface:e.surface,editorId:e.editorId,reason:e.reason}}async function Sn(e,t){let n,r;try{n=await R(M(e)),r=await R(M(A(e)))}catch{return{kind:`not-git`}}if(!Cn(n,r))return{kind:`symlink-escape`};let i=j(n,`.git`),a;try{a=_e(i)}catch{return{kind:`not-git`}}if(a.isDirectory()){let e;try{e=await R(i)}catch{return{kind:`not-git`}}if(!Cn(e,n))return{kind:`symlink-escape`}}else if(!a.isFile())return{kind:`not-git`};let s=o(n);if(s.kind!==`repository`)return{kind:`not-git`};let c=s.repository.readRemoteUrl(`origin`);if(c.kind===`unreadable`)return{kind:`not-git`};if(c.kind===`absent`)return c.reason===`config-missing`?{kind:`not-git`}:{kind:`no-origin`};let l=c.url,u=Ft(l);if(u===null||u.hostname!==`github.com`)return{kind:`non-github`};let d=u.owner.toLowerCase()===t.owner.toLowerCase(),f=u.name.toLowerCase()===t.repo.toLowerCase();return!d||!f?{kind:`wrong-repo`,actualOwner:u.owner,actualRepo:u.name}:{kind:`ok`,gitRemoteUrl:`https://github.com/${u.owner}/${u.name}.git`}}function Cn(e,t){if(e===t)return!0;let n=le(t,e);return n.length>0&&!n.startsWith(`..`)&&!ce(n)}const wn=[{id:`mcp-config`,write(e,t,n){let r=e.projectConfigPath?.(t);if(!r)return{integration:`mcp-config`,editorId:e.id,action:`skipped-unsupported`};try{let i=ae(e,t,n,void 0,r);return i.action===`written`||i.action===`overwritten`?{integration:`mcp-config`,editorId:e.id,action:i.action,path:i.configPath}:i.action===`failed`?{integration:`mcp-config`,editorId:e.id,action:`failed`,path:i.configPath,error:i.error??`unknown failure`}:i.action===`declined`?{integration:`mcp-config`,editorId:e.id,action:`declined`,path:i.configPath,...i.declineReason===void 0?{}:{reason:i.declineReason}}:{integration:`mcp-config`,editorId:e.id,action:`failed`,path:i.configPath,error:`unexpected project-scope action: ${i.action}`}}catch(t){return{integration:`mcp-config`,editorId:e.id,action:`failed`,path:r,error:t instanceof Error?t.message:String(t)}}}},{id:`project-skill`,write(e,t,n){try{let r=ee(e,t,{home:n.home});return{integration:`project-skill`,editorId:e.id,action:r.action,...r.path?{path:r.path}:{},...r.error?{error:r.error}:{}}}catch(t){return{integration:`project-skill`,editorId:e.id,action:`failed`,error:t instanceof Error?t.message:String(t)}}}}];function Tn(e,t,n={},r=wn){let i=[];for(let a of t){let t=b[a];for(let a of r)i.push(a.write(t,e,n))}return i}function En(e,t,n={}){return{integrations:Tn(e,t,n)}}export{Nt as C,B as D,je as E,Y as S,At as T,Gt as _,bn as a,Lt as b,nn as c,zt as d,Vt as f,Wt as g,Ht as h,Q as i,en as l,Kt as m,Sn as n,gn as o,Bt as p,xn as r,rn as s,En as t,Yt as u,It as v,kt as w,Ft as x,Rt as y};
21
- //# sourceMappingURL=src-B1d5f35Y.mjs.map
@@ -1 +0,0 @@
1
- import{$i as e,C as t,La as n,Qi as r,Ta as i,d as a,ea as o,ha as s,l as c,pa as l,y as u}from"./src-CB6BqwdE.mjs";import{$ as d,$i as f,$r as p,$t as m,A as h,Ai as g,An as _,Ar 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,Mr as we,Mt as Te,N as Ee,Ni as De,Nn as Oe,Nr as ke,Nt as Ae,O as je,Oi as Me,On as Ne,Or as Pe,Ot as Fe,P as Ie,Pi as Le,Pn as Re,Pr as ze,Pt as Be,Q as Ve,Qi as He,Qr as Ue,Qt as We,R as Ge,Ri as Ke,Rn as qe,Rr as Je,Rt as Ye,S as Xe,Si as Ze,Sn as Qe,Sr as $e,St as et,T as tt,Ti as nt,Tn as rt,Tr as it,Tt as at,U as ot,Ui as st,Un as ct,Ur as lt,Ut as ut,V as dt,Vi as ft,Vn as pt,Vr as mt,Vt as ht,W as gt,Wi as _t,Wn as vt,Wr as yt,Wt as bt,X as xt,Xi as St,Xn as Ct,Xr as wt,Xt as Tt,Y as Et,Yi as Dt,Yn as Ot,Yr as kt,Yt as At,Z as jt,Zi as Mt,Zn as Nt,Zr as Pt,Zt as Ft,_ as It,_i as Lt,_n as Rt,_r as zt,_t as Bt,a as Vt,aa as Ht,ai as Ut,an as Wt,ar as Gt,at as Kt,b as qt,bi as Jt,bn as Yt,br as Xt,bt as Zt,c as Qt,ca as $t,ci as en,cn as tn,cr as nn,d as rn,di as an,dn as on,dr as sn,ea as cn,ei as ln,en as un,et as dn,f as fn,fi as pn,fn as mn,fr as hn,g as gn,gi as _n,gn as vn,gr as yn,gt as bn,h as xn,hi as Sn,hn as Cn,hr as wn,ht as Tn,i as En,ia as Dn,ii as On,in as kn,ir as An,it as jn,j as Mn,ji as Nn,jn as Pn,jr as Fn,jt as In,k as Ln,ki as Rn,kn as zn,kr as Bn,kt as Vn,l as Hn,li as Un,ln as Wn,lr as Gn,m as Kn,mi as qn,mn as Jn,mr as Yn,mt as Xn,n as Zn,na as Qn,ni as $n,nn as er,nt as tr,o as nr,oa as rr,oi as ir,on as ar,or,ot as sr,p as cr,pi as lr,pn as ur,pr as dr,pt as fr,q as pr,qi as mr,qn as hr,qr as gr,qt as _r,r as vr,ra as yr,ri as br,rn as xr,rr as Sr,rt as Cr,s as wr,sa as Tr,si as Er,sn as Dr,sr as Or,t as kr,ta as Ar,ti as jr,tn as Mr,tt as Nr,u as Pr,ui as Fr,un as Ir,ur as Lr,v as Rr,vi as zr,vn as Br,vr as Vr,vt as Hr,w as Ur,wi as Wr,wn as Gr,wr as Kr,wt as qr,x as Jr,xi as Yr,xn as Xr,xr as Zr,xt as Qr,y as $r,yi as ei,yn as ti,yr as ni,yt as ri,z as ii,zi as ai,zn as oi,zr as si,zt as ci}from"./src-5hx6F-Ql.mjs";import{C as li,E as ui,T as di,_ as fi,b as pi,c as mi,d as hi,g as gi,i as _i,l as vi,m as yi,n as bi,p as xi,s as Si,t as Ci,u as wi,v as Ti,w as Ei,x as Di,y as Oi}from"./fs-traced-DamTBe_K.mjs";import{a as ki,d as Ai,f as ji,i as Mi,l as Ni,n as Pi,r as Fi,t as Ii,u as Li}from"./logger-CKwqZfxD.mjs";import{_ as Ri,a as zi,b as Bi,c as Vi,f as Hi,g as Ui,h as Wi,i as Gi,l as Ki,m as qi,n as Ji,o as Yi,p as Xi,r as Zi,s as Qi,t as $i,u as ea,v as ta,y as na}from"./server-lock-BCKlDt3u.mjs";export{f as AGENT_ID_MAX_LEN,cn as AGENT_ID_RE,Le as AGENT_WRITE_ORIGIN,rr as AcpPermissionStore,yr as AcpRegistry,Nn as AcpThreadManager,Rn as AgentFocusBroadcaster,Me as AgentPresenceBroadcaster,V as AgentSessionCapacityError,ne as AgentSessionManager,Xn as AutoStartDisabledError,qe as BUNDLE_IDS,oi as BUNDLE_SCOPE,S as BUNDLE_SKILL_NAME,kn as BacklinkIndex,Z as CC1Broadcaster,s as CC1_CONTRACT_VERSION,ue as CONFIG_FILENAME,Un as CONFLICT_MARKER_RE,Or as CURSOR_BUNDLE_PATHS_BY_PLATFORM,It as ConfigSchema,le as DEFAULT_CHECKPOINT_RETENTION,Zr as DEFAULT_EMBEDDINGS_DIMENSIONS,at as DEFAULT_PACK_ID,$e as EMBEDDINGS_API_KEY_ENV,Dn as FEATURED_AGENT_IDS,kt as FILE_SYSTEM_WRITER,J as FILE_WATCHER_ORIGIN,yn as FileEmbeddingsBackend,ut as GIT_PREFLIGHT_FAIL_SPAN_NAME,wt as GIT_UPSTREAM_WRITER,Tr as GitDirAccessError,on as GitNotAvailableError,mn as GitTooOldError,Jt as HOCUSPOCUS_AUTH_REJECTION_REASONS,Yr as HocuspocusAuthRejection,Ze as HocuspocusAuthTokenSchema,dr as INSTALLED_AGENTS_SCHEMES,l as LINEAGE_EPOCH_KEY,ge as LIVE_DERIVED_INDEX_DEBOUNCE_MS,z as LOG_MD_TEMPLATE,bn as MANAGED_RENAME_ORIGIN,Se as MAX_ACP_THREADS,_e as MAX_AGENT_SESSIONS,Kt as MCP_CONNECTION_ID_HEADER,r as MCP_SERVER_NAME,ur as MIN_GIT_VERSION,b as MISSING_OK_CONFIG_MESSAGE,$t as MalformedGitPointerError,jt as McpLogger,dt as MissingOkConfigError,Bn as OBSERVER_SYNC_ORIGIN,At as OK_OKIGNORE_TEMPLATE,e as ORPHAN_MODES,n as PROTOCOL_VERSION,Ii as PinoLogger,Vi as ProcessLockCollisionError,Hn as ProjectGitInitError,Bt as ROLLBACK_ORIGIN,Tt as ROOT_GITIGNORE_TEMPLATE,Ui as RUNTIME_VERSION,Pt as SERVICE_WRITER,Oe as SKILL_INSTALL_EVENTS_FILE_REL,u as SKILL_STATE_TARGETS,P as STARTER_FOLDERS,Fe as STARTER_FOLDER_FRONTMATTER_FILENAME,Vn as STARTER_PACKS,y as STARTER_PACK_IDS,In as STARTER_TEMPLATES,tt as STATE_MANIFEST_FILENAME,Ri as STATE_SCHEMA_VERSION,i as SYSTEM_DOC_NAME,be as SeedPrerequisiteError,Ye as SeedRootDirError,$i as ServerLockCollisionError,kr as SingleFileNotAFileError,Zn as SingleFileNotFoundError,vr as SingleFileNotMarkdownError,F as StateManifestError,Ur as TagIndex,pt as USER_GLOBAL_BUNDLE_IDS,ar as UiLockCollisionError,Hr as __getShowAllWalkStatsForTesting,ri as __resetShowAllWalkStatsForTesting,Ki as acquireProcessLock,Ji as acquireServerLock,Dr as acquireUiLock,Ke as applyAgentMarkdownWrite,me as applyExternalChange,qr as applySeed,A as assertCompatibleStateManifest,Jn as assertGitAvailable,ke as assertNeverDiskEvent,g as attachAcpThreadSocket,fr as attachIdleShutdown,Rr as bootServer,D as buildAndOpenSkill,Ft as buildConfigYmlContent,de as buildExecResult,De as buildOkMcpStdioCommand,H as buildSkillZip,Te as buildStarterFolderFrontmatterYaml,Ue as buildWipTree,Q as bundleSkillMdPath,ze as classifyEvents,Ci as classifyFsPath,lr as clearContributors,zt as clearEmbeddingsKeyFromAllBackends,Ae as coercePackId,c as colorFromSeed,p as commitUpstreamImport,ln as commitWip,jr as commitWipFromTree,Cn as compareSemver,q as composeEffectiveLinterConfig,Fr as containsConflictMarkers,U as contentHash,qn as contributorCount,Ee as countShadowObjects,Ie as countStaleAgentWipRefs,B as countWipRefs,Zt as createApiExtension,R as createAssetServeMiddleware,Sr as createContentFilter,An as createContentFilterAsync,Vr as createEmbeddingsSecretStore,En as createEphemeralProjectDir,gr as createExternalChangeHandler,fn as createFileLogger,Ge as createLiveDerivedIndexExtension,gt as createMcpHttpHandler,Yn as createOsProbe,N as createPersistenceExtension,T as createServer,Mn as createServerObserverExtension,ai as createStreamingErrorWriter,Pi as createTestLogger,ni as describeStoredEmbeddingsKey,gn as detectClaudeDesktopPresence,vn as detectGit,je as detectProjectShape,dn as discoverLockDirs,ce as discoverMarkdownlintConfig,bt as emitPreflightFailureSpan,pr as encodeDocName,oe as encodeFolderRoute,Et as encodeSkillRoute,Pr as ensureProjectGit,We as ensureProjectSkillGitignore,x as errorResponse,ie as evictStaleTrackerEntries,Nr as extractOkBinaryPath,Wt as extractWikiLinksFromMarkdown,Rt as fallbackPaths,rn as findEnclosingGitRoot,er as findEnclosingProjectRoot,Ot as findNativeMarkdownlintFile,cr as flushFileLogger,E as formatAuthRejectionWire,Sn as formatContributors,_n as formatContributorsFrom,et as formatPackRationale,$n as gcCheckpointRefs,Ve as getCurrentMcpLogger,O as getLocalDir,Kn as getLogFilePath,Fi as getLogger,xn as getLogsDir,ta as getMachineId,Oi as getMeter,se as getMetrics,pi as getTracer,Dt as handleCollabSocketError,nn as handleSpawnCursor,te as hasGcLogLatch,a as iconFromClientName,St as incrementCollabSocketFilteredError,Mt as incrementServerObserverFire,m as initContent,br as initShadowRepo,Di as initTelemetry,qt as initToleranceTelemetryWriter,jn as installPrettyZodErrors,Mi as installTestLoggers,Gr as installUserSkill,j as isAllowedApiOrigin,ci as isAllowedWorkspaceHostHeader,st as isConfigDoc,Wr as isHocuspocusAuthRejectionReason,Be as isKnownPackId,_t as isLinkIndexExcludedDoc,w as isLoopbackAddress,K as isManagedArtifactDoc,o as isOrphanMode,v as isPairedWriteOrigin,Gn as isPathWithinDir,na as isProcessAlive,xr as isProjectRoot,ti as isProjectSkillManaged,fe as isReservedForUserTree,ye as isSelfWrite,mr as isSystemDoc,Jr as isToleranceTelemetryEnabled,Bi as isValidLockPid,Je as lastKnownHash,On as listRescueCheckpoints,W as listStarterPacks,Ht as loadCustomAgents,xe as loadPrincipal,ea as lockFilePath,ki as loggerFactory,Ni as logsCurrentPath,Li as logsPreviousPath,Xt as makeLazyEmbeddingsKeyStore,Zi as markServerLockDraining,X as mountMcpAndApi,bi as normalizeFsPath,ct as originGitHubHost,un as packageVersionMajorMinor,nt as parseAuthRejectionWire,Br as parseGitVersion,I as parseHocuspocusAuthToken,ot as parseKeepaliveConnectionId,si as pathToDocName,k as planSeed,Vt as prepareSingleFileOpen,tr as processCommand,Cr as processUsage,rt as readAllTargets,L as readBundleDecision,Ct as readOwnNativeRules,Hi as readProcessLock,Xi as readProcessLockDetailed,ii as readProjectHeadState,wn as readProjectLocalSemanticConfig,Gi as readServerLock,M as readServerPackageVersion,Ne as readSkillInstallStateSnapshot,Yt as readSkillManagement,Ln as readStateManifest,zn as readTargetRecordedAt,_ as readTargetVersion,tn as readUiLock,an as reconcile,Lt as recordContributor,Re as recordSkillInstallEvent,G as registerAllTools,C as registerWrite,qi as releaseProcessLock,zi as releaseServerLock,Wn as releaseUiLock,mt as removeLastKnownHash,He as resetMetrics,t as resolveBundleEnabled,re as resolveBundledSkillDir,Kr as resolveContentDir,Lr as resolveCursorBinaryDefault,sn as resolveCursorSpawnInvocation,pe as resolveEffectiveLinterConfig,it as resolveLockDir,hr as resolveNativeConfigForDoc,Nt as resolveNativeMarkdownlintConfig,ae as resolvePack,wr as resolvePackageVersion,xt as resolveUiInfo,zr as restoreContributors,$r as restoreLifecycleFromConflictsJson,Gt as rewriteMarkdownLinksForDocumentRename,or as rewriteWikiLinksForDocumentRename,Y as runAuthReposSubprocess,he as runAuthStatusSubprocess,ht as runCloneSubprocess,_r as runDeviceFlowSubprocess,d as runWithMcpLogger,Pe as safeContentPath,Qr as safeSubdir,Ut as safetyCheckpoint,sr as sanitizeClientName,ir as saveInMemoryCheckpoint,Er as saveVersion,Tn as seedBasenameIndex,nr as serializeError,li as setActiveSpanAttributes,Fn as setupServerObservers,en as shadowGit,Ei as shutdownTelemetry,Xr as skillManagementPath,Ai as spansCurrentPath,ji as spansPreviousPath,hn as spawnDetached,pn as splitMarkdownBlocks,$ as startWatcher,ft as streamingProblemEvent,ei as swapContributors,Xe as teardownToleranceTelemetryWriter,Ar as toBroadcasterKey,_i as tracedAppendFileSync,Si as tracedLinkSync,mi as tracedMkdir,vi as tracedMkdirSync,wi as tracedRename,hi as tracedRenameSync,xi as tracedRmSync,yi as tracedRmdirSync,gi as tracedUnlinkSync,fi as tracedWriteFile,Ti as tracedWriteFileSync,Qt as untrackTrackedProjectSkillProjection,lt as updateLastKnownHash,Wi as updateProcessLockPort,Yi as updateServerLockPort,Ir as updateUiLockPort,Qn as validateAgentId,ee as validateCloneInputs,ve as validateSkillZip,Qi as waitForServerLockDrain,we as withHiddenWindowsConsole,di as withSpan,ui as withSpanSync,Pn as writeBundleDecision,vt as writeMarkdownlintRule,Mr as writeRootGitignoreForNewRepo,Qe as writeSkillManagement,h as writeStateManifest,Ce as writeTargetVersion,yt as writeTracker};
@@ -1 +0,0 @@
1
- import{_ as e,f as t,r as n}from"./start-BzmMNHPk.mjs";export{n as bootStartServer,t as resolveHost,e as startCommand};