Problem
bun audit reported 101 alerts on the branch. G6 in PROD_READINESS.md
records Dependabot as active but the triage as never done, and no dependency
PR has been merged.
The direct, patchable vulnerabilities need to be closed in isolated batches
with the lockfile, a typecheck and the affected package's tests each time —
not by a blind bun update.
Second, less obvious problem
Bumping @hey-api/openapi-ts changes the output the generator emits, so any
bump has to ship a regenerated packages/sdk or the sdk in sync with server
gate fails. packages/sdk/openapi.json itself does not change: only the
generator's reading of it does.
That new reading is stricter, and it exposes two real defects in code we
already ship:
RequestResult.response becomes optional, because a failure can happen
before any response exists — while building the request, or on a network
error. dialog-workspace-list.tsx dereferenced result.response.status
with no guard, so a network error threw instead of surfacing an error.
- The generator now propagates required-ness from the spec.
openapi.json marks extra as required on experimental.workspace.create,
and the TUI call site omitted it, so that call violated the server contract.
The two call sites in team/opencode-application.ts already passed
extra: null.
Both are pre-existing defects that the old generator's looser types concealed.
Problem
bun auditreported 101 alerts on the branch. G6 inPROD_READINESS.mdrecords Dependabot as active but the triage as never done, and no dependency
PR has been merged.
The direct, patchable vulnerabilities need to be closed in isolated batches
with the lockfile, a typecheck and the affected package's tests each time —
not by a blind
bun update.Second, less obvious problem
Bumping
@hey-api/openapi-tschanges the output the generator emits, so anybump has to ship a regenerated
packages/sdkor thesdk in sync with servergate fails.
packages/sdk/openapi.jsonitself does not change: only thegenerator's reading of it does.
That new reading is stricter, and it exposes two real defects in code we
already ship:
RequestResult.responsebecomes optional, because a failure can happenbefore any response exists — while building the request, or on a network
error.
dialog-workspace-list.tsxdereferencedresult.response.statuswith no guard, so a network error threw instead of surfacing an error.
openapi.jsonmarksextraas required onexperimental.workspace.create,and the TUI call site omitted it, so that call violated the server contract.
The two call sites in
team/opencode-application.tsalready passedextra: null.Both are pre-existing defects that the old generator's looser types concealed.