opencode-rag-plugin 1.12.17 → 1.14.7
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 +398 -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 +107 -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 +146 -0
- package/dist/core/config.js +66 -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 +43 -111
- package/dist/describer/anthropic.js.map +1 -1
- package/dist/describer/describer.d.ts +21 -4
- package/dist/describer/describer.js +53 -112
- package/dist/describer/describer.js.map +1 -1
- package/dist/describer/gemini.d.ts +1 -2
- package/dist/describer/gemini.js +21 -114
- package/dist/describer/gemini.js.map +1 -1
- package/dist/describer/shared.d.ts +3 -0
- package/dist/describer/shared.js +23 -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.d.ts +1 -1
- package/dist/indexer/description-stage.js +25 -5
- 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 +325 -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 +96 -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 +278 -41
- 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 +101 -13
- 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,289 @@
|
|
|
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;
|
|
78
|
+
/** Maximum content characters sent to the LLM. Chunks exceeding this use fallback descriptions. */
|
|
79
|
+
maxContentChars?: number;
|
|
42
80
|
}
|
|
81
|
+
/** Configuration for vision-model-based image description generation. */
|
|
43
82
|
export interface ImageDescriptionConfig {
|
|
83
|
+
/** Whether image description is enabled. */
|
|
44
84
|
enabled: boolean;
|
|
85
|
+
/** Vision provider name. */
|
|
45
86
|
provider: string;
|
|
87
|
+
/** Vision model name. */
|
|
46
88
|
model: string;
|
|
89
|
+
/** Base URL of the vision API. */
|
|
47
90
|
baseUrl: string;
|
|
91
|
+
/** API key for providers that require authentication. */
|
|
48
92
|
apiKey?: string;
|
|
93
|
+
/** Request timeout in milliseconds. */
|
|
49
94
|
timeoutMs: number;
|
|
95
|
+
/** Prompt template sent to the vision model. */
|
|
50
96
|
prompt: string;
|
|
97
|
+
/** Whether to include chain-of-thought tokens. */
|
|
51
98
|
think?: boolean;
|
|
99
|
+
/** Context window size. */
|
|
52
100
|
numCtx?: number;
|
|
101
|
+
/** Proxy configuration. */
|
|
53
102
|
proxy?: ProxyConfig;
|
|
103
|
+
/** Maximum image dimension (pixels) — larger images are resized before sending. */
|
|
54
104
|
resizeMaxDimension?: number;
|
|
55
105
|
}
|
|
106
|
+
/** Configuration for the built-in web dashboard UI. */
|
|
56
107
|
export interface UiConfig {
|
|
108
|
+
/** HTTP port for the UI server. */
|
|
57
109
|
port: number;
|
|
110
|
+
/** Whether to automatically open the browser on startup. */
|
|
58
111
|
openBrowser: boolean;
|
|
59
112
|
}
|
|
113
|
+
/** Configuration for the automated documentation mode that adds JSDoc/TSDoc to source files. */
|
|
114
|
+
export interface DocumentationModeConfig {
|
|
115
|
+
/** Whether documentation mode is available. */
|
|
116
|
+
enabled: boolean;
|
|
117
|
+
/** Whether to start documentation mode automatically on launch. */
|
|
118
|
+
autoStart: boolean;
|
|
119
|
+
/** Number of files to process per batch. */
|
|
120
|
+
batchSize: number;
|
|
121
|
+
/** System prompt for the documentation agent. */
|
|
122
|
+
systemPrompt: string;
|
|
123
|
+
}
|
|
124
|
+
/** Configuration for the terminal UI (TUI) keybindings. */
|
|
60
125
|
export interface TuiConfig {
|
|
126
|
+
/** Keybinding to toggle the file list panel. */
|
|
61
127
|
fileListKeybinding: string;
|
|
128
|
+
/** Keybinding to toggle the chunk viewer panel. */
|
|
62
129
|
chunksKeybinding: string;
|
|
63
130
|
}
|
|
131
|
+
/** Configuration for MCP (Model Context Protocol) server integration. */
|
|
64
132
|
export interface McpConfig {
|
|
133
|
+
/** Whether the MCP server is enabled. */
|
|
65
134
|
enabled: boolean;
|
|
66
135
|
}
|
|
136
|
+
/** Configuration for automatic self-updates. */
|
|
67
137
|
export interface AutoUpdateConfig {
|
|
138
|
+
/** Whether auto-update checking is enabled. */
|
|
68
139
|
enabled: boolean;
|
|
69
140
|
}
|
|
141
|
+
/** Complete configuration for the OpenCodeRAG pipeline. */
|
|
70
142
|
export interface RagConfig {
|
|
143
|
+
/** Embedding provider settings (model, endpoint, prefixes). */
|
|
71
144
|
embedding: {
|
|
145
|
+
/** Provider name: "ollama", "openai", or "cohere". */
|
|
72
146
|
provider: string;
|
|
147
|
+
/** Base URL of the embedding API. */
|
|
73
148
|
baseUrl: string;
|
|
149
|
+
/** API key for authenticated providers. */
|
|
74
150
|
apiKey?: string;
|
|
151
|
+
/** Model name for embeddings. */
|
|
75
152
|
model: string;
|
|
153
|
+
/** Request timeout in milliseconds. */
|
|
76
154
|
timeoutMs?: number;
|
|
155
|
+
/** Proxy configuration. */
|
|
77
156
|
proxy?: ProxyConfig;
|
|
157
|
+
/** Prefix prepended to documents before embedding (e.g. "search_document:"). */
|
|
78
158
|
documentPrefix?: string;
|
|
159
|
+
/** Prefix prepended to queries before embedding (e.g. "search_query:"). */
|
|
79
160
|
queryPrefix?: string;
|
|
80
161
|
};
|
|
162
|
+
/** Indexing pipeline controls: what to index, concurrency, batch sizes. */
|
|
81
163
|
indexing: {
|
|
164
|
+
/** File extensions to include in indexing. */
|
|
82
165
|
includeExtensions: string[];
|
|
166
|
+
/** Directory name patterns to exclude. */
|
|
83
167
|
excludeDirs: string[];
|
|
168
|
+
/** Specific filenames (basenames, case-insensitive) to exclude from indexing. */
|
|
169
|
+
excludeFiles?: string[];
|
|
170
|
+
/** Number of overlapping lines between adjacent chunks. */
|
|
84
171
|
chunkOverlap: number;
|
|
172
|
+
/** Minimum file size in bytes to index (0 = no minimum). */
|
|
85
173
|
minFileSizeBytes?: number;
|
|
174
|
+
/** Maximum concurrent file processing tasks. */
|
|
86
175
|
concurrency: number;
|
|
176
|
+
/** Number of texts sent per embedding batch. */
|
|
87
177
|
embedBatchSize: number;
|
|
178
|
+
/** Maximum concurrent embedding batch requests. */
|
|
88
179
|
embedConcurrency?: number;
|
|
180
|
+
/** Maximum batch size for Ollama's /embed endpoint. */
|
|
181
|
+
ollamaMaxBatchSize?: number;
|
|
182
|
+
/** Maximum concurrent description generation requests. */
|
|
89
183
|
descriptionConcurrency?: number;
|
|
90
184
|
};
|
|
185
|
+
/** Vector storage backend configuration. */
|
|
91
186
|
vectorStore: {
|
|
187
|
+
/** Filesystem path or memory:// URI for the vector database. */
|
|
92
188
|
path: string;
|
|
189
|
+
/** Backend provider ("lancedb" or "memory"). */
|
|
93
190
|
provider?: "lancedb" | "memory";
|
|
94
191
|
};
|
|
192
|
+
/** Retrieval settings for query-time search. */
|
|
95
193
|
retrieval: {
|
|
194
|
+
/** Default number of results to return. */
|
|
96
195
|
topK: number;
|
|
196
|
+
/** Minimum relevance score threshold (0-1). */
|
|
97
197
|
minScore: number;
|
|
198
|
+
/** Hybrid search (vector + keyword) configuration. */
|
|
98
199
|
hybridSearch?: {
|
|
200
|
+
/** Whether hybrid search is enabled. */
|
|
99
201
|
enabled: boolean;
|
|
202
|
+
/** Weight for keyword scores in fusion (0 = vector only, 1 = keyword only). */
|
|
100
203
|
keywordWeight: number;
|
|
101
204
|
};
|
|
102
205
|
};
|
|
206
|
+
/** OpenCode plugin integration settings. */
|
|
103
207
|
openCode: {
|
|
208
|
+
/** Whether the OpenCode plugin is active. */
|
|
104
209
|
enabled: boolean;
|
|
210
|
+
/** Maximum chunks to include in context tool responses. */
|
|
105
211
|
maxContextChunks: number;
|
|
212
|
+
/** Auto-indexing behavior on file changes. */
|
|
106
213
|
autoIndex?: AutoIndexConfig;
|
|
214
|
+
/** Auto-injection of relevant chunks into chat messages. */
|
|
107
215
|
autoInject?: AutoInjectConfig;
|
|
216
|
+
/** Whether to override the built-in read tool with RAG-enhanced version. */
|
|
108
217
|
readOverride?: boolean;
|
|
218
|
+
/** Maximum characters returned by the overridden read tool. */
|
|
109
219
|
maxReadOutputChars?: number;
|
|
220
|
+
/** Behavior when read returns no results. */
|
|
110
221
|
readNoResultsBehavior?: ReadNoResultsBehavior;
|
|
222
|
+
/** Maximum related files shown when read results are empty. */
|
|
111
223
|
readRelatedFilesMax?: number;
|
|
112
224
|
};
|
|
225
|
+
/** Custom chunker module registrations. */
|
|
113
226
|
chunkers?: ChunkerConfig[];
|
|
227
|
+
/** Per-language chunking overrides (e.g. node type filters). */
|
|
114
228
|
chunking?: {
|
|
229
|
+
/** Map of language to allowed/blocked AST node type patterns. */
|
|
115
230
|
nodeTypes?: Record<string, string[]>;
|
|
116
231
|
};
|
|
232
|
+
/** LLM-based chunk description generation config. */
|
|
117
233
|
description?: DescriptionConfig;
|
|
234
|
+
/** Vision-model-based image description config. */
|
|
118
235
|
imageDescription?: ImageDescriptionConfig;
|
|
236
|
+
/** Automated documentation mode config. */
|
|
237
|
+
documentationMode?: DocumentationModeConfig;
|
|
238
|
+
/** MCP server integration config. */
|
|
119
239
|
mcp?: McpConfig;
|
|
240
|
+
/** Auto-update checking config. */
|
|
120
241
|
autoUpdate?: AutoUpdateConfig;
|
|
242
|
+
/** Web dashboard UI config. */
|
|
121
243
|
ui?: UiConfig;
|
|
244
|
+
/** Terminal UI keybinding config. */
|
|
122
245
|
tui: TuiConfig;
|
|
246
|
+
/** Logging config. */
|
|
123
247
|
logging: LoggingConfig;
|
|
124
248
|
}
|
|
249
|
+
/** Severity levels for logging output. */
|
|
125
250
|
export type LogLevel = "debug" | "info" | "error" | "none";
|
|
251
|
+
/** Configuration for structured file logging. */
|
|
126
252
|
export interface LoggingConfig {
|
|
253
|
+
/** Minimum severity level to record. */
|
|
127
254
|
level: LogLevel;
|
|
255
|
+
/** Path to the log file. */
|
|
128
256
|
logFilePath: string;
|
|
129
257
|
}
|
|
130
258
|
export declare const DEFAULT_CONFIG: RagConfig;
|
|
259
|
+
/** Resolve effective logging config from a config object, falling back to defaults and env vars. */
|
|
131
260
|
export declare function resolveLogConfig(config: RagConfig): LoggingConfig;
|
|
261
|
+
/** Runtime context passed through the indexing and retrieval pipeline. */
|
|
132
262
|
export interface RagContext {
|
|
263
|
+
/** Resolved pipeline configuration. */
|
|
133
264
|
config: RagConfig;
|
|
265
|
+
/** Configured embedding provider instance. */
|
|
134
266
|
embedder: EmbeddingProvider;
|
|
267
|
+
/** Configured chunker instance. */
|
|
135
268
|
chunker: Chunker;
|
|
269
|
+
/** Configured vector store instance. */
|
|
136
270
|
vectorStore: VectorStore;
|
|
137
271
|
}
|
|
272
|
+
/** Result of a configuration validation pass. */
|
|
138
273
|
export interface ConfigValidationResult {
|
|
274
|
+
/** Whether the configuration is fully valid. */
|
|
139
275
|
valid: boolean;
|
|
276
|
+
/** Warning messages for suspicious or invalid settings. */
|
|
140
277
|
warnings: string[];
|
|
141
278
|
}
|
|
279
|
+
/** Validate a configuration object and return any warnings. */
|
|
142
280
|
export declare function validateConfig(config: RagConfig): ConfigValidationResult;
|
|
281
|
+
/** Config file locations to search, in order of precedence. */
|
|
282
|
+
export declare const CONFIG_FILE_CANDIDATES: string[];
|
|
283
|
+
/**
|
|
284
|
+
* Find the first existing config file in a directory.
|
|
285
|
+
* @returns The absolute path to the config file, or undefined if none found.
|
|
286
|
+
*/
|
|
287
|
+
export declare function findConfigFile(directory: string): string | undefined;
|
|
288
|
+
/** Load and parse a JSON config file, deep-merge with defaults, optionally validate. */
|
|
143
289
|
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,11 +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,
|
|
158
|
+
maxContentChars: 4000,
|
|
159
|
+
},
|
|
160
|
+
documentationMode: {
|
|
161
|
+
enabled: false,
|
|
162
|
+
autoStart: true,
|
|
163
|
+
batchSize: 5,
|
|
164
|
+
systemPrompt: "You are a code documentation expert. Your task is to document any existing, undocumented codebase.\n\n" +
|
|
165
|
+
"## Instructions\n\n" +
|
|
166
|
+
"For each file in this codebase:\n\n" +
|
|
167
|
+
"1. **Read the full file** to understand its structure and logic.\n" +
|
|
168
|
+
"2. **Document every public symbol**: classes, interfaces, types, methods, functions, properties, and exported constants.\n" +
|
|
169
|
+
"3. **Use the codebase's existing style** — look at neighboring files for conventions (JSDoc, TSDoc, etc.).\n" +
|
|
170
|
+
"4. **Write descriptions that explain *what* and *why*, not *how*** — the code already shows *how*.\n" +
|
|
171
|
+
"5. **Include `@param`** (with types and descriptions), **`@returns`**, and **`@throws`** where applicable.\n" +
|
|
172
|
+
"6. **Do NOT change any implementation code** — only add/update doc comments.\n" +
|
|
173
|
+
"7. **Do NOT add comments that restate the obvious** (e.g., `// increment i` on `i++`).\n" +
|
|
174
|
+
"8. **For private/internal symbols**, add concise inline comments only when the logic is non-obvious.\n" +
|
|
175
|
+
"9. **Preserve any existing comments** — update them only if they are incorrect.\n\n" +
|
|
176
|
+
"## Output format\n\n" +
|
|
177
|
+
"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.",
|
|
154
178
|
},
|
|
155
179
|
mcp: {
|
|
156
180
|
enabled: true,
|
|
@@ -171,18 +195,20 @@ export const DEFAULT_CONFIG = {
|
|
|
171
195
|
logFilePath: "./.opencode/opencode-rag.log",
|
|
172
196
|
},
|
|
173
197
|
};
|
|
198
|
+
/** Resolve effective logging config from a config object, falling back to defaults and env vars. */
|
|
174
199
|
export function resolveLogConfig(config) {
|
|
175
200
|
return {
|
|
176
201
|
level: config.logging?.level ?? DEFAULT_CONFIG.logging.level,
|
|
177
202
|
logFilePath: config.logging?.logFilePath ?? env.LOG_FILE_PATH ?? DEFAULT_CONFIG.logging.logFilePath,
|
|
178
203
|
};
|
|
179
204
|
}
|
|
205
|
+
/** Validate a configuration object and return any warnings. */
|
|
180
206
|
export function validateConfig(config) {
|
|
181
207
|
const warnings = [];
|
|
182
208
|
const KNOWN_TOP_KEYS = new Set([
|
|
183
209
|
"embedding", "indexing", "vectorStore", "retrieval",
|
|
184
210
|
"openCode", "chunkers", "chunking", "description",
|
|
185
|
-
"imageDescription", "mcp", "autoUpdate", "ui", "tui", "logging",
|
|
211
|
+
"imageDescription", "documentationMode", "mcp", "autoUpdate", "ui", "tui", "logging",
|
|
186
212
|
]);
|
|
187
213
|
const topKeys = new Set(Object.keys(config));
|
|
188
214
|
for (const key of topKeys) {
|
|
@@ -190,8 +216,9 @@ export function validateConfig(config) {
|
|
|
190
216
|
warnings.push(`Unknown top-level config key "${key}" — possible typo`);
|
|
191
217
|
}
|
|
192
218
|
}
|
|
193
|
-
|
|
194
|
-
|
|
219
|
+
const KNOWN_EMBEDDING_PROVIDERS = new Set(["ollama", "openai", "cohere", "nvidia", "azure", "mistral", "together", "groq", "deepseek", "fireworks"]);
|
|
220
|
+
if (!KNOWN_EMBEDDING_PROVIDERS.has(config.embedding.provider)) {
|
|
221
|
+
warnings.push(`embedding.provider "${config.embedding.provider}" — unknown provider`);
|
|
195
222
|
}
|
|
196
223
|
if (config.embedding.timeoutMs != null && config.embedding.timeoutMs <= 0) {
|
|
197
224
|
warnings.push("embedding.timeoutMs must be > 0");
|
|
@@ -244,8 +271,9 @@ export function validateConfig(config) {
|
|
|
244
271
|
}
|
|
245
272
|
}
|
|
246
273
|
if (config.description) {
|
|
247
|
-
|
|
248
|
-
|
|
274
|
+
const KNOWN_DESCRIPTION_PROVIDERS = new Set(["ollama", "openai", "anthropic", "google"]);
|
|
275
|
+
if (!KNOWN_DESCRIPTION_PROVIDERS.has(config.description.provider)) {
|
|
276
|
+
warnings.push(`description.provider "${config.description.provider}" — unknown provider`);
|
|
249
277
|
}
|
|
250
278
|
if (config.description.timeoutMs != null && config.description.timeoutMs <= 0) {
|
|
251
279
|
warnings.push("description.timeoutMs must be > 0");
|
|
@@ -260,6 +288,26 @@ export function validateConfig(config) {
|
|
|
260
288
|
}
|
|
261
289
|
return { valid: warnings.length === 0, warnings };
|
|
262
290
|
}
|
|
291
|
+
/** Config file locations to search, in order of precedence. */
|
|
292
|
+
export const CONFIG_FILE_CANDIDATES = [
|
|
293
|
+
"opencode-rag.json",
|
|
294
|
+
".opencode/opencode-rag.json",
|
|
295
|
+
".opencode/rag.json",
|
|
296
|
+
];
|
|
297
|
+
/**
|
|
298
|
+
* Find the first existing config file in a directory.
|
|
299
|
+
* @returns The absolute path to the config file, or undefined if none found.
|
|
300
|
+
*/
|
|
301
|
+
export function findConfigFile(directory) {
|
|
302
|
+
for (const loc of CONFIG_FILE_CANDIDATES) {
|
|
303
|
+
const configPath = path.join(directory, loc);
|
|
304
|
+
if (existsSync(configPath)) {
|
|
305
|
+
return configPath;
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
return undefined;
|
|
309
|
+
}
|
|
310
|
+
/** Load and parse a JSON config file, deep-merge with defaults, optionally validate. */
|
|
263
311
|
export function loadConfig(filePath, validate = true) {
|
|
264
312
|
let raw;
|
|
265
313
|
let parsed;
|
|
@@ -331,6 +379,10 @@ export function loadConfig(filePath, validate = true) {
|
|
|
331
379
|
...DEFAULT_CONFIG.imageDescription,
|
|
332
380
|
...(safeObj(parsed.imageDescription) ?? {}),
|
|
333
381
|
},
|
|
382
|
+
documentationMode: {
|
|
383
|
+
...DEFAULT_CONFIG.documentationMode,
|
|
384
|
+
...(safeObj(parsed.documentationMode) ?? {}),
|
|
385
|
+
},
|
|
334
386
|
mcp: {
|
|
335
387
|
...DEFAULT_CONFIG.mcp,
|
|
336
388
|
...(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":"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"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/core/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAmRnC,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;YACT,cAAc;SACf;QACD,YAAY,EAAE;YACZ,mBAAmB;SACpB;QACD,YAAY,EAAE,CAAC;QACf,gBAAgB,EAAE,CAAC;QACnB,WAAW,EAAE,CAAC;QACd,cAAc,EAAE,GAAG;QACnB,gBAAgB,EAAE,CAAC;QACnB,kBAAkB,EAAE,IAAI;QACxB,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,KAAK;YACd,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,KAAK;QACZ,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,gBAAgB,EAAE,CAAC;QACnB,QAAQ,EAAE,CAAC;QACX,gBAAgB,EAAE,IAAI;QACtB,eAAe,EAAE,IAAI;KACtB;IACD,iBAAiB,EAAE;QACjB,OAAO,EAAE,KAAK;QACd,SAAS,EAAE,IAAI;QACf,SAAS,EAAE,CAAC;QACZ,YAAY,EACV,wGAAwG;YACxG,qBAAqB;YACrB,qCAAqC;YACrC,oEAAoE;YACpE,4HAA4H;YAC5H,8GAA8G;YAC9G,sGAAsG;YACtG,8GAA8G;YAC9G,gFAAgF;YAChF,0FAA0F;YAC1F,wGAAwG;YACxG,qFAAqF;YACrF,sBAAsB;YACtB,kKAAkK;KACrK;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,oGAAoG;AACpG,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;AAsBD,+DAA+D;AAC/D,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,mBAAmB,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS;KACrF,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,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;IACrJ,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9D,QAAQ,CAAC,IAAI,CAAC,uBAAuB,MAAM,CAAC,SAAS,CAAC,QAAQ,sBAAsB,CAAC,CAAC;IACxF,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,MAAM,2BAA2B,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC;QACzF,IAAI,CAAC,2BAA2B,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClE,QAAQ,CAAC,IAAI,CAAC,yBAAyB,MAAM,CAAC,WAAW,CAAC,QAAQ,sBAAsB,CAAC,CAAC;QAC5F,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,+DAA+D;AAC/D,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,mBAAmB;IACnB,6BAA6B;IAC7B,oBAAoB;CACrB,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,SAAiB;IAC9C,KAAK,MAAM,GAAG,IAAI,sBAAsB,EAAE,CAAC;QACzC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAC7C,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3B,OAAO,UAAU,CAAC;QACpB,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,wFAAwF;AACxF,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,iBAAiB,EAAE;YACjB,GAAG,cAAc,CAAC,iBAAiB;YACnC,GAAG,CAAC,OAAO,CAA2B,MAA0C,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;SAChF;QAC5B,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"}
|
|
@@ -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":"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"}
|
|
@@ -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"}
|