@inkeep/open-knowledge 0.65.0-beta.0 → 0.65.0-beta.10
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-D8GNCLKI.mjs → acp-harness-probe-0kysXPS3.mjs} +2 -2
- package/dist/assets/skills/packs/okf/SKILL.md +2 -1
- package/dist/assets/skills/project/references/components-and-visuals.md +1 -1
- package/dist/cli.mjs +16 -16
- package/dist/config-schema.json +9 -1
- package/dist/config.project-local.schema.json +9 -1
- package/dist/constants-DedAFfaQ.mjs +2 -0
- package/dist/fs-traced-ByTZUu6k.mjs +1 -0
- package/dist/{fs-traced-C5oeVBiQ.mjs → fs-traced-C5AXyho0.mjs} +2 -2
- package/dist/git-handle-CeiR-ZT6.mjs +1 -0
- package/dist/{git-handle-UnQwrdlT.mjs → git-handle-tSoVdwPX.mjs} +2 -2
- package/dist/index.d.mts +40 -1
- package/dist/index.mjs +167 -164
- package/dist/init-BChmDJQ4.mjs +1 -0
- package/dist/{init-eBP6ynxi.mjs → init-CJFMf0Pt.mjs} +3 -3
- package/dist/{launch-json-removal-BFpdcojK.mjs → launch-json-removal-D9Kpu384.mjs} +2 -2
- package/dist/loader-CgTokkEd.mjs +1 -0
- package/dist/{loader-CRRZ4eTQ.mjs → loader-t89TDKH-.mjs} +2 -2
- package/dist/md-manager-BI4O3a2W.mjs +2 -0
- package/dist/{open-browser-mXaE0V-v.mjs → open-browser-Dwh3SYxd.mjs} +2 -2
- package/dist/parse-worker.mjs +1 -1
- package/dist/{preview-cPC1BHPG.mjs → preview-CVVCkcP3.mjs} +2 -2
- package/dist/preview-Jo70n6y1.mjs +1 -0
- package/dist/public/assets/ActivityModeContent-DHLRkmUf.js +1 -0
- package/dist/public/assets/{AddPropertiesButton-CDqx5oOU.js → AddPropertiesButton-CJf3djMt.js} +1 -1
- package/dist/public/assets/{AgentDiffPane-DySEAYNs.js → AgentDiffPane-CL3qqW5L.js} +1 -1
- package/dist/public/assets/{AgentThreadClientBinder-XXRp8VNW.js → AgentThreadClientBinder-Cnk8titC.js} +1 -1
- package/dist/public/assets/{BugReportHistory-BzqzlDvE.js → BugReportHistory-CVREyd4K.js} +1 -1
- package/dist/public/assets/{BugReportHistoryDialog--Su04gP8.js → BugReportHistoryDialog-BK5ks1Al.js} +1 -1
- package/dist/public/assets/CodeMirrorPropInput-BM7OpNpf.js +3 -0
- package/dist/public/assets/{ConsentDialogBody-DWgT7k5c.js → ConsentDialogBody-BQ_fKUiO.js} +1 -1
- package/dist/public/assets/{DocumentContext-BId0aBaa.js → DocumentContext-D4-sdlnA.js} +9 -9
- package/dist/public/assets/{EditorModeToggle-D7GXfSQE.js → EditorModeToggle-D00jPWtj.js} +1 -1
- package/dist/public/assets/{EnableSyncConfirmDialog-CVKmC5yw.js → EnableSyncConfirmDialog-Dxi4MbUU.js} +1 -1
- package/dist/public/assets/{ExcalidrawDocEditor-mxb0y2TR.js → ExcalidrawDocEditor-BFJVzGmK.js} +1 -1
- package/dist/public/assets/FeedbackForm-9dHSfS4a.js +1 -0
- package/dist/public/assets/{GraphPanel-DlmLJpXS.js → GraphPanel-DGW3J-Ha.js} +2 -2
- package/dist/public/assets/{ImportSkillDialog-WPJMdoUX.js → ImportSkillDialog-D-xDH6nL.js} +1 -1
- package/dist/public/assets/{LintConfigEditor-CREx0S2c.js → LintConfigEditor-CA6cGIYg.js} +1 -1
- package/dist/public/assets/ManagedArtifactProperties-B5dlxFFd.js +1 -0
- package/dist/public/assets/ManagedArtifactProperties-C-BMogEh.js +1 -0
- package/dist/public/assets/{MermaidDocEditor-BeIZEdGa.js → MermaidDocEditor-B9X4OOzm.js} +1 -1
- package/dist/public/assets/PropertyDisplayRow-1okRxEyy.js +2 -0
- package/dist/public/assets/{ReportBugDialogBody-uz1wEEaL.js → ReportBugDialogBody-BSRU1H9A.js} +1 -1
- package/dist/public/assets/{ReportBugMenuTrigger-CciQFblr.js → ReportBugMenuTrigger-DcH2LZLT.js} +2 -2
- package/dist/public/assets/{SchemaConfigEditor-sXi89wgY.js → SchemaConfigEditor-De_1t-Fp.js} +1 -1
- package/dist/public/assets/SessionsHost--dTOCWsD.js +2 -0
- package/dist/public/assets/{SettingsDialogBody-BeSclbmh.js → SettingsDialogBody-DZPZfEx4.js} +4 -4
- package/dist/public/assets/{ShareBranchSwitchDialog-BuKFUw0e.js → ShareBranchSwitchDialog-BOB7Gs1O.js} +1 -1
- package/dist/public/assets/{ShareReceiveDialog-ILk9qSQi.js → ShareReceiveDialog-C6O1U-80.js} +1 -1
- package/dist/public/assets/{ShareReceiveMissDialog-DSPm1Ymd.js → ShareReceiveMissDialog-DbAUwOz_.js} +1 -1
- package/dist/public/assets/{SkillCostValue-Dnq-P4nV.js → SkillCostValue-CULUHX1h.js} +1 -1
- package/dist/public/assets/{SkillEditBanner-Bi5UjV5F.js → SkillEditBanner-Ci2waYek.js} +1 -1
- package/dist/public/assets/SkillInstallMenu-CcQ4rXjm.js +2 -0
- package/dist/public/assets/{SkillOriginInline-CxtxMYgG.js → SkillOriginInline-C6zCsZpu.js} +1 -1
- package/dist/public/assets/{SkillToolbarControls-BonUlpuf.js → SkillToolbarControls-BWRfAnRt.js} +1 -1
- package/dist/public/assets/{SlidesToolbarControls-BFw5X_I9.js → SlidesToolbarControls-DjnFahGv.js} +1 -1
- package/dist/public/assets/SourceEditor-DddbKAmO.js +1 -0
- package/dist/public/assets/TerminalPanel-CK5xSGJs.js +146 -0
- package/dist/public/assets/{TerminalWindowApp-Bg0ksRvd.js → TerminalWindowApp-DjNC3U-x.js} +1 -1
- package/dist/public/assets/{TextDocEditor-oysjAuPF.js → TextDocEditor-gh6CMivc.js} +1 -1
- package/dist/public/assets/{ThreadView-B6FpcgQA.js → ThreadView-Be84yxwe.js} +9 -9
- package/dist/public/assets/{TimelineDiffPane-CQtzCGhI.js → TimelineDiffPane-C0l2Bf5B.js} +1 -1
- package/dist/public/assets/{agent-diff-store-7YPKABFM.js → agent-diff-store-BYJQ8UAU.js} +1 -1
- package/dist/public/assets/auth-state-cache-BI-V32hk.js +11 -0
- package/dist/public/assets/{bug-report-send-manager-idwD-g0s.js → bug-report-send-manager-B5OBrvsh.js} +1 -1
- package/dist/public/assets/client-version-DP_DFbkp.js +1 -0
- package/dist/public/assets/{comment-chips-Dd3uvf5B.js → comment-chips-2fhX9RKd.js} +1 -1
- package/dist/public/assets/config-provider-CH25hiPj.js +5 -0
- package/dist/public/assets/{dist-C_QZEaeX.js → dist-CNUsB2q0.js} +122 -119
- package/dist/public/assets/doc-paths-BShtZt2N.js +1 -0
- package/dist/public/assets/{documents-events-CwqQxQT5.js → documents-events-B4_gdzXM.js} +1 -1
- package/dist/public/assets/{file-tree-adapter-Blu63jOX.js → file-tree-adapter-DxRpIDJ8.js} +1 -1
- package/dist/public/assets/{file-tree-utils-CJ625FXw.js → file-tree-utils-BU-0tVMx.js} +1 -1
- package/dist/public/assets/{folder-config-api-Dxuhqlqr.js → folder-config-api-BjfmZE1E.js} +1 -1
- package/dist/public/assets/globals-BaOeic4_.css +1 -0
- package/dist/public/assets/i18n-30_sL_u7.js +1 -0
- package/dist/public/assets/{index-xtNevPWi.js → index-C0zLyhIb.js} +120 -120
- package/dist/public/assets/{launcher-selection-h6hBbSeu.js → launcher-selection-tWPyNXck.js} +1 -1
- package/dist/public/assets/{lint-config-client-CHoPvgQx.js → lint-config-client-DJ92O3EE.js} +1 -1
- package/dist/public/assets/{markdownlint-rule-browser-B15oIG0p.js → markdownlint-rule-browser-ClR8537V.js} +1 -1
- package/dist/public/assets/messages-B1y9my2y.js +1 -0
- package/dist/public/assets/messages-BLPbK3hY.js +1 -0
- package/dist/public/assets/messages-BXcet8bS.js +1 -0
- package/dist/public/assets/messages-BwTBQu-G.js +1 -0
- package/dist/public/assets/messages-CkfMXdXE.js +1 -0
- package/dist/public/assets/messages-CuLYOX5w.js +1 -0
- package/dist/public/assets/messages-Dea4EQjg.js +1 -0
- package/dist/public/assets/messages-IxOupfHQ.js +1 -0
- package/dist/public/assets/messages-Pn_9kcf-.js +1 -0
- package/dist/public/assets/messages-S6T9NAt6.js +1 -0
- package/dist/public/assets/messages-TF1JDcwi.js +1 -0
- package/dist/public/assets/messages-rf4KfpqB.js +1 -0
- package/dist/public/assets/page-list-cache-CdV30Rpz.js +1 -0
- package/dist/public/assets/{pending-receive-nav-store-DSQDb6m_.js → pending-receive-nav-store-BnfTQ1tD.js} +1 -1
- package/dist/public/assets/progress-w86CmZY7.js +9 -0
- package/dist/public/assets/{project-paths-Da-3VtPS.js → project-paths-CuywV7Pt.js} +1 -1
- package/dist/public/assets/prop-types-CeSzd9V3.js +1 -0
- package/dist/public/assets/{receive-store-CZytnhfP.js → receive-store-CXAmTr2-.js} +1 -1
- package/dist/public/assets/{selection-context-DcqZ3oLY.js → selection-context-DyXHLVzS.js} +1 -1
- package/dist/public/assets/{skill-scope-BOgGK9dw.js → skill-scope-C7vDwjos.js} +1 -1
- package/dist/public/assets/{skills-api-Cpxu_weC.js → skills-api-DwfG7_Ox.js} +1 -1
- package/dist/public/assets/{src-o99n4-mI.js → src-diXOV2W6.js} +1 -1
- package/dist/public/assets/{startup-marks-CwgakJzA.js → startup-marks-CxS3ch-T.js} +1 -1
- package/dist/public/assets/{tag-pill-input-Czha5J4D.js → tag-pill-input-CesVkRpl.js} +1 -1
- package/dist/public/assets/{target-navigation-intent-C2Nfap4j.js → target-navigation-intent-DEVrbZZv.js} +1 -1
- package/dist/public/assets/{telemetry-startup-Cr2hA85U.js → telemetry-startup-DvSZlbqT.js} +1 -1
- package/dist/public/assets/{terminal-cli-display-Dt4cbzju.js → terminal-cli-display-D5Yx8BYY.js} +1 -1
- package/dist/public/assets/terminal-command-events-CL99X6I2.js +1 -0
- package/dist/public/assets/typing-burst-detector-CV8eJchU.js +8 -0
- package/dist/public/assets/{uninstall-0vFtGMK2.js → uninstall-C2pTf0Bn.js} +1 -1
- package/dist/public/assets/{use-activity-panel-DgMjR_uo.js → use-activity-panel-CwFDPRy2.js} +1 -1
- package/dist/public/assets/{use-apply-config-color-theme-pxpDfOq4.js → use-apply-config-color-theme-Huz8DxMv.js} +1 -1
- package/dist/public/assets/{use-collab-url-CrPRD0Do.js → use-collab-url-BPWe4f76.js} +1 -1
- package/dist/public/assets/{use-live-xterm-theme-vRNyzDLo.js → use-live-xterm-theme-BK6xLi85.js} +1 -1
- package/dist/public/assets/{use-open-skill-DDH7y31F.js → use-open-skill-CZ1fVBS0.js} +1 -1
- package/dist/public/assets/{use-settings-route-6Aa41RPQ.js → use-settings-route-CUsaVNEW.js} +1 -1
- package/dist/public/assets/{use-skill-origin-CCXLtFlz.js → use-skill-origin-DMFgaCuR.js} +1 -1
- package/dist/public/assets/{use-skills-L0px0Zhw.js → use-skills-DIoMs6BD.js} +1 -1
- package/dist/public/assets/{use-terminal-enabled-UleqVo0K.js → use-terminal-enabled-CNvrm-_x.js} +1 -1
- package/dist/public/assets/use-timeline-entry-diff-BN0p_LxP.js +6 -0
- package/dist/public/assets/{use-workspace-7B06onC_.js → use-workspace-BLzLEi-_.js} +1 -1
- package/dist/public/index.html +51 -51
- package/dist/public/uninstall.html +6 -6
- package/dist/{repair-launch-json-CkxVvou7.mjs → repair-launch-json-DlGRZVwx.mjs} +2 -2
- package/dist/{repair-mcp-configs-DjVdyrm2.mjs → repair-mcp-configs-Ct8lk44M.mjs} +2 -2
- package/dist/{repair-skills-Dbdo1dep.mjs → repair-skills-BCpTKERH.mjs} +2 -2
- package/dist/repair-skills-CvFeICKK.mjs +1 -0
- package/dist/{resolve-project-root-BgZ293gs.mjs → resolve-project-root-DEipdv30.mjs} +5 -5
- package/dist/schemas/v0/config.project-local.schema.json +9 -1
- package/dist/server-lock-BtkTgyPE.mjs +1 -0
- package/dist/{server-lock-CcnGITIh.mjs → server-lock-CFtoCcIl.mjs} +2 -2
- package/dist/{skill-teardown-BQcurw-H.mjs → skill-teardown-CNyUhPcN.mjs} +2 -2
- package/dist/{sleep-DyLEGHvt.mjs → sleep-BZCw-NJO.mjs} +2 -2
- package/dist/src-BVV6pMrY.mjs +2041 -0
- package/dist/src-CRBq5Usz.mjs +1 -0
- package/dist/{src-DB7C0CZe.mjs → src-CaoQ9J7M.mjs} +1 -1
- package/dist/{src-CaLoSvK5.mjs → src-DYG0hctS.mjs} +130 -127
- package/dist/{src-BQg24g5w.mjs → src-l2oabBVG.mjs} +4 -4
- package/dist/start-CqK6A0Ss.mjs +1 -0
- package/dist/{start-Cx3sd9S_.mjs → start-ice1TOrd.mjs} +3 -3
- package/package.json +4 -4
- package/dist/constants-DzLzqZ-e.mjs +0 -2
- package/dist/fs-traced-DiZ_Z58g.mjs +0 -1
- package/dist/git-handle-Bh1alj7a.mjs +0 -1
- package/dist/init-BX_9NOtu.mjs +0 -1
- package/dist/loader-BO6n9crj.mjs +0 -1
- package/dist/md-manager-BJ88tow5.mjs +0 -2
- package/dist/preview-DyOUTvCV.mjs +0 -1
- package/dist/public/assets/ActivityModeContent-BfSvNw28.js +0 -1
- package/dist/public/assets/CodeMirrorPropInput-DtX4bjvR.js +0 -3
- package/dist/public/assets/FeedbackForm-RpZ8ZAA4.js +0 -1
- package/dist/public/assets/ManagedArtifactProperties-3wX-4L9A.js +0 -1
- package/dist/public/assets/ManagedArtifactProperties-CEBc2qva.js +0 -1
- package/dist/public/assets/PropertyDisplayRow-DDOV4-Ci.js +0 -2
- package/dist/public/assets/SessionsHost-DUYXhSk4.js +0 -2
- package/dist/public/assets/SkillInstallMenu-DiCGjWcJ.js +0 -2
- package/dist/public/assets/SourceEditor-BzonD5kQ.js +0 -1
- package/dist/public/assets/TerminalPanel-Dqg_--C1.js +0 -146
- package/dist/public/assets/auth-state-cache-CrQ_9ffi.js +0 -11
- package/dist/public/assets/client-version-BH4Ct1dv.js +0 -1
- package/dist/public/assets/config-provider-C6FHgLZX.js +0 -5
- package/dist/public/assets/doc-paths-CzO1mA3r.js +0 -1
- package/dist/public/assets/globals-D1lEgZg7.css +0 -1
- package/dist/public/assets/i18n-Bn0IL-Jk.js +0 -1
- package/dist/public/assets/messages-20ZT_n81.js +0 -1
- package/dist/public/assets/messages-B2X-60YW.js +0 -1
- package/dist/public/assets/messages-B9Qrr14Q.js +0 -1
- package/dist/public/assets/messages-BUgRBtWn.js +0 -1
- package/dist/public/assets/messages-B_l2z4-1.js +0 -1
- package/dist/public/assets/messages-Bu7B_SFk.js +0 -1
- package/dist/public/assets/messages-CFu0nt3l.js +0 -1
- package/dist/public/assets/messages-CLBJUWjQ.js +0 -1
- package/dist/public/assets/messages-DagesR8a.js +0 -1
- package/dist/public/assets/messages-Dl-AHyyi.js +0 -1
- package/dist/public/assets/messages-mvZekN3y.js +0 -1
- package/dist/public/assets/messages-zTkemwXI.js +0 -1
- package/dist/public/assets/page-list-cache-CI-xFldj.js +0 -1
- package/dist/public/assets/progress-Cbjh5yOY.js +0 -9
- package/dist/public/assets/prop-types-DTEkSQcM.js +0 -1
- package/dist/public/assets/terminal-command-events-D0gJ8NJs.js +0 -1
- package/dist/public/assets/typing-burst-detector-BfXA1WDv.js +0 -8
- package/dist/public/assets/use-timeline-entry-diff-CZDwTk89.js +0 -6
- package/dist/repair-skills-CBdnIHQ1.mjs +0 -1
- package/dist/server-lock-D8d0WVYU.mjs +0 -1
- package/dist/src-C28fg0N6.mjs +0 -1
- package/dist/src-DGS-lA-C.mjs +0 -2041
- package/dist/start-Bzg4UT8v.mjs +0 -1
- /package/dist/public/assets/{globals-CVUc-u8t.js → globals-Bezfr5us.js} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import{yt as e}from"./sleep-
|
|
1
|
+
import{yt as e}from"./sleep-BZCw-NJO.mjs";import{Bi as t}from"./src-BVV6pMrY.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-DEipdv30.mjs";import{S as ee,T as u,d as te,o as d,v as f,x as ne}from"./init-CJFMf0Pt.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-0kysXPS3.mjs.map
|
|
@@ -11,7 +11,7 @@ metadata:
|
|
|
11
11
|
---
|
|
12
12
|
# Open Knowledge Format (OKF)
|
|
13
13
|
|
|
14
|
-
[OKF v0.2](https://github.com/GoogleCloudPlatform/knowledge-
|
|
14
|
+
[OKF v0.2](https://github.com/GoogleCloudPlatform/open-knowledge-format/blob/main/SPEC.md) is a portable format for agent-readable knowledge: Markdown files, YAML frontmatter, and standard links. The `/open-knowledge` skill governs tool use; this skill covers OKF semantics.
|
|
15
15
|
|
|
16
16
|
## Core rules
|
|
17
17
|
|
|
@@ -31,6 +31,7 @@ metadata:
|
|
|
31
31
|
- Use `title`, `description`, `resource`, and `tags` only when they add real information.
|
|
32
32
|
- Record provenance in `sources`. Join claim-level citations with matching `sources[].id` and Markdown footnotes.
|
|
33
33
|
- Keep authorship and verification separate: `generated` says who produced content; `verified` says who confirmed it. Use exact lowercase `human:` and `process:` prefixes when applicable.
|
|
34
|
+
- Write every provenance timestamp as an ISO 8601 datetime with an explicit UTC offset (`stale_after: 2026-12-31T00:00:00Z`), never a bare date and never an offsetless time. This covers `generated.at`, `verified[].at`, `stale_after`, `sources[].last_modified`, and both `usage_window` bounds. A `log.md` entry heading is different: it stays a plain `YYYY-MM-DD` date.
|
|
34
35
|
- Treat `status: deprecated` and expired `stale_after` values as trust signals, not validation errors.
|
|
35
36
|
- For `type: Attested Computation`, follow the declared runtime and parameters. Do not rewrite the sanctioned computation.
|
|
36
37
|
|
|
@@ -11,7 +11,7 @@ OK auto-promotes markdown-native syntax into themed canonical components at pars
|
|
|
11
11
|
| Diagram | a ` ```mermaid ` fenced block (flowchart, sequence, class, state, ER, gantt, pie) — label-text pitfalls + escapes: `palette({ components: ["Mermaid"] })`; parse failures come back as `warnings` entries on write/edit | Mermaid diagram |
|
|
12
12
|
| Math | `$x$` inline, `$$…$$` block | KaTeX Math |
|
|
13
13
|
| Highlight | `==text==` | highlight mark |
|
|
14
|
-
| Author-only comment (hidden from readers) | `%%text%%` or `<!-- text -->` | comment mark |
|
|
14
|
+
| Author-only comment (hidden from readers) | `%%text%%` or `<!-- text -->` (mid-sentence, a body that is only a formatted word, `%%**bold**%%`, stays prose — pair it with plain text; alone on a line it is fine) | comment mark |
|
|
15
15
|
| Inline a doc or asset | `![[file]]` | wiki embed |
|
|
16
16
|
|
|
17
17
|
**These delimiters are live in ordinary prose.** `==`, `$`, `$$`, `%%`, `<!--` … `-->` and `~~` format — or hide — whatever sits between them, wherever they appear, not only where you meant them as syntax. To show a literal pair, wrap it in an inline code span (`` `==x==` ``, `` `$5` ``), which always works and reads as code; or backslash-escape a delimiter to keep it as running prose. Escaping either side is enough for `==`, `$`, `%%` and `<!--`: `\==x\==`, `\$5`, `\%\%note\%\%`, `\<!-- note -->`. For `~~`, escape both tildes (`\~\~x\~\~`) — a one-sided `\~~x~~` renders right but gets rewritten to the two-sided form on save. Watch `%%` and `<!-- -->` in particular: an accidental pair doesn't restyle the text, it hides it.
|