936 Commits
Author SHA1 Message Date
zeekayandHanzo Dev 5121b09a05 client: regenerate from hanzo-inc/cloud@461b160d8e (8.5.727)
Co-authored-by: Hanzo Dev <[email protected]>
v8.5.727
2026-10-15 10:15:21 +00:00
zeekayandHanzo Dev f8b5a89f79 client: regenerate from hanzo-inc/cloud@648566cd04 (8.5.725)
Co-authored-by: Hanzo Dev <[email protected]>
v8.5.725
2026-10-15 09:18:32 +00:00
zeekayandHanzo Dev d8d5c47e17 client: regenerate from hanzo-inc/cloud@5477729ba9 (8.5.723)
Co-authored-by: Hanzo Dev <[email protected]>
v8.5.723
2026-10-14 08:53:33 +00:00
zeekay 7374804405 hanzo-mcp 0.15.21: the active mode is the whole manifest, and a flood of output has a ceiling
The default surface was 34 tools, 61 KB, ~15,300 tokens of schema in every
prompt of every agent. The mode system already names what a session should
carry, but only the tools register_all_tools enumerates obeyed it: zsh,
curl, playwright and the helpers (ps, npx, uvx, jq, wget, cdp, open) stayed
on in every mode. A mode now decides every discovered tool, the `hanzo`
mode lists what a coding agent calls every few steps (18 tools, 32 KB,
~8,000 tokens), and the rest is a name away: HANZO_MCP_ENABLED_TOOLS=a,b
or =all, `tool enable`, or `mode`.

hanzo-tools-shell 0.6.6: run_shell kept every byte a foreground command
wrote until the command ended. `yes` for thirty seconds is gigabytes. It
keeps the first 16 MiB per stream and drains the rest.

The tests' session-wide patch of asyncio.create_subprocess_exec handed
every shell command a stream that never reached EOF; the first test to run
one read it in a loop until the machine was out of memory (22 GB, killed).
The patch is now opt-in and its process has exited.

bench/latency.py measures the cold start, the tools/list bill and the common
calls through a real MCP client over stdio. Interleaved rounds, wall and CPU
seconds, p50 over 6 cold starts:

                         cold wall  cold CPU  tools  bytes   ~tokens
  installed 0.15.18      9.34 s     10.46 s   30     52,601  13,150
  main 0.15.20           1.52 s      1.13 s   34     61,287  15,321
  this                   0.96 s      1.06 s   18     32,222   8,055

The installed environment's 9 s is its hanzoai 8.5.156, whose package init
imports the whole generated cloud client; hanzo-mcp >= 0.15.20 requires
hanzoai >= 8.5.624, which loads it lazily. Per-call latency is spawn-bound
(zsh 17.6 ms, git status 33 ms, fs.read 2.5 ms at p50) and moves with the
machine's load; no call path changed.
hanzo-mcp-v0.15.21 hanzo-tools-shell-v0.6.6
2026-10-12 08:47:57 -07:00
zeekayandHanzo Dev cfad648f7f client: regenerate from hanzo-inc/cloud@ce4f33a2bf (8.5.719)
Co-authored-by: Hanzo Dev <[email protected]>
v8.5.719
2026-10-12 08:42:45 +00:00
zeekayandHanzo Dev 9cc5c12ccc client: regenerate from hanzo-inc/cloud@4bb3369ad3 (8.5.718)
Co-authored-by: Hanzo Dev <[email protected]>
v8.5.718
2026-10-11 11:18:09 +00:00
zeekayandHanzo Dev 496288eced client: regenerate from hanzo-inc/cloud@b9a5b7ab54 (8.5.717)
Co-authored-by: Hanzo Dev <[email protected]>
v8.5.717
2026-10-10 20:22:45 +00:00
zeekayandHanzo Dev 0bb26a5c5c client: regenerate from hanzo-inc/cloud@1d19c5f527 (8.5.714)
Co-authored-by: Hanzo Dev <[email protected]>
v8.5.714
2026-10-10 11:43:59 +00:00
zeekayandHanzo Dev ddab78c22f client: regenerate from hanzo-inc/cloud@95d9f810dd (8.5.704)
Co-authored-by: Hanzo Dev <[email protected]>
v8.5.704
2026-10-09 23:48:10 +00:00
zeekayandHanzo Dev 527ba6ae03 client: regenerate from hanzo-inc/cloud@ffdcf5c42d (8.5.699)
Co-authored-by: Hanzo Dev <[email protected]>
v8.5.699
2026-10-09 19:09:02 +00:00
zeekayandHanzo Dev 4ffcf2bb1a client: regenerate from hanzo-inc/cloud@1e531e42c6 (8.5.655)
Co-authored-by: Hanzo Dev <[email protected]>
v8.5.655
2026-10-05 16:15:26 +00:00
zeekayandHanzo Dev 40850a752c client: regenerate from hanzo-inc/cloud@e693e1249c (8.5.653)
Co-authored-by: Hanzo Dev <[email protected]>
v8.5.653
2026-10-05 15:33:21 +00:00
zeekayandHanzo Dev e9a0b717c0 client: regenerate from hanzo-inc/cloud@b007a190cf (8.5.649)
Co-authored-by: Hanzo Dev <[email protected]>
v8.5.649
2026-10-05 10:41:51 +00:00
zeekayandHanzo Dev e5f302a839 client: regenerate from hanzo-inc/cloud@b0a7a378c5 (8.5.648)
Co-authored-by: Hanzo Dev <[email protected]>
v8.5.648
2026-10-05 10:32:41 +00:00
zeekayandHanzo Dev fcfdb3483f client: regenerate from hanzo-inc/cloud@e2d5eae3c0 (8.5.647)
Co-authored-by: Hanzo Dev <[email protected]>
v8.5.647
2026-10-05 09:43:21 +00:00
zeekayandHanzo Dev 924fba7a5e client: regenerate from hanzo-inc/cloud@8c559683df (8.5.646)
Co-authored-by: Hanzo Dev <[email protected]>
v8.5.646
2026-10-05 09:34:03 +00:00
zeekayandHanzo Dev 18df31c7e1 client: regenerate from hanzo-inc/cloud@963ad356aa (8.5.640)
Co-authored-by: Hanzo Dev <[email protected]>
v8.5.640
2026-10-05 06:13:52 +00:00
zeekay 54e7f4fa2b feat(hanzo-mcp): repo joins the default surface, on llm limits and typed plan refusals 2026-10-04 16:54:10 -07:00
zeekay e315b45181 feat(hanzo-tools-vcs): repo lists Hanzo git repositories and syncs one now 2026-10-04 16:53:26 -07:00
zeekay 34082fa2ca feat(hanzo-tools-llm): llm limits, searched models, served and paid-by, typed plan refusals 2026-10-04 16:50:55 -07:00
zeekay 10a9562e1d feat(hanzoai): a usage refusal names its spent window and reads the /v1 envelope 2026-10-04 16:46:07 -07:00
zeekay d5daeda70e feat(hanzo-tools): a cloud refusal carries its body and headers, send returns headers 2026-10-04 16:40:55 -07:00
zeekay 4240afb736 feat(hanzoai): typed usage-limit errors and read_usage 2026-10-04 16:37:35 -07:00
zeekay 259f4d2fa4 fix(client): regenerate 8.5.623 with the current python driver 2026-10-04 16:23:43 -07:00
zooqueenandHanzo Dev 5c0cc67e39 Put llm and kai_decide on the default hanzo-mcp surface
Every mode disables a registered tool it does not list, and llm was
listed nowhere but HEAVY_TOOLS, written when it pulled a 100 MB client.
It is an HTTP call to api.hanzo.ai now, so llm and kai_decide join the
essential set every personality carries, and the llm package maps to the
two tools it ships.

hanzo-mcp 0.15.19, on hanzo-tools 0.3.8 and hanzo-tools-llm 0.2.1.

Co-authored-by: Hanzo Dev <[email protected]>
2026-10-04 13:55:32 -07:00
zooqueenandHanzo Dev 034e1a6caf Route llm through api.hanzo.ai with Enso, and add kai_decide
The llm tool called upstream providers through the litellm fork, read
provider keys, and never reached the MCP surface: its register() was a
no-op and it skipped BaseTool's constructor. Kai had no Python tool.

hanzo-tools-llm now carries two HIP-0300 tools over HanzoCloud:
- llm (default action query): POST /v1/chat/completions with model
  enso-auto unless named, "auto" for Enso's pick, max_cost and
  max_latency_ms as X-Max-Cost and X-Max-Latency-Ms, returning id and the
  model that served; models: GET /v1/models, one row per model with the
  catalog's per-million prices, narrowed by family; feedback: POST
  /v1/ai/feedback with request_id, signal and a 1-3 rating.
- kai_decide (default action decide): POST /v1/decisions with the
  TypeScript tool's schema and shape checks.

The consensus, llm_manage and provider modules wrapped the upstream
client and were never registered, so they go, with hanzo-consensus and
the [full] extra. hanzo-tools-llm 0.2.1.

Co-authored-by: Hanzo Dev <[email protected]>
hanzo-tools-llm-v0.2.1
2026-10-04 13:55:32 -07:00
zooqueenandHanzo Dev e0897353ce Let HanzoCloud carry request headers, and a tool name its default action
Enso reads its routing bounds from X-Max-Cost and X-Max-Latency-Ms on
/v1/chat/completions, and HanzoCloud could send no header but its own, so
no tool could bound a routed request. post() and the shared request path
now take extra headers that ride beside the bearer.

BaseTool runs `help` for a call that names no action. A tool with one
obvious act (llm's query, kai_decide's decide) now declares
DEFAULT_ACTION, which the call, the advertised schema's default and its
required list all read, so it answers the same no-action call the
TypeScript and Rust runtimes do. Every other tool keeps `help`.

hanzo-tools 0.3.8.

Co-authored-by: Hanzo Dev <[email protected]>
hanzo-tools-v0.3.8
2026-10-04 13:55:31 -07:00
zeekayandHanzo Dev e86e4e8908 client: regenerate from hanzo-inc/cloud@151878a3c4 (8.5.623)
Co-authored-by: Hanzo Dev <[email protected]>
v8.5.623
2026-10-04 17:29:04 +00:00
zeekayandHanzo Dev 7a98e8dc12 client: regenerate from hanzo-inc/cloud@f70bca31cf (8.5.621)
Co-authored-by: Hanzo Dev <[email protected]>
v8.5.621
2026-10-04 16:50:38 +00:00
zeekayandHanzo Dev ccbd8c74c5 client: regenerate from hanzo-inc/cloud@728e7b552d (8.5.616)
Co-authored-by: Hanzo Dev <[email protected]>
v8.5.616
2026-10-04 10:38:16 +00:00
zeekayandHanzo Dev 48a79fa51c client: regenerate from hanzo-inc/cloud@652153c814 (8.5.618)
Co-authored-by: Hanzo Dev <[email protected]>
v8.5.618
2026-10-04 10:21:24 +00:00
zeekayandHanzo Dev e2e5ad8948 client: regenerate from hanzo-inc/cloud@e74e73d817 (8.5.620)
Co-authored-by: Hanzo Dev <[email protected]>
v8.5.620
2026-10-04 09:51:38 +00:00
zeekayandHanzo Dev d4f6d06b37 client: regenerate from hanzo-inc/cloud@b4a9801b9c (8.5.619)
Co-authored-by: Hanzo Dev <[email protected]>
v8.5.619
2026-10-04 09:45:14 +00:00
zeekayandHanzo Dev 10f2ac7769 client: regenerate from hanzo-inc/cloud@97eb976f07 (8.5.617)
Co-authored-by: Hanzo Dev <[email protected]>
v8.5.617
2026-10-04 09:22:49 +00:00
zeekayandHanzo Dev 8f1bc2afda client: regenerate from hanzo-inc/cloud@50e5ecc669 (8.5.613)
Co-authored-by: Hanzo Dev <[email protected]>
v8.5.613
2026-10-04 09:00:48 +00:00
zeekayandHanzo Dev f7e33634c0 client: regenerate from hanzo-inc/cloud@cf82333803 (8.5.611)
Co-authored-by: Hanzo Dev <[email protected]>
v8.5.611
2026-10-04 08:48:21 +00:00
zeekayandHanzo Dev dc0ca692a7 client: regenerate from hanzo-inc/cloud@60477ef158 (8.5.607)
Co-authored-by: Hanzo Dev <[email protected]>
v8.5.607
2026-10-04 08:26:01 +00:00
zeekayandHanzo Dev 69a1aa1707 client: regenerate from hanzo-inc/cloud@ff08c86ce2 (8.5.605)
Co-authored-by: Hanzo Dev <[email protected]>
v8.5.605
2026-10-04 07:03:10 +00:00
zeekayandHanzo Dev 454e3bfcd6 client: regenerate from hanzo-inc/cloud@45a5d493c1 (8.5.604)
Co-authored-by: Hanzo Dev <[email protected]>
v8.5.604
2026-10-04 04:17:37 +00:00
zeekayandHanzo Dev babd327276 client: regenerate from hanzo-inc/cloud@1e6d2a97de (8.5.583)
Co-authored-by: Hanzo Dev <[email protected]>
v8.5.583
2026-10-03 23:19:03 +00:00
zeekayandHanzo Dev 1aaedd6ccb client: regenerate from hanzo-inc/cloud@aaaccee2e8 (8.5.585)
Co-authored-by: Hanzo Dev <[email protected]>
v8.5.585
2026-10-03 22:55:53 +00:00
zeekayandHanzo Dev 437ce72eeb client: regenerate from hanzo-inc/cloud@7a53d7355d (8.5.584)
Co-authored-by: Hanzo Dev <[email protected]>
v8.5.584
2026-10-03 22:46:10 +00:00
zeekayandHanzo Dev a2b1f9029f client: regenerate from hanzo-inc/cloud@b2ea2f4774 (8.5.582)
Co-authored-by: Hanzo Dev <[email protected]>
v8.5.582
2026-10-03 20:38:52 +00:00
zeekayandHanzo Dev bc82a38c36 client: regenerate from hanzo-inc/cloud@66e9c1d5dd (8.5.580)
Co-authored-by: Hanzo Dev <[email protected]>
v8.5.580
2026-10-03 20:13:25 +00:00
zeekayandHanzo Dev ca52bce625 client: regenerate from hanzo-inc/cloud@54a8d2af15 (8.5.579)
Co-authored-by: Hanzo Dev <[email protected]>
v8.5.579
2026-10-03 19:51:33 +00:00
zeekayandHanzo Dev 64ef70f33a client: regenerate from hanzo-inc/cloud@8edb6f1601 (8.5.578)
Co-authored-by: Hanzo Dev <[email protected]>
v8.5.578
2026-10-03 17:19:13 +00:00
zeekayandHanzo Dev 24faaf0921 client: regenerate from hanzo-inc/cloud@0e988ad562 (8.5.555)
Co-authored-by: Hanzo Dev <[email protected]>
v8.5.555
2026-10-03 10:25:19 +00:00
zeekayandHanzo Dev 5c5f80bd9f client: regenerate from hanzo-inc/cloud@7a3c9af7a5 (8.5.554)
Co-authored-by: Hanzo Dev <[email protected]>
v8.5.554
2026-10-03 10:15:21 +00:00
zeekayandHanzo Dev 2426af558c client: regenerate from hanzo-inc/cloud@0d31b29c6f (8.5.553)
Co-authored-by: Hanzo Dev <[email protected]>
v8.5.553
2026-10-03 10:01:28 +00:00
zeekayandHanzo Dev be5f1dff52 client: regenerate from hanzo-inc/cloud@470b2430b9 (8.5.550)
Co-authored-by: Hanzo Dev <[email protected]>
v8.5.550
2026-10-03 09:46:59 +00:00