@optave/codegraph 3.1.4 → 3.2.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 +29 -72
- package/package.json +10 -8
- package/src/ast-analysis/engine.js +260 -246
- package/src/ast-analysis/shared.js +2 -14
- package/src/ast-analysis/visitors/cfg-visitor.js +635 -649
- package/src/ast-analysis/visitors/complexity-visitor.js +135 -139
- package/src/ast-analysis/visitors/dataflow-visitor.js +230 -224
- package/src/cli/commands/ast.js +4 -7
- package/src/cli/commands/audit.js +11 -11
- package/src/cli/commands/batch.js +6 -5
- package/src/cli/commands/branch-compare.js +1 -1
- package/src/cli/commands/brief.js +12 -0
- package/src/cli/commands/build.js +1 -1
- package/src/cli/commands/cfg.js +5 -8
- package/src/cli/commands/check.js +28 -36
- package/src/cli/commands/children.js +9 -7
- package/src/cli/commands/co-change.js +5 -3
- package/src/cli/commands/communities.js +2 -6
- package/src/cli/commands/complexity.js +5 -3
- package/src/cli/commands/context.js +9 -8
- package/src/cli/commands/cycles.js +12 -8
- package/src/cli/commands/dataflow.js +5 -8
- package/src/cli/commands/deps.js +9 -8
- package/src/cli/commands/diff-impact.js +2 -6
- package/src/cli/commands/embed.js +1 -1
- package/src/cli/commands/export.js +34 -31
- package/src/cli/commands/exports.js +2 -6
- package/src/cli/commands/flow.js +5 -8
- package/src/cli/commands/fn-impact.js +9 -8
- package/src/cli/commands/impact.js +2 -6
- package/src/cli/commands/info.js +2 -2
- package/src/cli/commands/map.js +1 -1
- package/src/cli/commands/mcp.js +1 -1
- package/src/cli/commands/models.js +1 -1
- package/src/cli/commands/owners.js +5 -3
- package/src/cli/commands/path.js +2 -2
- package/src/cli/commands/plot.js +40 -31
- package/src/cli/commands/query.js +9 -8
- package/src/cli/commands/registry.js +2 -2
- package/src/cli/commands/roles.js +5 -8
- package/src/cli/commands/search.js +9 -3
- package/src/cli/commands/sequence.js +5 -8
- package/src/cli/commands/snapshot.js +6 -1
- package/src/cli/commands/stats.js +1 -1
- package/src/cli/commands/structure.js +5 -4
- package/src/cli/commands/triage.js +41 -30
- package/src/cli/commands/watch.js +1 -1
- package/src/cli/commands/where.js +2 -6
- package/src/cli/index.js +11 -5
- package/src/cli/shared/open-graph.js +13 -0
- package/src/cli/shared/options.js +22 -2
- package/src/cli.js +1 -1
- package/src/db/connection.js +140 -11
- package/src/{db.js → db/index.js} +12 -5
- package/src/db/migrations.js +42 -65
- package/src/db/query-builder.js +72 -9
- package/src/db/repository/base.js +1 -1
- package/src/db/repository/graph-read.js +3 -3
- package/src/db/repository/in-memory-repository.js +30 -28
- package/src/db/repository/nodes.js +10 -17
- package/src/domain/analysis/brief.js +155 -0
- package/src/domain/analysis/context.js +392 -0
- package/src/domain/analysis/dependencies.js +395 -0
- package/src/{analysis → domain/analysis}/exports.js +11 -6
- package/src/domain/analysis/impact.js +581 -0
- package/src/domain/analysis/module-map.js +348 -0
- package/src/{analysis → domain/analysis}/roles.js +12 -9
- package/src/{analysis → domain/analysis}/symbol-lookup.js +19 -11
- package/src/{builder → domain/graph/builder}/helpers.js +4 -4
- package/src/{builder → domain/graph/builder}/incremental.js +119 -93
- package/src/domain/graph/builder/pipeline.js +156 -0
- package/src/domain/graph/builder/stages/build-edges.js +376 -0
- package/src/{builder → domain/graph/builder}/stages/build-structure.js +4 -4
- package/src/{builder → domain/graph/builder}/stages/collect-files.js +2 -2
- package/src/{builder → domain/graph/builder}/stages/detect-changes.js +204 -183
- package/src/{builder → domain/graph/builder}/stages/finalize.js +4 -4
- package/src/domain/graph/builder/stages/insert-nodes.js +203 -0
- package/src/{builder → domain/graph/builder}/stages/parse-files.js +2 -2
- package/src/{builder → domain/graph/builder}/stages/resolve-imports.js +1 -1
- package/src/{builder → domain/graph/builder}/stages/run-analyses.js +2 -2
- package/src/{change-journal.js → domain/graph/change-journal.js} +1 -1
- package/src/{cycles.js → domain/graph/cycles.js} +4 -4
- package/src/{journal.js → domain/graph/journal.js} +1 -1
- package/src/{resolve.js → domain/graph/resolve.js} +2 -2
- package/src/{watcher.js → domain/graph/watcher.js} +7 -7
- package/src/{parser.js → domain/parser.js} +24 -15
- package/src/{queries.js → domain/queries.js} +17 -16
- package/src/{embeddings → domain/search}/generator.js +3 -3
- package/src/{embeddings → domain/search}/models.js +2 -2
- package/src/{embeddings → domain/search}/search/cli-formatter.js +1 -1
- package/src/{embeddings → domain/search}/search/filters.js +9 -5
- package/src/{embeddings → domain/search}/search/hybrid.js +1 -1
- package/src/{embeddings → domain/search}/search/keyword.js +13 -6
- package/src/{embeddings → domain/search}/search/prepare.js +15 -7
- package/src/{embeddings → domain/search}/search/semantic.js +1 -1
- package/src/{embeddings → domain/search}/strategies/structured.js +1 -1
- package/src/extractors/csharp.js +224 -207
- package/src/extractors/go.js +176 -172
- package/src/extractors/hcl.js +94 -78
- package/src/extractors/java.js +213 -207
- package/src/extractors/javascript.js +275 -305
- package/src/extractors/php.js +234 -221
- package/src/extractors/python.js +252 -250
- package/src/extractors/ruby.js +192 -185
- package/src/extractors/rust.js +182 -167
- package/src/{ast.js → features/ast.js} +13 -11
- package/src/{audit.js → features/audit.js} +20 -46
- package/src/{batch.js → features/batch.js} +5 -5
- package/src/{boundaries.js → features/boundaries.js} +100 -85
- package/src/{branch-compare.js → features/branch-compare.js} +3 -3
- package/src/{cfg.js → features/cfg.js} +141 -150
- package/src/{check.js → features/check.js} +13 -30
- package/src/{cochange.js → features/cochange.js} +5 -5
- package/src/{communities.js → features/communities.js} +72 -57
- package/src/{complexity.js → features/complexity.js} +154 -143
- package/src/{dataflow.js → features/dataflow.js} +155 -158
- package/src/{export.js → features/export.js} +6 -6
- package/src/{flow.js → features/flow.js} +4 -4
- package/src/{viewer.js → features/graph-enrichment.js} +8 -8
- package/src/{manifesto.js → features/manifesto.js} +15 -12
- package/src/{owners.js → features/owners.js} +6 -5
- package/src/features/sequence.js +300 -0
- package/src/features/shared/find-nodes.js +31 -0
- package/src/{snapshot.js → features/snapshot.js} +3 -3
- package/src/{structure.js → features/structure.js} +139 -108
- package/src/features/triage.js +141 -0
- package/src/graph/builders/dependency.js +33 -14
- package/src/graph/classifiers/risk.js +3 -2
- package/src/graph/classifiers/roles.js +6 -3
- package/src/index.cjs +16 -0
- package/src/index.js +40 -39
- package/src/{native.js → infrastructure/native.js} +1 -1
- package/src/mcp/middleware.js +1 -1
- package/src/mcp/server.js +68 -59
- package/src/mcp/tool-registry.js +15 -2
- package/src/mcp/tools/ast-query.js +1 -1
- package/src/mcp/tools/audit.js +1 -1
- package/src/mcp/tools/batch-query.js +1 -1
- package/src/mcp/tools/branch-compare.js +3 -1
- package/src/mcp/tools/brief.js +8 -0
- package/src/mcp/tools/cfg.js +1 -1
- package/src/mcp/tools/check.js +3 -3
- package/src/mcp/tools/co-changes.js +1 -1
- package/src/mcp/tools/code-owners.js +1 -1
- package/src/mcp/tools/communities.js +1 -1
- package/src/mcp/tools/complexity.js +1 -1
- package/src/mcp/tools/dataflow.js +2 -2
- package/src/mcp/tools/execution-flow.js +2 -2
- package/src/mcp/tools/export-graph.js +2 -2
- package/src/mcp/tools/find-cycles.js +2 -2
- package/src/mcp/tools/index.js +2 -0
- package/src/mcp/tools/list-repos.js +1 -1
- package/src/mcp/tools/sequence.js +1 -1
- package/src/mcp/tools/structure.js +1 -1
- package/src/mcp/tools/triage.js +2 -2
- package/src/{commands → presentation}/audit.js +2 -2
- package/src/{commands → presentation}/batch.js +1 -1
- package/src/{commands → presentation}/branch-compare.js +2 -2
- package/src/presentation/brief.js +51 -0
- package/src/{commands → presentation}/cfg.js +1 -1
- package/src/{commands → presentation}/check.js +2 -2
- package/src/{commands → presentation}/communities.js +1 -1
- package/src/{commands → presentation}/complexity.js +1 -1
- package/src/{commands → presentation}/dataflow.js +1 -1
- package/src/{commands → presentation}/flow.js +2 -2
- package/src/{commands → presentation}/manifesto.js +1 -1
- package/src/{commands → presentation}/owners.js +1 -1
- package/src/presentation/queries-cli/exports.js +53 -0
- package/src/presentation/queries-cli/impact.js +214 -0
- package/src/presentation/queries-cli/index.js +5 -0
- package/src/presentation/queries-cli/inspect.js +329 -0
- package/src/presentation/queries-cli/overview.js +196 -0
- package/src/presentation/queries-cli/path.js +65 -0
- package/src/presentation/queries-cli.js +27 -0
- package/src/{commands → presentation}/query.js +1 -1
- package/src/presentation/result-formatter.js +126 -3
- package/src/{commands → presentation}/sequence.js +2 -2
- package/src/{commands → presentation}/structure.js +1 -1
- package/src/presentation/table.js +0 -8
- package/src/{commands → presentation}/triage.js +1 -1
- package/src/{constants.js → shared/constants.js} +1 -1
- package/src/shared/file-utils.js +2 -2
- package/src/shared/generators.js +9 -5
- package/src/shared/hierarchy.js +1 -1
- package/src/{kinds.js → shared/kinds.js} +1 -1
- package/src/analysis/context.js +0 -408
- package/src/analysis/dependencies.js +0 -341
- package/src/analysis/impact.js +0 -463
- package/src/analysis/module-map.js +0 -322
- package/src/builder/pipeline.js +0 -130
- package/src/builder/stages/build-edges.js +0 -297
- package/src/builder/stages/insert-nodes.js +0 -195
- package/src/mcp.js +0 -2
- package/src/queries-cli.js +0 -866
- package/src/sequence.js +0 -289
- package/src/triage.js +0 -126
- /package/src/{builder → domain/graph/builder}/context.js +0 -0
- /package/src/{builder.js → domain/graph/builder.js} +0 -0
- /package/src/{embeddings → domain/search}/index.js +0 -0
- /package/src/{embeddings → domain/search}/stores/fts5.js +0 -0
- /package/src/{embeddings → domain/search}/stores/sqlite-blob.js +0 -0
- /package/src/{embeddings → domain/search}/strategies/source.js +0 -0
- /package/src/{embeddings → domain/search}/strategies/text-utils.js +0 -0
- /package/src/{config.js → infrastructure/config.js} +0 -0
- /package/src/{logger.js → infrastructure/logger.js} +0 -0
- /package/src/{registry.js → infrastructure/registry.js} +0 -0
- /package/src/{update-check.js → infrastructure/update-check.js} +0 -0
- /package/src/{commands → presentation}/cochange.js +0 -0
- /package/src/{errors.js → shared/errors.js} +0 -0
- /package/src/{paginate.js → shared/paginate.js} +0 -0
package/README.md
CHANGED
|
@@ -141,7 +141,7 @@ That's it. The graph is ready. Now connect your AI agent.
|
|
|
141
141
|
Connect directly via MCP — your agent gets 30 tools to query the graph:
|
|
142
142
|
|
|
143
143
|
```bash
|
|
144
|
-
codegraph mcp #
|
|
144
|
+
codegraph mcp # 33-tool MCP server — AI queries the graph directly
|
|
145
145
|
```
|
|
146
146
|
|
|
147
147
|
Or add codegraph to your agent's instructions (e.g. `CLAUDE.md`):
|
|
@@ -183,7 +183,7 @@ cd codegraph && npm install && npm link
|
|
|
183
183
|
|
|
184
184
|
| | Feature | Description |
|
|
185
185
|
|---|---|---|
|
|
186
|
-
| 🤖 | **MCP server** |
|
|
186
|
+
| 🤖 | **MCP server** | 33-tool MCP server for AI assistants; single-repo by default, opt-in multi-repo |
|
|
187
187
|
| 🎯 | **Deep context** | `context` gives agents source, deps, callers, signature, and tests for a function in one call; `audit --quick` gives structural summaries |
|
|
188
188
|
| 🏷️ | **Node role classification** | Every symbol auto-tagged as `entry`/`core`/`utility`/`adapter`/`dead`/`leaf` based on connectivity — agents instantly know architectural role |
|
|
189
189
|
| 📦 | **Batch querying** | Accept a list of targets and return all results in one JSON payload — enables multi-agent parallel dispatch |
|
|
@@ -258,6 +258,7 @@ codegraph children <name> # List parameters, properties, constants of a
|
|
|
258
258
|
```bash
|
|
259
259
|
codegraph context <name> # Full context: source, deps, callers, signature, tests
|
|
260
260
|
codegraph context <name> --depth 2 --no-tests # Include callee source 2 levels deep
|
|
261
|
+
codegraph brief <file> # Token-efficient file summary: symbols, roles, risk tiers
|
|
261
262
|
codegraph audit <file> --quick # Structural summary: public API, internals, data flow
|
|
262
263
|
codegraph audit <function> --quick # Function summary: signature, calls, callers, tests
|
|
263
264
|
```
|
|
@@ -477,6 +478,8 @@ codegraph registry remove <name> # Unregister
|
|
|
477
478
|
| `-f, --file <path>` | Scope to a specific file (`fn`, `context`, `where`) |
|
|
478
479
|
| `--mode <mode>` | Search mode: `hybrid` (default), `semantic`, or `keyword` (`search`) |
|
|
479
480
|
| `--ndjson` | Output as newline-delimited JSON (one object per line) |
|
|
481
|
+
| `--table` | Output as auto-column aligned table |
|
|
482
|
+
| `--csv` | Output as CSV (RFC 4180, nested objects flattened) |
|
|
480
483
|
| `--limit <n>` | Limit number of results |
|
|
481
484
|
| `--offset <n>` | Skip first N results (pagination) |
|
|
482
485
|
| `--rrf-k <n>` | RRF smoothing constant for multi-query search (default 60) |
|
|
@@ -560,14 +563,14 @@ Self-measured on every release via CI ([build benchmarks](generated/benchmarks/B
|
|
|
560
563
|
|
|
561
564
|
| Metric | Latest |
|
|
562
565
|
|---|---|
|
|
563
|
-
| Build speed (native) | **5
|
|
564
|
-
| Build speed (WASM) | **
|
|
565
|
-
| Query time | **
|
|
566
|
-
| No-op rebuild (native) | **
|
|
567
|
-
| 1-file rebuild (native) | **
|
|
566
|
+
| Build speed (native) | **3.5 ms/file** |
|
|
567
|
+
| Build speed (WASM) | **9.6 ms/file** |
|
|
568
|
+
| Query time | **3ms** |
|
|
569
|
+
| No-op rebuild (native) | **9ms** |
|
|
570
|
+
| 1-file rebuild (native) | **265ms** |
|
|
568
571
|
| Query: fn-deps | **0.9ms** |
|
|
569
|
-
| Query: path | **0.
|
|
570
|
-
| ~50,000 files (est.) | **~
|
|
572
|
+
| Query: path | **0.9ms** |
|
|
573
|
+
| ~50,000 files (est.) | **~175.0s build** |
|
|
571
574
|
|
|
572
575
|
Metrics are normalized per file for cross-version comparability. Times above are for a full initial build — incremental rebuilds only re-parse changed files.
|
|
573
576
|
|
|
@@ -603,16 +606,16 @@ codegraph mcp --repos a,b # Restrict to specific repos (implies --multi-rep
|
|
|
603
606
|
|
|
604
607
|
### CLAUDE.md / Agent Instructions
|
|
605
608
|
|
|
606
|
-
Add this to your project's `CLAUDE.md` to help AI agents use codegraph
|
|
609
|
+
Add this to your project's `CLAUDE.md` to help AI agents use codegraph. Full template with all commands in the [AI Agent Guide](docs/guides/ai-agent-guide.md#claudemd-template).
|
|
607
610
|
|
|
608
611
|
```markdown
|
|
609
|
-
##
|
|
612
|
+
## Codegraph
|
|
610
613
|
|
|
611
|
-
This project uses codegraph. The
|
|
614
|
+
This project uses codegraph for dependency analysis. The graph is at `.codegraph/graph.db`.
|
|
612
615
|
|
|
613
|
-
### Before modifying code
|
|
616
|
+
### Before modifying code:
|
|
614
617
|
1. `codegraph where <name>` — find where the symbol lives
|
|
615
|
-
2. `codegraph audit
|
|
618
|
+
2. `codegraph audit --quick <target>` — understand the structure
|
|
616
619
|
3. `codegraph context <name> -T` — get full context (source, deps, callers)
|
|
617
620
|
4. `codegraph fn-impact <name> -T` — check blast radius before editing
|
|
618
621
|
|
|
@@ -620,65 +623,19 @@ This project uses codegraph. The database is at `.codegraph/graph.db`.
|
|
|
620
623
|
5. `codegraph diff-impact --staged -T` — verify impact before committing
|
|
621
624
|
|
|
622
625
|
### Other useful commands
|
|
623
|
-
- `codegraph build .` — rebuild
|
|
624
|
-
- `codegraph map` — module overview
|
|
625
|
-
- `codegraph query <name> -T` —
|
|
626
|
-
- `codegraph
|
|
627
|
-
- `codegraph
|
|
628
|
-
- `codegraph
|
|
629
|
-
- `codegraph
|
|
630
|
-
- `codegraph
|
|
631
|
-
- `codegraph
|
|
632
|
-
- `codegraph communities --drift -T` — module boundary drift analysis
|
|
633
|
-
- `codegraph check -T` — pass/fail rule check (CI gate, exit code 1 on fail)
|
|
634
|
-
- `codegraph audit <target> -T` — combined structural summary + impact + health in one report
|
|
635
|
-
- `codegraph triage -T` — ranked audit priority queue
|
|
636
|
-
- `codegraph triage --level file -T` — file-level hotspot analysis
|
|
637
|
-
- `codegraph check --staged` — CI validation predicates (exit code 0/1)
|
|
638
|
-
- `codegraph batch target1 target2` — batch query multiple targets at once
|
|
639
|
-
- `codegraph owners [target]` — CODEOWNERS mapping for symbols
|
|
640
|
-
- `codegraph snapshot save <name>` — checkpoint the graph DB before refactoring
|
|
641
|
-
- `codegraph branch-compare main HEAD -T` — structural diff between two refs (added/removed/changed symbols)
|
|
642
|
-
- `codegraph exports <file>` — per-symbol consumer analysis (who calls each export)
|
|
643
|
-
- `codegraph children <name>` — list parameters, properties, constants of a symbol
|
|
644
|
-
- `codegraph dataflow <name>` — data flow edges (flows_to, returns, mutates)
|
|
645
|
-
- `codegraph cfg <name>` — intraprocedural control flow graph
|
|
646
|
-
- `codegraph ast <pattern>` — search stored AST nodes (calls, new, string, regex, throw, await)
|
|
647
|
-
- `codegraph plot` — interactive HTML dependency graph viewer
|
|
648
|
-
- `codegraph search "<query>"` — hybrid search (requires `codegraph embed`)
|
|
649
|
-
- `codegraph search "<query>" --mode keyword` — BM25 keyword search
|
|
650
|
-
- `codegraph cycles` — check for circular dependencies
|
|
626
|
+
- `codegraph build .` — rebuild graph (incremental by default)
|
|
627
|
+
- `codegraph map` — module overview · `codegraph stats` — graph health
|
|
628
|
+
- `codegraph query <name> -T` — call chain · `codegraph path <from> <to> -T` — shortest path
|
|
629
|
+
- `codegraph deps <file>` — file deps · `codegraph exports <file> -T` — export consumers
|
|
630
|
+
- `codegraph audit <target> -T` — full risk report · `codegraph triage -T` — priority queue
|
|
631
|
+
- `codegraph check --staged` — CI gate · `codegraph batch t1 t2 -T --json` — batch query
|
|
632
|
+
- `codegraph search "<query>"` — semantic search · `codegraph cycles` — cycle detection
|
|
633
|
+
- `codegraph roles --role dead -T` — dead code · `codegraph complexity -T` — metrics
|
|
634
|
+
- `codegraph dataflow <name> -T` — data flow · `codegraph cfg <name> -T` — control flow
|
|
651
635
|
|
|
652
636
|
### Flags
|
|
653
|
-
- `-T`
|
|
654
|
-
- `-
|
|
655
|
-
- `-f, --file <path>` — scope to a specific file
|
|
656
|
-
- `-k, --kind <kind>` — filter by symbol kind
|
|
657
|
-
|
|
658
|
-
### Semantic search
|
|
659
|
-
|
|
660
|
-
Use `codegraph search` to find functions by intent rather than exact name.
|
|
661
|
-
When a single query might miss results, combine multiple angles with `;`:
|
|
662
|
-
|
|
663
|
-
codegraph search "validate auth; check token; verify JWT"
|
|
664
|
-
codegraph search "parse config; load settings" --kind function
|
|
665
|
-
|
|
666
|
-
Multi-query search uses Reciprocal Rank Fusion — functions that rank
|
|
667
|
-
highly across several queries surface first. This is especially useful
|
|
668
|
-
when you're not sure what naming convention the codebase uses.
|
|
669
|
-
|
|
670
|
-
When writing multi-queries, use 2-4 sub-queries (2-4 words each) that
|
|
671
|
-
attack the problem from different angles. Pick from these strategies:
|
|
672
|
-
- **Naming variants**: cover synonyms the author might have used
|
|
673
|
-
("send email; notify user; deliver message")
|
|
674
|
-
- **Abstraction levels**: pair high-level intent with low-level operation
|
|
675
|
-
("handle payment; charge credit card")
|
|
676
|
-
- **Input/output sides**: cover the read half and write half
|
|
677
|
-
("parse config; apply settings")
|
|
678
|
-
- **Domain + technical**: bridge business language and implementation
|
|
679
|
-
("onboard tenant; create organization; provision workspace")
|
|
680
|
-
|
|
681
|
-
Use `--kind function` to cut noise. Use `--file <pattern>` to scope.
|
|
637
|
+
- `-T` — exclude test files (use by default) · `-j` — JSON output
|
|
638
|
+
- `-f, --file <path>` — scope to file · `-k, --kind <kind>` — filter kind
|
|
682
639
|
```
|
|
683
640
|
|
|
684
641
|
## 📋 Recommended Practices
|
|
@@ -821,7 +778,7 @@ See **[ROADMAP.md](docs/roadmap/ROADMAP.md)** for the full development roadmap a
|
|
|
821
778
|
1. ~~**Rust Core**~~ — **Complete** (v1.3.0) — native tree-sitter parsing via napi-rs, parallel multi-core parsing, incremental re-parsing, import resolution & cycle detection in Rust
|
|
822
779
|
2. ~~**Foundation Hardening**~~ — **Complete** (v1.4.0) — parser registry, 12-tool MCP server with multi-repo support, test coverage 62%→75%, `apiKeyCommand` secret resolution, global repo registry
|
|
823
780
|
3. ~~**Deep Analysis**~~ — **Complete** (v3.0.0) — dataflow analysis (flows_to, returns, mutates), intraprocedural CFG for all 11 languages, stored AST nodes, expanded node/edge types (parameter, property, constant, contains, parameter_of, receiver), GraphML/GraphSON/Neo4j CSV export, interactive HTML viewer, CLI consolidation, stable JSON schema
|
|
824
|
-
4.
|
|
781
|
+
4. ~~**Architectural Refactoring**~~ — **Complete** (v3.1.5) — unified AST analysis, composable MCP, domain errors, builder pipeline, embedder subsystem, graph model, qualified names, presentation layer, InMemoryRepository, domain directory grouping, CLI composability
|
|
825
782
|
5. **Natural Language Queries** — `codegraph ask` command, conversational sessions
|
|
826
783
|
6. **Expanded Language Support** — 8 new languages (12 → 20)
|
|
827
784
|
7. **GitHub Integration & CI** — reusable GitHub Action, PR review, SARIF output
|
package/package.json
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@optave/codegraph",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.2.0",
|
|
4
4
|
"description": "Local code graph CLI — parse codebases with tree-sitter, build dependency graphs, query them",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "src/index.js",
|
|
7
7
|
"exports": {
|
|
8
8
|
".": {
|
|
9
|
-
"import": "./src/index.js"
|
|
9
|
+
"import": "./src/index.js",
|
|
10
|
+
"require": "./src/index.cjs",
|
|
11
|
+
"default": "./src/index.cjs"
|
|
10
12
|
},
|
|
11
13
|
"./cli": {
|
|
12
14
|
"import": "./src/cli.js"
|
|
@@ -74,12 +76,12 @@
|
|
|
74
76
|
},
|
|
75
77
|
"optionalDependencies": {
|
|
76
78
|
"@modelcontextprotocol/sdk": "^1.0.0",
|
|
77
|
-
"@optave/codegraph-darwin-arm64": "3.
|
|
78
|
-
"@optave/codegraph-darwin-x64": "3.
|
|
79
|
-
"@optave/codegraph-linux-arm64-gnu": "3.
|
|
80
|
-
"@optave/codegraph-linux-x64-gnu": "3.
|
|
81
|
-
"@optave/codegraph-linux-x64-musl": "3.
|
|
82
|
-
"@optave/codegraph-win32-x64-msvc": "3.
|
|
79
|
+
"@optave/codegraph-darwin-arm64": "3.2.0",
|
|
80
|
+
"@optave/codegraph-darwin-x64": "3.2.0",
|
|
81
|
+
"@optave/codegraph-linux-arm64-gnu": "3.2.0",
|
|
82
|
+
"@optave/codegraph-linux-x64-gnu": "3.2.0",
|
|
83
|
+
"@optave/codegraph-linux-x64-musl": "3.2.0",
|
|
84
|
+
"@optave/codegraph-win32-x64-msvc": "3.2.0"
|
|
83
85
|
},
|
|
84
86
|
"devDependencies": {
|
|
85
87
|
"@biomejs/biome": "^2.4.4",
|