bunnyquery 1.11.0 → 1.11.1
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/bunnyquery.js +15 -1
- package/dist/engine.cjs +14 -0
- package/dist/engine.cjs.map +1 -1
- package/dist/engine.mjs +14 -0
- package/dist/engine.mjs.map +1 -1
- package/package.json +1 -1
- package/src/engine/budget.ts +13 -3
package/package.json
CHANGED
package/src/engine/budget.ts
CHANGED
|
@@ -19,6 +19,8 @@ export var CONTEXT_WINDOW_DEFAULT: Record<string, number> = { claude: 200000, op
|
|
|
19
19
|
// 128,000 output cap, i.e. the ~922,000 of usable input quoted for it elsewhere.
|
|
20
20
|
export var CONTEXT_WINDOW_BY_MODEL: Record<string, number> = {
|
|
21
21
|
// claude, exact ids
|
|
22
|
+
'claude-fable-5-1': 1000000, 'claude-opus-5-5': 1000000,
|
|
23
|
+
'claude-sonnet-5-5': 1000000,
|
|
22
24
|
'claude-fable-5': 1000000, 'claude-opus-5': 1000000,
|
|
23
25
|
'claude-opus-4-8': 1000000, 'claude-opus-4-7': 1000000,
|
|
24
26
|
'claude-opus-4-6': 1000000, 'claude-opus-4-5': 200000,
|
|
@@ -26,13 +28,14 @@ export var CONTEXT_WINDOW_BY_MODEL: Record<string, number> = {
|
|
|
26
28
|
'claude-sonnet-4-5': 1000000, 'claude-sonnet-4': 200000,
|
|
27
29
|
'claude-haiku-4-5': 200000, 'claude-3-5-sonnet': 200000,
|
|
28
30
|
// openai, exact ids
|
|
31
|
+
'gpt-6-astra': 1050000, 'gpt-6-sol': 1050000, 'gpt-6-luna': 1050000,
|
|
29
32
|
'gpt-5.6-sol': 1050000, 'gpt-5.6-terra': 1050000, 'gpt-5.6-luna': 1050000,
|
|
30
33
|
'gpt-5.5': 1000000, 'gpt-5.4': 1050000,
|
|
31
34
|
'gpt-5.4-mini': 400000, 'gpt-5.4-nano': 400000,
|
|
32
35
|
'gpt-4.1': 1040000, 'gpt-4o': 128000, 'o1': 200000, 'o1-pro': 200000,
|
|
33
36
|
// family keys
|
|
34
37
|
'claude-fable': 1000000, 'claude-opus': 1000000, 'claude-sonnet': 1000000,
|
|
35
|
-
'claude-haiku': 200000, 'gpt-5.6': 1050000, 'gpt-5': 128000,
|
|
38
|
+
'claude-haiku': 200000, 'gpt-6': 1050000, 'gpt-5.6': 1050000, 'gpt-5': 128000,
|
|
36
39
|
};
|
|
37
40
|
// Two rows above are load-bearing rather than redundant, both because the family
|
|
38
41
|
// walk drops trailing segments:
|
|
@@ -44,6 +47,10 @@ export var CONTEXT_WINDOW_BY_MODEL: Record<string, number> = {
|
|
|
44
47
|
// matters most in practice: the indexing path selects it by name.
|
|
45
48
|
// The bare 'gpt-5' family stays deliberately low: it is the catch-all for gpt-5
|
|
46
49
|
// variants not listed here, and a mini-class variant is the likelier unknown.
|
|
50
|
+
// 'gpt-6' is a family key at the full window for the opposite reason: every
|
|
51
|
+
// gpt-6 tier is 1050000, luna (the smallest) included, and without the key an
|
|
52
|
+
// id this table has not met yet drops to the 128000 platform default, which is
|
|
53
|
+
// what astra, sol and luna did on the day they were added to the model list.
|
|
47
54
|
//
|
|
48
55
|
// One asymmetry these rows expose: a total minus our output reserve can exceed a
|
|
49
56
|
// model's separately-published INPUT ceiling (gpt-5.4-nano is 400000 total but
|
|
@@ -58,23 +65,26 @@ export var CONTEXT_WINDOW_BY_MODEL: Record<string, number> = {
|
|
|
58
65
|
// flat 25000 the request builder used to send unconditionally.
|
|
59
66
|
export var MAX_OUTPUT_BY_MODEL: Record<string, number> = {
|
|
60
67
|
// claude
|
|
68
|
+
'claude-fable-5-1': 128000, 'claude-opus-5-5': 128000,
|
|
69
|
+
'claude-sonnet-5-5': 128000,
|
|
61
70
|
'claude-fable-5': 128000, 'claude-opus-5': 128000,
|
|
62
71
|
'claude-opus-4-8': 128000, 'claude-sonnet-5': 128000,
|
|
63
72
|
'claude-sonnet-4-6': 64000, 'claude-haiku-4-5': 64000,
|
|
64
73
|
'claude-3-5-sonnet': 8000,
|
|
65
74
|
// openai
|
|
75
|
+
'gpt-6-astra': 128000, 'gpt-6-sol': 128000, 'gpt-6-luna': 128000,
|
|
66
76
|
'gpt-5.6-sol': 128000, 'gpt-5.6-terra': 128000, 'gpt-5.6-luna': 128000,
|
|
67
77
|
'gpt-5.5': 128000, 'gpt-5.4': 128000,
|
|
68
78
|
'gpt-5.4-mini': 128000, 'gpt-5.4-nano': 128000,
|
|
69
79
|
'gpt-4.1': 16000, 'gpt-4o': 4000, 'o1': 100000, 'o1-pro': 100000,
|
|
70
80
|
// family keys
|
|
71
81
|
'claude-fable': 128000, 'claude-opus': 128000, 'claude-sonnet': 64000,
|
|
72
|
-
'claude-haiku': 64000, 'gpt-5.6': 128000, 'gpt-5': 128000,
|
|
82
|
+
'claude-haiku': 64000, 'gpt-6': 128000, 'gpt-5.6': 128000, 'gpt-5': 128000,
|
|
73
83
|
};
|
|
74
84
|
|
|
75
85
|
// The window a project runs at when nobody has touched the setting, clamped per
|
|
76
86
|
// model by getContextWindow. Deliberately BELOW every frontier ceiling it can
|
|
77
|
-
// resolve against (1,000,000 on the Claude 5 line, 1,050,000 on gpt-5.6) because
|
|
87
|
+
// resolve against (1,000,000 on the Claude 5 line, 1,050,000 on gpt-5.6 and gpt-6) because
|
|
78
88
|
// the client-side budget covers only the FIRST request: after that the model
|
|
79
89
|
// runs a server-side tool loop whose web_fetch and MCP results accumulate in the
|
|
80
90
|
// same conversation and are not counted here. The gap (120k and 170k
|