{
"olimorris/codecompanion.nvim",
dependencies = {
"nvim-lua/plenary.nvim",
"nvim-treesitter/nvim-treesitter",
},
opts = {
strategies = {
chat = {
adapter = "poolside",
},
inline = {
adapter = "poolside",
},
},
adapters = {
poolside = function()
-- Use LSP workspace root, fallback to cwd
local workspace = vim.lsp.buf.list_workspace_folders()[1] or vim.fn.getcwd()
return {
name = "poolside",
formatted_name = "Poolside",
type = "acp",
roles = {
llm = "assistant",
user = "user",
},
commands = {
default = {
"pool",
"acp",
"--agent-name",
"agent_1003_cc_v2_rc-fp8-tpr",
"--workspace",
workspace,
},
},
defaults = {
model = "019b7095-3f98-7140-a876-dfbc2e0462c7", -- malibu_xml_1215
},
parameters = {
protocolVersion = 1,
clientCapabilities = {
fs = { readTextFile = true, writeTextFile = true },
},
},
handlers = {
form_messages = function(self, messages, capabilities)
return require("codecompanion.adapters.acp.helpers").form_messages(
self,
messages,
capabilities
)
end,
},
}
end,
},
},
}