zeekay
ae2f901ec0
merge: just-every/code upstream/main (preserve Hanzo brand)
...
# Conflicts:
# .github/pull_request_template.md
# .github/workflows/Dockerfile.bazel
# .github/workflows/bazel.yml
# .github/workflows/cargo-deny.yml
# .github/workflows/ci.yml
# .github/workflows/close-stale-contributor-prs.yml
# .github/workflows/codespell.yml
# .github/workflows/issue-deduplicator.yml
# .github/workflows/issue-labeler.yml
# .github/workflows/rust-ci-full.yml
# .github/workflows/rust-ci.yml
# .github/workflows/rust-release-prepare.yml
# .github/workflows/rust-release-windows.yml
# .github/workflows/rust-release-zsh.yml
# .github/workflows/rust-release.yml
# .github/workflows/sdk.yml
# .vscode/extensions.json
# .vscode/settings.json
# AGENTS.md
# AGENTS.md~upstream_main
# NOTICE
# code-rs/app-server-protocol/schema/json/DynamicToolCallParams.json
# code-rs/app-server-protocol/schema/json/v2/ErrorNotification.json
# code-rs/app-server-protocol/schema/json/v2/ItemCompletedNotification.json
# code-rs/app-server-protocol/schema/json/v2/ItemStartedNotification.json
# code-rs/app-server-protocol/schema/json/v2/ReviewStartResponse.json
# code-rs/app-server-protocol/schema/json/v2/ThreadListResponse.json
# code-rs/app-server-protocol/schema/json/v2/ThreadReadResponse.json
# code-rs/app-server-protocol/schema/json/v2/ThreadRollbackResponse.json
# code-rs/app-server-protocol/schema/json/v2/ThreadStartedNotification.json
# code-rs/app-server-protocol/schema/json/v2/ThreadUnarchiveResponse.json
# code-rs/app-server-protocol/schema/json/v2/TurnCompletedNotification.json
# code-rs/app-server-protocol/schema/json/v2/TurnStartResponse.json
# code-rs/app-server-protocol/schema/json/v2/TurnStartedNotification.json
# code-rs/app-server-protocol/schema/typescript/CodexErrorInfo.ts
# code-rs/app-server-protocol/schema/typescript/DynamicToolCallRequest.ts
# code-rs/app-server-protocol/schema/typescript/TurnItem.ts
# code-rs/app-server-protocol/schema/typescript/v2/CodexErrorInfo.ts
# code-rs/app-server-protocol/schema/typescript/v2/DynamicToolCallParams.ts
# code-rs/app-server-protocol/schema/typescript/v2/DynamicToolSpec.ts
# code-rs/app-server-protocol/schema/typescript/v2/ThreadItem.ts
# code-rs/app-server-protocol/schema/typescript/v2/ToolsV2.ts
# code-rs/app-server-protocol/src/protocol/thread_history.rs
# code-rs/code-version/Cargo.toml
# code-rs/core/src/http_client.rs
# code-rs/tui/src/bottom_pane/auto_drive_settings_view.rs
# codex-cli/scripts/build_npm_package.py
# docs/contributing.md
# hanzo-dev/chatgpt/src/chatgpt_token.rs
# hanzo-dev/tui/src/clipboard_copy.rs
# scripts/codex_package/archive.py
# scripts/codex_package/cargo.py
# scripts/codex_package/cli.py
# scripts/codex_package/layout.py
# scripts/codex_package/test_cargo.py
# scripts/codex_package/v8.py
# scripts/stage_npm_packages.py
2026-06-01 18:52:56 -07:00
zeekay
0426fb29a1
feat: add hanzo-sse, hanzo-backoff, hanzo-md-render crates + /loop + oauth refresh
...
New crates ported from claw-code architectural patterns:
- hanzo-sse: zero-dep SSE parser replacing eventsource-stream (11 tests)
- hanzo-backoff: overflow-safe exponential retry (4 tests)
- hanzo-md-render: streaming markdown renderer + syntax highlighting + spinner (3 tests)
New core modules:
- loop_runner: /loop slash command parsing (interval + command)
- oauth_refresh: token expiry detection + auto-refresh utility
Wired:
- hanzo-backoff integrated into core/util.rs (all 5 retry call sites)
- hanzo-sse replaces eventsource-stream in client.rs + chat_completions.rs
Also merges 23 commits from openai/codex upstream (clean, no conflicts).
2026-03-31 21:13:15 -07:00
zeekay
21582f97d2
chore: bump version to 0.6.83 — review fixes applied
2026-03-21 01:30:24 -07:00
zeekay
2c38b88cfd
chore: bump version to 0.6.82
2026-03-18 02:28:43 -07:00
zeekay
158d47a13e
chore: bump version to 0.6.81
2026-03-18 01:59:53 -07:00
zeekay
8b69ac1888
chore: update Cargo.lock for v0.6.80
2026-03-17 12:24:46 -07:00
zeekay
eef31451ad
fix: force rustls TLS backend on all reqwest clients
...
When both rustls-tls and native-tls features are compiled in (via
chromiumoxide → reqwest default features), reqwest silently defaults to
native-tls. On macOS this is SecureTransport, which fails TLS handshake
against Go crypto/tls servers (Traefik ingress) with "bad protocol
version".
Fix: explicitly call .use_rustls_tls() on every reqwest::Client::builder()
to ensure consistent TLS behavior across all platforms.
Also reverts the earlier native-tls experiment in Cargo.toml files back
to rustls-tls and removes temporary TLS diagnostic logging.
2026-03-17 12:17:25 -07:00
zeekay
ec7c2b0ed7
Merge upstream openai/codex ( 152ac6d01): tui_app_server, realtime v2, plugin marketplace
...
Major upstream additions:
- New tui_app_server crate (complete TUI via app-server protocol)
- Realtime websocket v2 split (methods_v1/v2/common)
- Remote app-server client
- Plugin marketplace install/uninstall
- Windows sandbox refactor (conpty, elevated runners, IPC)
- Linux sandbox bwrap improvements
- Guardian approval system enhancements
- Argument comment lint improvements
Conflict resolution:
- Kept Hanzo branding in error.rs (401/403 messages)
- Kept hanzo-dev paths in CI/release workflows
- Adopted upstream's /*param_name*/ argument comments
- Adopted upstream's change-detection CI structure
- Kept dev-deduplicate label naming
2026-03-17 01:14:04 -07:00
zeekay
e60ff6752d
feat: Claude Code login support, zen theme refinements, security dep updates
...
- Add Claude Code OAuth login (issuer: claude.ai, token: platform.claude.com)
- Auto-detect Claude Code keychain tokens on macOS (sk-ant-oat01-* fallback)
- Claude client_id: 9d1c250a-e61b-44d9-88ed-5944d1962f5e
- Scopes: user:inference, user:profile, user:sessions:claude_code, user:mcp_servers
- Add CLI functions: run_login_with_claude_keychain, run_login_with_claude_browser
- ServerOptions.with_issuer() builder for custom OAuth issuers
- Fix quinn-proto HIGH severity DoS (RUSTSEC-2026-0037): 0.11.13 → 0.11.14
- Update 159 packages to latest compatible versions
- Zen theme: refine DarkMonochrome defaults, zen mode enabled by default
2026-03-13 17:16:16 -07:00
zeekay
b39c98c4d4
feat: rebrand npm to @hanzo/dev, wire ZT transport into tunnel protocol
...
- rust-release.yml: change npm scope from @openai to @hanzo, remove
openai.com deploy trigger
- build_npm_package.py: rebrand all @openai/codex references to
@hanzo/dev, rename platform packages (codex-* → hanzo-dev-*)
- stage_npm_packages.py: update tarball naming to match hanzo-dev-npm-*
- cloud.rs: complete ZT wiring — zt:// URLs now authenticate via ZT
fabric, dial service, create TunnelConnection from channels, spawn
ZT frame transport, and run standard dispatch loop
- zt/tunnel.rs: add run_zt_transport() — newline-delimited JSON frame
protocol over ZtConnection (AsyncRead+AsyncWrite) with heartbeat
- Bump hanzo-tunnel dep to v0.1.1 (adds from_channels constructor)
- Add zt-tunnel feature combining zt + tunnel + hanzo-zt/tunnel
2026-03-12 00:33:29 -07:00
zeekay
a023f456d2
fix: replace all external path deps with crates.io versions
...
- hanzo-zt: zap-schema path dep (../../../../zap/zap) → crates.io v1.0
- hanzo-zt: enable hanzo-tunnel dep from crates.io v0.1
- hanzo-zt: activate full feature (zap + tunnel)
- No more external path deps that break CI
2026-03-11 20:46:36 -07:00
zeekay
9d251b3ec4
fix: publish hanzo-tunnel to crates.io, gate tunnel behind feature flag, fix CI
...
- hanzo-tunnel v0.1.0 published to crates.io (was path dep to ../../../tunnel)
- cli: tunnel + tunnel-bridge deps now optional behind `tunnel` feature flag
- cli: cloud module (ZT + relay) gated with #[cfg(feature = "tunnel")]
- tunnel-bridge: all hanzo_tunnel usage gated behind `tunnel` feature
- CI: fix prettier by scoping JS globs, excluding symlinked CLAUDE.md
- CI: format all workflows and docs with prettier
- Workspace compiles clean without tunnel feature (CI default)
- Local builds with `--features tunnel` still work with crates.io dep
2026-03-11 20:28:33 -07:00
zeekay
3a22216b47
fix: resolve all compile errors after upstream merge
...
- Remove McpServerTransportConfig::Zap (variant removed upstream)
- Fix ratatui 0.29 Color type conversions (ratatui::Color vs crossterm::Color)
- Fix Cell<u16> scroll_offset API in layout_scroll.rs
- Add missing modules (intro_art_variants, request_user_input_view, external_editor)
- Fix zen field type (bool → Option<ZenThemeConfig>)
- Add GutterMode::next() method
- Remove deleted SlashCommand::Rename, add Provider/Share stubs
- Fix schedule_cli_prompt signature (3 args, store overrides on controller)
- Fix ModelInfoUpgrade field access and default_reasoning_level Option handling
- Align cloud-tasks deps with workspace (ratatui 0.29, throbber-widgets-tui 0.8)
- Add missing auth constants and version functions
- Replace wire_api with dynamic_tools in ConfigOverrides
- Add end_turn/phase fields to ResponseItem::Message
- Fix format_with_separators to accept i64
2026-03-09 17:49:47 -07:00
zeekay
3247e56e84
Merge remote-tracking branch 'just-every-local/main'
...
# Conflicts:
# .github/workflows/Dockerfile.bazel
# .github/workflows/bazel.yml
# .github/workflows/ci.yml
# .github/workflows/issue-deduplicator.yml
# .github/workflows/rust-ci.yml
# .github/workflows/rust-release-windows.yml
# .github/workflows/rust-release.yml
# .github/workflows/shell-tool-mcp.yml
# .vscode/settings.json
# AGENTS.md
# CHANGELOG.md
# README.md
# code-rs/app-server-protocol/schema/json/ClientRequest.json
# code-rs/app-server-protocol/schema/json/CommandExecutionRequestApprovalParams.json
# code-rs/app-server-protocol/schema/json/EventMsg.json
# code-rs/app-server-protocol/schema/json/ExecCommandApprovalParams.json
# code-rs/app-server-protocol/schema/json/ServerNotification.json
# code-rs/app-server-protocol/schema/json/ServerRequest.json
# code-rs/app-server-protocol/schema/json/codex_app_server_protocol.schemas.json
# code-rs/app-server-protocol/schema/json/v1/ForkConversationParams.json
# code-rs/app-server-protocol/schema/json/v1/ForkConversationResponse.json
# code-rs/app-server-protocol/schema/json/v1/GetUserSavedConfigResponse.json
# code-rs/app-server-protocol/schema/json/v1/NewConversationParams.json
# code-rs/app-server-protocol/schema/json/v1/ResumeConversationParams.json
# code-rs/app-server-protocol/schema/json/v1/ResumeConversationResponse.json
# code-rs/app-server-protocol/schema/json/v1/SendUserTurnParams.json
# code-rs/app-server-protocol/schema/json/v1/SessionConfiguredNotification.json
# code-rs/app-server-protocol/schema/json/v2/ConfigReadResponse.json
# code-rs/app-server-protocol/schema/json/v2/ConfigRequirementsReadResponse.json
# code-rs/app-server-protocol/schema/json/v2/ModelListResponse.json
# code-rs/app-server-protocol/schema/json/v2/RawResponseItemCompletedNotification.json
# code-rs/app-server-protocol/schema/json/v2/ThreadForkParams.json
# code-rs/app-server-protocol/schema/json/v2/ThreadForkResponse.json
# code-rs/app-server-protocol/schema/json/v2/ThreadResumeParams.json
# code-rs/app-server-protocol/schema/json/v2/ThreadResumeResponse.json
# code-rs/app-server-protocol/schema/json/v2/ThreadStartParams.json
# code-rs/app-server-protocol/schema/json/v2/ThreadStartResponse.json
# code-rs/app-server-protocol/schema/json/v2/TurnStartParams.json
# code-rs/app-server-protocol/schema/typescript/AskForApproval.ts
# code-rs/app-server-protocol/schema/typescript/ClientRequest.ts
# code-rs/app-server-protocol/schema/typescript/EventMsg.ts
# code-rs/app-server-protocol/schema/typescript/ExecApprovalRequestEvent.ts
# code-rs/app-server-protocol/schema/typescript/ExecCommandApprovalParams.ts
# code-rs/app-server-protocol/schema/typescript/FunctionCallOutputContentItem.ts
# code-rs/app-server-protocol/schema/typescript/ResponseItem.ts
# code-rs/app-server-protocol/schema/typescript/index.ts
# code-rs/app-server-protocol/schema/typescript/v2/AskForApproval.ts
# code-rs/app-server-protocol/schema/typescript/v2/CommandExecutionRequestApprovalParams.ts
# code-rs/app-server-protocol/schema/typescript/v2/Model.ts
# code-rs/app-server-protocol/schema/typescript/v2/index.ts
# code-rs/app-server-protocol/src/protocol/common.rs
# code-rs/app-server-protocol/src/protocol/v1.rs
# code-rs/app-server-protocol/src/protocol/v2.rs
# code-rs/app-server/src/code_message_processor.rs
# code-rs/app-server/src/lib.rs
# code-rs/app-server/src/message_processor.rs
# code-rs/protocol/src/approvals.rs
# code-rs/protocol/src/config_types.rs
# code-rs/protocol/src/models.rs
# code-rs/protocol/src/openai_models.rs
# code-rs/protocol/src/prompts/permissions/approval_policy/on_request_rule.md
# code-rs/protocol/src/protocol.rs
# code-rs/tui/tests/snapshots/vt100_chatwidget_snapshot__settings_help_overlay_open.snap
# code-rs/tui/tests/snapshots/vt100_chatwidget_snapshot__settings_help_overlay_section_open.snap
# codex-cli/package.json
# docs/agents.md
# docs/config.md
# docs/faq.md
# docs/install.md
# docs/release-notes/RELEASE_NOTES.md
# docs/slash-commands.md
# hanzo-dev/Cargo.lock
# hanzo-dev/code-auto-drive-core/src/auto_compact.rs
# hanzo-dev/code-auto-drive-core/src/auto_drive_history.rs
# hanzo-dev/core/src/agent_tool.rs
# hanzo-dev/core/src/chat_completions.rs
# hanzo-dev/core/src/client.rs
# hanzo-dev/core/src/client_common.rs
# hanzo-dev/core/src/codex.rs
# hanzo-dev/core/src/codex/compact.rs
# hanzo-dev/core/src/codex/compact_remote.rs
# hanzo-dev/core/src/codex/session.rs
# hanzo-dev/core/src/codex/streaming.rs
# hanzo-dev/core/src/config.rs
# hanzo-dev/core/src/config/sources.rs
# hanzo-dev/core/src/config/validation.rs
# hanzo-dev/core/src/config_profile.rs
# hanzo-dev/core/src/config_types.rs
# hanzo-dev/core/src/event_mapping.rs
# hanzo-dev/core/src/exec_command/exec_command_params.rs
# hanzo-dev/core/src/external_agent_config.rs
# hanzo-dev/core/src/memories/citations.rs
# hanzo-dev/core/src/memories/mod.rs
# hanzo-dev/core/src/memories/storage.rs
# hanzo-dev/core/src/model_family.rs
# hanzo-dev/core/src/openai_tools.rs
# hanzo-dev/core/src/protocol.rs
# hanzo-dev/core/src/remote_models/mod.rs
# hanzo-dev/core/src/rollout/policy.rs
# hanzo-dev/core/src/slash_commands.rs
# hanzo-dev/exec/src/lib.rs
# hanzo-dev/protocol/src/mcp_protocol.rs
# hanzo-dev/tui/Cargo.toml
# hanzo-dev/tui/src/app/events.rs
# hanzo-dev/tui/src/app_event.rs
# hanzo-dev/tui/src/bottom_pane/chat_composer.rs
# hanzo-dev/tui/src/bottom_pane/memories_settings_view.rs
# hanzo-dev/tui/src/bottom_pane/mod.rs
# hanzo-dev/tui/src/bottom_pane/model_selection_view.rs
# hanzo-dev/tui/src/bottom_pane/settings_overlay.rs
# hanzo-dev/tui/src/chatwidget.rs
# hanzo-dev/tui/src/chatwidget/agent_summary.rs
# hanzo-dev/tui/src/chatwidget/settings_overlay.rs
# hanzo-dev/tui/src/history_cell/plain.rs
# hanzo-dev/tui/src/lib.rs
# hanzo-dev/tui/src/memory_citation.rs
# hanzo-dev/tui/src/streaming/controller.rs
# hanzo-dev/tui/tests/snapshots/vt100_chatwidget_snapshot__settings_help_overlay_closed.snap
# hanzo-dev/tui/tests/snapshots/vt100_chatwidget_snapshot__settings_help_overlay_section_closed.snap
# hanzo-dev/tui/tests/snapshots/vt100_chatwidget_snapshot__settings_overlay_overview_layout.snap
# hanzo-dev/tui/tests/snapshots/vt100_chatwidget_snapshot__settings_overlay_overview_truncates.snap
# hanzo-dev/tui/tests/snapshots/vt100_chatwidget_snapshot__settings_overview_hints_clean.snap
# hanzo-dev/tui/tests/ui_smoke.rs
2026-03-09 12:02:13 -07:00
zeekay
1f9149381d
feat(zap): implement native ZAP binary transport in dev CLI
...
Real luxfi/zap wire protocol — no HTTP fallback, no stubs.
TLS 1.3 connect → ZAP handshake → MsgType 100 Call → parse response.
- zap_wire.rs: Builder, Message, Object, frame I/O, handshake helpers
- zap_client.rs: ZapCloudClient with TLS, Call RPC, stream_zap()
- client.rs: WireApi::Zap arm uses native binary transport
- model_provider_info.rs: WireApi::Zap variant added
- zap/transport: TLS 1.3 support via rustls
- All match arms updated across CLI, TUI, exec, MCP server
2026-03-03 23:25:04 -08:00
zeekay
f41500a5f4
feat(zt): add hanzo-zt crate for zero-trust networking with ZAP transport
...
New crate at hanzo-dev/zt/ providing ZT overlay networking:
- ZtContext: authenticate, dial, listen, service discovery via ZT controller REST API
- HanzoJwtCredentials: Hanzo IAM JWT resolution from env/auth file
- BillingGuard: Commerce API balance check + usage recording (no free tier)
- ZtTransport: ZAP Transport trait impl for zt:// URL scheme
- CLI integration: cfg-gated zt:// support in cloud.rs
- 9 tests passing, 0 warnings
2026-02-19 14:26:40 -08:00
zeekay
f9cfc06068
feat(cloud): add cloud tunnel integration for remote management
...
Add --cloud flag (or HANZO_CLOUD=1 env) to connect dev instances to the
Hanzo cloud relay at wss://api.hanzo.ai/v1/relay, making them remotely
manageable from app.hanzo.bot.
New crates:
- tunnel-bridge: translates cloud commands (chat.send, exec.approve) to
app-server JSON-RPC and app-server notifications back to cloud events
- cli/cloud.rs: CLI integration with clap args, auth resolution, and
background tunnel dispatch loop
Supports two modes:
- Cloud relay (default): wss://api.hanzo.ai/v1/relay
- Local gateway: --cloud local → ws://127.0.0.1:18789/v1/tunnel
2026-02-18 20:58:20 -08:00
zeekay
163ce89652
chore(release): 0.6.74
...
Sync latest from openai/codex and just-every/code upstreams.
2026-02-18 13:52:07 -08:00
zeekay
af234bc908
chore(release): 0.6.72
2026-02-16 12:39:34 -08:00
zeekay
dc8f2477e1
chore(release): 0.6.71 [skip ci]
2026-02-15 12:28:12 -08:00
zeekay
fbaaffadea
chore(release): 0.6.70
2026-02-14 12:52:48 -08:00
zeekay
317c1d5c67
feat(tui): remove OpenAI migration prompts, rebrand browser UI, bump 0.6.67
...
- Disable OpenAI model upgrade prompts (GPT-5.2/5.3 migration banners)
Users choose their own model via /model or config.toml
- Make migration prompt UI monochromatic (no blue/green accents)
- Rebrand /chrome and /browser: remove Chrome-specific strings,
settings section now shows "Browser" instead of "Chrome"
- Add Enso browser recommendation to README
- Bump version to 0.6.67
2026-02-13 13:13:37 -08:00
zeekay
3d930b066b
feat(login): rebrand to Hanzo Dev, fix multi-auth, bump 0.6.66
...
- Replace Codex branding with Hanzo logo/styling on login success page
- Dark-first theme with Hanzo red (#fd4444) accent
- Default platform_url to hanzo.ai instead of platform.openai.com
- MCP client name/title: codex-mcp-client → hanzo-dev-mcp-client
- CLI help text: codex mcp → dev mcp
- Fix OAuth token exchange for Casdoor/hanzo.id (optional id_token,
send client_secret alongside PKCE code_verifier)
- Fix refresh token to use id_token_or_access() fallback for Casdoor
- Restore 0.6.x version series (v3.0.12 leaked from upstream merge)
2026-02-12 10:51:15 -08:00
zeekay
84e4a5d89d
fix(tui): update VT100 snapshots for zen-mode theme changes
...
Accept 32 refreshed VT100 snapshots after zen-mode border, padding,
and theme-driven layout changes. Includes upstream merge artifacts
(workflows, codex-cli scripts, docs, MCP connection manager).
All 39 snapshot tests now pass locally.
2026-02-11 14:35:50 -08:00
zeekay
8fc009be0e
Update TUI
2026-02-10 17:35:37 -08:00
zeekay
60a87c0680
feat(zap): add Zero-copy Agent Protocol crate with polyglot support
...
Introduces the ZAP (Zero-copy Agent Protocol) crate providing:
Core Features:
- High-performance binary protocol replacing JSON-RPC
- Zero-copy message parsing from network buffers
- MCP gateway bridging for existing servers
- Unified tool schemas across 14 categories (167 typed structs)
Tool Executors:
- Filesystem: read_file, write_file, edit_file, glob, grep, list_dir
- VCS: git_status, git_diff, git_commit, git_log, git_blame
- Build: build, test, lint, typecheck
- Computer: exec, list_processes, kill_process
- Network: http_request, dns_lookup, port_check
- Plan: plan_intent, plan_route, cache_lookup, audit_log
Cross-Language Examples:
- Rust (native), Python, Node.js, Go, Ruby, Elixir, Haskell
- Plain JavaScript (ES Modules), C/C++ (FFI)
- All implementations use canonical hanzo-protocol types
Infrastructure:
- Permission system bridging to AskForApproval/SandboxPolicy
- Polyglot E2E test suite (tests/e2e/polyglot_test.rs)
- ZAP vs MCP benchmarks (benches/zap_vs_mcp.rs)
- Comprehensive documentation (docs/)
2026-01-25 11:39:59 -08:00
zeekay
dae0dcad42
feat: rename code-rs to hanzo-dev and prepare for publication
...
🎯 Major directory restructure and publication preparation:
**Directory Rename:**
- Renamed code-rs/ → hanzo-dev/ for better branding alignment
- Updated all build scripts, GitHub workflows, and documentation
- Fixed all path references across the codebase
**Publication Setup:**
- Updated workspace version to 0.6.0 (production ready)
- Configured main CLI crate as 'hanzo-dev' (available on crates.io)
- Set publish = true for core crates (hanzo-core, hanzo-tui)
- Added proper package metadata (description, license, repository, etc.)
- Maintained internal crate names to minimize dependency changes
**Updated Components:**
- package.json build scripts now reference hanzo-dev/
- GitHub Actions workflows updated for new directory structure
- build-fast.sh and related scripts updated
- Documentation and README references updated
- All Cargo.toml manifests updated with publication metadata
**Publishing Strategy:**
- Main binary: hanzo-dev (new, available for publication)
- Core library: hanzo-core (existing name, ready to publish)
- TUI library: hanzo-tui (existing name, ready to publish)
- Avoids conflict with existing Hanzo AI infrastructure crates
This prepares the codebase for official publication to crates.io while
maintaining full compatibility with the existing build system and
providing clear branding as 'Hanzo Dev' CLI tool.
2026-01-14 16:49:45 -08:00