diff --git a/src/components/settings/acp-agent-settings.tsx b/src/components/settings/acp-agent-settings.tsx index 8a080bb..e5db4cc 100644 --- a/src/components/settings/acp-agent-settings.tsx +++ b/src/components/settings/acp-agent-settings.tsx @@ -85,6 +85,7 @@ import type { ModelProviderInfo, PreflightResult, } from "@/lib/types" +import { OpencodePluginsModal } from "./opencode-plugins-modal" interface AgentCheckState { result?: PreflightResult @@ -156,6 +157,7 @@ type UiFixAction = | "upgrade_npx" | "uninstall_binary" | "uninstall_npx" + | "install_opencode_plugins" payload: string } @@ -2584,6 +2586,10 @@ export function AcpAgentSettings() { const [modelProviders, setModelProviders] = useState([]) const [uninstallConfirmAgent, setUninstallConfirmAgent] = useState(null) + const [pluginModalOpen, setPluginModalOpen] = useState(false) + const [pluginModalAgent, setPluginModalAgent] = useState( + null + ) const [expandedChecks, setExpandedChecks] = useState>( {} ) @@ -3137,6 +3143,11 @@ export function AcpAgentSettings() { await runBinaryAction(agent, "upgrade", "redownload_binary") return } + if (action.kind === "install_opencode_plugins") { + setPluginModalAgent(agent.agent_type) + setPluginModalOpen(true) + return + } await runPreflight(agent.agent_type) } @@ -3238,6 +3249,7 @@ export function AcpAgentSettings() { "uninstall_binary", "uninstall_npx", "redownload_binary", + "install_opencode_plugins", ].includes(fix.kind) } onClick={() => { @@ -3258,6 +3270,8 @@ export function AcpAgentSettings() { ) : fix.kind === "uninstall_binary" || fix.kind === "uninstall_npx" ? ( + ) : fix.kind === "install_opencode_plugins" ? ( + ) : null} {fix.label} @@ -7164,6 +7178,17 @@ supports_websockets = true`} + + { + if (pluginModalAgent) { + runPreflight(pluginModalAgent) + } + setPluginModalAgent(null) + }} + /> ) }