@inkeep/open-knowledge 0.26.1-beta.1 → 0.27.0-beta.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/assets/skills/discovery/SKILL.md +1 -1
- package/dist/assets/skills/project/SKILL.md +2 -2
- package/dist/assets/skills/project/references/preview.md +4 -4
- package/dist/assets/skills/write-skill/SKILL.md +1 -1
- package/dist/cli.mjs +63 -63
- package/dist/constants-FPRBLLHv.mjs +2 -0
- package/dist/{dist-D8lHZNr8.mjs → dist-CZ4COUHS.mjs} +1 -1
- package/dist/{dist-CUbAo1yS.mjs → dist-CdVqgoPq.mjs} +5 -5
- package/dist/{gh-detect-BUJyWvGO.mjs → gh-detect-KLjG6xCR.mjs} +2 -2
- package/dist/index.d.mts +16 -3
- package/dist/index.mjs +1 -1
- package/dist/init-DdgQk34k.mjs +660 -0
- package/dist/init-NQBVedkZ.mjs +1 -0
- package/dist/loader-B67yXEGv.mjs +1 -0
- package/dist/{loader-DLBG2Jf0.mjs → loader-XWkMJYxk.mjs} +2 -2
- package/dist/{preview-DMdR22hR.mjs → preview-BLauTAym.mjs} +2 -2
- package/dist/preview-BUda_ENP.mjs +1 -0
- package/dist/public/assets/{ActivityModeContent-ZV1oiH21.js → ActivityModeContent-Bu-aPWfE.js} +1 -1
- package/dist/public/assets/{ConsentDialogBody-ClEtx_H4.js → ConsentDialogBody-u7A2_0jL.js} +1 -1
- package/dist/public/assets/{DocumentContext-CNrQKGNw.js → DocumentContext-BNan6rEA.js} +1 -1
- package/dist/public/assets/{EnableSyncConfirmDialog-BhMvTv-2.js → EnableSyncConfirmDialog-DLAmAtNx.js} +1 -1
- package/dist/public/assets/{GraphPanel-B_Rx6o7k.js → GraphPanel-BXSu0qzO.js} +1 -1
- package/dist/public/assets/{ManagedArtifactProperties-CabIneyc.js → ManagedArtifactProperties-DCf7FSvm.js} +1 -1
- package/dist/public/assets/{McpConsentDialogBody-DW0Ku8h2.js → McpConsentDialogBody-DHnMMoKv.js} +1 -1
- package/dist/public/assets/{PropertyPanel-BGGPGg8z.js → PropertyPanel-CLRxrKmQ.js} +1 -1
- package/dist/public/assets/{SettingsDialogBody-D9Spbasa.js → SettingsDialogBody-BU_CWPpQ.js} +1 -1
- package/dist/public/assets/{ShareBranchSwitchDialog-MF01jVyK.js → ShareBranchSwitchDialog-DqhVt0LE.js} +1 -1
- package/dist/public/assets/{ShareReceiveDialog-BeDLlUWc.js → ShareReceiveDialog-COOji2w1.js} +1 -1
- package/dist/public/assets/{ShareReceiveMissDialog-CErdFiaW.js → ShareReceiveMissDialog-BIUsfWwx.js} +1 -1
- package/dist/public/assets/{SkillEditorActions--NrMimEw.js → SkillEditorActions-Cwen9r7n.js} +1 -1
- package/dist/public/assets/{SourceEditor-DR04Kk-L.js → SourceEditor-B8i0Zuc4.js} +1 -1
- package/dist/public/assets/{TerminalPanel-CDlxv5DM.js → TerminalPanel-CFHapL_S.js} +1 -1
- package/dist/public/assets/{auth-state-cache-XGzST2ZD.js → auth-state-cache-DbOzyU3U.js} +1 -1
- package/dist/public/assets/{config-provider-CNEpgM_S.js → config-provider-Do7HkFaK.js} +1 -1
- package/dist/public/assets/{dist-CQyX-suk.js → dist-IJIMi_KI.js} +2 -2
- package/dist/public/assets/{doc-hash-DK_ofUpp.js → doc-hash-B9qR3wab.js} +1 -1
- package/dist/public/assets/{documents-events-DWU2wzVY.js → documents-events-5sCrqLAB.js} +1 -1
- package/dist/public/assets/{file-tree-adapter-Co_rTNFv.js → file-tree-adapter-DeCSzJFc.js} +1 -1
- package/dist/public/assets/{index-CyAGZpgf.js → index-CfFNwC-k.js} +7 -7
- package/dist/public/assets/{index-CLrcKKoN.css → index-CwH3jLSk.css} +1 -1
- package/dist/public/assets/{keyboard-shortcuts-B_CAsza0.js → keyboard-shortcuts-DoqeoYey.js} +1 -1
- package/dist/public/assets/{navigation-targets-B88nmSdU.js → navigation-targets-CSLWdrg5.js} +1 -1
- package/dist/public/assets/{open-managed-artifact-tab-Bk_tqTdp.js → open-managed-artifact-tab-D6l9ALAm.js} +1 -1
- package/dist/public/assets/{pending-receive-nav-store-DpqQxXOd.js → pending-receive-nav-store-OU-qfx40.js} +1 -1
- package/dist/public/assets/{prop-types-YLAnoO2T.js → prop-types-Cak_LhNF.js} +1 -1
- package/dist/public/assets/{receive-store-BVPHm3DM.js → receive-store-DM0i5Ybb.js} +1 -1
- package/dist/public/assets/{selection-context-ythQq0B9.js → selection-context-Br-4VUmJ.js} +1 -1
- package/dist/public/assets/skill-actions-C1QaoF_v.js +1 -0
- package/dist/public/assets/{skills-api-9bY3Jtgz.js → skills-api-DJJ_LIKc.js} +1 -1
- package/dist/public/assets/{target-navigation-intent-CwZkFyaW.js → target-navigation-intent-DksqRbJO.js} +1 -1
- package/dist/public/assets/{typing-burst-detector-BwvPMOYl.js → typing-burst-detector-ClZLBemU.js} +1 -1
- package/dist/public/index.html +22 -22
- package/dist/{repair-launch-json-CWUTx3IW.mjs → repair-launch-json-Bk99TDG5.mjs} +2 -2
- package/dist/{repair-mcp-configs-BYRhVChI.mjs → repair-mcp-configs-D3XsTqKa.mjs} +2 -2
- package/dist/{repair-skills-B2AtzCSn.mjs → repair-skills-D7TJAZll.mjs} +2 -2
- package/dist/repair-skills-DCZqW9al.mjs +1 -0
- package/dist/server-lock-GuuouVft-CeF2bXVd.mjs +1 -0
- package/dist/{server-lock-iLcBw_q0-BF_u0tGL.mjs → server-lock-iLcBw_q0-CdrK5Xfo.mjs} +2 -2
- package/dist/{src-BWAFlazs.mjs → src-D0hiW4nw.mjs} +2 -2
- package/dist/{start-CnXUmVrI.mjs → start-B3yMZZZG.mjs} +2 -2
- package/dist/start-DAdXMVff.mjs +1 -0
- package/dist/write-project-skill-BEzL3S1a.mjs +36 -0
- package/package.json +1 -1
- package/dist/constants-BfJcirqe.mjs +0 -2
- package/dist/init-9d1LNBPj.mjs +0 -1
- package/dist/init-Dvj0QJzs.mjs +0 -321
- package/dist/loader-z1b3_1sK.mjs +0 -1
- package/dist/preview-C9s_wKIU.mjs +0 -1
- package/dist/public/assets/skill-actions-CbRk7LAn.js +0 -1
- package/dist/repair-skills-B8ePNziA.mjs +0 -1
- package/dist/server-lock-GuuouVft-CWlICi2c.mjs +0 -1
- package/dist/start-CY3HKbBn.mjs +0 -1
- package/dist/write-project-skill-Cjym3mlY.mjs +0 -36
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{Wo as e}from"./server-lock-iLcBw_q0-
|
|
1
|
+
import{Wo as e}from"./server-lock-iLcBw_q0-CdrK5Xfo.mjs";import{execFileSync as t}from"node:child_process";import{dirname as n,join as r}from"node:path";import{homedir as i}from"node:os";import{existsSync as a,mkdirSync as o,readFileSync as s,writeFileSync as c}from"node:fs";var l=e();const u=`open-knowledge`;function d(e){try{e()}catch{}}var f=class{backend=`keyring`;constructor(e){this.onKeychainRead=e}async get(e){let{Entry:t}=await import(`@napi-rs/keyring`),n;try{n=new t(u,e).getPassword()}catch(t){return d(()=>this.onKeychainRead?.({kind:`read-error`,host:e,error:t instanceof Error?t.name:`unknown`})),null}if(n==null)return d(()=>this.onKeychainRead?.({kind:`absent`,host:e})),null;try{return JSON.parse(n)}catch{return d(()=>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(u,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(u,e).deletePassword()}catch{}}},p=class{backend=`file`;authFile;constructor(e){this.authFile=e??r(i(),`.ok`,`auth.yml`)}read(){if(!a(this.authFile))return{};try{return(0,l.parse)(s(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=n(this.authFile);a(t)||o(t,{recursive:!0,mode:448}),c(this.authFile,(0,l.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)}},m=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 h(e,t){try{let{Entry:n}=await import(`@napi-rs/keyring`);return new n(u,`__probe__`),process.stderr.write(`[auth] token storage: OS keychain
|
|
2
2
|
`),d(()=>t?.onBackendSelected?.({backend:`keyring`})),new m(new f(t?.onKeychainRead),new p(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`),d(()=>t?.onBackendSelected?.({backend:`file`,reason:r})),new p(e)}}function g(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 p(e))},n)});try{return await Promise.race([h(e),r])}catch{return new p(e)}finally{t!==null&&clearTimeout(t)}})(),t}}function _(e){let t=g(e);return{async get(e){let n=await(await t()).get(e);return n===null?null:{token:n.token}}}}function v(e){let t=g(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 y(e,t){let n=[],r=new p(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(u,`__probe__`);let r,a=await new f(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(u,e).deletePassword(),n.push(`keychain`)}catch(e){i=e instanceof Error?e.name:`delete-error`}}catch{}return{touched:n,keychainError:i}}const b=[`/opt/homebrew/bin/gh`,`/usr/local/bin/gh`,`/opt/local/bin/gh`,`/snap/bin/gh`,`/usr/bin/gh`];function x(e,n={}){let r=n._exec??t,i=n._fileExists??a,o=[`auth`,`token`,...e?[`--hostname`,e]:[]],s=[`gh`,...b.filter(i)];for(let e of s)try{let t=r(e,o,{encoding:`utf-8`,stdio:[`ignore`,`pipe`,`pipe`],timeout:5e3}).toString().trim();if(t.length>0)return{available:!0,token:t}}catch{}return{available:!1}}export{v as a,_ as i,y as n,h as r,x as t};
|
|
3
|
-
//# sourceMappingURL=gh-detect-
|
|
3
|
+
//# sourceMappingURL=gh-detect-KLjG6xCR.mjs.map
|
package/dist/index.d.mts
CHANGED
|
@@ -187,10 +187,23 @@ interface EditorMcpTarget {
|
|
|
187
187
|
id: EditorId;
|
|
188
188
|
/** Human-friendly name for CLI output. */
|
|
189
189
|
label: string;
|
|
190
|
-
/**
|
|
190
|
+
/**
|
|
191
|
+
* Resolve the absolute path to the MCP config file. Throws for an editor
|
|
192
|
+
* with NO user-global config surface on this platform (Claude Desktop on
|
|
193
|
+
* Linux; Pi everywhere — its integration is the project-scoped managed
|
|
194
|
+
* file). Every generic consumer already tolerates the throw (repair sweep,
|
|
195
|
+
* uninstall plan, classify) — it means "nothing to sweep at user scope".
|
|
196
|
+
*/
|
|
191
197
|
configPath: (cwd: string, home?: string) => string;
|
|
192
|
-
/**
|
|
193
|
-
|
|
198
|
+
/**
|
|
199
|
+
* On-disk config format for this editor. `'json'` / `'toml'` entries go
|
|
200
|
+
* through the surgical entry upsert; `'file'` means OK owns the WHOLE file
|
|
201
|
+
* (Pi's bridge extension) — the write path drops
|
|
202
|
+
* `buildPiExtensionSource(...)` verbatim and classify/removal treat the raw
|
|
203
|
+
* text (via the synthetic `PI_MANAGED_FILE_ENTRY_COMMAND` entry) instead of
|
|
204
|
+
* parsing a server map. `topLevelKey` is inert for `'file'` targets.
|
|
205
|
+
*/
|
|
206
|
+
format: 'json' | 'toml' | 'file';
|
|
194
207
|
/** Top-level key that holds the server map. */
|
|
195
208
|
topLevelKey: 'mcpServers' | 'servers' | 'mcp_servers' | 'mcp';
|
|
196
209
|
/**
|
package/dist/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{i as e,r as t,t as n}from"./gh-detect-
|
|
1
|
+
import{i as e,r as t,t as n}from"./gh-detect-KLjG6xCR.mjs";import{B as r,C as i,E as a,F as o,I as s,L as c,P as l,R as u,S as d,a as f,b as p,i as m,l as h,m as g,n as _,u as v,z as y}from"./init-DdgQk34k.mjs";import{_ as b,d as x,g as S,i as C,l as w,n as T,p as E,r as D,t as O,u as k,v as A,y as j}from"./src-D0hiW4nw.mjs";import{a as M,c as N,g as P,h as F,i as I,l as L,m as R,r as z,t as B,u as V}from"./write-project-skill-BEzL3S1a.mjs";import{n as H}from"./loader-XWkMJYxk.mjs";import{n as U}from"./preview-BLauTAym.mjs";import{n as W,t as G}from"./mcp-migrate-event-D0NrGjvc.mjs";export{M as ALL_EDITOR_IDS,N as EDITOR_LABELS,L as EDITOR_TARGETS,V as HOSTS_WITH_USER_SKILL_DIR,_ as LAUNCH_CONFIG_NAME,m as LAUNCH_UI_CHAIN_SENTINEL,f as LAUNCH_UI_CHAIN_V1,w as PATH_SHIM_BEGIN,k as PATH_SHIM_BLOCK_RE,x as PATH_SHIM_END,l as addOkPathsToGitExclude,B as assertProjectPathSafe,R as buildManagedServerEntry,D as buildMcpConfigDeclineEvent,G as buildMcpConfigMigrateEvent,h as classifyExistingMcpEntry,t as createTokenStore,n as detectGh,v as detectInstalledEditors,o as formatTrackedRemediation,s as getExcludedOkPaths,c as getOkArtifactPaths,F as isEntryUpToDate,P as isOwnManagedEntry,H as loadConfig,e as makeLazyProbeTokenStore,S as parseGitHubBlobUrl,b as parseGitHubShareUrl,A as parseGitHubTreeUrl,j as parseGitUrl,E as pathInstallMarkerPath,U as previewContent,u as probeTrackedOkPaths,g as readExistingMcpEntry,y as readSharingMode,r as removeOkPathsFromGitExclude,z as removeUserGlobalSkillBundle,a as resolveProjectRoot,C as runStop,p as scaffoldLaunchJson,W as truncatePriorEntry,I as userGlobalSkillBundleTargets,T as validateLocalFolderForShare,d as writeEditorMcpConfig,O as writeProjectAiIntegrations,i as writeUserMcpConfigs};
|