From 066ded0876fa30eefe2e86609ee3f3a958dac34e Mon Sep 17 00:00:00 2001 From: Kit Langton Date: Thu, 16 Apr 2026 11:44:05 -0400 Subject: [PATCH] refactor: switch Plugin to direct self-reexport imports --- packages/opencode/src/agent/agent.ts | 2 +- packages/opencode/src/cli/cmd/providers.ts | 2 +- packages/opencode/src/effect/app-runtime.ts | 2 +- packages/opencode/src/effect/bootstrap-runtime.ts | 2 +- packages/opencode/src/plugin/index.ts | 1 - packages/opencode/src/plugin/plugin.ts | 2 ++ packages/opencode/src/project/bootstrap.ts | 2 +- packages/opencode/src/provider/auth.ts | 2 +- packages/opencode/src/provider/provider.ts | 2 +- packages/opencode/src/pty/service.ts | 2 +- packages/opencode/src/session/compaction.ts | 2 +- packages/opencode/src/session/llm.ts | 2 +- packages/opencode/src/session/processor.ts | 2 +- packages/opencode/src/session/prompt.ts | 2 +- packages/opencode/src/tool/bash.ts | 2 +- packages/opencode/src/tool/registry.ts | 2 +- packages/opencode/test/session/compaction.test.ts | 2 +- packages/opencode/test/session/processor-effect.test.ts | 2 +- packages/opencode/test/session/prompt-effect.test.ts | 2 +- packages/opencode/test/session/snapshot-tool-race.test.ts | 2 +- packages/opencode/test/tool/bash.test.ts | 2 +- 21 files changed, 21 insertions(+), 20 deletions(-) diff --git a/packages/opencode/src/agent/agent.ts b/packages/opencode/src/agent/agent.ts index 54ca484555..276a4269c1 100644 --- a/packages/opencode/src/agent/agent.ts +++ b/packages/opencode/src/agent/agent.ts @@ -17,7 +17,7 @@ import { Permission } from "@/permission" import { mergeDeep, pipe, sortBy, values } from "remeda" import { Global } from "@/global" import path from "path" -import { Plugin } from "@/plugin" +import { Plugin } from "@/plugin/plugin" import { Skill } from "../skill" import { Effect, Context, Layer } from "effect" import { InstanceState } from "@/effect" diff --git a/packages/opencode/src/cli/cmd/providers.ts b/packages/opencode/src/cli/cmd/providers.ts index 4bc3f0ea6c..da447a81f0 100644 --- a/packages/opencode/src/cli/cmd/providers.ts +++ b/packages/opencode/src/cli/cmd/providers.ts @@ -9,7 +9,7 @@ import path from "path" import os from "os" import { Config } from "../../config" import { Global } from "../../global" -import { Plugin } from "../../plugin" +import { Plugin } from "../../plugin/plugin" import { Instance } from "../../project/instance" import type { Hooks } from "@opencode-ai/plugin" import { Process } from "../../util" diff --git a/packages/opencode/src/effect/app-runtime.ts b/packages/opencode/src/effect/app-runtime.ts index f06c41e319..03fbaa1bf1 100644 --- a/packages/opencode/src/effect/app-runtime.ts +++ b/packages/opencode/src/effect/app-runtime.ts @@ -14,7 +14,7 @@ import { File } from "@/file" import { FileWatcher } from "@/file/watcher" import { Storage } from "@/storage" import { Snapshot } from "@/snapshot" -import { Plugin } from "@/plugin" +import { Plugin } from "@/plugin/plugin" import { Provider } from "@/provider" import { ProviderAuth } from "@/provider" import { Agent } from "@/agent/agent" diff --git a/packages/opencode/src/effect/bootstrap-runtime.ts b/packages/opencode/src/effect/bootstrap-runtime.ts index 89cc071561..4ee620e071 100644 --- a/packages/opencode/src/effect/bootstrap-runtime.ts +++ b/packages/opencode/src/effect/bootstrap-runtime.ts @@ -1,7 +1,7 @@ import { Layer, ManagedRuntime } from "effect" import { memoMap } from "./run-service" -import { Plugin } from "@/plugin" +import { Plugin } from "@/plugin/plugin" import { LSP } from "@/lsp" import { FileWatcher } from "@/file/watcher" import { Format } from "@/format" diff --git a/packages/opencode/src/plugin/index.ts b/packages/opencode/src/plugin/index.ts index 20f38c41c2..e69de29bb2 100644 --- a/packages/opencode/src/plugin/index.ts +++ b/packages/opencode/src/plugin/index.ts @@ -1 +0,0 @@ -export * as Plugin from "./plugin" diff --git a/packages/opencode/src/plugin/plugin.ts b/packages/opencode/src/plugin/plugin.ts index d1fc60d993..44896d3ef7 100644 --- a/packages/opencode/src/plugin/plugin.ts +++ b/packages/opencode/src/plugin/plugin.ts @@ -285,3 +285,5 @@ export const layer = Layer.effect( ) export const defaultLayer = layer.pipe(Layer.provide(Bus.layer), Layer.provide(Config.defaultLayer)) + +export * as Plugin from "./plugin" diff --git a/packages/opencode/src/project/bootstrap.ts b/packages/opencode/src/project/bootstrap.ts index e506d2feda..a16cbc9ae6 100644 --- a/packages/opencode/src/project/bootstrap.ts +++ b/packages/opencode/src/project/bootstrap.ts @@ -1,4 +1,4 @@ -import { Plugin } from "../plugin" +import { Plugin } from "../plugin/plugin" import { Format } from "../format" import { LSP } from "../lsp" import { File } from "../file" diff --git a/packages/opencode/src/provider/auth.ts b/packages/opencode/src/provider/auth.ts index c0c73b2cc1..c1ec055195 100644 --- a/packages/opencode/src/provider/auth.ts +++ b/packages/opencode/src/provider/auth.ts @@ -4,7 +4,7 @@ import { Auth } from "@/auth" import { InstanceState } from "@/effect" import { zod } from "@/util/effect-zod" import { withStatics } from "@/util/schema" -import { Plugin } from "../plugin" +import { Plugin } from "../plugin/plugin" import { ProviderID } from "./schema" import { Array as Arr, Effect, Layer, Record, Result, Context, Schema } from "effect" import z from "zod" diff --git a/packages/opencode/src/provider/provider.ts b/packages/opencode/src/provider/provider.ts index 43ae9a5e9f..b14c325acb 100644 --- a/packages/opencode/src/provider/provider.ts +++ b/packages/opencode/src/provider/provider.ts @@ -7,7 +7,7 @@ import { NoSuchModelError, type Provider as SDK } from "ai" import { Log } from "../util" import { Npm } from "../npm" import { Hash } from "@opencode-ai/shared/util/hash" -import { Plugin } from "../plugin" +import { Plugin } from "../plugin/plugin" import { NamedError } from "@opencode-ai/shared/util/error" import { type LanguageModelV3 } from "@ai-sdk/provider" import * as ModelsDev from "./models" diff --git a/packages/opencode/src/pty/service.ts b/packages/opencode/src/pty/service.ts index 0c810be88f..ec47902d6e 100644 --- a/packages/opencode/src/pty/service.ts +++ b/packages/opencode/src/pty/service.ts @@ -7,7 +7,7 @@ import z from "zod" import { Log } from "../util" import { lazy } from "@opencode-ai/shared/util/lazy" import { Shell } from "@/shell/shell" -import { Plugin } from "@/plugin" +import { Plugin } from "@/plugin/plugin" import { PtyID } from "./schema" import { Effect, Layer, Context } from "effect" import { EffectBridge } from "@/effect" diff --git a/packages/opencode/src/session/compaction.ts b/packages/opencode/src/session/compaction.ts index 3ef6977547..381361e5c6 100644 --- a/packages/opencode/src/session/compaction.ts +++ b/packages/opencode/src/session/compaction.ts @@ -9,7 +9,7 @@ import { Token } from "../util" import { Log } from "../util" import { SessionProcessor } from "./processor" import { Agent } from "@/agent/agent" -import { Plugin } from "@/plugin" +import { Plugin } from "@/plugin/plugin" import { Config } from "@/config" import { NotFoundError } from "@/storage" import { ModelID, ProviderID } from "@/provider/schema" diff --git a/packages/opencode/src/session/llm.ts b/packages/opencode/src/session/llm.ts index d38c29765a..69b0a9c514 100644 --- a/packages/opencode/src/session/llm.ts +++ b/packages/opencode/src/session/llm.ts @@ -10,7 +10,7 @@ import { Config } from "@/config" import { Instance } from "@/project/instance" import type { Agent } from "@/agent/agent" import type { MessageV2 } from "./message-v2" -import { Plugin } from "@/plugin" +import { Plugin } from "@/plugin/plugin" import { SystemPrompt } from "./system" import { Flag } from "@/flag/flag" import { Permission } from "@/permission" diff --git a/packages/opencode/src/session/processor.ts b/packages/opencode/src/session/processor.ts index 415639fbe5..9ca0077264 100644 --- a/packages/opencode/src/session/processor.ts +++ b/packages/opencode/src/session/processor.ts @@ -4,7 +4,7 @@ import { Agent } from "@/agent/agent" import { Bus } from "@/bus" import { Config } from "@/config" import { Permission } from "@/permission" -import { Plugin } from "@/plugin" +import { Plugin } from "@/plugin/plugin" import { Snapshot } from "@/snapshot" import * as Session from "./session" import { LLM } from "./llm" diff --git a/packages/opencode/src/session/prompt.ts b/packages/opencode/src/session/prompt.ts index 4b8b95baa8..9226193855 100644 --- a/packages/opencode/src/session/prompt.ts +++ b/packages/opencode/src/session/prompt.ts @@ -15,7 +15,7 @@ import { Bus } from "../bus" import { ProviderTransform } from "../provider" import { SystemPrompt } from "./system" import { Instruction } from "./instruction" -import { Plugin } from "../plugin" +import { Plugin } from "../plugin/plugin" import PROMPT_PLAN from "../session/prompt/plan.txt" import BUILD_SWITCH from "../session/prompt/build-switch.txt" import MAX_STEPS from "../session/prompt/max-steps.txt" diff --git a/packages/opencode/src/tool/bash.ts b/packages/opencode/src/tool/bash.ts index 6260b22216..b195800ecf 100644 --- a/packages/opencode/src/tool/bash.ts +++ b/packages/opencode/src/tool/bash.ts @@ -16,7 +16,7 @@ import { Shell } from "@/shell/shell" import { BashArity } from "@/permission/arity" import * as Truncate from "./truncate" -import { Plugin } from "@/plugin" +import { Plugin } from "@/plugin/plugin" import { Effect, Stream } from "effect" import { ChildProcess } from "effect/unstable/process" import { ChildProcessSpawner } from "effect/unstable/process/ChildProcessSpawner" diff --git a/packages/opencode/src/tool/registry.ts b/packages/opencode/src/tool/registry.ts index a8ab4c27ea..0d9490ec1d 100644 --- a/packages/opencode/src/tool/registry.ts +++ b/packages/opencode/src/tool/registry.ts @@ -16,7 +16,7 @@ import * as Tool from "./tool" import { Config } from "../config" import { type ToolContext as PluginToolContext, type ToolDefinition } from "@opencode-ai/plugin" import z from "zod" -import { Plugin } from "../plugin" +import { Plugin } from "../plugin/plugin" import { Provider } from "../provider" import { ProviderID, type ModelID } from "../provider/schema" import { WebSearchTool } from "./websearch" diff --git a/packages/opencode/test/session/compaction.test.ts b/packages/opencode/test/session/compaction.test.ts index ee3f645c52..6c8cd3458d 100644 --- a/packages/opencode/test/session/compaction.test.ts +++ b/packages/opencode/test/session/compaction.test.ts @@ -12,7 +12,7 @@ import { Token } from "../../src/util" import { Instance } from "../../src/project/instance" import { Log } from "../../src/util" import { Permission } from "../../src/permission" -import { Plugin } from "../../src/plugin" +import { Plugin } from "../../src/plugin/plugin" import { provideTmpdirInstance, tmpdir } from "../fixture/fixture" import { Session as SessionNs } from "../../src/session" import { MessageV2 } from "../../src/session/message-v2" diff --git a/packages/opencode/test/session/processor-effect.test.ts b/packages/opencode/test/session/processor-effect.test.ts index 74ce913077..57fc700245 100644 --- a/packages/opencode/test/session/processor-effect.test.ts +++ b/packages/opencode/test/session/processor-effect.test.ts @@ -7,7 +7,7 @@ import { Agent as AgentSvc } from "../../src/agent/agent" import { Bus } from "../../src/bus" import { Config } from "../../src/config" import { Permission } from "../../src/permission" -import { Plugin } from "../../src/plugin" +import { Plugin } from "../../src/plugin/plugin" import { Provider } from "../../src/provider" import { ModelID, ProviderID } from "../../src/provider/schema" import { Session } from "../../src/session" diff --git a/packages/opencode/test/session/prompt-effect.test.ts b/packages/opencode/test/session/prompt-effect.test.ts index 121d662e5f..936e67c55e 100644 --- a/packages/opencode/test/session/prompt-effect.test.ts +++ b/packages/opencode/test/session/prompt-effect.test.ts @@ -11,7 +11,7 @@ import { FileTime } from "../../src/file/time" import { LSP } from "../../src/lsp" import { MCP } from "../../src/mcp" import { Permission } from "../../src/permission" -import { Plugin } from "../../src/plugin" +import { Plugin } from "../../src/plugin/plugin" import { Provider as ProviderSvc } from "../../src/provider" import { Env } from "../../src/env" import { ModelID, ProviderID } from "../../src/provider/schema" diff --git a/packages/opencode/test/session/snapshot-tool-race.test.ts b/packages/opencode/test/session/snapshot-tool-race.test.ts index 1f66ccb995..a87ce7ab5a 100644 --- a/packages/opencode/test/session/snapshot-tool-race.test.ts +++ b/packages/opencode/test/session/snapshot-tool-race.test.ts @@ -37,7 +37,7 @@ import { FileTime } from "../../src/file/time" import { LSP } from "../../src/lsp" import { MCP } from "../../src/mcp" import { Permission } from "../../src/permission" -import { Plugin } from "../../src/plugin" +import { Plugin } from "../../src/plugin/plugin" import { Provider as ProviderSvc } from "../../src/provider" import { Env } from "../../src/env" import { Question } from "../../src/question" diff --git a/packages/opencode/test/tool/bash.test.ts b/packages/opencode/test/tool/bash.test.ts index d66cfc3e37..c9b4b5cb72 100644 --- a/packages/opencode/test/tool/bash.test.ts +++ b/packages/opencode/test/tool/bash.test.ts @@ -13,7 +13,7 @@ import { Truncate } from "../../src/tool" import { SessionID, MessageID } from "../../src/session/schema" import * as CrossSpawnSpawner from "../../src/effect/cross-spawn-spawner" import { AppFileSystem } from "@opencode-ai/shared/filesystem" -import { Plugin } from "../../src/plugin" +import { Plugin } from "../../src/plugin/plugin" const runtime = ManagedRuntime.make( Layer.mergeAll(