codingest 0.2.32__tar.gz → 0.2.33__tar.gz
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.
- {codingest-0.2.32 → codingest-0.2.33}/Cargo.lock +8 -8
- {codingest-0.2.32 → codingest-0.2.33}/Cargo.toml +3 -3
- {codingest-0.2.32 → codingest-0.2.33}/PKG-INFO +5 -5
- {codingest-0.2.32 → codingest-0.2.33}/README.md +3 -3
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/Cargo.toml +1 -1
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest-cli/Cargo.toml +1 -1
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest-cli/skills/codingest-code-review/SKILL.md +1 -1
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest-cli/skills/codingest-code-review/references/mcp-upgrade.md +1 -1
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest-mcp/Cargo.toml +1 -1
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest-mcp/src/lib.rs +3 -22
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest-mcp/tests/response_contract.rs +17 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest-py/Cargo.toml +3 -3
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest-py/src/lib.rs +1 -1
- {codingest-0.2.32 → codingest-0.2.33}/pyproject.toml +2 -2
- {codingest-0.2.32 → codingest-0.2.33}/LICENSE +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/codingest/__init__.py +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/codingest/__init__.pyi +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/codingest/cli.py +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/codingest/mcp_server.py +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/assets/code_review/recipes.json +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/assets/code_review/skill.md +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/src/bin/codingest_bench.rs +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/src/bin/codingest_stats.rs +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/src/builder/call_edges.rs +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/src/builder/js_workspace.rs +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/src/builder/load/edge_frames.rs +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/src/builder/load/entity_frames.rs +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/src/builder/load.rs +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/src/builder/mod.rs +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/src/builder/other_edges.rs +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/src/builder/routes/django.rs +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/src/builder/routes/fastapi.rs +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/src/builder/routes/flask.rs +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/src/builder/routes/mod.rs +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/src/builder/semantic_edges.rs +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/src/builder/type_edges.rs +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/src/cross_lang.rs +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/src/docs/mod.rs +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/src/docs/rst.rs +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/src/lib.rs +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/src/manifest/mod.rs +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/src/methodology.rs +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/src/models.rs +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/src/parsers/agc.rs +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/src/parsers/cpp.rs +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/src/parsers/csharp.rs +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/src/parsers/css.rs +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/src/parsers/dart.rs +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/src/parsers/go.rs +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/src/parsers/html.rs +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/src/parsers/java.rs +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/src/parsers/julia.rs +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/src/parsers/mod.rs +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/src/parsers/php.rs +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/src/parsers/python.rs +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/src/parsers/r.rs +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/src/parsers/registry.rs +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/src/parsers/rust_lang.rs +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/src/parsers/shared.rs +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/src/parsers/swift.rs +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/src/parsers/typescript.rs +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/src/repo.rs +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/src/rev.rs +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/tests/agc_apollo.rs +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/tests/goldens/README.md +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/tests/goldens/agc_basic.sha256 +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/tests/goldens/cpp_extern_c.sha256 +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/tests/goldens/cpp_include.sha256 +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/tests/goldens/cross_ts_py.sha256 +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/tests/goldens/csharp_using_alias.sha256 +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/tests/goldens/dart_import.sha256 +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/tests/goldens/dart_part_of.sha256 +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/tests/goldens/docs_ext_collide.sha256 +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/tests/goldens/docs_mdx.sha256 +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/tests/goldens/dup_minified_assets.sha256 +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/tests/goldens/go_interface.sha256 +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/tests/goldens/html_js_lang_group.sha256 +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/tests/goldens/java_javadoc.sha256 +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/tests/goldens/julia_basic.sha256 +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/tests/goldens/php_group_use.sha256 +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/tests/goldens/py_basic.sha256 +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/tests/goldens/py_import.sha256 +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/tests/goldens/py_inheritance.sha256 +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/tests/goldens/py_nested_defs.sha256 +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/tests/goldens/py_routes_dup.sha256 +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/tests/goldens/py_src_layout.sha256 +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/tests/goldens/r_basic.sha256 +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/tests/goldens/rust_import.sha256 +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/tests/goldens/rust_inline_mod.sha256 +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/tests/goldens/rust_xfile.sha256 +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/tests/goldens/swift_basic.sha256 +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/tests/goldens/ts_callback.sha256 +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/tests/goldens/ts_closure_scope.sha256 +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/tests/goldens/ts_hof_binding.sha256 +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/tests/goldens/ts_monorepo.sha256 +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/tests/goldens/web_served_root.sha256 +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/tests/grammar_kinds.rs +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/tests/parity.rs +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest/tests/traversal_semantics.rs +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest-cli/skills/codingest-code-review/references/public-repositories.md +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest-cli/skills/codingest-code-review/references/queries.md +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest-cli/src/code_tree_cli.rs +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest-cli/src/lib.rs +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest-cli/src/main.rs +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest-cli/src/query.rs +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest-cli/src/skill.rs +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest-cli/src/skill_assets.rs +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest-cli/tests/embed_skills.rs +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest-cli/tests/exit_codes.rs +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest-cli/tests/skill_recipes.rs +0 -0
- {codingest-0.2.32 → codingest-0.2.33}/crates/codingest-mcp/src/main.rs +0 -0
|
@@ -312,7 +312,7 @@ dependencies = [
|
|
|
312
312
|
|
|
313
313
|
[[package]]
|
|
314
314
|
name = "codingest"
|
|
315
|
-
version = "0.2.
|
|
315
|
+
version = "0.2.33"
|
|
316
316
|
dependencies = [
|
|
317
317
|
"aho-corasick",
|
|
318
318
|
"base64 0.22.1",
|
|
@@ -348,7 +348,7 @@ dependencies = [
|
|
|
348
348
|
|
|
349
349
|
[[package]]
|
|
350
350
|
name = "codingest-cli"
|
|
351
|
-
version = "0.2.
|
|
351
|
+
version = "0.2.33"
|
|
352
352
|
dependencies = [
|
|
353
353
|
"anyhow",
|
|
354
354
|
"clap",
|
|
@@ -360,7 +360,7 @@ dependencies = [
|
|
|
360
360
|
|
|
361
361
|
[[package]]
|
|
362
362
|
name = "codingest-mcp"
|
|
363
|
-
version = "0.2.
|
|
363
|
+
version = "0.2.33"
|
|
364
364
|
dependencies = [
|
|
365
365
|
"anyhow",
|
|
366
366
|
"codingest",
|
|
@@ -371,7 +371,7 @@ dependencies = [
|
|
|
371
371
|
|
|
372
372
|
[[package]]
|
|
373
373
|
name = "codingest-py"
|
|
374
|
-
version = "0.2.
|
|
374
|
+
version = "0.2.33"
|
|
375
375
|
dependencies = [
|
|
376
376
|
"codingest",
|
|
377
377
|
"codingest-cli",
|
|
@@ -1422,9 +1422,9 @@ dependencies = [
|
|
|
1422
1422
|
|
|
1423
1423
|
[[package]]
|
|
1424
1424
|
name = "kglite"
|
|
1425
|
-
version = "0.21.
|
|
1425
|
+
version = "0.21.2"
|
|
1426
1426
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1427
|
-
checksum = "
|
|
1427
|
+
checksum = "ff3505273db83181b8f2c1dab936bd32921545dbbf72e163244facd476644f08"
|
|
1428
1428
|
dependencies = [
|
|
1429
1429
|
"bzip2",
|
|
1430
1430
|
"chrono",
|
|
@@ -1462,9 +1462,9 @@ dependencies = [
|
|
|
1462
1462
|
|
|
1463
1463
|
[[package]]
|
|
1464
1464
|
name = "kglite-mcp-server"
|
|
1465
|
-
version = "0.21.
|
|
1465
|
+
version = "0.21.2"
|
|
1466
1466
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1467
|
-
checksum = "
|
|
1467
|
+
checksum = "13be34c5bb2ac3f9b37590c53d81893d938de438320b159e9e6a919edbfd0002"
|
|
1468
1468
|
dependencies = [
|
|
1469
1469
|
"anyhow",
|
|
1470
1470
|
"base64 0.23.1",
|
|
@@ -3,7 +3,7 @@ members = ["crates/codingest", "crates/codingest-cli", "crates/codingest-mcp", "
|
|
|
3
3
|
resolver = "2"
|
|
4
4
|
|
|
5
5
|
[workspace.package]
|
|
6
|
-
version = "0.2.
|
|
6
|
+
version = "0.2.33"
|
|
7
7
|
edition = "2021"
|
|
8
8
|
rust-version = "1.88"
|
|
9
9
|
license = "MIT"
|
|
@@ -657,8 +657,8 @@ sha2 = "0.11"
|
|
|
657
657
|
# and no disk storage. Neither 0.15.7 nor 0.15.8 changes the `kglite::api` we
|
|
658
658
|
# call, graph output, property encoding, or `.kgl` serialization.
|
|
659
659
|
# Keep both libraries aligned so the graph and server share one engine release.
|
|
660
|
-
kglite = { version = "0.21.
|
|
661
|
-
kglite-mcp-server = { version = "0.21.
|
|
660
|
+
kglite = { version = "0.21.2", default-features = false }
|
|
661
|
+
kglite-mcp-server = { version = "0.21.2", default-features = false }
|
|
662
662
|
|
|
663
663
|
# Dependency debuginfo capped at line tables (kglite coordination, 2026-08-31,
|
|
664
664
|
# after unbounded debug trees filled the build-cache disk to zero): a
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: codingest
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.33
|
|
4
4
|
Classifier: Development Status :: 3 - Alpha
|
|
5
5
|
Classifier: Intended Audience :: Developers
|
|
6
6
|
Classifier: Programming Language :: Python :: 3
|
|
@@ -12,7 +12,7 @@ Classifier: Programming Language :: Python :: 3.14
|
|
|
12
12
|
Classifier: Programming Language :: Rust
|
|
13
13
|
Classifier: Topic :: Software Development
|
|
14
14
|
Classifier: Topic :: Software Development :: Libraries
|
|
15
|
-
Requires-Dist: kglite>=0.21.
|
|
15
|
+
Requires-Dist: kglite>=0.21.2,<0.22
|
|
16
16
|
License-File: LICENSE
|
|
17
17
|
Summary: Build fast, queryable code graphs for AI agents, MCP code review, and local or GitHub repository analysis.
|
|
18
18
|
Keywords: ai-agents,mcp,code-review,knowledge-graph,code-analysis,github,tree-sitter,cypher
|
|
@@ -194,7 +194,7 @@ codingest skill install # code-review Agent Skill
|
|
|
194
194
|
```
|
|
195
195
|
|
|
196
196
|
The wheel bundles every grammar plus the `codingest` and `codingest-mcp`
|
|
197
|
-
commands. KGLite ≥0.21.
|
|
197
|
+
commands. KGLite ≥0.21.2 is installed automatically as the query/storage
|
|
198
198
|
engine; its MCP server and the transitive `mcp-methods` framework power the
|
|
199
199
|
builder-aware Codingest server. Nothing else needs to be installed.
|
|
200
200
|
|
|
@@ -207,7 +207,7 @@ Python prerequisites.
|
|
|
207
207
|
```toml
|
|
208
208
|
[dependencies]
|
|
209
209
|
codingest = "0.2"
|
|
210
|
-
kglite = "0.21.
|
|
210
|
+
kglite = "0.21.2"
|
|
211
211
|
```
|
|
212
212
|
|
|
213
213
|
```rust
|
|
@@ -279,7 +279,7 @@ diagnostic.
|
|
|
279
279
|
## Dependency policy
|
|
280
280
|
|
|
281
281
|
`kglite` and `kglite-mcp-server` use matching crates.io requirements with a
|
|
282
|
-
0.21.
|
|
282
|
+
0.21.2 minimum and a shared lockfile. This keeps the builder, persistence
|
|
283
283
|
handoff, and embedded MCP server on one compatible engine patch line.
|
|
284
284
|
|
|
285
285
|
## Parity with the (now-removed) in-tree component
|
|
@@ -167,7 +167,7 @@ codingest skill install # code-review Agent Skill
|
|
|
167
167
|
```
|
|
168
168
|
|
|
169
169
|
The wheel bundles every grammar plus the `codingest` and `codingest-mcp`
|
|
170
|
-
commands. KGLite ≥0.21.
|
|
170
|
+
commands. KGLite ≥0.21.2 is installed automatically as the query/storage
|
|
171
171
|
engine; its MCP server and the transitive `mcp-methods` framework power the
|
|
172
172
|
builder-aware Codingest server. Nothing else needs to be installed.
|
|
173
173
|
|
|
@@ -180,7 +180,7 @@ Python prerequisites.
|
|
|
180
180
|
```toml
|
|
181
181
|
[dependencies]
|
|
182
182
|
codingest = "0.2"
|
|
183
|
-
kglite = "0.21.
|
|
183
|
+
kglite = "0.21.2"
|
|
184
184
|
```
|
|
185
185
|
|
|
186
186
|
```rust
|
|
@@ -252,7 +252,7 @@ diagnostic.
|
|
|
252
252
|
## Dependency policy
|
|
253
253
|
|
|
254
254
|
`kglite` and `kglite-mcp-server` use matching crates.io requirements with a
|
|
255
|
-
0.21.
|
|
255
|
+
0.21.2 minimum and a shared lockfile. This keeps the builder, persistence
|
|
256
256
|
handoff, and embedded MCP server on one compatible engine patch line.
|
|
257
257
|
|
|
258
258
|
## Parity with the (now-removed) in-tree component
|
|
@@ -10,7 +10,7 @@ keywords = ["knowledge-graph", "code-analysis", "tree-sitter", "cypher", "kglite
|
|
|
10
10
|
categories = ["development-tools", "parser-implementations"]
|
|
11
11
|
|
|
12
12
|
# Requires the kglite 0.15 engine API (`kglite::api::code_entities`); the
|
|
13
|
-
# workspace pins the current engine floor (0.21.
|
|
13
|
+
# workspace pins the current engine floor (0.21.2).
|
|
14
14
|
|
|
15
15
|
[lib]
|
|
16
16
|
name = "codingest"
|
|
@@ -14,7 +14,7 @@ name = "codingest"
|
|
|
14
14
|
path = "src/main.rs"
|
|
15
15
|
|
|
16
16
|
[dependencies]
|
|
17
|
-
codingest = { version = "0.2.
|
|
17
|
+
codingest = { version = "0.2.33", path = "../codingest" }
|
|
18
18
|
kglite = { workspace = true }
|
|
19
19
|
anyhow = "1.0.104"
|
|
20
20
|
clap = { version = "4.6.4", features = ["derive"] }
|
{codingest-0.2.32 → codingest-0.2.33}/crates/codingest-cli/skills/codingest-code-review/SKILL.md
RENAMED
|
@@ -14,7 +14,7 @@ git diff, source reading, and literal-text search; it does not replace them.
|
|
|
14
14
|
> codingest` also provides the builder-aware `codingest-mcp` server and a
|
|
15
15
|
> compatible graph engine. Rust-only environments can alternatively use Cargo.
|
|
16
16
|
> Examples that invoke the external `kglite` CLI require a compatible
|
|
17
|
-
> `kglite>=0.21.
|
|
17
|
+
> `kglite>=0.21.2,<0.22`; verify `kglite --version` before using its
|
|
18
18
|
> agent-response features.
|
|
19
19
|
|
|
20
20
|
Inspect the diff and repository guidance first. Identify changed symbols and
|
|
@@ -81,10 +81,9 @@ fn server_extensions() -> anyhow::Result<ServerExtensions> {
|
|
|
81
81
|
let recipes = codingest::methodology::recipe_catalog()
|
|
82
82
|
.map_err(|error| anyhow::anyhow!("codingest recipe catalogue is invalid: {error}"))?;
|
|
83
83
|
Ok(ServerExtensions::default()
|
|
84
|
-
// Names this package in the stale-build notice
|
|
85
|
-
//
|
|
86
|
-
//
|
|
87
|
-
// answer that line itself (`version_line`).
|
|
84
|
+
// Names this package in the stale-build notice and in the
|
|
85
|
+
// `--version` / `-V` line (`codingest <version>`); a reload then
|
|
86
|
+
// compares codingest's version, not kglite's.
|
|
88
87
|
.with_identity("codingest", env!("CARGO_PKG_VERSION"))
|
|
89
88
|
.with_workspace_graph(hooks)
|
|
90
89
|
.with_skills([codingest::methodology::skill_record()])
|
|
@@ -102,31 +101,13 @@ where
|
|
|
102
101
|
T: Into<std::ffi::OsString> + Clone,
|
|
103
102
|
{
|
|
104
103
|
let args: Vec<std::ffi::OsString> = args.into_iter().map(Into::into).collect();
|
|
105
|
-
if args.len() == 2 && (args[1] == "--version" || args[1] == "-V") {
|
|
106
|
-
println!("{}", version_line());
|
|
107
|
-
return Ok(());
|
|
108
|
-
}
|
|
109
104
|
kglite_mcp_server::run_with_extensions(args, server_extensions()?)
|
|
110
105
|
}
|
|
111
106
|
|
|
112
|
-
/// The line `--version` / `-V` prints; must match the identity declared in
|
|
113
|
-
/// `server_extensions` so the stale-build probe sees one name and version.
|
|
114
|
-
fn version_line() -> String {
|
|
115
|
-
format!("codingest {}", env!("CARGO_PKG_VERSION"))
|
|
116
|
-
}
|
|
117
|
-
|
|
118
107
|
#[cfg(test)]
|
|
119
108
|
mod tests {
|
|
120
109
|
use super::*;
|
|
121
110
|
|
|
122
|
-
#[test]
|
|
123
|
-
fn version_line_names_codingest_and_its_package_version() {
|
|
124
|
-
assert_eq!(
|
|
125
|
-
version_line(),
|
|
126
|
-
format!("codingest {}", env!("CARGO_PKG_VERSION"))
|
|
127
|
-
);
|
|
128
|
-
}
|
|
129
|
-
|
|
130
111
|
#[test]
|
|
131
112
|
fn graph_source_predicate_includes_code_and_docs_only() {
|
|
132
113
|
assert!(is_graph_source(Path::new("src/lib.rs")));
|
|
@@ -921,3 +921,20 @@ fn selftest_reports_the_producer_layer() {
|
|
|
921
921
|
assert!(stderr.contains("producer skills: 1 served"), "{stderr}");
|
|
922
922
|
assert!(stderr.contains("producer recipes: 7 served"), "{stderr}");
|
|
923
923
|
}
|
|
924
|
+
|
|
925
|
+
#[test]
|
|
926
|
+
fn version_flags_print_the_package_identity() {
|
|
927
|
+
let expected = format!("codingest {}\n", env!("CARGO_PKG_VERSION"));
|
|
928
|
+
for flag in ["--version", "-V"] {
|
|
929
|
+
let output = std::process::Command::new(env!("CARGO_BIN_EXE_codingest-mcp"))
|
|
930
|
+
.arg(flag)
|
|
931
|
+
.output()
|
|
932
|
+
.expect("spawn codingest-mcp --version");
|
|
933
|
+
assert!(
|
|
934
|
+
output.status.success(),
|
|
935
|
+
"{flag} exited {:?}",
|
|
936
|
+
output.status.code()
|
|
937
|
+
);
|
|
938
|
+
assert_eq!(String::from_utf8_lossy(&output.stdout), expected, "{flag}");
|
|
939
|
+
}
|
|
940
|
+
}
|
|
@@ -42,7 +42,7 @@ doctest = false
|
|
|
42
42
|
pyo3 = { version = "0.29" }
|
|
43
43
|
# The engine-free builder (parsers, call/type/route edges, rev merge, repo
|
|
44
44
|
# clone, manifest reader). Docs pass gated by this crate's `docs` feature.
|
|
45
|
-
codingest = { version = "0.2.
|
|
45
|
+
codingest = { version = "0.2.33", path = "../codingest", default-features = false }
|
|
46
46
|
# `.kgl` persistence (`kglite::api::io::save_graph`) for the serialize half of
|
|
47
47
|
# the build-then-load handoff, plus the `DirGraph` type the builder returns.
|
|
48
48
|
kglite = { workspace = true }
|
|
@@ -53,9 +53,9 @@ tempfile = "3.27.0"
|
|
|
53
53
|
# through `_run_cli`, so `pip install codingest` also installs the `codingest`
|
|
54
54
|
# command without a second wheel or a duplicated builder build. Mirrors
|
|
55
55
|
# kglite-py's `kglite-cli` bundling.
|
|
56
|
-
codingest-cli = { version = "0.2.
|
|
56
|
+
codingest-cli = { version = "0.2.33", path = "../codingest-cli" }
|
|
57
57
|
# Source-building MCP composition. The graph server and generic MCP lifecycle
|
|
58
58
|
# remain owned by its existing kglite-mcp-server -> mcp-methods Rust dependency
|
|
59
59
|
# chain; linking this thin library into the extension gives pip users the same
|
|
60
60
|
# builder-aware server as the standalone `codingest-mcp` binary.
|
|
61
|
-
codingest-mcp = { version = "0.2.
|
|
61
|
+
codingest-mcp = { version = "0.2.33", path = "../codingest-mcp" }
|
|
@@ -86,7 +86,7 @@ fn load_via_kglite(py: Python<'_>, path: &Path) -> PyResult<Py<PyAny>> {
|
|
|
86
86
|
PyRuntimeError::new_err(format!(
|
|
87
87
|
"codingest.build() returns a kglite.KnowledgeGraph, but importing \
|
|
88
88
|
`kglite` failed ({e}). Install it: `pip install \
|
|
89
|
-
'kglite>=0.21.
|
|
89
|
+
'kglite>=0.21.2,<0.22'`."
|
|
90
90
|
))
|
|
91
91
|
})?;
|
|
92
92
|
let graph = kglite.call_method1("load", (path.to_string_lossy().as_ref(),))?;
|
|
@@ -42,9 +42,9 @@ dynamic = ["version"]
|
|
|
42
42
|
# minor releases (e.g. the v3->v4 break, which refuses old files outright), so
|
|
43
43
|
# pip must never be free to pair our writer with a reader from a different
|
|
44
44
|
# minor. This range therefore mirrors the Cargo semver range for the pin above
|
|
45
|
-
# (`version = "0.21.
|
|
45
|
+
# (`version = "0.21.2"` == `>=0.21.2,<0.22.0`) exactly — bump both together.
|
|
46
46
|
dependencies = [
|
|
47
|
-
"kglite>=0.21.
|
|
47
|
+
"kglite>=0.21.2,<0.22",
|
|
48
48
|
]
|
|
49
49
|
|
|
50
50
|
[project.urls]
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codingest-0.2.32 → codingest-0.2.33}/crates/codingest/tests/goldens/csharp_using_alias.sha256
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codingest-0.2.32 → codingest-0.2.33}/crates/codingest/tests/goldens/docs_ext_collide.sha256
RENAMED
|
File without changes
|
|
File without changes
|
{codingest-0.2.32 → codingest-0.2.33}/crates/codingest/tests/goldens/dup_minified_assets.sha256
RENAMED
|
File without changes
|
|
File without changes
|
{codingest-0.2.32 → codingest-0.2.33}/crates/codingest/tests/goldens/html_js_lang_group.sha256
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codingest-0.2.32 → codingest-0.2.33}/crates/codingest/tests/goldens/ts_closure_scope.sha256
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|