opencode/packages
Kit Langton 64937161aa 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:22:55 -04:00
..
app sync release versions for v1.14.45 2026-05-10 00:07:24 +00:00
console sync release versions for v1.14.45 2026-05-10 00:07:24 +00:00
containers chore: bump Bun to 1.3.13 (#23791) 2026-04-23 00:25:36 -04:00
core sync release versions for v1.14.45 2026-05-10 00:07:24 +00:00
desktop sync release versions for v1.14.45 2026-05-10 00:07:24 +00:00
docs
enterprise sync release versions for v1.14.45 2026-05-10 00:07:24 +00:00
extensions/zed sync release versions for v1.14.45 2026-05-10 00:07:24 +00:00
function sync release versions for v1.14.45 2026-05-10 00:07:24 +00:00
http-recorder sync release versions for v1.14.45 2026-05-10 00:07:24 +00:00
identity
llm sync release versions for v1.14.45 2026-05-10 00:07:24 +00:00
opencode feat(httpapi-exercise): add .viaSdk() to drive scenarios through real SDK 2026-05-09 20:22:55 -04:00
plugin sync release versions for v1.14.45 2026-05-10 00:07:24 +00:00
script refactor: replace bun semver with npm semver package 2026-03-09 15:29:55 -04:00
sdk sync release versions for v1.14.45 2026-05-10 00:07:24 +00:00
slack sync release versions for v1.14.45 2026-05-10 00:07:24 +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 sync release versions for v1.14.45 2026-05-10 00:07:24 +00:00
web sync release versions for v1.14.45 2026-05-10 00:07:24 +00:00