@dikolab/kbdb 0.3.2 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (523) hide show
  1. package/README.md +92 -90
  2. package/dist/chunk-BJXEVALU.mjs +337 -0
  3. package/dist/chunk-BJXEVALU.mjs.map +7 -0
  4. package/dist/cli.cjs +1398 -378
  5. package/dist/cli.cjs.map +4 -4
  6. package/dist/cli.d.ts +9 -0
  7. package/dist/cli.mjs +1138 -342
  8. package/dist/cli.mjs.map +4 -4
  9. package/dist/kbdb-worker.cjs +1115 -135
  10. package/dist/kbdb-worker.cjs.map +4 -4
  11. package/dist/mod.cjs +351 -69
  12. package/dist/mod.cjs.map +4 -4
  13. package/dist/mod.d.ts +23 -2
  14. package/dist/mod.mjs +349 -68
  15. package/dist/mod.mjs.map +4 -4
  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 +22 -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/classes/tfidf-embedding-provider.class.d.ts +28 -0
  38. package/dist/src/shared/embedding/constants/tfidf-defaults.constant.d.ts +4 -0
  39. package/dist/src/shared/embedding/functions/append-vector-entry.function.d.ts +14 -0
  40. package/dist/src/shared/embedding/functions/create-embedding-provider.function.d.ts +15 -0
  41. package/dist/src/shared/embedding/functions/detect-stale-vectors.function.d.ts +16 -0
  42. package/dist/src/shared/embedding/functions/parse-api-embedding-response.function.d.ts +11 -0
  43. package/dist/src/shared/embedding/functions/rebuild-vectors.function.d.ts +15 -0
  44. package/dist/src/shared/embedding/functions/scan-semantic-contradictions.function.d.ts +13 -0
  45. package/dist/src/shared/embedding/index.d.ts +9 -0
  46. package/dist/src/shared/embedding/typings/semantic-contradiction.model.d.ts +21 -0
  47. package/dist/src/shared/embedding/typings/stale-vectors-report.model.d.ts +16 -0
  48. package/dist/src/shared/log/constants/log-colors.constant.d.ts +5 -0
  49. package/dist/src/shared/log/constants/log-defaults.constant.d.ts +3 -0
  50. package/dist/src/shared/log/constants/log-icons.constant.d.ts +3 -0
  51. package/dist/src/shared/log/functions/configure-log.function.d.ts +12 -0
  52. package/dist/src/shared/log/functions/log.function.d.ts +28 -0
  53. package/dist/src/shared/log/functions/parse-log-level.function.d.ts +10 -0
  54. package/dist/src/shared/log/functions/resolve-log-level.function.d.ts +12 -0
  55. package/dist/src/shared/log/functions/write-stderr.function.d.ts +10 -0
  56. package/dist/src/shared/log/index.d.ts +10 -0
  57. package/dist/src/shared/log/typings/log-config.interface.d.ts +7 -0
  58. package/dist/src/shared/log/typings/log-level.type.d.ts +7 -0
  59. package/dist/src/shared/log/typings/log-output.interface.d.ts +4 -0
  60. package/dist/src/shared/mcp/classes/mcp-server.class.d.ts +22 -2
  61. package/dist/src/shared/mcp/functions/create-mcp-server.function.d.ts +6 -1
  62. package/dist/src/shared/mcp/functions/has-sampling-capability.function.d.ts +8 -0
  63. package/dist/src/shared/mcp/functions/run-auto-capture.function.d.ts +26 -0
  64. package/dist/src/shared/mcp/typings/mcp-client.interface.d.ts +2 -0
  65. package/dist/src/shared/mcp/typings/mcp-integrity-check-result.model.d.ts +24 -0
  66. package/dist/src/shared/mcp/typings/mcp-worker-client.interface.d.ts +3 -1
  67. package/dist/src/shared/version/constants/version.constant.d.ts +1 -1
  68. package/dist/src/shared/wasm-codec/typings/paged-search-result.model.d.ts +2 -0
  69. package/dist/src/shared/worker-client/classes/worker-client.class.d.ts +38 -1
  70. package/dist/src/shared/worker-client/constants/request-timeout.constant.d.ts +2 -0
  71. package/dist/src/shared/worker-client/constants/retry-defaults.constant.d.ts +2 -0
  72. package/dist/src/shared/worker-client/functions/get-or-create-client.function.d.ts +20 -0
  73. package/dist/src/shared/worker-client/functions/retry-on-timeout.function.d.ts +18 -0
  74. package/dist/src/shared/worker-client/index.d.ts +4 -1
  75. package/dist/src/shared/worker-client/typings/import-result.model.d.ts +16 -0
  76. package/dist/src/shared/worker-client/typings/integrity-check-result.model.d.ts +24 -0
  77. package/dist/src/shared/worker-client/typings/search-params.model.d.ts +4 -0
  78. package/dist/src/shared/worker-client/typings/search-result.model.d.ts +6 -0
  79. package/dist/src/shared/worker-client/typings/worker-client-options.interface.d.ts +7 -0
  80. package/dist/src/shared/worker-daemon/classes/worker-daemon.class.d.ts +6 -0
  81. package/dist/src/shared/worker-daemon/functions/create-ipc-server.function.d.ts +11 -11
  82. package/dist/src/shared/worker-daemon/functions/embed-after-learn.function.d.ts +13 -0
  83. package/dist/src/shared/worker-daemon/functions/handle-hybrid-search.function.d.ts +44 -0
  84. package/dist/src/shared/worker-daemon/functions/handle-import.function.d.ts +14 -0
  85. package/dist/src/shared/worker-daemon/functions/handle-read-ops.function.d.ts +7 -1
  86. package/dist/src/shared/worker-daemon/functions/handle-write-ops.function.d.ts +9 -4
  87. package/dist/src/shared/worker-daemon/functions/run-worker.function.d.ts +6 -1
  88. package/dist/src/shared/worker-daemon/typings/handler-context.interface.d.ts +3 -0
  89. package/dist/src/shared/worker-daemon/typings/wasm-modules.interface.d.ts +5 -0
  90. package/dist/wasm/default-embedding/kbdb_default_embedding.d.ts +55 -0
  91. package/dist/wasm/default-embedding/kbdb_default_embedding.js +156 -0
  92. package/{src/wasm/query-parser/kbdb_query_parser_bg.wasm → dist/wasm/default-embedding/kbdb_default_embedding_bg.wasm} +0 -0
  93. package/dist/wasm/default-embedding/kbdb_default_embedding_bg.wasm.d.ts +12 -0
  94. package/dist/wasm/default-embedding/package.json +13 -0
  95. package/dist/wasm/fs-database/kbdb_fs_database.d.ts +16 -85
  96. package/dist/wasm/fs-database/kbdb_fs_database.js +16 -85
  97. package/dist/wasm/fs-database/kbdb_fs_database_bg.wasm +0 -0
  98. package/dist/wasm/fs-migration/kbdb_fs_migration.d.ts +38 -0
  99. package/dist/wasm/fs-migration/kbdb_fs_migration.js +130 -0
  100. package/dist/wasm/fs-migration/kbdb_fs_migration_bg.wasm +0 -0
  101. package/dist/wasm/fs-migration/kbdb_fs_migration_bg.wasm.d.ts +9 -0
  102. package/dist/wasm/fs-migration/package.json +13 -0
  103. package/dist/wasm/kb-worker/kbdb_worker.d.ts +20 -115
  104. package/dist/wasm/kb-worker/kbdb_worker.js +20 -115
  105. package/dist/wasm/kb-worker/kbdb_worker_bg.wasm +0 -0
  106. package/dist/wasm/query-parser/kbdb_query_parser_bg.wasm +0 -0
  107. package/dist/worker.d.ts +8 -0
  108. package/dist/worker.mjs +899 -143
  109. package/dist/worker.mjs.map +4 -4
  110. package/docs/details/README.md +4 -0
  111. package/docs/details/agent-tooling.md +132 -0
  112. package/docs/details/cli.md +91 -18
  113. package/docs/details/knowledge-base.md +180 -0
  114. package/docs/details/library-api.md +42 -2
  115. package/docs/details/mcp-server.md +53 -7
  116. package/docs/details/search-and-ranking.md +16 -11
  117. package/docs/goals/cli.md +142 -37
  118. package/docs/goals/content-parser.md +1 -1
  119. package/docs/goals/hybrid-search.md +71 -42
  120. package/docs/goals/mcp.md +24 -19
  121. package/docs/goals/overview.md +1 -1
  122. package/docs/goals/query-parser.md +8 -0
  123. package/docs/goals/semantic-dedup.md +7 -3
  124. package/docs/goals/worker-client.md +62 -1
  125. package/docs/goals/worker-daemon.md +83 -30
  126. package/docs/modules/overview.md +43 -22
  127. package/docs/modules/rust/embedding/module.md +91 -0
  128. package/docs/modules/rust/overview.md +56 -21
  129. package/docs/modules/rust/query-parser/functions/module.md +7 -5
  130. package/docs/modules/rust/query-parser/functions/pipeline.md +6 -138
  131. package/docs/modules/rust/query-parser/module.md +16 -22
  132. package/docs/modules/rust/query-parser/types/module.md +5 -4
  133. package/docs/modules/rust/query-parser/types/token.md +5 -1
  134. package/docs/modules/rust/shared/content-parser/functions.md +1 -1
  135. package/docs/modules/rust/shared/memory/module.md +1 -1
  136. package/docs/modules/rust/shared/module.md +33 -5
  137. package/docs/modules/rust/shared/pipeline/functions.md +141 -0
  138. package/docs/modules/rust/shared/pipeline/module.md +62 -0
  139. package/docs/modules/rust/shared/pipeline/types.md +43 -0
  140. package/docs/modules/rust/shared/section/module.md +1 -1
  141. package/docs/modules/rust/shared/section/types.md +1 -1
  142. package/docs/modules/typescript/cli.md +5 -3
  143. package/docs/modules/typescript/kbdb-worker.md +20 -5
  144. package/docs/modules/typescript/overview.md +28 -6
  145. package/docs/modules/typescript/shared/cli/functions.md +131 -17
  146. package/docs/modules/typescript/shared/cli/module.md +33 -20
  147. package/docs/modules/typescript/shared/cli/typings.md +25 -0
  148. package/docs/modules/typescript/shared/embedding/functions.md +125 -19
  149. package/docs/modules/typescript/shared/embedding/module.md +10 -4
  150. package/docs/modules/typescript/shared/embedding/typings.md +7 -5
  151. package/docs/modules/typescript/shared/log/constants.md +82 -0
  152. package/docs/modules/typescript/shared/log/functions.md +131 -0
  153. package/docs/modules/typescript/shared/log/module.md +153 -0
  154. package/docs/modules/typescript/shared/log/typings.md +82 -0
  155. package/docs/modules/typescript/shared/mcp/module.md +1 -1
  156. package/docs/modules/typescript/shared/mcp/typings.md +8 -1
  157. package/docs/modules/typescript/shared/module.md +22 -6
  158. package/docs/modules/typescript/shared/worker-client/module.md +9 -1
  159. package/docs/modules/typescript/shared/worker-client/typings.md +3 -0
  160. package/docs/modules/typescript/shared/worker-daemon/functions.md +19 -6
  161. package/docs/modules/typescript/shared/worker-daemon/module.md +11 -5
  162. package/docs/modules/typescript/shared/worker-daemon/typings.md +13 -7
  163. package/docs/overview.md +1 -2
  164. package/docs/release-notes/0.4.0.md +80 -0
  165. package/docs/release-notes/0.4.1.md +149 -0
  166. package/docs/release-notes/README.md +1 -0
  167. package/mod.ts +33 -15
  168. package/package.json +12 -11
  169. package/dist/chunk-JG2UCKLI.mjs +0 -95
  170. package/dist/chunk-JG2UCKLI.mjs.map +0 -7
  171. package/src/cli.ts +0 -71
  172. package/src/shared/auto-capture/classes/auto-capture-controller.class.ts +0 -62
  173. package/src/shared/auto-capture/constants/auto-capture-defaults.constant.ts +0 -15
  174. package/src/shared/auto-capture/functions/build-capture-prompt.function.ts +0 -27
  175. package/src/shared/auto-capture/functions/evaluate-trigger.function.ts +0 -50
  176. package/src/shared/auto-capture/index.ts +0 -7
  177. package/src/shared/auto-capture/typings/auto-capture-config.interface.ts +0 -13
  178. package/src/shared/auto-capture/typings/auto-capture-state.interface.ts +0 -13
  179. package/src/shared/auto-capture/typings/auto-capture-trigger.interface.ts +0 -7
  180. package/src/shared/cli/constants/defaults.constant.ts +0 -19
  181. package/src/shared/cli/constants/global-help.constant.ts +0 -73
  182. package/src/shared/cli/constants/help-text.constant.ts +0 -4
  183. package/src/shared/cli/constants/leaf-help.constant.ts +0 -219
  184. package/src/shared/cli/constants/memory-protocol-body.constant.ts +0 -39
  185. package/src/shared/cli/constants/query-guidance-body.constant.ts +0 -37
  186. package/src/shared/cli/constants/subcommand-help.constant.ts +0 -195
  187. package/src/shared/cli/functions/collect-files.function.ts +0 -55
  188. package/src/shared/cli/functions/compute-section-kbid.function.ts +0 -49
  189. package/src/shared/cli/functions/dispatch-command.function.ts +0 -390
  190. package/src/shared/cli/functions/ensure-db.function.ts +0 -21
  191. package/src/shared/cli/functions/error-to-message.function.ts +0 -9
  192. package/src/shared/cli/functions/find-db.function.ts +0 -20
  193. package/src/shared/cli/functions/format-mcp-output.function.ts +0 -41
  194. package/src/shared/cli/functions/format-output.function.ts +0 -95
  195. package/src/shared/cli/functions/format-text-output.function.ts +0 -42
  196. package/src/shared/cli/functions/generate-group-help.function.ts +0 -41
  197. package/src/shared/cli/functions/generate-help.function.ts +0 -654
  198. package/src/shared/cli/functions/handle-data-command.function.ts +0 -67
  199. package/src/shared/cli/functions/handle-mcp.function.ts +0 -56
  200. package/src/shared/cli/functions/handle-migrate.function.ts +0 -64
  201. package/src/shared/cli/functions/hydrate-search-previews.function.ts +0 -29
  202. package/src/shared/cli/functions/install-default-skills.function.ts +0 -296
  203. package/src/shared/cli/functions/is-stdin-tty.function.ts +0 -12
  204. package/src/shared/cli/functions/parse-args.function.ts +0 -156
  205. package/src/shared/cli/functions/prompt-user.function.ts +0 -36
  206. package/src/shared/cli/functions/resolve-skill-names.function.ts +0 -43
  207. package/src/shared/cli/functions/run-agent-create.function.ts +0 -114
  208. package/src/shared/cli/functions/run-agent-delete.function.ts +0 -47
  209. package/src/shared/cli/functions/run-agent-get.function.ts +0 -166
  210. package/src/shared/cli/functions/run-agent-list.function.ts +0 -58
  211. package/src/shared/cli/functions/run-check.function.ts +0 -159
  212. package/src/shared/cli/functions/run-cli.function.ts +0 -299
  213. package/src/shared/cli/functions/run-content.function.ts +0 -47
  214. package/src/shared/cli/functions/run-db-init.function.ts +0 -44
  215. package/src/shared/cli/functions/run-db-migrate.function.ts +0 -40
  216. package/src/shared/cli/functions/run-export.function.ts +0 -40
  217. package/src/shared/cli/functions/run-gc.function.ts +0 -51
  218. package/src/shared/cli/functions/run-init.function.ts +0 -93
  219. package/src/shared/cli/functions/run-learn.function.ts +0 -223
  220. package/src/shared/cli/functions/run-migrate.function.ts +0 -85
  221. package/src/shared/cli/functions/run-rebuild.function.ts +0 -47
  222. package/src/shared/cli/functions/run-recall.function.ts +0 -66
  223. package/src/shared/cli/functions/run-search.function.ts +0 -133
  224. package/src/shared/cli/functions/run-skill-delete.function.ts +0 -47
  225. package/src/shared/cli/functions/run-skill-get.function.ts +0 -90
  226. package/src/shared/cli/functions/run-skill-learn.function.ts +0 -70
  227. package/src/shared/cli/functions/run-skill-list.function.ts +0 -74
  228. package/src/shared/cli/functions/run-status.function.ts +0 -29
  229. package/src/shared/cli/functions/run-unlearn.function.ts +0 -58
  230. package/src/shared/cli/functions/version-gate.function.ts +0 -44
  231. package/src/shared/cli/functions/wrap-command.function.ts +0 -34
  232. package/src/shared/cli/index.ts +0 -55
  233. package/src/shared/cli/typings/agent-create-client.interface.ts +0 -47
  234. package/src/shared/cli/typings/agent-get-client.interface.ts +0 -39
  235. package/src/shared/cli/typings/check-client.interface.ts +0 -66
  236. package/src/shared/cli/typings/cli-deps.interface.ts +0 -54
  237. package/src/shared/cli/typings/cli-options.interface.ts +0 -72
  238. package/src/shared/cli/typings/command-result.model.ts +0 -15
  239. package/src/shared/cli/typings/disconnectable-client.interface.ts +0 -29
  240. package/src/shared/cli/typings/dispatch-client.type.ts +0 -46
  241. package/src/shared/cli/typings/learn-client.interface.ts +0 -53
  242. package/src/shared/cli/typings/learn-io.interface.ts +0 -5
  243. package/src/shared/cli/typings/learn-result.model.ts +0 -27
  244. package/src/shared/cli/typings/search-client.interface.ts +0 -73
  245. package/src/shared/cli/typings/search-display.model.ts +0 -54
  246. package/src/shared/dir-resolver/functions/join-path.function.ts +0 -13
  247. package/src/shared/dir-resolver/functions/resolve-base-dir.function.ts +0 -25
  248. package/src/shared/dir-resolver/functions/resolve-wasm-dir.function.ts +0 -5
  249. package/src/shared/dir-resolver/functions/resolve-worker-script.function.ts +0 -13
  250. package/src/shared/dir-resolver/index.ts +0 -11
  251. package/src/shared/dir-resolver/typings/base-dir.interface.ts +0 -4
  252. package/src/shared/embedding/classes/null-embedding-provider.class.ts +0 -29
  253. package/src/shared/embedding/constants/near-duplicate-thresholds.constant.ts +0 -17
  254. package/src/shared/embedding/functions/build-vector-index.function.ts +0 -79
  255. package/src/shared/embedding/functions/cosine-similarity.function.ts +0 -31
  256. package/src/shared/embedding/functions/detect-near-duplicates.function.ts +0 -69
  257. package/src/shared/embedding/functions/jaccard-coefficient.function.ts +0 -26
  258. package/src/shared/embedding/functions/read-vector-index-meta.function.ts +0 -44
  259. package/src/shared/embedding/functions/rrf-fuse.function.ts +0 -33
  260. package/src/shared/embedding/functions/search-vectors.function.ts +0 -59
  261. package/src/shared/embedding/index.ts +0 -20
  262. package/src/shared/embedding/typings/embedding-config.interface.ts +0 -23
  263. package/src/shared/embedding/typings/embedding-provider.interface.ts +0 -25
  264. package/src/shared/embedding/typings/near-duplicate-candidate.model.ts +0 -25
  265. package/src/shared/embedding/typings/near-duplicate-result.model.ts +0 -26
  266. package/src/shared/embedding/typings/vector-index-entry.model.ts +0 -13
  267. package/src/shared/embedding/typings/vector-index-meta.model.ts +0 -14
  268. package/src/shared/embedding/typings/vector-search-result.model.ts +0 -8
  269. package/src/shared/hash/functions/compute-sha256.ts +0 -17
  270. package/src/shared/hash/index.ts +0 -1
  271. package/src/shared/mcp/classes/mcp-server.class.ts +0 -480
  272. package/src/shared/mcp/constants/mcp-error-codes.constant.ts +0 -30
  273. package/src/shared/mcp/constants/tool-agent-create.constant.ts +0 -39
  274. package/src/shared/mcp/constants/tool-agent-delete.constant.ts +0 -26
  275. package/src/shared/mcp/constants/tool-agent-get.constant.ts +0 -24
  276. package/src/shared/mcp/constants/tool-agent-list.constant.ts +0 -18
  277. package/src/shared/mcp/constants/tool-auto-capture-review.constant.ts +0 -32
  278. package/src/shared/mcp/constants/tool-check.constant.ts +0 -21
  279. package/src/shared/mcp/constants/tool-content.constant.ts +0 -29
  280. package/src/shared/mcp/constants/tool-export.constant.ts +0 -27
  281. package/src/shared/mcp/constants/tool-gc.constant.ts +0 -21
  282. package/src/shared/mcp/constants/tool-learn.constant.ts +0 -58
  283. package/src/shared/mcp/constants/tool-rebuild.constant.ts +0 -21
  284. package/src/shared/mcp/constants/tool-recall.constant.ts +0 -36
  285. package/src/shared/mcp/constants/tool-retrieve.constant.ts +0 -31
  286. package/src/shared/mcp/constants/tool-search.constant.ts +0 -51
  287. package/src/shared/mcp/constants/tool-skill-delete.constant.ts +0 -24
  288. package/src/shared/mcp/constants/tool-skill-get.constant.ts +0 -27
  289. package/src/shared/mcp/constants/tool-skill-learn.constant.ts +0 -37
  290. package/src/shared/mcp/constants/tool-skill-list.constant.ts +0 -18
  291. package/src/shared/mcp/constants/tool-status.constant.ts +0 -20
  292. package/src/shared/mcp/constants/tool-unlearn.constant.ts +0 -25
  293. package/src/shared/mcp/functions/as-boolean-or-undefined.function.ts +0 -11
  294. package/src/shared/mcp/functions/as-string-array-or-undefined.function.ts +0 -17
  295. package/src/shared/mcp/functions/as-string-array.function.ts +0 -15
  296. package/src/shared/mcp/functions/as-string.function.ts +0 -10
  297. package/src/shared/mcp/functions/build-skills-text.function.ts +0 -43
  298. package/src/shared/mcp/functions/create-mcp-server.function.ts +0 -14
  299. package/src/shared/mcp/functions/create-prompt-definitions.function.ts +0 -102
  300. package/src/shared/mcp/functions/create-resource-templates.function.ts +0 -23
  301. package/src/shared/mcp/functions/create-tool-definitions.function.ts +0 -530
  302. package/src/shared/mcp/functions/extract-skill-arguments.function.ts +0 -27
  303. package/src/shared/mcp/functions/handle-agent-create.function.ts +0 -116
  304. package/src/shared/mcp/functions/handle-agent-delete.function.ts +0 -50
  305. package/src/shared/mcp/functions/handle-agent-get.function.ts +0 -160
  306. package/src/shared/mcp/functions/handle-agent-list.function.ts +0 -50
  307. package/src/shared/mcp/functions/handle-agent-prompt.function.ts +0 -68
  308. package/src/shared/mcp/functions/handle-completion.function.ts +0 -114
  309. package/src/shared/mcp/functions/handle-mcp-request.function.ts +0 -202
  310. package/src/shared/mcp/functions/handle-prompt-get.function.ts +0 -220
  311. package/src/shared/mcp/functions/handle-recall.function.ts +0 -66
  312. package/src/shared/mcp/functions/handle-resource-read.function.ts +0 -56
  313. package/src/shared/mcp/functions/handle-roots-list.function.ts +0 -29
  314. package/src/shared/mcp/functions/handle-skill-prompt.function.ts +0 -44
  315. package/src/shared/mcp/functions/handle-tool-auto-capture-review.function.ts +0 -24
  316. package/src/shared/mcp/functions/handle-tool-call.function.ts +0 -560
  317. package/src/shared/mcp/functions/handle-tool-check.function.ts +0 -21
  318. package/src/shared/mcp/functions/handle-tool-content.function.ts +0 -23
  319. package/src/shared/mcp/functions/handle-tool-export.function.ts +0 -25
  320. package/src/shared/mcp/functions/handle-tool-gc.function.ts +0 -21
  321. package/src/shared/mcp/functions/handle-tool-learn.function.ts +0 -69
  322. package/src/shared/mcp/functions/handle-tool-rebuild.function.ts +0 -21
  323. package/src/shared/mcp/functions/handle-tool-retrieve.function.ts +0 -40
  324. package/src/shared/mcp/functions/handle-tool-search.function.ts +0 -47
  325. package/src/shared/mcp/functions/handle-tool-skill-delete.function.ts +0 -34
  326. package/src/shared/mcp/functions/handle-tool-skill-get.function.ts +0 -59
  327. package/src/shared/mcp/functions/handle-tool-skill-learn.function.ts +0 -61
  328. package/src/shared/mcp/functions/handle-tool-skill-list.function.ts +0 -39
  329. package/src/shared/mcp/functions/handle-tool-status.function.ts +0 -21
  330. package/src/shared/mcp/functions/handle-tool-unlearn.function.ts +0 -24
  331. package/src/shared/mcp/functions/parse-agent-meta.function.ts +0 -27
  332. package/src/shared/mcp/functions/parse-skill-arguments.function.ts +0 -36
  333. package/src/shared/mcp/functions/parse-skill-content.function.ts +0 -38
  334. package/src/shared/mcp/functions/read-agent-meta.function.ts +0 -41
  335. package/src/shared/mcp/functions/resolve-skill-refs.function.ts +0 -50
  336. package/src/shared/mcp/functions/run-startup-health-check.function.ts +0 -34
  337. package/src/shared/mcp/functions/serialize-skill-content.function.ts +0 -12
  338. package/src/shared/mcp/functions/should-emit-log.function.ts +0 -38
  339. package/src/shared/mcp/index.ts +0 -28
  340. package/src/shared/mcp/typings/agent-types.interface.ts +0 -39
  341. package/src/shared/mcp/typings/log-types.interface.ts +0 -26
  342. package/src/shared/mcp/typings/mcp-capabilities.interface.ts +0 -16
  343. package/src/shared/mcp/typings/mcp-client.interface.ts +0 -317
  344. package/src/shared/mcp/typings/mcp-completion.interface.ts +0 -45
  345. package/src/shared/mcp/typings/mcp-content-result.model.ts +0 -9
  346. package/src/shared/mcp/typings/mcp-export-result.model.ts +0 -11
  347. package/src/shared/mcp/typings/mcp-gc-result.model.ts +0 -15
  348. package/src/shared/mcp/typings/mcp-integrity-check-result.model.ts +0 -17
  349. package/src/shared/mcp/typings/mcp-integrity-error.model.ts +0 -15
  350. package/src/shared/mcp/typings/mcp-notification.interface.ts +0 -9
  351. package/src/shared/mcp/typings/mcp-rebuild-result.model.ts +0 -9
  352. package/src/shared/mcp/typings/mcp-request.interface.ts +0 -11
  353. package/src/shared/mcp/typings/mcp-resource-result.interface.ts +0 -12
  354. package/src/shared/mcp/typings/mcp-resource-template.interface.ts +0 -11
  355. package/src/shared/mcp/typings/mcp-response.interface.ts +0 -18
  356. package/src/shared/mcp/typings/mcp-server-info.interface.ts +0 -7
  357. package/src/shared/mcp/typings/mcp-server-state.interface.ts +0 -17
  358. package/src/shared/mcp/typings/mcp-tool-annotations.interface.ts +0 -32
  359. package/src/shared/mcp/typings/mcp-tool-definition.interface.ts +0 -16
  360. package/src/shared/mcp/typings/mcp-tool-result.interface.ts +0 -19
  361. package/src/shared/mcp/typings/mcp-types.interface.ts +0 -158
  362. package/src/shared/mcp/typings/mcp-worker-client.interface.ts +0 -243
  363. package/src/shared/mcp/typings/prompt-types.interface.ts +0 -39
  364. package/src/shared/mcp/typings/remove-section-result.model.ts +0 -10
  365. package/src/shared/mcp/typings/sampling-types.interface.ts +0 -48
  366. package/src/shared/mcp/typings/skill-types.interface.ts +0 -29
  367. package/src/shared/mcp/typings/tool-call-result.model.ts +0 -18
  368. package/src/shared/mod.ts +0 -1
  369. package/src/shared/platform/functions/get-ipc-path.function.ts +0 -19
  370. package/src/shared/platform/functions/get-tmpdir.function.ts +0 -8
  371. package/src/shared/platform/functions/is-process-alive.function.ts +0 -17
  372. package/src/shared/platform/index.ts +0 -3
  373. package/src/shared/runtime/functions/detect-runtime.ts +0 -14
  374. package/src/shared/runtime/functions/get-args.ts +0 -16
  375. package/src/shared/runtime/index.ts +0 -3
  376. package/src/shared/runtime/typings/runtime.ts +0 -2
  377. package/src/shared/sync/functions/build-import-report.function.ts +0 -40
  378. package/src/shared/sync/functions/parse-export-entry.function.ts +0 -45
  379. package/src/shared/sync/functions/resolve-conflict.function.ts +0 -31
  380. package/src/shared/sync/functions/serialize-export-entry.function.ts +0 -18
  381. package/src/shared/sync/index.ts +0 -9
  382. package/src/shared/sync/typings/conflict-resolution.type.ts +0 -8
  383. package/src/shared/sync/typings/export-entry.interface.ts +0 -13
  384. package/src/shared/sync/typings/export-options.interface.ts +0 -9
  385. package/src/shared/sync/typings/import-options.interface.ts +0 -7
  386. package/src/shared/sync/typings/import-report.interface.ts +0 -15
  387. package/src/shared/version/constants/version.constant.ts +0 -2
  388. package/src/shared/version/index.ts +0 -1
  389. package/src/shared/wasm-codec/functions/decode-add-section-result.function.ts +0 -112
  390. package/src/shared/wasm-codec/functions/decode-compose-output.function.ts +0 -16
  391. package/src/shared/wasm-codec/functions/decode-document-manifest-list.function.ts +0 -70
  392. package/src/shared/wasm-codec/functions/decode-document-manifest.function.ts +0 -87
  393. package/src/shared/wasm-codec/functions/decode-f32.function.ts +0 -16
  394. package/src/shared/wasm-codec/functions/decode-key-value-text.function.ts +0 -15
  395. package/src/shared/wasm-codec/functions/decode-one-recall-result.function.ts +0 -86
  396. package/src/shared/wasm-codec/functions/decode-option-string.function.ts +0 -24
  397. package/src/shared/wasm-codec/functions/decode-recall-document.function.ts +0 -59
  398. package/src/shared/wasm-codec/functions/decode-recall-reference.function.ts +0 -52
  399. package/src/shared/wasm-codec/functions/decode-recall-result.function.ts +0 -267
  400. package/src/shared/wasm-codec/functions/decode-recall-sibling.function.ts +0 -43
  401. package/src/shared/wasm-codec/functions/decode-remove-flag.function.ts +0 -3
  402. package/src/shared/wasm-codec/functions/decode-scored-results.function.ts +0 -194
  403. package/src/shared/wasm-codec/functions/decode-section-match.function.ts +0 -80
  404. package/src/shared/wasm-codec/functions/decode-section-record-list.function.ts +0 -20
  405. package/src/shared/wasm-codec/functions/decode-section-record-trailing.function.ts +0 -75
  406. package/src/shared/wasm-codec/functions/decode-section-record.function.ts +0 -85
  407. package/src/shared/wasm-codec/functions/decode-section-records.function.ts +0 -249
  408. package/src/shared/wasm-codec/functions/decode-section-type.function.ts +0 -30
  409. package/src/shared/wasm-codec/functions/decode-string.function.ts +0 -22
  410. package/src/shared/wasm-codec/functions/decode-u32.function.ts +0 -16
  411. package/src/shared/wasm-codec/functions/decode-u64.function.ts +0 -16
  412. package/src/shared/wasm-codec/functions/decode-wasm-list.function.ts +0 -31
  413. package/src/shared/wasm-codec/functions/encode-add-section-params.function.ts +0 -102
  414. package/src/shared/wasm-codec/functions/encode-group-params.function.ts +0 -28
  415. package/src/shared/wasm-codec/functions/encode-identifier-list.function.ts +0 -17
  416. package/src/shared/wasm-codec/functions/encode-kbid-list.function.ts +0 -17
  417. package/src/shared/wasm-codec/functions/encode-option-string.function.ts +0 -14
  418. package/src/shared/wasm-codec/functions/encode-recall-params.function.ts +0 -68
  419. package/src/shared/wasm-codec/functions/encode-search-params.function.ts +0 -12
  420. package/src/shared/wasm-codec/functions/encode-section-type.function.ts +0 -18
  421. package/src/shared/wasm-codec/functions/encode-string.function.ts +0 -9
  422. package/src/shared/wasm-codec/functions/encode-type-filter-param.function.ts +0 -13
  423. package/src/shared/wasm-codec/functions/encode-u32.function.ts +0 -5
  424. package/src/shared/wasm-codec/functions/encode-update-section-params.function.ts +0 -16
  425. package/src/shared/wasm-codec/index.ts +0 -49
  426. package/src/shared/wasm-codec/typings/add-section-input.model.ts +0 -45
  427. package/src/shared/wasm-codec/typings/add-section-result.model.ts +0 -28
  428. package/src/shared/wasm-codec/typings/document-manifest.model.ts +0 -20
  429. package/src/shared/wasm-codec/typings/document-section.model.ts +0 -12
  430. package/src/shared/wasm-codec/typings/item-decoder.type.ts +0 -10
  431. package/src/shared/wasm-codec/typings/near-duplicate.model.ts +0 -16
  432. package/src/shared/wasm-codec/typings/paged-search-result.model.ts +0 -22
  433. package/src/shared/wasm-codec/typings/section-match.model.ts +0 -31
  434. package/src/shared/wasm-codec/typings/section-record-trailing.model.ts +0 -38
  435. package/src/shared/wasm-codec/typings/section-record.model.ts +0 -66
  436. package/src/shared/wasm-codec/typings/section-type-result.model.ts +0 -12
  437. package/src/shared/worker-client/classes/worker-client.class.ts +0 -466
  438. package/src/shared/worker-client/functions/compute-context-id.function.ts +0 -18
  439. package/src/shared/worker-client/functions/create-worker-client.function.ts +0 -70
  440. package/src/shared/worker-client/functions/discover-daemon.function.ts +0 -47
  441. package/src/shared/worker-client/functions/handle-ipc-data.function.ts +0 -49
  442. package/src/shared/worker-client/functions/resolve-db-path.function.ts +0 -21
  443. package/src/shared/worker-client/functions/send-ipc-request.function.ts +0 -39
  444. package/src/shared/worker-client/functions/spawn-daemon.function.ts +0 -35
  445. package/src/shared/worker-client/functions/wait-for-daemon.function.ts +0 -34
  446. package/src/shared/worker-client/index.ts +0 -44
  447. package/src/shared/worker-client/typings/add-section-result.model.ts +0 -39
  448. package/src/shared/worker-client/typings/content-result.model.ts +0 -12
  449. package/src/shared/worker-client/typings/daemon-info.model.ts +0 -7
  450. package/src/shared/worker-client/typings/export-result.model.ts +0 -14
  451. package/src/shared/worker-client/typings/gc-result.model.ts +0 -18
  452. package/src/shared/worker-client/typings/integrity-check-result.model.ts +0 -43
  453. package/src/shared/worker-client/typings/json-rpc-response.interface.ts +0 -17
  454. package/src/shared/worker-client/typings/migrate-result.model.ts +0 -11
  455. package/src/shared/worker-client/typings/pending-call.interface.ts +0 -7
  456. package/src/shared/worker-client/typings/rebuild-result.model.ts +0 -12
  457. package/src/shared/worker-client/typings/recall-document.model.ts +0 -16
  458. package/src/shared/worker-client/typings/recall-params.model.ts +0 -15
  459. package/src/shared/worker-client/typings/recall-reference.model.ts +0 -32
  460. package/src/shared/worker-client/typings/recall-result.model.ts +0 -98
  461. package/src/shared/worker-client/typings/recall-sibling.model.ts +0 -11
  462. package/src/shared/worker-client/typings/recall-single-result.model.ts +0 -41
  463. package/src/shared/worker-client/typings/remove-section-result.model.ts +0 -7
  464. package/src/shared/worker-client/typings/search-params.model.ts +0 -14
  465. package/src/shared/worker-client/typings/search-result.model.ts +0 -43
  466. package/src/shared/worker-client/typings/section.model.ts +0 -43
  467. package/src/shared/worker-client/typings/status-result.model.ts +0 -14
  468. package/src/shared/worker-client/typings/version-status.model.ts +0 -28
  469. package/src/shared/worker-client/typings/worker-client-error.interface.ts +0 -8
  470. package/src/shared/worker-client/typings/worker-client-options.interface.ts +0 -30
  471. package/src/shared/worker-daemon/classes/ipc-error.class.ts +0 -22
  472. package/src/shared/worker-daemon/classes/worker-daemon.class.ts +0 -1291
  473. package/src/shared/worker-daemon/constants/daemon-defaults.constant.ts +0 -29
  474. package/src/shared/worker-daemon/constants/wasm-method-map.constant.ts +0 -69
  475. package/src/shared/worker-daemon/functions/build-ipc-error-response.function.ts +0 -16
  476. package/src/shared/worker-daemon/functions/check-catalog-version.function.ts +0 -54
  477. package/src/shared/worker-daemon/functions/check-preconditions.function.ts +0 -28
  478. package/src/shared/worker-daemon/functions/create-host-imports.function.ts +0 -328
  479. package/src/shared/worker-daemon/functions/create-ipc-server.function.ts +0 -87
  480. package/src/shared/worker-daemon/functions/detect-stale-pid.function.ts +0 -33
  481. package/src/shared/worker-daemon/functions/dispatch-request.function.ts +0 -190
  482. package/src/shared/worker-daemon/functions/handle-check-version.function.ts +0 -74
  483. package/src/shared/worker-daemon/functions/handle-config-method.function.ts +0 -27
  484. package/src/shared/worker-daemon/functions/handle-read-ops.function.ts +0 -236
  485. package/src/shared/worker-daemon/functions/handle-write-ops.function.ts +0 -257
  486. package/src/shared/worker-daemon/functions/load-wasm-modules.function.ts +0 -95
  487. package/src/shared/worker-daemon/functions/parse-auto-capture-section.function.ts +0 -51
  488. package/src/shared/worker-daemon/functions/parse-catalog-version.function.ts +0 -20
  489. package/src/shared/worker-daemon/functions/parse-embedding-section.function.ts +0 -38
  490. package/src/shared/worker-daemon/functions/parse-worker-toml.function.ts +0 -104
  491. package/src/shared/worker-daemon/functions/read-config.function.ts +0 -83
  492. package/src/shared/worker-daemon/functions/run-startup-integrity-check.function.ts +0 -55
  493. package/src/shared/worker-daemon/functions/run-worker.function.ts +0 -57
  494. package/src/shared/worker-daemon/functions/scan-near-duplicates.function.ts +0 -92
  495. package/src/shared/worker-daemon/functions/start-daemon.function.ts +0 -74
  496. package/src/shared/worker-daemon/functions/wasm-bridge.function.ts +0 -144
  497. package/src/shared/worker-daemon/functions/wasm-memory-helpers.function.ts +0 -41
  498. package/src/shared/worker-daemon/functions/write-lock.function.ts +0 -49
  499. package/src/shared/worker-daemon/index.ts +0 -16
  500. package/src/shared/worker-daemon/typings/allocator-ref.interface.ts +0 -16
  501. package/src/shared/worker-daemon/typings/daemon-config.interface.ts +0 -20
  502. package/src/shared/worker-daemon/typings/fs-adapter.interface.ts +0 -22
  503. package/src/shared/worker-daemon/typings/handler-context.interface.ts +0 -19
  504. package/src/shared/worker-daemon/typings/ipc-handler.interface.ts +0 -39
  505. package/src/shared/worker-daemon/typings/memory-ref.interface.ts +0 -13
  506. package/src/shared/worker-daemon/typings/wasm-fn.type.ts +0 -2
  507. package/src/shared/worker-daemon/typings/wasm-modules.interface.ts +0 -7
  508. package/src/shared/worker-daemon/typings/write-lock.interface.ts +0 -13
  509. package/src/wasm/fs-database/kbdb_fs_database.d.ts +0 -259
  510. package/src/wasm/fs-database/kbdb_fs_database.js +0 -515
  511. package/src/wasm/fs-database/kbdb_fs_database_bg.wasm +0 -0
  512. package/src/wasm/fs-database/kbdb_fs_database_bg.wasm.d.ts +0 -35
  513. package/src/wasm/fs-database/package.json +0 -13
  514. package/src/wasm/kb-worker/kbdb_worker.d.ts +0 -650
  515. package/src/wasm/kb-worker/kbdb_worker.js +0 -1181
  516. package/src/wasm/kb-worker/kbdb_worker_bg.wasm +0 -0
  517. package/src/wasm/kb-worker/kbdb_worker_bg.wasm.d.ts +0 -77
  518. package/src/wasm/kb-worker/package.json +0 -13
  519. package/src/wasm/query-parser/kbdb_query_parser.d.ts +0 -195
  520. package/src/wasm/query-parser/kbdb_query_parser.js +0 -403
  521. package/src/wasm/query-parser/kbdb_query_parser_bg.wasm.d.ts +0 -25
  522. package/src/wasm/query-parser/package.json +0 -13
  523. 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
- }