From aac0c3122fc2b0c0aaee77a41ef9a352881b74ca Mon Sep 17 00:00:00 2001 From: Steve Beaulac Date: Sun, 28 Jun 2026 23:46:19 -0400 Subject: [PATCH] fix(nvim): set pi-acp client for codecompanion --- config/nvim/plugin/codecompanion.lua | 57 ++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/config/nvim/plugin/codecompanion.lua b/config/nvim/plugin/codecompanion.lua index ba28ff7..f48c44e 100644 --- a/config/nvim/plugin/codecompanion.lua +++ b/config/nvim/plugin/codecompanion.lua @@ -231,6 +231,63 @@ codecompanion.setup({ copilot_cli = function() return require("codecompanion.adapters").extend("copilot_cli", {}) end, + pi = function() + local helpers = require("codecompanion.adapters.acp.helpers") + + ---@class CodeCompanion.ACPAdapter.Goose: CodeCompanion.ACPAdapter + return { + name = "pi-acp", + formatted_name = "Pi Agent", + type = "acp", + roles = { + llm = "assistant", + user = "user", + }, + opts = { + vision = true, + }, + commands = { + default = { + "pi-acp", + }, + }, + defaults = { + mcpServers = {}, + timeout = 20000, -- 20 seconds + }, + parameters = { + protocolVersion = 1, + clientCapabilities = { + fs = { readTextFile = true, writeTextFile = true }, + }, + clientInfo = { + name = "CodeCompanion.nvim", + version = "1.0.0", + }, + }, + handlers = { + ---@param self CodeCompanion.ACPAdapter + ---@return boolean + setup = function(self) + return true + end, + + ---@param self CodeCompanion.ACPAdapter + ---@param messages table + ---@param capabilities table + ---@return table + form_messages = function(self, messages, capabilities) + return helpers.form_messages(self, messages, capabilities) + end, + + ---Function to run when the request has completed. Useful to catch errors + ---@param self CodeCompanion.ACPAdapter + ---@param code number + ---@return nil + on_exit = function(self, code) end, + }, + } + end, codex = function() return require("codecompanion.adapters").extend("codex", { -- commands = {