opencode-rag-plugin 1.2.5 → 1.2.11
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.
- package/ReadMe.md +491 -463
- package/dist/cli.js +58 -2
- package/dist/cli.js.map +1 -1
- package/dist/core/config.d.ts +1 -0
- package/dist/core/config.js +1 -0
- package/dist/core/config.js.map +1 -1
- package/dist/plugin.js +6 -4
- package/dist/plugin.js.map +1 -1
- package/dist/retriever/retriever.d.ts +1 -0
- package/dist/retriever/retriever.js +3 -1
- package/dist/retriever/retriever.js.map +1 -1
- package/package.json +90 -90
- package/dist/__tests__/chunker/c.test.d.ts +0 -1
- package/dist/__tests__/chunker/c.test.js +0 -82
- package/dist/__tests__/chunker/c.test.js.map +0 -1
- package/dist/__tests__/chunker/cpp.test.d.ts +0 -1
- package/dist/__tests__/chunker/cpp.test.js +0 -96
- package/dist/__tests__/chunker/cpp.test.js.map +0 -1
- package/dist/__tests__/chunker/csharp.test.d.ts +0 -1
- package/dist/__tests__/chunker/csharp.test.js +0 -85
- package/dist/__tests__/chunker/csharp.test.js.map +0 -1
- package/dist/__tests__/chunker/css.test.d.ts +0 -1
- package/dist/__tests__/chunker/css.test.js +0 -64
- package/dist/__tests__/chunker/css.test.js.map +0 -1
- package/dist/__tests__/chunker/factory.test.d.ts +0 -1
- package/dist/__tests__/chunker/factory.test.js +0 -202
- package/dist/__tests__/chunker/factory.test.js.map +0 -1
- package/dist/__tests__/chunker/fallback.test.d.ts +0 -1
- package/dist/__tests__/chunker/fallback.test.js +0 -67
- package/dist/__tests__/chunker/fallback.test.js.map +0 -1
- package/dist/__tests__/chunker/go.test.d.ts +0 -1
- package/dist/__tests__/chunker/go.test.js +0 -90
- package/dist/__tests__/chunker/go.test.js.map +0 -1
- package/dist/__tests__/chunker/grammar.test.d.ts +0 -1
- package/dist/__tests__/chunker/grammar.test.js +0 -108
- package/dist/__tests__/chunker/grammar.test.js.map +0 -1
- package/dist/__tests__/chunker/html.test.d.ts +0 -1
- package/dist/__tests__/chunker/html.test.js +0 -64
- package/dist/__tests__/chunker/html.test.js.map +0 -1
- package/dist/__tests__/chunker/java.test.d.ts +0 -1
- package/dist/__tests__/chunker/java.test.js +0 -83
- package/dist/__tests__/chunker/java.test.js.map +0 -1
- package/dist/__tests__/chunker/javascript.test.d.ts +0 -1
- package/dist/__tests__/chunker/javascript.test.js +0 -88
- package/dist/__tests__/chunker/javascript.test.js.map +0 -1
- package/dist/__tests__/chunker/json.test.d.ts +0 -1
- package/dist/__tests__/chunker/json.test.js +0 -54
- package/dist/__tests__/chunker/json.test.js.map +0 -1
- package/dist/__tests__/chunker/kotlin.test.d.ts +0 -1
- package/dist/__tests__/chunker/kotlin.test.js +0 -42
- package/dist/__tests__/chunker/kotlin.test.js.map +0 -1
- package/dist/__tests__/chunker/markdown.test.d.ts +0 -1
- package/dist/__tests__/chunker/markdown.test.js +0 -76
- package/dist/__tests__/chunker/markdown.test.js.map +0 -1
- package/dist/__tests__/chunker/python.test.d.ts +0 -1
- package/dist/__tests__/chunker/python.test.js +0 -81
- package/dist/__tests__/chunker/python.test.js.map +0 -1
- package/dist/__tests__/chunker/razor.test.d.ts +0 -1
- package/dist/__tests__/chunker/razor.test.js +0 -73
- package/dist/__tests__/chunker/razor.test.js.map +0 -1
- package/dist/__tests__/chunker/register.test.d.ts +0 -1
- package/dist/__tests__/chunker/register.test.js +0 -93
- package/dist/__tests__/chunker/register.test.js.map +0 -1
- package/dist/__tests__/chunker/ruby.test.d.ts +0 -1
- package/dist/__tests__/chunker/ruby.test.js +0 -40
- package/dist/__tests__/chunker/ruby.test.js.map +0 -1
- package/dist/__tests__/chunker/rust.test.d.ts +0 -1
- package/dist/__tests__/chunker/rust.test.js +0 -42
- package/dist/__tests__/chunker/rust.test.js.map +0 -1
- package/dist/__tests__/chunker/sln.test.d.ts +0 -1
- package/dist/__tests__/chunker/sln.test.js +0 -45
- package/dist/__tests__/chunker/sln.test.js.map +0 -1
- package/dist/__tests__/chunker/swift.test.d.ts +0 -1
- package/dist/__tests__/chunker/swift.test.js +0 -49
- package/dist/__tests__/chunker/swift.test.js.map +0 -1
- package/dist/__tests__/chunker/typescript.test.d.ts +0 -1
- package/dist/__tests__/chunker/typescript.test.js +0 -92
- package/dist/__tests__/chunker/typescript.test.js.map +0 -1
- package/dist/__tests__/chunker/uuid.test.d.ts +0 -1
- package/dist/__tests__/chunker/uuid.test.js +0 -19
- package/dist/__tests__/chunker/uuid.test.js.map +0 -1
- package/dist/__tests__/chunker/xml.test.d.ts +0 -1
- package/dist/__tests__/chunker/xml.test.js +0 -50
- package/dist/__tests__/chunker/xml.test.js.map +0 -1
- package/dist/__tests__/core/config.test.d.ts +0 -1
- package/dist/__tests__/core/config.test.js +0 -75
- package/dist/__tests__/core/config.test.js.map +0 -1
- package/dist/__tests__/core/fileLogger.test.d.ts +0 -1
- package/dist/__tests__/core/fileLogger.test.js +0 -34
- package/dist/__tests__/core/fileLogger.test.js.map +0 -1
- package/dist/__tests__/core/manifest.test.d.ts +0 -1
- package/dist/__tests__/core/manifest.test.js +0 -56
- package/dist/__tests__/core/manifest.test.js.map +0 -1
- package/dist/__tests__/embedder/embedBatch.test.d.ts +0 -1
- package/dist/__tests__/embedder/embedBatch.test.js +0 -88
- package/dist/__tests__/embedder/embedBatch.test.js.map +0 -1
- package/dist/__tests__/embedder/factory.test.d.ts +0 -1
- package/dist/__tests__/embedder/factory.test.js +0 -71
- package/dist/__tests__/embedder/factory.test.js.map +0 -1
- package/dist/__tests__/embedder/ollama.test.d.ts +0 -1
- package/dist/__tests__/embedder/ollama.test.js +0 -106
- package/dist/__tests__/embedder/ollama.test.js.map +0 -1
- package/dist/__tests__/embedder/openai.test.d.ts +0 -1
- package/dist/__tests__/embedder/openai.test.js +0 -94
- package/dist/__tests__/embedder/openai.test.js.map +0 -1
- package/dist/__tests__/indexer/indexer.test.d.ts +0 -1
- package/dist/__tests__/indexer/indexer.test.js +0 -176
- package/dist/__tests__/indexer/indexer.test.js.map +0 -1
- package/dist/__tests__/plugin.test.d.ts +0 -1
- package/dist/__tests__/plugin.test.js +0 -77
- package/dist/__tests__/plugin.test.js.map +0 -1
- package/dist/__tests__/retriever/retriever.test.d.ts +0 -1
- package/dist/__tests__/retriever/retriever.test.js +0 -97
- package/dist/__tests__/retriever/retriever.test.js.map +0 -1
- package/dist/__tests__/vectorstore/lancedb.test.d.ts +0 -1
- package/dist/__tests__/vectorstore/lancedb.test.js +0 -159
- package/dist/__tests__/vectorstore/lancedb.test.js.map +0 -1
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
import { describe, it } from "node:test";
|
|
2
|
-
import assert from "node:assert/strict";
|
|
3
|
-
import { retrieve } from "../../retriever/retriever.js";
|
|
4
|
-
function makeEmbedder(vectors) {
|
|
5
|
-
return {
|
|
6
|
-
name: "mock",
|
|
7
|
-
async embed(_texts) {
|
|
8
|
-
return vectors;
|
|
9
|
-
},
|
|
10
|
-
};
|
|
11
|
-
}
|
|
12
|
-
function makeStore(results) {
|
|
13
|
-
return {
|
|
14
|
-
async addChunks(_chunks) { },
|
|
15
|
-
async search(_embedding, _topK) {
|
|
16
|
-
return results;
|
|
17
|
-
},
|
|
18
|
-
async count() {
|
|
19
|
-
return results.length;
|
|
20
|
-
},
|
|
21
|
-
async clear() { },
|
|
22
|
-
async deleteByFilePath(_filePath) { },
|
|
23
|
-
};
|
|
24
|
-
}
|
|
25
|
-
describe("retrieve", () => {
|
|
26
|
-
it("returns search results from store", async () => {
|
|
27
|
-
const embedder = makeEmbedder([[0.1, 0.2, 0.3]]);
|
|
28
|
-
const store = makeStore([
|
|
29
|
-
{
|
|
30
|
-
score: 0.95,
|
|
31
|
-
chunk: {
|
|
32
|
-
id: "chunk-1",
|
|
33
|
-
content: "test content",
|
|
34
|
-
metadata: {
|
|
35
|
-
filePath: "test.ts",
|
|
36
|
-
startLine: 1,
|
|
37
|
-
endLine: 10,
|
|
38
|
-
language: "typescript",
|
|
39
|
-
},
|
|
40
|
-
},
|
|
41
|
-
},
|
|
42
|
-
]);
|
|
43
|
-
const results = await retrieve("test query", embedder, store);
|
|
44
|
-
assert.equal(results.length, 1);
|
|
45
|
-
assert.equal(results[0].score, 0.95);
|
|
46
|
-
assert.equal(results[0].chunk.id, "chunk-1");
|
|
47
|
-
});
|
|
48
|
-
it("returns empty array when embedding is empty", async () => {
|
|
49
|
-
const embedder = makeEmbedder([[]]);
|
|
50
|
-
const store = makeStore([]);
|
|
51
|
-
const results = await retrieve("test query", embedder, store);
|
|
52
|
-
assert.deepStrictEqual(results, []);
|
|
53
|
-
});
|
|
54
|
-
it("returns empty array when embeddings are empty array", async () => {
|
|
55
|
-
const embedder = makeEmbedder([]);
|
|
56
|
-
const store = makeStore([]);
|
|
57
|
-
const results = await retrieve("test query", embedder, store);
|
|
58
|
-
assert.deepStrictEqual(results, []);
|
|
59
|
-
});
|
|
60
|
-
it("passes custom topK to store", async () => {
|
|
61
|
-
let receivedTopK = 0;
|
|
62
|
-
const embedder = makeEmbedder([[0.1, 0.2]]);
|
|
63
|
-
const store = {
|
|
64
|
-
async addChunks() { },
|
|
65
|
-
async search(_embedding, topK) {
|
|
66
|
-
receivedTopK = topK;
|
|
67
|
-
return [];
|
|
68
|
-
},
|
|
69
|
-
async count() {
|
|
70
|
-
return 0;
|
|
71
|
-
},
|
|
72
|
-
async clear() { },
|
|
73
|
-
async deleteByFilePath(_filePath) { },
|
|
74
|
-
};
|
|
75
|
-
await retrieve("query", embedder, store, { topK: 5 });
|
|
76
|
-
assert.equal(receivedTopK, 5);
|
|
77
|
-
});
|
|
78
|
-
it("uses default topK of 10", async () => {
|
|
79
|
-
let receivedTopK = 0;
|
|
80
|
-
const embedder = makeEmbedder([[0.1, 0.2]]);
|
|
81
|
-
const store = {
|
|
82
|
-
async addChunks() { },
|
|
83
|
-
async search(_embedding, topK) {
|
|
84
|
-
receivedTopK = topK;
|
|
85
|
-
return [];
|
|
86
|
-
},
|
|
87
|
-
async count() {
|
|
88
|
-
return 0;
|
|
89
|
-
},
|
|
90
|
-
async clear() { },
|
|
91
|
-
async deleteByFilePath(_filePath) { },
|
|
92
|
-
};
|
|
93
|
-
await retrieve("query", embedder, store);
|
|
94
|
-
assert.equal(receivedTopK, 10);
|
|
95
|
-
});
|
|
96
|
-
});
|
|
97
|
-
//# sourceMappingURL=retriever.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"retriever.test.js","sourceRoot":"","sources":["../../../src/__tests__/retriever/retriever.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,159 +0,0 @@
|
|
|
1
|
-
import { describe, it, before, after } from "node:test";
|
|
2
|
-
import assert from "node:assert/strict";
|
|
3
|
-
import { LanceDBStore } from "../../vectorstore/lancedb.js";
|
|
4
|
-
import { normalizeFilePath } from "../../core/manifest.js";
|
|
5
|
-
describe("LanceDBStore (memory)", () => {
|
|
6
|
-
let store;
|
|
7
|
-
before(async () => {
|
|
8
|
-
store = new LanceDBStore("memory://");
|
|
9
|
-
});
|
|
10
|
-
after(async () => {
|
|
11
|
-
await store.clear();
|
|
12
|
-
});
|
|
13
|
-
it("starts with zero count", async () => {
|
|
14
|
-
const count = await store.count();
|
|
15
|
-
assert.equal(count, 0);
|
|
16
|
-
});
|
|
17
|
-
it("adds chunks and returns correct count", async () => {
|
|
18
|
-
const chunks = [
|
|
19
|
-
{
|
|
20
|
-
id: "chunk-1",
|
|
21
|
-
content: "function hello() { return 'world'; }",
|
|
22
|
-
embedding: new Array(384).fill(0).map((_, i) => (i % 2 === 0 ? 0.1 : -0.1)),
|
|
23
|
-
metadata: {
|
|
24
|
-
filePath: "src/hello.ts",
|
|
25
|
-
startLine: 1,
|
|
26
|
-
endLine: 5,
|
|
27
|
-
language: "typescript",
|
|
28
|
-
},
|
|
29
|
-
},
|
|
30
|
-
{
|
|
31
|
-
id: "chunk-2",
|
|
32
|
-
content: "function goodbye() { return 'farewell'; }",
|
|
33
|
-
embedding: new Array(384).fill(0).map((_, i) => (i % 2 === 0 ? -0.1 : 0.1)),
|
|
34
|
-
metadata: {
|
|
35
|
-
filePath: "src/goodbye.ts",
|
|
36
|
-
startLine: 1,
|
|
37
|
-
endLine: 5,
|
|
38
|
-
language: "typescript",
|
|
39
|
-
},
|
|
40
|
-
},
|
|
41
|
-
];
|
|
42
|
-
await store.addChunks(chunks);
|
|
43
|
-
const count = await store.count();
|
|
44
|
-
assert.equal(count, 2);
|
|
45
|
-
});
|
|
46
|
-
it("searches and returns results with scores", async () => {
|
|
47
|
-
// Search with a vector similar to chunk-1
|
|
48
|
-
const queryVector = new Array(384).fill(0).map((_, i) => i % 2 === 0 ? 0.1 : -0.1);
|
|
49
|
-
const results = await store.search(queryVector, 2);
|
|
50
|
-
assert.ok(results.length > 0, "Should return at least one result");
|
|
51
|
-
assert.ok(results[0].score > 0, "Score should be positive");
|
|
52
|
-
assert.ok(results[0].score <= 1, "Score should be <= 1");
|
|
53
|
-
assert.equal(typeof results[0].chunk.id, "string");
|
|
54
|
-
assert.equal(typeof results[0].chunk.content, "string");
|
|
55
|
-
});
|
|
56
|
-
it("respects topK parameter", async () => {
|
|
57
|
-
const queryVector = new Array(384).fill(0.1);
|
|
58
|
-
const results = await store.search(queryVector, 1);
|
|
59
|
-
assert.equal(results.length, 1);
|
|
60
|
-
});
|
|
61
|
-
it("clears all chunks", async () => {
|
|
62
|
-
await store.clear();
|
|
63
|
-
const count = await store.count();
|
|
64
|
-
assert.equal(count, 0);
|
|
65
|
-
});
|
|
66
|
-
it("can re-add chunks after clear", async () => {
|
|
67
|
-
const chunks = [
|
|
68
|
-
{
|
|
69
|
-
id: "chunk-3",
|
|
70
|
-
content: "new content",
|
|
71
|
-
embedding: new Array(384).fill(0.05),
|
|
72
|
-
metadata: {
|
|
73
|
-
filePath: "src/new.ts",
|
|
74
|
-
startLine: 1,
|
|
75
|
-
endLine: 3,
|
|
76
|
-
language: "typescript",
|
|
77
|
-
},
|
|
78
|
-
},
|
|
79
|
-
];
|
|
80
|
-
await store.addChunks(chunks);
|
|
81
|
-
const count = await store.count();
|
|
82
|
-
assert.equal(count, 1);
|
|
83
|
-
});
|
|
84
|
-
it("filters out chunks without embeddings in addChunks", async () => {
|
|
85
|
-
await store.clear();
|
|
86
|
-
const chunks = [
|
|
87
|
-
{
|
|
88
|
-
id: "no-embed",
|
|
89
|
-
content: "no embedding",
|
|
90
|
-
embedding: undefined,
|
|
91
|
-
metadata: {
|
|
92
|
-
filePath: "test.ts",
|
|
93
|
-
startLine: 1,
|
|
94
|
-
endLine: 1,
|
|
95
|
-
language: "typescript",
|
|
96
|
-
},
|
|
97
|
-
},
|
|
98
|
-
{
|
|
99
|
-
id: "empty-embed",
|
|
100
|
-
content: "empty embedding",
|
|
101
|
-
embedding: [],
|
|
102
|
-
metadata: {
|
|
103
|
-
filePath: "test.ts",
|
|
104
|
-
startLine: 2,
|
|
105
|
-
endLine: 2,
|
|
106
|
-
language: "typescript",
|
|
107
|
-
},
|
|
108
|
-
},
|
|
109
|
-
];
|
|
110
|
-
await store.addChunks(chunks);
|
|
111
|
-
const count = await store.count();
|
|
112
|
-
assert.equal(count, 0, "Chunks without embeddings should not be stored");
|
|
113
|
-
});
|
|
114
|
-
it("deletes all chunks for a specific file path", async () => {
|
|
115
|
-
await store.clear();
|
|
116
|
-
await store.addChunks([
|
|
117
|
-
{
|
|
118
|
-
id: "delete-1",
|
|
119
|
-
content: "alpha",
|
|
120
|
-
embedding: new Array(384).fill(0.1),
|
|
121
|
-
metadata: {
|
|
122
|
-
filePath: "src/delete-me.ts",
|
|
123
|
-
startLine: 1,
|
|
124
|
-
endLine: 1,
|
|
125
|
-
language: "typescript",
|
|
126
|
-
},
|
|
127
|
-
},
|
|
128
|
-
{
|
|
129
|
-
id: "delete-2",
|
|
130
|
-
content: "beta",
|
|
131
|
-
embedding: new Array(384).fill(0.2),
|
|
132
|
-
metadata: {
|
|
133
|
-
filePath: "src/keep-me.ts",
|
|
134
|
-
startLine: 1,
|
|
135
|
-
endLine: 1,
|
|
136
|
-
language: "typescript",
|
|
137
|
-
},
|
|
138
|
-
},
|
|
139
|
-
{
|
|
140
|
-
id: "delete-3",
|
|
141
|
-
content: "gamma",
|
|
142
|
-
embedding: new Array(384).fill(0.3),
|
|
143
|
-
metadata: {
|
|
144
|
-
filePath: "src/delete-me.ts",
|
|
145
|
-
startLine: 2,
|
|
146
|
-
endLine: 2,
|
|
147
|
-
language: "typescript",
|
|
148
|
-
},
|
|
149
|
-
},
|
|
150
|
-
]);
|
|
151
|
-
await store.deleteByFilePath("src/delete-me.ts");
|
|
152
|
-
const count = await store.count();
|
|
153
|
-
assert.equal(count, 1);
|
|
154
|
-
const results = await store.search(new Array(384).fill(0.2), 5);
|
|
155
|
-
assert.equal(results.length, 1);
|
|
156
|
-
assert.equal(results[0].chunk.metadata.filePath, normalizeFilePath("src/keep-me.ts"));
|
|
157
|
-
});
|
|
158
|
-
});
|
|
159
|
-
//# sourceMappingURL=lancedb.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"lancedb.test.js","sourceRoot":"","sources":["../../../src/__tests__/vectorstore/lancedb.test.ts"],"names":[],"mappings":"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"}
|