chore: address follow-ups from the built-in agent removal - #93
Merged
Conversation
Four small fixes noted while removing the built-in agent.
**`task` commands accept the ID positionally.** `handler task get <id>` failed
with `Missing option '--task'`, which reads as a bug next to `card get --url`
and `server show NAME`. All five task commands (`get`, `cancel`, `resubscribe`,
`notification set`, `notification get`) now take the ID as an optional
positional argument or via `--task`. Passing both is fine when they agree and
an error when they differ, rather than silently preferring one. `--task` still
works unchanged, so nothing breaks.
As a side effect `--params '{"task_id": ...}'` now works on its own; previously
`--task` was required even when the payload already carried the ID.
**MCP `serverInfo` reported the wrong version.** FastMCP exposes no `version`
parameter and the low-level server reports the `mcp` library version when its
own is unset, so clients inspecting `serverInfo` saw `1.29.0` instead of
Handler's version. Set explicitly on the underlying server.
**Snapshots no longer break on every release.** The three TUI snapshots embedded
the rendered footer version, so any version bump invalidated all of them. The
snapshot environment now freezes it, matching how the fixtures already freeze
agent version, protocol version, and timestamps. Verified by running the suite
against a synthetic 9.9.9 -- snapshots and the footer assertion both pass.
**`starlette` is declared directly.** `webhook.py` imports it but received it
transitively via `a2a-sdk[http-server]`, so a change in that extra would have
broken `server run push` with no signal here.
Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
alDuncanson
force-pushed
the
chore/followup-cleanups
branch
from
August 15, 2026 00:15
0dec76d to
659d8a4
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Four small fixes noted while removing the built-in agent in #92.
taskcommands accept the ID positionallyhandler task get <id>failed withMissing option '--task', which reads as a bug next tocard get --urlandserver show NAME. All five task commands —get,cancel,resubscribe,notification set,notification get— now take the ID either way:Both forms together are fine when they agree, and an error when they differ, rather than silently preferring one:
--taskis unchanged, so nothing breaks. One side effect worth noting:--params '{"task_id": ...}'now works on its own, since the resolver runs before the payload merge and the check happens after. Previously--taskwas required even when the payload already carried the ID.MCP
serverInforeported themcplibrary versionClients inspecting
serverInfosaw"version": "1.29.0"— themcppackage version, not Handler's. FastMCP exposes noversionparameter, and the low-level server falls back to the library version when its own is unset, so it is set explicitly on the underlying server.Verified over stdio:
{"name": "Handler", "version": "0.2.0", ...}.Snapshots no longer break on every release
The three TUI snapshots embedded the rendered footer version, so any version bump invalidated all of them and required a
--snapshot-updateas part of every release. The snapshot environment now freezes it, consistent with how the fixtures already freeze agent version, protocol version, and timestamps.Verified by resolving the package at a synthetic
9.9.9and running the suite — all 3 snapshots and the footer assertion pass, where previously all 4 would fail. The footer test itself still asserts real version rendering, now derived from__version__rather than hardcoded.starletteis declared directlywebhook.pyimportsstarlettebut received it transitively througha2a-sdk[http-server]. A change in that extra would have brokenhandler server run pushwith no signal here. No resolution change — it was already in the tree.Verification
ruff,
ruff format,ty, and 422 tests pass (up from 415; 7 new tests cover the positional ID, the conflict and missing cases, and--params-only).Lockfile checked against
main: no package resolves older, so the dependabotcryptography50.0.0 andaiohttp3.14.3 bumps are preserved.🤖 Generated with Claude Code