- Fix 7 UTF-8 byte slicing panics that crash on multi-byte characters:
- acd.rs: extract_topic_from_text() [..50] slice
- streaming.rs: log_stream_error() [..500] slice
- tools/acd.rs: rehydrate message truncation [..2000] slice
- history.rs: git commit message truncation [..69] slice
- planner.rs: commit summary/description truncation [..69] slices
- llm.rs: requirements summary line truncation [..117] slice
- All now use chars().count() and chars().take(N).collect() for
UTF-8 safe truncation
- Fix inconsistent retry logic in task_execution.rs:
- Previously only retried on Timeout errors
- Now retries on ALL recoverable errors (rate limits, network,
server errors, model busy, token limits, context length)
- Added error-specific base delays (rate limit: 5s, server: 2s, etc.)
- Added exponential backoff with ±20% jitter
- Consistent with autonomous mode retry behavior
38 lines
968 B
TOML
38 lines
968 B
TOML
[package]
|
|
name = "g3-cli"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
description = "CLI interface for G3 AI coding agent"
|
|
|
|
[dependencies]
|
|
g3-core = { path = "../g3-core" }
|
|
g3-config = { path = "../g3-config" }
|
|
g3-planner = { path = "../g3-planner" }
|
|
g3-computer-control = { path = "../g3-computer-control" }
|
|
g3-providers = { path = "../g3-providers" }
|
|
clap = { workspace = true }
|
|
g3-ensembles = { path = "../g3-ensembles" }
|
|
tokio = { workspace = true }
|
|
anyhow = { workspace = true }
|
|
tracing = { workspace = true }
|
|
tracing-subscriber = { workspace = true, features = ["env-filter"] }
|
|
serde = { workspace = true, features = ["derive"] }
|
|
serde_json = { workspace = true }
|
|
rustyline = "17.0.1"
|
|
dirs = "5.0"
|
|
tokio-util = "0.7"
|
|
sha2 = "0.10"
|
|
hex = "0.4"
|
|
indicatif = "0.17"
|
|
chrono = { version = "0.4", features = ["serde"] }
|
|
crossterm = "0.29.0"
|
|
ratatui = "0.29"
|
|
termimad = "0.34.0"
|
|
regex = "1.10"
|
|
syntect = "5.3"
|
|
once_cell = "1.19"
|
|
rand = "0.8"
|
|
|
|
[dev-dependencies]
|
|
tempfile = "3.8"
|