@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,55 +0,0 @@
1
- import { readdirSync, statSync } from 'node:fs';
2
- import { basename, extname, join } from 'node:path';
3
- import { SUPPORTED_EXTENSIONS } from '../constants/defaults.constant.ts';
4
-
5
- /**
6
- * Resolves a single target path to a flat list of supported files.
7
- *
8
- * When `target` is a file, returns it wrapped in an array if its
9
- * extension is in `SUPPORTED_EXTENSIONS` and it is not a dotfile;
10
- * otherwise returns `[]`. When `target` is a directory, recursively
11
- * collects all matching files, skipping dot-entries at every level.
12
- * Returns `[]` for non-existent or inaccessible paths.
13
- *
14
- * @param target - file or directory path to resolve
15
- * @returns flat array of absolute or relative paths to supported files
16
- */
17
- export function collectFiles(target: string): string[] {
18
- try {
19
- const stat = statSync(target);
20
- if (stat.isFile()) {
21
- return isSupportedFile(target) ? [target] : [];
22
- }
23
- if (stat.isDirectory()) {
24
- return scanDirectory(target);
25
- }
26
- } catch {
27
- // Non-existent or inaccessible path -- skip
28
- }
29
- return [];
30
- }
31
-
32
- function scanDirectory(dir: string): string[] {
33
- const files: string[] = [];
34
- for (const entry of readdirSync(dir)) {
35
- if (entry.startsWith('.')) continue;
36
- const full = join(dir, entry);
37
- try {
38
- const stat = statSync(full);
39
- if (stat.isDirectory()) {
40
- files.push(...scanDirectory(full));
41
- } else if (isSupportedFile(full)) {
42
- files.push(full);
43
- }
44
- } catch {
45
- // Skip inaccessible entries
46
- }
47
- }
48
- return files;
49
- }
50
-
51
- function isSupportedFile(path: string): boolean {
52
- if (basename(path).startsWith('.')) return false;
53
- const ext = extname(path).toLowerCase();
54
- return (SUPPORTED_EXTENSIONS as readonly string[]).includes(ext);
55
- }
@@ -1,49 +0,0 @@
1
- import { createHash } from 'node:crypto';
2
-
3
- /** RFC 4648 base32 alphabet (upper-case, no padding). */
4
- const BASE32_ALPHABET = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ234567';
5
-
6
- function base32Encode(bytes: Uint8Array): string {
7
- let result = '';
8
- let bits = 0;
9
- let value = 0;
10
- for (const byte of bytes) {
11
- value = (value << 8) | byte;
12
- bits += 8;
13
- while (bits >= 5) {
14
- result += BASE32_ALPHABET[(value >>> (bits - 5)) & 0x1f];
15
- bits -= 5;
16
- }
17
- }
18
- if (bits > 0) {
19
- result += BASE32_ALPHABET[(value << (5 - bits)) & 0x1f];
20
- }
21
- return result.toLowerCase();
22
- }
23
-
24
- /**
25
- * Computes a 26-character kbid for a section using the same algorithm
26
- * as the Rust engine's `hash_section`.
27
- *
28
- * Algorithm:
29
- * 1. Build input: `"section <mime> <byteLen>\0<content>"`
30
- * 2. SHA-256 hash the input
31
- * 3. Take the first 16 bytes
32
- * 4. Base32 encode (RFC 4648, no padding), lowercased → 26 chars
33
- *
34
- * @param mimeType - MIME type string (e.g. `"text/markdown"`)
35
- * @param content - UTF-8 section content string
36
- * @returns 26-character lowercase base32 kbid
37
- */
38
- export function computeSectionKbid(
39
- mimeType: string,
40
- content: string,
41
- ): string {
42
- const contentBytes = Buffer.from(content, 'utf-8');
43
- const header = `section ${mimeType} ${contentBytes.length.toString()}\0`;
44
- const headerBytes = Buffer.from(header, 'utf-8');
45
- const input = Buffer.concat([headerBytes, contentBytes]);
46
- const hash = createHash('sha256').update(input).digest();
47
- const truncated = new Uint8Array(hash.buffer, 0, 16);
48
- return base32Encode(truncated);
49
- }
@@ -1,390 +0,0 @@
1
- import type { CliOptions } from '../typings/cli-options.interface.ts';
2
- import type { CommandResult } from '../typings/command-result.model.ts';
3
- import type { PagedSearchDisplay } from '../typings/search-display.model.ts';
4
- import type { LearnIO } from './run-learn.function.ts';
5
- import type { SearchClient } from './run-search.function.ts';
6
- import type { LearnClient } from './run-learn.function.ts';
7
- import type { UnlearnClient } from './run-unlearn.function.ts';
8
- import type { ContentClient } from './run-content.function.ts';
9
- import type { CheckClient } from './run-check.function.ts';
10
- import type { GcClient } from './run-gc.function.ts';
11
- import type { RebuildClient } from './run-rebuild.function.ts';
12
- import type { StatusClient } from './run-status.function.ts';
13
- import type { DbMigrateClient } from './run-db-migrate.function.ts';
14
- import type { SkillLearnClient } from './run-skill-learn.function.ts';
15
- import type { SkillListClient } from './run-skill-list.function.ts';
16
- import type { SkillGetClient } from './run-skill-get.function.ts';
17
- import type { SkillDeleteClient } from './run-skill-delete.function.ts';
18
- import type { AgentCreateClient } from './run-agent-create.function.ts';
19
- import type { AgentListClient } from './run-agent-list.function.ts';
20
- import type { AgentGetClient } from './run-agent-get.function.ts';
21
- import type { AgentDeleteClient } from './run-agent-delete.function.ts';
22
- import type { RecallClient } from './run-recall.function.ts';
23
- import type { ExportClient } from './run-export.function.ts';
24
- import { runSearch } from './run-search.function.ts';
25
- import { runLearn } from './run-learn.function.ts';
26
- import { runUnlearn } from './run-unlearn.function.ts';
27
- import { runContent } from './run-content.function.ts';
28
- import { runCheck } from './run-check.function.ts';
29
- import { runGc } from './run-gc.function.ts';
30
- import { runRebuild } from './run-rebuild.function.ts';
31
- import { runStatus } from './run-status.function.ts';
32
- import { runDbInit } from './run-db-init.function.ts';
33
- import { runInit } from './run-init.function.ts';
34
- import { runDbMigrate } from './run-db-migrate.function.ts';
35
- import { runSkillLearn } from './run-skill-learn.function.ts';
36
- import { runSkillList } from './run-skill-list.function.ts';
37
- import { runSkillGet } from './run-skill-get.function.ts';
38
- import { runSkillDelete } from './run-skill-delete.function.ts';
39
- import { runAgentCreate } from './run-agent-create.function.ts';
40
- import { runAgentList } from './run-agent-list.function.ts';
41
- import { runAgentGet } from './run-agent-get.function.ts';
42
- import { runAgentDelete } from './run-agent-delete.function.ts';
43
- import { runRecall } from './run-recall.function.ts';
44
- import { runExport } from './run-export.function.ts';
45
- import { formatOutput } from './format-output.function.ts';
46
- import { errorToMessage } from './error-to-message.function.ts';
47
-
48
- /**
49
- * Intersection of all data-command client interfaces.
50
- *
51
- * Each run* function defines its own minimal interface; this
52
- * intersection combines them so `dispatchCommand` can route
53
- * to any command handler with full type safety.
54
- */
55
- export type DispatchClient = SearchClient &
56
- LearnClient &
57
- UnlearnClient &
58
- ContentClient &
59
- CheckClient &
60
- GcClient &
61
- RebuildClient &
62
- StatusClient &
63
- DbMigrateClient &
64
- SkillLearnClient &
65
- SkillListClient &
66
- SkillGetClient &
67
- SkillDeleteClient &
68
- AgentCreateClient &
69
- AgentListClient &
70
- AgentGetClient &
71
- AgentDeleteClient &
72
- RecallClient &
73
- ExportClient;
74
-
75
- /**
76
- * Routes a parsed CLI command to the appropriate handler and
77
- * returns a `CommandResult` without touching process globals.
78
- *
79
- * @param client - worker client covering all data commands
80
- * @param options - parsed CLI options with command and args
81
- * @param io - optional injectable I/O for learn stdin
82
- */
83
- export async function dispatchCommand(
84
- client: DispatchClient,
85
- options: CliOptions,
86
- io?: LearnIO,
87
- ): Promise<CommandResult> {
88
- switch (options.command) {
89
- case 'learn':
90
- return handleLearn(client, options, io);
91
- case 'unlearn':
92
- return handleUnlearn(client, options);
93
- case 'search':
94
- return handleSearch(client, options);
95
- case 'recall':
96
- return handleRecall(client, options);
97
- case 'content':
98
- return handleContent(client, options);
99
- case 'check':
100
- return handleCheck(client, options);
101
- case 'gc':
102
- return handleGc(client, options);
103
- case 'rebuild':
104
- return handleRebuild(client, options);
105
- case 'status':
106
- return handleStatus(client, options);
107
- case 'export':
108
- return handleExport(client, options);
109
- case 'db-init':
110
- return handleDbInit(options);
111
- case 'db-migrate':
112
- return handleDbMigrate(client, options);
113
- case 'skill-learn': {
114
- const result = await runSkillLearn(client, options);
115
- return result;
116
- }
117
- case 'skill-list': {
118
- const result = await runSkillList(client, options);
119
- return result;
120
- }
121
- case 'skill-get': {
122
- const result = await runSkillGet(client, options);
123
- return result;
124
- }
125
- case 'skill-delete': {
126
- const result = await runSkillDelete(client, options);
127
- return result;
128
- }
129
- case 'agent-create': {
130
- const result = await runAgentCreate(client, options);
131
- return result;
132
- }
133
- case 'agent-list': {
134
- const result = await runAgentList(client, options);
135
- return result;
136
- }
137
- case 'agent-get': {
138
- const result = await runAgentGet(client, options);
139
- return result;
140
- }
141
- case 'agent-delete': {
142
- const result = await runAgentDelete(client, options);
143
- return result;
144
- }
145
- default:
146
- return {
147
- error: `unknown command: ${options.command}`,
148
- exitCode: 1,
149
- };
150
- }
151
- }
152
-
153
- async function handleLearn(
154
- client: DispatchClient,
155
- options: CliOptions,
156
- io?: LearnIO,
157
- ): Promise<CommandResult> {
158
- try {
159
- const results = await runLearn(client, options, io);
160
- return {
161
- output: JSON.stringify(results, null, 2),
162
- exitCode: 0,
163
- };
164
- } catch (err) {
165
- return {
166
- error: `learn failed: ${errorToMessage(err)}`,
167
- exitCode: 1,
168
- };
169
- }
170
- }
171
-
172
- async function handleUnlearn(
173
- client: DispatchClient,
174
- options: CliOptions,
175
- ): Promise<CommandResult> {
176
- try {
177
- const results = await runUnlearn(client, options);
178
- return {
179
- output: JSON.stringify(results, null, 2),
180
- exitCode: 0,
181
- };
182
- } catch (err) {
183
- return {
184
- error: `unlearn failed: ${errorToMessage(err)}`,
185
- exitCode: 1,
186
- };
187
- }
188
- }
189
-
190
- async function handleSearch(
191
- client: DispatchClient,
192
- options: CliOptions,
193
- ): Promise<CommandResult> {
194
- try {
195
- const results = await runSearch(client, options);
196
- if (options.content) {
197
- await hydrateSearchPreviews(client, results);
198
- }
199
- return {
200
- output: formatOutput(results, options.format),
201
- exitCode: 0,
202
- };
203
- } catch (err) {
204
- return {
205
- error: `search failed: ${errorToMessage(err)}`,
206
- exitCode: 1,
207
- };
208
- }
209
- }
210
-
211
- async function handleRecall(
212
- client: DispatchClient,
213
- options: CliOptions,
214
- ): Promise<CommandResult> {
215
- try {
216
- const result = await runRecall(client, options);
217
- if ('error' in result) {
218
- return {
219
- error: `error: ${result.error}`,
220
- exitCode: 1,
221
- };
222
- }
223
- return {
224
- output: JSON.stringify(result, null, 2),
225
- exitCode: 0,
226
- };
227
- } catch (err) {
228
- return {
229
- error: `recall failed: ${errorToMessage(err)}`,
230
- exitCode: 1,
231
- };
232
- }
233
- }
234
-
235
- async function handleExport(
236
- client: DispatchClient,
237
- options: CliOptions,
238
- ): Promise<CommandResult> {
239
- try {
240
- const result = await runExport(client, options);
241
- return {
242
- output: JSON.stringify(result, null, 2),
243
- exitCode: 0,
244
- };
245
- } catch (err) {
246
- return {
247
- error: `export failed: ${errorToMessage(err)}`,
248
- exitCode: 1,
249
- };
250
- }
251
- }
252
-
253
- async function handleContent(
254
- client: DispatchClient,
255
- options: CliOptions,
256
- ): Promise<CommandResult> {
257
- try {
258
- const result = await runContent(client, options);
259
- return {
260
- output: JSON.stringify(result, null, 2),
261
- exitCode: 0,
262
- };
263
- } catch (err) {
264
- return {
265
- error: `content failed: ${errorToMessage(err)}`,
266
- exitCode: 1,
267
- };
268
- }
269
- }
270
-
271
- async function handleCheck(
272
- client: DispatchClient,
273
- options: CliOptions,
274
- ): Promise<CommandResult> {
275
- try {
276
- const result = await runCheck(client, options);
277
- return {
278
- output: JSON.stringify(result, null, 2),
279
- exitCode: result.ok ? 0 : 1,
280
- };
281
- } catch (err) {
282
- return {
283
- error: `check failed: ${errorToMessage(err)}`,
284
- exitCode: 1,
285
- };
286
- }
287
- }
288
-
289
- async function handleGc(
290
- client: DispatchClient,
291
- options: CliOptions,
292
- ): Promise<CommandResult> {
293
- try {
294
- const result = await runGc(client, options);
295
- return {
296
- output: JSON.stringify(result, null, 2),
297
- exitCode: 0,
298
- };
299
- } catch (err) {
300
- return {
301
- error: `gc failed: ${errorToMessage(err)}`,
302
- exitCode: 1,
303
- };
304
- }
305
- }
306
-
307
- async function handleRebuild(
308
- client: DispatchClient,
309
- options: CliOptions,
310
- ): Promise<CommandResult> {
311
- try {
312
- const result = await runRebuild(client, options);
313
- return {
314
- output: JSON.stringify(result, null, 2),
315
- exitCode: 0,
316
- };
317
- } catch (err) {
318
- return {
319
- error: `rebuild failed: ${errorToMessage(err)}`,
320
- exitCode: 1,
321
- };
322
- }
323
- }
324
-
325
- async function handleStatus(
326
- client: DispatchClient,
327
- options: CliOptions,
328
- ): Promise<CommandResult> {
329
- try {
330
- const result = await runStatus(client, options);
331
- return {
332
- output: JSON.stringify(result, null, 2),
333
- exitCode: 0,
334
- };
335
- } catch (err) {
336
- return {
337
- error: `status failed: ${errorToMessage(err)}`,
338
- exitCode: 1,
339
- };
340
- }
341
- }
342
-
343
- function handleDbInit(options: CliOptions): CommandResult {
344
- return runDbInit(options, runInit);
345
- }
346
-
347
- async function handleDbMigrate(
348
- client: DispatchClient,
349
- options: CliOptions,
350
- ): Promise<CommandResult> {
351
- try {
352
- const result = await runDbMigrate(client, options);
353
- return {
354
- output: JSON.stringify(result, null, 2),
355
- exitCode: 0,
356
- };
357
- } catch (err) {
358
- return {
359
- error: `db-migrate failed: ${errorToMessage(err)}`,
360
- exitCode: 1,
361
- };
362
- }
363
- }
364
-
365
- /**
366
- * Hydrates each result's `preview` field with the actual section
367
- * content fetched from the client.
368
- *
369
- * Failures for individual results are caught and suppressed so that
370
- * one unavailable section does not prevent other previews from
371
- * being returned.
372
- *
373
- * @param client - content client used to fetch section text
374
- * @param results - mutable search display records to hydrate
375
- */
376
- async function hydrateSearchPreviews(
377
- client: ContentClient,
378
- paged: PagedSearchDisplay,
379
- ): Promise<void> {
380
- await Promise.all(
381
- paged.items.map(async (result) => {
382
- try {
383
- const contentResult = await client.content([result.kbid]);
384
- result.preview = contentResult.data;
385
- } catch {
386
- // Leave preview as empty string on failure.
387
- }
388
- }),
389
- );
390
- }
@@ -1,21 +0,0 @@
1
- import { existsSync, mkdirSync } from 'node:fs';
2
- import { join, resolve } from 'node:path';
3
-
4
- /**
5
- * Ensures that the `.kbdb` database directory exists at the
6
- * resolved base path, creating it recursively if necessary.
7
- *
8
- * When `dbPath` is provided it is resolved to an absolute path and
9
- * used as the base; otherwise `process.cwd()` is used.
10
- *
11
- * @param dbPath - optional path to the knowledge-base root directory
12
- * @returns absolute path to the `.kbdb` directory
13
- */
14
- export function ensureDb(dbPath?: string): string {
15
- const base = dbPath ? resolve(dbPath) : process.cwd();
16
- const kbdbDir = join(base, '.kbdb');
17
- if (!existsSync(kbdbDir)) {
18
- mkdirSync(kbdbDir, { recursive: true });
19
- }
20
- return kbdbDir;
21
- }
@@ -1,9 +0,0 @@
1
- /**
2
- * Converts an unknown thrown value to a human-readable message.
3
- *
4
- * @param err - the caught value
5
- * @returns the error message string
6
- */
7
- export function errorToMessage(err: unknown): string {
8
- return err instanceof Error ? err.message : String(err);
9
- }
@@ -1,20 +0,0 @@
1
- import { existsSync } from 'node:fs';
2
- import { join, resolve } from 'node:path';
3
-
4
- /**
5
- * Resolves the absolute path to the `.kbdb` database directory
6
- * under the given base path (or the current working directory).
7
- *
8
- * Unlike `ensureDb`, this function is purely read-only: it never
9
- * creates the directory. Returns `null` when the `.kbdb` directory
10
- * does not exist.
11
- *
12
- * @param dbPath - optional path to the knowledge-base root directory
13
- * @returns absolute path to the `.kbdb` directory, or `null` when
14
- * it does not exist
15
- */
16
- export function findDb(dbPath?: string): string | null {
17
- const base = dbPath ? resolve(dbPath) : process.cwd();
18
- const kbdbDir = join(base, '.kbdb');
19
- return existsSync(kbdbDir) ? kbdbDir : null;
20
- }
@@ -1,41 +0,0 @@
1
- import type { PagedSearchDisplay } from '../typings/search-display.model.ts';
2
-
3
- /**
4
- * Formats a paged search result as a JSON string compatible
5
- * with the MCP (Model Context Protocol) `text` content block.
6
- *
7
- * @param paged - paginated search results to serialise
8
- * @returns MCP-compatible JSON string ready for stdout
9
- */
10
- export function formatMcpOutput(paged: PagedSearchDisplay): string {
11
- const mcpItems = paged.items.map((r) => ({
12
- kbid: r.kbid,
13
- heading: r.heading,
14
- type: r.type,
15
- docids: r.docids,
16
- snippet: r.snippet,
17
- matched_terms: r.matched_terms,
18
- matched_fields: r.matched_fields,
19
- created_at: r.created_at,
20
- }));
21
- return JSON.stringify(
22
- {
23
- type: 'text',
24
- text: paged.items
25
- .map(
26
- (r) =>
27
- `[${r.kbid}] ${r.heading ?? '(untitled)'}` +
28
- ` — ${r.snippet || r.preview}`,
29
- )
30
- .join('\n'),
31
- items: mcpItems,
32
- total: paged.total,
33
- offset: paged.offset,
34
- limit: paged.limit,
35
- has_more: paged.has_more,
36
- relaxed: paged.relaxed,
37
- },
38
- null,
39
- 2,
40
- );
41
- }
@@ -1,95 +0,0 @@
1
- import type { OutputFormat } from '../typings/cli-options.interface.ts';
2
- import type { PagedSearchDisplay } from '../typings/search-display.model.ts';
3
-
4
- /**
5
- * Serialises a paged search result into the requested output
6
- * format string.
7
- *
8
- * - `'json'` -- pretty-printed JSON envelope
9
- * - `'text'` -- numbered human-readable list with paging footer
10
- * - `'mcp'` -- JSON envelope compatible with MCP protocol
11
- *
12
- * @param paged - paginated search results to format
13
- * @param format - target output format
14
- * @returns formatted string ready for stdout
15
- */
16
- export function formatOutput(
17
- paged: PagedSearchDisplay,
18
- format: OutputFormat,
19
- ): string {
20
- switch (format) {
21
- case 'json':
22
- return JSON.stringify(paged, null, 2);
23
- case 'text':
24
- return formatText(paged);
25
- case 'mcp':
26
- return formatMcp(paged);
27
- }
28
- }
29
-
30
- function formatText(paged: PagedSearchDisplay): string {
31
- if (paged.items.length === 0) return 'No results found.';
32
- const start = paged.offset + 1;
33
- const end = paged.offset + paged.items.length;
34
-
35
- const lines = paged.items
36
- .map((r, i) => {
37
- const num = paged.offset + i + 1;
38
- const heading = r.heading ?? '(untitled)';
39
- const terms = r.matched_terms.join(', ');
40
- const fields = r.matched_fields.join(', ');
41
- const confidencePct = (r.confidence * 100).toFixed(0);
42
- return (
43
- `${String(num)}. [${r.kbid}] ${heading}` +
44
- ` (score: ${r.score.toFixed(4)},` +
45
- ` confidence: ${confidencePct}%)\n` +
46
- ` ${r.snippet || r.preview || '(no snippet)'}\n` +
47
- ` type: ${r.type}` +
48
- ` terms: ${terms}` +
49
- (fields ? ` fields: ${fields}` : '')
50
- );
51
- })
52
- .join('\n\n');
53
-
54
- const footer =
55
- `\nShowing ${String(start)}-${String(end)}` +
56
- ` of ${String(paged.total)} results`;
57
- const hint = paged.has_more
58
- ? `\nUse --offset ${String(end)} to see more`
59
- : '';
60
-
61
- return lines + footer + hint;
62
- }
63
-
64
- function formatMcp(paged: PagedSearchDisplay): string {
65
- const mcpItems = paged.items.map((r) => ({
66
- kbid: r.kbid,
67
- heading: r.heading,
68
- type: r.type,
69
- docids: r.docids,
70
- snippet: r.snippet,
71
- matched_terms: r.matched_terms,
72
- matched_fields: r.matched_fields,
73
- created_at: r.created_at,
74
- }));
75
- return JSON.stringify(
76
- {
77
- type: 'text',
78
- text: paged.items
79
- .map(
80
- (r) =>
81
- `[${r.kbid}] ${r.heading ?? '(untitled)'}` +
82
- ` — ${r.snippet || r.preview}`,
83
- )
84
- .join('\n'),
85
- items: mcpItems,
86
- total: paged.total,
87
- offset: paged.offset,
88
- limit: paged.limit,
89
- has_more: paged.has_more,
90
- relaxed: paged.relaxed,
91
- },
92
- null,
93
- 2,
94
- );
95
- }