Commit graph

14 commits

Author SHA1 Message Date
Kit Langton
a2bc535367 sketch: typed SessionNotFound (design validation)
Demonstrates the typed-errors-at-the-service-layer pattern on a single
method (`Session.Service.get`):

- Define `Session.SessionNotFound` as `Schema.ErrorClass` with
  `httpApiStatus: 404` and a body shape that matches the existing Hono
  `NamedError` envelope (`name: "NotFoundError"`, `data: { message }`).
- Update `Session.Service.Interface.get` and the implementation to fail
  in the E channel via `yield* new SessionNotFound(...)`.
- HttpApi endpoint declares the typed error directly. The handler drops
  its `mapNotFound` wrapper for `get` — Effect HttpApi auto-routes the
  404 status from the schema annotation and serializes the body fields.
- Hono adapter (`runRequest`) bridges the typed error back to the
  legacy `NotFoundError` defect so the existing `ErrorMiddleware` keeps
  rendering 404 + body until that adapter is retired.

End-to-end validation: the unskipped parity test
(`Error JSON shape parity > HttpApi 404 body matches NamedError shape`)
now passes against the HttpApi adapter.

This is a sketch, not for merge — most cascading consumers are
absorbed via `Effect.orDie` (legacy never-E surface preserved). Real
rollout migrates each method/handler explicitly.
2026-05-03 00:07:01 -04:00
Kit Langton
7d91d3b1ed
Normalize instance lifecycle wiring (#25501) 2026-05-02 20:39:20 -04:00
Kit Langton
4c4860fb24
Replace Instance.disposeAll/load with fixture helper (#25418) 2026-05-02 10:56:15 -04:00
Kit Langton
8c79c58c4d
refactor: rename workspace adapters (#25272) 2026-05-01 07:36:52 -04:00
Kit Langton
fbcbd24063
Add SyncEvent service (#25158) 2026-04-30 16:45:26 -04:00
Kit Langton
0e9d9282c6
Refactor workspace service boundaries (#25152) 2026-04-30 15:34:37 -04:00
opencode-agent[bot]
8f57a2a462 chore: generate 2026-04-30 15:46:04 +00:00
James Long
53e9cac383
refactor(core): convert control-plane workspace to Effect (#25018) 2026-04-30 11:44:58 -04:00
James Long
bf50d1c028
feat(core): expose workspace adaptors to plugins (#21927) 2026-04-13 13:33:13 -04:00
James Long
38450443b1
feat(core): remove workspace server, WorkspaceContext, start work towards better routing (#19316) 2026-03-26 12:30:26 -04:00
Kit Langton
16a6d6feba
feat(id): brand WorkspaceID through Drizzle and Zod schemas (#16964) 2026-03-11 23:30:17 +00:00
James Long
86cef16940
fix(core): put workspace routing behind OPENCODE_EXPERIMENTAL_WORKSPACES flag (#16775) 2026-03-09 16:14:19 -04:00
James Long
7f37acdaaa
feat(core): rework workspace integration and adaptor interface (#15895) 2026-03-03 21:35:38 -05:00
James Long
c12ce2ffff
feat(core): basic implementation of remote workspace support (#15120) 2026-02-27 15:36:39 -05:00