@blockrun/clawrouter 0.12.102 → 0.12.104
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/dist/cli.d.ts +0 -15
- package/dist/cli.js +80068 -407
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +1406 -34
- package/dist/index.js +81085 -1075
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/scripts/reinstall.sh +43 -7
- package/scripts/update.sh +35 -1
- package/dist/auth.d.ts +0 -82
- package/dist/auth.d.ts.map +0 -1
- package/dist/auth.js +0 -388
- package/dist/auth.js.map +0 -1
- package/dist/balance.d.ts +0 -97
- package/dist/balance.d.ts.map +0 -1
- package/dist/balance.js +0 -157
- package/dist/balance.js.map +0 -1
- package/dist/cli.d.ts.map +0 -1
- package/dist/compression/codebook.d.ts +0 -24
- package/dist/compression/codebook.d.ts.map +0 -1
- package/dist/compression/codebook.js +0 -119
- package/dist/compression/codebook.js.map +0 -1
- package/dist/compression/index.d.ts +0 -33
- package/dist/compression/index.d.ts.map +0 -1
- package/dist/compression/index.js +0 -246
- package/dist/compression/index.js.map +0 -1
- package/dist/compression/layers/deduplication.d.ts +0 -28
- package/dist/compression/layers/deduplication.d.ts.map +0 -1
- package/dist/compression/layers/deduplication.js +0 -101
- package/dist/compression/layers/deduplication.js.map +0 -1
- package/dist/compression/layers/dictionary.d.ts +0 -21
- package/dist/compression/layers/dictionary.d.ts.map +0 -1
- package/dist/compression/layers/dictionary.js +0 -73
- package/dist/compression/layers/dictionary.js.map +0 -1
- package/dist/compression/layers/dynamic-codebook.d.ts +0 -26
- package/dist/compression/layers/dynamic-codebook.d.ts.map +0 -1
- package/dist/compression/layers/dynamic-codebook.js +0 -149
- package/dist/compression/layers/dynamic-codebook.js.map +0 -1
- package/dist/compression/layers/json-compact.d.ts +0 -23
- package/dist/compression/layers/json-compact.d.ts.map +0 -1
- package/dist/compression/layers/json-compact.js +0 -79
- package/dist/compression/layers/json-compact.js.map +0 -1
- package/dist/compression/layers/observation.d.ts +0 -21
- package/dist/compression/layers/observation.d.ts.map +0 -1
- package/dist/compression/layers/observation.js +0 -130
- package/dist/compression/layers/observation.js.map +0 -1
- package/dist/compression/layers/paths.d.ts +0 -24
- package/dist/compression/layers/paths.d.ts.map +0 -1
- package/dist/compression/layers/paths.js +0 -110
- package/dist/compression/layers/paths.js.map +0 -1
- package/dist/compression/layers/whitespace.d.ts +0 -27
- package/dist/compression/layers/whitespace.d.ts.map +0 -1
- package/dist/compression/layers/whitespace.js +0 -60
- package/dist/compression/layers/whitespace.js.map +0 -1
- package/dist/compression/types.d.ts +0 -84
- package/dist/compression/types.d.ts.map +0 -1
- package/dist/compression/types.js +0 -27
- package/dist/compression/types.js.map +0 -1
- package/dist/config.d.ts +0 -12
- package/dist/config.d.ts.map +0 -1
- package/dist/config.js +0 -22
- package/dist/config.js.map +0 -1
- package/dist/dedup.d.ts +0 -34
- package/dist/dedup.d.ts.map +0 -1
- package/dist/dedup.js +0 -150
- package/dist/dedup.js.map +0 -1
- package/dist/doctor.d.ts +0 -8
- package/dist/doctor.d.ts.map +0 -1
- package/dist/doctor.js +0 -375
- package/dist/doctor.js.map +0 -1
- package/dist/error-classification.test.d.ts +0 -2
- package/dist/error-classification.test.d.ts.map +0 -1
- package/dist/error-classification.test.js +0 -59
- package/dist/error-classification.test.js.map +0 -1
- package/dist/errors.d.ts +0 -54
- package/dist/errors.d.ts.map +0 -1
- package/dist/errors.js +0 -85
- package/dist/errors.js.map +0 -1
- package/dist/exclude-models.d.ts +0 -28
- package/dist/exclude-models.d.ts.map +0 -1
- package/dist/exclude-models.integration.test.d.ts +0 -2
- package/dist/exclude-models.integration.test.d.ts.map +0 -1
- package/dist/exclude-models.integration.test.js +0 -46
- package/dist/exclude-models.integration.test.js.map +0 -1
- package/dist/exclude-models.js +0 -70
- package/dist/exclude-models.js.map +0 -1
- package/dist/exclude-models.test.d.ts +0 -5
- package/dist/exclude-models.test.d.ts.map +0 -1
- package/dist/exclude-models.test.js +0 -95
- package/dist/exclude-models.test.js.map +0 -1
- package/dist/fs-read.d.ts +0 -11
- package/dist/fs-read.d.ts.map +0 -1
- package/dist/fs-read.js +0 -47
- package/dist/fs-read.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/journal.d.ts +0 -67
- package/dist/journal.d.ts.map +0 -1
- package/dist/journal.js +0 -184
- package/dist/journal.js.map +0 -1
- package/dist/journal.test.d.ts +0 -2
- package/dist/journal.test.d.ts.map +0 -1
- package/dist/journal.test.js +0 -201
- package/dist/journal.test.js.map +0 -1
- package/dist/logger.d.ts +0 -33
- package/dist/logger.d.ts.map +0 -1
- package/dist/logger.js +0 -35
- package/dist/logger.js.map +0 -1
- package/dist/models.d.ts +0 -107
- package/dist/models.d.ts.map +0 -1
- package/dist/models.js +0 -941
- package/dist/models.js.map +0 -1
- package/dist/models.test.d.ts +0 -2
- package/dist/models.test.d.ts.map +0 -1
- package/dist/models.test.js +0 -38
- package/dist/models.test.js.map +0 -1
- package/dist/partners/index.d.ts +0 -8
- package/dist/partners/index.d.ts.map +0 -1
- package/dist/partners/index.js +0 -6
- package/dist/partners/index.js.map +0 -1
- package/dist/partners/registry.d.ts +0 -51
- package/dist/partners/registry.d.ts.map +0 -1
- package/dist/partners/registry.js +0 -256
- package/dist/partners/registry.js.map +0 -1
- package/dist/partners/tools.d.ts +0 -24
- package/dist/partners/tools.d.ts.map +0 -1
- package/dist/partners/tools.js +0 -97
- package/dist/partners/tools.js.map +0 -1
- package/dist/payment-preauth.d.ts +0 -17
- package/dist/payment-preauth.d.ts.map +0 -1
- package/dist/payment-preauth.js +0 -102
- package/dist/payment-preauth.js.map +0 -1
- package/dist/provider.d.ts +0 -19
- package/dist/provider.d.ts.map +0 -1
- package/dist/provider.js +0 -45
- package/dist/provider.js.map +0 -1
- package/dist/proxy.d.ts +0 -210
- package/dist/proxy.d.ts.map +0 -1
- package/dist/proxy.debrand.test.d.ts +0 -2
- package/dist/proxy.debrand.test.d.ts.map +0 -1
- package/dist/proxy.debrand.test.js +0 -101
- package/dist/proxy.debrand.test.js.map +0 -1
- package/dist/proxy.degraded-response.test.d.ts +0 -2
- package/dist/proxy.degraded-response.test.d.ts.map +0 -1
- package/dist/proxy.degraded-response.test.js +0 -105
- package/dist/proxy.degraded-response.test.js.map +0 -1
- package/dist/proxy.image-download.test.d.ts +0 -2
- package/dist/proxy.image-download.test.d.ts.map +0 -1
- package/dist/proxy.image-download.test.js +0 -92
- package/dist/proxy.image-download.test.js.map +0 -1
- package/dist/proxy.js +0 -3810
- package/dist/proxy.js.map +0 -1
- package/dist/proxy.models-endpoint.test.d.ts +0 -2
- package/dist/proxy.models-endpoint.test.d.ts.map +0 -1
- package/dist/proxy.models-endpoint.test.js +0 -19
- package/dist/proxy.models-endpoint.test.js.map +0 -1
- package/dist/proxy.multiturn-thinking.test.d.ts +0 -2
- package/dist/proxy.multiturn-thinking.test.d.ts.map +0 -1
- package/dist/proxy.multiturn-thinking.test.js +0 -82
- package/dist/proxy.multiturn-thinking.test.js.map +0 -1
- package/dist/proxy.payment-chain-reuse.test.d.ts +0 -2
- package/dist/proxy.payment-chain-reuse.test.d.ts.map +0 -1
- package/dist/proxy.payment-chain-reuse.test.js +0 -30
- package/dist/proxy.payment-chain-reuse.test.js.map +0 -1
- package/dist/proxy.solana-resilience.test.d.ts +0 -12
- package/dist/proxy.solana-resilience.test.d.ts.map +0 -1
- package/dist/proxy.solana-resilience.test.js +0 -39
- package/dist/proxy.solana-resilience.test.js.map +0 -1
- package/dist/report.d.ts +0 -6
- package/dist/report.d.ts.map +0 -1
- package/dist/report.js +0 -44
- package/dist/report.js.map +0 -1
- package/dist/response-cache.advanced.test.d.ts +0 -2
- package/dist/response-cache.advanced.test.d.ts.map +0 -1
- package/dist/response-cache.advanced.test.js +0 -566
- package/dist/response-cache.advanced.test.js.map +0 -1
- package/dist/response-cache.d.ts +0 -85
- package/dist/response-cache.d.ts.map +0 -1
- package/dist/response-cache.edge-cases.test.d.ts +0 -2
- package/dist/response-cache.edge-cases.test.d.ts.map +0 -1
- package/dist/response-cache.edge-cases.test.js +0 -488
- package/dist/response-cache.edge-cases.test.js.map +0 -1
- package/dist/response-cache.extreme.test.d.ts +0 -2
- package/dist/response-cache.extreme.test.d.ts.map +0 -1
- package/dist/response-cache.extreme.test.js +0 -561
- package/dist/response-cache.extreme.test.js.map +0 -1
- package/dist/response-cache.js +0 -240
- package/dist/response-cache.js.map +0 -1
- package/dist/response-cache.test.d.ts +0 -2
- package/dist/response-cache.test.d.ts.map +0 -1
- package/dist/response-cache.test.js +0 -242
- package/dist/response-cache.test.js.map +0 -1
- package/dist/retry.d.ts +0 -42
- package/dist/retry.d.ts.map +0 -1
- package/dist/retry.js +0 -99
- package/dist/retry.js.map +0 -1
- package/dist/router/config.d.ts +0 -11
- package/dist/router/config.d.ts.map +0 -1
- package/dist/router/config.js +0 -1215
- package/dist/router/config.js.map +0 -1
- package/dist/router/index.d.ts +0 -18
- package/dist/router/index.d.ts.map +0 -1
- package/dist/router/index.js +0 -19
- package/dist/router/index.js.map +0 -1
- package/dist/router/llm-classifier.d.ts +0 -29
- package/dist/router/llm-classifier.d.ts.map +0 -1
- package/dist/router/llm-classifier.js +0 -99
- package/dist/router/llm-classifier.js.map +0 -1
- package/dist/router/rules.d.ts +0 -12
- package/dist/router/rules.d.ts.map +0 -1
- package/dist/router/rules.js +0 -202
- package/dist/router/rules.js.map +0 -1
- package/dist/router/selector.d.ts +0 -58
- package/dist/router/selector.d.ts.map +0 -1
- package/dist/router/selector.js +0 -165
- package/dist/router/selector.js.map +0 -1
- package/dist/router/selector.test.d.ts +0 -2
- package/dist/router/selector.test.d.ts.map +0 -1
- package/dist/router/selector.test.js +0 -67
- package/dist/router/selector.test.js.map +0 -1
- package/dist/router/strategy.d.ts +0 -19
- package/dist/router/strategy.d.ts.map +0 -1
- package/dist/router/strategy.js +0 -138
- package/dist/router/strategy.js.map +0 -1
- package/dist/router/strategy.test.d.ts +0 -2
- package/dist/router/strategy.test.d.ts.map +0 -1
- package/dist/router/strategy.test.js +0 -131
- package/dist/router/strategy.test.js.map +0 -1
- package/dist/router/types.d.ts +0 -127
- package/dist/router/types.d.ts.map +0 -1
- package/dist/router/types.js +0 -11
- package/dist/router/types.js.map +0 -1
- package/dist/session.d.ts +0 -124
- package/dist/session.d.ts.map +0 -1
- package/dist/session.js +0 -256
- package/dist/session.js.map +0 -1
- package/dist/session.test.d.ts +0 -2
- package/dist/session.test.d.ts.map +0 -1
- package/dist/session.test.js +0 -163
- package/dist/session.test.js.map +0 -1
- package/dist/solana-balance.d.ts +0 -48
- package/dist/solana-balance.d.ts.map +0 -1
- package/dist/solana-balance.js +0 -142
- package/dist/solana-balance.js.map +0 -1
- package/dist/spend-control.d.ts +0 -112
- package/dist/spend-control.d.ts.map +0 -1
- package/dist/spend-control.js +0 -278
- package/dist/spend-control.js.map +0 -1
- package/dist/spend-control.test.d.ts +0 -5
- package/dist/spend-control.test.d.ts.map +0 -1
- package/dist/spend-control.test.js +0 -210
- package/dist/spend-control.test.js.map +0 -1
- package/dist/stats.d.ts +0 -64
- package/dist/stats.d.ts.map +0 -1
- package/dist/stats.js +0 -295
- package/dist/stats.js.map +0 -1
- package/dist/types.d.ts +0 -150
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -9
- package/dist/types.js.map +0 -1
- package/dist/update-hint.test.d.ts +0 -9
- package/dist/update-hint.test.d.ts.map +0 -1
- package/dist/update-hint.test.js +0 -156
- package/dist/update-hint.test.js.map +0 -1
- package/dist/updater.d.ts +0 -10
- package/dist/updater.d.ts.map +0 -1
- package/dist/updater.js +0 -55
- package/dist/updater.js.map +0 -1
- package/dist/version.d.ts +0 -3
- package/dist/version.d.ts.map +0 -1
- package/dist/version.js +0 -16
- package/dist/version.js.map +0 -1
- package/dist/wallet.d.ts +0 -52
- package/dist/wallet.d.ts.map +0 -1
- package/dist/wallet.js +0 -94
- package/dist/wallet.js.map +0 -1
- package/dist/wallet.test.d.ts +0 -6
- package/dist/wallet.test.d.ts.map +0 -1
- package/dist/wallet.test.js +0 -117
- package/dist/wallet.test.js.map +0 -1
- package/dist/x402-sdk.test.d.ts +0 -6
- package/dist/x402-sdk.test.d.ts.map +0 -1
- package/dist/x402-sdk.test.js +0 -161
- package/dist/x402-sdk.test.js.map +0 -1
package/dist/router/config.js
DELETED
|
@@ -1,1215 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Default Routing Config
|
|
3
|
-
*
|
|
4
|
-
* All routing parameters as a TypeScript constant.
|
|
5
|
-
* Operators override via openclaw.yaml plugin config.
|
|
6
|
-
*
|
|
7
|
-
* Scoring uses 14 weighted dimensions with sigmoid confidence calibration.
|
|
8
|
-
*/
|
|
9
|
-
export const DEFAULT_ROUTING_CONFIG = {
|
|
10
|
-
version: "2.0",
|
|
11
|
-
classifier: {
|
|
12
|
-
llmModel: "google/gemini-2.5-flash",
|
|
13
|
-
llmMaxTokens: 10,
|
|
14
|
-
llmTemperature: 0,
|
|
15
|
-
promptTruncationChars: 500,
|
|
16
|
-
cacheTtlMs: 3_600_000, // 1 hour
|
|
17
|
-
},
|
|
18
|
-
scoring: {
|
|
19
|
-
tokenCountThresholds: { simple: 50, complex: 500 },
|
|
20
|
-
// Multilingual keywords: EN + ZH + JA + RU + DE + ES + PT + KO + AR
|
|
21
|
-
codeKeywords: [
|
|
22
|
-
// English
|
|
23
|
-
"function",
|
|
24
|
-
"class",
|
|
25
|
-
"import",
|
|
26
|
-
"def",
|
|
27
|
-
"SELECT",
|
|
28
|
-
"async",
|
|
29
|
-
"await",
|
|
30
|
-
"const",
|
|
31
|
-
"let",
|
|
32
|
-
"var",
|
|
33
|
-
"return",
|
|
34
|
-
"```",
|
|
35
|
-
// Chinese
|
|
36
|
-
"函数",
|
|
37
|
-
"类",
|
|
38
|
-
"导入",
|
|
39
|
-
"定义",
|
|
40
|
-
"查询",
|
|
41
|
-
"异步",
|
|
42
|
-
"等待",
|
|
43
|
-
"常量",
|
|
44
|
-
"变量",
|
|
45
|
-
"返回",
|
|
46
|
-
// Japanese
|
|
47
|
-
"関数",
|
|
48
|
-
"クラス",
|
|
49
|
-
"インポート",
|
|
50
|
-
"非同期",
|
|
51
|
-
"定数",
|
|
52
|
-
"変数",
|
|
53
|
-
// Russian
|
|
54
|
-
"функция",
|
|
55
|
-
"класс",
|
|
56
|
-
"импорт",
|
|
57
|
-
"определ",
|
|
58
|
-
"запрос",
|
|
59
|
-
"асинхронный",
|
|
60
|
-
"ожидать",
|
|
61
|
-
"константа",
|
|
62
|
-
"переменная",
|
|
63
|
-
"вернуть",
|
|
64
|
-
// German
|
|
65
|
-
"funktion",
|
|
66
|
-
"klasse",
|
|
67
|
-
"importieren",
|
|
68
|
-
"definieren",
|
|
69
|
-
"abfrage",
|
|
70
|
-
"asynchron",
|
|
71
|
-
"erwarten",
|
|
72
|
-
"konstante",
|
|
73
|
-
"variable",
|
|
74
|
-
"zurückgeben",
|
|
75
|
-
// Spanish
|
|
76
|
-
"función",
|
|
77
|
-
"clase",
|
|
78
|
-
"importar",
|
|
79
|
-
"definir",
|
|
80
|
-
"consulta",
|
|
81
|
-
"asíncrono",
|
|
82
|
-
"esperar",
|
|
83
|
-
"constante",
|
|
84
|
-
"variable",
|
|
85
|
-
"retornar",
|
|
86
|
-
// Portuguese
|
|
87
|
-
"função",
|
|
88
|
-
"classe",
|
|
89
|
-
"importar",
|
|
90
|
-
"definir",
|
|
91
|
-
"consulta",
|
|
92
|
-
"assíncrono",
|
|
93
|
-
"aguardar",
|
|
94
|
-
"constante",
|
|
95
|
-
"variável",
|
|
96
|
-
"retornar",
|
|
97
|
-
// Korean
|
|
98
|
-
"함수",
|
|
99
|
-
"클래스",
|
|
100
|
-
"가져오기",
|
|
101
|
-
"정의",
|
|
102
|
-
"쿼리",
|
|
103
|
-
"비동기",
|
|
104
|
-
"대기",
|
|
105
|
-
"상수",
|
|
106
|
-
"변수",
|
|
107
|
-
"반환",
|
|
108
|
-
// Arabic
|
|
109
|
-
"دالة",
|
|
110
|
-
"فئة",
|
|
111
|
-
"استيراد",
|
|
112
|
-
"تعريف",
|
|
113
|
-
"استعلام",
|
|
114
|
-
"غير متزامن",
|
|
115
|
-
"انتظار",
|
|
116
|
-
"ثابت",
|
|
117
|
-
"متغير",
|
|
118
|
-
"إرجاع",
|
|
119
|
-
],
|
|
120
|
-
reasoningKeywords: [
|
|
121
|
-
// English
|
|
122
|
-
"prove",
|
|
123
|
-
"theorem",
|
|
124
|
-
"derive",
|
|
125
|
-
"step by step",
|
|
126
|
-
"chain of thought",
|
|
127
|
-
"formally",
|
|
128
|
-
"mathematical",
|
|
129
|
-
"proof",
|
|
130
|
-
"logically",
|
|
131
|
-
// Chinese
|
|
132
|
-
"证明",
|
|
133
|
-
"定理",
|
|
134
|
-
"推导",
|
|
135
|
-
"逐步",
|
|
136
|
-
"思维链",
|
|
137
|
-
"形式化",
|
|
138
|
-
"数学",
|
|
139
|
-
"逻辑",
|
|
140
|
-
// Japanese
|
|
141
|
-
"証明",
|
|
142
|
-
"定理",
|
|
143
|
-
"導出",
|
|
144
|
-
"ステップバイステップ",
|
|
145
|
-
"論理的",
|
|
146
|
-
// Russian
|
|
147
|
-
"доказать",
|
|
148
|
-
"докажи",
|
|
149
|
-
"доказательств",
|
|
150
|
-
"теорема",
|
|
151
|
-
"вывести",
|
|
152
|
-
"шаг за шагом",
|
|
153
|
-
"пошагово",
|
|
154
|
-
"поэтапно",
|
|
155
|
-
"цепочка рассуждений",
|
|
156
|
-
"рассуждени",
|
|
157
|
-
"формально",
|
|
158
|
-
"математически",
|
|
159
|
-
"логически",
|
|
160
|
-
// German
|
|
161
|
-
"beweisen",
|
|
162
|
-
"beweis",
|
|
163
|
-
"theorem",
|
|
164
|
-
"ableiten",
|
|
165
|
-
"schritt für schritt",
|
|
166
|
-
"gedankenkette",
|
|
167
|
-
"formal",
|
|
168
|
-
"mathematisch",
|
|
169
|
-
"logisch",
|
|
170
|
-
// Spanish
|
|
171
|
-
"demostrar",
|
|
172
|
-
"teorema",
|
|
173
|
-
"derivar",
|
|
174
|
-
"paso a paso",
|
|
175
|
-
"cadena de pensamiento",
|
|
176
|
-
"formalmente",
|
|
177
|
-
"matemático",
|
|
178
|
-
"prueba",
|
|
179
|
-
"lógicamente",
|
|
180
|
-
// Portuguese
|
|
181
|
-
"provar",
|
|
182
|
-
"teorema",
|
|
183
|
-
"derivar",
|
|
184
|
-
"passo a passo",
|
|
185
|
-
"cadeia de pensamento",
|
|
186
|
-
"formalmente",
|
|
187
|
-
"matemático",
|
|
188
|
-
"prova",
|
|
189
|
-
"logicamente",
|
|
190
|
-
// Korean
|
|
191
|
-
"증명",
|
|
192
|
-
"정리",
|
|
193
|
-
"도출",
|
|
194
|
-
"단계별",
|
|
195
|
-
"사고의 연쇄",
|
|
196
|
-
"형식적",
|
|
197
|
-
"수학적",
|
|
198
|
-
"논리적",
|
|
199
|
-
// Arabic
|
|
200
|
-
"إثبات",
|
|
201
|
-
"نظرية",
|
|
202
|
-
"اشتقاق",
|
|
203
|
-
"خطوة بخطوة",
|
|
204
|
-
"سلسلة التفكير",
|
|
205
|
-
"رسمياً",
|
|
206
|
-
"رياضي",
|
|
207
|
-
"برهان",
|
|
208
|
-
"منطقياً",
|
|
209
|
-
],
|
|
210
|
-
simpleKeywords: [
|
|
211
|
-
// English
|
|
212
|
-
"what is",
|
|
213
|
-
"define",
|
|
214
|
-
"translate",
|
|
215
|
-
"hello",
|
|
216
|
-
"yes or no",
|
|
217
|
-
"capital of",
|
|
218
|
-
"how old",
|
|
219
|
-
"who is",
|
|
220
|
-
"when was",
|
|
221
|
-
// Chinese
|
|
222
|
-
"什么是",
|
|
223
|
-
"定义",
|
|
224
|
-
"翻译",
|
|
225
|
-
"你好",
|
|
226
|
-
"是否",
|
|
227
|
-
"首都",
|
|
228
|
-
"多大",
|
|
229
|
-
"谁是",
|
|
230
|
-
"何时",
|
|
231
|
-
// Japanese
|
|
232
|
-
"とは",
|
|
233
|
-
"定義",
|
|
234
|
-
"翻訳",
|
|
235
|
-
"こんにちは",
|
|
236
|
-
"はいかいいえ",
|
|
237
|
-
"首都",
|
|
238
|
-
"誰",
|
|
239
|
-
// Russian
|
|
240
|
-
"что такое",
|
|
241
|
-
"определение",
|
|
242
|
-
"перевести",
|
|
243
|
-
"переведи",
|
|
244
|
-
"привет",
|
|
245
|
-
"да или нет",
|
|
246
|
-
"столица",
|
|
247
|
-
"сколько лет",
|
|
248
|
-
"кто такой",
|
|
249
|
-
"когда",
|
|
250
|
-
"объясни",
|
|
251
|
-
// German
|
|
252
|
-
"was ist",
|
|
253
|
-
"definiere",
|
|
254
|
-
"übersetze",
|
|
255
|
-
"hallo",
|
|
256
|
-
"ja oder nein",
|
|
257
|
-
"hauptstadt",
|
|
258
|
-
"wie alt",
|
|
259
|
-
"wer ist",
|
|
260
|
-
"wann",
|
|
261
|
-
"erkläre",
|
|
262
|
-
// Spanish
|
|
263
|
-
"qué es",
|
|
264
|
-
"definir",
|
|
265
|
-
"traducir",
|
|
266
|
-
"hola",
|
|
267
|
-
"sí o no",
|
|
268
|
-
"capital de",
|
|
269
|
-
"cuántos años",
|
|
270
|
-
"quién es",
|
|
271
|
-
"cuándo",
|
|
272
|
-
// Portuguese
|
|
273
|
-
"o que é",
|
|
274
|
-
"definir",
|
|
275
|
-
"traduzir",
|
|
276
|
-
"olá",
|
|
277
|
-
"sim ou não",
|
|
278
|
-
"capital de",
|
|
279
|
-
"quantos anos",
|
|
280
|
-
"quem é",
|
|
281
|
-
"quando",
|
|
282
|
-
// Korean
|
|
283
|
-
"무엇",
|
|
284
|
-
"정의",
|
|
285
|
-
"번역",
|
|
286
|
-
"안녕하세요",
|
|
287
|
-
"예 또는 아니오",
|
|
288
|
-
"수도",
|
|
289
|
-
"누구",
|
|
290
|
-
"언제",
|
|
291
|
-
// Arabic
|
|
292
|
-
"ما هو",
|
|
293
|
-
"تعريف",
|
|
294
|
-
"ترجم",
|
|
295
|
-
"مرحبا",
|
|
296
|
-
"نعم أو لا",
|
|
297
|
-
"عاصمة",
|
|
298
|
-
"من هو",
|
|
299
|
-
"متى",
|
|
300
|
-
],
|
|
301
|
-
technicalKeywords: [
|
|
302
|
-
// English
|
|
303
|
-
"algorithm",
|
|
304
|
-
"optimize",
|
|
305
|
-
"architecture",
|
|
306
|
-
"distributed",
|
|
307
|
-
"kubernetes",
|
|
308
|
-
"microservice",
|
|
309
|
-
"database",
|
|
310
|
-
"infrastructure",
|
|
311
|
-
// Chinese
|
|
312
|
-
"算法",
|
|
313
|
-
"优化",
|
|
314
|
-
"架构",
|
|
315
|
-
"分布式",
|
|
316
|
-
"微服务",
|
|
317
|
-
"数据库",
|
|
318
|
-
"基础设施",
|
|
319
|
-
// Japanese
|
|
320
|
-
"アルゴリズム",
|
|
321
|
-
"最適化",
|
|
322
|
-
"アーキテクチャ",
|
|
323
|
-
"分散",
|
|
324
|
-
"マイクロサービス",
|
|
325
|
-
"データベース",
|
|
326
|
-
// Russian
|
|
327
|
-
"алгоритм",
|
|
328
|
-
"оптимизировать",
|
|
329
|
-
"оптимизаци",
|
|
330
|
-
"оптимизируй",
|
|
331
|
-
"архитектура",
|
|
332
|
-
"распределённый",
|
|
333
|
-
"микросервис",
|
|
334
|
-
"база данных",
|
|
335
|
-
"инфраструктура",
|
|
336
|
-
// German
|
|
337
|
-
"algorithmus",
|
|
338
|
-
"optimieren",
|
|
339
|
-
"architektur",
|
|
340
|
-
"verteilt",
|
|
341
|
-
"kubernetes",
|
|
342
|
-
"mikroservice",
|
|
343
|
-
"datenbank",
|
|
344
|
-
"infrastruktur",
|
|
345
|
-
// Spanish
|
|
346
|
-
"algoritmo",
|
|
347
|
-
"optimizar",
|
|
348
|
-
"arquitectura",
|
|
349
|
-
"distribuido",
|
|
350
|
-
"microservicio",
|
|
351
|
-
"base de datos",
|
|
352
|
-
"infraestructura",
|
|
353
|
-
// Portuguese
|
|
354
|
-
"algoritmo",
|
|
355
|
-
"otimizar",
|
|
356
|
-
"arquitetura",
|
|
357
|
-
"distribuído",
|
|
358
|
-
"microsserviço",
|
|
359
|
-
"banco de dados",
|
|
360
|
-
"infraestrutura",
|
|
361
|
-
// Korean
|
|
362
|
-
"알고리즘",
|
|
363
|
-
"최적화",
|
|
364
|
-
"아키텍처",
|
|
365
|
-
"분산",
|
|
366
|
-
"마이크로서비스",
|
|
367
|
-
"데이터베이스",
|
|
368
|
-
"인프라",
|
|
369
|
-
// Arabic
|
|
370
|
-
"خوارزمية",
|
|
371
|
-
"تحسين",
|
|
372
|
-
"بنية",
|
|
373
|
-
"موزع",
|
|
374
|
-
"خدمة مصغرة",
|
|
375
|
-
"قاعدة بيانات",
|
|
376
|
-
"بنية تحتية",
|
|
377
|
-
],
|
|
378
|
-
creativeKeywords: [
|
|
379
|
-
// English
|
|
380
|
-
"story",
|
|
381
|
-
"poem",
|
|
382
|
-
"compose",
|
|
383
|
-
"brainstorm",
|
|
384
|
-
"creative",
|
|
385
|
-
"imagine",
|
|
386
|
-
"write a",
|
|
387
|
-
// Chinese
|
|
388
|
-
"故事",
|
|
389
|
-
"诗",
|
|
390
|
-
"创作",
|
|
391
|
-
"头脑风暴",
|
|
392
|
-
"创意",
|
|
393
|
-
"想象",
|
|
394
|
-
"写一个",
|
|
395
|
-
// Japanese
|
|
396
|
-
"物語",
|
|
397
|
-
"詩",
|
|
398
|
-
"作曲",
|
|
399
|
-
"ブレインストーム",
|
|
400
|
-
"創造的",
|
|
401
|
-
"想像",
|
|
402
|
-
// Russian
|
|
403
|
-
"история",
|
|
404
|
-
"рассказ",
|
|
405
|
-
"стихотворение",
|
|
406
|
-
"сочинить",
|
|
407
|
-
"сочини",
|
|
408
|
-
"мозговой штурм",
|
|
409
|
-
"творческий",
|
|
410
|
-
"представить",
|
|
411
|
-
"придумай",
|
|
412
|
-
"напиши",
|
|
413
|
-
// German
|
|
414
|
-
"geschichte",
|
|
415
|
-
"gedicht",
|
|
416
|
-
"komponieren",
|
|
417
|
-
"brainstorming",
|
|
418
|
-
"kreativ",
|
|
419
|
-
"vorstellen",
|
|
420
|
-
"schreibe",
|
|
421
|
-
"erzählung",
|
|
422
|
-
// Spanish
|
|
423
|
-
"historia",
|
|
424
|
-
"poema",
|
|
425
|
-
"componer",
|
|
426
|
-
"lluvia de ideas",
|
|
427
|
-
"creativo",
|
|
428
|
-
"imaginar",
|
|
429
|
-
"escribe",
|
|
430
|
-
// Portuguese
|
|
431
|
-
"história",
|
|
432
|
-
"poema",
|
|
433
|
-
"compor",
|
|
434
|
-
"criativo",
|
|
435
|
-
"imaginar",
|
|
436
|
-
"escreva",
|
|
437
|
-
// Korean
|
|
438
|
-
"이야기",
|
|
439
|
-
"시",
|
|
440
|
-
"작곡",
|
|
441
|
-
"브레인스토밍",
|
|
442
|
-
"창의적",
|
|
443
|
-
"상상",
|
|
444
|
-
"작성",
|
|
445
|
-
// Arabic
|
|
446
|
-
"قصة",
|
|
447
|
-
"قصيدة",
|
|
448
|
-
"تأليف",
|
|
449
|
-
"عصف ذهني",
|
|
450
|
-
"إبداعي",
|
|
451
|
-
"تخيل",
|
|
452
|
-
"اكتب",
|
|
453
|
-
],
|
|
454
|
-
// New dimension keyword lists (multilingual)
|
|
455
|
-
imperativeVerbs: [
|
|
456
|
-
// English
|
|
457
|
-
"build",
|
|
458
|
-
"create",
|
|
459
|
-
"implement",
|
|
460
|
-
"design",
|
|
461
|
-
"develop",
|
|
462
|
-
"construct",
|
|
463
|
-
"generate",
|
|
464
|
-
"deploy",
|
|
465
|
-
"configure",
|
|
466
|
-
"set up",
|
|
467
|
-
// Chinese
|
|
468
|
-
"构建",
|
|
469
|
-
"创建",
|
|
470
|
-
"实现",
|
|
471
|
-
"设计",
|
|
472
|
-
"开发",
|
|
473
|
-
"生成",
|
|
474
|
-
"部署",
|
|
475
|
-
"配置",
|
|
476
|
-
"设置",
|
|
477
|
-
// Japanese
|
|
478
|
-
"構築",
|
|
479
|
-
"作成",
|
|
480
|
-
"実装",
|
|
481
|
-
"設計",
|
|
482
|
-
"開発",
|
|
483
|
-
"生成",
|
|
484
|
-
"デプロイ",
|
|
485
|
-
"設定",
|
|
486
|
-
// Russian
|
|
487
|
-
"построить",
|
|
488
|
-
"построй",
|
|
489
|
-
"создать",
|
|
490
|
-
"создай",
|
|
491
|
-
"реализовать",
|
|
492
|
-
"реализуй",
|
|
493
|
-
"спроектировать",
|
|
494
|
-
"разработать",
|
|
495
|
-
"разработай",
|
|
496
|
-
"сконструировать",
|
|
497
|
-
"сгенерировать",
|
|
498
|
-
"сгенерируй",
|
|
499
|
-
"развернуть",
|
|
500
|
-
"разверни",
|
|
501
|
-
"настроить",
|
|
502
|
-
"настрой",
|
|
503
|
-
// German
|
|
504
|
-
"erstellen",
|
|
505
|
-
"bauen",
|
|
506
|
-
"implementieren",
|
|
507
|
-
"entwerfen",
|
|
508
|
-
"entwickeln",
|
|
509
|
-
"konstruieren",
|
|
510
|
-
"generieren",
|
|
511
|
-
"bereitstellen",
|
|
512
|
-
"konfigurieren",
|
|
513
|
-
"einrichten",
|
|
514
|
-
// Spanish
|
|
515
|
-
"construir",
|
|
516
|
-
"crear",
|
|
517
|
-
"implementar",
|
|
518
|
-
"diseñar",
|
|
519
|
-
"desarrollar",
|
|
520
|
-
"generar",
|
|
521
|
-
"desplegar",
|
|
522
|
-
"configurar",
|
|
523
|
-
// Portuguese
|
|
524
|
-
"construir",
|
|
525
|
-
"criar",
|
|
526
|
-
"implementar",
|
|
527
|
-
"projetar",
|
|
528
|
-
"desenvolver",
|
|
529
|
-
"gerar",
|
|
530
|
-
"implantar",
|
|
531
|
-
"configurar",
|
|
532
|
-
// Korean
|
|
533
|
-
"구축",
|
|
534
|
-
"생성",
|
|
535
|
-
"구현",
|
|
536
|
-
"설계",
|
|
537
|
-
"개발",
|
|
538
|
-
"배포",
|
|
539
|
-
"설정",
|
|
540
|
-
// Arabic
|
|
541
|
-
"بناء",
|
|
542
|
-
"إنشاء",
|
|
543
|
-
"تنفيذ",
|
|
544
|
-
"تصميم",
|
|
545
|
-
"تطوير",
|
|
546
|
-
"توليد",
|
|
547
|
-
"نشر",
|
|
548
|
-
"إعداد",
|
|
549
|
-
],
|
|
550
|
-
constraintIndicators: [
|
|
551
|
-
// English
|
|
552
|
-
"under",
|
|
553
|
-
"at most",
|
|
554
|
-
"at least",
|
|
555
|
-
"within",
|
|
556
|
-
"no more than",
|
|
557
|
-
"o(",
|
|
558
|
-
"maximum",
|
|
559
|
-
"minimum",
|
|
560
|
-
"limit",
|
|
561
|
-
"budget",
|
|
562
|
-
// Chinese
|
|
563
|
-
"不超过",
|
|
564
|
-
"至少",
|
|
565
|
-
"最多",
|
|
566
|
-
"在内",
|
|
567
|
-
"最大",
|
|
568
|
-
"最小",
|
|
569
|
-
"限制",
|
|
570
|
-
"预算",
|
|
571
|
-
// Japanese
|
|
572
|
-
"以下",
|
|
573
|
-
"最大",
|
|
574
|
-
"最小",
|
|
575
|
-
"制限",
|
|
576
|
-
"予算",
|
|
577
|
-
// Russian
|
|
578
|
-
"не более",
|
|
579
|
-
"не менее",
|
|
580
|
-
"как минимум",
|
|
581
|
-
"в пределах",
|
|
582
|
-
"максимум",
|
|
583
|
-
"минимум",
|
|
584
|
-
"ограничение",
|
|
585
|
-
"бюджет",
|
|
586
|
-
// German
|
|
587
|
-
"höchstens",
|
|
588
|
-
"mindestens",
|
|
589
|
-
"innerhalb",
|
|
590
|
-
"nicht mehr als",
|
|
591
|
-
"maximal",
|
|
592
|
-
"minimal",
|
|
593
|
-
"grenze",
|
|
594
|
-
"budget",
|
|
595
|
-
// Spanish
|
|
596
|
-
"como máximo",
|
|
597
|
-
"al menos",
|
|
598
|
-
"dentro de",
|
|
599
|
-
"no más de",
|
|
600
|
-
"máximo",
|
|
601
|
-
"mínimo",
|
|
602
|
-
"límite",
|
|
603
|
-
"presupuesto",
|
|
604
|
-
// Portuguese
|
|
605
|
-
"no máximo",
|
|
606
|
-
"pelo menos",
|
|
607
|
-
"dentro de",
|
|
608
|
-
"não mais que",
|
|
609
|
-
"máximo",
|
|
610
|
-
"mínimo",
|
|
611
|
-
"limite",
|
|
612
|
-
"orçamento",
|
|
613
|
-
// Korean
|
|
614
|
-
"이하",
|
|
615
|
-
"이상",
|
|
616
|
-
"최대",
|
|
617
|
-
"최소",
|
|
618
|
-
"제한",
|
|
619
|
-
"예산",
|
|
620
|
-
// Arabic
|
|
621
|
-
"على الأكثر",
|
|
622
|
-
"على الأقل",
|
|
623
|
-
"ضمن",
|
|
624
|
-
"لا يزيد عن",
|
|
625
|
-
"أقصى",
|
|
626
|
-
"أدنى",
|
|
627
|
-
"حد",
|
|
628
|
-
"ميزانية",
|
|
629
|
-
],
|
|
630
|
-
outputFormatKeywords: [
|
|
631
|
-
// English
|
|
632
|
-
"json",
|
|
633
|
-
"yaml",
|
|
634
|
-
"xml",
|
|
635
|
-
"table",
|
|
636
|
-
"csv",
|
|
637
|
-
"markdown",
|
|
638
|
-
"schema",
|
|
639
|
-
"format as",
|
|
640
|
-
"structured",
|
|
641
|
-
// Chinese
|
|
642
|
-
"表格",
|
|
643
|
-
"格式化为",
|
|
644
|
-
"结构化",
|
|
645
|
-
// Japanese
|
|
646
|
-
"テーブル",
|
|
647
|
-
"フォーマット",
|
|
648
|
-
"構造化",
|
|
649
|
-
// Russian
|
|
650
|
-
"таблица",
|
|
651
|
-
"форматировать как",
|
|
652
|
-
"структурированный",
|
|
653
|
-
// German
|
|
654
|
-
"tabelle",
|
|
655
|
-
"formatieren als",
|
|
656
|
-
"strukturiert",
|
|
657
|
-
// Spanish
|
|
658
|
-
"tabla",
|
|
659
|
-
"formatear como",
|
|
660
|
-
"estructurado",
|
|
661
|
-
// Portuguese
|
|
662
|
-
"tabela",
|
|
663
|
-
"formatar como",
|
|
664
|
-
"estruturado",
|
|
665
|
-
// Korean
|
|
666
|
-
"테이블",
|
|
667
|
-
"형식",
|
|
668
|
-
"구조화",
|
|
669
|
-
// Arabic
|
|
670
|
-
"جدول",
|
|
671
|
-
"تنسيق",
|
|
672
|
-
"منظم",
|
|
673
|
-
],
|
|
674
|
-
referenceKeywords: [
|
|
675
|
-
// English
|
|
676
|
-
"above",
|
|
677
|
-
"below",
|
|
678
|
-
"previous",
|
|
679
|
-
"following",
|
|
680
|
-
"the docs",
|
|
681
|
-
"the api",
|
|
682
|
-
"the code",
|
|
683
|
-
"earlier",
|
|
684
|
-
"attached",
|
|
685
|
-
// Chinese
|
|
686
|
-
"上面",
|
|
687
|
-
"下面",
|
|
688
|
-
"之前",
|
|
689
|
-
"接下来",
|
|
690
|
-
"文档",
|
|
691
|
-
"代码",
|
|
692
|
-
"附件",
|
|
693
|
-
// Japanese
|
|
694
|
-
"上記",
|
|
695
|
-
"下記",
|
|
696
|
-
"前の",
|
|
697
|
-
"次の",
|
|
698
|
-
"ドキュメント",
|
|
699
|
-
"コード",
|
|
700
|
-
// Russian
|
|
701
|
-
"выше",
|
|
702
|
-
"ниже",
|
|
703
|
-
"предыдущий",
|
|
704
|
-
"следующий",
|
|
705
|
-
"документация",
|
|
706
|
-
"код",
|
|
707
|
-
"ранее",
|
|
708
|
-
"вложение",
|
|
709
|
-
// German
|
|
710
|
-
"oben",
|
|
711
|
-
"unten",
|
|
712
|
-
"vorherige",
|
|
713
|
-
"folgende",
|
|
714
|
-
"dokumentation",
|
|
715
|
-
"der code",
|
|
716
|
-
"früher",
|
|
717
|
-
"anhang",
|
|
718
|
-
// Spanish
|
|
719
|
-
"arriba",
|
|
720
|
-
"abajo",
|
|
721
|
-
"anterior",
|
|
722
|
-
"siguiente",
|
|
723
|
-
"documentación",
|
|
724
|
-
"el código",
|
|
725
|
-
"adjunto",
|
|
726
|
-
// Portuguese
|
|
727
|
-
"acima",
|
|
728
|
-
"abaixo",
|
|
729
|
-
"anterior",
|
|
730
|
-
"seguinte",
|
|
731
|
-
"documentação",
|
|
732
|
-
"o código",
|
|
733
|
-
"anexo",
|
|
734
|
-
// Korean
|
|
735
|
-
"위",
|
|
736
|
-
"아래",
|
|
737
|
-
"이전",
|
|
738
|
-
"다음",
|
|
739
|
-
"문서",
|
|
740
|
-
"코드",
|
|
741
|
-
"첨부",
|
|
742
|
-
// Arabic
|
|
743
|
-
"أعلاه",
|
|
744
|
-
"أدناه",
|
|
745
|
-
"السابق",
|
|
746
|
-
"التالي",
|
|
747
|
-
"الوثائق",
|
|
748
|
-
"الكود",
|
|
749
|
-
"مرفق",
|
|
750
|
-
],
|
|
751
|
-
negationKeywords: [
|
|
752
|
-
// English
|
|
753
|
-
"don't",
|
|
754
|
-
"do not",
|
|
755
|
-
"avoid",
|
|
756
|
-
"never",
|
|
757
|
-
"without",
|
|
758
|
-
"except",
|
|
759
|
-
"exclude",
|
|
760
|
-
"no longer",
|
|
761
|
-
// Chinese
|
|
762
|
-
"不要",
|
|
763
|
-
"避免",
|
|
764
|
-
"从不",
|
|
765
|
-
"没有",
|
|
766
|
-
"除了",
|
|
767
|
-
"排除",
|
|
768
|
-
// Japanese
|
|
769
|
-
"しないで",
|
|
770
|
-
"避ける",
|
|
771
|
-
"決して",
|
|
772
|
-
"なしで",
|
|
773
|
-
"除く",
|
|
774
|
-
// Russian
|
|
775
|
-
"не делай",
|
|
776
|
-
"не надо",
|
|
777
|
-
"нельзя",
|
|
778
|
-
"избегать",
|
|
779
|
-
"никогда",
|
|
780
|
-
"без",
|
|
781
|
-
"кроме",
|
|
782
|
-
"исключить",
|
|
783
|
-
"больше не",
|
|
784
|
-
// German
|
|
785
|
-
"nicht",
|
|
786
|
-
"vermeide",
|
|
787
|
-
"niemals",
|
|
788
|
-
"ohne",
|
|
789
|
-
"außer",
|
|
790
|
-
"ausschließen",
|
|
791
|
-
"nicht mehr",
|
|
792
|
-
// Spanish
|
|
793
|
-
"no hagas",
|
|
794
|
-
"evitar",
|
|
795
|
-
"nunca",
|
|
796
|
-
"sin",
|
|
797
|
-
"excepto",
|
|
798
|
-
"excluir",
|
|
799
|
-
// Portuguese
|
|
800
|
-
"não faça",
|
|
801
|
-
"evitar",
|
|
802
|
-
"nunca",
|
|
803
|
-
"sem",
|
|
804
|
-
"exceto",
|
|
805
|
-
"excluir",
|
|
806
|
-
// Korean
|
|
807
|
-
"하지 마",
|
|
808
|
-
"피하다",
|
|
809
|
-
"절대",
|
|
810
|
-
"없이",
|
|
811
|
-
"제외",
|
|
812
|
-
// Arabic
|
|
813
|
-
"لا تفعل",
|
|
814
|
-
"تجنب",
|
|
815
|
-
"أبداً",
|
|
816
|
-
"بدون",
|
|
817
|
-
"باستثناء",
|
|
818
|
-
"استبعاد",
|
|
819
|
-
],
|
|
820
|
-
domainSpecificKeywords: [
|
|
821
|
-
// English
|
|
822
|
-
"quantum",
|
|
823
|
-
"fpga",
|
|
824
|
-
"vlsi",
|
|
825
|
-
"risc-v",
|
|
826
|
-
"asic",
|
|
827
|
-
"photonics",
|
|
828
|
-
"genomics",
|
|
829
|
-
"proteomics",
|
|
830
|
-
"topological",
|
|
831
|
-
"homomorphic",
|
|
832
|
-
"zero-knowledge",
|
|
833
|
-
"lattice-based",
|
|
834
|
-
// Chinese
|
|
835
|
-
"量子",
|
|
836
|
-
"光子学",
|
|
837
|
-
"基因组学",
|
|
838
|
-
"蛋白质组学",
|
|
839
|
-
"拓扑",
|
|
840
|
-
"同态",
|
|
841
|
-
"零知识",
|
|
842
|
-
"格密码",
|
|
843
|
-
// Japanese
|
|
844
|
-
"量子",
|
|
845
|
-
"フォトニクス",
|
|
846
|
-
"ゲノミクス",
|
|
847
|
-
"トポロジカル",
|
|
848
|
-
// Russian
|
|
849
|
-
"квантовый",
|
|
850
|
-
"фотоника",
|
|
851
|
-
"геномика",
|
|
852
|
-
"протеомика",
|
|
853
|
-
"топологический",
|
|
854
|
-
"гомоморфный",
|
|
855
|
-
"с нулевым разглашением",
|
|
856
|
-
"на основе решёток",
|
|
857
|
-
// German
|
|
858
|
-
"quanten",
|
|
859
|
-
"photonik",
|
|
860
|
-
"genomik",
|
|
861
|
-
"proteomik",
|
|
862
|
-
"topologisch",
|
|
863
|
-
"homomorph",
|
|
864
|
-
"zero-knowledge",
|
|
865
|
-
"gitterbasiert",
|
|
866
|
-
// Spanish
|
|
867
|
-
"cuántico",
|
|
868
|
-
"fotónica",
|
|
869
|
-
"genómica",
|
|
870
|
-
"proteómica",
|
|
871
|
-
"topológico",
|
|
872
|
-
"homomórfico",
|
|
873
|
-
// Portuguese
|
|
874
|
-
"quântico",
|
|
875
|
-
"fotônica",
|
|
876
|
-
"genômica",
|
|
877
|
-
"proteômica",
|
|
878
|
-
"topológico",
|
|
879
|
-
"homomórfico",
|
|
880
|
-
// Korean
|
|
881
|
-
"양자",
|
|
882
|
-
"포토닉스",
|
|
883
|
-
"유전체학",
|
|
884
|
-
"위상",
|
|
885
|
-
"동형",
|
|
886
|
-
// Arabic
|
|
887
|
-
"كمي",
|
|
888
|
-
"ضوئيات",
|
|
889
|
-
"جينوميات",
|
|
890
|
-
"طوبولوجي",
|
|
891
|
-
"تماثلي",
|
|
892
|
-
],
|
|
893
|
-
// Agentic task keywords - file ops, execution, multi-step, iterative work
|
|
894
|
-
// Pruned: removed overly common words like "then", "first", "run", "test", "build"
|
|
895
|
-
agenticTaskKeywords: [
|
|
896
|
-
// English - File operations (clearly agentic)
|
|
897
|
-
"read file",
|
|
898
|
-
"read the file",
|
|
899
|
-
"look at",
|
|
900
|
-
"check the",
|
|
901
|
-
"open the",
|
|
902
|
-
"edit",
|
|
903
|
-
"modify",
|
|
904
|
-
"update the",
|
|
905
|
-
"change the",
|
|
906
|
-
"write to",
|
|
907
|
-
"create file",
|
|
908
|
-
// English - Execution (specific commands only)
|
|
909
|
-
"execute",
|
|
910
|
-
"deploy",
|
|
911
|
-
"install",
|
|
912
|
-
"npm",
|
|
913
|
-
"pip",
|
|
914
|
-
"compile",
|
|
915
|
-
// English - Multi-step patterns (specific only)
|
|
916
|
-
"after that",
|
|
917
|
-
"and also",
|
|
918
|
-
"once done",
|
|
919
|
-
"step 1",
|
|
920
|
-
"step 2",
|
|
921
|
-
// English - Iterative work
|
|
922
|
-
"fix",
|
|
923
|
-
"debug",
|
|
924
|
-
"until it works",
|
|
925
|
-
"keep trying",
|
|
926
|
-
"iterate",
|
|
927
|
-
"make sure",
|
|
928
|
-
"verify",
|
|
929
|
-
"confirm",
|
|
930
|
-
// Chinese (keep specific ones)
|
|
931
|
-
"读取文件",
|
|
932
|
-
"查看",
|
|
933
|
-
"打开",
|
|
934
|
-
"编辑",
|
|
935
|
-
"修改",
|
|
936
|
-
"更新",
|
|
937
|
-
"创建",
|
|
938
|
-
"执行",
|
|
939
|
-
"部署",
|
|
940
|
-
"安装",
|
|
941
|
-
"第一步",
|
|
942
|
-
"第二步",
|
|
943
|
-
"修复",
|
|
944
|
-
"调试",
|
|
945
|
-
"直到",
|
|
946
|
-
"确认",
|
|
947
|
-
"验证",
|
|
948
|
-
// Spanish
|
|
949
|
-
"leer archivo",
|
|
950
|
-
"editar",
|
|
951
|
-
"modificar",
|
|
952
|
-
"actualizar",
|
|
953
|
-
"ejecutar",
|
|
954
|
-
"desplegar",
|
|
955
|
-
"instalar",
|
|
956
|
-
"paso 1",
|
|
957
|
-
"paso 2",
|
|
958
|
-
"arreglar",
|
|
959
|
-
"depurar",
|
|
960
|
-
"verificar",
|
|
961
|
-
// Portuguese
|
|
962
|
-
"ler arquivo",
|
|
963
|
-
"editar",
|
|
964
|
-
"modificar",
|
|
965
|
-
"atualizar",
|
|
966
|
-
"executar",
|
|
967
|
-
"implantar",
|
|
968
|
-
"instalar",
|
|
969
|
-
"passo 1",
|
|
970
|
-
"passo 2",
|
|
971
|
-
"corrigir",
|
|
972
|
-
"depurar",
|
|
973
|
-
"verificar",
|
|
974
|
-
// Korean
|
|
975
|
-
"파일 읽기",
|
|
976
|
-
"편집",
|
|
977
|
-
"수정",
|
|
978
|
-
"업데이트",
|
|
979
|
-
"실행",
|
|
980
|
-
"배포",
|
|
981
|
-
"설치",
|
|
982
|
-
"단계 1",
|
|
983
|
-
"단계 2",
|
|
984
|
-
"디버그",
|
|
985
|
-
"확인",
|
|
986
|
-
// Arabic
|
|
987
|
-
"قراءة ملف",
|
|
988
|
-
"تحرير",
|
|
989
|
-
"تعديل",
|
|
990
|
-
"تحديث",
|
|
991
|
-
"تنفيذ",
|
|
992
|
-
"نشر",
|
|
993
|
-
"تثبيت",
|
|
994
|
-
"الخطوة 1",
|
|
995
|
-
"الخطوة 2",
|
|
996
|
-
"إصلاح",
|
|
997
|
-
"تصحيح",
|
|
998
|
-
"تحقق",
|
|
999
|
-
],
|
|
1000
|
-
// Dimension weights (sum to 1.0)
|
|
1001
|
-
dimensionWeights: {
|
|
1002
|
-
tokenCount: 0.08,
|
|
1003
|
-
codePresence: 0.15,
|
|
1004
|
-
reasoningMarkers: 0.18,
|
|
1005
|
-
technicalTerms: 0.1,
|
|
1006
|
-
creativeMarkers: 0.05,
|
|
1007
|
-
simpleIndicators: 0.02, // Reduced from 0.12 to make room for agenticTask
|
|
1008
|
-
multiStepPatterns: 0.12,
|
|
1009
|
-
questionComplexity: 0.05,
|
|
1010
|
-
imperativeVerbs: 0.03,
|
|
1011
|
-
constraintCount: 0.04,
|
|
1012
|
-
outputFormat: 0.03,
|
|
1013
|
-
referenceComplexity: 0.02,
|
|
1014
|
-
negationComplexity: 0.01,
|
|
1015
|
-
domainSpecificity: 0.02,
|
|
1016
|
-
agenticTask: 0.04, // Reduced - agentic signals influence tier selection, not dominate it
|
|
1017
|
-
},
|
|
1018
|
-
// Tier boundaries on weighted score axis
|
|
1019
|
-
tierBoundaries: {
|
|
1020
|
-
simpleMedium: 0.0,
|
|
1021
|
-
mediumComplex: 0.3, // Raised from 0.18 - prevent simple tasks from reaching expensive COMPLEX tier
|
|
1022
|
-
complexReasoning: 0.5, // Raised from 0.4 - reserve for true reasoning tasks
|
|
1023
|
-
},
|
|
1024
|
-
// Sigmoid steepness for confidence calibration
|
|
1025
|
-
confidenceSteepness: 12,
|
|
1026
|
-
// Below this confidence → ambiguous (null tier)
|
|
1027
|
-
confidenceThreshold: 0.7,
|
|
1028
|
-
},
|
|
1029
|
-
// Auto (balanced) tier configs - current default smart routing
|
|
1030
|
-
// Benchmark-tuned 2026-03-16: balancing quality (retention) + latency
|
|
1031
|
-
tiers: {
|
|
1032
|
-
SIMPLE: {
|
|
1033
|
-
primary: "google/gemini-2.5-flash", // 1,238ms, IQ 20, 60% retention (best) — fast AND quality
|
|
1034
|
-
fallback: [
|
|
1035
|
-
"google/gemini-3-flash-preview", // 1,398ms, IQ 46 — smarter fallback
|
|
1036
|
-
"deepseek/deepseek-chat", // 1,431ms, IQ 32, 41% retention
|
|
1037
|
-
"moonshot/kimi-k2.5", // 1,646ms, IQ 47, strong quality
|
|
1038
|
-
"google/gemini-3.1-flash-lite", // $0.25/$1.50, 1M context — newest flash-lite
|
|
1039
|
-
"google/gemini-2.5-flash-lite", // 1,353ms, $0.10/$0.40
|
|
1040
|
-
"openai/gpt-5.4-nano", // $0.20/$1.25, 1M context
|
|
1041
|
-
"xai/grok-4-fast-non-reasoning", // 1,143ms, $0.20/$0.50 — fast fallback
|
|
1042
|
-
"free/gpt-oss-120b", // 1,252ms, FREE fallback
|
|
1043
|
-
],
|
|
1044
|
-
},
|
|
1045
|
-
MEDIUM: {
|
|
1046
|
-
primary: "moonshot/kimi-k2.5", // 1,646ms, IQ 47, $0.60/$3.00 — strong tool use, quality output
|
|
1047
|
-
fallback: [
|
|
1048
|
-
"google/gemini-3-flash-preview", // 1,398ms, IQ 46 — nearly same IQ, faster + cheaper
|
|
1049
|
-
"deepseek/deepseek-chat", // 1,431ms, IQ 32, 41% retention
|
|
1050
|
-
"google/gemini-2.5-flash", // 1,238ms, 60% retention
|
|
1051
|
-
"google/gemini-3.1-flash-lite", // $0.25/$1.50, 1M context
|
|
1052
|
-
"google/gemini-2.5-flash-lite", // 1,353ms, $0.10/$0.40
|
|
1053
|
-
"xai/grok-4-1-fast-non-reasoning", // 1,244ms, fast fallback
|
|
1054
|
-
"xai/grok-3-mini", // 1,202ms, $0.30/$0.50
|
|
1055
|
-
],
|
|
1056
|
-
},
|
|
1057
|
-
COMPLEX: {
|
|
1058
|
-
primary: "google/gemini-3.1-pro", // 1,609ms, IQ 57 — fast flagship quality
|
|
1059
|
-
fallback: [
|
|
1060
|
-
"google/gemini-3-pro-preview", // 1,352ms, IQ 48 — quality-first fallback
|
|
1061
|
-
"google/gemini-3-flash-preview", // 1,398ms, IQ 46 — fast + smart
|
|
1062
|
-
"xai/grok-4-0709", // 1,348ms, IQ 41
|
|
1063
|
-
"google/gemini-2.5-pro", // 1,294ms
|
|
1064
|
-
"anthropic/claude-sonnet-4.6", // 2,110ms, IQ 52 — quality fallback
|
|
1065
|
-
"deepseek/deepseek-chat", // 1,431ms, IQ 32
|
|
1066
|
-
"google/gemini-2.5-flash", // 1,238ms, IQ 20 — cheap last resort
|
|
1067
|
-
"openai/gpt-5.4", // 6,213ms, IQ 57 — slowest but highest quality
|
|
1068
|
-
],
|
|
1069
|
-
},
|
|
1070
|
-
REASONING: {
|
|
1071
|
-
primary: "xai/grok-4-1-fast-reasoning", // 1,454ms, $0.20/$0.50
|
|
1072
|
-
fallback: [
|
|
1073
|
-
"xai/grok-4-fast-reasoning", // 1,298ms, $0.20/$0.50
|
|
1074
|
-
"deepseek/deepseek-reasoner", // 1,454ms, cheap reasoning
|
|
1075
|
-
"openai/o4-mini", // 2,328ms ($1.10/$4.40)
|
|
1076
|
-
"openai/o3", // 2,862ms
|
|
1077
|
-
],
|
|
1078
|
-
},
|
|
1079
|
-
},
|
|
1080
|
-
// Eco tier configs - absolute cheapest (blockrun/eco)
|
|
1081
|
-
ecoTiers: {
|
|
1082
|
-
SIMPLE: {
|
|
1083
|
-
primary: "free/gpt-oss-120b", // FREE! $0.00/$0.00
|
|
1084
|
-
fallback: [
|
|
1085
|
-
"free/gpt-oss-20b", // FREE — smaller, faster
|
|
1086
|
-
"google/gemini-3.1-flash-lite", // $0.25/$1.50 — newest flash-lite
|
|
1087
|
-
"openai/gpt-5.4-nano", // $0.20/$1.25 — fast nano
|
|
1088
|
-
"google/gemini-2.5-flash-lite", // $0.10/$0.40
|
|
1089
|
-
"xai/grok-4-fast-non-reasoning", // $0.20/$0.50
|
|
1090
|
-
],
|
|
1091
|
-
},
|
|
1092
|
-
MEDIUM: {
|
|
1093
|
-
primary: "google/gemini-3.1-flash-lite", // $0.25/$1.50 — newest flash-lite
|
|
1094
|
-
fallback: [
|
|
1095
|
-
"openai/gpt-5.4-nano", // $0.20/$1.25
|
|
1096
|
-
"google/gemini-2.5-flash-lite", // $0.10/$0.40
|
|
1097
|
-
"xai/grok-4-fast-non-reasoning",
|
|
1098
|
-
"google/gemini-2.5-flash",
|
|
1099
|
-
],
|
|
1100
|
-
},
|
|
1101
|
-
COMPLEX: {
|
|
1102
|
-
primary: "google/gemini-3.1-flash-lite", // $0.25/$1.50
|
|
1103
|
-
fallback: [
|
|
1104
|
-
"google/gemini-2.5-flash-lite",
|
|
1105
|
-
"xai/grok-4-0709",
|
|
1106
|
-
"google/gemini-2.5-flash",
|
|
1107
|
-
"deepseek/deepseek-chat",
|
|
1108
|
-
],
|
|
1109
|
-
},
|
|
1110
|
-
REASONING: {
|
|
1111
|
-
primary: "xai/grok-4-1-fast-reasoning", // $0.20/$0.50
|
|
1112
|
-
fallback: ["xai/grok-4-fast-reasoning", "deepseek/deepseek-reasoner"],
|
|
1113
|
-
},
|
|
1114
|
-
},
|
|
1115
|
-
// Premium tier configs - best quality (blockrun/premium)
|
|
1116
|
-
// codex=complex coding, kimi=simple coding, sonnet=reasoning/instructions, opus=architecture/PM/audits
|
|
1117
|
-
premiumTiers: {
|
|
1118
|
-
SIMPLE: {
|
|
1119
|
-
primary: "moonshot/kimi-k2.5", // $0.60/$3.00 - good for simple coding
|
|
1120
|
-
fallback: [
|
|
1121
|
-
"google/gemini-2.5-flash", // 60% retention, fast growth
|
|
1122
|
-
"anthropic/claude-haiku-4.5",
|
|
1123
|
-
"google/gemini-2.5-flash-lite",
|
|
1124
|
-
"deepseek/deepseek-chat",
|
|
1125
|
-
],
|
|
1126
|
-
},
|
|
1127
|
-
MEDIUM: {
|
|
1128
|
-
primary: "openai/gpt-5.3-codex", // $1.75/$14 - 400K context, 128K output, replaces 5.2
|
|
1129
|
-
fallback: [
|
|
1130
|
-
"moonshot/kimi-k2.5",
|
|
1131
|
-
"google/gemini-2.5-flash", // 60% retention, good coding capability
|
|
1132
|
-
"google/gemini-2.5-pro",
|
|
1133
|
-
"xai/grok-4-0709",
|
|
1134
|
-
"anthropic/claude-sonnet-4.6",
|
|
1135
|
-
],
|
|
1136
|
-
},
|
|
1137
|
-
COMPLEX: {
|
|
1138
|
-
primary: "anthropic/claude-opus-4.6", // Best quality for complex tasks
|
|
1139
|
-
fallback: [
|
|
1140
|
-
"openai/gpt-5.4", // Newest flagship
|
|
1141
|
-
"openai/gpt-5.3-codex",
|
|
1142
|
-
"anthropic/claude-opus-4.6",
|
|
1143
|
-
"anthropic/claude-sonnet-4.6",
|
|
1144
|
-
"google/gemini-3.1-pro", // Newest Gemini
|
|
1145
|
-
"google/gemini-3-pro-preview",
|
|
1146
|
-
"moonshot/kimi-k2.5",
|
|
1147
|
-
],
|
|
1148
|
-
},
|
|
1149
|
-
REASONING: {
|
|
1150
|
-
primary: "anthropic/claude-sonnet-4.6", // 2,110ms, $3/$15 - best for reasoning/instructions
|
|
1151
|
-
fallback: [
|
|
1152
|
-
"anthropic/claude-opus-4.6", // 2,139ms
|
|
1153
|
-
"xai/grok-4-1-fast-reasoning", // 1,454ms, cheap fast reasoning
|
|
1154
|
-
"openai/o4-mini", // 2,328ms ($1.10/$4.40)
|
|
1155
|
-
"openai/o3", // 2,862ms
|
|
1156
|
-
],
|
|
1157
|
-
},
|
|
1158
|
-
},
|
|
1159
|
-
// Agentic tier configs - models that excel at multi-step autonomous tasks
|
|
1160
|
-
agenticTiers: {
|
|
1161
|
-
SIMPLE: {
|
|
1162
|
-
primary: "openai/gpt-4o-mini", // $0.15/$0.60 - best tool compliance at lowest cost
|
|
1163
|
-
fallback: [
|
|
1164
|
-
"moonshot/kimi-k2.5", // 1,646ms, strong tool use quality
|
|
1165
|
-
"anthropic/claude-haiku-4.5", // 2,305ms
|
|
1166
|
-
"xai/grok-4-1-fast-non-reasoning", // 1,244ms, fast fallback
|
|
1167
|
-
],
|
|
1168
|
-
},
|
|
1169
|
-
MEDIUM: {
|
|
1170
|
-
primary: "moonshot/kimi-k2.5", // 1,646ms, $0.60/$3.00 - strong tool use, proper function calls
|
|
1171
|
-
fallback: [
|
|
1172
|
-
"xai/grok-4-1-fast-non-reasoning", // 1,244ms, fast fallback
|
|
1173
|
-
"openai/gpt-4o-mini", // 2,764ms, reliable tool calling
|
|
1174
|
-
"anthropic/claude-haiku-4.5", // 2,305ms
|
|
1175
|
-
"deepseek/deepseek-chat", // 1,431ms
|
|
1176
|
-
],
|
|
1177
|
-
},
|
|
1178
|
-
COMPLEX: {
|
|
1179
|
-
primary: "anthropic/claude-sonnet-4.6", // 2,110ms — best agentic quality
|
|
1180
|
-
fallback: [
|
|
1181
|
-
"anthropic/claude-opus-4.6", // 2,139ms — top quality
|
|
1182
|
-
"google/gemini-3.1-pro", // 1,609ms
|
|
1183
|
-
"xai/grok-4-0709", // 1,348ms
|
|
1184
|
-
"openai/gpt-5.4", // 6,213ms — slow but highest quality fallback
|
|
1185
|
-
],
|
|
1186
|
-
},
|
|
1187
|
-
REASONING: {
|
|
1188
|
-
primary: "anthropic/claude-sonnet-4.6", // 2,110ms — strong tool use + reasoning
|
|
1189
|
-
fallback: [
|
|
1190
|
-
"anthropic/claude-opus-4.6", // 2,139ms
|
|
1191
|
-
"xai/grok-4-1-fast-reasoning", // 1,454ms
|
|
1192
|
-
"deepseek/deepseek-reasoner", // 1,454ms
|
|
1193
|
-
],
|
|
1194
|
-
},
|
|
1195
|
-
},
|
|
1196
|
-
// Time-windowed promotions — auto-applied when active, ignored when expired
|
|
1197
|
-
promotions: [
|
|
1198
|
-
{
|
|
1199
|
-
name: "GLM-5 Launch Promo ($0.001 flat)",
|
|
1200
|
-
startDate: "2026-04-01",
|
|
1201
|
-
endDate: "2026-04-15",
|
|
1202
|
-
tierOverrides: {
|
|
1203
|
-
SIMPLE: { primary: "zai/glm-5" },
|
|
1204
|
-
},
|
|
1205
|
-
profiles: ["auto"], // only auto profile — eco stays free, premium stays premium
|
|
1206
|
-
},
|
|
1207
|
-
],
|
|
1208
|
-
overrides: {
|
|
1209
|
-
maxTokensForceComplex: 100_000,
|
|
1210
|
-
structuredOutputMinTier: "MEDIUM",
|
|
1211
|
-
ambiguousDefaultTier: "MEDIUM",
|
|
1212
|
-
agenticMode: false,
|
|
1213
|
-
},
|
|
1214
|
-
};
|
|
1215
|
-
//# sourceMappingURL=config.js.map
|