Repository navigation
0.30.0
Connecta 0.30.0 makes large results, sign-in and rich output dependable for agents, on both direct calls and programs. The six-tool surface from 0.29.0 stays. We measured the alternative, folding everything into execute_code, against it on Sonnet 5.5 and GPT-6-Luna (#765). The code-only surface scored lower and made a duplicate billable write, so it was not adopted.
Default call_tool and call_destructive_tool results now put their data in content and no longer send structuredContent or advertise outputSchema. Clients that prefer structured content, Claude Code among them, previously saw only a {"format":"json"} stub. Read the format from _meta["dev.connecta/format"]. For a truncated result, parse the first line of the text as a JSON notice. resultMode: "value" keeps the full structured envelope.
Programs no longer lose large data. A connecta.call result over the executor's inline cap is rebuilt from stash pages up to 1 MiB, and larger results come back as a handle for connecta.result. A program that returns more than 24,000 characters gets a pageable resultId in place of a truncated preview. If that run made a write, the notice says the write already ran. Paging checks the caller's connector grants on every page. Programs can forward images and other rich content with connecta.emit(result) or result.content, within the existing byte and block limits.
Downstream-OAuth handoff links use compact, opaque tokens that agents copy intact; links issued before the upgrade keep working until they expire. Auth failures on direct calls, program calls and catalog search now carry the sign-in link or operator instructions themselves, so agents no longer need a separate authorize_connector step. URL elicitation is unchanged.
Values submitted in JSON-Schema writeOnly argument fields are now treated like credentials. They are redacted from downstream result text, error text, program output and stored pages, with bounded work and memory. Values under 8 characters are replaced only where a structured field equals them, and prose containing them is withheld. Credential redaction of very large or deeply nested results no longer risks exhausting memory.
Custom KVStorage adapters must honor the new expiresAtMs option on set and compareAndSet and declare capabilities: { absoluteExpiry: true }. Construction rejects adapters without that declaration. The built-in memory, SQLite and D1 drivers already comply. Stash capacity charges now use storage time and hold until orphaned chunks expire, so a skewed or failing host can no longer over-admit stashes. The new maintained Infisical provider lets deployments manage projects, folders and secrets with machine-identity Universal Auth and no hand-written connector.