@inkeep/open-knowledge 0.64.0 → 0.64.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{acp-harness-probe-DodNWez3.mjs → acp-harness-probe-BS2KKWDg.mjs} +2 -2
- package/dist/cli.mjs +51 -51
- package/dist/constants-VMvduCQu.mjs +2 -0
- package/dist/{git-handle-3QlrPfzF.mjs → git-handle-29BNYqgw.mjs} +2 -2
- package/dist/git-handle-DfQBBy3_.mjs +1 -0
- package/dist/index.mjs +105 -105
- package/dist/{init-DeSBToha.mjs → init-CB9b8ABp.mjs} +5 -5
- package/dist/init-C_7xLv5L.mjs +1 -0
- package/dist/{launch-json-removal-Db1ziD-H.mjs → launch-json-removal-lmoBoEPZ.mjs} +2 -2
- package/dist/loader-CqMTrIZH.mjs +1 -0
- package/dist/{loader-anKuU0KS.mjs → loader-DyT98uPM.mjs} +2 -2
- package/dist/md-manager-CZcRasmz.mjs +2 -0
- package/dist/{open-browser-W5CxYsJ4.mjs → open-browser-aU_PSdrG.mjs} +2 -2
- package/dist/parse-worker.mjs +1 -1
- package/dist/{preview-C1REvdOf.mjs → preview-B0PMP9Tc.mjs} +2 -2
- package/dist/preview-BnhlaGQl.mjs +1 -0
- package/dist/public/assets/{ActivityModeContent-Ckg5Pq_4.js → ActivityModeContent-rGNWFHTn.js} +1 -1
- package/dist/public/assets/{AddPropertiesButton-gQRcjJmF.js → AddPropertiesButton-2JRBAQEf.js} +1 -1
- package/dist/public/assets/{AgentDiffPane-D-ZLGFAR.js → AgentDiffPane-DaORQqpS.js} +1 -1
- package/dist/public/assets/{AgentThreadClientBinder-D4jxeqvH.js → AgentThreadClientBinder-CJYGMIr6.js} +1 -1
- package/dist/public/assets/{BugReportHistory-DihyFd3f.js → BugReportHistory-Cuh__mug.js} +1 -1
- package/dist/public/assets/{BugReportHistoryDialog-CSNrPEOi.js → BugReportHistoryDialog-C_9BqWro.js} +1 -1
- package/dist/public/assets/{CodeMirrorPropInput-DjB69jRg.js → CodeMirrorPropInput-B8JfraRG.js} +1 -1
- package/dist/public/assets/{ConsentDialogBody-DQ8IUXhF.js → ConsentDialogBody-CK9RceLc.js} +1 -1
- package/dist/public/assets/{DocumentContext-iKEZSiB2.js → DocumentContext-DyBKMWUQ.js} +1 -1
- package/dist/public/assets/{EditorModeToggle-DEPlArB5.js → EditorModeToggle-CTMAAr-X.js} +1 -1
- package/dist/public/assets/{EnableSyncConfirmDialog-CwJc4GMj.js → EnableSyncConfirmDialog-D80Aucr3.js} +1 -1
- package/dist/public/assets/{ExcalidrawDocEditor-BCYrkDNU.js → ExcalidrawDocEditor-CMeQn_u0.js} +1 -1
- package/dist/public/assets/FeedbackForm-SUXnCd9B.js +1 -0
- package/dist/public/assets/{GraphPanel-DHmyVvBK.js → GraphPanel-CnxzWV5D.js} +1 -1
- package/dist/public/assets/{ImportSkillDialog-BKP46Eid.js → ImportSkillDialog-DUdFUw6e.js} +1 -1
- package/dist/public/assets/{LintConfigEditor-HYgFdkkR.js → LintConfigEditor-BC8TYjz-.js} +1 -1
- package/dist/public/assets/{ManagedArtifactProperties-VBkp3E3_.js → ManagedArtifactProperties-Cr21JXmD.js} +1 -1
- package/dist/public/assets/ManagedArtifactProperties-DVT7r-wR.js +1 -0
- package/dist/public/assets/{MermaidDocEditor-CLbFOZa8.js → MermaidDocEditor-CCEt4Opw.js} +1 -1
- package/dist/public/assets/{PropertyDisplayRow-D7ELTVgR.js → PropertyDisplayRow-CTVCclTK.js} +1 -1
- package/dist/public/assets/{ReportBugDialogBody-C1oy3fl2.js → ReportBugDialogBody-VIeqRFre.js} +1 -1
- package/dist/public/assets/{SchemaConfigEditor-B7rMT9lS.js → SchemaConfigEditor-UcCzcUIa.js} +1 -1
- package/dist/public/assets/{SessionsHost-BxDNMNVk.js → SessionsHost-gxeaEpjc.js} +2 -2
- package/dist/public/assets/{SettingsDialogBody-Cg-2MbSs.js → SettingsDialogBody-CxoXcrrW.js} +1 -1
- package/dist/public/assets/{ShareBranchSwitchDialog-COPm8JOC.js → ShareBranchSwitchDialog-Cee3pwDa.js} +1 -1
- package/dist/public/assets/{ShareReceiveDialog-qD-iDy_7.js → ShareReceiveDialog-blTr_HPx.js} +1 -1
- package/dist/public/assets/{ShareReceiveMissDialog-BkGSRaoZ.js → ShareReceiveMissDialog-DJ9DvFJq.js} +1 -1
- package/dist/public/assets/{SkillCostValue-DgVDZJg4.js → SkillCostValue-DEly99Yk.js} +1 -1
- package/dist/public/assets/{SkillEditBanner-CVlq-SCL.js → SkillEditBanner-bd1zvQfx.js} +1 -1
- package/dist/public/assets/{SkillInstallMenu-CP0nLWRp.js → SkillInstallMenu-sneUc7PA.js} +1 -1
- package/dist/public/assets/{SkillOriginInline-6IYNkHCE.js → SkillOriginInline-BQIo2jSh.js} +1 -1
- package/dist/public/assets/{SkillToolbarControls-DQAXaxz9.js → SkillToolbarControls-A3BqTaVC.js} +1 -1
- package/dist/public/assets/{SlidesToolbarControls-Caq-eS5D.js → SlidesToolbarControls-DpcrHeKz.js} +1 -1
- package/dist/public/assets/{SourceEditor-iZTT-gls.js → SourceEditor-yCp7AOuC.js} +1 -1
- package/dist/public/assets/{TerminalPanel-hYpLMc82.js → TerminalPanel-DitPHk-i.js} +1 -1
- package/dist/public/assets/{TerminalWindowApp-CqhdtLqo.js → TerminalWindowApp-CEMvQfmt.js} +1 -1
- package/dist/public/assets/{TextDocEditor-lp_L8pQg.js → TextDocEditor-Ckd918Mb.js} +1 -1
- package/dist/public/assets/{ThreadView-B0bXdy0X.js → ThreadView-DGR1KByM.js} +1 -1
- package/dist/public/assets/{TimelineDiffPane-jTy3D_Yh.js → TimelineDiffPane-CpgSHJGN.js} +1 -1
- package/dist/public/assets/{agent-diff-store-B7QUf8gQ.js → agent-diff-store-DzZwPUH2.js} +1 -1
- package/dist/public/assets/{auth-state-cache-CcdfpjLM.js → auth-state-cache-CEf8XB-q.js} +1 -1
- package/dist/public/assets/{bug-report-send-manager-Buxf0r5c.js → bug-report-send-manager-D19JO93p.js} +1 -1
- package/dist/public/assets/{chunk-BO2N2NFS-BVKS5mdX.js → chunk-BO2N2NFS-aa_rQr8f.js} +31 -31
- package/dist/public/assets/client-version-ow2B_U-6.js +1 -0
- package/dist/public/assets/{comment-chips-z8F67ebz.js → comment-chips-C076-HNt.js} +1 -1
- package/dist/public/assets/{config-provider-DcdQLVo-.js → config-provider-JYp7fF6x.js} +1 -1
- package/dist/public/assets/{dist-DSS3ixln2.js → dist-CWxNQtC52.js} +41 -41
- package/dist/public/assets/{doc-paths-oMq41Y7d.js → doc-paths-DgbGdxZ1.js} +1 -1
- package/dist/public/assets/{documents-events-DCcMe0wm.js → documents-events-DViu97ho.js} +1 -1
- package/dist/public/assets/{file-tree-adapter-X5fV07Z_.js → file-tree-adapter-B2J82X4l.js} +1 -1
- package/dist/public/assets/{file-tree-utils-DL6Pvgvd.js → file-tree-utils-MiagXf7l.js} +1 -1
- package/dist/public/assets/{folder-config-api-Ca2OxXT-.js → folder-config-api-CNXuE5zD.js} +1 -1
- package/dist/public/assets/{highlighted-body-OFNGDK62-R5erL3S3.js → highlighted-body-OFNGDK62-eLakIx_-.js} +1 -1
- package/dist/public/assets/i18n-CqDKlhNm.js +1 -0
- package/dist/public/assets/{index-Cx0Su1s3.js → index-CVIfHBfN.js} +7 -7
- package/dist/public/assets/lib-DH_OjOEF.js +29 -0
- package/dist/public/assets/{lint-config-client-CumTSl-t.js → lint-config-client-RzlDcfLl.js} +1 -1
- package/dist/public/assets/{markdownlint-rule-browser-BYdFk19L.js → markdownlint-rule-browser-Bmk3lsoP.js} +1 -1
- package/dist/public/assets/mermaid-GHXKKRXX-ChsT7WMf.js +1 -0
- package/dist/public/assets/{page-list-cache-NegxJAbd.js → page-list-cache-CEyxAohw.js} +1 -1
- package/dist/public/assets/{pending-receive-nav-store-kFxMX_hs.js → pending-receive-nav-store-CTqjXsBl.js} +1 -1
- package/dist/public/assets/{progress-BOWBNgYM.js → progress-OoUVKpXn.js} +1 -1
- package/dist/public/assets/{project-paths-C-SkuTbI.js → project-paths-BdGjLtxT.js} +1 -1
- package/dist/public/assets/{prop-types-nOgQFiCi.js → prop-types-CU7HQl68.js} +1 -1
- package/dist/public/assets/{receive-store-D9Px8yTN.js → receive-store-CJtiTNp3.js} +1 -1
- package/dist/public/assets/{selection-context-CYahjTQ5.js → selection-context-DR7ab7yE.js} +1 -1
- package/dist/public/assets/{skill-scope-DWsJ838z.js → skill-scope-BAozv3yS.js} +1 -1
- package/dist/public/assets/{skills-api-BLXzXEC-.js → skills-api-DY2ILAVx.js} +1 -1
- package/dist/public/assets/{src-DMJQ5Vxd.js → src-CGTpf8aj.js} +1 -1
- package/dist/public/assets/{tag-pill-input-DwIQ-TmP.js → tag-pill-input-llQtM5Z_.js} +1 -1
- package/dist/public/assets/{target-navigation-intent-CJUCqJBv.js → target-navigation-intent-HQou_X-w.js} +1 -1
- package/dist/public/assets/{telemetry-impl-Bbh5su9o.js → telemetry-impl-BIepj08G.js} +1 -1
- package/dist/public/assets/{telemetry-startup-DVLjCMTC.js → telemetry-startup-B7OSl-z5.js} +1 -1
- package/dist/public/assets/{terminal-cli-display-C-s_gqLX.js → terminal-cli-display-DTFiZBBc.js} +1 -1
- package/dist/public/assets/{terminal-launch-events-CwapFFW5.js → terminal-launch-events-Bfi4m2vK.js} +1 -1
- package/dist/public/assets/{terminal-telemetry-B16z13Uq.js → terminal-telemetry-CboX_HNN.js} +1 -1
- package/dist/public/assets/{typing-burst-detector-DOfSmyLX.js → typing-burst-detector-C4y2fKpb.js} +1 -1
- package/dist/public/assets/{uninstall-3RuzHXuR.js → uninstall-Bf9OgFpb.js} +1 -1
- package/dist/public/assets/{use-activity-panel-ewhIckJf.js → use-activity-panel-D_OG3gXD.js} +1 -1
- package/dist/public/assets/{use-apply-config-color-theme-BEWFuTWv.js → use-apply-config-color-theme-H1zX9cBU.js} +1 -1
- package/dist/public/assets/{use-collab-url-CwkAA1lj.js → use-collab-url-Dk-3M_go.js} +1 -1
- package/dist/public/assets/{use-live-xterm-theme-C2sLeh-e.js → use-live-xterm-theme-ChdQbgac.js} +1 -1
- package/dist/public/assets/{use-open-skill-Bwm3tOLL.js → use-open-skill-BeZcrVWu.js} +1 -1
- package/dist/public/assets/{use-settings-route-DOVNFDSn.js → use-settings-route-CHUO6Vb3.js} +1 -1
- package/dist/public/assets/{use-skill-origin-Cyn5juIp.js → use-skill-origin-CLzO6XeG.js} +1 -1
- package/dist/public/assets/{use-skills-szHEgJLb.js → use-skills-B1r84pEp.js} +1 -1
- package/dist/public/assets/{use-terminal-enabled-Chvkm0XM.js → use-terminal-enabled-BCESHfrF.js} +1 -1
- package/dist/public/assets/{use-timeline-entry-diff-BN_8QKGi.js → use-timeline-entry-diff-Bs-prtib.js} +1 -1
- package/dist/public/assets/{use-workspace-DriKk3ci.js → use-workspace-DigIBtSV.js} +1 -1
- package/dist/public/index.html +47 -47
- package/dist/public/uninstall.html +4 -4
- package/dist/{repair-launch-json-Bh0ZbSGM.mjs → repair-launch-json-DGu77VVa.mjs} +2 -2
- package/dist/{repair-mcp-configs-C4QkDSa4.mjs → repair-mcp-configs-BKUZ3NzW.mjs} +2 -2
- package/dist/repair-skills-BABpOhB_.mjs +1 -0
- package/dist/{repair-skills-DquHsHSZ.mjs → repair-skills-CRG-r1Xh.mjs} +2 -2
- package/dist/{resolve-project-root-TgFFxl73.mjs → resolve-project-root-urAKqvDX.mjs} +4 -4
- package/dist/server-lock-C_5VGPQF.mjs +1 -0
- package/dist/{server-lock-DW446_ti.mjs → server-lock-_JWkU2Mh.mjs} +2 -2
- package/dist/{skill-teardown-DLbNuqvC.mjs → skill-teardown-CVMrfSeZ.mjs} +2 -2
- package/dist/{src-nJP2O0vw.mjs → src-BRlSw7bk.mjs} +1 -1
- package/dist/src-CjFV1e1Z.mjs +2039 -0
- package/dist/src-D6Ou79Ng.mjs +1 -0
- package/dist/{src-BSyYJ3UA.mjs → src-DBh4BCS2.mjs} +4 -4
- package/dist/{src-Cjs2mjwW.mjs → src-DhKkOAcb.mjs} +128 -128
- package/dist/start-CGzXGtnH.mjs +1 -0
- package/dist/{start-DXw9a2ML.mjs → start-DaYtIHPj.mjs} +3 -3
- package/package.json +4 -4
- package/dist/constants-DfUFKoK2.mjs +0 -2
- package/dist/git-handle-ACPhpYTy.mjs +0 -1
- package/dist/init-sHqvUFdz.mjs +0 -1
- package/dist/loader-BdMPNOLm.mjs +0 -1
- package/dist/md-manager-CTy1swXK.mjs +0 -2
- package/dist/preview-CY1N1FhZ.mjs +0 -1
- package/dist/public/assets/FeedbackForm-Bmmb6Lzs.js +0 -1
- package/dist/public/assets/ManagedArtifactProperties-CluUiwa8.js +0 -1
- package/dist/public/assets/client-version-B9jWAX8Y.js +0 -1
- package/dist/public/assets/i18n-CwbBw0OU.js +0 -1
- package/dist/public/assets/lib-CQqy20Z3.js +0 -29
- package/dist/public/assets/mermaid-GHXKKRXX-D2pBG5L4.js +0 -1
- package/dist/repair-skills-CiWDpMXb.mjs +0 -1
- package/dist/server-lock-CKYMJfzI.mjs +0 -1
- package/dist/src-2igu-66q.mjs +0 -2039
- package/dist/src-D5jc9qKa.mjs +0 -1
- package/dist/start-NSSGTzDh.mjs +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import{yt as e}from"./sleep-DyLEGHvt.mjs";import{Bi as t}from"./src-
|
|
1
|
+
import{yt as e}from"./sleep-DyLEGHvt.mjs";import{Bi as t}from"./src-CjFV1e1Z.mjs";import{I as n,N as r,P as i}from"./fs-traced-C5oeVBiQ.mjs";import{b as a,g as o,m as s,p as c,s as l}from"./resolve-project-root-urAKqvDX.mjs";import{S as ee,T as u,d as te,o as d,v as f,x as ne}from"./init-CB9b8ABp.mjs";import{t as p}from"./is-object-Bw0-z8qH.mjs";import{execFileSync as m,spawn as h}from"node:child_process";import{basename as re,dirname as g,join as _,resolve as ie,win32 as v}from"node:path";import{existsSync as y,mkdirSync as b,readFileSync as x,readdirSync as ae,statSync as oe,writeFileSync as se}from"node:fs";import{homedir as S}from"node:os";var C=e();const w=`open-knowledge`;function T(e){try{e()}catch{}}var E=class{backend=`keyring`;constructor(e){this.onKeychainRead=e}async get(e){let{Entry:t}=await import(`@napi-rs/keyring`),n;try{n=new t(w,e).getPassword()}catch(t){return T(()=>this.onKeychainRead?.({kind:`read-error`,host:e,error:t instanceof Error?t.name:`unknown`})),null}if(n==null)return T(()=>this.onKeychainRead?.({kind:`absent`,host:e})),null;try{return JSON.parse(n)}catch{return T(()=>this.onKeychainRead?.({kind:`corrupt-entry`,host:e,error:`corrupt-entry`})),null}}async set(e,t,n,r){let{Entry:i}=await import(`@napi-rs/keyring`),a=new i(w,e),o={login:t,token:n,...r};a.setPassword(JSON.stringify(o))}async clear(e){let{Entry:t}=await import(`@napi-rs/keyring`);try{new t(w,e).deletePassword()}catch{}}},D=class{backend=`file`;authFile;constructor(e){this.authFile=e??_(S(),`.ok`,`auth.yml`)}read(){if(!y(this.authFile))return{};try{return(0,C.parse)(x(this.authFile,`utf-8`))??{}}catch(e){let t=e instanceof Error?e.message:`unknown error`;return process.stderr.write(`[auth] Failed to parse ${this.authFile}: ${t}. Starting with empty credentials.\n`),{}}}write(e){let t=g(this.authFile);y(t)||b(t,{recursive:!0,mode:448}),se(this.authFile,(0,C.stringify)(e),{mode:384})}async get(e){return this.read()[e]??null}async set(e,t,n,r){let i=this.read();i[e]={login:t,token:n,...r},this.write(i)}async clear(e){let t=this.read();delete t[e],this.write(t)}},ce=class{backend=`keyring`;constructor(e,t){this.keychain=e,this.file=t}async get(e){let t=await this.keychain.get(e);if(t!=null)return t;let n=await this.file.get(e);if(n==null)return null;try{await this.keychain.set(e,n.login,n.token,{gitProtocol:n.gitProtocol,name:n.name,email:n.email}),await this.file.clear(e),process.stderr.write(`[auth] migrated ${e} credential from ~/.ok/auth.yml to the OS keychain\n`)}catch{}return n}set(e,t,n,r){return this.keychain.set(e,t,n,r)}async clear(e){await this.keychain.clear(e),await this.file.get(e)!=null&&await this.file.clear(e)}};async function O(e,t){try{let{Entry:n}=await import(`@napi-rs/keyring`);return new n(w,`__probe__`),process.stderr.write(`[auth] token storage: OS keychain
|
|
2
2
|
`),T(()=>t?.onBackendSelected?.({backend:`keyring`})),new ce(new E(t?.onKeychainRead),new D(e))}catch(n){let r=n instanceof Error?`${n.name}: ${n.message}`:String(n);return process.stderr.write(`[auth] token storage: file (~/.ok/auth.yml) — OS keychain unavailable: ${r}\n`),T(()=>t?.onBackendSelected?.({backend:`file`,reason:r})),new D(e)}}function k(e){let t=null;return function(){if(t)return t;let n=2e3;return t=(async()=>{let t=null,r=new Promise(r=>{t=setTimeout(()=>{process.stderr.write(`[auth] token storage: keyring init exceeded ${n}ms; falling back to file (~/.ok/auth.yml)\n`),r(new D(e))},n)});try{return await Promise.race([O(e),r])}catch{return new D(e)}finally{t!==null&&clearTimeout(t)}})(),t}}function le(e){let t=k(e);return{async get(e){let n=await(await t()).get(e);return n===null?null:{token:n.token,login:n.login}}}}function ue(e){let t=k(e);return{backend:`file`,async get(e){return(await t()).get(e)},async set(e,n,r,i){return(await t()).set(e,n,r,i)},async clear(e){return(await t()).clear(e)}}}async function de(e,t){let n=[],r=new D(t);await r.get(e)!=null&&(await r.clear(e),n.push(`file`));let i;try{let{Entry:t}=await import(`@napi-rs/keyring`);new t(w,`__probe__`);let r,a=await new E(e=>{e.kind===`read-error`&&(r=e.error??`read-error`)}).get(e);if(r!==void 0)i=r;else if(a!=null)try{new t(w,e).deletePassword(),n.push(`keychain`)}catch(e){i=e instanceof Error?e.name:`delete-error`}}catch{}return{touched:n,keychainError:i}}const fe=[`/opt/homebrew/bin/gh`,`/usr/local/bin/gh`,`/opt/local/bin/gh`,`/snap/bin/gh`,`/usr/bin/gh`],A={encoding:`utf-8`,stdio:[`ignore`,`pipe`,`pipe`],timeout:5e3,windowsHide:!0};function j(e,t={}){let{login:n}=t,r=t._exec??m,i=M(t._fileExists??y),a=e?[`--hostname`,e]:[];if(n){let e=N(r,i,[`auth`,`token`,...a,`--user`,n]);if(e)return{available:!0,token:e,resolvedLogin:n,fallback:!1}}let o=N(r,i,[`auth`,`token`,...a]);return o?n?{available:!0,token:o,fallback:!0}:{available:!0,token:o}:{available:!1}}function M(e){return[`gh`,...fe.filter(e)]}function N(e,t,n){for(let r of t)try{let t=e(r,n,A).toString().trim();if(t.length>0)return t}catch{}}function P(e,t={}){let n=t._exec??m,r=M(t._fileExists??y),i=[`auth`,`status`,...e?[`--hostname`,e]:[]],a=N(n,r,[...i,`--json`,`hosts`]);if(a!==void 0){let t=I(a,e);if(t)return t}let o=N(n,r,i);if(o!==void 0){let e=V(o);if(e.length>0)return e}}function F(e){return typeof e==`object`&&e&&!Array.isArray(e)?e:void 0}function I(e,t){let n;try{n=JSON.parse(e)}catch{return}let r=F(F(n)?.hosts);if(!r||t!==void 0&&r[t]===void 0)return;let i=t===void 0?Object.values(r):[r[t]],a=[];for(let e of i){if(!Array.isArray(e))return;for(let t of e){let e=F(t);if(!e)continue;let n=e.login;typeof n!=`string`||n.length===0||a.push({login:n,active:e.active===!0})}}return a}const L=/Logged in to \S+ account (\S+) \(/,R=/(?:Failed to log in to|Timeout trying to log in to) \S+/,z=/^\s*-\s*Active account:\s*true\s*$/,B=/\u001b\[[0-9;]*m/g;function V(e){let t=[],n;for(let r of e.split(`
|
|
3
3
|
`)){let e=r.replace(B,``),i=L.exec(e)?.[1];if(i){n={login:i,active:!1},t.push(n);continue}if(R.test(e)){n=void 0;continue}n&&z.test(e)&&(n.active=!0)}return t}function pe(e){let t={...e};return delete t.ELECTRON_RUN_AS_NODE,t}function H(e){let t=e?.code;return t===`ENOENT`||t===`EACCES`||t===`EPERM`?{ok:!1,reason:`not-installed`}:{ok:!1,reason:`spawn-error`}}function U(e){return t({detached:!0,stdio:`ignore`,shell:!1,env:pe(e)})}function W(e,t,n={}){let r=(n.spawn??h)(e,[...t],U(n.env??process.env));return r.unref(),r}function me(e,t,n={}){let r=n.spawn??h,i=n.timeoutMs??2e3;return new Promise(a=>{let o=!1,s=e=>{o||(o=!0,a(e))},c=setTimeout(()=>s({ok:!1,reason:`timeout`}),i);try{let i=r(e,[...t],U(n.env??process.env));i.once(`error`,e=>{clearTimeout(c),s(H(e))}),i.once(`spawn`,()=>{clearTimeout(c),s({ok:!0})});try{i.unref()}catch{}}catch(e){clearTimeout(c),s(H(e))}})}const G=`com.inkeep.open-knowledge`,K=`OpenKnowledge.app`,q=`/Applications/${K}`;function he(){return{platform:process.platform,env:process.env,execPath:process.execPath,isTTY:process.stdout.isTTY,statSync:e=>{try{return oe(e,{throwIfNoEntry:!1})??null}catch{return null}}}}function ge(e){if(e.env.ELECTRON_RUN_AS_NODE===`1`){let t=/(.+?\.app)\/Contents\/MacOS\//.exec(e.execPath);if(t?.[1])return t[1]}if(J(e,q))return q;let t=_(e.homeDir??S(),`Applications`,K);return J(e,t)?t:null}function J(e,t){return Y(e,_(t,`Contents`,`MacOS`,`OpenKnowledge`))}function Y(e,t){try{let n=e.statSync(t);return n&&typeof n.isFile==`function`?n.isFile():!1}catch{return!1}}const _e=[`@inkeepopen-knowledge-desktop`,`OpenKnowledge`];function ve(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 _e){let r=v.join(t,`Programs`,n,`OpenKnowledge.exe`);if(Y(e,r))return r}return null}function ye(e){if(e.env.ELECTRON_RUN_AS_NODE===`1`&&e.execPath.endsWith(`/openknowledge`))return e.execPath;let t=`/opt/OpenKnowledge/openknowledge`;return Y(e,t)?t:null}function be(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`?ge(e):e.platform===`win32`?ve(e):ye(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 xe(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`){W(`open`,[`-b`,G],{spawn:e.spawn});return}let i=t?.bundlePath;if(!i){n(`Desktop launch skipped: no resolved desktop executable (caller bug).`);return}W(i,[],{spawn:e.spawn})}function Se(e=`no-bundle`){switch(e){case`no-bundle`:return`Desktop app not found (checked the standard install locations for this OS). Install it from https://openknowledge.ai/download, or omit --mode for browser mode.`;case`darwin-only`:case`unsupported-platform`:return`Desktop app is not available on this platform. Use --mode=browser, or omit --mode for the server fallback.`;case`headless`:return`Desktop launch is gated in headless contexts (CI, SSH, non-TTY stdout). Set OK_FORCE_DESKTOP=1 to override, or use --mode=browser.`;case`force-browser`:return`OK_FORCE_BROWSER=1 is set — desktop dispatch is disabled. Unset it to use --mode=app.`;case`stat-error`:return`Failed to inspect the desktop install (filesystem error). Check permissions or use --mode=browser.`;case`available`:return`Desktop app appears available but launch dispatch did not fire (caller bug).`}}function X(e,t){let n=ie(e),r=t===void 0?a():a({home:t,env:{}});return{cwd:n,bridgePath:l.pi.projectConfigPath?.(n)??``,trustPath:_(r,`trust.json`)}}function Z(e,t,n){let r=d(l.pi,e,n,t);if(r.kind===`absent`)return{state:`absent`,text:null};if(r.kind!==`present`)return{state:`unreadable`,text:null};let i=r.entry,a=Array.isArray(i.args)&&typeof i.args[0]==`string`?i.args[0]:null;return s(i)?{state:`own-current`,text:a}:ee(i)?{state:`own-stale`,text:a}:{state:`foreign`,text:a}}function Q(e,t){let n;try{n=x(e,`utf-8`)}catch(e){let t=e.code;return t===`ENOENT`||t===`ENOTDIR`?{state:`untrusted`,entries:{},trailingNewline:!1}:{state:`unreadable`,entries:null,trailingNewline:!1}}if(n.trim()===``)return{state:`untrusted`,entries:{},trailingNewline:!1};let r;try{r=JSON.parse(n)}catch{return{state:`unreadable`,entries:null,trailingNewline:!1}}return p(r)?{state:r[t]===!0?`trusted`:`untrusted`,entries:r,trailingNewline:n.endsWith(`
|
|
4
4
|
`)}:{state:`unreadable`,entries:null,trailingNewline:!1}}function Ce(e,t){let n=X(e,t),r=Z(n.cwd,n.bridgePath,t).state,i=Q(n.trustPath,n.cwd).state;return{...n,bridge:r,trust:i,bridgeLoadable:(r===`own-current`||r===`own-stale`)&&i===`trusted`,otherExtensions:$(n.bridgePath).names}}function $(e){let t=g(e),n=re(e);try{return{names:ae(t).filter(e=>e!==n&&e.endsWith(`.ts`)).sort(),verified:!0}}catch(e){let t=e.code;return{names:[],verified:t===`ENOENT`||t===`ENOTDIR`}}}async function we(e,t={mode:`published`},n){let r=X(e,n),i=Z(r.cwd,r.bridgePath,n);if(i.state===`foreign`)return{...r,ok:!1,bridge:`refused-foreign`,trust:`skipped`};if(i.state===`unreadable`)return{...r,ok:!1,bridge:`refused-unreadable`,trust:`skipped`};let a;if(i.state===`absent`)a=`written`;else{let e;try{e=ne(t)}catch{e=void 0}a=e!==void 0&&i.text===e?`unchanged`:`refreshed`}if(a!==`unchanged`){let e=f(l.pi,r.cwd,t,n,r.bridgePath);if(e.action!==`written`&&e.action!==`overwritten`)return{...r,ok:!1,bridge:`failed`,trust:`skipped`,error:e.error??`bridge write ${e.action}`}}let o=await Te(r.trustPath,r.cwd);return{...r,ok:o.action===`already-trusted`||o.action===`added`,bridge:a,trust:o.action,...o.error===void 0?{}:{error:o.error}}}async function Te(e,t){try{b(g(e),{recursive:!0})}catch(e){return{action:`failed`,error:e instanceof Error?e.message:String(e)}}let i={action:`added`};try{await r(`${e}.lock`,async()=>{let r=Q(e,t);if(r.state===`trusted`){i.action=`already-trusted`;return}if(r.entries===null){i.action=`refused-unreadable`;return}let a={...r.entries,[t]:!0},o=JSON.stringify(a,null,2)+(r.trailingNewline?`
|
|
5
5
|
`:``),s=u(e);n(e,o,s===void 0?void 0:{mode:s}),i.action=`added`})}catch(e){return{action:`failed`,error:e instanceof Error?e.message:String(e)}}return i.action===`refused-unreadable`?{action:`refused-unreadable`,error:`trust store is not a readable JSON object`}:{action:i.action}}function Ee(e,t){let r=X(e,t),a=$(r.bridgePath);if(!a.verified)return{action:`kept-unverified`,error:`could not read the Pi extensions folder`};if(a.names.length>0)return{action:`kept-shared`};if(!y(r.trustPath))return{action:`not-present`};let o={action:`removed`};try{i(`${r.trustPath}.lock`,()=>{let e=Q(r.trustPath,r.cwd);if(e.entries===null){o.action=e.state===`unreadable`?`refused-unreadable`:`not-present`;return}if(!(r.cwd in e.entries)){o.action=`not-present`;return}let t={...e.entries};delete t[r.cwd];let i=JSON.stringify(t,null,2)+(e.trailingNewline?`
|
|
6
6
|
`:``),a=u(r.trustPath);n(r.trustPath,i,a===void 0?void 0:{mode:a}),o.action=`removed`})}catch(e){return{action:`failed`,error:e instanceof Error?e.message:String(e)}}return o.action===`refused-unreadable`?{action:`refused-unreadable`,error:`trust store is not a readable JSON object`}:{action:o.action}}function De(e){return e===`opencode`?o:c}function Oe(e,t,n){let r=l[e],i=De(e),a=[],o=r.projectConfigPath?.(t);o!==void 0&&a.push({scope:`project`,configPath:o});try{a.push({scope:`user`,configPath:r.configPath(t,n)})}catch{}for(let o of a){let a=te(r,t,n,o.configPath);if(a!==null&&i(a))return{editorId:e,scope:o.scope,configPath:o.configPath}}return null}export{ue as _,G as a,xe as c,me as d,j as f,le as g,O as h,Ee as i,Se as l,de as m,we as n,he as o,P as p,Ce as r,be as s,Oe as t,W as u};
|
|
7
|
-
//# sourceMappingURL=acp-harness-probe-
|
|
7
|
+
//# sourceMappingURL=acp-harness-probe-BS2KKWDg.mjs.map
|