@kaitranntt/ccs 5.8.0 → 5.9.0-dev.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kaitranntt/ccs",
3
- "version": "5.8.0",
3
+ "version": "5.9.0-dev.2",
4
4
  "description": "Claude Code Switch - Instant profile switching between Claude Sonnet 4.5 and GLM 4.6",
5
5
  "keywords": [
6
6
  "cli",
@@ -18,8 +18,9 @@ _ccs_completion() {
18
18
 
19
19
  # Top-level completion (first argument)
20
20
  if [[ ${COMP_CWORD} -eq 1 ]]; then
21
- local commands="auth profile doctor sync update"
21
+ local commands="auth api cliproxy doctor sync update"
22
22
  local flags="--help --version --shell-completion -h -v -sc"
23
+ local cliproxy_profiles="gemini codex agy qwen"
23
24
  local profiles=""
24
25
 
25
26
  # Add profiles from config.json (settings-based profiles)
@@ -32,12 +33,24 @@ _ccs_completion() {
32
33
  profiles="$profiles $(jq -r '.profiles | keys[]' ~/.ccs/profiles.json 2>/dev/null || true)"
33
34
  fi
34
35
 
36
+ # Add cliproxy variants from config.json
37
+ if [[ -f ~/.ccs/config.json ]]; then
38
+ profiles="$profiles $(jq -r '.cliproxy | keys[]' ~/.ccs/config.json 2>/dev/null || true)"
39
+ fi
40
+
35
41
  # Combine all options
36
- local opts="$commands $flags $profiles"
42
+ local opts="$commands $flags $cliproxy_profiles $profiles"
37
43
  COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
38
44
  return 0
39
45
  fi
40
46
 
47
+ # CLIProxy provider flags (gemini, codex, agy, qwen)
48
+ if [[ ${COMP_WORDS[1]} =~ ^(gemini|codex|agy|qwen)$ ]]; then
49
+ local provider_flags="--auth --config --logout --headless --help -h"
50
+ COMPREPLY=( $(compgen -W "${provider_flags}" -- ${cur}) )
51
+ return 0
52
+ fi
53
+
41
54
  # auth subcommands
42
55
  if [[ ${prev} == "auth" ]]; then
43
56
  local auth_commands="create list show remove default --help -h"
@@ -45,15 +58,54 @@ _ccs_completion() {
45
58
  return 0
46
59
  fi
47
60
 
48
- # profile subcommands
49
- if [[ ${prev} == "profile" ]]; then
50
- local profile_commands="create list remove --help -h"
51
- COMPREPLY=( $(compgen -W "${profile_commands}" -- ${cur}) )
61
+ # api subcommands
62
+ if [[ ${prev} == "api" ]]; then
63
+ local api_commands="create list remove --help -h"
64
+ COMPREPLY=( $(compgen -W "${api_commands}" -- ${cur}) )
65
+ return 0
66
+ fi
67
+
68
+ # cliproxy subcommands
69
+ if [[ ${prev} == "cliproxy" ]]; then
70
+ local cliproxy_commands="create list remove --install --latest --help -h"
71
+ COMPREPLY=( $(compgen -W "${cliproxy_commands}" -- ${cur}) )
52
72
  return 0
53
73
  fi
54
74
 
55
- # Completion for profile subcommands
56
- if [[ ${COMP_WORDS[1]} == "profile" ]]; then
75
+ # Completion for cliproxy subcommands
76
+ if [[ ${COMP_WORDS[1]} == "cliproxy" ]]; then
77
+ case "${prev}" in
78
+ remove|delete|rm)
79
+ # Complete with cliproxy variant names
80
+ if [[ -f ~/.ccs/config.json ]]; then
81
+ local variants=$(jq -r '.cliproxy | keys[]' ~/.ccs/config.json 2>/dev/null || true)
82
+ COMPREPLY=( $(compgen -W "${variants}" -- ${cur}) )
83
+ fi
84
+ return 0
85
+ ;;
86
+ create)
87
+ # Complete with create flags
88
+ COMPREPLY=( $(compgen -W "--provider --model --force --yes -y" -- ${cur}) )
89
+ return 0
90
+ ;;
91
+ --provider)
92
+ # Complete with provider names
93
+ COMPREPLY=( $(compgen -W "gemini codex agy qwen" -- ${cur}) )
94
+ return 0
95
+ ;;
96
+ list|ls)
97
+ # No flags for list
98
+ return 0
99
+ ;;
100
+ --install)
101
+ # User enters version number
102
+ return 0
103
+ ;;
104
+ esac
105
+ fi
106
+
107
+ # Completion for api subcommands
108
+ if [[ ${COMP_WORDS[1]} == "api" ]]; then
57
109
  case "${prev}" in
58
110
  remove|delete|rm)
59
111
  # Complete with settings profile names
@@ -87,7 +139,8 @@ _ccs_completion() {
87
139
  return 0
88
140
  ;;
89
141
  create)
90
- # No completion for create (user enters new name)
142
+ # Complete with create flags
143
+ COMPREPLY=( $(compgen -W "--force" -- ${cur}) )
91
144
  return 0
92
145
  ;;
93
146
  list)
@@ -104,8 +157,14 @@ _ccs_completion() {
104
157
  return 0
105
158
  fi
106
159
 
160
+ # Flags for update command
161
+ if [[ ${COMP_WORDS[1]} == "update" ]]; then
162
+ COMPREPLY=( $(compgen -W "--force --beta --dev --help -h" -- ${cur}) )
163
+ return 0
164
+ fi
165
+
107
166
  # Flags for shell-completion command
108
- if [[ ${prev} == "--shell-completion" ]]; then
167
+ if [[ ${prev} == "--shell-completion" || ${prev} == "-sc" ]]; then
109
168
  COMPREPLY=( $(compgen -W "--bash --zsh --fish --powershell" -- ${cur}) )
110
169
  return 0
111
170
  fi
@@ -2,7 +2,7 @@
2
2
  # Compatible with fish 3.0+
3
3
  #
4
4
  # Features:
5
- # - Categorized completions with [cmd], [model], and [account] prefixes
5
+ # - Categorized completions with [cmd], [proxy], [model], and [account] prefixes
6
6
  # - Dynamic profile loading from config.json and profiles.json
7
7
  # - Context-aware subcommand completion
8
8
  #
@@ -18,23 +18,19 @@
18
18
  function __fish_ccs_get_settings_profiles
19
19
  set -l config_path ~/.ccs/config.json
20
20
 
21
- # Get settings-based profiles from config.json
22
21
  if test -f $config_path
23
22
  jq -r '.profiles | keys[]' $config_path 2>/dev/null
24
23
  end
25
24
  end
26
25
 
27
26
  # Helper function to get custom/unknown settings profiles
28
- # (profiles not in the hardcoded known list)
29
27
  function __fish_ccs_get_custom_settings_profiles
30
28
  set -l config_path ~/.ccs/config.json
31
29
  set -l known_profiles default glm glmt kimi
32
30
 
33
- # Get all settings profiles
34
31
  if test -f $config_path
35
32
  set -l all_profiles (jq -r '.profiles | keys[]' $config_path 2>/dev/null)
36
33
 
37
- # Filter out known profiles
38
34
  for profile in $all_profiles
39
35
  if not contains $profile $known_profiles
40
36
  echo $profile
@@ -43,6 +39,15 @@ function __fish_ccs_get_custom_settings_profiles
43
39
  end
44
40
  end
45
41
 
42
+ # Helper function to get cliproxy variants
43
+ function __fish_ccs_get_cliproxy_variants
44
+ set -l config_path ~/.ccs/config.json
45
+
46
+ if test -f $config_path
47
+ jq -r '.cliproxy | keys[]' $config_path 2>/dev/null
48
+ end
49
+ end
50
+
46
51
  # Helper function to get profiles with all types
47
52
  function __fish_ccs_get_profiles
48
53
  __fish_ccs_get_settings_profiles
@@ -69,6 +74,44 @@ function __fish_ccs_using_auth_subcommand
69
74
  __fish_ccs_using_auth; and __fish_seen_subcommand_from $subcommand
70
75
  end
71
76
 
77
+ # Helper function to check if we're in api context
78
+ function __fish_ccs_using_api
79
+ __fish_seen_subcommand_from api
80
+ end
81
+
82
+ # Helper function to check specific api subcommand
83
+ function __fish_ccs_using_api_subcommand
84
+ set -l subcommand $argv[1]
85
+ __fish_ccs_using_api; and __fish_seen_subcommand_from $subcommand
86
+ end
87
+
88
+ # Helper function to check if we're in cliproxy context
89
+ function __fish_ccs_using_cliproxy
90
+ __fish_seen_subcommand_from cliproxy
91
+ end
92
+
93
+ # Helper function to check specific cliproxy subcommand
94
+ function __fish_ccs_using_cliproxy_subcommand
95
+ set -l subcommand $argv[1]
96
+ __fish_ccs_using_cliproxy; and __fish_seen_subcommand_from $subcommand
97
+ end
98
+
99
+ # Helper function to check if we're in profile context
100
+ function __fish_ccs_using_profile
101
+ __fish_seen_subcommand_from profile
102
+ end
103
+
104
+ # Helper function to check specific profile subcommand
105
+ function __fish_ccs_using_profile_subcommand
106
+ set -l subcommand $argv[1]
107
+ __fish_ccs_using_profile; and __fish_seen_subcommand_from $subcommand
108
+ end
109
+
110
+ # Helper function to check if we're using a CLIProxy provider
111
+ function __fish_ccs_using_provider
112
+ __fish_seen_subcommand_from gemini codex agy qwen
113
+ end
114
+
72
115
  # Disable file completion for ccs
73
116
  complete -c ccs -f
74
117
 
@@ -78,23 +121,33 @@ complete -c ccs -s v -l version -d 'Show version information'
78
121
  complete -c ccs -s sc -l shell-completion -d 'Install shell completion'
79
122
 
80
123
  # Commands - grouped with [cmd] prefix for visual distinction
81
- complete -c ccs -n 'not __fish_seen_subcommand_from auth profile doctor sync update' -a 'auth' -d '[cmd] Manage multiple Claude accounts'
82
- complete -c ccs -n 'not __fish_seen_subcommand_from auth profile doctor sync update' -a 'profile' -d '[cmd] Manage API profiles (create/remove)'
83
- complete -c ccs -n 'not __fish_seen_subcommand_from auth profile doctor sync update' -a 'doctor' -d '[cmd] Run health check and diagnostics'
84
- complete -c ccs -n 'not __fish_seen_subcommand_from auth profile doctor sync update' -a 'sync' -d '[cmd] Sync delegation commands and skills'
85
- complete -c ccs -n 'not __fish_seen_subcommand_from auth profile doctor sync update' -a 'update' -d '[cmd] Update CCS to latest version'
124
+ complete -c ccs -n 'not __fish_seen_subcommand_from auth api cliproxy doctor sync update gemini codex agy qwen' -a 'auth' -d '[cmd] Manage multiple Claude accounts'
125
+ complete -c ccs -n 'not __fish_seen_subcommand_from auth api cliproxy doctor sync update gemini codex agy qwen' -a 'api' -d '[cmd] Manage API profiles (create/remove)'
126
+ complete -c ccs -n 'not __fish_seen_subcommand_from auth api cliproxy doctor sync update gemini codex agy qwen' -a 'cliproxy' -d '[cmd] Manage CLIProxy variants and binary'
127
+ complete -c ccs -n 'not __fish_seen_subcommand_from auth api cliproxy doctor sync update gemini codex agy qwen' -a 'doctor' -d '[cmd] Run health check and diagnostics'
128
+ complete -c ccs -n 'not __fish_seen_subcommand_from auth api cliproxy doctor sync update gemini codex agy qwen' -a 'sync' -d '[cmd] Sync delegation commands and skills'
129
+ complete -c ccs -n 'not __fish_seen_subcommand_from auth api cliproxy doctor sync update gemini codex agy qwen' -a 'update' -d '[cmd] Update CCS to latest version'
130
+
131
+ # CLIProxy profiles - grouped with [proxy] prefix for OAuth providers
132
+ complete -c ccs -n 'not __fish_seen_subcommand_from auth api cliproxy doctor sync update gemini codex agy qwen' -a 'gemini' -d '[proxy] Google Gemini (OAuth)'
133
+ complete -c ccs -n 'not __fish_seen_subcommand_from auth api cliproxy doctor sync update gemini codex agy qwen' -a 'codex' -d '[proxy] OpenAI Codex (OAuth)'
134
+ complete -c ccs -n 'not __fish_seen_subcommand_from auth api cliproxy doctor sync update gemini codex agy qwen' -a 'agy' -d '[proxy] Antigravity (OAuth)'
135
+ complete -c ccs -n 'not __fish_seen_subcommand_from auth api cliproxy doctor sync update gemini codex agy qwen' -a 'qwen' -d '[proxy] Qwen Code (OAuth)'
86
136
 
87
137
  # Model profiles - grouped with [model] prefix for visual distinction
88
- complete -c ccs -n 'not __fish_seen_subcommand_from auth profile doctor sync update' -a 'default' -d '[model] Default Claude Sonnet 4.5'
89
- complete -c ccs -n 'not __fish_seen_subcommand_from auth profile doctor sync update' -a 'glm' -d '[model] GLM-4.6 (cost-optimized)'
90
- complete -c ccs -n 'not __fish_seen_subcommand_from auth profile doctor sync update' -a 'glmt' -d '[model] GLM-4.6 with thinking mode'
91
- complete -c ccs -n 'not __fish_seen_subcommand_from auth profile doctor sync update' -a 'kimi' -d '[model] Kimi for Coding (long-context)'
138
+ complete -c ccs -n 'not __fish_seen_subcommand_from auth api cliproxy doctor sync update gemini codex agy qwen' -a 'default' -d '[model] Default Claude Sonnet 4.5'
139
+ complete -c ccs -n 'not __fish_seen_subcommand_from auth api cliproxy doctor sync update gemini codex agy qwen' -a 'glm' -d '[model] GLM-4.6 (cost-optimized)'
140
+ complete -c ccs -n 'not __fish_seen_subcommand_from auth api cliproxy doctor sync update gemini codex agy qwen' -a 'glmt' -d '[model] GLM-4.6 with thinking mode'
141
+ complete -c ccs -n 'not __fish_seen_subcommand_from auth api cliproxy doctor sync update gemini codex agy qwen' -a 'kimi' -d '[model] Kimi for Coding (long-context)'
92
142
 
93
143
  # Custom model profiles - dynamic with [model] prefix
94
- complete -c ccs -n 'not __fish_seen_subcommand_from auth profile doctor sync update' -a '(__fish_ccs_get_custom_settings_profiles)' -d '[model] Settings-based profile'
144
+ complete -c ccs -n 'not __fish_seen_subcommand_from auth api cliproxy doctor sync update gemini codex agy qwen' -a '(__fish_ccs_get_custom_settings_profiles)' -d '[model] Settings-based profile'
145
+
146
+ # CLIProxy variants - dynamic with [variant] prefix
147
+ complete -c ccs -n 'not __fish_seen_subcommand_from auth api cliproxy doctor sync update gemini codex agy qwen' -a '(__fish_ccs_get_cliproxy_variants)' -d '[variant] CLIProxy variant'
95
148
 
96
149
  # Account profiles - dynamic with [account] prefix
97
- complete -c ccs -n 'not __fish_seen_subcommand_from auth profile doctor sync update' -a '(__fish_ccs_get_account_profiles)' -d '[account] Account-based profile'
150
+ complete -c ccs -n 'not __fish_seen_subcommand_from auth api cliproxy doctor sync update gemini codex agy qwen' -a '(__fish_ccs_get_account_profiles)' -d '[account] Account-based profile'
98
151
 
99
152
  # shell-completion subflags
100
153
  complete -c ccs -n '__fish_seen_argument -l shell-completion; or __fish_seen_argument -s sc' -l bash -d 'Install for bash'
@@ -102,66 +155,94 @@ complete -c ccs -n '__fish_seen_argument -l shell-completion; or __fish_seen_arg
102
155
  complete -c ccs -n '__fish_seen_argument -l shell-completion; or __fish_seen_argument -s sc' -l fish -d 'Install for fish'
103
156
  complete -c ccs -n '__fish_seen_argument -l shell-completion; or __fish_seen_argument -s sc' -l powershell -d 'Install for PowerShell'
104
157
 
158
+ # CLIProxy provider flags (gemini, codex, agy, qwen)
159
+ complete -c ccs -n '__fish_ccs_using_provider' -l auth -d 'Authenticate only'
160
+ complete -c ccs -n '__fish_ccs_using_provider' -l config -d 'Change model configuration'
161
+ complete -c ccs -n '__fish_ccs_using_provider' -l logout -d 'Clear authentication'
162
+ complete -c ccs -n '__fish_ccs_using_provider' -l headless -d 'Headless auth (for SSH)'
163
+ complete -c ccs -n '__fish_ccs_using_provider' -s h -l help -d 'Show help'
164
+
165
+ # update command flags
166
+ complete -c ccs -n '__fish_seen_subcommand_from update' -l force -d 'Force reinstall current version'
167
+ complete -c ccs -n '__fish_seen_subcommand_from update' -l beta -d 'Install from dev channel'
168
+ complete -c ccs -n '__fish_seen_subcommand_from update' -l dev -d 'Install from dev channel'
169
+ complete -c ccs -n '__fish_seen_subcommand_from update' -s h -l help -d 'Show help'
170
+
171
+ # doctor command flags
172
+ complete -c ccs -n '__fish_seen_subcommand_from doctor' -s h -l help -d 'Show help for doctor command'
173
+
174
+ # ============================================================================
105
175
  # auth subcommands
176
+ # ============================================================================
106
177
  complete -c ccs -n '__fish_ccs_using_auth; and not __fish_seen_subcommand_from create list show remove default' -a 'create' -d 'Create new profile and login'
107
178
  complete -c ccs -n '__fish_ccs_using_auth; and not __fish_seen_subcommand_from create list show remove default' -a 'list' -d 'List all saved profiles'
108
179
  complete -c ccs -n '__fish_ccs_using_auth; and not __fish_seen_subcommand_from create list show remove default' -a 'show' -d 'Show profile details'
109
180
  complete -c ccs -n '__fish_ccs_using_auth; and not __fish_seen_subcommand_from create list show remove default' -a 'remove' -d 'Remove saved profile'
110
181
  complete -c ccs -n '__fish_ccs_using_auth; and not __fish_seen_subcommand_from create list show remove default' -a 'default' -d 'Set default profile'
111
182
 
112
- # auth command flags
113
183
  complete -c ccs -n '__fish_ccs_using_auth' -s h -l help -d 'Show help for auth commands'
114
-
115
- # auth create flags
116
184
  complete -c ccs -n '__fish_ccs_using_auth_subcommand create' -l force -d 'Allow overwriting existing profile'
117
-
118
- # auth list flags
119
185
  complete -c ccs -n '__fish_ccs_using_auth_subcommand list' -l verbose -d 'Show additional details'
120
186
  complete -c ccs -n '__fish_ccs_using_auth_subcommand list' -l json -d 'Output in JSON format'
121
-
122
- # auth show - profile names and flags
123
187
  complete -c ccs -n '__fish_ccs_using_auth_subcommand show' -a '(__fish_ccs_get_account_profiles)' -d 'Account profile'
124
188
  complete -c ccs -n '__fish_ccs_using_auth_subcommand show' -l json -d 'Output in JSON format'
125
-
126
- # auth remove - profile names and flags
127
189
  complete -c ccs -n '__fish_ccs_using_auth_subcommand remove' -a '(__fish_ccs_get_account_profiles)' -d 'Account profile'
128
190
  complete -c ccs -n '__fish_ccs_using_auth_subcommand remove' -l yes -d 'Skip confirmation prompts'
129
191
  complete -c ccs -n '__fish_ccs_using_auth_subcommand remove' -s y -d 'Skip confirmation prompts'
130
-
131
- # auth default - profile names only
132
192
  complete -c ccs -n '__fish_ccs_using_auth_subcommand default' -a '(__fish_ccs_get_account_profiles)' -d 'Account profile'
133
193
 
134
- # doctor command flags
135
- complete -c ccs -n '__fish_seen_subcommand_from doctor' -s h -l help -d 'Show help for doctor command'
136
-
137
- # Helper function to check if we're in profile context
138
- function __fish_ccs_using_profile
139
- __fish_seen_subcommand_from profile
140
- end
141
-
142
- # Helper function to check specific profile subcommand
143
- function __fish_ccs_using_profile_subcommand
144
- set -l subcommand $argv[1]
145
- __fish_ccs_using_profile; and __fish_seen_subcommand_from $subcommand
146
- end
147
-
148
- # profile subcommands
194
+ # ============================================================================
195
+ # api subcommands
196
+ # ============================================================================
197
+ complete -c ccs -n '__fish_ccs_using_api; and not __fish_seen_subcommand_from create list remove' -a 'create' -d 'Create new API profile'
198
+ complete -c ccs -n '__fish_ccs_using_api; and not __fish_seen_subcommand_from create list remove' -a 'list' -d 'List all API profiles'
199
+ complete -c ccs -n '__fish_ccs_using_api; and not __fish_seen_subcommand_from create list remove' -a 'remove' -d 'Remove an API profile'
200
+
201
+ complete -c ccs -n '__fish_ccs_using_api' -s h -l help -d 'Show help for api commands'
202
+ complete -c ccs -n '__fish_ccs_using_api_subcommand create' -l base-url -d 'API base URL'
203
+ complete -c ccs -n '__fish_ccs_using_api_subcommand create' -l api-key -d 'API key'
204
+ complete -c ccs -n '__fish_ccs_using_api_subcommand create' -l model -d 'Default model'
205
+ complete -c ccs -n '__fish_ccs_using_api_subcommand create' -l force -d 'Overwrite existing profile'
206
+ complete -c ccs -n '__fish_ccs_using_api_subcommand create' -l yes -d 'Skip prompts'
207
+ complete -c ccs -n '__fish_ccs_using_api_subcommand create' -s y -d 'Skip prompts'
208
+ complete -c ccs -n '__fish_ccs_using_api_subcommand remove' -a '(__fish_ccs_get_settings_profiles)' -d 'Settings profile'
209
+ complete -c ccs -n '__fish_ccs_using_api_subcommand remove' -l yes -d 'Skip confirmation'
210
+ complete -c ccs -n '__fish_ccs_using_api_subcommand remove' -s y -d 'Skip confirmation'
211
+
212
+ # ============================================================================
213
+ # cliproxy subcommands
214
+ # ============================================================================
215
+ complete -c ccs -n '__fish_ccs_using_cliproxy; and not __fish_seen_subcommand_from create list remove' -a 'create' -d 'Create new CLIProxy variant'
216
+ complete -c ccs -n '__fish_ccs_using_cliproxy; and not __fish_seen_subcommand_from create list remove' -a 'list' -d 'List all CLIProxy variants'
217
+ complete -c ccs -n '__fish_ccs_using_cliproxy; and not __fish_seen_subcommand_from create list remove' -a 'remove' -d 'Remove a CLIProxy variant'
218
+
219
+ complete -c ccs -n '__fish_ccs_using_cliproxy' -s h -l help -d 'Show help for cliproxy commands'
220
+ complete -c ccs -n '__fish_ccs_using_cliproxy' -l install -d 'Install specific version'
221
+ complete -c ccs -n '__fish_ccs_using_cliproxy' -l latest -d 'Install latest version'
222
+ complete -c ccs -n '__fish_ccs_using_cliproxy_subcommand create' -l provider -d 'Provider name'
223
+ complete -c ccs -n '__fish_ccs_using_cliproxy_subcommand create; and __fish_seen_argument -l provider' -a 'gemini codex agy qwen' -d 'Provider'
224
+ complete -c ccs -n '__fish_ccs_using_cliproxy_subcommand create' -l model -d 'Model name'
225
+ complete -c ccs -n '__fish_ccs_using_cliproxy_subcommand create' -l force -d 'Overwrite existing variant'
226
+ complete -c ccs -n '__fish_ccs_using_cliproxy_subcommand create' -l yes -d 'Skip prompts'
227
+ complete -c ccs -n '__fish_ccs_using_cliproxy_subcommand create' -s y -d 'Skip prompts'
228
+ complete -c ccs -n '__fish_ccs_using_cliproxy_subcommand remove' -a '(__fish_ccs_get_cliproxy_variants)' -d 'CLIProxy variant'
229
+ complete -c ccs -n '__fish_ccs_using_cliproxy_subcommand remove' -l yes -d 'Skip confirmation'
230
+ complete -c ccs -n '__fish_ccs_using_cliproxy_subcommand remove' -s y -d 'Skip confirmation'
231
+
232
+ # ============================================================================
233
+ # profile subcommands (legacy - redirects to api)
234
+ # ============================================================================
149
235
  complete -c ccs -n '__fish_ccs_using_profile; and not __fish_seen_subcommand_from create list remove' -a 'create' -d 'Create new API profile'
150
236
  complete -c ccs -n '__fish_ccs_using_profile; and not __fish_seen_subcommand_from create list remove' -a 'list' -d 'List all profiles'
151
237
  complete -c ccs -n '__fish_ccs_using_profile; and not __fish_seen_subcommand_from create list remove' -a 'remove' -d 'Remove a profile'
152
238
 
153
- # profile command flags
154
239
  complete -c ccs -n '__fish_ccs_using_profile' -s h -l help -d 'Show help for profile commands'
155
-
156
- # profile create flags
157
240
  complete -c ccs -n '__fish_ccs_using_profile_subcommand create' -l base-url -d 'API base URL'
158
241
  complete -c ccs -n '__fish_ccs_using_profile_subcommand create' -l api-key -d 'API key'
159
242
  complete -c ccs -n '__fish_ccs_using_profile_subcommand create' -l model -d 'Default model'
160
243
  complete -c ccs -n '__fish_ccs_using_profile_subcommand create' -l force -d 'Overwrite existing profile'
161
244
  complete -c ccs -n '__fish_ccs_using_profile_subcommand create' -l yes -d 'Skip prompts'
162
245
  complete -c ccs -n '__fish_ccs_using_profile_subcommand create' -s y -d 'Skip prompts'
163
-
164
- # profile remove - profile names and flags
165
246
  complete -c ccs -n '__fish_ccs_using_profile_subcommand remove' -a '(__fish_ccs_get_settings_profiles)' -d 'Settings profile'
166
247
  complete -c ccs -n '__fish_ccs_using_profile_subcommand remove' -l yes -d 'Skip confirmation'
167
248
  complete -c ccs -n '__fish_ccs_using_profile_subcommand remove' -s y -d 'Skip confirmation'