kiri-mcp-server 0.16.1 → 0.18.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 +65 -22
- package/dist/package.json +4 -2
- package/dist/src/client/proxy.js +0 -0
- package/dist/src/daemon/daemon.js +0 -0
- package/dist/src/indexer/codeintel/dart/adapter.d.ts +36 -0
- package/dist/src/indexer/codeintel/dart/adapter.d.ts.map +1 -0
- package/dist/src/indexer/codeintel/dart/adapter.js +60 -0
- package/dist/src/indexer/codeintel/dart/adapter.js.map +1 -0
- package/dist/src/indexer/codeintel/dart/index.d.ts +7 -0
- package/dist/src/indexer/codeintel/dart/index.d.ts.map +1 -0
- package/dist/src/indexer/codeintel/dart/index.js +7 -0
- package/dist/src/indexer/codeintel/dart/index.js.map +1 -0
- package/dist/src/indexer/codeintel/index.d.ts +30 -0
- package/dist/src/indexer/codeintel/index.d.ts.map +1 -0
- package/dist/src/indexer/codeintel/index.js +32 -0
- package/dist/src/indexer/codeintel/index.js.map +1 -0
- package/dist/src/indexer/codeintel/java/analyzer.d.ts +22 -0
- package/dist/src/indexer/codeintel/java/analyzer.d.ts.map +1 -0
- package/dist/src/indexer/codeintel/java/analyzer.js +281 -0
- package/dist/src/indexer/codeintel/java/analyzer.js.map +1 -0
- package/dist/src/indexer/codeintel/java/index.d.ts +7 -0
- package/dist/src/indexer/codeintel/java/index.d.ts.map +1 -0
- package/dist/src/indexer/codeintel/java/index.js +7 -0
- package/dist/src/indexer/codeintel/java/index.js.map +1 -0
- package/dist/src/indexer/codeintel/php/analyzer.d.ts +23 -0
- package/dist/src/indexer/codeintel/php/analyzer.d.ts.map +1 -0
- package/dist/src/indexer/codeintel/php/analyzer.js +342 -0
- package/dist/src/indexer/codeintel/php/analyzer.js.map +1 -0
- package/dist/src/indexer/codeintel/php/index.d.ts +7 -0
- package/dist/src/indexer/codeintel/php/index.d.ts.map +1 -0
- package/dist/src/indexer/codeintel/php/index.js +7 -0
- package/dist/src/indexer/codeintel/php/index.js.map +1 -0
- package/dist/src/indexer/codeintel/registry.d.ts +76 -0
- package/dist/src/indexer/codeintel/registry.d.ts.map +1 -0
- package/dist/src/indexer/codeintel/registry.js +127 -0
- package/dist/src/indexer/codeintel/registry.js.map +1 -0
- package/dist/src/indexer/codeintel/rust/analyzer.d.ts +14 -0
- package/dist/src/indexer/codeintel/rust/analyzer.d.ts.map +1 -0
- package/dist/src/indexer/codeintel/rust/analyzer.js +388 -0
- package/dist/src/indexer/codeintel/rust/analyzer.js.map +1 -0
- package/dist/src/indexer/codeintel/rust/index.d.ts +5 -0
- package/dist/src/indexer/codeintel/rust/index.d.ts.map +1 -0
- package/dist/src/indexer/codeintel/rust/index.js +5 -0
- package/dist/src/indexer/codeintel/rust/index.js.map +1 -0
- package/dist/src/indexer/codeintel/swift/analyzer.d.ts +22 -0
- package/dist/src/indexer/codeintel/swift/analyzer.d.ts.map +1 -0
- package/dist/src/indexer/codeintel/swift/analyzer.js +271 -0
- package/dist/src/indexer/codeintel/swift/analyzer.js.map +1 -0
- package/dist/src/indexer/codeintel/swift/index.d.ts +7 -0
- package/dist/src/indexer/codeintel/swift/index.d.ts.map +1 -0
- package/dist/src/indexer/codeintel/swift/index.js +7 -0
- package/dist/src/indexer/codeintel/swift/index.js.map +1 -0
- package/dist/src/indexer/codeintel/types.d.ts +114 -0
- package/dist/src/indexer/codeintel/types.d.ts.map +1 -0
- package/dist/src/indexer/codeintel/types.js +13 -0
- package/dist/src/indexer/codeintel/types.js.map +1 -0
- package/dist/src/indexer/codeintel/typescript/analyzer.d.ts +22 -0
- package/dist/src/indexer/codeintel/typescript/analyzer.d.ts.map +1 -0
- package/dist/{indexer/codeintel.js → src/indexer/codeintel/typescript/analyzer.js} +62 -34
- package/dist/src/indexer/codeintel/typescript/analyzer.js.map +1 -0
- package/dist/src/indexer/codeintel/typescript/index.d.ts +7 -0
- package/dist/src/indexer/codeintel/typescript/index.d.ts.map +1 -0
- package/dist/src/indexer/codeintel/typescript/index.js +7 -0
- package/dist/src/indexer/codeintel/typescript/index.js.map +1 -0
- package/dist/src/indexer/codeintel/utils.d.ts +91 -0
- package/dist/src/indexer/codeintel/utils.d.ts.map +1 -0
- package/dist/src/indexer/codeintel/utils.js +145 -0
- package/dist/src/indexer/codeintel/utils.js.map +1 -0
- package/dist/src/indexer/codeintel.d.ts +33 -26
- package/dist/src/indexer/codeintel.d.ts.map +1 -1
- package/dist/src/indexer/codeintel.js +56 -1078
- package/dist/src/indexer/codeintel.js.map +1 -1
- package/dist/src/indexer/graph-metrics.d.ts.map +1 -1
- package/dist/src/indexer/graph-metrics.js +16 -4
- package/dist/src/indexer/graph-metrics.js.map +1 -1
- package/dist/src/server/boost-profiles.d.ts +1 -1
- package/dist/src/server/boost-profiles.d.ts.map +1 -1
- package/dist/src/server/boost-profiles.js +22 -0
- package/dist/src/server/boost-profiles.js.map +1 -1
- package/dist/src/server/main.js +0 -0
- package/dist/src/server/rpc.js +4 -4
- package/dist/src/server/rpc.js.map +1 -1
- package/package.json +10 -2
- package/dist/client/cli.js +0 -68
- package/dist/client/cli.js.map +0 -1
- package/dist/client/index.js +0 -5
- package/dist/client/index.js.map +0 -1
- package/dist/eval/metrics.js +0 -47
- package/dist/eval/metrics.js.map +0 -1
- package/dist/indexer/cli.js +0 -362
- package/dist/indexer/cli.js.map +0 -1
- package/dist/indexer/codeintel.js.map +0 -1
- package/dist/indexer/git.js +0 -30
- package/dist/indexer/git.js.map +0 -1
- package/dist/indexer/language.js +0 -34
- package/dist/indexer/language.js.map +0 -1
- package/dist/indexer/pipeline/filters/denylist.js +0 -71
- package/dist/indexer/pipeline/filters/denylist.js.map +0 -1
- package/dist/indexer/schema.js +0 -101
- package/dist/indexer/schema.js.map +0 -1
- package/dist/server/bootstrap.js +0 -19
- package/dist/server/bootstrap.js.map +0 -1
- package/dist/server/context.js +0 -1
- package/dist/server/context.js.map +0 -1
- package/dist/server/fallbacks/degradeController.js +0 -69
- package/dist/server/fallbacks/degradeController.js.map +0 -1
- package/dist/server/handlers.js +0 -1268
- package/dist/server/handlers.js.map +0 -1
- package/dist/server/main.js +0 -151
- package/dist/server/main.js.map +0 -1
- package/dist/server/observability/metrics.js +0 -56
- package/dist/server/observability/metrics.js.map +0 -1
- package/dist/server/observability/tracing.js +0 -58
- package/dist/server/observability/tracing.js.map +0 -1
- package/dist/server/rpc.js +0 -477
- package/dist/server/rpc.js.map +0 -1
- package/dist/server/runtime.js +0 -47
- package/dist/server/runtime.js.map +0 -1
- package/dist/server/scoring.js +0 -116
- package/dist/server/scoring.js.map +0 -1
- package/dist/server/stdio.js +0 -76
- package/dist/server/stdio.js.map +0 -1
- package/dist/shared/duckdb.js +0 -119
- package/dist/shared/duckdb.js.map +0 -1
- package/dist/shared/embedding.js +0 -98
- package/dist/shared/embedding.js.map +0 -1
- package/dist/shared/index.js +0 -9
- package/dist/shared/index.js.map +0 -1
- package/dist/shared/security/config.js +0 -64
- package/dist/shared/security/config.js.map +0 -1
- package/dist/shared/security/masker.js +0 -56
- package/dist/shared/security/masker.js.map +0 -1
- package/dist/shared/tokenizer.js +0 -4
- package/dist/shared/tokenizer.js.map +0 -1
- package/dist/shared/utils/simpleYaml.js +0 -89
- package/dist/shared/utils/simpleYaml.js.map +0 -1
- package/dist/src/server/rrf.d.ts +0 -86
- package/dist/src/server/rrf.d.ts.map +0 -1
- package/dist/src/server/rrf.js +0 -108
- package/dist/src/server/rrf.js.map +0 -1
- package/dist/src/shared/embedding/engine.d.ts +0 -38
- package/dist/src/shared/embedding/engine.d.ts.map +0 -1
- package/dist/src/shared/embedding/engine.js +0 -6
- package/dist/src/shared/embedding/engine.js.map +0 -1
- package/dist/src/shared/embedding/lsh-engine.d.ts +0 -11
- package/dist/src/shared/embedding/lsh-engine.d.ts.map +0 -1
- package/dist/src/shared/embedding/lsh-engine.js +0 -14
- package/dist/src/shared/embedding/lsh-engine.js.map +0 -1
- package/dist/src/shared/embedding/registry.d.ts +0 -25
- package/dist/src/shared/embedding/registry.d.ts.map +0 -1
- package/dist/src/shared/embedding/registry.js +0 -50
- package/dist/src/shared/embedding/registry.js.map +0 -1
- package/dist/src/shared/embedding/semantic-engine.d.ts +0 -14
- package/dist/src/shared/embedding/semantic-engine.d.ts.map +0 -1
- package/dist/src/shared/embedding/semantic-engine.js +0 -50
- package/dist/src/shared/embedding/semantic-engine.js.map +0 -1
- package/dist/src/shared/models/model-manager.d.ts +0 -38
- package/dist/src/shared/models/model-manager.d.ts.map +0 -1
- package/dist/src/shared/models/model-manager.js +0 -116
- package/dist/src/shared/models/model-manager.js.map +0 -1
- package/dist/src/shared/models/model-manifest.d.ts +0 -22
- package/dist/src/shared/models/model-manifest.d.ts.map +0 -1
- package/dist/src/shared/models/model-manifest.js +0 -24
- package/dist/src/shared/models/model-manifest.js.map +0 -1
package/README.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
> Intelligent code context extraction for LLMs via Model Context Protocol
|
|
4
4
|
|
|
5
|
-
[](package.json)
|
|
6
6
|
[](LICENSE)
|
|
7
7
|
[](https://www.typescriptlang.org/)
|
|
8
8
|
[](https://modelcontextprotocol.io/)
|
|
@@ -20,16 +20,26 @@
|
|
|
20
20
|
- **📝 Phrase-Aware**: Recognizes compound terms (kebab-case, snake_case) for precise matching
|
|
21
21
|
- **🔒 Concurrency-Safe** _(v0.9.7+)_: Per-database queues, canonicalized DuckDB paths, and bootstrap-safe locking prevent FTS rebuild conflicts and keep locks consistent across symlinks—even on first run
|
|
22
22
|
|
|
23
|
-
## 🆕 What's New in v0.
|
|
23
|
+
## 🆕 What's New in v0.18.0
|
|
24
|
+
|
|
25
|
+
### ✨ New Features
|
|
26
|
+
|
|
27
|
+
- **Rust code intelligence**: tree-sitter-rust based analyzer extracts symbols/snippets (struct/enum/trait/impl/fn/mod/const/static/type/macro) and resolves imports, module files, and extern crates for dependency graph integration
|
|
28
|
+
- **shirushi document ID management**: Document ID uniqueness validation and management via shirushi linting
|
|
29
|
+
|
|
30
|
+
### 🔧 Improvements
|
|
31
|
+
|
|
32
|
+
- **Clean Architecture refactoring**: Reorganized language analyzers using Clean Architecture for improved extensibility and maintainability
|
|
24
33
|
|
|
25
34
|
### 🐛 Bug Fixes
|
|
26
35
|
|
|
27
|
-
- **
|
|
28
|
-
|
|
29
|
-
- Scoring functions skip gracefully with warning logs when tables are unavailable
|
|
36
|
+
- **Rust imports resolution**: Fixed resolution of Rust imports ending with items
|
|
37
|
+
- **Build cleanup**: Clean dist directory before build to prevent stale files from persisting
|
|
30
38
|
|
|
31
39
|
### Previous Releases
|
|
32
40
|
|
|
41
|
+
- **v0.17.0**: `code` boost_profile, graph metrics retry logic
|
|
42
|
+
- **v0.16.1**: Graceful degradation for graph layer tables
|
|
33
43
|
- **v0.16.0**: DuckDB client migration to `@duckdb/node-api`
|
|
34
44
|
- **v0.15.0**: `snippets_get` view parameter, co-change scoring, stop words & IDF weighting
|
|
35
45
|
|
|
@@ -258,12 +268,12 @@ Tip: Avoid leading command words like `find` or `show`; instead list concrete mo
|
|
|
258
268
|
|
|
259
269
|
**Parameters:**
|
|
260
270
|
|
|
261
|
-
| Parameter | Type | Required | Description
|
|
262
|
-
| --------------- | ------- | -------- |
|
|
263
|
-
| `goal` | string | Yes | Task description or question about the code
|
|
264
|
-
| `limit` | number | No | Max snippets to return (default: 12, max: 20)
|
|
265
|
-
| `compact` | boolean | No | Return only metadata without preview (default: **true** in v0.8.0+, false in v0.7)
|
|
266
|
-
| `boost_profile` | string | No | File type boosting: `"default"` (prioritizes src/, blacklists docs/), `"docs"` (prioritizes .md/.yaml, includes docs/ directory), `"balanced"` (equal weight for docs and impl
|
|
271
|
+
| Parameter | Type | Required | Description |
|
|
272
|
+
| --------------- | ------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
273
|
+
| `goal` | string | Yes | Task description or question about the code |
|
|
274
|
+
| `limit` | number | No | Max snippets to return (default: 12, max: 20) |
|
|
275
|
+
| `compact` | boolean | No | Return only metadata without preview (default: **true** in v0.8.0+, false in v0.7) |
|
|
276
|
+
| `boost_profile` | string | No | File type boosting: `"default"` (prioritizes src/, blacklists docs/), `"code"` (strongly deprioritizes docs/config, 95% penalty), `"docs"` (prioritizes .md/.yaml, includes docs/ directory), `"balanced"` (equal weight for docs and impl), `"none"` (no boosting) |
|
|
267
277
|
|
|
268
278
|
### 2. files_search
|
|
269
279
|
|
|
@@ -300,14 +310,14 @@ Fast search across all indexed files. Supports multi-word queries, hyphenated te
|
|
|
300
310
|
|
|
301
311
|
**Parameters:**
|
|
302
312
|
|
|
303
|
-
| Parameter | Type | Required | Description
|
|
304
|
-
| --------------- | ------ | -------- |
|
|
305
|
-
| `query` | string | Yes | Search keywords or phrase
|
|
306
|
-
| `limit` | number | No | Max results to return (default: 50, max: 200)
|
|
307
|
-
| `lang` | string | No | Filter by language (e.g., "typescript", "python")
|
|
308
|
-
| `ext` | string | No | Filter by extension (e.g., ".ts", ".md")
|
|
309
|
-
| `path_prefix` | string | No | Filter by path prefix (e.g., "src/auth/")
|
|
310
|
-
| `boost_profile` | string | No | File type boosting: `"default"` (prioritizes src/, blacklists docs/), `"docs"` **(prioritizes .md/.yaml, includes docs/ directory)**, `"none"` (no boosting) |
|
|
313
|
+
| Parameter | Type | Required | Description |
|
|
314
|
+
| --------------- | ------ | -------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
315
|
+
| `query` | string | Yes | Search keywords or phrase |
|
|
316
|
+
| `limit` | number | No | Max results to return (default: 50, max: 200) |
|
|
317
|
+
| `lang` | string | No | Filter by language (e.g., "typescript", "python") |
|
|
318
|
+
| `ext` | string | No | Filter by extension (e.g., ".ts", ".md") |
|
|
319
|
+
| `path_prefix` | string | No | Filter by path prefix (e.g., "src/auth/") |
|
|
320
|
+
| `boost_profile` | string | No | File type boosting: `"default"` (prioritizes src/, blacklists docs/), `"code"` (strongly deprioritizes docs/config, 95% penalty), `"docs"` **(prioritizes .md/.yaml, includes docs/ directory)**, `"balanced"` (equal weight), `"none"` (no boosting) |
|
|
311
321
|
|
|
312
322
|
### 3. snippets_get
|
|
313
323
|
|
|
@@ -548,6 +558,10 @@ Control search ranking behavior with the `boost_profile` parameter:
|
|
|
548
558
|
- Implementation files get 30% boost, documentation files get 50% penalty
|
|
549
559
|
- Config files heavily penalized (95% reduction)
|
|
550
560
|
- `docs/` directory is blacklisted
|
|
561
|
+
- **`"code"`** (NEW in v0.17.0): Strongly prioritizes implementation code only
|
|
562
|
+
- Documentation and config files get 95% penalty
|
|
563
|
+
- Best for finding actual implementation when you don't want docs in results
|
|
564
|
+
- `docs/` directory is blacklisted
|
|
551
565
|
- **`"docs"`**: Prioritizes documentation files (`*.md`) over implementation
|
|
552
566
|
- Documentation files get 50% boost, implementation files get 50% penalty
|
|
553
567
|
- `docs/` directory is included in search results
|
|
@@ -562,6 +576,9 @@ Control search ranking behavior with the `boost_profile` parameter:
|
|
|
562
576
|
// Find implementation files (default behavior)
|
|
563
577
|
files_search({ query: "authentication", boost_profile: "default" });
|
|
564
578
|
|
|
579
|
+
// Find only implementation code (no docs/config in results)
|
|
580
|
+
files_search({ query: "authentication", boost_profile: "code" });
|
|
581
|
+
|
|
565
582
|
// Find documentation
|
|
566
583
|
files_search({ query: "setup guide", boost_profile: "docs" });
|
|
567
584
|
|
|
@@ -753,6 +770,31 @@ rm -f .kiri/index.duckdb.sock
|
|
|
753
770
|
|
|
754
771
|
3. **Restart the MCP connection**
|
|
755
772
|
|
|
773
|
+
#### Schema Mismatch After Upgrade (Degrade Mode)
|
|
774
|
+
|
|
775
|
+
**Problem**: After upgrading KIRI, server shows `Server is running in degrade mode` and logs show errors like `Table with name graph_metrics does not exist`
|
|
776
|
+
|
|
777
|
+
**Root Cause**: The existing index was created with an older schema version that doesn't include new tables (e.g., `graph_metrics`, `cochange`).
|
|
778
|
+
|
|
779
|
+
**Solution**:
|
|
780
|
+
|
|
781
|
+
1. **Stop the daemon**:
|
|
782
|
+
|
|
783
|
+
```bash
|
|
784
|
+
pkill -f "kiri.*daemon"
|
|
785
|
+
rm -f .kiri/index.duckdb.sock.lock .kiri/index.duckdb.sock
|
|
786
|
+
```
|
|
787
|
+
|
|
788
|
+
2. **Rebuild index with full schema**:
|
|
789
|
+
|
|
790
|
+
```bash
|
|
791
|
+
kiri --repo . --db .kiri/index.duckdb --full
|
|
792
|
+
```
|
|
793
|
+
|
|
794
|
+
3. **Restart your MCP client**
|
|
795
|
+
|
|
796
|
+
> **Note**: The `--full` flag ensures all tables including `graph_metrics` and `cochange` are created. This is required when upgrading from versions prior to v0.15.0.
|
|
797
|
+
|
|
756
798
|
### Getting Help
|
|
757
799
|
|
|
758
800
|
If you encounter issues not covered here:
|
|
@@ -773,6 +815,7 @@ KIRI provides AST-based symbol extraction for the following languages:
|
|
|
773
815
|
| **PHP** | `.php` | `class`, `interface`, `trait`, `function`, `method`, `property`, `constant`, `namespace` | tree-sitter-php (pure & HTML-mixed) |
|
|
774
816
|
| **Java** | `.java` | `class`, `interface`, `enum`, `annotation`, `method`, `constructor`, `field` | tree-sitter-java |
|
|
775
817
|
| **Dart** | `.dart` | `class`, `mixin`, `enum`, `extension`, `function`, `method`, `getter`, `setter` | Dart Analysis Server |
|
|
818
|
+
| **Rust** | `.rs` | `struct`, `enum`, `trait`, `impl`, `fn`, `mod`, `const`, `static`, `macro`, `type` | tree-sitter-rust |
|
|
776
819
|
|
|
777
820
|
**Dart Integration Features:**
|
|
778
821
|
|
|
@@ -782,7 +825,7 @@ KIRI provides AST-based symbol extraction for the following languages:
|
|
|
782
825
|
- Windows path normalization for case-insensitive filesystems
|
|
783
826
|
- Graceful degradation when Dart SDK is unavailable
|
|
784
827
|
|
|
785
|
-
Other languages are detected and indexed but use full-file snippets instead of symbol-level extraction. Support for additional languages (
|
|
828
|
+
Other languages are detected and indexed but use full-file snippets instead of symbol-level extraction. Support for additional languages (Go, Python, etc.) is planned.
|
|
786
829
|
|
|
787
830
|
## 🏗️ How It Works
|
|
788
831
|
|
|
@@ -952,8 +995,8 @@ Built with:
|
|
|
952
995
|
|
|
953
996
|
---
|
|
954
997
|
|
|
955
|
-
**Status**: v0.
|
|
998
|
+
**Status**: v0.17.0 (Beta) - Production-ready for MCP clients
|
|
956
999
|
|
|
957
|
-
**New in v0.
|
|
1000
|
+
**New in v0.17.0**: `code` boost_profile for implementation-focused search. See [CHANGELOG.md](CHANGELOG.md) for details.
|
|
958
1001
|
|
|
959
1002
|
For questions or support, please open a [GitHub issue](https://github.com/CAPHTECH/kiri/issues).
|
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "kiri-mcp-server",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.17.0",
|
|
4
4
|
"description": "KIRI context extraction platform",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"packageManager": "pnpm@9.0.0",
|
|
@@ -51,7 +51,8 @@
|
|
|
51
51
|
},
|
|
52
52
|
"scripts": {
|
|
53
53
|
"bootstrap": "pnpm install",
|
|
54
|
-
"
|
|
54
|
+
"clean": "rm -rf dist",
|
|
55
|
+
"build": "pnpm run clean && tsc --project tsconfig.build.json && pnpm run build:copy-assets",
|
|
55
56
|
"build:copy-assets": "tsx scripts/build/copy-assets.ts",
|
|
56
57
|
"dev": "tsx src/server/main.ts --port 8765",
|
|
57
58
|
"lint": "eslint \"{src,tests,scripts}/**/*.{ts,tsx}\" && prettier --check \"**/*.{ts,tsx,json,md,yml}\"",
|
|
@@ -85,6 +86,7 @@
|
|
|
85
86
|
"tree-sitter": "^0.22.0",
|
|
86
87
|
"tree-sitter-java": "^0.23.2",
|
|
87
88
|
"tree-sitter-php": "^0.22.8",
|
|
89
|
+
"tree-sitter-rust": "^0.23.0",
|
|
88
90
|
"tree-sitter-swift": "0.7.1",
|
|
89
91
|
"typescript": "^5.6.3",
|
|
90
92
|
"yaml": "^2.8.1",
|
package/dist/src/client/proxy.js
CHANGED
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dart Language Analyzer Adapter
|
|
3
|
+
*
|
|
4
|
+
* 既存の Dart Analysis Server 実装をラップして LanguageAnalyzer インターフェースを提供。
|
|
5
|
+
* Dart はLSPベースの Analysis Server を使用するため、他の tree-sitter ベースの
|
|
6
|
+
* アナライザーとは異なるアーキテクチャを持つ。
|
|
7
|
+
*/
|
|
8
|
+
import type { LanguageAnalyzer, AnalysisContext, AnalysisResult } from "../types.js";
|
|
9
|
+
/**
|
|
10
|
+
* Dart Language Analyzer
|
|
11
|
+
*
|
|
12
|
+
* LanguageAnalyzer インターフェースを実装し、
|
|
13
|
+
* Dart Analysis Server を使用したシンボル抽出と依存関係解析を提供。
|
|
14
|
+
*
|
|
15
|
+
* 特徴:
|
|
16
|
+
* - LSPベースの Analysis Server を使用
|
|
17
|
+
* - プロセスプーリングによるリソース効率化
|
|
18
|
+
* - 参照カウントとアイドルTTLによるライフサイクル管理
|
|
19
|
+
* - workspaceRoot が必須 (Analysis Server は絶対パスを要求)
|
|
20
|
+
*/
|
|
21
|
+
export declare class DartAnalyzer implements LanguageAnalyzer {
|
|
22
|
+
readonly language = "Dart";
|
|
23
|
+
analyze(context: AnalysisContext): Promise<AnalysisResult>;
|
|
24
|
+
/**
|
|
25
|
+
* 全ての Dart Analysis Server プロセスをクリーンアップ
|
|
26
|
+
*
|
|
27
|
+
* このメソッドは LanguageRegistry.cleanup() から呼び出され、
|
|
28
|
+
* プール内の全クライアントを適切に終了する
|
|
29
|
+
*/
|
|
30
|
+
dispose(): Promise<void>;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Dart アナライザーのファクトリ関数
|
|
34
|
+
*/
|
|
35
|
+
export declare function createDartAnalyzer(): DartAnalyzer;
|
|
36
|
+
//# sourceMappingURL=adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../../../src/indexer/codeintel/dart/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAMrF;;;;;;;;;;;GAWG;AACH,qBAAa,YAAa,YAAW,gBAAgB;IACnD,QAAQ,CAAC,QAAQ,UAAU;IAErB,OAAO,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;IAwBhE;;;;;OAKG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAG/B;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,YAAY,CAEjD"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dart Language Analyzer Adapter
|
|
3
|
+
*
|
|
4
|
+
* 既存の Dart Analysis Server 実装をラップして LanguageAnalyzer インターフェースを提供。
|
|
5
|
+
* Dart はLSPベースの Analysis Server を使用するため、他の tree-sitter ベースの
|
|
6
|
+
* アナライザーとは異なるアーキテクチャを持つ。
|
|
7
|
+
*/
|
|
8
|
+
import { analyzeDartSource, cleanup } from "../../dart/analyze.js";
|
|
9
|
+
import { emptyResult } from "../types.js";
|
|
10
|
+
// 既存の Dart 解析実装をインポート
|
|
11
|
+
// Note: analyzeDartSource と cleanup は src/indexer/dart/ にある既存実装を使用
|
|
12
|
+
/**
|
|
13
|
+
* Dart Language Analyzer
|
|
14
|
+
*
|
|
15
|
+
* LanguageAnalyzer インターフェースを実装し、
|
|
16
|
+
* Dart Analysis Server を使用したシンボル抽出と依存関係解析を提供。
|
|
17
|
+
*
|
|
18
|
+
* 特徴:
|
|
19
|
+
* - LSPベースの Analysis Server を使用
|
|
20
|
+
* - プロセスプーリングによるリソース効率化
|
|
21
|
+
* - 参照カウントとアイドルTTLによるライフサイクル管理
|
|
22
|
+
* - workspaceRoot が必須 (Analysis Server は絶対パスを要求)
|
|
23
|
+
*/
|
|
24
|
+
export class DartAnalyzer {
|
|
25
|
+
language = "Dart";
|
|
26
|
+
async analyze(context) {
|
|
27
|
+
const { pathInRepo, content, workspaceRoot } = context;
|
|
28
|
+
// Dart Analysis Server は workspaceRoot を要求する
|
|
29
|
+
if (!workspaceRoot) {
|
|
30
|
+
console.warn(`[DartAnalyzer] workspaceRoot required for Dart analysis, skipping ${pathInRepo}`);
|
|
31
|
+
return emptyResult();
|
|
32
|
+
}
|
|
33
|
+
// 既存の Dart 解析実装を呼び出し
|
|
34
|
+
const result = await analyzeDartSource(pathInRepo, content, workspaceRoot);
|
|
35
|
+
// exactOptionalPropertyTypes対応: errorはundefinedの場合は省略
|
|
36
|
+
return {
|
|
37
|
+
symbols: result.symbols,
|
|
38
|
+
snippets: result.snippets,
|
|
39
|
+
dependencies: result.dependencies,
|
|
40
|
+
status: result.status,
|
|
41
|
+
...(result.error !== undefined && { error: result.error }),
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* 全ての Dart Analysis Server プロセスをクリーンアップ
|
|
46
|
+
*
|
|
47
|
+
* このメソッドは LanguageRegistry.cleanup() から呼び出され、
|
|
48
|
+
* プール内の全クライアントを適切に終了する
|
|
49
|
+
*/
|
|
50
|
+
async dispose() {
|
|
51
|
+
await cleanup();
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Dart アナライザーのファクトリ関数
|
|
56
|
+
*/
|
|
57
|
+
export function createDartAnalyzer() {
|
|
58
|
+
return new DartAnalyzer();
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../../../src/indexer/codeintel/dart/adapter.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEnE,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,sBAAsB;AACtB,mEAAmE;AAEnE;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,YAAY;IACd,QAAQ,GAAG,MAAM,CAAC;IAE3B,KAAK,CAAC,OAAO,CAAC,OAAwB;QACpC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC;QAEvD,6CAA6C;QAC7C,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO,CAAC,IAAI,CACV,qEAAqE,UAAU,EAAE,CAClF,CAAC;YACF,OAAO,WAAW,EAAE,CAAC;QACvB,CAAC;QAED,qBAAqB;QACrB,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,UAAU,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;QAE3E,sDAAsD;QACtD,OAAO;YACL,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;SAC3D,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,OAAO;QACX,MAAM,OAAO,EAAE,CAAC;IAClB,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO,IAAI,YAAY,EAAE,CAAC;AAC5B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/indexer/codeintel/dart/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/indexer/codeintel/dart/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Language Analyzer System - Public API
|
|
3
|
+
*
|
|
4
|
+
* このモジュールは言語アナライザーシステムの公開APIを提供します。
|
|
5
|
+
*
|
|
6
|
+
* 使用例:
|
|
7
|
+
* ```typescript
|
|
8
|
+
* import { LanguageRegistry, type LanguageAnalyzer } from './codeintel/index.js';
|
|
9
|
+
*
|
|
10
|
+
* const registry = LanguageRegistry.getInstance();
|
|
11
|
+
* registry.register(new TypeScriptAnalyzer());
|
|
12
|
+
*
|
|
13
|
+
* const result = await registry.analyze('TypeScript', {
|
|
14
|
+
* pathInRepo: 'src/index.ts',
|
|
15
|
+
* content: '...',
|
|
16
|
+
* fileSet: new Set(['src/index.ts']),
|
|
17
|
+
* });
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
export type { SymbolRecord, SnippetRecord, DependencyRecord, AnalysisContext, AnalysisResult, LanguageAnalyzer, } from "./types.js";
|
|
21
|
+
export { emptyResult } from "./types.js";
|
|
22
|
+
export { LanguageRegistry } from "./registry.js";
|
|
23
|
+
export { treeSitterPointToLine, sanitizeTreeSitterSignature, assignSymbolIds, symbolsToSnippets, createDependencyRecorder, buildLineStartsArray, offsetToLine, cleanDocComment, buildFallbackSnippet, } from "./utils.js";
|
|
24
|
+
export { TypeScriptAnalyzer, createTypeScriptAnalyzer } from "./typescript/index.js";
|
|
25
|
+
export { SwiftAnalyzer, createSwiftAnalyzer } from "./swift/index.js";
|
|
26
|
+
export { PHPAnalyzer, createPHPAnalyzer } from "./php/index.js";
|
|
27
|
+
export { JavaAnalyzer, createJavaAnalyzer } from "./java/index.js";
|
|
28
|
+
export { DartAnalyzer, createDartAnalyzer } from "./dart/index.js";
|
|
29
|
+
export { RustAnalyzer, createRustAnalyzer } from "./rust/index.js";
|
|
30
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/indexer/codeintel/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAGH,YAAY,EACV,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,gBAAgB,GACjB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAGzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAGjD,OAAO,EACL,qBAAqB,EACrB,2BAA2B,EAC3B,eAAe,EACf,iBAAiB,EACjB,wBAAwB,EACxB,oBAAoB,EACpB,YAAY,EACZ,eAAe,EACf,oBAAoB,GACrB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACrF,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Language Analyzer System - Public API
|
|
3
|
+
*
|
|
4
|
+
* このモジュールは言語アナライザーシステムの公開APIを提供します。
|
|
5
|
+
*
|
|
6
|
+
* 使用例:
|
|
7
|
+
* ```typescript
|
|
8
|
+
* import { LanguageRegistry, type LanguageAnalyzer } from './codeintel/index.js';
|
|
9
|
+
*
|
|
10
|
+
* const registry = LanguageRegistry.getInstance();
|
|
11
|
+
* registry.register(new TypeScriptAnalyzer());
|
|
12
|
+
*
|
|
13
|
+
* const result = await registry.analyze('TypeScript', {
|
|
14
|
+
* pathInRepo: 'src/index.ts',
|
|
15
|
+
* content: '...',
|
|
16
|
+
* fileSet: new Set(['src/index.ts']),
|
|
17
|
+
* });
|
|
18
|
+
* ```
|
|
19
|
+
*/
|
|
20
|
+
export { emptyResult } from "./types.js";
|
|
21
|
+
// Registry
|
|
22
|
+
export { LanguageRegistry } from "./registry.js";
|
|
23
|
+
// Utilities
|
|
24
|
+
export { treeSitterPointToLine, sanitizeTreeSitterSignature, assignSymbolIds, symbolsToSnippets, createDependencyRecorder, buildLineStartsArray, offsetToLine, cleanDocComment, buildFallbackSnippet, } from "./utils.js";
|
|
25
|
+
// Language Analyzers
|
|
26
|
+
export { TypeScriptAnalyzer, createTypeScriptAnalyzer } from "./typescript/index.js";
|
|
27
|
+
export { SwiftAnalyzer, createSwiftAnalyzer } from "./swift/index.js";
|
|
28
|
+
export { PHPAnalyzer, createPHPAnalyzer } from "./php/index.js";
|
|
29
|
+
export { JavaAnalyzer, createJavaAnalyzer } from "./java/index.js";
|
|
30
|
+
export { DartAnalyzer, createDartAnalyzer } from "./dart/index.js";
|
|
31
|
+
export { RustAnalyzer, createRustAnalyzer } from "./rust/index.js";
|
|
32
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/indexer/codeintel/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAYH,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC,WAAW;AACX,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,YAAY;AACZ,OAAO,EACL,qBAAqB,EACrB,2BAA2B,EAC3B,eAAe,EACf,iBAAiB,EACjB,wBAAwB,EACxB,oBAAoB,EACpB,YAAY,EACZ,eAAe,EACf,oBAAoB,GACrB,MAAM,YAAY,CAAC;AAEpB,qBAAqB;AACrB,OAAO,EAAE,kBAAkB,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AACrF,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Java Language Analyzer
|
|
3
|
+
*
|
|
4
|
+
* tree-sitter-java を使用したシンボル抽出と依存関係解析。
|
|
5
|
+
* class, interface, enum, annotation, method, constructor, field をサポート。
|
|
6
|
+
*/
|
|
7
|
+
import type { LanguageAnalyzer, AnalysisContext, AnalysisResult } from "../types.js";
|
|
8
|
+
/**
|
|
9
|
+
* Java Language Analyzer
|
|
10
|
+
*
|
|
11
|
+
* LanguageAnalyzer インターフェースを実装し、
|
|
12
|
+
* Java ファイルのシンボル抽出と依存関係解析を提供
|
|
13
|
+
*/
|
|
14
|
+
export declare class JavaAnalyzer implements LanguageAnalyzer {
|
|
15
|
+
readonly language = "Java";
|
|
16
|
+
analyze(context: AnalysisContext): Promise<AnalysisResult>;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Java アナライザーのファクトリ関数
|
|
20
|
+
*/
|
|
21
|
+
export declare function createJavaAnalyzer(): JavaAnalyzer;
|
|
22
|
+
//# sourceMappingURL=analyzer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analyzer.d.ts","sourceRoot":"","sources":["../../../../../src/indexer/codeintel/java/analyzer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,cAAc,EAAgB,MAAM,aAAa,CAAC;AAuRnG;;;;;GAKG;AACH,qBAAa,YAAa,YAAW,gBAAgB;IACnD,QAAQ,CAAC,QAAQ,UAAU;IAErB,OAAO,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;CAkCjE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,YAAY,CAEjD"}
|