Removes all direct AppRuntime usage from packages/opencode/test —
`grep -r AppRuntime packages/opencode/test` now returns nothing.
Two patterns are applied:
1. Event tests rewritten in the httpapi-cors.test.ts style. The two
/event SSE tests now serve HttpApiApp.routes on
NodeHttpServer.layerTest and hit them via HttpClient. Pub/sub
identity with the in-process routes is preserved via a new opt-in
`testEffectShared` (in test/lib/effect.ts) that builds the test
layer through the shared process-wide memoMap so Bus.defaultLayer
resolves to the same Bus.Service the routes subscribed to.
The SSE reader helpers move to test/lib/sse.ts and use HttpClient +
Effect.Stream + Queue<SseEvent>.
The D7 diagnostic case is removed: the AppRuntime-vs-test-runtime
distinction it diagnosed no longer exists.
2. Surgical swap in the remaining four files
(provider/{amazon-bedrock,provider}, session/llm,
control-plane/workspace). Each `AppRuntime.runPromise(...)` becomes a
module-level `ManagedRuntime.make(Service.defaultLayer, { memoMap })`.
The shared memoMap preserves service identity, so behavior is
unchanged.
Tests: event (9/9), amazon-bedrock (19/19), provider (84/84),
workspace (35/35); 147 pass across the 5 affected files. The 3
pre-existing failures in session/llm.test.ts are independent of this
change (verified by stashing the diff).
|
||
|---|---|---|
| .. | ||
| account | ||
| acp | ||
| agent | ||
| auth | ||
| background | ||
| bus | ||
| cli | ||
| config | ||
| control-plane | ||
| effect | ||
| fake | ||
| file | ||
| filesystem | ||
| fixture | ||
| fixtures/recordings/session | ||
| format | ||
| git | ||
| ide | ||
| image | ||
| installation | ||
| lib | ||
| lsp | ||
| mcp | ||
| patch | ||
| permission | ||
| plugin | ||
| project | ||
| provider | ||
| pty | ||
| question | ||
| reference | ||
| server | ||
| session | ||
| share | ||
| shell | ||
| skill | ||
| snapshot | ||
| storage | ||
| sync | ||
| tool | ||
| util | ||
| v2 | ||
| AGENTS.md | ||
| EFFECT_TEST_MIGRATION.md | ||
| permission-task.test.ts | ||
| preload.ts | ||