返回 CodeWhale
Cargo.toml
根目录 / crates / tui / Cargo.toml
1 [package]
2 name = "codewhale-tui"
3 version.workspace = true
4 edition.workspace = true
5 rust-version.workspace = true
6 license.workspace = true
7 repository.workspace = true
8 description = "Terminal UI for open-source and open-weight coding models"
9 default-run = "codewhale-tui"
10
11 [features]
12 default = ["tui", "json", "toml"]
13 tui = ["dep:schemaui", "schemaui/tui", "json", "toml"]
14 web = ["dep:schemaui", "schemaui/web", "json", "toml"]
15 json = ["schemaui/json"]
16 toml = ["schemaui/toml"]
17 long-running-tests = []
18
19 [[bin]]
20 name = "codewhale-tui"
21 path = "src/main.rs"
22
23 [dependencies]
24 ahash = "0.8"
25 anyhow.workspace = true
26 codewhale-config = { path = "../config", version = "0.9.4" }
27 codewhale-execpolicy = { path = "../execpolicy", version = "0.9.4" }
28 codewhale-lane = { path = "../lane", version = "0.9.4" }
29 codewhale-paths = { path = "../paths", version = "0.9.4" }
30 codewhale-protocol = { path = "../protocol", version = "0.9.4" }
31 codewhale-release = { path = "../release", version = "0.9.4" }
32 codewhale-secrets = { path = "../secrets", version = "0.9.4" }
33 codewhale-telemetry = { path = "../telemetry", version = "0.9.4" }
34 codewhale-tools = { path = "../tools", version = "0.9.4" }
35 codewhale-workflow = { path = "../workflow", version = "0.9.4" }
36 codewhale-workflow-js = { path = "../workflow-js", version = "0.9.4" }
37 schemaui = { version = "0.12.0", default-features = false, optional = true }
38 async-stream = "0.3.6"
39 async-trait.workspace = true
40 base64 = "0.23.0"
41 axum.workspace = true
42 clap.workspace = true
43 clap_complete.workspace = true
44 colored = "3.0.0"
45 crossterm = "0.29"
46 dotenvy = "0.15.7"
47 encoding_rs.workspace = true
48 fd-lock = "4.0.4"
49 dirs.workspace = true
50 futures-util = "0.3.31"
51 oauth2 = "5"
52 # Pin ratatui 0.30.0 + transitive ratatui-core 0.1.0: core 0.1.1+ queries
53 # cursor position in Terminal::clear and races our input loop at startup
54 # (ratatui/ratatui#2483/#2640). Unpin when upstream fixes that.
55 ratatui = { version = "=0.30.0", features = ["unstable-rendered-line-info"] }
56 ratatui-core = "=0.1.0"
57 regex = "1.11"
58 reqwest = { workspace = true, features = ["blocking", "stream", "form", "http2", "gzip"] }
59 rusqlite.workspace = true
60 rmcp = { version = "2.2.0", default-features = false, features = ["auth", "client"] }
61 rustls.workspace = true
62 qrcode = { version = "0.14", default-features = false }
63 similar = "3"
64 syntect = { version = "5.2", default-features = false, features = ["default-fancy"] }
65 serde.workspace = true
66 serde_json = { workspace = true, features = ["preserve_order"] }
67 schemars = { version = "1.2.1", features = ["derive", "preserve_order"] }
68 shellexpand = "3"
69 toml.workspace = true
70 toml_edit.workspace = true
71 tokio.workspace = true
72 tokio-util = { version = "0.7.16", features = ["io"] }
73 unicode-width = "0.2"
74 unicode-segmentation = "1.12"
75 unicode-normalization = "0.1"
76 urlencoding = "2.1"
77 uuid.workspace = true
78 chrono.workspace = true
79 tempfile.workspace = true
80 thiserror.workspace = true
81 tracing.workspace = true
82 tracing-subscriber.workspace = true
83 tower-http.workspace = true
84 wait-timeout = "0.2"
85 webbrowser = "1.0"
86 shlex = "1.3.0"
87 tiny_http = "0.12"
88 globset = "0.4"
89 ignore = "0.4"
90 image = { version = "0.25", default-features = false, features = ["png"] }
91 htmd = "0.5.4"
92 lru = "0.18"
93 parking_lot = "0.12"
94 readability = { version = "0.3.0", default-features = false }
95 tar = "0.4"
96 flate2 = "1.1"
97 sha2.workspace = true
98 semver.workspace = true
99 rust-i18n = "4.1.0"
100 shell-words = "1.1.1"
101 mimalloc.workspace = true
102
103 [build-dependencies]
104 codewhale-build-support = { path = "../build-support", version = "0.9.4" }
105
106 [dev-dependencies]
107 cucumber = "0.23.0"
108 wiremock = "0.6"
109 pretty_assertions = "1.4"
110 rio-vt = "0.5.1"
111
112 [target.'cfg(unix)'.dependencies]
113 libc = "0.2"
114
115 [target.'cfg(windows)'.dependencies]
116 windows-sys = { version = "0.61.2", features = ["Win32_Foundation", "Win32_Security", "Win32_Security_Authorization", "Win32_Storage_FileSystem", "Win32_System_Threading"] }
117
118 [target.'cfg(any(target_os = "macos", target_os = "windows", all(target_os = "linux", not(target_env = "ohos"))))'.dependencies]
119 arboard = "3.4"
120
121 [target.'cfg(not(target_env = "ohos"))'.dependencies]
122 portable-pty = "0.9"
123
124 [target.'cfg(target_os = "macos")'.dependencies]
125 objc2 = "0.6.3"
126 objc2-foundation = { version = "0.3.2", default-features = false, features = ["std", "NSArray", "NSDictionary", "NSError", "NSObject", "NSString", "NSURL"] }
127
128 [target.'cfg(target_os = "windows")'.dependencies]
129 windows = { version = "0.62", features = ["Win32_Foundation", "Win32_Media_Audio", "Win32_Security", "Win32_Security_Authorization", "Win32_Storage_FileSystem", "Win32_System_Console", "Win32_System_Diagnostics_Debug", "Win32_System_Diagnostics_ToolHelp", "Win32_System_Environment", "Win32_System_JobObjects", "Win32_System_Registry", "Win32_System_Threading", "Win32_UI_WindowsAndMessaging"] }
130
130 lines TOML