@optave/codegraph 3.11.2 → 3.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +73 -37
- package/dist/cli/commands/audit.d.ts.map +1 -1
- package/dist/cli/commands/audit.js +2 -1
- package/dist/cli/commands/audit.js.map +1 -1
- package/dist/cli/commands/batch.d.ts.map +1 -1
- package/dist/cli/commands/batch.js +1 -0
- package/dist/cli/commands/batch.js.map +1 -1
- package/dist/cli/commands/build.d.ts.map +1 -1
- package/dist/cli/commands/build.js +6 -1
- package/dist/cli/commands/build.js.map +1 -1
- package/dist/cli/commands/config.d.ts +3 -0
- package/dist/cli/commands/config.d.ts.map +1 -0
- package/dist/cli/commands/config.js +272 -0
- package/dist/cli/commands/config.js.map +1 -0
- package/dist/cli/commands/triage.js +1 -1
- package/dist/cli/commands/triage.js.map +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +10 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/shared/options.d.ts +2 -1
- package/dist/cli/shared/options.d.ts.map +1 -1
- package/dist/cli/shared/options.js +11 -1
- package/dist/cli/shared/options.js.map +1 -1
- package/dist/cli/types.d.ts +2 -0
- package/dist/cli/types.d.ts.map +1 -1
- package/dist/db/migrations.d.ts.map +1 -1
- package/dist/db/migrations.js +8 -1
- package/dist/db/migrations.js.map +1 -1
- package/dist/domain/analysis/module-map.d.ts +2 -0
- package/dist/domain/analysis/module-map.d.ts.map +1 -1
- package/dist/domain/analysis/module-map.js +24 -2
- package/dist/domain/analysis/module-map.js.map +1 -1
- package/dist/domain/graph/builder/call-resolver.d.ts +16 -10
- package/dist/domain/graph/builder/call-resolver.d.ts.map +1 -1
- package/dist/domain/graph/builder/call-resolver.js +251 -34
- package/dist/domain/graph/builder/call-resolver.js.map +1 -1
- package/dist/domain/graph/builder/cha.d.ts +69 -0
- package/dist/domain/graph/builder/cha.d.ts.map +1 -0
- package/dist/domain/graph/builder/cha.js +158 -0
- package/dist/domain/graph/builder/cha.js.map +1 -0
- package/dist/domain/graph/builder/context.d.ts +3 -0
- package/dist/domain/graph/builder/context.d.ts.map +1 -1
- package/dist/domain/graph/builder/context.js +2 -0
- package/dist/domain/graph/builder/context.js.map +1 -1
- package/dist/domain/graph/builder/helpers.d.ts +25 -1
- package/dist/domain/graph/builder/helpers.d.ts.map +1 -1
- package/dist/domain/graph/builder/helpers.js +178 -5
- package/dist/domain/graph/builder/helpers.js.map +1 -1
- package/dist/domain/graph/builder/incremental.d.ts.map +1 -1
- package/dist/domain/graph/builder/incremental.js +74 -2
- package/dist/domain/graph/builder/incremental.js.map +1 -1
- package/dist/domain/graph/builder/pipeline.d.ts.map +1 -1
- package/dist/domain/graph/builder/pipeline.js +37 -2
- package/dist/domain/graph/builder/pipeline.js.map +1 -1
- package/dist/domain/graph/builder/stages/build-edges.d.ts.map +1 -1
- package/dist/domain/graph/builder/stages/build-edges.js +704 -34
- package/dist/domain/graph/builder/stages/build-edges.js.map +1 -1
- package/dist/domain/graph/builder/stages/detect-changes.d.ts.map +1 -1
- package/dist/domain/graph/builder/stages/detect-changes.js +3 -2
- package/dist/domain/graph/builder/stages/detect-changes.js.map +1 -1
- package/dist/domain/graph/builder/stages/finalize.d.ts.map +1 -1
- package/dist/domain/graph/builder/stages/finalize.js +4 -0
- package/dist/domain/graph/builder/stages/finalize.js.map +1 -1
- package/dist/domain/graph/builder/stages/native-orchestrator.d.ts.map +1 -1
- package/dist/domain/graph/builder/stages/native-orchestrator.js +783 -37
- package/dist/domain/graph/builder/stages/native-orchestrator.js.map +1 -1
- package/dist/domain/graph/builder/stages/resolve-imports.d.ts +1 -0
- package/dist/domain/graph/builder/stages/resolve-imports.d.ts.map +1 -1
- package/dist/domain/graph/builder/stages/resolve-imports.js +10 -1
- package/dist/domain/graph/builder/stages/resolve-imports.js.map +1 -1
- package/dist/domain/graph/journal.js +1 -1
- package/dist/domain/graph/journal.js.map +1 -1
- package/dist/domain/graph/resolver/points-to.d.ts +53 -0
- package/dist/domain/graph/resolver/points-to.d.ts.map +1 -0
- package/dist/domain/graph/resolver/points-to.js +213 -0
- package/dist/domain/graph/resolver/points-to.js.map +1 -0
- package/dist/domain/graph/resolver/ts-resolver.d.ts +9 -0
- package/dist/domain/graph/resolver/ts-resolver.d.ts.map +1 -0
- package/dist/domain/graph/resolver/ts-resolver.js +476 -0
- package/dist/domain/graph/resolver/ts-resolver.js.map +1 -0
- package/dist/domain/parser.d.ts +12 -4
- package/dist/domain/parser.d.ts.map +1 -1
- package/dist/domain/parser.js +83 -20
- package/dist/domain/parser.js.map +1 -1
- package/dist/domain/wasm-worker-entry.js +35 -2
- package/dist/domain/wasm-worker-entry.js.map +1 -1
- package/dist/domain/wasm-worker-pool.d.ts.map +1 -1
- package/dist/domain/wasm-worker-pool.js +34 -0
- package/dist/domain/wasm-worker-pool.js.map +1 -1
- package/dist/domain/wasm-worker-protocol.d.ts +15 -1
- package/dist/domain/wasm-worker-protocol.d.ts.map +1 -1
- package/dist/extractors/c.js +3 -3
- package/dist/extractors/c.js.map +1 -1
- package/dist/extractors/clojure.js +1 -1
- package/dist/extractors/clojure.js.map +1 -1
- package/dist/extractors/cpp.d.ts.map +1 -1
- package/dist/extractors/cpp.js +45 -4
- package/dist/extractors/cpp.js.map +1 -1
- package/dist/extractors/csharp.d.ts.map +1 -1
- package/dist/extractors/csharp.js +37 -8
- package/dist/extractors/csharp.js.map +1 -1
- package/dist/extractors/cuda.d.ts.map +1 -1
- package/dist/extractors/cuda.js +45 -4
- package/dist/extractors/cuda.js.map +1 -1
- package/dist/extractors/elixir.js +6 -6
- package/dist/extractors/elixir.js.map +1 -1
- package/dist/extractors/fsharp.js +1 -1
- package/dist/extractors/fsharp.js.map +1 -1
- package/dist/extractors/go.js +5 -5
- package/dist/extractors/go.js.map +1 -1
- package/dist/extractors/haskell.js +1 -1
- package/dist/extractors/haskell.js.map +1 -1
- package/dist/extractors/helpers.d.ts +11 -0
- package/dist/extractors/helpers.d.ts.map +1 -1
- package/dist/extractors/helpers.js +40 -0
- package/dist/extractors/helpers.js.map +1 -1
- package/dist/extractors/java.d.ts.map +1 -1
- package/dist/extractors/java.js +10 -9
- package/dist/extractors/java.js.map +1 -1
- package/dist/extractors/javascript.d.ts +2 -0
- package/dist/extractors/javascript.d.ts.map +1 -1
- package/dist/extractors/javascript.js +1812 -71
- package/dist/extractors/javascript.js.map +1 -1
- package/dist/extractors/kotlin.js +5 -5
- package/dist/extractors/kotlin.js.map +1 -1
- package/dist/extractors/lua.js +1 -1
- package/dist/extractors/lua.js.map +1 -1
- package/dist/extractors/objc.js +3 -3
- package/dist/extractors/objc.js.map +1 -1
- package/dist/extractors/ocaml.js +1 -1
- package/dist/extractors/ocaml.js.map +1 -1
- package/dist/extractors/php.js +2 -2
- package/dist/extractors/php.js.map +1 -1
- package/dist/extractors/python.js +7 -7
- package/dist/extractors/python.js.map +1 -1
- package/dist/extractors/ruby.js +2 -2
- package/dist/extractors/ruby.js.map +1 -1
- package/dist/extractors/scala.js +1 -1
- package/dist/extractors/scala.js.map +1 -1
- package/dist/extractors/solidity.js +1 -1
- package/dist/extractors/solidity.js.map +1 -1
- package/dist/extractors/swift.js +4 -4
- package/dist/extractors/swift.js.map +1 -1
- package/dist/extractors/zig.js +4 -4
- package/dist/extractors/zig.js.map +1 -1
- package/dist/features/structure-query.d.ts +1 -1
- package/dist/features/structure-query.d.ts.map +1 -1
- package/dist/features/structure-query.js +6 -6
- package/dist/features/structure-query.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/infrastructure/config.d.ts +85 -2
- package/dist/infrastructure/config.d.ts.map +1 -1
- package/dist/infrastructure/config.js +408 -19
- package/dist/infrastructure/config.js.map +1 -1
- package/dist/infrastructure/native.d.ts +11 -0
- package/dist/infrastructure/native.d.ts.map +1 -1
- package/dist/infrastructure/native.js +78 -5
- package/dist/infrastructure/native.js.map +1 -1
- package/dist/infrastructure/registry.d.ts +27 -0
- package/dist/infrastructure/registry.d.ts.map +1 -1
- package/dist/infrastructure/registry.js +59 -1
- package/dist/infrastructure/registry.js.map +1 -1
- package/dist/presentation/queries-cli/overview.d.ts.map +1 -1
- package/dist/presentation/queries-cli/overview.js +5 -0
- package/dist/presentation/queries-cli/overview.js.map +1 -1
- package/dist/presentation/structure.d.ts +1 -1
- package/dist/presentation/structure.d.ts.map +1 -1
- package/dist/presentation/structure.js +2 -2
- package/dist/presentation/structure.js.map +1 -1
- package/dist/types.d.ts +221 -0
- package/dist/types.d.ts.map +1 -1
- package/grammars/tree-sitter-gleam.wasm +0 -0
- package/package.json +7 -8
- package/src/cli/commands/audit.ts +2 -1
- package/src/cli/commands/batch.ts +1 -0
- package/src/cli/commands/build.ts +6 -1
- package/src/cli/commands/config.ts +353 -0
- package/src/cli/commands/triage.ts +1 -1
- package/src/cli/index.ts +10 -0
- package/src/cli/shared/options.ts +11 -1
- package/src/cli/types.ts +2 -0
- package/src/db/migrations.ts +8 -1
- package/src/domain/analysis/module-map.ts +29 -1
- package/src/domain/graph/builder/call-resolver.ts +263 -35
- package/src/domain/graph/builder/cha.ts +192 -0
- package/src/domain/graph/builder/context.ts +3 -0
- package/src/domain/graph/builder/helpers.ts +195 -5
- package/src/domain/graph/builder/incremental.ts +80 -1
- package/src/domain/graph/builder/pipeline.ts +49 -2
- package/src/domain/graph/builder/stages/build-edges.ts +867 -32
- package/src/domain/graph/builder/stages/detect-changes.ts +4 -2
- package/src/domain/graph/builder/stages/finalize.ts +4 -0
- package/src/domain/graph/builder/stages/native-orchestrator.ts +910 -43
- package/src/domain/graph/builder/stages/resolve-imports.ts +15 -1
- package/src/domain/graph/journal.ts +1 -1
- package/src/domain/graph/resolver/points-to.ts +254 -0
- package/src/domain/graph/resolver/ts-resolver.ts +536 -0
- package/src/domain/parser.ts +86 -17
- package/src/domain/wasm-worker-entry.ts +35 -2
- package/src/domain/wasm-worker-pool.ts +22 -0
- package/src/domain/wasm-worker-protocol.ts +15 -0
- package/src/extractors/c.ts +3 -3
- package/src/extractors/clojure.ts +1 -1
- package/src/extractors/cpp.ts +47 -4
- package/src/extractors/csharp.ts +33 -9
- package/src/extractors/cuda.ts +47 -4
- package/src/extractors/elixir.ts +6 -6
- package/src/extractors/fsharp.ts +1 -1
- package/src/extractors/go.ts +5 -5
- package/src/extractors/haskell.ts +1 -1
- package/src/extractors/helpers.ts +43 -0
- package/src/extractors/java.ts +10 -9
- package/src/extractors/javascript.ts +1929 -72
- package/src/extractors/kotlin.ts +5 -5
- package/src/extractors/lua.ts +1 -1
- package/src/extractors/objc.ts +3 -3
- package/src/extractors/ocaml.ts +1 -1
- package/src/extractors/php.ts +2 -2
- package/src/extractors/python.ts +7 -7
- package/src/extractors/ruby.ts +2 -2
- package/src/extractors/scala.ts +1 -1
- package/src/extractors/solidity.ts +1 -1
- package/src/extractors/swift.ts +4 -4
- package/src/extractors/zig.ts +4 -4
- package/src/features/structure-query.ts +7 -7
- package/src/index.ts +5 -1
- package/src/infrastructure/config.ts +494 -20
- package/src/infrastructure/native.ts +87 -5
- package/src/infrastructure/registry.ts +82 -1
- package/src/presentation/queries-cli/overview.ts +15 -1
- package/src/presentation/structure.ts +3 -3
- package/src/types.ts +235 -0
- package/grammars/tree-sitter-erlang.wasm +0 -0
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
import { execFileSync } from 'node:child_process';
|
|
2
|
+
import { createHash } from 'node:crypto';
|
|
2
3
|
import fs from 'node:fs';
|
|
4
|
+
import os from 'node:os';
|
|
3
5
|
import path from 'node:path';
|
|
4
6
|
import { ConfigError, toErrorMessage } from '../shared/errors.js';
|
|
7
|
+
import { compileGlobs, matchesAny } from '../shared/globs.js';
|
|
5
8
|
import { debug, warn } from './logger.js';
|
|
9
|
+
import { getUserConfigConsent, REGISTRY_PATH, setUserConfigConsent } from './registry.js';
|
|
6
10
|
export const CONFIG_FILES = [
|
|
7
11
|
'.codegraphrc.json',
|
|
8
12
|
'.codegraphrc',
|
|
@@ -19,6 +23,7 @@ export const DEFAULTS = {
|
|
|
19
23
|
dbPath: '.codegraph/graph.db',
|
|
20
24
|
driftThreshold: 0.2,
|
|
21
25
|
smallFilesThreshold: 5,
|
|
26
|
+
typescriptResolver: true,
|
|
22
27
|
},
|
|
23
28
|
query: {
|
|
24
29
|
defaultDepth: 3,
|
|
@@ -74,6 +79,20 @@ export const DEFAULTS = {
|
|
|
74
79
|
briefImporterDepth: 5,
|
|
75
80
|
briefHighRiskCallers: 10,
|
|
76
81
|
briefMediumRiskCallers: 3,
|
|
82
|
+
// TODO(Phase 8.3): wire these into the points-to solver and type-propagation path
|
|
83
|
+
// once config is threaded through to extractSymbols / buildPointsToMap. Currently
|
|
84
|
+
// controlled by hardcoded constants in src/extractors/javascript.ts
|
|
85
|
+
// (MAX_PROPAGATION_DEPTH, PROPAGATION_HOP_PENALTY) and in
|
|
86
|
+
// src/domain/graph/resolver/points-to.ts (MAX_SOLVER_ITERATIONS).
|
|
87
|
+
typePropagationDepth: 3,
|
|
88
|
+
/**
|
|
89
|
+
* Maximum fixed-point iterations for the Phase 8.3 points-to solver.
|
|
90
|
+
* @reserved — currently not wired to either the WASM solver
|
|
91
|
+
* (`MAX_SOLVER_ITERATIONS` in `points-to.ts`) or the native Rust solver
|
|
92
|
+
* (`MAX_SOLVER_ITERATIONS` in `stages/build_edges.rs`), both of which use the
|
|
93
|
+
* same hardcoded value of 50. See the TODO comment above.
|
|
94
|
+
*/
|
|
95
|
+
pointsToMaxIterations: 50,
|
|
77
96
|
},
|
|
78
97
|
community: {
|
|
79
98
|
resolution: 1.0,
|
|
@@ -145,33 +164,352 @@ export const DEFAULTS = {
|
|
|
145
164
|
disabledTools: [],
|
|
146
165
|
},
|
|
147
166
|
};
|
|
167
|
+
// ── Per-process user-config override (set by CLI flags) ────────────────
|
|
168
|
+
// Set once by the preAction hook before any command runs; cleared when changed.
|
|
169
|
+
let _userConfigOverride;
|
|
170
|
+
/**
|
|
171
|
+
* Set the per-run user-config override from CLI flags.
|
|
172
|
+
* Called by the CLI preAction hook before any command executes.
|
|
173
|
+
* - false → --no-user-config
|
|
174
|
+
* - string → --user-config <path>
|
|
175
|
+
* - true → --user-config (bare, use default global file)
|
|
176
|
+
* - undefined → clear override, revert to consent-based resolution
|
|
177
|
+
*/
|
|
178
|
+
export function setUserConfigOverride(v) {
|
|
179
|
+
_userConfigOverride = v;
|
|
180
|
+
_configCache.clear();
|
|
181
|
+
_globalConfigCache.clear();
|
|
182
|
+
}
|
|
148
183
|
// Per-cwd config cache — avoids re-reading the config file on every query call.
|
|
149
|
-
//
|
|
184
|
+
// Key includes the applied global path so toggled flags/consent are reflected.
|
|
150
185
|
const _configCache = new Map();
|
|
186
|
+
// Parallel cache for the sanitized global layer — needed so loadConfigWithProvenance
|
|
187
|
+
// can correctly attribute global-layer keys even on a _configCache hit.
|
|
188
|
+
const _globalConfigCache = new Map();
|
|
189
|
+
// ── Global config file location ─────────────────────────────────────────
|
|
190
|
+
/**
|
|
191
|
+
* Return the canonical path where a new global config file should be written.
|
|
192
|
+
*
|
|
193
|
+
* Uses the same priority logic as resolveUserConfigPath() but always returns a
|
|
194
|
+
* path — it does not check whether the file exists. Used by `--init` to know
|
|
195
|
+
* where to scaffold the file.
|
|
196
|
+
*
|
|
197
|
+
* Priority:
|
|
198
|
+
* 1. CODEGRAPH_USER_CONFIG env var (used as-is)
|
|
199
|
+
* 2. $XDG_CONFIG_HOME/codegraph/config.json
|
|
200
|
+
* %APPDATA%\codegraph\config.json (Windows)
|
|
201
|
+
* fallback: ~/.config/codegraph/config.json
|
|
202
|
+
*/
|
|
203
|
+
export function getDefaultUserConfigPath() {
|
|
204
|
+
const envPath = process.env.CODEGRAPH_USER_CONFIG;
|
|
205
|
+
if (envPath)
|
|
206
|
+
return envPath;
|
|
207
|
+
const home = os.homedir();
|
|
208
|
+
const xdgConfig = process.env.XDG_CONFIG_HOME;
|
|
209
|
+
if (xdgConfig)
|
|
210
|
+
return path.join(xdgConfig, 'codegraph', 'config.json');
|
|
211
|
+
if (process.platform === 'win32') {
|
|
212
|
+
const appdata = process.env.APPDATA;
|
|
213
|
+
return appdata
|
|
214
|
+
? path.join(appdata, 'codegraph', 'config.json')
|
|
215
|
+
: path.join(home, '.config', 'codegraph', 'config.json');
|
|
216
|
+
}
|
|
217
|
+
return path.join(home, '.config', 'codegraph', 'config.json');
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Resolve the absolute path to the user-level global config file.
|
|
221
|
+
*
|
|
222
|
+
* Priority:
|
|
223
|
+
* 1. CODEGRAPH_USER_CONFIG env var (location override only — not forced-on)
|
|
224
|
+
* 2. $XDG_CONFIG_HOME/codegraph/config.json (Unix/macOS)
|
|
225
|
+
* %APPDATA%\codegraph\config.json (Windows)
|
|
226
|
+
* fallback: ~/.config/codegraph/config.json
|
|
227
|
+
* 3. ~/.codegraph/config.json (legacy, next to registry.json)
|
|
228
|
+
*
|
|
229
|
+
* Returns the path of the first existing file, or null if none exist.
|
|
230
|
+
*/
|
|
231
|
+
export function resolveUserConfigPath() {
|
|
232
|
+
const envPath = process.env.CODEGRAPH_USER_CONFIG;
|
|
233
|
+
if (envPath) {
|
|
234
|
+
if (fs.existsSync(envPath))
|
|
235
|
+
return envPath;
|
|
236
|
+
debug(`CODEGRAPH_USER_CONFIG points to missing file: ${envPath}`);
|
|
237
|
+
return null;
|
|
238
|
+
}
|
|
239
|
+
const home = os.homedir();
|
|
240
|
+
// XDG_CONFIG_HOME takes priority on all platforms when explicitly set.
|
|
241
|
+
// Falls back to %APPDATA% on Windows, or ~/.config on Unix/macOS.
|
|
242
|
+
let platformDefault;
|
|
243
|
+
const xdgConfig = process.env.XDG_CONFIG_HOME;
|
|
244
|
+
if (xdgConfig) {
|
|
245
|
+
platformDefault = path.join(xdgConfig, 'codegraph', 'config.json');
|
|
246
|
+
}
|
|
247
|
+
else if (process.platform === 'win32') {
|
|
248
|
+
const appdata = process.env.APPDATA;
|
|
249
|
+
platformDefault = appdata
|
|
250
|
+
? path.join(appdata, 'codegraph', 'config.json')
|
|
251
|
+
: path.join(home, '.config', 'codegraph', 'config.json');
|
|
252
|
+
}
|
|
253
|
+
else {
|
|
254
|
+
platformDefault = path.join(home, '.config', 'codegraph', 'config.json');
|
|
255
|
+
}
|
|
256
|
+
if (fs.existsSync(platformDefault))
|
|
257
|
+
return platformDefault;
|
|
258
|
+
const legacyPath = path.join(home, '.codegraph', 'config.json');
|
|
259
|
+
if (fs.existsSync(legacyPath))
|
|
260
|
+
return legacyPath;
|
|
261
|
+
return null;
|
|
262
|
+
}
|
|
263
|
+
/**
|
|
264
|
+
* Read and parse a user-level global config file.
|
|
265
|
+
* Handles both plain-config and appliesTo-wrapper formats.
|
|
266
|
+
* Returns null on missing or malformed files (never throws).
|
|
267
|
+
*/
|
|
268
|
+
function loadUserConfigFile(filePath) {
|
|
269
|
+
try {
|
|
270
|
+
const raw = fs.readFileSync(filePath, 'utf-8');
|
|
271
|
+
const parsed = JSON.parse(raw);
|
|
272
|
+
// Wrapper format: { appliesTo: [...], config: {...} }
|
|
273
|
+
if ('appliesTo' in parsed && typeof parsed.config === 'object' && parsed.config !== null) {
|
|
274
|
+
const globs = Array.isArray(parsed.appliesTo)
|
|
275
|
+
? parsed.appliesTo.filter((g) => typeof g === 'string')
|
|
276
|
+
: [];
|
|
277
|
+
return { globalConfig: parsed.config, appliesToGlobs: globs };
|
|
278
|
+
}
|
|
279
|
+
// Plain config (no appliesTo wrapper)
|
|
280
|
+
return { globalConfig: parsed, appliesToGlobs: [] };
|
|
281
|
+
}
|
|
282
|
+
catch (err) {
|
|
283
|
+
debug(`Failed to load user config at ${filePath}: ${toErrorMessage(err)}`);
|
|
284
|
+
return null;
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
// ── Safety sanitisation ─────────────────────────────────────────────────
|
|
288
|
+
/**
|
|
289
|
+
* Drop any unsafe keys from the global layer before merging.
|
|
290
|
+
* Currently: absolute build.dbPath (would make all repos share one DB).
|
|
291
|
+
* Relative dbPaths resolve per-repo and are allowed through unchanged.
|
|
292
|
+
*/
|
|
293
|
+
function sanitizeUserLayer(raw) {
|
|
294
|
+
const build = raw.build;
|
|
295
|
+
if (build && typeof build.dbPath === 'string' && path.isAbsolute(build.dbPath)) {
|
|
296
|
+
warn(`User config: build.dbPath "${build.dbPath}" is absolute and was ignored ` +
|
|
297
|
+
'(an absolute dbPath would share one database across all repos).');
|
|
298
|
+
const sanitizedBuild = { ...build };
|
|
299
|
+
delete sanitizedBuild.dbPath;
|
|
300
|
+
return { ...raw, build: sanitizedBuild };
|
|
301
|
+
}
|
|
302
|
+
return raw;
|
|
303
|
+
}
|
|
304
|
+
// ── excludeTests shorthand (per-layer) ─────────────────────────────────
|
|
305
|
+
/**
|
|
306
|
+
* Hoist a top-level `excludeTests` key from a raw layer into `query.excludeTests`.
|
|
307
|
+
* If the layer already has `query.excludeTests`, that value wins (no-op).
|
|
308
|
+
* Also removes any stale `excludeTests` key that may have leaked into `merged`.
|
|
309
|
+
*/
|
|
310
|
+
function applyExcludeTestsShorthand(merged, rawLayer) {
|
|
311
|
+
if ('excludeTests' in rawLayer) {
|
|
312
|
+
// Only hoist if this layer doesn't also set query.excludeTests
|
|
313
|
+
if (!(rawLayer.query && 'excludeTests' in rawLayer.query)) {
|
|
314
|
+
merged.query.excludeTests = Boolean(rawLayer.excludeTests);
|
|
315
|
+
}
|
|
316
|
+
const result = { ...merged };
|
|
317
|
+
delete result.excludeTests;
|
|
318
|
+
return result;
|
|
319
|
+
}
|
|
320
|
+
if ('excludeTests' in merged) {
|
|
321
|
+
const result = { ...merged };
|
|
322
|
+
delete result.excludeTests;
|
|
323
|
+
return result;
|
|
324
|
+
}
|
|
325
|
+
return merged;
|
|
326
|
+
}
|
|
327
|
+
/**
|
|
328
|
+
* Resolve whether the global user config should be applied for a given repo.
|
|
329
|
+
* Implements the §4.1/§4.2 precedence chain from the spec.
|
|
330
|
+
*
|
|
331
|
+
* @param rootDir Absolute repo root.
|
|
332
|
+
* @param override Per-run override from CLI flags (_userConfigOverride).
|
|
333
|
+
* @param registryPath Optional registry path (for tests).
|
|
334
|
+
*/
|
|
335
|
+
function resolveConsent(rootDir, override, registryPath = REGISTRY_PATH) {
|
|
336
|
+
// §4.1 step 1: --no-user-config
|
|
337
|
+
if (override === false) {
|
|
338
|
+
return { applied: false, globalPath: null, consentDecision: undefined };
|
|
339
|
+
}
|
|
340
|
+
// §4.1 steps 2–3: explicit path or bare --user-config
|
|
341
|
+
if (override !== undefined) {
|
|
342
|
+
const explicitPath = typeof override === 'string' ? override : resolveUserConfigPath();
|
|
343
|
+
if (explicitPath && fs.existsSync(explicitPath)) {
|
|
344
|
+
return { applied: true, globalPath: explicitPath, consentDecision: undefined };
|
|
345
|
+
}
|
|
346
|
+
if (typeof override === 'string') {
|
|
347
|
+
warn(`--user-config path "${override}" does not exist; skipping global layer.`);
|
|
348
|
+
}
|
|
349
|
+
return { applied: false, globalPath: null, consentDecision: undefined };
|
|
350
|
+
}
|
|
351
|
+
// §4.1 step 4: resolve global file — if none, NOT applied
|
|
352
|
+
const globalPath = resolveUserConfigPath();
|
|
353
|
+
if (!globalPath) {
|
|
354
|
+
return { applied: false, globalPath: null, consentDecision: undefined };
|
|
355
|
+
}
|
|
356
|
+
// §4.2: check per-repo decision
|
|
357
|
+
const consentDecision = getUserConfigConsent(rootDir, registryPath);
|
|
358
|
+
// §4.2 step 1: recorded disabled
|
|
359
|
+
if (consentDecision === 'disabled') {
|
|
360
|
+
return { applied: false, globalPath, consentDecision };
|
|
361
|
+
}
|
|
362
|
+
// §4.2 step 2: recorded enabled
|
|
363
|
+
if (consentDecision === 'enabled') {
|
|
364
|
+
return { applied: true, globalPath, consentDecision };
|
|
365
|
+
}
|
|
366
|
+
// §4.2 step 3: appliesTo glob match (dynamic, never persisted)
|
|
367
|
+
const parsed = loadUserConfigFile(globalPath);
|
|
368
|
+
if (parsed?.appliesToGlobs.length) {
|
|
369
|
+
const expanded = parsed.appliesToGlobs.map((g) => g.startsWith('~') ? path.join(os.homedir(), g.slice(1)) : g);
|
|
370
|
+
const regexes = compileGlobs(expanded);
|
|
371
|
+
const absRoot = path.resolve(rootDir);
|
|
372
|
+
if (matchesAny(regexes, absRoot)) {
|
|
373
|
+
return { applied: true, globalPath, consentDecision: undefined };
|
|
374
|
+
}
|
|
375
|
+
}
|
|
376
|
+
// §4.2 steps 4–5: undecided — caller decides whether to prompt
|
|
377
|
+
return { applied: false, globalPath, consentDecision: undefined };
|
|
378
|
+
}
|
|
379
|
+
// Last applied global path and parsed data — exposed so pipeline.ts and
|
|
380
|
+
// loadConfigWithProvenance can reuse the already-parsed file contents without a
|
|
381
|
+
// second disk read (eliminating the TOCTOU window between loadConfig and callers).
|
|
382
|
+
let _lastAppliedGlobalPath = null;
|
|
383
|
+
let _lastAppliedGlobalConfig = null;
|
|
384
|
+
export function getLastAppliedGlobalPath() {
|
|
385
|
+
return _lastAppliedGlobalPath;
|
|
386
|
+
}
|
|
387
|
+
export function getLastAppliedGlobalConfig() {
|
|
388
|
+
return _lastAppliedGlobalConfig;
|
|
389
|
+
}
|
|
390
|
+
// ── Build-relevant config hash ──────────────────────────────────────────
|
|
391
|
+
const BUILD_HASH_KEYS = [
|
|
392
|
+
'include',
|
|
393
|
+
'exclude',
|
|
394
|
+
'ignoreDirs',
|
|
395
|
+
'extensions',
|
|
396
|
+
'aliases',
|
|
397
|
+
'build',
|
|
398
|
+
];
|
|
399
|
+
/**
|
|
400
|
+
* Compute a short stable hash of the build-relevant config subset.
|
|
401
|
+
* Used by the pipeline to detect config changes that require a full rebuild.
|
|
402
|
+
*/
|
|
403
|
+
export function computeConfigHash(config) {
|
|
404
|
+
const subset = {};
|
|
405
|
+
for (const k of BUILD_HASH_KEYS) {
|
|
406
|
+
subset[k] = config[k];
|
|
407
|
+
}
|
|
408
|
+
return createHash('sha256').update(JSON.stringify(subset)).digest('hex').slice(0, 16);
|
|
409
|
+
}
|
|
410
|
+
// ── Interactive consent prompt ──────────────────────────────────────────
|
|
411
|
+
/**
|
|
412
|
+
* When called from the build command, check whether we should prompt the user
|
|
413
|
+
* for global-config consent and, if so, prompt and persist the answer.
|
|
414
|
+
*
|
|
415
|
+
* Only fires when ALL of:
|
|
416
|
+
* - A global config file exists
|
|
417
|
+
* - The repo is undecided (no recorded consent)
|
|
418
|
+
* - Not matched by appliesTo globs
|
|
419
|
+
* - process.stdin.isTTY && process.stdout.isTTY
|
|
420
|
+
* - CI env is not set
|
|
421
|
+
* - No per-run --user-config / --no-user-config flag is active
|
|
422
|
+
*/
|
|
423
|
+
export async function promptForConsentIfNeeded(rootDir, registryPath = REGISTRY_PATH) {
|
|
424
|
+
// No-op if per-run override is active
|
|
425
|
+
if (_userConfigOverride !== undefined)
|
|
426
|
+
return;
|
|
427
|
+
const globalPath = resolveUserConfigPath();
|
|
428
|
+
if (!globalPath)
|
|
429
|
+
return;
|
|
430
|
+
const consentDecision = getUserConfigConsent(rootDir, registryPath);
|
|
431
|
+
if (consentDecision !== undefined)
|
|
432
|
+
return; // already decided
|
|
433
|
+
// Check appliesTo globs (dynamic consent — no prompt needed)
|
|
434
|
+
const parsed = loadUserConfigFile(globalPath);
|
|
435
|
+
if (parsed?.appliesToGlobs.length) {
|
|
436
|
+
const expanded = parsed.appliesToGlobs.map((g) => g.startsWith('~') ? path.join(os.homedir(), g.slice(1)) : g);
|
|
437
|
+
const regexes = compileGlobs(expanded);
|
|
438
|
+
const absRoot = path.resolve(rootDir);
|
|
439
|
+
if (matchesAny(regexes, absRoot))
|
|
440
|
+
return; // covered by appliesTo
|
|
441
|
+
}
|
|
442
|
+
// Only prompt in fully interactive sessions
|
|
443
|
+
if (!process.stdin.isTTY || !process.stdout.isTTY)
|
|
444
|
+
return;
|
|
445
|
+
if (process.env.CI)
|
|
446
|
+
return;
|
|
447
|
+
const { createInterface } = await import('node:readline');
|
|
448
|
+
const rl = createInterface({ input: process.stdin, output: process.stdout });
|
|
449
|
+
const answer = await new Promise((resolve) => {
|
|
450
|
+
rl.question(`\nA global codegraph config was found at ${globalPath}.\n` +
|
|
451
|
+
`Apply settings not explicitly configured in this repo to ${path.resolve(rootDir)}? [y/N]\n` +
|
|
452
|
+
`(remembered per-repo; change later with \`codegraph config --enable-global|--disable-global\`)\n` +
|
|
453
|
+
`> `, (ans) => {
|
|
454
|
+
rl.close();
|
|
455
|
+
resolve(ans.trim().toLowerCase());
|
|
456
|
+
});
|
|
457
|
+
});
|
|
458
|
+
const decided = answer === 'y' || answer === 'yes' ? 'enabled' : 'disabled';
|
|
459
|
+
setUserConfigConsent(rootDir, decided, registryPath);
|
|
460
|
+
process.stderr.write(`Global config consent recorded: ${decided}\n`);
|
|
461
|
+
}
|
|
151
462
|
/**
|
|
152
463
|
* Load project configuration from a .codegraphrc.json or similar file.
|
|
153
|
-
* Returns merged config with defaults
|
|
464
|
+
* Returns merged config with defaults: defaults → global (if applied) → project → env → secrets.
|
|
465
|
+
* Results are cached per cwd + applied global path.
|
|
154
466
|
*/
|
|
155
|
-
export function loadConfig(cwd) {
|
|
156
|
-
cwd = cwd || process.cwd();
|
|
157
|
-
|
|
158
|
-
|
|
467
|
+
export function loadConfig(cwd, opts) {
|
|
468
|
+
cwd = path.resolve(cwd || process.cwd());
|
|
469
|
+
// Determine effective override: explicit opts win over module-level variable
|
|
470
|
+
const override = opts?.userConfig !== undefined ? opts.userConfig : _userConfigOverride;
|
|
471
|
+
// Resolve consent and global path
|
|
472
|
+
const { applied, globalPath } = resolveConsent(cwd, override, opts?.registryPath);
|
|
473
|
+
// Cache key includes applied global path and override flag so toggled consent is reflected
|
|
474
|
+
const cacheKey = `${cwd}::${applied ? (globalPath ?? 'default') : 'none'}`;
|
|
475
|
+
// Always update _lastAppliedGlobalPath/_lastAppliedGlobalConfig before returning —
|
|
476
|
+
// on a cache hit the previous call may have been for a different repo or different
|
|
477
|
+
// opts, so stale values here would misbehave for programmatic callers making
|
|
478
|
+
// multiple buildGraph calls in the same process.
|
|
479
|
+
_lastAppliedGlobalPath = applied ? globalPath : null;
|
|
480
|
+
_lastAppliedGlobalConfig = null; // updated below if a global file is loaded
|
|
481
|
+
const cached = _configCache.get(cacheKey);
|
|
482
|
+
if (cached) {
|
|
483
|
+
// Restore global config so loadConfigWithProvenance gets correct provenance on cache hits.
|
|
484
|
+
_lastAppliedGlobalConfig = _globalConfigCache.get(cacheKey) ?? null;
|
|
159
485
|
return structuredClone(cached);
|
|
486
|
+
}
|
|
487
|
+
// ── Layer 0: DEFAULTS ─────────────────────────────────────────────
|
|
488
|
+
let merged = DEFAULTS;
|
|
489
|
+
// ── Layer 1: global (if applied) ──────────────────────────────────
|
|
490
|
+
if (applied && globalPath) {
|
|
491
|
+
const userFileData = loadUserConfigFile(globalPath);
|
|
492
|
+
if (userFileData) {
|
|
493
|
+
debug(`Applying global user config from ${globalPath}`);
|
|
494
|
+
const sanitized = sanitizeUserLayer(userFileData.globalConfig);
|
|
495
|
+
// Cache the sanitized global data so pipeline.ts and loadConfigWithProvenance
|
|
496
|
+
// can use it without a second disk read (eliminates TOCTOU window).
|
|
497
|
+
_lastAppliedGlobalConfig = sanitized;
|
|
498
|
+
merged = mergeConfig(merged, sanitized);
|
|
499
|
+
merged = applyExcludeTestsShorthand(merged, sanitized);
|
|
500
|
+
}
|
|
501
|
+
}
|
|
502
|
+
// ── Layer 2: project ──────────────────────────────────────────────
|
|
160
503
|
for (const name of CONFIG_FILES) {
|
|
161
504
|
const filePath = path.join(cwd, name);
|
|
162
505
|
if (fs.existsSync(filePath)) {
|
|
163
506
|
try {
|
|
164
507
|
const raw = fs.readFileSync(filePath, 'utf-8');
|
|
165
|
-
const
|
|
166
|
-
debug(`Loaded config from ${filePath}`);
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
}
|
|
171
|
-
delete merged.excludeTests;
|
|
172
|
-
const result = resolveSecrets(applyEnvOverrides(merged));
|
|
173
|
-
_configCache.set(cwd, structuredClone(result));
|
|
174
|
-
return result;
|
|
508
|
+
const projectConfig = JSON.parse(raw);
|
|
509
|
+
debug(`Loaded project config from ${filePath}`);
|
|
510
|
+
merged = mergeConfig(merged, projectConfig);
|
|
511
|
+
merged = applyExcludeTestsShorthand(merged, projectConfig);
|
|
512
|
+
break;
|
|
175
513
|
}
|
|
176
514
|
catch (err) {
|
|
177
515
|
if (err instanceof ConfigError)
|
|
@@ -180,9 +518,11 @@ export function loadConfig(cwd) {
|
|
|
180
518
|
}
|
|
181
519
|
}
|
|
182
520
|
}
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
521
|
+
// ── Layers 3–4: env overrides + secret resolution ─────────────────
|
|
522
|
+
const result = resolveSecrets(applyEnvOverrides(merged));
|
|
523
|
+
_configCache.set(cacheKey, structuredClone(result));
|
|
524
|
+
_globalConfigCache.set(cacheKey, _lastAppliedGlobalConfig);
|
|
525
|
+
return result;
|
|
186
526
|
}
|
|
187
527
|
/**
|
|
188
528
|
* Clear the config cache. Intended for long-running processes that need to
|
|
@@ -191,6 +531,55 @@ export function loadConfig(cwd) {
|
|
|
191
531
|
*/
|
|
192
532
|
export function clearConfigCache() {
|
|
193
533
|
_configCache.clear();
|
|
534
|
+
_globalConfigCache.clear();
|
|
535
|
+
}
|
|
536
|
+
/**
|
|
537
|
+
* Load config and return it together with per-key provenance information.
|
|
538
|
+
* Used by `codegraph config --explain`.
|
|
539
|
+
*
|
|
540
|
+
* Calls loadConfig first so _lastAppliedGlobalConfig is populated, then uses
|
|
541
|
+
* that cached data for the global-layer provenance — avoiding a second disk
|
|
542
|
+
* read and eliminating the TOCTOU window between the two reads.
|
|
543
|
+
*/
|
|
544
|
+
export function loadConfigWithProvenance(cwd, opts) {
|
|
545
|
+
cwd = path.resolve(cwd || process.cwd());
|
|
546
|
+
const override = opts?.userConfig !== undefined ? opts.userConfig : _userConfigOverride;
|
|
547
|
+
const { applied, globalPath, consentDecision } = resolveConsent(cwd, override, opts?.registryPath);
|
|
548
|
+
// Load (or return from cache) the merged config first — this also populates
|
|
549
|
+
// _lastAppliedGlobalConfig with the already-parsed and sanitized global layer.
|
|
550
|
+
const config = loadConfig(cwd, opts);
|
|
551
|
+
// Build provenance by tracking which layer supplies each top-level key
|
|
552
|
+
const provenance = {};
|
|
553
|
+
// Layer 0: defaults — everything starts as 'default'
|
|
554
|
+
for (const k of Object.keys(DEFAULTS))
|
|
555
|
+
provenance[k] = 'default';
|
|
556
|
+
// Layer 1: global — reuse the data loadConfig already parsed (no second disk read)
|
|
557
|
+
const globalRaw = applied && globalPath ? _lastAppliedGlobalConfig : null;
|
|
558
|
+
if (globalRaw) {
|
|
559
|
+
for (const k of Object.keys(globalRaw))
|
|
560
|
+
provenance[k] = 'user';
|
|
561
|
+
}
|
|
562
|
+
// Layer 2: project
|
|
563
|
+
for (const name of CONFIG_FILES) {
|
|
564
|
+
const filePath = path.join(cwd, name);
|
|
565
|
+
if (fs.existsSync(filePath)) {
|
|
566
|
+
try {
|
|
567
|
+
const raw = JSON.parse(fs.readFileSync(filePath, 'utf-8'));
|
|
568
|
+
for (const k of Object.keys(raw))
|
|
569
|
+
provenance[k] = 'project';
|
|
570
|
+
break;
|
|
571
|
+
}
|
|
572
|
+
catch {
|
|
573
|
+
// ignore
|
|
574
|
+
}
|
|
575
|
+
}
|
|
576
|
+
}
|
|
577
|
+
// Layer 3+: env overrides (LLM keys)
|
|
578
|
+
const ENV_LLM_KEYS = ['CODEGRAPH_LLM_PROVIDER', 'CODEGRAPH_LLM_API_KEY', 'CODEGRAPH_LLM_MODEL'];
|
|
579
|
+
if (ENV_LLM_KEYS.some((k) => process.env[k] !== undefined)) {
|
|
580
|
+
provenance.llm = 'env';
|
|
581
|
+
}
|
|
582
|
+
return { config, provenance, appliedGlobalPath: applied ? globalPath : null, consentDecision };
|
|
194
583
|
}
|
|
195
584
|
const ENV_LLM_MAP = {
|
|
196
585
|
CODEGRAPH_LLM_PROVIDER: 'provider',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/infrastructure/config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/infrastructure/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,13 @@ import type { NativeAddon } from '../types.js';
|
|
|
9
9
|
/**
|
|
10
10
|
* Try to load the native napi addon.
|
|
11
11
|
* Returns the module on success, null on failure.
|
|
12
|
+
*
|
|
13
|
+
* Load order:
|
|
14
|
+
* 1. NAPI_RS_NATIVE_LIBRARY_PATH env var (explicit override)
|
|
15
|
+
* 2. locally compiled binary in crates/codegraph-core/ (dev mode — preferred
|
|
16
|
+
* over the npm package so that Rust changes are picked up immediately
|
|
17
|
+
* without publishing a new release)
|
|
18
|
+
* 3. npm platform package (production path)
|
|
12
19
|
*/
|
|
13
20
|
export declare function loadNative(): NativeAddon | null;
|
|
14
21
|
/**
|
|
@@ -18,6 +25,10 @@ export declare function isNativeAvailable(): boolean;
|
|
|
18
25
|
/**
|
|
19
26
|
* Read the version from the platform-specific npm package.json.
|
|
20
27
|
* Returns null if the package is not installed or has no version.
|
|
28
|
+
*
|
|
29
|
+
* Note: always reports the npm package version. When the local dev binary or
|
|
30
|
+
* NAPI_RS_NATIVE_LIBRARY_PATH is loaded instead, this version may not match
|
|
31
|
+
* the running binary.
|
|
21
32
|
*/
|
|
22
33
|
export declare function getNativePackageVersion(): string | null;
|
|
23
34
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native.d.ts","sourceRoot":"","sources":["../../src/infrastructure/native.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"native.d.ts","sourceRoot":"","sources":["../../src/infrastructure/native.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAiE/C;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,IAAI,WAAW,GAAG,IAAI,CAmE/C;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAE3C;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,IAAI,MAAM,GAAG,IAAI,CAUvD;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,WAAW,CAUvC"}
|