You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Breaking:OcttoTool.execute now returns Promise<ToolResult> instead of Promise<string>. The plugin SDK widened the type to a union of a string and a structured { title?, output, metadata?, attachments? } result. Tool implementations may still return a plain string; code that consumes an execute result must narrow it, for which outputText is exported.
Breaking:@opencode-ai/plugin moved from 1.0.223 to 1.18.9.
Added
Top-level model key in octto.json overrides the model for every agent at once. Per-agent entries still win where set (#17).
outputText normalizes either ToolResult shape to its text.
End-to-end test harness running octto inside a real opencode session, with a real browser, in a container.
Fixed
allowOther now renders a freetext choice. The flag was accepted by four schemas and described to the model, but no renderer ever read it, so it was a no-op (#7, #48).
Question config properties are no longer stripped by Zod on the start_session and push_question paths, which had left pick_one, pick_many, rank and rate with empty option lists (#6, #28).
Octto no longer leaks its agent objects into the resolved config. A shallow copy let another plugin's in-place mutation reach octto's stored state and persist across resolutions, and let injected prompt fragments stack on every re-instantiation (#51).
create_brainstorm no longer tells the agent to run its own get_next_answer loop, which the agent prompt forbids and which records no findings into branch state. An unfinished brainstorm now reports why it stopped (#49).