Kit Langton
ff52ec2272
test(server): apply simplify pass — drop redundant Effect.gen, prose comments, and assertion casts
2026-05-09 23:07:35 -04:00
Kit Langton
62ff152642
fix(server): return diagnosable body for schema rejections
...
Effect's default Respondable for HttpApiSchemaError returns 400 with an
empty body. The renderer / SDK / curl get nothing actionable — just
"GET /url → 400 Bad Request: (empty response body)". When a real user
hit this on Windows yesterday (corrupted DB row → schema rejected the
response), we spent ~an hour reverse-engineering the cause from the
URL alone.
PR #26457 previously tried to surface the reason in a structured body
({data, errors, success}) and got reverted in #26546 because some
plugins broke. The proximate cause was the SDK throwing raw POJOs to
plugins instead of Errors, which has since been fixed by
`wrapClientError` (`50dcc4f1a`).
Use the same NamedError shape every other 4xx/5xx in this API already
uses (e.g. NotFoundError 404):
{"name":"BadRequest","data":{"message":"...","kind":"Body"}}
The SDK's wrapClientError extracts data.message automatically, so any
caller that handles existing 404 NotFoundError bodies handles this
identically — no new contract.
Verified end-to-end:
BEFORE
status: 400
body: ""
SDK Error.message: opencode server GET .../message?... → 400: (empty response body)
AFTER
status: 400
body: {"name":"BadRequest","data":{"message":"Expected number, got null
at [0][\"parts\"][0][\"tokens\"][\"output\"]","kind":"Body"}}
SDK Error.message: Expected number, got null
at [0]["parts"][0]["tokens"]["output"]
Includes a regression test that asserts the body shape on a real Body
schema rejection (POST /sync/history with invalid aggregate).
2026-05-09 22:41:11 -04:00
Kit Langton
c6e6bdf59f
fix(session): tolerate negative token counts in stored parts ( #26620 )
2026-05-09 22:10:44 -04:00
Kit Langton
6e78f36a0f
Narrow HTTP API numeric query overrides ( #26618 )
2026-05-09 22:02:51 -04:00
Kit Langton
16866e1180
Share HTTP API boolean query schema ( #26615 )
2026-05-09 21:41:15 -04:00
Kit Langton
e30d8173c1
Fix OpenAPI workspace query drift ( #26609 )
2026-05-09 21:12:34 -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
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
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
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
27fa297a42
fix(server): keep provider lists JSON-safe ( #26550 )
2026-05-09 13:40:46 -04: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
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
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
75308ea47d
test(server): add HttpApi auth exercise mode ( #26386 )
2026-05-08 14:05:46 -04:00
Kit Langton
daa3116f4b
refactor(server): split HttpApi exercise harness ( #26385 )
2026-05-08 17:58:14 +00:00
Kit Langton
3052a79b32
refactor(server): clarify HttpApi route auth layers ( #26372 )
2026-05-08 13:06:00 -04:00
Rajvardhan Patil
13b3117ca9
fix(server): require auth for effect root routes ( #26361 )
...
Co-authored-by: Rajvardhan Patil <243567420+RajvardhanPatil07@users.noreply.github.com >
2026-05-08 16:39:11 +00:00
James Long
c818c9dcb6
feat(core): allow external workspace creation ( #26212 )
2026-05-08 11:09:12 -04:00
James Long
3c4b4d5faf
feat(core): copy file changes when warping ( #26190 )
2026-05-07 10:24:17 -04:00
Luke Parker
2dffdfff4a
fix(server): apply cors before legacy auth ( #26092 )
2026-05-07 08:55:09 +10:00
Kit Langton
8555de8189
Type session not-found errors ( #25818 )
2026-05-05 21:33:47 -04:00
Luke Parker
e117397d0f
fix(server): restore web terminal CSP allowances ( #25937 )
2026-05-06 09:32:51 +10:00