diff --git a/packages/tui/package.json b/packages/tui/package.json index 8ae0222ebe4..5fa63c5a76c 100644 --- a/packages/tui/package.json +++ b/packages/tui/package.json @@ -72,6 +72,11 @@ "bun": "./src/editor-zed-sqlite.bun.ts", "node": "./src/editor-zed-sqlite.node.ts", "default": "./src/editor-zed-sqlite.bun.ts" + }, + "#runtime-plugin-support": { + "bun": "./src/plugin/runtime-plugin-support.bun.ts", + "node": "./src/plugin/runtime-plugin-support.node.ts", + "default": "./src/plugin/runtime-plugin-support.node.ts" } }, "dependencies": { diff --git a/packages/tui/src/plugin/context.tsx b/packages/tui/src/plugin/context.tsx index 6dc8df9729a..6b9d019db14 100644 --- a/packages/tui/src/plugin/context.tsx +++ b/packages/tui/src/plugin/context.tsx @@ -16,7 +16,7 @@ import { fileURLToPath, pathToFileURL } from "url" import type { Context, Dialog, Page, Slot, SlotMap, SlotName, Toast } from "@opencode-ai/plugin/tui/context" import { createStore, produce, reconcile as reconcileStore } from "solid-js/store" import { useRenderer } from "@opentui/solid" -import { ensureRuntimePluginSupport } from "@opentui/solid/runtime-plugin-support/configure" +import "#runtime-plugin-support" import { useConfig } from "../config" import { useClient } from "../context/client" import { useData } from "../context/data" @@ -37,8 +37,6 @@ import { abbreviateHome } from "../util/path-format" import { builtins } from "./builtins" import { discoverTuiPlugins } from "./discovery" -ensureRuntimePluginSupport() - export interface PackageResolver { readonly resolve: (spec: string) => Promise } diff --git a/packages/tui/src/plugin/runtime-plugin-support.bun.ts b/packages/tui/src/plugin/runtime-plugin-support.bun.ts new file mode 100644 index 00000000000..2f0a59f4c2b --- /dev/null +++ b/packages/tui/src/plugin/runtime-plugin-support.bun.ts @@ -0,0 +1,3 @@ +import { ensureRuntimePluginSupport } from "@opentui/solid/runtime-plugin-support/configure" + +ensureRuntimePluginSupport() diff --git a/packages/tui/src/plugin/runtime-plugin-support.node.ts b/packages/tui/src/plugin/runtime-plugin-support.node.ts new file mode 100644 index 00000000000..57380e63858 --- /dev/null +++ b/packages/tui/src/plugin/runtime-plugin-support.node.ts @@ -0,0 +1 @@ +// OpenTUI's runtime plugin transform uses Bun's plugin API. Node loads precompiled plugins without it.