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"]
4# jevcrates is its own workspace; without this its crates are taken for
5# members of this one and cannot inherit their own workspace dependencies.
6exclude = ["third-party"]
7
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" }
24# The native client, with the estate's shared spend ledger. For the eval only:
25# 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" }
29
30# The clone proxy's Basic auth header.
31base64 = "0.23"
32# The clone proxy reads git's upload-pack requests, which git gzips when
33# 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"
38# The link preview card: an 8 by 8 bitmap face (public domain), and the PNG
39# it is written as.
40font8x8 = "0.3"
41futures-channel = "0.3"
42# std: `Shared`, which the archive uses so that identical asks arriving
43# 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"
49# 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"] }
52# 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"
57# The wasm-bindgen crate and CLI must be the same version. The CLI is nix's
58# (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"] }
62
63[profile.release]
64opt-level = "s"
65lto = true
66codegen-units = 1