@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,70 +0,0 @@
1
- import { existsSync, readFileSync, unlinkSync } from 'node:fs';
2
- import { join } from 'node:path';
3
- import { tmpdir } from 'node:os';
4
- import { WorkerClient } from '../classes/worker-client.class.ts';
5
- import { resolveDbPath } from './resolve-db-path.function.ts';
6
- import { computeContextId } from './compute-context-id.function.ts';
7
- import { discoverDaemon } from './discover-daemon.function.ts';
8
- import { spawnDaemon } from './spawn-daemon.function.ts';
9
- import { waitForDaemon } from './wait-for-daemon.function.ts';
10
- import { detectRuntime } from '../../runtime/functions/detect-runtime.ts';
11
- import { getIpcPath } from '../../platform/functions/get-ipc-path.function.ts';
12
- import type { WorkerClientOptions } from '../typings/worker-client-options.interface.ts';
13
-
14
- /**
15
- * Creates and connects a `WorkerClient` to the worker daemon.
16
- *
17
- * Resolves the context path, derives a stable context identifier,
18
- * and checks whether a daemon is already running. If no daemon is
19
- * found and `autoSpawn` is not `false`, a new daemon process is
20
- * spawned and the factory waits for its PID file to appear before
21
- * connecting.
22
- *
23
- * @param options - optional configuration for path resolution,
24
- * auto-spawn behaviour, and connection timeout
25
- * @returns a connected `WorkerClient` ready to send requests
26
- * @throws {Error} if the `.kbdb` directory cannot be found
27
- * @throws {Error} if the socket connection cannot be established
28
- */
29
- export async function createWorkerClient(
30
- options?: WorkerClientOptions,
31
- ): Promise<WorkerClient> {
32
- const dbPath =
33
- options?.contextPath ?? resolveDbPath(options?.dbPath);
34
- const contextId = await computeContextId(dbPath);
35
- const socketPath = getIpcPath(contextId);
36
-
37
- let daemon = discoverDaemon(contextId);
38
-
39
- if (!daemon && options?.autoSpawn !== false) {
40
- const runtime = detectRuntime();
41
- spawnDaemon(dbPath, runtime, options?.workerScript);
42
- await waitForDaemon(contextId, options?.connectTimeoutMs);
43
- daemon = discoverDaemon(contextId);
44
- }
45
-
46
- if (!daemon) {
47
- throw new Error(
48
- `kbdb worker daemon did not start: ${readCrashReason(contextId)}`,
49
- );
50
- }
51
-
52
- const client = new WorkerClient(socketPath, contextId);
53
- await client.connect();
54
- return client;
55
- }
56
-
57
- function readCrashReason(contextId: string): string {
58
- const crashPath = join(tmpdir(), `kbdb-${contextId}.crash`);
59
- if (!existsSync(crashPath)) {
60
- return 'daemon failed to start (no details available)';
61
- }
62
- try {
63
- const raw = readFileSync(crashPath, 'utf-8');
64
- const crash = JSON.parse(raw) as { error?: string };
65
- unlinkSync(crashPath);
66
- return crash.error ?? 'unknown error (crash log empty)';
67
- } catch {
68
- return 'daemon failed to start (crash log unreadable)';
69
- }
70
- }
@@ -1,47 +0,0 @@
1
- import { existsSync, readFileSync, unlinkSync } from 'node:fs';
2
- import { join } from 'node:path';
3
- import { tmpdir } from 'node:os';
4
- import { isProcessAlive } from '../../platform/functions/is-process-alive.function.ts';
5
- import type { DaemonInfo } from '../typings/daemon-info.model.ts';
6
-
7
- export type { DaemonInfo };
8
-
9
- /**
10
- * Discovers a running worker daemon for the given context.
11
- *
12
- * Reads the PID file at `<tmpdir>/kbdb-<contextId>.pid`. If the
13
- * file exists and the process is alive, returns its PID and the
14
- * expected socket path. If the file is stale (process dead or PID
15
- * unparseable), removes the PID file and returns `null`.
16
- *
17
- * @param contextId - the 16-character context identifier
18
- * @returns daemon location info, or `null` if no live daemon found
19
- */
20
- export function discoverDaemon(contextId: string): DaemonInfo | null {
21
- const pidPath = join(tmpdir(), `kbdb-${contextId}.pid`);
22
-
23
- if (!existsSync(pidPath)) return null;
24
-
25
- const pidStr = readFileSync(pidPath, 'utf-8').trim();
26
- const pid = parseInt(pidStr, 10);
27
-
28
- if (isNaN(pid) || !isProcessAlive(pid)) {
29
- try {
30
- unlinkSync(pidPath);
31
- } catch {
32
- // Stale PID file removal is best-effort
33
- }
34
- return null;
35
- }
36
-
37
- const socketPath = join(tmpdir(), `kbdb-${contextId}.sock`);
38
-
39
- const crashPath = join(tmpdir(), `kbdb-${contextId}.crash`);
40
- try {
41
- unlinkSync(crashPath);
42
- } catch {
43
- // stale crash file removal is best-effort
44
- }
45
-
46
- return { pid, socketPath };
47
- }
@@ -1,49 +0,0 @@
1
- import type { PendingCall } from '../typings/pending-call.interface.ts';
2
- import type { JsonRpcResponse } from '../typings/json-rpc-response.interface.ts';
3
-
4
- /**
5
- * Processes an incoming data chunk from the IPC socket.
6
- *
7
- * Appends the chunk to `buffer`, splits on newline boundaries,
8
- * parses complete JSON-RPC response lines, and resolves or rejects
9
- * the matching pending call. Returns the updated buffer with any
10
- * incomplete trailing line retained.
11
- *
12
- * @param data - raw string chunk received from the socket
13
- * @param buffer - partial line buffer from the previous call
14
- * @param pending - map of outstanding request IDs to their
15
- * resolve/reject pairs; mutated by this function
16
- * @returns the updated buffer (incomplete trailing line, if any)
17
- */
18
- export function handleIpcData(
19
- data: string,
20
- buffer: string,
21
- pending: Map<number, PendingCall>,
22
- ): string {
23
- const combined = buffer + data;
24
- const lines = combined.split('\n');
25
- const nextBuffer = lines.pop() ?? '';
26
-
27
- for (const line of lines) {
28
- if (!line.trim()) continue;
29
- try {
30
- const response = JSON.parse(line) as JsonRpcResponse;
31
- const call = pending.get(response.id);
32
- if (call !== undefined) {
33
- pending.delete(response.id);
34
- if (response.error !== undefined) {
35
- const err = new Error(response.error.message);
36
- (err as unknown as Record<string, unknown>)['code'] =
37
- response.error.code;
38
- call.reject(err);
39
- } else {
40
- call.resolve(response.result);
41
- }
42
- }
43
- } catch {
44
- // Ignore unparseable lines
45
- }
46
- }
47
-
48
- return nextBuffer;
49
- }
@@ -1,21 +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
- *
7
- * Searches for a `.kbdb` sub-directory inside `targetDir`. When
8
- * `targetDir` is omitted, `process.cwd()` is used as the base.
9
- *
10
- * @param targetDir - directory to search in; defaults to cwd
11
- * @throws {Error} if no `.kbdb` directory exists at the resolved
12
- * path
13
- */
14
- export function resolveDbPath(targetDir?: string): string {
15
- const base = targetDir ? resolve(targetDir) : process.cwd();
16
- const dbPath = join(base, '.kbdb');
17
- if (!existsSync(dbPath)) {
18
- throw new Error(`database not found: ${dbPath}`);
19
- }
20
- return dbPath;
21
- }
@@ -1,39 +0,0 @@
1
- import type { Socket } from 'node:net';
2
- import type { PendingCall } from '../typings/pending-call.interface.ts';
3
-
4
- /**
5
- * Sends a JSON-RPC 2.0 request over `socket` and registers the
6
- * `resolve`/`reject` pair in `pending` so the response can be
7
- * matched back.
8
- *
9
- * @param socket - connected IPC socket
10
- * @param pending - map of outstanding request IDs to their
11
- * resolve/reject pairs; mutated by this function
12
- * @param nextId - the request ID to assign; must be the current
13
- * value of the caller's monotonic counter
14
- * @param contextId - 16-character context identifier sent as `ctx`
15
- * @param method - JSON-RPC method name
16
- * @param params - method parameters (merged with `ctx`)
17
- * @throws {Error} when the socket is not connected (`socket` is
18
- * null) -- call the check before invoking this function
19
- */
20
- export function sendIpcRequest(
21
- socket: Socket,
22
- pending: Map<number, PendingCall>,
23
- nextId: number,
24
- contextId: string,
25
- method: string,
26
- params: unknown,
27
- ): Promise<unknown> {
28
- const request = {
29
- jsonrpc: '2.0',
30
- id: nextId,
31
- method,
32
- params: { ctx: contextId, ...(params as object) },
33
- };
34
-
35
- return new Promise<unknown>((resolve, reject) => {
36
- pending.set(nextId, { resolve, reject });
37
- socket.write(JSON.stringify(request) + '\n');
38
- });
39
- }
@@ -1,35 +0,0 @@
1
- import { spawn } from 'node:child_process';
2
- import type { Runtime } from '../../runtime/typings/runtime.ts';
3
-
4
- /**
5
- * Spawns a detached worker daemon process for the given context.
6
- *
7
- * @param contextPath - absolute path to the context directory the
8
- * daemon should serve
9
- * @param runtime - the current JavaScript runtime environment
10
- * @param workerScript - absolute path to the worker daemon script,
11
- * resolved at the entry point by `resolveWorkerScript`
12
- */
13
- export function spawnDaemon(
14
- contextPath: string,
15
- runtime: Runtime,
16
- workerScript?: string,
17
- ): void {
18
- if (!workerScript) {
19
- throw new Error(
20
- 'workerScript must be provided' + ' (resolve at entry point)',
21
- );
22
- }
23
- const execPath = runtime === 'deno' ? 'deno' : process.execPath;
24
-
25
- const args =
26
- runtime === 'deno'
27
- ? ['run', '--allow-all', workerScript, contextPath]
28
- : [workerScript, contextPath];
29
-
30
- const child = spawn(execPath, args, {
31
- detached: true,
32
- stdio: 'ignore',
33
- });
34
- child.unref();
35
- }
@@ -1,34 +0,0 @@
1
- import { existsSync } from 'node:fs';
2
- import { join } from 'node:path';
3
- import { tmpdir } from 'node:os';
4
-
5
- /** Default maximum wait time for the daemon PID file to appear. */
6
- const DEFAULT_TIMEOUT_MS = 10_000;
7
-
8
- /** Polling interval in milliseconds between existence checks. */
9
- const POLL_INTERVAL_MS = 100;
10
-
11
- /**
12
- * Waits for the worker daemon's PID file to appear on disk.
13
- *
14
- * Polls every 100 ms until the PID file at
15
- * `<tmpdir>/kbdb-<contextId>.pid` exists or the timeout elapses.
16
- *
17
- * @param contextId - the 16-character context identifier
18
- * @param timeoutMs - maximum wait time in milliseconds; defaults
19
- * to 10 000 ms
20
- * @returns `true` if the PID file appeared before the timeout,
21
- * `false` otherwise
22
- */
23
- export async function waitForDaemon(
24
- contextId: string,
25
- timeoutMs: number = DEFAULT_TIMEOUT_MS,
26
- ): Promise<boolean> {
27
- const pidPath = join(tmpdir(), `kbdb-${contextId}.pid`);
28
- const start = Date.now();
29
- while (Date.now() - start < timeoutMs) {
30
- if (existsSync(pidPath)) return true;
31
- await new Promise<void>((r) => setTimeout(r, POLL_INTERVAL_MS));
32
- }
33
- return false;
34
- }
@@ -1,44 +0,0 @@
1
- export { WorkerClient } from './classes/worker-client.class.ts';
2
- export { createWorkerClient } from './functions/create-worker-client.function.ts';
3
- export { resolveDbPath } from './functions/resolve-db-path.function.ts';
4
- export { computeContextId } from './functions/compute-context-id.function.ts';
5
- export { discoverDaemon } from './functions/discover-daemon.function.ts';
6
- export { spawnDaemon } from './functions/spawn-daemon.function.ts';
7
- export { waitForDaemon } from './functions/wait-for-daemon.function.ts';
8
- export type { WorkerClientOptions } from './typings/worker-client-options.interface.ts';
9
- export type { SearchParams } from './typings/search-params.model.ts';
10
- export type {
11
- SearchResult,
12
- PagedSearchResult,
13
- } from './typings/search-result.model.ts';
14
- export type {
15
- Section,
16
- AddSectionParams,
17
- } from './typings/section.model.ts';
18
- export type { StatusResult } from './typings/status-result.model.ts';
19
- export type { WorkerClientError } from './typings/worker-client-error.interface.ts';
20
- export type { DaemonInfo } from './typings/daemon-info.model.ts';
21
- export type {
22
- AddSectionResult,
23
- NearDuplicateEntry,
24
- } from './typings/add-section-result.model.ts';
25
- export type { RemoveSectionResult } from './typings/remove-section-result.model.ts';
26
- export type { ContentResult } from './typings/content-result.model.ts';
27
- export type {
28
- IntegrityCheckResult,
29
- IntegrityError,
30
- } from './typings/integrity-check-result.model.ts';
31
- export type { GcResult } from './typings/gc-result.model.ts';
32
- export type { RebuildResult } from './typings/rebuild-result.model.ts';
33
- export type { MigrateResult } from './typings/migrate-result.model.ts';
34
- export type {
35
- VersionCompatibility,
36
- VersionStatus,
37
- } from './typings/version-status.model.ts';
38
- export type {
39
- RecallParams,
40
- RecallResult,
41
- RecallDocument,
42
- RecallSibling,
43
- RecallReference,
44
- } from './typings/recall-result.model.ts';
@@ -1,39 +0,0 @@
1
- /**
2
- * A near-duplicate section reported after adding a new section.
3
- */
4
- export interface NearDuplicateEntry {
5
- /** Knowledge-base identifier of the near-duplicate section. */
6
- readonly kbid: string;
7
- /** Jaccard similarity score (0.0--1.0). */
8
- readonly similarity: number;
9
- /** Detection method that produced this match. */
10
- readonly method?: 'jaccard' | 'cosine';
11
- }
12
-
13
- /** Result returned by the daemon after adding a new section. */
14
- export interface AddSectionResult {
15
- /** Knowledge-base identifier assigned to the section. */
16
- readonly kbid: string;
17
- /**
18
- * Number of unique terms indexed for the section.
19
- * Present in the current binary-decoded response format.
20
- */
21
- readonly indexed_terms_count?: number;
22
- /**
23
- * Wall-clock time the add operation took, in milliseconds.
24
- * Present in the current binary-decoded response format.
25
- */
26
- readonly elapsed_ms?: number;
27
- /**
28
- * Knowledge-base identifier of the section that was superseded,
29
- * or `null` if no supersession occurred.
30
- */
31
- readonly superseded?: string | null;
32
- /** Advisory warnings emitted during indexing. */
33
- readonly warnings?: string[];
34
- /**
35
- * Near-duplicate sections detected above the similarity threshold
36
- * (Jaccard >= 0.85).
37
- */
38
- readonly near_duplicates?: NearDuplicateEntry[];
39
- }
@@ -1,12 +0,0 @@
1
- /**
2
- * Result returned by the daemon after composing a Markdown document
3
- * from one or more kbid or docid identifiers.
4
- */
5
- export interface ContentResult {
6
- /** MIME type of the composed output, always `'text/markdown'`. */
7
- readonly type: 'text/markdown';
8
- /** The composed Markdown string. */
9
- readonly data: string;
10
- /** Character count of `data` (not byte count). */
11
- readonly total: number;
12
- }
@@ -1,7 +0,0 @@
1
- /** Location information for a running worker daemon process. */
2
- export interface DaemonInfo {
3
- /** PID of the running daemon process. */
4
- readonly pid: number;
5
- /** Absolute path to the daemon's IPC socket. */
6
- readonly socketPath: string;
7
- }
@@ -1,14 +0,0 @@
1
- /**
2
- * Report returned by the daemon after exporting the database to a
3
- * target directory.
4
- */
5
- export interface ExportResult {
6
- /** Absolute path to the directory where files were written. */
7
- readonly path: string;
8
- /** Number of section files copied to the export directory. */
9
- readonly sections_exported: number;
10
- /** Number of document manifest files copied. */
11
- readonly documents_exported: number;
12
- /** Wall-clock time the export operation took, in milliseconds. */
13
- readonly elapsed_ms: number;
14
- }
@@ -1,18 +0,0 @@
1
- /**
2
- * Report returned by the daemon after running garbage collection
3
- * on the knowledge-base database.
4
- */
5
- export interface GcResult {
6
- /** Number of unreferenced sections removed. */
7
- readonly removed_sections: number;
8
- /** Total bytes freed by removing unreferenced sections. */
9
- readonly removed_bytes: number;
10
- /** Time taken to complete garbage collection, in milliseconds. */
11
- readonly elapsed_ms: number;
12
- /**
13
- * Number of sections whose source_path file no longer contains
14
- * their heading text. Advisory; not auto-removed by gc.
15
- * Absent on older daemon versions.
16
- */
17
- readonly stale_sources?: number;
18
- }
@@ -1,43 +0,0 @@
1
- /** A single integrity error found during a database check. */
2
- export interface IntegrityError {
3
- /**
4
- * The category of integrity violation detected.
5
- *
6
- * - `'checksum_mismatch'` -- stored content does not match its hash
7
- * - `'orphan_section'` -- section not referenced by any document
8
- * - `'orphan_document'` -- document references no existing sections
9
- * - `'broken_reference'` -- a marker references a non-existent entity
10
- * - `'type_mismatch'` -- stored MIME type conflicts with content
11
- * - `'circular_reference'` -- marker chain contains a cycle
12
- */
13
- readonly type:
14
- | 'checksum_mismatch'
15
- | 'orphan_section'
16
- | 'orphan_document'
17
- | 'broken_reference'
18
- | 'type_mismatch'
19
- | 'circular_reference';
20
- /** Identifier of the entity (kbid or docid) that has the issue. */
21
- readonly entity: string;
22
- /** Human-readable description of the specific problem. */
23
- readonly detail: string;
24
- }
25
-
26
- /**
27
- * Report returned by the daemon after running an integrity check
28
- * on the knowledge-base database.
29
- */
30
- export interface IntegrityCheckResult {
31
- /** `true` when all checks passed and no errors were found. */
32
- readonly ok: boolean;
33
- /** All integrity errors found; empty when `ok` is `true`. */
34
- readonly errors: IntegrityError[];
35
- /** Total number of sections examined. */
36
- readonly sections_checked: number;
37
- /** Total number of documents examined. */
38
- readonly documents_checked: number;
39
- /** Total number of marker references checked. */
40
- readonly references_checked: number;
41
- /** Time taken to complete the check, in milliseconds. */
42
- readonly elapsed_ms: number;
43
- }
@@ -1,17 +0,0 @@
1
- /** Shape of a JSON-RPC 2.0 error object from the daemon. */
2
- export interface JsonRpcError {
3
- /** Numeric JSON-RPC error code. */
4
- readonly code: number;
5
- /** Human-readable error message. */
6
- readonly message: string;
7
- }
8
-
9
- /** Shape of a JSON-RPC 2.0 response from the daemon. */
10
- export interface JsonRpcResponse {
11
- /** Monotonically increasing request identifier. */
12
- readonly id: number;
13
- /** Result payload; present on success. */
14
- readonly result?: unknown;
15
- /** Error detail; present on failure. */
16
- readonly error?: JsonRpcError;
17
- }
@@ -1,11 +0,0 @@
1
- /**
2
- * Report returned by the daemon after running database migrations.
3
- */
4
- export interface MigrateResult {
5
- /** The database format version before migration. */
6
- readonly oldVersion: number;
7
- /** The database format version after migration. */
8
- readonly newVersion: number;
9
- /** Number of individual migration steps that were applied. */
10
- readonly migrationsRun: number;
11
- }
@@ -1,7 +0,0 @@
1
- /** Pending JSON-RPC call awaiting a response from the daemon. */
2
- export interface PendingCall {
3
- /** Resolves with the result when the daemon responds. */
4
- resolve: (v: unknown) => void;
5
- /** Rejects with an error when the daemon returns an error. */
6
- reject: (e: Error) => void;
7
- }
@@ -1,12 +0,0 @@
1
- /**
2
- * Report returned by the daemon after rebuilding all database indexes
3
- * from section files and document manifests.
4
- */
5
- export interface RebuildResult {
6
- /** Number of text and code sections that were re-indexed. */
7
- readonly sections_reindexed: number;
8
- /** Total number of unique terms written to the rebuilt indexes. */
9
- readonly terms_indexed: number;
10
- /** Time taken to complete the rebuild, in milliseconds. */
11
- readonly elapsed_ms: number;
12
- }
@@ -1,16 +0,0 @@
1
- /** A document record included at depth >= 1. */
2
- export interface RecallDocument {
3
- /** Unique document identifier. */
4
- readonly docid: string;
5
- /** Human-readable document title. */
6
- readonly title: string;
7
- /** Ordered list of section summaries belonging to this document. */
8
- readonly sections: readonly {
9
- /** Knowledge-base identifier of the section. */
10
- readonly kbid: string;
11
- /** Section heading text, or `null` when absent. */
12
- readonly heading: string | null;
13
- /** Semantic type label for the section. */
14
- readonly type: string;
15
- }[];
16
- }
@@ -1,15 +0,0 @@
1
- /** Parameters for a recall operation. */
2
- export interface RecallParams {
3
- /** Single section identifier to recall. */
4
- readonly kbid?: string;
5
- /** Batch of section identifiers to recall. */
6
- readonly kbids?: readonly string[];
7
- /**
8
- * Context expansion depth (0-3).
9
- *
10
- * At depth 0 only the section itself is returned.
11
- * Higher values include progressively more context:
12
- * documents, siblings, and references.
13
- */
14
- readonly depth?: number;
15
- }
@@ -1,32 +0,0 @@
1
- /**
2
- * A section that references or is referenced by the recalled
3
- * section.
4
- */
5
- export interface RecallReference {
6
- /**
7
- * Knowledge-base identifier of the referencing/referenced
8
- * section.
9
- */
10
- readonly kbid: string;
11
- /**
12
- * Heading text of the referencing section, or `null` when
13
- * absent.
14
- */
15
- readonly heading: string | null;
16
- /** Semantic type label of the referencing section. */
17
- readonly type: string;
18
- /**
19
- * Application-level marker type (e.g. `'see_also'`, `'link'`).
20
- */
21
- readonly marker_type: string;
22
- /**
23
- * Short excerpt from the referencing section surrounding the
24
- * marker.
25
- */
26
- readonly context_snippet: string;
27
- /**
28
- * Whether the reference is `'forward'` (outgoing) or `'back'`
29
- * (incoming).
30
- */
31
- readonly direction: 'forward' | 'back';
32
- }