opencode-rag-plugin 1.14.7 → 1.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ReadMe.md +2 -7
- package/dist/api.d.ts +4 -0
- package/dist/api.js +10 -2
- package/dist/api.js.map +1 -1
- package/dist/chunker/base.d.ts +1 -0
- package/dist/chunker/base.js +4 -0
- package/dist/chunker/base.js.map +1 -1
- package/dist/chunker/bash.d.ts +3 -0
- package/dist/chunker/bash.js +3 -0
- package/dist/chunker/bash.js.map +1 -1
- package/dist/chunker/c.d.ts +3 -0
- package/dist/chunker/c.js +3 -0
- package/dist/chunker/c.js.map +1 -1
- package/dist/chunker/cpp.d.ts +3 -0
- package/dist/chunker/cpp.js +3 -0
- package/dist/chunker/cpp.js.map +1 -1
- package/dist/chunker/csharp.d.ts +3 -0
- package/dist/chunker/csharp.js +3 -0
- package/dist/chunker/csharp.js.map +1 -1
- package/dist/chunker/css.d.ts +3 -0
- package/dist/chunker/css.js +3 -0
- package/dist/chunker/css.js.map +1 -1
- package/dist/chunker/doc.d.ts +3 -0
- package/dist/chunker/doc.js.map +1 -1
- package/dist/chunker/dockerfile.d.ts +3 -0
- package/dist/chunker/dockerfile.js +3 -0
- package/dist/chunker/dockerfile.js.map +1 -1
- package/dist/chunker/docx.d.ts +3 -0
- package/dist/chunker/docx.js.map +1 -1
- package/dist/chunker/excel.d.ts +3 -0
- package/dist/chunker/excel.js.map +1 -1
- package/dist/chunker/factory.d.ts +29 -0
- package/dist/chunker/factory.js +26 -0
- package/dist/chunker/factory.js.map +1 -1
- package/dist/chunker/fallback.d.ts +4 -0
- package/dist/chunker/fallback.js +1 -0
- package/dist/chunker/fallback.js.map +1 -1
- package/dist/chunker/go.d.ts +3 -0
- package/dist/chunker/go.js +3 -0
- package/dist/chunker/go.js.map +1 -1
- package/dist/chunker/grammar.d.ts +3 -0
- package/dist/chunker/grammar.js +3 -0
- package/dist/chunker/grammar.js.map +1 -1
- package/dist/chunker/html.d.ts +3 -0
- package/dist/chunker/html.js +3 -0
- package/dist/chunker/html.js.map +1 -1
- package/dist/chunker/image.d.ts +3 -0
- package/dist/chunker/image.js.map +1 -1
- package/dist/chunker/ini.d.ts +3 -0
- package/dist/chunker/ini.js +3 -0
- package/dist/chunker/ini.js.map +1 -1
- package/dist/chunker/java.d.ts +3 -0
- package/dist/chunker/java.js +3 -0
- package/dist/chunker/java.js.map +1 -1
- package/dist/chunker/javascript.d.ts +3 -0
- package/dist/chunker/javascript.js +3 -0
- package/dist/chunker/javascript.js.map +1 -1
- package/dist/chunker/json.d.ts +3 -0
- package/dist/chunker/json.js +3 -0
- package/dist/chunker/json.js.map +1 -1
- package/dist/chunker/kotlin.d.ts +3 -0
- package/dist/chunker/kotlin.js +3 -0
- package/dist/chunker/kotlin.js.map +1 -1
- package/dist/chunker/loader.js +3 -0
- package/dist/chunker/loader.js.map +1 -1
- package/dist/chunker/markdown.d.ts +3 -0
- package/dist/chunker/markdown.js +3 -0
- package/dist/chunker/markdown.js.map +1 -1
- package/dist/chunker/pdf.d.ts +3 -0
- package/dist/chunker/pdf.js.map +1 -1
- package/dist/chunker/php.d.ts +3 -0
- package/dist/chunker/php.js +3 -0
- package/dist/chunker/php.js.map +1 -1
- package/dist/chunker/powershell.d.ts +3 -0
- package/dist/chunker/powershell.js +3 -0
- package/dist/chunker/powershell.js.map +1 -1
- package/dist/chunker/python.d.ts +3 -0
- package/dist/chunker/python.js +3 -0
- package/dist/chunker/python.js.map +1 -1
- package/dist/chunker/razor.d.ts +3 -0
- package/dist/chunker/razor.js.map +1 -1
- package/dist/chunker/ruby.d.ts +3 -0
- package/dist/chunker/ruby.js +3 -0
- package/dist/chunker/ruby.js.map +1 -1
- package/dist/chunker/rust.d.ts +3 -0
- package/dist/chunker/rust.js +3 -0
- package/dist/chunker/rust.js.map +1 -1
- package/dist/chunker/sln.d.ts +3 -0
- package/dist/chunker/sln.js.map +1 -1
- package/dist/chunker/sql.d.ts +3 -0
- package/dist/chunker/sql.js +3 -0
- package/dist/chunker/sql.js.map +1 -1
- package/dist/chunker/ssl.d.ts +3 -0
- package/dist/chunker/ssl.js +0 -6
- package/dist/chunker/ssl.js.map +1 -1
- package/dist/chunker/swift.d.ts +3 -0
- package/dist/chunker/swift.js +3 -0
- package/dist/chunker/swift.js.map +1 -1
- package/dist/chunker/tex.d.ts +3 -0
- package/dist/chunker/tex.js.map +1 -1
- package/dist/chunker/toml.d.ts +3 -0
- package/dist/chunker/toml.js +3 -0
- package/dist/chunker/toml.js.map +1 -1
- package/dist/chunker/typescript.d.ts +3 -0
- package/dist/chunker/typescript.js +3 -0
- package/dist/chunker/typescript.js.map +1 -1
- package/dist/chunker/uuid.d.ts +4 -0
- package/dist/chunker/uuid.js +4 -0
- package/dist/chunker/uuid.js.map +1 -1
- package/dist/chunker/xml.d.ts +3 -0
- package/dist/chunker/xml.js +3 -0
- package/dist/chunker/xml.js.map +1 -1
- package/dist/chunker/yaml.d.ts +3 -0
- package/dist/chunker/yaml.js +3 -0
- package/dist/chunker/yaml.js.map +1 -1
- package/dist/cli/commands/clear.d.ts +3 -0
- package/dist/cli/commands/clear.js +3 -0
- package/dist/cli/commands/clear.js.map +1 -1
- package/dist/cli/commands/describe-image.d.ts +3 -0
- package/dist/cli/commands/describe-image.js +3 -0
- package/dist/cli/commands/describe-image.js.map +1 -1
- package/dist/cli/commands/dump.d.ts +3 -0
- package/dist/cli/commands/dump.js +3 -0
- package/dist/cli/commands/dump.js.map +1 -1
- package/dist/cli/commands/eval.d.ts +3 -0
- package/dist/cli/commands/eval.js +3 -0
- package/dist/cli/commands/eval.js.map +1 -1
- package/dist/cli/commands/index-command.d.ts +4 -0
- package/dist/cli/commands/index-command.js +39 -26
- package/dist/cli/commands/index-command.js.map +1 -1
- package/dist/cli/commands/init-helpers.d.ts +3 -0
- package/dist/cli/commands/init-helpers.js +4 -9
- package/dist/cli/commands/init-helpers.js.map +1 -1
- package/dist/cli/commands/init.d.ts +3 -0
- package/dist/cli/commands/init.js +3 -0
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/list.d.ts +3 -0
- package/dist/cli/commands/list.js +3 -0
- package/dist/cli/commands/list.js.map +1 -1
- package/dist/cli/commands/mcp.d.ts +3 -0
- package/dist/cli/commands/mcp.js +3 -0
- package/dist/cli/commands/mcp.js.map +1 -1
- package/dist/cli/commands/query.d.ts +3 -0
- package/dist/cli/commands/query.js +7 -2
- package/dist/cli/commands/query.js.map +1 -1
- package/dist/cli/commands/show.d.ts +3 -0
- package/dist/cli/commands/show.js +3 -0
- package/dist/cli/commands/show.js.map +1 -1
- package/dist/cli/commands/status.d.ts +3 -0
- package/dist/cli/commands/status.js +3 -0
- package/dist/cli/commands/status.js.map +1 -1
- package/dist/cli/commands/ui.d.ts +3 -0
- package/dist/cli/commands/ui.js +3 -0
- package/dist/cli/commands/ui.js.map +1 -1
- package/dist/cli/commands/update.d.ts +3 -0
- package/dist/cli/commands/update.js +3 -0
- package/dist/cli/commands/update.js.map +1 -1
- package/dist/cli/format.d.ts +3 -0
- package/dist/cli/format.js +3 -0
- package/dist/cli/format.js.map +1 -1
- package/dist/cli/helpers.d.ts +3 -0
- package/dist/cli/helpers.js +3 -0
- package/dist/cli/helpers.js.map +1 -1
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.js +3 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/progress.d.ts +7 -4
- package/dist/cli/progress.js.map +1 -1
- package/dist/cli/types.d.ts +3 -0
- package/dist/cli/types.js +3 -0
- package/dist/cli/types.js.map +1 -1
- package/dist/cli.d.ts +2 -5
- package/dist/cli.js +2 -5
- package/dist/cli.js.map +1 -1
- package/dist/content/doc.d.ts +9 -0
- package/dist/content/doc.js +9 -0
- package/dist/content/doc.js.map +1 -1
- package/dist/content/docx.d.ts +9 -0
- package/dist/content/docx.js +9 -0
- package/dist/content/docx.js.map +1 -1
- package/dist/content/excel.d.ts +9 -0
- package/dist/content/excel.js +9 -0
- package/dist/content/excel.js.map +1 -1
- package/dist/content/image.d.ts +14 -0
- package/dist/content/image.js +14 -0
- package/dist/content/image.js.map +1 -1
- package/dist/content/pdf.d.ts +9 -0
- package/dist/content/pdf.js +9 -0
- package/dist/content/pdf.js.map +1 -1
- package/dist/content/reader.d.ts +13 -0
- package/dist/content/reader.js +12 -0
- package/dist/content/reader.js.map +1 -1
- package/dist/content/types.d.ts +4 -0
- package/dist/content/types.js +3 -0
- package/dist/content/types.js.map +1 -1
- package/dist/core/bootstrap.d.ts +4 -0
- package/dist/core/bootstrap.js +4 -0
- package/dist/core/bootstrap.js.map +1 -1
- package/dist/core/config.d.ts +24 -18
- package/dist/core/config.js +28 -14
- package/dist/core/config.js.map +1 -1
- package/dist/core/doc-progress.d.ts +4 -0
- package/dist/core/doc-progress.js +4 -0
- package/dist/core/doc-progress.js.map +1 -1
- package/dist/core/fileLogger.d.ts +4 -0
- package/dist/core/fileLogger.js +4 -0
- package/dist/core/fileLogger.js.map +1 -1
- package/dist/core/interfaces.d.ts +23 -1
- package/dist/core/interfaces.js +4 -0
- package/dist/core/interfaces.js.map +1 -1
- package/dist/core/manifest.d.ts +4 -0
- package/dist/core/manifest.js +4 -0
- package/dist/core/manifest.js.map +1 -1
- package/dist/core/provider-defaults.d.ts +4 -0
- package/dist/core/provider-defaults.js +4 -0
- package/dist/core/provider-defaults.js.map +1 -1
- package/dist/core/rag-injection-flag.d.ts +6 -0
- package/dist/core/rag-injection-flag.js +16 -0
- package/dist/core/rag-injection-flag.js.map +1 -1
- package/dist/core/resolve-api-key.d.ts +4 -0
- package/dist/core/resolve-api-key.js +4 -0
- package/dist/core/resolve-api-key.js.map +1 -1
- package/dist/core/runtime-overrides.d.ts +5 -0
- package/dist/core/runtime-overrides.js +7 -13
- package/dist/core/runtime-overrides.js.map +1 -1
- package/dist/describer/anthropic.d.ts +5 -2
- package/dist/describer/anthropic.js +8 -7
- package/dist/describer/anthropic.js.map +1 -1
- package/dist/describer/describer.d.ts +6 -3
- package/dist/describer/describer.js +9 -10
- package/dist/describer/describer.js.map +1 -1
- package/dist/describer/factory.d.ts +13 -0
- package/dist/describer/factory.js +12 -2
- package/dist/describer/factory.js.map +1 -1
- package/dist/describer/gemini.d.ts +10 -2
- package/dist/describer/gemini.js +13 -7
- package/dist/describer/gemini.js.map +1 -1
- package/dist/describer/shared.d.ts +14 -0
- package/dist/describer/shared.js +11 -0
- package/dist/describer/shared.js.map +1 -1
- package/dist/embedder/cohere.d.ts +16 -4
- package/dist/embedder/cohere.js +9 -0
- package/dist/embedder/cohere.js.map +1 -1
- package/dist/embedder/factory.d.ts +3 -0
- package/dist/embedder/factory.js.map +1 -1
- package/dist/embedder/health.d.ts +3 -0
- package/dist/embedder/health.js.map +1 -1
- package/dist/embedder/http.d.ts +1 -0
- package/dist/embedder/http.js +4 -0
- package/dist/embedder/http.js.map +1 -1
- package/dist/embedder/ollama.d.ts +18 -5
- package/dist/embedder/ollama.js +10 -0
- package/dist/embedder/ollama.js.map +1 -1
- package/dist/embedder/openai.d.ts +17 -5
- package/dist/embedder/openai.js +9 -0
- package/dist/embedder/openai.js.map +1 -1
- package/dist/eval/index.d.ts +3 -0
- package/dist/eval/index.js.map +1 -1
- package/dist/eval/run-token-test.d.ts +3 -0
- package/dist/eval/run-token-test.js +9 -45
- package/dist/eval/run-token-test.js.map +1 -1
- package/dist/eval/session-logger.js.map +1 -1
- package/dist/eval/storage.js +3 -0
- package/dist/eval/storage.js.map +1 -1
- package/dist/eval/token-analysis.d.ts +3 -0
- package/dist/eval/token-analysis.js +3 -0
- package/dist/eval/token-analysis.js.map +1 -1
- package/dist/eval/token-counter.d.ts +3 -0
- package/dist/eval/token-counter.js +3 -0
- package/dist/eval/token-counter.js.map +1 -1
- package/dist/eval/types.d.ts +3 -0
- package/dist/eval/types.js +3 -0
- package/dist/eval/types.js.map +1 -1
- package/dist/index.d.ts +7 -4
- package/dist/index.js +5 -3
- package/dist/index.js.map +1 -1
- package/dist/indexer/description-stage.d.ts +26 -0
- package/dist/indexer/description-stage.js +23 -1
- package/dist/indexer/description-stage.js.map +1 -1
- package/dist/indexer/embed-stage.d.ts +14 -0
- package/dist/indexer/embed-stage.js +10 -0
- package/dist/indexer/embed-stage.js.map +1 -1
- package/dist/indexer/git-diff.d.ts +44 -0
- package/dist/indexer/git-diff.js +50 -0
- package/dist/indexer/git-diff.js.map +1 -1
- package/dist/indexer/metadata.d.ts +9 -0
- package/dist/indexer/metadata.js +12 -0
- package/dist/indexer/metadata.js.map +1 -1
- package/dist/indexer/pipeline.d.ts +24 -0
- package/dist/indexer/pipeline.js +18 -11
- package/dist/indexer/pipeline.js.map +1 -1
- package/dist/indexer/stats.d.ts +3 -0
- package/dist/indexer/stats.js.map +1 -1
- package/dist/indexer/watch.d.ts +9 -3
- package/dist/indexer/watch.js +22 -2
- package/dist/indexer/watch.js.map +1 -1
- package/dist/indexer/worker.js +3 -0
- package/dist/indexer/worker.js.map +1 -1
- package/dist/indexer.d.ts +4 -0
- package/dist/indexer.js +4 -0
- package/dist/indexer.js.map +1 -1
- package/dist/mcp/cli.js +3 -0
- package/dist/mcp/cli.js.map +1 -1
- package/dist/mcp/handlers.d.ts +3 -0
- package/dist/mcp/handlers.js +5 -2
- package/dist/mcp/handlers.js.map +1 -1
- package/dist/mcp/server.d.ts +3 -0
- package/dist/mcp/server.js +3 -0
- package/dist/mcp/server.js.map +1 -1
- package/dist/opencode/create-read-tool.d.ts +3 -0
- package/dist/opencode/create-read-tool.js +3 -0
- package/dist/opencode/create-read-tool.js.map +1 -1
- package/dist/opencode/read-fallback.d.ts +3 -0
- package/dist/opencode/read-fallback.js +3 -0
- package/dist/opencode/read-fallback.js.map +1 -1
- package/dist/opencode/read-format.d.ts +3 -0
- package/dist/opencode/read-format.js +3 -0
- package/dist/opencode/read-format.js.map +1 -1
- package/dist/opencode/read-query.d.ts +3 -0
- package/dist/opencode/read-query.js +1 -4
- package/dist/opencode/read-query.js.map +1 -1
- package/dist/opencode/tool-args.d.ts +3 -0
- package/dist/opencode/tool-args.js +3 -0
- package/dist/opencode/tool-args.js.map +1 -1
- package/dist/opencode/tools.d.ts +25 -9
- package/dist/opencode/tools.js +24 -2
- package/dist/opencode/tools.js.map +1 -1
- package/dist/plugin-entry.d.ts +4 -0
- package/dist/plugin-entry.js +4 -0
- package/dist/plugin-entry.js.map +1 -1
- package/dist/plugin.d.ts +5 -0
- package/dist/plugin.js +84 -169
- package/dist/plugin.js.map +1 -1
- package/dist/retriever/context-optimizer.d.ts +44 -0
- package/dist/retriever/context-optimizer.js +202 -0
- package/dist/retriever/context-optimizer.js.map +1 -0
- package/dist/retriever/keyword-index.d.ts +14 -0
- package/dist/retriever/keyword-index.js +11 -0
- package/dist/retriever/keyword-index.js.map +1 -1
- package/dist/retriever/retriever.d.ts +17 -0
- package/dist/retriever/retriever.js +13 -0
- package/dist/retriever/retriever.js.map +1 -1
- package/dist/tui.d.ts +4 -0
- package/dist/tui.js +18 -38
- package/dist/tui.js.map +1 -1
- package/dist/types/opencode-plugin.d.ts +3 -0
- package/dist/updater.d.ts +4 -0
- package/dist/updater.js +4 -0
- package/dist/updater.js.map +1 -1
- package/dist/vectorstore/factory.d.ts +3 -0
- package/dist/vectorstore/factory.js +2 -2
- package/dist/vectorstore/factory.js.map +1 -1
- package/dist/vectorstore/lancedb.d.ts +2 -2
- package/dist/vectorstore/lancedb.js +4 -3
- package/dist/vectorstore/lancedb.js.map +1 -1
- package/dist/vectorstore/memory.d.ts +4 -0
- package/dist/vectorstore/memory.js +1 -0
- package/dist/vectorstore/memory.js.map +1 -1
- package/dist/watcher.d.ts +5 -0
- package/dist/watcher.js +17 -6
- package/dist/watcher.js.map +1 -1
- package/dist/web/api.d.ts +5 -2
- package/dist/web/api.js.map +1 -1
- package/dist/web/server.js +5 -2
- package/dist/web/server.js.map +1 -1
- package/dist/web/static.js +3 -0
- package/dist/web/static.js.map +1 -1
- package/package.json +4 -2
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Persists a flag across plugin restarts indicating that RAG context
|
|
3
|
+
* should be injected on the next chat message (chunks or file paths).
|
|
4
|
+
*/
|
|
1
5
|
import { writeFileSync, readFileSync, unlinkSync, existsSync } from "node:fs";
|
|
2
6
|
import { join } from "node:path";
|
|
3
7
|
const FLAG_FILE = ".pending-injection";
|
|
@@ -5,6 +9,18 @@ const FLAG_FILE = ".pending-injection";
|
|
|
5
9
|
export function setPendingRagInjection(storePath, type) {
|
|
6
10
|
writeFileSync(join(storePath, FLAG_FILE), type, "utf-8");
|
|
7
11
|
}
|
|
12
|
+
/** Check if a pending injection flag exists without consuming it. */
|
|
13
|
+
export function peekPendingRagInjection(storePath) {
|
|
14
|
+
const flagPath = join(storePath, FLAG_FILE);
|
|
15
|
+
if (!existsSync(flagPath))
|
|
16
|
+
return undefined;
|
|
17
|
+
try {
|
|
18
|
+
return readFileSync(flagPath, "utf-8");
|
|
19
|
+
}
|
|
20
|
+
catch {
|
|
21
|
+
return undefined;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
8
24
|
/** Read and remove the pending injection flag. Returns the injection type or undefined if none pending. */
|
|
9
25
|
export function consumePendingRagInjection(storePath) {
|
|
10
26
|
const flagPath = join(storePath, FLAG_FILE);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rag-injection-flag.js","sourceRoot":"","sources":["../../src/core/rag-injection-flag.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC9E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAKjC,MAAM,SAAS,GAAG,oBAAoB,CAAC;AAEvC,yFAAyF;AACzF,MAAM,UAAU,sBAAsB,CAAC,SAAiB,EAAE,IAAsB;IAC9E,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AAC3D,CAAC;AAED,2GAA2G;AAC3G,MAAM,UAAU,0BAA0B,CAAC,SAAiB;IAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAC5C,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,SAAS,CAAC;IAC5C,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAqB,CAAC;QAClE,UAAU,CAAC,QAAQ,CAAC,CAAC;QACrB,OAAO,KAAK,CAAC;IACf,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"rag-injection-flag.js","sourceRoot":"","sources":["../../src/core/rag-injection-flag.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC9E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAKjC,MAAM,SAAS,GAAG,oBAAoB,CAAC;AAEvC,yFAAyF;AACzF,MAAM,UAAU,sBAAsB,CAAC,SAAiB,EAAE,IAAsB;IAC9E,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AAC3D,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,uBAAuB,CAAC,SAAiB;IACvD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAC5C,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,SAAS,CAAC;IAC5C,IAAI,CAAC;QACH,OAAO,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAqB,CAAC;IAC7D,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,2GAA2G;AAC3G,MAAM,UAAU,0BAA0B,CAAC,SAAiB;IAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAC5C,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,SAAS,CAAC;IAC5C,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAqB,CAAC;QAClE,UAAU,CAAC,QAAQ,CAAC,CAAC;QACrB,OAAO,KAAK,CAAC;IACf,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC"}
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Auto-resolves API keys for embedding, description, and image description providers
|
|
3
|
+
* from config, environment variables, or OpenCode provider configuration.
|
|
4
|
+
*/
|
|
1
5
|
import type { RagConfig } from "./config.js";
|
|
2
6
|
/** Resolve API keys for embedding, description, and image description providers. Checks config, env vars, and OpenCode provider config. */
|
|
3
7
|
export declare function resolveApiKey(cfg: RagConfig, worktree?: string): void;
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Auto-resolves API keys for embedding, description, and image description providers
|
|
3
|
+
* from config, environment variables, or OpenCode provider configuration.
|
|
4
|
+
*/
|
|
1
5
|
import { readFileSync, existsSync } from "node:fs";
|
|
2
6
|
import path from "node:path";
|
|
3
7
|
import { getProviderDefault } from "./provider-defaults.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-api-key.js","sourceRoot":"","sources":["../../src/core/resolve-api-key.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"resolve-api-key.js","sourceRoot":"","sources":["../../src/core/resolve-api-key.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Live-configuration overrides that take precedence over the on-disk config file.
|
|
3
|
+
* Supports per-key overrides stored as JSON, loaded at runtime.
|
|
4
|
+
*/
|
|
1
5
|
import type { RagConfig } from "./config.js";
|
|
2
6
|
/** Live-configuration overrides that take precedence over the on-disk config file. */
|
|
3
7
|
export interface RuntimeOverrides {
|
|
@@ -13,6 +17,7 @@ export interface RuntimeOverrides {
|
|
|
13
17
|
autoIndex?: {
|
|
14
18
|
enabled?: boolean;
|
|
15
19
|
debounceMs?: number;
|
|
20
|
+
watcher?: string;
|
|
16
21
|
};
|
|
17
22
|
autoInject?: {
|
|
18
23
|
enabled?: boolean;
|
|
@@ -1,3 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Live-configuration overrides that take precedence over the on-disk config file.
|
|
3
|
+
* Supports per-key overrides stored as JSON, loaded at runtime.
|
|
4
|
+
*/
|
|
1
5
|
import { readFileSync, writeFileSync, existsSync, mkdirSync } from "node:fs";
|
|
2
6
|
import { dirname, join } from "node:path";
|
|
3
7
|
import { DEFAULT_CONFIG } from "./config.js";
|
|
@@ -58,23 +62,13 @@ export function applyRuntimeOverrides(cfg, overrides) {
|
|
|
58
62
|
if (overrides.openCode) {
|
|
59
63
|
if (overrides.openCode.autoIndex) {
|
|
60
64
|
if (!merged.openCode.autoIndex)
|
|
61
|
-
merged.openCode.autoIndex = { enabled: true, debounceMs: 2000, intervalMs: 300000 };
|
|
65
|
+
merged.openCode.autoIndex = { enabled: true, debounceMs: 2000, intervalMs: 300000, watcher: "chokidar" };
|
|
62
66
|
if (overrides.openCode.autoIndex.enabled !== undefined)
|
|
63
67
|
merged.openCode.autoIndex.enabled = overrides.openCode.autoIndex.enabled;
|
|
64
68
|
if (overrides.openCode.autoIndex.debounceMs !== undefined)
|
|
65
69
|
merged.openCode.autoIndex.debounceMs = overrides.openCode.autoIndex.debounceMs;
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
if (!merged.openCode.autoInject)
|
|
69
|
-
merged.openCode.autoInject = { enabled: true, minScore: 0.75, maxChunks: 10, maxTokens: 3000, contentType: "file_paths" };
|
|
70
|
-
if (overrides.openCode.autoInject.enabled !== undefined)
|
|
71
|
-
merged.openCode.autoInject.enabled = overrides.openCode.autoInject.enabled;
|
|
72
|
-
if (overrides.openCode.autoInject.minScore !== undefined)
|
|
73
|
-
merged.openCode.autoInject.minScore = overrides.openCode.autoInject.minScore;
|
|
74
|
-
if (overrides.openCode.autoInject.maxChunks !== undefined)
|
|
75
|
-
merged.openCode.autoInject.maxChunks = overrides.openCode.autoInject.maxChunks;
|
|
76
|
-
if (overrides.openCode.autoInject.contentType !== undefined)
|
|
77
|
-
merged.openCode.autoInject.contentType = overrides.openCode.autoInject.contentType;
|
|
70
|
+
if (overrides.openCode.autoIndex.watcher !== undefined)
|
|
71
|
+
merged.openCode.autoIndex.watcher = overrides.openCode.autoIndex.watcher;
|
|
78
72
|
}
|
|
79
73
|
}
|
|
80
74
|
if (overrides.embedding) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-overrides.js","sourceRoot":"","sources":["../../src/core/runtime-overrides.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"runtime-overrides.js","sourceRoot":"","sources":["../../src/core/runtime-overrides.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Anthropic Messages API description provider for generating natural-language descriptions of code chunks.
|
|
3
|
+
*/
|
|
4
|
+
import type { Chunk, DescriptionProvider, DescriptionLogger } from "../core/interfaces.js";
|
|
2
5
|
import type { DescriptionConfig } from "../core/config.js";
|
|
3
6
|
/**
|
|
4
7
|
* Description provider that uses Anthropic's Messages API to generate natural-language descriptions of code chunks.
|
|
@@ -15,7 +18,7 @@ export declare class AnthropicDescriptionProvider implements DescriptionProvider
|
|
|
15
18
|
/** @inheritdoc */
|
|
16
19
|
generateDescription(chunk: Chunk): Promise<string>;
|
|
17
20
|
/** @inheritdoc */
|
|
18
|
-
generateBatchDescriptions(chunks: Chunk[],
|
|
21
|
+
generateBatchDescriptions(chunks: Chunk[], logger?: DescriptionLogger): Promise<Map<string, string>>;
|
|
19
22
|
/**
|
|
20
23
|
* Sends a request to the Anthropic Messages API with retry and exponential backoff.
|
|
21
24
|
* The system prompt is combined with all user messages into a single message payload, and
|
|
@@ -25,30 +25,31 @@ export class AnthropicDescriptionProvider {
|
|
|
25
25
|
return this.chatRequest(messages, this.config.timeoutMs ?? 60000);
|
|
26
26
|
}
|
|
27
27
|
/** @inheritdoc */
|
|
28
|
-
async generateBatchDescriptions(chunks,
|
|
28
|
+
async generateBatchDescriptions(chunks, logger) {
|
|
29
|
+
const log = logger ?? { info: (msg) => console.log(msg), warn: (msg) => console.warn(msg), debug: (msg) => console.debug(msg) };
|
|
29
30
|
const concurrency = this.config.batchConcurrency ?? 3;
|
|
30
31
|
const total = chunks.length;
|
|
31
|
-
|
|
32
|
+
log.info(`[describer] Generating descriptions for ${total} chunks (concurrency: ${concurrency})`);
|
|
32
33
|
const result = new Map();
|
|
33
34
|
const limit = pLimit(concurrency);
|
|
34
35
|
let completed = 0;
|
|
35
36
|
await Promise.all(chunks.map((chunk) => limit(async () => {
|
|
36
37
|
const userMsg = buildUserMessage(chunk, this.config.maxContentChars);
|
|
37
|
-
|
|
38
|
+
log.debug(`[describer] REQUEST chunk ${chunk.id} (${chunk.metadata.filePath}:${chunk.metadata.startLine}):\n${userMsg}`);
|
|
38
39
|
try {
|
|
39
40
|
const desc = await this.generateDescription(chunk);
|
|
40
41
|
result.set(chunk.id, desc);
|
|
41
|
-
|
|
42
|
+
log.debug(`[describer] RESPONSE chunk ${chunk.id}: ${desc}`);
|
|
42
43
|
}
|
|
43
44
|
catch (err) {
|
|
44
|
-
|
|
45
|
+
log.warn(`[describer] Failed to describe chunk ${chunk.id} (${chunk.metadata.filePath}:${chunk.metadata.startLine}): ${err instanceof Error ? err.message : String(err)}`);
|
|
45
46
|
}
|
|
46
47
|
completed++;
|
|
47
48
|
if (completed % 25 === 0 || completed === total) {
|
|
48
|
-
|
|
49
|
+
log.info(`[describer] Progress: ${completed}/${total}`);
|
|
49
50
|
}
|
|
50
51
|
})));
|
|
51
|
-
|
|
52
|
+
log.info(`[describer] Descriptions generated: ${result.size}/${total}`);
|
|
52
53
|
return result;
|
|
53
54
|
}
|
|
54
55
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../src/describer/anthropic.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../src/describer/anthropic.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview OpenAI-compatible LLM description provider for generating natural-language descriptions of code chunks.
|
|
3
|
+
*/
|
|
4
|
+
import type { Chunk, DescriptionProvider, DescriptionLogger } from "../core/interfaces.js";
|
|
2
5
|
import type { DescriptionConfig } from "../core/config.js";
|
|
3
6
|
/**
|
|
4
7
|
* Description provider that works with any OpenAI-compatible chat API (including Ollama).
|
|
@@ -6,7 +9,7 @@ import type { DescriptionConfig } from "../core/config.js";
|
|
|
6
9
|
* Supports Bearer-token authentication, optional proxy, and retry with exponential backoff.
|
|
7
10
|
* For Ollama, uses the `/api/chat` endpoint and sends additional options like `num_ctx` and `think`.
|
|
8
11
|
*/
|
|
9
|
-
export declare class
|
|
12
|
+
export declare class LlmDescriptionProvider implements DescriptionProvider {
|
|
10
13
|
private readonly config;
|
|
11
14
|
/**
|
|
12
15
|
* @param config - Configuration for the LLM provider, including base URL, model, API key, proxy, and retry settings.
|
|
@@ -15,7 +18,7 @@ export declare class LLMDescriptionProvider implements DescriptionProvider {
|
|
|
15
18
|
/** @inheritdoc */
|
|
16
19
|
generateDescription(chunk: Chunk): Promise<string>;
|
|
17
20
|
/** @inheritdoc */
|
|
18
|
-
generateBatchDescriptions(chunks: Chunk[],
|
|
21
|
+
generateBatchDescriptions(chunks: Chunk[], logger?: DescriptionLogger): Promise<Map<string, string>>;
|
|
19
22
|
/**
|
|
20
23
|
* Sends a chat completion request to the LLM API with retry and exponential backoff.
|
|
21
24
|
* For Ollama, uses the `/api/chat` endpoint with streaming disabled; otherwise uses the standard `/v1/chat/completions` endpoint.
|
|
@@ -9,7 +9,7 @@ const RETRYABLE_STATUSES = new Set([404, 408, 429, 500, 502, 503, 504]);
|
|
|
9
9
|
* Supports Bearer-token authentication, optional proxy, and retry with exponential backoff.
|
|
10
10
|
* For Ollama, uses the `/api/chat` endpoint and sends additional options like `num_ctx` and `think`.
|
|
11
11
|
*/
|
|
12
|
-
export class
|
|
12
|
+
export class LlmDescriptionProvider {
|
|
13
13
|
config;
|
|
14
14
|
/**
|
|
15
15
|
* @param config - Configuration for the LLM provider, including base URL, model, API key, proxy, and retry settings.
|
|
@@ -26,32 +26,31 @@ export class LLMDescriptionProvider {
|
|
|
26
26
|
return this.chatRequest(messages, this.config.timeoutMs ?? 60000);
|
|
27
27
|
}
|
|
28
28
|
/** @inheritdoc */
|
|
29
|
-
async generateBatchDescriptions(chunks,
|
|
29
|
+
async generateBatchDescriptions(chunks, logger) {
|
|
30
|
+
const log = logger ?? { info: (msg) => process.stderr.write(`${msg}\n`), warn: (msg) => console.warn(msg), debug: (msg) => console.debug(msg) };
|
|
30
31
|
const concurrency = this.config.batchConcurrency ?? 3;
|
|
31
32
|
const total = chunks.length;
|
|
32
|
-
|
|
33
|
+
log.info(`Generating descriptions for ${total} chunks via ${this.config.provider}/${this.config.model} (concurrency: ${concurrency})...`);
|
|
33
34
|
const result = new Map();
|
|
34
35
|
const limit = pLimit(concurrency);
|
|
35
36
|
let completed = 0;
|
|
36
37
|
await Promise.all(chunks.map((chunk) => limit(async () => {
|
|
37
38
|
const userMsg = buildUserMessage(chunk, this.config.maxContentChars);
|
|
38
|
-
|
|
39
|
+
log.debug(`[describer] REQUEST chunk ${chunk.id} (${chunk.metadata.filePath}:${chunk.metadata.startLine}):\n${userMsg}`);
|
|
39
40
|
try {
|
|
40
41
|
const desc = await this.generateDescription(chunk);
|
|
41
42
|
result.set(chunk.id, desc);
|
|
42
|
-
|
|
43
|
+
log.debug(`[describer] RESPONSE chunk ${chunk.id}: ${desc}`);
|
|
43
44
|
}
|
|
44
45
|
catch (err) {
|
|
45
|
-
|
|
46
|
+
log.warn(`[describer] Failed to describe chunk ${chunk.id} (${chunk.metadata.filePath}:${chunk.metadata.startLine}): ${err instanceof Error ? err.message : String(err)}`);
|
|
46
47
|
}
|
|
47
48
|
completed++;
|
|
48
49
|
if (completed % 25 === 0 || completed === total) {
|
|
49
|
-
|
|
50
|
-
(logDebug ?? console.debug)(`[describer] Progress: ${completed}/${total}`);
|
|
50
|
+
log.info(`Descriptions: ${completed}/${total}`);
|
|
51
51
|
}
|
|
52
52
|
})));
|
|
53
|
-
|
|
54
|
-
(logDebug ?? console.debug)(`[describer] Descriptions generated: ${result.size}/${total}`);
|
|
53
|
+
log.info(`Descriptions: ${result.size}/${total} done.`);
|
|
55
54
|
return result;
|
|
56
55
|
}
|
|
57
56
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"describer.js","sourceRoot":"","sources":["../../src/describer/describer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"describer.js","sourceRoot":"","sources":["../../src/describer/describer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Factory for creating description providers (Anthropic, Gemini, or OpenAI-compatible).
|
|
3
|
+
*/
|
|
1
4
|
import type { DescriptionProvider } from "../core/interfaces.js";
|
|
2
5
|
import type { DescriptionConfig } from "../core/config.js";
|
|
6
|
+
/**
|
|
7
|
+
* Create a description provider instance based on configuration.
|
|
8
|
+
*
|
|
9
|
+
* Dispatches to AnthropicDescriptionProvider, GeminiDescriptionProvider, or the generic
|
|
10
|
+
* LlmDescriptionProvider depending on the provider field in config.
|
|
11
|
+
*
|
|
12
|
+
* @param config - Description configuration including provider type, API keys, and model settings
|
|
13
|
+
* @returns An initialized DescriptionProvider instance
|
|
14
|
+
* @throws If the provider requires an apiKey that is not set
|
|
15
|
+
*/
|
|
3
16
|
export declare function createDescriptionProvider(config: DescriptionConfig): DescriptionProvider;
|
|
@@ -1,6 +1,16 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { LlmDescriptionProvider } from "./describer.js";
|
|
2
2
|
import { AnthropicDescriptionProvider } from "./anthropic.js";
|
|
3
3
|
import { GeminiDescriptionProvider } from "./gemini.js";
|
|
4
|
+
/**
|
|
5
|
+
* Create a description provider instance based on configuration.
|
|
6
|
+
*
|
|
7
|
+
* Dispatches to AnthropicDescriptionProvider, GeminiDescriptionProvider, or the generic
|
|
8
|
+
* LlmDescriptionProvider depending on the provider field in config.
|
|
9
|
+
*
|
|
10
|
+
* @param config - Description configuration including provider type, API keys, and model settings
|
|
11
|
+
* @returns An initialized DescriptionProvider instance
|
|
12
|
+
* @throws If the provider requires an apiKey that is not set
|
|
13
|
+
*/
|
|
4
14
|
export function createDescriptionProvider(config) {
|
|
5
15
|
if (config.provider === "anthropic") {
|
|
6
16
|
if (!config.apiKey) {
|
|
@@ -14,6 +24,6 @@ export function createDescriptionProvider(config) {
|
|
|
14
24
|
}
|
|
15
25
|
return new GeminiDescriptionProvider(config);
|
|
16
26
|
}
|
|
17
|
-
return new
|
|
27
|
+
return new LlmDescriptionProvider(config);
|
|
18
28
|
}
|
|
19
29
|
//# sourceMappingURL=factory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/describer/factory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"factory.js","sourceRoot":"","sources":["../../src/describer/factory.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,4BAA4B,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAExD;;;;;;;;;GASG;AACH,MAAM,UAAU,yBAAyB,CACvC,MAAyB;IAEzB,IAAI,MAAM,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;QACpC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO,IAAI,4BAA4B,CAAC,MAAM,CAAC,CAAC;IAClD,CAAC;IAED,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC/D,CAAC;QACD,OAAO,IAAI,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO,IAAI,sBAAsB,CAAC,MAAM,CAAC,CAAC;AAC5C,CAAC"}
|
|
@@ -1,9 +1,17 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Google Gemini description provider for generating natural-language descriptions of code chunks.
|
|
3
|
+
*/
|
|
4
|
+
import type { Chunk, DescriptionProvider, DescriptionLogger } from "../core/interfaces.js";
|
|
2
5
|
import type { DescriptionConfig } from "../core/config.js";
|
|
6
|
+
/**
|
|
7
|
+
* Description provider that uses Google Gemini's generateContent API to describe code chunks.
|
|
8
|
+
*
|
|
9
|
+
* @param config - Configuration for the Gemini provider, including base URL, model, API key, and retry settings.
|
|
10
|
+
*/
|
|
3
11
|
export declare class GeminiDescriptionProvider implements DescriptionProvider {
|
|
4
12
|
private readonly config;
|
|
5
13
|
constructor(config: DescriptionConfig);
|
|
6
14
|
generateDescription(chunk: Chunk): Promise<string>;
|
|
7
|
-
generateBatchDescriptions(chunks: Chunk[],
|
|
15
|
+
generateBatchDescriptions(chunks: Chunk[], logger?: DescriptionLogger): Promise<Map<string, string>>;
|
|
8
16
|
private chatRequest;
|
|
9
17
|
}
|
package/dist/describer/gemini.js
CHANGED
|
@@ -2,6 +2,11 @@ import { postJson } from "../embedder/http.js";
|
|
|
2
2
|
import { buildUserMessage, sleep } from "./shared.js";
|
|
3
3
|
import pLimit from "p-limit";
|
|
4
4
|
const RETRYABLE_STATUSES = new Set([408, 429, 500, 502, 503, 504]);
|
|
5
|
+
/**
|
|
6
|
+
* Description provider that uses Google Gemini's generateContent API to describe code chunks.
|
|
7
|
+
*
|
|
8
|
+
* @param config - Configuration for the Gemini provider, including base URL, model, API key, and retry settings.
|
|
9
|
+
*/
|
|
5
10
|
export class GeminiDescriptionProvider {
|
|
6
11
|
config;
|
|
7
12
|
constructor(config) {
|
|
@@ -16,30 +21,31 @@ export class GeminiDescriptionProvider {
|
|
|
16
21
|
];
|
|
17
22
|
return this.chatRequest(contents, this.config.timeoutMs ?? 60000);
|
|
18
23
|
}
|
|
19
|
-
async generateBatchDescriptions(chunks,
|
|
24
|
+
async generateBatchDescriptions(chunks, logger) {
|
|
25
|
+
const log = logger ?? { info: (msg) => console.log(msg), warn: (msg) => console.warn(msg), debug: (msg) => console.debug(msg) };
|
|
20
26
|
const concurrency = this.config.batchConcurrency ?? 3;
|
|
21
27
|
const total = chunks.length;
|
|
22
|
-
|
|
28
|
+
log.info(`[describer] Generating descriptions for ${total} chunks (concurrency: ${concurrency})`);
|
|
23
29
|
const result = new Map();
|
|
24
30
|
const limit = pLimit(concurrency);
|
|
25
31
|
let completed = 0;
|
|
26
32
|
await Promise.all(chunks.map((chunk) => limit(async () => {
|
|
27
33
|
const userMsg = buildUserMessage(chunk, this.config.maxContentChars);
|
|
28
|
-
|
|
34
|
+
log.debug(`[describer] REQUEST chunk ${chunk.id} (${chunk.metadata.filePath}:${chunk.metadata.startLine}):\n${userMsg}`);
|
|
29
35
|
try {
|
|
30
36
|
const desc = await this.generateDescription(chunk);
|
|
31
37
|
result.set(chunk.id, desc);
|
|
32
|
-
|
|
38
|
+
log.debug(`[describer] RESPONSE chunk ${chunk.id}: ${desc}`);
|
|
33
39
|
}
|
|
34
40
|
catch (err) {
|
|
35
|
-
|
|
41
|
+
log.warn(`[describer] Failed to describe chunk ${chunk.id} (${chunk.metadata.filePath}:${chunk.metadata.startLine}): ${err instanceof Error ? err.message : String(err)}`);
|
|
36
42
|
}
|
|
37
43
|
completed++;
|
|
38
44
|
if (completed % 25 === 0 || completed === total) {
|
|
39
|
-
|
|
45
|
+
log.info(`[describer] Progress: ${completed}/${total}`);
|
|
40
46
|
}
|
|
41
47
|
})));
|
|
42
|
-
|
|
48
|
+
log.info(`[describer] Descriptions generated: ${result.size}/${total}`);
|
|
43
49
|
return result;
|
|
44
50
|
}
|
|
45
51
|
async chatRequest(contents, timeoutMs) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../src/describer/gemini.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"gemini.js","sourceRoot":"","sources":["../../src/describer/gemini.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Shared utilities for building description provider user messages and implementing sleep delays.
|
|
3
|
+
*/
|
|
1
4
|
import type { Chunk } from "../core/interfaces.js";
|
|
5
|
+
/**
|
|
6
|
+
* Build a formatted user message string from a code chunk for LLM description requests.
|
|
7
|
+
*
|
|
8
|
+
* Includes file path, language, line range, and the chunk content wrapped in a markdown code block.
|
|
9
|
+
* Truncates content to maxContentChars if specified.
|
|
10
|
+
*
|
|
11
|
+
* @param chunk - The code chunk to describe
|
|
12
|
+
* @param maxContentChars - Optional maximum number of characters to include from the chunk content
|
|
13
|
+
* @returns Formatted message string ready to send to an LLM
|
|
14
|
+
*/
|
|
2
15
|
export declare function buildUserMessage(chunk: Chunk, maxContentChars?: number): string;
|
|
16
|
+
/** Promise-based delay for use with async/await. */
|
|
3
17
|
export declare function sleep(ms: number): Promise<void>;
|
package/dist/describer/shared.js
CHANGED
|
@@ -1,3 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Build a formatted user message string from a code chunk for LLM description requests.
|
|
3
|
+
*
|
|
4
|
+
* Includes file path, language, line range, and the chunk content wrapped in a markdown code block.
|
|
5
|
+
* Truncates content to maxContentChars if specified.
|
|
6
|
+
*
|
|
7
|
+
* @param chunk - The code chunk to describe
|
|
8
|
+
* @param maxContentChars - Optional maximum number of characters to include from the chunk content
|
|
9
|
+
* @returns Formatted message string ready to send to an LLM
|
|
10
|
+
*/
|
|
1
11
|
export function buildUserMessage(chunk, maxContentChars) {
|
|
2
12
|
const parts = [];
|
|
3
13
|
if (chunk.metadata.filePath) {
|
|
@@ -17,6 +27,7 @@ export function buildUserMessage(chunk, maxContentChars) {
|
|
|
17
27
|
parts.push("```");
|
|
18
28
|
return parts.join("\n");
|
|
19
29
|
}
|
|
30
|
+
/** Promise-based delay for use with async/await. */
|
|
20
31
|
export function sleep(ms) {
|
|
21
32
|
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
22
33
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/describer/shared.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../src/describer/shared.ts"],"names":[],"mappings":"AAKA;;;;;;;;;GASG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAY,EAAE,eAAwB;IACrE,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;IACjD,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,aAAa,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;IACrD,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,QAAQ,CAAC,SAAS,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3E,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC;IAEpD,IAAI,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;IAC5B,IAAI,eAAe,IAAI,OAAO,CAAC,MAAM,GAAG,eAAe,EAAE,CAAC;QACxD,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC,GAAG,mBAAmB,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACpB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAElB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,oDAAoD;AACpD,MAAM,UAAU,KAAK,CAAC,EAAU;IAC9B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC"}
|
|
@@ -1,11 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Cohere embedding provider that generates vector embeddings via the Cohere /embed endpoint.
|
|
3
|
+
*/
|
|
1
4
|
import type { EmbeddingProvider } from "../core/interfaces.js";
|
|
2
5
|
import type { ProxyConfig } from "../core/config.js";
|
|
6
|
+
/**
|
|
7
|
+
* Cohere embedding provider that generates vector embeddings via the Cohere /embed endpoint.
|
|
8
|
+
*
|
|
9
|
+
* @param baseUrl - Cohere API base URL
|
|
10
|
+
* @param model - Model name to use for embedding
|
|
11
|
+
* @param apiKey - API key for authentication
|
|
12
|
+
* @param timeoutMs - Request timeout in milliseconds (default 30000)
|
|
13
|
+
* @param proxy - Optional proxy configuration
|
|
14
|
+
*/
|
|
3
15
|
export declare class CohereProvider implements EmbeddingProvider {
|
|
4
16
|
readonly name = "cohere";
|
|
5
|
-
private baseUrl;
|
|
6
|
-
private model;
|
|
7
|
-
private apiKey;
|
|
8
|
-
private timeoutMs;
|
|
17
|
+
private readonly baseUrl;
|
|
18
|
+
private readonly model;
|
|
19
|
+
private readonly apiKey;
|
|
20
|
+
private readonly timeoutMs;
|
|
9
21
|
private proxy?;
|
|
10
22
|
constructor(baseUrl: string, model: string, apiKey: string, timeoutMs?: number, proxy?: ProxyConfig);
|
|
11
23
|
embed(texts: string[], purpose?: "query" | "document"): Promise<number[][]>;
|
package/dist/embedder/cohere.js
CHANGED
|
@@ -1,4 +1,13 @@
|
|
|
1
1
|
import { postJson } from "./http.js";
|
|
2
|
+
/**
|
|
3
|
+
* Cohere embedding provider that generates vector embeddings via the Cohere /embed endpoint.
|
|
4
|
+
*
|
|
5
|
+
* @param baseUrl - Cohere API base URL
|
|
6
|
+
* @param model - Model name to use for embedding
|
|
7
|
+
* @param apiKey - API key for authentication
|
|
8
|
+
* @param timeoutMs - Request timeout in milliseconds (default 30000)
|
|
9
|
+
* @param proxy - Optional proxy configuration
|
|
10
|
+
*/
|
|
2
11
|
export class CohereProvider {
|
|
3
12
|
name = "cohere";
|
|
4
13
|
baseUrl;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cohere.js","sourceRoot":"","sources":["../../src/embedder/cohere.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cohere.js","sourceRoot":"","sources":["../../src/embedder/cohere.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAErC;;;;;;;;GAQG;AACH,MAAM,OAAO,cAAc;IAChB,IAAI,GAAG,QAAQ,CAAC;IAER,OAAO,CAAS;IAChB,KAAK,CAAS;IACd,MAAM,CAAS;IACf,SAAS,CAAS;IAC3B,KAAK,CAAe;IAE5B,YAAY,OAAe,EAAE,KAAa,EAAE,MAAc,EAAE,YAAoB,KAAK,EAAE,KAAmB;QACxG,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QAC3C,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,KAAe,EAAE,OAA8B;QACzD,MAAM,SAAS,GAAG,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,iBAAiB,CAAC;QAC3E,MAAM,IAAI,GAA4B;YACpC,KAAK;YACL,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,UAAU,EAAE,SAAS;SACtB,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAC7B,GAAG,IAAI,CAAC,OAAO,QAAQ,EACvB,IAAI,EACJ,EAAE,aAAa,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE,EAAE,EAC1C,IAAI,CAAC,SAAS,EACd,IAAI,CAAC,KAAK,CACX,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,4BAA4B,QAAQ,CAAC,MAAM,MAAM,IAAI,EAAE,CAAC,CAAC;QAC3E,CAAC;QAED,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAElC,CAAC;QAEF,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACxD,MAAM,IAAI,KAAK,CAAC,gCAAgC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC1E,CAAC;QAED,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;CACF"}
|