-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathCargo.toml
More file actions
126 lines (122 loc) 路 4.32 KB
/
Copy pathCargo.toml
File metadata and controls
126 lines (122 loc) 路 4.32 KB
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
[workspace]
resolver = "3"
members = ["anda_bot"]
[workspace.package]
description = "馃惣 Born of panda. Awakened as Anda. A copilot for your computer, powered by the ANDA Brain."
repository = "https://github.com/ldclabs/anda-bot"
homepage = "https://github.com/ldclabs/anda-bot"
keywords = ["knowledge-graph", "persistent-memory", "cognitive", "kip", "agent"]
categories = [
"accessibility",
"web-programming",
"development-tools",
"text-processing",
]
edition = "2024"
rust-version = "1.91"
license = "Apache-2.0"
[workspace.dependencies]
async-trait = "0.1"
# Default features already cover http1/json/matched-path/query/tokio; only
# http2 is additive.
axum = { version = "0.8", features = ["http2"] }
anda_core = { version = "0.14" }
anda_engine = { version = "0.14" }
anda_engine_server = { version = "0.14" }
anda_web3_client = { version = "0.14", features = ["client"] }
anda_object_store = "0.11"
anda_db = { version = "0.11", features = ["full"] }
anda_db_tfs = { version = "0.11", features = ["full"] }
anda_db_utils = { version = "0.11" }
anda_brain = { version = "0.10" }
anda_kip = "0.11"
base64 = "0.23"
cpal = { version = "0.18" }
cbor2 = "1"
cose2 = "0.4"
# Held at 2 while anda_brain/anda_engine_server take `VerifyingKey` from
# ic_cose_types (dalek 2); our keys flow into their AppStates, so bumping to 3
# alone splits the type across two dalek versions. (cose2 0.4 is unaffected:
# its dalek backend is optional and this repo uses crypto-aws-lc-rs.)
ed25519-dalek = "2"
# Keep this exact: credential-store initialization has regressed in keyring
# patch releases before, so upgrades should be validated explicitly.
keyring = "=4.1.5"
chrono = { version = "0.4", default-features = false, features = [
"clock",
"std",
] }
chrono-tz = "0.10"
cron = "0.17"
futures = "0.3"
hkdf = "0.13"
http = "1.3"
hyper = { version = "1", features = ["http1", "server"] }
hyper-util = { version = "0.1", features = ["tokio"] }
parking_lot = "0.12"
png = "0.18"
serde = { version = "1", features = ["derive"] }
serde_json = { version = "1" }
# Keep YAML parser upgrades within the validated 1.0 release line.
serde-saphyr = "1.0"
sha3 = "0.12"
sha2 = "0.11"
ic_auth_types = "0.10"
ic-ed25519 = "0.6"
infer2 = { version = "0.21" }
object_store = { version = "0.14" }
# Default features already provide rustls (via default-tls) and http2.
reqwest = { version = "0.13", features = [
"json",
"gzip",
"stream",
"form",
"multipart",
] }
rust-i18n = "4"
# Pulled in only to install a process-level CryptoProvider at startup. `aws_lc_rs`
# is the sole crypto backend in the tree (reqwest's rustls and cose2's
# `crypto-aws-lc-rs` both use it), so this adds the API without introducing a
# second provider.
rustls = { version = "0.23", default-features = false, features = [
"aws_lc_rs",
] }
tokio-util = "0.7"
zeroize = "1"
tokio = { version = "1", features = ["full"] }
tokio-tungstenite = { version = "0.30", features = ["rustls-tls-webpki-roots"] }
structured-logger = "1"
log = { version = "0.4", features = ["kv_serde"] }
clap = { version = "4.5", features = ["derive", "env"] }
tower-http = { version = "0.7", features = ["compression-gzip", "cors"] }
markdown = "1"
mimalloc = { version = "0.1", features = ["v3"] }
rand = "0.10"
prost = { version = "0.14", default-features = false, features = ["derive"] }
libc = "0.2"
liteparse = { version = "2", default-features = false }
liteparse-pdfium-sys = { version = "1", default-features = false }
objc2 = "0.6"
objc2-app-kit = "0.3"
objc2-foundation = "0.3"
ratatui = { version = "0.30", default-features = true }
crossterm = { version = "0.29", features = ["event-stream"] }
tempfile = "3"
unicode-segmentation = "1"
unicode-width = "0.2"
weixin-agent = "0.2"
windows-sys = "0.61"
zip = { version = "8", default-features = false, features = ["deflate-flate2"] }
# Pin patches to explicit revs so builds stay reproducible even without the
# lockfile; bump the rev when upstream main moves.
[patch.crates-io]
ratatui = { git = "https://github.com/ldclabs/ratatui.git", rev = "f2fe6304b898a2b1759a45c6f7936eafebfd8f65" }
weixin-agent = { git = "https://github.com/ldclabs/weixin-agent-sdk-rs.git", rev = "12096bac4d5401884573fb3e7991825f67ccc6f5" }
[profile.release]
lto = true
strip = true
opt-level = 'z'
codegen-units = 1
# cron/runtime.rs relies on catch_unwind for job isolation; do not switch to
# "abort" to shave binary size.
panic = "unwind"