opencode-rag-plugin 1.8.4 → 1.10.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 (67) hide show
  1. package/ReadMe.md +2 -2
  2. package/dist/api.d.ts +27 -0
  3. package/dist/api.js +119 -0
  4. package/dist/api.js.map +1 -0
  5. package/dist/chunker/base.d.ts +1 -0
  6. package/dist/chunker/base.js +5 -2
  7. package/dist/chunker/base.js.map +1 -1
  8. package/dist/chunker/bash.d.ts +8 -0
  9. package/dist/chunker/bash.js +11 -0
  10. package/dist/chunker/bash.js.map +1 -0
  11. package/dist/chunker/dockerfile.d.ts +8 -0
  12. package/dist/chunker/dockerfile.js +29 -0
  13. package/dist/chunker/dockerfile.js.map +1 -0
  14. package/dist/chunker/factory.d.ts +9 -1
  15. package/dist/chunker/factory.js +24 -3
  16. package/dist/chunker/factory.js.map +1 -1
  17. package/dist/chunker/grammar.d.ts +1 -0
  18. package/dist/chunker/grammar.js +42 -2
  19. package/dist/chunker/grammar.js.map +1 -1
  20. package/dist/chunker/ini.d.ts +8 -0
  21. package/dist/chunker/ini.js +11 -0
  22. package/dist/chunker/ini.js.map +1 -0
  23. package/dist/chunker/markdown.d.ts +4 -3
  24. package/dist/chunker/markdown.js +4 -91
  25. package/dist/chunker/markdown.js.map +1 -1
  26. package/dist/chunker/php.d.ts +8 -0
  27. package/dist/chunker/php.js +12 -0
  28. package/dist/chunker/php.js.map +1 -0
  29. package/dist/chunker/powershell.d.ts +8 -0
  30. package/dist/chunker/powershell.js +11 -0
  31. package/dist/chunker/powershell.js.map +1 -0
  32. package/dist/chunker/sql.d.ts +8 -0
  33. package/dist/chunker/sql.js +11 -0
  34. package/dist/chunker/sql.js.map +1 -0
  35. package/dist/chunker/toml.d.ts +8 -0
  36. package/dist/chunker/toml.js +13 -0
  37. package/dist/chunker/toml.js.map +1 -0
  38. package/dist/chunker/yaml.d.ts +8 -0
  39. package/dist/chunker/yaml.js +12 -0
  40. package/dist/chunker/yaml.js.map +1 -0
  41. package/dist/cli.js +35 -5
  42. package/dist/cli.js.map +1 -1
  43. package/dist/core/config.d.ts +10 -1
  44. package/dist/core/config.js +101 -2
  45. package/dist/core/config.js.map +1 -1
  46. package/dist/eval/types.js +0 -1
  47. package/dist/eval/types.js.map +1 -1
  48. package/dist/index.d.ts +2 -0
  49. package/dist/index.js +3 -0
  50. package/dist/index.js.map +1 -1
  51. package/dist/indexer.d.ts +9 -0
  52. package/dist/indexer.js +3 -2
  53. package/dist/indexer.js.map +1 -1
  54. package/dist/mcp/cli.d.ts +4 -0
  55. package/dist/mcp/cli.js +15 -0
  56. package/dist/mcp/cli.js.map +1 -0
  57. package/dist/mcp/handlers.d.ts +46 -0
  58. package/dist/mcp/handlers.js +300 -0
  59. package/dist/mcp/handlers.js.map +1 -0
  60. package/dist/mcp/server.d.ts +12 -0
  61. package/dist/mcp/server.js +124 -0
  62. package/dist/mcp/server.js.map +1 -0
  63. package/dist/opencode/read-format.d.ts +1 -1
  64. package/dist/opencode/read-format.js +1 -1
  65. package/dist/plugin.js +15 -34
  66. package/dist/plugin.js.map +1 -1
  67. package/package.json +19 -2
@@ -0,0 +1,124 @@
1
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
3
+ import { z } from "zod/v4";
4
+ import { loadConfig, DEFAULT_CONFIG } from "../core/config.js";
5
+ import { createEmbedder } from "../embedder/factory.js";
6
+ import { LanceDBStore } from "../vectorstore/lancedb.js";
7
+ import { KeywordIndex as KeywordIndexImpl } from "../retriever/keyword-index.js";
8
+ import { retrieve } from "../retriever/retriever.js";
9
+ import { existsSync } from "node:fs";
10
+ import path from "node:path";
11
+ import process from "node:process";
12
+ import { handleSearchSemantic, handleFileSkeleton, handleFindUsages, } from "./handlers.js";
13
+ function resolveConfig(cwd, configPath) {
14
+ if (configPath) {
15
+ return loadConfig(path.resolve(configPath));
16
+ }
17
+ const locations = [
18
+ path.join(cwd, "opencode-rag.json"),
19
+ path.join(cwd, ".opencode", "opencode-rag.json"),
20
+ path.join(cwd, ".opencode", "rag.json"),
21
+ ];
22
+ for (const loc of locations) {
23
+ if (existsSync(loc)) {
24
+ return loadConfig(loc);
25
+ }
26
+ }
27
+ return { ...DEFAULT_CONFIG };
28
+ }
29
+ async function probeDimension(embedder) {
30
+ try {
31
+ const probe = await embedder.embed(["dimension-probe"], "query");
32
+ if (probe && probe[0] && probe[0].length > 0 && typeof probe[0][0] === "number") {
33
+ return probe[0].length;
34
+ }
35
+ }
36
+ catch {
37
+ }
38
+ return 384;
39
+ }
40
+ async function loadKeywordIndex(storePath) {
41
+ try {
42
+ const idx = await KeywordIndexImpl.load(storePath);
43
+ return idx;
44
+ }
45
+ catch {
46
+ return new KeywordIndexImpl(storePath);
47
+ }
48
+ }
49
+ export async function createMcpServer(options) {
50
+ const cwd = options?.cwd ?? process.cwd();
51
+ const cfg = resolveConfig(cwd, options?.configPath);
52
+ const storePath = path.resolve(cwd, cfg.vectorStore.path);
53
+ const embedder = createEmbedder(cfg);
54
+ const dimension = await probeDimension(embedder);
55
+ const store = new LanceDBStore(storePath, dimension);
56
+ const keywordIndex = await loadKeywordIndex(storePath);
57
+ const server = new McpServer({
58
+ name: "opencode-rag-mcp",
59
+ version: "1.0.0",
60
+ });
61
+ server.tool("search_semantic", "Search the indexed codebase by meaning, not just keywords. Returns relevant code chunks with file paths, line numbers, and relevance scores.", {
62
+ query: z.string().min(1, "A search query is required."),
63
+ pathHints: z.array(z.string().min(1)).max(10).optional(),
64
+ languageHints: z.array(z.string().min(1)).max(10).optional(),
65
+ topK: z.number().int().min(1).max(25).optional(),
66
+ }, async (args) => {
67
+ try {
68
+ const result = await handleSearchSemantic(args, embedder, store, cfg, keywordIndex, retrieve);
69
+ return {
70
+ content: [{ type: "text", text: result.formatted }],
71
+ };
72
+ }
73
+ catch (err) {
74
+ return {
75
+ content: [{ type: "text", text: `Search failed: ${err instanceof Error ? err.message : String(err)}` }],
76
+ isError: true,
77
+ };
78
+ }
79
+ });
80
+ server.tool("get_file_skeleton", "Get a quick structural overview of a source file — functions, classes, interfaces, methods, and other top-level declarations with their line numbers.", {
81
+ filePath: z.string().min(1, "A file path is required."),
82
+ }, async (args) => {
83
+ try {
84
+ const result = await handleFileSkeleton(args, cwd);
85
+ return {
86
+ content: [{ type: "text", text: result.formatted }],
87
+ };
88
+ }
89
+ catch (err) {
90
+ const message = err instanceof Error ? err.message : String(err);
91
+ return {
92
+ content: [{ type: "text", text: `Could not read file: ${message}` }],
93
+ isError: true,
94
+ };
95
+ }
96
+ });
97
+ server.tool("find_usages", "Find usages and references of a symbol (function, variable, class, etc.) across the indexed codebase.", {
98
+ symbolName: z.string().min(1, "A symbol name is required."),
99
+ pathHint: z.string().optional(),
100
+ topK: z.number().int().min(1).max(50).optional(),
101
+ }, async (args) => {
102
+ try {
103
+ const result = await handleFindUsages(args, embedder, store, cfg, keywordIndex, retrieve);
104
+ return {
105
+ content: [{ type: "text", text: result.formatted }],
106
+ };
107
+ }
108
+ catch (err) {
109
+ return {
110
+ content: [{ type: "text", text: `Search failed: ${err instanceof Error ? err.message : String(err)}` }],
111
+ isError: true,
112
+ };
113
+ }
114
+ });
115
+ const transport = options?.transport ?? new StdioServerTransport();
116
+ await server.connect(transport);
117
+ return {
118
+ server,
119
+ close: async () => {
120
+ await server.close();
121
+ },
122
+ };
123
+ }
124
+ //# sourceMappingURL=server.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@ export interface FormatReadOutputOptions {
15
15
  maxChars: number;
16
16
  }
17
17
  /**
18
- * Format RAG retrieval results for the opencode-rag-context tool output.
18
+ * Format RAG retrieval results for the search_semantic tool output.
19
19
  *
20
20
  * Includes request metadata (file path, query, chunk count) and formats
21
21
  * each chunk with file path, line range, score, and code block.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Format RAG retrieval results for the opencode-rag-context tool output.
2
+ * Format RAG retrieval results for the search_semantic tool output.
3
3
  *
4
4
  * Includes request metadata (file path, query, chunk count) and formats
5
5
  * each chunk with file path, line range, score, and code block.
package/dist/plugin.js CHANGED
@@ -9,7 +9,7 @@ import { appendDebugLog } from "./core/fileLogger.js";
9
9
  import { loadRuntimeOverrides, applyRuntimeOverrides } from "./core/runtime-overrides.js";
10
10
  import { createBackgroundIndexer } from "./watcher.js";
11
11
  import { createRagReadTool } from "./opencode/create-read-tool.js";
12
- import { createSearchSemanticTool, createFileSkeletonTool, createFindUsagesTool, } from "./opencode/tools.js";
12
+ import { createFileSkeletonTool, createFindUsagesTool, } from "./opencode/tools.js";
13
13
  import { resolveApiKey } from "./core/resolve-api-key.js";
14
14
  import { consumePendingRagInjection } from "./core/rag-injection-flag.js";
15
15
  import { createSessionLogger } from "./eval/session-logger.js";
@@ -17,8 +17,8 @@ import { existsSync } from "node:fs";
17
17
  import path from "node:path";
18
18
  const configCache = new Map();
19
19
  const backgroundIndexers = new Map();
20
- const CONTEXT_TOOL_NAME = "opencode-rag-context";
21
- const CONTEXT_MARKER = "opencode-rag retrieved context";
20
+ const CONTEXT_TOOL_NAME = "search_semantic";
21
+ const CONTEXT_MARKER = "search_semantic retrieved context";
22
22
  function appendVerboseLog(logFilePath, scope, message, payload) {
23
23
  appendDebugLog(logFilePath, {
24
24
  scope,
@@ -253,7 +253,7 @@ function formatFileList(results, worktree) {
253
253
  const lang = results.find((r) => r.chunk.metadata.filePath === filePath)?.chunk.metadata.language ?? "";
254
254
  lines.push(`${relPath} (${lang}, lines ${minLine}-${maxLine}, relevance ${relevance})`);
255
255
  }
256
- lines.push("\nFor more context, use: `opencode-rag-context` for code search, `find_usages` before editing, `get_file_skeleton` to orient in files.");
256
+ lines.push("\nFor more context, use: `search_semantic` for code search, `find_usages` before editing, `get_file_skeleton` to orient in files.");
257
257
  let linesReturn = lines.join("\n");
258
258
  return linesReturn;
259
259
  }
@@ -315,9 +315,9 @@ export function createRagHooks(options) {
315
315
  });
316
316
  const readOverride = getEffectiveCfg().openCode.readOverride === true;
317
317
  const retrievalTool = tool({
318
- description: "Retrieve the most relevant indexed code chunks before planning, answering, or editing. " +
319
- "Call before any code-related task when you haven't read the relevant code yet. " +
320
- "Use it to get file-level evidence, line ranges, and surrounding implementation details.",
318
+ description: "Search the indexed codebase by meaning, not just keywords. " +
319
+ "Call when the user asks 'how does X work?', 'where is Y?', or you need to understand code behavior. " +
320
+ "Returns the most relevant code snippets with file paths, line numbers, and relevance scores.",
321
321
  args: {
322
322
  query: tool.schema.string().min(1, "A retrieval query is required."),
323
323
  pathHints: tool.schema.array(tool.schema.string().min(1)).max(10).optional(),
@@ -335,8 +335,8 @@ export function createRagHooks(options) {
335
335
  topK: args.topK ?? getEffectiveCfg().retrieval.topK,
336
336
  });
337
337
  return {
338
- title: "OpenCodeRAG context",
339
- output: "No indexed chunks are available yet. Run indexing first, then ask again for code context.",
338
+ title: "Semantic search",
339
+ output: "No indexed chunks are available yet. Run indexing first, then try your search again.",
340
340
  metadata: {
341
341
  query: args.query,
342
342
  chunks: 0,
@@ -360,8 +360,8 @@ export function createRagHooks(options) {
360
360
  topK,
361
361
  });
362
362
  return {
363
- title: "OpenCodeRAG context",
364
- output: `${CONTEXT_MARKER}\n\nNo indexed chunks matched the query.`,
363
+ title: "Semantic search",
364
+ output: `No indexed code matched your query. Try different terms or broaden the search.`,
365
365
  metadata: {
366
366
  query: args.query,
367
367
  chunks: 0,
@@ -385,7 +385,7 @@ export function createRagHooks(options) {
385
385
  output,
386
386
  });
387
387
  return {
388
- title: `OpenCodeRAG context (${results.length} chunk${results.length === 1 ? "" : "s"})`,
388
+ title: `Semantic search (${results.length} chunk${results.length === 1 ? "" : "s"})`,
389
389
  output,
390
390
  metadata: {
391
391
  query: args.query,
@@ -404,8 +404,8 @@ export function createRagHooks(options) {
404
404
  error: err,
405
405
  });
406
406
  return {
407
- title: "OpenCodeRAG context",
408
- output: "OpenCodeRAG could not retrieve context right now. Try again after indexing or reduce the query scope.",
407
+ title: "Semantic search",
408
+ output: "Search failed. The index may need to be rebuilt.",
409
409
  metadata: {
410
410
  query: args.query,
411
411
  chunks: 0,
@@ -419,25 +419,7 @@ export function createRagHooks(options) {
419
419
  const tools = {
420
420
  [CONTEXT_TOOL_NAME]: retrievalTool,
421
421
  };
422
- // Specialized agent tools
423
422
  const effectiveCfg = getEffectiveCfg();
424
- try {
425
- const searchSemanticTool = createSearchSemanticTool({
426
- store,
427
- embedder,
428
- cfg: effectiveCfg,
429
- keywordIndex,
430
- retrieveFn: dependencies.retrieve,
431
- });
432
- tools["search_semantic"] = searchSemanticTool;
433
- }
434
- catch (err) {
435
- appendDebugLog(options.logFilePath, {
436
- scope: "plugin",
437
- message: "Failed to register search_semantic tool",
438
- error: err,
439
- });
440
- }
441
423
  try {
442
424
  const fileSkeletonTool = createFileSkeletonTool({
443
425
  worktree: options.worktree,
@@ -502,8 +484,7 @@ export function createRagHooks(options) {
502
484
  });
503
485
  const guidance = [
504
486
  "OpenCodeRAG tools are available for code retrieval:",
505
- "- `opencode-rag-context(query)`: retrieve relevant code chunks by query. Use BEFORE planning, editing, or answering code questions. Accepts `pathHints` and `languageHints` to narrow results.",
506
- "- `search_semantic(query)`: conceptual search — \"how does X work?\", \"where is Y?\"",
487
+ "- `search_semantic(query)`: retrieve relevant code chunks by query. Use BEFORE planning, editing, or answering code questions. Accepts `pathHints` and `languageHints` to narrow results.",
507
488
  "- `get_file_skeleton(filePath)`: structural overview of a file before reading it",
508
489
  "- `find_usages(symbolName)`: find all references to a symbol — ALWAYS use before editing functions, classes, or variables",
509
490
  "",
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../src/plugin.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencode-rag-plugin",
3
- "version": "1.8.4",
3
+ "version": "1.10.1",
4
4
  "description": "OpenCode plugin for local-first RAG-based semantic code search",
5
5
  "type": "module",
6
6
  "main": "./dist/plugin-entry.js",
@@ -29,6 +29,10 @@
29
29
  "./ui": {
30
30
  "import": "./dist/web/server.js",
31
31
  "types": "./dist/web/server.d.ts"
32
+ },
33
+ "./mcp": {
34
+ "import": "./dist/mcp/server.js",
35
+ "types": "./dist/mcp/server.d.ts"
32
36
  }
33
37
  },
34
38
  "files": [
@@ -75,7 +79,11 @@
75
79
  "dependencies": {
76
80
  "@e965/xlsx": "^0.20.3",
77
81
  "@lancedb/lancedb": "^0.29.0",
82
+ "@modelcontextprotocol/sdk": "^1.29.0",
78
83
  "@thednp/dommatrix": "^3.0.4",
84
+ "@tree-sitter-grammars/tree-sitter-markdown": "^0.3.2",
85
+ "@tree-sitter-grammars/tree-sitter-xml": "^0.7.0",
86
+ "@vscode/tree-sitter-wasm": "^0.3.1",
79
87
  "apache-arrow": "18.1.0",
80
88
  "canvas": "^3.2.3",
81
89
  "chokidar": "^4.0.3",
@@ -84,19 +92,28 @@
84
92
  "p-limit": "^7.3.0",
85
93
  "pdfjs-dist": "^5.7.284",
86
94
  "picocolors": "^1.1.1",
87
- "tree-sitter-wasm": "^1.0.2",
95
+ "tree-sitter-c": "^0.24.1",
96
+ "tree-sitter-html": "^0.23.2",
97
+ "tree-sitter-json": "^0.24.8",
98
+ "tree-sitter-kotlin": "^0.3.8",
99
+ "tree-sitter-swift": "^0.7.1",
88
100
  "web-tree-sitter": "^0.26.9",
89
101
  "word-extractor": "^1.0.4"
90
102
  },
91
103
  "devDependencies": {
104
+ "@derekstride/tree-sitter-sql": "^0.3.11",
92
105
  "@opencode-ai/plugin": "1.15.5",
93
106
  "@opentui/core": "^0.4.0",
94
107
  "@opentui/keymap": "^0.4.0",
95
108
  "@opentui/solid": "^0.4.0",
109
+ "@tree-sitter-grammars/tree-sitter-toml": "^0.7.0",
110
+ "@tree-sitter-grammars/tree-sitter-yaml": "^0.7.1",
96
111
  "@types/node": "^22.15.0",
97
112
  "@types/react": "^19.2.17",
98
113
  "@types/word-extractor": "^1.0.6",
99
114
  "solid-js": "^1.9.12",
115
+ "tree-sitter-cli": "^0.26.9",
116
+ "tree-sitter-containerfile": "^0.8.0",
100
117
  "tsx": "^4.19.4",
101
118
  "typescript": "^5.8.3"
102
119
  },