codex-multi-auth 2.22.0 → 2.24.0

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 (117) hide show
  1. package/.codex-plugin/plugin.json +9 -9
  2. package/LICENSE +21 -21
  3. package/README.md +159 -150
  4. package/assets/codex-multi-auth-icon.svg +39 -39
  5. package/assets/readme-hero.svg +31 -31
  6. package/config/README.md +31 -31
  7. package/config/codex-legacy.json +1021 -1021
  8. package/config/codex-modern.json +347 -347
  9. package/config/minimal-codex.json +15 -15
  10. package/config/schema/config.schema.json +8 -0
  11. package/dist/index.js +33 -10
  12. package/dist/lib/account-policy.d.ts +2 -0
  13. package/dist/lib/account-policy.js +3 -1
  14. package/dist/lib/accounts/rate-limits.d.ts +6 -0
  15. package/dist/lib/accounts/rate-limits.js +14 -1
  16. package/dist/lib/accounts.d.ts +6 -1
  17. package/dist/lib/accounts.js +33 -8
  18. package/dist/lib/api-route-store.d.ts +1 -0
  19. package/dist/lib/api-route-store.js +2 -1
  20. package/dist/lib/auth/account-access.js +2 -1
  21. package/dist/lib/auth/auth.js +3 -2
  22. package/dist/lib/auth/device-auth.js +2 -1
  23. package/dist/lib/auth/http.d.ts +1 -0
  24. package/dist/lib/auth/http.js +1 -0
  25. package/dist/lib/auth/token-utils.d.ts +5 -0
  26. package/dist/lib/auth/token-utils.js +10 -0
  27. package/dist/lib/codex-manager/account-manager-commands.js +1 -0
  28. package/dist/lib/codex-manager/commands/account.js +15 -0
  29. package/dist/lib/codex-manager/commands/locale.d.ts +12 -0
  30. package/dist/lib/codex-manager/commands/locale.js +25 -0
  31. package/dist/lib/codex-manager/commands/resets.js +18 -5
  32. package/dist/lib/codex-manager/commands/status.d.ts +4 -0
  33. package/dist/lib/codex-manager/commands/status.js +476 -5
  34. package/dist/lib/codex-manager/commands/workspace.d.ts +4 -2
  35. package/dist/lib/codex-manager/commands/workspace.js +33 -2
  36. package/dist/lib/codex-manager/help.js +5 -3
  37. package/dist/lib/codex-manager.js +112 -30
  38. package/dist/lib/config.js +3 -0
  39. package/dist/lib/constants.d.ts +2 -0
  40. package/dist/lib/constants.js +2 -0
  41. package/dist/lib/context-budget-response.js +8 -8
  42. package/dist/lib/context-overflow.js +10 -10
  43. package/dist/lib/locale.d.ts +7 -0
  44. package/dist/lib/locale.js +35 -0
  45. package/dist/lib/oauth-success.html +125 -125
  46. package/dist/lib/policy/runtime-policy-cache.js +1 -1
  47. package/dist/lib/policy/runtime-policy.d.ts +1 -0
  48. package/dist/lib/policy/runtime-policy.js +4 -0
  49. package/dist/lib/preemptive-quota-scheduler.js +12 -3
  50. package/dist/lib/prompts/codex-host-bridge.js +138 -138
  51. package/dist/lib/prompts/codex.js +79 -79
  52. package/dist/lib/quota-cache.d.ts +4 -0
  53. package/dist/lib/quota-probe.js +2 -1
  54. package/dist/lib/quota-readiness.d.ts +1 -1
  55. package/dist/lib/quota-readiness.js +9 -2
  56. package/dist/lib/request/proxy-fetch.d.ts +5 -0
  57. package/dist/lib/request/proxy-fetch.js +37 -0
  58. package/dist/lib/request/rate-limit-decision.js +1 -1
  59. package/dist/lib/request/url-rewriting.js +17 -0
  60. package/dist/lib/runtime/account-model-catalog.d.ts +2 -0
  61. package/dist/lib/runtime/account-model-catalog.js +7 -2
  62. package/dist/lib/runtime/account-reset-credits.d.ts +11 -2
  63. package/dist/lib/runtime/account-reset-credits.js +35 -12
  64. package/dist/lib/runtime/app-bind.d.ts +4 -1
  65. package/dist/lib/runtime/app-bind.js +63 -3
  66. package/dist/lib/runtime/automatic-account-checks.js +6 -5
  67. package/dist/lib/runtime/automatic-subscription-checks.js +4 -3
  68. package/dist/lib/runtime/model-discovery-status.js +2 -2
  69. package/dist/lib/runtime/reset-credit-routing.d.ts +11 -3
  70. package/dist/lib/runtime/reset-credit-routing.js +66 -21
  71. package/dist/lib/runtime/reset-credits.d.ts +31 -7
  72. package/dist/lib/runtime/reset-credits.js +135 -28
  73. package/dist/lib/runtime/responses-websocket.d.ts +30 -0
  74. package/dist/lib/runtime/responses-websocket.js +243 -29
  75. package/dist/lib/runtime/rotation-account-selection.d.ts +5 -4
  76. package/dist/lib/runtime/rotation-proxy-state.d.ts +3 -0
  77. package/dist/lib/runtime/rotation-server-types.d.ts +4 -1
  78. package/dist/lib/runtime/subscription-quota-order.d.ts +1 -0
  79. package/dist/lib/runtime/subscription-quota-order.js +7 -3
  80. package/dist/lib/runtime/workspace-model-scopes.d.ts +2 -0
  81. package/dist/lib/runtime/workspace-model-scopes.js +14 -4
  82. package/dist/lib/runtime-rotation-proxy.js +138 -38
  83. package/dist/lib/schemas.d.ts +5 -0
  84. package/dist/lib/schemas.js +1 -0
  85. package/dist/lib/storage/snapshot-merge.js +15 -4
  86. package/dist/lib/web-dashboard-html.d.ts +1 -0
  87. package/dist/lib/web-dashboard-html.js +66 -0
  88. package/dist/lib/web-dashboard.d.ts +36 -0
  89. package/dist/lib/web-dashboard.js +322 -0
  90. package/node_modules/@codex-ai/plugin/dist/index.d.ts +2 -2
  91. package/node_modules/@codex-ai/plugin/dist/index.js +2 -2
  92. package/node_modules/@codex-ai/plugin/dist/tool.d.ts +42 -42
  93. package/node_modules/@codex-ai/plugin/dist/tool.js +29 -29
  94. package/node_modules/@codex-ai/plugin/package.json +9 -9
  95. package/node_modules/@codex-ai/sdk/dist/index.d.ts +4 -4
  96. package/node_modules/@codex-ai/sdk/dist/index.js +2 -2
  97. package/node_modules/@codex-ai/sdk/package.json +8 -8
  98. package/package.json +209 -207
  99. package/scripts/codex-app-launcher.js +653 -653
  100. package/scripts/codex-app-router.js +446 -402
  101. package/scripts/codex-bin-resolver.js +332 -332
  102. package/scripts/codex-multi-auth.js +65 -65
  103. package/scripts/codex-routing.js +63 -62
  104. package/scripts/codex.js +7143 -7006
  105. package/scripts/install-codex-auth-utils.js +213 -213
  106. package/scripts/mcodex.js +367 -367
  107. package/scripts/postinstall.js +114 -114
  108. package/scripts/preuninstall.js +265 -265
  109. package/skills/codex-auth-setup/SKILL.md +73 -73
  110. package/vendor/codex-ai-plugin/dist/index.d.ts +2 -2
  111. package/vendor/codex-ai-plugin/dist/index.js +2 -2
  112. package/vendor/codex-ai-plugin/dist/tool.d.ts +42 -42
  113. package/vendor/codex-ai-plugin/dist/tool.js +29 -29
  114. package/vendor/codex-ai-plugin/package.json +9 -9
  115. package/vendor/codex-ai-sdk/dist/index.d.ts +4 -4
  116. package/vendor/codex-ai-sdk/dist/index.js +2 -2
  117. package/vendor/codex-ai-sdk/package.json +8 -8
@@ -1,347 +1,347 @@
1
- {
2
- "$schema": "./schema/config.schema.json",
3
- "plugin": [
4
- "codex-multi-auth"
5
- ],
6
- "provider": {
7
- "openai": {
8
- "options": {
9
- "reasoningEffort": "medium",
10
- "reasoningSummary": "auto",
11
- "textVerbosity": "medium",
12
- "include": [
13
- "reasoning.encrypted_content"
14
- ],
15
- "store": false
16
- },
17
- "models": {
18
- "gpt-6.1-sol": {
19
- "name": "GPT 6.1 Sol (OAuth)",
20
- "limit": {
21
- "context": 272000,
22
- "output": 128000
23
- },
24
- "modalities": {
25
- "input": [
26
- "text",
27
- "image"
28
- ],
29
- "output": [
30
- "text"
31
- ]
32
- },
33
- "variants": {
34
- "low": {
35
- "reasoningEffort": "low",
36
- "reasoningSummary": "auto",
37
- "textVerbosity": "medium"
38
- },
39
- "medium": {
40
- "reasoningEffort": "medium",
41
- "reasoningSummary": "auto",
42
- "textVerbosity": "medium"
43
- },
44
- "high": {
45
- "reasoningEffort": "high",
46
- "reasoningSummary": "detailed",
47
- "textVerbosity": "medium"
48
- },
49
- "xhigh": {
50
- "reasoningEffort": "xhigh",
51
- "reasoningSummary": "detailed",
52
- "textVerbosity": "medium"
53
- },
54
- "max": {
55
- "reasoningEffort": "max",
56
- "reasoningSummary": "detailed",
57
- "textVerbosity": "medium"
58
- },
59
- "ultra": {
60
- "reasoningEffort": "ultra",
61
- "reasoningSummary": "detailed",
62
- "textVerbosity": "medium"
63
- }
64
- }
65
- },
66
- "gpt-6-astra": {
67
- "name": "GPT 6 Astra (OAuth)",
68
- "limit": {
69
- "context": 272000,
70
- "output": 128000
71
- },
72
- "modalities": {
73
- "input": [
74
- "text",
75
- "image"
76
- ],
77
- "output": [
78
- "text"
79
- ]
80
- },
81
- "variants": {
82
- "low": {
83
- "reasoningEffort": "low",
84
- "reasoningSummary": "auto",
85
- "textVerbosity": "medium"
86
- },
87
- "medium": {
88
- "reasoningEffort": "medium",
89
- "reasoningSummary": "auto",
90
- "textVerbosity": "medium"
91
- },
92
- "high": {
93
- "reasoningEffort": "high",
94
- "reasoningSummary": "detailed",
95
- "textVerbosity": "medium"
96
- },
97
- "xhigh": {
98
- "reasoningEffort": "xhigh",
99
- "reasoningSummary": "detailed",
100
- "textVerbosity": "medium"
101
- },
102
- "max": {
103
- "reasoningEffort": "max",
104
- "reasoningSummary": "detailed",
105
- "textVerbosity": "medium"
106
- },
107
- "ultra": {
108
- "reasoningEffort": "ultra",
109
- "reasoningSummary": "detailed",
110
- "textVerbosity": "medium"
111
- }
112
- }
113
- },
114
- "gpt-6-sol": {
115
- "name": "GPT 6 Sol (OAuth)",
116
- "limit": {
117
- "context": 272000,
118
- "output": 128000
119
- },
120
- "modalities": {
121
- "input": [
122
- "text",
123
- "image"
124
- ],
125
- "output": [
126
- "text"
127
- ]
128
- },
129
- "variants": {
130
- "low": {
131
- "reasoningEffort": "low",
132
- "reasoningSummary": "auto",
133
- "textVerbosity": "medium"
134
- },
135
- "medium": {
136
- "reasoningEffort": "medium",
137
- "reasoningSummary": "auto",
138
- "textVerbosity": "medium"
139
- },
140
- "high": {
141
- "reasoningEffort": "high",
142
- "reasoningSummary": "detailed",
143
- "textVerbosity": "medium"
144
- },
145
- "xhigh": {
146
- "reasoningEffort": "xhigh",
147
- "reasoningSummary": "detailed",
148
- "textVerbosity": "medium"
149
- },
150
- "max": {
151
- "reasoningEffort": "max",
152
- "reasoningSummary": "detailed",
153
- "textVerbosity": "medium"
154
- },
155
- "ultra": {
156
- "reasoningEffort": "ultra",
157
- "reasoningSummary": "detailed",
158
- "textVerbosity": "medium"
159
- }
160
- }
161
- },
162
- "gpt-6-luna": {
163
- "name": "GPT 6 Luna (OAuth)",
164
- "limit": {
165
- "context": 272000,
166
- "output": 128000
167
- },
168
- "modalities": {
169
- "input": [
170
- "text",
171
- "image"
172
- ],
173
- "output": [
174
- "text"
175
- ]
176
- },
177
- "variants": {
178
- "low": {
179
- "reasoningEffort": "low",
180
- "reasoningSummary": "auto",
181
- "textVerbosity": "medium"
182
- },
183
- "medium": {
184
- "reasoningEffort": "medium",
185
- "reasoningSummary": "auto",
186
- "textVerbosity": "medium"
187
- },
188
- "high": {
189
- "reasoningEffort": "high",
190
- "reasoningSummary": "detailed",
191
- "textVerbosity": "medium"
192
- },
193
- "xhigh": {
194
- "reasoningEffort": "xhigh",
195
- "reasoningSummary": "detailed",
196
- "textVerbosity": "medium"
197
- },
198
- "max": {
199
- "reasoningEffort": "max",
200
- "reasoningSummary": "detailed",
201
- "textVerbosity": "medium"
202
- }
203
- }
204
- },
205
- "gpt-5.6-sol": {
206
- "name": "GPT 5.6 Sol (OAuth)",
207
- "limit": {
208
- "context": 372000,
209
- "output": 128000
210
- },
211
- "modalities": {
212
- "input": [
213
- "text",
214
- "image"
215
- ],
216
- "output": [
217
- "text"
218
- ]
219
- },
220
- "variants": {
221
- "low": {
222
- "reasoningEffort": "low",
223
- "reasoningSummary": "auto",
224
- "textVerbosity": "medium"
225
- },
226
- "medium": {
227
- "reasoningEffort": "medium",
228
- "reasoningSummary": "auto",
229
- "textVerbosity": "medium"
230
- },
231
- "high": {
232
- "reasoningEffort": "high",
233
- "reasoningSummary": "detailed",
234
- "textVerbosity": "medium"
235
- },
236
- "xhigh": {
237
- "reasoningEffort": "xhigh",
238
- "reasoningSummary": "detailed",
239
- "textVerbosity": "medium"
240
- },
241
- "max": {
242
- "reasoningEffort": "max",
243
- "reasoningSummary": "detailed",
244
- "textVerbosity": "medium"
245
- },
246
- "ultra": {
247
- "reasoningEffort": "ultra",
248
- "reasoningSummary": "detailed",
249
- "textVerbosity": "medium"
250
- }
251
- }
252
- },
253
- "gpt-5.6-terra": {
254
- "name": "GPT 5.6 Terra (OAuth)",
255
- "limit": {
256
- "context": 372000,
257
- "output": 128000
258
- },
259
- "modalities": {
260
- "input": [
261
- "text",
262
- "image"
263
- ],
264
- "output": [
265
- "text"
266
- ]
267
- },
268
- "variants": {
269
- "low": {
270
- "reasoningEffort": "low",
271
- "reasoningSummary": "auto",
272
- "textVerbosity": "medium"
273
- },
274
- "medium": {
275
- "reasoningEffort": "medium",
276
- "reasoningSummary": "auto",
277
- "textVerbosity": "medium"
278
- },
279
- "high": {
280
- "reasoningEffort": "high",
281
- "reasoningSummary": "detailed",
282
- "textVerbosity": "medium"
283
- },
284
- "xhigh": {
285
- "reasoningEffort": "xhigh",
286
- "reasoningSummary": "detailed",
287
- "textVerbosity": "medium"
288
- },
289
- "max": {
290
- "reasoningEffort": "max",
291
- "reasoningSummary": "detailed",
292
- "textVerbosity": "medium"
293
- },
294
- "ultra": {
295
- "reasoningEffort": "ultra",
296
- "reasoningSummary": "detailed",
297
- "textVerbosity": "medium"
298
- }
299
- }
300
- },
301
- "gpt-5.6-luna": {
302
- "name": "GPT 5.6 Luna (OAuth)",
303
- "limit": {
304
- "context": 372000,
305
- "output": 128000
306
- },
307
- "modalities": {
308
- "input": [
309
- "text",
310
- "image"
311
- ],
312
- "output": [
313
- "text"
314
- ]
315
- },
316
- "variants": {
317
- "low": {
318
- "reasoningEffort": "low",
319
- "reasoningSummary": "auto",
320
- "textVerbosity": "medium"
321
- },
322
- "medium": {
323
- "reasoningEffort": "medium",
324
- "reasoningSummary": "auto",
325
- "textVerbosity": "medium"
326
- },
327
- "high": {
328
- "reasoningEffort": "high",
329
- "reasoningSummary": "detailed",
330
- "textVerbosity": "medium"
331
- },
332
- "xhigh": {
333
- "reasoningEffort": "xhigh",
334
- "reasoningSummary": "detailed",
335
- "textVerbosity": "medium"
336
- },
337
- "max": {
338
- "reasoningEffort": "max",
339
- "reasoningSummary": "detailed",
340
- "textVerbosity": "medium"
341
- }
342
- }
343
- }
344
- }
345
- }
346
- }
347
- }
1
+ {
2
+ "$schema": "./schema/config.schema.json",
3
+ "plugin": [
4
+ "codex-multi-auth"
5
+ ],
6
+ "provider": {
7
+ "openai": {
8
+ "options": {
9
+ "reasoningEffort": "medium",
10
+ "reasoningSummary": "auto",
11
+ "textVerbosity": "medium",
12
+ "include": [
13
+ "reasoning.encrypted_content"
14
+ ],
15
+ "store": false
16
+ },
17
+ "models": {
18
+ "gpt-6.1-sol": {
19
+ "name": "GPT 6.1 Sol (OAuth)",
20
+ "limit": {
21
+ "context": 272000,
22
+ "output": 128000
23
+ },
24
+ "modalities": {
25
+ "input": [
26
+ "text",
27
+ "image"
28
+ ],
29
+ "output": [
30
+ "text"
31
+ ]
32
+ },
33
+ "variants": {
34
+ "low": {
35
+ "reasoningEffort": "low",
36
+ "reasoningSummary": "auto",
37
+ "textVerbosity": "medium"
38
+ },
39
+ "medium": {
40
+ "reasoningEffort": "medium",
41
+ "reasoningSummary": "auto",
42
+ "textVerbosity": "medium"
43
+ },
44
+ "high": {
45
+ "reasoningEffort": "high",
46
+ "reasoningSummary": "detailed",
47
+ "textVerbosity": "medium"
48
+ },
49
+ "xhigh": {
50
+ "reasoningEffort": "xhigh",
51
+ "reasoningSummary": "detailed",
52
+ "textVerbosity": "medium"
53
+ },
54
+ "max": {
55
+ "reasoningEffort": "max",
56
+ "reasoningSummary": "detailed",
57
+ "textVerbosity": "medium"
58
+ },
59
+ "ultra": {
60
+ "reasoningEffort": "ultra",
61
+ "reasoningSummary": "detailed",
62
+ "textVerbosity": "medium"
63
+ }
64
+ }
65
+ },
66
+ "gpt-6-astra": {
67
+ "name": "GPT 6 Astra (OAuth)",
68
+ "limit": {
69
+ "context": 272000,
70
+ "output": 128000
71
+ },
72
+ "modalities": {
73
+ "input": [
74
+ "text",
75
+ "image"
76
+ ],
77
+ "output": [
78
+ "text"
79
+ ]
80
+ },
81
+ "variants": {
82
+ "low": {
83
+ "reasoningEffort": "low",
84
+ "reasoningSummary": "auto",
85
+ "textVerbosity": "medium"
86
+ },
87
+ "medium": {
88
+ "reasoningEffort": "medium",
89
+ "reasoningSummary": "auto",
90
+ "textVerbosity": "medium"
91
+ },
92
+ "high": {
93
+ "reasoningEffort": "high",
94
+ "reasoningSummary": "detailed",
95
+ "textVerbosity": "medium"
96
+ },
97
+ "xhigh": {
98
+ "reasoningEffort": "xhigh",
99
+ "reasoningSummary": "detailed",
100
+ "textVerbosity": "medium"
101
+ },
102
+ "max": {
103
+ "reasoningEffort": "max",
104
+ "reasoningSummary": "detailed",
105
+ "textVerbosity": "medium"
106
+ },
107
+ "ultra": {
108
+ "reasoningEffort": "ultra",
109
+ "reasoningSummary": "detailed",
110
+ "textVerbosity": "medium"
111
+ }
112
+ }
113
+ },
114
+ "gpt-6-sol": {
115
+ "name": "GPT 6 Sol (OAuth)",
116
+ "limit": {
117
+ "context": 272000,
118
+ "output": 128000
119
+ },
120
+ "modalities": {
121
+ "input": [
122
+ "text",
123
+ "image"
124
+ ],
125
+ "output": [
126
+ "text"
127
+ ]
128
+ },
129
+ "variants": {
130
+ "low": {
131
+ "reasoningEffort": "low",
132
+ "reasoningSummary": "auto",
133
+ "textVerbosity": "medium"
134
+ },
135
+ "medium": {
136
+ "reasoningEffort": "medium",
137
+ "reasoningSummary": "auto",
138
+ "textVerbosity": "medium"
139
+ },
140
+ "high": {
141
+ "reasoningEffort": "high",
142
+ "reasoningSummary": "detailed",
143
+ "textVerbosity": "medium"
144
+ },
145
+ "xhigh": {
146
+ "reasoningEffort": "xhigh",
147
+ "reasoningSummary": "detailed",
148
+ "textVerbosity": "medium"
149
+ },
150
+ "max": {
151
+ "reasoningEffort": "max",
152
+ "reasoningSummary": "detailed",
153
+ "textVerbosity": "medium"
154
+ },
155
+ "ultra": {
156
+ "reasoningEffort": "ultra",
157
+ "reasoningSummary": "detailed",
158
+ "textVerbosity": "medium"
159
+ }
160
+ }
161
+ },
162
+ "gpt-6-luna": {
163
+ "name": "GPT 6 Luna (OAuth)",
164
+ "limit": {
165
+ "context": 272000,
166
+ "output": 128000
167
+ },
168
+ "modalities": {
169
+ "input": [
170
+ "text",
171
+ "image"
172
+ ],
173
+ "output": [
174
+ "text"
175
+ ]
176
+ },
177
+ "variants": {
178
+ "low": {
179
+ "reasoningEffort": "low",
180
+ "reasoningSummary": "auto",
181
+ "textVerbosity": "medium"
182
+ },
183
+ "medium": {
184
+ "reasoningEffort": "medium",
185
+ "reasoningSummary": "auto",
186
+ "textVerbosity": "medium"
187
+ },
188
+ "high": {
189
+ "reasoningEffort": "high",
190
+ "reasoningSummary": "detailed",
191
+ "textVerbosity": "medium"
192
+ },
193
+ "xhigh": {
194
+ "reasoningEffort": "xhigh",
195
+ "reasoningSummary": "detailed",
196
+ "textVerbosity": "medium"
197
+ },
198
+ "max": {
199
+ "reasoningEffort": "max",
200
+ "reasoningSummary": "detailed",
201
+ "textVerbosity": "medium"
202
+ }
203
+ }
204
+ },
205
+ "gpt-5.6-sol": {
206
+ "name": "GPT 5.6 Sol (OAuth)",
207
+ "limit": {
208
+ "context": 372000,
209
+ "output": 128000
210
+ },
211
+ "modalities": {
212
+ "input": [
213
+ "text",
214
+ "image"
215
+ ],
216
+ "output": [
217
+ "text"
218
+ ]
219
+ },
220
+ "variants": {
221
+ "low": {
222
+ "reasoningEffort": "low",
223
+ "reasoningSummary": "auto",
224
+ "textVerbosity": "medium"
225
+ },
226
+ "medium": {
227
+ "reasoningEffort": "medium",
228
+ "reasoningSummary": "auto",
229
+ "textVerbosity": "medium"
230
+ },
231
+ "high": {
232
+ "reasoningEffort": "high",
233
+ "reasoningSummary": "detailed",
234
+ "textVerbosity": "medium"
235
+ },
236
+ "xhigh": {
237
+ "reasoningEffort": "xhigh",
238
+ "reasoningSummary": "detailed",
239
+ "textVerbosity": "medium"
240
+ },
241
+ "max": {
242
+ "reasoningEffort": "max",
243
+ "reasoningSummary": "detailed",
244
+ "textVerbosity": "medium"
245
+ },
246
+ "ultra": {
247
+ "reasoningEffort": "ultra",
248
+ "reasoningSummary": "detailed",
249
+ "textVerbosity": "medium"
250
+ }
251
+ }
252
+ },
253
+ "gpt-5.6-terra": {
254
+ "name": "GPT 5.6 Terra (OAuth)",
255
+ "limit": {
256
+ "context": 372000,
257
+ "output": 128000
258
+ },
259
+ "modalities": {
260
+ "input": [
261
+ "text",
262
+ "image"
263
+ ],
264
+ "output": [
265
+ "text"
266
+ ]
267
+ },
268
+ "variants": {
269
+ "low": {
270
+ "reasoningEffort": "low",
271
+ "reasoningSummary": "auto",
272
+ "textVerbosity": "medium"
273
+ },
274
+ "medium": {
275
+ "reasoningEffort": "medium",
276
+ "reasoningSummary": "auto",
277
+ "textVerbosity": "medium"
278
+ },
279
+ "high": {
280
+ "reasoningEffort": "high",
281
+ "reasoningSummary": "detailed",
282
+ "textVerbosity": "medium"
283
+ },
284
+ "xhigh": {
285
+ "reasoningEffort": "xhigh",
286
+ "reasoningSummary": "detailed",
287
+ "textVerbosity": "medium"
288
+ },
289
+ "max": {
290
+ "reasoningEffort": "max",
291
+ "reasoningSummary": "detailed",
292
+ "textVerbosity": "medium"
293
+ },
294
+ "ultra": {
295
+ "reasoningEffort": "ultra",
296
+ "reasoningSummary": "detailed",
297
+ "textVerbosity": "medium"
298
+ }
299
+ }
300
+ },
301
+ "gpt-5.6-luna": {
302
+ "name": "GPT 5.6 Luna (OAuth)",
303
+ "limit": {
304
+ "context": 372000,
305
+ "output": 128000
306
+ },
307
+ "modalities": {
308
+ "input": [
309
+ "text",
310
+ "image"
311
+ ],
312
+ "output": [
313
+ "text"
314
+ ]
315
+ },
316
+ "variants": {
317
+ "low": {
318
+ "reasoningEffort": "low",
319
+ "reasoningSummary": "auto",
320
+ "textVerbosity": "medium"
321
+ },
322
+ "medium": {
323
+ "reasoningEffort": "medium",
324
+ "reasoningSummary": "auto",
325
+ "textVerbosity": "medium"
326
+ },
327
+ "high": {
328
+ "reasoningEffort": "high",
329
+ "reasoningSummary": "detailed",
330
+ "textVerbosity": "medium"
331
+ },
332
+ "xhigh": {
333
+ "reasoningEffort": "xhigh",
334
+ "reasoningSummary": "detailed",
335
+ "textVerbosity": "medium"
336
+ },
337
+ "max": {
338
+ "reasoningEffort": "max",
339
+ "reasoningSummary": "detailed",
340
+ "textVerbosity": "medium"
341
+ }
342
+ }
343
+ }
344
+ }
345
+ }
346
+ }
347
+ }