@jafreck/lore 0.2.1 → 0.2.2

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 (134) hide show
  1. package/README.md +68 -17
  2. package/dist/cli.js +6 -6
  3. package/dist/cli.js.map +1 -1
  4. package/dist/index.d.ts +6 -6
  5. package/dist/index.d.ts.map +1 -1
  6. package/dist/index.js +3 -3
  7. package/dist/index.js.map +1 -1
  8. package/dist/indexer/db.d.ts +12 -11
  9. package/dist/indexer/db.d.ts.map +1 -1
  10. package/dist/indexer/db.js +22 -16
  11. package/dist/indexer/db.js.map +1 -1
  12. package/dist/indexer/ensure-python-deps.d.ts +1 -1
  13. package/dist/indexer/ensure-python-deps.js +1 -1
  14. package/dist/indexer/git-history.d.ts.map +1 -1
  15. package/dist/indexer/git-history.js +4 -4
  16. package/dist/indexer/git-history.js.map +1 -1
  17. package/dist/indexer/index.d.ts +3 -2
  18. package/dist/indexer/index.d.ts.map +1 -1
  19. package/dist/indexer/index.js +44 -16
  20. package/dist/indexer/index.js.map +1 -1
  21. package/dist/indexer/poller.d.ts +1 -1
  22. package/dist/indexer/poller.js +1 -1
  23. package/dist/indexer/watcher.d.ts +1 -1
  24. package/dist/indexer/watcher.js +1 -1
  25. package/dist/{kb-server → lore-server}/db.d.ts +76 -4
  26. package/dist/lore-server/db.d.ts.map +1 -0
  27. package/dist/{kb-server → lore-server}/db.js +219 -27
  28. package/dist/lore-server/db.js.map +1 -0
  29. package/dist/lore-server/server.d.ts +43 -0
  30. package/dist/lore-server/server.d.ts.map +1 -0
  31. package/dist/{kb-server → lore-server}/server.js +169 -46
  32. package/dist/lore-server/server.js.map +1 -0
  33. package/dist/{kb-server → lore-server}/tools/annotations.d.ts +2 -2
  34. package/dist/lore-server/tools/annotations.d.ts.map +1 -0
  35. package/dist/{kb-server → lore-server}/tools/annotations.js +2 -2
  36. package/dist/lore-server/tools/annotations.js.map +1 -0
  37. package/dist/{kb-server → lore-server}/tools/architecture.d.ts +2 -2
  38. package/dist/lore-server/tools/architecture.d.ts.map +1 -0
  39. package/dist/{kb-server → lore-server}/tools/architecture.js +2 -2
  40. package/dist/lore-server/tools/architecture.js.map +1 -0
  41. package/dist/lore-server/tools/blame.d.ts +159 -0
  42. package/dist/lore-server/tools/blame.d.ts.map +1 -0
  43. package/dist/lore-server/tools/blame.js +595 -0
  44. package/dist/lore-server/tools/blame.js.map +1 -0
  45. package/dist/{kb-server → lore-server}/tools/coverage.d.ts +2 -2
  46. package/dist/lore-server/tools/coverage.d.ts.map +1 -0
  47. package/dist/{kb-server → lore-server}/tools/coverage.js +2 -2
  48. package/dist/lore-server/tools/coverage.js.map +1 -0
  49. package/dist/{kb-server → lore-server}/tools/docs.d.ts +11 -3
  50. package/dist/lore-server/tools/docs.d.ts.map +1 -0
  51. package/dist/lore-server/tools/docs.js +243 -0
  52. package/dist/lore-server/tools/docs.js.map +1 -0
  53. package/dist/{kb-server → lore-server}/tools/graph.d.ts +40 -3
  54. package/dist/lore-server/tools/graph.d.ts.map +1 -0
  55. package/dist/{kb-server → lore-server}/tools/graph.js +122 -11
  56. package/dist/lore-server/tools/graph.js.map +1 -0
  57. package/dist/{kb-server → lore-server}/tools/history.d.ts +13 -6
  58. package/dist/lore-server/tools/history.d.ts.map +1 -0
  59. package/dist/{kb-server → lore-server}/tools/history.js +43 -10
  60. package/dist/lore-server/tools/history.js.map +1 -0
  61. package/dist/lore-server/tools/lookup.d.ts +75 -0
  62. package/dist/lore-server/tools/lookup.d.ts.map +1 -0
  63. package/dist/lore-server/tools/lookup.js +148 -0
  64. package/dist/lore-server/tools/lookup.js.map +1 -0
  65. package/dist/{kb-server → lore-server}/tools/metrics.d.ts +3 -3
  66. package/dist/lore-server/tools/metrics.d.ts.map +1 -0
  67. package/dist/{kb-server → lore-server}/tools/metrics.js +3 -3
  68. package/dist/lore-server/tools/metrics.js.map +1 -0
  69. package/dist/{kb-server → lore-server}/tools/notes.d.ts +16 -16
  70. package/dist/lore-server/tools/notes.d.ts.map +1 -0
  71. package/dist/{kb-server → lore-server}/tools/notes.js +21 -21
  72. package/dist/lore-server/tools/notes.js.map +1 -0
  73. package/dist/{kb-server → lore-server}/tools/routes.d.ts +2 -2
  74. package/dist/lore-server/tools/routes.d.ts.map +1 -0
  75. package/dist/{kb-server → lore-server}/tools/routes.js +2 -2
  76. package/dist/lore-server/tools/routes.js.map +1 -0
  77. package/dist/{kb-server → lore-server}/tools/search.d.ts +28 -3
  78. package/dist/lore-server/tools/search.d.ts.map +1 -0
  79. package/dist/{kb-server → lore-server}/tools/search.js +22 -2
  80. package/dist/lore-server/tools/search.js.map +1 -0
  81. package/dist/{kb-server → lore-server}/tools/snippet.d.ts +20 -4
  82. package/dist/lore-server/tools/snippet.d.ts.map +1 -0
  83. package/dist/lore-server/tools/snippet.js +116 -0
  84. package/dist/lore-server/tools/snippet.js.map +1 -0
  85. package/dist/{kb-server → lore-server}/tools/test-map.d.ts +2 -2
  86. package/dist/lore-server/tools/test-map.d.ts.map +1 -0
  87. package/dist/{kb-server → lore-server}/tools/test-map.js +2 -2
  88. package/dist/lore-server/tools/test-map.js.map +1 -0
  89. package/dist/{kb-server → lore-server}/tools/writeback.d.ts +2 -2
  90. package/dist/lore-server/tools/writeback.d.ts.map +1 -0
  91. package/dist/{kb-server → lore-server}/tools/writeback.js +3 -3
  92. package/dist/lore-server/tools/writeback.js.map +1 -0
  93. package/package.json +8 -8
  94. package/dist/kb-server/db.d.ts.map +0 -1
  95. package/dist/kb-server/db.js.map +0 -1
  96. package/dist/kb-server/server.d.ts +0 -43
  97. package/dist/kb-server/server.d.ts.map +0 -1
  98. package/dist/kb-server/server.js.map +0 -1
  99. package/dist/kb-server/tools/annotations.d.ts.map +0 -1
  100. package/dist/kb-server/tools/annotations.js.map +0 -1
  101. package/dist/kb-server/tools/architecture.d.ts.map +0 -1
  102. package/dist/kb-server/tools/architecture.js.map +0 -1
  103. package/dist/kb-server/tools/blame.d.ts +0 -67
  104. package/dist/kb-server/tools/blame.d.ts.map +0 -1
  105. package/dist/kb-server/tools/blame.js +0 -162
  106. package/dist/kb-server/tools/blame.js.map +0 -1
  107. package/dist/kb-server/tools/coverage.d.ts.map +0 -1
  108. package/dist/kb-server/tools/coverage.js.map +0 -1
  109. package/dist/kb-server/tools/docs.d.ts.map +0 -1
  110. package/dist/kb-server/tools/docs.js +0 -136
  111. package/dist/kb-server/tools/docs.js.map +0 -1
  112. package/dist/kb-server/tools/graph.d.ts.map +0 -1
  113. package/dist/kb-server/tools/graph.js.map +0 -1
  114. package/dist/kb-server/tools/history.d.ts.map +0 -1
  115. package/dist/kb-server/tools/history.js.map +0 -1
  116. package/dist/kb-server/tools/lookup.d.ts +0 -36
  117. package/dist/kb-server/tools/lookup.d.ts.map +0 -1
  118. package/dist/kb-server/tools/lookup.js +0 -46
  119. package/dist/kb-server/tools/lookup.js.map +0 -1
  120. package/dist/kb-server/tools/metrics.d.ts.map +0 -1
  121. package/dist/kb-server/tools/metrics.js.map +0 -1
  122. package/dist/kb-server/tools/notes.d.ts.map +0 -1
  123. package/dist/kb-server/tools/notes.js.map +0 -1
  124. package/dist/kb-server/tools/routes.d.ts.map +0 -1
  125. package/dist/kb-server/tools/routes.js.map +0 -1
  126. package/dist/kb-server/tools/search.d.ts.map +0 -1
  127. package/dist/kb-server/tools/search.js.map +0 -1
  128. package/dist/kb-server/tools/snippet.d.ts.map +0 -1
  129. package/dist/kb-server/tools/snippet.js +0 -49
  130. package/dist/kb-server/tools/snippet.js.map +0 -1
  131. package/dist/kb-server/tools/test-map.d.ts.map +0 -1
  132. package/dist/kb-server/tools/test-map.js.map +0 -1
  133. package/dist/kb-server/tools/writeback.d.ts.map +0 -1
  134. package/dist/kb-server/tools/writeback.js.map +0 -1
@@ -1,38 +1,42 @@
1
1
  /**
2
- * @module kb-server/server
2
+ * @module lore-server/server
3
3
  *
4
4
  * Knowledge-base MCP server.
5
5
  *
6
- * Exports `createKbMcpServer()` for use by `KbServerProcess` (HTTP transport)
6
+ * Exports `createLoreMcpServer()` for use by `LoreServerProcess` (HTTP transport)
7
7
  * and retains a standalone CLI entry point for development/debugging.
8
8
  *
9
9
  * MCP tools exposed:
10
- * kb_lookup — symbol / file lookup
11
- * kb_graph — call / import graph queries
12
- * kb_search — structural, semantic, and fused search
13
- * kb_docs — indexed documentation list/get/search
14
- * kb_test_map — source-file to mapped-test lookup
15
- * kb_snippet — source-code snippet extraction
16
- * kb_blame — git blame metadata for file lines
17
- * kb_metrics — aggregate code metrics
18
- * kb_writeback — LLM summary write-back
19
- * kb_history — git commit history queries
10
+ * lore_lookup — symbol / file lookup
11
+ * lore_graph — call / import graph queries
12
+ * lore_search — structural, semantic, and fused search
13
+ * lore_docs — indexed documentation list/get/search
14
+ * lore_test_map — source-file to mapped-test lookup
15
+ * lore_snippet — source-code snippet extraction
16
+ * lore_blame — git blame metadata for file lines
17
+ * lore_metrics — aggregate code metrics
18
+ * lore_writeback — LLM summary write-back
19
+ * lore_history — git commit history queries
20
20
  *
21
21
  * Standalone usage:
22
- * node dist/kb-server/server.js --db <path-to-kb.db>
23
- * tsx src/kb-server/server.ts --db <path-to-kb.db>
22
+ * node dist/lore-server/server.js --db <path-to-lore.db>
23
+ * tsx src/lore-server/server.ts --db <path-to-lore.db>
24
24
  */
25
25
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
26
26
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
27
27
  import { z } from 'zod';
28
28
  import { fileURLToPath } from 'url';
29
29
  import { listCommitAuthorStats, listCommitBranchActivity, listCommitCadence, listCommitChurnByFile, listCommitMessagePrefixes, listCommitSchedule, listCommitSizes, openReadOnly, } from './db.js';
30
- import { getKbMeta } from '../indexer/db.js';
30
+ import { getLoreMeta } from '../indexer/db.js';
31
31
  import { SentenceTransformersProvider } from '../indexer/embedder.js';
32
32
  import * as lookup from './tools/lookup.js';
33
33
  import * as graph from './tools/graph.js';
34
34
  import * as search from './tools/search.js';
35
35
  import * as docs from './tools/docs.js';
36
+ import * as annotations from './tools/annotations.js';
37
+ import * as routes from './tools/routes.js';
38
+ import * as notes from './tools/notes.js';
39
+ import * as architecture from './tools/architecture.js';
36
40
  import * as testMap from './tools/test-map.js';
37
41
  import * as snippet from './tools/snippet.js';
38
42
  import * as blame from './tools/blame.js';
@@ -71,24 +75,37 @@ function handleCommitStats(db, args) {
71
75
  }
72
76
  // ─── Server factory ───────────────────────────────────────────────────────────
73
77
  /**
74
- * Create and return a fully-configured `McpServer` with all KB tools registered.
78
+ * Create and return a fully-configured `McpServer` with all Lore tools registered.
75
79
  *
76
80
  * @param db Read-only SQLite connection to the knowledge-base.
77
- * @param dbPath Path to the DB file, needed by `kb_writeback` for write access.
81
+ * @param dbPath Path to the DB file, needed by `lore_writeback` for write access.
78
82
  * @param embedder Optional live embedding provider for semantic/fused search.
79
83
  * @param options Optional server configuration (e.g. search observer).
80
84
  */
81
- export function createKbMcpServer(db, dbPath, embedder, options) {
82
- const server = new McpServer({ name: 'lore-kb-server', version: '0.1.0' }, { capabilities: { tools: {} } });
83
- // ── kb_lookup ──────────────────────────────────────────────────────────────
85
+ export function createLoreMcpServer(db, dbPath, embedder, options) {
86
+ const server = new McpServer({ name: 'lore-server', version: '0.1.0' }, { capabilities: { tools: {} } });
87
+ // ── lore_lookup ──────────────────────────────────────────────────────────────
84
88
  server.tool(lookup.toolDef.name, lookup.toolDef.description, {
85
89
  kind: z.enum(['symbol', 'file']).describe('Whether to look up a symbol or a file.'),
86
90
  query: z.string().describe('Symbol name or file path to look up (includes persisted enrichment metadata when available).'),
91
+ mode: z
92
+ .enum(['exact', 'semantic', 'fused'])
93
+ .optional()
94
+ .describe('For kind="symbol", retrieval mode (default: exact).'),
87
95
  branch: z.string().optional().describe('Optional branch to filter results.'),
96
+ match_mode: z
97
+ .enum(['exact', 'prefix', 'contains'])
98
+ .optional()
99
+ .describe('For kind="symbol": symbol-name match mode (default "exact").'),
100
+ symbol_kind: z.string().optional().describe('For kind="symbol": optional symbol kind filter.'),
101
+ path_prefix: z.string().optional().describe('For kind="symbol": optional indexed file-path prefix filter.'),
102
+ language: z.string().optional().describe('For kind="symbol": optional indexed file language filter.'),
103
+ limit: z.number().int().nonnegative().optional().describe('For kind="symbol" with empty query: maximum rows to return.'),
104
+ offset: z.number().int().nonnegative().optional().describe('For kind="symbol" with empty query: rows to skip before returning results.'),
88
105
  }, async (args) => ({
89
- content: [{ type: 'text', text: JSON.stringify(lookup.handler(db, args)) }],
106
+ content: [{ type: 'text', text: JSON.stringify(await lookup.handler(db, args, embedder)) }],
90
107
  }));
91
- // ── kb_graph ───────────────────────────────────────────────────────────────
108
+ // ── lore_graph ───────────────────────────────────────────────────────────────
92
109
  server.tool(graph.toolDef.name, graph.toolDef.description, {
93
110
  kind: z
94
111
  .enum(['call', 'import', 'module', 'inheritance'])
@@ -96,10 +113,26 @@ export function createKbMcpServer(db, dbPath, embedder, options) {
96
113
  source_id: z.number().optional().describe('Filter edges by source node id.'),
97
114
  limit: z.number().optional().describe('Max edges to return (default 200).'),
98
115
  branch: z.string().optional().describe('Optional branch to filter edges.'),
116
+ mode: z
117
+ .enum(['structural', 'semantic'])
118
+ .optional()
119
+ .describe('Query mode (default: structural).'),
120
+ query_vector: z
121
+ .array(z.number())
122
+ .optional()
123
+ .describe('Embedding vector for semantic mode related-node retrieval.'),
124
+ semantic_limit: z
125
+ .number()
126
+ .optional()
127
+ .describe('Semantic related-node cap (default: min(limit, 20)).'),
128
+ semantic_max_distance: z
129
+ .number()
130
+ .optional()
131
+ .describe('Optional max embedding distance threshold for semantic nodes.'),
99
132
  }, async (args) => ({
100
133
  content: [{ type: 'text', text: JSON.stringify(graph.handler(db, args)) }],
101
134
  }));
102
- // ── kb_search ──────────────────────────────────────────────────────────────
135
+ // ── lore_search ──────────────────────────────────────────────────────────────
103
136
  server.tool(search.toolDef.name, search.toolDef.description, {
104
137
  query: z.string().describe('Search query.'),
105
138
  mode: z
@@ -107,17 +140,32 @@ export function createKbMcpServer(db, dbPath, embedder, options) {
107
140
  .optional()
108
141
  .describe('Search mode (default: structural).'),
109
142
  limit: z.number().optional().describe('Max results (default 20).'),
143
+ path_prefix: z.string().optional().describe('Optional source file path prefix filter for symbol results.'),
144
+ language: z.string().optional().describe('Optional source language filter for symbol results.'),
145
+ kind: z.string().optional().describe('Optional symbol kind filter for symbol results.'),
146
+ doc_path_prefix: z
147
+ .string()
148
+ .optional()
149
+ .describe('Optional documentation path prefix filter for semantic/fused doc-section results.'),
150
+ doc_kind: z
151
+ .string()
152
+ .optional()
153
+ .describe('Optional documentation kind filter for semantic/fused doc-section results.'),
110
154
  branch: z.string().optional().describe('Optional branch to filter results. Query-time retrieval uses SQLite-only persisted data.'),
111
155
  }, async (args) => ({
112
156
  content: [{ type: 'text', text: JSON.stringify(await search.handler(db, args, embedder, options?.searchObserver)) }],
113
157
  }));
114
- // ── kb_docs ────────────────────────────────────────────────────────────────
158
+ // ── lore_docs ────────────────────────────────────────────────────────────────
115
159
  server.tool(docs.toolDef.name, docs.toolDef.description, {
116
160
  action: z
117
161
  .enum(['list', 'get', 'search'])
118
162
  .describe('Docs operation mode: list docs, get a doc by path, or search sections.'),
119
163
  path: z.string().optional().describe('Optional doc path filter (required for exact get).'),
120
164
  query: z.string().optional().describe('Search query text for action="search".'),
165
+ mode: z
166
+ .enum(['text', 'semantic', 'fused'])
167
+ .optional()
168
+ .describe('For action="search", retrieval mode (default: text).'),
121
169
  kind: z.string().optional().describe('Optional single doc kind filter.'),
122
170
  kinds: z.array(z.string()).optional().describe('Optional doc kind filter list.'),
123
171
  include_sections: z
@@ -128,16 +176,66 @@ export function createKbMcpServer(db, dbPath, embedder, options) {
128
176
  limit: z.number().optional().describe('Max rows to return (defaults depend on action).'),
129
177
  branch: z.string().optional().describe('Optional branch to filter docs.'),
130
178
  }, async (args) => ({
131
- content: [{ type: 'text', text: JSON.stringify(docs.handler(db, args)) }],
179
+ content: [{ type: 'text', text: JSON.stringify(await docs.handler(db, args, embedder)) }],
180
+ }));
181
+ // ── lore_annotations ─────────────────────────────────────────────────────────
182
+ server.tool(annotations.toolDef.name, annotations.toolDef.description, {
183
+ kind: z
184
+ .enum(['TODO', 'FIXME', 'HACK', 'XXX', 'NOTE', 'BUG', 'OPTIMIZE'])
185
+ .describe('Annotation kind/tag to filter by.'),
186
+ path: z.string().optional().describe('Optional exact file path filter.'),
187
+ limit: z.number().optional().describe('Maximum number of results to return (default 20).'),
188
+ }, async (args) => ({
189
+ content: [{ type: 'text', text: JSON.stringify(annotations.handler(db, args)) }],
190
+ }));
191
+ // ── lore_routes ──────────────────────────────────────────────────────────────
192
+ server.tool(routes.toolDef.name, routes.toolDef.description, {
193
+ method: z.string().optional().describe('Optional HTTP method filter (for example GET, POST).'),
194
+ path_prefix: z.string().optional().describe('Optional route path prefix filter.'),
195
+ framework: z.string().optional().describe('Optional framework filter (for example express, fastapi, gin).'),
196
+ }, async (args) => ({
197
+ content: [{ type: 'text', text: JSON.stringify(routes.handler(db, args)) }],
132
198
  }));
133
- // ── kb_test_map ─────────────────────────────────────────────────────────────
199
+ // ── lore_notes_write ─────────────────────────────────────────────────────────
200
+ server.tool(notes.writeToolDef.name, notes.writeToolDef.description, {
201
+ key: z.string().describe('Topic identifier, e.g. "architecture/overview".'),
202
+ scope: z
203
+ .string()
204
+ .optional()
205
+ .describe('Optional scope (default "global"), e.g. file:<path>, module:<name>.'),
206
+ content: z.string().describe('The note text.'),
207
+ model: z.string().optional().describe('Model identifier that authored the note.'),
208
+ source_hash: z.string().optional().describe('Optional source hash used for staleness detection.'),
209
+ }, async (args) => ({
210
+ content: [{ type: 'text', text: JSON.stringify(notes.writeHandler(dbPath, args)) }],
211
+ }));
212
+ // ── lore_notes_read ──────────────────────────────────────────────────────────
213
+ server.tool(notes.readToolDef.name, notes.readToolDef.description, {
214
+ key: z.string().optional().describe('Exact key match.'),
215
+ key_prefix: z.string().optional().describe('Prefix match (e.g. "architecture/").'),
216
+ scope: z.string().optional().describe('Optional scope filter.'),
217
+ limit: z.number().optional().describe('Max notes to return (default 20, max 200).'),
218
+ }, async (args) => ({
219
+ content: [{ type: 'text', text: JSON.stringify(notes.readHandler(db, args)) }],
220
+ }));
221
+ // ── lore_architecture ────────────────────────────────────────────────────────
222
+ server.tool(architecture.toolDef.name, architecture.toolDef.description, {
223
+ depth: z
224
+ .number()
225
+ .optional()
226
+ .describe('Optional path depth used to group files into components (default 2).'),
227
+ branch: z.string().optional().describe('Optional branch name to filter architecture output.'),
228
+ }, async (args) => ({
229
+ content: [{ type: 'text', text: JSON.stringify(architecture.handler(db, args)) }],
230
+ }));
231
+ // ── lore_test_map ─────────────────────────────────────────────────────────────
134
232
  server.tool(testMap.toolDef.name, testMap.toolDef.description, {
135
233
  source_path: z.string().describe('Source file path to resolve mapped test files for.'),
136
234
  branch: z.string().optional().describe('Optional branch to constrain mappings.'),
137
235
  }, async (args) => ({
138
236
  content: [{ type: 'text', text: JSON.stringify(testMap.handler(db, args)) }],
139
237
  }));
140
- // ── kb_snippet ─────────────────────────────────────────────────────────────
238
+ // ── lore_snippet ─────────────────────────────────────────────────────────────
141
239
  server.tool(snippet.toolDef.name, snippet.toolDef.description, {
142
240
  path: z.string().describe('Absolute file path as stored in the index.'),
143
241
  start_line: z.number().optional().describe('First line (1-based, inclusive).'),
@@ -146,11 +244,24 @@ export function createKbMcpServer(db, dbPath, embedder, options) {
146
244
  }, async (args) => ({
147
245
  content: [{ type: 'text', text: JSON.stringify(snippet.handler(db, args)) }],
148
246
  }));
149
- // ── kb_metrics ─────────────────────────────────────────────────────────────
150
- server.tool(metrics.toolDef.name, metrics.toolDef.description, {}, async (_args) => ({
151
- content: [{ type: 'text', text: JSON.stringify(metrics.handler(db, {})) }],
247
+ // ── lore_metrics ─────────────────────────────────────────────────────────────
248
+ server.tool(metrics.toolDef.name, metrics.toolDef.description, {
249
+ mode: z
250
+ .enum(metrics.toolDef.inputSchema.properties.mode.enum)
251
+ .optional()
252
+ .describe(metrics.toolDef.inputSchema.properties.mode.description),
253
+ limit: z
254
+ .number()
255
+ .optional()
256
+ .describe(metrics.toolDef.inputSchema.properties.limit.description),
257
+ min_cyclomatic: z
258
+ .number()
259
+ .optional()
260
+ .describe(metrics.toolDef.inputSchema.properties.min_cyclomatic.description),
261
+ }, async (args = {}) => ({
262
+ content: [{ type: 'text', text: JSON.stringify(metrics.handler(db, args)) }],
152
263
  }));
153
- // ── kb_coverage ────────────────────────────────────────────────────────────
264
+ // ── lore_coverage ────────────────────────────────────────────────────────────
154
265
  server.tool(coverage.toolDef.name, coverage.toolDef.description, {
155
266
  symbol_id: z.number().optional().describe('Optional symbol id to fetch exact coverage for.'),
156
267
  symbol_name: z.string().optional().describe('Optional symbol name filter (case-insensitive).'),
@@ -160,18 +271,30 @@ export function createKbMcpServer(db, dbPath, embedder, options) {
160
271
  }, async (args) => ({
161
272
  content: [{ type: 'text', text: JSON.stringify(coverage.handler(db, args)) }],
162
273
  }));
163
- // ── kb_blame ───────────────────────────────────────────────────────────────
274
+ // ── lore_blame ───────────────────────────────────────────────────────────────
164
275
  server.tool(blame.toolDef.name, blame.toolDef.description, {
165
- path: z.string().describe('Absolute file path as stored in the index.'),
276
+ path: z.string().optional().describe('Absolute file path as stored in the index.'),
166
277
  line: z.number().optional().describe('Single line to blame (1-based).'),
167
278
  start_line: z.number().optional().describe('Range start line (1-based).'),
168
279
  end_line: z.number().optional().describe('Range end line (1-based).'),
169
280
  ref: z.string().optional().describe('Git ref to blame against (default HEAD).'),
170
281
  branch: z.string().optional().describe('Optional branch to disambiguate indexed file path.'),
282
+ mode: z
283
+ .enum(['blame', 'history', 'ownership'])
284
+ .optional()
285
+ .describe('Query mode (default: "blame").'),
286
+ symbol: z
287
+ .string()
288
+ .optional()
289
+ .describe('Optional symbol name to resolve to an indexed file + line range.'),
290
+ scope: z
291
+ .enum(['file', 'directory'])
292
+ .optional()
293
+ .describe('Ownership mode scope. If omitted, inferred from `path`.'),
171
294
  }, async (args) => ({
172
295
  content: [{ type: 'text', text: JSON.stringify(blame.handler(db, args)) }],
173
296
  }));
174
- // ── kb_writeback ───────────────────────────────────────────────────────────
297
+ // ── lore_writeback ───────────────────────────────────────────────────────────
175
298
  server.tool(writeback.toolDef.name, writeback.toolDef.description, {
176
299
  symbol_id: z.number().describe('Symbol id to attach the summary to.'),
177
300
  summary: z.string().describe('Natural-language summary text.'),
@@ -182,18 +305,18 @@ export function createKbMcpServer(db, dbPath, embedder, options) {
182
305
  { type: 'text', text: JSON.stringify(writeback.handler(dbPath, args)) },
183
306
  ],
184
307
  }));
185
- // ── kb_history ─────────────────────────────────────────────────────────────
308
+ // ── lore_history ─────────────────────────────────────────────────────────────
186
309
  server.tool(history.toolDef.name, history.toolDef.description, {
187
310
  mode: z
188
- .enum(['file', 'commit', 'author', 'ref', 'recent'])
189
- .describe('Query mode: file, commit, author, ref, or recent.'),
190
- query: z.string().optional().describe('File path, commit SHA, author name/email, or ref.'),
311
+ .enum(['file', 'commit', 'author', 'ref', 'semantic', 'recent'])
312
+ .describe('Query mode: file, commit, author, ref, semantic, or recent.'),
313
+ query: z.string().optional().describe('File path, commit SHA, author name/email, ref, or semantic query text.'),
191
314
  limit: z.number().optional().describe('Max results (default 20, max 200).'),
192
315
  }, async (args) => ({
193
- content: [{ type: 'text', text: JSON.stringify(history.handler(db, args)) }],
316
+ content: [{ type: 'text', text: JSON.stringify(await history.handler(db, args, embedder)) }],
194
317
  }));
195
- // ── kb_commit_stats ────────────────────────────────────────────────────────
196
- server.tool('kb_commit_stats', 'Return git commit analytics for a selected metric.', {
318
+ // ── lore_commit_stats ────────────────────────────────────────────────────────
319
+ server.tool('lore_commit_stats', 'Return git commit analytics for a selected metric.', {
197
320
  metric: z
198
321
  .enum(['cadence', 'size', 'churn', 'authors', 'messages', 'schedule', 'branches'])
199
322
  .describe('Analytics metric to compute.'),
@@ -208,12 +331,12 @@ export function createKbMcpServer(db, dbPath, embedder, options) {
208
331
  }
209
332
  // ─── Embedding helper ─────────────────────────────────────────────────────────
210
333
  /**
211
- * Read the embedding model stored in `kb_meta` at index time and spin up a
334
+ * Read the embedding model stored in `lore_meta` at index time and spin up a
212
335
  * `SentenceTransformersProvider` instance for it. Returns `undefined` when no
213
336
  * embedding model is recorded in the database.
214
337
  */
215
338
  async function buildEmbedder(db) {
216
- const modelName = getKbMeta(db, 'embedding_model');
339
+ const modelName = getLoreMeta(db, 'embedding_model');
217
340
  if (!modelName)
218
341
  return undefined;
219
342
  const provider = new SentenceTransformersProvider(modelName);
@@ -235,7 +358,7 @@ function parseArgs() {
235
358
  const args = process.argv.slice(2);
236
359
  const dbIdx = args.indexOf('--db');
237
360
  if (dbIdx === -1 || !args[dbIdx + 1]) {
238
- console.error('Usage: kb-server --db <path>');
361
+ console.error('Usage: lore-server --db <path>');
239
362
  process.exit(1);
240
363
  }
241
364
  return { dbPath: args[dbIdx + 1] };
@@ -245,7 +368,7 @@ async function main() {
245
368
  const { dbPath } = parseArgs();
246
369
  const db = openReadOnly(dbPath);
247
370
  const embedder = await buildEmbedder(db);
248
- const server = createKbMcpServer(db, dbPath, embedder);
371
+ const server = createLoreMcpServer(db, dbPath, embedder);
249
372
  // Connect via stdio transport (standalone/debug mode).
250
373
  const transport = new StdioServerTransport();
251
374
  await server.connect(transport);
@@ -255,7 +378,7 @@ async function main() {
255
378
  // Only run when executed as a standalone script, not when imported as a module.
256
379
  if (process.argv[1] === fileURLToPath(import.meta.url)) {
257
380
  main().catch((err) => {
258
- console.error('KB server fatal error:', err);
381
+ console.error('Lore server fatal error:', err);
259
382
  process.exit(1);
260
383
  });
261
384
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/lore-server/server.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,12 @@
1
1
  /**
2
- * @module kb-server/tools/annotations
2
+ * @module lore-server/tools/annotations
3
3
  *
4
4
  * MCP tool: return indexed source-code annotations by kind.
5
5
  */
6
6
  import type { Database } from '../db.js';
7
7
  import { listAnnotations } from '../db.js';
8
8
  export declare const toolDef: {
9
- readonly name: "kb_annotations";
9
+ readonly name: "lore_annotations";
10
10
  readonly description: "Return indexed annotations (TODO/FIXME/etc.) by kind, with optional file path filter and result limit.";
11
11
  readonly inputSchema: {
12
12
  readonly type: "object";
@@ -0,0 +1 @@
1
+ {"version":3,"file":"annotations.d.ts","sourceRoot":"","sources":["../../../src/lore-server/tools/annotations.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;CAuBV,CAAC;AAEX,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,UAAU,CAAC;IACtE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC;CAC7C;AAED,wBAAgB,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,eAAe,GAAG,iBAAiB,CAIvF"}
@@ -1,11 +1,11 @@
1
1
  /**
2
- * @module kb-server/tools/annotations
2
+ * @module lore-server/tools/annotations
3
3
  *
4
4
  * MCP tool: return indexed source-code annotations by kind.
5
5
  */
6
6
  import { listAnnotations } from '../db.js';
7
7
  export const toolDef = {
8
- name: 'kb_annotations',
8
+ name: 'lore_annotations',
9
9
  description: 'Return indexed annotations (TODO/FIXME/etc.) by kind, with optional file path filter and result limit.',
10
10
  inputSchema: {
11
11
  type: 'object',
@@ -0,0 +1 @@
1
+ {"version":3,"file":"annotations.js","sourceRoot":"","sources":["../../../src/lore-server/tools/annotations.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,IAAI,EAAE,kBAAkB;IACxB,WAAW,EACT,wGAAwG;IAC1G,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC;gBACjE,WAAW,EAAE,mCAAmC;aACjD;YACD,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,kCAAkC;aAChD;YACD,KAAK,EAAE;gBACL,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,mDAAmD;aACjE;SACF;QACD,QAAQ,EAAE,CAAC,MAAM,CAAC;KACnB;CACO,CAAC;AAYX,MAAM,UAAU,OAAO,CAAC,EAAqB,EAAE,IAAqB;IAClE,OAAO;QACL,OAAO,EAAE,eAAe,CAAC,EAAE,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;KACrE,CAAC;AACJ,CAAC"}
@@ -1,11 +1,11 @@
1
1
  /**
2
- * @module kb-server/tools/architecture
2
+ * @module lore-server/tools/architecture
3
3
  *
4
4
  * MCP tool: return a high-level architecture view grouped by path depth.
5
5
  */
6
6
  import type { Database } from '../db.js';
7
7
  export declare const toolDef: {
8
- readonly name: "kb_architecture";
8
+ readonly name: "lore_architecture";
9
9
  readonly description: string;
10
10
  readonly inputSchema: {
11
11
  readonly type: "object";
@@ -0,0 +1 @@
1
+ {"version":3,"file":"architecture.d.ts","sourceRoot":"","sources":["../../../src/lore-server/tools/architecture.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEzC,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;CAmBV,CAAC;AAEX,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,sBAAsB,EAAE,CAAC;CACxC;AAED,MAAM,WAAW,gBAAgB;IAC/B,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,qBAAqB,EAAE,CAAC;IACpC,KAAK,EAAE,gBAAgB,EAAE,CAAC;IAC1B,YAAY,EAAE,gBAAgB,EAAE,CAAC;IACjC,UAAU,EAAE,gBAAgB,EAAE,CAAC;IAC/B,aAAa,EAAE,uBAAuB,EAAE,CAAC;CAC1C;AAiBD,wBAAgB,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,gBAAgB,GAAG,kBAAkB,CA2MzF"}
@@ -1,10 +1,10 @@
1
1
  /**
2
- * @module kb-server/tools/architecture
2
+ * @module lore-server/tools/architecture
3
3
  *
4
4
  * MCP tool: return a high-level architecture view grouped by path depth.
5
5
  */
6
6
  export const toolDef = {
7
- name: 'kb_architecture',
7
+ name: 'lore_architecture',
8
8
  description: 'Return an architecture overview grouped by path prefix, including component summaries, ' +
9
9
  'inter-component edges, entry points, leaf nodes, and external dependency usage.',
10
10
  inputSchema: {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"architecture.js","sourceRoot":"","sources":["../../../src/lore-server/tools/architecture.ts"],"names":[],"mappings":"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"}