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.
Files changed (105) hide show
  1. {codingest-0.2.15 → codingest-0.2.16}/Cargo.lock +8 -8
  2. {codingest-0.2.15 → codingest-0.2.16}/Cargo.toml +47 -6
  3. {codingest-0.2.15 → codingest-0.2.16}/PKG-INFO +5 -5
  4. {codingest-0.2.15 → codingest-0.2.16}/README.md +3 -3
  5. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/Cargo.toml +1 -1
  6. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest-cli/Cargo.toml +1 -1
  7. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest-mcp/Cargo.toml +1 -1
  8. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest-py/Cargo.toml +3 -3
  9. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest-py/src/lib.rs +1 -1
  10. {codingest-0.2.15 → codingest-0.2.16}/pyproject.toml +2 -2
  11. {codingest-0.2.15 → codingest-0.2.16}/LICENSE +0 -0
  12. {codingest-0.2.15 → codingest-0.2.16}/codingest/__init__.py +0 -0
  13. {codingest-0.2.15 → codingest-0.2.16}/codingest/__init__.pyi +0 -0
  14. {codingest-0.2.15 → codingest-0.2.16}/codingest/cli.py +0 -0
  15. {codingest-0.2.15 → codingest-0.2.16}/codingest/mcp_server.py +0 -0
  16. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/bin/codingest_bench.rs +0 -0
  17. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/bin/codingest_stats.rs +0 -0
  18. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/builder/call_edges.rs +0 -0
  19. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/builder/js_workspace.rs +0 -0
  20. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/builder/load/edge_frames.rs +0 -0
  21. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/builder/load/entity_frames.rs +0 -0
  22. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/builder/load.rs +0 -0
  23. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/builder/mod.rs +0 -0
  24. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/builder/other_edges.rs +0 -0
  25. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/builder/routes/django.rs +0 -0
  26. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/builder/routes/fastapi.rs +0 -0
  27. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/builder/routes/flask.rs +0 -0
  28. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/builder/routes/mod.rs +0 -0
  29. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/builder/semantic_edges.rs +0 -0
  30. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/builder/type_edges.rs +0 -0
  31. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/cross_lang.rs +0 -0
  32. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/docs/mod.rs +0 -0
  33. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/docs/rst.rs +0 -0
  34. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/lib.rs +0 -0
  35. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/manifest/mod.rs +0 -0
  36. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/models.rs +0 -0
  37. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/parsers/agc.rs +0 -0
  38. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/parsers/cpp.rs +0 -0
  39. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/parsers/csharp.rs +0 -0
  40. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/parsers/css.rs +0 -0
  41. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/parsers/dart.rs +0 -0
  42. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/parsers/go.rs +0 -0
  43. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/parsers/html.rs +0 -0
  44. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/parsers/java.rs +0 -0
  45. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/parsers/julia.rs +0 -0
  46. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/parsers/mod.rs +0 -0
  47. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/parsers/php.rs +0 -0
  48. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/parsers/python.rs +0 -0
  49. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/parsers/r.rs +0 -0
  50. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/parsers/registry.rs +0 -0
  51. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/parsers/rust_lang.rs +0 -0
  52. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/parsers/shared.rs +0 -0
  53. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/parsers/swift.rs +0 -0
  54. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/parsers/typescript.rs +0 -0
  55. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/repo.rs +0 -0
  56. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/src/rev.rs +0 -0
  57. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/tests/agc_apollo.rs +0 -0
  58. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/tests/goldens/README.md +0 -0
  59. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/tests/goldens/agc_basic.sha256 +0 -0
  60. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/tests/goldens/cpp_extern_c.sha256 +0 -0
  61. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/tests/goldens/cpp_include.sha256 +0 -0
  62. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/tests/goldens/cross_ts_py.sha256 +0 -0
  63. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/tests/goldens/csharp_using_alias.sha256 +0 -0
  64. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/tests/goldens/dart_import.sha256 +0 -0
  65. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/tests/goldens/dart_part_of.sha256 +0 -0
  66. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/tests/goldens/docs_ext_collide.sha256 +0 -0
  67. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/tests/goldens/docs_mdx.sha256 +0 -0
  68. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/tests/goldens/dup_minified_assets.sha256 +0 -0
  69. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/tests/goldens/go_interface.sha256 +0 -0
  70. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/tests/goldens/html_js_lang_group.sha256 +0 -0
  71. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/tests/goldens/java_javadoc.sha256 +0 -0
  72. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/tests/goldens/julia_basic.sha256 +0 -0
  73. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/tests/goldens/php_group_use.sha256 +0 -0
  74. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/tests/goldens/py_basic.sha256 +0 -0
  75. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/tests/goldens/py_import.sha256 +0 -0
  76. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/tests/goldens/py_inheritance.sha256 +0 -0
  77. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/tests/goldens/py_nested_defs.sha256 +0 -0
  78. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/tests/goldens/py_routes_dup.sha256 +0 -0
  79. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/tests/goldens/py_src_layout.sha256 +0 -0
  80. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/tests/goldens/r_basic.sha256 +0 -0
  81. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/tests/goldens/rust_import.sha256 +0 -0
  82. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/tests/goldens/rust_inline_mod.sha256 +0 -0
  83. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/tests/goldens/rust_xfile.sha256 +0 -0
  84. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/tests/goldens/swift_basic.sha256 +0 -0
  85. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/tests/goldens/ts_callback.sha256 +0 -0
  86. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/tests/goldens/ts_closure_scope.sha256 +0 -0
  87. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/tests/goldens/ts_hof_binding.sha256 +0 -0
  88. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/tests/goldens/ts_monorepo.sha256 +0 -0
  89. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/tests/goldens/web_served_root.sha256 +0 -0
  90. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/tests/grammar_kinds.rs +0 -0
  91. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/tests/parity.rs +0 -0
  92. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest/tests/traversal_semantics.rs +0 -0
  93. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest-cli/skills/codingest-code-review/SKILL.md +0 -0
  94. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest-cli/skills/codingest-code-review/references/mcp-upgrade.md +0 -0
  95. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest-cli/skills/codingest-code-review/references/public-repositories.md +0 -0
  96. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest-cli/skills/codingest-code-review/references/queries.md +0 -0
  97. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest-cli/src/code_tree_cli.rs +0 -0
  98. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest-cli/src/lib.rs +0 -0
  99. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest-cli/src/main.rs +0 -0
  100. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest-cli/src/query.rs +0 -0
  101. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest-cli/src/skill.rs +0 -0
  102. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest-cli/src/skill_assets.rs +0 -0
  103. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest-cli/tests/exit_codes.rs +0 -0
  104. {codingest-0.2.15 → codingest-0.2.16}/crates/codingest-mcp/src/lib.rs +0 -0
  105. {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.15"
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.15"
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.15"
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.15"
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.20"
1369
+ version = "0.16.22"
1370
1370
  source = "registry+https://github.com/rust-lang/crates.io-index"
1371
- checksum = "994cc3d33bc74e6eb248eeb93c33c3b64ed70a6d587798ad22849d91fc49c447"
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.20"
1405
+ version = "0.16.22"
1406
1406
  source = "registry+https://github.com/rust-lang/crates.io-index"
1407
- checksum = "9e8daafc887ec2144e987e7dc9f034c674df8460fd6a5eb4cad22d406e473952"
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.15"
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.20
16
- # floor renames the MCP identity counter and makes a clean save a no-op.
17
- # Where it lands for us:
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.20", default-features = false }
392
- kglite-mcp-server = { version = "0.16.20", default-features = false }
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.15
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.20,<0.17
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.20 is installed automatically as the query/storage
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.20"
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.20 minimum and a shared lockfile. This keeps the builder, persistence
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.20 is installed automatically as the query/storage
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.20"
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.20 minimum and a shared lockfile. This keeps the builder, persistence
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.20).
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.15", path = "../codingest" }
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"] }
@@ -14,6 +14,6 @@ name = "codingest-mcp"
14
14
  path = "src/main.rs"
15
15
 
16
16
  [dependencies]
17
- codingest = { version = "0.2.15", path = "../codingest" }
17
+ codingest = { version = "0.2.16", path = "../codingest" }
18
18
  kglite-mcp-server = { workspace = true }
19
19
  anyhow = "1.0.104"
@@ -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.15", path = "../codingest", default-features = false }
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.15", path = "../codingest-cli" }
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.15", path = "../codingest-mcp" }
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.20,<0.17'`."
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.20"` == `>=0.16.20,<0.17.0`) exactly — bump both together.
45
+ # (`version = "0.16.22"` == `>=0.16.22,<0.17.0`) exactly — bump both together.
46
46
  dependencies = [
47
- "kglite>=0.16.20,<0.17",
47
+ "kglite>=0.16.22,<0.17",
48
48
  ]
49
49
 
50
50
  [project.urls]
File without changes
File without changes