agent-relay 3.1.21 → 3.1.22
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/bin/agent-relay-broker-darwin-arm64 +0 -0
- package/bin/agent-relay-broker-darwin-x64 +0 -0
- package/bin/agent-relay-broker-linux-arm64 +0 -0
- package/bin/agent-relay-broker-linux-x64 +0 -0
- package/dist/index.cjs +341 -64
- package/package.json +8 -8
- package/packages/acp-bridge/package.json +2 -2
- package/packages/config/dist/cli-registry.generated.d.ts +427 -67
- package/packages/config/dist/cli-registry.generated.d.ts.map +1 -1
- package/packages/config/dist/cli-registry.generated.js +334 -54
- package/packages/config/dist/cli-registry.generated.js.map +1 -1
- package/packages/config/package.json +1 -1
- package/packages/config/src/cli-registry.generated.ts +342 -54
- package/packages/hooks/package.json +4 -4
- package/packages/memory/package.json +2 -2
- package/packages/openclaw/package.json +2 -2
- package/packages/policy/package.json +2 -2
- package/packages/sdk/dist/__tests__/spawn-from-env.test.js +28 -12
- package/packages/sdk/dist/__tests__/spawn-from-env.test.js.map +1 -1
- package/packages/sdk/dist/spawn-from-env.d.ts +2 -1
- package/packages/sdk/dist/spawn-from-env.d.ts.map +1 -1
- package/packages/sdk/dist/spawn-from-env.js +20 -9
- package/packages/sdk/dist/spawn-from-env.js.map +1 -1
- package/packages/sdk/package.json +2 -2
- package/packages/sdk/src/__tests__/spawn-from-env.test.ts +37 -12
- package/packages/sdk/src/spawn-from-env.ts +26 -9
- package/packages/sdk-py/agent_relay/__init__.py +19 -16
- package/packages/sdk-py/agent_relay/models.py +230 -38
- package/packages/sdk-py/pyproject.toml +1 -1
- package/packages/shared/cli-registry.yaml +293 -42
- package/packages/telemetry/package.json +1 -1
- package/packages/trajectory/package.json +2 -2
- package/packages/user-directory/package.json +2 -2
- package/packages/utils/package.json +2 -2
- package/scripts/postinstall.js +117 -0
|
@@ -9,10 +9,12 @@ from typing import Final, TypedDict, List
|
|
|
9
9
|
|
|
10
10
|
class CLIVersions:
|
|
11
11
|
"""CLI tool versions. Update packages/shared/cli-registry.yaml to change versions."""
|
|
12
|
-
CLAUDE: Final[str] = "2.1.
|
|
13
|
-
CODEX: Final[str] = "0.
|
|
14
|
-
GEMINI: Final[str] = "0.
|
|
15
|
-
CURSOR: Final[str] = "
|
|
12
|
+
CLAUDE: Final[str] = "2.1.72" # Claude Code
|
|
13
|
+
CODEX: Final[str] = "0.114.0" # Codex CLI
|
|
14
|
+
GEMINI: Final[str] = "0.33.0" # Gemini CLI
|
|
15
|
+
CURSOR: Final[str] = "2026.02.27-e7d2ef6" # Cursor
|
|
16
|
+
DROID: Final[str] = "0.1.0" # Droid
|
|
17
|
+
OPENCODE: Final[str] = "1.2.24" # OpenCode
|
|
16
18
|
AIDER: Final[str] = "0.72.1" # Aider
|
|
17
19
|
GOOSE: Final[str] = "1.0.16" # Goose
|
|
18
20
|
|
|
@@ -23,6 +25,8 @@ class CLIs:
|
|
|
23
25
|
CODEX: Final[str] = "codex"
|
|
24
26
|
GEMINI: Final[str] = "gemini"
|
|
25
27
|
CURSOR: Final[str] = "cursor"
|
|
28
|
+
DROID: Final[str] = "droid"
|
|
29
|
+
OPENCODE: Final[str] = "opencode"
|
|
26
30
|
AIDER: Final[str] = "aider"
|
|
27
31
|
GOOSE: Final[str] = "goose"
|
|
28
32
|
|
|
@@ -36,45 +40,131 @@ class ClaudeModels:
|
|
|
36
40
|
|
|
37
41
|
class CodexModels:
|
|
38
42
|
"""Codex CLI model identifiers."""
|
|
39
|
-
|
|
40
|
-
GPT_5_3_CODEX: Final[str] = "gpt-5.3-codex" # GPT-5.3 Codex —
|
|
43
|
+
GPT_5_4: Final[str] = "gpt-5.4" # GPT-5.4 — Latest frontier agentic coding model (default)
|
|
44
|
+
GPT_5_3_CODEX: Final[str] = "gpt-5.3-codex" # GPT-5.3 Codex — Frontier agentic coding model
|
|
41
45
|
GPT_5_3_CODEX_SPARK: Final[str] = "gpt-5.3-codex-spark" # GPT-5.3 Codex Spark — Ultra-fast coding model
|
|
42
|
-
|
|
46
|
+
GPT_5_2_CODEX: Final[str] = "gpt-5.2-codex" # GPT-5.2 Codex — Frontier agentic coding model
|
|
43
47
|
GPT_5_2: Final[str] = "gpt-5.2" # GPT-5.2 — Frontier model, knowledge & reasoning
|
|
48
|
+
GPT_5_1_CODEX_MAX: Final[str] = "gpt-5.1-codex-max" # GPT-5.1 Codex Max — Deep and fast reasoning
|
|
44
49
|
GPT_5_1_CODEX_MINI: Final[str] = "gpt-5.1-codex-mini" # GPT-5.1 Codex Mini — Cheaper, faster
|
|
45
50
|
|
|
46
51
|
|
|
47
52
|
class GeminiModels:
|
|
48
53
|
"""Gemini CLI model identifiers."""
|
|
49
|
-
|
|
50
|
-
|
|
54
|
+
GEMINI_3_1_PRO_PREVIEW: Final[str] = "gemini-3.1-pro-preview" # Gemini 3.1 Pro Preview (default)
|
|
55
|
+
GEMINI_3_FLASH_PREVIEW: Final[str] = "gemini-3-flash-preview" # Gemini 3 Flash Preview
|
|
56
|
+
GEMINI_2_5_PRO: Final[str] = "gemini-2.5-pro" # Gemini 2.5 Pro
|
|
51
57
|
GEMINI_2_5_FLASH: Final[str] = "gemini-2.5-flash" # Gemini 2.5 Flash
|
|
52
58
|
GEMINI_2_5_FLASH_LITE: Final[str] = "gemini-2.5-flash-lite" # Gemini 2.5 Flash Lite
|
|
53
59
|
|
|
54
60
|
|
|
55
61
|
class CursorModels:
|
|
56
62
|
"""Cursor model identifiers."""
|
|
57
|
-
|
|
63
|
+
OPUS_4_6_THINKING: Final[str] = "opus-4.6-thinking" # Claude 4.6 Opus (Thinking) (default)
|
|
64
|
+
OPUS_4_6: Final[str] = "opus-4.6" # Claude 4.6 Opus
|
|
58
65
|
OPUS_4_5: Final[str] = "opus-4.5" # Claude 4.5 Opus
|
|
66
|
+
OPUS_4_5_THINKING: Final[str] = "opus-4.5-thinking" # Claude 4.5 Opus (Thinking)
|
|
67
|
+
SONNET_4_6: Final[str] = "sonnet-4.6" # Claude 4.6 Sonnet
|
|
68
|
+
SONNET_4_6_THINKING: Final[str] = "sonnet-4.6-thinking" # Claude 4.6 Sonnet (Thinking)
|
|
59
69
|
SONNET_4_5: Final[str] = "sonnet-4.5" # Claude 4.5 Sonnet
|
|
60
70
|
SONNET_4_5_THINKING: Final[str] = "sonnet-4.5-thinking" # Claude 4.5 Sonnet (Thinking)
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
71
|
+
COMPOSER_1_5: Final[str] = "composer-1.5" # Composer 1.5
|
|
72
|
+
COMPOSER_1: Final[str] = "composer-1" # Composer 1
|
|
73
|
+
GPT_5_4_XHIGH: Final[str] = "gpt-5.4-xhigh" # GPT-5.4 Extra High
|
|
74
|
+
GPT_5_4_XHIGH_FAST: Final[str] = "gpt-5.4-xhigh-fast" # GPT-5.4 Extra High Fast
|
|
75
|
+
GPT_5_4_HIGH: Final[str] = "gpt-5.4-high" # GPT-5.4 High
|
|
76
|
+
GPT_5_4_HIGH_FAST: Final[str] = "gpt-5.4-high-fast" # GPT-5.4 High Fast
|
|
77
|
+
GPT_5_4_MEDIUM: Final[str] = "gpt-5.4-medium" # GPT-5.4
|
|
78
|
+
GPT_5_4_MEDIUM_FAST: Final[str] = "gpt-5.4-medium-fast" # GPT-5.4 Fast
|
|
79
|
+
GPT_5_4_LOW: Final[str] = "gpt-5.4-low" # GPT-5.4 Low
|
|
80
|
+
GPT_5_3_CODEX_XHIGH: Final[str] = "gpt-5.3-codex-xhigh" # GPT-5.3 Codex Extra High
|
|
81
|
+
GPT_5_3_CODEX_XHIGH_FAST: Final[str] = "gpt-5.3-codex-xhigh-fast" # GPT-5.3 Codex Extra High Fast
|
|
82
|
+
GPT_5_3_CODEX_HIGH: Final[str] = "gpt-5.3-codex-high" # GPT-5.3 Codex High
|
|
83
|
+
GPT_5_3_CODEX_HIGH_FAST: Final[str] = "gpt-5.3-codex-high-fast" # GPT-5.3 Codex High Fast
|
|
84
|
+
GPT_5_3_CODEX: Final[str] = "gpt-5.3-codex" # GPT-5.3 Codex
|
|
85
|
+
GPT_5_3_CODEX_FAST: Final[str] = "gpt-5.3-codex-fast" # GPT-5.3 Codex Fast
|
|
86
|
+
GPT_5_3_CODEX_LOW: Final[str] = "gpt-5.3-codex-low" # GPT-5.3 Codex Low
|
|
87
|
+
GPT_5_3_CODEX_LOW_FAST: Final[str] = "gpt-5.3-codex-low-fast" # GPT-5.3 Codex Low Fast
|
|
88
|
+
GPT_5_3_CODEX_SPARK_PREVIEW: Final[str] = "gpt-5.3-codex-spark-preview" # GPT-5.3 Codex Spark
|
|
64
89
|
GPT_5_2_CODEX_XHIGH: Final[str] = "gpt-5.2-codex-xhigh" # GPT-5.2 Codex Extra High
|
|
65
|
-
|
|
90
|
+
GPT_5_2_CODEX_XHIGH_FAST: Final[str] = "gpt-5.2-codex-xhigh-fast" # GPT-5.2 Codex Extra High Fast
|
|
91
|
+
GPT_5_2_CODEX_HIGH: Final[str] = "gpt-5.2-codex-high" # GPT-5.2 Codex High
|
|
66
92
|
GPT_5_2_CODEX_HIGH_FAST: Final[str] = "gpt-5.2-codex-high-fast" # GPT-5.2 Codex High Fast
|
|
93
|
+
GPT_5_2_CODEX: Final[str] = "gpt-5.2-codex" # GPT-5.2 Codex
|
|
94
|
+
GPT_5_2_CODEX_FAST: Final[str] = "gpt-5.2-codex-fast" # GPT-5.2 Codex Fast
|
|
95
|
+
GPT_5_2_CODEX_LOW: Final[str] = "gpt-5.2-codex-low" # GPT-5.2 Codex Low
|
|
67
96
|
GPT_5_2_CODEX_LOW_FAST: Final[str] = "gpt-5.2-codex-low-fast" # GPT-5.2 Codex Low Fast
|
|
68
|
-
GPT_5_2_CODEX_XHIGH_FAST: Final[str] = "gpt-5.2-codex-xhigh-fast" # GPT-5.2 Codex Extra High Fast
|
|
69
|
-
GPT_5_1_CODEX_MAX: Final[str] = "gpt-5.1-codex-max" # GPT-5.1 Codex Max
|
|
70
|
-
GPT_5_1_CODEX_MAX_HIGH: Final[str] = "gpt-5.1-codex-max-high" # GPT-5.1 Codex Max High
|
|
71
97
|
GPT_5_2: Final[str] = "gpt-5.2" # GPT-5.2
|
|
72
98
|
GPT_5_2_HIGH: Final[str] = "gpt-5.2-high" # GPT-5.2 High
|
|
99
|
+
GPT_5_1_CODEX_MAX: Final[str] = "gpt-5.1-codex-max" # GPT-5.1 Codex Max
|
|
100
|
+
GPT_5_1_CODEX_MAX_HIGH: Final[str] = "gpt-5.1-codex-max-high" # GPT-5.1 Codex Max High
|
|
101
|
+
GPT_5_1_CODEX_MINI: Final[str] = "gpt-5.1-codex-mini" # GPT-5.1 Codex Mini
|
|
73
102
|
GPT_5_1_HIGH: Final[str] = "gpt-5.1-high" # GPT-5.1 High
|
|
103
|
+
GEMINI_3_1_PRO: Final[str] = "gemini-3.1-pro" # Gemini 3.1 Pro
|
|
74
104
|
GEMINI_3_PRO: Final[str] = "gemini-3-pro" # Gemini 3 Pro
|
|
75
105
|
GEMINI_3_FLASH: Final[str] = "gemini-3-flash" # Gemini 3 Flash
|
|
76
|
-
COMPOSER_1: Final[str] = "composer-1" # Composer 1
|
|
77
106
|
GROK: Final[str] = "grok" # Grok
|
|
107
|
+
KIMI_K2_5: Final[str] = "kimi-k2.5" # Kimi K2.5
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
class DroidModels:
|
|
111
|
+
"""Droid model identifiers."""
|
|
112
|
+
OPUS_4_6_FAST: Final[str] = "opus-4.6-fast" # Opus 4.6 Fast Mode (12x) (default)
|
|
113
|
+
OPUS_4_5: Final[str] = "opus-4.5" # Opus 4.5 (2x)
|
|
114
|
+
SONNET_4_5: Final[str] = "sonnet-4.5" # Sonnet 4.5 (1.2x)
|
|
115
|
+
HAIKU_4_5: Final[str] = "haiku-4.5" # Haiku 4.5 (0.4x)
|
|
116
|
+
GPT_5_2: Final[str] = "gpt-5.2" # GPT-5.2 (0.7x)
|
|
117
|
+
GPT_5_2_CODEX: Final[str] = "gpt-5.2-codex" # GPT-5.2 Codex (0.7x)
|
|
118
|
+
GEMINI_3_FLASH: Final[str] = "gemini-3-flash" # Gemini 3 Flash (0.2x)
|
|
119
|
+
DROID_CORE: Final[str] = "droid-core-glm-4.7" # Droid Core (GLM-4.7) (0.25x)
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
class OpencodeModels:
|
|
123
|
+
"""OpenCode model identifiers."""
|
|
124
|
+
OPENCODE_BIG_PICKLE: Final[str] = "opencode/big-pickle" # Big Pickle
|
|
125
|
+
OPENCODE_GPT_5_NANO: Final[str] = "opencode/gpt-5-nano" # GPT-5 Nano (OpenCode)
|
|
126
|
+
OPENCODE_MIMO_V2_FLASH_FREE: Final[str] = "opencode/mimo-v2-flash-free" # Mimo V2 Flash Free
|
|
127
|
+
OPENCODE_MINIMAX_M2_5_FREE: Final[str] = "opencode/minimax-m2.5-free" # MiniMax M2.5 Free
|
|
128
|
+
OPENAI_CODEX_MINI_LATEST: Final[str] = "openai/codex-mini-latest" # Codex Mini Latest
|
|
129
|
+
OPENAI_GPT_3_5_TURBO: Final[str] = "openai/gpt-3.5-turbo" # GPT-3.5 Turbo
|
|
130
|
+
OPENAI_GPT_4: Final[str] = "openai/gpt-4" # GPT-4
|
|
131
|
+
OPENAI_GPT_4_TURBO: Final[str] = "openai/gpt-4-turbo" # GPT-4 Turbo
|
|
132
|
+
OPENAI_GPT_4_1: Final[str] = "openai/gpt-4.1" # GPT-4.1
|
|
133
|
+
OPENAI_GPT_4_1_MINI: Final[str] = "openai/gpt-4.1-mini" # GPT-4.1 Mini
|
|
134
|
+
OPENAI_GPT_4_1_NANO: Final[str] = "openai/gpt-4.1-nano" # GPT-4.1 Nano
|
|
135
|
+
OPENAI_GPT_4O: Final[str] = "openai/gpt-4o" # GPT-4o
|
|
136
|
+
OPENAI_GPT_4O_2024_05_13: Final[str] = "openai/gpt-4o-2024-05-13" # GPT-4o (2024-05-13)
|
|
137
|
+
OPENAI_GPT_4O_2024_08_06: Final[str] = "openai/gpt-4o-2024-08-06" # GPT-4o (2024-08-06)
|
|
138
|
+
OPENAI_GPT_4O_2024_11_20: Final[str] = "openai/gpt-4o-2024-11-20" # GPT-4o (2024-11-20)
|
|
139
|
+
OPENAI_GPT_4O_MINI: Final[str] = "openai/gpt-4o-mini" # GPT-4o Mini
|
|
140
|
+
OPENAI_GPT_5: Final[str] = "openai/gpt-5" # GPT-5
|
|
141
|
+
OPENAI_GPT_5_CODEX: Final[str] = "openai/gpt-5-codex" # GPT-5 Codex
|
|
142
|
+
OPENAI_GPT_5_MINI: Final[str] = "openai/gpt-5-mini" # GPT-5 Mini
|
|
143
|
+
OPENAI_GPT_5_NANO: Final[str] = "openai/gpt-5-nano" # GPT-5 Nano
|
|
144
|
+
OPENAI_GPT_5_PRO: Final[str] = "openai/gpt-5-pro" # GPT-5 Pro
|
|
145
|
+
OPENAI_GPT_5_1: Final[str] = "openai/gpt-5.1" # GPT-5.1
|
|
146
|
+
OPENAI_GPT_5_1_CHAT_LATEST: Final[str] = "openai/gpt-5.1-chat-latest" # GPT-5.1 Chat Latest
|
|
147
|
+
OPENAI_GPT_5_1_CODEX: Final[str] = "openai/gpt-5.1-codex" # GPT-5.1 Codex
|
|
148
|
+
OPENAI_GPT_5_1_CODEX_MAX: Final[str] = "openai/gpt-5.1-codex-max" # GPT-5.1 Codex Max
|
|
149
|
+
OPENAI_GPT_5_1_CODEX_MINI: Final[str] = "openai/gpt-5.1-codex-mini" # GPT-5.1 Codex Mini
|
|
150
|
+
OPENAI_GPT_5_2: Final[str] = "openai/gpt-5.2" # GPT-5.2 (default)
|
|
151
|
+
OPENAI_GPT_5_2_CHAT_LATEST: Final[str] = "openai/gpt-5.2-chat-latest" # GPT-5.2 Chat Latest
|
|
152
|
+
OPENAI_GPT_5_2_CODEX: Final[str] = "openai/gpt-5.2-codex" # GPT-5.2 Codex
|
|
153
|
+
OPENAI_GPT_5_2_PRO: Final[str] = "openai/gpt-5.2-pro" # GPT-5.2 Pro
|
|
154
|
+
OPENAI_GPT_5_3_CODEX: Final[str] = "openai/gpt-5.3-codex" # GPT-5.3 Codex
|
|
155
|
+
OPENAI_GPT_5_3_CODEX_SPARK: Final[str] = "openai/gpt-5.3-codex-spark" # GPT-5.3 Codex Spark
|
|
156
|
+
OPENAI_GPT_5_4: Final[str] = "openai/gpt-5.4" # GPT-5.4
|
|
157
|
+
OPENAI_GPT_5_4_PRO: Final[str] = "openai/gpt-5.4-pro" # GPT-5.4 Pro
|
|
158
|
+
OPENAI_O1: Final[str] = "openai/o1" # O1
|
|
159
|
+
OPENAI_O1_MINI: Final[str] = "openai/o1-mini" # O1 Mini
|
|
160
|
+
OPENAI_O1_PREVIEW: Final[str] = "openai/o1-preview" # O1 Preview
|
|
161
|
+
OPENAI_O1_PRO: Final[str] = "openai/o1-pro" # O1 Pro
|
|
162
|
+
OPENAI_O3: Final[str] = "openai/o3" # O3
|
|
163
|
+
OPENAI_O3_DEEP_RESEARCH: Final[str] = "openai/o3-deep-research" # O3 Deep Research
|
|
164
|
+
OPENAI_O3_MINI: Final[str] = "openai/o3-mini" # O3 Mini
|
|
165
|
+
OPENAI_O3_PRO: Final[str] = "openai/o3-pro" # O3 Pro
|
|
166
|
+
OPENAI_O4_MINI: Final[str] = "openai/o4-mini" # O4 Mini
|
|
167
|
+
OPENAI_O4_MINI_DEEP_RESEARCH: Final[str] = "openai/o4-mini-deep-research" # O4 Mini Deep Research
|
|
78
168
|
|
|
79
169
|
|
|
80
170
|
class ModelOption(TypedDict):
|
|
@@ -90,43 +180,127 @@ CLAUDE_MODEL_OPTIONS: Final[List[ModelOption]] = [
|
|
|
90
180
|
]
|
|
91
181
|
|
|
92
182
|
CODEX_MODEL_OPTIONS: Final[List[ModelOption]] = [
|
|
93
|
-
{"value": "gpt-5.
|
|
94
|
-
{"value": "gpt-5.3-codex", "label": "GPT-5.3 Codex —
|
|
183
|
+
{"value": "gpt-5.4", "label": "GPT-5.4 — Latest frontier agentic coding model"},
|
|
184
|
+
{"value": "gpt-5.3-codex", "label": "GPT-5.3 Codex — Frontier agentic coding model"},
|
|
95
185
|
{"value": "gpt-5.3-codex-spark", "label": "GPT-5.3 Codex Spark — Ultra-fast coding model"},
|
|
96
|
-
{"value": "gpt-5.
|
|
186
|
+
{"value": "gpt-5.2-codex", "label": "GPT-5.2 Codex — Frontier agentic coding model"},
|
|
97
187
|
{"value": "gpt-5.2", "label": "GPT-5.2 — Frontier model, knowledge & reasoning"},
|
|
188
|
+
{"value": "gpt-5.1-codex-max", "label": "GPT-5.1 Codex Max — Deep and fast reasoning"},
|
|
98
189
|
{"value": "gpt-5.1-codex-mini", "label": "GPT-5.1 Codex Mini — Cheaper, faster"},
|
|
99
190
|
]
|
|
100
191
|
|
|
101
192
|
GEMINI_MODEL_OPTIONS: Final[List[ModelOption]] = [
|
|
102
|
-
{"value": "gemini-3-pro-preview", "label": "Gemini 3 Pro Preview"},
|
|
193
|
+
{"value": "gemini-3.1-pro-preview", "label": "Gemini 3.1 Pro Preview"},
|
|
194
|
+
{"value": "gemini-3-flash-preview", "label": "Gemini 3 Flash Preview"},
|
|
103
195
|
{"value": "gemini-2.5-pro", "label": "Gemini 2.5 Pro"},
|
|
104
196
|
{"value": "gemini-2.5-flash", "label": "Gemini 2.5 Flash"},
|
|
105
197
|
{"value": "gemini-2.5-flash-lite", "label": "Gemini 2.5 Flash Lite"},
|
|
106
198
|
]
|
|
107
199
|
|
|
108
200
|
CURSOR_MODEL_OPTIONS: Final[List[ModelOption]] = [
|
|
109
|
-
{"value": "opus-4.
|
|
201
|
+
{"value": "opus-4.6-thinking", "label": "Claude 4.6 Opus (Thinking)"},
|
|
202
|
+
{"value": "opus-4.6", "label": "Claude 4.6 Opus"},
|
|
110
203
|
{"value": "opus-4.5", "label": "Claude 4.5 Opus"},
|
|
204
|
+
{"value": "opus-4.5-thinking", "label": "Claude 4.5 Opus (Thinking)"},
|
|
205
|
+
{"value": "sonnet-4.6", "label": "Claude 4.6 Sonnet"},
|
|
206
|
+
{"value": "sonnet-4.6-thinking", "label": "Claude 4.6 Sonnet (Thinking)"},
|
|
111
207
|
{"value": "sonnet-4.5", "label": "Claude 4.5 Sonnet"},
|
|
112
208
|
{"value": "sonnet-4.5-thinking", "label": "Claude 4.5 Sonnet (Thinking)"},
|
|
113
|
-
{"value": "
|
|
114
|
-
{"value": "
|
|
115
|
-
{"value": "gpt-5.
|
|
209
|
+
{"value": "composer-1.5", "label": "Composer 1.5"},
|
|
210
|
+
{"value": "composer-1", "label": "Composer 1"},
|
|
211
|
+
{"value": "gpt-5.4-xhigh", "label": "GPT-5.4 Extra High"},
|
|
212
|
+
{"value": "gpt-5.4-xhigh-fast", "label": "GPT-5.4 Extra High Fast"},
|
|
213
|
+
{"value": "gpt-5.4-high", "label": "GPT-5.4 High"},
|
|
214
|
+
{"value": "gpt-5.4-high-fast", "label": "GPT-5.4 High Fast"},
|
|
215
|
+
{"value": "gpt-5.4-medium", "label": "GPT-5.4"},
|
|
216
|
+
{"value": "gpt-5.4-medium-fast", "label": "GPT-5.4 Fast"},
|
|
217
|
+
{"value": "gpt-5.4-low", "label": "GPT-5.4 Low"},
|
|
218
|
+
{"value": "gpt-5.3-codex-xhigh", "label": "GPT-5.3 Codex Extra High"},
|
|
219
|
+
{"value": "gpt-5.3-codex-xhigh-fast", "label": "GPT-5.3 Codex Extra High Fast"},
|
|
220
|
+
{"value": "gpt-5.3-codex-high", "label": "GPT-5.3 Codex High"},
|
|
221
|
+
{"value": "gpt-5.3-codex-high-fast", "label": "GPT-5.3 Codex High Fast"},
|
|
222
|
+
{"value": "gpt-5.3-codex", "label": "GPT-5.3 Codex"},
|
|
223
|
+
{"value": "gpt-5.3-codex-fast", "label": "GPT-5.3 Codex Fast"},
|
|
224
|
+
{"value": "gpt-5.3-codex-low", "label": "GPT-5.3 Codex Low"},
|
|
225
|
+
{"value": "gpt-5.3-codex-low-fast", "label": "GPT-5.3 Codex Low Fast"},
|
|
226
|
+
{"value": "gpt-5.3-codex-spark-preview", "label": "GPT-5.3 Codex Spark"},
|
|
116
227
|
{"value": "gpt-5.2-codex-xhigh", "label": "GPT-5.2 Codex Extra High"},
|
|
117
|
-
{"value": "gpt-5.2-codex-fast", "label": "GPT-5.2 Codex Fast"},
|
|
228
|
+
{"value": "gpt-5.2-codex-xhigh-fast", "label": "GPT-5.2 Codex Extra High Fast"},
|
|
229
|
+
{"value": "gpt-5.2-codex-high", "label": "GPT-5.2 Codex High"},
|
|
118
230
|
{"value": "gpt-5.2-codex-high-fast", "label": "GPT-5.2 Codex High Fast"},
|
|
231
|
+
{"value": "gpt-5.2-codex", "label": "GPT-5.2 Codex"},
|
|
232
|
+
{"value": "gpt-5.2-codex-fast", "label": "GPT-5.2 Codex Fast"},
|
|
233
|
+
{"value": "gpt-5.2-codex-low", "label": "GPT-5.2 Codex Low"},
|
|
119
234
|
{"value": "gpt-5.2-codex-low-fast", "label": "GPT-5.2 Codex Low Fast"},
|
|
120
|
-
{"value": "gpt-5.2-codex-xhigh-fast", "label": "GPT-5.2 Codex Extra High Fast"},
|
|
121
|
-
{"value": "gpt-5.1-codex-max", "label": "GPT-5.1 Codex Max"},
|
|
122
|
-
{"value": "gpt-5.1-codex-max-high", "label": "GPT-5.1 Codex Max High"},
|
|
123
235
|
{"value": "gpt-5.2", "label": "GPT-5.2"},
|
|
124
236
|
{"value": "gpt-5.2-high", "label": "GPT-5.2 High"},
|
|
237
|
+
{"value": "gpt-5.1-codex-max", "label": "GPT-5.1 Codex Max"},
|
|
238
|
+
{"value": "gpt-5.1-codex-max-high", "label": "GPT-5.1 Codex Max High"},
|
|
239
|
+
{"value": "gpt-5.1-codex-mini", "label": "GPT-5.1 Codex Mini"},
|
|
125
240
|
{"value": "gpt-5.1-high", "label": "GPT-5.1 High"},
|
|
241
|
+
{"value": "gemini-3.1-pro", "label": "Gemini 3.1 Pro"},
|
|
126
242
|
{"value": "gemini-3-pro", "label": "Gemini 3 Pro"},
|
|
127
243
|
{"value": "gemini-3-flash", "label": "Gemini 3 Flash"},
|
|
128
|
-
{"value": "composer-1", "label": "Composer 1"},
|
|
129
244
|
{"value": "grok", "label": "Grok"},
|
|
245
|
+
{"value": "kimi-k2.5", "label": "Kimi K2.5"},
|
|
246
|
+
]
|
|
247
|
+
|
|
248
|
+
DROID_MODEL_OPTIONS: Final[List[ModelOption]] = [
|
|
249
|
+
{"value": "opus-4.6-fast", "label": "Opus 4.6 Fast Mode (12x)"},
|
|
250
|
+
{"value": "opus-4.5", "label": "Opus 4.5 (2x)"},
|
|
251
|
+
{"value": "sonnet-4.5", "label": "Sonnet 4.5 (1.2x)"},
|
|
252
|
+
{"value": "haiku-4.5", "label": "Haiku 4.5 (0.4x)"},
|
|
253
|
+
{"value": "gpt-5.2", "label": "GPT-5.2 (0.7x)"},
|
|
254
|
+
{"value": "gpt-5.2-codex", "label": "GPT-5.2 Codex (0.7x)"},
|
|
255
|
+
{"value": "gemini-3-flash", "label": "Gemini 3 Flash (0.2x)"},
|
|
256
|
+
{"value": "droid-core-glm-4.7", "label": "Droid Core (GLM-4.7) (0.25x)"},
|
|
257
|
+
]
|
|
258
|
+
|
|
259
|
+
OPENCODE_MODEL_OPTIONS: Final[List[ModelOption]] = [
|
|
260
|
+
{"value": "opencode/big-pickle", "label": "Big Pickle"},
|
|
261
|
+
{"value": "opencode/gpt-5-nano", "label": "GPT-5 Nano (OpenCode)"},
|
|
262
|
+
{"value": "opencode/mimo-v2-flash-free", "label": "Mimo V2 Flash Free"},
|
|
263
|
+
{"value": "opencode/minimax-m2.5-free", "label": "MiniMax M2.5 Free"},
|
|
264
|
+
{"value": "openai/codex-mini-latest", "label": "Codex Mini Latest"},
|
|
265
|
+
{"value": "openai/gpt-3.5-turbo", "label": "GPT-3.5 Turbo"},
|
|
266
|
+
{"value": "openai/gpt-4", "label": "GPT-4"},
|
|
267
|
+
{"value": "openai/gpt-4-turbo", "label": "GPT-4 Turbo"},
|
|
268
|
+
{"value": "openai/gpt-4.1", "label": "GPT-4.1"},
|
|
269
|
+
{"value": "openai/gpt-4.1-mini", "label": "GPT-4.1 Mini"},
|
|
270
|
+
{"value": "openai/gpt-4.1-nano", "label": "GPT-4.1 Nano"},
|
|
271
|
+
{"value": "openai/gpt-4o", "label": "GPT-4o"},
|
|
272
|
+
{"value": "openai/gpt-4o-2024-05-13", "label": "GPT-4o (2024-05-13)"},
|
|
273
|
+
{"value": "openai/gpt-4o-2024-08-06", "label": "GPT-4o (2024-08-06)"},
|
|
274
|
+
{"value": "openai/gpt-4o-2024-11-20", "label": "GPT-4o (2024-11-20)"},
|
|
275
|
+
{"value": "openai/gpt-4o-mini", "label": "GPT-4o Mini"},
|
|
276
|
+
{"value": "openai/gpt-5", "label": "GPT-5"},
|
|
277
|
+
{"value": "openai/gpt-5-codex", "label": "GPT-5 Codex"},
|
|
278
|
+
{"value": "openai/gpt-5-mini", "label": "GPT-5 Mini"},
|
|
279
|
+
{"value": "openai/gpt-5-nano", "label": "GPT-5 Nano"},
|
|
280
|
+
{"value": "openai/gpt-5-pro", "label": "GPT-5 Pro"},
|
|
281
|
+
{"value": "openai/gpt-5.1", "label": "GPT-5.1"},
|
|
282
|
+
{"value": "openai/gpt-5.1-chat-latest", "label": "GPT-5.1 Chat Latest"},
|
|
283
|
+
{"value": "openai/gpt-5.1-codex", "label": "GPT-5.1 Codex"},
|
|
284
|
+
{"value": "openai/gpt-5.1-codex-max", "label": "GPT-5.1 Codex Max"},
|
|
285
|
+
{"value": "openai/gpt-5.1-codex-mini", "label": "GPT-5.1 Codex Mini"},
|
|
286
|
+
{"value": "openai/gpt-5.2", "label": "GPT-5.2"},
|
|
287
|
+
{"value": "openai/gpt-5.2-chat-latest", "label": "GPT-5.2 Chat Latest"},
|
|
288
|
+
{"value": "openai/gpt-5.2-codex", "label": "GPT-5.2 Codex"},
|
|
289
|
+
{"value": "openai/gpt-5.2-pro", "label": "GPT-5.2 Pro"},
|
|
290
|
+
{"value": "openai/gpt-5.3-codex", "label": "GPT-5.3 Codex"},
|
|
291
|
+
{"value": "openai/gpt-5.3-codex-spark", "label": "GPT-5.3 Codex Spark"},
|
|
292
|
+
{"value": "openai/gpt-5.4", "label": "GPT-5.4"},
|
|
293
|
+
{"value": "openai/gpt-5.4-pro", "label": "GPT-5.4 Pro"},
|
|
294
|
+
{"value": "openai/o1", "label": "O1"},
|
|
295
|
+
{"value": "openai/o1-mini", "label": "O1 Mini"},
|
|
296
|
+
{"value": "openai/o1-preview", "label": "O1 Preview"},
|
|
297
|
+
{"value": "openai/o1-pro", "label": "O1 Pro"},
|
|
298
|
+
{"value": "openai/o3", "label": "O3"},
|
|
299
|
+
{"value": "openai/o3-deep-research", "label": "O3 Deep Research"},
|
|
300
|
+
{"value": "openai/o3-mini", "label": "O3 Mini"},
|
|
301
|
+
{"value": "openai/o3-pro", "label": "O3 Pro"},
|
|
302
|
+
{"value": "openai/o4-mini", "label": "O4 Mini"},
|
|
303
|
+
{"value": "openai/o4-mini-deep-research", "label": "O4 Mini Deep Research"},
|
|
130
304
|
]
|
|
131
305
|
|
|
132
306
|
class Models:
|
|
@@ -135,6 +309,8 @@ class Models:
|
|
|
135
309
|
Codex = CodexModels
|
|
136
310
|
Gemini = GeminiModels
|
|
137
311
|
Cursor = CursorModels
|
|
312
|
+
Droid = DroidModels
|
|
313
|
+
Opencode = OpencodeModels
|
|
138
314
|
|
|
139
315
|
|
|
140
316
|
class ModelOptions:
|
|
@@ -143,6 +319,8 @@ class ModelOptions:
|
|
|
143
319
|
Codex = CODEX_MODEL_OPTIONS
|
|
144
320
|
Gemini = GEMINI_MODEL_OPTIONS
|
|
145
321
|
Cursor = CURSOR_MODEL_OPTIONS
|
|
322
|
+
Droid = DROID_MODEL_OPTIONS
|
|
323
|
+
Opencode = OPENCODE_MODEL_OPTIONS
|
|
146
324
|
|
|
147
325
|
|
|
148
326
|
class SwarmPatterns:
|
|
@@ -161,36 +339,50 @@ class SwarmPatterns:
|
|
|
161
339
|
|
|
162
340
|
DEFAULT_MODELS: Final[dict] = {
|
|
163
341
|
"claude": "sonnet",
|
|
164
|
-
"codex": "gpt-5.
|
|
165
|
-
"gemini": "gemini-
|
|
166
|
-
"cursor": "opus-4.
|
|
342
|
+
"codex": "gpt-5.4",
|
|
343
|
+
"gemini": "gemini-3.1-pro-preview",
|
|
344
|
+
"cursor": "opus-4.6-thinking",
|
|
345
|
+
"droid": "opus-4.6-fast",
|
|
346
|
+
"opencode": "openai/gpt-5.2",
|
|
167
347
|
}
|
|
168
348
|
|
|
169
349
|
CLI_REGISTRY: Final[dict] = {
|
|
170
350
|
"claude": {
|
|
171
351
|
"name": "Claude Code",
|
|
172
352
|
"package": "@anthropic-ai/claude-code",
|
|
173
|
-
"version": "2.1.
|
|
353
|
+
"version": "2.1.72",
|
|
174
354
|
"install": "npm install -g @anthropic-ai/claude-code",
|
|
175
355
|
},
|
|
176
356
|
"codex": {
|
|
177
357
|
"name": "Codex CLI",
|
|
178
358
|
"package": "@openai/codex",
|
|
179
|
-
"version": "0.
|
|
359
|
+
"version": "0.114.0",
|
|
180
360
|
"install": "npm install -g @openai/codex",
|
|
181
361
|
},
|
|
182
362
|
"gemini": {
|
|
183
363
|
"name": "Gemini CLI",
|
|
184
364
|
"package": "@google/gemini-cli",
|
|
185
|
-
"version": "0.
|
|
365
|
+
"version": "0.33.0",
|
|
186
366
|
"install": "npm install -g @google/gemini-cli",
|
|
187
367
|
},
|
|
188
368
|
"cursor": {
|
|
189
369
|
"name": "Cursor",
|
|
190
370
|
"package": "cursor",
|
|
191
|
-
"version": "
|
|
371
|
+
"version": "2026.02.27-e7d2ef6",
|
|
192
372
|
"install": "Download from cursor.com",
|
|
193
373
|
},
|
|
374
|
+
"droid": {
|
|
375
|
+
"name": "Droid",
|
|
376
|
+
"package": "droid",
|
|
377
|
+
"version": "0.1.0",
|
|
378
|
+
"install": "Download from droid.dev",
|
|
379
|
+
},
|
|
380
|
+
"opencode": {
|
|
381
|
+
"name": "OpenCode",
|
|
382
|
+
"package": "opencode-ai",
|
|
383
|
+
"version": "1.2.24",
|
|
384
|
+
"install": "npm install -g opencode-ai",
|
|
385
|
+
},
|
|
194
386
|
"aider": {
|
|
195
387
|
"name": "Aider",
|
|
196
388
|
"package": "aider-chat",
|