opencode-rag-plugin 1.12.10 → 1.12.12
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/dist/chunker/factory.js +2 -0
- package/dist/chunker/factory.js.map +1 -1
- package/dist/chunker/ssl.d.ts +7 -0
- package/dist/chunker/ssl.js +138 -0
- package/dist/chunker/ssl.js.map +1 -0
- package/dist/content/image.d.ts +2 -1
- package/dist/content/image.js +82 -2
- package/dist/content/image.js.map +1 -1
- package/dist/content/reader.d.ts +4 -1
- package/dist/content/reader.js +66 -17
- package/dist/content/reader.js.map +1 -1
- package/dist/core/config.d.ts +1 -0
- package/dist/core/config.js +4 -2
- package/dist/core/config.js.map +1 -1
- package/dist/core/manifest.d.ts +3 -0
- package/dist/core/manifest.js.map +1 -1
- package/dist/indexer/git-diff.d.ts +9 -0
- package/dist/indexer/git-diff.js +52 -0
- package/dist/indexer/git-diff.js.map +1 -0
- package/dist/indexer/pipeline.js +103 -16
- package/dist/indexer/pipeline.js.map +1 -1
- package/dist/indexer/worker.d.ts +19 -1
- package/dist/indexer/worker.js +144 -99
- package/dist/indexer/worker.js.map +1 -1
- package/package.json +2 -1
package/dist/chunker/factory.js
CHANGED
|
@@ -32,6 +32,7 @@ import { pdfChunker } from "./pdf.js";
|
|
|
32
32
|
import { docxChunker } from "./docx.js";
|
|
33
33
|
import { docChunker } from "./doc.js";
|
|
34
34
|
import { excelChunker } from "./excel.js";
|
|
35
|
+
import { sslChunker } from "./ssl.js";
|
|
35
36
|
import { uuid } from "./uuid.js";
|
|
36
37
|
const chunkers = [
|
|
37
38
|
typescriptChunker,
|
|
@@ -66,6 +67,7 @@ const chunkers = [
|
|
|
66
67
|
docxChunker,
|
|
67
68
|
docChunker,
|
|
68
69
|
excelChunker,
|
|
70
|
+
sslChunker,
|
|
69
71
|
];
|
|
70
72
|
const extensionMap = new Map();
|
|
71
73
|
for (const chunker of chunkers) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/chunker/factory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,MAAM,QAAQ,GAAc;IAC1B,iBAAiB;IACjB,aAAa;IACb,WAAW;IACX,SAAS;IACT,eAAe;IACf,QAAQ;IACR,UAAU;IACV,aAAa;IACb,iBAAiB;IACjB,YAAY;IACZ,WAAW;IACX,WAAW;IACX,UAAU;IACV,UAAU;IACV,UAAU;IACV,WAAW;IACX,WAAW;IACX,aAAa;IACb,YAAY;IACZ,WAAW;IACX,UAAU;IACV,iBAAiB;IACjB,UAAU;IACV,WAAW;IACX,WAAW;IACX,iBAAiB;IACjB,UAAU;IACV,UAAU;IACV,UAAU;IACV,WAAW;IACX,UAAU;IACV,YAAY;
|
|
1
|
+
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/chunker/factory.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Chunker, Chunk } from "../core/interfaces.js";
|
|
2
|
+
export declare class SslChunker implements Chunker {
|
|
3
|
+
readonly language = "ssl";
|
|
4
|
+
readonly fileExtensions: string[];
|
|
5
|
+
chunk(filePath: string, content: string): Promise<Chunk[]>;
|
|
6
|
+
}
|
|
7
|
+
export declare const sslChunker: SslChunker;
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import { uuid } from "./uuid.js";
|
|
2
|
+
const BLOCK_START = {
|
|
3
|
+
PROCEDURE: "proc",
|
|
4
|
+
CLASS: "class",
|
|
5
|
+
IF: "if",
|
|
6
|
+
FOR: "for",
|
|
7
|
+
WHILE: "while",
|
|
8
|
+
TRY: "try",
|
|
9
|
+
BEGINCASE: "case",
|
|
10
|
+
};
|
|
11
|
+
const BLOCK_END = {
|
|
12
|
+
ENDPROC: "proc",
|
|
13
|
+
ENDCLASS: "class",
|
|
14
|
+
ENDIF: "if",
|
|
15
|
+
NEXT: "for",
|
|
16
|
+
ENDWHILE: "while",
|
|
17
|
+
ENDTRY: "try",
|
|
18
|
+
ENDCASE: "case",
|
|
19
|
+
};
|
|
20
|
+
const KEYWORD_RE = /^:(\w+)\b/i;
|
|
21
|
+
const PROC_RE = /^:PROCEDURE\s+(\w+)/i;
|
|
22
|
+
export class SslChunker {
|
|
23
|
+
language = "ssl";
|
|
24
|
+
fileExtensions = [".ssl"];
|
|
25
|
+
async chunk(filePath, content) {
|
|
26
|
+
if (content.trim().length === 0)
|
|
27
|
+
return [];
|
|
28
|
+
const lines = content.split("\n");
|
|
29
|
+
const chunks = [];
|
|
30
|
+
// Track block nesting stack
|
|
31
|
+
const blockStack = [];
|
|
32
|
+
let topLevelStart = 1;
|
|
33
|
+
function flushTopLevel(endLine) {
|
|
34
|
+
if (endLine <= topLevelStart)
|
|
35
|
+
return;
|
|
36
|
+
const slice = lines.slice(topLevelStart - 1, endLine - 1).join("\n").trim();
|
|
37
|
+
if (!slice)
|
|
38
|
+
return;
|
|
39
|
+
chunks.push({
|
|
40
|
+
id: uuid(),
|
|
41
|
+
content: slice,
|
|
42
|
+
metadata: { filePath, startLine: topLevelStart, endLine: endLine - 1, language: "ssl" },
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
for (let i = 0; i < lines.length; i++) {
|
|
46
|
+
const line = lines[i].trim();
|
|
47
|
+
if (!line)
|
|
48
|
+
continue;
|
|
49
|
+
// Skip comment lines
|
|
50
|
+
if (line.startsWith("/*") || line.startsWith("*"))
|
|
51
|
+
continue;
|
|
52
|
+
const kwMatch = line.match(KEYWORD_RE);
|
|
53
|
+
if (!kwMatch)
|
|
54
|
+
continue;
|
|
55
|
+
const keyword = kwMatch[1].toUpperCase();
|
|
56
|
+
// Check if this keyword starts a new block
|
|
57
|
+
const blockType = BLOCK_START[keyword];
|
|
58
|
+
if (blockType) {
|
|
59
|
+
// Before starting a procedure, flush any preceding top-level content
|
|
60
|
+
if (keyword === "PROCEDURE") {
|
|
61
|
+
flushTopLevel(i + 1);
|
|
62
|
+
}
|
|
63
|
+
// Before starting a class at top level, flush preceding content
|
|
64
|
+
if (keyword === "CLASS" && blockStack.length === 0) {
|
|
65
|
+
flushTopLevel(i + 1);
|
|
66
|
+
}
|
|
67
|
+
blockStack.push(blockType);
|
|
68
|
+
// If we just started a class, record class-start line for class-header chunk
|
|
69
|
+
continue;
|
|
70
|
+
}
|
|
71
|
+
// Check if this keyword ends a block
|
|
72
|
+
const endType = BLOCK_END[keyword];
|
|
73
|
+
if (endType) {
|
|
74
|
+
const expected = blockStack.pop();
|
|
75
|
+
if (expected === "proc" && endType === "proc") {
|
|
76
|
+
// Emit procedure chunk
|
|
77
|
+
const procLine = findProcedureStartLine(lines, i, filePath);
|
|
78
|
+
const startLine = procLine ?? (i + 1);
|
|
79
|
+
const endLine = i + 1;
|
|
80
|
+
const slice = lines.slice(startLine - 1, endLine).join("\n").trim();
|
|
81
|
+
if (slice) {
|
|
82
|
+
chunks.push({
|
|
83
|
+
id: uuid(),
|
|
84
|
+
content: slice,
|
|
85
|
+
metadata: { filePath, startLine, endLine, language: "ssl" },
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
topLevelStart = endLine + 1;
|
|
89
|
+
}
|
|
90
|
+
else if (expected === "class" && endType === "class") {
|
|
91
|
+
// Class ended — flush any remaining class-level content as a chunk
|
|
92
|
+
const slice = lines.slice(topLevelStart - 1, i).join("\n").trim();
|
|
93
|
+
if (slice) {
|
|
94
|
+
chunks.push({
|
|
95
|
+
id: uuid(),
|
|
96
|
+
content: slice,
|
|
97
|
+
metadata: { filePath, startLine: topLevelStart, endLine: i, language: "ssl" },
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
topLevelStart = i + 2;
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
// Flush remaining top-level content
|
|
105
|
+
flushTopLevel(lines.length + 1);
|
|
106
|
+
if (chunks.length === 0) {
|
|
107
|
+
chunks.push({
|
|
108
|
+
id: uuid(),
|
|
109
|
+
content,
|
|
110
|
+
metadata: { filePath, startLine: 1, endLine: lines.length, language: "ssl" },
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
return chunks;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
function findProcedureStartLine(lines, fromIndex, filePath) {
|
|
117
|
+
let depth = 0;
|
|
118
|
+
for (let i = fromIndex - 1; i >= 0; i--) {
|
|
119
|
+
const line = lines[i].trim().toUpperCase();
|
|
120
|
+
// Walk backward — closing keywords reduce depth, opening keywords increase
|
|
121
|
+
const startMatch = line.match(/^:(\w+)\b/);
|
|
122
|
+
if (startMatch) {
|
|
123
|
+
const kw = startMatch[1];
|
|
124
|
+
if (BLOCK_START[kw]) {
|
|
125
|
+
if (kw === "PROCEDURE" && depth === 0) {
|
|
126
|
+
return i + 1;
|
|
127
|
+
}
|
|
128
|
+
depth--;
|
|
129
|
+
}
|
|
130
|
+
else if (BLOCK_END[kw]) {
|
|
131
|
+
depth++;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
return null;
|
|
136
|
+
}
|
|
137
|
+
export const sslChunker = new SslChunker();
|
|
138
|
+
//# sourceMappingURL=ssl.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ssl.js","sourceRoot":"","sources":["../../src/chunker/ssl.ts"],"names":[],"mappings":"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"}
|
package/dist/content/image.d.ts
CHANGED
|
@@ -2,4 +2,5 @@ import type { ExtractResult } from "./types.js";
|
|
|
2
2
|
import { SUPPORTED_IMAGE_EXTENSIONS, type ImageVisionProvider } from "../chunker/image.js";
|
|
3
3
|
export { SUPPORTED_IMAGE_EXTENSIONS };
|
|
4
4
|
export declare function isImageFile(fp: string): boolean;
|
|
5
|
-
export declare function
|
|
5
|
+
export declare function resizeImage(buffer: Buffer, filePath: string, maxDimension: number): Promise<Buffer>;
|
|
6
|
+
export declare function extract(filePath: string, buffer: Buffer, visionProvider: ImageVisionProvider, prompt: string, maxDimension?: number): Promise<ExtractResult>;
|
package/dist/content/image.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import path from "node:path";
|
|
2
|
+
import sharp from "sharp";
|
|
2
3
|
import { getMimeType, SUPPORTED_IMAGE_EXTENSIONS, } from "../chunker/image.js";
|
|
3
4
|
export { SUPPORTED_IMAGE_EXTENSIONS };
|
|
4
5
|
export function isImageFile(fp) {
|
|
@@ -9,11 +10,90 @@ export function isImageFile(fp) {
|
|
|
9
10
|
}
|
|
10
11
|
return false;
|
|
11
12
|
}
|
|
12
|
-
|
|
13
|
+
function isBmpFile(fp) {
|
|
14
|
+
return fp.toLowerCase().endsWith(".bmp");
|
|
15
|
+
}
|
|
16
|
+
function decodeBmp(buffer) {
|
|
17
|
+
const signature = buffer.toString("ascii", 0, 2);
|
|
18
|
+
if (signature !== "BM")
|
|
19
|
+
throw new Error("Not a BMP file");
|
|
20
|
+
const dibSize = buffer.readUInt32LE(14);
|
|
21
|
+
const width = buffer.readInt32LE(18);
|
|
22
|
+
const rawHeight = buffer.readInt32LE(22);
|
|
23
|
+
const bitsPerPixel = buffer.readUInt16LE(28);
|
|
24
|
+
if (bitsPerPixel !== 24 && bitsPerPixel !== 32)
|
|
25
|
+
throw new Error(`Unsupported BMP bit depth: ${bitsPerPixel}. Only 24 and 32 bit are supported.`);
|
|
26
|
+
if (dibSize < 40)
|
|
27
|
+
throw new Error(`Unsupported BMP DIB header size: ${dibSize}`);
|
|
28
|
+
const compression = buffer.readUInt32LE(30);
|
|
29
|
+
if (compression !== 0 && compression !== 3)
|
|
30
|
+
throw new Error(`Compressed BMP not supported (compression=${compression})`);
|
|
31
|
+
const channels = bitsPerPixel === 32 ? 4 : 3;
|
|
32
|
+
const rowSize = Math.floor((bitsPerPixel * width + 31) / 32) * 4;
|
|
33
|
+
const topDown = rawHeight < 0;
|
|
34
|
+
const absHeight = Math.abs(rawHeight);
|
|
35
|
+
const pixelOffset = buffer.readUInt32LE(10);
|
|
36
|
+
const pixels = Buffer.alloc(width * absHeight * channels);
|
|
37
|
+
for (let y = 0; y < absHeight; y++) {
|
|
38
|
+
const srcY = topDown ? y : absHeight - 1 - y;
|
|
39
|
+
const srcRow = pixelOffset + srcY * rowSize;
|
|
40
|
+
const dstRow = y * width * channels;
|
|
41
|
+
for (let x = 0; x < width; x++) {
|
|
42
|
+
const srcPx = srcRow + x * (bitsPerPixel / 8);
|
|
43
|
+
const dstPx = dstRow + x * channels;
|
|
44
|
+
if (channels === 4) {
|
|
45
|
+
pixels[dstPx] = buffer[srcPx + 2];
|
|
46
|
+
pixels[dstPx + 1] = buffer[srcPx + 1];
|
|
47
|
+
pixels[dstPx + 2] = buffer[srcPx];
|
|
48
|
+
pixels[dstPx + 3] = buffer[srcPx + 3];
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
pixels[dstPx] = buffer[srcPx + 2];
|
|
52
|
+
pixels[dstPx + 1] = buffer[srcPx + 1];
|
|
53
|
+
pixels[dstPx + 2] = buffer[srcPx];
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return { pixels, width, height: absHeight, channels };
|
|
58
|
+
}
|
|
59
|
+
export async function resizeImage(buffer, filePath, maxDimension) {
|
|
60
|
+
if (maxDimension <= 0)
|
|
61
|
+
return buffer;
|
|
62
|
+
try {
|
|
63
|
+
if (isBmpFile(filePath)) {
|
|
64
|
+
const { pixels, width, height, channels } = decodeBmp(buffer);
|
|
65
|
+
const ch = channels;
|
|
66
|
+
if (width <= maxDimension && height <= maxDimension) {
|
|
67
|
+
return sharp(pixels, { raw: { width, height, channels: ch } })
|
|
68
|
+
.jpeg({ quality: 80 })
|
|
69
|
+
.toBuffer();
|
|
70
|
+
}
|
|
71
|
+
return sharp(pixels, { raw: { width, height, channels: ch } })
|
|
72
|
+
.resize({ width: maxDimension, fit: "inside", withoutEnlargement: true })
|
|
73
|
+
.jpeg({ quality: 80 })
|
|
74
|
+
.toBuffer();
|
|
75
|
+
}
|
|
76
|
+
const meta = await sharp(buffer).metadata();
|
|
77
|
+
const w = meta.width ?? 0;
|
|
78
|
+
const h = meta.height ?? 0;
|
|
79
|
+
if (w <= maxDimension && h <= maxDimension) {
|
|
80
|
+
return sharp(buffer).jpeg({ quality: 80 }).toBuffer();
|
|
81
|
+
}
|
|
82
|
+
return sharp(buffer)
|
|
83
|
+
.resize({ width: maxDimension, fit: "inside", withoutEnlargement: true })
|
|
84
|
+
.jpeg({ quality: 80 })
|
|
85
|
+
.toBuffer();
|
|
86
|
+
}
|
|
87
|
+
catch {
|
|
88
|
+
return buffer;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
export async function extract(filePath, buffer, visionProvider, prompt, maxDimension) {
|
|
13
92
|
try {
|
|
14
93
|
const ext = path.extname(filePath).toLowerCase();
|
|
15
94
|
const mimeType = getMimeType(ext);
|
|
16
|
-
const
|
|
95
|
+
const sized = maxDimension ? await resizeImage(buffer, filePath, maxDimension) : buffer;
|
|
96
|
+
const b64 = sized.toString("base64");
|
|
17
97
|
const content = await visionProvider.describeImage(b64, mimeType, prompt);
|
|
18
98
|
return { content, ok: true };
|
|
19
99
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image.js","sourceRoot":"","sources":["../../src/content/image.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"image.js","sourceRoot":"","sources":["../../src/content/image.ts"],"names":[],"mappings":"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"}
|
package/dist/content/reader.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { RagConfig } from "../core/config.js";
|
|
2
|
+
import { type FileManifest } from "../core/manifest.js";
|
|
2
3
|
export interface WorkspaceFile {
|
|
3
4
|
filePath: string;
|
|
4
5
|
normalizedPath: string;
|
|
@@ -8,6 +9,8 @@ export interface WorkspaceFile {
|
|
|
8
9
|
isTooSmall: boolean;
|
|
9
10
|
extractionStatus: "ok" | "skipped" | "failed";
|
|
10
11
|
extractionError?: string;
|
|
12
|
+
mtime?: number;
|
|
13
|
+
size?: number;
|
|
11
14
|
}
|
|
12
15
|
interface Logger {
|
|
13
16
|
info(message: string): void;
|
|
@@ -15,5 +18,5 @@ interface Logger {
|
|
|
15
18
|
debug(message: string): void;
|
|
16
19
|
}
|
|
17
20
|
export declare function walkFiles(dir: string, extensions: Set<string>, excludeDirs: Set<string>): Promise<string[]>;
|
|
18
|
-
export declare function scanWorkspaceFiles(cwd: string, config: RagConfig, logger?: Logger): Promise<WorkspaceFile[]>;
|
|
21
|
+
export declare function scanWorkspaceFiles(cwd: string, config: RagConfig, logger?: Logger, manifest?: FileManifest): Promise<WorkspaceFile[]>;
|
|
19
22
|
export {};
|
package/dist/content/reader.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import fs from "node:fs/promises";
|
|
2
2
|
import path from "node:path";
|
|
3
|
+
import pLimit from "p-limit";
|
|
3
4
|
import { computeFileHash, normalizeFilePath } from "../core/manifest.js";
|
|
4
5
|
import { createImageVisionProvider, } from "../chunker/image.js";
|
|
5
6
|
import * as pdfExtractor from "./pdf.js";
|
|
@@ -29,7 +30,7 @@ export async function walkFiles(dir, extensions, excludeDirs) {
|
|
|
29
30
|
}
|
|
30
31
|
return results;
|
|
31
32
|
}
|
|
32
|
-
async function dispatchExtraction(filePath, buffer, imageVisionProvider, imagePrompt) {
|
|
33
|
+
async function dispatchExtraction(filePath, buffer, imageVisionProvider, imagePrompt, resizeMaxDimension) {
|
|
33
34
|
const lower = filePath.toLowerCase();
|
|
34
35
|
if (pdfExtractor.PDF_EXTENSIONS.has(lower)) {
|
|
35
36
|
return pdfExtractor.extract(filePath, buffer);
|
|
@@ -44,7 +45,7 @@ async function dispatchExtraction(filePath, buffer, imageVisionProvider, imagePr
|
|
|
44
45
|
return excelExtractor.extract(filePath, buffer);
|
|
45
46
|
}
|
|
46
47
|
if (imageVisionProvider && imageExtractor.isImageFile(filePath)) {
|
|
47
|
-
return imageExtractor.extract(filePath, buffer, imageVisionProvider, imagePrompt ?? "");
|
|
48
|
+
return imageExtractor.extract(filePath, buffer, imageVisionProvider, imagePrompt ?? "", resizeMaxDimension);
|
|
48
49
|
}
|
|
49
50
|
try {
|
|
50
51
|
const content = await fs.readFile(filePath, "utf-8");
|
|
@@ -54,10 +55,11 @@ async function dispatchExtraction(filePath, buffer, imageVisionProvider, imagePr
|
|
|
54
55
|
return { content: "", ok: false, error: err.message };
|
|
55
56
|
}
|
|
56
57
|
}
|
|
57
|
-
export async function scanWorkspaceFiles(cwd, config, logger) {
|
|
58
|
+
export async function scanWorkspaceFiles(cwd, config, logger, manifest) {
|
|
58
59
|
const extensions = new Set(config.indexing.includeExtensions);
|
|
59
60
|
let imageVisionProvider = null;
|
|
60
61
|
let imagePrompt;
|
|
62
|
+
let imageResizeMaxDimension;
|
|
61
63
|
const imageCfg = config.imageDescription;
|
|
62
64
|
if (imageCfg?.enabled) {
|
|
63
65
|
for (const ext of imageExtractor.SUPPORTED_IMAGE_EXTENSIONS) {
|
|
@@ -65,41 +67,88 @@ export async function scanWorkspaceFiles(cwd, config, logger) {
|
|
|
65
67
|
}
|
|
66
68
|
imageVisionProvider = createImageVisionProvider(imageCfg);
|
|
67
69
|
imagePrompt = imageCfg.prompt;
|
|
70
|
+
imageResizeMaxDimension = imageCfg.resizeMaxDimension;
|
|
68
71
|
}
|
|
69
72
|
const files = await walkFiles(cwd, extensions, new Set(config.indexing.excludeDirs));
|
|
70
|
-
logger?.info(`Found ${files.length} files to scan`);
|
|
71
|
-
const minSize = config.indexing.minFileSizeBytes ?? 0;
|
|
72
|
-
const workspaceFiles = [];
|
|
73
73
|
const totalFiles = files.length;
|
|
74
|
-
|
|
75
|
-
|
|
74
|
+
logger?.info(`Found ${totalFiles} files to scan`);
|
|
75
|
+
const minSize = config.indexing.minFileSizeBytes ?? 0;
|
|
76
|
+
const scanConcurrency = Math.min(config.indexing.concurrency * 2, 16);
|
|
77
|
+
const textLimit = pLimit(scanConcurrency);
|
|
78
|
+
const imageLimit = pLimit(1);
|
|
79
|
+
let completed = 0;
|
|
80
|
+
async function processFile(filePath) {
|
|
81
|
+
const normalizedPath = normalizeFilePath(filePath);
|
|
82
|
+
if (manifest?.files[normalizedPath]) {
|
|
83
|
+
try {
|
|
84
|
+
const stat = await fs.stat(filePath);
|
|
85
|
+
const entry = manifest.files[normalizedPath];
|
|
86
|
+
if (entry.mtime === stat.mtimeMs && entry.size === stat.size) {
|
|
87
|
+
completed++;
|
|
88
|
+
return {
|
|
89
|
+
filePath,
|
|
90
|
+
normalizedPath,
|
|
91
|
+
content: "",
|
|
92
|
+
hash: entry.hash,
|
|
93
|
+
isEmpty: false,
|
|
94
|
+
isTooSmall: false,
|
|
95
|
+
extractionStatus: "ok",
|
|
96
|
+
mtime: stat.mtimeMs,
|
|
97
|
+
size: stat.size,
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
catch {
|
|
102
|
+
/* stat failed, fall through to full read */
|
|
103
|
+
}
|
|
104
|
+
}
|
|
76
105
|
const isBinary = pdfExtractor.PDF_EXTENSIONS.has(filePath.toLowerCase()) ||
|
|
77
106
|
docxExtractor.DOCX_EXTENSIONS.has(filePath.toLowerCase()) ||
|
|
78
107
|
docExtractor.DOC_EXTENSIONS.has(filePath.toLowerCase()) ||
|
|
79
108
|
excelExtractor.EXCEL_EXTENSIONS.has(filePath.toLowerCase()) ||
|
|
80
109
|
(imageVisionProvider !== null && imageExtractor.isImageFile(filePath));
|
|
81
110
|
const buffer = isBinary ? await fs.readFile(filePath) : Buffer.alloc(0);
|
|
82
|
-
const result = await dispatchExtraction(filePath, buffer, imageVisionProvider, imagePrompt);
|
|
111
|
+
const result = await dispatchExtraction(filePath, buffer, imageVisionProvider, imagePrompt, imageResizeMaxDimension);
|
|
83
112
|
if (!result.ok) {
|
|
84
113
|
logger?.warn(` ${filePath} (extraction failed: ${result.error})`);
|
|
85
114
|
}
|
|
86
115
|
const content = result.content;
|
|
87
116
|
const byteLength = Buffer.byteLength(content, "utf-8");
|
|
88
|
-
|
|
117
|
+
let fileMtime;
|
|
118
|
+
let fileSize;
|
|
119
|
+
if (result.ok) {
|
|
120
|
+
try {
|
|
121
|
+
const stat = await fs.stat(filePath);
|
|
122
|
+
fileMtime = stat.mtimeMs;
|
|
123
|
+
fileSize = stat.size;
|
|
124
|
+
}
|
|
125
|
+
catch {
|
|
126
|
+
/* best-effort stat */
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
completed++;
|
|
130
|
+
if (totalFiles > 20 && completed % 50 === 0) {
|
|
131
|
+
logger?.info(` Scanning files... ${completed}/${totalFiles}`);
|
|
132
|
+
}
|
|
133
|
+
logger?.debug(` scanWorkspaceFiles: ${filePath}`);
|
|
134
|
+
return {
|
|
89
135
|
filePath,
|
|
90
|
-
normalizedPath
|
|
136
|
+
normalizedPath,
|
|
91
137
|
content,
|
|
92
138
|
hash: computeFileHash(content),
|
|
93
139
|
isEmpty: content.trim().length === 0,
|
|
94
|
-
isTooSmall:
|
|
140
|
+
isTooSmall: content.trim().length === 0 ? false : byteLength < minSize,
|
|
95
141
|
extractionStatus: result.ok ? "ok" : "failed",
|
|
96
142
|
extractionError: result.ok ? undefined : result.error,
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
}
|
|
101
|
-
logger?.debug(` scanWorkspaceFiles: ${filePath}`);
|
|
143
|
+
mtime: fileMtime,
|
|
144
|
+
size: fileSize,
|
|
145
|
+
};
|
|
102
146
|
}
|
|
147
|
+
const tasks = files.map((filePath) => {
|
|
148
|
+
const isImage = imageVisionProvider !== null && imageExtractor.isImageFile(filePath);
|
|
149
|
+
return isImage ? imageLimit(() => processFile(filePath)) : textLimit(() => processFile(filePath));
|
|
150
|
+
});
|
|
151
|
+
const workspaceFiles = await Promise.all(tasks);
|
|
103
152
|
return workspaceFiles;
|
|
104
153
|
}
|
|
105
154
|
//# sourceMappingURL=reader.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reader.js","sourceRoot":"","sources":["../../src/content/reader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,OAAO,EAAE,eAAe,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"reader.js","sourceRoot":"","sources":["../../src/content/reader.ts"],"names":[],"mappings":"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"}
|
package/dist/core/config.d.ts
CHANGED
package/dist/core/config.js
CHANGED
|
@@ -63,6 +63,7 @@ export const DEFAULT_CONFIG = {
|
|
|
63
63
|
".yml",
|
|
64
64
|
".toml",
|
|
65
65
|
".sql",
|
|
66
|
+
".ssl",
|
|
66
67
|
".jpg",
|
|
67
68
|
".jpeg",
|
|
68
69
|
".gif",
|
|
@@ -91,8 +92,8 @@ export const DEFAULT_CONFIG = {
|
|
|
91
92
|
],
|
|
92
93
|
chunkOverlap: 0,
|
|
93
94
|
minFileSizeBytes: 0,
|
|
94
|
-
concurrency:
|
|
95
|
-
embedBatchSize:
|
|
95
|
+
concurrency: 8,
|
|
96
|
+
embedBatchSize: 100,
|
|
96
97
|
},
|
|
97
98
|
vectorStore: {
|
|
98
99
|
path: "./.opencode/rag_db",
|
|
@@ -132,6 +133,7 @@ export const DEFAULT_CONFIG = {
|
|
|
132
133
|
prompt: "Describe this image precisely and concisely: what it shows, any text content, layout, colors, objects, and purpose. Maximum 40 words. Start with \"Image of ...\" and always mention that this is an image file.",
|
|
133
134
|
think: true,
|
|
134
135
|
numCtx: 4096,
|
|
136
|
+
resizeMaxDimension: 1024,
|
|
135
137
|
},
|
|
136
138
|
description: {
|
|
137
139
|
enabled: true,
|
package/dist/core/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"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"}
|
package/dist/core/manifest.d.ts
CHANGED
|
@@ -2,12 +2,15 @@ export interface ManifestEntry {
|
|
|
2
2
|
hash: string;
|
|
3
3
|
chunkCount: number;
|
|
4
4
|
indexedAt: number;
|
|
5
|
+
mtime?: number;
|
|
6
|
+
size?: number;
|
|
5
7
|
}
|
|
6
8
|
export declare const SCHEMA_VERSION = 1;
|
|
7
9
|
export interface FileManifest {
|
|
8
10
|
lastIndexedAt?: number;
|
|
9
11
|
schemaVersion?: number;
|
|
10
12
|
files: Record<string, ManifestEntry>;
|
|
13
|
+
lastGitCommit?: string;
|
|
11
14
|
}
|
|
12
15
|
export type ManifestStatus = "ok" | "missing" | "corrupt";
|
|
13
16
|
export interface LoadedManifest {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/core/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAClC,OAAO,IAAI,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/core/manifest.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export interface GitDiffResult {
|
|
2
|
+
changedFiles: string[];
|
|
3
|
+
deletedFiles: string[];
|
|
4
|
+
currentCommit: string;
|
|
5
|
+
}
|
|
6
|
+
export declare function getRepoRoot(cwd: string): string | null;
|
|
7
|
+
export declare function getCurrentCommit(cwd: string): string | null;
|
|
8
|
+
export declare function getChangedFilesSince(cwd: string, fromCommit: string): GitDiffResult | null;
|
|
9
|
+
export declare function getUntrackedFiles(cwd: string): string[];
|