lmjtfy.git / Cargo.toml
1[workspace]
2resolver = "3"
3members = ["apps/lmjtfy", "packages/archive", "packages/ask", "packages/budget", "packages/card", "packages/llm", "packages/rules", "packages/tree", "tools/eval"]

jevcrates is its own workspace; without this its crates are taken for members of this one and cannot inherit their own workspace dependencies.

6exclude = ["third-party"]
8[workspace.package]
9version = "0.0.1"
10edition = "2024"
11license = "MIT OR Apache-2.0"
12authors = ["deizel"]
13publish = false
14
15[workspace.dependencies]
16archive = { path = "packages/archive" }
17ask = { path = "packages/ask" }
18budget = { path = "packages/budget" }
19card = { path = "packages/card" }
20llm = { path = "packages/llm" }
21rules = { path = "packages/rules" }
22tree = { path = "packages/tree" }
23jev-client = { path = "third-party/jevcrates/jev-client" }

The native client, with the estate's shared spend ledger. For the eval only: the Worker cannot use it and has jev-worker.

26jev-http = { path = "third-party/jevcrates/jev-http" }
27jev-protocol = { path = "third-party/jevcrates/jev-protocol" }
28jev-worker = { path = "third-party/jevcrates/jev-worker" }

The clone proxy's Basic auth header.

31base64 = "0.23"

The clone proxy reads git's upload-pack requests, which git gzips when they are long. The pure-Rust backend, for wasm.

34flate2 = { version = "1", default-features = false, features = ["rust_backend"] }
35axum = { version = "0.8", default-features = false, features = ["json", "query"] }
36bytes = "1"
37datastar = "0.4"

The link preview card: an 8 by 8 bitmap face (public domain), and the PNG it is written as.

40font8x8 = "0.3"
41futures-channel = "0.3"

std: Shared, which the archive uses so that identical asks arriving together wait on one call.

44futures-util = { version = "0.3", default-features = false, features = ["std"] }
45http = "1"
46js-sys = "0.3"
47maud = "0.27"
48png = "0.18"

The code pages' markdown. No HTML feature beyond its own writer, no I/O.

50pulldown-cmark = { version = "0.13", default-features = false, features = ["html"] }
51serde = { version = "1", features = ["derive"] }

preserve_order: the page prints a body's keys in the order they were sent.

53serde_json = { version = "1", features = ["preserve_order"] }
54sha2 = "0.11"
55tokio = { version = "1", features = ["rt"] }
56tower-service = "0.3"

The wasm-bindgen crate and CLI must be the same version. The CLI is nix's (flake.nix, WASM_BINDGEN_BIN); moving nixpkgs moves this pin with it.

59wasm-bindgen = "=0.2.127"
60wasm-bindgen-futures = "0.4"
61worker = { version = "0.8", features = ["http", "axum"] }
63[profile.release]
64opt-level = "s"
65lto = true
66codegen-units = 1