codingest 0.2.15__tar.gz → 0.2.16__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.15 → codingest-0.2.16}/Cargo.lock +8 -8
- {codingest-0.2.15 → codingest-0.2.16}/Cargo.toml +47 -6
- {codingest-0.2.15 → codingest-0.2.16}/PKG-INFO +5 -5
- {codingest-0.2.15 → codingest-0.2.16}/README.md +3 -3
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/Cargo.toml +1 -1
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest-cli/Cargo.toml +1 -1
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest-mcp/Cargo.toml +1 -1
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest-py/Cargo.toml +3 -3
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest-py/src/lib.rs +1 -1
- {codingest-0.2.15 → codingest-0.2.16}/pyproject.toml +2 -2
- {codingest-0.2.15 → codingest-0.2.16}/LICENSE +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/codingest/__init__.py +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/codingest/__init__.pyi +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/codingest/cli.py +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/codingest/mcp_server.py +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/bin/codingest_bench.rs +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/bin/codingest_stats.rs +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/builder/call_edges.rs +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/builder/js_workspace.rs +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/builder/load/edge_frames.rs +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/builder/load/entity_frames.rs +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/builder/load.rs +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/builder/mod.rs +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/builder/other_edges.rs +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/builder/routes/django.rs +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/builder/routes/fastapi.rs +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/builder/routes/flask.rs +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/builder/routes/mod.rs +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/builder/semantic_edges.rs +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/builder/type_edges.rs +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/cross_lang.rs +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/docs/mod.rs +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/docs/rst.rs +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/lib.rs +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/manifest/mod.rs +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/models.rs +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/parsers/agc.rs +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/parsers/cpp.rs +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/parsers/csharp.rs +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/parsers/css.rs +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/parsers/dart.rs +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/parsers/go.rs +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/parsers/html.rs +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/parsers/java.rs +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/parsers/julia.rs +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/parsers/mod.rs +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/parsers/php.rs +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/parsers/python.rs +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/parsers/r.rs +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/parsers/registry.rs +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/parsers/rust_lang.rs +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/parsers/shared.rs +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/parsers/swift.rs +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/parsers/typescript.rs +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/repo.rs +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/rev.rs +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/tests/agc_apollo.rs +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/tests/goldens/README.md +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/tests/goldens/agc_basic.sha256 +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/tests/goldens/cpp_extern_c.sha256 +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/tests/goldens/cpp_include.sha256 +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/tests/goldens/cross_ts_py.sha256 +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/tests/goldens/csharp_using_alias.sha256 +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/tests/goldens/dart_import.sha256 +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/tests/goldens/dart_part_of.sha256 +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/tests/goldens/docs_ext_collide.sha256 +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/tests/goldens/docs_mdx.sha256 +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/tests/goldens/dup_minified_assets.sha256 +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/tests/goldens/go_interface.sha256 +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/tests/goldens/html_js_lang_group.sha256 +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/tests/goldens/java_javadoc.sha256 +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/tests/goldens/julia_basic.sha256 +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/tests/goldens/php_group_use.sha256 +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/tests/goldens/py_basic.sha256 +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/tests/goldens/py_import.sha256 +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/tests/goldens/py_inheritance.sha256 +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/tests/goldens/py_nested_defs.sha256 +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/tests/goldens/py_routes_dup.sha256 +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/tests/goldens/py_src_layout.sha256 +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/tests/goldens/r_basic.sha256 +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/tests/goldens/rust_import.sha256 +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/tests/goldens/rust_inline_mod.sha256 +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/tests/goldens/rust_xfile.sha256 +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/tests/goldens/swift_basic.sha256 +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/tests/goldens/ts_callback.sha256 +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/tests/goldens/ts_closure_scope.sha256 +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/tests/goldens/ts_hof_binding.sha256 +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/tests/goldens/ts_monorepo.sha256 +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/tests/goldens/web_served_root.sha256 +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/tests/grammar_kinds.rs +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/tests/parity.rs +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/tests/traversal_semantics.rs +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest-cli/skills/codingest-code-review/SKILL.md +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest-cli/skills/codingest-code-review/references/mcp-upgrade.md +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest-cli/skills/codingest-code-review/references/public-repositories.md +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest-cli/skills/codingest-code-review/references/queries.md +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest-cli/src/code_tree_cli.rs +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest-cli/src/lib.rs +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest-cli/src/main.rs +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest-cli/src/query.rs +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest-cli/src/skill.rs +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest-cli/src/skill_assets.rs +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest-cli/tests/exit_codes.rs +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest-mcp/src/lib.rs +0 -0
- {codingest-0.2.15 → codingest-0.2.16}/crates/codingest-mcp/src/main.rs +0 -0
|
@@ -302,7 +302,7 @@ dependencies = [
|
|
|
302
302
|
|
|
303
303
|
[[package]]
|
|
304
304
|
name = "codingest"
|
|
305
|
-
version = "0.2.
|
|
305
|
+
version = "0.2.16"
|
|
306
306
|
dependencies = [
|
|
307
307
|
"aho-corasick",
|
|
308
308
|
"base64 0.22.1",
|
|
@@ -338,7 +338,7 @@ dependencies = [
|
|
|
338
338
|
|
|
339
339
|
[[package]]
|
|
340
340
|
name = "codingest-cli"
|
|
341
|
-
version = "0.2.
|
|
341
|
+
version = "0.2.16"
|
|
342
342
|
dependencies = [
|
|
343
343
|
"anyhow",
|
|
344
344
|
"clap",
|
|
@@ -350,7 +350,7 @@ dependencies = [
|
|
|
350
350
|
|
|
351
351
|
[[package]]
|
|
352
352
|
name = "codingest-mcp"
|
|
353
|
-
version = "0.2.
|
|
353
|
+
version = "0.2.16"
|
|
354
354
|
dependencies = [
|
|
355
355
|
"anyhow",
|
|
356
356
|
"codingest",
|
|
@@ -359,7 +359,7 @@ dependencies = [
|
|
|
359
359
|
|
|
360
360
|
[[package]]
|
|
361
361
|
name = "codingest-py"
|
|
362
|
-
version = "0.2.
|
|
362
|
+
version = "0.2.16"
|
|
363
363
|
dependencies = [
|
|
364
364
|
"codingest",
|
|
365
365
|
"codingest-cli",
|
|
@@ -1366,9 +1366,9 @@ dependencies = [
|
|
|
1366
1366
|
|
|
1367
1367
|
[[package]]
|
|
1368
1368
|
name = "kglite"
|
|
1369
|
-
version = "0.16.
|
|
1369
|
+
version = "0.16.22"
|
|
1370
1370
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1371
|
-
checksum = "
|
|
1371
|
+
checksum = "fd64dd197a566f9803177f8ad4ceeacd99a0c5c213462170a946446249233d58"
|
|
1372
1372
|
dependencies = [
|
|
1373
1373
|
"bzip2",
|
|
1374
1374
|
"chrono",
|
|
@@ -1402,9 +1402,9 @@ dependencies = [
|
|
|
1402
1402
|
|
|
1403
1403
|
[[package]]
|
|
1404
1404
|
name = "kglite-mcp-server"
|
|
1405
|
-
version = "0.16.
|
|
1405
|
+
version = "0.16.22"
|
|
1406
1406
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
|
1407
|
-
checksum = "
|
|
1407
|
+
checksum = "c471846a12ea97a285131f3655c73f49495609ce63d3cbba263616fc5a10bf87"
|
|
1408
1408
|
dependencies = [
|
|
1409
1409
|
"anyhow",
|
|
1410
1410
|
"bytes",
|
|
@@ -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.16"
|
|
7
7
|
edition = "2021"
|
|
8
8
|
rust-version = "1.88"
|
|
9
9
|
license = "MIT"
|
|
@@ -12,9 +12,50 @@ repository = "https://github.com/kkollsga/codingest"
|
|
|
12
12
|
[workspace.dependencies]
|
|
13
13
|
base64 = "0.22"
|
|
14
14
|
sha2 = "0.11"
|
|
15
|
-
# kglite engine + MCP server — imported as crates.io libraries. The 0.16.
|
|
16
|
-
# floor
|
|
17
|
-
# Where
|
|
15
|
+
# kglite engine + MCP server — imported as crates.io libraries. The 0.16.22
|
|
16
|
+
# floor spans two upstream releases: codingest never took 0.16.21, so 0.16.21
|
|
17
|
+
# and 0.16.22 land here together. Where they land for us:
|
|
18
|
+
# * kglite-mcp-server (embedded unchanged via codingest-mcp's
|
|
19
|
+
# run_with_extensions): a `skills:` pack declared in a manifest but missing
|
|
20
|
+
# on disk now FAILS the boot. It used to fail the whole registry build and
|
|
21
|
+
# boot anyway with every skill gone — the bundled methodology included —
|
|
22
|
+
# while the graph tools answered normally and `--selftest` printed PASSED;
|
|
23
|
+
# `--selftest` now also prints the number of skills the session serves.
|
|
24
|
+
# codingest ships no manifest and declares no skills pack, so no server we
|
|
25
|
+
# start can reach it, but an operator manifest pointed at codingest-mcp can.
|
|
26
|
+
# `save_graph(force: true)` now requires the write opt-in (`--writable` or
|
|
27
|
+
# `extensions.writable: true`) and is refused on a server that registers
|
|
28
|
+
# `save_graph` alone via `builtins.save_graph: true`; a save that persisted
|
|
29
|
+
# only boot configuration says so instead of reporting a node count nothing
|
|
30
|
+
# moved, and a refused save on a clean server says "Nothing was changed
|
|
31
|
+
# here" rather than claiming unsaved changes are still queryable. The lease
|
|
32
|
+
# record's `since=` / `released=` move to second-precision UTC (older
|
|
33
|
+
# local-offset records still parse).
|
|
34
|
+
# * kglite core: additive for us, breaking for callers we are not.
|
|
35
|
+
# `KgError::CypherTimeout` gains a `message` field and real
|
|
36
|
+
# `elapsed_ms`/`limit_ms`, and a fired deadline now raises
|
|
37
|
+
# `CypherTimeoutError` instead of `CypherExecutionError` — codingest names
|
|
38
|
+
# no `KgError` variant and catches no kglite Python exception, so the
|
|
39
|
+
# retyping reaches our users only through kglite's own surface (a
|
|
40
|
+
# `codingest query --timeout` that fires reports through kglite's error,
|
|
41
|
+
# whose class changed). `ServerExtensions::read_only()` and
|
|
42
|
+
# `kglite::api::introspection::TypeCapabilities` are new and uncalled here;
|
|
43
|
+
# `ServerExtensions::default().with_workspace_graph(...)` is a builder
|
|
44
|
+
# chain, so a struct that gained a field is not a literal break for us.
|
|
45
|
+
# The blueprint spec structs (`Blueprint`, `Settings`, `NodeSpec`, `FkEdge`,
|
|
46
|
+
# `JunctionEdge`) gained fields and `JunctionEdge::target` became
|
|
47
|
+
# `Vec<String>` — a struct-literal break codingest cannot hit: it builds no
|
|
48
|
+
# blueprint and calls neither `from_blueprint` nor `from_records`, so the
|
|
49
|
+
# now-honoured `on_missing_endpoint` spec key changes nothing here either.
|
|
50
|
+
# Ranked retrieval (`text_bm25`, `vector_score`) on an unindexed property
|
|
51
|
+
# now raises instead of answering zero rows, and `ontology_audit()` /
|
|
52
|
+
# `edge_property_violation()` each yield one more column — codingest calls
|
|
53
|
+
# none of them and pins no column set. `save_graph` / `write_kgl` /
|
|
54
|
+
# `prepare_kgl_write` — every persistence entry we call — are
|
|
55
|
+
# byte-identical, and the goldens prove it.
|
|
56
|
+
# It sits on the 0.16.20
|
|
57
|
+
# floor, which renames the MCP identity counter and makes a clean save a no-op.
|
|
58
|
+
# Where that landed for us:
|
|
18
59
|
# * kglite-mcp-server (embedded unchanged via codingest-mcp's
|
|
19
60
|
# run_with_extensions): the `<active_graph>` header and the
|
|
20
61
|
# `— active graph:` footer now say `load="N"` / `· load N ·` instead of
|
|
@@ -388,8 +429,8 @@ sha2 = "0.11"
|
|
|
388
429
|
# and no disk storage. Neither 0.15.7 nor 0.15.8 changes the `kglite::api` we
|
|
389
430
|
# call, graph output, property encoding, or `.kgl` serialization.
|
|
390
431
|
# Keep both libraries aligned so the graph and server share one engine release.
|
|
391
|
-
kglite = { version = "0.16.
|
|
392
|
-
kglite-mcp-server = { version = "0.16.
|
|
432
|
+
kglite = { version = "0.16.22", default-features = false }
|
|
433
|
+
kglite-mcp-server = { version = "0.16.22", default-features = false }
|
|
393
434
|
|
|
394
435
|
# Dependency debuginfo capped at line tables (kglite coordination, 2026-08-31,
|
|
395
436
|
# 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.16
|
|
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.16.
|
|
15
|
+
Requires-Dist: kglite>=0.16.22,<0.17
|
|
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
|
|
@@ -192,7 +192,7 @@ codingest skill install # code-review Agent Skill
|
|
|
192
192
|
```
|
|
193
193
|
|
|
194
194
|
The wheel bundles every grammar plus the `codingest` and `codingest-mcp`
|
|
195
|
-
commands. KGLite ≥0.16.
|
|
195
|
+
commands. KGLite ≥0.16.22 is installed automatically as the query/storage
|
|
196
196
|
engine; its MCP server and the transitive `mcp-methods` framework power the
|
|
197
197
|
builder-aware Codingest server. Nothing else needs to be installed.
|
|
198
198
|
|
|
@@ -205,7 +205,7 @@ Python prerequisites.
|
|
|
205
205
|
```toml
|
|
206
206
|
[dependencies]
|
|
207
207
|
codingest = "0.2"
|
|
208
|
-
kglite = "0.16.
|
|
208
|
+
kglite = "0.16.22"
|
|
209
209
|
```
|
|
210
210
|
|
|
211
211
|
```rust
|
|
@@ -277,7 +277,7 @@ diagnostic.
|
|
|
277
277
|
## Dependency policy
|
|
278
278
|
|
|
279
279
|
`kglite` and `kglite-mcp-server` use matching crates.io requirements with a
|
|
280
|
-
0.16.
|
|
280
|
+
0.16.22 minimum and a shared lockfile. This keeps the builder, persistence
|
|
281
281
|
handoff, and embedded MCP server on one compatible engine patch line.
|
|
282
282
|
|
|
283
283
|
## Parity with the (now-removed) in-tree component
|
|
@@ -165,7 +165,7 @@ codingest skill install # code-review Agent Skill
|
|
|
165
165
|
```
|
|
166
166
|
|
|
167
167
|
The wheel bundles every grammar plus the `codingest` and `codingest-mcp`
|
|
168
|
-
commands. KGLite ≥0.16.
|
|
168
|
+
commands. KGLite ≥0.16.22 is installed automatically as the query/storage
|
|
169
169
|
engine; its MCP server and the transitive `mcp-methods` framework power the
|
|
170
170
|
builder-aware Codingest server. Nothing else needs to be installed.
|
|
171
171
|
|
|
@@ -178,7 +178,7 @@ Python prerequisites.
|
|
|
178
178
|
```toml
|
|
179
179
|
[dependencies]
|
|
180
180
|
codingest = "0.2"
|
|
181
|
-
kglite = "0.16.
|
|
181
|
+
kglite = "0.16.22"
|
|
182
182
|
```
|
|
183
183
|
|
|
184
184
|
```rust
|
|
@@ -250,7 +250,7 @@ diagnostic.
|
|
|
250
250
|
## Dependency policy
|
|
251
251
|
|
|
252
252
|
`kglite` and `kglite-mcp-server` use matching crates.io requirements with a
|
|
253
|
-
0.16.
|
|
253
|
+
0.16.22 minimum and a shared lockfile. This keeps the builder, persistence
|
|
254
254
|
handoff, and embedded MCP server on one compatible engine patch line.
|
|
255
255
|
|
|
256
256
|
## 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.16.
|
|
13
|
+
# workspace pins the current engine floor (0.16.22).
|
|
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.16", path = "../codingest" }
|
|
18
18
|
kglite = { workspace = true }
|
|
19
19
|
anyhow = "1.0.104"
|
|
20
20
|
clap = { version = "4.6.4", features = ["derive"] }
|
|
@@ -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.16", 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.16", 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.16", path = "../codingest-mcp" }
|
|
@@ -74,7 +74,7 @@ fn load_via_kglite(py: Python<'_>, path: &Path) -> PyResult<Py<PyAny>> {
|
|
|
74
74
|
PyRuntimeError::new_err(format!(
|
|
75
75
|
"codingest.build() returns a kglite.KnowledgeGraph, but importing \
|
|
76
76
|
`kglite` failed ({e}). Install it: `pip install \
|
|
77
|
-
'kglite>=0.16.
|
|
77
|
+
'kglite>=0.16.22,<0.17'`."
|
|
78
78
|
))
|
|
79
79
|
})?;
|
|
80
80
|
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.16.
|
|
45
|
+
# (`version = "0.16.22"` == `>=0.16.22,<0.17.0`) exactly — bump both together.
|
|
46
46
|
dependencies = [
|
|
47
|
-
"kglite>=0.16.
|
|
47
|
+
"kglite>=0.16.22,<0.17",
|
|
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
|
{codingest-0.2.15 → codingest-0.2.16}/crates/codingest/tests/goldens/csharp_using_alias.sha256
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{codingest-0.2.15 → codingest-0.2.16}/crates/codingest/tests/goldens/docs_ext_collide.sha256
RENAMED
|
File without changes
|
|
File without changes
|
{codingest-0.2.15 → codingest-0.2.16}/crates/codingest/tests/goldens/dup_minified_assets.sha256
RENAMED
|
File without changes
|
|
File without changes
|
{codingest-0.2.15 → codingest-0.2.16}/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.15 → codingest-0.2.16}/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
|
{codingest-0.2.15 → codingest-0.2.16}/crates/codingest-cli/skills/codingest-code-review/SKILL.md
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
|