Commit graph

1078 commits

Author SHA1 Message Date
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
Kit Langton
b8ca71d309
fix(task): subagent inherits parent agent's deny rules (Plan Mode security bypass) (#26597)
Co-authored-by: Developer <temp@example.com>
2026-05-09 23:51:55 +00:00
Kit Langton
6849f96825
refactor(provider): share model status schema (#26595)
Co-authored-by: Developer <temp@example.com>
2026-05-09 19:20:31 -04:00
Kit Langton
00c3248295
fix(config): allow active provider model status (#26592)
Co-authored-by: Developer <temp@example.com>
2026-05-09 18:59:05 -04:00
opencode-agent[bot]
818b56dbd0 chore: generate 2026-05-09 22:47:54 +00:00
Kit Langton
29b5b24787
fix(tui): aggregate bootstrap request failures
TUI bootstrap now reports all parallel fetch failures together instead of losing sibling failures after the first rejection.
2026-05-09 18:46:52 -04:00
Kit Langton
11363170ca
fix(sdk): wrap thrown error bodies in Error
SDK throwOnError paths now convert structured response bodies into real Error instances while preserving the original body and status in cause.
2026-05-09 18:46:43 -04:00
Kit Langton
ba9e4b67ed
fix(tool/read): match permission patterns against worktree-relative path
Read permission checks now use the same worktree-relative path basis as edit/write/apply_patch, so configured patterns apply consistently.
2026-05-09 18:46:29 -04:00
Kit Langton
bd1029b19f
test(server): cover HttpApi context inheritance
Adds regression coverage for request context inheritance in promptAsync and explicit context provisioning in stream bodies.
2026-05-09 18:46:10 -04:00
Kit Langton
43b51f09d0
fix(httpapi): align runtime query schemas with workspace routing params (#26581)
Co-authored-by: Developer <temp@example.com>
2026-05-09 16:50:30 -04:00
Kit Langton
d373c562f2
fix(session): accept legacy summary diffs (#26579)
Co-authored-by: Developer <temp@example.com>
2026-05-09 16:44:24 -04:00
opencode-agent[bot]
5fa5d876fc chore: generate 2026-05-09 20:31:32 +00:00
Kit Langton
805af011c9
test(session): regression test for #26574 + mirror loosening on Vcs.FileDiff (#26578)
Co-authored-by: Developer <temp@example.com>
2026-05-09 16:30:31 -04:00
Kit Langton
8602937a37
test(session): cover workspace-routed messages (#26576) 2026-05-09 16:19:06 -04:00
Kit Langton
77da433e0a
fix(session): accept routing params in message list (#26569)
Co-authored-by: Developer <temp@example.com>
2026-05-09 16:02:35 -04:00
Kit Langton
6c2dfd2f52
fix(tui): guard messages.data in session.sync against undefined (#26566)
Co-authored-by: Developer <temp@example.com>
2026-05-09 19:58:03 +00:00
Dax
dcdbdb218f
Move schema utilities into core (#26565) 2026-05-09 19:51:09 +00:00
Kit Langton
5e49029e70
fix(provider): isolate plugin model mutations (#26561)
Co-authored-by: Developer <temp@example.com>
2026-05-09 15:47:07 -04:00
Kit Langton
6fea0178eb fix(server): defer validation error body change 2026-05-09 14:50:45 -04:00
Kit Langton
57efec4429
fix(storage): default workspace time migration (#26556) 2026-05-09 14:18:55 -04:00
Kit Langton
27fa297a42
fix(server): keep provider lists JSON-safe (#26550) 2026-05-09 13:40:46 -04:00
Aiden Cline
b1cd25de3d
ignore: fix typerrs on dev (#26544) 2026-05-09 12:08:00 -05:00
Steffen Deusch
817cb076a8
fix(acp): include tool image attachments in updates (#25128) 2026-05-09 11:45:44 -05:00
opencode-agent[bot]
d01cb7f013 chore: generate 2026-05-09 13:11:45 +00:00
Kit Langton
28b03595bf
research: delete Hono backend (do not merge) (#25667) 2026-05-09 13:10:42 +00:00
Kit Langton
32684e70e6
test(server): expect null body from HTTP API authorize() with no redirect (#26515) 2026-05-09 08:50:00 -04:00
Kit Langton
e7cc8259b5
test(server): drop flaky account error-mapping test (#26475) 2026-05-09 00:29:31 -04:00
opencode-agent[bot]
a9ccb0804f chore: generate 2026-05-09 04:22:25 +00:00
Kit Langton
ebe6087e8f
fix(server): return structured validation errors (#26457) 2026-05-09 00:21:19 -04:00
Kit Langton
dc978cb889
fix(server): validate permission and question ids (#26456) 2026-05-09 00:20:28 -04:00
Kit Langton
8cbc43fbb0
fix(server): include auth challenge on typed 401 (#26455) 2026-05-09 00:15:20 -04:00
opencode-agent[bot]
82359c4b1b chore: generate 2026-05-09 04:06:08 +00:00
Kit Langton
7f3e51453b
test(server): use Layer.mock for partial Account service stub (#26472) 2026-05-09 00:05:05 -04:00
Kit Langton
cbdb2d9825
test(server): expand workspace routing fixed-id coverage (#26458) 2026-05-09 00:00:18 -04:00
Kit Langton
dcb8ed8eb0
test(server): cover workspace sync fence protocol (#26441) 2026-05-08 23:55:47 -04:00
Kit Langton
aab82cc1a7
test(project): rescue non-Hono InstanceBootstrap boundary tests (#26453) 2026-05-08 23:53:42 -04:00
opencode-agent[bot]
cff441909a chore: generate 2026-05-09 03:45:35 +00:00
Kit Langton
3615d5aab1
fix(server): map Account failures to typed 500 instead of defect (#26448) 2026-05-08 23:44:28 -04:00
Kit Langton
4d585464f3
fix(server): include Origin in CORS preflight Vary header (#26445) 2026-05-08 23:17:47 -04:00
Kit Langton
357a74714a
fix(test): set OPENCODE_EXPERIMENTAL_WORKSPACES in fence header test (#26466) 2026-05-08 23:12:08 -04:00
Kit Langton
ffea6c7974
feat(server): add HTTP API response compression (#26440) 2026-05-08 23:06:00 -04:00
Kit Langton
8e9550d90d
fix(server): emit fixed workspace fence headers (#26443) 2026-05-08 22:45:54 -04:00
James Long
9b7b6cb30f
feat(core): be smarter about generating a worktree name (#26368) 2026-05-08 22:45:44 -04:00
Kit Langton
cc68afb2de
test(server): lock fixed workspace routing context (#26454) 2026-05-08 22:35:32 -04:00
Kit Langton
11c33d52a5
test(server): cover REST API project skills (#26451) 2026-05-09 02:23:21 +00:00
Kit Langton
9c05d4e2fd
fix(server): serve HttpApi OpenAPI document (#26438) 2026-05-08 22:20:50 -04:00
Kit Langton
0745162eab
test(server): harden HttpApi exercise coverage (#26425) 2026-05-08 20:50:01 -04:00
Kit Langton
21d055be19
fix(workspace): claim detached sessions to source project (#26413) 2026-05-08 20:25:53 -04:00
Sebastian
a0fc27e424
flatten to keybind compatible config (#26421) 2026-05-09 01:29:13 +02:00
Shoubhit Dash
40d5ea1cf1
feat(core): add scout agent for repo research (#24149)
Co-authored-by: Dax Raad <d@ironbay.co>
2026-05-08 20:20:08 +00:00