-
-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathCargo.toml
More file actions
108 lines (77 loc) · 2.42 KB
/
Copy pathCargo.toml
File metadata and controls
108 lines (77 loc) · 2.42 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
[package]
name = "rustfox"
version = "1.0.2"
edition = "2021"
[dependencies]
# Async runtime
tokio = { version = "1", features = ["full"] }
tokio-util = { version = "0.7" }
# Telegram bot framework
teloxide = { version = "0.17", features = ["macros"] }
# HTTP client for OpenRouter
reqwest = { version = "0.12", features = ["json", "stream"] }
# Self-update for release binary upgrades
self_update = { version = "0.44", features = ["archive-tar", "compression-flate2", "archive-zip"] }
# Serialization
serde = { version = "1", features = ["derive"] }
serde_json = "1"
# Configuration
toml = "0.8"
# MCP client
rmcp = { version = "0.15", features = ["client", "transport-child-process", "transport-io", "transport-streamable-http-client-reqwest"] }
# Logging
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }
# Error handling
anyhow = "1"
# Async utilities
futures = "0.3"
futures-util = "0.3"
# Async trait support
async-trait = "0.1"
# SQLite database with FTS5 and vector search support
rusqlite = { version = "0.34", features = ["bundled", "modern-full"] }
# UUID for message/entry IDs
uuid = { version = "1", features = ["v4"] }
# Chrono for timestamps
chrono = { version = "0.4", features = ["serde"] }
# Background task scheduler
tokio-cron-scheduler = "0.13"
# Markdown parser for entity-based Telegram message formatting
pulldown-cmark = "0.12"
# SQLite vector search extension
sqlite-vec = "0.1"
# Setup wizard web server (used by rustfox --setup)
axum = "0.8"
# Embed bundled skills/agents into the binary for cargo install
include_dir = "0.7"
# OCR (pure Rust, neural-network based)
ocrs = "0.12"
rten = { version = "0.24", features = ["rten_format"] }
# Image loading/processing
image = { version = "0.25", default-features = false, features = ["jpeg", "png", "gif", "webp"] }
# Document processing
pdf-extract = "0.10"
docx-rs = "0.4"
# MIME type detection
infer = "0.19"
# Base64 for vision API content parts and OAuth PKCE helpers
base64 = "0.22"
# OAuth 2.0 / PKCE helpers (used by setup wizard)
rand = "0.8"
sha2 = "0.10"
# Secret-redaction filter
regex = "1"
# OS home-directory resolution for the persistent home dir (~/.rustfox)
dirs = "5"
# Unix process group management (kill child process trees)
nix = { version = "0.31", features = ["signal"] }
rustc-hash = "2.1.3"
[lib]
name = "rustfox"
path = "src/lib.rs"
[[bin]]
name = "rustfox"
path = "src/main.rs"
[dev-dependencies]
tempfile = "3"