Commit graph

184 commits

Author SHA1 Message Date
Developer
b3c7d34dfb fix(httpapi): eliminate drift between runtime query schemas and OpenAPI params
Context: PR #26569 narrowly fixed a crash where the generated SDK sent
GET /session/{sessionID}/message?limit=80&directory=... because public.ts
manually injected InstanceQueryParameters (directory/workspace) into OpenAPI,
but the runtime MessagesQuery schema omitted directory, causing empty 400.

This change eliminates the drift by:

1. Creating a shared schema helper in query.ts that adds directory/workspace
   fields to all instance route query schemas.

2. Updating all instance route query schemas to use the helper:
   - session.ts: MessagesQuery, ListQuery
   - file.ts: FileQuery, FindTextQuery, FindFileQuery, FindSymbolQuery
   - experimental.ts: ToolListQuery, SessionListQuery
   - control.ts: LogQuery (already correct, now uses helper)
   - instance.ts, v2/session.ts, v2/message.ts

3. Adding reproducer tests in httpapi-query-schema-drift.test.ts that verify
   the runtime accepts directory/workspace params on affected routes.

The OpenAPI spec generation in public.ts still manually injects params for
backward compatibility with the legacy SDK format, but now the runtime
schemas match, eliminating the validation errors.

Verification:
- bun typecheck passes
- 4 drift reproducer tests pass
- 24 httpapi tests pass across session, file, experimental, workspace-routing
2026-05-09 16:12:02 -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
Dax
39c88f9afb
Improve v2 session message rendering (#25634) 2026-05-05 02:35:21 +00:00
James Long
22a4a9df8b
feat(core): session warping (#25768) 2026-05-04 21:28:38 -04:00
Kit Langton
fb07c2070c
fix(server): provide fresh ConfigProvider per HttpApi listener (#25726) 2026-05-04 13:06:29 -04:00
Kit Langton
25dc6f09bc
fix(worktree): fork workspace worktree boot (#25723) 2026-05-04 12:01:13 -04:00
opencode-agent[bot]
2c819f290f chore: generate 2026-05-04 13:55:28 +00:00
Kit Langton
6e9f10ad3f
test(server): regression reproducers for #25698 (#25714) 2026-05-04 09:54:19 -04:00
Kit Langton
7bc26dafae
feat(server): pty websocket auth tickets (#25660) 2026-05-03 22:56:14 -04:00
opencode-agent[bot]
755cd561ec chore: generate 2026-05-03 19:45:26 +00:00
Kit Langton
6312c55d55
fix(server): serve embedded UI from bunfs (#25632) 2026-05-03 19:44:23 +00:00
Kit Langton
387220f368
fix(server): support desktop PTY websockets with HttpApi (#25598) 2026-05-03 18:23:29 +00:00
Shoubhit Dash
8694c5b68f
fix(auth): respect server username in clients (#25596) 2026-05-03 19:28:31 +05:30
OpeOginni
101566131d
fix(httpapi): add basic auth challenge for browser login
Adds a WWW-Authenticate challenge for unauthorized experimental HttpApi UI fallback responses so browsers open the Basic Auth prompt when a server password is configured.
2026-05-03 13:20:05 +00:00
Kit Langton
2ad1eb56d3
feat(server): native HttpApi listener with Bun.serve + WS upgrade (#25547) 2026-05-03 09:09:45 -04:00
Kit Langton
0ee3b87289
feat(server): Server.openapi() backed by HttpApi spec, parity-checked against Hono output (#25545) 2026-05-03 09:06:23 -04:00
Kit Langton
ca75ac6681
refactor(server): extract Hono-coupled utilities to backend-neutral modules (#25542) 2026-05-03 12:58:34 +00:00
Kit Langton
5f03d892c0
fix(httpapi): pagination Link header echoes request host (#25527) 2026-05-02 23:19:33 -04:00