v0.6.0 — kill the verbose flag, jsonSchema is the only dial
Breaking change to /run. v0.5.0's two-flag matrix (verbose + jsonSchema)
collapses to one — jsonSchema decides everything:
no jsonSchema → {runId, workspace, exitCode, text} (lean)
jsonSchema → {runId, workspace, exitCode, text, json, (full)
events, sessionId, usage}
+ {parseError, jsonRetries} (replaces json) on
schema-validation failure after 3 retries
(everything else still surfaces for debugging)
Schema mode is always-verbose. Want events without strict validation?
Pass "jsonSchema": {"type": "object"} — permissive, just forces JSON
output.
The verbose field is removed from the request model. Pydantic silently
ignores stale verbose=true callers (extra=ignore) — they get the lean
text response without a 422.
Migration:
- drop verbose=true; if you wanted events/sessionId/usage, set
jsonSchema (use {"type":"object"} for permissive)
- schema-set callers now also receive text + events + sessionId +
usage alongside json
- SDK regen recommended