MCPcopy Create free account
hub / github.com/Chat2AnyLLM/code-agent-manager / Update

Method Update

internal/appapi/providers.go:179–207  ·  view source on GitHub ↗

Update applies a sparse provider patch.

(ctx context.Context, name string, patch ProviderPatch)

Source from the content-addressed store, hash-verified

177
178// Update applies a sparse provider patch.
179func (api ProviderAPI) Update(ctx context.Context, name string, patch ProviderPatch) (Provider, error) {
180 if err := api.prepareProviderOperation(); err != nil {
181 return Provider{}, err
182 }
183 providerPatch := providers.Patch{
184 Endpoint: patch.Endpoint,
185 APIKey: patch.APIKey,
186 APIKeyEnv: patch.APIKeyEnv,
187 Description: patch.Description,
188 ListModelsCmd: patch.ListModelsCmd,
189 KeepProxyConfig: patch.KeepProxyConfig,
190 UseProxy: patch.UseProxy,
191 Enabled: patch.Enabled,
192 Clients: patch.Clients,
193 Models: patch.Models,
194 }
195 if patch.SupportedClient != nil {
196 providerPatch.Clients = &providers.ListPatch{Op: providers.ListOpReplace, Items: splitClients(*patch.SupportedClient)}
197 }
198 store := api.store()
199 if err := store.UpdateProvider(ctx, name, providerPatch); err != nil {
200 return Provider{}, err
201 }
202 file, err := store.ListProviders(ctx)
203 if err != nil {
204 return Provider{}, err
205 }
206 return providerFromEndpoint(name, file.Endpoints[name], api.getenv()), nil
207}
208
209// Remove deletes a provider.
210func (api ProviderAPI) Remove(ctx context.Context, name string) (OperationResult, error) {

Calls 7

storeMethod · 0.95
getenvMethod · 0.95
splitClientsFunction · 0.85
providerFromEndpointFunction · 0.85
UpdateProviderMethod · 0.80
ListProvidersMethod · 0.80