|
14 | 14 | 'CURSOR_AGENT', |
15 | 15 | 'GEMINI_CLI', |
16 | 16 | 'CODEX_SANDBOX', |
| 17 | + 'CODEX_THREAD_ID', |
17 | 18 | 'AUGMENT_AGENT', |
18 | 19 | 'OPENCODE_CLIENT', |
| 20 | + 'OPENCODE', |
| 21 | + 'AMP_CURRENT_THREAD_ID', |
19 | 22 | 'CLAUDECODE', |
20 | 23 | 'CLAUDE_CODE', |
21 | 24 | 'REPL_ID', |
|
33 | 36 | 'CURSOR_AGENT', |
34 | 37 | 'GEMINI_CLI', |
35 | 38 | 'CODEX_SANDBOX', |
| 39 | + 'CODEX_THREAD_ID', |
36 | 40 | 'AUGMENT_AGENT', |
37 | 41 | 'OPENCODE_CLIENT', |
| 42 | + 'OPENCODE', |
| 43 | + 'AMP_CURRENT_THREAD_ID', |
38 | 44 | 'CLAUDECODE', |
39 | 45 | 'CLAUDE_CODE', |
40 | 46 | 'REPL_ID', |
|
104 | 110 | ->and($result->knownAgent())->toBe(KnownAgent::Codex); |
105 | 111 | }); |
106 | 112 |
|
| 113 | +it('detects codex via CODEX_THREAD_ID', function (): void { |
| 114 | + putenv('CODEX_THREAD_ID=some-thread-id'); |
| 115 | + |
| 116 | + $result = AgentDetector::detect(); |
| 117 | + |
| 118 | + expect($result->isAgent)->toBeTrue() |
| 119 | + ->and($result->name)->toBe('codex') |
| 120 | + ->and($result->knownAgent())->toBe(KnownAgent::Codex); |
| 121 | +}); |
| 122 | + |
107 | 123 | it('detects augment-cli via AUGMENT_AGENT', function (): void { |
108 | 124 | putenv('AUGMENT_AGENT=true'); |
109 | 125 |
|
|
124 | 140 | ->and($result->knownAgent())->toBe(KnownAgent::Opencode); |
125 | 141 | }); |
126 | 142 |
|
| 143 | +it('detects opencode via OPENCODE', function (): void { |
| 144 | + putenv('OPENCODE=true'); |
| 145 | + |
| 146 | + $result = AgentDetector::detect(); |
| 147 | + |
| 148 | + expect($result->isAgent)->toBeTrue() |
| 149 | + ->and($result->name)->toBe('opencode') |
| 150 | + ->and($result->knownAgent())->toBe(KnownAgent::Opencode); |
| 151 | +}); |
| 152 | + |
| 153 | +it('detects amp via AMP_CURRENT_THREAD_ID', function (): void { |
| 154 | + putenv('AMP_CURRENT_THREAD_ID=some-thread-id'); |
| 155 | + |
| 156 | + $result = AgentDetector::detect(); |
| 157 | + |
| 158 | + expect($result->isAgent)->toBeTrue() |
| 159 | + ->and($result->name)->toBe('amp') |
| 160 | + ->and($result->knownAgent())->toBe(KnownAgent::Amp); |
| 161 | +}); |
| 162 | + |
127 | 163 | it('detects claude via CLAUDECODE', function (): void { |
128 | 164 | putenv('CLAUDECODE=1'); |
129 | 165 |
|
|
265 | 301 | 'codex' => ['CODEX_SANDBOX', 'true', KnownAgent::Codex], |
266 | 302 | 'augment-cli' => ['AUGMENT_AGENT', 'true', KnownAgent::AugmentCli], |
267 | 303 | 'opencode' => ['OPENCODE_CLIENT', 'true', KnownAgent::Opencode], |
| 304 | + 'amp' => ['AMP_CURRENT_THREAD_ID', 'thread-id', KnownAgent::Amp], |
268 | 305 | 'claude' => ['CLAUDECODE', '1', KnownAgent::Claude], |
269 | 306 | 'replit' => ['REPL_ID', 'id', KnownAgent::Replit], |
270 | 307 | ]); |
|
0 commit comments