refactor(core): rename app node modules (#34238)
This commit is contained in:
parent
2b91a6f210
commit
a76c6918d2
94 changed files with 317 additions and 329 deletions
|
|
@ -1,5 +1,5 @@
|
|||
import { LayerNode } from "@opencode-ai/core/effect/layer-node"
|
||||
import { httpClient } from "@opencode-ai/core/effect/layer-node-platform"
|
||||
import { httpClient } from "@opencode-ai/core/effect/app-node-platform"
|
||||
import { Cache, Clock, Duration, Effect, Layer, Option, Schema, SchemaGetter, Context } from "effect"
|
||||
import { serviceUse } from "@opencode-ai/core/effect/service-use"
|
||||
import {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import { LayerNode } from "@opencode-ai/core/effect/layer-node"
|
||||
import { httpClient } from "@opencode-ai/core/effect/layer-node-platform"
|
||||
import { httpClient } from "@opencode-ai/core/effect/app-node-platform"
|
||||
import { serviceUse } from "@opencode-ai/core/effect/service-use"
|
||||
import path from "path"
|
||||
import { pathToFileURL } from "url"
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import { LayerNode } from "@opencode-ai/core/effect/layer-node"
|
||||
import { httpClient } from "@opencode-ai/core/effect/layer-node-platform"
|
||||
import { httpClient } from "@opencode-ai/core/effect/app-node-platform"
|
||||
import { Context, Effect, FiberMap, Iterable, Layer, Schema, Stream } from "effect"
|
||||
import { serviceUse } from "@opencode-ai/core/effect/service-use"
|
||||
import { FetchHttpClient, HttpBody, HttpClient, HttpClientError, HttpClientRequest } from "effect/unstable/http"
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import { LayerNode } from "@opencode-ai/core/effect/layer-node"
|
||||
import { httpClient } from "@opencode-ai/core/effect/layer-node-platform"
|
||||
import { httpClient } from "@opencode-ai/core/effect/app-node-platform"
|
||||
import { Effect, Layer, Schema, Context, Stream } from "effect"
|
||||
import { serviceUse } from "@opencode-ai/core/effect/service-use"
|
||||
import { FetchHttpClient, HttpClient, HttpClientRequest, HttpClientResponse } from "effect/unstable/http"
|
||||
|
|
|
|||
|
|
@ -52,8 +52,7 @@ import { RuntimeFlags } from "@/effect/runtime-flags"
|
|||
import { MoveSession } from "@opencode-ai/core/control-plane/move-session"
|
||||
import { Database } from "@opencode-ai/core/database/database"
|
||||
import { LayerNode } from "@opencode-ai/core/effect/layer-node"
|
||||
import { LayerNodeTree } from "@opencode-ai/core/effect/layer-node"
|
||||
import { httpClient } from "@opencode-ai/core/effect/layer-node-platform"
|
||||
import { httpClient } from "@opencode-ai/core/effect/app-node-platform"
|
||||
import { EventV2 } from "@opencode-ai/core/event"
|
||||
import { ModelsDev } from "@opencode-ai/core/models-dev"
|
||||
import { Npm } from "@opencode-ai/core/npm"
|
||||
|
|
@ -302,7 +301,7 @@ export function createRoutes(
|
|||
),
|
||||
Layer.provide(locationServiceMapLayer),
|
||||
|
||||
Layer.provide(LayerNodeTree.compile(app)),
|
||||
Layer.provide(LayerNode.compile(app)),
|
||||
)
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import { LayerNode } from "@opencode-ai/core/effect/layer-node"
|
||||
import { httpClient } from "@opencode-ai/core/effect/layer-node-platform"
|
||||
import { httpClient } from "@opencode-ai/core/effect/app-node-platform"
|
||||
import path from "path"
|
||||
import { SessionV1 } from "@opencode-ai/core/v1/session"
|
||||
import { Effect, Layer, Context } from "effect"
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import { LayerNode } from "@opencode-ai/core/effect/layer-node"
|
||||
import { llmClient } from "@opencode-ai/core/effect/layer-node-platform"
|
||||
import { llmClient } from "@opencode-ai/core/effect/app-node-platform"
|
||||
import { PermissionV1 } from "@opencode-ai/core/v1/permission"
|
||||
import { Provider } from "@/provider/provider"
|
||||
import { SessionV1 } from "@opencode-ai/core/v1/session"
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import { LayerNode } from "@opencode-ai/core/effect/layer-node"
|
||||
import { httpClient } from "@opencode-ai/core/effect/layer-node-platform"
|
||||
import { httpClient } from "@opencode-ai/core/effect/app-node-platform"
|
||||
import type * as SDK from "@opencode-ai/sdk/v2"
|
||||
import { serviceUse } from "@opencode-ai/core/effect/service-use"
|
||||
import { Effect, Exit, Layer, Option, Schema, Scope, Context, Stream } from "effect"
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import { LayerNode } from "@opencode-ai/core/effect/layer-node"
|
||||
import { httpClient, path } from "@opencode-ai/core/effect/layer-node-platform"
|
||||
import { httpClient, path } from "@opencode-ai/core/effect/app-node-platform"
|
||||
import { NodePath } from "@effect/platform-node"
|
||||
import { Effect, Layer, Path, Schema, Context } from "effect"
|
||||
import { FetchHttpClient, HttpClient, HttpClientRequest, HttpClientResponse } from "effect/unstable/http"
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import { LayerNode } from "@opencode-ai/core/effect/layer-node"
|
||||
import { httpClient } from "@opencode-ai/core/effect/layer-node-platform"
|
||||
import { httpClient } from "@opencode-ai/core/effect/app-node-platform"
|
||||
import { Ripgrep } from "@opencode-ai/core/ripgrep"
|
||||
import { PlanExitTool } from "./plan"
|
||||
import { Session } from "@/session/session"
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
import { LayerNode } from "@opencode-ai/core/effect/layer-node"
|
||||
import { path } from "@opencode-ai/core/effect/layer-node-platform"
|
||||
import { path } from "@opencode-ai/core/effect/app-node-platform"
|
||||
import { Global } from "@opencode-ai/core/global"
|
||||
import { InstanceLayer } from "@/project/instance-layer"
|
||||
import { InstanceStore } from "@/project/instance-store"
|
||||
|
|
|
|||
|
|
@ -1,16 +1,15 @@
|
|||
import { $ } from "bun"
|
||||
import { LayerNodeTree } from "@opencode-ai/core/effect/layer-node"
|
||||
import { LayerNode } from "@opencode-ai/core/effect/layer-node"
|
||||
import { describe, expect } from "bun:test"
|
||||
import fs from "fs/promises"
|
||||
import path from "path"
|
||||
import { Effect } from "effect"
|
||||
import { LayerNode } from "@opencode-ai/core/effect/layer-node"
|
||||
import { Git } from "../../src/git"
|
||||
import { tmpdir } from "../fixture/fixture"
|
||||
import { testEffect } from "../lib/effect"
|
||||
|
||||
const weird = process.platform === "win32" ? "space file.txt" : "tab\tfile.txt"
|
||||
const it = testEffect(LayerNodeTree.compile(LayerNode.group([Git.node])))
|
||||
const it = testEffect(LayerNode.compile(LayerNode.group([Git.node])))
|
||||
|
||||
const scopedTmpdir = (options?: Parameters<typeof tmpdir>[0]) =>
|
||||
Effect.acquireRelease(
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
import { describe, expect, test } from "bun:test"
|
||||
import { LayerNodeTree } from "@opencode-ai/core/effect/layer-node"
|
||||
import { SessionV1 } from "@opencode-ai/core/v1/session"
|
||||
import { LayerNode } from "@opencode-ai/core/effect/layer-node"
|
||||
import { SessionV1 } from "@opencode-ai/core/v1/session"
|
||||
import { SessionProjector } from "@opencode-ai/core/session/projector"
|
||||
import { Effect, Option } from "effect"
|
||||
import { Session as SessionNs } from "@/session/session"
|
||||
|
|
@ -13,7 +12,7 @@ import { testEffect } from "../lib/effect"
|
|||
import { ProviderV2 } from "@opencode-ai/core/provider"
|
||||
import { ModelV2 } from "@opencode-ai/core/model"
|
||||
|
||||
const it = testEffect(LayerNodeTree.compile(LayerNode.group([SessionNs.node, MessageV2.node, SessionProjector.node])))
|
||||
const it = testEffect(LayerNode.compile(LayerNode.group([SessionNs.node, MessageV2.node, SessionProjector.node])))
|
||||
|
||||
const withSession = <A, E, R>(
|
||||
fn: (input: { session: SessionNs.Interface; sessionID: SessionID }) => Effect.Effect<A, E, R>,
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
import { SessionV1 } from "@opencode-ai/core/v1/session"
|
||||
import { Database } from "@opencode-ai/core/database/database"
|
||||
import { LayerNode } from "@opencode-ai/core/effect/layer-node"
|
||||
import { LayerNodeTree } from "@opencode-ai/core/effect/layer-node"
|
||||
import { EventV2Bridge } from "@/event-v2-bridge"
|
||||
import { expect } from "bun:test"
|
||||
import { tool } from "ai"
|
||||
|
|
@ -180,7 +179,7 @@ const replacements = [
|
|||
LayerNode.replace(SessionSummary.layer, summary),
|
||||
LayerNode.replace(RuntimeFlags.defaultLayer, RuntimeFlags.layer({ experimentalEventSystem: true })),
|
||||
]
|
||||
const env = LayerNodeTree.compile(
|
||||
const env = LayerNode.compile(
|
||||
LayerNode.group([root, LayerNode.make({ service: TestLLMServer, layer: TestLLMServer.layer, deps: [] })]),
|
||||
new Map(replacements.map((item) => [item.source, item.replacement])),
|
||||
)
|
||||
|
|
@ -207,7 +206,7 @@ const providerErrorLLM = Layer.succeed(
|
|||
),
|
||||
}),
|
||||
)
|
||||
const providerErrorEnv = LayerNodeTree.compile(
|
||||
const providerErrorEnv = LayerNode.compile(
|
||||
root,
|
||||
new Map(
|
||||
[...replacements, LayerNode.replace(LLM.layer, providerErrorLLM)].map((item) => [item.source, item.replacement]),
|
||||
|
|
@ -229,7 +228,7 @@ const fragmentFailureLLM = Layer.succeed(
|
|||
),
|
||||
}),
|
||||
)
|
||||
const fragmentFailureEnv = LayerNodeTree.compile(
|
||||
const fragmentFailureEnv = LayerNode.compile(
|
||||
root,
|
||||
new Map(
|
||||
[...replacements, LayerNode.replace(LLM.layer, fragmentFailureLLM)].map((item) => [item.source, item.replacement]),
|
||||
|
|
|
|||
|
|
@ -1,11 +1,10 @@
|
|||
import { describe, expect, test } from "bun:test"
|
||||
import { LayerNodeTree } from "@opencode-ai/core/effect/layer-node"
|
||||
import { LayerNode } from "@opencode-ai/core/effect/layer-node"
|
||||
import { SessionV1 } from "@opencode-ai/core/v1/session"
|
||||
import type { NamedError } from "@opencode-ai/core/util/error"
|
||||
import { APICallError } from "ai"
|
||||
import { setTimeout as sleep } from "node:timers/promises"
|
||||
import { Effect, Schedule, Schema } from "effect"
|
||||
import { LayerNode } from "@opencode-ai/core/effect/layer-node"
|
||||
import { CrossSpawnSpawner } from "@opencode-ai/core/cross-spawn-spawner"
|
||||
import { SessionRetry } from "../../src/session/retry"
|
||||
import { MessageV2 } from "../../src/session/message-v2"
|
||||
|
|
@ -17,7 +16,7 @@ import { ProviderV2 } from "@opencode-ai/core/provider"
|
|||
|
||||
const providerID = ProviderV2.ID.make("test")
|
||||
const retryProvider = "test"
|
||||
const it = testEffect(LayerNodeTree.compile(LayerNode.group([SessionStatus.node, CrossSpawnSpawner.node])))
|
||||
const it = testEffect(LayerNode.compile(LayerNode.group([SessionStatus.node, CrossSpawnSpawner.node])))
|
||||
|
||||
function apiError(headers?: Record<string, string>): SessionV1.APIError {
|
||||
return Schema.decodeUnknownSync(SessionV1.APIError.Schema)(
|
||||
|
|
|
|||
|
|
@ -14,7 +14,6 @@
|
|||
import { expect } from "bun:test"
|
||||
import { Effect, Layer } from "effect"
|
||||
import { LayerNode } from "@opencode-ai/core/effect/layer-node"
|
||||
import { LayerNodeTree } from "@opencode-ai/core/effect/layer-node"
|
||||
import fs from "fs/promises"
|
||||
import path from "path"
|
||||
import { Session } from "@/session/session"
|
||||
|
|
@ -88,7 +87,7 @@ const root = LayerNode.group([
|
|||
LayerNode.make({ service: TestLLMServer, layer: TestLLMServer.layer, deps: [] }),
|
||||
])
|
||||
const it = testEffect(
|
||||
LayerNodeTree.compile(
|
||||
LayerNode.compile(
|
||||
root,
|
||||
new Map(
|
||||
[
|
||||
|
|
|
|||
|
|
@ -2,8 +2,7 @@ import { beforeEach, describe, expect } from "bun:test"
|
|||
import { Effect, Exit, Layer, Option } from "effect"
|
||||
import { FetchHttpClient, HttpClient, HttpClientRequest, HttpClientResponse } from "effect/unstable/http"
|
||||
import { LayerNode } from "@opencode-ai/core/effect/layer-node"
|
||||
import { LayerNodeTree } from "@opencode-ai/core/effect/layer-node"
|
||||
import { httpClient } from "@opencode-ai/core/effect/layer-node-platform"
|
||||
import { httpClient } from "@opencode-ai/core/effect/app-node-platform"
|
||||
import { CrossSpawnSpawner } from "@opencode-ai/core/cross-spawn-spawner"
|
||||
import { SessionProjector } from "@opencode-ai/core/session/projector"
|
||||
|
||||
|
|
@ -20,7 +19,7 @@ import { provideTmpdirInstance } from "../fixture/fixture"
|
|||
import { resetDatabase } from "../fixture/db"
|
||||
import { pollWithTimeout, testEffect } from "../lib/effect"
|
||||
|
||||
const env = LayerNodeTree.compile(LayerNode.group([CrossSpawnSpawner.node]))
|
||||
const env = LayerNode.compile(LayerNode.group([CrossSpawnSpawner.node]))
|
||||
const it = testEffect(env)
|
||||
|
||||
const json = (req: Parameters<typeof HttpClientResponse.fromWeb>[0], body: unknown, status = 200) =>
|
||||
|
|
@ -36,7 +35,7 @@ const none = HttpClient.make(() => Effect.die("unexpected http call"))
|
|||
|
||||
function requestLayer(client: HttpClient.HttpClient) {
|
||||
const replacement = LayerNode.replace(FetchHttpClient.layer, Layer.succeed(HttpClient.HttpClient, client))
|
||||
return LayerNodeTree.compile(
|
||||
return LayerNode.compile(
|
||||
LayerNode.group([ShareNext.node, AccountRepo.node]),
|
||||
new Map([[replacement.source, replacement.replacement]]),
|
||||
)
|
||||
|
|
@ -44,7 +43,7 @@ function requestLayer(client: HttpClient.HttpClient) {
|
|||
|
||||
function integrationLayer(client: HttpClient.HttpClient) {
|
||||
const replacement = LayerNode.replace(FetchHttpClient.layer, Layer.succeed(HttpClient.HttpClient, client))
|
||||
return LayerNodeTree.compile(
|
||||
return LayerNode.compile(
|
||||
LayerNode.group([
|
||||
ShareNext.node,
|
||||
EventV2Bridge.node,
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@ import fs from "fs/promises"
|
|||
import { fileURLToPath, pathToFileURL } from "url"
|
||||
import { Effect, Layer, Result, Schema } from "effect"
|
||||
import { LayerNode } from "@opencode-ai/core/effect/layer-node"
|
||||
import { LayerNodeTree } from "@opencode-ai/core/effect/layer-node"
|
||||
import { ToolRegistry } from "@/tool/registry"
|
||||
import { Tool } from "@/tool/tool"
|
||||
import { disposeAllInstances, TestInstance } from "../fixture/fixture"
|
||||
|
|
@ -55,9 +54,9 @@ const replacements = [
|
|||
LayerNode.replace(RuntimeFlags.defaultLayer, RuntimeFlags.layer()),
|
||||
]
|
||||
|
||||
const it = testEffect(LayerNodeTree.compile(root, new Map(replacements.map((item) => [item.source, item.replacement]))))
|
||||
const it = testEffect(LayerNode.compile(root, new Map(replacements.map((item) => [item.source, item.replacement]))))
|
||||
const withBrokenPlugin = testEffect(
|
||||
LayerNodeTree.compile(
|
||||
LayerNode.compile(
|
||||
root,
|
||||
new Map(
|
||||
[...replacements, LayerNode.replace(Plugin.layer, brokenPluginLayer)].map((item) => [
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue