@dikolab/kbdb 0.3.1 → 0.4.0

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