update parrot
This commit is contained in:
@@ -1,12 +1,43 @@
|
|||||||
return {
|
return {
|
||||||
'frankroeder/parrot.nvim',
|
'frankroeder/parrot.nvim',
|
||||||
|
version = "2.1.0",
|
||||||
dependencies = { 'ibhagwan/fzf-lua', 'nvim-lua/plenary.nvim' },
|
dependencies = { 'ibhagwan/fzf-lua', 'nvim-lua/plenary.nvim' },
|
||||||
opts = {
|
opts = {
|
||||||
providers = {
|
providers = {
|
||||||
anthropic = {
|
anthropic = {
|
||||||
-- OPTIONAL: Alternative methods to retrieve API key
|
name = "anthropic",
|
||||||
-- Using GPG for decryption:
|
endpoint = "https://api.anthropic.com/v1/messages",
|
||||||
api_key = { "sops", "-d", vim.fn.expand("$HOME") .. "/.claude-api" },
|
model_endpoint = "https://api.anthropic.com/v1/models",
|
||||||
|
api_key = { "/usr/local/bin/sops", "--config", "/dev/null", "-d", vim.fn.expand("$HOME") .. "/.claude-api" },
|
||||||
|
headers = function(self)
|
||||||
|
return {
|
||||||
|
["Content-Type"] = "application/json",
|
||||||
|
["x-api-key"] = self.api_key,
|
||||||
|
["anthropic-version"] = "2023-06-01",
|
||||||
|
}
|
||||||
|
end,
|
||||||
|
params = {
|
||||||
|
chat = { max_tokens = 4096 },
|
||||||
|
command = { max_tokens = 4096 },
|
||||||
|
},
|
||||||
|
models = {
|
||||||
|
"claude-sonnet-4-20250514",
|
||||||
|
"claude-3-7-sonnet-20250219",
|
||||||
|
"claude-3-5-sonnet-20241022",
|
||||||
|
"claude-3-5-haiku-20241022",
|
||||||
|
},
|
||||||
|
preprocess_payload = function(payload)
|
||||||
|
for _, message in ipairs(payload.messages) do
|
||||||
|
message.content = message.content:gsub("^%s*(.-)%s*$", "%1")
|
||||||
|
end
|
||||||
|
if payload.messages[1] and payload.messages[1].role == "system" then
|
||||||
|
-- remove the first message that serves as the system prompt as anthropic
|
||||||
|
-- expects the system prompt to be part of the API call body and not the messages
|
||||||
|
payload.system = payload.messages[1].content
|
||||||
|
table.remove(payload.messages, 1)
|
||||||
|
end
|
||||||
|
return payload
|
||||||
|
end,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user