|
1 | | -import { NodeFileSystem } from "@effect/platform-node" |
2 | 1 | import { HttpRecorder } from "@opencode-ai/http-recorder" |
| 2 | +import { HttpRecorderInternal } from "@opencode-ai/http-recorder/internal" |
3 | 3 | import * as OpenAIChat from "@opencode-ai/llm/protocols/openai-chat" |
4 | 4 | import { Auth, LLMClient, RequestExecutor } from "@opencode-ai/llm/route" |
5 | 5 | import { Database } from "@opencode-ai/core/database/database" |
@@ -35,10 +35,15 @@ const database = Database.layerFromPath(":memory:") |
35 | 35 | const events = EventV2.layer.pipe(Layer.provide(database)) |
36 | 36 | const projector = SessionProjector.layer.pipe(Layer.provide(events), Layer.provide(database)) |
37 | 37 | const store = SessionStore.layer.pipe(Layer.provide(database)) |
38 | | -const cassette = HttpRecorder.cassetteLayer("session-runner/openai-chat-streams-text", { |
39 | | - directory: path.resolve(import.meta.dir, "fixtures/recordings"), |
40 | | - mode: process.env.RECORD === "true" ? "record" : "replay", |
41 | | -}).pipe(Layer.provide(NodeFileSystem.layer)) |
| 38 | +const cassette = |
| 39 | + process.env.RECORD === "true" |
| 40 | + ? HttpRecorderInternal.cassetteLayer("session-runner/openai-chat-streams-text", { |
| 41 | + directory: path.resolve(import.meta.dir, "fixtures/recordings"), |
| 42 | + mode: "record", |
| 43 | + }) |
| 44 | + : HttpRecorder.http("session-runner/openai-chat-streams-text", { |
| 45 | + directory: path.resolve(import.meta.dir, "fixtures/recordings"), |
| 46 | + }) |
42 | 47 | const executor = RequestExecutor.layer.pipe(Layer.provide(cassette)) |
43 | 48 | const client = LLMClient.layer.pipe(Layer.provide(executor)) |
44 | 49 | const permission = Layer.succeed( |
|
0 commit comments