@inkeep/open-knowledge 0.67.0-beta.1 → 0.67.0-beta.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.
- package/dist/{acp-harness-probe-5enbQPMI.mjs → acp-harness-probe-CAIOCT6d.mjs} +2 -2
- package/dist/cli.mjs +29 -29
- package/dist/constants-CsUYxRfV.mjs +2 -0
- package/dist/git-handle-COMbZr8u.mjs +1 -0
- package/dist/{git-handle-DdhcdkCE.mjs → git-handle-IQZoLUBW.mjs} +2 -2
- package/dist/index.d.mts +17 -17
- package/dist/index.mjs +27 -27
- package/dist/init-BqfKh7Vw.mjs +1 -0
- package/dist/{init-aeanAEIJ.mjs → init-C3vpwARX.mjs} +12 -12
- package/dist/{launch-json-removal-BFPTw2ut.mjs → launch-json-removal-50hJcTaZ.mjs} +2 -2
- package/dist/{loader-egUaB2jL.mjs → loader-CtImrIWl.mjs} +2 -2
- package/dist/loader-d932-yXP.mjs +1 -0
- package/dist/md-manager-CmAEZsv6.mjs +2 -0
- package/dist/{open-browser-DJSSG7gq.mjs → open-browser-zyR1fJMP.mjs} +2 -2
- package/dist/parse-worker.mjs +1 -1
- package/dist/{preview-DOiZrE1T.mjs → preview-D9bPT-gK.mjs} +2 -2
- package/dist/preview-s6wGSaGi.mjs +1 -0
- package/dist/public/assets/{ActivityModeContent-D-0cSRrW.js → ActivityModeContent-LZXobglw.js} +1 -1
- package/dist/public/assets/{AddPropertiesButton-YKnjelq2.js → AddPropertiesButton-C_oEF-k6.js} +1 -1
- package/dist/public/assets/{AgentDiffPane-D0kPMcBi.js → AgentDiffPane-rwXOyXfA.js} +1 -1
- package/dist/public/assets/{AgentThreadClientBinder-D5KcxShu.js → AgentThreadClientBinder-BsOqdmmj.js} +1 -1
- package/dist/public/assets/{BugReportHistory-Bt_2AhdY.js → BugReportHistory-BOFdT2af.js} +1 -1
- package/dist/public/assets/{BugReportHistoryDialog-BnvDhUu-.js → BugReportHistoryDialog-DpY63nIu.js} +1 -1
- package/dist/public/assets/{CodeMirrorPropInput-CwOB60rY.js → CodeMirrorPropInput-Cg5Vd3nt.js} +1 -1
- package/dist/public/assets/{ConsentDialogBody-CaipvBFe.js → ConsentDialogBody-DlRCrCDb.js} +1 -1
- package/dist/public/assets/{DocumentContext-Bsw895IC.js → DocumentContext-CMYNrz-_.js} +1 -1
- package/dist/public/assets/{EditorModeToggle-Bn8sDhg7.js → EditorModeToggle-DX78JcBR.js} +1 -1
- package/dist/public/assets/{EnableSyncConfirmDialog-CgEa2Lel.js → EnableSyncConfirmDialog-CrT56rTk.js} +1 -1
- package/dist/public/assets/{ExcalidrawDocEditor-e98m3yrW.js → ExcalidrawDocEditor-DA40b8B-.js} +1 -1
- package/dist/public/assets/FeedbackForm-pTBV_Sai.js +1 -0
- package/dist/public/assets/{GraphPanel-N6573H16.js → GraphPanel-BV7L6-3Z.js} +1 -1
- package/dist/public/assets/{ImportSkillDialog-DqMQBoo8.js → ImportSkillDialog-BsGvRMLu.js} +1 -1
- package/dist/public/assets/{LintConfigEditor-DQILdKTF.js → LintConfigEditor-3TmQmk5q.js} +1 -1
- package/dist/public/assets/ManagedArtifactProperties-DfK-lOLp.js +1 -0
- package/dist/public/assets/{ManagedArtifactProperties-CoXIlO52.js → ManagedArtifactProperties-Dk0ISqgs.js} +1 -1
- package/dist/public/assets/{MermaidDocEditor-iHa0I65N.js → MermaidDocEditor-CNBiD7BP.js} +1 -1
- package/dist/public/assets/{PropertyDisplayRow-B-mow9Ko.js → PropertyDisplayRow-CcPBwh6r.js} +1 -1
- package/dist/public/assets/{ReportBugDialogBody-Cjh3Yh5B.js → ReportBugDialogBody-B10t6ztH.js} +1 -1
- package/dist/public/assets/{ReportBugMenuTrigger-q_dLhiO9.js → ReportBugMenuTrigger-DoOFK964.js} +2 -2
- package/dist/public/assets/{SchemaConfigEditor-Dg2Xv_wN.js → SchemaConfigEditor-Bp9Z2cMc.js} +1 -1
- package/dist/public/assets/{SessionsHost-CXkO6eTK.js → SessionsHost-Dgg43wAS.js} +2 -2
- package/dist/public/assets/{SettingsDialogBody-B90ZfLI-.js → SettingsDialogBody-TzbcWBGf.js} +1 -1
- package/dist/public/assets/{ShareBranchSwitchDialog-CAh_Zb4e.js → ShareBranchSwitchDialog-Cgqp6DLk.js} +1 -1
- package/dist/public/assets/{ShareReceiveDialog-YN1GVIoH.js → ShareReceiveDialog-C2we44vF.js} +1 -1
- package/dist/public/assets/{ShareReceiveMissDialog-BslE-oFr.js → ShareReceiveMissDialog-1s-ohJqA.js} +1 -1
- package/dist/public/assets/{SkillCostValue-JVEHCicc.js → SkillCostValue-CzTA99wi.js} +1 -1
- package/dist/public/assets/{SkillEditBanner-C0vOlwrp.js → SkillEditBanner-zkwvfJID.js} +1 -1
- package/dist/public/assets/{SkillInstallMenu-DuZtBLEk.js → SkillInstallMenu-C9UMFcD3.js} +1 -1
- package/dist/public/assets/{SkillOriginInline-8mndfQn_.js → SkillOriginInline-B-7m47QP.js} +1 -1
- package/dist/public/assets/{SkillToolbarControls-C4zdjIgn.js → SkillToolbarControls-DaWIfh6l.js} +1 -1
- package/dist/public/assets/{SlidesToolbarControls-B1bIgq-2.js → SlidesToolbarControls-doFfuHJv.js} +1 -1
- package/dist/public/assets/{SourceEditor-DUHzc0vf.js → SourceEditor-BxwgAoZn.js} +1 -1
- package/dist/public/assets/{TerminalPanel-iaEaHe0J.js → TerminalPanel-t4vv_7oY.js} +1 -1
- package/dist/public/assets/{TerminalWindowApp-CBu5NLqp.js → TerminalWindowApp-CLntLiBg.js} +1 -1
- package/dist/public/assets/{TextDocEditor-JsL28P0A.js → TextDocEditor-DQNW37-H.js} +1 -1
- package/dist/public/assets/{ThreadView-aQoZ82F0.js → ThreadView-id1IVufe.js} +1 -1
- package/dist/public/assets/{TimelineDiffPane-DA1QA7NK.js → TimelineDiffPane-BVYNGbjv.js} +1 -1
- package/dist/public/assets/{agent-diff-store-DtxT_Ooz.js → agent-diff-store-BnFkUQtB.js} +1 -1
- package/dist/public/assets/{auth-state-cache-C3ZozEKy.js → auth-state-cache-CSFL7s9x.js} +1 -1
- package/dist/public/assets/{bug-report-send-manager-DyOyYvtc.js → bug-report-send-manager-uz1N726r.js} +1 -1
- package/dist/public/assets/client-version-DqyRNVDY.js +1 -0
- package/dist/public/assets/{comment-chips-CgqGEtXc.js → comment-chips-Dj0DZmYi.js} +1 -1
- package/dist/public/assets/{config-provider-wH0NVfSu.js → config-provider-Flf2Xj2j.js} +1 -1
- package/dist/public/assets/{dist-CV2GCpOd.js → dist-B09M7HMS.js} +1 -1
- package/dist/public/assets/{doc-paths-DIVeqETn.js → doc-paths-BQkA8AK7.js} +1 -1
- package/dist/public/assets/{documents-events-DtnOXlfX.js → documents-events-Cm7G-T0h.js} +1 -1
- package/dist/public/assets/{file-tree-adapter-DEjD0Pu_.js → file-tree-adapter-CTmhzMR7.js} +1 -1
- package/dist/public/assets/{file-tree-utils-ys3LwEvP.js → file-tree-utils-Dw0qduRo.js} +1 -1
- package/dist/public/assets/{folder-config-api-BEFECEIF.js → folder-config-api-DXrqFQFU.js} +1 -1
- package/dist/public/assets/i18n-DeMGB8Bx.js +1 -0
- package/dist/public/assets/{index-C7GceT7c.js → index-DdYtMWnx.js} +7 -7
- package/dist/public/assets/{launcher-selection-E18xz3aA.js → launcher-selection-DQx0NqY7.js} +1 -1
- package/dist/public/assets/{lint-config-client-BkUD6SV-.js → lint-config-client-DKl0UxkD.js} +1 -1
- package/dist/public/assets/{markdownlint-rule-browser-CP0Fb0-9.js → markdownlint-rule-browser-CvkMak5i.js} +1 -1
- package/dist/public/assets/{page-list-cache-Bj9bjDW4.js → page-list-cache-DXgYf538.js} +1 -1
- package/dist/public/assets/{pending-receive-nav-store-BX-8fLvd.js → pending-receive-nav-store-nAr29ZoF.js} +1 -1
- package/dist/public/assets/{progress-CUbgsLyb.js → progress-BVlIPHs6.js} +1 -1
- package/dist/public/assets/{project-paths-Bd0yFlZ5.js → project-paths-DEnB9tdt.js} +1 -1
- package/dist/public/assets/{prop-types-DO_gRwRt.js → prop-types-DoF2_bUg.js} +1 -1
- package/dist/public/assets/{receive-store-m6d3FxaB.js → receive-store-Ds63Aih2.js} +1 -1
- package/dist/public/assets/{selection-context-CNW65XVV.js → selection-context-DyWxJNcr.js} +1 -1
- package/dist/public/assets/{skill-scope-DFZ_SHdC.js → skill-scope-tOoaxMej.js} +1 -1
- package/dist/public/assets/{skills-api-DxRE5EZQ.js → skills-api-DRYrLN_f.js} +1 -1
- package/dist/public/assets/{src-C_PWwlFO.js → src-BLASU-Ua.js} +1 -1
- package/dist/public/assets/{startup-marks-BWr5BogJ.js → startup-marks-oHCT4d7K.js} +1 -1
- package/dist/public/assets/{tag-pill-input-LshOKGhD.js → tag-pill-input-Cs4RMU0P.js} +1 -1
- package/dist/public/assets/{target-navigation-intent-BLz2rhJ9.js → target-navigation-intent-MvlUyaZ0.js} +1 -1
- package/dist/public/assets/{telemetry-impl-ClRJ18fy.js → telemetry-impl-C-lVM95D.js} +1 -1
- package/dist/public/assets/{telemetry-startup-DT1reB9O.js → telemetry-startup-Pp18qmqI.js} +1 -1
- package/dist/public/assets/{terminal-cli-display-uGo_RJa9.js → terminal-cli-display-nVuwR0QR.js} +1 -1
- package/dist/public/assets/{terminal-command-events-Cx8h3XNf.js → terminal-command-events-BBHZDeWG.js} +1 -1
- package/dist/public/assets/{typing-burst-detector-CNU1-vqf.js → typing-burst-detector-BU0mlOLf.js} +1 -1
- package/dist/public/assets/{uninstall-CAw-VgxU.js → uninstall-BMzmB4--.js} +1 -1
- package/dist/public/assets/{use-activity-panel-CPZKbDLj.js → use-activity-panel-CucXmSmA.js} +1 -1
- package/dist/public/assets/{use-apply-config-color-theme-tbsOUFmL.js → use-apply-config-color-theme-EQzX-tJq.js} +1 -1
- package/dist/public/assets/{use-collab-url-DRZxhN7P.js → use-collab-url-BnB65bTi.js} +1 -1
- package/dist/public/assets/{use-live-xterm-theme-B0Dgjjuu.js → use-live-xterm-theme-D1A4AVj9.js} +1 -1
- package/dist/public/assets/{use-open-skill-lEwSPp01.js → use-open-skill-F34G6MU_.js} +1 -1
- package/dist/public/assets/{use-settings-route-DTY_xCA7.js → use-settings-route-C-4dXobi.js} +1 -1
- package/dist/public/assets/{use-skill-origin-CDGIUSHM.js → use-skill-origin-Cxdz_jJG.js} +1 -1
- package/dist/public/assets/{use-skills-DHTWSwQB.js → use-skills-Bp0S7YlJ.js} +1 -1
- package/dist/public/assets/{use-terminal-enabled-DxW9RFe7.js → use-terminal-enabled-CeycTmer.js} +1 -1
- package/dist/public/assets/{use-timeline-entry-diff-gjnd_HCL.js → use-timeline-entry-diff-Dq2wYxOI.js} +1 -1
- package/dist/public/assets/{use-workspace-C5H_J2oR.js → use-workspace-D3DgKmW_.js} +1 -1
- package/dist/public/index.html +48 -48
- package/dist/public/uninstall.html +3 -3
- package/dist/{repair-launch-json-Da7CAli_.mjs → repair-launch-json-Cvzqn61T.mjs} +2 -2
- package/dist/{repair-mcp-configs-Bmxf0zpG.mjs → repair-mcp-configs-DxNThLYs.mjs} +2 -2
- package/dist/repair-skills-B1grg5zx.mjs +1 -0
- package/dist/{repair-skills-sAqBCXOp.mjs → repair-skills-Cw8bOvSl.mjs} +2 -2
- package/dist/{resolve-project-root-BGJWrr7S.mjs → resolve-project-root-GAALlgK0.mjs} +3 -3
- package/dist/{server-lock-BKFglZ7W.mjs → server-lock-7h8qd644.mjs} +2 -2
- package/dist/server-lock-B8gf8uNF.mjs +1 -0
- package/dist/{skill-teardown-BfpV0B4c.mjs → skill-teardown-BOK6k1kP.mjs} +2 -2
- package/dist/src-B2uhXnAX.mjs +2045 -0
- package/dist/src-BQ4HXNsS.mjs +1 -0
- package/dist/{src-Dbt5dMPy.mjs → src-CS_k7GF4.mjs} +2 -2
- package/dist/{src-QSCGwG0O.mjs → src-DAPW933-.mjs} +2 -2
- package/dist/src-T0cE5ley.mjs +1 -0
- package/dist/start-BAn0n1M1.mjs +1 -0
- package/dist/{start-D4uoZIi8.mjs → start-CXk9FOLR.mjs} +3 -3
- package/package.json +4 -4
- package/dist/constants-CL8WMjuI.mjs +0 -2
- package/dist/git-handle-CU7BKn2c.mjs +0 -1
- package/dist/init-tXvUPtrZ.mjs +0 -1
- package/dist/loader-BX91sIcm.mjs +0 -1
- package/dist/md-manager-D8UOdkMq.mjs +0 -2
- package/dist/preview-CDuoKWSj.mjs +0 -1
- package/dist/public/assets/FeedbackForm-C2egUHDW.js +0 -1
- package/dist/public/assets/ManagedArtifactProperties-CiNLT1jV.js +0 -1
- package/dist/public/assets/client-version-By8mf75p.js +0 -1
- package/dist/public/assets/i18n-B2e6ZOjH.js +0 -1
- package/dist/repair-skills-Ds2Fajtu.mjs +0 -1
- package/dist/server-lock-BB9BC2RO.mjs +0 -1
- package/dist/src-BRP7ysCx.mjs +0 -2045
- package/dist/src-Cc_DXisa.mjs +0 -1
- package/dist/src-DqDKpWQW.mjs +0 -1
- package/dist/start-Dh7PYrab.mjs +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import{yt as e}from"./sleep-BZCw-NJO.mjs";import{Bi as t}from"./src-
|
|
1
|
+
import{yt as e}from"./sleep-BZCw-NJO.mjs";import{Bi as t}from"./src-B2uhXnAX.mjs";import{I as n,N as r,P as i}from"./fs-traced-C5AXyho0.mjs";import{b as a,g as o,m as s,p as c,s as l}from"./resolve-project-root-GAALlgK0.mjs";import{S as ee,T as u,d as te,o as d,v as f,x as ne}from"./init-C3vpwARX.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-CAIOCT6d.mjs.map
|