| 1 | [package] |
| 2 | name = "codewhale-cli" |
| 3 | version.workspace = true |
| 4 | edition.workspace = true |
| 5 | rust-version.workspace = true |
| 6 | license.workspace = true |
| 7 | repository.workspace = true |
| 8 | description = "Agentic terminal facade for open-source and open-weight coding models" |
| 9 | |
| 10 | [lints] |
| 11 | workspace = true |
| 12 | |
| 13 | [features] |
| 14 | default = ["mimalloc-allocator"] |
| 15 | mimalloc-allocator = ["dep:mimalloc"] |
| 16 | # Opt-in global-allocator swap (#5872): build on rusty_alloc (the pure-Rust |
| 17 | # mimalloc v2.4.5 remake — no C compiler, no build script) instead of the |
| 18 | # default mimalloc. Off by default; the default build is unchanged. |
| 19 | # Build with: cargo build -p codewhale-cli --no-default-features --features rusty-alloc |
| 20 | rusty-alloc = ["dep:rusty_alloc-api", "codewhale-tui/rusty-alloc"] |
| 21 | |
| 22 | [[bin]] |
| 23 | name = "codewhale" |
| 24 | path = "src/main.rs" |
| 25 | |
| 26 | [dependencies] |
| 27 | anyhow.workspace = true |
| 28 | clap.workspace = true |
| 29 | clap_complete.workspace = true |
| 30 | codewhale-tui = { path = "../tui", version = "0.10.0", default-features = false } |
| 31 | codewhale-agent = { path = "../agent", version = "0.10.0" } |
| 32 | codewhale-app-server = { path = "../app-server", version = "0.10.0" } |
| 33 | codewhale-config = { path = "../config", version = "0.10.0" } |
| 34 | codewhale-lane = { path = "../lane", version = "0.10.0" } |
| 35 | codewhale-workflow = { path = "../workflow", version = "0.10.0" } |
| 36 | codewhale-execpolicy = { path = "../execpolicy", version = "0.10.0" } |
| 37 | codewhale-mcp = { path = "../mcp", version = "0.10.0" } |
| 38 | codewhale-paths = { path = "../paths", version = "0.10.0" } |
| 39 | codewhale-release = { path = "../release", version = "0.10.0" } |
| 40 | codewhale-secrets = { path = "../secrets", version = "0.10.0" } |
| 41 | codewhale-state = { path = "../state", version = "0.10.0" } |
| 42 | codewhale-telemetry = { path = "../telemetry", version = "0.10.0" } |
| 43 | chrono.workspace = true |
| 44 | console = "0.16.3" |
| 45 | dirs.workspace = true |
| 46 | serde.workspace = true |
| 47 | serde_json.workspace = true |
| 48 | toml.workspace = true |
| 49 | reqwest = { workspace = true, features = ["blocking"] } |
| 50 | rustls.workspace = true |
| 51 | semver.workspace = true |
| 52 | tokio.workspace = true |
| 53 | mimalloc = { workspace = true, optional = true } |
| 54 | rusty_alloc-api = { workspace = true, optional = true } |
| 55 | sha2.workspace = true |
| 56 | tempfile.workspace = true |
| 57 | tracing.workspace = true |
| 58 | webbrowser = "1.0" |
| 59 | zeroize = "1.8.2" |
| 60 | |
| 61 | [build-dependencies] |
| 62 | codewhale-build-support = { path = "../build-support", version = "0.10.0" } |
| 63 | |
| 64 | # Parent-death cleanup for delegated server children (#3259): on Linux the |
| 65 | # dispatcher sets PR_SET_PDEATHSIG so the child is signalled if the dispatcher |
| 66 | # dies uncatchably; on Windows it assigns the child to a kill-on-job-close Job |
| 67 | # Object. Also used in main.rs to reset SIGPIPE to SIG_DFL on any Unix target |
| 68 | # (#4030), so libc must be available across all Unix, not just Linux. |
| 69 | [target.'cfg(unix)'.dependencies] |
| 70 | libc = "0.2" |
| 71 | |
| 72 | [target.'cfg(windows)'.dependencies] |
| 73 | windows = { version = "0.62", features = ["Win32_Foundation", "Win32_Security", "Win32_System_JobObjects", "Win32_System_Threading"] } |
| 74 | |
| 75 | [dev-dependencies] |
| 76 |