-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathCargo.toml
More file actions
125 lines (101 loc) · 2.77 KB
/
Cargo.toml
File metadata and controls
125 lines (101 loc) · 2.77 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
[package]
name = "sage"
version = "0.13.54"
edition = "2024"
authors = ["Sage Agent Team"]
license = "MIT"
repository = "https://github.com/majiayu000/sage"
description = "LLM-based agent for general purpose software engineering tasks"
[dependencies]
sage-sdk = { path = "crates/sage-sdk", version = "0.13.54" }
sage-core = { path = "crates/sage-core", version = "0.13.54" }
sage-tools = { path = "crates/sage-tools", version = "0.13.54" }
tokio = { workspace = true }
tokio-util = { workspace = true }
tracing-subscriber = { workspace = true }
async-trait = { workspace = true }
serde_json = { workspace = true }
anyhow = { workspace = true }
[dev-dependencies]
tempfile = "3.10"
crossterm = "0.27"
uuid = { workspace = true }
rnk = { workspace = true }
[workspace]
members = [
"crates/sage-core",
"crates/sage-cli",
"crates/sage-sdk",
"crates/sage-tools",
]
resolver = "2"
[workspace.package]
version = "0.13.54"
edition = "2024"
authors = ["Sage Agent Team"]
license = "MIT"
repository = "https://github.com/majiayu000/sage"
description = "Blazing fast code agent in pure Rust - 10x faster startup than Node.js alternatives"
keywords = ["llm", "agent", "ai", "code-agent", "cli"]
categories = ["command-line-utilities", "development-tools"]
[workspace.dependencies]
# Async runtime
tokio = { version = "1.0", features = ["full"] }
tokio-util = "0.7"
futures = "0.3"
# HTTP client
reqwest = { version = "0.12", features = ["json", "stream"] }
# Serialization
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
serde_yaml = "0.9"
toml = "0.8"
# CLI
clap = { version = "4.0", features = ["derive", "env"] }
console = "0.15"
indicatif = "0.17"
colored = "2.0"
dialoguer = { version = "0.11", features = ["fuzzy-select"] }
# Error handling
anyhow = "1.0"
thiserror = "1.0"
# Logging
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter", "json"] }
# Utilities
uuid = { version = "1.0", features = ["v4", "serde"] }
chrono = { version = "0.4", features = ["serde"] }
dirs = "5.0"
shellexpand = "3.0"
# Async traits
async-trait = "0.1"
# JSON path
jsonpath-rust = "0.5"
# Signal handling
signal-hook = "0.3"
signal-hook-tokio = { version = "0.3", features = ["futures-v0_3"] }
# Configuration
config = "0.14"
# Testing
mockall = "0.12"
# Sandbox
regex = "1.10"
humantime-serde = "1.1"
libc = "0.2"
# Process control (Unix signals)
nix = { version = "0.29", features = ["signal", "process"] }
# Static initialization
once_cell = "1.19"
# Synchronization primitives (faster, no-poison alternative to std::sync::Mutex)
parking_lot = "0.12"
# Terminal UI (rnk - React-like declarative UI)
rnk = "0.6"
# File system watching
notify = "7.0"
notify-debouncer-mini = "0.5"
[profile.release]
lto = true
codegen-units = 1
panic = "abort"
[profile.dev]
debug = true