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
10ea59066f
feat(skill): built-in opencode-meta skill ( #26617 )
2026-05-09 22:05:37 -04:00
Kit Langton
79d6b10d7c
fix(mcp): tolerate output schema ref failures ( #26614 )
2026-05-09 22:03:59 -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
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