opencode-agent[bot] 2 месяцев назад
Родитель
Сommit
d6e54e9042

+ 5 - 1
packages/opencode/src/acp/directory.ts

@@ -208,7 +208,11 @@ export const defaultLayer = layer.pipe(
   Layer.provide(InstanceStore.defaultLayer),
 )
 
-export const loaderNode = LayerNode.make({ service: Loader, layer: loaderLayer, deps: [Provider.node, Agent.node, Command.node, InstanceStore.node] })
+export const loaderNode = LayerNode.make({
+  service: Loader,
+  layer: loaderLayer,
+  deps: [Provider.node, Agent.node, Command.node, InstanceStore.node],
+})
 
 export const node = LayerNode.make({ service: Service, layer, deps: [loaderNode] })
 

+ 4 - 3
packages/opencode/test/agent/agent.test.ts

@@ -17,9 +17,10 @@ import { Skill } from "../../src/skill"
 import { Truncate } from "../../src/tool/truncate"
 
 const agentLayer = (flags: Partial<RuntimeFlags.Info> = {}) =>
-  LayerNode.compile(LayerNode.group([Agent.node, Plugin.node, Provider.node, Auth.node, Config.node, Skill.node, RuntimeFlags.node]), [
-    [RuntimeFlags.node, RuntimeFlags.layer(flags)],
-  ])
+  LayerNode.compile(
+    LayerNode.group([Agent.node, Plugin.node, Provider.node, Auth.node, Config.node, Skill.node, RuntimeFlags.node]),
+    [[RuntimeFlags.node, RuntimeFlags.layer(flags)]],
+  )
 
 const it = testEffect(agentLayer())
 

+ 8 - 2
packages/opencode/test/format/format.test.ts

@@ -8,7 +8,9 @@ import { CrossSpawnSpawner } from "@opencode-ai/core/cross-spawn-spawner"
 import { Format } from "../../src/format"
 import * as Formatter from "../../src/format/formatter"
 
-const it = testEffect(Layer.mergeAll(LayerNode.compile(LayerNode.group([Format.node, CrossSpawnSpawner.node])), NodeFileSystem.layer))
+const it = testEffect(
+  Layer.mergeAll(LayerNode.compile(LayerNode.group([Format.node, CrossSpawnSpawner.node])), NodeFileSystem.layer),
+)
 
 describe("Format", () => {
   it.instance("status() returns empty list when no formatters are configured", () =>
@@ -107,7 +109,11 @@ describe("Format", () => {
   )
 
   testEffect(
-    Layer.mergeAll(LayerNode.compile(LayerNode.group([Format.node, CrossSpawnSpawner.node])), NodeFileSystem.layer, testInstanceStoreLayer),
+    Layer.mergeAll(
+      LayerNode.compile(LayerNode.group([Format.node, CrossSpawnSpawner.node])),
+      NodeFileSystem.layer,
+      testInstanceStoreLayer,
+    ),
   ).live("status() initializes formatter state per directory", () =>
     Effect.gen(function* () {
       const a = yield* provideTmpdirInstance(() => Format.use.status(), {

+ 5 - 1
packages/opencode/test/installation/installation.test.ts

@@ -55,7 +55,11 @@ function testLayer(
   httpHandler: (request: HttpClientRequest.HttpClientRequest) => Response,
   spawnHandler?: (cmd: string, args: readonly string[]) => string | { code: number; stdout?: string; stderr?: string },
 ) {
-  const spawnerNode = makeGlobalNode({ service: ChildProcessSpawner.ChildProcessSpawner, layer: mockSpawner(spawnHandler), deps: [] })
+  const spawnerNode = makeGlobalNode({
+    service: ChildProcessSpawner.ChildProcessSpawner,
+    layer: mockSpawner(spawnHandler),
+    deps: [],
+  })
   const appProcessNode = makeGlobalNode({ service: AppProcess.Service, layer: AppProcess.layer, deps: [spawnerNode] })
   return LayerNode.compile(Installation.node, [
     [httpClient, mockHttpClient(httpHandler)],

+ 3 - 1
packages/opencode/test/mcp/oauth-auto-connect.test.ts

@@ -156,7 +156,9 @@ const { FSUtil } = await import("@opencode-ai/core/fs-util")
 const { CrossSpawnSpawner } = await import("@opencode-ai/core/cross-spawn-spawner")
 
 const mcpTest = testEffect(
-  LayerNode.compile(LayerNode.group([MCP.node, McpAuth.node, EventV2Bridge.node, Config.node, CrossSpawnSpawner.node, FSUtil.node])),
+  LayerNode.compile(
+    LayerNode.group([MCP.node, McpAuth.node, EventV2Bridge.node, Config.node, CrossSpawnSpawner.node, FSUtil.node]),
+  ),
 )
 
 const config = (name: string) => ({

+ 3 - 1
packages/opencode/test/mcp/oauth-browser.test.ts

@@ -123,7 +123,9 @@ const { McpOAuthCallback } = await import("../../src/mcp/oauth-callback")
 const { FSUtil } = await import("@opencode-ai/core/fs-util")
 const { CrossSpawnSpawner } = await import("@opencode-ai/core/cross-spawn-spawner")
 const mcpTest = testEffect(
-  LayerNode.compile(LayerNode.group([MCP.node, McpAuth.node, EventV2Bridge.node, Config.node, CrossSpawnSpawner.node, FSUtil.node])),
+  LayerNode.compile(
+    LayerNode.group([MCP.node, McpAuth.node, EventV2Bridge.node, Config.node, CrossSpawnSpawner.node, FSUtil.node]),
+  ),
 )
 const service = MCP.Service as unknown as Effect.Effect<MCPNS.Interface, never, never>
 

+ 3 - 1
packages/opencode/test/plugin/loader-shared.test.ts

@@ -21,7 +21,9 @@ afterEach(async () => {
   await disposeAllInstances()
 })
 
-const it = testEffect(Layer.mergeAll(LayerNode.compile(LayerNode.group([CrossSpawnSpawner.node, FSUtil.node])), testInstanceStoreLayer))
+const it = testEffect(
+  Layer.mergeAll(LayerNode.compile(LayerNode.group([CrossSpawnSpawner.node, FSUtil.node])), testInstanceStoreLayer),
+)
 
 function withTmp<T, A, E, R>(
   init: (dir: string) => Promise<T>,

+ 10 - 1
packages/opencode/test/provider/provider.test.ts

@@ -59,7 +59,16 @@ afterEach(async () => {
 
 const providerLayer = (flags: Partial<RuntimeFlags.Info> = {}) =>
   LayerNode.compile(
-    LayerNode.group([Provider.node, FSUtil.node, Env.node, Config.node, Auth.node, Plugin.node, ModelsDev.node, RuntimeFlags.node]),
+    LayerNode.group([
+      Provider.node,
+      FSUtil.node,
+      Env.node,
+      Config.node,
+      Auth.node,
+      Plugin.node,
+      ModelsDev.node,
+      RuntimeFlags.node,
+    ]),
     [[RuntimeFlags.node, RuntimeFlags.layer(flags)]],
   )
 

+ 5 - 1
packages/opencode/test/server/project-copy.test.ts

@@ -23,7 +23,11 @@ afterEach(async () => {
 const noopBootstrap = Layer.succeed(InstanceBootstrap.Service, InstanceBootstrap.Service.of({ run: Effect.void }))
 const testInstanceStore = LayerNode.compile(InstanceStore.node, [[InstanceBootstrap.node, noopBootstrap]])
 const it = testEffect(
-  Layer.mergeAll(LayerNode.compile(LayerNode.group([FSUtil.node, Database.node, Snapshot.node])), testInstanceStore, httpApiLayer),
+  Layer.mergeAll(
+    LayerNode.compile(LayerNode.group([FSUtil.node, Database.node, Snapshot.node])),
+    testInstanceStore,
+    httpApiLayer,
+  ),
 )
 
 function request(directory: string, url: string, init: RequestInit = {}) {

+ 3 - 1
packages/opencode/test/server/project-init-git.test.ts

@@ -22,7 +22,9 @@ afterEach(async () => {
 const noopBootstrap = Layer.succeed(InstanceBootstrap.Service, InstanceBootstrap.Service.of({ run: Effect.void }))
 const testInstanceStore = LayerNode.compile(InstanceStore.node, [[InstanceBootstrap.node, noopBootstrap]])
 
-const it = testEffect(Layer.mergeAll(LayerNode.compile(LayerNode.group([FSUtil.node, Snapshot.node])), testInstanceStore, httpApiLayer))
+const it = testEffect(
+  Layer.mergeAll(LayerNode.compile(LayerNode.group([FSUtil.node, Snapshot.node])), testInstanceStore, httpApiLayer),
+)
 
 function request(directory: string, url: string, init: RequestInit = {}) {
   return requestInDirectory(url, directory, init)

+ 5 - 2
packages/opencode/test/snapshot/snapshot.test.ts

@@ -16,7 +16,9 @@ import {
 } from "../fixture/fixture"
 import { testEffect } from "../lib/effect"
 
-const it = testEffect(Layer.mergeAll(LayerNode.compile(LayerNode.group([Snapshot.node, FSUtil.node])), testInstanceStoreLayer))
+const it = testEffect(
+  Layer.mergeAll(LayerNode.compile(LayerNode.group([Snapshot.node, FSUtil.node])), testInstanceStoreLayer),
+)
 // Windows forbids both * and : in directory names.
 const nonWindowsIt = process.platform === "win32" ? it.live.skip : it.live
 
@@ -79,7 +81,8 @@ const bootstrapScoped = Effect.fn("SnapshotTest.bootstrapScoped")(function* () {
   return { path: dir, extra: yield* initialize(dir) }
 })
 
-const scopedGitTmpdir = () => tmpdirScoped({ git: true }).pipe(Effect.provide(LayerNode.compile(CrossSpawnSpawner.node)))
+const scopedGitTmpdir = () =>
+  tmpdirScoped({ git: true }).pipe(Effect.provide(LayerNode.compile(CrossSpawnSpawner.node)))
 
 const cleanupWorktree = (repo: string, worktree: string, files: string[] = []) =>
   Effect.promise(async () => {

+ 3 - 1
packages/opencode/test/tool/apply_patch.test.ts

@@ -15,7 +15,9 @@ import { SessionID, MessageID } from "../../src/session/schema"
 import { testEffect } from "../lib/effect"
 
 const it = testEffect(
-  LayerNode.compile(LayerNode.group([LSP.node, FSUtil.node, Format.node, EventV2Bridge.node, Truncate.node, Agent.node])),
+  LayerNode.compile(
+    LayerNode.group([LSP.node, FSUtil.node, Format.node, EventV2Bridge.node, Truncate.node, Agent.node]),
+  ),
 )
 
 const baseCtx = {

+ 3 - 1
packages/opencode/test/tool/edit.test.ts

@@ -31,7 +31,9 @@ afterEach(async () => {
   await disposeAllInstances()
 })
 
-const layer = LayerNode.compile(LayerNode.group([LSP.node, FSUtil.node, Format.node, EventV2Bridge.node, Truncate.node, Agent.node]))
+const layer = LayerNode.compile(
+  LayerNode.group([LSP.node, FSUtil.node, Format.node, EventV2Bridge.node, Truncate.node, Agent.node]),
+)
 
 const it = testEffect(layer)
 

+ 3 - 1
packages/opencode/test/tool/glob.test.ts

@@ -21,7 +21,9 @@ import { Permission } from "../../src/permission"
 import type * as Tool from "../../src/tool/tool"
 
 const toolLayer = (flags: Partial<RuntimeFlags.Info> = {}) =>
-  LayerNode.compile(LayerNode.group([CrossSpawnSpawner.node, FSUtil.node, Ripgrep.node, Truncate.node, Agent.node, Git.node]))
+  LayerNode.compile(
+    LayerNode.group([CrossSpawnSpawner.node, FSUtil.node, Ripgrep.node, Truncate.node, Agent.node, Git.node]),
+  )
 
 const it = testEffect(toolLayer())
 const full = (p: string) => (process.platform === "win32" ? Filesystem.normalizePath(p) : p)

+ 3 - 1
packages/opencode/test/tool/grep.test.ts

@@ -23,7 +23,9 @@ import { Git } from "@/git"
 import { Filesystem } from "@/util/filesystem"
 
 const toolLayer = (flags: Partial<RuntimeFlags.Info> = {}) =>
-  LayerNode.compile(LayerNode.group([CrossSpawnSpawner.node, FSUtil.node, Ripgrep.node, Truncate.node, Agent.node, Git.node]))
+  LayerNode.compile(
+    LayerNode.group([CrossSpawnSpawner.node, FSUtil.node, Ripgrep.node, Truncate.node, Agent.node, Git.node]),
+  )
 
 const it = testEffect(toolLayer())
 const rooted = testEffect(Layer.mergeAll(toolLayer(), testInstanceStoreLayer))

+ 9 - 1
packages/opencode/test/tool/read.test.ts

@@ -46,7 +46,15 @@ const ctx = {
 
 const readLayer = (flags: Partial<RuntimeFlags.Info> = {}) =>
   LayerNode.compile(
-    LayerNode.group([Agent.node, FSUtil.node, CrossSpawnSpawner.node, Instruction.node, LSP.node, Ripgrep.node, Truncate.node]),
+    LayerNode.group([
+      Agent.node,
+      FSUtil.node,
+      CrossSpawnSpawner.node,
+      Instruction.node,
+      LSP.node,
+      Ripgrep.node,
+      Truncate.node,
+    ]),
   )
 
 const it = testEffect(Layer.mergeAll(readLayer(), testInstanceStoreLayer))

+ 9 - 1
packages/opencode/test/tool/write.test.ts

@@ -33,7 +33,15 @@ afterEach(async () => {
 
 const it = testEffect(
   LayerNode.compile(
-    LayerNode.group([LSP.node, FSUtil.node, EventV2Bridge.node, Format.node, CrossSpawnSpawner.node, Truncate.node, Agent.node]),
+    LayerNode.group([
+      LSP.node,
+      FSUtil.node,
+      EventV2Bridge.node,
+      Format.node,
+      CrossSpawnSpawner.node,
+      Truncate.node,
+      Agent.node,
+    ]),
   ),
 )