codex-multi-auth 2.10.0 → 2.12.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.
- package/.codex-plugin/plugin.json +1 -1
- package/README.md +1 -1
- package/config/README.md +3 -1
- package/config/codex-legacy.json +300 -0
- package/config/codex-modern.json +96 -0
- package/dist/lib/capability-policy.d.ts.map +1 -1
- package/dist/lib/capability-policy.js +18 -2
- package/dist/lib/config.d.ts.map +1 -1
- package/dist/lib/config.js +5 -2
- package/dist/lib/constants.d.ts +9 -0
- package/dist/lib/constants.d.ts.map +1 -1
- package/dist/lib/constants.js +29 -0
- package/dist/lib/context-budget/model-context-windows.d.ts +1 -1
- package/dist/lib/context-budget/model-context-windows.d.ts.map +1 -1
- package/dist/lib/context-budget/model-context-windows.js +12 -0
- package/dist/lib/entitlement-cache.d.ts.map +1 -1
- package/dist/lib/entitlement-cache.js +2 -1
- package/dist/lib/model-capability-matrix.d.ts.map +1 -1
- package/dist/lib/model-capability-matrix.js +9 -1
- package/dist/lib/policy/runtime-policy.d.ts +9 -1
- package/dist/lib/policy/runtime-policy.d.ts.map +1 -1
- package/dist/lib/policy/runtime-policy.js +1 -0
- package/dist/lib/request/error-classification.d.ts.map +1 -1
- package/dist/lib/request/error-classification.js +45 -4
- package/dist/lib/request/helpers/model-map.d.ts.map +1 -1
- package/dist/lib/request/helpers/model-map.js +181 -0
- package/dist/lib/usage/ledger.d.ts +1 -1
- package/dist/lib/usage/ledger.d.ts.map +1 -1
- package/dist/lib/usage/ledger.js +9 -0
- package/dist/lib/usage/pricing.d.ts +17 -2
- package/dist/lib/usage/pricing.d.ts.map +1 -1
- package/dist/lib/usage/pricing.js +72 -1
- package/dist/lib/usage/redaction.d.ts +1 -1
- package/dist/lib/usage/redaction.d.ts.map +1 -1
- package/dist/lib/usage/redaction.js +13 -0
- package/dist/lib/usage/types.d.ts +33 -0
- package/dist/lib/usage/types.d.ts.map +1 -1
- package/dist/lib/usage/types.js +28 -1
- package/dist/lib/usage/usage-extraction.d.ts +2 -1
- package/dist/lib/usage/usage-extraction.d.ts.map +1 -1
- package/dist/lib/usage/usage-extraction.js +44 -4
- package/package.json +1 -1
- package/scripts/codex.js +153 -2
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "codex-multi-auth",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.12.0",
|
|
4
4
|
"description": "Install and operate codex-multi-auth for the official @openai/codex CLI with multi-account OAuth rotation, switching, health checks, and recovery tools.",
|
|
5
5
|
"interface": {
|
|
6
6
|
"composerIcon": "./assets/codex-multi-auth-icon.svg"
|
package/README.md
CHANGED
|
@@ -406,7 +406,7 @@ codex-multi-auth doctor --json
|
|
|
406
406
|
|
|
407
407
|
## Release Notes
|
|
408
408
|
|
|
409
|
-
- Current stable: [docs/releases/v2.
|
|
409
|
+
- Current stable: [docs/releases/v2.12.0.md](docs/releases/v2.12.0.md) — install via `npm i -g codex-multi-auth`
|
|
410
410
|
- Previous stable: [docs/releases/v2.8.3.md](docs/releases/v2.8.3.md)
|
|
411
411
|
- Previous stable: [docs/releases/v2.8.2.md](docs/releases/v2.8.2.md)
|
|
412
412
|
- Previous stable: [docs/releases/v2.7.1.md](docs/releases/v2.7.1.md)
|
package/config/README.md
CHANGED
|
@@ -17,7 +17,9 @@ These files are optional model/provider templates for host/plugin configurations
|
|
|
17
17
|
|
|
18
18
|
## Defaults Included
|
|
19
19
|
|
|
20
|
-
- Current documented OpenAI/Codex model families (`gpt-5.6-sol`/`terra`/`luna`, `gpt-5.5`, `gpt-5.4`, and `gpt-5.3-codex`
|
|
20
|
+
- Current documented OpenAI/Codex model families: GPT-6 Astra (`gpt-6-astra`, `gpt-6-astra-aeon`), then `gpt-5.6-sol`/`terra`/`luna`, `gpt-5.5`, `gpt-5.4`, and `gpt-5.3-codex`
|
|
21
|
+
- The Astra entries carry `limit.context: 272000`, OpenAI's stable Codex context value at launch. The GPT-5.6 entries still carry the pre-cut `372000` and were left alone here; change them only alongside a deliberate review, since the value feeds a picker rather than the context budget guard (which refuses to estimate either family)
|
|
22
|
+
- The Daybreak cyber models resolve at the code level but are deliberately absent from these templates, matching their hidden visibility in the upstream Codex picker
|
|
21
23
|
- `store: false`
|
|
22
24
|
- `include: ["reasoning.encrypted_content"]`
|
|
23
25
|
- Sensible fallback behavior for unsupported model entitlements
|
package/config/codex-legacy.json
CHANGED
|
@@ -15,6 +15,306 @@
|
|
|
15
15
|
"store": false
|
|
16
16
|
},
|
|
17
17
|
"models": {
|
|
18
|
+
"gpt-6-astra-low": {
|
|
19
|
+
"name": "GPT 6 Astra Low (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
|
+
"options": {
|
|
34
|
+
"reasoningEffort": "low",
|
|
35
|
+
"reasoningSummary": "auto",
|
|
36
|
+
"textVerbosity": "medium",
|
|
37
|
+
"include": [
|
|
38
|
+
"reasoning.encrypted_content"
|
|
39
|
+
],
|
|
40
|
+
"store": false
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
"gpt-6-astra-medium": {
|
|
44
|
+
"name": "GPT 6 Astra Medium (OAuth)",
|
|
45
|
+
"limit": {
|
|
46
|
+
"context": 272000,
|
|
47
|
+
"output": 128000
|
|
48
|
+
},
|
|
49
|
+
"modalities": {
|
|
50
|
+
"input": [
|
|
51
|
+
"text",
|
|
52
|
+
"image"
|
|
53
|
+
],
|
|
54
|
+
"output": [
|
|
55
|
+
"text"
|
|
56
|
+
]
|
|
57
|
+
},
|
|
58
|
+
"options": {
|
|
59
|
+
"reasoningEffort": "medium",
|
|
60
|
+
"reasoningSummary": "auto",
|
|
61
|
+
"textVerbosity": "medium",
|
|
62
|
+
"include": [
|
|
63
|
+
"reasoning.encrypted_content"
|
|
64
|
+
],
|
|
65
|
+
"store": false
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
"gpt-6-astra-high": {
|
|
69
|
+
"name": "GPT 6 Astra High (OAuth)",
|
|
70
|
+
"limit": {
|
|
71
|
+
"context": 272000,
|
|
72
|
+
"output": 128000
|
|
73
|
+
},
|
|
74
|
+
"modalities": {
|
|
75
|
+
"input": [
|
|
76
|
+
"text",
|
|
77
|
+
"image"
|
|
78
|
+
],
|
|
79
|
+
"output": [
|
|
80
|
+
"text"
|
|
81
|
+
]
|
|
82
|
+
},
|
|
83
|
+
"options": {
|
|
84
|
+
"reasoningEffort": "high",
|
|
85
|
+
"reasoningSummary": "detailed",
|
|
86
|
+
"textVerbosity": "medium",
|
|
87
|
+
"include": [
|
|
88
|
+
"reasoning.encrypted_content"
|
|
89
|
+
],
|
|
90
|
+
"store": false
|
|
91
|
+
}
|
|
92
|
+
},
|
|
93
|
+
"gpt-6-astra-xhigh": {
|
|
94
|
+
"name": "GPT 6 Astra Extra High (OAuth)",
|
|
95
|
+
"limit": {
|
|
96
|
+
"context": 272000,
|
|
97
|
+
"output": 128000
|
|
98
|
+
},
|
|
99
|
+
"modalities": {
|
|
100
|
+
"input": [
|
|
101
|
+
"text",
|
|
102
|
+
"image"
|
|
103
|
+
],
|
|
104
|
+
"output": [
|
|
105
|
+
"text"
|
|
106
|
+
]
|
|
107
|
+
},
|
|
108
|
+
"options": {
|
|
109
|
+
"reasoningEffort": "xhigh",
|
|
110
|
+
"reasoningSummary": "detailed",
|
|
111
|
+
"textVerbosity": "medium",
|
|
112
|
+
"include": [
|
|
113
|
+
"reasoning.encrypted_content"
|
|
114
|
+
],
|
|
115
|
+
"store": false
|
|
116
|
+
}
|
|
117
|
+
},
|
|
118
|
+
"gpt-6-astra-max": {
|
|
119
|
+
"name": "GPT 6 Astra Max (OAuth)",
|
|
120
|
+
"limit": {
|
|
121
|
+
"context": 272000,
|
|
122
|
+
"output": 128000
|
|
123
|
+
},
|
|
124
|
+
"modalities": {
|
|
125
|
+
"input": [
|
|
126
|
+
"text",
|
|
127
|
+
"image"
|
|
128
|
+
],
|
|
129
|
+
"output": [
|
|
130
|
+
"text"
|
|
131
|
+
]
|
|
132
|
+
},
|
|
133
|
+
"options": {
|
|
134
|
+
"reasoningEffort": "max",
|
|
135
|
+
"reasoningSummary": "detailed",
|
|
136
|
+
"textVerbosity": "medium",
|
|
137
|
+
"include": [
|
|
138
|
+
"reasoning.encrypted_content"
|
|
139
|
+
],
|
|
140
|
+
"store": false
|
|
141
|
+
}
|
|
142
|
+
},
|
|
143
|
+
"gpt-6-astra-ultra": {
|
|
144
|
+
"name": "GPT 6 Astra Ultra (OAuth)",
|
|
145
|
+
"limit": {
|
|
146
|
+
"context": 272000,
|
|
147
|
+
"output": 128000
|
|
148
|
+
},
|
|
149
|
+
"modalities": {
|
|
150
|
+
"input": [
|
|
151
|
+
"text",
|
|
152
|
+
"image"
|
|
153
|
+
],
|
|
154
|
+
"output": [
|
|
155
|
+
"text"
|
|
156
|
+
]
|
|
157
|
+
},
|
|
158
|
+
"options": {
|
|
159
|
+
"reasoningEffort": "ultra",
|
|
160
|
+
"reasoningSummary": "detailed",
|
|
161
|
+
"textVerbosity": "medium",
|
|
162
|
+
"include": [
|
|
163
|
+
"reasoning.encrypted_content"
|
|
164
|
+
],
|
|
165
|
+
"store": false
|
|
166
|
+
}
|
|
167
|
+
},
|
|
168
|
+
"gpt-6-astra-aeon-low": {
|
|
169
|
+
"name": "GPT 6 Astra Aeon Low (OAuth)",
|
|
170
|
+
"limit": {
|
|
171
|
+
"context": 272000,
|
|
172
|
+
"output": 128000
|
|
173
|
+
},
|
|
174
|
+
"modalities": {
|
|
175
|
+
"input": [
|
|
176
|
+
"text",
|
|
177
|
+
"image"
|
|
178
|
+
],
|
|
179
|
+
"output": [
|
|
180
|
+
"text"
|
|
181
|
+
]
|
|
182
|
+
},
|
|
183
|
+
"options": {
|
|
184
|
+
"reasoningEffort": "low",
|
|
185
|
+
"reasoningSummary": "auto",
|
|
186
|
+
"textVerbosity": "medium",
|
|
187
|
+
"include": [
|
|
188
|
+
"reasoning.encrypted_content"
|
|
189
|
+
],
|
|
190
|
+
"store": false
|
|
191
|
+
}
|
|
192
|
+
},
|
|
193
|
+
"gpt-6-astra-aeon-medium": {
|
|
194
|
+
"name": "GPT 6 Astra Aeon Medium (OAuth)",
|
|
195
|
+
"limit": {
|
|
196
|
+
"context": 272000,
|
|
197
|
+
"output": 128000
|
|
198
|
+
},
|
|
199
|
+
"modalities": {
|
|
200
|
+
"input": [
|
|
201
|
+
"text",
|
|
202
|
+
"image"
|
|
203
|
+
],
|
|
204
|
+
"output": [
|
|
205
|
+
"text"
|
|
206
|
+
]
|
|
207
|
+
},
|
|
208
|
+
"options": {
|
|
209
|
+
"reasoningEffort": "medium",
|
|
210
|
+
"reasoningSummary": "auto",
|
|
211
|
+
"textVerbosity": "medium",
|
|
212
|
+
"include": [
|
|
213
|
+
"reasoning.encrypted_content"
|
|
214
|
+
],
|
|
215
|
+
"store": false
|
|
216
|
+
}
|
|
217
|
+
},
|
|
218
|
+
"gpt-6-astra-aeon-high": {
|
|
219
|
+
"name": "GPT 6 Astra Aeon High (OAuth)",
|
|
220
|
+
"limit": {
|
|
221
|
+
"context": 272000,
|
|
222
|
+
"output": 128000
|
|
223
|
+
},
|
|
224
|
+
"modalities": {
|
|
225
|
+
"input": [
|
|
226
|
+
"text",
|
|
227
|
+
"image"
|
|
228
|
+
],
|
|
229
|
+
"output": [
|
|
230
|
+
"text"
|
|
231
|
+
]
|
|
232
|
+
},
|
|
233
|
+
"options": {
|
|
234
|
+
"reasoningEffort": "high",
|
|
235
|
+
"reasoningSummary": "detailed",
|
|
236
|
+
"textVerbosity": "medium",
|
|
237
|
+
"include": [
|
|
238
|
+
"reasoning.encrypted_content"
|
|
239
|
+
],
|
|
240
|
+
"store": false
|
|
241
|
+
}
|
|
242
|
+
},
|
|
243
|
+
"gpt-6-astra-aeon-xhigh": {
|
|
244
|
+
"name": "GPT 6 Astra Aeon Extra High (OAuth)",
|
|
245
|
+
"limit": {
|
|
246
|
+
"context": 272000,
|
|
247
|
+
"output": 128000
|
|
248
|
+
},
|
|
249
|
+
"modalities": {
|
|
250
|
+
"input": [
|
|
251
|
+
"text",
|
|
252
|
+
"image"
|
|
253
|
+
],
|
|
254
|
+
"output": [
|
|
255
|
+
"text"
|
|
256
|
+
]
|
|
257
|
+
},
|
|
258
|
+
"options": {
|
|
259
|
+
"reasoningEffort": "xhigh",
|
|
260
|
+
"reasoningSummary": "detailed",
|
|
261
|
+
"textVerbosity": "medium",
|
|
262
|
+
"include": [
|
|
263
|
+
"reasoning.encrypted_content"
|
|
264
|
+
],
|
|
265
|
+
"store": false
|
|
266
|
+
}
|
|
267
|
+
},
|
|
268
|
+
"gpt-6-astra-aeon-max": {
|
|
269
|
+
"name": "GPT 6 Astra Aeon Max (OAuth)",
|
|
270
|
+
"limit": {
|
|
271
|
+
"context": 272000,
|
|
272
|
+
"output": 128000
|
|
273
|
+
},
|
|
274
|
+
"modalities": {
|
|
275
|
+
"input": [
|
|
276
|
+
"text",
|
|
277
|
+
"image"
|
|
278
|
+
],
|
|
279
|
+
"output": [
|
|
280
|
+
"text"
|
|
281
|
+
]
|
|
282
|
+
},
|
|
283
|
+
"options": {
|
|
284
|
+
"reasoningEffort": "max",
|
|
285
|
+
"reasoningSummary": "detailed",
|
|
286
|
+
"textVerbosity": "medium",
|
|
287
|
+
"include": [
|
|
288
|
+
"reasoning.encrypted_content"
|
|
289
|
+
],
|
|
290
|
+
"store": false
|
|
291
|
+
}
|
|
292
|
+
},
|
|
293
|
+
"gpt-6-astra-aeon-ultra": {
|
|
294
|
+
"name": "GPT 6 Astra Aeon Ultra (OAuth)",
|
|
295
|
+
"limit": {
|
|
296
|
+
"context": 272000,
|
|
297
|
+
"output": 128000
|
|
298
|
+
},
|
|
299
|
+
"modalities": {
|
|
300
|
+
"input": [
|
|
301
|
+
"text",
|
|
302
|
+
"image"
|
|
303
|
+
],
|
|
304
|
+
"output": [
|
|
305
|
+
"text"
|
|
306
|
+
]
|
|
307
|
+
},
|
|
308
|
+
"options": {
|
|
309
|
+
"reasoningEffort": "ultra",
|
|
310
|
+
"reasoningSummary": "detailed",
|
|
311
|
+
"textVerbosity": "medium",
|
|
312
|
+
"include": [
|
|
313
|
+
"reasoning.encrypted_content"
|
|
314
|
+
],
|
|
315
|
+
"store": false
|
|
316
|
+
}
|
|
317
|
+
},
|
|
18
318
|
"gpt-5.6-sol-low": {
|
|
19
319
|
"name": "GPT 5.6 Sol Low (OAuth)",
|
|
20
320
|
"limit": {
|
package/config/codex-modern.json
CHANGED
|
@@ -15,6 +15,102 @@
|
|
|
15
15
|
"store": false
|
|
16
16
|
},
|
|
17
17
|
"models": {
|
|
18
|
+
"gpt-6-astra": {
|
|
19
|
+
"name": "GPT 6 Astra (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-aeon": {
|
|
67
|
+
"name": "GPT 6 Astra Aeon (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
|
+
},
|
|
18
114
|
"gpt-5.6-sol": {
|
|
19
115
|
"name": "GPT 5.6 Sol (OAuth)",
|
|
20
116
|
"limit": {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capability-policy.d.ts","sourceRoot":"","sources":["../../lib/capability-policy.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"capability-policy.d.ts","sourceRoot":"","sources":["../../lib/capability-policy.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,wBAAwB;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;CACvB;AAyED,qBAAa,qBAAqB;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsC;IAE9D,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,SAAa,GAAG,IAAI;IAkBxE,aAAa,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,SAAa,GAAG,IAAI;IAgBxE,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,SAAa,GAAG,IAAI;IAgB5E,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,SAAa,GAAG,MAAM;IAiBrE,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,wBAAwB,GAAG,IAAI;IAc/E,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAYxC,OAAO,CAAC,aAAa;CASrB"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { getNormalizedModel, resolveNormalizedModel, } from "./request/helpers/model-map.js";
|
|
2
|
+
import { stripModelEffortSuffix } from "./constants.js";
|
|
2
3
|
const MAX_ENTRIES = 2048;
|
|
3
4
|
const PASSIVE_RECOVERY_PER_MIN = 0.5;
|
|
4
5
|
/**
|
|
@@ -22,7 +23,22 @@ function normalizeModel(model) {
|
|
|
22
23
|
? (trimmedInput.split("/").pop() ?? trimmedInput)
|
|
23
24
|
: trimmedInput;
|
|
24
25
|
const exactMatch = getNormalizedModel(withoutProvider);
|
|
25
|
-
|
|
26
|
+
// The catalog fallback is gated so an unrelated model id is not dragged onto
|
|
27
|
+
// a GPT-5 default. GPT-6 Astra and the Daybreak cyber models have to be named
|
|
28
|
+
// here as well: without them an id the alias table does not carry, such as
|
|
29
|
+
// `gpt-6-astra-pro`, keeps its raw string as the policy key while routing
|
|
30
|
+
// resolves it to `gpt-6-astra`, so the policy store tracks a key no request
|
|
31
|
+
// ever uses.
|
|
32
|
+
//
|
|
33
|
+
// The separator class matches `tokenizeModelId`, which splits on any RUN of
|
|
34
|
+
// non-alphanumerics. A hand-picked `[-_\s]` was narrower than the resolver it
|
|
35
|
+
// guards, so `gpt.6-turbo` kept its raw key here while
|
|
36
|
+
// `resolveNormalizedModel` routed it to `gpt-6-astra`; `*` rather than `?`
|
|
37
|
+
// because the tokenizer collapses repeats, so `gpt..6-turbo` and `gpt---5`
|
|
38
|
+
// resolve too. It must not widen to every hyphenated id: an unknown one
|
|
39
|
+
// would inherit the DEFAULT_MODEL key, which is why `gpt-4o`,
|
|
40
|
+
// `gpt-4.5-preview` and `gpt.4-turbo` still fail this test.
|
|
41
|
+
const shouldUseFallbackCatalog = /gpt[^a-z0-9]*[56]|codex|astra|daybreak/i.test(withoutProvider);
|
|
26
42
|
const mapped = exactMatch ??
|
|
27
43
|
(shouldUseFallbackCatalog
|
|
28
44
|
? resolveNormalizedModel(withoutProvider)
|
|
@@ -30,7 +46,7 @@ function normalizeModel(model) {
|
|
|
30
46
|
const trimmed = mapped.trim().toLowerCase();
|
|
31
47
|
if (!trimmed)
|
|
32
48
|
return null;
|
|
33
|
-
return trimmed
|
|
49
|
+
return stripModelEffortSuffix(trimmed);
|
|
34
50
|
}
|
|
35
51
|
/**
|
|
36
52
|
* Compose a storage key from an account key and a normalized model identifier.
|
package/dist/lib/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../lib/config.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../lib/config.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/config.js
CHANGED
|
@@ -2,6 +2,7 @@ import { existsSync, promises as fs, readFileSync } from "node:fs";
|
|
|
2
2
|
import { randomUUID } from "node:crypto";
|
|
3
3
|
import { dirname, join } from "node:path";
|
|
4
4
|
import { parseBooleanEnv } from "./env-parsing.js";
|
|
5
|
+
import { stripModelEffortSuffix } from "./constants.js";
|
|
5
6
|
import { withRetry, withRetrySync } from "./fs-retry.js";
|
|
6
7
|
import { logWarn } from "./logger.js";
|
|
7
8
|
import { StorageError } from "./errors.js";
|
|
@@ -949,9 +950,11 @@ export function getUnsupportedCodexFallbackChain(pluginConfig) {
|
|
|
949
950
|
const stripped = trimmed.includes("/")
|
|
950
951
|
? (trimmed.split("/").pop() ?? trimmed)
|
|
951
952
|
: trimmed;
|
|
952
|
-
return stripped
|
|
953
|
+
return stripModelEffortSuffix(stripped);
|
|
953
954
|
};
|
|
954
|
-
|
|
955
|
+
// Null-prototype: the keys come from user config, so a `__proto__` entry on a
|
|
956
|
+
// plain object would reassign this object's prototype rather than add a row.
|
|
957
|
+
const normalized = Object.create(null);
|
|
955
958
|
for (const [key, value] of Object.entries(chain)) {
|
|
956
959
|
if (typeof key !== "string" || !Array.isArray(value))
|
|
957
960
|
continue;
|
package/dist/lib/constants.d.ts
CHANGED
|
@@ -104,4 +104,13 @@ export declare const REASONING_EFFORTS: readonly ["none", "minimal", "low", "med
|
|
|
104
104
|
export type ModelReasoningEffort = (typeof REASONING_EFFORTS)[number];
|
|
105
105
|
/** Effort levels the Responses API actually accepts. */
|
|
106
106
|
export type WireReasoningEffort = Exclude<ModelReasoningEffort, "ultra">;
|
|
107
|
+
/**
|
|
108
|
+
* Strip a trailing reasoning-effort suffix from a model id.
|
|
109
|
+
*
|
|
110
|
+
* Callers use this to collapse `gpt-5.6-sol-max` and `gpt-6-astra-ultra` onto
|
|
111
|
+
* the model they actually route to, so cache keys, policy keys and fallback
|
|
112
|
+
* chain lookups all agree on one id per model. Ids exempted above are returned
|
|
113
|
+
* untouched.
|
|
114
|
+
*/
|
|
115
|
+
export declare function stripModelEffortSuffix(modelId: string): string;
|
|
107
116
|
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../lib/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,uDAAuD;AACvD,eAAO,MAAM,WAAW,qBAAqB,CAAC;AAE9C,uCAAuC;AACvC,eAAO,MAAM,cAAc,oCAAoC,CAAC;AAEhE,gEAAgE;AAChE,eAAO,MAAM,aAAa,kBAAkB,CAAC;AAE7C,yEAAyE;AACzE,eAAO,MAAM,WAAW,WAAW,CAAC;AAEpC;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,QAA0B,CAAC;AAE/D,wBAAwB;AACxB,eAAO,MAAM,WAAW;;;;;;;;;;CAUd,CAAC;AAEX,8BAA8B;AAC9B,eAAO,MAAM,cAAc;;;;;;CAMjB,CAAC;AAEX,oCAAoC;AACpC,eAAO,MAAM,oBAAoB;;;CAGvB,CAAC;AAEX,wBAAwB;AACxB,eAAO,MAAM,SAAS;;;;CAIZ,CAAC;AAEX,4CAA4C;AAC5C,eAAO,MAAM,cAAc,EAAG,6BAAsC,CAAC;AAErE,qBAAqB;AACrB,eAAO,MAAM,cAAc;;;;CAIjB,CAAC;AAEX,qCAAqC;AACrC,eAAO,MAAM,UAAU;;;;;CAKb,CAAC;AAEX,gDAAgD;AAChD,eAAO,MAAM,gBAAgB;;;;CAInB,CAAC;AAEX,iCAAiC;AACjC,eAAO,MAAM,WAAW;;;;;;CAQd,CAAC;AAEX,kCAAkC;AAClC,eAAO,MAAM,cAAc;IAC1B,8DAA8D;;IAE9D,sEAAsE;;IAEtE,uEAAuE;;CAE9D,CAAC;AAEX;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,gFASpB,CAAC;AAEX;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEtE,wDAAwD;AACxD,MAAM,MAAM,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../lib/constants.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,uDAAuD;AACvD,eAAO,MAAM,WAAW,qBAAqB,CAAC;AAE9C,uCAAuC;AACvC,eAAO,MAAM,cAAc,oCAAoC,CAAC;AAEhE,gEAAgE;AAChE,eAAO,MAAM,aAAa,kBAAkB,CAAC;AAE7C,yEAAyE;AACzE,eAAO,MAAM,WAAW,WAAW,CAAC;AAEpC;;;;GAIG;AACH,eAAO,MAAM,uBAAuB,QAA0B,CAAC;AAE/D,wBAAwB;AACxB,eAAO,MAAM,WAAW;;;;;;;;;;CAUd,CAAC;AAEX,8BAA8B;AAC9B,eAAO,MAAM,cAAc;;;;;;CAMjB,CAAC;AAEX,oCAAoC;AACpC,eAAO,MAAM,oBAAoB;;;CAGvB,CAAC;AAEX,wBAAwB;AACxB,eAAO,MAAM,SAAS;;;;CAIZ,CAAC;AAEX,4CAA4C;AAC5C,eAAO,MAAM,cAAc,EAAG,6BAAsC,CAAC;AAErE,qBAAqB;AACrB,eAAO,MAAM,cAAc;;;;CAIjB,CAAC;AAEX,qCAAqC;AACrC,eAAO,MAAM,UAAU;;;;;CAKb,CAAC;AAEX,gDAAgD;AAChD,eAAO,MAAM,gBAAgB;;;;CAInB,CAAC;AAEX,iCAAiC;AACjC,eAAO,MAAM,WAAW;;;;;;CAQd,CAAC;AAEX,kCAAkC;AAClC,eAAO,MAAM,cAAc;IAC1B,8DAA8D;;IAE9D,sEAAsE;;IAEtE,uEAAuE;;CAE9D,CAAC;AAEX;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,gFASpB,CAAC;AAEX;;;;;GAKG;AACH,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;AAEtE,wDAAwD;AACxD,MAAM,MAAM,mBAAmB,GAAG,OAAO,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;AAuBzE;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAG9D"}
|
package/dist/lib/constants.js
CHANGED
|
@@ -104,3 +104,32 @@ export const REASONING_EFFORTS = [
|
|
|
104
104
|
"max",
|
|
105
105
|
"ultra",
|
|
106
106
|
];
|
|
107
|
+
/**
|
|
108
|
+
* Model ids whose final segment is an effort word but is part of the NAME.
|
|
109
|
+
*
|
|
110
|
+
* `codex-max` and `gpt-5.1-codex-max` are models. Stripping their trailing
|
|
111
|
+
* `-max` as if it were an effort suffix renames them to `codex` and
|
|
112
|
+
* `gpt-5.1-codex`, which silently retargets the unsupported-model fallback
|
|
113
|
+
* chain and splits their cache keys. This is the reason the strippers below
|
|
114
|
+
* omitted `max` and `ultra` for so long; naming the exception is what lets them
|
|
115
|
+
* be added.
|
|
116
|
+
*/
|
|
117
|
+
const EFFORT_SUFFIX_EXEMPT_PATTERN = /codex-max$/i;
|
|
118
|
+
/**
|
|
119
|
+
* Trailing `-<effort>` on a model id, derived from REASONING_EFFORTS so a new
|
|
120
|
+
* tier cannot be added to the union and missed here.
|
|
121
|
+
*/
|
|
122
|
+
const EFFORT_SUFFIX_PATTERN = new RegExp(`-(${REASONING_EFFORTS.join("|")})$`, "i");
|
|
123
|
+
/**
|
|
124
|
+
* Strip a trailing reasoning-effort suffix from a model id.
|
|
125
|
+
*
|
|
126
|
+
* Callers use this to collapse `gpt-5.6-sol-max` and `gpt-6-astra-ultra` onto
|
|
127
|
+
* the model they actually route to, so cache keys, policy keys and fallback
|
|
128
|
+
* chain lookups all agree on one id per model. Ids exempted above are returned
|
|
129
|
+
* untouched.
|
|
130
|
+
*/
|
|
131
|
+
export function stripModelEffortSuffix(modelId) {
|
|
132
|
+
if (EFFORT_SUFFIX_EXEMPT_PATTERN.test(modelId))
|
|
133
|
+
return modelId;
|
|
134
|
+
return modelId.replace(EFFORT_SUFFIX_PATTERN, "");
|
|
135
|
+
}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* behavior (see the v2.5.0 release notes) closely enough to launch that no
|
|
7
7
|
* estimate here has been reviewed for it yet.
|
|
8
8
|
*/
|
|
9
|
-
export declare const UNESTIMATED_ROUTABLE_MODELS: readonly ["gpt-5.6-sol", "gpt-5.6-terra", "gpt-5.6-luna"];
|
|
9
|
+
export declare const UNESTIMATED_ROUTABLE_MODELS: readonly ["gpt-5.6-sol", "gpt-5.6-terra", "gpt-5.6-luna", "gpt-6-astra", "gpt-6-astra-aeon", "gpt-daybreak-blue-latest", "gpt-daybreak-red-latest"];
|
|
10
10
|
export interface EffectiveContextWindow {
|
|
11
11
|
tokens: number;
|
|
12
12
|
source: "override" | "estimate";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-context-windows.d.ts","sourceRoot":"","sources":["../../../lib/context-budget/model-context-windows.ts"],"names":[],"mappings":"AAyCA;;;;;;;GAOG;AACH,eAAO,MAAM,2BAA2B,
|
|
1
|
+
{"version":3,"file":"model-context-windows.d.ts","sourceRoot":"","sources":["../../../lib/context-budget/model-context-windows.ts"],"names":[],"mappings":"AAyCA;;;;;;;GAOG;AACH,eAAO,MAAM,2BAA2B,qJAgB9B,CAAC;AAgCX,MAAM,WAAW,sBAAsB;IACtC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,UAAU,GAAG,UAAU,CAAC;CAChC;AAED;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CACxC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAChC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,GAC3C,sBAAsB,GAAG,IAAI,CA0B/B;AAED,wBAAgB,gCAAgC,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAEzE"}
|
|
@@ -48,6 +48,18 @@ export const UNESTIMATED_ROUTABLE_MODELS = [
|
|
|
48
48
|
"gpt-5.6-sol",
|
|
49
49
|
"gpt-5.6-terra",
|
|
50
50
|
"gpt-5.6-luna",
|
|
51
|
+
// GPT-6 Astra published two different numbers on day one: 1.05M for the API
|
|
52
|
+
// surface and 272K as the Codex context. This wrapper talks to the Codex
|
|
53
|
+
// backend, and the same split is what the v2.5.0 notes warn about — so no
|
|
54
|
+
// estimate is entered here. `gpt-daybreak-red-latest` is the one model whose
|
|
55
|
+
// upstream catalog entry pins `context_window` and `max_context_window` to
|
|
56
|
+
// the same 372000, but that is the Codex picker's number rather than a
|
|
57
|
+
// measured ceiling for this transport, so it stays unestimated too. Set
|
|
58
|
+
// `contextBudgetGuardModelWindowOverrides` once you know your real ceiling.
|
|
59
|
+
"gpt-6-astra",
|
|
60
|
+
"gpt-6-astra-aeon",
|
|
61
|
+
"gpt-daybreak-blue-latest",
|
|
62
|
+
"gpt-daybreak-red-latest",
|
|
51
63
|
];
|
|
52
64
|
function normalizeModelName(model) {
|
|
53
65
|
const trimmed = model?.trim().toLowerCase();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entitlement-cache.d.ts","sourceRoot":"","sources":["../../lib/entitlement-cache.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"entitlement-cache.d.ts","sourceRoot":"","sources":["../../lib/entitlement-cache.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,gBAAgB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,mBAAmB,GAAG,kBAAkB,CAAC;IACjD,SAAS,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,wBAAwB;IACxC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC;CAC7C;AAKD,MAAM,WAAW,qBAAqB;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AA0BD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,qBAAqB,GAAG,MAAM,CAU/E;AAED,qBAAa,gBAAgB;IAC5B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAoD;IAEpF,WAAW,CACV,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,gBAAgB,CAAC,QAAQ,CAAC,EAClC,KAAK,SAAuB,EAC5B,GAAG,SAAa,GACd,IAAI;IAqBP,KAAK,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAc/C,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,SAAa,GAAG;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAA;KAAE;IAmBzI,KAAK,CAAC,GAAG,SAAa,GAAG,MAAM;IAmB/B,QAAQ,CAAC,GAAG,SAAa,GAAG,wBAAwB;CAUpD"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { createLogger } from "./logger.js";
|
|
2
|
+
import { stripModelEffortSuffix } from "./constants.js";
|
|
2
3
|
const log = createLogger("entitlement-cache");
|
|
3
4
|
const DEFAULT_BLOCK_TTL_MS = 30 * 60_000;
|
|
4
5
|
const MAX_ACCOUNT_BUCKETS = 512;
|
|
@@ -18,7 +19,7 @@ function normalizeModel(model) {
|
|
|
18
19
|
if (!trimmed)
|
|
19
20
|
return null;
|
|
20
21
|
const stripped = trimmed.includes("/") ? (trimmed.split("/").pop() ?? trimmed) : trimmed;
|
|
21
|
-
return stripped
|
|
22
|
+
return stripModelEffortSuffix(stripped);
|
|
22
23
|
}
|
|
23
24
|
function normalizeEntitlementEmail(email) {
|
|
24
25
|
if (!email)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-capability-matrix.d.ts","sourceRoot":"","sources":["../../lib/model-capability-matrix.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAGN,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAEN,KAAK,wBAAwB,EAC7B,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EACX,wBAAwB,EACxB,qBAAqB,EACrB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGxE,MAAM,WAAW,0BAA0B;IAC1C,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,iBAAiB,CAAC;IAChC,sBAAsB,EAAE,oBAAoB,CAAC;IAC7C,yBAAyB,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAC3D,YAAY,EAAE,iBAAiB,CAAC;IAChC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,wBAAwB,GAAG,IAAI,CAAC;IAClD,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,eAAe,GAAG,IAAI,CAAC;IAC9B,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,0BAA0B,EAAE,CAAC;CACtC;AAsBD,wBAAgB,0BAA0B,CAAC,KAAK,EAAE;IACjD,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,YAAY,CAAC,EAAE,wBAAwB,GAAG,IAAI,CAAC;IAC/C,gBAAgB,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAChD,UAAU,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IACnC,GAAG,CAAC,EAAE,MAAM,CAAC;CACb,GAAG,qBAAqB,
|
|
1
|
+
{"version":3,"file":"model-capability-matrix.d.ts","sourceRoot":"","sources":["../../lib/model-capability-matrix.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAGN,KAAK,iBAAiB,EACtB,KAAK,oBAAoB,EACzB,KAAK,iBAAiB,EACtB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAEN,KAAK,wBAAwB,EAC7B,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EACX,wBAAwB,EACxB,qBAAqB,EACrB,MAAM,wBAAwB,CAAC;AAChC,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGxE,MAAM,WAAW,0BAA0B;IAC1C,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,iBAAiB,CAAC;IAChC,sBAAsB,EAAE,oBAAoB,CAAC;IAC7C,yBAAyB,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAC3D,YAAY,EAAE,iBAAiB,CAAC;IAChC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,wBAAwB,GAAG,IAAI,CAAC;IAClD,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,eAAe,GAAG,IAAI,CAAC;IAC9B,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,qBAAqB;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,0BAA0B,EAAE,CAAC;CACtC;AAsBD,wBAAgB,0BAA0B,CAAC,KAAK,EAAE;IACjD,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,YAAY,CAAC,EAAE,wBAAwB,GAAG,IAAI,CAAC;IAC/C,gBAAgB,CAAC,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAChD,UAAU,CAAC,EAAE,cAAc,GAAG,IAAI,CAAC;IACnC,GAAG,CAAC,EAAE,MAAM,CAAC;CACb,GAAG,qBAAqB,CAyFxB"}
|