@dikolab/kbdb 0.3.1 → 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 (468) hide show
  1. package/README.md +108 -126
  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 +78 -12
  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 +39 -8
  90. package/docs/details/search-and-ranking.md +56 -0
  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 +43 -22
  107. package/docs/release-notes/0.3.1.md +10 -0
  108. package/docs/release-notes/0.3.2.md +64 -0
  109. package/docs/release-notes/0.4.0.md +80 -0
  110. package/docs/release-notes/README.md +2 -0
  111. package/mod.ts +33 -15
  112. package/package.json +11 -10
  113. package/dist/chunk-JG2UCKLI.mjs +0 -95
  114. package/dist/chunk-JG2UCKLI.mjs.map +0 -7
  115. package/src/cli.ts +0 -71
  116. package/src/shared/auto-capture/classes/auto-capture-controller.class.ts +0 -62
  117. package/src/shared/auto-capture/constants/auto-capture-defaults.constant.ts +0 -15
  118. package/src/shared/auto-capture/functions/build-capture-prompt.function.ts +0 -27
  119. package/src/shared/auto-capture/functions/evaluate-trigger.function.ts +0 -50
  120. package/src/shared/auto-capture/index.ts +0 -7
  121. package/src/shared/auto-capture/typings/auto-capture-config.interface.ts +0 -13
  122. package/src/shared/auto-capture/typings/auto-capture-state.interface.ts +0 -13
  123. package/src/shared/auto-capture/typings/auto-capture-trigger.interface.ts +0 -7
  124. package/src/shared/cli/constants/defaults.constant.ts +0 -19
  125. package/src/shared/cli/constants/global-help.constant.ts +0 -73
  126. package/src/shared/cli/constants/help-text.constant.ts +0 -4
  127. package/src/shared/cli/constants/leaf-help.constant.ts +0 -219
  128. package/src/shared/cli/constants/memory-protocol-body.constant.ts +0 -39
  129. package/src/shared/cli/constants/query-guidance-body.constant.ts +0 -37
  130. package/src/shared/cli/constants/subcommand-help.constant.ts +0 -195
  131. package/src/shared/cli/functions/collect-files.function.ts +0 -55
  132. package/src/shared/cli/functions/compute-section-kbid.function.ts +0 -49
  133. package/src/shared/cli/functions/dispatch-command.function.ts +0 -390
  134. package/src/shared/cli/functions/ensure-db.function.ts +0 -21
  135. package/src/shared/cli/functions/error-to-message.function.ts +0 -9
  136. package/src/shared/cli/functions/find-db.function.ts +0 -20
  137. package/src/shared/cli/functions/format-mcp-output.function.ts +0 -41
  138. package/src/shared/cli/functions/format-output.function.ts +0 -95
  139. package/src/shared/cli/functions/format-text-output.function.ts +0 -42
  140. package/src/shared/cli/functions/generate-group-help.function.ts +0 -41
  141. package/src/shared/cli/functions/generate-help.function.ts +0 -654
  142. package/src/shared/cli/functions/handle-data-command.function.ts +0 -67
  143. package/src/shared/cli/functions/handle-mcp.function.ts +0 -56
  144. package/src/shared/cli/functions/handle-migrate.function.ts +0 -64
  145. package/src/shared/cli/functions/hydrate-search-previews.function.ts +0 -29
  146. package/src/shared/cli/functions/install-default-skills.function.ts +0 -296
  147. package/src/shared/cli/functions/is-stdin-tty.function.ts +0 -12
  148. package/src/shared/cli/functions/parse-args.function.ts +0 -156
  149. package/src/shared/cli/functions/prompt-user.function.ts +0 -36
  150. package/src/shared/cli/functions/resolve-skill-names.function.ts +0 -43
  151. package/src/shared/cli/functions/run-agent-create.function.ts +0 -114
  152. package/src/shared/cli/functions/run-agent-delete.function.ts +0 -47
  153. package/src/shared/cli/functions/run-agent-get.function.ts +0 -166
  154. package/src/shared/cli/functions/run-agent-list.function.ts +0 -58
  155. package/src/shared/cli/functions/run-check.function.ts +0 -159
  156. package/src/shared/cli/functions/run-cli.function.ts +0 -299
  157. package/src/shared/cli/functions/run-content.function.ts +0 -47
  158. package/src/shared/cli/functions/run-db-init.function.ts +0 -44
  159. package/src/shared/cli/functions/run-db-migrate.function.ts +0 -40
  160. package/src/shared/cli/functions/run-export.function.ts +0 -40
  161. package/src/shared/cli/functions/run-gc.function.ts +0 -51
  162. package/src/shared/cli/functions/run-init.function.ts +0 -93
  163. package/src/shared/cli/functions/run-learn.function.ts +0 -223
  164. package/src/shared/cli/functions/run-migrate.function.ts +0 -85
  165. package/src/shared/cli/functions/run-rebuild.function.ts +0 -47
  166. package/src/shared/cli/functions/run-recall.function.ts +0 -66
  167. package/src/shared/cli/functions/run-search.function.ts +0 -133
  168. package/src/shared/cli/functions/run-skill-delete.function.ts +0 -47
  169. package/src/shared/cli/functions/run-skill-get.function.ts +0 -90
  170. package/src/shared/cli/functions/run-skill-learn.function.ts +0 -70
  171. package/src/shared/cli/functions/run-skill-list.function.ts +0 -74
  172. package/src/shared/cli/functions/run-status.function.ts +0 -29
  173. package/src/shared/cli/functions/run-unlearn.function.ts +0 -58
  174. package/src/shared/cli/functions/version-gate.function.ts +0 -44
  175. package/src/shared/cli/functions/wrap-command.function.ts +0 -34
  176. package/src/shared/cli/index.ts +0 -55
  177. package/src/shared/cli/typings/agent-create-client.interface.ts +0 -47
  178. package/src/shared/cli/typings/agent-get-client.interface.ts +0 -39
  179. package/src/shared/cli/typings/check-client.interface.ts +0 -66
  180. package/src/shared/cli/typings/cli-deps.interface.ts +0 -54
  181. package/src/shared/cli/typings/cli-options.interface.ts +0 -72
  182. package/src/shared/cli/typings/command-result.model.ts +0 -15
  183. package/src/shared/cli/typings/disconnectable-client.interface.ts +0 -29
  184. package/src/shared/cli/typings/dispatch-client.type.ts +0 -46
  185. package/src/shared/cli/typings/learn-client.interface.ts +0 -53
  186. package/src/shared/cli/typings/learn-io.interface.ts +0 -5
  187. package/src/shared/cli/typings/learn-result.model.ts +0 -27
  188. package/src/shared/cli/typings/search-client.interface.ts +0 -73
  189. package/src/shared/cli/typings/search-display.model.ts +0 -54
  190. package/src/shared/dir-resolver/functions/join-path.function.ts +0 -13
  191. package/src/shared/dir-resolver/functions/resolve-base-dir.function.ts +0 -25
  192. package/src/shared/dir-resolver/functions/resolve-wasm-dir.function.ts +0 -5
  193. package/src/shared/dir-resolver/functions/resolve-worker-script.function.ts +0 -13
  194. package/src/shared/dir-resolver/index.ts +0 -11
  195. package/src/shared/dir-resolver/typings/base-dir.interface.ts +0 -4
  196. package/src/shared/embedding/classes/null-embedding-provider.class.ts +0 -29
  197. package/src/shared/embedding/constants/near-duplicate-thresholds.constant.ts +0 -17
  198. package/src/shared/embedding/functions/build-vector-index.function.ts +0 -79
  199. package/src/shared/embedding/functions/cosine-similarity.function.ts +0 -31
  200. package/src/shared/embedding/functions/detect-near-duplicates.function.ts +0 -69
  201. package/src/shared/embedding/functions/jaccard-coefficient.function.ts +0 -26
  202. package/src/shared/embedding/functions/read-vector-index-meta.function.ts +0 -44
  203. package/src/shared/embedding/functions/rrf-fuse.function.ts +0 -33
  204. package/src/shared/embedding/functions/search-vectors.function.ts +0 -59
  205. package/src/shared/embedding/index.ts +0 -20
  206. package/src/shared/embedding/typings/embedding-config.interface.ts +0 -23
  207. package/src/shared/embedding/typings/embedding-provider.interface.ts +0 -25
  208. package/src/shared/embedding/typings/near-duplicate-candidate.model.ts +0 -25
  209. package/src/shared/embedding/typings/near-duplicate-result.model.ts +0 -26
  210. package/src/shared/embedding/typings/vector-index-entry.model.ts +0 -13
  211. package/src/shared/embedding/typings/vector-index-meta.model.ts +0 -14
  212. package/src/shared/embedding/typings/vector-search-result.model.ts +0 -8
  213. package/src/shared/hash/functions/compute-sha256.ts +0 -17
  214. package/src/shared/hash/index.ts +0 -1
  215. package/src/shared/mcp/classes/mcp-server.class.ts +0 -480
  216. package/src/shared/mcp/constants/mcp-error-codes.constant.ts +0 -30
  217. package/src/shared/mcp/constants/tool-agent-create.constant.ts +0 -39
  218. package/src/shared/mcp/constants/tool-agent-delete.constant.ts +0 -26
  219. package/src/shared/mcp/constants/tool-agent-get.constant.ts +0 -24
  220. package/src/shared/mcp/constants/tool-agent-list.constant.ts +0 -18
  221. package/src/shared/mcp/constants/tool-auto-capture-review.constant.ts +0 -32
  222. package/src/shared/mcp/constants/tool-check.constant.ts +0 -21
  223. package/src/shared/mcp/constants/tool-content.constant.ts +0 -29
  224. package/src/shared/mcp/constants/tool-export.constant.ts +0 -27
  225. package/src/shared/mcp/constants/tool-gc.constant.ts +0 -21
  226. package/src/shared/mcp/constants/tool-learn.constant.ts +0 -58
  227. package/src/shared/mcp/constants/tool-rebuild.constant.ts +0 -21
  228. package/src/shared/mcp/constants/tool-recall.constant.ts +0 -36
  229. package/src/shared/mcp/constants/tool-retrieve.constant.ts +0 -31
  230. package/src/shared/mcp/constants/tool-search.constant.ts +0 -51
  231. package/src/shared/mcp/constants/tool-skill-delete.constant.ts +0 -24
  232. package/src/shared/mcp/constants/tool-skill-get.constant.ts +0 -27
  233. package/src/shared/mcp/constants/tool-skill-learn.constant.ts +0 -37
  234. package/src/shared/mcp/constants/tool-skill-list.constant.ts +0 -18
  235. package/src/shared/mcp/constants/tool-status.constant.ts +0 -20
  236. package/src/shared/mcp/constants/tool-unlearn.constant.ts +0 -25
  237. package/src/shared/mcp/functions/as-boolean-or-undefined.function.ts +0 -11
  238. package/src/shared/mcp/functions/as-string-array-or-undefined.function.ts +0 -17
  239. package/src/shared/mcp/functions/as-string-array.function.ts +0 -15
  240. package/src/shared/mcp/functions/as-string.function.ts +0 -10
  241. package/src/shared/mcp/functions/build-skills-text.function.ts +0 -43
  242. package/src/shared/mcp/functions/create-mcp-server.function.ts +0 -14
  243. package/src/shared/mcp/functions/create-prompt-definitions.function.ts +0 -102
  244. package/src/shared/mcp/functions/create-resource-templates.function.ts +0 -23
  245. package/src/shared/mcp/functions/create-tool-definitions.function.ts +0 -530
  246. package/src/shared/mcp/functions/extract-skill-arguments.function.ts +0 -27
  247. package/src/shared/mcp/functions/handle-agent-create.function.ts +0 -116
  248. package/src/shared/mcp/functions/handle-agent-delete.function.ts +0 -50
  249. package/src/shared/mcp/functions/handle-agent-get.function.ts +0 -160
  250. package/src/shared/mcp/functions/handle-agent-list.function.ts +0 -50
  251. package/src/shared/mcp/functions/handle-agent-prompt.function.ts +0 -68
  252. package/src/shared/mcp/functions/handle-completion.function.ts +0 -114
  253. package/src/shared/mcp/functions/handle-mcp-request.function.ts +0 -202
  254. package/src/shared/mcp/functions/handle-prompt-get.function.ts +0 -220
  255. package/src/shared/mcp/functions/handle-recall.function.ts +0 -66
  256. package/src/shared/mcp/functions/handle-resource-read.function.ts +0 -56
  257. package/src/shared/mcp/functions/handle-roots-list.function.ts +0 -29
  258. package/src/shared/mcp/functions/handle-skill-prompt.function.ts +0 -44
  259. package/src/shared/mcp/functions/handle-tool-auto-capture-review.function.ts +0 -24
  260. package/src/shared/mcp/functions/handle-tool-call.function.ts +0 -560
  261. package/src/shared/mcp/functions/handle-tool-check.function.ts +0 -21
  262. package/src/shared/mcp/functions/handle-tool-content.function.ts +0 -23
  263. package/src/shared/mcp/functions/handle-tool-export.function.ts +0 -25
  264. package/src/shared/mcp/functions/handle-tool-gc.function.ts +0 -21
  265. package/src/shared/mcp/functions/handle-tool-learn.function.ts +0 -69
  266. package/src/shared/mcp/functions/handle-tool-rebuild.function.ts +0 -21
  267. package/src/shared/mcp/functions/handle-tool-retrieve.function.ts +0 -40
  268. package/src/shared/mcp/functions/handle-tool-search.function.ts +0 -47
  269. package/src/shared/mcp/functions/handle-tool-skill-delete.function.ts +0 -34
  270. package/src/shared/mcp/functions/handle-tool-skill-get.function.ts +0 -59
  271. package/src/shared/mcp/functions/handle-tool-skill-learn.function.ts +0 -61
  272. package/src/shared/mcp/functions/handle-tool-skill-list.function.ts +0 -39
  273. package/src/shared/mcp/functions/handle-tool-status.function.ts +0 -21
  274. package/src/shared/mcp/functions/handle-tool-unlearn.function.ts +0 -24
  275. package/src/shared/mcp/functions/parse-agent-meta.function.ts +0 -27
  276. package/src/shared/mcp/functions/parse-skill-arguments.function.ts +0 -36
  277. package/src/shared/mcp/functions/parse-skill-content.function.ts +0 -38
  278. package/src/shared/mcp/functions/read-agent-meta.function.ts +0 -41
  279. package/src/shared/mcp/functions/resolve-skill-refs.function.ts +0 -50
  280. package/src/shared/mcp/functions/run-startup-health-check.function.ts +0 -34
  281. package/src/shared/mcp/functions/serialize-skill-content.function.ts +0 -12
  282. package/src/shared/mcp/functions/should-emit-log.function.ts +0 -38
  283. package/src/shared/mcp/index.ts +0 -28
  284. package/src/shared/mcp/typings/agent-types.interface.ts +0 -39
  285. package/src/shared/mcp/typings/log-types.interface.ts +0 -26
  286. package/src/shared/mcp/typings/mcp-capabilities.interface.ts +0 -16
  287. package/src/shared/mcp/typings/mcp-client.interface.ts +0 -317
  288. package/src/shared/mcp/typings/mcp-completion.interface.ts +0 -45
  289. package/src/shared/mcp/typings/mcp-content-result.model.ts +0 -9
  290. package/src/shared/mcp/typings/mcp-export-result.model.ts +0 -11
  291. package/src/shared/mcp/typings/mcp-gc-result.model.ts +0 -15
  292. package/src/shared/mcp/typings/mcp-integrity-check-result.model.ts +0 -17
  293. package/src/shared/mcp/typings/mcp-integrity-error.model.ts +0 -15
  294. package/src/shared/mcp/typings/mcp-notification.interface.ts +0 -9
  295. package/src/shared/mcp/typings/mcp-rebuild-result.model.ts +0 -9
  296. package/src/shared/mcp/typings/mcp-request.interface.ts +0 -11
  297. package/src/shared/mcp/typings/mcp-resource-result.interface.ts +0 -12
  298. package/src/shared/mcp/typings/mcp-resource-template.interface.ts +0 -11
  299. package/src/shared/mcp/typings/mcp-response.interface.ts +0 -18
  300. package/src/shared/mcp/typings/mcp-server-info.interface.ts +0 -7
  301. package/src/shared/mcp/typings/mcp-server-state.interface.ts +0 -17
  302. package/src/shared/mcp/typings/mcp-tool-annotations.interface.ts +0 -32
  303. package/src/shared/mcp/typings/mcp-tool-definition.interface.ts +0 -16
  304. package/src/shared/mcp/typings/mcp-tool-result.interface.ts +0 -19
  305. package/src/shared/mcp/typings/mcp-types.interface.ts +0 -158
  306. package/src/shared/mcp/typings/mcp-worker-client.interface.ts +0 -243
  307. package/src/shared/mcp/typings/prompt-types.interface.ts +0 -39
  308. package/src/shared/mcp/typings/remove-section-result.model.ts +0 -10
  309. package/src/shared/mcp/typings/sampling-types.interface.ts +0 -48
  310. package/src/shared/mcp/typings/skill-types.interface.ts +0 -29
  311. package/src/shared/mcp/typings/tool-call-result.model.ts +0 -18
  312. package/src/shared/mod.ts +0 -1
  313. package/src/shared/platform/functions/get-ipc-path.function.ts +0 -19
  314. package/src/shared/platform/functions/get-tmpdir.function.ts +0 -8
  315. package/src/shared/platform/functions/is-process-alive.function.ts +0 -17
  316. package/src/shared/platform/index.ts +0 -3
  317. package/src/shared/runtime/functions/detect-runtime.ts +0 -14
  318. package/src/shared/runtime/functions/get-args.ts +0 -16
  319. package/src/shared/runtime/index.ts +0 -3
  320. package/src/shared/runtime/typings/runtime.ts +0 -2
  321. package/src/shared/sync/functions/build-import-report.function.ts +0 -40
  322. package/src/shared/sync/functions/parse-export-entry.function.ts +0 -45
  323. package/src/shared/sync/functions/resolve-conflict.function.ts +0 -31
  324. package/src/shared/sync/functions/serialize-export-entry.function.ts +0 -18
  325. package/src/shared/sync/index.ts +0 -9
  326. package/src/shared/sync/typings/conflict-resolution.type.ts +0 -8
  327. package/src/shared/sync/typings/export-entry.interface.ts +0 -13
  328. package/src/shared/sync/typings/export-options.interface.ts +0 -9
  329. package/src/shared/sync/typings/import-options.interface.ts +0 -7
  330. package/src/shared/sync/typings/import-report.interface.ts +0 -15
  331. package/src/shared/version/constants/version.constant.ts +0 -2
  332. package/src/shared/version/index.ts +0 -1
  333. package/src/shared/wasm-codec/functions/decode-add-section-result.function.ts +0 -112
  334. package/src/shared/wasm-codec/functions/decode-compose-output.function.ts +0 -16
  335. package/src/shared/wasm-codec/functions/decode-document-manifest-list.function.ts +0 -70
  336. package/src/shared/wasm-codec/functions/decode-document-manifest.function.ts +0 -87
  337. package/src/shared/wasm-codec/functions/decode-f32.function.ts +0 -16
  338. package/src/shared/wasm-codec/functions/decode-key-value-text.function.ts +0 -15
  339. package/src/shared/wasm-codec/functions/decode-one-recall-result.function.ts +0 -86
  340. package/src/shared/wasm-codec/functions/decode-option-string.function.ts +0 -24
  341. package/src/shared/wasm-codec/functions/decode-recall-document.function.ts +0 -59
  342. package/src/shared/wasm-codec/functions/decode-recall-reference.function.ts +0 -52
  343. package/src/shared/wasm-codec/functions/decode-recall-result.function.ts +0 -267
  344. package/src/shared/wasm-codec/functions/decode-recall-sibling.function.ts +0 -43
  345. package/src/shared/wasm-codec/functions/decode-remove-flag.function.ts +0 -3
  346. package/src/shared/wasm-codec/functions/decode-scored-results.function.ts +0 -194
  347. package/src/shared/wasm-codec/functions/decode-section-match.function.ts +0 -80
  348. package/src/shared/wasm-codec/functions/decode-section-record-list.function.ts +0 -20
  349. package/src/shared/wasm-codec/functions/decode-section-record-trailing.function.ts +0 -75
  350. package/src/shared/wasm-codec/functions/decode-section-record.function.ts +0 -85
  351. package/src/shared/wasm-codec/functions/decode-section-records.function.ts +0 -249
  352. package/src/shared/wasm-codec/functions/decode-section-type.function.ts +0 -30
  353. package/src/shared/wasm-codec/functions/decode-string.function.ts +0 -22
  354. package/src/shared/wasm-codec/functions/decode-u32.function.ts +0 -16
  355. package/src/shared/wasm-codec/functions/decode-u64.function.ts +0 -16
  356. package/src/shared/wasm-codec/functions/decode-wasm-list.function.ts +0 -31
  357. package/src/shared/wasm-codec/functions/encode-add-section-params.function.ts +0 -102
  358. package/src/shared/wasm-codec/functions/encode-group-params.function.ts +0 -28
  359. package/src/shared/wasm-codec/functions/encode-identifier-list.function.ts +0 -17
  360. package/src/shared/wasm-codec/functions/encode-kbid-list.function.ts +0 -17
  361. package/src/shared/wasm-codec/functions/encode-option-string.function.ts +0 -14
  362. package/src/shared/wasm-codec/functions/encode-recall-params.function.ts +0 -68
  363. package/src/shared/wasm-codec/functions/encode-search-params.function.ts +0 -12
  364. package/src/shared/wasm-codec/functions/encode-section-type.function.ts +0 -18
  365. package/src/shared/wasm-codec/functions/encode-string.function.ts +0 -9
  366. package/src/shared/wasm-codec/functions/encode-type-filter-param.function.ts +0 -13
  367. package/src/shared/wasm-codec/functions/encode-u32.function.ts +0 -5
  368. package/src/shared/wasm-codec/functions/encode-update-section-params.function.ts +0 -16
  369. package/src/shared/wasm-codec/index.ts +0 -49
  370. package/src/shared/wasm-codec/typings/add-section-input.model.ts +0 -45
  371. package/src/shared/wasm-codec/typings/add-section-result.model.ts +0 -28
  372. package/src/shared/wasm-codec/typings/document-manifest.model.ts +0 -20
  373. package/src/shared/wasm-codec/typings/document-section.model.ts +0 -12
  374. package/src/shared/wasm-codec/typings/item-decoder.type.ts +0 -10
  375. package/src/shared/wasm-codec/typings/near-duplicate.model.ts +0 -16
  376. package/src/shared/wasm-codec/typings/paged-search-result.model.ts +0 -22
  377. package/src/shared/wasm-codec/typings/section-match.model.ts +0 -31
  378. package/src/shared/wasm-codec/typings/section-record-trailing.model.ts +0 -38
  379. package/src/shared/wasm-codec/typings/section-record.model.ts +0 -66
  380. package/src/shared/wasm-codec/typings/section-type-result.model.ts +0 -12
  381. package/src/shared/worker-client/classes/worker-client.class.ts +0 -466
  382. package/src/shared/worker-client/functions/compute-context-id.function.ts +0 -18
  383. package/src/shared/worker-client/functions/create-worker-client.function.ts +0 -70
  384. package/src/shared/worker-client/functions/discover-daemon.function.ts +0 -47
  385. package/src/shared/worker-client/functions/handle-ipc-data.function.ts +0 -49
  386. package/src/shared/worker-client/functions/resolve-db-path.function.ts +0 -21
  387. package/src/shared/worker-client/functions/send-ipc-request.function.ts +0 -39
  388. package/src/shared/worker-client/functions/spawn-daemon.function.ts +0 -35
  389. package/src/shared/worker-client/functions/wait-for-daemon.function.ts +0 -34
  390. package/src/shared/worker-client/index.ts +0 -44
  391. package/src/shared/worker-client/typings/add-section-result.model.ts +0 -39
  392. package/src/shared/worker-client/typings/content-result.model.ts +0 -12
  393. package/src/shared/worker-client/typings/daemon-info.model.ts +0 -7
  394. package/src/shared/worker-client/typings/export-result.model.ts +0 -14
  395. package/src/shared/worker-client/typings/gc-result.model.ts +0 -18
  396. package/src/shared/worker-client/typings/integrity-check-result.model.ts +0 -43
  397. package/src/shared/worker-client/typings/json-rpc-response.interface.ts +0 -17
  398. package/src/shared/worker-client/typings/migrate-result.model.ts +0 -11
  399. package/src/shared/worker-client/typings/pending-call.interface.ts +0 -7
  400. package/src/shared/worker-client/typings/rebuild-result.model.ts +0 -12
  401. package/src/shared/worker-client/typings/recall-document.model.ts +0 -16
  402. package/src/shared/worker-client/typings/recall-params.model.ts +0 -15
  403. package/src/shared/worker-client/typings/recall-reference.model.ts +0 -32
  404. package/src/shared/worker-client/typings/recall-result.model.ts +0 -98
  405. package/src/shared/worker-client/typings/recall-sibling.model.ts +0 -11
  406. package/src/shared/worker-client/typings/recall-single-result.model.ts +0 -41
  407. package/src/shared/worker-client/typings/remove-section-result.model.ts +0 -7
  408. package/src/shared/worker-client/typings/search-params.model.ts +0 -14
  409. package/src/shared/worker-client/typings/search-result.model.ts +0 -43
  410. package/src/shared/worker-client/typings/section.model.ts +0 -43
  411. package/src/shared/worker-client/typings/status-result.model.ts +0 -14
  412. package/src/shared/worker-client/typings/version-status.model.ts +0 -28
  413. package/src/shared/worker-client/typings/worker-client-error.interface.ts +0 -8
  414. package/src/shared/worker-client/typings/worker-client-options.interface.ts +0 -30
  415. package/src/shared/worker-daemon/classes/ipc-error.class.ts +0 -22
  416. package/src/shared/worker-daemon/classes/worker-daemon.class.ts +0 -1291
  417. package/src/shared/worker-daemon/constants/daemon-defaults.constant.ts +0 -29
  418. package/src/shared/worker-daemon/constants/wasm-method-map.constant.ts +0 -69
  419. package/src/shared/worker-daemon/functions/build-ipc-error-response.function.ts +0 -16
  420. package/src/shared/worker-daemon/functions/check-catalog-version.function.ts +0 -54
  421. package/src/shared/worker-daemon/functions/check-preconditions.function.ts +0 -28
  422. package/src/shared/worker-daemon/functions/create-host-imports.function.ts +0 -328
  423. package/src/shared/worker-daemon/functions/create-ipc-server.function.ts +0 -87
  424. package/src/shared/worker-daemon/functions/detect-stale-pid.function.ts +0 -33
  425. package/src/shared/worker-daemon/functions/dispatch-request.function.ts +0 -190
  426. package/src/shared/worker-daemon/functions/handle-check-version.function.ts +0 -74
  427. package/src/shared/worker-daemon/functions/handle-config-method.function.ts +0 -27
  428. package/src/shared/worker-daemon/functions/handle-read-ops.function.ts +0 -236
  429. package/src/shared/worker-daemon/functions/handle-write-ops.function.ts +0 -257
  430. package/src/shared/worker-daemon/functions/load-wasm-modules.function.ts +0 -95
  431. package/src/shared/worker-daemon/functions/parse-auto-capture-section.function.ts +0 -51
  432. package/src/shared/worker-daemon/functions/parse-catalog-version.function.ts +0 -20
  433. package/src/shared/worker-daemon/functions/parse-embedding-section.function.ts +0 -38
  434. package/src/shared/worker-daemon/functions/parse-worker-toml.function.ts +0 -104
  435. package/src/shared/worker-daemon/functions/read-config.function.ts +0 -83
  436. package/src/shared/worker-daemon/functions/run-startup-integrity-check.function.ts +0 -55
  437. package/src/shared/worker-daemon/functions/run-worker.function.ts +0 -57
  438. package/src/shared/worker-daemon/functions/scan-near-duplicates.function.ts +0 -92
  439. package/src/shared/worker-daemon/functions/start-daemon.function.ts +0 -74
  440. package/src/shared/worker-daemon/functions/wasm-bridge.function.ts +0 -144
  441. package/src/shared/worker-daemon/functions/wasm-memory-helpers.function.ts +0 -41
  442. package/src/shared/worker-daemon/functions/write-lock.function.ts +0 -49
  443. package/src/shared/worker-daemon/index.ts +0 -16
  444. package/src/shared/worker-daemon/typings/allocator-ref.interface.ts +0 -16
  445. package/src/shared/worker-daemon/typings/daemon-config.interface.ts +0 -20
  446. package/src/shared/worker-daemon/typings/fs-adapter.interface.ts +0 -22
  447. package/src/shared/worker-daemon/typings/handler-context.interface.ts +0 -19
  448. package/src/shared/worker-daemon/typings/ipc-handler.interface.ts +0 -39
  449. package/src/shared/worker-daemon/typings/memory-ref.interface.ts +0 -13
  450. package/src/shared/worker-daemon/typings/wasm-fn.type.ts +0 -2
  451. package/src/shared/worker-daemon/typings/wasm-modules.interface.ts +0 -7
  452. package/src/shared/worker-daemon/typings/write-lock.interface.ts +0 -13
  453. package/src/wasm/fs-database/kbdb_fs_database.d.ts +0 -259
  454. package/src/wasm/fs-database/kbdb_fs_database.js +0 -515
  455. package/src/wasm/fs-database/kbdb_fs_database_bg.wasm +0 -0
  456. package/src/wasm/fs-database/kbdb_fs_database_bg.wasm.d.ts +0 -35
  457. package/src/wasm/fs-database/package.json +0 -13
  458. package/src/wasm/kb-worker/kbdb_worker.d.ts +0 -650
  459. package/src/wasm/kb-worker/kbdb_worker.js +0 -1181
  460. package/src/wasm/kb-worker/kbdb_worker_bg.wasm +0 -0
  461. package/src/wasm/kb-worker/kbdb_worker_bg.wasm.d.ts +0 -77
  462. package/src/wasm/kb-worker/package.json +0 -13
  463. package/src/wasm/query-parser/kbdb_query_parser.d.ts +0 -195
  464. package/src/wasm/query-parser/kbdb_query_parser.js +0 -403
  465. package/src/wasm/query-parser/kbdb_query_parser_bg.wasm +0 -0
  466. package/src/wasm/query-parser/kbdb_query_parser_bg.wasm.d.ts +0 -25
  467. package/src/wasm/query-parser/package.json +0 -13
  468. package/src/worker.ts +0 -42
@@ -1,69 +0,0 @@
1
- import type { McpWorkerClient } from '../typings/mcp-client.interface.ts';
2
- import type { ToolCallResult } from '../typings/tool-call-result.model.ts';
3
- import { asString } from './as-string.function.ts';
4
- import { asStringArrayOrUndefined } from './as-string-array-or-undefined.function.ts';
5
- import { asBooleanOrUndefined } from './as-boolean-or-undefined.function.ts';
6
-
7
- /**
8
- * Handles the `learn` MCP tool call.
9
- *
10
- * Validates that image content includes a title, then imports the
11
- * content into the knowledge base via the worker client.
12
- *
13
- * @param client - the worker client used to execute operations
14
- * @param args - tool arguments from the MCP request
15
- */
16
- export async function handleToolLearn(
17
- client: McpWorkerClient,
18
- args: Record<string, unknown>,
19
- ): Promise<ToolCallResult> {
20
- const sectionType = asString(args['type'], 'text/markdown');
21
- const title =
22
- typeof args['title'] === 'string' ? args['title'] : undefined;
23
- const description =
24
- typeof args['description'] === 'string'
25
- ? args['description']
26
- : undefined;
27
- const docid =
28
- typeof args['docid'] === 'string' ? args['docid'] : undefined;
29
- const tags = asStringArrayOrUndefined(args['tags']);
30
- const replace = asBooleanOrUndefined(args['replace']);
31
-
32
- if (sectionType.startsWith('image/') && !title) {
33
- return {
34
- content: [
35
- {
36
- type: 'text',
37
- text: 'title is required for image/* types',
38
- },
39
- ],
40
- isError: true,
41
- };
42
- }
43
-
44
- const result = await client.addSection({
45
- sectionType,
46
- content: asString(args['content'], ''),
47
- title,
48
- description,
49
- docid,
50
- tags,
51
- replace,
52
- });
53
-
54
- const normalized = {
55
- kbid: result.kbid,
56
- indexed_terms_count: result.indexed_terms_count ?? 0,
57
- elapsed_ms: result.elapsed_ms ?? 0,
58
- superseded: result.superseded ?? null,
59
- warnings: result.warnings ?? [],
60
- near_duplicates: (result.near_duplicates ?? []).map((d) => ({
61
- kbid: d.kbid,
62
- similarity: d.similarity,
63
- })),
64
- };
65
-
66
- return {
67
- content: [{ type: 'text', text: JSON.stringify(normalized) }],
68
- };
69
- }
@@ -1,21 +0,0 @@
1
- import type { McpWorkerClient } from '../typings/mcp-client.interface.ts';
2
- import type { ToolCallResult } from '../typings/tool-call-result.model.ts';
3
-
4
- /**
5
- * Handles the `rebuild` MCP tool call.
6
- *
7
- * Reconstructs all index files from section and document files and
8
- * returns the rebuild report as formatted JSON.
9
- *
10
- * @param client - the worker client used to execute operations
11
- */
12
- export async function handleToolRebuild(
13
- client: McpWorkerClient,
14
- ): Promise<ToolCallResult> {
15
- const report = await client.rebuildIndexes();
16
- return {
17
- content: [
18
- { type: 'text', text: JSON.stringify(report, null, 2) },
19
- ],
20
- };
21
- }
@@ -1,40 +0,0 @@
1
- import type { McpWorkerClient } from '../typings/mcp-client.interface.ts';
2
- import type { ToolCallResult } from '../typings/tool-call-result.model.ts';
3
-
4
- /**
5
- * Handles the `retrieve` MCP tool call.
6
- *
7
- * Fetches a section by `kbid` or a document by `docid`. Returns an
8
- * error when neither identifier is supplied.
9
- *
10
- * @param client - the worker client used to execute operations
11
- * @param args - tool arguments from the MCP request
12
- */
13
- export async function handleToolRetrieve(
14
- client: McpWorkerClient,
15
- args: Record<string, unknown>,
16
- ): Promise<ToolCallResult> {
17
- if (typeof args['kbid'] === 'string') {
18
- const sections = await client.readSections([args['kbid']]);
19
- return {
20
- content: [
21
- {
22
- type: 'text',
23
- text: JSON.stringify(sections, null, 2),
24
- },
25
- ],
26
- };
27
- }
28
- if (typeof args['docid'] === 'string') {
29
- const doc = await client.retrieveDocument(args['docid']);
30
- return {
31
- content: [
32
- { type: 'text', text: JSON.stringify(doc, null, 2) },
33
- ],
34
- };
35
- }
36
- return {
37
- content: [{ type: 'text', text: 'Provide kbid or docid' }],
38
- isError: true,
39
- };
40
- }
@@ -1,47 +0,0 @@
1
- import type { McpWorkerClient } from '../typings/mcp-client.interface.ts';
2
- import type { ToolCallResult } from '../typings/tool-call-result.model.ts';
3
-
4
- /**
5
- * Handles the `search` MCP tool call.
6
- *
7
- * Forwards query parameters to the worker client and strips internal
8
- * scoring fields (`score`, `confidence`) from each result item before
9
- * returning.
10
- *
11
- * @param client - the worker client used to execute operations
12
- * @param args - tool arguments from the MCP request
13
- */
14
- export async function handleToolSearch(
15
- client: McpWorkerClient,
16
- args: Record<string, unknown>,
17
- ): Promise<ToolCallResult> {
18
- const query = typeof args['query'] === 'string' ? args['query'] : '';
19
- const algo =
20
- typeof args['algo'] === 'string' ? args['algo'] : undefined;
21
- const results = await client.search({
22
- query,
23
- mode: args['mode'] as string | undefined,
24
- ...(algo !== undefined ? { algo } : {}),
25
- limit: args['limit'] as number | undefined,
26
- offset: args['offset'] as number | undefined,
27
- });
28
-
29
- const stripped = {
30
- ...results,
31
- items: results.items.map(
32
- ({
33
- score: _score,
34
- confidence: _confidence,
35
- ...rest
36
- }: (typeof results.items)[number] & {
37
- confidence?: number;
38
- }) => rest,
39
- ),
40
- };
41
-
42
- return {
43
- content: [
44
- { type: 'text', text: JSON.stringify(stripped, null, 2) },
45
- ],
46
- };
47
- }
@@ -1,34 +0,0 @@
1
- import type { McpWorkerClient } from '../typings/mcp-client.interface.ts';
2
- import type { ToolCallResult } from '../typings/tool-call-result.model.ts';
3
- import { asString } from './as-string.function.ts';
4
-
5
- /**
6
- * Handles the `skill-delete` MCP tool call.
7
- *
8
- * Removes the skill section identified by `kbid` from the knowledge
9
- * base and returns the result.
10
- *
11
- * @param client - the worker client used to execute operations
12
- * @param args - tool arguments from the MCP request
13
- */
14
- export async function handleToolSkillDelete(
15
- client: McpWorkerClient,
16
- args: Record<string, unknown>,
17
- ): Promise<ToolCallResult> {
18
- const kbid = asString(args['kbid'], '');
19
- if (!kbid) {
20
- return {
21
- content: [{ type: 'text', text: 'kbid is required' }],
22
- isError: true,
23
- };
24
- }
25
- const result = await client.removeSection(kbid);
26
- return {
27
- content: [
28
- {
29
- type: 'text',
30
- text: JSON.stringify({ kbid, removed: result.removed }),
31
- },
32
- ],
33
- };
34
- }
@@ -1,59 +0,0 @@
1
- import type { McpWorkerClient } from '../typings/mcp-client.interface.ts';
2
- import type { ToolCallResult } from '../typings/tool-call-result.model.ts';
3
- import { parseSkillContent } from './parse-skill-content.function.ts';
4
-
5
- /**
6
- * Handles the `skill-get` MCP tool call.
7
- *
8
- * Looks up a skill by `kbid` first, then falls back to searching by
9
- * `name`. Returns an error when neither identifier resolves to a
10
- * known skill.
11
- *
12
- * @param client - the worker client used to execute operations
13
- * @param args - tool arguments from the MCP request
14
- */
15
- export async function handleToolSkillGet(
16
- client: McpWorkerClient,
17
- args: Record<string, unknown>,
18
- ): Promise<ToolCallResult> {
19
- const kbid =
20
- typeof args['kbid'] === 'string' ? args['kbid'] : undefined;
21
- const name =
22
- typeof args['name'] === 'string' ? args['name'] : undefined;
23
-
24
- if (!kbid && !name) {
25
- return {
26
- content: [{ type: 'text', text: 'name or kbid is required' }],
27
- isError: true,
28
- };
29
- }
30
-
31
- let content: string | undefined;
32
- if (kbid) {
33
- const sections = await client.readSections([kbid]);
34
- if (sections.length > 0) {
35
- content = sections[0]?.content;
36
- }
37
- }
38
- if (content === undefined && name) {
39
- const records = await client.listByType('skill');
40
- const match = records.filter((r) => r.title === name).pop();
41
- if (match) {
42
- content = match.content;
43
- }
44
- }
45
- if (content === undefined) {
46
- const identifier = kbid ?? name ?? '';
47
- return {
48
- content: [
49
- { type: 'text', text: `skill not found: ${identifier}` },
50
- ],
51
- isError: true,
52
- };
53
- }
54
-
55
- const skill = parseSkillContent(content);
56
- return {
57
- content: [{ type: 'text', text: JSON.stringify(skill, null, 2) }],
58
- };
59
- }
@@ -1,61 +0,0 @@
1
- import type { McpWorkerClient } from '../typings/mcp-client.interface.ts';
2
- import type { ToolCallResult } from '../typings/tool-call-result.model.ts';
3
- import { asString } from './as-string.function.ts';
4
- import { extractSkillArguments } from './extract-skill-arguments.function.ts';
5
- import { serializeSkillContent } from './serialize-skill-content.function.ts';
6
-
7
- /**
8
- * Handles the `skill-learn` MCP tool call.
9
- *
10
- * Validates required arguments, extracts template placeholders from
11
- * the body, serialises the skill, and stores it as a knowledge-base
12
- * section.
13
- *
14
- * @param client - the worker client used to execute operations
15
- * @param args - tool arguments from the MCP request
16
- */
17
- export async function handleToolSkillLearn(
18
- client: McpWorkerClient,
19
- args: Record<string, unknown>,
20
- ): Promise<ToolCallResult> {
21
- const name = asString(args['name'], '');
22
- if (!name) {
23
- return {
24
- content: [{ type: 'text', text: 'name is required' }],
25
- isError: true,
26
- };
27
- }
28
- const body = asString(args['body'], '');
29
- if (!body) {
30
- return {
31
- content: [{ type: 'text', text: 'body is required' }],
32
- isError: true,
33
- };
34
- }
35
- const description =
36
- typeof args['description'] === 'string'
37
- ? args['description']
38
- : undefined;
39
- const skillArgs = extractSkillArguments(body);
40
- const skill = {
41
- name,
42
- description,
43
- arguments: skillArgs.length > 0 ? skillArgs : undefined,
44
- body,
45
- };
46
- const json = serializeSkillContent(skill);
47
- const result = await client.addSection({
48
- sectionType: 'skill',
49
- content: json,
50
- title: name,
51
- description,
52
- });
53
- return {
54
- content: [
55
- {
56
- type: 'text',
57
- text: JSON.stringify({ kbid: result.kbid, name }),
58
- },
59
- ],
60
- };
61
- }
@@ -1,39 +0,0 @@
1
- import type { McpWorkerClient } from '../typings/mcp-client.interface.ts';
2
- import type { ToolCallResult } from '../typings/tool-call-result.model.ts';
3
-
4
- /**
5
- * Handles the `skill-list` MCP tool call.
6
- *
7
- * Lists all skills stored in the knowledge base, including the
8
- * argument count extracted from each skill's JSON content.
9
- *
10
- * @param client - the worker client used to execute operations
11
- */
12
- export async function handleToolSkillList(
13
- client: McpWorkerClient,
14
- ): Promise<ToolCallResult> {
15
- const records = await client.listByType('skill');
16
- const items = records.map((r) => {
17
- let argumentCount = 0;
18
- try {
19
- const parsed = JSON.parse(r.content) as Record<
20
- string,
21
- unknown
22
- >;
23
- if (Array.isArray(parsed['arguments'])) {
24
- argumentCount = parsed['arguments'].length;
25
- }
26
- } catch {
27
- // ignore parse errors
28
- }
29
- return {
30
- kbid: r.kbid,
31
- name: r.title,
32
- description: r.description,
33
- argumentCount,
34
- };
35
- });
36
- return {
37
- content: [{ type: 'text', text: JSON.stringify(items, null, 2) }],
38
- };
39
- }
@@ -1,21 +0,0 @@
1
- import type { McpWorkerClient } from '../typings/mcp-client.interface.ts';
2
- import type { ToolCallResult } from '../typings/tool-call-result.model.ts';
3
-
4
- /**
5
- * Handles the `status` MCP tool call.
6
- *
7
- * Fetches database metadata from the worker client and returns it as
8
- * formatted JSON.
9
- *
10
- * @param client - the worker client used to execute operations
11
- */
12
- export async function handleToolStatus(
13
- client: McpWorkerClient,
14
- ): Promise<ToolCallResult> {
15
- const status = await client.dbStatus();
16
- return {
17
- content: [
18
- { type: 'text', text: JSON.stringify(status, null, 2) },
19
- ],
20
- };
21
- }
@@ -1,24 +0,0 @@
1
- import type { McpWorkerClient } from '../typings/mcp-client.interface.ts';
2
- import type { ToolCallResult } from '../typings/tool-call-result.model.ts';
3
- import { asString } from './as-string.function.ts';
4
-
5
- /**
6
- * Handles the `unlearn` MCP tool call.
7
- *
8
- * Removes the section identified by `kbid` from the knowledge base
9
- * and returns the removal result as JSON.
10
- *
11
- * @param client - the worker client used to execute operations
12
- * @param args - tool arguments from the MCP request
13
- */
14
- export async function handleToolUnlearn(
15
- client: McpWorkerClient,
16
- args: Record<string, unknown>,
17
- ): Promise<ToolCallResult> {
18
- const result = await client.removeSection(
19
- asString(args['kbid'], ''),
20
- );
21
- return {
22
- content: [{ type: 'text', text: JSON.stringify(result) }],
23
- };
24
- }
@@ -1,27 +0,0 @@
1
- /** Parsed shape of an agent metadata section. */
2
- export interface AgentMeta {
3
- /** Agent persona text. */
4
- readonly persona: string;
5
- }
6
-
7
- /**
8
- * Parses agent metadata from a raw JSON content string.
9
- *
10
- * Returns an object with an empty `persona` when parsing fails or
11
- * the required field is absent or not a string.
12
- *
13
- * @param content - raw JSON content string of the agent metadata section
14
- */
15
- export function parseAgentMeta(content: string): AgentMeta {
16
- try {
17
- const parsed = JSON.parse(content) as Record<string, unknown>;
18
- return {
19
- persona:
20
- typeof parsed['persona'] === 'string'
21
- ? parsed['persona']
22
- : '',
23
- };
24
- } catch {
25
- return { persona: '' };
26
- }
27
- }
@@ -1,36 +0,0 @@
1
- import type { McpPromptArgument } from '../typings/prompt-types.interface.ts';
2
-
3
- /**
4
- * Parses the `arguments` field from a skill's JSON content string.
5
- *
6
- * Returns the array of prompt argument definitions when the content
7
- * is valid JSON with an `arguments` array, or `undefined` when JSON
8
- * parsing fails or the field is absent.
9
- *
10
- * @param content - raw JSON string of the skill section content
11
- */
12
- export function parseSkillArguments(
13
- content: string,
14
- ): readonly McpPromptArgument[] | undefined {
15
- try {
16
- const parsed = JSON.parse(content) as Record<string, unknown>;
17
- if (!Array.isArray(parsed['arguments'])) {
18
- return undefined;
19
- }
20
- return (parsed['arguments'] as Record<string, unknown>[]).map(
21
- (arg) => ({
22
- name: typeof arg['name'] === 'string' ? arg['name'] : '',
23
- description:
24
- typeof arg['description'] === 'string'
25
- ? arg['description']
26
- : undefined,
27
- required:
28
- typeof arg['required'] === 'boolean'
29
- ? arg['required']
30
- : undefined,
31
- }),
32
- );
33
- } catch {
34
- return undefined;
35
- }
36
- }
@@ -1,38 +0,0 @@
1
- import type {
2
- SkillArgument,
3
- SkillDefinition,
4
- } from '../typings/skill-types.interface.ts';
5
-
6
- /**
7
- * Parses a JSON string into a `SkillDefinition`.
8
- *
9
- * Validates that the required `name` and `body` fields are present
10
- * and are non-empty strings, then returns the full definition
11
- * including optional `description` and `arguments`.
12
- *
13
- * @param json - JSON string representing a serialized skill
14
- * @returns the parsed skill definition
15
- * @throws {SyntaxError} when `json` is not valid JSON
16
- * @throws {Error} when `name` is missing or empty
17
- * @throws {Error} when `body` is missing or not a string
18
- */
19
- export function parseSkillContent(json: string): SkillDefinition {
20
- const raw = JSON.parse(json) as Record<string, unknown>;
21
- if (typeof raw['name'] !== 'string' || !raw['name']) {
22
- throw new Error('skill name is required');
23
- }
24
- if (typeof raw['body'] !== 'string') {
25
- throw new Error('skill body is required');
26
- }
27
- return {
28
- name: raw['name'],
29
- description:
30
- typeof raw['description'] === 'string'
31
- ? raw['description']
32
- : undefined,
33
- arguments: Array.isArray(raw['arguments'])
34
- ? (raw['arguments'] as SkillArgument[])
35
- : undefined,
36
- body: raw['body'],
37
- };
38
- }
@@ -1,41 +0,0 @@
1
- import type { McpWorkerClient } from '../typings/mcp-client.interface.ts';
2
-
3
- /**
4
- * Reads the metadata JSON stored in the first section of an agent
5
- * document and extracts `name`, `description`, and `persona`.
6
- *
7
- * Returns defaults when the section is absent or its content is
8
- * not parseable as JSON.
9
- *
10
- * @param client - the worker client used to read sections
11
- * @param metaKbid - kbid of the agent metadata section
12
- * @param fallbackName - name returned when `name` is absent from JSON
13
- */
14
- export async function readAgentMeta(
15
- client: McpWorkerClient,
16
- metaKbid: string,
17
- fallbackName: string,
18
- ): Promise<{ name: string; description: string; persona: string }> {
19
- const metaSections = await client.readSections([metaKbid]);
20
- const first = metaSections.at(0);
21
- if (!first) {
22
- return { name: fallbackName, description: '', persona: '' };
23
- }
24
- try {
25
- const meta = JSON.parse(first.content) as Record<string, unknown>;
26
- return {
27
- name:
28
- typeof meta['name'] === 'string'
29
- ? meta['name']
30
- : fallbackName,
31
- description:
32
- typeof meta['description'] === 'string'
33
- ? meta['description']
34
- : '',
35
- persona:
36
- typeof meta['persona'] === 'string' ? meta['persona'] : '',
37
- };
38
- } catch {
39
- return { name: fallbackName, description: '', persona: '' };
40
- }
41
- }
@@ -1,50 +0,0 @@
1
- import type { McpWorkerClient } from '../typings/mcp-client.interface.ts';
2
-
3
- /** A section reference within an agent document. */
4
- export interface AgentSectionRef {
5
- /** Knowledge-base identifier of the section. */
6
- readonly kbid: string;
7
- /** Zero-based position of the section within the document. */
8
- readonly position: number;
9
- }
10
-
11
- /**
12
- * Resolves skill names for a list of section references by reading
13
- * each section's JSON content and extracting the `name` field.
14
- *
15
- * Returns `name: null` for references where the section no longer
16
- * exists (dangling references) or whose content is not valid JSON.
17
- *
18
- * @param client - the worker client used to read sections
19
- * @param skillRefs - ordered list of section references to resolve
20
- */
21
- export async function resolveSkillRefs(
22
- client: McpWorkerClient,
23
- skillRefs: AgentSectionRef[],
24
- ): Promise<{ kbid: string; name: string | null; position: number }[]> {
25
- if (skillRefs.length === 0) return [];
26
- const skillKbids = skillRefs.map((s) => s.kbid);
27
- const skillSections = await client.readSections(skillKbids);
28
- const sectionMap = new Map(skillSections.map((s) => [s.kbid, s]));
29
- return skillRefs.map((ref) => {
30
- const sec = sectionMap.get(ref.kbid);
31
- if (!sec) {
32
- return { kbid: ref.kbid, name: null, position: ref.position };
33
- }
34
- try {
35
- const parsed = JSON.parse(sec.content) as Record<
36
- string,
37
- unknown
38
- >;
39
- const skillName =
40
- typeof parsed['name'] === 'string' ? parsed['name'] : null;
41
- return {
42
- kbid: ref.kbid,
43
- name: skillName,
44
- position: ref.position,
45
- };
46
- } catch {
47
- return { kbid: ref.kbid, name: null, position: ref.position };
48
- }
49
- });
50
- }
@@ -1,34 +0,0 @@
1
- import type { McpWorkerClient } from '../typings/mcp-client.interface.ts';
2
-
3
- /**
4
- * Runs an integrity check immediately after the MCP handshake
5
- * completes.
6
- *
7
- * Calls `notify` with a `notifications/message` warning when the
8
- * check detects issues so the connected agent is aware before making
9
- * requests. Errors from the check itself are swallowed -- the server
10
- * continues operating regardless.
11
- *
12
- * @param client - the worker client used to run the integrity check
13
- * @param notify - callback used to send notifications to the host
14
- */
15
- export async function runStartupHealthCheck(
16
- client: McpWorkerClient,
17
- notify: (method: string, params: Record<string, unknown>) => void,
18
- ): Promise<void> {
19
- try {
20
- const report = await client.integrityCheck();
21
- if (!report.ok) {
22
- const summary = report.errors
23
- .map((e) => `${e.type}: ${e.entity} -- ${e.detail}`)
24
- .join('; ');
25
- notify('notifications/message', {
26
- level: 'warning',
27
- logger: 'kbdb',
28
- data: `Database integrity issues detected: ${summary}`,
29
- });
30
- }
31
- } catch {
32
- // Health check failure is non-fatal -- server continues
33
- }
34
- }
@@ -1,12 +0,0 @@
1
- import type { SkillDefinition } from '../typings/skill-types.interface.ts';
2
-
3
- /**
4
- * Serializes a `SkillDefinition` to a JSON string suitable for
5
- * storage as a knowledge-base section's `content` field.
6
- *
7
- * @param skill - skill definition to serialize
8
- * @returns JSON string representation of the skill
9
- */
10
- export function serializeSkillContent(skill: SkillDefinition): string {
11
- return JSON.stringify(skill);
12
- }