@dikolab/kbdb 0.3.2 → 0.4.0

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 (466) hide show
  1. package/README.md +83 -89
  2. package/dist/chunk-BJPSPNGX.mjs +223 -0
  3. package/dist/chunk-BJPSPNGX.mjs.map +7 -0
  4. package/dist/cli.cjs +956 -319
  5. package/dist/cli.cjs.map +4 -4
  6. package/dist/cli.d.ts +9 -0
  7. package/dist/cli.mjs +840 -321
  8. package/dist/cli.mjs.map +4 -4
  9. package/dist/kbdb-worker.cjs +714 -94
  10. package/dist/kbdb-worker.cjs.map +4 -4
  11. package/dist/mod.cjs +122 -16
  12. package/dist/mod.cjs.map +3 -3
  13. package/dist/mod.d.ts +23 -2
  14. package/dist/mod.mjs +121 -16
  15. package/dist/mod.mjs.map +3 -3
  16. package/dist/src/shared/cli/functions/dispatch-command.function.d.ts +2 -1
  17. package/dist/src/shared/cli/functions/find-db.function.d.ts +7 -8
  18. package/dist/src/shared/cli/functions/handle-mcp.function.d.ts +1 -1
  19. package/dist/src/shared/cli/functions/parse-args.function.d.ts +4 -3
  20. package/dist/src/shared/cli/functions/resolve-kbid-prefix.function.d.ts +27 -0
  21. package/dist/src/shared/cli/functions/resolve-raw-db-path.function.d.ts +10 -0
  22. package/dist/src/shared/cli/functions/run-cli.function.d.ts +3 -1
  23. package/dist/src/shared/cli/functions/run-content.function.d.ts +8 -3
  24. package/dist/src/shared/cli/functions/run-import.function.d.ts +27 -0
  25. package/dist/src/shared/cli/functions/run-recall.function.d.ts +10 -4
  26. package/dist/src/shared/cli/functions/run-search.function.d.ts +7 -0
  27. package/dist/src/shared/cli/functions/run-unlearn.function.d.ts +9 -4
  28. package/dist/src/shared/cli/functions/run-worker-restart.function.d.ts +11 -0
  29. package/dist/src/shared/cli/functions/run-worker-stop.function.d.ts +11 -0
  30. package/dist/src/shared/cli/index.d.ts +2 -0
  31. package/dist/src/shared/cli/typings/cli-deps.interface.d.ts +4 -1
  32. package/dist/src/shared/cli/typings/cli-options.interface.d.ts +17 -0
  33. package/dist/src/shared/cli/typings/dispatch-client.type.d.ts +2 -1
  34. package/dist/src/shared/cli/typings/search-display.model.d.ts +6 -0
  35. package/dist/src/shared/embedding/classes/api-embedding-provider.class.d.ts +33 -0
  36. package/dist/src/shared/embedding/classes/onnx-embedding-provider.class.d.ts +33 -0
  37. package/dist/src/shared/embedding/functions/append-vector-entry.function.d.ts +14 -0
  38. package/dist/src/shared/embedding/functions/create-embedding-provider.function.d.ts +12 -0
  39. package/dist/src/shared/embedding/functions/detect-stale-vectors.function.d.ts +16 -0
  40. package/dist/src/shared/embedding/functions/parse-api-embedding-response.function.d.ts +11 -0
  41. package/dist/src/shared/embedding/functions/rebuild-vectors.function.d.ts +15 -0
  42. package/dist/src/shared/embedding/functions/scan-semantic-contradictions.function.d.ts +13 -0
  43. package/dist/src/shared/embedding/index.d.ts +7 -0
  44. package/dist/src/shared/embedding/typings/semantic-contradiction.model.d.ts +21 -0
  45. package/dist/src/shared/embedding/typings/stale-vectors-report.model.d.ts +16 -0
  46. package/dist/src/shared/mcp/classes/mcp-server.class.d.ts +22 -2
  47. package/dist/src/shared/mcp/functions/create-mcp-server.function.d.ts +6 -1
  48. package/dist/src/shared/mcp/functions/has-sampling-capability.function.d.ts +8 -0
  49. package/dist/src/shared/mcp/functions/run-auto-capture.function.d.ts +26 -0
  50. package/dist/src/shared/mcp/typings/mcp-client.interface.d.ts +2 -0
  51. package/dist/src/shared/mcp/typings/mcp-integrity-check-result.model.d.ts +24 -0
  52. package/dist/src/shared/mcp/typings/mcp-worker-client.interface.d.ts +3 -1
  53. package/dist/src/shared/version/constants/version.constant.d.ts +1 -1
  54. package/dist/src/shared/wasm-codec/typings/paged-search-result.model.d.ts +2 -0
  55. package/dist/src/shared/worker-client/classes/worker-client.class.d.ts +31 -1
  56. package/dist/src/shared/worker-client/constants/request-timeout.constant.d.ts +2 -0
  57. package/dist/src/shared/worker-client/constants/retry-defaults.constant.d.ts +2 -0
  58. package/dist/src/shared/worker-client/functions/get-or-create-client.function.d.ts +20 -0
  59. package/dist/src/shared/worker-client/functions/retry-on-timeout.function.d.ts +17 -0
  60. package/dist/src/shared/worker-client/index.d.ts +4 -1
  61. package/dist/src/shared/worker-client/typings/import-result.model.d.ts +16 -0
  62. package/dist/src/shared/worker-client/typings/integrity-check-result.model.d.ts +24 -0
  63. package/dist/src/shared/worker-client/typings/search-params.model.d.ts +4 -0
  64. package/dist/src/shared/worker-client/typings/search-result.model.d.ts +6 -0
  65. package/dist/src/shared/worker-client/typings/worker-client-options.interface.d.ts +7 -0
  66. package/dist/src/shared/worker-daemon/classes/worker-daemon.class.d.ts +5 -0
  67. package/dist/src/shared/worker-daemon/functions/create-ipc-server.function.d.ts +11 -11
  68. package/dist/src/shared/worker-daemon/functions/embed-after-learn.function.d.ts +13 -0
  69. package/dist/src/shared/worker-daemon/functions/handle-hybrid-search.function.d.ts +44 -0
  70. package/dist/src/shared/worker-daemon/functions/handle-import.function.d.ts +14 -0
  71. package/dist/src/shared/worker-daemon/functions/handle-read-ops.function.d.ts +7 -1
  72. package/dist/src/shared/worker-daemon/functions/handle-write-ops.function.d.ts +9 -4
  73. package/dist/src/shared/worker-daemon/typings/handler-context.interface.d.ts +3 -0
  74. package/dist/wasm/fs-database/kbdb_fs_database.d.ts +16 -85
  75. package/dist/wasm/fs-database/kbdb_fs_database.js +16 -85
  76. package/dist/wasm/fs-database/kbdb_fs_database_bg.wasm +0 -0
  77. package/dist/wasm/kb-worker/kbdb_worker.d.ts +20 -115
  78. package/dist/wasm/kb-worker/kbdb_worker.js +20 -115
  79. package/dist/wasm/kb-worker/kbdb_worker_bg.wasm +0 -0
  80. package/dist/wasm/query-parser/kbdb_query_parser_bg.wasm +0 -0
  81. package/dist/worker.d.ts +8 -0
  82. package/dist/worker.mjs +606 -102
  83. package/dist/worker.mjs.map +4 -4
  84. package/docs/details/README.md +4 -0
  85. package/docs/details/agent-tooling.md +122 -0
  86. package/docs/details/cli.md +70 -13
  87. package/docs/details/knowledge-base.md +173 -0
  88. package/docs/details/library-api.md +42 -2
  89. package/docs/details/mcp-server.md +38 -7
  90. package/docs/details/search-and-ranking.md +11 -10
  91. package/docs/goals/cli.md +110 -34
  92. package/docs/goals/mcp.md +22 -19
  93. package/docs/goals/query-parser.md +8 -0
  94. package/docs/goals/worker-client.md +62 -1
  95. package/docs/goals/worker-daemon.md +52 -10
  96. package/docs/modules/typescript/cli.md +1 -1
  97. package/docs/modules/typescript/shared/cli/functions.md +116 -13
  98. package/docs/modules/typescript/shared/cli/module.md +33 -20
  99. package/docs/modules/typescript/shared/cli/typings.md +4 -0
  100. package/docs/modules/typescript/shared/embedding/functions.md +104 -25
  101. package/docs/modules/typescript/shared/mcp/module.md +1 -1
  102. package/docs/modules/typescript/shared/mcp/typings.md +8 -1
  103. package/docs/modules/typescript/shared/worker-client/module.md +9 -1
  104. package/docs/modules/typescript/shared/worker-client/typings.md +3 -0
  105. package/docs/modules/typescript/shared/worker-daemon/module.md +6 -3
  106. package/docs/overview.md +1 -2
  107. package/docs/release-notes/0.4.0.md +80 -0
  108. package/docs/release-notes/README.md +1 -0
  109. package/mod.ts +33 -15
  110. package/package.json +11 -10
  111. package/dist/chunk-JG2UCKLI.mjs +0 -95
  112. package/dist/chunk-JG2UCKLI.mjs.map +0 -7
  113. package/src/cli.ts +0 -71
  114. package/src/shared/auto-capture/classes/auto-capture-controller.class.ts +0 -62
  115. package/src/shared/auto-capture/constants/auto-capture-defaults.constant.ts +0 -15
  116. package/src/shared/auto-capture/functions/build-capture-prompt.function.ts +0 -27
  117. package/src/shared/auto-capture/functions/evaluate-trigger.function.ts +0 -50
  118. package/src/shared/auto-capture/index.ts +0 -7
  119. package/src/shared/auto-capture/typings/auto-capture-config.interface.ts +0 -13
  120. package/src/shared/auto-capture/typings/auto-capture-state.interface.ts +0 -13
  121. package/src/shared/auto-capture/typings/auto-capture-trigger.interface.ts +0 -7
  122. package/src/shared/cli/constants/defaults.constant.ts +0 -19
  123. package/src/shared/cli/constants/global-help.constant.ts +0 -73
  124. package/src/shared/cli/constants/help-text.constant.ts +0 -4
  125. package/src/shared/cli/constants/leaf-help.constant.ts +0 -219
  126. package/src/shared/cli/constants/memory-protocol-body.constant.ts +0 -39
  127. package/src/shared/cli/constants/query-guidance-body.constant.ts +0 -37
  128. package/src/shared/cli/constants/subcommand-help.constant.ts +0 -195
  129. package/src/shared/cli/functions/collect-files.function.ts +0 -55
  130. package/src/shared/cli/functions/compute-section-kbid.function.ts +0 -49
  131. package/src/shared/cli/functions/dispatch-command.function.ts +0 -390
  132. package/src/shared/cli/functions/ensure-db.function.ts +0 -21
  133. package/src/shared/cli/functions/error-to-message.function.ts +0 -9
  134. package/src/shared/cli/functions/find-db.function.ts +0 -20
  135. package/src/shared/cli/functions/format-mcp-output.function.ts +0 -41
  136. package/src/shared/cli/functions/format-output.function.ts +0 -95
  137. package/src/shared/cli/functions/format-text-output.function.ts +0 -42
  138. package/src/shared/cli/functions/generate-group-help.function.ts +0 -41
  139. package/src/shared/cli/functions/generate-help.function.ts +0 -654
  140. package/src/shared/cli/functions/handle-data-command.function.ts +0 -67
  141. package/src/shared/cli/functions/handle-mcp.function.ts +0 -56
  142. package/src/shared/cli/functions/handle-migrate.function.ts +0 -64
  143. package/src/shared/cli/functions/hydrate-search-previews.function.ts +0 -29
  144. package/src/shared/cli/functions/install-default-skills.function.ts +0 -296
  145. package/src/shared/cli/functions/is-stdin-tty.function.ts +0 -12
  146. package/src/shared/cli/functions/parse-args.function.ts +0 -156
  147. package/src/shared/cli/functions/prompt-user.function.ts +0 -36
  148. package/src/shared/cli/functions/resolve-skill-names.function.ts +0 -43
  149. package/src/shared/cli/functions/run-agent-create.function.ts +0 -114
  150. package/src/shared/cli/functions/run-agent-delete.function.ts +0 -47
  151. package/src/shared/cli/functions/run-agent-get.function.ts +0 -166
  152. package/src/shared/cli/functions/run-agent-list.function.ts +0 -58
  153. package/src/shared/cli/functions/run-check.function.ts +0 -159
  154. package/src/shared/cli/functions/run-cli.function.ts +0 -299
  155. package/src/shared/cli/functions/run-content.function.ts +0 -47
  156. package/src/shared/cli/functions/run-db-init.function.ts +0 -44
  157. package/src/shared/cli/functions/run-db-migrate.function.ts +0 -40
  158. package/src/shared/cli/functions/run-export.function.ts +0 -40
  159. package/src/shared/cli/functions/run-gc.function.ts +0 -51
  160. package/src/shared/cli/functions/run-init.function.ts +0 -93
  161. package/src/shared/cli/functions/run-learn.function.ts +0 -223
  162. package/src/shared/cli/functions/run-migrate.function.ts +0 -85
  163. package/src/shared/cli/functions/run-rebuild.function.ts +0 -47
  164. package/src/shared/cli/functions/run-recall.function.ts +0 -66
  165. package/src/shared/cli/functions/run-search.function.ts +0 -133
  166. package/src/shared/cli/functions/run-skill-delete.function.ts +0 -47
  167. package/src/shared/cli/functions/run-skill-get.function.ts +0 -90
  168. package/src/shared/cli/functions/run-skill-learn.function.ts +0 -70
  169. package/src/shared/cli/functions/run-skill-list.function.ts +0 -74
  170. package/src/shared/cli/functions/run-status.function.ts +0 -29
  171. package/src/shared/cli/functions/run-unlearn.function.ts +0 -58
  172. package/src/shared/cli/functions/version-gate.function.ts +0 -44
  173. package/src/shared/cli/functions/wrap-command.function.ts +0 -34
  174. package/src/shared/cli/index.ts +0 -55
  175. package/src/shared/cli/typings/agent-create-client.interface.ts +0 -47
  176. package/src/shared/cli/typings/agent-get-client.interface.ts +0 -39
  177. package/src/shared/cli/typings/check-client.interface.ts +0 -66
  178. package/src/shared/cli/typings/cli-deps.interface.ts +0 -54
  179. package/src/shared/cli/typings/cli-options.interface.ts +0 -72
  180. package/src/shared/cli/typings/command-result.model.ts +0 -15
  181. package/src/shared/cli/typings/disconnectable-client.interface.ts +0 -29
  182. package/src/shared/cli/typings/dispatch-client.type.ts +0 -46
  183. package/src/shared/cli/typings/learn-client.interface.ts +0 -53
  184. package/src/shared/cli/typings/learn-io.interface.ts +0 -5
  185. package/src/shared/cli/typings/learn-result.model.ts +0 -27
  186. package/src/shared/cli/typings/search-client.interface.ts +0 -73
  187. package/src/shared/cli/typings/search-display.model.ts +0 -54
  188. package/src/shared/dir-resolver/functions/join-path.function.ts +0 -13
  189. package/src/shared/dir-resolver/functions/resolve-base-dir.function.ts +0 -25
  190. package/src/shared/dir-resolver/functions/resolve-wasm-dir.function.ts +0 -5
  191. package/src/shared/dir-resolver/functions/resolve-worker-script.function.ts +0 -13
  192. package/src/shared/dir-resolver/index.ts +0 -11
  193. package/src/shared/dir-resolver/typings/base-dir.interface.ts +0 -4
  194. package/src/shared/embedding/classes/null-embedding-provider.class.ts +0 -29
  195. package/src/shared/embedding/constants/near-duplicate-thresholds.constant.ts +0 -17
  196. package/src/shared/embedding/functions/build-vector-index.function.ts +0 -79
  197. package/src/shared/embedding/functions/cosine-similarity.function.ts +0 -31
  198. package/src/shared/embedding/functions/detect-near-duplicates.function.ts +0 -69
  199. package/src/shared/embedding/functions/jaccard-coefficient.function.ts +0 -26
  200. package/src/shared/embedding/functions/read-vector-index-meta.function.ts +0 -44
  201. package/src/shared/embedding/functions/rrf-fuse.function.ts +0 -33
  202. package/src/shared/embedding/functions/search-vectors.function.ts +0 -59
  203. package/src/shared/embedding/index.ts +0 -20
  204. package/src/shared/embedding/typings/embedding-config.interface.ts +0 -23
  205. package/src/shared/embedding/typings/embedding-provider.interface.ts +0 -25
  206. package/src/shared/embedding/typings/near-duplicate-candidate.model.ts +0 -25
  207. package/src/shared/embedding/typings/near-duplicate-result.model.ts +0 -26
  208. package/src/shared/embedding/typings/vector-index-entry.model.ts +0 -13
  209. package/src/shared/embedding/typings/vector-index-meta.model.ts +0 -14
  210. package/src/shared/embedding/typings/vector-search-result.model.ts +0 -8
  211. package/src/shared/hash/functions/compute-sha256.ts +0 -17
  212. package/src/shared/hash/index.ts +0 -1
  213. package/src/shared/mcp/classes/mcp-server.class.ts +0 -480
  214. package/src/shared/mcp/constants/mcp-error-codes.constant.ts +0 -30
  215. package/src/shared/mcp/constants/tool-agent-create.constant.ts +0 -39
  216. package/src/shared/mcp/constants/tool-agent-delete.constant.ts +0 -26
  217. package/src/shared/mcp/constants/tool-agent-get.constant.ts +0 -24
  218. package/src/shared/mcp/constants/tool-agent-list.constant.ts +0 -18
  219. package/src/shared/mcp/constants/tool-auto-capture-review.constant.ts +0 -32
  220. package/src/shared/mcp/constants/tool-check.constant.ts +0 -21
  221. package/src/shared/mcp/constants/tool-content.constant.ts +0 -29
  222. package/src/shared/mcp/constants/tool-export.constant.ts +0 -27
  223. package/src/shared/mcp/constants/tool-gc.constant.ts +0 -21
  224. package/src/shared/mcp/constants/tool-learn.constant.ts +0 -58
  225. package/src/shared/mcp/constants/tool-rebuild.constant.ts +0 -21
  226. package/src/shared/mcp/constants/tool-recall.constant.ts +0 -36
  227. package/src/shared/mcp/constants/tool-retrieve.constant.ts +0 -31
  228. package/src/shared/mcp/constants/tool-search.constant.ts +0 -51
  229. package/src/shared/mcp/constants/tool-skill-delete.constant.ts +0 -24
  230. package/src/shared/mcp/constants/tool-skill-get.constant.ts +0 -27
  231. package/src/shared/mcp/constants/tool-skill-learn.constant.ts +0 -37
  232. package/src/shared/mcp/constants/tool-skill-list.constant.ts +0 -18
  233. package/src/shared/mcp/constants/tool-status.constant.ts +0 -20
  234. package/src/shared/mcp/constants/tool-unlearn.constant.ts +0 -25
  235. package/src/shared/mcp/functions/as-boolean-or-undefined.function.ts +0 -11
  236. package/src/shared/mcp/functions/as-string-array-or-undefined.function.ts +0 -17
  237. package/src/shared/mcp/functions/as-string-array.function.ts +0 -15
  238. package/src/shared/mcp/functions/as-string.function.ts +0 -10
  239. package/src/shared/mcp/functions/build-skills-text.function.ts +0 -43
  240. package/src/shared/mcp/functions/create-mcp-server.function.ts +0 -14
  241. package/src/shared/mcp/functions/create-prompt-definitions.function.ts +0 -102
  242. package/src/shared/mcp/functions/create-resource-templates.function.ts +0 -23
  243. package/src/shared/mcp/functions/create-tool-definitions.function.ts +0 -530
  244. package/src/shared/mcp/functions/extract-skill-arguments.function.ts +0 -27
  245. package/src/shared/mcp/functions/handle-agent-create.function.ts +0 -116
  246. package/src/shared/mcp/functions/handle-agent-delete.function.ts +0 -50
  247. package/src/shared/mcp/functions/handle-agent-get.function.ts +0 -160
  248. package/src/shared/mcp/functions/handle-agent-list.function.ts +0 -50
  249. package/src/shared/mcp/functions/handle-agent-prompt.function.ts +0 -68
  250. package/src/shared/mcp/functions/handle-completion.function.ts +0 -114
  251. package/src/shared/mcp/functions/handle-mcp-request.function.ts +0 -202
  252. package/src/shared/mcp/functions/handle-prompt-get.function.ts +0 -220
  253. package/src/shared/mcp/functions/handle-recall.function.ts +0 -66
  254. package/src/shared/mcp/functions/handle-resource-read.function.ts +0 -56
  255. package/src/shared/mcp/functions/handle-roots-list.function.ts +0 -29
  256. package/src/shared/mcp/functions/handle-skill-prompt.function.ts +0 -44
  257. package/src/shared/mcp/functions/handle-tool-auto-capture-review.function.ts +0 -24
  258. package/src/shared/mcp/functions/handle-tool-call.function.ts +0 -560
  259. package/src/shared/mcp/functions/handle-tool-check.function.ts +0 -21
  260. package/src/shared/mcp/functions/handle-tool-content.function.ts +0 -23
  261. package/src/shared/mcp/functions/handle-tool-export.function.ts +0 -25
  262. package/src/shared/mcp/functions/handle-tool-gc.function.ts +0 -21
  263. package/src/shared/mcp/functions/handle-tool-learn.function.ts +0 -69
  264. package/src/shared/mcp/functions/handle-tool-rebuild.function.ts +0 -21
  265. package/src/shared/mcp/functions/handle-tool-retrieve.function.ts +0 -40
  266. package/src/shared/mcp/functions/handle-tool-search.function.ts +0 -47
  267. package/src/shared/mcp/functions/handle-tool-skill-delete.function.ts +0 -34
  268. package/src/shared/mcp/functions/handle-tool-skill-get.function.ts +0 -59
  269. package/src/shared/mcp/functions/handle-tool-skill-learn.function.ts +0 -61
  270. package/src/shared/mcp/functions/handle-tool-skill-list.function.ts +0 -39
  271. package/src/shared/mcp/functions/handle-tool-status.function.ts +0 -21
  272. package/src/shared/mcp/functions/handle-tool-unlearn.function.ts +0 -24
  273. package/src/shared/mcp/functions/parse-agent-meta.function.ts +0 -27
  274. package/src/shared/mcp/functions/parse-skill-arguments.function.ts +0 -36
  275. package/src/shared/mcp/functions/parse-skill-content.function.ts +0 -38
  276. package/src/shared/mcp/functions/read-agent-meta.function.ts +0 -41
  277. package/src/shared/mcp/functions/resolve-skill-refs.function.ts +0 -50
  278. package/src/shared/mcp/functions/run-startup-health-check.function.ts +0 -34
  279. package/src/shared/mcp/functions/serialize-skill-content.function.ts +0 -12
  280. package/src/shared/mcp/functions/should-emit-log.function.ts +0 -38
  281. package/src/shared/mcp/index.ts +0 -28
  282. package/src/shared/mcp/typings/agent-types.interface.ts +0 -39
  283. package/src/shared/mcp/typings/log-types.interface.ts +0 -26
  284. package/src/shared/mcp/typings/mcp-capabilities.interface.ts +0 -16
  285. package/src/shared/mcp/typings/mcp-client.interface.ts +0 -317
  286. package/src/shared/mcp/typings/mcp-completion.interface.ts +0 -45
  287. package/src/shared/mcp/typings/mcp-content-result.model.ts +0 -9
  288. package/src/shared/mcp/typings/mcp-export-result.model.ts +0 -11
  289. package/src/shared/mcp/typings/mcp-gc-result.model.ts +0 -15
  290. package/src/shared/mcp/typings/mcp-integrity-check-result.model.ts +0 -17
  291. package/src/shared/mcp/typings/mcp-integrity-error.model.ts +0 -15
  292. package/src/shared/mcp/typings/mcp-notification.interface.ts +0 -9
  293. package/src/shared/mcp/typings/mcp-rebuild-result.model.ts +0 -9
  294. package/src/shared/mcp/typings/mcp-request.interface.ts +0 -11
  295. package/src/shared/mcp/typings/mcp-resource-result.interface.ts +0 -12
  296. package/src/shared/mcp/typings/mcp-resource-template.interface.ts +0 -11
  297. package/src/shared/mcp/typings/mcp-response.interface.ts +0 -18
  298. package/src/shared/mcp/typings/mcp-server-info.interface.ts +0 -7
  299. package/src/shared/mcp/typings/mcp-server-state.interface.ts +0 -17
  300. package/src/shared/mcp/typings/mcp-tool-annotations.interface.ts +0 -32
  301. package/src/shared/mcp/typings/mcp-tool-definition.interface.ts +0 -16
  302. package/src/shared/mcp/typings/mcp-tool-result.interface.ts +0 -19
  303. package/src/shared/mcp/typings/mcp-types.interface.ts +0 -158
  304. package/src/shared/mcp/typings/mcp-worker-client.interface.ts +0 -243
  305. package/src/shared/mcp/typings/prompt-types.interface.ts +0 -39
  306. package/src/shared/mcp/typings/remove-section-result.model.ts +0 -10
  307. package/src/shared/mcp/typings/sampling-types.interface.ts +0 -48
  308. package/src/shared/mcp/typings/skill-types.interface.ts +0 -29
  309. package/src/shared/mcp/typings/tool-call-result.model.ts +0 -18
  310. package/src/shared/mod.ts +0 -1
  311. package/src/shared/platform/functions/get-ipc-path.function.ts +0 -19
  312. package/src/shared/platform/functions/get-tmpdir.function.ts +0 -8
  313. package/src/shared/platform/functions/is-process-alive.function.ts +0 -17
  314. package/src/shared/platform/index.ts +0 -3
  315. package/src/shared/runtime/functions/detect-runtime.ts +0 -14
  316. package/src/shared/runtime/functions/get-args.ts +0 -16
  317. package/src/shared/runtime/index.ts +0 -3
  318. package/src/shared/runtime/typings/runtime.ts +0 -2
  319. package/src/shared/sync/functions/build-import-report.function.ts +0 -40
  320. package/src/shared/sync/functions/parse-export-entry.function.ts +0 -45
  321. package/src/shared/sync/functions/resolve-conflict.function.ts +0 -31
  322. package/src/shared/sync/functions/serialize-export-entry.function.ts +0 -18
  323. package/src/shared/sync/index.ts +0 -9
  324. package/src/shared/sync/typings/conflict-resolution.type.ts +0 -8
  325. package/src/shared/sync/typings/export-entry.interface.ts +0 -13
  326. package/src/shared/sync/typings/export-options.interface.ts +0 -9
  327. package/src/shared/sync/typings/import-options.interface.ts +0 -7
  328. package/src/shared/sync/typings/import-report.interface.ts +0 -15
  329. package/src/shared/version/constants/version.constant.ts +0 -2
  330. package/src/shared/version/index.ts +0 -1
  331. package/src/shared/wasm-codec/functions/decode-add-section-result.function.ts +0 -112
  332. package/src/shared/wasm-codec/functions/decode-compose-output.function.ts +0 -16
  333. package/src/shared/wasm-codec/functions/decode-document-manifest-list.function.ts +0 -70
  334. package/src/shared/wasm-codec/functions/decode-document-manifest.function.ts +0 -87
  335. package/src/shared/wasm-codec/functions/decode-f32.function.ts +0 -16
  336. package/src/shared/wasm-codec/functions/decode-key-value-text.function.ts +0 -15
  337. package/src/shared/wasm-codec/functions/decode-one-recall-result.function.ts +0 -86
  338. package/src/shared/wasm-codec/functions/decode-option-string.function.ts +0 -24
  339. package/src/shared/wasm-codec/functions/decode-recall-document.function.ts +0 -59
  340. package/src/shared/wasm-codec/functions/decode-recall-reference.function.ts +0 -52
  341. package/src/shared/wasm-codec/functions/decode-recall-result.function.ts +0 -267
  342. package/src/shared/wasm-codec/functions/decode-recall-sibling.function.ts +0 -43
  343. package/src/shared/wasm-codec/functions/decode-remove-flag.function.ts +0 -3
  344. package/src/shared/wasm-codec/functions/decode-scored-results.function.ts +0 -194
  345. package/src/shared/wasm-codec/functions/decode-section-match.function.ts +0 -80
  346. package/src/shared/wasm-codec/functions/decode-section-record-list.function.ts +0 -20
  347. package/src/shared/wasm-codec/functions/decode-section-record-trailing.function.ts +0 -75
  348. package/src/shared/wasm-codec/functions/decode-section-record.function.ts +0 -85
  349. package/src/shared/wasm-codec/functions/decode-section-records.function.ts +0 -249
  350. package/src/shared/wasm-codec/functions/decode-section-type.function.ts +0 -30
  351. package/src/shared/wasm-codec/functions/decode-string.function.ts +0 -22
  352. package/src/shared/wasm-codec/functions/decode-u32.function.ts +0 -16
  353. package/src/shared/wasm-codec/functions/decode-u64.function.ts +0 -16
  354. package/src/shared/wasm-codec/functions/decode-wasm-list.function.ts +0 -31
  355. package/src/shared/wasm-codec/functions/encode-add-section-params.function.ts +0 -102
  356. package/src/shared/wasm-codec/functions/encode-group-params.function.ts +0 -28
  357. package/src/shared/wasm-codec/functions/encode-identifier-list.function.ts +0 -17
  358. package/src/shared/wasm-codec/functions/encode-kbid-list.function.ts +0 -17
  359. package/src/shared/wasm-codec/functions/encode-option-string.function.ts +0 -14
  360. package/src/shared/wasm-codec/functions/encode-recall-params.function.ts +0 -68
  361. package/src/shared/wasm-codec/functions/encode-search-params.function.ts +0 -12
  362. package/src/shared/wasm-codec/functions/encode-section-type.function.ts +0 -18
  363. package/src/shared/wasm-codec/functions/encode-string.function.ts +0 -9
  364. package/src/shared/wasm-codec/functions/encode-type-filter-param.function.ts +0 -13
  365. package/src/shared/wasm-codec/functions/encode-u32.function.ts +0 -5
  366. package/src/shared/wasm-codec/functions/encode-update-section-params.function.ts +0 -16
  367. package/src/shared/wasm-codec/index.ts +0 -49
  368. package/src/shared/wasm-codec/typings/add-section-input.model.ts +0 -45
  369. package/src/shared/wasm-codec/typings/add-section-result.model.ts +0 -28
  370. package/src/shared/wasm-codec/typings/document-manifest.model.ts +0 -20
  371. package/src/shared/wasm-codec/typings/document-section.model.ts +0 -12
  372. package/src/shared/wasm-codec/typings/item-decoder.type.ts +0 -10
  373. package/src/shared/wasm-codec/typings/near-duplicate.model.ts +0 -16
  374. package/src/shared/wasm-codec/typings/paged-search-result.model.ts +0 -22
  375. package/src/shared/wasm-codec/typings/section-match.model.ts +0 -31
  376. package/src/shared/wasm-codec/typings/section-record-trailing.model.ts +0 -38
  377. package/src/shared/wasm-codec/typings/section-record.model.ts +0 -66
  378. package/src/shared/wasm-codec/typings/section-type-result.model.ts +0 -12
  379. package/src/shared/worker-client/classes/worker-client.class.ts +0 -466
  380. package/src/shared/worker-client/functions/compute-context-id.function.ts +0 -18
  381. package/src/shared/worker-client/functions/create-worker-client.function.ts +0 -70
  382. package/src/shared/worker-client/functions/discover-daemon.function.ts +0 -47
  383. package/src/shared/worker-client/functions/handle-ipc-data.function.ts +0 -49
  384. package/src/shared/worker-client/functions/resolve-db-path.function.ts +0 -21
  385. package/src/shared/worker-client/functions/send-ipc-request.function.ts +0 -39
  386. package/src/shared/worker-client/functions/spawn-daemon.function.ts +0 -35
  387. package/src/shared/worker-client/functions/wait-for-daemon.function.ts +0 -34
  388. package/src/shared/worker-client/index.ts +0 -44
  389. package/src/shared/worker-client/typings/add-section-result.model.ts +0 -39
  390. package/src/shared/worker-client/typings/content-result.model.ts +0 -12
  391. package/src/shared/worker-client/typings/daemon-info.model.ts +0 -7
  392. package/src/shared/worker-client/typings/export-result.model.ts +0 -14
  393. package/src/shared/worker-client/typings/gc-result.model.ts +0 -18
  394. package/src/shared/worker-client/typings/integrity-check-result.model.ts +0 -43
  395. package/src/shared/worker-client/typings/json-rpc-response.interface.ts +0 -17
  396. package/src/shared/worker-client/typings/migrate-result.model.ts +0 -11
  397. package/src/shared/worker-client/typings/pending-call.interface.ts +0 -7
  398. package/src/shared/worker-client/typings/rebuild-result.model.ts +0 -12
  399. package/src/shared/worker-client/typings/recall-document.model.ts +0 -16
  400. package/src/shared/worker-client/typings/recall-params.model.ts +0 -15
  401. package/src/shared/worker-client/typings/recall-reference.model.ts +0 -32
  402. package/src/shared/worker-client/typings/recall-result.model.ts +0 -98
  403. package/src/shared/worker-client/typings/recall-sibling.model.ts +0 -11
  404. package/src/shared/worker-client/typings/recall-single-result.model.ts +0 -41
  405. package/src/shared/worker-client/typings/remove-section-result.model.ts +0 -7
  406. package/src/shared/worker-client/typings/search-params.model.ts +0 -14
  407. package/src/shared/worker-client/typings/search-result.model.ts +0 -43
  408. package/src/shared/worker-client/typings/section.model.ts +0 -43
  409. package/src/shared/worker-client/typings/status-result.model.ts +0 -14
  410. package/src/shared/worker-client/typings/version-status.model.ts +0 -28
  411. package/src/shared/worker-client/typings/worker-client-error.interface.ts +0 -8
  412. package/src/shared/worker-client/typings/worker-client-options.interface.ts +0 -30
  413. package/src/shared/worker-daemon/classes/ipc-error.class.ts +0 -22
  414. package/src/shared/worker-daemon/classes/worker-daemon.class.ts +0 -1291
  415. package/src/shared/worker-daemon/constants/daemon-defaults.constant.ts +0 -29
  416. package/src/shared/worker-daemon/constants/wasm-method-map.constant.ts +0 -69
  417. package/src/shared/worker-daemon/functions/build-ipc-error-response.function.ts +0 -16
  418. package/src/shared/worker-daemon/functions/check-catalog-version.function.ts +0 -54
  419. package/src/shared/worker-daemon/functions/check-preconditions.function.ts +0 -28
  420. package/src/shared/worker-daemon/functions/create-host-imports.function.ts +0 -328
  421. package/src/shared/worker-daemon/functions/create-ipc-server.function.ts +0 -87
  422. package/src/shared/worker-daemon/functions/detect-stale-pid.function.ts +0 -33
  423. package/src/shared/worker-daemon/functions/dispatch-request.function.ts +0 -190
  424. package/src/shared/worker-daemon/functions/handle-check-version.function.ts +0 -74
  425. package/src/shared/worker-daemon/functions/handle-config-method.function.ts +0 -27
  426. package/src/shared/worker-daemon/functions/handle-read-ops.function.ts +0 -236
  427. package/src/shared/worker-daemon/functions/handle-write-ops.function.ts +0 -257
  428. package/src/shared/worker-daemon/functions/load-wasm-modules.function.ts +0 -95
  429. package/src/shared/worker-daemon/functions/parse-auto-capture-section.function.ts +0 -51
  430. package/src/shared/worker-daemon/functions/parse-catalog-version.function.ts +0 -20
  431. package/src/shared/worker-daemon/functions/parse-embedding-section.function.ts +0 -38
  432. package/src/shared/worker-daemon/functions/parse-worker-toml.function.ts +0 -104
  433. package/src/shared/worker-daemon/functions/read-config.function.ts +0 -83
  434. package/src/shared/worker-daemon/functions/run-startup-integrity-check.function.ts +0 -55
  435. package/src/shared/worker-daemon/functions/run-worker.function.ts +0 -57
  436. package/src/shared/worker-daemon/functions/scan-near-duplicates.function.ts +0 -92
  437. package/src/shared/worker-daemon/functions/start-daemon.function.ts +0 -74
  438. package/src/shared/worker-daemon/functions/wasm-bridge.function.ts +0 -144
  439. package/src/shared/worker-daemon/functions/wasm-memory-helpers.function.ts +0 -41
  440. package/src/shared/worker-daemon/functions/write-lock.function.ts +0 -49
  441. package/src/shared/worker-daemon/index.ts +0 -16
  442. package/src/shared/worker-daemon/typings/allocator-ref.interface.ts +0 -16
  443. package/src/shared/worker-daemon/typings/daemon-config.interface.ts +0 -20
  444. package/src/shared/worker-daemon/typings/fs-adapter.interface.ts +0 -22
  445. package/src/shared/worker-daemon/typings/handler-context.interface.ts +0 -19
  446. package/src/shared/worker-daemon/typings/ipc-handler.interface.ts +0 -39
  447. package/src/shared/worker-daemon/typings/memory-ref.interface.ts +0 -13
  448. package/src/shared/worker-daemon/typings/wasm-fn.type.ts +0 -2
  449. package/src/shared/worker-daemon/typings/wasm-modules.interface.ts +0 -7
  450. package/src/shared/worker-daemon/typings/write-lock.interface.ts +0 -13
  451. package/src/wasm/fs-database/kbdb_fs_database.d.ts +0 -259
  452. package/src/wasm/fs-database/kbdb_fs_database.js +0 -515
  453. package/src/wasm/fs-database/kbdb_fs_database_bg.wasm +0 -0
  454. package/src/wasm/fs-database/kbdb_fs_database_bg.wasm.d.ts +0 -35
  455. package/src/wasm/fs-database/package.json +0 -13
  456. package/src/wasm/kb-worker/kbdb_worker.d.ts +0 -650
  457. package/src/wasm/kb-worker/kbdb_worker.js +0 -1181
  458. package/src/wasm/kb-worker/kbdb_worker_bg.wasm +0 -0
  459. package/src/wasm/kb-worker/kbdb_worker_bg.wasm.d.ts +0 -77
  460. package/src/wasm/kb-worker/package.json +0 -13
  461. package/src/wasm/query-parser/kbdb_query_parser.d.ts +0 -195
  462. package/src/wasm/query-parser/kbdb_query_parser.js +0 -403
  463. package/src/wasm/query-parser/kbdb_query_parser_bg.wasm +0 -0
  464. package/src/wasm/query-parser/kbdb_query_parser_bg.wasm.d.ts +0 -25
  465. package/src/wasm/query-parser/package.json +0 -13
  466. package/src/worker.ts +0 -42
@@ -1,480 +0,0 @@
1
- import { createInterface } from 'node:readline';
2
- import { createToolDefinitions } from '../functions/create-tool-definitions.function.ts';
3
- import { createResourceTemplates } from '../functions/create-resource-templates.function.ts';
4
- import { handleToolCall } from '../functions/handle-tool-call.function.ts';
5
- import { handleResourceRead } from '../functions/handle-resource-read.function.ts';
6
- import { createPromptDefinitions } from '../functions/create-prompt-definitions.function.ts';
7
- import { handlePromptGet } from '../functions/handle-prompt-get.function.ts';
8
- import { handleCompletion } from '../functions/handle-completion.function.ts';
9
- import { handleRootsList } from '../functions/handle-roots-list.function.ts';
10
- import { shouldEmitLog } from '../functions/should-emit-log.function.ts';
11
- import {
12
- PARSE_ERROR,
13
- METHOD_NOT_FOUND,
14
- RESOURCE_NOT_FOUND,
15
- } from '../constants/mcp-error-codes.constant.ts';
16
- import type { McpWorkerClient } from '../typings/mcp-client.interface.ts';
17
- import type {
18
- McpRequest,
19
- McpResponse,
20
- } from '../typings/mcp-types.interface.ts';
21
- import type { McpLogLevel } from '../typings/log-types.interface.ts';
22
- import type {
23
- McpCompletionRef,
24
- McpCompletionArgument,
25
- } from '../functions/handle-completion.function.ts';
26
-
27
- /**
28
- * MCP server that speaks JSON-RPC 2.0 over stdio. Listens for
29
- * newline-delimited requests on `process.stdin`, dispatches each
30
- * to the appropriate knowledge-base operation via
31
- * `McpWorkerClient`, and writes JSON-RPC responses to
32
- * `process.stdout`.
33
- */
34
- export class McpServer {
35
- private readonly client: McpWorkerClient;
36
- private readonly contextPath: string;
37
- private initialized = false;
38
- private hostCapabilities: Record<string, unknown> | null = null;
39
- private logLevel: McpLogLevel | null = null;
40
- private readonly subscriptions = new Set<string>();
41
- private nextRequestId = 1;
42
- private readonly pendingRequests = new Map<
43
- number,
44
- {
45
- resolve: (value: unknown) => void;
46
- reject: (reason: unknown) => void;
47
- timer: ReturnType<typeof setTimeout>;
48
- }
49
- >();
50
-
51
- constructor(client: McpWorkerClient, contextPath?: string) {
52
- this.client = client;
53
- this.contextPath = contextPath ?? '';
54
- }
55
-
56
- async listen(): Promise<void> {
57
- const rl = createInterface({
58
- input: process.stdin,
59
- terminal: false,
60
- });
61
-
62
- let pending = Promise.resolve();
63
- await new Promise<void>((resolve) => {
64
- rl.on('line', (line) => {
65
- pending = pending.then(() => this.dispatchLine(line));
66
- });
67
-
68
- rl.on('close', () => {
69
- void pending.then(() => {
70
- this.client.disconnect();
71
- resolve();
72
- });
73
- });
74
- });
75
- }
76
-
77
- async handleLineForTest(line: string): Promise<McpResponse | null> {
78
- return this.processLine(line);
79
- }
80
-
81
- /**
82
- * Sends a JSON-RPC notification (no `id`, no response
83
- * expected) to stdout.
84
- */
85
- notify(method: string, params?: Record<string, unknown>): void {
86
- const notification: Record<string, unknown> = {
87
- jsonrpc: '2.0',
88
- method,
89
- };
90
- if (params !== undefined) {
91
- notification['params'] = params;
92
- }
93
- process.stdout.write(JSON.stringify(notification) + '\n');
94
- }
95
-
96
- /**
97
- * Emits a log notification if the message severity meets or
98
- * exceeds the configured log level threshold.
99
- */
100
- log(level: McpLogLevel, message: unknown, logger?: string): void {
101
- if (this.logLevel === null) return;
102
- if (!shouldEmitLog(level, this.logLevel)) return;
103
- this.notify('notifications/message', {
104
- level,
105
- logger: logger ?? 'kbdb',
106
- data: message,
107
- });
108
- }
109
-
110
- /**
111
- * Sends a JSON-RPC request to the host (server-to-client)
112
- * and returns a Promise that resolves with the response
113
- * result. Times out after 30 seconds.
114
- */
115
- sendRequest(
116
- method: string,
117
- params: Record<string, unknown>,
118
- ): Promise<unknown> {
119
- const id = this.nextRequestId++;
120
- const request = { jsonrpc: '2.0', id, method, params };
121
- process.stdout.write(JSON.stringify(request) + '\n');
122
- return new Promise((resolve, reject) => {
123
- const timer = setTimeout(() => {
124
- this.pendingRequests.delete(id);
125
- reject(new Error(`Request ${method} timed out`));
126
- }, 30000);
127
- this.pendingRequests.set(id, {
128
- resolve,
129
- reject,
130
- timer,
131
- });
132
- });
133
- }
134
-
135
- /**
136
- * Requests the host to generate text via the sampling
137
- * capability. Throws if the host did not advertise sampling
138
- * support during initialization.
139
- */
140
- async requestSampling(
141
- messages: {
142
- role: string;
143
- content: { type: string; text: string };
144
- }[],
145
- maxTokens: number,
146
- ): Promise<unknown> {
147
- if (!this.hostCapabilities?.['sampling']) {
148
- throw new Error('Host does not support sampling');
149
- }
150
- return this.sendRequest('sampling/createMessage', {
151
- messages,
152
- maxTokens,
153
- });
154
- }
155
-
156
- private async dispatchLine(line: string): Promise<void> {
157
- const response = await this.processLine(line);
158
- if (response !== null) {
159
- this.send(response);
160
- }
161
- }
162
-
163
- private async processLine(
164
- line: string,
165
- ): Promise<McpResponse | null> {
166
- if (!line.trim()) return null;
167
-
168
- let parsed: Record<string, unknown>;
169
- try {
170
- parsed = JSON.parse(line) as Record<string, unknown>;
171
- } catch {
172
- return {
173
- jsonrpc: '2.0',
174
- id: 0,
175
- error: {
176
- code: PARSE_ERROR,
177
- message: 'Parse error',
178
- },
179
- };
180
- }
181
-
182
- // Incoming response to an outgoing request (sampling)
183
- if (
184
- parsed['id'] !== undefined &&
185
- typeof parsed['method'] !== 'string'
186
- ) {
187
- const responseId = parsed['id'] as number;
188
- const pending = this.pendingRequests.get(responseId);
189
- if (pending) {
190
- this.pendingRequests.delete(responseId);
191
- clearTimeout(pending.timer);
192
- if (parsed['error']) {
193
- const err = parsed['error'] as {
194
- message?: string;
195
- };
196
- pending.reject(
197
- new Error(err.message ?? 'Request failed'),
198
- );
199
- } else {
200
- pending.resolve(parsed['result']);
201
- }
202
- }
203
- return null;
204
- }
205
-
206
- const request = parsed as unknown as McpRequest;
207
-
208
- if (request.id === undefined) {
209
- if (
210
- request.method === 'notifications/initialized' ||
211
- request.method === 'notifications/cancelled'
212
- ) {
213
- if (
214
- request.method === 'notifications/initialized' &&
215
- !this.initialized
216
- ) {
217
- this.initialized = true;
218
- void this.runStartupHealthCheck();
219
- }
220
- }
221
- return null;
222
- }
223
-
224
- const id = request.id;
225
-
226
- if (
227
- !this.initialized &&
228
- request.method !== 'initialize' &&
229
- request.method !== 'ping'
230
- ) {
231
- return {
232
- jsonrpc: '2.0',
233
- id,
234
- error: {
235
- code: RESOURCE_NOT_FOUND,
236
- message: 'Server not initialized',
237
- },
238
- };
239
- }
240
-
241
- const response = await this.handleRequest(request);
242
- return response;
243
- }
244
-
245
- private async handleRequest(
246
- request: McpRequest,
247
- ): Promise<McpResponse> {
248
- const id = request.id as number | string;
249
-
250
- switch (request.method) {
251
- case 'initialize': {
252
- const params = request.params ?? {};
253
- const caps = params['capabilities'];
254
- this.hostCapabilities = caps
255
- ? (caps as Record<string, unknown>)
256
- : null;
257
- return {
258
- jsonrpc: '2.0',
259
- id,
260
- result: {
261
- protocolVersion: '2025-11-25',
262
- serverInfo: {
263
- name: 'kbdb',
264
- version: '0.1.0',
265
- },
266
- capabilities: {
267
- tools: {},
268
- resources: { subscribe: true },
269
- prompts: {},
270
- logging: {},
271
- completions: {},
272
- },
273
- },
274
- };
275
- }
276
-
277
- case 'ping':
278
- return { jsonrpc: '2.0', id, result: {} };
279
-
280
- case 'tools/list':
281
- return {
282
- jsonrpc: '2.0',
283
- id,
284
- result: {
285
- tools: createToolDefinitions(),
286
- },
287
- };
288
-
289
- case 'resources/list':
290
- return {
291
- jsonrpc: '2.0',
292
- id,
293
- result: { resources: [] },
294
- };
295
-
296
- case 'resources/templates/list':
297
- return {
298
- jsonrpc: '2.0',
299
- id,
300
- result: {
301
- resourceTemplates: createResourceTemplates(),
302
- },
303
- };
304
-
305
- case 'tools/call': {
306
- const params = request.params ?? {};
307
- const rawName = params['name'];
308
- const name = typeof rawName === 'string' ? rawName : '';
309
- const args = (params['arguments'] ?? {}) as Record<
310
- string,
311
- unknown
312
- >;
313
- const result = await handleToolCall(
314
- this.client,
315
- name,
316
- args,
317
- );
318
- return { jsonrpc: '2.0', id, result };
319
- }
320
-
321
- case 'resources/read': {
322
- const params = request.params ?? {};
323
- const rawUri = params['uri'];
324
- const uri = typeof rawUri === 'string' ? rawUri : '';
325
- try {
326
- const result = await handleResourceRead(
327
- this.client,
328
- uri,
329
- );
330
- return { jsonrpc: '2.0', id, result };
331
- } catch (err) {
332
- return {
333
- jsonrpc: '2.0',
334
- id,
335
- error: {
336
- code: RESOURCE_NOT_FOUND,
337
- message:
338
- err instanceof Error
339
- ? err.message
340
- : String(err),
341
- },
342
- };
343
- }
344
- }
345
-
346
- case 'prompts/list': {
347
- const skills = await this.client.listByType('skill');
348
- const agents =
349
- await this.client.listDocumentsByType('agent');
350
- const prompts = createPromptDefinitions(skills, agents);
351
- return {
352
- jsonrpc: '2.0',
353
- id,
354
- result: { prompts },
355
- };
356
- }
357
-
358
- case 'prompts/get': {
359
- const params = request.params ?? {};
360
- const name =
361
- typeof params['name'] === 'string' ? params['name'] : '';
362
- const promptArgs = (params['arguments'] ?? {}) as Record<
363
- string,
364
- string
365
- >;
366
- try {
367
- const messages = await handlePromptGet(
368
- name,
369
- promptArgs,
370
- this.client,
371
- );
372
- return {
373
- jsonrpc: '2.0',
374
- id,
375
- result: { messages },
376
- };
377
- } catch (err) {
378
- return {
379
- jsonrpc: '2.0',
380
- id,
381
- error: {
382
- code: RESOURCE_NOT_FOUND,
383
- message:
384
- err instanceof Error
385
- ? err.message
386
- : String(err),
387
- },
388
- };
389
- }
390
- }
391
-
392
- case 'completion/complete': {
393
- const params = request.params ?? {};
394
- const ref = params['ref'] as McpCompletionRef;
395
- const argument = (params['argument'] ?? {
396
- name: '',
397
- value: '',
398
- }) as McpCompletionArgument;
399
- const result = await handleCompletion(
400
- ref,
401
- argument,
402
- this.client,
403
- );
404
- return { jsonrpc: '2.0', id, result };
405
- }
406
-
407
- case 'roots/list': {
408
- const roots = handleRootsList(this.contextPath);
409
- return {
410
- jsonrpc: '2.0',
411
- id,
412
- result: { roots },
413
- };
414
- }
415
-
416
- case 'logging/setLevel': {
417
- const params = request.params ?? {};
418
- const level = params['level'] as McpLogLevel | undefined;
419
- this.logLevel = level ?? null;
420
- return { jsonrpc: '2.0', id, result: {} };
421
- }
422
-
423
- case 'resources/subscribe': {
424
- const params = request.params ?? {};
425
- const uri =
426
- typeof params['uri'] === 'string' ? params['uri'] : '';
427
- this.subscriptions.add(uri);
428
- return { jsonrpc: '2.0', id, result: {} };
429
- }
430
-
431
- case 'resources/unsubscribe': {
432
- const params = request.params ?? {};
433
- const uri =
434
- typeof params['uri'] === 'string' ? params['uri'] : '';
435
- this.subscriptions.delete(uri);
436
- return { jsonrpc: '2.0', id, result: {} };
437
- }
438
-
439
- default:
440
- return {
441
- jsonrpc: '2.0',
442
- id,
443
- error: {
444
- code: METHOD_NOT_FOUND,
445
- message: `Method not found: ` + request.method,
446
- },
447
- };
448
- }
449
- }
450
-
451
- private send(response: McpResponse): void {
452
- const json = JSON.stringify(response);
453
- process.stdout.write(json + '\n');
454
- }
455
-
456
- /**
457
- * Runs an integrity check immediately after the MCP handshake
458
- * completes. Emits a `notifications/message` warning when the
459
- * check detects issues so the connected agent is aware before
460
- * making requests. The server continues operating regardless of
461
- * the result.
462
- */
463
- private async runStartupHealthCheck(): Promise<void> {
464
- try {
465
- const report = await this.client.integrityCheck();
466
- if (!report.ok) {
467
- const summary = report.errors
468
- .map((e) => `${e.type}: ${e.entity} -- ${e.detail}`)
469
- .join('; ');
470
- this.notify('notifications/message', {
471
- level: 'warning',
472
- logger: 'kbdb',
473
- data: `Database integrity issues detected: ${summary}`,
474
- });
475
- }
476
- } catch {
477
- // Health check failure is non-fatal -- server continues
478
- }
479
- }
480
- }
@@ -1,30 +0,0 @@
1
- /**
2
- * JSON-RPC 2.0 parse error code. Returned when the
3
- * server receives malformed JSON.
4
- */
5
- export const PARSE_ERROR = -32700;
6
-
7
- /**
8
- * JSON-RPC 2.0 method not found error code. Returned
9
- * when the requested method does not exist.
10
- */
11
- export const METHOD_NOT_FOUND = -32601;
12
-
13
- /**
14
- * JSON-RPC 2.0 invalid params error code. Returned
15
- * when method parameters are invalid or missing.
16
- */
17
- export const INVALID_PARAMS = -32602;
18
-
19
- /**
20
- * JSON-RPC 2.0 internal error code. Returned when an
21
- * unexpected server-side error occurs.
22
- */
23
- export const INTERNAL_ERROR = -32603;
24
-
25
- /**
26
- * MCP-specific resource not found error code. Returned
27
- * when a well-formed URI does not match any resource
28
- * in the knowledge base.
29
- */
30
- export const RESOURCE_NOT_FOUND = -32002;
@@ -1,39 +0,0 @@
1
- import type { McpToolDefinition } from '../typings/mcp-types.interface.ts';
2
-
3
- /** MCP tool definition for the `agent-create` operation. */
4
- export const TOOL_AGENT_CREATE: McpToolDefinition = {
5
- name: 'agent-create',
6
- description:
7
- 'Create an AI agent with a persona and' +
8
- ' optional skill references.',
9
- inputSchema: {
10
- type: 'object',
11
- properties: {
12
- name: {
13
- type: 'string',
14
- description: 'Agent name',
15
- },
16
- description: {
17
- type: 'string',
18
- description: 'Agent description',
19
- },
20
- persona: {
21
- type: 'string',
22
- description: 'Agent persona prompt',
23
- },
24
- skills: {
25
- type: 'array',
26
- items: { type: 'string' },
27
- description: 'Skill kbid references to attach',
28
- },
29
- },
30
- required: ['name', 'persona'],
31
- },
32
- annotations: {
33
- title: 'Create Agent',
34
- readOnlyHint: false,
35
- destructiveHint: false,
36
- idempotentHint: true,
37
- openWorldHint: false,
38
- },
39
- };
@@ -1,26 +0,0 @@
1
- import type { McpToolDefinition } from '../typings/mcp-types.interface.ts';
2
-
3
- /** MCP tool definition for the `agent-delete` operation. */
4
- export const TOOL_AGENT_DELETE: McpToolDefinition = {
5
- name: 'agent-delete',
6
- description:
7
- 'Delete an agent by its document ID.' +
8
- ' Skill sections are not removed.',
9
- inputSchema: {
10
- type: 'object',
11
- properties: {
12
- docid: {
13
- type: 'string',
14
- description: 'Document ID of the agent',
15
- },
16
- },
17
- required: ['docid'],
18
- },
19
- annotations: {
20
- title: 'Delete Agent',
21
- readOnlyHint: false,
22
- destructiveHint: true,
23
- idempotentHint: true,
24
- openWorldHint: false,
25
- },
26
- };
@@ -1,24 +0,0 @@
1
- import type { McpToolDefinition } from '../typings/mcp-types.interface.ts';
2
-
3
- /** MCP tool definition for the `agent-get` operation. */
4
- export const TOOL_AGENT_GET: McpToolDefinition = {
5
- name: 'agent-get',
6
- description: 'Get an agent definition by document ID.',
7
- inputSchema: {
8
- type: 'object',
9
- properties: {
10
- docid: {
11
- type: 'string',
12
- description: 'Document ID of the agent',
13
- },
14
- },
15
- required: ['docid'],
16
- },
17
- annotations: {
18
- title: 'Get Agent',
19
- readOnlyHint: true,
20
- destructiveHint: false,
21
- idempotentHint: true,
22
- openWorldHint: false,
23
- },
24
- };
@@ -1,18 +0,0 @@
1
- import type { McpToolDefinition } from '../typings/mcp-types.interface.ts';
2
-
3
- /** MCP tool definition for the `agent-list` operation. */
4
- export const TOOL_AGENT_LIST: McpToolDefinition = {
5
- name: 'agent-list',
6
- description: 'List all agents in the knowledge base.',
7
- inputSchema: {
8
- type: 'object',
9
- properties: {},
10
- },
11
- annotations: {
12
- title: 'List Agents',
13
- readOnlyHint: true,
14
- destructiveHint: false,
15
- idempotentHint: true,
16
- openWorldHint: false,
17
- },
18
- };
@@ -1,32 +0,0 @@
1
- import type { McpToolDefinition } from '../typings/mcp-types.interface.ts';
2
-
3
- /**
4
- * MCP tool definition for the `auto-capture-review` operation.
5
- *
6
- * Allows agents to list, approve, or reject pending
7
- * auto-captured knowledge entries before they are persisted.
8
- */
9
- export const TOOL_AUTO_CAPTURE_REVIEW: McpToolDefinition = {
10
- name: 'auto-capture-review',
11
- description:
12
- 'Review and approve pending auto-captured knowledge' +
13
- ' before storage. Use list to see pending captures,' +
14
- ' approve or reject to act on them.',
15
- inputSchema: {
16
- type: 'object',
17
- properties: {
18
- action: {
19
- type: 'string',
20
- enum: ['list', 'approve', 'reject'],
21
- description: 'Action to perform on pending captures.',
22
- },
23
- },
24
- },
25
- annotations: {
26
- title: 'Auto-Capture Review',
27
- readOnlyHint: false,
28
- destructiveHint: false,
29
- idempotentHint: false,
30
- openWorldHint: false,
31
- },
32
- };
@@ -1,21 +0,0 @@
1
- import type { McpToolDefinition } from '../typings/mcp-types.interface.ts';
2
-
3
- /** MCP tool definition for the `check` operation. */
4
- export const TOOL_CHECK: McpToolDefinition = {
5
- name: 'check',
6
- description:
7
- 'Verify the integrity of the knowledge base.' +
8
- ' Reports checksum mismatches, orphan sections,' +
9
- ' broken references, and circular reference chains.',
10
- inputSchema: {
11
- type: 'object',
12
- properties: {},
13
- },
14
- annotations: {
15
- title: 'Integrity Check',
16
- readOnlyHint: true,
17
- destructiveHint: false,
18
- idempotentHint: true,
19
- openWorldHint: false,
20
- },
21
- };