@cloudcli-ai/cloudcli 1.32.0 → 1.33.1

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 (180) hide show
  1. package/README.de.md +1 -1
  2. package/README.ko.md +1 -1
  3. package/README.md +1 -1
  4. package/README.ru.md +1 -1
  5. package/README.tr.md +1 -1
  6. package/README.zh-CN.md +1 -1
  7. package/dist/api-docs.html +6 -7
  8. package/dist/assets/index-BsyL_xmI.js +1348 -0
  9. package/dist/assets/index-FSP9Hz7V.css +32 -0
  10. package/dist/index.html +2 -2
  11. package/dist/modelConstants.js +848 -0
  12. package/dist-server/server/claude-sdk.js +57 -34
  13. package/dist-server/server/claude-sdk.js.map +1 -1
  14. package/dist-server/server/cursor-cli.js +6 -3
  15. package/dist-server/server/cursor-cli.js.map +1 -1
  16. package/dist-server/server/gemini-cli.js +3 -1
  17. package/dist-server/server/gemini-cli.js.map +1 -1
  18. package/dist-server/server/gemini-response-handler.js +34 -0
  19. package/dist-server/server/gemini-response-handler.js.map +1 -1
  20. package/dist-server/server/index.js +234 -67
  21. package/dist-server/server/index.js.map +1 -1
  22. package/dist-server/server/modules/database/index.js +1 -0
  23. package/dist-server/server/modules/database/index.js.map +1 -1
  24. package/dist-server/server/modules/projects/services/project-management.service.js +1 -0
  25. package/dist-server/server/modules/projects/services/project-management.service.js.map +1 -1
  26. package/dist-server/server/modules/projects/services/projects-with-sessions-fetch.service.js +4 -0
  27. package/dist-server/server/modules/projects/services/projects-with-sessions-fetch.service.js.map +1 -1
  28. package/dist-server/server/modules/providers/list/claude/claude-auth.provider.js +28 -6
  29. package/dist-server/server/modules/providers/list/claude/claude-auth.provider.js.map +1 -1
  30. package/dist-server/server/modules/providers/list/claude/claude-models.provider.js +146 -0
  31. package/dist-server/server/modules/providers/list/claude/claude-models.provider.js.map +1 -0
  32. package/dist-server/server/modules/providers/list/claude/claude.provider.js +2 -0
  33. package/dist-server/server/modules/providers/list/claude/claude.provider.js.map +1 -1
  34. package/dist-server/server/modules/providers/list/codex/codex-models.provider.js +84 -0
  35. package/dist-server/server/modules/providers/list/codex/codex-models.provider.js.map +1 -0
  36. package/dist-server/server/modules/providers/list/codex/codex-skills.provider.js +7 -39
  37. package/dist-server/server/modules/providers/list/codex/codex-skills.provider.js.map +1 -1
  38. package/dist-server/server/modules/providers/list/codex/codex.provider.js +2 -0
  39. package/dist-server/server/modules/providers/list/codex/codex.provider.js.map +1 -1
  40. package/dist-server/server/modules/providers/list/cursor/cursor-models.provider.js +754 -0
  41. package/dist-server/server/modules/providers/list/cursor/cursor-models.provider.js.map +1 -0
  42. package/dist-server/server/modules/providers/list/cursor/cursor-sessions.provider.js +2 -15
  43. package/dist-server/server/modules/providers/list/cursor/cursor-sessions.provider.js.map +1 -1
  44. package/dist-server/server/modules/providers/list/cursor/cursor.provider.js +2 -0
  45. package/dist-server/server/modules/providers/list/cursor/cursor.provider.js.map +1 -1
  46. package/dist-server/server/modules/providers/list/gemini/gemini-models.provider.js +27 -0
  47. package/dist-server/server/modules/providers/list/gemini/gemini-models.provider.js.map +1 -0
  48. package/dist-server/server/modules/providers/list/gemini/gemini-sessions.provider.js +3 -9
  49. package/dist-server/server/modules/providers/list/gemini/gemini-sessions.provider.js.map +1 -1
  50. package/dist-server/server/modules/providers/list/gemini/gemini.provider.js +2 -0
  51. package/dist-server/server/modules/providers/list/gemini/gemini.provider.js.map +1 -1
  52. package/dist-server/server/modules/providers/list/opencode/opencode-auth.provider.js +92 -0
  53. package/dist-server/server/modules/providers/list/opencode/opencode-auth.provider.js.map +1 -0
  54. package/dist-server/server/modules/providers/list/opencode/opencode-mcp.provider.js +181 -0
  55. package/dist-server/server/modules/providers/list/opencode/opencode-mcp.provider.js.map +1 -0
  56. package/dist-server/server/modules/providers/list/opencode/opencode-models.provider.js +267 -0
  57. package/dist-server/server/modules/providers/list/opencode/opencode-models.provider.js.map +1 -0
  58. package/dist-server/server/modules/providers/list/opencode/opencode-session-synchronizer.provider.js +115 -0
  59. package/dist-server/server/modules/providers/list/opencode/opencode-session-synchronizer.provider.js.map +1 -0
  60. package/dist-server/server/modules/providers/list/opencode/opencode-sessions.provider.js +410 -0
  61. package/dist-server/server/modules/providers/list/opencode/opencode-sessions.provider.js.map +1 -0
  62. package/dist-server/server/modules/providers/list/opencode/opencode-skills.provider.js +62 -0
  63. package/dist-server/server/modules/providers/list/opencode/opencode-skills.provider.js.map +1 -0
  64. package/dist-server/server/modules/providers/list/opencode/opencode.provider.js +19 -0
  65. package/dist-server/server/modules/providers/list/opencode/opencode.provider.js.map +1 -0
  66. package/dist-server/server/modules/providers/provider.registry.js +2 -0
  67. package/dist-server/server/modules/providers/provider.registry.js.map +1 -1
  68. package/dist-server/server/modules/providers/provider.routes.js +42 -1
  69. package/dist-server/server/modules/providers/provider.routes.js.map +1 -1
  70. package/dist-server/server/modules/providers/services/mcp.service.js +1 -9
  71. package/dist-server/server/modules/providers/services/mcp.service.js.map +1 -1
  72. package/dist-server/server/modules/providers/services/provider-models.service.js +226 -0
  73. package/dist-server/server/modules/providers/services/provider-models.service.js.map +1 -0
  74. package/dist-server/server/modules/providers/services/session-synchronizer.service.js +1 -0
  75. package/dist-server/server/modules/providers/services/session-synchronizer.service.js.map +1 -1
  76. package/dist-server/server/modules/providers/services/sessions-watcher.service.js +7 -0
  77. package/dist-server/server/modules/providers/services/sessions-watcher.service.js.map +1 -1
  78. package/dist-server/server/modules/providers/shared/base/abstract.provider.js.map +1 -1
  79. package/dist-server/server/modules/providers/tests/mcp.test.js +73 -6
  80. package/dist-server/server/modules/providers/tests/mcp.test.js.map +1 -1
  81. package/dist-server/server/modules/providers/tests/opencode-models.test.js +66 -0
  82. package/dist-server/server/modules/providers/tests/opencode-models.test.js.map +1 -0
  83. package/dist-server/server/modules/providers/tests/opencode-sessions.test.js +262 -0
  84. package/dist-server/server/modules/providers/tests/opencode-sessions.test.js.map +1 -0
  85. package/dist-server/server/modules/providers/tests/provider-models.service.test.js +298 -0
  86. package/dist-server/server/modules/providers/tests/provider-models.service.test.js.map +1 -0
  87. package/dist-server/server/modules/providers/tests/skills.test.js +33 -0
  88. package/dist-server/server/modules/providers/tests/skills.test.js.map +1 -1
  89. package/dist-server/server/modules/websocket/services/chat-websocket.service.js +12 -1
  90. package/dist-server/server/modules/websocket/services/chat-websocket.service.js.map +1 -1
  91. package/dist-server/server/modules/websocket/services/plugin-websocket-proxy.service.js +4 -4
  92. package/dist-server/server/modules/websocket/services/plugin-websocket-proxy.service.js.map +1 -1
  93. package/dist-server/server/modules/websocket/services/shell-websocket.service.js +18 -3
  94. package/dist-server/server/modules/websocket/services/shell-websocket.service.js.map +1 -1
  95. package/dist-server/server/modules/websocket/services/websocket-auth.service.js +6 -2
  96. package/dist-server/server/modules/websocket/services/websocket-auth.service.js.map +1 -1
  97. package/dist-server/server/modules/websocket/services/websocket-server.service.js +18 -0
  98. package/dist-server/server/modules/websocket/services/websocket-server.service.js.map +1 -1
  99. package/dist-server/server/openai-codex.js +32 -4
  100. package/dist-server/server/openai-codex.js.map +1 -1
  101. package/dist-server/server/opencode-cli.js +287 -0
  102. package/dist-server/server/opencode-cli.js.map +1 -0
  103. package/dist-server/server/opencode-cli.test.js +84 -0
  104. package/dist-server/server/opencode-cli.test.js.map +1 -0
  105. package/dist-server/server/routes/agent.js +21 -8
  106. package/dist-server/server/routes/agent.js.map +1 -1
  107. package/dist-server/server/routes/commands.js +202 -209
  108. package/dist-server/server/routes/commands.js.map +1 -1
  109. package/dist-server/server/routes/cursor.js +2 -2
  110. package/dist-server/server/routes/cursor.js.map +1 -1
  111. package/dist-server/server/routes/settings.js +0 -10
  112. package/dist-server/server/routes/settings.js.map +1 -1
  113. package/dist-server/server/routes/tests/commands.test.js +76 -0
  114. package/dist-server/server/routes/tests/commands.test.js.map +1 -0
  115. package/dist-server/server/shared/utils.js +286 -0
  116. package/dist-server/server/shared/utils.js.map +1 -1
  117. package/package.json +5 -2
  118. package/public/api-docs.html +878 -0
  119. package/public/modelConstants.js +848 -0
  120. package/server/claude-sdk.js +64 -35
  121. package/server/cursor-cli.js +6 -3
  122. package/server/gemini-cli.js +7 -1
  123. package/server/gemini-response-handler.js +38 -0
  124. package/server/index.js +259 -75
  125. package/server/modules/database/index.ts +1 -0
  126. package/server/modules/projects/services/project-management.service.ts +2 -0
  127. package/server/modules/projects/services/projects-with-sessions-fetch.service.ts +7 -1
  128. package/server/modules/providers/README.md +11 -3
  129. package/server/modules/providers/list/claude/claude-auth.provider.ts +34 -6
  130. package/server/modules/providers/list/claude/claude-models.provider.ts +196 -0
  131. package/server/modules/providers/list/claude/claude.provider.ts +3 -0
  132. package/server/modules/providers/list/codex/codex-models.provider.ts +125 -0
  133. package/server/modules/providers/list/codex/codex-skills.provider.ts +10 -50
  134. package/server/modules/providers/list/codex/codex.provider.ts +3 -0
  135. package/server/modules/providers/list/cursor/cursor-models.provider.ts +820 -0
  136. package/server/modules/providers/list/cursor/cursor-sessions.provider.ts +7 -20
  137. package/server/modules/providers/list/cursor/cursor.provider.ts +3 -0
  138. package/server/modules/providers/list/gemini/gemini-models.provider.ts +42 -0
  139. package/server/modules/providers/list/gemini/gemini-sessions.provider.ts +3 -10
  140. package/server/modules/providers/list/gemini/gemini.provider.ts +3 -0
  141. package/server/modules/providers/list/opencode/opencode-auth.provider.ts +111 -0
  142. package/server/modules/providers/list/opencode/opencode-mcp.provider.ts +228 -0
  143. package/server/modules/providers/list/opencode/opencode-models.provider.ts +339 -0
  144. package/server/modules/providers/list/opencode/opencode-session-synchronizer.provider.ts +157 -0
  145. package/server/modules/providers/list/opencode/opencode-sessions.provider.ts +506 -0
  146. package/server/modules/providers/list/opencode/opencode-skills.provider.ts +78 -0
  147. package/server/modules/providers/list/opencode/opencode.provider.ts +27 -0
  148. package/server/modules/providers/provider.registry.ts +2 -0
  149. package/server/modules/providers/provider.routes.ts +62 -2
  150. package/server/modules/providers/services/mcp.service.ts +1 -12
  151. package/server/modules/providers/services/provider-models.service.ts +358 -0
  152. package/server/modules/providers/services/session-synchronizer.service.ts +1 -0
  153. package/server/modules/providers/services/sessions-watcher.service.ts +8 -0
  154. package/server/modules/providers/shared/base/abstract.provider.ts +2 -0
  155. package/server/modules/providers/tests/mcp.test.ts +93 -6
  156. package/server/modules/providers/tests/opencode-models.test.ts +73 -0
  157. package/server/modules/providers/tests/opencode-sessions.test.ts +334 -0
  158. package/server/modules/providers/tests/provider-models.service.test.ts +349 -0
  159. package/server/modules/providers/tests/skills.test.ts +66 -0
  160. package/server/modules/websocket/services/chat-websocket.service.ts +15 -1
  161. package/server/modules/websocket/services/plugin-websocket-proxy.service.ts +4 -4
  162. package/server/modules/websocket/services/shell-websocket.service.ts +22 -2
  163. package/server/modules/websocket/services/websocket-auth.service.ts +7 -2
  164. package/server/modules/websocket/services/websocket-server.service.ts +18 -0
  165. package/server/openai-codex.js +41 -4
  166. package/server/opencode-cli.js +336 -0
  167. package/server/opencode-cli.test.js +95 -0
  168. package/server/routes/agent.js +22 -8
  169. package/server/routes/commands.js +254 -233
  170. package/server/routes/cursor.js +2 -2
  171. package/server/routes/settings.js +1 -10
  172. package/server/routes/tests/commands.test.js +82 -0
  173. package/server/shared/interfaces.ts +45 -0
  174. package/server/shared/types.ts +88 -1
  175. package/server/shared/utils.ts +384 -0
  176. package/dist/assets/index-AaSE7-3t.js +0 -1336
  177. package/dist/assets/index-CKaku72N.css +0 -32
  178. package/dist-server/shared/modelConstants.js +0 -99
  179. package/dist-server/shared/modelConstants.js.map +0 -1
  180. package/shared/modelConstants.js +0 -107
@@ -0,0 +1,848 @@
1
+ /**
2
+ * Documentation Model Definitions
3
+ * Used by README links and the public API docs.
4
+ */
5
+
6
+ /**
7
+ * Claude (Anthropic) Models
8
+ */
9
+ export const CLAUDE_MODELS = {
10
+ OPTIONS: [
11
+ {
12
+ value: "default",
13
+ label: "Default (recommended)",
14
+ description:
15
+ "Use the default model (currently Opus 4.8 (1M context)) · $5/$25 per Mtok",
16
+ },
17
+ {
18
+ value: "sonnet",
19
+ label: "Sonnet",
20
+ description: "Sonnet 4.6 · Best for everyday tasks · $3/$15 per Mtok",
21
+ },
22
+ {
23
+ value: "sonnet[1m]",
24
+ label: "Sonnet (1M context)",
25
+ description: "Sonnet 4.6 for long sessions · $3/$15 per Mtok",
26
+ },
27
+ {
28
+ value: "opus[1m]",
29
+ label: "Opus 4.8 (1M context)",
30
+ description:
31
+ "Opus 4.8 with 1M context · Most capable for complex work · $5/$25 per Mtok",
32
+ },
33
+ {
34
+ value: "haiku",
35
+ label: "Haiku",
36
+ description: "Haiku 4.5 · Fastest for quick answers · $1/$5 per Mtok",
37
+ },
38
+ ],
39
+
40
+ DEFAULT: "default",
41
+ };
42
+
43
+ /**
44
+ * Cursor Models
45
+ */
46
+ export const CURSOR_MODELS = {
47
+ OPTIONS: [
48
+ { value: "auto", label: "auto", description: "Auto" },
49
+ {
50
+ value: "composer-2-fast",
51
+ label: "composer-2-fast",
52
+ description: "Composer 2 Fast",
53
+ },
54
+ {
55
+ value: "composer-2",
56
+ label: "composer-2",
57
+ description: "Composer 2",
58
+ },
59
+ {
60
+ value: "gpt-5.3-codex-low",
61
+ label: "gpt-5.3-codex-low",
62
+ description: "Codex 5.3 Low",
63
+ },
64
+ {
65
+ value: "gpt-5.3-codex-low-fast",
66
+ label: "gpt-5.3-codex-low-fast",
67
+ description: "Codex 5.3 Low Fast",
68
+ },
69
+ {
70
+ value: "gpt-5.3-codex",
71
+ label: "gpt-5.3-codex",
72
+ description: "Codex 5.3",
73
+ },
74
+ {
75
+ value: "gpt-5.3-codex-fast",
76
+ label: "gpt-5.3-codex-fast",
77
+ description: "Codex 5.3 Fast",
78
+ },
79
+ {
80
+ value: "gpt-5.3-codex-high",
81
+ label: "gpt-5.3-codex-high",
82
+ description: "Codex 5.3 High",
83
+ },
84
+ {
85
+ value: "gpt-5.3-codex-high-fast",
86
+ label: "gpt-5.3-codex-high-fast",
87
+ description: "Codex 5.3 High Fast",
88
+ },
89
+ {
90
+ value: "gpt-5.3-codex-xhigh",
91
+ label: "gpt-5.3-codex-xhigh",
92
+ description: "Codex 5.3 Extra High",
93
+ },
94
+ {
95
+ value: "gpt-5.3-codex-xhigh-fast",
96
+ label: "gpt-5.3-codex-xhigh-fast",
97
+ description: "Codex 5.3 Extra High Fast",
98
+ },
99
+ { value: "gpt-5.2", label: "gpt-5.2", description: "GPT-5.2" },
100
+ {
101
+ value: "gpt-5.2-codex-low",
102
+ label: "gpt-5.2-codex-low",
103
+ description: "Codex 5.2 Low",
104
+ },
105
+ {
106
+ value: "gpt-5.2-codex-low-fast",
107
+ label: "gpt-5.2-codex-low-fast",
108
+ description: "Codex 5.2 Low Fast",
109
+ },
110
+ {
111
+ value: "gpt-5.2-codex",
112
+ label: "gpt-5.2-codex",
113
+ description: "Codex 5.2",
114
+ },
115
+ {
116
+ value: "gpt-5.2-codex-fast",
117
+ label: "gpt-5.2-codex-fast",
118
+ description: "Codex 5.2 Fast",
119
+ },
120
+ {
121
+ value: "gpt-5.2-codex-high",
122
+ label: "gpt-5.2-codex-high",
123
+ description: "Codex 5.2 High",
124
+ },
125
+ {
126
+ value: "gpt-5.2-codex-high-fast",
127
+ label: "gpt-5.2-codex-high-fast",
128
+ description: "Codex 5.2 High Fast",
129
+ },
130
+ {
131
+ value: "gpt-5.2-codex-xhigh",
132
+ label: "gpt-5.2-codex-xhigh",
133
+ description: "Codex 5.2 Extra High",
134
+ },
135
+ {
136
+ value: "gpt-5.2-codex-xhigh-fast",
137
+ label: "gpt-5.2-codex-xhigh-fast",
138
+ description: "Codex 5.2 Extra High Fast",
139
+ },
140
+ {
141
+ value: "gpt-5.1-codex-max-low",
142
+ label: "gpt-5.1-codex-max-low",
143
+ description: "Codex 5.1 Max Low",
144
+ },
145
+ {
146
+ value: "gpt-5.1-codex-max-low-fast",
147
+ label: "gpt-5.1-codex-max-low-fast",
148
+ description: "Codex 5.1 Max Low Fast",
149
+ },
150
+ {
151
+ value: "gpt-5.1-codex-max-medium",
152
+ label: "gpt-5.1-codex-max-medium",
153
+ description: "Codex 5.1 Max",
154
+ },
155
+ {
156
+ value: "gpt-5.1-codex-max-medium-fast",
157
+ label: "gpt-5.1-codex-max-medium-fast",
158
+ description: "Codex 5.1 Max Medium Fast",
159
+ },
160
+ {
161
+ value: "gpt-5.1-codex-max-high",
162
+ label: "gpt-5.1-codex-max-high",
163
+ description: "Codex 5.1 Max High",
164
+ },
165
+ {
166
+ value: "gpt-5.1-codex-max-high-fast",
167
+ label: "gpt-5.1-codex-max-high-fast",
168
+ description: "Codex 5.1 Max High Fast",
169
+ },
170
+ {
171
+ value: "gpt-5.1-codex-max-xhigh",
172
+ label: "gpt-5.1-codex-max-xhigh",
173
+ description: "Codex 5.1 Max Extra High",
174
+ },
175
+ {
176
+ value: "gpt-5.1-codex-max-xhigh-fast",
177
+ label: "gpt-5.1-codex-max-xhigh-fast",
178
+ description: "Codex 5.1 Max Extra High Fast",
179
+ },
180
+ {
181
+ value: "composer-2.5",
182
+ label: "composer-2.5",
183
+ description: "Composer 2.5",
184
+ },
185
+ {
186
+ value: "gpt-5.5-high",
187
+ label: "gpt-5.5-high",
188
+ description: "GPT-5.5 1M High",
189
+ },
190
+ {
191
+ value: "gpt-5.5-high-fast",
192
+ label: "gpt-5.5-high-fast",
193
+ description: "GPT-5.5 High Fast",
194
+ },
195
+ {
196
+ value: "claude-opus-4-7-thinking-high",
197
+ label: "claude-opus-4-7-thinking-high",
198
+ description: "Opus 4.7 1M High Thinking",
199
+ },
200
+ {
201
+ value: "gpt-5.4-high",
202
+ label: "gpt-5.4-high",
203
+ description: "GPT-5.4 1M High",
204
+ },
205
+ {
206
+ value: "gpt-5.4-high-fast",
207
+ label: "gpt-5.4-high-fast",
208
+ description: "GPT-5.4 High Fast",
209
+ },
210
+ {
211
+ value: "claude-4.6-opus-high-thinking",
212
+ label: "claude-4.6-opus-high-thinking",
213
+ description: "Opus 4.6 1M Thinking",
214
+ },
215
+ {
216
+ value: "claude-4.6-opus-high-thinking-fast",
217
+ label: "claude-4.6-opus-high-thinking-fast",
218
+ description: "Opus 4.6 1M Thinking Fast",
219
+ },
220
+ {
221
+ value: "composer-2.5-fast",
222
+ label: "composer-2.5-fast",
223
+ description: "Composer 2.5 Fast",
224
+ },
225
+ {
226
+ value: "gpt-5.5-none",
227
+ label: "gpt-5.5-none",
228
+ description: "GPT-5.5 1M None",
229
+ },
230
+ {
231
+ value: "gpt-5.5-none-fast",
232
+ label: "gpt-5.5-none-fast",
233
+ description: "GPT-5.5 None Fast",
234
+ },
235
+ {
236
+ value: "gpt-5.5-low",
237
+ label: "gpt-5.5-low",
238
+ description: "GPT-5.5 1M Low",
239
+ },
240
+ {
241
+ value: "gpt-5.5-low-fast",
242
+ label: "gpt-5.5-low-fast",
243
+ description: "GPT-5.5 Low Fast",
244
+ },
245
+ {
246
+ value: "gpt-5.5-medium",
247
+ label: "gpt-5.5-medium",
248
+ description: "GPT-5.5 1M",
249
+ },
250
+ {
251
+ value: "gpt-5.5-medium-fast",
252
+ label: "gpt-5.5-medium-fast",
253
+ description: "GPT-5.5 Fast",
254
+ },
255
+ {
256
+ value: "gpt-5.5-extra-high",
257
+ label: "gpt-5.5-extra-high",
258
+ description: "GPT-5.5 1M Extra High",
259
+ },
260
+ {
261
+ value: "gpt-5.5-extra-high-fast",
262
+ label: "gpt-5.5-extra-high-fast",
263
+ description: "GPT-5.5 Extra High Fast",
264
+ },
265
+ {
266
+ value: "claude-4.6-sonnet-medium",
267
+ label: "claude-4.6-sonnet-medium",
268
+ description: "Sonnet 4.6 1M",
269
+ },
270
+ {
271
+ value: "claude-4.6-sonnet-medium-thinking",
272
+ label: "claude-4.6-sonnet-medium-thinking",
273
+ description: "Sonnet 4.6 1M Thinking",
274
+ },
275
+ {
276
+ value: "claude-opus-4-7-low",
277
+ label: "claude-opus-4-7-low",
278
+ description: "Opus 4.7 1M Low",
279
+ },
280
+ {
281
+ value: "claude-opus-4-7-low-fast",
282
+ label: "claude-opus-4-7-low-fast",
283
+ description: "Opus 4.7 1M Low Fast",
284
+ },
285
+ {
286
+ value: "claude-opus-4-7-medium",
287
+ label: "claude-opus-4-7-medium",
288
+ description: "Opus 4.7 1M Medium",
289
+ },
290
+ {
291
+ value: "claude-opus-4-7-medium-fast",
292
+ label: "claude-opus-4-7-medium-fast",
293
+ description: "Opus 4.7 1M Medium Fast",
294
+ },
295
+ {
296
+ value: "claude-opus-4-7-high",
297
+ label: "claude-opus-4-7-high",
298
+ description: "Opus 4.7 1M High",
299
+ },
300
+ {
301
+ value: "claude-opus-4-7-high-fast",
302
+ label: "claude-opus-4-7-high-fast",
303
+ description: "Opus 4.7 1M High Fast",
304
+ },
305
+ {
306
+ value: "claude-opus-4-7-xhigh",
307
+ label: "claude-opus-4-7-xhigh",
308
+ description: "Opus 4.7 1M",
309
+ },
310
+ {
311
+ value: "claude-opus-4-7-xhigh-fast",
312
+ label: "claude-opus-4-7-xhigh-fast",
313
+ description: "Opus 4.7 1M Fast",
314
+ },
315
+ {
316
+ value: "claude-opus-4-7-max",
317
+ label: "claude-opus-4-7-max",
318
+ description: "Opus 4.7 1M Max",
319
+ },
320
+ {
321
+ value: "claude-opus-4-7-max-fast",
322
+ label: "claude-opus-4-7-max-fast",
323
+ description: "Opus 4.7 1M Max Fast",
324
+ },
325
+ {
326
+ value: "claude-opus-4-7-thinking-low",
327
+ label: "claude-opus-4-7-thinking-low",
328
+ description: "Opus 4.7 1M Low Thinking",
329
+ },
330
+ {
331
+ value: "claude-opus-4-7-thinking-low-fast",
332
+ label: "claude-opus-4-7-thinking-low-fast",
333
+ description: "Opus 4.7 1M Low Thinking Fast",
334
+ },
335
+ {
336
+ value: "claude-opus-4-7-thinking-medium",
337
+ label: "claude-opus-4-7-thinking-medium",
338
+ description: "Opus 4.7 1M Medium Thinking",
339
+ },
340
+ {
341
+ value: "claude-opus-4-7-thinking-medium-fast",
342
+ label: "claude-opus-4-7-thinking-medium-fast",
343
+ description: "Opus 4.7 1M Medium Thinking Fast",
344
+ },
345
+ {
346
+ value: "claude-opus-4-7-thinking-high-fast",
347
+ label: "claude-opus-4-7-thinking-high-fast",
348
+ description: "Opus 4.7 1M High Thinking Fast",
349
+ },
350
+ {
351
+ value: "claude-opus-4-7-thinking-xhigh",
352
+ label: "claude-opus-4-7-thinking-xhigh",
353
+ description: "Opus 4.7 1M Thinking",
354
+ },
355
+ {
356
+ value: "claude-opus-4-7-thinking-xhigh-fast",
357
+ label: "claude-opus-4-7-thinking-xhigh-fast",
358
+ description: "Opus 4.7 1M Thinking Fast",
359
+ },
360
+ {
361
+ value: "claude-opus-4-7-thinking-max",
362
+ label: "claude-opus-4-7-thinking-max",
363
+ description: "Opus 4.7 1M Max Thinking",
364
+ },
365
+ {
366
+ value: "claude-opus-4-7-thinking-max-fast",
367
+ label: "claude-opus-4-7-thinking-max-fast",
368
+ description: "Opus 4.7 1M Max Thinking Fast",
369
+ },
370
+ {
371
+ value: "grok-build-0.1",
372
+ label: "grok-build-0.1",
373
+ description: "Grok Build 0.1 1M",
374
+ },
375
+ {
376
+ value: "gpt-5.4-low",
377
+ label: "gpt-5.4-low",
378
+ description: "GPT-5.4 1M Low",
379
+ },
380
+ {
381
+ value: "gpt-5.4-medium",
382
+ label: "gpt-5.4-medium",
383
+ description: "GPT-5.4 1M",
384
+ },
385
+ {
386
+ value: "gpt-5.4-medium-fast",
387
+ label: "gpt-5.4-medium-fast",
388
+ description: "GPT-5.4 Fast",
389
+ },
390
+ {
391
+ value: "gpt-5.4-xhigh",
392
+ label: "gpt-5.4-xhigh",
393
+ description: "GPT-5.4 1M Extra High",
394
+ },
395
+ {
396
+ value: "gpt-5.4-xhigh-fast",
397
+ label: "gpt-5.4-xhigh-fast",
398
+ description: "GPT-5.4 Extra High Fast",
399
+ },
400
+ {
401
+ value: "claude-4.6-opus-high",
402
+ label: "claude-4.6-opus-high",
403
+ description: "Opus 4.6 1M",
404
+ },
405
+ {
406
+ value: "claude-4.6-opus-max",
407
+ label: "claude-4.6-opus-max",
408
+ description: "Opus 4.6 1M Max",
409
+ },
410
+ {
411
+ value: "claude-4.6-opus-max-thinking",
412
+ label: "claude-4.6-opus-max-thinking",
413
+ description: "Opus 4.6 1M Max Thinking",
414
+ },
415
+ {
416
+ value: "claude-4.6-opus-max-thinking-fast",
417
+ label: "claude-4.6-opus-max-thinking-fast",
418
+ description: "Opus 4.6 1M Max Thinking Fast",
419
+ },
420
+ {
421
+ value: "claude-4.5-opus-high",
422
+ label: "claude-4.5-opus-high",
423
+ description: "Opus 4.5",
424
+ },
425
+ {
426
+ value: "claude-4.5-opus-high-thinking",
427
+ label: "claude-4.5-opus-high-thinking",
428
+ description: "Opus 4.5 Thinking",
429
+ },
430
+ {
431
+ value: "gpt-5.2-low",
432
+ label: "gpt-5.2-low",
433
+ description: "GPT-5.2 Low",
434
+ },
435
+ {
436
+ value: "gpt-5.2-low-fast",
437
+ label: "gpt-5.2-low-fast",
438
+ description: "GPT-5.2 Low Fast",
439
+ },
440
+ {
441
+ value: "gpt-5.2-fast",
442
+ label: "gpt-5.2-fast",
443
+ description: "GPT-5.2 Fast",
444
+ },
445
+ {
446
+ value: "gpt-5.2-high",
447
+ label: "gpt-5.2-high",
448
+ description: "GPT-5.2 High",
449
+ },
450
+ {
451
+ value: "gpt-5.2-high-fast",
452
+ label: "gpt-5.2-high-fast",
453
+ description: "GPT-5.2 High Fast",
454
+ },
455
+ {
456
+ value: "gpt-5.2-xhigh",
457
+ label: "gpt-5.2-xhigh",
458
+ description: "GPT-5.2 Extra High",
459
+ },
460
+ {
461
+ value: "gpt-5.2-xhigh-fast",
462
+ label: "gpt-5.2-xhigh-fast",
463
+ description: "GPT-5.2 Extra High Fast",
464
+ },
465
+ {
466
+ value: "gemini-3.1-pro",
467
+ label: "gemini-3.1-pro",
468
+ description: "Gemini 3.1 Pro",
469
+ },
470
+ {
471
+ value: "gpt-5.4-mini-none",
472
+ label: "gpt-5.4-mini-none",
473
+ description: "GPT-5.4 Mini None",
474
+ },
475
+ {
476
+ value: "gpt-5.4-mini-low",
477
+ label: "gpt-5.4-mini-low",
478
+ description: "GPT-5.4 Mini Low",
479
+ },
480
+ {
481
+ value: "gpt-5.4-mini-medium",
482
+ label: "gpt-5.4-mini-medium",
483
+ description: "GPT-5.4 Mini",
484
+ },
485
+ {
486
+ value: "gpt-5.4-mini-high",
487
+ label: "gpt-5.4-mini-high",
488
+ description: "GPT-5.4 Mini High",
489
+ },
490
+ {
491
+ value: "gpt-5.4-mini-xhigh",
492
+ label: "gpt-5.4-mini-xhigh",
493
+ description: "GPT-5.4 Mini Extra High",
494
+ },
495
+ {
496
+ value: "gpt-5.4-nano-none",
497
+ label: "gpt-5.4-nano-none",
498
+ description: "GPT-5.4 Nano None",
499
+ },
500
+ {
501
+ value: "gpt-5.4-nano-low",
502
+ label: "gpt-5.4-nano-low",
503
+ description: "GPT-5.4 Nano Low",
504
+ },
505
+ {
506
+ value: "gpt-5.4-nano-medium",
507
+ label: "gpt-5.4-nano-medium",
508
+ description: "GPT-5.4 Nano",
509
+ },
510
+ {
511
+ value: "gpt-5.4-nano-high",
512
+ label: "gpt-5.4-nano-high",
513
+ description: "GPT-5.4 Nano High",
514
+ },
515
+ {
516
+ value: "gpt-5.4-nano-xhigh",
517
+ label: "gpt-5.4-nano-xhigh",
518
+ description: "GPT-5.4 Nano Extra High",
519
+ },
520
+ {
521
+ value: "grok-4.3",
522
+ label: "grok-4.3",
523
+ description: "Grok 4.3 1M",
524
+ },
525
+ {
526
+ value: "claude-4.5-sonnet",
527
+ label: "claude-4.5-sonnet",
528
+ description: "Sonnet 4.5",
529
+ },
530
+ {
531
+ value: "claude-4.5-sonnet-thinking",
532
+ label: "claude-4.5-sonnet-thinking",
533
+ description: "Sonnet 4.5 Thinking",
534
+ },
535
+ {
536
+ value: "gpt-5.1-low",
537
+ label: "gpt-5.1-low",
538
+ description: "GPT-5.1 Low",
539
+ },
540
+ {
541
+ value: "gpt-5.1",
542
+ label: "gpt-5.1",
543
+ description: "GPT-5.1",
544
+ },
545
+ {
546
+ value: "gpt-5.1-high",
547
+ label: "gpt-5.1-high",
548
+ description: "GPT-5.1 High",
549
+ },
550
+ {
551
+ value: "gemini-3-flash",
552
+ label: "gemini-3-flash",
553
+ description: "Gemini 3 Flash",
554
+ },
555
+ {
556
+ value: "gemini-3.5-flash",
557
+ label: "gemini-3.5-flash",
558
+ description: "Gemini 3.5 Flash",
559
+ },
560
+ {
561
+ value: "gpt-5.1-codex-mini-low",
562
+ label: "gpt-5.1-codex-mini-low",
563
+ description: "Codex 5.1 Mini Low",
564
+ },
565
+ {
566
+ value: "gpt-5.1-codex-mini",
567
+ label: "gpt-5.1-codex-mini",
568
+ description: "Codex 5.1 Mini",
569
+ },
570
+ {
571
+ value: "gpt-5.1-codex-mini-high",
572
+ label: "gpt-5.1-codex-mini-high",
573
+ description: "Codex 5.1 Mini High",
574
+ },
575
+ {
576
+ value: "claude-4-sonnet",
577
+ label: "claude-4-sonnet",
578
+ description: "Sonnet 4",
579
+ },
580
+ {
581
+ value: "claude-4-sonnet-thinking",
582
+ label: "claude-4-sonnet-thinking",
583
+ description: "Sonnet 4 Thinking",
584
+ },
585
+ {
586
+ value: "gpt-5-mini",
587
+ label: "gpt-5-mini",
588
+ description: "GPT-5 Mini",
589
+ },
590
+ {
591
+ value: "kimi-k2.5",
592
+ label: "kimi-k2.5",
593
+ description: "Kimi K2.5",
594
+ },
595
+ ],
596
+
597
+ DEFAULT: "composer-2.5-fast",
598
+ };
599
+
600
+ /**
601
+ * Codex (OpenAI) Models
602
+ */
603
+ export const CODEX_MODELS = {
604
+ OPTIONS: [
605
+ { value: "gpt-5.5", label: "gpt-5.5" },
606
+ { value: "gpt-5.4", label: "gpt-5.4" },
607
+ { value: "gpt-5.4-mini", label: "gpt-5.4-mini" },
608
+ { value: "gpt-5.3-codex", label: "gpt-5.3-codex" },
609
+ { value: "gpt-5.2", label: "gpt-5.2" },
610
+ ],
611
+
612
+ DEFAULT: "gpt-5.4",
613
+ };
614
+
615
+ /**
616
+ * Gemini Models
617
+ */
618
+ export const GEMINI_MODELS = {
619
+ OPTIONS: [
620
+ { value: "gemini-3.1-pro-preview", label: "Gemini 3.1 Pro Preview" },
621
+ { value: "gemini-3-pro-preview", label: "Gemini 3 Pro Preview" },
622
+ { value: "gemini-3-flash-preview", label: "Gemini 3 Flash Preview" },
623
+ { value: "gemini-2.5-flash", label: "Gemini 2.5 Flash" },
624
+ { value: "gemini-2.5-pro", label: "Gemini 2.5 Pro" },
625
+ { value: "gemini-2.0-flash-lite", label: "Gemini 2.0 Flash Lite" },
626
+ { value: "gemini-2.0-flash", label: "Gemini 2.0 Flash" },
627
+ { value: "gemini-2.0-pro-exp", label: "Gemini 2.0 Pro Experimental" },
628
+ {
629
+ value: "gemini-2.0-flash-thinking-exp",
630
+ label: "Gemini 2.0 Flash Thinking",
631
+ },
632
+ ],
633
+
634
+ DEFAULT: "gemini-3.1-pro-preview",
635
+ };
636
+
637
+ /**
638
+ * OpenCode Models
639
+ *
640
+ * OpenCode model ids include the upstream provider prefix.
641
+ */
642
+ export const OPENCODE_MODELS = {
643
+ OPTIONS: [
644
+ {
645
+ value: "opencode/big-pickle",
646
+ label: "Big Pickle",
647
+ description: "opencode - opencode/big-pickle",
648
+ },
649
+ {
650
+ value: "opencode/deepseek-v4-flash-free",
651
+ label: "Deepseek V4 Flash Free",
652
+ description: "opencode - opencode/deepseek-v4-flash-free",
653
+ },
654
+ {
655
+ value: "opencode/nemotron-3-super-free",
656
+ label: "Nemotron 3 Super Free",
657
+ description: "opencode - opencode/nemotron-3-super-free",
658
+ },
659
+ {
660
+ value: "anthropic/claude-3-5-haiku-20241022",
661
+ label: "Claude 3.5 Haiku (2024-10-22)",
662
+ description: "anthropic - anthropic/claude-3-5-haiku-20241022",
663
+ },
664
+ {
665
+ value: "anthropic/claude-3-5-haiku-latest",
666
+ label: "Claude 3.5 Haiku Latest",
667
+ description: "anthropic - anthropic/claude-3-5-haiku-latest",
668
+ },
669
+ {
670
+ value: "anthropic/claude-3-5-sonnet-20240620",
671
+ label: "Claude 3.5 Sonnet (2024-06-20)",
672
+ description: "anthropic - anthropic/claude-3-5-sonnet-20240620",
673
+ },
674
+ {
675
+ value: "anthropic/claude-3-5-sonnet-20241022",
676
+ label: "Claude 3.5 Sonnet (2024-10-22)",
677
+ description: "anthropic - anthropic/claude-3-5-sonnet-20241022",
678
+ },
679
+ {
680
+ value: "anthropic/claude-3-7-sonnet-20250219",
681
+ label: "Claude 3.7 Sonnet (2025-02-19)",
682
+ description: "anthropic - anthropic/claude-3-7-sonnet-20250219",
683
+ },
684
+ {
685
+ value: "anthropic/claude-3-haiku-20240307",
686
+ label: "Claude 3 Haiku (2024-03-07)",
687
+ description: "anthropic - anthropic/claude-3-haiku-20240307",
688
+ },
689
+ {
690
+ value: "anthropic/claude-3-opus-20240229",
691
+ label: "Claude 3 Opus (2024-02-29)",
692
+ description: "anthropic - anthropic/claude-3-opus-20240229",
693
+ },
694
+ {
695
+ value: "anthropic/claude-3-sonnet-20240229",
696
+ label: "Claude 3 Sonnet (2024-02-29)",
697
+ description: "anthropic - anthropic/claude-3-sonnet-20240229",
698
+ },
699
+ {
700
+ value: "anthropic/claude-haiku-4-5",
701
+ label: "Claude Haiku 4.5",
702
+ description: "anthropic - anthropic/claude-haiku-4-5",
703
+ },
704
+ {
705
+ value: "anthropic/claude-haiku-4-5-20251001",
706
+ label: "Claude Haiku 4.5 (2025-10-01)",
707
+ description: "anthropic - anthropic/claude-haiku-4-5-20251001",
708
+ },
709
+ {
710
+ value: "anthropic/claude-opus-4-0",
711
+ label: "Claude Opus 4.0",
712
+ description: "anthropic - anthropic/claude-opus-4-0",
713
+ },
714
+ {
715
+ value: "anthropic/claude-opus-4-1",
716
+ label: "Claude Opus 4.1",
717
+ description: "anthropic - anthropic/claude-opus-4-1",
718
+ },
719
+ {
720
+ value: "anthropic/claude-opus-4-1-20250805",
721
+ label: "Claude Opus 4.1 (2025-08-05)",
722
+ description: "anthropic - anthropic/claude-opus-4-1-20250805",
723
+ },
724
+ {
725
+ value: "anthropic/claude-opus-4-20250514",
726
+ label: "Claude Opus 4 (2025-05-14)",
727
+ description: "anthropic - anthropic/claude-opus-4-20250514",
728
+ },
729
+ {
730
+ value: "anthropic/claude-opus-4-5",
731
+ label: "Claude Opus 4.5",
732
+ description: "anthropic - anthropic/claude-opus-4-5",
733
+ },
734
+ {
735
+ value: "anthropic/claude-opus-4-5-20251101",
736
+ label: "Claude Opus 4.5 (2025-11-01)",
737
+ description: "anthropic - anthropic/claude-opus-4-5-20251101",
738
+ },
739
+ {
740
+ value: "anthropic/claude-opus-4-6",
741
+ label: "Claude Opus 4.6",
742
+ description: "anthropic - anthropic/claude-opus-4-6",
743
+ },
744
+ {
745
+ value: "anthropic/claude-opus-4-6-fast",
746
+ label: "Claude Opus 4.6 Fast",
747
+ description: "anthropic - anthropic/claude-opus-4-6-fast",
748
+ },
749
+ {
750
+ value: "anthropic/claude-opus-4-7",
751
+ label: "Claude Opus 4.7",
752
+ description: "anthropic - anthropic/claude-opus-4-7",
753
+ },
754
+ {
755
+ value: "anthropic/claude-opus-4-7-fast",
756
+ label: "Claude Opus 4.7 Fast",
757
+ description: "anthropic - anthropic/claude-opus-4-7-fast",
758
+ },
759
+ {
760
+ value: "anthropic/claude-sonnet-4-0",
761
+ label: "Claude Sonnet 4.0",
762
+ description: "anthropic - anthropic/claude-sonnet-4-0",
763
+ },
764
+ {
765
+ value: "anthropic/claude-sonnet-4-20250514",
766
+ label: "Claude Sonnet 4 (2025-05-14)",
767
+ description: "anthropic - anthropic/claude-sonnet-4-20250514",
768
+ },
769
+ {
770
+ value: "anthropic/claude-sonnet-4-5",
771
+ label: "Claude Sonnet 4.5",
772
+ description: "anthropic - anthropic/claude-sonnet-4-5",
773
+ },
774
+ {
775
+ value: "anthropic/claude-sonnet-4-5-20250929",
776
+ label: "Claude Sonnet 4.5 (2025-09-29)",
777
+ description: "anthropic - anthropic/claude-sonnet-4-5-20250929",
778
+ },
779
+ {
780
+ value: "anthropic/claude-sonnet-4-6",
781
+ label: "Claude Sonnet 4.6",
782
+ description: "anthropic - anthropic/claude-sonnet-4-6",
783
+ },
784
+ {
785
+ value: "openai/gpt-5.2",
786
+ label: "GPT-5.2",
787
+ description: "openai - openai/gpt-5.2",
788
+ },
789
+ {
790
+ value: "openai/gpt-5.3-codex",
791
+ label: "GPT-5.3 Codex",
792
+ description: "openai - openai/gpt-5.3-codex",
793
+ },
794
+ {
795
+ value: "openai/gpt-5.3-codex-spark",
796
+ label: "GPT-5.3 Codex Spark",
797
+ description: "openai - openai/gpt-5.3-codex-spark",
798
+ },
799
+ {
800
+ value: "openai/gpt-5.4",
801
+ label: "GPT-5.4",
802
+ description: "openai - openai/gpt-5.4",
803
+ },
804
+ {
805
+ value: "openai/gpt-5.4-fast",
806
+ label: "GPT-5.4 Fast",
807
+ description: "openai - openai/gpt-5.4-fast",
808
+ },
809
+ {
810
+ value: "openai/gpt-5.4-mini",
811
+ label: "GPT-5.4 Mini",
812
+ description: "openai - openai/gpt-5.4-mini",
813
+ },
814
+ {
815
+ value: "openai/gpt-5.4-mini-fast",
816
+ label: "GPT-5.4 Mini Fast",
817
+ description: "openai - openai/gpt-5.4-mini-fast",
818
+ },
819
+ {
820
+ value: "openai/gpt-5.5",
821
+ label: "GPT-5.5",
822
+ description: "openai - openai/gpt-5.5",
823
+ },
824
+ {
825
+ value: "openai/gpt-5.5-fast",
826
+ label: "GPT-5.5 Fast",
827
+ description: "openai - openai/gpt-5.5-fast",
828
+ },
829
+ {
830
+ value: "openai/gpt-5.5-pro",
831
+ label: "GPT-5.5 Pro",
832
+ description: "openai - openai/gpt-5.5-pro",
833
+ },
834
+ ],
835
+
836
+ DEFAULT: "anthropic/claude-sonnet-4-5",
837
+ };
838
+
839
+ /**
840
+ * Ordered provider registry. Display order in documentation.
841
+ */
842
+ export const PROVIDERS = [
843
+ { id: "claude", name: "Anthropic", models: CLAUDE_MODELS },
844
+ { id: "codex", name: "OpenAI", models: CODEX_MODELS },
845
+ { id: "gemini", name: "Google", models: GEMINI_MODELS },
846
+ { id: "cursor", name: "Cursor", models: CURSOR_MODELS },
847
+ { id: "opencode", name: "OpenCode", models: OPENCODE_MODELS },
848
+ ];