@dikolab/kbdb 0.5.0 → 0.6.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 (224) hide show
  1. package/CLA.md +68 -0
  2. package/LICENSE +676 -12
  3. package/LICENSING.md +58 -0
  4. package/README.md +47 -24
  5. package/README.md.bak +320 -0
  6. package/dist/README.md +320 -0
  7. package/dist/{chunk-BJXEVALU.mjs → chunk-QLJ33C74.mjs} +44 -44
  8. package/dist/chunk-QLJ33C74.mjs.map +7 -0
  9. package/dist/cli.cjs +550 -232
  10. package/dist/cli.cjs.map +4 -4
  11. package/dist/cli.d.ts +0 -8
  12. package/dist/cli.mjs +483 -154
  13. package/dist/cli.mjs.map +4 -4
  14. package/dist/kbdb-worker.cjs +36 -5
  15. package/dist/kbdb-worker.cjs.map +3 -3
  16. package/dist/mod.cjs +89 -30
  17. package/dist/mod.cjs.map +4 -4
  18. package/dist/mod.mjs +88 -30
  19. package/dist/mod.mjs.map +4 -4
  20. package/dist/src/cli.d.ts +0 -8
  21. package/dist/src/shared/cli/constants/defaults.constant.d.ts +1 -1
  22. package/dist/src/shared/cli/constants/recfile-command-field-map.constant.d.ts +8 -0
  23. package/dist/src/shared/cli/constants/recfile-field-maps.constant.d.ts +21 -0
  24. package/dist/src/shared/cli/functions/compute-directory-level.function.d.ts +14 -0
  25. package/dist/src/shared/cli/functions/dispatch-command.function.d.ts +2 -28
  26. package/dist/src/shared/cli/functions/format-command-output.function.d.ts +14 -0
  27. package/dist/src/shared/cli/functions/format-db-not-found.function.d.ts +20 -0
  28. package/dist/src/shared/cli/functions/format-output.function.d.ts +1 -0
  29. package/dist/src/shared/cli/functions/format-recfile-output.function.d.ts +11 -0
  30. package/dist/src/shared/cli/functions/render-recfile-value.function.d.ts +11 -0
  31. package/dist/src/shared/cli/functions/resolve-db-dir.function.d.ts +24 -0
  32. package/dist/src/shared/cli/functions/resolve-recfile-key.function.d.ts +9 -0
  33. package/dist/src/shared/cli/functions/run-db-path.function.d.ts +10 -0
  34. package/dist/src/shared/cli/functions/run-export.function.d.ts +8 -4
  35. package/dist/src/shared/cli/functions/run-import.function.d.ts +4 -0
  36. package/dist/src/shared/cli/functions/run-learn.function.d.ts +12 -0
  37. package/dist/src/shared/cli/index.d.ts +4 -1
  38. package/dist/src/shared/cli/typings/cli-options.interface.d.ts +9 -2
  39. package/dist/src/shared/cli/typings/db-resolution.interface.d.ts +9 -0
  40. package/dist/src/shared/cli/typings/recfile-field-map.type.d.ts +10 -0
  41. package/dist/src/shared/version/constants/version.constant.d.ts +1 -1
  42. package/dist/src/shared/wasm-codec/functions/decode-option-u8.function.d.ts +9 -0
  43. package/dist/src/shared/wasm-codec/functions/decode-section-records.function.d.ts +4 -0
  44. package/dist/src/shared/wasm-codec/functions/encode-add-section-params.function.d.ts +2 -45
  45. package/dist/src/shared/wasm-codec/functions/encode-update-section-params.function.d.ts +10 -1
  46. package/dist/src/shared/wasm-codec/index.d.ts +1 -1
  47. package/dist/src/shared/wasm-codec/typings/add-section-input.model.d.ts +6 -0
  48. package/dist/src/shared/wasm-codec/typings/section-record-trailing.model.d.ts +5 -0
  49. package/dist/src/shared/wasm-codec/typings/section-record.model.d.ts +5 -0
  50. package/dist/src/shared/worker-client/functions/build-deno-permissions.function.d.ts +11 -0
  51. package/dist/src/shared/worker-client/functions/read-crash-reason.function.d.ts +9 -0
  52. package/dist/src/shared/worker-client/functions/resolve-spawn-script.function.d.ts +6 -0
  53. package/dist/src/shared/worker-client/functions/spawn-daemon.function.d.ts +1 -1
  54. package/dist/src/shared/worker-client/typings/section.model.d.ts +5 -0
  55. package/dist/src/shared/worker-client/typings/worker-client-options.interface.d.ts +0 -6
  56. package/dist/src/shared/worker-daemon/functions/count-files.function.d.ts +12 -0
  57. package/dist/src/shared/worker-daemon/functions/handle-import.function.d.ts +2 -0
  58. package/dist/src/shared/worker-daemon/functions/handle-read-ops.function.d.ts +8 -0
  59. package/dist/src/shared/worker-daemon/functions/validate-daemon-path.function.d.ts +15 -0
  60. package/dist/src/worker.d.ts +0 -7
  61. package/dist/wasm/default-embedding/kbdb_default_embedding_bg.wasm +0 -0
  62. package/dist/wasm/default-embedding/package.json +1 -1
  63. package/dist/wasm/fs-database/kbdb_fs_database_bg.wasm +0 -0
  64. package/dist/wasm/fs-database/package.json +1 -1
  65. package/dist/wasm/fs-migration/package.json +1 -1
  66. package/dist/wasm/kb-worker/kbdb_worker_bg.wasm +0 -0
  67. package/dist/wasm/kb-worker/package.json +1 -1
  68. package/dist/wasm/query-parser/kbdb_query_parser_bg.wasm +0 -0
  69. package/dist/wasm/query-parser/package.json +1 -1
  70. package/dist/worker.d.ts +0 -7
  71. package/dist/worker.mjs +37 -6
  72. package/dist/worker.mjs.map +3 -3
  73. package/package.json +10 -9
  74. package/dist/chunk-BJXEVALU.mjs.map +0 -7
  75. package/dist/src/shared/cli/functions/resolve-raw-db-path.function.d.ts +0 -10
  76. package/docs/details/README.md +0 -30
  77. package/docs/details/agent-tooling.md +0 -132
  78. package/docs/details/cli.md +0 -777
  79. package/docs/details/knowledge-base.md +0 -180
  80. package/docs/details/library-api.md +0 -495
  81. package/docs/details/mcp-server.md +0 -482
  82. package/docs/details/search-and-ranking.md +0 -575
  83. package/docs/details/storage.md +0 -531
  84. package/docs/goals/agents.md +0 -751
  85. package/docs/goals/architecture.svg +0 -198
  86. package/docs/goals/auto-capture.md +0 -378
  87. package/docs/goals/benchmarking.md +0 -296
  88. package/docs/goals/cli.md +0 -2654
  89. package/docs/goals/concurrency.md +0 -259
  90. package/docs/goals/content-composer.md +0 -609
  91. package/docs/goals/content-parser.md +0 -279
  92. package/docs/goals/database.md +0 -1679
  93. package/docs/goals/document.md +0 -368
  94. package/docs/goals/hybrid-search.md +0 -465
  95. package/docs/goals/mcp.md +0 -1541
  96. package/docs/goals/overview.md +0 -124
  97. package/docs/goals/query-parser.md +0 -373
  98. package/docs/goals/query-result.md +0 -860
  99. package/docs/goals/semantic-dedup.md +0 -233
  100. package/docs/goals/skills.md +0 -810
  101. package/docs/goals/sync.md +0 -217
  102. package/docs/goals/worker-client.md +0 -1005
  103. package/docs/goals/worker-daemon.md +0 -1547
  104. package/docs/modules/overview.md +0 -319
  105. package/docs/modules/rust/embedding/module.md +0 -91
  106. package/docs/modules/rust/fs-database/functions/document.md +0 -48
  107. package/docs/modules/rust/fs-database/functions/integrity.md +0 -79
  108. package/docs/modules/rust/fs-database/functions/io.md +0 -87
  109. package/docs/modules/rust/fs-database/functions/module.md +0 -22
  110. package/docs/modules/rust/fs-database/functions/query-exec.md +0 -44
  111. package/docs/modules/rust/fs-database/functions/section.md +0 -76
  112. package/docs/modules/rust/fs-database/indexes/btree.md +0 -35
  113. package/docs/modules/rust/fs-database/indexes/corpus.md +0 -61
  114. package/docs/modules/rust/fs-database/indexes/inverted.md +0 -60
  115. package/docs/modules/rust/fs-database/indexes/module.md +0 -64
  116. package/docs/modules/rust/fs-database/indexes/positional.md +0 -39
  117. package/docs/modules/rust/fs-database/indexes/vectors.md +0 -110
  118. package/docs/modules/rust/fs-database/module.md +0 -150
  119. package/docs/modules/rust/fs-database/types/catalog.md +0 -53
  120. package/docs/modules/rust/fs-database/types/module.md +0 -12
  121. package/docs/modules/rust/fs-database/types/section.md +0 -127
  122. package/docs/modules/rust/kb-worker/functions/compose.md +0 -57
  123. package/docs/modules/rust/kb-worker/functions/module.md +0 -20
  124. package/docs/modules/rust/kb-worker/functions/retrieve.md +0 -194
  125. package/docs/modules/rust/kb-worker/functions/search.md +0 -173
  126. package/docs/modules/rust/kb-worker/functions/write.md +0 -172
  127. package/docs/modules/rust/kb-worker/module.md +0 -171
  128. package/docs/modules/rust/kb-worker/types/cache.md +0 -90
  129. package/docs/modules/rust/kb-worker/types/context.md +0 -26
  130. package/docs/modules/rust/kb-worker/types/module.md +0 -16
  131. package/docs/modules/rust/kb-worker/types/status.md +0 -29
  132. package/docs/modules/rust/kb-worker/types/token.md +0 -50
  133. package/docs/modules/rust/overview.md +0 -531
  134. package/docs/modules/rust/query-parser/functions/extract.md +0 -56
  135. package/docs/modules/rust/query-parser/functions/module.md +0 -18
  136. package/docs/modules/rust/query-parser/functions/parse.md +0 -33
  137. package/docs/modules/rust/query-parser/functions/pipeline.md +0 -9
  138. package/docs/modules/rust/query-parser/functions/rank.md +0 -85
  139. package/docs/modules/rust/query-parser/module.md +0 -131
  140. package/docs/modules/rust/query-parser/types/cache.md +0 -39
  141. package/docs/modules/rust/query-parser/types/keyphrase.md +0 -71
  142. package/docs/modules/rust/query-parser/types/module.md +0 -18
  143. package/docs/modules/rust/query-parser/types/token.md +0 -46
  144. package/docs/modules/rust/shared/content-composer/functions.md +0 -114
  145. package/docs/modules/rust/shared/content-composer/module.md +0 -147
  146. package/docs/modules/rust/shared/content-composer/types.md +0 -93
  147. package/docs/modules/rust/shared/content-parser/functions.md +0 -72
  148. package/docs/modules/rust/shared/content-parser/module.md +0 -99
  149. package/docs/modules/rust/shared/content-parser/types.md +0 -71
  150. package/docs/modules/rust/shared/corpus/module.md +0 -24
  151. package/docs/modules/rust/shared/corpus/types.md +0 -141
  152. package/docs/modules/rust/shared/document/module.md +0 -25
  153. package/docs/modules/rust/shared/document/types.md +0 -154
  154. package/docs/modules/rust/shared/encode/module.md +0 -22
  155. package/docs/modules/rust/shared/encode/traits.md +0 -304
  156. package/docs/modules/rust/shared/error/module.md +0 -28
  157. package/docs/modules/rust/shared/error/types.md +0 -302
  158. package/docs/modules/rust/shared/kbid/module.md +0 -24
  159. package/docs/modules/rust/shared/kbid/types.md +0 -147
  160. package/docs/modules/rust/shared/memory/functions.md +0 -209
  161. package/docs/modules/rust/shared/memory/module.md +0 -24
  162. package/docs/modules/rust/shared/module.md +0 -196
  163. package/docs/modules/rust/shared/pipeline/functions.md +0 -141
  164. package/docs/modules/rust/shared/pipeline/module.md +0 -62
  165. package/docs/modules/rust/shared/pipeline/types.md +0 -43
  166. package/docs/modules/rust/shared/query/module.md +0 -27
  167. package/docs/modules/rust/shared/query/types.md +0 -236
  168. package/docs/modules/rust/shared/section/module.md +0 -25
  169. package/docs/modules/rust/shared/section/types.md +0 -294
  170. package/docs/modules/rust/shared/term/module.md +0 -25
  171. package/docs/modules/rust/shared/term/types.md +0 -139
  172. package/docs/modules/typescript/cli.md +0 -131
  173. package/docs/modules/typescript/kbdb-worker.md +0 -150
  174. package/docs/modules/typescript/overview.md +0 -400
  175. package/docs/modules/typescript/shared/auto-capture/module.md +0 -73
  176. package/docs/modules/typescript/shared/cli/constants.md +0 -23
  177. package/docs/modules/typescript/shared/cli/functions.md +0 -809
  178. package/docs/modules/typescript/shared/cli/module.md +0 -138
  179. package/docs/modules/typescript/shared/cli/typings.md +0 -197
  180. package/docs/modules/typescript/shared/embedding/functions.md +0 -200
  181. package/docs/modules/typescript/shared/embedding/module.md +0 -77
  182. package/docs/modules/typescript/shared/embedding/typings.md +0 -124
  183. package/docs/modules/typescript/shared/hash/functions.md +0 -20
  184. package/docs/modules/typescript/shared/hash/module.md +0 -21
  185. package/docs/modules/typescript/shared/log/constants.md +0 -82
  186. package/docs/modules/typescript/shared/log/functions.md +0 -131
  187. package/docs/modules/typescript/shared/log/module.md +0 -153
  188. package/docs/modules/typescript/shared/log/typings.md +0 -82
  189. package/docs/modules/typescript/shared/mcp/classes.md +0 -179
  190. package/docs/modules/typescript/shared/mcp/functions.md +0 -386
  191. package/docs/modules/typescript/shared/mcp/module.md +0 -160
  192. package/docs/modules/typescript/shared/mcp/typings.md +0 -529
  193. package/docs/modules/typescript/shared/module.md +0 -110
  194. package/docs/modules/typescript/shared/platform/functions.md +0 -42
  195. package/docs/modules/typescript/shared/platform/module.md +0 -25
  196. package/docs/modules/typescript/shared/runtime/functions.md +0 -26
  197. package/docs/modules/typescript/shared/runtime/module.md +0 -27
  198. package/docs/modules/typescript/shared/runtime/typings.md +0 -13
  199. package/docs/modules/typescript/shared/version/module.md +0 -27
  200. package/docs/modules/typescript/shared/wasm-codec/functions.md +0 -391
  201. package/docs/modules/typescript/shared/wasm-codec/module.md +0 -98
  202. package/docs/modules/typescript/shared/worker-client/classes.md +0 -264
  203. package/docs/modules/typescript/shared/worker-client/functions.md +0 -175
  204. package/docs/modules/typescript/shared/worker-client/module.md +0 -92
  205. package/docs/modules/typescript/shared/worker-client/typings.md +0 -511
  206. package/docs/modules/typescript/shared/worker-daemon/classes.md +0 -239
  207. package/docs/modules/typescript/shared/worker-daemon/constants.md +0 -37
  208. package/docs/modules/typescript/shared/worker-daemon/functions.md +0 -234
  209. package/docs/modules/typescript/shared/worker-daemon/module.md +0 -118
  210. package/docs/modules/typescript/shared/worker-daemon/typings.md +0 -132
  211. package/docs/overview.md +0 -191
  212. package/docs/release-notes/0.1.0.md +0 -189
  213. package/docs/release-notes/0.1.1.md +0 -46
  214. package/docs/release-notes/0.1.2.md +0 -38
  215. package/docs/release-notes/0.1.3.md +0 -42
  216. package/docs/release-notes/0.2.0.md +0 -147
  217. package/docs/release-notes/0.3.0.md +0 -89
  218. package/docs/release-notes/0.3.1.md +0 -121
  219. package/docs/release-notes/0.3.2.md +0 -64
  220. package/docs/release-notes/0.4.0.md +0 -80
  221. package/docs/release-notes/0.4.1.md +0 -149
  222. package/docs/release-notes/0.4.3.md +0 -60
  223. package/docs/release-notes/0.5.0.md +0 -41
  224. package/docs/release-notes/README.md +0 -16
@@ -1,400 +0,0 @@
1
- # TypeScript Layer -- Overview
2
-
3
- *Module structure, file conventions, and source layout
4
- for the TypeScript executables and shared modules.*
5
-
6
- ## Architecture
7
-
8
- Two thin executables, all logic in `src/shared/`
9
- sub-modules. Heavy computation (keyword extraction,
10
- indexing, ranking) runs in the Rust/WASM engine.
11
- TypeScript handles CLI parsing, MCP protocol, IPC
12
- transport, and WASM module loading.
13
-
14
- ```
15
- src/cli.ts ──────────────────────────────────┐
16
- │ (CLI mode or MCP mode) │
17
- ├─ imports shared/cli/ │
18
- ├─ imports shared/mcp/ │
19
- └─ imports shared/worker-client/ ──IPC──→ │
20
-
21
- src/worker.ts ───────────────────────────────┤
22
- │ (detached daemon process) │
23
- └─ imports shared/worker-daemon/ │
24
- └─ loads WASM modules │
25
- (query-parser, fs-database, │
26
- kb-worker) │
27
-
28
- mod.ts ──→ library API (npm/JSR) │
29
- └─ re-exports from shared/version/ │
30
- ```
31
-
32
- ## Entry Points
33
-
34
- Two executable entry points at the project root. Both
35
- are bundled by esbuild into `dist/` as ESM + CJS.
36
-
37
- | Entry | Purpose | Lifecycle |
38
- |-----------------------|------------------------|-------------|
39
- | `src/cli.ts` | CLI + MCP executable | Short or long-lived |
40
- | `src/worker.ts` | Worker daemon | Detached background |
41
- | `mod.ts` | Library API (npm/JSR) | Import only |
42
-
43
- ### `src/cli.ts`
44
-
45
- The `kbdb` command. Detects the run mode from the
46
- first argument:
47
-
48
- - `kbdb mcp [--db <path>]` → MCP server mode
49
- (long-lived, stdio JSON-RPC 2.0)
50
- - `kbdb <command> [options]` → CLI mode
51
- (short-lived, runs one command and exits)
52
-
53
- Both modes create a `WorkerClient` and delegate all
54
- operations to the daemon. The executable itself
55
- contains no business logic -- it dispatches to
56
- `shared/cli/` or `shared/mcp/`.
57
-
58
- ### `src/worker.ts`
59
-
60
- The worker daemon. Spawned as a detached child process
61
- by the worker-client module. Loads the four WASM
62
- modules, listens on a local IPC socket, and serves
63
- JSON-RPC 2.0 requests until idle timeout.
64
-
65
- Contains no business logic -- dispatches to
66
- `shared/worker-daemon/`.
67
-
68
- ## Source Layout
69
-
70
- ```
71
- src/cli.ts ← executable
72
- src/worker.ts ← executable
73
- mod.ts ← library API
74
-
75
- src/shared/
76
- ├── cli/ ← CLI commands
77
- │ ├── index.ts
78
- │ ├── constants/
79
- │ │ ├── defaults.constant.ts
80
- │ │ └── help-text.constant.ts
81
- │ ├── functions/
82
- │ │ ├── dispatch-command.function.ts
83
- │ │ ├── ensure-db.function.ts
84
- │ │ ├── error-to-message.function.ts
85
- │ │ ├── find-db.function.ts
86
- │ │ ├── format-output.function.ts
87
- │ │ ├── is-stdin-tty.function.ts
88
- │ │ ├── parse-args.function.ts
89
- │ │ ├── prompt-user.function.ts
90
- │ │ ├── run-agent-create.function.ts
91
- │ │ ├── run-agent-delete.function.ts
92
- │ │ ├── run-agent-get.function.ts
93
- │ │ ├── run-agent-list.function.ts
94
- │ │ ├── run-check.function.ts
95
- │ │ ├── run-cli.function.ts
96
- │ │ ├── run-content.function.ts
97
- │ │ ├── run-db-init.function.ts
98
- │ │ ├── run-db-migrate.function.ts
99
- │ │ ├── run-gc.function.ts
100
- │ │ ├── run-init.function.ts
101
- │ │ ├── run-learn.function.ts
102
- │ │ ├── run-migrate.function.ts
103
- │ │ ├── run-rebuild.function.ts
104
- │ │ ├── run-search.function.ts
105
- │ │ ├── run-skill-delete.function.ts
106
- │ │ ├── run-skill-get.function.ts
107
- │ │ ├── run-skill-learn.function.ts
108
- │ │ ├── run-skill-list.function.ts
109
- │ │ └── run-unlearn.function.ts
110
- │ └── typings/
111
- │ ├── cli-options.interface.ts
112
- │ ├── command-result.model.ts
113
- │ ├── learn-result.model.ts
114
- │ └── search-display.model.ts
115
-
116
- ├── mcp/ ← MCP server
117
- │ ├── index.ts
118
- │ ├── classes/
119
- │ │ └── mcp-server.class.ts
120
- │ ├── functions/
121
- │ │ ├── create-mcp-server.function.ts
122
- │ │ ├── create-prompt-definitions.function.ts
123
- │ │ ├── create-resource-templates.function.ts
124
- │ │ ├── create-tool-definitions.function.ts
125
- │ │ ├── handle-agent-create.function.ts
126
- │ │ ├── handle-agent-delete.function.ts
127
- │ │ ├── handle-agent-get.function.ts
128
- │ │ ├── handle-agent-list.function.ts
129
- │ │ ├── handle-completion.function.ts
130
- │ │ ├── handle-prompt-get.function.ts
131
- │ │ ├── handle-resource-read.function.ts
132
- │ │ ├── handle-skill-delete.function.ts
133
- │ │ ├── handle-skill-get.function.ts
134
- │ │ ├── handle-skill-learn.function.ts
135
- │ │ ├── handle-skill-list.function.ts
136
- │ │ ├── handle-tool-call.function.ts
137
- │ │ ├── parse-skill-content.function.ts
138
- │ │ └── serialize-skill-content.function.ts
139
- │ └── typings/
140
- │ ├── mcp-client.interface.ts
141
- │ └── mcp-types.interface.ts
142
-
143
- ├── worker-client/ ← IPC client
144
- │ ├── index.ts
145
- │ ├── classes/
146
- │ │ └── worker-client.class.ts
147
- │ ├── functions/
148
- │ │ ├── compute-context-id.function.ts
149
- │ │ ├── create-worker-client.function.ts
150
- │ │ ├── discover-daemon.function.ts
151
- │ │ ├── resolve-db-path.function.ts
152
- │ │ ├── spawn-daemon.function.ts
153
- │ │ └── wait-for-daemon.function.ts
154
- │ └── typings/
155
- │ ├── add-section-result.model.ts
156
- │ ├── content-result.model.ts
157
- │ ├── daemon-info.model.ts
158
- │ ├── gc-result.model.ts
159
- │ ├── integrity-check-result.model.ts
160
- │ ├── migrate-result.model.ts
161
- │ ├── rebuild-result.model.ts
162
- │ ├── remove-section-result.model.ts
163
- │ ├── search-params.model.ts
164
- │ ├── search-result.model.ts
165
- │ ├── section.model.ts
166
- │ ├── status-result.model.ts
167
- │ ├── version-status.model.ts
168
- │ ├── worker-client-error.interface.ts
169
- │ └── worker-client-options.interface.ts
170
-
171
- ├── worker-daemon/ ← Daemon process
172
- │ ├── index.ts
173
- │ ├── classes/
174
- │ │ └── worker-daemon.class.ts
175
- │ ├── functions/
176
- │ │ ├── create-host-imports.function.ts
177
- │ │ ├── create-ipc-server.function.ts
178
- │ │ ├── load-wasm-modules.function.ts
179
- │ │ ├── read-config.function.ts
180
- │ │ ├── run-worker.function.ts
181
- │ │ └── start-daemon.function.ts
182
- │ ├── typings/
183
- │ │ ├── daemon-config.interface.ts
184
- │ │ ├── ipc-handler.interface.ts
185
- │ │ └── wasm-modules.interface.ts
186
- │ └── constants/
187
- │ └── daemon-defaults.constant.ts
188
-
189
- ├── wasm-codec/ ← WASM binary codec
190
- │ ├── index.ts
191
- │ └── functions/
192
- │ ├── decode-compose-output.function.ts
193
- │ ├── decode-document-manifest.function.ts
194
- │ ├── decode-f32.function.ts
195
- │ ├── decode-key-value-text.function.ts
196
- │ ├── decode-remove-flag.function.ts
197
- │ ├── decode-scored-results.function.ts
198
- │ ├── decode-section-records.function.ts
199
- │ ├── decode-string.function.ts
200
- │ ├── decode-u32.function.ts
201
- │ ├── decode-u64.function.ts
202
- │ ├── encode-add-section-params.function.ts
203
- │ ├── encode-group-params.function.ts
204
- │ ├── encode-identifier-list.function.ts
205
- │ ├── encode-kbid-list.function.ts
206
- │ ├── encode-option-string.function.ts
207
- │ ├── encode-search-params.function.ts
208
- │ ├── encode-section-type.function.ts
209
- │ ├── encode-string.function.ts
210
- │ ├── encode-u32.function.ts
211
- │ └── encode-update-section-params.function.ts
212
-
213
- ├── version/ ← Package version
214
- │ ├── index.ts
215
- │ └── constants/
216
- │ └── version.constant.ts
217
-
218
- ├── runtime/ ← Runtime detection
219
- │ ├── index.ts
220
- │ ├── functions/
221
- │ │ ├── detect-runtime.function.ts
222
- │ │ └── get-args.function.ts
223
- │ └── typings/
224
- │ └── runtime.type.ts
225
-
226
- ├── platform/ ← OS abstractions
227
- │ ├── index.ts
228
- │ └── functions/
229
- │ ├── get-ipc-path.function.ts
230
- │ ├── get-tmpdir.function.ts
231
- │ └── is-process-alive.function.ts
232
-
233
- ├── hash/ ← SHA-256 hashing
234
- │ ├── index.ts
235
- │ └── functions/
236
- │ └── compute-sha256.function.ts
237
-
238
- └── log/ ← Structured logging
239
- ├── index.ts
240
- ├── constants/
241
- │ ├── log-colors.constant.ts
242
- │ ├── log-defaults.constant.ts
243
- │ └── log-icons.constant.ts
244
- ├── functions/
245
- │ ├── configure-log.function.ts
246
- │ ├── log.function.ts
247
- │ ├── parse-log-level.function.ts
248
- │ ├── resolve-log-level.function.ts
249
- │ └── write-stderr.function.ts
250
- └── typings/
251
- ├── log-config.interface.ts
252
- ├── log-level.type.ts
253
- └── log-output.interface.ts
254
- ```
255
-
256
- ## Module Conventions
257
-
258
- Every module follows the directory structure defined
259
- in the TypeScript skill (`.claude/skills/typescript.md`).
260
-
261
- ### Directory Roles
262
-
263
- | Directory | Contents | File suffix |
264
- |---------------|----------------------------|---------------------|
265
- | `classes/` | One class per file | `.class.ts` |
266
- | `functions/` | One function per file | `.function.ts` |
267
- | `constants/` | Related constants grouped | `.constant.ts` |
268
- | `typings/` | Type declarations | `.type.ts`, `.enum.ts`, `.interface.ts`, `.model.ts` |
269
- | `tests/` | BDD module integration | `.spec.ts` |
270
- | (root) | TDD unit specs + barrel | `.spec.ts`, `index.ts` |
271
-
272
- ### Import Conventions
273
-
274
- All imports go to `src/shared/[module]/` -- there is
275
- **no** `src/shared/index.ts` barrel.
276
-
277
- ```ts
278
- // Import from sub-module barrel
279
- import {
280
- WorkerClient,
281
- } from './shared/worker-client/index.ts';
282
-
283
- // Import from specific file
284
- import {
285
- createWorkerClient,
286
- } from './shared/worker-client/functions/create-worker-client.function.ts';
287
-
288
- // Import shared utility
289
- import {
290
- computeSha256,
291
- } from './shared/hash/functions/compute-sha256.function.ts';
292
-
293
- // Type-only imports (separate statement)
294
- import type {
295
- WorkerClientOptions,
296
- } from './shared/worker-client/typings/worker-client-options.interface.ts';
297
- ```
298
-
299
- All imports use `.ts` extensions (Deno requires them).
300
- Type-only imports use separate `import type`
301
- statements.
302
-
303
- ### File Naming
304
-
305
- | Category | Convention | Example |
306
- |------------|---------------------|----------------------------|
307
- | Module dir | kebab-case | `worker-client/` |
308
- | Class file | `<name>.class.ts` | `worker-client.class.ts` |
309
- | Function | `<name>.function.ts`| `spawn-daemon.function.ts` |
310
- | Constant | `<name>.constant.ts`| `defaults.constant.ts` |
311
- | Interface | `<name>.interface.ts`| `cli-options.interface.ts` |
312
- | Type alias | `<name>.type.ts` | `daemon-status.type.ts` |
313
- | Enum | `<name>.enum.ts` | `output-format.enum.ts` |
314
- | Model | `<name>.model.ts` | `search-result.model.ts` |
315
- | TDD spec | `<name>.spec.ts` | `spawn-daemon.spec.ts` |
316
- | BDD spec | `<scenario>.spec.ts`| `search-workflow.spec.ts` |
317
- | Barrel | `index.ts` | `index.ts` |
318
-
319
- ### Dual Runtime
320
-
321
- All code must work on both Deno and Node.js >= 20:
322
-
323
- - No `node:` protocol in library code
324
- - No Deno-specific APIs (`Deno.readTextFile`) in
325
- library code
326
- - Runtime detection via `typeof Deno !== 'undefined'`
327
- - Platform abstractions in `shared/platform/`
328
-
329
- ## Build Output
330
-
331
- ```
332
- dist/
333
- ├── mod.mjs ← ESM library
334
- ├── mod.cjs ← CJS library
335
- ├── mod.d.ts ← declarations
336
- ├── cli.mjs ← ESM CLI+MCP (shebang)
337
- ├── cli.cjs ← CJS CLI+MCP (shebang)
338
- ├── worker.mjs ← ESM daemon (shebang)
339
- ├── worker.cjs ← CJS daemon (shebang)
340
- ├── chunk-*.mjs ← shared code chunks
341
- └── src/
342
- └── **/*.d.ts ← per-file declarations
343
- ```
344
-
345
- ## Doc Directory Structure
346
-
347
- Documentation mirrors the source layout. All module
348
- docs live under `shared/`, matching the source tree.
349
-
350
- ```
351
- docs/modules/typescript/
352
- ├── overview.md ← this file
353
- └── shared/
354
- ├── module.md ← shared overview
355
- ├── cli/
356
- │ ├── module.md
357
- │ ├── functions.md
358
- │ ├── typings.md
359
- │ └── constants.md
360
- ├── mcp/
361
- │ ├── module.md
362
- │ ├── classes.md
363
- │ ├── functions.md
364
- │ └── typings.md
365
- ├── worker-client/
366
- │ ├── module.md
367
- │ ├── classes.md
368
- │ ├── functions.md
369
- │ └── typings.md
370
- ├── worker-daemon/
371
- │ ├── module.md
372
- │ ├── classes.md
373
- │ ├── functions.md
374
- │ ├── typings.md
375
- │ └── constants.md
376
- ├── wasm-codec/
377
- │ ├── module.md
378
- │ └── functions.md
379
- ├── version/
380
- │ └── module.md
381
- ├── runtime/
382
- │ ├── module.md
383
- │ ├── functions.md
384
- │ └── typings.md
385
- ├── platform/
386
- │ ├── module.md
387
- │ └── functions.md
388
- ├── hash/
389
- │ ├── module.md
390
- │ └── functions.md
391
- └── log/
392
- ├── module.md
393
- ├── functions.md
394
- ├── typings.md
395
- └── constants.md
396
- ```
397
-
398
- `module.md` = `index.ts` (module entry point).
399
- Category files document the implementations within
400
- each subdirectory.
@@ -1,73 +0,0 @@
1
- # auto-capture -- MCP Sampling-Based Automatic Knowledge Capture
2
-
3
- **Source:** `src/shared/auto-capture/`
4
-
5
- ## Responsibility
6
-
7
- Automatic knowledge capture from AI agent conversations. Uses MCP
8
- `sampling/createMessage` to ask the host LLM to identify knowledge
9
- worth storing, then feeds extracted knowledge into kbdb via `learn`.
10
- Operates as an MCP server-side feature -- the server proactively
11
- requests captures based on configurable triggers.
12
-
13
- ## Directory Layout
14
-
15
- ```
16
- src/shared/auto-capture/
17
- index.ts
18
- auto-capture.controller.ts
19
- trigger.ts
20
- sampling-prompt.ts
21
- rate-limiter.ts
22
- ```
23
-
24
- ## Components
25
-
26
- - **AutoCaptureController** (`auto-capture.controller.ts`) --
27
- Orchestrates the capture flow. Tracks tool call count, checks
28
- trigger conditions, invokes sampling, and feeds results to
29
- `learn`. Stateful per MCP session.
30
- - **Trigger logic** (`trigger.ts`) -- Evaluates whether a capture
31
- check should fire. Conditions: (a) after N tool calls (default:
32
- 10), (b) configurable time interval, (c) explicit
33
- `auto-capture-review` tool invocation. Multiple triggers can be
34
- active simultaneously.
35
- - **Sampling prompts** (`sampling-prompt.ts`) -- Prompt templates
36
- sent via `sampling/createMessage`. The prompt asks the host LLM
37
- to extract knowledge from the conversation that matches the
38
- `memory-protocol` skill's storage criteria: facts, decisions,
39
- rationale, procedures.
40
- - **Rate limiter** (`rate-limiter.ts`) -- Prevents excessive
41
- capture attempts. Enforces minimum interval between captures
42
- (default: 60 s) and maximum captures per session (default: 20).
43
-
44
- ## Configuration
45
-
46
- Configured via the `[auto_capture]` section of `worker.toml`:
47
-
48
- ```toml
49
- [auto_capture]
50
- enabled = false
51
- trigger_after_tool_calls = 10
52
- min_interval_seconds = 60
53
- max_captures_per_session = 20
54
- dry_run = false
55
- ```
56
-
57
- When `dry_run = true`, the controller logs what would be captured
58
- without actually writing to the database. Useful for tuning
59
- triggers.
60
-
61
- ## Dependency Direction
62
-
63
- ```
64
- shared/auto-capture/
65
- └── (no shared module deps -- uses MCP sampling API)
66
-
67
- shared/mcp/
68
- └── shared/auto-capture/ (controller lifecycle)
69
- ```
70
-
71
- The auto-capture module is instantiated by the MCP server module.
72
- It uses the MCP protocol's sampling capability -- not direct imports
73
- of other shared modules.
@@ -1,23 +0,0 @@
1
- # cli/constants -- CLI Defaults
2
-
3
- *Default values for CLI options.*
4
-
5
- ## Source
6
-
7
- `src/shared/cli/constants/`
8
-
9
- ### `defaults`
10
-
11
- **File:** `defaults.constant.ts`
12
-
13
- ```ts
14
- const DEFAULT_LIMIT = 20;
15
- const DEFAULT_FORMAT = OutputFormat.Json;
16
- const DEFAULT_MODE = 'sections';
17
- ```
18
-
19
- | Constant | Value | Used by |
20
- |------------------|-------------|--------------|
21
- | `DEFAULT_LIMIT` | `20` | `parseArgs` |
22
- | `DEFAULT_FORMAT` | `'json'` | `parseArgs` |
23
- | `DEFAULT_MODE` | `'sections'`| `parseArgs` |