fix(httpapi): expose v2 request errors (#28495)

This commit is contained in:
Shoubhit Dash
2026-05-20 23:23:23 +05:30
committed by GitHub
parent 9559e2425b
commit 40e73c4910
15 changed files with 249 additions and 35 deletions

View File

@@ -105,6 +105,24 @@ describe("schema-rejection wire shape", () => {
{ git: true, config: { formatter: false, lsp: false } },
)
it.instance(
"v2 query schema rejection returns InvalidRequestError JSON",
() =>
Effect.gen(function* () {
const test = yield* TestInstance
const res = yield* Effect.promise(async () =>
Server.Default().app.request("/api/session?limit=0", {
headers: { "x-opencode-directory": test.directory },
}),
)
const parsed = JSON.parse(yield* Effect.promise(async () => res.text()))
expect(res.status).toBe(400)
expect(parsed).toMatchObject({ _tag: "InvalidRequestError", kind: "Query" })
expect(parsed.message).toEqual(expect.any(String))
}),
{ git: true, config: { formatter: false, lsp: false } },
)
it.instance(
"rejected request body never echoes back unbounded — message is capped",
// Defense against DoS-amplification + secret-echo: Effect's Issue formatter