chore(release): bump version to 0.8.9 + cargo fmt
This commit is contained in:
Generated
+14
-14
@@ -1080,7 +1080,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "deepseek-agent"
|
||||
version = "0.8.8"
|
||||
version = "0.8.9"
|
||||
dependencies = [
|
||||
"deepseek-config",
|
||||
"serde",
|
||||
@@ -1088,7 +1088,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "deepseek-app-server"
|
||||
version = "0.8.8"
|
||||
version = "0.8.9"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"axum",
|
||||
@@ -1110,7 +1110,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "deepseek-config"
|
||||
version = "0.8.8"
|
||||
version = "0.8.9"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"deepseek-secrets",
|
||||
@@ -1122,7 +1122,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "deepseek-core"
|
||||
version = "0.8.8"
|
||||
version = "0.8.9"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"chrono",
|
||||
@@ -1140,7 +1140,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "deepseek-execpolicy"
|
||||
version = "0.8.8"
|
||||
version = "0.8.9"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"deepseek-protocol",
|
||||
@@ -1149,7 +1149,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "deepseek-hooks"
|
||||
version = "0.8.8"
|
||||
version = "0.8.9"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"async-trait",
|
||||
@@ -1163,7 +1163,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "deepseek-mcp"
|
||||
version = "0.8.8"
|
||||
version = "0.8.9"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"serde",
|
||||
@@ -1172,7 +1172,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "deepseek-protocol"
|
||||
version = "0.8.8"
|
||||
version = "0.8.9"
|
||||
dependencies = [
|
||||
"serde",
|
||||
"serde_json",
|
||||
@@ -1180,7 +1180,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "deepseek-secrets"
|
||||
version = "0.8.8"
|
||||
version = "0.8.9"
|
||||
dependencies = [
|
||||
"dirs",
|
||||
"keyring",
|
||||
@@ -1193,7 +1193,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "deepseek-state"
|
||||
version = "0.8.8"
|
||||
version = "0.8.9"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"chrono",
|
||||
@@ -1205,7 +1205,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "deepseek-tools"
|
||||
version = "0.8.8"
|
||||
version = "0.8.9"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"async-trait",
|
||||
@@ -1218,7 +1218,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "deepseek-tui"
|
||||
version = "0.8.8"
|
||||
version = "0.8.9"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"arboard",
|
||||
@@ -1277,7 +1277,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "deepseek-tui-cli"
|
||||
version = "0.8.8"
|
||||
version = "0.8.9"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"chrono",
|
||||
@@ -1301,7 +1301,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "deepseek-tui-core"
|
||||
version = "0.8.8"
|
||||
version = "0.8.9"
|
||||
|
||||
[[package]]
|
||||
name = "deranged"
|
||||
|
||||
+1
-1
@@ -19,7 +19,7 @@ default-members = ["crates/cli", "crates/app-server", "crates/tui"]
|
||||
resolver = "2"
|
||||
|
||||
[workspace.package]
|
||||
version = "0.8.8"
|
||||
version = "0.8.9"
|
||||
edition = "2024"
|
||||
license = "MIT"
|
||||
repository = "https://github.com/Hmbown/DeepSeek-TUI"
|
||||
|
||||
@@ -7,5 +7,5 @@ repository.workspace = true
|
||||
description = "Model/provider registry and fallback strategy for DeepSeek workspace architecture"
|
||||
|
||||
[dependencies]
|
||||
deepseek-config = { path = "../config", version = "0.8.8" }
|
||||
deepseek-config = { path = "../config", version = "0.8.9" }
|
||||
serde.workspace = true
|
||||
|
||||
@@ -10,15 +10,15 @@ description = "Codex-style app-server transport for DeepSeek workspace architect
|
||||
anyhow.workspace = true
|
||||
axum.workspace = true
|
||||
clap.workspace = true
|
||||
deepseek-agent = { path = "../agent", version = "0.8.8" }
|
||||
deepseek-config = { path = "../config", version = "0.8.8" }
|
||||
deepseek-core = { path = "../core", version = "0.8.8" }
|
||||
deepseek-execpolicy = { path = "../execpolicy", version = "0.8.8" }
|
||||
deepseek-hooks = { path = "../hooks", version = "0.8.8" }
|
||||
deepseek-mcp = { path = "../mcp", version = "0.8.8" }
|
||||
deepseek-protocol = { path = "../protocol", version = "0.8.8" }
|
||||
deepseek-state = { path = "../state", version = "0.8.8" }
|
||||
deepseek-tools = { path = "../tools", version = "0.8.8" }
|
||||
deepseek-agent = { path = "../agent", version = "0.8.9" }
|
||||
deepseek-config = { path = "../config", version = "0.8.9" }
|
||||
deepseek-core = { path = "../core", version = "0.8.9" }
|
||||
deepseek-execpolicy = { path = "../execpolicy", version = "0.8.9" }
|
||||
deepseek-hooks = { path = "../hooks", version = "0.8.9" }
|
||||
deepseek-mcp = { path = "../mcp", version = "0.8.9" }
|
||||
deepseek-protocol = { path = "../protocol", version = "0.8.9" }
|
||||
deepseek-state = { path = "../state", version = "0.8.9" }
|
||||
deepseek-tools = { path = "../tools", version = "0.8.9" }
|
||||
serde.workspace = true
|
||||
serde_json.workspace = true
|
||||
tokio.workspace = true
|
||||
|
||||
@@ -14,13 +14,13 @@ path = "src/main.rs"
|
||||
anyhow.workspace = true
|
||||
clap.workspace = true
|
||||
clap_complete.workspace = true
|
||||
deepseek-agent = { path = "../agent", version = "0.8.8" }
|
||||
deepseek-app-server = { path = "../app-server", version = "0.8.8" }
|
||||
deepseek-config = { path = "../config", version = "0.8.8" }
|
||||
deepseek-execpolicy = { path = "../execpolicy", version = "0.8.8" }
|
||||
deepseek-mcp = { path = "../mcp", version = "0.8.8" }
|
||||
deepseek-secrets = { path = "../secrets", version = "0.8.8" }
|
||||
deepseek-state = { path = "../state", version = "0.8.8" }
|
||||
deepseek-agent = { path = "../agent", version = "0.8.9" }
|
||||
deepseek-app-server = { path = "../app-server", version = "0.8.9" }
|
||||
deepseek-config = { path = "../config", version = "0.8.9" }
|
||||
deepseek-execpolicy = { path = "../execpolicy", version = "0.8.9" }
|
||||
deepseek-mcp = { path = "../mcp", version = "0.8.9" }
|
||||
deepseek-secrets = { path = "../secrets", version = "0.8.9" }
|
||||
deepseek-state = { path = "../state", version = "0.8.9" }
|
||||
chrono.workspace = true
|
||||
dirs.workspace = true
|
||||
serde.workspace = true
|
||||
|
||||
@@ -8,7 +8,7 @@ description = "Config schema and precedence model for DeepSeek workspace archite
|
||||
|
||||
[dependencies]
|
||||
anyhow.workspace = true
|
||||
deepseek-secrets = { path = "../secrets", version = "0.8.8" }
|
||||
deepseek-secrets = { path = "../secrets", version = "0.8.9" }
|
||||
dirs.workspace = true
|
||||
serde.workspace = true
|
||||
toml.workspace = true
|
||||
|
||||
@@ -9,13 +9,13 @@ description = "Core runtime boundaries for DeepSeek workspace architecture"
|
||||
[dependencies]
|
||||
anyhow.workspace = true
|
||||
chrono.workspace = true
|
||||
deepseek-agent = { path = "../agent", version = "0.8.8" }
|
||||
deepseek-config = { path = "../config", version = "0.8.8" }
|
||||
deepseek-execpolicy = { path = "../execpolicy", version = "0.8.8" }
|
||||
deepseek-hooks = { path = "../hooks", version = "0.8.8" }
|
||||
deepseek-mcp = { path = "../mcp", version = "0.8.8" }
|
||||
deepseek-protocol = { path = "../protocol", version = "0.8.8" }
|
||||
deepseek-state = { path = "../state", version = "0.8.8" }
|
||||
deepseek-tools = { path = "../tools", version = "0.8.8" }
|
||||
deepseek-agent = { path = "../agent", version = "0.8.9" }
|
||||
deepseek-config = { path = "../config", version = "0.8.9" }
|
||||
deepseek-execpolicy = { path = "../execpolicy", version = "0.8.9" }
|
||||
deepseek-hooks = { path = "../hooks", version = "0.8.9" }
|
||||
deepseek-mcp = { path = "../mcp", version = "0.8.9" }
|
||||
deepseek-protocol = { path = "../protocol", version = "0.8.9" }
|
||||
deepseek-state = { path = "../state", version = "0.8.9" }
|
||||
deepseek-tools = { path = "../tools", version = "0.8.9" }
|
||||
serde_json.workspace = true
|
||||
uuid.workspace = true
|
||||
|
||||
@@ -8,5 +8,5 @@ description = "Execution policy and approval model parity for DeepSeek workspace
|
||||
|
||||
[dependencies]
|
||||
anyhow.workspace = true
|
||||
deepseek-protocol = { path = "../protocol", version = "0.8.8" }
|
||||
deepseek-protocol = { path = "../protocol", version = "0.8.9" }
|
||||
serde.workspace = true
|
||||
|
||||
@@ -10,7 +10,7 @@ description = "Hook dispatch and notifications parity for DeepSeek workspace arc
|
||||
anyhow.workspace = true
|
||||
async-trait.workspace = true
|
||||
chrono.workspace = true
|
||||
deepseek-protocol = { path = "../protocol", version = "0.8.8" }
|
||||
deepseek-protocol = { path = "../protocol", version = "0.8.9" }
|
||||
reqwest.workspace = true
|
||||
serde.workspace = true
|
||||
serde_json.workspace = true
|
||||
|
||||
@@ -9,7 +9,7 @@ description = "Tool invocation lifecycle, schema validation, and scheduler paral
|
||||
[dependencies]
|
||||
anyhow.workspace = true
|
||||
async-trait.workspace = true
|
||||
deepseek-protocol = { path = "../protocol", version = "0.8.8" }
|
||||
deepseek-protocol = { path = "../protocol", version = "0.8.9" }
|
||||
serde.workspace = true
|
||||
serde_json.workspace = true
|
||||
tokio.workspace = true
|
||||
|
||||
@@ -21,8 +21,8 @@ path = "src/main.rs"
|
||||
[dependencies]
|
||||
anyhow = "1.0.100"
|
||||
arboard = "3.4"
|
||||
deepseek-secrets = { path = "../secrets", version = "0.8.8" }
|
||||
deepseek-tools = { path = "../tools", version = "0.8.8" }
|
||||
deepseek-secrets = { path = "../secrets", version = "0.8.9" }
|
||||
deepseek-tools = { path = "../tools", version = "0.8.9" }
|
||||
schemaui = { version = "0.12.0", default-features = false, optional = true }
|
||||
async-stream = "0.3.6"
|
||||
async-trait = "0.1"
|
||||
|
||||
@@ -2884,10 +2884,7 @@ impl App {
|
||||
if let Err(e) = std::fs::create_dir_all(&pastes_dir) {
|
||||
// Fallback: keep a truncated version so we don't lose the
|
||||
// user's input entirely when the filesystem is unhappy.
|
||||
self.input = full_input
|
||||
.chars()
|
||||
.take(MAX_SUBMITTED_INPUT_CHARS)
|
||||
.collect();
|
||||
self.input = full_input.chars().take(MAX_SUBMITTED_INPUT_CHARS).collect();
|
||||
self.cursor_position = char_count(&self.input);
|
||||
self.push_status_toast(
|
||||
format!("Failed to create paste directory: {e}"),
|
||||
@@ -2899,10 +2896,7 @@ impl App {
|
||||
|
||||
let file_path = self.workspace.join(&rel_path);
|
||||
if let Err(e) = std::fs::write(&file_path, &full_input) {
|
||||
self.input = full_input
|
||||
.chars()
|
||||
.take(MAX_SUBMITTED_INPUT_CHARS)
|
||||
.collect();
|
||||
self.input = full_input.chars().take(MAX_SUBMITTED_INPUT_CHARS).collect();
|
||||
self.cursor_position = char_count(&self.input);
|
||||
self.push_status_toast(
|
||||
format!("Failed to write paste file: {e}"),
|
||||
@@ -3326,7 +3320,10 @@ mod tests {
|
||||
.iter()
|
||||
.any(|toast| toast.text.contains("consolidated")),
|
||||
"expected consolidation toast, got: {:?}",
|
||||
app.status_toasts.iter().map(|t| &t.text).collect::<Vec<_>>()
|
||||
app.status_toasts
|
||||
.iter()
|
||||
.map(|t| &t.text)
|
||||
.collect::<Vec<_>>()
|
||||
);
|
||||
|
||||
// The composer must be clear after submit.
|
||||
|
||||
@@ -639,10 +639,7 @@ fn render_context_panel(f: &mut Frame, area: Rect, app: &App) {
|
||||
Style::default().fg(palette::DEEPSEEK_SKY).bold(),
|
||||
),
|
||||
Span::styled(
|
||||
format!(
|
||||
" {}",
|
||||
app.workspace_context.as_deref().unwrap_or("")
|
||||
),
|
||||
format!(" {}", app.workspace_context.as_deref().unwrap_or("")),
|
||||
Style::default().fg(palette::TEXT_DIM),
|
||||
),
|
||||
]));
|
||||
@@ -676,16 +673,25 @@ fn render_context_panel(f: &mut Frame, area: Rect, app: &App) {
|
||||
// ── Session cost ─────────────────────────────────────────────
|
||||
let total_cost = app.session.session_cost + app.session.subagent_cost;
|
||||
lines.push(Line::from(Span::styled(
|
||||
format!("cost: ${total_cost:.4} (session ${:.4} + agents ${:.4})",
|
||||
app.session.session_cost, app.session.subagent_cost),
|
||||
format!(
|
||||
"cost: ${total_cost:.4} (session ${:.4} + agents ${:.4})",
|
||||
app.session.session_cost, app.session.subagent_cost
|
||||
),
|
||||
Style::default().fg(palette::TEXT_MUTED),
|
||||
)));
|
||||
|
||||
// ── MCP servers ──────────────────────────────────────────────
|
||||
if app.mcp_configured_count > 0 {
|
||||
let restart_hint = if app.mcp_restart_required { " (restart needed)" } else { "" };
|
||||
let restart_hint = if app.mcp_restart_required {
|
||||
" (restart needed)"
|
||||
} else {
|
||||
""
|
||||
};
|
||||
lines.push(Line::from(Span::styled(
|
||||
format!("mcp: {} server(s){}", app.mcp_configured_count, restart_hint),
|
||||
format!(
|
||||
"mcp: {} server(s){}",
|
||||
app.mcp_configured_count, restart_hint
|
||||
),
|
||||
Style::default().fg(palette::TEXT_MUTED),
|
||||
)));
|
||||
}
|
||||
@@ -700,8 +706,11 @@ fn render_context_panel(f: &mut Frame, area: Rect, app: &App) {
|
||||
// ── Cycles ───────────────────────────────────────────────────
|
||||
if app.cycle_count > 0 {
|
||||
lines.push(Line::from(Span::styled(
|
||||
format!("cycles: {} crossed, {} briefing(s)",
|
||||
app.cycle_count, app.cycle_briefings.len()),
|
||||
format!(
|
||||
"cycles: {} crossed, {} briefing(s)",
|
||||
app.cycle_count,
|
||||
app.cycle_briefings.len()
|
||||
),
|
||||
Style::default().fg(palette::TEXT_MUTED),
|
||||
)));
|
||||
}
|
||||
|
||||
@@ -4222,13 +4222,10 @@ async fn submit_or_steer_message(
|
||||
let count = app.queued_message_count().saturating_add(1);
|
||||
app.queue_message(message);
|
||||
if app.offline_mode {
|
||||
app.status_message = Some(format!(
|
||||
"Offline: {count} queued — ↑ to edit, /queue list"
|
||||
));
|
||||
app.status_message =
|
||||
Some(format!("Offline: {count} queued — ↑ to edit, /queue list"));
|
||||
} else {
|
||||
app.status_message = Some(format!(
|
||||
"{count} queued — ↑ to edit, /queue list"
|
||||
));
|
||||
app.status_message = Some(format!("{count} queued — ↑ to edit, /queue list"));
|
||||
}
|
||||
Ok(())
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "deepseek-tui",
|
||||
"version": "0.8.8",
|
||||
"deepseekBinaryVersion": "0.8.8",
|
||||
"version": "0.8.9",
|
||||
"deepseekBinaryVersion": "0.8.9",
|
||||
"description": "Install and run deepseek and deepseek-tui binaries from GitHub release artifacts.",
|
||||
"author": "Hmbown",
|
||||
"license": "MIT",
|
||||
|
||||
Reference in New Issue
Block a user