1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
[]
= "kglite-cli"
= true
= "2021"
# Above the 1.88.0 workspace floor: `rustyline 18` declares no
# `rust-version` of its own but calls `File::lock_shared`, stabilized in
# 1.89.0. On 1.88 it fails with E0658 `use of unstable library feature
# 'file_lock'`, so the metadata floor understates the real one.
= "1.89.0"
= ["Kristian dF Kollsgård <kkollsg@gmail.com>"]
= "MIT"
= "Pure-Rust KGLite CLI: Cypher shell and offline code-review skill installer"
= "README.md"
= "https://github.com/kkollsga/kglite"
= "https://github.com/kkollsga/kglite"
= ["cypher", "repl", "shell", "knowledge-graph", "kglite"]
= ["database", "command-line-utilities"]
[[]]
= "kglite"
= "src/main.rs"
[]
# Reuse kglite's pure-Rust surface (kglite::api::*) — no libpython link
# in the resulting binary. Mirrors the kglite-bolt-server / kglite-mcp-server
# pattern: path dep locally, version requirement on `cargo publish`. The
# requirement tracks the exact workspace version (`make bump-version
# VERSION=X.Y.Z`; `make gate` fails on drift).
= { = "0.15.3", = "../kglite", = false, = ["okf"] }
# Line editor: prompt, history, Emacs/Vi keybindings, Ctrl-C/Ctrl-D handling.
# The standard Rust REPL choice; not otherwise a workspace dep.
= "18"
# SIGINT → cancel the in-flight query (sets the flag execute_mut polls).
# rustyline keeps the prompt in raw mode, so Ctrl-C only raises SIGINT while
# a query is actually running.
= "3"
# `.mode json` output via kglite::api::param::kglite_value_to_json.
= "1.0.150"
# `.import <file.csv> <Type>` — parse the CSV; rows are passed as a Cypher
# `$rows` param (values parameterized, not interpolated). Already a `kglite` dep.
= "1.4"
= { = "4.3", = ["derive"] }
# 1.0.47 is a BEHAVIOURAL floor, not just a compiling one. Below it,
# `anyhow!("... {e}")` does not capture `e` -- the macro routed a lone
# literal straight to `Error::msg`, so the message printed the literal
# text "{e}". kglite-cli relies on inline captures (src/lib.rs:405 and
# others). Verified by RUNNING each version, not by compiling: 1.0.45
# prints "failed: {e}", 1.0.47 prints "failed: BOOM" (1.0.46 is yanked).
# 1.0.20 also matters (anyhow::Error::msg, used by mcp-methods) and
# 1.0.5 (Context for Option, used by kglite-cli); 1.0.47 covers all.
= "1.0.47"
[]
= "3.10.0"