52 Commits
Author SHA1 Message Date
zeekayandHanzo Dev bcffc56ee3 pypi: one canonical hanzo, and superseded packages that say where the real one is
Three published packages declared a console script named `hanzo`, competing with
the native CLI and with each other. Measured on a clean venv at hanzo==0.4.3:
`hanzo --help` printed hanzo-cli's program, not the one pkg/hanzo/README.md
documents. Renamed to `hanzo-py` and `hanzo-cli` — script named after its
distribution. Nothing is yanked; both packages still install and run.

- pkg/hanzo 0.4.4 — summary and README now say the CLI is a native binary
  (curl -fsSL https://hanzo.sh | sh). Dropped the invented command tour
  (`hanzo chat --model gpt-4`, `hanzo node start`, `hanzo router start` on
  localhost:4000): none of those verbs exist in the program this package
  installs. Kept the three library entry points, each import-checked.
- pkg/hanzo-cli 0.2.4 — `hanzo login` replaced with the native `hanzo auth login`
  plus its own `hanzo-cli login`. Verified `hanzo iam users list` and
  `hanzo kms secrets list` against the shipped v1.9.18 binary.
- pkg/hanzo-node 0.1.1 — states the two meanings of the name: the `hanzo-node`
  COMMAND is a symlink to the Hanzo CLI; this package fetches a different binary
  from hanzoai/node, which is private, so the download 404s for the public.
  Documentation URL moved off docs.hanzo.ai/node (404) to hanzo.sh.
- root README (published as `hanzoai`) — `pip install hanzo` no longer advertised
  as the CLI; model ids zen-coder -> zen5-coder (zen-coder is not in the catalog);
  "2452 operations, 1798 schemas" dropped for the spec URL, since the live
  surface is 1058 paths / 1465 operations / 1139 schemas.

Co-authored-by: Hanzo Dev <[email protected]>
2026-08-01 13:35:20 -07:00
zeekay a74176fa6c release(cli): hanzo 0.4.4 — auth login actually works
Ships 50d442eb. 0.4.3 cannot complete a login at all: Cloudflare rejects
urllib's default User-Agent in front of hanzo.id with `error code: 1010`, so the
token exchange 403s AFTER the user has already signed in through the browser.
Also adds the PKCE S256 that flow never had, and moves off the legacy
/oauth/* + /api/device/code paths onto the canonical /v1/iam/oauth/* surface
hanzo.id advertises.

Patch bump from the last published version (0.4.3), per the release rule.
2026-07-26 11:26:33 -07:00
zeekay c3dd9e752a release: bump auth-fixed packages for publish
Ship the canonical hanzo-app client_id + /v1/iam/get-account fixes:
- hanzoai 2.2.2 → 2.2.3
- hanzo-cli 0.2.1 → 0.2.2
- hanzo 0.4.2 → 0.4.3
- hanzo-tools-auth 0.1.0 → 0.1.1
2026-06-30 22:21:53 -07:00
zeekay 7ffee0d761 chore: bump hanzo-tools-shell 0.6.3, hanzo 0.4.2 (Windows compat) 2026-03-09 21:11:39 -07:00
zeekay 8c05bf99d6 fix(ci): pin black <26.1 to avoid internal error, lower requires-python to 3.12
Black 26.1.0 crashes on multiple exception types in parentheses.
The requires-python bump to 3.14 broke CI which runs Python 3.12.
2026-03-01 16:01:16 -08:00
zeekay 6c376a4d13 [chore] bump all packages to Python 3.14+
Update requires-python to >=3.14 in all 46 pkg/ pyproject.toml files
and the root pyproject.toml (47 files total).
2026-02-28 12:43:10 -08:00
zooqueen 450cbbf689 feat(cli): replace all 18 stub commands with real API implementations
Every service command (vector, kv, search, doc, events, pubsub, queues,
jobs, secrets, tasks, fn, auto, flow, ml, o11y, cx, growth, platform)
now makes authenticated HTTP calls via shared service_request/check_response
utilities in base.py. No stubs, no hardcoded data, no placeholders.

Bump hanzo 0.4.0→0.4.1, hanzo-cli 0.2.0→0.2.1.
2026-02-21 13:46:55 -08:00
zooqueenandHanzo Dev 7d3d318e5e feat(cli): add k8s kubectl wrapper and remove REPL
- Add `hanzo k8s` command group to hanzo-cli that wraps kubectl with
  Hanzo-managed auth and default namespace. Uses KubectlGroup that
  dynamically proxies unknown subcommands to kubectl (e.g.
  `hanzo k8s get pods` -> `kubectl get pods -n hanzo`).
- Remove REPL mode from hanzo wrapper: bare `hanzo` now shows help
  instead of dropping into interactive REPL.
- Remove hanzo-ai, hanzo-chat, hanzo-repl entry points.
- Make hanzo-cli a core dependency of hanzo (was optional [cli] extra).
- Remove unused typer dep, move openai/anthropic/prompt-toolkit to
  optional extras ([ai], [interactive]).

Co-authored-by: Hanzo Dev <[email protected]>
2026-02-21 09:46:50 -08:00
zooqueenandHanzo Dev 0fff3308f6 fix: move hanzo-cli/kms to optional deps to unblock publish
hanzo-cli and hanzo-kms need to be published to PyPI first before
hanzo can depend on them. Move to optional [cli] extra for now.

Co-authored-by: Hanzo Dev <[email protected]>
2026-02-20 22:17:02 -08:00
zooqueenandHanzo Dev b476399c1e feat: bump versions and add hanzo-cli/kms/iam to publish workflow
- hanzo-kms 1.0.0 -> 1.1.0 (fix create_secret null comment bug)
- hanzo-cli 0.1.0 -> 0.2.0 (add paas/kms/iam subcommands, top-level deploy alias)
- hanzo 0.3.48 -> 0.4.0 (add hanzo-cli and hanzo-kms as dependencies)
- Add hanzo-cli, hanzo-kms, hanzo-iam to publish-pypi.yml workflow

Co-authored-by: Hanzo Dev <[email protected]>
2026-02-20 22:15:39 -08:00
zeekay 86c2cdcc0d feat: add new tool packages and install command
- Add hanzo-tools-code: code analysis and transformation tools
- Add hanzo-tools-net: network and HTTP tools
- Add hanzo-tools-plan: planning and task management tools
- Add hanzo-tools-test: testing tools
- Add hanzo-tools-vcs: version control tools
- Add install command for dependency management
- Improve CDP bridge server with better error handling
- Add ui_tool for computer tools
- Add unified tool loading and id_tool
- Add HIP documentation (HIP-0300, HIP-0301)
2026-01-24 13:21:16 -08:00
zeekay 0a96a9efc4 fix: remove conflicting hanzo-mcp script from hanzo package
The hanzo CLI was exporting a hanzo-mcp command that conflicts with
the dedicated hanzo-mcp package. Removed to allow both to coexist.

Bump version to 0.3.47.
2026-01-21 20:21:57 -08:00
zeekay aa4c02676a refactor: remove all backwards compat aliases from cloud CLI
One canonical way to do everything:
- hanzo cloud <service> create/describe/list/delete/update
- hanzo cloud <service> connect/env/status
- hanzo cloud <service> start/stop/restart (stateful)
- hanzo cloud <service> enable/disable (functions, cron)
- hanzo cloud <service> pause/resume (queues)
- hanzo cloud services list
- hanzo cloud instances list
- hanzo cloud operations list/describe/wait
- hanzo cloud init
2026-01-19 23:59:58 -08:00
zeekay 15943c374d feat: refactor cloud CLI to gcloud idioms
Structure: hanzo cloud <service> <verb>

Canonical verbs:
- list, describe, create, delete, update
- connect, env, status (Hanzo-specific)

Lifecycle verbs (resource-dependent):
- start, stop, restart (stateful services: vector, kv, documentdb, etc.)
- enable, disable (functions, cron)
- pause, resume (queues)

New subgroups:
- hanzo cloud services list (available service types)
- hanzo cloud instances list (provisioned instances)
- hanzo cloud operations list/describe/wait (async tracking)

Aliases for backwards compat:
- ls → list, rm/destroy → delete, get → describe
- provision → create, up → create

Old commands still work with deprecation hints.
2026-01-19 23:54:37 -08:00
zeekay 411d960c0f feat: rename 'hanzo infra' CLI to 'hanzo cloud'
- Renamed infra.py to cloud.py with cloud_group command
- Updated CLI imports and registrations
- Bumped version to 0.3.35
- Updated Python requirement to >=3.12 (for hanzo-aci compatibility)
2026-01-19 23:39:36 -08:00
zeekay c141d110f0 feat: add 'hanzo infra' CLI for cloud infrastructure provisioning
Commands:
- hanzo infra list      - Show available services
- hanzo infra provision - Provision service on Hanzo Cloud
- hanzo infra connect   - Get connection details
- hanzo infra env       - Export environment variables
- hanzo infra status    - Check service health
- hanzo infra destroy   - Delete provisioned service
- hanzo infra init      - Initialize from hanzo.yaml

Services: vector, kv, documentdb, storage, search, pubsub, tasks, queues, cron, functions
2026-01-19 23:28:25 -08:00
zeekay 6de910bea3 refactor: simplify hanzo infra extras (hanzo[vector] instead of hanzo[infra-vector]) 2026-01-19 23:19:28 -08:00
zeekay 6326973161 feat: add hanzo-tools-api package and hanzo.infra SDK
Add generic REST API tool for calling any API via OpenAPI specs:
- 30+ built-in provider configs with env var auto-detection
- 1100+ auto-generated providers from APIs.guru + oapis.org
- Secure credential management with pluggable storage
- OpenAPI spec parsing with ETag caching
- Agent-friendly interface with search, overview, call actions

Add hanzo.infra unified infrastructure SDK:
- Vector (Qdrant), KV (Redis/Valkey), DocumentDB (MongoDB)
- Storage (S3/MinIO), Search (Meilisearch), PubSub (NATS)
- Tasks (Temporal), Queues, Cron, Functions (Nuclio)
- Async clients with lazy initialization and health checks
- Optional deps via [infra-*] extras

Bump hanzo-mcp to v0.11.4 with api tool integration.
2026-01-19 23:00:17 -08:00
zeekay ae17d82677 fix: Clean up SDK, fix pytest-asyncio config, remove summary files
- Remove random summary files (QUICK_REFERENCE.md, GRPO_*.md, etc.)
- Fix pytest-asyncio configuration with asyncio_mode=auto
- Fix async_client fixture with @pytest_asyncio.fixture decorator
- Fix test imports with correct sys.path for hanzo package
- Update hanzo-agent submodule reference
- All 2828+ API tests passing
2025-12-09 09:14:34 -08:00
zeekay f7aecfbf52 fix: improve AI tool detection and fallback mechanism (v0.3.31)
- Fix Hanzo Node detection to test actual chat endpoint instead of health check
- Check both ports 3690 (default) and 8000 for Hanzo Node
- Add session-based failed tool tracking to avoid repeated attempts
- Cache working tool selection for better performance
- Fix hanzo-mcp integration with proper dependencies
- Add comprehensive test suite for tool detection (14 tests)
- Test and verify OpenAI Codex integration
2025-09-07 15:33:06 -05:00
zeekay b95489a436 fix: Correct Hanzo Node port to 3690
- Fix Hanzo Node health check to use port 3690 (not 8000)
- Update chat completions endpoint to use correct port
- Fix status display to show correct port number
- This allows proper detection and use of local Hanzo Node
2025-09-06 07:53:06 -05:00
zeekay 8e6f5f2458 fix: Improve AI tool detection and fallback handling
- Fix Hanzo Node detection to verify chat endpoint actually works
- Skip Hanzo Node if /v1/chat/completions returns 404
- Add proper fallback chain when primary tool fails
- Show helpful error messages and suggest working alternatives
- agent will be used when Hanzo Node isn't functional
2025-09-06 07:51:14 -05:00
zeekay 02f02aa3b6 feat: Add native todo management to Hanzo REPL
- Add /todo command with full todo management capabilities
- Quick add with tags, priority, and due dates: /todo Buy milk #shopping !high @tomorrow
- Comprehensive todo operations: add, list, done, start, cancel, delete, view, stats
- Persistent storage in ~/.hanzo/todos.json
- Rich display with tables and emoji status indicators
- Advanced filtering by status, priority, and tags
- Statistics dashboard with completion rates
- Shortcut /t for quick access
2025-09-06 07:39:39 -05:00
zeekay f134900f0d feat(cli): Add Hanzo Node as highest priority for local private AI
- Hanzo Node (hanzod) now highest priority when running on localhost:8000
- Provides completely private, local AI - data never leaves your machine
- Detects running Hanzo Router on localhost:4000 as LLM proxy
- Priority chain: Hanzo Node → Router → agent → other tools
- Shows model count when Hanzo Node is running
- Special messaging for privacy when using local AI
- Version 0.3.27 with enhanced local AI support
2025-09-06 06:49:36 -05:00
zeekay 07d3013634 feat(cli): Auto-detect AI coding tools with agent as default
- Detect available AI tools: agent, OpenAI Codex, Gemini CLI, Grok, OpenHands, Hanzo Dev
- agent is default when available, with intelligent fallback chain
- Display detected tools as 'agent: Tool Name' in REPL
- Quick model selector with arrow key navigation (press ↓ for menu)
- Background task management with /tasks and /kill commands
- Tools integrated into /model command for seamless switching
- Version 0.3.26 with enhanced AI tool integration
2025-09-06 06:43:20 -05:00
zeekay 42f1941a4a feat(cli): Simplify REPL prompt to clean > with model info below
- Remove 'hanzo' prefix from prompt, just show clean '>'
- Display model info below input: 'model: provider/model-name'
- Show auth status with lock icons
- Version bump to 0.3.25 for PyPI release
2025-09-06 06:31:59 -05:00
zeekay a8a1ebc5e5 chore(mcp): fix stdio-safe CLI import order; quiet logging; bump hanzo-mcp to 0.8.4 and hanzo to 0.3.24 2025-09-06 06:06:10 -05:00
zeekay a99730cbb0 feat: Add CLI tools support to hanzo-mcp with batch execution
- Implement unified CLI tools module for all AI providers
- Add support for claude/cc, codex, gemini, grok, openhands/oh, hanzo-dev, cline, aider
- Enable parallel batch execution of CLI tools
- Add comprehensive test suite with 16 passing tests
- Fix typing issues with mypy strict mode
- Add GitHub Actions CI/CD workflow with optional integration tests
- Support authentication flow for all providers
- Follow DRY principle with single source of truth
2025-09-05 18:26:03 -05:00
zeekay f80e78b872 feat: Add streaming, rate limiting, and enhanced testing to hanzo dev
Major improvements:
- Streaming responses with real-time feedback
- Smart rate limiting with exponential backoff
- Error recovery with circuit breaker pattern
- Comprehensive test suite (all tests passing)
- Fixed CI/CD pipeline issues
- TypeWriter effect for code display
- Adaptive rate limits per API provider

Performance:
- Prevents API overuse with smart throttling
- Automatic fallback on rate limit errors
- Burst protection and cooldown periods
- Per-API customized limits

Version bump to 0.3.21
2025-08-20 04:17:18 -05:00
zeekay 2d617d2014 feat: Add intelligent fallback and memory management to hanzo dev
- Automatic fallback handler tries all available AI options
- Memory persistence with #memory commands (like Claude Desktop)
- Smart context management with priority-based memories
- Session tracking and user preferences
- Export/import memory capabilities
- Enhanced AI responses with contextual awareness
- Version bump to 0.3.20
2025-08-19 22:11:42 -05:00
zeekay 8d48ba345d feat: Complete hanzo dev chat-first REPL with multi-orchestrator support
- Chat-first interface (natural language by default)
- Claude Desktop-style UI with light gray borders
- Support for multiple orchestrators (GPT-5, Codex, Claude, local models)
- CLI tool integration (OpenAI CLI, Claude Desktop, Gemini CLI, Hanzo IDE)
- System 2 thinking with critic agents
- Comprehensive test coverage with real AI validation
- Version bump to 0.3.19
2025-08-19 21:13:47 -05:00
zeekay 4957658b27 fix: Fix Box definition error in REPL UI
- Fix 'not enough values to unpack' error by using predefined ROUNDED box
- Simplify input handling to avoid prompt_toolkit complexity
- Keep the visual bordered input box design
- Bump version to 0.3.18

The UI now works without crashing on startup!
2025-08-19 13:57:28 -05:00
zeekay 7d026cdf0f feat: Add Claude-style UI with light gray bordered input boxes
- Implement bordered input boxes with light gray styling (╭─╮ borders)
- Add styled response panels for AI outputs
- Use prompt_toolkit for better input handling with custom styles
- Add modern › prompt symbol instead of basic >
- Improve header with panel styling
- Make all AI responses display in consistent bordered panels
- Better error handling for Ctrl+C and Ctrl+D
- Version bump to 0.3.17

The interface now looks much more polished with Claude-like aesthetics!
2025-08-19 12:34:23 -05:00
zeekay a5a7ec5e58 fix: Correct OpenAI CLI syntax for chat completions
- Fix openai CLI command to use correct syntax: chat.completions.create
- Use -g flag instead of -p for message input
- Bump version to 0.3.16

The correct command is now:
openai api chat.completions.create -m gpt-4 -g 'message'
2025-08-19 12:23:01 -05:00
zeekay 1d867cd7b9 fix: Make hanzo dev chat actually work with all orchestrator models
- Fix chat_with_agents to properly route to direct API chat for CLI tools
- Implement working _send_to_instance that uses real AI models
- Add proper methods for OpenAI CLI, Claude Desktop, Gemini CLI
- Add proper methods for local models via Ollama
- Fix multi-Claude orchestrator to use actual AI instead of placeholders
- Bump version to 0.3.15

Now hanzo dev --orchestrator codex actually works!
2025-08-19 11:18:39 -05:00
zeekay 4396a566d5 feat: Add support for CLI tools that don't need API keys
- Add support for OpenAI CLI (Codex) - the official OpenAI CLI
- Add support for Claude Desktop/Code CLI integration
- Add support for Gemini CLI
- Add support for Hanzo Dev IDE from ~/work/hanzo/ide
- Keep existing support for free APIs (Codestral, StarCoder)
- Keep existing support for local models via Ollama/LM Studio
- Improve help text to show all available options
- Bump version to 0.3.14

Now users can use:
- hanzo dev --orchestrator codex     # OpenAI CLI
- hanzo dev --orchestrator claude    # Claude Desktop
- hanzo dev --orchestrator gemini    # Gemini CLI
- hanzo dev --orchestrator hanzo-ide # Hanzo IDE
- hanzo dev --orchestrator local:llama3.2 # Local models
- hanzo dev --orchestrator codestral # Free APIs
2025-08-19 03:47:13 -05:00
zeekay 75a5823f11 feat: Implement actual AI chat functionality in hanzo dev
- Add real OpenAI and Anthropic API integration
- Implement proper chat_with_agents method that actually works
- Add fallback to direct API calls when network orchestrator unavailable
- Include openai and anthropic as dependencies
- Pass orchestrator_model to MultiClaudeOrchestrator
- Bump version to 0.3.13 for critical fix release

BREAKING: Chat now requires API keys (OPENAI_API_KEY or ANTHROPIC_API_KEY)
2025-08-19 03:39:12 -05:00
zeekay 5f01da6c97 feat: Add local AI orchestration with 90% cost reduction
- Implement hanzo dev command with System 2 thinking orchestration
- Add support for local models (Llama, Qwen, Mistral) as orchestrators
- Create cost-optimized routing that uses local models for simple tasks
- Add MCP bridge for inter-agent communication
- Enable agent networks where all agents can call each other
- Add comprehensive E2E tests for local AI orchestration
- Fix logger initialization in dev.py
- Add fallback classes for when hanzo-network is not available
- Bump versions: hanzo 0.3.12, hanzo-mcp 0.8.2
2025-08-18 13:21:01 -05:00
zeekay 1a0ce208cc Release hanzo v0.3.11
- Fixed signal handling for hanzo net/node commands
- Ctrl-C now properly stops all processes gracefully
- Improved subprocess management with process groups
- Better error handling and shutdown messages
2025-08-14 18:02:22 -05:00
zeekay d34ebcefca fix: temporarily remove hanzo-net dependency to fix CI
- hanzo-net on PyPI has overly strict version pins causing conflicts
- Will re-add once hanzo-net is updated with flexible dependencies
- CI should now be green for all other packages
2025-08-13 22:46:46 -05:00
zeekay e7364fbc16 fix: update Python version requirement to 3.10+ for hanzo-net compatibility
- Remove Python 3.9 from test matrix (hanzo-net requires 3.10+)
- Update hanzo package to require Python 3.10+
- Add test mock server helpers for improved testing
2025-08-13 22:42:53 -05:00
zeekay 8de9157af3 chore: bump versions for release
- hanzo-mcp: 0.8.0 → 0.8.1 (test improvements)
- hanzo: 0.3.9 → 0.3.10 (dependency update)
2025-08-12 23:45:08 -05:00
zeekay ea3116aac9 Fix all test issues and achieve 100% test pass rate
- Remove all unconditional pytest.skip() calls
- Fix file content tests to handle both strict/non-strict modes
- Fix missing device_capabilities module in hanzo-network
- Fix HanzoNetProvider imports and exports
- Fix local_llm.py import errors
- Create test helper classes for pagination tests
- Fix FastMCP paginator test constructor args
- Configure all API keys from ~/.zsh/after.zsh
- All tests now pass or skip conditionally based on actual requirements
2025-08-12 16:19:34 -05:00
zeekay 8ec82ee2ad Update hanzo to v0.3.2 with hanzo-net v0.1.12
- Fixed QR code first line alignment issue
- Added GET handler for chat API endpoint for browser testing
- Includes all previous fixes for network IP and display spacing
2025-08-08 17:18:53 -05:00
zeekay 5cedf194aa Update hanzo to v0.3.1 with hanzo-net v0.1.11
- Updated dependency to hanzo-net>=0.1.11 for QR code alignment fixes
- Includes proper network IP detection for mobile access
- Fixed 'Chat API endpoint' label and display spacing
2025-08-08 17:12:50 -05:00
zeekay efc061c80a feat: Major README reorganization and version updates
- Reorganized main README to focus on complete AI SDK ecosystem
- Created dedicated hanzoai package README for AI client library
- Clear distinction between ecosystem (hanzo) and client library (hanzoai)
- Updated package descriptions and usage examples
- Bump versions: hanzoai 2.0.2→2.1.0, hanzo 0.2.14→0.3.0, hanzo-mcp 0.7.7→0.8.0
- Highlighted hanzo net command for local AI orchestration
- Added comprehensive installation variants and architecture details
2025-08-08 16:53:46 -05:00
zeekay ac7edf2f81 Update hanzo to v0.2.14 - require hanzo-net>=0.1.9 for graceful shutdown 2025-08-08 16:45:40 -05:00
zeekay 5254870af2 Update hanzo to v0.2.13 - require hanzo-net>=0.1.8 for mobile network fixes 2025-08-08 16:39:15 -05:00
zeekay 3cc297bd74 feat: Update hanzo to v0.2.12 with hanzo-net v0.1.6
- Update dependency to hanzo-net>=0.1.6 for QR code and mobile support
- Fix async event loop handling in net command
- Support for mobile devices joining network via QR code
2025-08-08 16:23:55 -05:00
zeekay 8f5c4b4cd0 chore: release version 0.2.6
- Improved hanzo/net integration with robust dependency checking
- Better error handling and venv detection
- Comprehensive tests and CI/CD setup
2025-08-06 21:57:35 -05:00