zeekay
edc958eaac
test: fix tool count expectations in test_all_tools.py
...
- Update shell tools: 11→12 (cmd replaces dag, added fish/dash)
- Update memory tools: 1→9 (individual tools not unified)
- Make database/editor tests optional with skipif
- Update total expected count: 40→38
2026-01-05 17:42:14 -08:00
zeekay
1143769c59
fix(lint): fix import sorting and lru_cache noqa
...
- Fix 12 import sorting issues (I001)
- Add noqa for lru_cache in shellflow.py (TID251 rule for Stainless SDK)
2025-12-27 20:32:45 -08:00
zeekay
7326bfa5e7
fix(core): update memory tool count (1 unified tool, not 9)
2025-12-27 15:13:50 -08:00
zeekay
e95018bd3a
fix(core): remove ToolCategory from exports (it's in hanzo-mcp, not hanzo-tools-core)
2025-12-27 15:11:58 -08:00
zeekay
9b7b008c20
fix(core): import MCPResourceDocument from types.py, not base.py
2025-12-27 15:09:52 -08:00
zeekay
07ce4b521b
fix(ci): ignore hanzo-tools-core deprecation warning in pytest
2025-12-27 15:08:38 -08:00
zeekay
2200d578d9
fix(core): filter deprecation warning in tests
2025-12-27 15:07:07 -08:00
zeekay
418b146211
fix(core): update test module names and tool counts
...
- hanzo_tools.filesystem -> hanzo_tools.fs (correct module name)
- shell: 7 -> 11 tools (dag, ps, zsh, bash, shell, npx, uvx, open, curl, jq, wget)
- agent: 10-12 -> 3 tools (AgentTool, IChingTool, ReviewTool)
- Removed variable agent tool count - now exactly 3 tools
- Updated total required tools: 48
2025-12-27 15:05:46 -08:00
zeekay
6998188dea
style: format test files with black
2025-12-27 15:00:11 -08:00
zeekay
058fffc218
docs: add READMEs for all 18 hanzo-tools-* packages
2025-12-27 14:55:13 -08:00
zeekay
a9769ebb28
refactor: merge hanzo-tools-core into hanzo-tools
...
- hanzo-tools now contains core infrastructure (BaseTool, ToolRegistry, etc.)
- hanzo-tools-core becomes a thin backwards-compat wrapper
- All tool packages now depend on hanzo-tools>=0.3.0
- Reduces package count and simplifies dependency tree
2025-12-26 16:53:58 -08:00
zeekay
303a05a616
feat(agent): agentic proxy with agent integration
...
Enhanced agent tool architecture:
- 8 CLI agents: claude, codex, gemini, grok, qwen, vibe, code, dev
- Auto-detects agent environment for seamless auth
- Shares hanzo-mcp config with spawned agents
- Lightweight - no heavy litellm dependency
Essential tools reorganization:
- Added agent, think, critic to essential tools
- Removed llm/consensus from essential (heavy deps, opt-in)
- HEAVY_TOOLS constant for tracking opt-in tools
Config sharing:
- HANZO_AGENT_PARENT=true passed to child agents
- MCP config env vars propagated
- API keys shared when appropriate
2025-12-26 12:25:16 -08:00
zeekay
2cb7eb03fc
feat(hanzo-mcp): unified tool command and essential tools system
...
Major improvements to mode and tool management:
1. Essential System Tools - Critical tools (llm, consensus, config, mode,
tool, version, stats) are now ALWAYS enabled regardless of active mode.
Previously, mode system disabled all tools then only enabled mode-specific
ones, causing critical tools to be unavailable.
2. Unified 'tool' Command - Consolidates tool_install, tool_enable,
tool_disable, tool_list into single 'tool' command with actions:
- list: List all tools by category
- enable/disable: Toggle tool state
- install/uninstall: Package management
- upgrade/reload: Update tools
- self_update: Update hanzo-mcp
3. Fixed Permission Manager - Made permission_manager optional in:
- FileSystemTool base class
- ComputerTool
- ConfigTool
- ReadTool, WriteTool, EditTool
Now creates default PermissionManager if not provided.
4. Fixed Mode System - Builtin modes (hanzo, minimal, fullstack, devops,
security) are now always registered alongside hanzo-persona profiles.
Previously they were skipped when hanzo-persona was available.
5. Updated ESSENTIAL_TOOLS constant with modern tool names and added
llm, consensus, config, mode to ensure they're in all default modes.
Version bump: 0.10.19 -> 0.10.20
2025-12-26 11:09:45 -08:00
zeekay
23b8a161a9
chore: bump hanzo-tools-* to 0.2.0, hanzo-mcp to 0.10.17
...
Published all packages to PyPI:
- hanzo-tools-core 0.2.0
- hanzo-tools-filesystem 0.2.0
- hanzo-tools-shell 0.2.0
- hanzo-tools-browser 0.2.0
- hanzo-tools-memory 0.2.0
- hanzo-tools-todo 0.2.0
- hanzo-tools-reasoning 0.2.0
- hanzo-tools-lsp 0.2.0
- hanzo-tools-refactor 0.2.0
- hanzo-tools-database 0.2.0
- hanzo-tools-agent 0.2.0
- hanzo-tools-jupyter 0.2.0
- hanzo-tools-editor 0.2.0
- hanzo-tools-computer 0.2.0
- hanzo-mcp 0.10.17
2025-12-26 06:49:24 -08:00
zeekay
b21ca3a5ce
fix: run ruff check --fix and format across entire codebase
2025-12-26 04:31:06 -08:00
zeekay
82ea895893
fix: make new tool packages optional in tests for CI compatibility
2025-12-26 04:14:36 -08:00
zeekay
c825db98e5
chore: run ruff format on all hanzo packages
2025-12-26 04:12:26 -08:00
zeekay
a3b58c011f
chore: fix ruff linting issues across all hanzo-tools packages
...
- Fix import sorting (I001) in all packages
- Fix bare except (E722) in lsp_tool.py
- Fix duplicate set item (B033) in refactor_tool.py
2025-12-26 04:11:10 -08:00
zeekay
1e988d8d26
fix: remove unused lru_cache import and update test expectations
...
- Remove unused functools.lru_cache import from refactor_tool.py
(fixes ruff TID251 banned import error)
- Update test_all_tools.py to include new packages:
config (2 tools), mcp_tools (4 tools), llm (0-4), vector (0-3)
- Make agent tool count flexible (10-12) for platform differences
- Total tools now 57-66 depending on optional dependencies
2025-12-26 04:10:22 -08:00
zeekay
ebf074bd0a
feat(hanzo-mcp): improve tool output formatting for agent display
...
- Add MCPResourceDocument.to_readable_string() for human-readable output
- Update search, find, lsp, refactor tools to use readable format
- Cleaner to_json_string() that doesn't double-wrap data
- Better formatted results with:
- Search stats and timing info
- Numbered results with file:line locations
- Truncated long matches for readability
- Pagination info
- Sync improvements to hanzo-tools-core package
2025-12-26 04:07:00 -08:00
zeekay
c63f370fea
test(hanzo-tools): add tests and CI for 53 tools across 13 packages
...
- Add test_all_tools.py with 28 tests covering:
- Package imports and tool counts
- Import speed verification (no blocking)
- Async call method verification
- Total tool count validation (53 tools)
- Add test-hanzo-tools.yml CI workflow:
- Runs on push/PR to pkg/hanzo-tools-*
- Installs all 13 tool packages
- Verifies all tools import correctly
2025-12-25 23:18:58 -08:00
zeekay
d5f8e3f2b5
feat(hanzo-tools): add modular tool packages with 53 tools across 13 packages
...
Introduces hanzo-tools-* namespace packages for independent tool installation:
Core packages:
- hanzo-tools-core: BaseTool, ToolRegistry, PermissionManager
- hanzo-tools-filesystem: read, write, edit, tree, find, search, ast (7 tools)
- hanzo-tools-shell: dag, ps, zsh, shell, npx, uvx, open (7 tools)
AI/Agent packages:
- hanzo-tools-agent: critic, iching, review, network, CLI agents (12 tools)
- hanzo-tools-memory: recall/create/update/delete memories, facts, KB (9 tools)
- hanzo-tools-reasoning: think, critic (2 tools)
Editor/Dev packages:
- hanzo-tools-lsp: Language Server Protocol tool (1 tool)
- hanzo-tools-refactor: rename, extract, inline, move, change_signature (1 tool)
- hanzo-tools-database: SQL + graph database tools (8 tools)
- hanzo-tools-editor: neovim integration (3 tools)
- hanzo-tools-jupyter: notebook read/edit (1 tool)
- hanzo-tools-browser: Playwright browser automation (1 tool)
- hanzo-tools-todo: unified todo management (1 tool)
Key improvements:
- All subprocess.run calls have timeout protection
- All tool .call() methods are async
- Namespace package pattern for mix-and-match installation
- Entry point discovery via hanzo.tools
- No blocking imports (all < 2s)
Also updates hanzo-mcp:
- Browser tool integration
- Tool install/registry for dynamic tool management
- Auto-background timeout reduced to 60s
2025-12-25 22:38:26 -08:00