mirror of
https://github.com/hanzoai/dev.git
synced 2026-10-17 15:34:54 +00:00
Update TUI
This commit is contained in:
@@ -509,6 +509,30 @@ if [ -z "${CODE_VERSION:-}" ]; then
|
||||
fi
|
||||
fi
|
||||
|
||||
# Keep compile-time build metadata in sync with the current checkout so
|
||||
# `dev --version` can always be matched back to git tag/hash/date.
|
||||
if [ -z "${CODE_GIT_DESCRIBE:-}" ]; then
|
||||
CODE_GIT_DESCRIBE="$(git describe --tags --always --dirty 2>/dev/null || true)"
|
||||
if [ -n "${CODE_GIT_DESCRIBE}" ]; then
|
||||
export CODE_GIT_DESCRIBE
|
||||
fi
|
||||
fi
|
||||
if [ -z "${CODE_GIT_SHA:-}" ]; then
|
||||
CODE_GIT_SHA="$(git rev-parse --short=12 HEAD 2>/dev/null || true)"
|
||||
if [ -n "${CODE_GIT_SHA}" ]; then
|
||||
export CODE_GIT_SHA
|
||||
fi
|
||||
fi
|
||||
if [ -z "${CODE_GIT_DATE:-}" ]; then
|
||||
CODE_GIT_DATE="$(git show -s --format=%cs HEAD 2>/dev/null || true)"
|
||||
if [ -n "${CODE_GIT_DATE}" ]; then
|
||||
export CODE_GIT_DATE
|
||||
fi
|
||||
fi
|
||||
if [ -n "${CODE_GIT_DESCRIBE:-}" ] || [ -n "${CODE_GIT_SHA:-}" ] || [ -n "${CODE_GIT_DATE:-}" ]; then
|
||||
echo "Build metadata: ${CODE_GIT_DESCRIBE:-unknown} ${CODE_GIT_SHA:+(${CODE_GIT_SHA})} ${CODE_GIT_DATE:+${CODE_GIT_DATE}}"
|
||||
fi
|
||||
|
||||
echo "Building ${CRATE_PREFIX} binary (${PROFILE} mode)..."
|
||||
|
||||
# Ensure Cargo cache locations are stable.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@hanzo/dev",
|
||||
"version": "3.0.11",
|
||||
"version": "0.6.61",
|
||||
"license": "Apache-2.0",
|
||||
"description": "Lightweight coding agent that runs in your terminal - fork of OpenAI Codex",
|
||||
"bin": {
|
||||
@@ -35,10 +35,10 @@
|
||||
"prettier": "^3.3.3"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@hanzo/dev-darwin-arm64": "3.0.11",
|
||||
"@hanzo/dev-darwin-x64": "3.0.11",
|
||||
"@hanzo/dev-linux-x64-musl": "3.0.11",
|
||||
"@hanzo/dev-linux-arm64-musl": "3.0.11",
|
||||
"@hanzo/dev-win32-x64": "3.0.11"
|
||||
"@hanzo/dev-darwin-arm64": "0.6.61",
|
||||
"@hanzo/dev-darwin-x64": "0.6.61",
|
||||
"@hanzo/dev-linux-x64-musl": "0.6.61",
|
||||
"@hanzo/dev-linux-arm64-musl": "0.6.61",
|
||||
"@hanzo/dev-win32-x64": "0.6.61"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@hanzo/dev",
|
||||
"version": "3.0.2",
|
||||
"version": "0.6.61",
|
||||
"license": "Apache-2.0",
|
||||
"description": "Hanzo AI coding assistant - intelligent CLI for developers",
|
||||
"bin": {
|
||||
@@ -35,10 +35,10 @@
|
||||
"prettier": "^3.3.3"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@hanzo/dev-darwin-arm64": "3.0.2",
|
||||
"@hanzo/dev-darwin-x64": "3.0.2",
|
||||
"@hanzo/dev-linux-x64-musl": "3.0.2",
|
||||
"@hanzo/dev-linux-arm64-musl": "3.0.2",
|
||||
"@hanzo/dev-win32-x64": "3.0.2"
|
||||
"@hanzo/dev-darwin-arm64": "0.6.61",
|
||||
"@hanzo/dev-darwin-x64": "0.6.61",
|
||||
"@hanzo/dev-linux-x64-musl": "0.6.61",
|
||||
"@hanzo/dev-linux-arm64-musl": "0.6.61",
|
||||
"@hanzo/dev-win32-x64": "0.6.61"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@hanzo/dev",
|
||||
"version": "3.0.11",
|
||||
"version": "0.6.61",
|
||||
"license": "Apache-2.0",
|
||||
"description": "Hanzo AI coding assistant - intelligent CLI for developers",
|
||||
"bin": {
|
||||
@@ -35,10 +35,10 @@
|
||||
"prettier": "^3.3.3"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"@hanzo/dev-darwin-arm64": "3.0.11",
|
||||
"@hanzo/dev-darwin-x64": "3.0.11",
|
||||
"@hanzo/dev-linux-x64-musl": "3.0.11",
|
||||
"@hanzo/dev-linux-arm64-musl": "3.0.11",
|
||||
"@hanzo/dev-win32-x64": "3.0.11"
|
||||
"@hanzo/dev-darwin-arm64": "0.6.61",
|
||||
"@hanzo/dev-darwin-x64": "0.6.61",
|
||||
"@hanzo/dev-linux-x64-musl": "0.6.61",
|
||||
"@hanzo/dev-linux-arm64-musl": "0.6.61",
|
||||
"@hanzo/dev-win32-x64": "0.6.61"
|
||||
}
|
||||
}
|
||||
|
||||
Generated
+37
-37
@@ -2310,7 +2310,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "hanzo-ansi-escape"
|
||||
version = "0.6.0"
|
||||
version = "0.6.61"
|
||||
dependencies = [
|
||||
"ansi-to-tui",
|
||||
"ratatui",
|
||||
@@ -2319,7 +2319,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "hanzo-app-server"
|
||||
version = "0.6.0"
|
||||
version = "0.6.61"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"hanzo-arg0",
|
||||
@@ -2340,7 +2340,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "hanzo-app-server-protocol"
|
||||
version = "0.6.0"
|
||||
version = "0.6.61"
|
||||
dependencies = [
|
||||
"hanzo-mcp-types",
|
||||
"hanzo-protocol",
|
||||
@@ -2348,7 +2348,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "hanzo-apply-patch"
|
||||
version = "0.6.0"
|
||||
version = "0.6.61"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"assert_cmd",
|
||||
@@ -2362,7 +2362,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "hanzo-arg0"
|
||||
version = "0.6.0"
|
||||
version = "0.6.61"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"dotenvy",
|
||||
@@ -2375,7 +2375,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "hanzo-auto-drive-core"
|
||||
version = "0.6.0"
|
||||
version = "0.6.61"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"chrono",
|
||||
@@ -2399,7 +2399,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "hanzo-auto-drive-diagnostics"
|
||||
version = "0.6.0"
|
||||
version = "0.6.61"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"hanzo-auto-drive-core",
|
||||
@@ -2426,7 +2426,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "hanzo-backend-openapi-models"
|
||||
version = "0.6.0"
|
||||
version = "0.6.61"
|
||||
dependencies = [
|
||||
"serde",
|
||||
"serde_json",
|
||||
@@ -2434,7 +2434,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "hanzo-browser"
|
||||
version = "0.6.0"
|
||||
version = "0.6.61"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"async-trait",
|
||||
@@ -2462,7 +2462,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "hanzo-chatgpt"
|
||||
version = "0.6.0"
|
||||
version = "0.6.61"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"clap",
|
||||
@@ -2497,7 +2497,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "hanzo-cloud-tasks"
|
||||
version = "0.6.0"
|
||||
version = "0.6.61"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"async-trait",
|
||||
@@ -2525,7 +2525,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "hanzo-cloud-tasks-client"
|
||||
version = "0.6.0"
|
||||
version = "0.6.61"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"async-trait",
|
||||
@@ -2540,7 +2540,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "hanzo-common"
|
||||
version = "0.6.0"
|
||||
version = "0.6.61"
|
||||
dependencies = [
|
||||
"clap",
|
||||
"hanzo-app-server-protocol",
|
||||
@@ -2553,7 +2553,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "hanzo-core"
|
||||
version = "0.6.0"
|
||||
version = "0.6.61"
|
||||
dependencies = [
|
||||
"agent-client-protocol",
|
||||
"anyhow",
|
||||
@@ -2640,7 +2640,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "hanzo-dev"
|
||||
version = "0.6.0"
|
||||
version = "0.6.61"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"chrono",
|
||||
@@ -2685,7 +2685,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "hanzo-exec"
|
||||
version = "0.6.0"
|
||||
version = "0.6.61"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"chrono",
|
||||
@@ -2716,7 +2716,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "hanzo-execpolicy"
|
||||
version = "0.6.0"
|
||||
version = "0.6.61"
|
||||
dependencies = [
|
||||
"allocative",
|
||||
"anyhow",
|
||||
@@ -2736,7 +2736,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "hanzo-file-search"
|
||||
version = "0.6.0"
|
||||
version = "0.6.61"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"clap",
|
||||
@@ -2749,7 +2749,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "hanzo-git-apply"
|
||||
version = "0.6.0"
|
||||
version = "0.6.61"
|
||||
dependencies = [
|
||||
"once_cell",
|
||||
"regex",
|
||||
@@ -2758,7 +2758,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "hanzo-git-tooling"
|
||||
version = "0.6.0"
|
||||
version = "0.6.61"
|
||||
dependencies = [
|
||||
"pretty_assertions",
|
||||
"tempfile",
|
||||
@@ -2786,7 +2786,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "hanzo-linux-sandbox"
|
||||
version = "0.6.0"
|
||||
version = "0.6.61"
|
||||
dependencies = [
|
||||
"clap",
|
||||
"hanzo-core",
|
||||
@@ -2799,7 +2799,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "hanzo-login"
|
||||
version = "0.6.0"
|
||||
version = "0.6.61"
|
||||
dependencies = [
|
||||
"base64 0.22.1",
|
||||
"chrono",
|
||||
@@ -2821,7 +2821,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "hanzo-mcp-client"
|
||||
version = "0.6.0"
|
||||
version = "0.6.61"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"hanzo-mcp-types",
|
||||
@@ -2834,7 +2834,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "hanzo-mcp-server"
|
||||
version = "0.6.0"
|
||||
version = "0.6.61"
|
||||
dependencies = [
|
||||
"agent-client-protocol",
|
||||
"anyhow",
|
||||
@@ -2859,7 +2859,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "hanzo-mcp-types"
|
||||
version = "0.6.0"
|
||||
version = "0.6.61"
|
||||
dependencies = [
|
||||
"codex-mcp-types",
|
||||
"serde_json",
|
||||
@@ -2867,7 +2867,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "hanzo-ollama"
|
||||
version = "0.6.0"
|
||||
version = "0.6.61"
|
||||
dependencies = [
|
||||
"async-stream",
|
||||
"bytes",
|
||||
@@ -2882,7 +2882,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "hanzo-otel"
|
||||
version = "0.6.0"
|
||||
version = "0.6.61"
|
||||
dependencies = [
|
||||
"chrono",
|
||||
"eventsource-stream",
|
||||
@@ -2903,14 +2903,14 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "hanzo-process-hardening"
|
||||
version = "0.6.0"
|
||||
version = "0.6.61"
|
||||
dependencies = [
|
||||
"libc",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "hanzo-protocol"
|
||||
version = "0.6.0"
|
||||
version = "0.6.61"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"base64 0.22.1",
|
||||
@@ -2934,7 +2934,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "hanzo-protocol-ts"
|
||||
version = "0.6.0"
|
||||
version = "0.6.61"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"clap",
|
||||
@@ -2946,7 +2946,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "hanzo-responses-api-proxy"
|
||||
version = "0.6.0"
|
||||
version = "0.6.61"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"clap",
|
||||
@@ -2962,7 +2962,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "hanzo-rmcp-client"
|
||||
version = "0.6.0"
|
||||
version = "0.6.61"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"axum 0.8.8",
|
||||
@@ -2979,7 +2979,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "hanzo-tui"
|
||||
version = "0.6.0"
|
||||
version = "0.6.61"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"arboard",
|
||||
@@ -3056,7 +3056,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "hanzo-utils-json-to-toml"
|
||||
version = "0.6.0"
|
||||
version = "0.6.61"
|
||||
dependencies = [
|
||||
"pretty_assertions",
|
||||
"serde_json",
|
||||
@@ -3065,7 +3065,7 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "hanzo-utils-readiness"
|
||||
version = "0.6.0"
|
||||
version = "0.6.61"
|
||||
dependencies = [
|
||||
"async-trait",
|
||||
"thiserror 2.0.17",
|
||||
@@ -3075,11 +3075,11 @@ dependencies = [
|
||||
|
||||
[[package]]
|
||||
name = "hanzo-version"
|
||||
version = "0.6.0"
|
||||
version = "0.6.61"
|
||||
|
||||
[[package]]
|
||||
name = "hanzo-zap"
|
||||
version = "0.6.0"
|
||||
version = "0.6.61"
|
||||
dependencies = [
|
||||
"anyhow",
|
||||
"async-trait",
|
||||
|
||||
@@ -40,7 +40,7 @@ members = [
|
||||
resolver = "2"
|
||||
|
||||
[workspace.package]
|
||||
version = "0.6.0"
|
||||
version = "0.6.61"
|
||||
# Track the edition for all workspace crates in one place. Individual
|
||||
# crates can still override this value, but keeping it here means new
|
||||
# crates created with `cargo new -w ...` automatically inherit the 2024
|
||||
@@ -68,11 +68,11 @@ hanzo-git-tooling = { path = "git-tooling" }
|
||||
hanzo-git-apply = { path = "git-apply" }
|
||||
hanzo-linux-sandbox = { path = "linux-sandbox" }
|
||||
hanzo-login = { path = "login" }
|
||||
hanzo-mcp-client = { path = "mcp-client", version = "0.6.0" }
|
||||
hanzo-mcp-client = { path = "mcp-client", version = "0.6.61" }
|
||||
hanzo-mcp-server = { path = "mcp-server" }
|
||||
hanzo-ollama = { path = "ollama" }
|
||||
hanzo-process-hardening = { path = "process-hardening" }
|
||||
hanzo-protocol = { path = "protocol", version = "0.6.0" }
|
||||
hanzo-protocol = { path = "protocol", version = "0.6.61" }
|
||||
hanzo-protocol-ts = { path = "protocol-ts" }
|
||||
hanzo-responses-api-proxy = { path = "responses-api-proxy" }
|
||||
hanzo-rmcp-client = { path = "rmcp-client" }
|
||||
@@ -81,8 +81,8 @@ hanzo-tui = { path = "tui" }
|
||||
hanzo-utils-json-to-toml = { path = "utils/json-to-toml" }
|
||||
hanzo-utils-readiness = { path = "utils/readiness" }
|
||||
hanzo-auto-drive-core = { path = "code-auto-drive-core" }
|
||||
hanzo-zap = { path = "zap", version = "0.6.0" }
|
||||
mcp-types = { path = "mcp-types", package = "hanzo-mcp-types", version = "0.6.0" }
|
||||
hanzo-zap = { path = "zap", version = "0.6.61" }
|
||||
mcp-types = { path = "mcp-types", package = "hanzo-mcp-types", version = "0.6.61" }
|
||||
upstream-mcp-types = { package = "codex-mcp-types", version = "0.63.0" }
|
||||
|
||||
# External - Guard for I/O sanitization
|
||||
|
||||
@@ -1974,6 +1974,7 @@ impl App<'_> {
|
||||
colors,
|
||||
label: crate::theme::custom_theme_label(),
|
||||
is_dark: crate::theme::custom_theme_is_dark(),
|
||||
zen: crate::theme::is_zen_mode(),
|
||||
});
|
||||
} else if let Ok(cfg) = hanzo_core::config::Config::load_with_cli_overrides(
|
||||
vec![],
|
||||
@@ -2023,6 +2024,7 @@ impl App<'_> {
|
||||
colors,
|
||||
label: crate::theme::custom_theme_label(),
|
||||
is_dark: crate::theme::custom_theme_is_dark(),
|
||||
zen: crate::theme::is_zen_mode(),
|
||||
});
|
||||
} else if let Ok(cfg) = hanzo_core::config::Config::load_with_cli_overrides(
|
||||
vec![],
|
||||
|
||||
@@ -472,12 +472,7 @@ impl ChatComposer {
|
||||
self.access_mode_label_expiry = None;
|
||||
self.access_mode_hint_expiry = None;
|
||||
}
|
||||
pub fn set_access_mode_label_ephemeral(&mut self, label: String, dur: std::time::Duration) {
|
||||
self.access_mode_label = Some(label);
|
||||
let expiry = std::time::Instant::now() + dur;
|
||||
self.access_mode_label_expiry = Some(expiry);
|
||||
self.access_mode_hint_expiry = Some(expiry);
|
||||
}
|
||||
|
||||
pub fn set_access_mode_hint_for(&mut self, dur: std::time::Duration) {
|
||||
self.access_mode_hint_expiry = Some(std::time::Instant::now() + dur);
|
||||
}
|
||||
@@ -528,7 +523,7 @@ impl ChatComposer {
|
||||
(ActivePopup::Command(c), _) => c.calculate_required_height(),
|
||||
(ActivePopup::File(c), _) => c.calculate_required_height(),
|
||||
(ActivePopup::None, true) => 0,
|
||||
(ActivePopup::None, false) => 1,
|
||||
(ActivePopup::None, false) => 0,
|
||||
};
|
||||
|
||||
// IMPORTANT: `width` here is the full BottomPane width. Subtract the
|
||||
@@ -550,7 +545,7 @@ impl ChatComposer {
|
||||
(ActivePopup::Command(popup), _) => popup.calculate_required_height(),
|
||||
(ActivePopup::File(popup), _) => popup.calculate_required_height(),
|
||||
(ActivePopup::None, true) => 0,
|
||||
(ActivePopup::None, false) => 1,
|
||||
(ActivePopup::None, false) => 0,
|
||||
};
|
||||
// Calculate dynamic height based on content
|
||||
let content_width = area.width.saturating_sub(4); // Account for border and padding
|
||||
@@ -2290,7 +2285,7 @@ impl ChatComposer {
|
||||
(ActivePopup::Command(popup), _) => popup.calculate_required_height(),
|
||||
(ActivePopup::File(popup), _) => popup.calculate_required_height(),
|
||||
(ActivePopup::None, true) => 0,
|
||||
(ActivePopup::None, false) => 1,
|
||||
(ActivePopup::None, false) => 0,
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1184,22 +1184,6 @@ impl BottomPane<'_> {
|
||||
self.request_redraw();
|
||||
}
|
||||
|
||||
pub(crate) fn set_access_mode_label_ephemeral(&mut self, label: String, dur: Duration) {
|
||||
self.composer.set_access_mode_label_ephemeral(label, dur);
|
||||
// Schedule a redraw after expiry without blocking other scheduled frames.
|
||||
let tx = self.app_event_tx.clone();
|
||||
let fallback_tx = self.app_event_tx.clone();
|
||||
if thread_spawner::spawn_lightweight("access-hint-ephemeral", move || {
|
||||
std::thread::sleep(dur + Duration::from_millis(120));
|
||||
tx.send(AppEvent::RequestRedraw);
|
||||
})
|
||||
.is_none()
|
||||
{
|
||||
fallback_tx.send(AppEvent::RequestRedraw);
|
||||
}
|
||||
self.request_redraw();
|
||||
}
|
||||
|
||||
#[allow(dead_code)]
|
||||
fn render_auto_coordinator_footer(&self, _area: Rect, _buf: &mut Buffer) {}
|
||||
|
||||
|
||||
@@ -1381,6 +1381,7 @@ impl ThemeSelectionView {
|
||||
colors,
|
||||
label: Some(name),
|
||||
is_dark: s.proposed_is_dark.get(),
|
||||
zen: crate::theme::is_zen_mode(),
|
||||
},
|
||||
);
|
||||
}
|
||||
@@ -1420,6 +1421,7 @@ impl ThemeSelectionView {
|
||||
colors: colors.clone(),
|
||||
label: Some(name.clone()),
|
||||
is_dark: s.proposed_is_dark.get(),
|
||||
zen: crate::theme::is_zen_mode(),
|
||||
},
|
||||
);
|
||||
self.revert_theme_on_back = ThemeName::Custom;
|
||||
@@ -2039,6 +2041,7 @@ impl<'a> BottomPaneView<'a> for ThemeSelectionView {
|
||||
colors,
|
||||
label: Some(name),
|
||||
is_dark: s.proposed_is_dark.get(),
|
||||
zen: crate::theme::is_zen_mode(),
|
||||
},
|
||||
);
|
||||
}
|
||||
@@ -2081,6 +2084,7 @@ impl<'a> BottomPaneView<'a> for ThemeSelectionView {
|
||||
colors: colors.clone(),
|
||||
label: Some(name.clone()),
|
||||
is_dark: s.proposed_is_dark.get(),
|
||||
zen: crate::theme::is_zen_mode(),
|
||||
},
|
||||
);
|
||||
self.revert_theme_on_back = ThemeName::Custom;
|
||||
@@ -2905,6 +2909,7 @@ impl<'a> BottomPaneView<'a> for ThemeSelectionView {
|
||||
colors: colors.clone(),
|
||||
label: Some(name),
|
||||
is_dark,
|
||||
zen: crate::theme::is_zen_mode(),
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
#![allow(dead_code)]
|
||||
|
||||
use ratatui::buffer::Buffer;
|
||||
use ratatui::prelude::*;
|
||||
// Paragraph/Widget previously used; manual cell writes now keep static layer intact.
|
||||
|
||||
@@ -136,7 +136,7 @@ impl HeightManager {
|
||||
// Cap the bottom pane to a percentage of screen height.
|
||||
// Keep a small floor so one-line input + footer fit, but avoid the
|
||||
// extra trailing blank row in the borderless composer layout.
|
||||
const MIN_BOTTOM_ROWS: u16 = 4;
|
||||
const MIN_BOTTOM_ROWS: u16 = 3;
|
||||
let percent_cap: u16 =
|
||||
((area.height as u32).saturating_mul(self.cfg.bottom_percent_cap as u32) / 100) as u16;
|
||||
let bottom_cap = percent_cap.max(MIN_BOTTOM_ROWS);
|
||||
|
||||
@@ -13,7 +13,6 @@ pub(crate) struct AnimatedWelcomeCell {
|
||||
fade_start: RefCell<Option<Instant>>,
|
||||
faded_out: Cell<bool>,
|
||||
version_label: String,
|
||||
hidden: Cell<bool>,
|
||||
}
|
||||
|
||||
impl AnimatedWelcomeCell {
|
||||
@@ -24,7 +23,6 @@ impl AnimatedWelcomeCell {
|
||||
fade_start: RefCell::new(None),
|
||||
faded_out: Cell::new(false),
|
||||
version_label: format!("v{}", env!("CARGO_PKG_VERSION")),
|
||||
hidden: Cell::new(false),
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@hanzo/zap",
|
||||
"version": "0.6.0",
|
||||
"version": "0.6.61",
|
||||
"description": "Zero-copy Agent Protocol (ZAP) SDK for TypeScript - 1000x faster than MCP",
|
||||
"type": "module",
|
||||
"main": "./dist/index.js",
|
||||
|
||||
Reference in New Issue
Block a user