|
|
@@ -33,7 +33,6 @@ import { Glob } from "@opencode-ai/core/util/glob"
|
|
|
import path from "path"
|
|
|
import { pathToFileURL } from "url"
|
|
|
import { Effect, Layer, Context } from "effect"
|
|
|
-import { FetchHttpClient, HttpClient } from "effect/unstable/http"
|
|
|
import { ChildProcessSpawner } from "effect/unstable/process/ChildProcessSpawner"
|
|
|
import { CrossSpawnSpawner } from "@opencode-ai/core/cross-spawn-spawner"
|
|
|
import { Format } from "../format"
|
|
|
@@ -80,7 +79,7 @@ export interface Interface {
|
|
|
|
|
|
export class Service extends Context.Service<Service, Interface>()("@opencode/ToolRegistry") {}
|
|
|
|
|
|
-export const layer = Layer.effect(
|
|
|
+const layer = Layer.effect(
|
|
|
Service,
|
|
|
Effect.gen(function* () {
|
|
|
const config = yield* Config.Service
|
|
|
@@ -315,30 +314,6 @@ export const layer = Layer.effect(
|
|
|
}),
|
|
|
)
|
|
|
|
|
|
-export const defaultLayer = Layer.suspend(() =>
|
|
|
- layer
|
|
|
- .pipe(
|
|
|
- Layer.provide(Config.defaultLayer),
|
|
|
- Layer.provide(Plugin.defaultLayer),
|
|
|
- Layer.provide(Question.defaultLayer),
|
|
|
- Layer.provide(Todo.defaultLayer),
|
|
|
- Layer.provide(Skill.defaultLayer),
|
|
|
- Layer.provide(Agent.defaultLayer),
|
|
|
- Layer.provide(Session.defaultLayer),
|
|
|
- Layer.provide(BackgroundJob.defaultLayer),
|
|
|
- Layer.provide(Provider.defaultLayer),
|
|
|
- Layer.provide(LSP.defaultLayer),
|
|
|
- Layer.provide(Instruction.defaultLayer),
|
|
|
- Layer.provide(FSUtil.defaultLayer),
|
|
|
- Layer.provide(EventV2Bridge.defaultLayer),
|
|
|
- Layer.provide(FetchHttpClient.layer),
|
|
|
- Layer.provide(Format.defaultLayer),
|
|
|
- Layer.provide(CrossSpawnSpawner.defaultLayer),
|
|
|
- Layer.provide(Truncate.defaultLayer),
|
|
|
- )
|
|
|
- .pipe(Layer.provide(Database.defaultLayer), Layer.provide(RuntimeFlags.defaultLayer)),
|
|
|
-)
|
|
|
-
|
|
|
function isZodType(value: unknown): value is z.ZodType {
|
|
|
return typeof value === "object" && value !== null && "_zod" in value
|
|
|
}
|
|
|
@@ -417,7 +392,7 @@ function isJsonSchemaObject(value: unknown): value is Record<string, unknown> {
|
|
|
|
|
|
export const node = LayerNode.make({
|
|
|
service: Service,
|
|
|
- layer: layer.pipe(Layer.provide(Ripgrep.defaultLayer)),
|
|
|
+ layer,
|
|
|
deps: [
|
|
|
Config.node,
|
|
|
Plugin.node,
|
|
|
@@ -438,6 +413,7 @@ export const node = LayerNode.make({
|
|
|
Truncate.node,
|
|
|
RuntimeFlags.node,
|
|
|
Database.node,
|
|
|
+ Ripgrep.node,
|
|
|
],
|
|
|
})
|
|
|
|