opencode-rag-plugin 1.12.17 → 1.14.6
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 +15 -13
- package/dist/api.d.ts +54 -2
- package/dist/api.js +41 -1
- package/dist/api.js.map +1 -1
- package/dist/chunker/base.js +2 -0
- package/dist/chunker/base.js.map +1 -1
- package/dist/chunker/bash.d.ts +5 -0
- package/dist/chunker/bash.js +5 -0
- package/dist/chunker/bash.js.map +1 -1
- package/dist/chunker/c.d.ts +6 -0
- package/dist/chunker/c.js +6 -0
- package/dist/chunker/c.js.map +1 -1
- package/dist/chunker/cpp.d.ts +6 -0
- package/dist/chunker/cpp.js +6 -0
- package/dist/chunker/cpp.js.map +1 -1
- package/dist/chunker/csharp.d.ts +6 -0
- package/dist/chunker/csharp.js +6 -0
- package/dist/chunker/csharp.js.map +1 -1
- package/dist/chunker/css.d.ts +6 -0
- package/dist/chunker/css.js +6 -0
- package/dist/chunker/css.js.map +1 -1
- package/dist/chunker/doc.d.ts +18 -0
- package/dist/chunker/doc.js +18 -0
- package/dist/chunker/doc.js.map +1 -1
- package/dist/chunker/dockerfile.d.ts +6 -0
- package/dist/chunker/dockerfile.js +6 -0
- package/dist/chunker/dockerfile.js.map +1 -1
- package/dist/chunker/docx.d.ts +18 -0
- package/dist/chunker/docx.js +18 -0
- package/dist/chunker/docx.js.map +1 -1
- package/dist/chunker/excel.d.ts +19 -0
- package/dist/chunker/excel.js +19 -0
- package/dist/chunker/excel.js.map +1 -1
- package/dist/chunker/go.d.ts +5 -0
- package/dist/chunker/go.js +5 -0
- package/dist/chunker/go.js.map +1 -1
- package/dist/chunker/grammar.d.ts +62 -0
- package/dist/chunker/grammar.js +133 -0
- package/dist/chunker/grammar.js.map +1 -1
- package/dist/chunker/html.d.ts +5 -0
- package/dist/chunker/html.js +5 -0
- package/dist/chunker/html.js.map +1 -1
- package/dist/chunker/image.d.ts +31 -0
- package/dist/chunker/image.js +50 -4
- package/dist/chunker/image.js.map +1 -1
- package/dist/chunker/ini.d.ts +5 -0
- package/dist/chunker/ini.js +5 -0
- package/dist/chunker/ini.js.map +1 -1
- package/dist/chunker/java.d.ts +5 -0
- package/dist/chunker/java.js +5 -0
- package/dist/chunker/java.js.map +1 -1
- package/dist/chunker/javascript.d.ts +6 -0
- package/dist/chunker/javascript.js +6 -0
- package/dist/chunker/javascript.js.map +1 -1
- package/dist/chunker/json.d.ts +5 -0
- package/dist/chunker/json.js +5 -0
- package/dist/chunker/json.js.map +1 -1
- package/dist/chunker/kotlin.d.ts +6 -0
- package/dist/chunker/kotlin.js +6 -0
- package/dist/chunker/kotlin.js.map +1 -1
- package/dist/chunker/loader.d.ts +11 -0
- package/dist/chunker/loader.js +20 -0
- package/dist/chunker/loader.js.map +1 -1
- package/dist/chunker/markdown.d.ts +5 -0
- package/dist/chunker/markdown.js +5 -0
- package/dist/chunker/markdown.js.map +1 -1
- package/dist/chunker/pdf.d.ts +19 -0
- package/dist/chunker/pdf.js +30 -0
- package/dist/chunker/pdf.js.map +1 -1
- package/dist/chunker/php.d.ts +5 -0
- package/dist/chunker/php.js +5 -0
- package/dist/chunker/php.js.map +1 -1
- package/dist/chunker/powershell.d.ts +5 -0
- package/dist/chunker/powershell.js +5 -0
- package/dist/chunker/powershell.js.map +1 -1
- package/dist/chunker/python.d.ts +5 -0
- package/dist/chunker/python.js +5 -0
- package/dist/chunker/python.js.map +1 -1
- package/dist/chunker/razor.d.ts +12 -0
- package/dist/chunker/razor.js +25 -0
- package/dist/chunker/razor.js.map +1 -1
- package/dist/chunker/ruby.d.ts +5 -0
- package/dist/chunker/ruby.js +5 -0
- package/dist/chunker/ruby.js.map +1 -1
- package/dist/chunker/rust.d.ts +6 -0
- package/dist/chunker/rust.js +6 -0
- package/dist/chunker/rust.js.map +1 -1
- package/dist/chunker/sln.d.ts +11 -0
- package/dist/chunker/sln.js +11 -0
- package/dist/chunker/sln.js.map +1 -1
- package/dist/chunker/sql.d.ts +5 -0
- package/dist/chunker/sql.js +5 -0
- package/dist/chunker/sql.js.map +1 -1
- package/dist/chunker/ssl.d.ts +12 -0
- package/dist/chunker/ssl.js +21 -2
- package/dist/chunker/ssl.js.map +1 -1
- package/dist/chunker/swift.d.ts +5 -0
- package/dist/chunker/swift.js +5 -0
- package/dist/chunker/swift.js.map +1 -1
- package/dist/chunker/tex.d.ts +12 -0
- package/dist/chunker/tex.js +12 -0
- package/dist/chunker/tex.js.map +1 -1
- package/dist/chunker/toml.d.ts +5 -0
- package/dist/chunker/toml.js +5 -0
- package/dist/chunker/toml.js.map +1 -1
- package/dist/chunker/typescript.d.ts +6 -0
- package/dist/chunker/typescript.js +6 -0
- package/dist/chunker/typescript.js.map +1 -1
- package/dist/chunker/xml.d.ts +5 -0
- package/dist/chunker/xml.js +5 -0
- package/dist/chunker/xml.js.map +1 -1
- package/dist/chunker/yaml.d.ts +5 -0
- package/dist/chunker/yaml.js +5 -0
- package/dist/chunker/yaml.js.map +1 -1
- package/dist/cli/commands/clear.d.ts +12 -0
- package/dist/cli/commands/clear.js +81 -0
- package/dist/cli/commands/clear.js.map +1 -0
- package/dist/cli/commands/describe-image.d.ts +14 -0
- package/dist/cli/commands/describe-image.js +68 -0
- package/dist/cli/commands/describe-image.js.map +1 -0
- package/dist/cli/commands/dump.d.ts +13 -0
- package/dist/cli/commands/dump.js +55 -0
- package/dist/cli/commands/dump.js.map +1 -0
- package/dist/cli/commands/eval.d.ts +32 -0
- package/dist/cli/commands/eval.js +158 -0
- package/dist/cli/commands/eval.js.map +1 -0
- package/dist/cli/commands/index-command.d.ts +17 -0
- package/dist/cli/commands/index-command.js +167 -0
- package/dist/cli/commands/index-command.js.map +1 -0
- package/dist/cli/commands/index.d.ts +16 -0
- package/dist/cli/commands/index.js +17 -0
- package/dist/cli/commands/index.js.map +1 -0
- package/dist/cli/commands/init-helpers.d.ts +101 -0
- package/dist/cli/commands/init-helpers.js +397 -0
- package/dist/cli/commands/init-helpers.js.map +1 -0
- package/dist/cli/commands/init.d.ts +19 -0
- package/dist/cli/commands/init.js +251 -0
- package/dist/cli/commands/init.js.map +1 -0
- package/dist/cli/commands/list.d.ts +13 -0
- package/dist/cli/commands/list.js +46 -0
- package/dist/cli/commands/list.js.map +1 -0
- package/dist/cli/commands/mcp.d.ts +14 -0
- package/dist/cli/commands/mcp.js +35 -0
- package/dist/cli/commands/mcp.js.map +1 -0
- package/dist/cli/commands/query.d.ts +14 -0
- package/dist/cli/commands/query.js +86 -0
- package/dist/cli/commands/query.js.map +1 -0
- package/dist/cli/commands/show.d.ts +13 -0
- package/dist/cli/commands/show.js +51 -0
- package/dist/cli/commands/show.js.map +1 -0
- package/dist/cli/commands/status.d.ts +14 -0
- package/dist/cli/commands/status.js +104 -0
- package/dist/cli/commands/status.js.map +1 -0
- package/dist/cli/commands/ui.d.ts +14 -0
- package/dist/cli/commands/ui.js +69 -0
- package/dist/cli/commands/ui.js.map +1 -0
- package/dist/cli/commands/update.d.ts +14 -0
- package/dist/cli/commands/update.js +76 -0
- package/dist/cli/commands/update.js.map +1 -0
- package/dist/cli/format.d.ts +112 -0
- package/dist/cli/format.js +184 -0
- package/dist/cli/format.js.map +1 -0
- package/dist/cli/helpers.d.ts +51 -0
- package/dist/cli/helpers.js +86 -0
- package/dist/cli/helpers.js.map +1 -0
- package/dist/cli/index.d.ts +28 -0
- package/dist/cli/index.js +104 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/progress.d.ts +39 -0
- package/dist/cli/progress.js +137 -0
- package/dist/cli/progress.js.map +1 -0
- package/dist/cli/types.d.ts +40 -0
- package/dist/cli/types.js +3 -0
- package/dist/cli/types.js.map +1 -0
- package/dist/cli.d.ts +11 -4
- package/dist/cli.js +9 -1253
- package/dist/cli.js.map +1 -1
- package/dist/content/doc.d.ts +1 -1
- package/dist/content/doc.js +1 -1
- package/dist/content/doc.js.map +1 -1
- package/dist/content/docx.d.ts +1 -1
- package/dist/content/docx.js +1 -1
- package/dist/content/docx.js.map +1 -1
- package/dist/content/excel.d.ts +1 -1
- package/dist/content/excel.js +1 -1
- package/dist/content/excel.js.map +1 -1
- package/dist/content/pdf.d.ts +1 -1
- package/dist/content/pdf.js +1 -1
- package/dist/content/pdf.js.map +1 -1
- package/dist/content/reader.d.ts +3 -1
- package/dist/content/reader.js +42 -10
- package/dist/content/reader.js.map +1 -1
- package/dist/core/bootstrap.d.ts +18 -0
- package/dist/core/bootstrap.js +9 -15
- package/dist/core/bootstrap.js.map +1 -1
- package/dist/core/config.d.ts +144 -0
- package/dist/core/config.js +65 -14
- package/dist/core/config.js.map +1 -1
- package/dist/core/doc-progress.d.ts +15 -0
- package/dist/core/doc-progress.js +61 -0
- package/dist/core/doc-progress.js.map +1 -0
- package/dist/core/fileLogger.d.ts +7 -0
- package/dist/core/fileLogger.js +2 -0
- package/dist/core/fileLogger.js.map +1 -1
- package/dist/core/interfaces.d.ts +52 -1
- package/dist/core/manifest.d.ts +25 -0
- package/dist/core/manifest.js +15 -1
- package/dist/core/manifest.js.map +1 -1
- package/dist/core/provider-defaults.d.ts +8 -0
- package/dist/core/provider-defaults.js +3 -0
- package/dist/core/provider-defaults.js.map +1 -1
- package/dist/core/rag-injection-flag.d.ts +3 -0
- package/dist/core/rag-injection-flag.js +2 -0
- package/dist/core/rag-injection-flag.js.map +1 -1
- package/dist/core/resolve-api-key.d.ts +1 -0
- package/dist/core/resolve-api-key.js +1 -0
- package/dist/core/resolve-api-key.js.map +1 -1
- package/dist/core/runtime-overrides.d.ts +4 -0
- package/dist/core/runtime-overrides.js +4 -1
- package/dist/core/runtime-overrides.js.map +1 -1
- package/dist/describer/anthropic.d.ts +22 -2
- package/dist/describer/anthropic.js +42 -110
- package/dist/describer/anthropic.js.map +1 -1
- package/dist/describer/describer.d.ts +21 -4
- package/dist/describer/describer.js +52 -111
- package/dist/describer/describer.js.map +1 -1
- package/dist/describer/gemini.d.ts +1 -2
- package/dist/describer/gemini.js +20 -113
- package/dist/describer/gemini.js.map +1 -1
- package/dist/describer/shared.d.ts +3 -0
- package/dist/describer/shared.js +19 -0
- package/dist/describer/shared.js.map +1 -0
- package/dist/embedder/factory.d.ts +25 -0
- package/dist/embedder/factory.js +25 -0
- package/dist/embedder/factory.js.map +1 -1
- package/dist/embedder/health.d.ts +10 -0
- package/dist/embedder/health.js +26 -14
- package/dist/embedder/health.js.map +1 -1
- package/dist/embedder/http.d.ts +47 -0
- package/dist/embedder/http.js +61 -3
- package/dist/embedder/http.js.map +1 -1
- package/dist/eval/index.d.ts +6 -0
- package/dist/eval/index.js.map +1 -1
- package/dist/eval/run-token-test.js +1 -5
- package/dist/eval/run-token-test.js.map +1 -1
- package/dist/eval/session-logger.d.ts +5 -0
- package/dist/eval/session-logger.js +4 -0
- package/dist/eval/session-logger.js.map +1 -1
- package/dist/eval/storage.d.ts +9 -0
- package/dist/eval/storage.js +9 -5
- package/dist/eval/storage.js.map +1 -1
- package/dist/eval/token-analysis.d.ts +8 -0
- package/dist/eval/token-analysis.js +6 -2
- package/dist/eval/token-analysis.js.map +1 -1
- package/dist/eval/token-counter.d.ts +1 -3
- package/dist/eval/token-counter.js +4 -5
- package/dist/eval/token-counter.js.map +1 -1
- package/dist/eval/types.d.ts +6 -0
- package/dist/eval/types.js +2 -0
- package/dist/eval/types.js.map +1 -1
- package/dist/index.d.ts +11 -0
- package/dist/index.js +12 -3
- package/dist/index.js.map +1 -1
- package/dist/indexer/description-stage.js +11 -2
- package/dist/indexer/description-stage.js.map +1 -1
- package/dist/indexer/embed-stage.js +0 -8
- package/dist/indexer/embed-stage.js.map +1 -1
- package/dist/indexer/pipeline.d.ts +27 -3
- package/dist/indexer/pipeline.js +314 -143
- package/dist/indexer/pipeline.js.map +1 -1
- package/dist/indexer/stats.d.ts +35 -0
- package/dist/indexer/stats.js +9 -0
- package/dist/indexer/stats.js.map +1 -1
- package/dist/indexer/watch.d.ts +25 -0
- package/dist/indexer/watch.js +21 -0
- package/dist/indexer/watch.js.map +1 -1
- package/dist/indexer/worker.d.ts +90 -2
- package/dist/indexer/worker.js +109 -24
- package/dist/indexer/worker.js.map +1 -1
- package/dist/indexer.d.ts +11 -1
- package/dist/indexer.js +9 -0
- package/dist/indexer.js.map +1 -1
- package/dist/mcp/cli.d.ts +3 -0
- package/dist/mcp/cli.js +1 -0
- package/dist/mcp/cli.js.map +1 -1
- package/dist/mcp/handlers.d.ts +41 -0
- package/dist/mcp/handlers.js +40 -1
- package/dist/mcp/handlers.js.map +1 -1
- package/dist/mcp/server.d.ts +8 -0
- package/dist/mcp/server.js +18 -1
- package/dist/mcp/server.js.map +1 -1
- package/dist/opencode/create-read-tool.js +1 -0
- package/dist/opencode/create-read-tool.js.map +1 -1
- package/dist/opencode/tools.d.ts +8 -17
- package/dist/opencode/tools.js +74 -109
- package/dist/opencode/tools.js.map +1 -1
- package/dist/plugin-entry.d.ts +6 -0
- package/dist/plugin-entry.js +6 -0
- package/dist/plugin-entry.js.map +1 -1
- package/dist/plugin.d.ts +37 -0
- package/dist/plugin.js +265 -40
- package/dist/plugin.js.map +1 -1
- package/dist/retriever/keyword-index.js +9 -9
- package/dist/retriever/keyword-index.js.map +1 -1
- package/dist/retriever/retriever.js +14 -4
- package/dist/retriever/retriever.js.map +1 -1
- package/dist/tui.d.ts +5 -0
- package/dist/tui.js +100 -12
- package/dist/tui.js.map +1 -1
- package/dist/types/opencode-plugin.d.ts +4 -1
- package/dist/updater.d.ts +23 -1
- package/dist/updater.js +55 -16
- package/dist/updater.js.map +1 -1
- package/dist/vectorstore/factory.d.ts +13 -0
- package/dist/vectorstore/factory.js +13 -0
- package/dist/vectorstore/factory.js.map +1 -1
- package/dist/vectorstore/lancedb.d.ts +78 -1
- package/dist/vectorstore/lancedb.js +195 -21
- package/dist/vectorstore/lancedb.js.map +1 -1
- package/dist/vectorstore/memory.d.ts +5 -0
- package/dist/vectorstore/memory.js +11 -0
- package/dist/vectorstore/memory.js.map +1 -1
- package/dist/watcher.d.ts +24 -0
- package/dist/watcher.js +17 -35
- package/dist/watcher.js.map +1 -1
- package/dist/web/api.d.ts +37 -0
- package/dist/web/api.js +54 -0
- package/dist/web/api.js.map +1 -1
- package/dist/web/server.d.ts +15 -0
- package/dist/web/server.js +14 -0
- package/dist/web/server.js.map +1 -1
- package/dist/web/static.d.ts +8 -0
- package/dist/web/static.js +8 -0
- package/dist/web/static.js.map +1 -1
- package/package.json +11 -15
package/dist/core/config.d.ts
CHANGED
|
@@ -1,143 +1,287 @@
|
|
|
1
1
|
import type { EmbeddingProvider, Chunker, VectorStore } from "./interfaces.js";
|
|
2
|
+
/** Registration of a custom chunker module for a set of file extensions. */
|
|
2
3
|
export interface ChunkerConfig {
|
|
4
|
+
/** Module path or name exporting a Chunker implementation. */
|
|
3
5
|
module: string;
|
|
6
|
+
/** File extensions this chunker should handle. */
|
|
4
7
|
extensions: string[];
|
|
5
8
|
}
|
|
9
|
+
/** HTTP proxy configuration for outbound API calls. */
|
|
6
10
|
export interface ProxyConfig {
|
|
11
|
+
/** Proxy URL (e.g. "http://proxy:8080"). */
|
|
7
12
|
url?: string;
|
|
13
|
+
/** Optional proxy authentication username. */
|
|
8
14
|
username?: string;
|
|
15
|
+
/** Optional proxy authentication password. */
|
|
9
16
|
password?: string;
|
|
17
|
+
/** Comma-separated list of hosts that bypass the proxy. */
|
|
10
18
|
noProxy?: string;
|
|
11
19
|
}
|
|
20
|
+
/** Configuration for automatic background re-indexing on file changes. */
|
|
12
21
|
export interface AutoIndexConfig {
|
|
22
|
+
/** Whether auto-indexing is enabled. */
|
|
13
23
|
enabled: boolean;
|
|
24
|
+
/** Debounce delay in ms after a file change before triggering an index pass. */
|
|
14
25
|
debounceMs: number;
|
|
26
|
+
/** Periodic full index interval in ms. */
|
|
15
27
|
intervalMs: number;
|
|
16
28
|
}
|
|
29
|
+
/** Behavior when a read tool query returns no results. */
|
|
17
30
|
export type ReadNoResultsBehavior = "hint" | "empty" | "error";
|
|
31
|
+
/** Format for auto-injected context content. */
|
|
18
32
|
export type AutoInjectContentType = "chunks" | "file_paths";
|
|
33
|
+
/** Configuration for automatically injecting relevant context into OpenCode chat messages. */
|
|
19
34
|
export interface AutoInjectConfig {
|
|
35
|
+
/** Whether auto-injection is enabled. */
|
|
20
36
|
enabled: boolean;
|
|
37
|
+
/** Minimum relevance score for a chunk to be auto-injected. */
|
|
21
38
|
minScore: number;
|
|
39
|
+
/** Maximum number of chunks to inject per message. */
|
|
22
40
|
maxChunks: number;
|
|
41
|
+
/** Maximum total tokens for auto-injected content. */
|
|
23
42
|
maxTokens: number;
|
|
43
|
+
/** Whether to inject full chunk content or just file paths. */
|
|
24
44
|
contentType: AutoInjectContentType;
|
|
25
45
|
}
|
|
46
|
+
/** Configuration for LLM-powered chunk description generation. */
|
|
26
47
|
export interface DescriptionConfig {
|
|
48
|
+
/** Whether description generation is enabled. */
|
|
27
49
|
enabled: boolean;
|
|
50
|
+
/** LLM provider name ("ollama" or "openai"). */
|
|
28
51
|
provider: string;
|
|
52
|
+
/** Base URL of the LLM API. */
|
|
29
53
|
baseUrl: string;
|
|
54
|
+
/** Model name for descriptions. */
|
|
30
55
|
model: string;
|
|
56
|
+
/** API key for providers that require authentication. */
|
|
31
57
|
apiKey?: string;
|
|
58
|
+
/** Request timeout in milliseconds. */
|
|
32
59
|
timeoutMs?: number;
|
|
60
|
+
/** Proxy configuration for API calls. */
|
|
33
61
|
proxy?: ProxyConfig;
|
|
62
|
+
/** System prompt instructing the LLM how to describe code. */
|
|
34
63
|
systemPrompt: string;
|
|
64
|
+
/** Maximum chunks per batch request. */
|
|
35
65
|
batchMaxChunks?: number;
|
|
66
|
+
/** Timeout per batch request in milliseconds. */
|
|
36
67
|
batchTimeoutMs?: number;
|
|
68
|
+
/** Number of concurrent batch requests. */
|
|
37
69
|
batchConcurrency?: number;
|
|
70
|
+
/** Maximum retry attempts on failure. */
|
|
38
71
|
retryMax?: number;
|
|
72
|
+
/** Base delay in ms between retries (exponential backoff). */
|
|
39
73
|
retryBaseDelayMs?: number;
|
|
74
|
+
/** Whether to include chain-of-thought tokens in the response. */
|
|
40
75
|
think?: boolean;
|
|
76
|
+
/** Context window size for the LLM. */
|
|
41
77
|
numCtx?: number;
|
|
42
78
|
}
|
|
79
|
+
/** Configuration for vision-model-based image description generation. */
|
|
43
80
|
export interface ImageDescriptionConfig {
|
|
81
|
+
/** Whether image description is enabled. */
|
|
44
82
|
enabled: boolean;
|
|
83
|
+
/** Vision provider name. */
|
|
45
84
|
provider: string;
|
|
85
|
+
/** Vision model name. */
|
|
46
86
|
model: string;
|
|
87
|
+
/** Base URL of the vision API. */
|
|
47
88
|
baseUrl: string;
|
|
89
|
+
/** API key for providers that require authentication. */
|
|
48
90
|
apiKey?: string;
|
|
91
|
+
/** Request timeout in milliseconds. */
|
|
49
92
|
timeoutMs: number;
|
|
93
|
+
/** Prompt template sent to the vision model. */
|
|
50
94
|
prompt: string;
|
|
95
|
+
/** Whether to include chain-of-thought tokens. */
|
|
51
96
|
think?: boolean;
|
|
97
|
+
/** Context window size. */
|
|
52
98
|
numCtx?: number;
|
|
99
|
+
/** Proxy configuration. */
|
|
53
100
|
proxy?: ProxyConfig;
|
|
101
|
+
/** Maximum image dimension (pixels) — larger images are resized before sending. */
|
|
54
102
|
resizeMaxDimension?: number;
|
|
55
103
|
}
|
|
104
|
+
/** Configuration for the built-in web dashboard UI. */
|
|
56
105
|
export interface UiConfig {
|
|
106
|
+
/** HTTP port for the UI server. */
|
|
57
107
|
port: number;
|
|
108
|
+
/** Whether to automatically open the browser on startup. */
|
|
58
109
|
openBrowser: boolean;
|
|
59
110
|
}
|
|
111
|
+
/** Configuration for the automated documentation mode that adds JSDoc/TSDoc to source files. */
|
|
112
|
+
export interface DocumentationModeConfig {
|
|
113
|
+
/** Whether documentation mode is available. */
|
|
114
|
+
enabled: boolean;
|
|
115
|
+
/** Whether to start documentation mode automatically on launch. */
|
|
116
|
+
autoStart: boolean;
|
|
117
|
+
/** Number of files to process per batch. */
|
|
118
|
+
batchSize: number;
|
|
119
|
+
/** System prompt for the documentation agent. */
|
|
120
|
+
systemPrompt: string;
|
|
121
|
+
}
|
|
122
|
+
/** Configuration for the terminal UI (TUI) keybindings. */
|
|
60
123
|
export interface TuiConfig {
|
|
124
|
+
/** Keybinding to toggle the file list panel. */
|
|
61
125
|
fileListKeybinding: string;
|
|
126
|
+
/** Keybinding to toggle the chunk viewer panel. */
|
|
62
127
|
chunksKeybinding: string;
|
|
63
128
|
}
|
|
129
|
+
/** Configuration for MCP (Model Context Protocol) server integration. */
|
|
64
130
|
export interface McpConfig {
|
|
131
|
+
/** Whether the MCP server is enabled. */
|
|
65
132
|
enabled: boolean;
|
|
66
133
|
}
|
|
134
|
+
/** Configuration for automatic self-updates. */
|
|
67
135
|
export interface AutoUpdateConfig {
|
|
136
|
+
/** Whether auto-update checking is enabled. */
|
|
68
137
|
enabled: boolean;
|
|
69
138
|
}
|
|
139
|
+
/** Complete configuration for the OpenCodeRAG pipeline. */
|
|
70
140
|
export interface RagConfig {
|
|
141
|
+
/** Embedding provider settings (model, endpoint, prefixes). */
|
|
71
142
|
embedding: {
|
|
143
|
+
/** Provider name: "ollama", "openai", or "cohere". */
|
|
72
144
|
provider: string;
|
|
145
|
+
/** Base URL of the embedding API. */
|
|
73
146
|
baseUrl: string;
|
|
147
|
+
/** API key for authenticated providers. */
|
|
74
148
|
apiKey?: string;
|
|
149
|
+
/** Model name for embeddings. */
|
|
75
150
|
model: string;
|
|
151
|
+
/** Request timeout in milliseconds. */
|
|
76
152
|
timeoutMs?: number;
|
|
153
|
+
/** Proxy configuration. */
|
|
77
154
|
proxy?: ProxyConfig;
|
|
155
|
+
/** Prefix prepended to documents before embedding (e.g. "search_document:"). */
|
|
78
156
|
documentPrefix?: string;
|
|
157
|
+
/** Prefix prepended to queries before embedding (e.g. "search_query:"). */
|
|
79
158
|
queryPrefix?: string;
|
|
80
159
|
};
|
|
160
|
+
/** Indexing pipeline controls: what to index, concurrency, batch sizes. */
|
|
81
161
|
indexing: {
|
|
162
|
+
/** File extensions to include in indexing. */
|
|
82
163
|
includeExtensions: string[];
|
|
164
|
+
/** Directory name patterns to exclude. */
|
|
83
165
|
excludeDirs: string[];
|
|
166
|
+
/** Specific filenames (basenames, case-insensitive) to exclude from indexing. */
|
|
167
|
+
excludeFiles?: string[];
|
|
168
|
+
/** Number of overlapping lines between adjacent chunks. */
|
|
84
169
|
chunkOverlap: number;
|
|
170
|
+
/** Minimum file size in bytes to index (0 = no minimum). */
|
|
85
171
|
minFileSizeBytes?: number;
|
|
172
|
+
/** Maximum concurrent file processing tasks. */
|
|
86
173
|
concurrency: number;
|
|
174
|
+
/** Number of texts sent per embedding batch. */
|
|
87
175
|
embedBatchSize: number;
|
|
176
|
+
/** Maximum concurrent embedding batch requests. */
|
|
88
177
|
embedConcurrency?: number;
|
|
178
|
+
/** Maximum batch size for Ollama's /embed endpoint. */
|
|
179
|
+
ollamaMaxBatchSize?: number;
|
|
180
|
+
/** Maximum concurrent description generation requests. */
|
|
89
181
|
descriptionConcurrency?: number;
|
|
90
182
|
};
|
|
183
|
+
/** Vector storage backend configuration. */
|
|
91
184
|
vectorStore: {
|
|
185
|
+
/** Filesystem path or memory:// URI for the vector database. */
|
|
92
186
|
path: string;
|
|
187
|
+
/** Backend provider ("lancedb" or "memory"). */
|
|
93
188
|
provider?: "lancedb" | "memory";
|
|
94
189
|
};
|
|
190
|
+
/** Retrieval settings for query-time search. */
|
|
95
191
|
retrieval: {
|
|
192
|
+
/** Default number of results to return. */
|
|
96
193
|
topK: number;
|
|
194
|
+
/** Minimum relevance score threshold (0-1). */
|
|
97
195
|
minScore: number;
|
|
196
|
+
/** Hybrid search (vector + keyword) configuration. */
|
|
98
197
|
hybridSearch?: {
|
|
198
|
+
/** Whether hybrid search is enabled. */
|
|
99
199
|
enabled: boolean;
|
|
200
|
+
/** Weight for keyword scores in fusion (0 = vector only, 1 = keyword only). */
|
|
100
201
|
keywordWeight: number;
|
|
101
202
|
};
|
|
102
203
|
};
|
|
204
|
+
/** OpenCode plugin integration settings. */
|
|
103
205
|
openCode: {
|
|
206
|
+
/** Whether the OpenCode plugin is active. */
|
|
104
207
|
enabled: boolean;
|
|
208
|
+
/** Maximum chunks to include in context tool responses. */
|
|
105
209
|
maxContextChunks: number;
|
|
210
|
+
/** Auto-indexing behavior on file changes. */
|
|
106
211
|
autoIndex?: AutoIndexConfig;
|
|
212
|
+
/** Auto-injection of relevant chunks into chat messages. */
|
|
107
213
|
autoInject?: AutoInjectConfig;
|
|
214
|
+
/** Whether to override the built-in read tool with RAG-enhanced version. */
|
|
108
215
|
readOverride?: boolean;
|
|
216
|
+
/** Maximum characters returned by the overridden read tool. */
|
|
109
217
|
maxReadOutputChars?: number;
|
|
218
|
+
/** Behavior when read returns no results. */
|
|
110
219
|
readNoResultsBehavior?: ReadNoResultsBehavior;
|
|
220
|
+
/** Maximum related files shown when read results are empty. */
|
|
111
221
|
readRelatedFilesMax?: number;
|
|
112
222
|
};
|
|
223
|
+
/** Custom chunker module registrations. */
|
|
113
224
|
chunkers?: ChunkerConfig[];
|
|
225
|
+
/** Per-language chunking overrides (e.g. node type filters). */
|
|
114
226
|
chunking?: {
|
|
227
|
+
/** Map of language to allowed/blocked AST node type patterns. */
|
|
115
228
|
nodeTypes?: Record<string, string[]>;
|
|
116
229
|
};
|
|
230
|
+
/** LLM-based chunk description generation config. */
|
|
117
231
|
description?: DescriptionConfig;
|
|
232
|
+
/** Vision-model-based image description config. */
|
|
118
233
|
imageDescription?: ImageDescriptionConfig;
|
|
234
|
+
/** Automated documentation mode config. */
|
|
235
|
+
documentationMode?: DocumentationModeConfig;
|
|
236
|
+
/** MCP server integration config. */
|
|
119
237
|
mcp?: McpConfig;
|
|
238
|
+
/** Auto-update checking config. */
|
|
120
239
|
autoUpdate?: AutoUpdateConfig;
|
|
240
|
+
/** Web dashboard UI config. */
|
|
121
241
|
ui?: UiConfig;
|
|
242
|
+
/** Terminal UI keybinding config. */
|
|
122
243
|
tui: TuiConfig;
|
|
244
|
+
/** Logging config. */
|
|
123
245
|
logging: LoggingConfig;
|
|
124
246
|
}
|
|
247
|
+
/** Severity levels for logging output. */
|
|
125
248
|
export type LogLevel = "debug" | "info" | "error" | "none";
|
|
249
|
+
/** Configuration for structured file logging. */
|
|
126
250
|
export interface LoggingConfig {
|
|
251
|
+
/** Minimum severity level to record. */
|
|
127
252
|
level: LogLevel;
|
|
253
|
+
/** Path to the log file. */
|
|
128
254
|
logFilePath: string;
|
|
129
255
|
}
|
|
130
256
|
export declare const DEFAULT_CONFIG: RagConfig;
|
|
257
|
+
/** Resolve effective logging config from a config object, falling back to defaults and env vars. */
|
|
131
258
|
export declare function resolveLogConfig(config: RagConfig): LoggingConfig;
|
|
259
|
+
/** Runtime context passed through the indexing and retrieval pipeline. */
|
|
132
260
|
export interface RagContext {
|
|
261
|
+
/** Resolved pipeline configuration. */
|
|
133
262
|
config: RagConfig;
|
|
263
|
+
/** Configured embedding provider instance. */
|
|
134
264
|
embedder: EmbeddingProvider;
|
|
265
|
+
/** Configured chunker instance. */
|
|
135
266
|
chunker: Chunker;
|
|
267
|
+
/** Configured vector store instance. */
|
|
136
268
|
vectorStore: VectorStore;
|
|
137
269
|
}
|
|
270
|
+
/** Result of a configuration validation pass. */
|
|
138
271
|
export interface ConfigValidationResult {
|
|
272
|
+
/** Whether the configuration is fully valid. */
|
|
139
273
|
valid: boolean;
|
|
274
|
+
/** Warning messages for suspicious or invalid settings. */
|
|
140
275
|
warnings: string[];
|
|
141
276
|
}
|
|
277
|
+
/** Validate a configuration object and return any warnings. */
|
|
142
278
|
export declare function validateConfig(config: RagConfig): ConfigValidationResult;
|
|
279
|
+
/** Config file locations to search, in order of precedence. */
|
|
280
|
+
export declare const CONFIG_FILE_CANDIDATES: string[];
|
|
281
|
+
/**
|
|
282
|
+
* Find the first existing config file in a directory.
|
|
283
|
+
* @returns The absolute path to the config file, or undefined if none found.
|
|
284
|
+
*/
|
|
285
|
+
export declare function findConfigFile(directory: string): string | undefined;
|
|
286
|
+
/** Load and parse a JSON config file, deep-merge with defaults, optionally validate. */
|
|
143
287
|
export declare function loadConfig(filePath: string, validate?: boolean): RagConfig;
|
package/dist/core/config.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { readFileSync } from "node:fs";
|
|
1
|
+
import { existsSync, readFileSync } from "node:fs";
|
|
2
|
+
import path from "node:path";
|
|
2
3
|
import { env } from "node:process";
|
|
3
4
|
export const DEFAULT_CONFIG = {
|
|
4
5
|
embedding: {
|
|
@@ -88,13 +89,18 @@ export const DEFAULT_CONFIG = {
|
|
|
88
89
|
"memory:",
|
|
89
90
|
"wasm",
|
|
90
91
|
".commandcode",
|
|
91
|
-
".agents"
|
|
92
|
+
".agents",
|
|
93
|
+
"graphify-out",
|
|
94
|
+
],
|
|
95
|
+
excludeFiles: [
|
|
96
|
+
"package-lock.json",
|
|
92
97
|
],
|
|
93
98
|
chunkOverlap: 0,
|
|
94
99
|
minFileSizeBytes: 0,
|
|
95
100
|
concurrency: 8,
|
|
96
101
|
embedBatchSize: 100,
|
|
97
|
-
embedConcurrency:
|
|
102
|
+
embedConcurrency: 6,
|
|
103
|
+
ollamaMaxBatchSize: 4000,
|
|
98
104
|
descriptionConcurrency: 4,
|
|
99
105
|
},
|
|
100
106
|
vectorStore: {
|
|
@@ -114,7 +120,7 @@ export const DEFAULT_CONFIG = {
|
|
|
114
120
|
maxContextChunks: 10,
|
|
115
121
|
readOverride: true,
|
|
116
122
|
autoIndex: {
|
|
117
|
-
enabled:
|
|
123
|
+
enabled: false,
|
|
118
124
|
debounceMs: 2000,
|
|
119
125
|
intervalMs: 300000,
|
|
120
126
|
},
|
|
@@ -133,8 +139,8 @@ export const DEFAULT_CONFIG = {
|
|
|
133
139
|
baseUrl: "http://127.0.0.1:11434/api",
|
|
134
140
|
timeoutMs: 60000,
|
|
135
141
|
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.",
|
|
136
|
-
think:
|
|
137
|
-
numCtx:
|
|
142
|
+
think: false,
|
|
143
|
+
numCtx: 2048,
|
|
138
144
|
resizeMaxDimension: 1024,
|
|
139
145
|
},
|
|
140
146
|
description: {
|
|
@@ -146,12 +152,29 @@ export const DEFAULT_CONFIG = {
|
|
|
146
152
|
numCtx: 4096,
|
|
147
153
|
timeoutMs: 60000,
|
|
148
154
|
systemPrompt: "Describe code precise and concise in 2 sentences. Maximum 20 words. Focus on functionality and purpose.",
|
|
149
|
-
|
|
150
|
-
batchTimeoutMs: 120000,
|
|
151
|
-
batchConcurrency: 3,
|
|
155
|
+
batchConcurrency: 6,
|
|
152
156
|
retryMax: 3,
|
|
153
157
|
retryBaseDelayMs: 1000,
|
|
154
158
|
},
|
|
159
|
+
documentationMode: {
|
|
160
|
+
enabled: false,
|
|
161
|
+
autoStart: true,
|
|
162
|
+
batchSize: 5,
|
|
163
|
+
systemPrompt: "You are a code documentation expert. Your task is to document any existing, undocumented codebase.\n\n" +
|
|
164
|
+
"## Instructions\n\n" +
|
|
165
|
+
"For each file in this codebase:\n\n" +
|
|
166
|
+
"1. **Read the full file** to understand its structure and logic.\n" +
|
|
167
|
+
"2. **Document every public symbol**: classes, interfaces, types, methods, functions, properties, and exported constants.\n" +
|
|
168
|
+
"3. **Use the codebase's existing style** — look at neighboring files for conventions (JSDoc, TSDoc, etc.).\n" +
|
|
169
|
+
"4. **Write descriptions that explain *what* and *why*, not *how*** — the code already shows *how*.\n" +
|
|
170
|
+
"5. **Include `@param`** (with types and descriptions), **`@returns`**, and **`@throws`** where applicable.\n" +
|
|
171
|
+
"6. **Do NOT change any implementation code** — only add/update doc comments.\n" +
|
|
172
|
+
"7. **Do NOT add comments that restate the obvious** (e.g., `// increment i` on `i++`).\n" +
|
|
173
|
+
"8. **For private/internal symbols**, add concise inline comments only when the logic is non-obvious.\n" +
|
|
174
|
+
"9. **Preserve any existing comments** — update them only if they are incorrect.\n\n" +
|
|
175
|
+
"## Output format\n\n" +
|
|
176
|
+
"Return your changes as a list of file paths with the full new content of the comment block for each modified symbol. Do NOT output the entire file unless asked.",
|
|
177
|
+
},
|
|
155
178
|
mcp: {
|
|
156
179
|
enabled: true,
|
|
157
180
|
},
|
|
@@ -171,18 +194,20 @@ export const DEFAULT_CONFIG = {
|
|
|
171
194
|
logFilePath: "./.opencode/opencode-rag.log",
|
|
172
195
|
},
|
|
173
196
|
};
|
|
197
|
+
/** Resolve effective logging config from a config object, falling back to defaults and env vars. */
|
|
174
198
|
export function resolveLogConfig(config) {
|
|
175
199
|
return {
|
|
176
200
|
level: config.logging?.level ?? DEFAULT_CONFIG.logging.level,
|
|
177
201
|
logFilePath: config.logging?.logFilePath ?? env.LOG_FILE_PATH ?? DEFAULT_CONFIG.logging.logFilePath,
|
|
178
202
|
};
|
|
179
203
|
}
|
|
204
|
+
/** Validate a configuration object and return any warnings. */
|
|
180
205
|
export function validateConfig(config) {
|
|
181
206
|
const warnings = [];
|
|
182
207
|
const KNOWN_TOP_KEYS = new Set([
|
|
183
208
|
"embedding", "indexing", "vectorStore", "retrieval",
|
|
184
209
|
"openCode", "chunkers", "chunking", "description",
|
|
185
|
-
"imageDescription", "mcp", "autoUpdate", "ui", "tui", "logging",
|
|
210
|
+
"imageDescription", "documentationMode", "mcp", "autoUpdate", "ui", "tui", "logging",
|
|
186
211
|
]);
|
|
187
212
|
const topKeys = new Set(Object.keys(config));
|
|
188
213
|
for (const key of topKeys) {
|
|
@@ -190,8 +215,9 @@ export function validateConfig(config) {
|
|
|
190
215
|
warnings.push(`Unknown top-level config key "${key}" — possible typo`);
|
|
191
216
|
}
|
|
192
217
|
}
|
|
193
|
-
|
|
194
|
-
|
|
218
|
+
const KNOWN_EMBEDDING_PROVIDERS = new Set(["ollama", "openai", "cohere", "nvidia", "azure", "mistral", "together", "groq", "deepseek", "fireworks"]);
|
|
219
|
+
if (!KNOWN_EMBEDDING_PROVIDERS.has(config.embedding.provider)) {
|
|
220
|
+
warnings.push(`embedding.provider "${config.embedding.provider}" — unknown provider`);
|
|
195
221
|
}
|
|
196
222
|
if (config.embedding.timeoutMs != null && config.embedding.timeoutMs <= 0) {
|
|
197
223
|
warnings.push("embedding.timeoutMs must be > 0");
|
|
@@ -244,8 +270,9 @@ export function validateConfig(config) {
|
|
|
244
270
|
}
|
|
245
271
|
}
|
|
246
272
|
if (config.description) {
|
|
247
|
-
|
|
248
|
-
|
|
273
|
+
const KNOWN_DESCRIPTION_PROVIDERS = new Set(["ollama", "openai", "anthropic", "google"]);
|
|
274
|
+
if (!KNOWN_DESCRIPTION_PROVIDERS.has(config.description.provider)) {
|
|
275
|
+
warnings.push(`description.provider "${config.description.provider}" — unknown provider`);
|
|
249
276
|
}
|
|
250
277
|
if (config.description.timeoutMs != null && config.description.timeoutMs <= 0) {
|
|
251
278
|
warnings.push("description.timeoutMs must be > 0");
|
|
@@ -260,6 +287,26 @@ export function validateConfig(config) {
|
|
|
260
287
|
}
|
|
261
288
|
return { valid: warnings.length === 0, warnings };
|
|
262
289
|
}
|
|
290
|
+
/** Config file locations to search, in order of precedence. */
|
|
291
|
+
export const CONFIG_FILE_CANDIDATES = [
|
|
292
|
+
"opencode-rag.json",
|
|
293
|
+
".opencode/opencode-rag.json",
|
|
294
|
+
".opencode/rag.json",
|
|
295
|
+
];
|
|
296
|
+
/**
|
|
297
|
+
* Find the first existing config file in a directory.
|
|
298
|
+
* @returns The absolute path to the config file, or undefined if none found.
|
|
299
|
+
*/
|
|
300
|
+
export function findConfigFile(directory) {
|
|
301
|
+
for (const loc of CONFIG_FILE_CANDIDATES) {
|
|
302
|
+
const configPath = path.join(directory, loc);
|
|
303
|
+
if (existsSync(configPath)) {
|
|
304
|
+
return configPath;
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
return undefined;
|
|
308
|
+
}
|
|
309
|
+
/** Load and parse a JSON config file, deep-merge with defaults, optionally validate. */
|
|
263
310
|
export function loadConfig(filePath, validate = true) {
|
|
264
311
|
let raw;
|
|
265
312
|
let parsed;
|
|
@@ -331,6 +378,10 @@ export function loadConfig(filePath, validate = true) {
|
|
|
331
378
|
...DEFAULT_CONFIG.imageDescription,
|
|
332
379
|
...(safeObj(parsed.imageDescription) ?? {}),
|
|
333
380
|
},
|
|
381
|
+
documentationMode: {
|
|
382
|
+
...DEFAULT_CONFIG.documentationMode,
|
|
383
|
+
...(safeObj(parsed.documentationMode) ?? {}),
|
|
384
|
+
},
|
|
334
385
|
mcp: {
|
|
335
386
|
...DEFAULT_CONFIG.mcp,
|
|
336
387
|
...(safeObj(parsed.mcp) ?? {}),
|
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;AAkJnC,MAAM,CAAC,MAAM,cAAc,GAAc;IACvC,SAAS,EAAE;QACT,QAAQ,EAAE,QAAQ;QAClB,OAAO,EAAE,4BAA4B;QACrC,KAAK,EAAE,sBAAsB;QAC7B,SAAS,EAAE,KAAK;KACjB;IACD,QAAQ,EAAE;QACR,iBAAiB,EAAE;YACjB,KAAK;YACL,MAAM;YACN,KAAK;YACL,MAAM;YACN,MAAM;YACN,MAAM;YACN,KAAK;YACL,OAAO;YACP,KAAK;YACL,KAAK;YACL,MAAM;YACN,IAAI;YACJ,IAAI;YACJ,MAAM;YACN,KAAK;YACL,MAAM;YACN,MAAM;YACN,MAAM;YACN,KAAK;YACL,OAAO;YACP,QAAQ;YACR,SAAS;YACT,OAAO;YACP,OAAO;YACP,MAAM;YACN,MAAM;YACN,MAAM;YACN,SAAS;YACT,MAAM;YACN,KAAK;YACL,KAAK;YACL,KAAK;YACL,MAAM;YACN,QAAQ;YACR,MAAM;YACN,MAAM;YACN,OAAO;YACP,MAAM;YACN,MAAM;YACN,OAAO;YACP,KAAK;YACL,OAAO;YACP,MAAM;YACN,MAAM;YACN,MAAM;YACN,MAAM;YACN,OAAO;YACP,OAAO;YACP,MAAM;YACN,MAAM;YACN,OAAO;YACP,MAAM;YACN,OAAO;YACP,MAAM;YACN,MAAM;YACN,MAAM;YACN,OAAO;YACP,MAAM;YACN,MAAM;YACN,MAAM;YACN,OAAO;YACP,YAAY;YACZ,eAAe;YACf,aAAa;YACb,gBAAgB;SACjB;QACD,WAAW,EAAE;YACX,cAAc;YACd,MAAM;YACN,WAAW;YACX,MAAM;YACN,OAAO;YACP,aAAa;YACb,OAAO;YACP,SAAS;YACT,SAAS;YACT,SAAS;YACT,MAAM;YACN,cAAc;YACd,SAAS;SACV;QACD,YAAY,EAAE,CAAC;QACf,gBAAgB,EAAE,CAAC;QACnB,WAAW,EAAE,CAAC;QACd,cAAc,EAAE,GAAG;QACnB,gBAAgB,EAAE,CAAC;QACnB,sBAAsB,EAAE,CAAC;KAC1B;IACD,WAAW,EAAE;QACX,IAAI,EAAE,oBAAoB;QAC1B,QAAQ,EAAE,SAAS;KACpB;IACD,SAAS,EAAE;QACT,IAAI,EAAE,EAAE;QACR,QAAQ,EAAE,GAAG;QACb,YAAY,EAAE;YACZ,OAAO,EAAE,IAAI;YACb,aAAa,EAAE,GAAG;SACnB;KACF;IACD,QAAQ,EAAE;QACR,OAAO,EAAE,IAAI;QACb,gBAAgB,EAAE,EAAE;QACpB,YAAY,EAAE,IAAI;QAClB,SAAS,EAAE;YACT,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,IAAI;YAChB,UAAU,EAAE,MAAM;SACnB;QACD,UAAU,EAAE;YACV,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;YACd,SAAS,EAAE,EAAE;YACb,SAAS,EAAE,IAAI;YACf,WAAW,EAAE,YAAY;SAC1B;KACF;IACD,gBAAgB,EAAE;QAChB,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,QAAQ;QAClB,KAAK,EAAE,qBAAqB;QAC5B,OAAO,EAAE,4BAA4B;QACrC,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE,kNAAkN;QAC1N,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,IAAI;QACZ,kBAAkB,EAAE,IAAI;KACzB;IACD,WAAW,EAAE;QACX,OAAO,EAAE,IAAI;QACb,QAAQ,EAAE,QAAQ;QAClB,OAAO,EAAE,4BAA4B;QACrC,KAAK,EAAE,YAAY;QACnB,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,IAAI;QACZ,SAAS,EAAE,KAAK;QAChB,YAAY,EACV,yGAAyG;QAC3G,cAAc,EAAE,EAAE;QAClB,cAAc,EAAE,MAAM;QACtB,gBAAgB,EAAE,CAAC;QACnB,QAAQ,EAAE,CAAC;QACX,gBAAgB,EAAE,IAAI;KACvB;IACD,GAAG,EAAE;QACH,OAAO,EAAE,IAAI;KACd;IACD,UAAU,EAAE;QACV,OAAO,EAAE,KAAK;KACf;IACD,EAAE,EAAE;QACF,IAAI,EAAE,IAAI;QACV,WAAW,EAAE,IAAI;KAClB;IACD,GAAG,EAAE;QACH,kBAAkB,EAAE,YAAY;QAChC,gBAAgB,EAAE,gBAAgB;KACnC;IACD,OAAO,EAAE;QACP,KAAK,EAAE,MAAM;QACb,WAAW,EAAE,8BAA8B;KAC5C;CACF,CAAC;AAEF,MAAM,UAAU,gBAAgB,CAAC,MAAiB;IAChD,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,KAAK,IAAI,cAAc,CAAC,OAAO,CAAC,KAAK;QAC5D,WAAW,EAAE,MAAM,CAAC,OAAO,EAAE,WAAW,IAAI,GAAG,CAAC,aAAa,IAAI,cAAc,CAAC,OAAO,CAAC,WAAW;KACpG,CAAC;AACJ,CAAC;AAcD,MAAM,UAAU,cAAc,CAAC,MAAiB;IAC9C,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC;QAC7B,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW;QACnD,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa;QACjD,kBAAkB,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS;KAChE,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAA4C,CAAC,CAAC,CAAC;IACnF,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,QAAQ,CAAC,IAAI,CAAC,iCAAiC,GAAG,mBAAmB,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;IAED,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9D,QAAQ,CAAC,IAAI,CAAC,uBAAuB,MAAM,CAAC,SAAS,CAAC,QAAQ,mCAAmC,CAAC,CAAC;IACrG,CAAC;IACD,IAAI,MAAM,CAAC,SAAS,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,SAAS,CAAC,SAAS,IAAI,CAAC,EAAE,CAAC;QAC1E,QAAQ,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,CAAC;QAAC,IAAI,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAChD,QAAQ,CAAC,IAAI,CAAC,sBAAsB,MAAM,CAAC,SAAS,CAAC,OAAO,sBAAsB,CAAC,CAAC;IACtF,CAAC;IAED,IAAI,MAAM,CAAC,QAAQ,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC;QACrC,QAAQ,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;IACtD,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,CAAC,WAAW,IAAI,CAAC,EAAE,CAAC;QACrC,QAAQ,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;IACpD,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,CAAC,cAAc,IAAI,CAAC,EAAE,CAAC;QACxC,QAAQ,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;IACvD,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,CAAC,gBAAgB,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,gBAAgB,IAAI,CAAC,EAAE,CAAC;QACtF,QAAQ,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;IACzD,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,CAAC,sBAAsB,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,sBAAsB,IAAI,CAAC,EAAE,CAAC;QAClG,QAAQ,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;IAC/D,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,CAAC,gBAAgB,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,gBAAgB,GAAG,CAAC,EAAE,CAAC;QACrF,QAAQ,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,MAAM,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC;QAC/B,QAAQ,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;IAC9C,CAAC;IACD,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,GAAG,CAAC,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;QACnE,QAAQ,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;IAC9D,CAAC;IACD,IAAI,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC;QAC3C,MAAM,EAAE,GAAG,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,aAAa,CAAC;QACvD,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;YACrB,QAAQ,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAC;QAChF,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,QAAQ,CAAC,gBAAgB,IAAI,CAAC,EAAE,CAAC;QAC1C,QAAQ,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;IACzD,CAAC;IAED,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACvE,QAAQ,CAAC,IAAI,CAAC,kBAAkB,MAAM,CAAC,OAAO,CAAC,KAAK,kDAAkD,CAAC,CAAC;IAC1G,CAAC;IAED,IAAI,MAAM,CAAC,EAAE,EAAE,CAAC;QACd,IAAI,MAAM,CAAC,EAAE,CAAC,IAAI,GAAG,CAAC,IAAI,MAAM,CAAC,EAAE,CAAC,IAAI,GAAG,KAAK,EAAE,CAAC;YACjD,QAAQ,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;QACvB,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;YAChE,QAAQ,CAAC,IAAI,CAAC,yBAAyB,MAAM,CAAC,WAAW,CAAC,QAAQ,mCAAmC,CAAC,CAAC;QACzG,CAAC;QACD,IAAI,MAAM,CAAC,WAAW,CAAC,SAAS,IAAI,IAAI,IAAI,MAAM,CAAC,WAAW,CAAC,SAAS,IAAI,CAAC,EAAE,CAAC;YAC9E,QAAQ,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAED,IAAI,MAAM,CAAC,gBAAgB,EAAE,CAAC;QAC5B,IAAI,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;YACpC,IAAI,MAAM,CAAC,gBAAgB,CAAC,SAAS,IAAI,CAAC,EAAE,CAAC;gBAC3C,QAAQ,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,QAAQ,EAAE,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,QAAgB,EAAE,WAAoB,IAAI;IACnE,IAAI,GAAW,CAAC;IAChB,IAAI,MAA0B,CAAC;IAC/B,IAAI,CAAC;QACH,GAAG,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACtC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAuB,CAAC;IACjD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,IAAI,GAAI,GAA6B,CAAC,IAAI,CAAC;QACjD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,0BAA0B,QAAQ,EAAE,CAAC,CAAC;QACxD,CAAC;QACD,IAAI,GAAG,YAAY,WAAW,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,+BAA+B,QAAQ,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7E,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;IAED,MAAM,OAAO,GAAG,CAAI,KAAc,EAA0B,EAAE,CAC5D,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAE,KAAoB,CAAC,CAAC,CAAC,SAAS,CAAC;IAElG,MAAM,GAAG,GAAc;QACrB,SAAS,EAAE;YACT,GAAG,cAAc,CAAC,SAAS;YAC3B,GAAG,MAAM,CAAC,SAAS;SACpB;QACD,QAAQ,EAAE;YACR,GAAG,cAAc,CAAC,QAAQ;YAC1B,GAAG,MAAM,CAAC,QAAQ;SACnB;QACD,WAAW,EAAE;YACX,GAAG,cAAc,CAAC,WAAW;YAC7B,GAAG,MAAM,CAAC,WAAW;SACtB;QACD,SAAS,EAAE;YACT,GAAG,cAAc,CAAC,SAAS;YAC3B,GAAG,MAAM,CAAC,SAAS;YACnB,YAAY,EAAE;gBACZ,GAAG,cAAc,CAAC,SAAS,CAAC,YAAY;gBACxC,GAAG,CAAC,OAAO,CACR,MAAM,CAAC,SAAiD,EAAE,YAAY,CACxE,IAAI,EAAE,CAAC;aACsC;SACjD;QACD,QAAQ,EAAE,CAAC,GAAG,EAAE;YACd,MAAM,IAAI,GAAG,cAAc,CAAC,QAAQ,CAAC;YACrC,MAAM,IAAI,GAA0B,MAA8C,CAAC,QAAQ,IAAI,EAAE,CAAC;YAClG,MAAM,MAAM,GAAgB;gBAC1B,GAAG,IAAI;gBACP,GAAG,IAAI;gBACP,SAAS,EAAE;oBACT,GAAG,IAAI,CAAC,SAAS;oBACjB,GAAG,CAAC,OAAO,CAAkB,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;iBACjC;gBACpB,UAAU,EAAE;oBACV,GAAG,IAAI,CAAC,UAAU;oBAClB,GAAG,CAAC,OAAO,CAAmB,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;iBAClC;aACtB,CAAC;YACF,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,EAAE;QACJ,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,cAAc,CAAC,QAAQ;QACpD,QAAQ,EAAE;YACR,SAAS,EAAE;gBACT,GAAG,CAAE,cAAc,CAAC,QAAoC,EAAE,SAAiD,IAAI,EAAE,CAAC;gBAClH,GAAG,CAAE,MAAM,CAAC,QAAoC,EAAE,SAAiD,IAAI,EAAE,CAAC;aAC3G;SACF;QACD,WAAW,EAAE;YACX,GAAG,cAAc,CAAC,WAAW;YAC7B,GAAG,CAAC,OAAO,CAAqB,MAAoC,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;SACpE;QACtB,gBAAgB,EAAE;YAChB,GAAG,cAAc,CAAC,gBAAgB;YAClC,GAAG,CAAC,OAAO,CAA0B,MAAyC,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;SAC9E;QAC3B,GAAG,EAAE;YACH,GAAG,cAAc,CAAC,GAAG;YACrB,GAAG,CAAC,OAAO,CAAa,MAA4B,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;SACpD;QACd,UAAU,EAAE;YACV,GAAG,cAAc,CAAC,UAAU;YAC5B,GAAG,CAAC,OAAO,CAAoB,MAAmC,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;SAClE;QACrB,EAAE,EAAE;YACF,GAAG,cAAc,CAAC,EAAE;YACpB,GAAG,CAAC,OAAO,CAAY,MAA2B,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;SAClD;QACb,GAAG,EAAE;YACH,GAAG,cAAc,CAAC,GAAG;YACrB,GAAG,CAAC,OAAO,CAAa,MAA4B,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;SACpD;QACd,OAAO,EAAE;YACP,GAAG,cAAc,CAAC,OAAO;YACzB,GAAG,CAAC,OAAO,CAAgB,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;SACjC;KACnB,CAAC;IAEF,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;QACnC,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YAChC,OAAO,CAAC,IAAI,CAAC,kCAAkC,CAAC,EAAE,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/** Tracks which files have been documented during a documentation mode session. */
|
|
2
|
+
export interface DocProgress {
|
|
3
|
+
/** List of file paths that have been documented. */
|
|
4
|
+
documented: string[];
|
|
5
|
+
/** Unix timestamp of the last progress update. */
|
|
6
|
+
lastUpdated: number;
|
|
7
|
+
}
|
|
8
|
+
/** Load documentation progress from the store directory. Returns empty progress if none exists. */
|
|
9
|
+
export declare function loadDocProgress(storePath: string): DocProgress;
|
|
10
|
+
/** Persist documentation progress to disk. Silently ignores write errors. */
|
|
11
|
+
export declare function saveDocProgress(storePath: string, progress: DocProgress): void;
|
|
12
|
+
/** Record a file as documented in the progress tracker. No-op if already recorded. */
|
|
13
|
+
export declare function markFileDocumented(storePath: string, filePath: string): void;
|
|
14
|
+
/** Record all files under a subdirectory as documented. Matches files whose path starts with subdir. */
|
|
15
|
+
export declare function markSubdirectoryDocumented(storePath: string, subdir: string, allFilePaths: string[]): void;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { readFileSync, writeFileSync, existsSync, mkdirSync } from "node:fs";
|
|
2
|
+
import { dirname, join } from "node:path";
|
|
3
|
+
const PROGRESS_FILE = "doc-mode-progress.json";
|
|
4
|
+
function progressPath(storePath) {
|
|
5
|
+
return join(storePath, PROGRESS_FILE);
|
|
6
|
+
}
|
|
7
|
+
/** Load documentation progress from the store directory. Returns empty progress if none exists. */
|
|
8
|
+
export function loadDocProgress(storePath) {
|
|
9
|
+
const filePath = progressPath(storePath);
|
|
10
|
+
try {
|
|
11
|
+
if (!existsSync(filePath))
|
|
12
|
+
return { documented: [], lastUpdated: 0 };
|
|
13
|
+
const raw = readFileSync(filePath, "utf-8");
|
|
14
|
+
return JSON.parse(raw);
|
|
15
|
+
}
|
|
16
|
+
catch {
|
|
17
|
+
return { documented: [], lastUpdated: 0 };
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
/** Persist documentation progress to disk. Silently ignores write errors. */
|
|
21
|
+
export function saveDocProgress(storePath, progress) {
|
|
22
|
+
const filePath = progressPath(storePath);
|
|
23
|
+
try {
|
|
24
|
+
const dir = dirname(filePath);
|
|
25
|
+
if (!existsSync(dir))
|
|
26
|
+
mkdirSync(dir, { recursive: true });
|
|
27
|
+
writeFileSync(filePath, JSON.stringify(progress, null, 2), "utf-8");
|
|
28
|
+
}
|
|
29
|
+
catch {
|
|
30
|
+
// silently ignore write errors
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
/** Record a file as documented in the progress tracker. No-op if already recorded. */
|
|
34
|
+
export function markFileDocumented(storePath, filePath) {
|
|
35
|
+
const progress = loadDocProgress(storePath);
|
|
36
|
+
if (!progress.documented.includes(filePath)) {
|
|
37
|
+
progress.documented.push(filePath);
|
|
38
|
+
progress.lastUpdated = Date.now();
|
|
39
|
+
saveDocProgress(storePath, progress);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
/** Record all files under a subdirectory as documented. Matches files whose path starts with subdir. */
|
|
43
|
+
export function markSubdirectoryDocumented(storePath, subdir, allFilePaths) {
|
|
44
|
+
const normalized = subdir.replace(/\\/g, "/").replace(/\/$/, "");
|
|
45
|
+
const progress = loadDocProgress(storePath);
|
|
46
|
+
let changed = false;
|
|
47
|
+
for (const filePath of allFilePaths) {
|
|
48
|
+
const normalizedFile = filePath.replace(/\\/g, "/");
|
|
49
|
+
if (normalizedFile.startsWith(normalized + "/") || normalizedFile === normalized) {
|
|
50
|
+
if (!progress.documented.includes(filePath)) {
|
|
51
|
+
progress.documented.push(filePath);
|
|
52
|
+
changed = true;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
if (changed) {
|
|
57
|
+
progress.lastUpdated = Date.now();
|
|
58
|
+
saveDocProgress(storePath, progress);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
//# sourceMappingURL=doc-progress.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"doc-progress.js","sourceRoot":"","sources":["../../src/core/doc-progress.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;AAU1C,MAAM,aAAa,GAAG,wBAAwB,CAAC;AAE/C,SAAS,YAAY,CAAC,SAAiB;IACrC,OAAO,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;AACxC,CAAC;AAED,mGAAmG;AACnG,MAAM,UAAU,eAAe,CAAC,SAAiB;IAC/C,MAAM,QAAQ,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IACzC,IAAI,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;YAAE,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;QACrE,MAAM,GAAG,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC5C,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAgB,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,CAAC;IAC5C,CAAC;AACH,CAAC;AAED,6EAA6E;AAC7E,MAAM,UAAU,eAAe,CAAC,SAAiB,EAAE,QAAqB;IACtE,MAAM,QAAQ,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IACzC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC9B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1D,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;IACtE,CAAC;IAAC,MAAM,CAAC;QACP,+BAA+B;IACjC,CAAC;AACH,CAAC;AAED,sFAAsF;AACtF,MAAM,UAAU,kBAAkB,CAAC,SAAiB,EAAE,QAAgB;IACpE,MAAM,QAAQ,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;IAC5C,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5C,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACnC,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAClC,eAAe,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACvC,CAAC;AACH,CAAC;AAED,wGAAwG;AACxG,MAAM,UAAU,0BAA0B,CAAC,SAAiB,EAAE,MAAc,EAAE,YAAsB;IAClG,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACjE,MAAM,QAAQ,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;IAC5C,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,KAAK,MAAM,QAAQ,IAAI,YAAY,EAAE,CAAC;QACpC,MAAM,cAAc,GAAG,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QACpD,IAAI,cAAc,CAAC,UAAU,CAAC,UAAU,GAAG,GAAG,CAAC,IAAI,cAAc,KAAK,UAAU,EAAE,CAAC;YACjF,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5C,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACnC,OAAO,GAAG,IAAI,CAAC;YACjB,CAAC;QACH,CAAC;IACH,CAAC;IACD,IAAI,OAAO,EAAE,CAAC;QACZ,QAAQ,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAClC,eAAe,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACvC,CAAC;AACH,CAAC"}
|
|
@@ -1,8 +1,15 @@
|
|
|
1
|
+
/** Severity levels for individual log entries. */
|
|
1
2
|
export type LogSeverity = "debug" | "info" | "warn";
|
|
3
|
+
/** A single structured log entry with scope, message, and optional error context. */
|
|
2
4
|
export interface DebugLogEntry {
|
|
5
|
+
/** Module or component that produced the entry. */
|
|
3
6
|
scope: string;
|
|
7
|
+
/** Log message text. */
|
|
4
8
|
message: string;
|
|
9
|
+
/** Optional error object to serialize into the log. */
|
|
5
10
|
error?: unknown;
|
|
11
|
+
/** Severity level (defaults to "info"). */
|
|
6
12
|
severity?: LogSeverity;
|
|
7
13
|
}
|
|
14
|
+
/** Append a structured log entry to the debug log file. Silently ignores writes when logging is disabled or on error. */
|
|
8
15
|
export declare function appendDebugLog(logFilePath: string, entry: DebugLogEntry, configuredLevel?: string): void;
|
package/dist/core/fileLogger.js
CHANGED
|
@@ -11,6 +11,7 @@ const LEVEL_RANK = {
|
|
|
11
11
|
error: 2,
|
|
12
12
|
none: -1,
|
|
13
13
|
};
|
|
14
|
+
/** Format an unknown error value into a human-readable string (handles Error, string, and objects). */
|
|
14
15
|
function formatError(error) {
|
|
15
16
|
if (error instanceof Error) {
|
|
16
17
|
return error.stack ?? `${error.name}: ${error.message}`;
|
|
@@ -25,6 +26,7 @@ function formatError(error) {
|
|
|
25
26
|
return String(error);
|
|
26
27
|
}
|
|
27
28
|
}
|
|
29
|
+
/** Append a structured log entry to the debug log file. Silently ignores writes when logging is disabled or on error. */
|
|
28
30
|
export function appendDebugLog(logFilePath, entry, configuredLevel) {
|
|
29
31
|
if (configuredLevel === "none")
|
|
30
32
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fileLogger.js","sourceRoot":"","sources":["../../src/core/fileLogger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,IAAI,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"fileLogger.js","sourceRoot":"","sources":["../../src/core/fileLogger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,IAAI,MAAM,WAAW,CAAC;AAK7B,MAAM,aAAa,GAAgC;IACjD,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,IAAI,EAAE,CAAC;CACR,CAAC;AAEF,MAAM,UAAU,GAAuC;IACrD,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC;IACP,KAAK,EAAE,CAAC;IACR,IAAI,EAAE,CAAC,CAAC;CACT,CAAC;AAcF,uGAAuG;AACvG,SAAS,WAAW,CAAC,KAAc;IACjC,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC,KAAK,IAAI,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;IAC1D,CAAC;IAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;AACH,CAAC;AAED,yHAAyH;AACzH,MAAM,UAAU,cAAc,CAC5B,WAAmB,EACnB,KAAoB,EACpB,eAAwB;IAExB,IAAI,eAAe,KAAK,MAAM;QAAE,OAAO;IACvC,MAAM,SAAS,GAAG,UAAU,CAAC,eAAe,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;IAC7D,MAAM,YAAY,GAAG,aAAa,CAAC,KAAK,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;IAClE,IAAI,YAAY,GAAG,SAAS;QAAE,OAAO;IACrC,IAAI,CAAC;QACH,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE1D,MAAM,KAAK,GAAG;YACZ,IAAI,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,OAAO,EAAE;SAClE,CAAC;QAEF,IAAI,OAAO,KAAK,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;YACvC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;QACvC,CAAC;QAED,cAAc,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjE,CAAC;IAAC,MAAM,CAAC;QACP,uCAAuC;IACzC,CAAC;AACH,CAAC"}
|