(opts ...modelsCmdOption)
| 87 | } |
| 88 | |
| 89 | func newModelsListCmd(opts ...modelsCmdOption) *cobra.Command { |
| 90 | var flags modelsListFlags |
| 91 | for _, opt := range opts { |
| 92 | opt(&flags.runConfig) |
| 93 | } |
| 94 | |
| 95 | cmd := &cobra.Command{ |
| 96 | Use: "list", |
| 97 | Aliases: []string{"ls"}, |
| 98 | Short: "List available models", |
| 99 | Example: ` docker agent models |
| 100 | docker agent models list --provider openai |
| 101 | docker agent models ls --all |
| 102 | docker agent models --format json`, |
| 103 | Args: cobra.NoArgs, |
| 104 | RunE: flags.runModelsListCommand, |
| 105 | } |
| 106 | |
| 107 | cmd.Flags().StringVarP(&flags.providerFilter, "provider", "p", "", "Filter by provider name") |
| 108 | cmd.Flags().StringVar(&flags.format, "format", "table", "Output format: table, json") |
| 109 | cmd.Flags().BoolVarP(&flags.all, "all", "a", false, "Include models from all providers, not just those with credentials") |
| 110 | addGatewayFlags(cmd, &flags.runConfig, userconfig.Load) |
| 111 | |
| 112 | return cmd |
| 113 | } |
| 114 | |
| 115 | func (f *modelsListFlags) runModelsListCommand(cmd *cobra.Command, args []string) (commandErr error) { |
| 116 | ctx := cmd.Context() |
no test coverage detected