@ferrule-io/ok-fine 0.0.0-stage → 0.3.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +93 -2
  3. package/dist/auth/discovery.js +67 -0
  4. package/dist/auth/http-auth.js +50 -0
  5. package/dist/auth/verifier.js +176 -0
  6. package/dist/cli-options.js +99 -0
  7. package/dist/cli.js +115 -0
  8. package/dist/config.js +320 -0
  9. package/dist/data-dir-lock.js +60 -0
  10. package/dist/errors.js +13 -0
  11. package/dist/http/mcp-route.js +32 -0
  12. package/dist/http/rest.js +243 -0
  13. package/dist/http/ui.js +118 -0
  14. package/dist/main.js +32 -0
  15. package/dist/mcp/server.js +203 -0
  16. package/dist/okf/concept.js +99 -0
  17. package/dist/okf/frontmatter.js +180 -0
  18. package/dist/okf/index-file.js +74 -0
  19. package/dist/okf/lint.js +480 -0
  20. package/dist/okf/log-file.js +74 -0
  21. package/dist/okf/markdown.js +106 -0
  22. package/dist/okf/paths.js +99 -0
  23. package/dist/okf/repository.js +53 -0
  24. package/dist/okf/semantics.js +121 -0
  25. package/dist/server.js +343 -0
  26. package/dist/service/feedback.js +40 -0
  27. package/dist/service/knowledge-service.js +819 -0
  28. package/dist/service/principal.js +22 -0
  29. package/dist/store/archive.js +108 -0
  30. package/dist/store/backend.js +4 -0
  31. package/dist/store/bundle.js +250 -0
  32. package/dist/store/catalog.js +295 -0
  33. package/dist/store/fs-util.js +120 -0
  34. package/dist/store/git-backend.js +713 -0
  35. package/dist/store/git.js +274 -0
  36. package/dist/store/mutex.js +19 -0
  37. package/dist/store/path-index.js +54 -0
  38. package/dist/ui/assets/bash-BiGZg9Om.js +1 -0
  39. package/dist/ui/assets/css-BGIxQoYs.js +1 -0
  40. package/dist/ui/assets/css-DUjzNfgv.js +1 -0
  41. package/dist/ui/assets/diff-woXpYk--.js +1 -0
  42. package/dist/ui/assets/dockerfile-IyjqRm3v.js +1 -0
  43. package/dist/ui/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2 +0 -0
  44. package/dist/ui/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2 +0 -0
  45. package/dist/ui/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2 +0 -0
  46. package/dist/ui/assets/geist-latin-wght-normal-BgDaEnEv.woff2 +0 -0
  47. package/dist/ui/assets/geist-mono-cyrillic-ext-wght-normal-X_5orZeX.woff2 +0 -0
  48. package/dist/ui/assets/geist-mono-cyrillic-wght-normal-DiZS0aHC.woff2 +0 -0
  49. package/dist/ui/assets/geist-mono-latin-ext-wght-normal-Bwz-egvJ.woff2 +0 -0
  50. package/dist/ui/assets/geist-mono-latin-wght-normal-XN7g48iV.woff2 +0 -0
  51. package/dist/ui/assets/geist-mono-symbols2-wght-normal-CO5SzqOn.woff2 +0 -0
  52. package/dist/ui/assets/geist-mono-vietnamese-wght-normal-DadHysG0.woff2 +0 -0
  53. package/dist/ui/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2 +0 -0
  54. package/dist/ui/assets/github-dark-default-DXG-b-1a.js +1 -0
  55. package/dist/ui/assets/github-light-default-BXViO-2h.js +1 -0
  56. package/dist/ui/assets/go-rLFTqkRN.js +1 -0
  57. package/dist/ui/assets/highlight-CW19vWvw.js +153 -0
  58. package/dist/ui/assets/html-BMn1ogTm.js +1 -0
  59. package/dist/ui/assets/html-BlpXnbzK.js +1 -0
  60. package/dist/ui/assets/index-0b2NNRC5.js +127 -0
  61. package/dist/ui/assets/index-CFuTAZQM.css +1 -0
  62. package/dist/ui/assets/java-BtIQNnN0.js +1 -0
  63. package/dist/ui/assets/java-DxlWrXwe.js +1 -0
  64. package/dist/ui/assets/javascript-BzbQS41l.js +1 -0
  65. package/dist/ui/assets/javascript-Yelw-5ZN.js +1 -0
  66. package/dist/ui/assets/json-qhed-kSA.js +1 -0
  67. package/dist/ui/assets/jsx-D3KKoC5L.js +1 -0
  68. package/dist/ui/assets/jsx-hEbJ82HF.js +1 -0
  69. package/dist/ui/assets/markdown-BYOwaDjH.js +1 -0
  70. package/dist/ui/assets/python-gzcpVVnB.js +1 -0
  71. package/dist/ui/assets/ruby-Di5fYh6S.js +1 -0
  72. package/dist/ui/assets/rust-DpiIf5JO.js +1 -0
  73. package/dist/ui/assets/shellscript-CqHdAlCp.js +1 -0
  74. package/dist/ui/assets/sql-BOsskAmu.js +1 -0
  75. package/dist/ui/assets/sql-CNu3Or2W.js +1 -0
  76. package/dist/ui/assets/toml-CcmNWLt0.js +1 -0
  77. package/dist/ui/assets/tsx-5f3ulCja.js +1 -0
  78. package/dist/ui/assets/tsx-BOvsFOI6.js +1 -0
  79. package/dist/ui/assets/typescript-Utq2Cl8c.js +1 -0
  80. package/dist/ui/assets/typescript-j_1H8WHN.js +1 -0
  81. package/dist/ui/assets/yaml-CxbubiML.js +1 -0
  82. package/dist/ui/assets/yaml-DijMHRDA.js +1 -0
  83. package/dist/ui/favicon.svg +11 -0
  84. package/dist/ui/index.html +16 -0
  85. package/dist/ui/theme-init.js +10 -0
  86. package/dist/version.js +2 -0
  87. package/package.json +77 -4
@@ -0,0 +1,11 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24">
2
+ <title>ok-fine</title>
3
+ <defs>
4
+ <linearGradient id="g" x1="0" y1="0" x2="1" y2="1">
5
+ <stop offset="0" stop-color="#8b5cf6"/>
6
+ <stop offset="1" stop-color="#22d3ee"/>
7
+ </linearGradient>
8
+ </defs>
9
+ <rect width="24" height="24" rx="7" fill="url(#g)"/>
10
+ <path d="M7 12.5l3.2 3.2L17 8.8" fill="none" stroke="#fff" stroke-width="2.25" stroke-linecap="round" stroke-linejoin="round"/>
11
+ </svg>
@@ -0,0 +1,16 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
+ <meta name="color-scheme" content="dark light" />
7
+ <link rel="icon" type="image/svg+xml" href="/ui/favicon.svg" />
8
+ <title>ok-fine</title>
9
+ <script src="/ui/theme-init.js"></script>
10
+ <script type="module" crossorigin src="/ui/assets/index-0b2NNRC5.js"></script>
11
+ <link rel="stylesheet" crossorigin href="/ui/assets/index-CFuTAZQM.css">
12
+ </head>
13
+ <body>
14
+ <div id="root"></div>
15
+ </body>
16
+ </html>
@@ -0,0 +1,10 @@
1
+ (() => {
2
+ let pref = "system";
3
+ try {
4
+ const stored = localStorage.getItem("okf.theme");
5
+ if (stored === "light" || stored === "dark" || stored === "system") pref = stored;
6
+ } catch {}
7
+ const dark = pref === "dark" || (pref === "system" && matchMedia("(prefers-color-scheme: dark)").matches);
8
+ document.documentElement.classList.toggle("dark", dark);
9
+ document.documentElement.style.colorScheme = dark ? "dark" : "light";
10
+ })();
@@ -0,0 +1,2 @@
1
+ export const VERSION = "0.3.7";
2
+ //# sourceMappingURL=version.js.map
package/package.json CHANGED
@@ -1,6 +1,79 @@
1
1
  {
2
2
  "name": "@ferrule-io/ok-fine",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
6
- }
3
+ "version": "0.3.7",
4
+ "description": "OKF v0.2 knowledge repository for AI agents (MCP + REST)",
5
+ "license": "Apache-2.0",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "git+https://github.com/ferrule-io/ok-fine.git"
9
+ },
10
+ "homepage": "https://github.com/ferrule-io/ok-fine#readme",
11
+ "type": "module",
12
+ "bin": {
13
+ "ok-fine": "dist/cli.js"
14
+ },
15
+ "files": [
16
+ "dist",
17
+ "!dist/dev",
18
+ "!dist/**/*.map"
19
+ ],
20
+ "os": [
21
+ "darwin",
22
+ "linux"
23
+ ],
24
+ "publishConfig": {
25
+ "access": "public"
26
+ },
27
+ "engines": {
28
+ "node": ">=24"
29
+ },
30
+ "packageManager": "pnpm@11.22.0",
31
+ "scripts": {
32
+ "build": "tsc -p tsconfig.build.json && vite build --config web/vite.config.ts",
33
+ "typecheck": "tsc -p tsconfig.json --noEmit && tsc -p web/tsconfig.json",
34
+ "lint": "biome check --error-on-warnings .",
35
+ "format": "biome check --write .",
36
+ "test": "vitest run",
37
+ "start": "node dist/main.js",
38
+ "dev:issuer": "node dist/dev/issuer-cli.js",
39
+ "dev:web": "vite --config web/vite.config.ts"
40
+ },
41
+ "dependencies": {
42
+ "@modelcontextprotocol/server": "^2.3.1",
43
+ "fastify": "^5.12.5",
44
+ "jose": "^6.2.12",
45
+ "marked": "^18.1.0",
46
+ "minisearch": "^7.2.0",
47
+ "pino": "^10.4.0",
48
+ "tar": "^7.5.22",
49
+ "yaml": "^2.9.1",
50
+ "zod": "^4.6.5"
51
+ },
52
+ "devDependencies": {
53
+ "@biomejs/biome": "2.5.15",
54
+ "@fontsource-variable/geist": "^5.3.0",
55
+ "@fontsource-variable/geist-mono": "^5.3.0",
56
+ "@modelcontextprotocol/client": "^2.3.1",
57
+ "@tailwindcss/typography": "^0.5.20",
58
+ "@tailwindcss/vite": "^4.3.3",
59
+ "@tanstack/react-query": "^5.104.1",
60
+ "@types/node": "^24.19.1",
61
+ "@types/react": "^19.3.0",
62
+ "@types/react-dom": "^19.3.0",
63
+ "@vitejs/plugin-react": "^6.1.1",
64
+ "clsx": "^2.1.1",
65
+ "cmdk": "^1.1.1",
66
+ "dompurify": "^3.4.16",
67
+ "lucide-react": "^1.52.0",
68
+ "motion": "^14.0.0",
69
+ "oauth4webapi": "^3.8.8",
70
+ "react": "^19.3.0",
71
+ "react-dom": "^19.3.0",
72
+ "react-router": "^8.4.0",
73
+ "shiki": "^4.5.0",
74
+ "tailwindcss": "^4.3.3",
75
+ "typescript": "~5.9.3",
76
+ "vite": "^8.3.2",
77
+ "vitest": "^4.1.11"
78
+ }
79
+ }