Repository navigation
Expand file tree
/
Copy pathCargo.toml
More file actions
35 lines (31 loc) · 1.52 KB
/
Copy pathCargo.toml
File metadata and controls
35 lines (31 loc) · 1.52 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
[package]
name = "sentinel"
version = "0.1.0"
edition = "2021"
description = "A moderation bot for Vector communities: the policy engine judges text, a vision model judges media, Sentinel decides the sentence."
license = "MIT"
rust-version = "1.82" # Option::is_none_or
[dependencies]
vector_sdk = "0.10"
tokio = { version = "1.49", features = ["rt", "rt-multi-thread", "macros", "time", "signal", "sync", "process"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
toml = "0.8"
rusqlite = { version = "0.37", features = ["bundled"] }
# Confidential inference. The enclave's attestation and the HPKE sealing of every
# request body are this crate's job — reimplementing either would be writing our
# own SEV-SNP verifier, which is exactly the thing you do not hand-roll.
tinfoil = { git = "https://github.com/tinfoilsh/tinfoil-rs", optional = true }
[features]
default = ["tee"]
# Off for a bot that only ever talks to a local model: the verifier pulls a
# sigstore and SEV-SNP dependency tree that a LAN endpoint never touches.
tee = ["dep:tinfoil"]
# vector_sdk and vector-core come from crates.io now — 0.10.0 and 0.9.0 carry
# everything this bot reads from a verdict.
#
# `nostr` stays patched to the fork whose SecretKey Drop zeroizes with volatile
# writes rather than a call the compiler may elide. Stock nostr builds fine; this
# holds a key that can ban people, so the erasure is worth a git dependency.
[patch.crates-io]
nostr = { git = "https://github.com/VectorPrivacy/nostr.git", branch = "zeroize-secretkey-v0.45.1" }