Repository navigation
v0.230.0
protoAgent v0.230.0 lets agents look at images in a project, cite a PDF at a specific page, and request an operator-approved restart of themselves. It also counts workflow review-gate spend in usage, makes the Secrets "Test connection" button test what you typed, and holds other PRs from merging while a release is being prepared.
Added
- Agents can view images (#4750). A new
view_image(project, path)tool returns a PNG, JPEG, GIF or WebP file from a managed project as an image a vision model can see. It is fenced and gated the same way asread_file. Callingread_fileon an image now returns a message pointing toview_imageinstead of unreadable bytes. - PDF citations open at a page (#4753, #4757).
save_file_artifacttakespage=Nfor a PDF, and the artifact chip in chat carries that page. Clicking the chip opens the Artifact panel scrolled to that page; a page past the end opens the last page. - Consent-gated agent restart (#4754, #4758). The lead agent can ask to restart the server, for example after installing plugin updates. The operator must approve it. The restart waits for the current turn to finish, and unattended turns and subagents cannot request one. On an unsupervised process the request is declined with instructions for restarting by hand.
Fixed
- Workflow review gates count in usage (#4751, #4752). Subagent spend from workflow steps (such as review gates) is now recorded in turn telemetry, so
usage --by-agentincludes it without double-counting the parent turn. Those rows now carry the workflow run's id (workflow:<run_id>) instead of an empty session id. - Settings ▸ Secrets "Test connection" tests the values you typed (#4756). It previously sent an empty form, so it only ever tested the saved config. Blank fields still fall back to the saved settings, and a stored secret's redacted placeholder is never sent as a credential.
- Release freeze (#4755). While a release PR from this repository is open, the "Review at head" check stays pending on every other PR, so nothing else merges mid-release. A
skip-release-freezelabel bypasses it, and the hold lifts as soon as the release PR closes. A fork PR with a release-like branch name does not trigger the freeze.
Docs
- The v0.229.0 changelog's links for fleet group/pin and the fleet switcher now point at the right PRs, #4741 and #4745 (#4747).
Upgrading
Nothing to do. There are no config changes or migrations. The restart tool is new; the agent can only restart with your approval, and POST /api/restart behaves as it did before.
What's Changed
- docs(changelog): fix two misnumbered PR links in the v0.229.0 CHANGELOG section and changelog.json by @mabry1985 in #4747
- feat: view_image(project, path): an agent can look at a PNG/JPEG/GIF/WebP in a managed project; read_file points images at it (#4749 part 1) by @mabry1985 in #4750
- feat: Workflow subagent spend reaches turn telemetry: an orphan _run_subagent delegation (no usage_sink, no bound collector) records one turns row so usage --by-agent counts the review gate (#4612 part 1) by @mabry1985 in #4751
- feat: sdk.run_subagent takes session_id and forwards it to the ledger; the workflows plugin passes its run identity so a workflow step's delegation row isn't empty (#4612 part 2) by @mabry1985 in #4752
- feat: Restart (1/2): schedule_restart() in runtime_routes waits for idle, then arms the re-exec; POST /api/restart reuses it (#4577) by @mabry1985 in #4754
- feat: Artifacts (1/2, server): save_file_artifact(page=N) for a PDF; the artifact-ref chip carries page (#4748) by @mabry1985 in #4753
- fix(console): Settings ▸ Secrets "Test connection" sends the unsaved form values, not {} (#4702 item 2) by @mabry1985 in #4756
- feat: Release freeze: "Review at head" goes pending on every non-release PR while a prepare-release/* PR is open (#4576) by @mabry1985 in #4755
- feat: Restart (2/2): consent-gated self_restart tool for the lead agent, wired to schedule_restart (#4577) by @mabry1985 in #4758
- feat: Artifacts (2/2, viewer): the chip's page reaches the panel and the PDF viewer opens scrolled to it (#4748) by @mabry1985 in #4757
Full Changelog: v0.229.0...v0.230.0