mirror of
https://github.com/anomalyco/opencode.git
synced 2026-08-11 15:43:25 +00:00
test(core): simplify models layer wiring
This commit is contained in:
parent
d3bbfff826
commit
446ab1a31f
1 changed files with 7 additions and 4 deletions
|
|
@ -6,6 +6,8 @@ import { Flag } from "@opencode-ai/core/flag/flag"
|
|||
import { Global } from "@opencode-ai/core/global"
|
||||
import { ModelsDev } from "@opencode-ai/core/models-dev"
|
||||
import { EventV2 } from "@opencode-ai/core/event"
|
||||
import { LayerNode } from "@opencode-ai/core/effect/layer-node"
|
||||
import { httpClient } from "@opencode-ai/core/effect/layer-node-platform"
|
||||
import { it } from "./lib/effect"
|
||||
import { readFile, rm, writeFile, utimes, mkdir } from "fs/promises"
|
||||
import path from "path"
|
||||
|
|
@ -90,10 +92,11 @@ const buildLayer = (state: Ref.Ref<MockState>) =>
|
|||
// Layer.fresh is required: ModelsDev.layer is a module-level Layer constant,
|
||||
// and Effect.provide uses a process-global MemoMap by default — without fresh,
|
||||
// every test would reuse the cachedInvalidateWithTTL state from the first run.
|
||||
Layer.fresh(ModelsDev.layer).pipe(
|
||||
Layer.provide(Layer.succeed(HttpClient.HttpClient, makeMockClient(state))),
|
||||
Layer.provide(FSUtil.defaultLayer),
|
||||
Layer.provide(EventV2.defaultLayer),
|
||||
LayerNode.buildLayer(
|
||||
LayerNode.group([LayerNode.make(Layer.fresh(ModelsDev.layer), [FSUtil.node, EventV2.node, httpClient])]),
|
||||
{
|
||||
replacements: [LayerNode.replace(httpClient, Layer.succeed(HttpClient.HttpClient, makeMockClient(state)))],
|
||||
},
|
||||
)
|
||||
|
||||
const writeCacheText = (text: string, mtimeMs?: number) =>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue