fix: bedrock (#1524)
* fix: bedrock * fix: bad variable name * fix: missing metatable
This commit is contained in:
@@ -198,26 +198,25 @@ M = setmetatable(M, {
|
||||
---@param t avante.Providers
|
||||
---@param k ProviderName
|
||||
__index = function(t, k)
|
||||
---@type AvanteProviderFunctor | AvanteBedrockProviderFunctor
|
||||
local Opts = M.get_config(k)
|
||||
local provider_config = M.get_config(k)
|
||||
|
||||
---@diagnostic disable: undefined-field,no-unknown,inject-field
|
||||
if Config.vendors[k] ~= nil then
|
||||
if Opts.parse_response_data ~= nil then
|
||||
if provider_config.parse_response_data ~= nil then
|
||||
Utils.error("parse_response_data is not supported for avante.nvim vendors")
|
||||
end
|
||||
if Opts.__inherited_from ~= nil then
|
||||
local BaseOpts = M.get_config(Opts.__inherited_from)
|
||||
local ok, module = pcall(require, "avante.providers." .. Opts.__inherited_from)
|
||||
if not ok then error("Failed to load provider: " .. Opts.__inherited_from) end
|
||||
t[k] = vim.tbl_deep_extend("keep", Opts, BaseOpts, module)
|
||||
if provider_config.__inherited_from ~= nil then
|
||||
local base_provider_config = M.get_config(provider_config.__inherited_from)
|
||||
local ok, module = pcall(require, "avante.providers." .. provider_config.__inherited_from)
|
||||
if not ok then error("Failed to load provider: " .. provider_config.__inherited_from) end
|
||||
t[k] = Utils.deep_extend_with_metatable("keep", provider_config, base_provider_config, module)
|
||||
else
|
||||
t[k] = Opts
|
||||
t[k] = provider_config
|
||||
end
|
||||
else
|
||||
local ok, module = pcall(require, "avante.providers." .. k)
|
||||
if not ok then error("Failed to load provider: " .. k) end
|
||||
t[k] = vim.tbl_deep_extend("keep", Opts, module)
|
||||
t[k] = Utils.deep_extend_with_metatable("keep", provider_config, module)
|
||||
end
|
||||
|
||||
t[k].parse_api_key = function() return E.parse_envvar(t[k]) end
|
||||
@@ -310,10 +309,9 @@ end
|
||||
|
||||
---@private
|
||||
---@param provider_name ProviderName
|
||||
---@return AvanteProviderFunctor | AvanteBedrockProviderFunctor
|
||||
function M.get_config(provider_name)
|
||||
provider_name = provider_name or Config.provider
|
||||
local cur = Config.get_provider(provider_name)
|
||||
local cur = Config.get_provider_config(provider_name)
|
||||
return type(cur) == "function" and cur() or cur
|
||||
end
|
||||
|
||||
|
||||
Reference in New Issue
Block a user