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

Method providerUpdateCommand

internal/cli/provider_cmd.go:312–351  ·  view source on GitHub ↗
(state *globalState)

Source from the content-addressed store, hash-verified

310}
311
312func (a *App) providerUpdateCommand(state *globalState) *cobra.Command {
313 flags := &addOrUpdateFlags{}
314 cmd := &cobra.Command{
315 Use: "update NAME [flags]",
316 Short: "Update fields on an existing provider (interactive wizard when flags omitted)",
317 Args: cobra.ExactArgs(1),
318 RunE: func(cmd *cobra.Command, args []string) error {
319 name := args[0]
320 changedFlags := []string{"endpoint", "api-key", "api-key-env", "client", "model", "list-models-cmd", "description", "use-proxy", "no-use-proxy", "keep-proxy-config", "no-keep-proxy-config", "enabled", "disabled"}
321 for _, flagName := range changedFlags {
322 if cmd.Flags().Changed(flagName) {
323 return a.providerUpdateFlagMode(cmd, state, name, flags)
324 }
325 }
326 listed, err := providerAPI(state).List(context.Background())
327 if err != nil {
328 return err
329 }
330 file := providersFileFromAPI(listed)
331 ep, ok := file.Endpoints[name]
332 if !ok {
333 return fmt.Errorf("provider %q not found (try 'cam provider list')", name)
334 }
335 name, newEp, cancelled, err := runProviderWizard(cmd.OutOrStdout(), cmd.InOrStdin(), wizardModeUpdate, &ep, name, file.SortedNames())
336 if err != nil {
337 return err
338 }
339 if cancelled {
340 return nil
341 }
342 if _, err := providerAPI(state).Update(context.Background(), name, providerPatchFromEndpoint(newEp)); err != nil {
343 return err
344 }
345 fmt.Fprintf(cmd.OutOrStdout(), "Updated provider %q\n", name)
346 return nil
347 },
348 }
349 bindAddOrUpdateFlags(cmd, flags)
350 return cmd
351}
352
353func (a *App) providerUpdateFlagMode(cmd *cobra.Command, state *globalState, name string, flags *addOrUpdateFlags) error {
354 if flags.useProxy && flags.noUseProxy {

Callers 1

providerCommandMethod · 0.95

Calls 9

providerAPIFunction · 0.85
providersFileFromAPIFunction · 0.85
runProviderWizardFunction · 0.85
bindAddOrUpdateFlagsFunction · 0.85
SortedNamesMethod · 0.80
ListMethod · 0.45
UpdateMethod · 0.45

Tested by

no test coverage detected