neoctl 0.2.33 → 0.2.35

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.
@@ -1,18 +1,13 @@
1
- {
2
- "updatedAt": "2026-09-03",
3
- "notes": [
4
- "Static model metadata used for local REPL telemetry. Values are best-effort and should be refreshed when providers update model cards.",
5
- "MODEL_CONTEXT_WINDOW_TOKENS or OPENAI_CONTEXT_WINDOW_TOKENS overrides contextWindowTokens at runtime.",
6
- "modelIds are exact official model IDs/aliases from provider documentation; matching is direct and does not use regex.",
7
- "imageInput indicates whether provider documentation lists image input / vision support for the model.",
8
- "reasoningEfforts lists the exact reasoning.effort values the /model command may set; omitted/empty means no supported effort enum is configured for that model."
9
- ],
10
- "sources": {
1
+ {
2
+ "updatedAt": "2026-09-05",
3
+ "notes": [
4
+ "Static metadata for the supported multimodal GPT model aliases.",
5
+ "MODEL_CONTEXT_WINDOW_TOKENS or OPENAI_CONTEXT_WINDOW_TOKENS overrides contextWindowTokens at runtime.",
6
+ "modelIds are matched exactly."
7
+ ],
8
+ "sources": {
11
9
  "openai-models": "https://developers.openai.com/api/docs/models",
12
- "gemini-models": "https://ai.google.dev/gemini-api/docs/models",
13
- "mistral-known-limitations": "https://docs.mistral.ai/resources/known-limitations",
14
- "mistral-vision": "https://docs.mistral.ai/capabilities/vision",
15
- "openai-reasoning": "https://developers.openai.com/api/docs/guides/reasoning"
10
+ "openai-reasoning": "https://developers.openai.com/api/docs/guides/reasoning"
16
11
  },
17
12
  "models": [
18
13
  {
@@ -80,557 +75,25 @@
80
75
  ]
81
76
  },
82
77
  {
83
- "id": "gpt-5.5",
84
- "provider": "openai",
85
- "modelIds": [
86
- "gpt-5.5"
87
- ],
88
- "contextWindowTokens": 1050000,
89
- "maxOutputTokens": 128000,
90
- "reasoning": true,
91
- "imageInput": true,
92
- "source": "openai-models",
93
- "reasoningEfforts": [
94
- "none",
95
- "low",
96
- "medium",
97
- "high",
98
- "xhigh"
99
- ]
100
- },
101
- {
102
- "id": "gpt-5.5-pro",
103
- "provider": "openai",
104
- "modelIds": [
105
- "gpt-5.5-pro"
106
- ],
107
- "contextWindowTokens": 1050000,
108
- "maxOutputTokens": 128000,
109
- "reasoning": true,
110
- "imageInput": true,
111
- "source": "openai-models",
112
- "reasoningEfforts": [
113
- "none",
114
- "low",
115
- "medium",
116
- "high",
117
- "xhigh"
118
- ]
119
- },
120
- {
121
- "id": "gpt-5.4",
122
- "provider": "openai",
123
- "modelIds": [
124
- "gpt-5.4"
125
- ],
126
- "contextWindowTokens": 1050000,
127
- "maxOutputTokens": 128000,
128
- "reasoning": true,
129
- "imageInput": true,
130
- "source": "openai-models",
131
- "reasoningEfforts": [
132
- "none",
133
- "low",
134
- "medium",
135
- "high",
136
- "xhigh"
137
- ]
138
- },
139
- {
140
- "id": "gpt-5.4-mini",
141
- "provider": "openai",
142
- "modelIds": [
143
- "gpt-5.4-mini"
144
- ],
145
- "contextWindowTokens": 400000,
146
- "maxOutputTokens": 128000,
147
- "reasoning": true,
148
- "imageInput": true,
149
- "source": "openai-models",
150
- "reasoningEfforts": [
151
- "none",
152
- "low",
153
- "medium",
154
- "high",
155
- "xhigh"
156
- ]
157
- },
158
- {
159
- "id": "gpt-5.4-nano",
160
- "provider": "openai",
161
- "modelIds": [
162
- "gpt-5.4-nano"
163
- ],
164
- "contextWindowTokens": 400000,
165
- "maxOutputTokens": 128000,
166
- "reasoning": true,
167
- "imageInput": true,
168
- "source": "openai-models",
169
- "reasoningEfforts": [
170
- "none",
171
- "low",
172
- "medium",
173
- "high",
174
- "xhigh"
175
- ]
176
- },
177
- {
178
- "id": "gpt-5.2",
179
- "provider": "openai",
180
- "modelIds": [
181
- "gpt-5.2"
182
- ],
183
- "contextWindowTokens": 400000,
184
- "maxOutputTokens": 128000,
185
- "knowledgeCutoff": "2025-08-31",
186
- "reasoning": true,
187
- "imageInput": true,
188
- "source": "openai-models",
189
- "reasoningEfforts": [
190
- "none",
191
- "low",
192
- "medium",
193
- "high",
194
- "xhigh"
195
- ]
196
- },
197
- {
198
- "id": "gpt-5.2-codex",
199
- "provider": "openai",
200
- "modelIds": [
201
- "gpt-5.2-codex"
202
- ],
203
- "contextWindowTokens": 400000,
204
- "maxOutputTokens": 128000,
205
- "knowledgeCutoff": "2025-08-31",
206
- "reasoning": true,
207
- "imageInput": true,
208
- "source": "openai-models",
209
- "reasoningEfforts": [
210
- "low",
211
- "medium",
212
- "high",
213
- "xhigh"
214
- ]
215
- },
216
- {
217
- "id": "gpt-5.2-pro",
218
- "provider": "openai",
219
- "modelIds": [
220
- "gpt-5.2-pro"
221
- ],
222
- "contextWindowTokens": 400000,
223
- "maxOutputTokens": 128000,
224
- "reasoning": true,
225
- "imageInput": true,
226
- "source": "openai-models",
227
- "reasoningEfforts": [
228
- "none",
229
- "low",
230
- "medium",
231
- "high",
232
- "xhigh"
233
- ]
234
- },
235
- {
236
- "id": "gpt-5.1",
237
- "provider": "openai",
238
- "modelIds": [
239
- "gpt-5.1"
240
- ],
241
- "contextWindowTokens": 400000,
242
- "maxOutputTokens": 128000,
243
- "knowledgeCutoff": "2024-09-30",
244
- "reasoning": true,
245
- "imageInput": true,
246
- "source": "openai-models",
247
- "reasoningEfforts": [
248
- "none",
249
- "low",
250
- "medium",
251
- "high"
252
- ]
253
- },
254
- {
255
- "id": "gpt-5.1-codex",
256
- "provider": "openai",
257
- "modelIds": [
258
- "gpt-5.1-codex"
259
- ],
260
- "contextWindowTokens": 400000,
261
- "maxOutputTokens": 128000,
262
- "knowledgeCutoff": "2024-09-30",
263
- "reasoning": true,
264
- "imageInput": true,
265
- "source": "openai-models",
266
- "reasoningEfforts": [
267
- "low",
268
- "medium",
269
- "high"
270
- ]
271
- },
272
- {
273
- "id": "gpt-5.1-codex-max",
274
- "provider": "openai",
275
- "modelIds": [
276
- "gpt-5.1-codex-max"
277
- ],
278
- "contextWindowTokens": 400000,
279
- "maxOutputTokens": 128000,
280
- "knowledgeCutoff": "2024-09-30",
281
- "reasoning": true,
282
- "imageInput": true,
283
- "source": "openai-models",
284
- "reasoningEfforts": [
285
- "low",
286
- "medium",
287
- "high"
288
- ]
289
- },
290
- {
291
- "id": "gpt-5.1-codex-mini",
292
- "provider": "openai",
293
- "modelIds": [
294
- "gpt-5.1-codex-mini"
295
- ],
296
- "contextWindowTokens": 400000,
297
- "maxOutputTokens": 128000,
298
- "knowledgeCutoff": "2024-09-30",
299
- "reasoning": true,
300
- "imageInput": true,
301
- "source": "openai-models",
302
- "reasoningEfforts": [
303
- "low",
304
- "medium",
305
- "high"
306
- ]
307
- },
308
- {
309
- "id": "gpt-5",
310
- "provider": "openai",
311
- "modelIds": [
312
- "gpt-5"
313
- ],
314
- "contextWindowTokens": 400000,
315
- "maxOutputTokens": 128000,
316
- "reasoning": true,
317
- "imageInput": true,
318
- "source": "openai-models",
319
- "reasoningEfforts": [
320
- "minimal",
321
- "low",
322
- "medium",
323
- "high"
324
- ]
325
- },
326
- {
327
- "id": "gpt-5-codex",
328
- "provider": "openai",
329
- "modelIds": [
330
- "gpt-5-codex"
331
- ],
332
- "contextWindowTokens": 400000,
333
- "maxOutputTokens": 128000,
334
- "reasoning": true,
335
- "imageInput": true,
336
- "source": "openai-models",
337
- "reasoningEfforts": [
338
- "minimal",
339
- "low",
340
- "medium",
341
- "high"
342
- ]
343
- },
344
- {
345
- "id": "gpt-5-mini",
346
- "provider": "openai",
347
- "modelIds": [
348
- "gpt-5-mini"
349
- ],
350
- "contextWindowTokens": 400000,
351
- "maxOutputTokens": 128000,
352
- "reasoning": true,
353
- "imageInput": true,
354
- "source": "openai-models",
355
- "reasoningEfforts": [
356
- "minimal",
357
- "low",
358
- "medium",
359
- "high"
360
- ]
361
- },
362
- {
363
- "id": "gpt-5-nano",
364
- "provider": "openai",
365
- "modelIds": [
366
- "gpt-5-nano"
367
- ],
368
- "contextWindowTokens": 400000,
369
- "maxOutputTokens": 128000,
370
- "reasoning": true,
371
- "imageInput": true,
372
- "source": "openai-models",
373
- "reasoningEfforts": [
374
- "minimal",
375
- "low",
376
- "medium",
377
- "high"
378
- ]
379
- },
380
- {
381
- "id": "gpt-5-pro",
382
- "provider": "openai",
383
- "modelIds": [
384
- "gpt-5-pro"
385
- ],
386
- "contextWindowTokens": 400000,
387
- "maxOutputTokens": 272000,
388
- "reasoning": true,
389
- "imageInput": true,
390
- "source": "openai-models",
391
- "reasoningEfforts": [
392
- "minimal",
393
- "low",
394
- "medium",
395
- "high"
396
- ]
397
- },
398
- {
399
- "id": "gpt-4.1",
400
- "provider": "openai",
401
- "modelIds": [
402
- "gpt-4.1"
403
- ],
404
- "contextWindowTokens": 1047576,
405
- "maxOutputTokens": 32768,
406
- "reasoning": false,
407
- "imageInput": true,
408
- "source": "openai-models"
409
- },
410
- {
411
- "id": "gpt-4.1-mini",
412
- "provider": "openai",
413
- "modelIds": [
414
- "gpt-4.1-mini"
415
- ],
416
- "contextWindowTokens": 1047576,
417
- "maxOutputTokens": 32768,
418
- "reasoning": false,
419
- "imageInput": true,
420
- "source": "openai-models"
421
- },
422
- {
423
- "id": "gpt-4.1-nano",
424
- "provider": "openai",
425
- "modelIds": [
426
- "gpt-4.1-nano"
427
- ],
428
- "contextWindowTokens": 1047576,
429
- "maxOutputTokens": 32768,
430
- "reasoning": false,
431
- "imageInput": true,
432
- "source": "openai-models"
433
- },
434
- {
435
- "id": "gpt-4o",
436
- "provider": "openai",
437
- "modelIds": [
438
- "gpt-4o"
439
- ],
440
- "contextWindowTokens": 128000,
441
- "maxOutputTokens": 16384,
442
- "reasoning": false,
443
- "imageInput": true,
444
- "source": "openai-models"
445
- },
446
- {
447
- "id": "gpt-4o-mini",
448
- "provider": "openai",
449
- "modelIds": [
450
- "gpt-4o-mini"
451
- ],
452
- "contextWindowTokens": 128000,
453
- "maxOutputTokens": 16384,
454
- "reasoning": false,
455
- "imageInput": true,
456
- "source": "openai-models"
457
- },
458
- {
459
- "id": "chatgpt-4o-latest",
460
- "provider": "openai",
461
- "modelIds": [
462
- "chatgpt-4o-latest"
463
- ],
464
- "contextWindowTokens": 128000,
465
- "maxOutputTokens": 16384,
466
- "reasoning": false,
467
- "imageInput": true,
468
- "source": "openai-models"
469
- },
470
- {
471
- "id": "gpt-4o-search-preview",
472
- "provider": "openai",
473
- "modelIds": [
474
- "gpt-4o-search-preview"
475
- ],
476
- "contextWindowTokens": 128000,
477
- "maxOutputTokens": 16384,
478
- "reasoning": false,
479
- "imageInput": true,
480
- "source": "openai-models"
481
- },
482
- {
483
- "id": "gpt-4o-mini-search-preview",
484
- "provider": "openai",
485
- "modelIds": [
486
- "gpt-4o-mini-search-preview"
487
- ],
488
- "contextWindowTokens": 128000,
489
- "maxOutputTokens": 16384,
490
- "reasoning": false,
491
- "imageInput": true,
492
- "source": "openai-models"
493
- },
494
- {
495
- "id": "o4-mini",
496
- "provider": "openai",
497
- "modelIds": [
498
- "o4-mini"
499
- ],
500
- "contextWindowTokens": 200000,
501
- "maxOutputTokens": 100000,
502
- "reasoning": true,
503
- "imageInput": true,
504
- "source": "openai-models",
505
- "reasoningEfforts": [
506
- "low",
507
- "medium",
508
- "high"
509
- ]
510
- },
511
- {
512
- "id": "o4-mini-deep-research",
513
- "provider": "openai",
514
- "modelIds": [
515
- "o4-mini-deep-research"
516
- ],
517
- "contextWindowTokens": 200000,
518
- "maxOutputTokens": 100000,
519
- "reasoning": true,
520
- "imageInput": true,
521
- "source": "openai-models",
522
- "reasoningEfforts": [
523
- "low",
524
- "medium",
525
- "high"
526
- ]
527
- },
528
- {
529
- "id": "gpt-4",
530
- "provider": "openai",
531
- "modelIds": [
532
- "gpt-4"
533
- ],
534
- "contextWindowTokens": 8192,
535
- "maxOutputTokens": 8192,
536
- "reasoning": false,
537
- "imageInput": false,
538
- "source": "openai-models"
539
- },
540
- {
541
- "id": "gemini-3.1-pro-preview",
542
- "provider": "google",
543
- "modelIds": [
544
- "gemini-3.1-pro-preview",
545
- "gemini-3.1-pro-preview-customtools"
546
- ],
547
- "contextWindowTokens": 1048576,
548
- "maxOutputTokens": 65536,
549
- "reasoning": true,
550
- "imageInput": true,
551
- "source": "gemini-models"
552
- },
553
- {
554
- "id": "gemini-3-flash-preview",
555
- "provider": "google",
556
- "modelIds": [
557
- "gemini-3-flash-preview"
558
- ],
559
- "contextWindowTokens": 1048576,
560
- "maxOutputTokens": 65536,
561
- "reasoning": true,
562
- "imageInput": true,
563
- "source": "gemini-models"
564
- },
565
- {
566
- "id": "gemini-2.5-pro",
567
- "provider": "google",
568
- "modelIds": [
569
- "gemini-2.5-pro"
570
- ],
571
- "contextWindowTokens": 1048576,
572
- "maxOutputTokens": 65536,
573
- "reasoning": true,
574
- "imageInput": true,
575
- "source": "gemini-models"
576
- },
577
- {
578
- "id": "gemini-2.5-flash",
579
- "provider": "google",
580
- "modelIds": [
581
- "gemini-2.5-flash"
582
- ],
583
- "contextWindowTokens": 1048576,
584
- "maxOutputTokens": 65536,
585
- "reasoning": true,
586
- "imageInput": true,
587
- "source": "gemini-models"
588
- },
589
- {
590
- "id": "gemini-2.5-flash-lite",
591
- "provider": "google",
592
- "modelIds": [
593
- "gemini-2.5-flash-lite"
594
- ],
595
- "contextWindowTokens": 1048576,
596
- "maxOutputTokens": 65536,
597
- "reasoning": true,
598
- "imageInput": true,
599
- "source": "gemini-models"
600
- },
601
- {
602
- "id": "gemini-2.0-flash",
603
- "provider": "google",
604
- "modelIds": [
605
- "gemini-2.0-flash"
606
- ],
607
- "contextWindowTokens": 1048576,
608
- "maxOutputTokens": 8192,
609
- "reasoning": true,
610
- "imageInput": true,
611
- "source": "gemini-models"
612
- },
613
- {
614
- "id": "mistral-large-latest",
615
- "provider": "mistral",
616
- "modelIds": [
617
- "mistral-large-latest"
618
- ],
619
- "contextWindowTokens": 131072,
620
- "reasoning": false,
621
- "imageInput": true,
622
- "source": "mistral-known-limitations"
623
- },
624
- {
625
- "id": "mistral-small-latest",
626
- "provider": "mistral",
627
- "modelIds": [
628
- "mistral-small-latest"
629
- ],
630
- "contextWindowTokens": 32768,
631
- "reasoning": false,
632
- "imageInput": true,
633
- "source": "mistral-known-limitations"
634
- }
635
- ]
636
- }
78
+ "id": "gpt-6-astra",
79
+ "provider": "openai",
80
+ "modelIds": [
81
+ "gpt-6",
82
+ "gpt-6-astra"
83
+ ],
84
+ "contextWindowTokens": 256000,
85
+ "maxOutputTokens": 128000,
86
+ "reasoning": true,
87
+ "imageInput": true,
88
+ "source": "openai-models",
89
+ "reasoningEfforts": [
90
+ "none",
91
+ "low",
92
+ "medium",
93
+ "high",
94
+ "xhigh",
95
+ "max"
96
+ ]
97
+ }
98
+ ]
99
+ }
@@ -358,6 +358,7 @@ export declare class WebRepl {
358
358
  private pendingUserImageEchoMessageId;
359
359
  private runtimeContextRevision;
360
360
  private runtimeContextPublishQueue;
361
+ private pendingRuntimeConfiguration;
361
362
  private readonly backgroundSessionRuns;
362
363
  private readonly suppressReattachedStreaming;
363
364
  constructor(runtime: WebRuntime);
@@ -479,6 +480,7 @@ export declare class WebRepl {
479
480
  private parseToolModes;
480
481
  private applySessionToolOverrides;
481
482
  private syncPluginToolRegistration;
483
+ private applyRuntimeConfiguration;
482
484
  private refreshToolConfiguration;
483
485
  private applySessionPluginOverrides;
484
486
  submit(text: string, attachments?: WebAttachmentPayload[]): Promise<{