agentpool-cli 0.1.0__py3-none-any.whl

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 (60) hide show
  1. agentpool/__init__.py +3 -0
  2. agentpool/agent_io.py +134 -0
  3. agentpool/artifacts.py +151 -0
  4. agentpool/cli.py +1199 -0
  5. agentpool/config.py +373 -0
  6. agentpool/docs/agentpool-skill.md +85 -0
  7. agentpool/docs/onboarding.md +169 -0
  8. agentpool/event_detection.py +150 -0
  9. agentpool/fixtures/__init__.py +1 -0
  10. agentpool/fixtures/fake_agents/__init__.py +1 -0
  11. agentpool/fixtures/fake_agents/fake_approval_agent.py +16 -0
  12. agentpool/fixtures/fake_agents/fake_common.py +44 -0
  13. agentpool/fixtures/fake_agents/fake_completed_agent.py +13 -0
  14. agentpool/fixtures/fake_agents/fake_idle_agent.py +16 -0
  15. agentpool/fixtures/fake_agents/fake_limit_agent.py +14 -0
  16. agentpool/fixtures/fake_agents/fake_patch_agent.py +17 -0
  17. agentpool/fixtures/fake_agents/fake_question_agent.py +16 -0
  18. agentpool/git_worktree.py +144 -0
  19. agentpool/mcp/__init__.py +1 -0
  20. agentpool/mcp/resources.py +64 -0
  21. agentpool/mcp/tools.py +259 -0
  22. agentpool/mcp_server.py +487 -0
  23. agentpool/models.py +310 -0
  24. agentpool/onboarding.py +1279 -0
  25. agentpool/policy.py +63 -0
  26. agentpool/provider_model_catalog.json +997 -0
  27. agentpool/providers/__init__.py +3 -0
  28. agentpool/providers/base.py +411 -0
  29. agentpool/providers/registry.py +139 -0
  30. agentpool/redaction.py +30 -0
  31. agentpool/runtimes/__init__.py +3 -0
  32. agentpool/runtimes/base.py +36 -0
  33. agentpool/runtimes/tmux.py +133 -0
  34. agentpool/session_manager.py +1061 -0
  35. agentpool/stats/__init__.py +6 -0
  36. agentpool/stats/card.py +74 -0
  37. agentpool/stats/compute.py +496 -0
  38. agentpool/stats/queries.py +138 -0
  39. agentpool/stats/render.py +103 -0
  40. agentpool/stats/window.py +85 -0
  41. agentpool/store.py +478 -0
  42. agentpool/usage/__init__.py +1 -0
  43. agentpool/usage/_common.py +223 -0
  44. agentpool/usage/ccusage.py +130 -0
  45. agentpool/usage/claude.py +23 -0
  46. agentpool/usage/codex.py +210 -0
  47. agentpool/usage/codexbar.py +186 -0
  48. agentpool/usage/combine.py +71 -0
  49. agentpool/usage/copilot.py +146 -0
  50. agentpool/usage/devin.py +265 -0
  51. agentpool/usage/parsers.py +41 -0
  52. agentpool/usage/probes.py +52 -0
  53. agentpool/usage/provider_parsers.py +276 -0
  54. agentpool/usage/summary.py +166 -0
  55. agentpool/utils.py +59 -0
  56. agentpool_cli-0.1.0.dist-info/METADATA +292 -0
  57. agentpool_cli-0.1.0.dist-info/RECORD +60 -0
  58. agentpool_cli-0.1.0.dist-info/WHEEL +4 -0
  59. agentpool_cli-0.1.0.dist-info/entry_points.txt +2 -0
  60. agentpool_cli-0.1.0.dist-info/licenses/LICENSE +21 -0
@@ -0,0 +1,997 @@
1
+ {
2
+ "version": 1,
3
+ "providers": {
4
+ "claude-code": {
5
+ "default_model": "sonnet",
6
+ "smoke_model": "sonnet",
7
+ "model_arg": "--model",
8
+ "catalog_completeness": "cli_help_aliases_and_examples",
9
+ "quirks": [
10
+ "interactive_usage_command",
11
+ "startup_mcp_warnings_do_not_block"
12
+ ],
13
+ "models": [
14
+ {
15
+ "id": "sonnet",
16
+ "display_name": "Claude Sonnet",
17
+ "source": "config",
18
+ "confidence": "local_config",
19
+ "metadata": {
20
+ "family": "claude",
21
+ "reasoning": {
22
+ "supported": [
23
+ "off",
24
+ "low",
25
+ "medium",
26
+ "high",
27
+ "max"
28
+ ],
29
+ "default": "high"
30
+ }
31
+ }
32
+ },
33
+ {
34
+ "id": "opus",
35
+ "display_name": "Claude Opus",
36
+ "source": "config",
37
+ "confidence": "local_config",
38
+ "metadata": {
39
+ "family": "claude",
40
+ "reasoning": {
41
+ "supported": [
42
+ "off",
43
+ "low",
44
+ "medium",
45
+ "high",
46
+ "max"
47
+ ],
48
+ "default": "high"
49
+ }
50
+ }
51
+ },
52
+ {
53
+ "id": "claude-sonnet-4-6",
54
+ "display_name": "Claude Sonnet 4.6",
55
+ "source": "config",
56
+ "confidence": "observed",
57
+ "aliases": [
58
+ "sonnet"
59
+ ],
60
+ "metadata": {
61
+ "family": "claude",
62
+ "reasoning": {
63
+ "supported": [
64
+ "off",
65
+ "low",
66
+ "medium",
67
+ "high",
68
+ "max"
69
+ ],
70
+ "default": "high"
71
+ }
72
+ }
73
+ },
74
+ {
75
+ "id": "claude-opus-4-6",
76
+ "display_name": "Claude Opus 4.6",
77
+ "source": "config",
78
+ "confidence": "local_config",
79
+ "aliases": [
80
+ "opus"
81
+ ],
82
+ "metadata": {
83
+ "family": "claude",
84
+ "reasoning": {
85
+ "supported": [
86
+ "off",
87
+ "low",
88
+ "medium",
89
+ "high",
90
+ "max"
91
+ ],
92
+ "default": "high"
93
+ }
94
+ }
95
+ }
96
+ ]
97
+ },
98
+ "codex-cli": {
99
+ "default_model": "gpt-5.5",
100
+ "smoke_model": "gpt-5.5",
101
+ "model_arg": "--model",
102
+ "default_initial_prompt_mode": "arg",
103
+ "reasoning_effort_config_key": "model_reasoning_effort",
104
+ "service_tier_config_key": "service_tier",
105
+ "submit_keys": [
106
+ "C-m"
107
+ ],
108
+ "catalog_completeness": "codex_debug_models_subset",
109
+ "quirks": [
110
+ "startup_update_prompt",
111
+ "startup_trust_prompt",
112
+ "low_weekly_limit_warning"
113
+ ],
114
+ "models": [
115
+ {
116
+ "id": "gpt-5.5",
117
+ "display_name": "GPT-5.5",
118
+ "source": "config",
119
+ "confidence": "observed",
120
+ "metadata": {
121
+ "family": "gpt",
122
+ "reasoning": {
123
+ "supported": [
124
+ "low",
125
+ "medium",
126
+ "high",
127
+ "xhigh"
128
+ ],
129
+ "default": "medium"
130
+ },
131
+ "service_tiers": [
132
+ "fast"
133
+ ]
134
+ }
135
+ },
136
+ {
137
+ "id": "gpt-5.4",
138
+ "display_name": "GPT-5.4",
139
+ "source": "config",
140
+ "confidence": "observed",
141
+ "metadata": {
142
+ "family": "gpt",
143
+ "reasoning": {
144
+ "supported": [
145
+ "low",
146
+ "medium",
147
+ "high",
148
+ "xhigh"
149
+ ],
150
+ "default": "high"
151
+ },
152
+ "service_tiers": [
153
+ "fast"
154
+ ]
155
+ }
156
+ },
157
+ {
158
+ "id": "gpt-5.4-mini",
159
+ "display_name": "GPT-5.4 Mini",
160
+ "source": "config",
161
+ "confidence": "observed",
162
+ "metadata": {
163
+ "family": "gpt",
164
+ "reasoning": {
165
+ "supported": [
166
+ "low",
167
+ "medium",
168
+ "high",
169
+ "xhigh"
170
+ ],
171
+ "default": "high"
172
+ }
173
+ }
174
+ },
175
+ {
176
+ "id": "gpt-5.3-codex",
177
+ "display_name": "GPT-5.3 Codex",
178
+ "source": "config",
179
+ "confidence": "observed",
180
+ "metadata": {
181
+ "family": "gpt-codex",
182
+ "reasoning": {
183
+ "supported": [
184
+ "low",
185
+ "medium",
186
+ "high",
187
+ "xhigh"
188
+ ],
189
+ "default": "medium"
190
+ }
191
+ }
192
+ },
193
+ {
194
+ "id": "gpt-5.3-codex-spark",
195
+ "display_name": "GPT-5.3 Codex Spark",
196
+ "source": "config",
197
+ "confidence": "observed",
198
+ "metadata": {
199
+ "family": "gpt-codex",
200
+ "reasoning": {
201
+ "supported": [
202
+ "low",
203
+ "medium",
204
+ "high",
205
+ "xhigh"
206
+ ],
207
+ "default": "high"
208
+ }
209
+ }
210
+ },
211
+ {
212
+ "id": "gpt-5.2",
213
+ "display_name": "GPT-5.2",
214
+ "source": "config",
215
+ "confidence": "observed",
216
+ "metadata": {
217
+ "family": "gpt",
218
+ "reasoning": {
219
+ "supported": [
220
+ "low",
221
+ "medium",
222
+ "high",
223
+ "xhigh"
224
+ ],
225
+ "default": "low"
226
+ }
227
+ }
228
+ }
229
+ ]
230
+ },
231
+ "cursor-cli": {
232
+ "default_model": "composer-2.5",
233
+ "smoke_model": "composer-2.5",
234
+ "model_arg": "--model",
235
+ "default_initial_prompt_mode": "arg",
236
+ "read_only_mode_arg": "ask",
237
+ "catalog_completeness": "cursor_agent_launch_error_observed",
238
+ "quirks": [
239
+ "binary_may_be_agent_or_cursor-agent",
240
+ "read_only_uses_ask_mode",
241
+ "trust_flag_headless_only",
242
+ "native_usage_interactive_slash_usage_only",
243
+ "codexbar_cursor_usage_optional"
244
+ ],
245
+ "models": [
246
+ {
247
+ "id": "composer-2.5",
248
+ "display_name": "Composer 2.5",
249
+ "source": "config",
250
+ "confidence": "observed",
251
+ "metadata": {
252
+ "family": "cursor"
253
+ }
254
+ },
255
+ {
256
+ "id": "composer-2.5-fast",
257
+ "display_name": "Composer 2.5 Fast",
258
+ "source": "config",
259
+ "confidence": "observed",
260
+ "metadata": {
261
+ "family": "cursor"
262
+ }
263
+ },
264
+ {
265
+ "id": "composer-2",
266
+ "display_name": "Composer 2",
267
+ "source": "config",
268
+ "confidence": "observed",
269
+ "metadata": {
270
+ "family": "cursor"
271
+ }
272
+ },
273
+ {
274
+ "id": "composer-2-fast",
275
+ "display_name": "Composer 2 Fast",
276
+ "source": "config",
277
+ "confidence": "observed",
278
+ "metadata": {
279
+ "family": "cursor"
280
+ }
281
+ },
282
+ {
283
+ "id": "auto",
284
+ "display_name": "Auto",
285
+ "source": "config",
286
+ "confidence": "observed",
287
+ "metadata": {
288
+ "family": "auto"
289
+ }
290
+ },
291
+ {
292
+ "id": "gpt-5.5-high",
293
+ "display_name": "GPT-5.5 High",
294
+ "source": "config",
295
+ "confidence": "observed",
296
+ "metadata": {
297
+ "family": "gpt"
298
+ }
299
+ },
300
+ {
301
+ "id": "gpt-5.5-high-fast",
302
+ "display_name": "GPT-5.5 High Fast",
303
+ "source": "config",
304
+ "confidence": "observed",
305
+ "metadata": {
306
+ "family": "gpt"
307
+ }
308
+ },
309
+ {
310
+ "id": "gpt-5.4-high",
311
+ "display_name": "GPT-5.4 High",
312
+ "source": "config",
313
+ "confidence": "observed",
314
+ "metadata": {
315
+ "family": "gpt"
316
+ }
317
+ },
318
+ {
319
+ "id": "gpt-5.4-high-fast",
320
+ "display_name": "GPT-5.4 High Fast",
321
+ "source": "config",
322
+ "confidence": "observed",
323
+ "metadata": {
324
+ "family": "gpt"
325
+ }
326
+ },
327
+ {
328
+ "id": "gpt-5.3-codex-high",
329
+ "display_name": "GPT-5.3 Codex High",
330
+ "source": "config",
331
+ "confidence": "observed",
332
+ "metadata": {
333
+ "family": "gpt-codex"
334
+ }
335
+ },
336
+ {
337
+ "id": "gpt-5.3-codex-high-fast",
338
+ "display_name": "GPT-5.3 Codex High Fast",
339
+ "source": "config",
340
+ "confidence": "observed",
341
+ "metadata": {
342
+ "family": "gpt-codex"
343
+ }
344
+ },
345
+ {
346
+ "id": "claude-4.6-sonnet-medium",
347
+ "display_name": "Claude 4.6 Sonnet Medium",
348
+ "source": "config",
349
+ "confidence": "observed",
350
+ "metadata": {
351
+ "family": "claude"
352
+ }
353
+ },
354
+ {
355
+ "id": "claude-4.6-sonnet-medium-thinking",
356
+ "display_name": "Claude 4.6 Sonnet Medium Thinking",
357
+ "source": "config",
358
+ "confidence": "observed",
359
+ "metadata": {
360
+ "family": "claude"
361
+ }
362
+ },
363
+ {
364
+ "id": "claude-opus-4-7-high",
365
+ "display_name": "Claude Opus 4.7 High",
366
+ "source": "config",
367
+ "confidence": "observed",
368
+ "metadata": {
369
+ "family": "claude"
370
+ }
371
+ },
372
+ {
373
+ "id": "gemini-3.1-pro",
374
+ "display_name": "Gemini 3.1 Pro",
375
+ "source": "config",
376
+ "confidence": "observed",
377
+ "metadata": {
378
+ "family": "gemini"
379
+ }
380
+ },
381
+ {
382
+ "id": "gemini-3-flash",
383
+ "display_name": "Gemini 3 Flash",
384
+ "source": "config",
385
+ "confidence": "observed",
386
+ "metadata": {
387
+ "family": "gemini"
388
+ }
389
+ },
390
+ {
391
+ "id": "grok-4.3",
392
+ "display_name": "Grok 4.3",
393
+ "source": "config",
394
+ "confidence": "observed",
395
+ "metadata": {
396
+ "family": "grok"
397
+ }
398
+ },
399
+ {
400
+ "id": "kimi-k2.5",
401
+ "display_name": "Kimi K2.5",
402
+ "source": "config",
403
+ "confidence": "observed",
404
+ "metadata": {
405
+ "family": "kimi"
406
+ }
407
+ }
408
+ ]
409
+ },
410
+ "opencode": {
411
+ "catalog_completeness": "not_verified",
412
+ "quirks": [
413
+ "live_smoke_skipped",
414
+ "native_usage_unknown"
415
+ ],
416
+ "models": []
417
+ },
418
+ "copilot-cli": {
419
+ "default_model": "gpt-5.5",
420
+ "smoke_model": "gpt-5.5",
421
+ "model_arg": "--model",
422
+ "forward_separator": "--",
423
+ "read_only_mode_arg": "plan",
424
+ "catalog_completeness": "cli_help_examples",
425
+ "quirks": [
426
+ "gh_copilot_requires_separator_for_args",
427
+ "read_only_uses_plan_mode"
428
+ ],
429
+ "models": [
430
+ {
431
+ "id": "gpt-5.5",
432
+ "display_name": "GPT-5.5",
433
+ "source": "config",
434
+ "confidence": "observed",
435
+ "metadata": {
436
+ "family": "gpt"
437
+ }
438
+ },
439
+ {
440
+ "id": "gpt-5.2",
441
+ "display_name": "GPT-5.2",
442
+ "source": "config",
443
+ "confidence": "local_config",
444
+ "metadata": {
445
+ "family": "gpt"
446
+ }
447
+ },
448
+ {
449
+ "id": "claude-sonnet-4.5",
450
+ "display_name": "Claude Sonnet 4.5",
451
+ "source": "config",
452
+ "confidence": "unknown",
453
+ "metadata": {
454
+ "family": "claude"
455
+ }
456
+ }
457
+ ]
458
+ },
459
+ "droid-cli": {
460
+ "default_model": "glm-5.1",
461
+ "smoke_model": "glm-5.1",
462
+ "model_selection": "runtime_settings",
463
+ "catalog_completeness": "droid_exec_help_observed",
464
+ "quirks": [
465
+ "interactive_model_pin_uses_process_local_settings",
466
+ "no_native_usage_probe_confirmed"
467
+ ],
468
+ "models": [
469
+ {
470
+ "id": "glm-5.1",
471
+ "display_name": "Droid Core GLM-5.1",
472
+ "source": "config",
473
+ "confidence": "observed",
474
+ "metadata": {
475
+ "family": "droid-core",
476
+ "reasoning": {
477
+ "supported": [
478
+ "off",
479
+ "high"
480
+ ],
481
+ "default": "high"
482
+ }
483
+ }
484
+ },
485
+ {
486
+ "id": "kimi-k2.6",
487
+ "display_name": "Droid Core Kimi K2.6",
488
+ "source": "config",
489
+ "confidence": "observed",
490
+ "metadata": {
491
+ "family": "droid-core",
492
+ "reasoning": {
493
+ "supported": [
494
+ "off",
495
+ "high"
496
+ ],
497
+ "default": "high"
498
+ }
499
+ }
500
+ },
501
+ {
502
+ "id": "kimi-k2.5",
503
+ "display_name": "Droid Core Kimi K2.5",
504
+ "source": "config",
505
+ "confidence": "observed",
506
+ "metadata": {
507
+ "family": "droid-core",
508
+ "reasoning": {
509
+ "supported": [
510
+ "off",
511
+ "high"
512
+ ],
513
+ "default": "high"
514
+ }
515
+ }
516
+ },
517
+ {
518
+ "id": "deepseek-v4-pro",
519
+ "display_name": "DeepSeek V4 Pro",
520
+ "source": "config",
521
+ "confidence": "observed",
522
+ "metadata": {
523
+ "family": "droid-core",
524
+ "reasoning": {
525
+ "supported": [
526
+ "off",
527
+ "high",
528
+ "max"
529
+ ],
530
+ "default": "high"
531
+ }
532
+ }
533
+ },
534
+ {
535
+ "id": "minimax-m2.7",
536
+ "display_name": "MiniMax M2.7",
537
+ "source": "config",
538
+ "confidence": "observed",
539
+ "metadata": {
540
+ "family": "droid-core",
541
+ "reasoning": {
542
+ "supported": [
543
+ "high"
544
+ ],
545
+ "default": "high"
546
+ }
547
+ }
548
+ },
549
+ {
550
+ "id": "minimax-m2.5",
551
+ "display_name": "MiniMax M2.5",
552
+ "source": "config",
553
+ "confidence": "observed",
554
+ "metadata": {
555
+ "family": "droid-core",
556
+ "reasoning": {
557
+ "supported": [
558
+ "low",
559
+ "medium",
560
+ "high"
561
+ ],
562
+ "default": "high"
563
+ }
564
+ }
565
+ },
566
+ {
567
+ "id": "claude-opus-4-7",
568
+ "display_name": "Claude Opus 4.7",
569
+ "source": "config",
570
+ "confidence": "observed",
571
+ "metadata": {
572
+ "family": "claude",
573
+ "reasoning": {
574
+ "supported": [
575
+ "off",
576
+ "low",
577
+ "medium",
578
+ "high",
579
+ "xhigh"
580
+ ],
581
+ "default": "high"
582
+ }
583
+ }
584
+ },
585
+ {
586
+ "id": "claude-opus-4-6",
587
+ "display_name": "Claude Opus 4.6",
588
+ "source": "config",
589
+ "confidence": "observed",
590
+ "metadata": {
591
+ "family": "claude",
592
+ "reasoning": {
593
+ "supported": [
594
+ "off",
595
+ "low",
596
+ "medium",
597
+ "high",
598
+ "max"
599
+ ],
600
+ "default": "high"
601
+ }
602
+ }
603
+ },
604
+ {
605
+ "id": "claude-opus-4-6-fast",
606
+ "display_name": "Claude Opus 4.6 Fast",
607
+ "source": "config",
608
+ "confidence": "observed",
609
+ "metadata": {
610
+ "family": "claude",
611
+ "reasoning": {
612
+ "supported": [
613
+ "off",
614
+ "low",
615
+ "medium",
616
+ "high",
617
+ "max"
618
+ ],
619
+ "default": "high"
620
+ }
621
+ }
622
+ },
623
+ {
624
+ "id": "claude-opus-4-5-20251101",
625
+ "display_name": "Claude Opus 4.5",
626
+ "source": "config",
627
+ "confidence": "observed",
628
+ "metadata": {
629
+ "family": "claude",
630
+ "reasoning": {
631
+ "supported": [
632
+ "off",
633
+ "low",
634
+ "medium",
635
+ "high",
636
+ "max"
637
+ ],
638
+ "default": "high"
639
+ }
640
+ }
641
+ },
642
+ {
643
+ "id": "claude-sonnet-4-6",
644
+ "display_name": "Claude Sonnet 4.6",
645
+ "source": "config",
646
+ "confidence": "observed",
647
+ "metadata": {
648
+ "family": "claude",
649
+ "reasoning": {
650
+ "supported": [
651
+ "off",
652
+ "low",
653
+ "medium",
654
+ "high",
655
+ "max"
656
+ ],
657
+ "default": "high"
658
+ }
659
+ }
660
+ },
661
+ {
662
+ "id": "claude-sonnet-4-5-20250929",
663
+ "display_name": "Claude Sonnet 4.5",
664
+ "source": "config",
665
+ "confidence": "observed",
666
+ "metadata": {
667
+ "family": "claude",
668
+ "reasoning": {
669
+ "supported": [
670
+ "off",
671
+ "low",
672
+ "medium",
673
+ "high",
674
+ "max"
675
+ ],
676
+ "default": "high"
677
+ }
678
+ }
679
+ },
680
+ {
681
+ "id": "claude-haiku-4-5-20251001",
682
+ "display_name": "Claude Haiku 4.5",
683
+ "source": "config",
684
+ "confidence": "observed",
685
+ "metadata": {
686
+ "family": "claude",
687
+ "reasoning": {
688
+ "supported": [
689
+ "off",
690
+ "low",
691
+ "medium",
692
+ "high",
693
+ "max"
694
+ ],
695
+ "default": "off"
696
+ }
697
+ }
698
+ },
699
+ {
700
+ "id": "gpt-5.5",
701
+ "display_name": "GPT-5.5",
702
+ "source": "config",
703
+ "confidence": "observed",
704
+ "metadata": {
705
+ "family": "gpt",
706
+ "reasoning": {
707
+ "supported": [
708
+ "low",
709
+ "medium",
710
+ "high",
711
+ "xhigh"
712
+ ],
713
+ "default": "medium"
714
+ }
715
+ }
716
+ },
717
+ {
718
+ "id": "gpt-5.5-fast",
719
+ "display_name": "GPT-5.5 Fast",
720
+ "source": "config",
721
+ "confidence": "observed",
722
+ "metadata": {
723
+ "family": "gpt",
724
+ "reasoning": {
725
+ "supported": [
726
+ "low",
727
+ "medium",
728
+ "high",
729
+ "xhigh"
730
+ ],
731
+ "default": "medium"
732
+ }
733
+ }
734
+ },
735
+ {
736
+ "id": "gpt-5.5-pro",
737
+ "display_name": "GPT-5.5 Pro",
738
+ "source": "config",
739
+ "confidence": "observed",
740
+ "metadata": {
741
+ "family": "gpt",
742
+ "reasoning": {
743
+ "supported": [
744
+ "low",
745
+ "medium",
746
+ "high",
747
+ "xhigh"
748
+ ],
749
+ "default": "medium"
750
+ }
751
+ }
752
+ },
753
+ {
754
+ "id": "gpt-5.4",
755
+ "display_name": "GPT-5.4",
756
+ "source": "config",
757
+ "confidence": "observed",
758
+ "metadata": {
759
+ "family": "gpt",
760
+ "reasoning": {
761
+ "supported": [
762
+ "low",
763
+ "medium",
764
+ "high",
765
+ "xhigh"
766
+ ],
767
+ "default": "medium"
768
+ }
769
+ }
770
+ },
771
+ {
772
+ "id": "gpt-5.4-fast",
773
+ "display_name": "GPT-5.4 Fast",
774
+ "source": "config",
775
+ "confidence": "observed",
776
+ "metadata": {
777
+ "family": "gpt",
778
+ "reasoning": {
779
+ "supported": [
780
+ "low",
781
+ "medium",
782
+ "high",
783
+ "xhigh"
784
+ ],
785
+ "default": "medium"
786
+ }
787
+ }
788
+ },
789
+ {
790
+ "id": "gpt-5.4-mini",
791
+ "display_name": "GPT-5.4 Mini",
792
+ "source": "config",
793
+ "confidence": "observed",
794
+ "metadata": {
795
+ "family": "gpt",
796
+ "reasoning": {
797
+ "supported": [
798
+ "low",
799
+ "medium",
800
+ "high",
801
+ "xhigh"
802
+ ],
803
+ "default": "high"
804
+ }
805
+ }
806
+ },
807
+ {
808
+ "id": "gpt-5.3-codex",
809
+ "display_name": "GPT-5.3 Codex",
810
+ "source": "config",
811
+ "confidence": "observed",
812
+ "metadata": {
813
+ "family": "gpt-codex",
814
+ "reasoning": {
815
+ "supported": [
816
+ "low",
817
+ "medium",
818
+ "high",
819
+ "xhigh"
820
+ ],
821
+ "default": "medium"
822
+ }
823
+ }
824
+ },
825
+ {
826
+ "id": "gpt-5.3-codex-fast",
827
+ "display_name": "GPT-5.3 Codex Fast",
828
+ "source": "config",
829
+ "confidence": "observed",
830
+ "metadata": {
831
+ "family": "gpt-codex",
832
+ "reasoning": {
833
+ "supported": [
834
+ "low",
835
+ "medium",
836
+ "high",
837
+ "xhigh"
838
+ ],
839
+ "default": "medium"
840
+ }
841
+ }
842
+ },
843
+ {
844
+ "id": "gpt-5.2",
845
+ "display_name": "GPT-5.2",
846
+ "source": "config",
847
+ "confidence": "observed",
848
+ "metadata": {
849
+ "family": "gpt",
850
+ "reasoning": {
851
+ "supported": [
852
+ "low",
853
+ "medium",
854
+ "high",
855
+ "xhigh"
856
+ ],
857
+ "default": "low"
858
+ }
859
+ }
860
+ },
861
+ {
862
+ "id": "gpt-5.2-codex",
863
+ "display_name": "GPT-5.2 Codex",
864
+ "source": "config",
865
+ "confidence": "observed",
866
+ "metadata": {
867
+ "family": "gpt-codex",
868
+ "reasoning": {
869
+ "supported": [
870
+ "low",
871
+ "medium",
872
+ "high",
873
+ "xhigh"
874
+ ],
875
+ "default": "medium"
876
+ }
877
+ }
878
+ },
879
+ {
880
+ "id": "gemini-3.1-pro-preview",
881
+ "display_name": "Gemini 3.1 Pro Preview",
882
+ "source": "config",
883
+ "confidence": "observed",
884
+ "metadata": {
885
+ "family": "gemini",
886
+ "reasoning": {
887
+ "supported": [
888
+ "low",
889
+ "medium",
890
+ "high"
891
+ ],
892
+ "default": "high"
893
+ }
894
+ }
895
+ },
896
+ {
897
+ "id": "gemini-3-flash-preview",
898
+ "display_name": "Gemini 3 Flash Preview",
899
+ "source": "config",
900
+ "confidence": "observed",
901
+ "metadata": {
902
+ "family": "gemini",
903
+ "reasoning": {
904
+ "supported": [
905
+ "minimal",
906
+ "low",
907
+ "medium",
908
+ "high"
909
+ ],
910
+ "default": "high"
911
+ }
912
+ }
913
+ },
914
+ {
915
+ "id": "glm-5",
916
+ "display_name": "GLM-5",
917
+ "source": "config",
918
+ "confidence": "observed",
919
+ "metadata": {
920
+ "family": "droid-core",
921
+ "deprecated": true
922
+ }
923
+ },
924
+ {
925
+ "id": "glm-4.7",
926
+ "display_name": "GLM-4.7",
927
+ "source": "config",
928
+ "confidence": "observed",
929
+ "metadata": {
930
+ "family": "droid-core",
931
+ "deprecated": true
932
+ }
933
+ },
934
+ {
935
+ "id": "gpt-5.1-codex-max",
936
+ "display_name": "GPT-5.1 Codex Max",
937
+ "source": "config",
938
+ "confidence": "observed",
939
+ "metadata": {
940
+ "family": "gpt-codex",
941
+ "deprecated": true
942
+ }
943
+ }
944
+ ]
945
+ },
946
+ "devin-cli": {
947
+ "default_model": "codex",
948
+ "smoke_model": "codex",
949
+ "model_arg": "--model",
950
+ "catalog_completeness": "cli_help_examples",
951
+ "quirks": [
952
+ "usage_plan_status_api_has_daily_weekly_on_demand"
953
+ ],
954
+ "models": [
955
+ {
956
+ "id": "codex",
957
+ "display_name": "Codex",
958
+ "source": "config",
959
+ "confidence": "observed",
960
+ "metadata": {
961
+ "family": "codex"
962
+ }
963
+ },
964
+ {
965
+ "id": "opus",
966
+ "display_name": "Claude Opus",
967
+ "source": "config",
968
+ "confidence": "observed",
969
+ "metadata": {
970
+ "family": "claude"
971
+ }
972
+ },
973
+ {
974
+ "id": "claude-opus-4.6",
975
+ "display_name": "Claude Opus 4.6",
976
+ "source": "config",
977
+ "confidence": "observed",
978
+ "aliases": [
979
+ "opus"
980
+ ],
981
+ "metadata": {
982
+ "family": "claude"
983
+ }
984
+ },
985
+ {
986
+ "id": "claude-sonnet-4",
987
+ "display_name": "Claude Sonnet 4",
988
+ "source": "config",
989
+ "confidence": "observed",
990
+ "metadata": {
991
+ "family": "claude"
992
+ }
993
+ }
994
+ ]
995
+ }
996
+ }
997
+ }