opencode/packages
Kit Langton 8a5d19c376 feat(httpapi-exercise): add .viaSdk() to drive scenarios through real SDK
The exerciser harness builds requests directly as Request objects, which
means it never exercises the SDK client's auto-injection of
?directory= / ?workspace= on GETs. That's structurally how the entire
#26569 / #26581 family of regressions slipped through — the SDK was
sending requests the typed query schemas didn't accept, but the harness
was sending requests directly.

Add an opt-in `.viaSdk((sdk, ctx) => sdk.X.Y(...))` builder method that
runs the scenario through a real `createOpencodeClient` wired to the
in-process exerciser router. The SDK applies its real request transforms
so route tests catch the SDK-vs-server-shape drift class at write time.

The runner normalizes the SDK's `{data, error, response}` (or thrown
Error with `.cause = {body, status}`) back into the existing `CallResult`
shape so all the existing assertions (`.json()`, `.status()`, `.ok()`,
etc.) continue to work unchanged. Existing `.at(...)` scenarios are
not touched.

Convert two scenarios as proof: `app.agents.via_sdk` and
`command.list.via_sdk` both pass alongside the 139 existing scenarios
(141/141 PASS).

Subsequent PRs will migrate the standalone `httpapi-query-schema-drift`
scenarios into the exerciser using `.viaSdk(...)` and delete that file
as the bug class becomes a structural guarantee inside the harness.
2026-05-09 20:14:46 -04:00
..
app fix(session): accept legacy summary diffs (#26579) 2026-05-09 16:44:24 -04:00
console sync release versions for v1.14.44 2026-05-09 19:33:26 +00:00
containers chore: bump Bun to 1.3.13 (#23791) 2026-04-23 00:25:36 -04:00
core Move schema utilities into core (#26565) 2026-05-09 19:51:09 +00:00
desktop sync release versions for v1.14.44 2026-05-09 19:33:26 +00:00
docs fix(web): favicon rename again 2026-01-21 14:36:21 -06:00
enterprise sync release versions for v1.14.44 2026-05-09 19:33:26 +00:00
extensions/zed sync release versions for v1.14.44 2026-05-09 19:33:26 +00:00
function sync release versions for v1.14.44 2026-05-09 19:33:26 +00:00
http-recorder sync release versions for v1.14.44 2026-05-09 19:33:26 +00:00
identity
llm sync release versions for v1.14.44 2026-05-09 19:33:26 +00:00
opencode feat(httpapi-exercise): add .viaSdk() to drive scenarios through real SDK 2026-05-09 20:14:46 -04:00
plugin Plugin command API shim (#26564) 2026-05-09 21:56:49 +02:00
script refactor: replace bun semver with npm semver package 2026-03-09 15:29:55 -04:00
sdk fix(config): allow active provider model status (#26592) 2026-05-09 18:59:05 -04:00
slack sync release versions for v1.14.44 2026-05-09 19:33:26 +00:00
storybook feat(prompt): add shell mode UI with cancel button, custom icon, and example placeholder (#24105) 2026-04-24 14:04:55 +08:00
ui fix(session): accept legacy summary diffs (#26579) 2026-05-09 16:44:24 -04:00
web sync release versions for v1.14.44 2026-05-09 19:33:26 +00:00