@kaitranntt/ccs 7.65.2 → 7.65.3-dev.10

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.
Files changed (227) hide show
  1. package/README.md +69 -3
  2. package/dist/api/services/profile-lifecycle-service.d.ts.map +1 -1
  3. package/dist/api/services/profile-lifecycle-service.js +4 -0
  4. package/dist/api/services/profile-lifecycle-service.js.map +1 -1
  5. package/dist/api/services/profile-writer.d.ts.map +1 -1
  6. package/dist/api/services/profile-writer.js +3 -0
  7. package/dist/api/services/profile-writer.js.map +1 -1
  8. package/dist/auth/auth-commands.d.ts +1 -0
  9. package/dist/auth/auth-commands.d.ts.map +1 -1
  10. package/dist/auth/auth-commands.js +11 -0
  11. package/dist/auth/auth-commands.js.map +1 -1
  12. package/dist/auth/commands/backup-command.d.ts +3 -0
  13. package/dist/auth/commands/backup-command.d.ts.map +1 -0
  14. package/dist/auth/commands/backup-command.js +126 -0
  15. package/dist/auth/commands/backup-command.js.map +1 -0
  16. package/dist/auth/commands/index.d.ts +1 -0
  17. package/dist/auth/commands/index.d.ts.map +1 -1
  18. package/dist/auth/commands/index.js +3 -1
  19. package/dist/auth/commands/index.js.map +1 -1
  20. package/dist/auth/profile-continuity-inheritance.d.ts +1 -0
  21. package/dist/auth/profile-continuity-inheritance.d.ts.map +1 -1
  22. package/dist/auth/profile-continuity-inheritance.js +10 -6
  23. package/dist/auth/profile-continuity-inheritance.js.map +1 -1
  24. package/dist/auth/profile-detector.d.ts +9 -1
  25. package/dist/auth/profile-detector.d.ts.map +1 -1
  26. package/dist/auth/profile-detector.js +35 -0
  27. package/dist/auth/profile-detector.js.map +1 -1
  28. package/dist/auth/resume-lane-diagnostics.d.ts +21 -0
  29. package/dist/auth/resume-lane-diagnostics.d.ts.map +1 -0
  30. package/dist/auth/resume-lane-diagnostics.js +146 -0
  31. package/dist/auth/resume-lane-diagnostics.js.map +1 -0
  32. package/dist/auth/resume-lane-warning.d.ts +9 -0
  33. package/dist/auth/resume-lane-warning.d.ts.map +1 -0
  34. package/dist/auth/resume-lane-warning.js +60 -0
  35. package/dist/auth/resume-lane-warning.js.map +1 -0
  36. package/dist/ccs.js +79 -7
  37. package/dist/ccs.js.map +1 -1
  38. package/dist/cliproxy/executor/env-resolver.d.ts +3 -0
  39. package/dist/cliproxy/executor/env-resolver.d.ts.map +1 -1
  40. package/dist/cliproxy/executor/env-resolver.js +19 -1
  41. package/dist/cliproxy/executor/env-resolver.js.map +1 -1
  42. package/dist/cliproxy/executor/index.d.ts.map +1 -1
  43. package/dist/cliproxy/executor/index.js +24 -5
  44. package/dist/cliproxy/executor/index.js.map +1 -1
  45. package/dist/cliproxy/gemini-cli-quota-normalizer.d.ts +10 -0
  46. package/dist/cliproxy/gemini-cli-quota-normalizer.d.ts.map +1 -0
  47. package/dist/cliproxy/gemini-cli-quota-normalizer.js +122 -0
  48. package/dist/cliproxy/gemini-cli-quota-normalizer.js.map +1 -0
  49. package/dist/cliproxy/quota-fetcher-gemini-cli.d.ts.map +1 -1
  50. package/dist/cliproxy/quota-fetcher-gemini-cli.js +133 -92
  51. package/dist/cliproxy/quota-fetcher-gemini-cli.js.map +1 -1
  52. package/dist/cliproxy/quota-types.d.ts +8 -0
  53. package/dist/cliproxy/quota-types.d.ts.map +1 -1
  54. package/dist/cliproxy/services/variant-settings.d.ts.map +1 -1
  55. package/dist/cliproxy/services/variant-settings.js +11 -0
  56. package/dist/cliproxy/services/variant-settings.js.map +1 -1
  57. package/dist/commands/cliproxy/quota-subcommand.d.ts.map +1 -1
  58. package/dist/commands/cliproxy/quota-subcommand.js +10 -1
  59. package/dist/commands/cliproxy/quota-subcommand.js.map +1 -1
  60. package/dist/commands/command-catalog.d.ts +39 -0
  61. package/dist/commands/command-catalog.d.ts.map +1 -0
  62. package/dist/commands/command-catalog.js +298 -0
  63. package/dist/commands/command-catalog.js.map +1 -0
  64. package/dist/commands/completion-backend.d.ts +14 -0
  65. package/dist/commands/completion-backend.d.ts.map +1 -0
  66. package/dist/commands/completion-backend.js +208 -0
  67. package/dist/commands/completion-backend.js.map +1 -0
  68. package/dist/commands/cursor-command-display.d.ts.map +1 -1
  69. package/dist/commands/cursor-command-display.js +25 -5
  70. package/dist/commands/cursor-command-display.js.map +1 -1
  71. package/dist/commands/cursor-command.d.ts +1 -3
  72. package/dist/commands/cursor-command.d.ts.map +1 -1
  73. package/dist/commands/cursor-command.js +3 -15
  74. package/dist/commands/cursor-command.js.map +1 -1
  75. package/dist/commands/help-command.d.ts +4 -3
  76. package/dist/commands/help-command.d.ts.map +1 -1
  77. package/dist/commands/help-command.js +155 -507
  78. package/dist/commands/help-command.js.map +1 -1
  79. package/dist/commands/install-command.d.ts.map +1 -1
  80. package/dist/commands/install-command.js +16 -3
  81. package/dist/commands/install-command.js.map +1 -1
  82. package/dist/commands/root-command-router.d.ts +2 -0
  83. package/dist/commands/root-command-router.d.ts.map +1 -1
  84. package/dist/commands/root-command-router.js +13 -13
  85. package/dist/commands/root-command-router.js.map +1 -1
  86. package/dist/commands/shell-completion-command.d.ts +1 -0
  87. package/dist/commands/shell-completion-command.d.ts.map +1 -1
  88. package/dist/commands/shell-completion-command.js +27 -11
  89. package/dist/commands/shell-completion-command.js.map +1 -1
  90. package/dist/copilot/copilot-executor.d.ts +2 -0
  91. package/dist/copilot/copilot-executor.d.ts.map +1 -1
  92. package/dist/copilot/copilot-executor.js +36 -4
  93. package/dist/copilot/copilot-executor.js.map +1 -1
  94. package/dist/cursor/constants.d.ts +3 -0
  95. package/dist/cursor/constants.d.ts.map +1 -0
  96. package/dist/cursor/constants.js +20 -0
  97. package/dist/cursor/constants.js.map +1 -0
  98. package/dist/cursor/cursor-models.d.ts.map +1 -1
  99. package/dist/cursor/cursor-models.js +2 -0
  100. package/dist/cursor/cursor-models.js.map +1 -1
  101. package/dist/cursor/cursor-profile-executor.d.ts +10 -0
  102. package/dist/cursor/cursor-profile-executor.d.ts.map +1 -0
  103. package/dist/cursor/cursor-profile-executor.js +158 -0
  104. package/dist/cursor/cursor-profile-executor.js.map +1 -0
  105. package/dist/cursor/cursor-translator.d.ts +22 -11
  106. package/dist/cursor/cursor-translator.d.ts.map +1 -1
  107. package/dist/cursor/cursor-translator.js +254 -75
  108. package/dist/cursor/cursor-translator.js.map +1 -1
  109. package/dist/cursor/index.d.ts +1 -0
  110. package/dist/cursor/index.d.ts.map +1 -1
  111. package/dist/cursor/index.js +4 -1
  112. package/dist/cursor/index.js.map +1 -1
  113. package/dist/delegation/headless-executor.d.ts.map +1 -1
  114. package/dist/delegation/headless-executor.js +79 -2
  115. package/dist/delegation/headless-executor.js.map +1 -1
  116. package/dist/management/checks/image-analysis-check.d.ts.map +1 -1
  117. package/dist/management/checks/image-analysis-check.js +4 -5
  118. package/dist/management/checks/image-analysis-check.js.map +1 -1
  119. package/dist/management/instance-manager.js +1 -1
  120. package/dist/management/instance-manager.js.map +1 -1
  121. package/dist/shared/claude-extension-setup.d.ts.map +1 -1
  122. package/dist/shared/claude-extension-setup.js +36 -16
  123. package/dist/shared/claude-extension-setup.js.map +1 -1
  124. package/dist/targets/target-runtime-compatibility.d.ts.map +1 -1
  125. package/dist/targets/target-runtime-compatibility.js +6 -0
  126. package/dist/targets/target-runtime-compatibility.js.map +1 -1
  127. package/dist/types/profile.d.ts +1 -1
  128. package/dist/types/profile.d.ts.map +1 -1
  129. package/dist/ui/assets/accounts-BjfPKR8m.js +1 -0
  130. package/dist/ui/assets/{alert-dialog-D0EFRcfB.js → alert-dialog-Dh2NUFdm.js} +1 -1
  131. package/dist/ui/assets/{api-DhM3BYXr.js → api-C-3mQCFf.js} +1 -1
  132. package/dist/ui/assets/{auth-section-DVp8FQGm.js → auth-section-Dp10_YyD.js} +1 -1
  133. package/dist/ui/assets/{backups-section-CRo0NZkA.js → backups-section-C0jF8MP1.js} +1 -1
  134. package/dist/ui/assets/{channels-uZ_9CBqO.js → channels-CkXuK5i7.js} +1 -1
  135. package/dist/ui/assets/{checkbox-32DNqW_Q.js → checkbox-tA5FH8Ol.js} +1 -1
  136. package/dist/ui/assets/{claude-extension-BfXlz5gV.js → claude-extension-Bg2ZkzMz.js} +1 -1
  137. package/dist/ui/assets/{cliproxy-DjNY9H-U.js → cliproxy-1qRVSbVC.js} +2 -2
  138. package/dist/ui/assets/{cliproxy-ai-providers-5SHLMHiy.js → cliproxy-ai-providers-DBSXTTyw.js} +1 -1
  139. package/dist/ui/assets/cliproxy-control-panel-Da-sGGyI.js +1 -0
  140. package/dist/ui/assets/{codex-CRUSpjsu.js → codex-ooWKOPa2.js} +1 -1
  141. package/dist/ui/assets/{confirm-dialog-DVf5ZmCZ.js → confirm-dialog-CKjwhn9j.js} +1 -1
  142. package/dist/ui/assets/{copilot-BZrihl_Z.js → copilot-GA7EPiK1.js} +1 -1
  143. package/dist/ui/assets/{cursor-BP4nbEk_.js → cursor-B6c8CyHG.js} +1 -1
  144. package/dist/ui/assets/{droid-BG92rdM2.js → droid-CPRHOIX2.js} +1 -1
  145. package/dist/ui/assets/{globalenv-section-Cf6dKgSf.js → globalenv-section-Czgnw_GV.js} +1 -1
  146. package/dist/ui/assets/{health-BTy1UZs3.js → health-CXLOMk8n.js} +1 -1
  147. package/dist/ui/assets/icons-B9oTjo-t.js +1 -0
  148. package/dist/ui/assets/index-BMHPMj0j.js +69 -0
  149. package/dist/ui/assets/{index-BVeN0dIB.js → index-BceMcbCR.js} +1 -1
  150. package/dist/ui/assets/{index-N2ZSJurX.js → index-Boa5e-GY.js} +1 -1
  151. package/dist/ui/assets/index-CknHGRYp.css +1 -0
  152. package/dist/ui/assets/{index-wg7UtkFv.js → index-CvfzKRSH.js} +1 -1
  153. package/dist/ui/assets/{index-DuRYaONg.js → index-D2v_-6AW.js} +1 -1
  154. package/dist/ui/assets/{index-DHrTq-0n.js → index-v-DY6Zby.js} +1 -1
  155. package/dist/ui/assets/{masked-input-DX9bedLy.js → masked-input-B1_asiUI.js} +1 -1
  156. package/dist/ui/assets/{proxy-status-widget-DVDMuZK5.js → proxy-status-widget-Ci1JpStj.js} +1 -1
  157. package/dist/ui/assets/{radix-ui-C98W0NRG.js → radix-ui-Zb8sVEtn.js} +1 -1
  158. package/dist/ui/assets/{raw-json-settings-editor-panel-Dkt5E6Z_.js → raw-json-settings-editor-panel-DMbTkxWw.js} +1 -1
  159. package/dist/ui/assets/{searchable-select-BP3Q1-Yn.js → searchable-select-HbP2PXl3.js} +1 -1
  160. package/dist/ui/assets/{separator-BLGGUlh9.js → separator-CdaalG0K.js} +1 -1
  161. package/dist/ui/assets/{shared-G0XRyLig.js → shared-BiFB-et0.js} +1 -1
  162. package/dist/ui/assets/{table-B4lRrWC-.js → table-BPwgFXLQ.js} +1 -1
  163. package/dist/ui/assets/{tanstack-CfKik0yL.js → tanstack-DWm6aJ-G.js} +1 -1
  164. package/dist/ui/assets/{updates--A2Sdo7N.js → updates-l8Co9uve.js} +1 -1
  165. package/dist/ui/index.html +5 -5
  166. package/dist/utils/config-manager.d.ts +5 -0
  167. package/dist/utils/config-manager.d.ts.map +1 -1
  168. package/dist/utils/config-manager.js +10 -1
  169. package/dist/utils/config-manager.js.map +1 -1
  170. package/dist/utils/hooks/get-image-analysis-hook-env.d.ts +26 -0
  171. package/dist/utils/hooks/get-image-analysis-hook-env.d.ts.map +1 -1
  172. package/dist/utils/hooks/get-image-analysis-hook-env.js +79 -1
  173. package/dist/utils/hooks/get-image-analysis-hook-env.js.map +1 -1
  174. package/dist/utils/hooks/image-analysis-backend-resolver.d.ts.map +1 -1
  175. package/dist/utils/hooks/image-analysis-backend-resolver.js +13 -5
  176. package/dist/utils/hooks/image-analysis-backend-resolver.js.map +1 -1
  177. package/dist/utils/hooks/image-analysis-runtime-status.d.ts +2 -0
  178. package/dist/utils/hooks/image-analysis-runtime-status.d.ts.map +1 -1
  179. package/dist/utils/hooks/image-analysis-runtime-status.js +15 -11
  180. package/dist/utils/hooks/image-analysis-runtime-status.js.map +1 -1
  181. package/dist/utils/hooks/image-analyzer-hook-installer.d.ts.map +1 -1
  182. package/dist/utils/hooks/image-analyzer-hook-installer.js +60 -27
  183. package/dist/utils/hooks/image-analyzer-hook-installer.js.map +1 -1
  184. package/dist/utils/hooks/image-analyzer-profile-hook-injector.d.ts.map +1 -1
  185. package/dist/utils/hooks/image-analyzer-profile-hook-injector.js +3 -0
  186. package/dist/utils/hooks/image-analyzer-profile-hook-injector.js.map +1 -1
  187. package/dist/utils/hooks/index.d.ts +2 -1
  188. package/dist/utils/hooks/index.d.ts.map +1 -1
  189. package/dist/utils/hooks/index.js +14 -7
  190. package/dist/utils/hooks/index.js.map +1 -1
  191. package/dist/utils/image-analysis/claude-tool-args.d.ts +6 -0
  192. package/dist/utils/image-analysis/claude-tool-args.d.ts.map +1 -0
  193. package/dist/utils/image-analysis/claude-tool-args.js +65 -0
  194. package/dist/utils/image-analysis/claude-tool-args.js.map +1 -0
  195. package/dist/utils/image-analysis/index.d.ts +4 -0
  196. package/dist/utils/image-analysis/index.d.ts.map +1 -1
  197. package/dist/utils/image-analysis/index.js +20 -1
  198. package/dist/utils/image-analysis/index.js.map +1 -1
  199. package/dist/utils/image-analysis/mcp-installer.d.ts +18 -0
  200. package/dist/utils/image-analysis/mcp-installer.d.ts.map +1 -0
  201. package/dist/utils/image-analysis/mcp-installer.js +447 -0
  202. package/dist/utils/image-analysis/mcp-installer.js.map +1 -0
  203. package/dist/web-server/routes/account-routes.d.ts.map +1 -1
  204. package/dist/web-server/routes/account-routes.js +14 -2
  205. package/dist/web-server/routes/account-routes.js.map +1 -1
  206. package/dist/web-server/routes/cliproxy-auth-routes.d.ts.map +1 -1
  207. package/dist/web-server/routes/cliproxy-auth-routes.js +80 -6
  208. package/dist/web-server/routes/cliproxy-auth-routes.js.map +1 -1
  209. package/dist/web-server/routes/image-analysis-routes.d.ts.map +1 -1
  210. package/dist/web-server/routes/image-analysis-routes.js +30 -5
  211. package/dist/web-server/routes/image-analysis-routes.js.map +1 -1
  212. package/lib/hooks/image-analysis-runtime.cjs +469 -0
  213. package/lib/hooks/image-analyzer-transformer.cjs +27 -418
  214. package/lib/hooks/websearch-transformer.cjs +37 -2
  215. package/lib/mcp/ccs-image-analysis-server.cjs +440 -0
  216. package/package.json +1 -1
  217. package/scripts/completion/README.md +55 -131
  218. package/scripts/completion/ccs.bash +22 -190
  219. package/scripts/completion/ccs.fish +19 -245
  220. package/scripts/completion/ccs.ps1 +37 -427
  221. package/scripts/completion/ccs.zsh +27 -305
  222. package/scripts/github/normalize-ai-review-output.mjs +95 -33
  223. package/dist/ui/assets/accounts-BHEYnq6b.js +0 -1
  224. package/dist/ui/assets/cliproxy-control-panel-Zax_m1AC.js +0 -1
  225. package/dist/ui/assets/icons-CeH5899d.js +0 -1
  226. package/dist/ui/assets/index-B6SrL1O-.css +0 -1
  227. package/dist/ui/assets/index-Corv1lSo.js +0 -69
@@ -0,0 +1,298 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.uniqueStrings = exports.getPublicRootCommandTokens = exports.getAllRootCommandTokens = exports.getPublicRootCommands = exports.COPILOT_COMPLETION_SUBCOMMANDS = exports.CURSOR_COMPLETION_SUBCOMMANDS = exports.COMMAND_FLAG_SUGGESTIONS = exports.PROVIDER_FLAGS = exports.CLEANUP_FLAGS = exports.MIGRATE_FLAGS = exports.TOKENS_FLAGS = exports.DOCKER_SUBCOMMANDS = exports.CONFIG_SUBCOMMANDS = exports.CLIPROXY_SUBCOMMANDS = exports.API_SUBCOMMANDS = exports.AUTH_SUBCOMMANDS = exports.ROOT_COMMAND_FLAGS = exports.ROOT_COMPATIBLE_ALIAS_EXAMPLES = exports.ROOT_PROFILE_EXAMPLES = exports.BUILTIN_PROVIDER_SHORTCUTS = exports.ROOT_COMMAND_CATALOG = exports.ROOT_HELP_TOPICS = void 0;
4
+ const constants_1 = require("../copilot/constants");
5
+ const constants_2 = require("../cursor/constants");
6
+ const provider_capabilities_1 = require("../cliproxy/provider-capabilities");
7
+ exports.ROOT_HELP_TOPICS = [
8
+ { name: 'profiles', summary: 'Account profiles, API profiles, and CLIProxy variants' },
9
+ { name: 'providers', summary: 'Built-in OAuth providers and runtime shortcuts' },
10
+ { name: 'completion', summary: 'Shell completion install, refresh, and testing' },
11
+ { name: 'targets', summary: 'Claude, Droid, and Codex target routing' },
12
+ ];
13
+ exports.ROOT_COMMAND_CATALOG = [
14
+ {
15
+ name: 'help',
16
+ summary: 'Show root help or help for a topic/command',
17
+ group: 'start',
18
+ aliases: ['--help', '-h'],
19
+ visibility: 'public',
20
+ },
21
+ {
22
+ name: 'version',
23
+ summary: 'Show version and install details',
24
+ group: 'start',
25
+ aliases: ['--version', '-v'],
26
+ visibility: 'public',
27
+ },
28
+ {
29
+ name: 'setup',
30
+ summary: 'Run the first-time setup wizard',
31
+ group: 'start',
32
+ aliases: ['--setup'],
33
+ visibility: 'public',
34
+ },
35
+ {
36
+ name: 'config',
37
+ summary: 'Open the dashboard and config subcommands',
38
+ group: 'start',
39
+ visibility: 'public',
40
+ },
41
+ {
42
+ name: 'doctor',
43
+ summary: 'Run health checks and diagnostics',
44
+ group: 'start',
45
+ aliases: ['--doctor'],
46
+ visibility: 'public',
47
+ },
48
+ {
49
+ name: 'auth',
50
+ summary: 'Manage concurrent Claude accounts',
51
+ group: 'manage',
52
+ visibility: 'public',
53
+ },
54
+ {
55
+ name: 'api',
56
+ summary: 'Create, discover, copy, export, and import API profiles',
57
+ group: 'manage',
58
+ visibility: 'public',
59
+ },
60
+ {
61
+ name: 'cliproxy',
62
+ summary: 'Manage CLIProxy variants, quota, and local lifecycle',
63
+ group: 'manage',
64
+ visibility: 'public',
65
+ },
66
+ {
67
+ name: 'env',
68
+ summary: 'Export profile env for third-party tools',
69
+ group: 'manage',
70
+ visibility: 'public',
71
+ },
72
+ {
73
+ name: 'persist',
74
+ summary: 'Write profile setup to ~/.claude/settings.json',
75
+ group: 'manage',
76
+ visibility: 'public',
77
+ },
78
+ { name: 'tokens', summary: 'Manage CLIProxy auth tokens', group: 'manage', visibility: 'public' },
79
+ {
80
+ name: 'migrate',
81
+ summary: 'Move legacy JSON config to unified YAML config',
82
+ group: 'manage',
83
+ aliases: ['--migrate'],
84
+ visibility: 'public',
85
+ },
86
+ {
87
+ name: 'cursor',
88
+ summary: 'Run or manage the Cursor bridge',
89
+ group: 'runtime',
90
+ visibility: 'public',
91
+ },
92
+ {
93
+ name: 'copilot',
94
+ summary: 'Run or manage the GitHub Copilot bridge',
95
+ group: 'runtime',
96
+ visibility: 'public',
97
+ },
98
+ {
99
+ name: 'docker',
100
+ summary: 'Deploy or operate the bundled Docker stack',
101
+ group: 'operations',
102
+ visibility: 'public',
103
+ },
104
+ {
105
+ name: 'sync',
106
+ summary: 'Sync delegation commands and skills',
107
+ group: 'operations',
108
+ aliases: ['--sync'],
109
+ visibility: 'public',
110
+ },
111
+ {
112
+ name: 'update',
113
+ summary: 'Update CCS to the latest version',
114
+ group: 'operations',
115
+ aliases: ['--update'],
116
+ visibility: 'public',
117
+ },
118
+ {
119
+ name: 'cleanup',
120
+ summary: 'Remove old CLIProxy logs',
121
+ group: 'operations',
122
+ aliases: ['--cleanup'],
123
+ visibility: 'public',
124
+ },
125
+ {
126
+ name: '--shell-completion',
127
+ summary: 'Install shell completion',
128
+ group: 'operations',
129
+ aliases: ['-sc'],
130
+ visibility: 'hidden',
131
+ },
132
+ {
133
+ name: '--install',
134
+ summary: 'Post-install bootstrap hook',
135
+ group: 'operations',
136
+ visibility: 'hidden',
137
+ },
138
+ {
139
+ name: '--uninstall',
140
+ summary: 'Post-uninstall cleanup hook',
141
+ group: 'operations',
142
+ visibility: 'hidden',
143
+ },
144
+ {
145
+ name: '__complete',
146
+ summary: 'Hidden shell completion backend',
147
+ group: 'operations',
148
+ visibility: 'hidden',
149
+ },
150
+ ];
151
+ exports.BUILTIN_PROVIDER_SHORTCUTS = provider_capabilities_1.CLIPROXY_PROVIDER_IDS.map((name) => ({
152
+ name,
153
+ summary: {
154
+ gemini: 'Google Gemini via CLIProxy OAuth',
155
+ codex: 'OpenAI Codex via CLIProxy OAuth',
156
+ agy: 'Antigravity via CLIProxy OAuth',
157
+ qwen: 'Qwen Code via CLIProxy OAuth',
158
+ iflow: 'iFlow via CLIProxy OAuth',
159
+ kiro: 'Kiro via CLIProxy OAuth',
160
+ ghcp: 'GitHub Copilot via CLIProxy OAuth',
161
+ claude: 'Claude via CLIProxy OAuth',
162
+ kimi: 'Kimi via CLIProxy OAuth',
163
+ }[name] || 'CLIProxy OAuth provider',
164
+ }));
165
+ exports.ROOT_PROFILE_EXAMPLES = [
166
+ { name: 'ccs auth create work', summary: 'Create a concurrent Claude account profile' },
167
+ { name: 'ccs api create --preset glm', summary: 'Create a GLM-backed API profile' },
168
+ {
169
+ name: 'ccs api create --preset anthropic --1m',
170
+ summary: 'Create a Claude API profile with explicit [1m]',
171
+ },
172
+ {
173
+ name: 'ccs env <profile> --format claude-extension --ide vscode',
174
+ summary: 'Export IDE extension settings',
175
+ },
176
+ ];
177
+ exports.ROOT_COMPATIBLE_ALIAS_EXAMPLES = [
178
+ { name: '--target claude|droid|codex', summary: 'Route a profile to the target runtime' },
179
+ { name: 'ccs-droid / ccsd', summary: 'Explicit Droid runtime aliases' },
180
+ { name: 'ccs-codex / ccsx / ccsxp', summary: 'Explicit Codex runtime aliases' },
181
+ ];
182
+ exports.ROOT_COMMAND_FLAGS = [
183
+ '--help',
184
+ '-h',
185
+ '--version',
186
+ '-v',
187
+ '--shell-completion',
188
+ '-sc',
189
+ ];
190
+ exports.AUTH_SUBCOMMANDS = [
191
+ 'create',
192
+ 'backup',
193
+ 'list',
194
+ 'show',
195
+ 'remove',
196
+ 'default',
197
+ 'reset-default',
198
+ ];
199
+ exports.API_SUBCOMMANDS = [
200
+ 'create',
201
+ 'list',
202
+ 'discover',
203
+ 'copy',
204
+ 'export',
205
+ 'import',
206
+ 'remove',
207
+ ];
208
+ exports.CLIPROXY_SUBCOMMANDS = [
209
+ 'create',
210
+ 'edit',
211
+ 'list',
212
+ 'remove',
213
+ 'catalog',
214
+ 'sync',
215
+ 'quota',
216
+ 'start',
217
+ 'restart',
218
+ 'status',
219
+ 'stop',
220
+ 'doctor',
221
+ 'default',
222
+ 'pause',
223
+ 'resume',
224
+ ];
225
+ exports.CONFIG_SUBCOMMANDS = ['auth', 'channels', 'image-analysis', 'thinking'];
226
+ exports.DOCKER_SUBCOMMANDS = ['up', 'down', 'status', 'update', 'logs', 'config'];
227
+ exports.TOKENS_FLAGS = [
228
+ '--show',
229
+ '--api-key',
230
+ '--secret',
231
+ '--regenerate-secret',
232
+ '--variant',
233
+ '--reset',
234
+ '--help',
235
+ '-h',
236
+ ];
237
+ exports.MIGRATE_FLAGS = ['--dry-run', '--rollback', '--list-backups', '--help'];
238
+ exports.CLEANUP_FLAGS = [
239
+ '--errors',
240
+ '--days=',
241
+ '--dry-run',
242
+ '--force',
243
+ '--help',
244
+ '-h',
245
+ ];
246
+ exports.PROVIDER_FLAGS = [
247
+ '--auth',
248
+ '--add',
249
+ '--paste-callback',
250
+ '--accounts',
251
+ '--use',
252
+ '--config',
253
+ '--thinking',
254
+ '--effort',
255
+ '--1m',
256
+ '--no-1m',
257
+ '--logout',
258
+ '--headless',
259
+ '--port-forward',
260
+ '--help',
261
+ '-h',
262
+ ];
263
+ exports.COMMAND_FLAG_SUGGESTIONS = {
264
+ '--shell-completion': ['--bash', '--zsh', '--fish', '--powershell', '--force', '-f'],
265
+ auth: ['--help', '-h'],
266
+ api: ['--help', '-h'],
267
+ cleanup: exports.CLEANUP_FLAGS,
268
+ config: ['--help', '-h', '--port', '-p', '--host', '-H', '--dev'],
269
+ cursor: ['--help', '-h'],
270
+ doctor: ['--fix', '-f', '--help', '-h'],
271
+ docker: ['--help', '-h', '--host'],
272
+ env: ['--format', '--shell', '--ide', '--help', '-h'],
273
+ migrate: exports.MIGRATE_FLAGS,
274
+ tokens: exports.TOKENS_FLAGS,
275
+ update: ['--force', '--beta', '--dev', '--help', '-h'],
276
+ };
277
+ exports.CURSOR_COMPLETION_SUBCOMMANDS = [...constants_2.CURSOR_SUBCOMMANDS];
278
+ exports.COPILOT_COMPLETION_SUBCOMMANDS = [...constants_1.COPILOT_SUBCOMMANDS, 'help'];
279
+ function getPublicRootCommands() {
280
+ return exports.ROOT_COMMAND_CATALOG.filter((entry) => entry.visibility === 'public');
281
+ }
282
+ exports.getPublicRootCommands = getPublicRootCommands;
283
+ function getAllRootCommandTokens() {
284
+ return uniqueStrings(exports.ROOT_COMMAND_CATALOG.flatMap((entry) => [entry.name, ...(entry.aliases || [])]));
285
+ }
286
+ exports.getAllRootCommandTokens = getAllRootCommandTokens;
287
+ function getPublicRootCommandTokens() {
288
+ return uniqueStrings(exports.ROOT_COMMAND_CATALOG.filter((entry) => entry.visibility === 'public').flatMap((entry) => [
289
+ entry.name,
290
+ ...(entry.aliases || []),
291
+ ]));
292
+ }
293
+ exports.getPublicRootCommandTokens = getPublicRootCommandTokens;
294
+ function uniqueStrings(values) {
295
+ return [...new Set(values.filter(Boolean))].sort((left, right) => left.localeCompare(right));
296
+ }
297
+ exports.uniqueStrings = uniqueStrings;
298
+ //# sourceMappingURL=command-catalog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-catalog.js","sourceRoot":"","sources":["../../src/commands/command-catalog.ts"],"names":[],"mappings":";;;AAAA,oDAA2D;AAC3D,mDAAyD;AACzD,6EAA0E;AAsB7D,QAAA,gBAAgB,GAA8B;IACzD,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,uDAAuD,EAAE;IACtF,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,gDAAgD,EAAE;IAChF,EAAE,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,gDAAgD,EAAE;IACjF,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,yCAAyC,EAAE;CAC/D,CAAC;AAEE,QAAA,oBAAoB,GAAgC;IAC/D;QACE,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,4CAA4C;QACrD,KAAK,EAAE,OAAO;QACd,OAAO,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC;QACzB,UAAU,EAAE,QAAQ;KACrB;IACD;QACE,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,kCAAkC;QAC3C,KAAK,EAAE,OAAO;QACd,OAAO,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC;QAC5B,UAAU,EAAE,QAAQ;KACrB;IACD;QACE,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,iCAAiC;QAC1C,KAAK,EAAE,OAAO;QACd,OAAO,EAAE,CAAC,SAAS,CAAC;QACpB,UAAU,EAAE,QAAQ;KACrB;IACD;QACE,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,2CAA2C;QACpD,KAAK,EAAE,OAAO;QACd,UAAU,EAAE,QAAQ;KACrB;IACD;QACE,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,mCAAmC;QAC5C,KAAK,EAAE,OAAO;QACd,OAAO,EAAE,CAAC,UAAU,CAAC;QACrB,UAAU,EAAE,QAAQ;KACrB;IACD;QACE,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,mCAAmC;QAC5C,KAAK,EAAE,QAAQ;QACf,UAAU,EAAE,QAAQ;KACrB;IACD;QACE,IAAI,EAAE,KAAK;QACX,OAAO,EAAE,yDAAyD;QAClE,KAAK,EAAE,QAAQ;QACf,UAAU,EAAE,QAAQ;KACrB;IACD;QACE,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,sDAAsD;QAC/D,KAAK,EAAE,QAAQ;QACf,UAAU,EAAE,QAAQ;KACrB;IACD;QACE,IAAI,EAAE,KAAK;QACX,OAAO,EAAE,0CAA0C;QACnD,KAAK,EAAE,QAAQ;QACf,UAAU,EAAE,QAAQ;KACrB;IACD;QACE,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,gDAAgD;QACzD,KAAK,EAAE,QAAQ;QACf,UAAU,EAAE,QAAQ;KACrB;IACD,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,6BAA6B,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE;IACjG;QACE,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,gDAAgD;QACzD,KAAK,EAAE,QAAQ;QACf,OAAO,EAAE,CAAC,WAAW,CAAC;QACtB,UAAU,EAAE,QAAQ;KACrB;IACD;QACE,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,iCAAiC;QAC1C,KAAK,EAAE,SAAS;QAChB,UAAU,EAAE,QAAQ;KACrB;IACD;QACE,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,yCAAyC;QAClD,KAAK,EAAE,SAAS;QAChB,UAAU,EAAE,QAAQ;KACrB;IACD;QACE,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,4CAA4C;QACrD,KAAK,EAAE,YAAY;QACnB,UAAU,EAAE,QAAQ;KACrB;IACD;QACE,IAAI,EAAE,MAAM;QACZ,OAAO,EAAE,qCAAqC;QAC9C,KAAK,EAAE,YAAY;QACnB,OAAO,EAAE,CAAC,QAAQ,CAAC;QACnB,UAAU,EAAE,QAAQ;KACrB;IACD;QACE,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE,kCAAkC;QAC3C,KAAK,EAAE,YAAY;QACnB,OAAO,EAAE,CAAC,UAAU,CAAC;QACrB,UAAU,EAAE,QAAQ;KACrB;IACD;QACE,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,0BAA0B;QACnC,KAAK,EAAE,YAAY;QACnB,OAAO,EAAE,CAAC,WAAW,CAAC;QACtB,UAAU,EAAE,QAAQ;KACrB;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,OAAO,EAAE,0BAA0B;QACnC,KAAK,EAAE,YAAY;QACnB,OAAO,EAAE,CAAC,KAAK,CAAC;QAChB,UAAU,EAAE,QAAQ;KACrB;IACD;QACE,IAAI,EAAE,WAAW;QACjB,OAAO,EAAE,6BAA6B;QACtC,KAAK,EAAE,YAAY;QACnB,UAAU,EAAE,QAAQ;KACrB;IACD;QACE,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,6BAA6B;QACtC,KAAK,EAAE,YAAY;QACnB,UAAU,EAAE,QAAQ;KACrB;IACD;QACE,IAAI,EAAE,YAAY;QAClB,OAAO,EAAE,iCAAiC;QAC1C,KAAK,EAAE,YAAY;QACnB,UAAU,EAAE,QAAQ;KACrB;CACO,CAAC;AAEE,QAAA,0BAA0B,GAA6B,6CAAqB,CAAC,GAAG,CAC3F,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACT,IAAI;IACJ,OAAO,EACL;QACE,MAAM,EAAE,kCAAkC;QAC1C,KAAK,EAAE,iCAAiC;QACxC,GAAG,EAAE,gCAAgC;QACrC,IAAI,EAAE,8BAA8B;QACpC,KAAK,EAAE,0BAA0B;QACjC,IAAI,EAAE,yBAAyB;QAC/B,IAAI,EAAE,mCAAmC;QACzC,MAAM,EAAE,2BAA2B;QACnC,IAAI,EAAE,yBAAyB;KAChC,CAAC,IAAI,CAAC,IAAI,yBAAyB;CACvC,CAAC,CACH,CAAC;AAEW,QAAA,qBAAqB,GAA6B;IAC7D,EAAE,IAAI,EAAE,sBAAsB,EAAE,OAAO,EAAE,4CAA4C,EAAE;IACvF,EAAE,IAAI,EAAE,6BAA6B,EAAE,OAAO,EAAE,iCAAiC,EAAE;IACnF;QACE,IAAI,EAAE,wCAAwC;QAC9C,OAAO,EAAE,gDAAgD;KAC1D;IACD;QACE,IAAI,EAAE,0DAA0D;QAChE,OAAO,EAAE,+BAA+B;KACzC;CACO,CAAC;AAEE,QAAA,8BAA8B,GAA6B;IACtE,EAAE,IAAI,EAAE,6BAA6B,EAAE,OAAO,EAAE,uCAAuC,EAAE;IACzF,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,gCAAgC,EAAE;IACvE,EAAE,IAAI,EAAE,0BAA0B,EAAE,OAAO,EAAE,gCAAgC,EAAE;CACvE,CAAC;AAEE,QAAA,kBAAkB,GAAG;IAChC,QAAQ;IACR,IAAI;IACJ,WAAW;IACX,IAAI;IACJ,oBAAoB;IACpB,KAAK;CACG,CAAC;AACE,QAAA,gBAAgB,GAAG;IAC9B,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,MAAM;IACN,QAAQ;IACR,SAAS;IACT,eAAe;CACP,CAAC;AACE,QAAA,eAAe,GAAG;IAC7B,QAAQ;IACR,MAAM;IACN,UAAU;IACV,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,QAAQ;CACA,CAAC;AACE,QAAA,oBAAoB,GAAG;IAClC,QAAQ;IACR,MAAM;IACN,MAAM;IACN,QAAQ;IACR,SAAS;IACT,MAAM;IACN,OAAO;IACP,OAAO;IACP,SAAS;IACT,QAAQ;IACR,MAAM;IACN,QAAQ;IACR,SAAS;IACT,OAAO;IACP,QAAQ;CACA,CAAC;AACE,QAAA,kBAAkB,GAAG,CAAC,MAAM,EAAE,UAAU,EAAE,gBAAgB,EAAE,UAAU,CAAU,CAAC;AACjF,QAAA,kBAAkB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAU,CAAC;AACnF,QAAA,YAAY,GAAG;IAC1B,QAAQ;IACR,WAAW;IACX,UAAU;IACV,qBAAqB;IACrB,WAAW;IACX,SAAS;IACT,QAAQ;IACR,IAAI;CACI,CAAC;AACE,QAAA,aAAa,GAAG,CAAC,WAAW,EAAE,YAAY,EAAE,gBAAgB,EAAE,QAAQ,CAAU,CAAC;AACjF,QAAA,aAAa,GAAG;IAC3B,UAAU;IACV,SAAS;IACT,WAAW;IACX,SAAS;IACT,QAAQ;IACR,IAAI;CACI,CAAC;AACE,QAAA,cAAc,GAAG;IAC5B,QAAQ;IACR,OAAO;IACP,kBAAkB;IAClB,YAAY;IACZ,OAAO;IACP,UAAU;IACV,YAAY;IACZ,UAAU;IACV,MAAM;IACN,SAAS;IACT,UAAU;IACV,YAAY;IACZ,gBAAgB;IAChB,QAAQ;IACR,IAAI;CACI,CAAC;AAEE,QAAA,wBAAwB,GAAgD;IACnF,oBAAoB,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,SAAS,EAAE,IAAI,CAAC;IACpF,IAAI,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC;IACtB,GAAG,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC;IACrB,OAAO,EAAE,qBAAa;IACtB,MAAM,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC;IACjE,MAAM,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC;IACxB,MAAM,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC;IACvC,MAAM,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC;IAClC,GAAG,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC;IACrD,OAAO,EAAE,qBAAa;IACtB,MAAM,EAAE,oBAAY;IACpB,MAAM,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC;CACvD,CAAC;AAEW,QAAA,6BAA6B,GAAG,CAAC,GAAG,8BAAkB,CAAU,CAAC;AACjE,QAAA,8BAA8B,GAAG,CAAC,GAAG,+BAAmB,EAAE,MAAM,CAAU,CAAC;AAExF,SAAgB,qBAAqB;IACnC,OAAO,4BAAoB,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC;AAC/E,CAAC;AAFD,sDAEC;AAED,SAAgB,uBAAuB;IACrC,OAAO,aAAa,CAClB,4BAAoB,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,CAChF,CAAC;AACJ,CAAC;AAJD,0DAIC;AAED,SAAgB,0BAA0B;IACxC,OAAO,aAAa,CAClB,4BAAoB,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;QACvF,KAAK,CAAC,IAAI;QACV,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC;KACzB,CAAC,CACH,CAAC;AACJ,CAAC;AAPD,gEAOC;AAED,SAAgB,aAAa,CAAC,MAAyB;IACrD,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;AAC/F,CAAC;AAFD,sCAEC"}
@@ -0,0 +1,14 @@
1
+ export interface CompletionSuggestion {
2
+ value: string;
3
+ description?: string;
4
+ }
5
+ type CompletionShell = 'bash' | 'zsh' | 'fish' | 'powershell';
6
+ interface CompletionRequest {
7
+ current: string;
8
+ shell: CompletionShell;
9
+ tokensBeforeCurrent: string[];
10
+ }
11
+ export declare function getCompletionSuggestions(request: CompletionRequest): CompletionSuggestion[];
12
+ export declare function handleCompletionCommand(args: string[]): Promise<void>;
13
+ export {};
14
+ //# sourceMappingURL=completion-backend.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"completion-backend.d.ts","sourceRoot":"","sources":["../../src/commands/completion-backend.ts"],"names":[],"mappings":"AAqBA,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,KAAK,eAAe,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,YAAY,CAAC;AAE9D,UAAU,iBAAiB;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,eAAe,CAAC;IACvB,mBAAmB,EAAE,MAAM,EAAE,CAAC;CAC/B;AAuMD,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,iBAAiB,GAAG,oBAAoB,EAAE,CAE3F;AAwBD,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ3E"}
@@ -0,0 +1,208 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.handleCompletionCommand = exports.getCompletionSuggestions = void 0;
7
+ const profile_detector_1 = __importDefault(require("../auth/profile-detector"));
8
+ const command_catalog_1 = require("./command-catalog");
9
+ function suggestion(value, description) {
10
+ return { value, description };
11
+ }
12
+ function filterSuggestions(suggestions, current) {
13
+ const needle = current.trim().toLowerCase();
14
+ const deduped = [...new Map(suggestions.map((entry) => [entry.value, entry])).values()];
15
+ if (!needle)
16
+ return deduped.sort((left, right) => left.value.localeCompare(right.value));
17
+ return deduped
18
+ .filter((entry) => entry.value.toLowerCase().startsWith(needle))
19
+ .sort((left, right) => left.value.localeCompare(right.value));
20
+ }
21
+ function getDynamicProfileSuggestions() {
22
+ const detector = new profile_detector_1.default();
23
+ const profiles = detector.getAllProfiles();
24
+ return (0, command_catalog_1.uniqueStrings)([
25
+ ...profiles.settings,
26
+ ...profiles.accounts,
27
+ ...profiles.cliproxyVariants,
28
+ ]).map((value) => suggestion(value));
29
+ }
30
+ function getTopLevelSuggestions() {
31
+ return [
32
+ ...(0, command_catalog_1.getPublicRootCommandTokens)().map((value) => suggestion(value)),
33
+ ...command_catalog_1.ROOT_COMMAND_FLAGS.map((value) => suggestion(value)),
34
+ ...command_catalog_1.BUILTIN_PROVIDER_SHORTCUTS.map((entry) => suggestion(entry.name, entry.summary)),
35
+ ...getDynamicProfileSuggestions(),
36
+ ];
37
+ }
38
+ function getProfileDetector() {
39
+ return new profile_detector_1.default();
40
+ }
41
+ function getProfileNames(type) {
42
+ return getProfileDetector().getAllProfiles()[type];
43
+ }
44
+ function completeSubcommands(values, flags = ['--help', '-h']) {
45
+ return (0, command_catalog_1.uniqueStrings)([...values, ...flags]).map((value) => suggestion(value));
46
+ }
47
+ function getSuggestionsForCommand(tokensBeforeCurrent) {
48
+ const [command, subcommand] = tokensBeforeCurrent;
49
+ const lastToken = tokensBeforeCurrent[tokensBeforeCurrent.length - 1];
50
+ switch (command) {
51
+ case undefined:
52
+ return getTopLevelSuggestions();
53
+ case 'help':
54
+ return completeSubcommands(command_catalog_1.ROOT_HELP_TOPICS.map((topic) => topic.name));
55
+ case 'auth':
56
+ if (!subcommand)
57
+ return completeSubcommands(command_catalog_1.AUTH_SUBCOMMANDS);
58
+ if (subcommand === 'backup')
59
+ return completeSubcommands(['default', ...getProfileNames('accounts')], ['--json']);
60
+ if (subcommand === 'show')
61
+ return completeSubcommands(getProfileNames('accounts'), ['--json']);
62
+ if (subcommand === 'remove')
63
+ return completeSubcommands(getProfileNames('accounts'), ['--yes', '-y']);
64
+ if (subcommand === 'default')
65
+ return completeSubcommands(getProfileNames('accounts'));
66
+ if (subcommand === 'create') {
67
+ return completeSubcommands([], ['--force', '--share-context', '--context-group', '--deeper-continuity', '--bare']);
68
+ }
69
+ if (subcommand === 'list')
70
+ return completeSubcommands([], ['--verbose', '--json']);
71
+ return completeSubcommands([], command_catalog_1.COMMAND_FLAG_SUGGESTIONS.auth);
72
+ case 'api':
73
+ if (!subcommand)
74
+ return completeSubcommands(command_catalog_1.API_SUBCOMMANDS);
75
+ if (subcommand === 'create') {
76
+ return completeSubcommands([], [
77
+ '--preset',
78
+ '--cliproxy-provider',
79
+ '--base-url',
80
+ '--api-key',
81
+ '--model',
82
+ '--1m',
83
+ '--no-1m',
84
+ '--target',
85
+ '--force',
86
+ '--yes',
87
+ '-y',
88
+ ]);
89
+ }
90
+ if (subcommand === 'discover')
91
+ return completeSubcommands([], ['--register', '--json', '--force']);
92
+ if (subcommand === 'copy')
93
+ return completeSubcommands(getProfileNames('settings'), [
94
+ '--target',
95
+ '--force',
96
+ '--yes',
97
+ '-y',
98
+ ]);
99
+ if (subcommand === 'export')
100
+ return completeSubcommands(getProfileNames('settings'), ['--out', '--include-secrets']);
101
+ if (subcommand === 'import')
102
+ return completeSubcommands([], ['--name', '--yes', '-y', '--force']);
103
+ if (subcommand === 'remove')
104
+ return completeSubcommands(getProfileNames('settings'), ['--yes', '-y']);
105
+ return completeSubcommands([], command_catalog_1.COMMAND_FLAG_SUGGESTIONS.api);
106
+ case 'cliproxy':
107
+ if (!subcommand)
108
+ return completeSubcommands(command_catalog_1.CLIPROXY_SUBCOMMANDS, [
109
+ '--install',
110
+ '--latest',
111
+ '--update',
112
+ '--backend',
113
+ '--verbose',
114
+ '-v',
115
+ '--help',
116
+ '-h',
117
+ ]);
118
+ if (['remove', 'edit'].includes(subcommand)) {
119
+ return completeSubcommands(getProfileNames('cliproxyVariants'), ['--yes', '-y']);
120
+ }
121
+ if (subcommand === 'create' && lastToken === '--provider') {
122
+ return command_catalog_1.BUILTIN_PROVIDER_SHORTCUTS.map((entry) => suggestion(entry.name, entry.summary));
123
+ }
124
+ return completeSubcommands([], ['--provider', '--model', '--target', '--backend', '--force', '--yes', '-y', '--help', '-h']);
125
+ case 'config':
126
+ if (!subcommand || subcommand.startsWith('-')) {
127
+ return completeSubcommands(command_catalog_1.CONFIG_SUBCOMMANDS, command_catalog_1.COMMAND_FLAG_SUGGESTIONS.config);
128
+ }
129
+ return [];
130
+ case 'docker':
131
+ if (!subcommand || subcommand.startsWith('-')) {
132
+ return completeSubcommands(command_catalog_1.DOCKER_SUBCOMMANDS, command_catalog_1.COMMAND_FLAG_SUGGESTIONS.docker);
133
+ }
134
+ if (subcommand === 'up')
135
+ return completeSubcommands([], ['--port', '--proxy-port', '--host', '--help', '-h']);
136
+ if (subcommand === 'logs')
137
+ return completeSubcommands([], ['--follow', '--service', '--host', '--help', '-h']);
138
+ return completeSubcommands([], command_catalog_1.COMMAND_FLAG_SUGGESTIONS.docker);
139
+ case 'cursor':
140
+ return completeSubcommands(command_catalog_1.CURSOR_COMPLETION_SUBCOMMANDS);
141
+ case 'copilot':
142
+ return completeSubcommands(command_catalog_1.COPILOT_COMPLETION_SUBCOMMANDS);
143
+ case 'env':
144
+ if (lastToken === '--format')
145
+ return completeSubcommands(['openai', 'anthropic', 'raw', 'claude-extension']);
146
+ if (lastToken === '--shell')
147
+ return completeSubcommands(['auto', 'bash', 'zsh', 'fish', 'powershell']);
148
+ if (lastToken === '--ide')
149
+ return completeSubcommands(['vscode', 'cursor', 'windsurf']);
150
+ return completeSubcommands((0, command_catalog_1.uniqueStrings)([
151
+ ...getProfileNames('settings'),
152
+ ...getProfileNames('accounts'),
153
+ ...command_catalog_1.BUILTIN_PROVIDER_SHORTCUTS.map((entry) => entry.name),
154
+ ]), command_catalog_1.COMMAND_FLAG_SUGGESTIONS.env);
155
+ case 'tokens':
156
+ if (lastToken === '--variant')
157
+ return completeSubcommands(getProfileNames('cliproxyVariants'));
158
+ return completeSubcommands([], command_catalog_1.TOKENS_FLAGS);
159
+ case 'migrate':
160
+ return completeSubcommands([], command_catalog_1.MIGRATE_FLAGS);
161
+ case 'cleanup':
162
+ return completeSubcommands([], command_catalog_1.CLEANUP_FLAGS);
163
+ case '--shell-completion':
164
+ case '-sc':
165
+ return completeSubcommands([], ['--bash', '--zsh', '--fish', '--powershell', '--force', '-f']);
166
+ default:
167
+ if (command_catalog_1.BUILTIN_PROVIDER_SHORTCUTS.some((entry) => entry.name === command)) {
168
+ if (command === 'agy')
169
+ return completeSubcommands([], [...command_catalog_1.PROVIDER_FLAGS, '--accept-agr-risk']);
170
+ if (command === 'kiro') {
171
+ return completeSubcommands([], [...command_catalog_1.PROVIDER_FLAGS, '--kiro-auth-method', '--import', '--incognito']);
172
+ }
173
+ return completeSubcommands([], command_catalog_1.PROVIDER_FLAGS);
174
+ }
175
+ return completeSubcommands([], command_catalog_1.COMMAND_FLAG_SUGGESTIONS[command] || []);
176
+ }
177
+ }
178
+ function getCompletionSuggestions(request) {
179
+ return filterSuggestions(getSuggestionsForCommand(request.tokensBeforeCurrent), request.current);
180
+ }
181
+ exports.getCompletionSuggestions = getCompletionSuggestions;
182
+ function parseCompletionArgs(args) {
183
+ const shellIndex = args.indexOf('--shell');
184
+ const currentIndex = args.indexOf('--current');
185
+ const separatorIndex = args.indexOf('--');
186
+ const shell = (shellIndex !== -1 ? args[shellIndex + 1] : 'bash');
187
+ const current = currentIndex !== -1 ? args[currentIndex + 1] || '' : '';
188
+ const tokensBeforeCurrent = separatorIndex === -1 ? [] : args.slice(separatorIndex + 1);
189
+ return { shell, current, tokensBeforeCurrent };
190
+ }
191
+ function formatForShell(shell, suggestions) {
192
+ if (shell === 'fish' || shell === 'powershell') {
193
+ return suggestions.map((entry) => entry.description ? `${entry.value}\t${entry.description}` : entry.value);
194
+ }
195
+ return suggestions.map((entry) => entry.value);
196
+ }
197
+ async function handleCompletionCommand(args) {
198
+ try {
199
+ const request = parseCompletionArgs(args);
200
+ const suggestions = getCompletionSuggestions(request);
201
+ process.stdout.write(formatForShell(request.shell, suggestions).join('\n'));
202
+ }
203
+ catch {
204
+ // Completion must fail closed and quietly so shell TAB does not surface stack traces.
205
+ }
206
+ }
207
+ exports.handleCompletionCommand = handleCompletionCommand;
208
+ //# sourceMappingURL=completion-backend.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"completion-backend.js","sourceRoot":"","sources":["../../src/commands/completion-backend.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"cursor-command-display.d.ts","sourceRoot":"","sources":["../../src/commands/cursor-command-display.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACzF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AASnE,wBAAgB,gBAAgB,IAAI,MAAM,CA8BzC;AAED,wBAAgB,kBAAkB,CAChC,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,gBAAgB,EAC5B,YAAY,EAAE,kBAAkB,GAC/B,IAAI,CAoDN;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAcpF"}
1
+ {"version":3,"file":"cursor-command-display.d.ts","sourceRoot":"","sources":["../../src/commands/cursor-command-display.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACzF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAUnE,wBAAgB,gBAAgB,IAAI,MAAM,CAmCzC;AAED,wBAAgB,kBAAkB,CAChC,YAAY,EAAE,YAAY,EAC1B,UAAU,EAAE,gBAAgB,EAC5B,YAAY,EAAE,kBAAkB,GAC/B,IAAI,CAoEN;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAcpF"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.renderCursorModels = exports.renderCursorStatus = exports.renderCursorHelp = void 0;
4
+ const config_manager_1 = require("../utils/config-manager");
4
5
  const ui_1 = require("../utils/ui");
5
6
  function printLines(lines) {
6
7
  for (const line of lines) {
@@ -11,7 +12,7 @@ function renderCursorHelp() {
11
12
  printLines([
12
13
  'Cursor IDE Integration',
13
14
  '',
14
- 'Usage: ccs cursor <subcommand> [options]',
15
+ 'Usage: ccs cursor <subcommand>',
15
16
  '',
16
17
  'Subcommands:',
17
18
  ' auth Import Cursor IDE authentication token',
@@ -23,6 +24,9 @@ function renderCursorHelp() {
23
24
  ' disable Disable cursor integration in unified config',
24
25
  ' help Show this help message',
25
26
  '',
27
+ 'Runtime entry:',
28
+ ' ccs cursor [claude args] # Run Claude via the local Cursor proxy',
29
+ '',
26
30
  'Auth options:',
27
31
  ' ccs cursor auth # Auto-detect from Cursor SQLite',
28
32
  ' ccs cursor auth --manual --token <t> --machine-id <id>',
@@ -31,6 +35,8 @@ function renderCursorHelp() {
31
35
  ' 1. ccs cursor enable # Enable integration',
32
36
  ' 2. ccs cursor auth # Import Cursor IDE token',
33
37
  ' 3. ccs cursor start # Start daemon',
38
+ ' 4. ccs cursor "task" # Run Claude through Cursor',
39
+ ' 5. ccs cursor status # Inspect auth/daemon wiring',
34
40
  '',
35
41
  'Or use the web UI: ccs config -> Cursor page',
36
42
  '',
@@ -39,6 +45,9 @@ function renderCursorHelp() {
39
45
  }
40
46
  exports.renderCursorHelp = renderCursorHelp;
41
47
  function renderCursorStatus(cursorConfig, authStatus, daemonStatus) {
48
+ const localBaseUrl = `http://127.0.0.1:${cursorConfig.port}`;
49
+ const dirDisplay = (0, config_manager_1.getCcsDirDisplay)();
50
+ const isReady = cursorConfig.enabled && authStatus.authenticated && !authStatus.expired && daemonStatus.running;
42
51
  console.log('Cursor IDE Status');
43
52
  console.log('─────────────────');
44
53
  console.log('');
@@ -65,12 +74,22 @@ function renderCursorStatus(cursorConfig, authStatus, daemonStatus) {
65
74
  console.log(` Auto-start: ${cursorConfig.auto_start ? 'Yes' : 'No'}`);
66
75
  console.log(` Ghost mode: ${cursorConfig.ghost_mode ? 'On' : 'Off'}`);
67
76
  console.log('');
68
- if (cursorConfig.enabled &&
69
- authStatus.authenticated &&
70
- !authStatus.expired &&
71
- daemonStatus.running) {
77
+ console.log('Runtime:');
78
+ console.log(` OpenAI base: ${localBaseUrl}/v1`);
79
+ console.log(` Anthropic base: ${localBaseUrl}`);
80
+ console.log(` Chat route: ${localBaseUrl}/v1/chat/completions`);
81
+ console.log(` Messages route: ${localBaseUrl}/v1/messages`);
82
+ console.log(` Models route: ${localBaseUrl}/v1/models`);
83
+ console.log('');
84
+ console.log('Client setup:');
85
+ console.log(` Raw settings: ${dirDisplay}/cursor.settings.json`);
86
+ console.log(' Runtime entry: ccs cursor [claude args]');
87
+ console.log(' Status command: ccs cursor status');
88
+ console.log(' Help command: ccs cursor help');
89
+ if (isReady) {
72
90
  return;
73
91
  }
92
+ console.log('');
74
93
  console.log('Next steps:');
75
94
  if (!cursorConfig.enabled) {
76
95
  console.log(' - Enable: ccs cursor enable');
@@ -81,6 +100,7 @@ function renderCursorStatus(cursorConfig, authStatus, daemonStatus) {
81
100
  if (!daemonStatus.running) {
82
101
  console.log(' - Start: ccs cursor start');
83
102
  }
103
+ console.log(' - Help: ccs cursor help');
84
104
  }
85
105
  exports.renderCursorStatus = renderCursorStatus;
86
106
  function renderCursorModels(models, defaultModel) {