@adaptic/utils 0.0.1016 → 0.0.1017
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/index.cjs +213 -151
- package/dist/index.cjs.map +1 -1
- package/dist/index.mjs +213 -151
- package/dist/index.mjs.map +1 -1
- package/dist/types/llm/route-table.d.ts +32 -0
- package/dist/types/llm/route-table.d.ts.map +1 -1
- package/dist/types/trading-policy/schemas/effective-policy.schema.d.ts +18 -18
- package/dist/types/trading-policy/schemas/model-prefs.schema.d.ts +24 -24
- package/dist/types/trading-policy/schemas/policy-mutation.schema.d.ts +36 -36
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -63898,7 +63898,7 @@ async function executeChain(alias, execution) {
|
|
|
63898
63898
|
|
|
63899
63899
|
var schema_version = 1;
|
|
63900
63900
|
var policy_source = "docs/llm-provider-migration.md#3-routing-policy (v1.1)";
|
|
63901
|
-
var revised = "2026-09-
|
|
63901
|
+
var revised = "2026-09-11";
|
|
63902
63902
|
var defaults = {
|
|
63903
63903
|
request_timeout_ms: {
|
|
63904
63904
|
"hot-path": 30000,
|
|
@@ -63953,13 +63953,13 @@ var providers = {
|
|
|
63953
63953
|
base_url_env: "DEEPINFRA_BASE_URL",
|
|
63954
63954
|
api_key_env: "DEEPINFRA_API_KEY",
|
|
63955
63955
|
secret_path: "llm/deepinfra/apiKey",
|
|
63956
|
-
account_status: "
|
|
63956
|
+
account_status: "live",
|
|
63957
63957
|
lumic_provider: null,
|
|
63958
63958
|
published_rpm: null,
|
|
63959
63959
|
published_tpm: null,
|
|
63960
63960
|
limits_source: null,
|
|
63961
63961
|
docs_url: "https://deepinfra.com/docs",
|
|
63962
|
-
notes: "
|
|
63962
|
+
notes: "Sole open-weight host. The routing policy originally spread these models across Z.ai first-party, DeepInfra and Groq; DeepInfra's catalogue carries all of them, so consolidating removes three onboardings, three keys and three terms filings at the cost of roughly 28% on llm.reason's input price versus the first-party GLM anchor. Fewer credentials and fewer trust boundaries is worth more than that margin on one alias."
|
|
63963
63963
|
},
|
|
63964
63964
|
fireworks: {
|
|
63965
63965
|
display_name: "Fireworks AI",
|
|
@@ -63969,13 +63969,13 @@ var providers = {
|
|
|
63969
63969
|
base_url_env: "FIREWORKS_BASE_URL",
|
|
63970
63970
|
api_key_env: "FIREWORKS_API_KEY",
|
|
63971
63971
|
secret_path: "llm/fireworks/apiKey",
|
|
63972
|
-
account_status: "
|
|
63972
|
+
account_status: "not-in-scope",
|
|
63973
63973
|
lumic_provider: null,
|
|
63974
63974
|
published_rpm: null,
|
|
63975
63975
|
published_tpm: null,
|
|
63976
63976
|
limits_source: null,
|
|
63977
63977
|
docs_url: "https://docs.fireworks.ai",
|
|
63978
|
-
notes: "
|
|
63978
|
+
notes: "Superseded by the DeepInfra consolidation: the models this host was chosen for are served from DeepInfra under one account. Retained in the registry so a future re-split needs a config change rather than a new onboarding."
|
|
63979
63979
|
},
|
|
63980
63980
|
zai: {
|
|
63981
63981
|
display_name: "Z.ai",
|
|
@@ -63985,13 +63985,13 @@ var providers = {
|
|
|
63985
63985
|
base_url_env: "ZAI_BASE_URL",
|
|
63986
63986
|
api_key_env: "ZAI_API_KEY",
|
|
63987
63987
|
secret_path: "llm/zai/apiKey",
|
|
63988
|
-
account_status: "
|
|
63988
|
+
account_status: "not-in-scope",
|
|
63989
63989
|
lumic_provider: null,
|
|
63990
63990
|
published_rpm: null,
|
|
63991
63991
|
published_tpm: null,
|
|
63992
63992
|
limits_source: null,
|
|
63993
63993
|
docs_url: "https://docs.z.ai",
|
|
63994
|
-
notes: "
|
|
63994
|
+
notes: "Superseded by the DeepInfra consolidation: the models this host was chosen for are served from DeepInfra under one account. Retained in the registry so a future re-split needs a config change rather than a new onboarding."
|
|
63995
63995
|
},
|
|
63996
63996
|
deepseek: {
|
|
63997
63997
|
display_name: "DeepSeek",
|
|
@@ -64001,13 +64001,13 @@ var providers = {
|
|
|
64001
64001
|
base_url_env: "DEEPSEEK_BASE_URL",
|
|
64002
64002
|
api_key_env: "DEEPSEEK_API_KEY",
|
|
64003
64003
|
secret_path: "llm/deepseek/apiKey",
|
|
64004
|
-
account_status: "
|
|
64004
|
+
account_status: "not-in-scope",
|
|
64005
64005
|
lumic_provider: "deepseek",
|
|
64006
64006
|
published_rpm: null,
|
|
64007
64007
|
published_tpm: null,
|
|
64008
64008
|
limits_source: null,
|
|
64009
64009
|
docs_url: "https://api-docs.deepseek.com",
|
|
64010
|
-
notes: "
|
|
64010
|
+
notes: "First-party DeepSeek API, no longer routed to. Its G1 filing found no commitment not to train on API inputs, no stated retention period, no sub-processor list, and storage under PRC jurisdiction — a materially weaker data posture than any other provider reviewed, and not one to send trading prompts through. The DeepSeek MODELS are still used and are a good fit; they are now served as open weights from DeepInfra under its Zero Data Retention commitment. The weights and the vendor's hosted API are separable, and only the API carried the exposure. Retained in the registry so the distinction stays visible rather than being rediscovered."
|
|
64011
64011
|
},
|
|
64012
64012
|
groq: {
|
|
64013
64013
|
display_name: "Groq",
|
|
@@ -64023,7 +64023,7 @@ var providers = {
|
|
|
64023
64023
|
published_tpm: null,
|
|
64024
64024
|
limits_source: null,
|
|
64025
64025
|
docs_url: "https://console.groq.com/docs",
|
|
64026
|
-
notes: "
|
|
64026
|
+
notes: "Superseded by the DeepInfra consolidation: the models this host was chosen for are served from DeepInfra under one account. Retained in the registry so a future re-split needs a config change rather than a new onboarding."
|
|
64027
64027
|
},
|
|
64028
64028
|
openrouter: {
|
|
64029
64029
|
display_name: "OpenRouter",
|
|
@@ -64061,51 +64061,55 @@ var aliases = {
|
|
|
64061
64061
|
routes: [
|
|
64062
64062
|
{
|
|
64063
64063
|
role: "primary",
|
|
64064
|
-
provider: "
|
|
64065
|
-
model_id:
|
|
64066
|
-
model_id_status: "
|
|
64067
|
-
model_id_source:
|
|
64068
|
-
model_family: "
|
|
64069
|
-
lumic_model:
|
|
64064
|
+
provider: "deepinfra",
|
|
64065
|
+
model_id: "deepseek-ai/DeepSeek-V4-Pro",
|
|
64066
|
+
model_id_status: "confirmed",
|
|
64067
|
+
model_id_source: "DeepInfra /v1/openai/models catalogue queried against the live account 2026-09-11; tool-calling and latency verified by direct call on the same account",
|
|
64068
|
+
model_family: "DeepSeek V4 Pro",
|
|
64069
|
+
lumic_model: "deepseek-ai/DeepSeek-V4-Pro",
|
|
64070
64070
|
params: {
|
|
64071
64071
|
temperature: null,
|
|
64072
64072
|
max_output_tokens: null,
|
|
64073
64073
|
supports_temperature: true,
|
|
64074
64074
|
supports_json_schema: true,
|
|
64075
64075
|
supports_tools: true,
|
|
64076
|
-
supports_cache_control:
|
|
64077
|
-
supports_vision: false
|
|
64076
|
+
supports_cache_control: true,
|
|
64077
|
+
supports_vision: false,
|
|
64078
|
+
context_window: 1048576
|
|
64078
64079
|
},
|
|
64079
64080
|
price_per_mtok: {
|
|
64080
|
-
input: 1.
|
|
64081
|
-
output:
|
|
64082
|
-
as_of: "2026-09-
|
|
64083
|
-
source: "
|
|
64084
|
-
}
|
|
64081
|
+
input: 1.3,
|
|
64082
|
+
output: 2.6,
|
|
64083
|
+
as_of: "2026-09-11",
|
|
64084
|
+
source: "DeepInfra /v1/openai/models catalogue queried against the live account 2026-09-11; tool-calling and latency verified by direct call on the same account"
|
|
64085
|
+
},
|
|
64086
|
+
notes: "1.6T MoE, 49B active, 1M context. Its model card cites advanced reasoning and long-running agent tasks, and it is the cheapest model in the flagship tier by a wide margin — a quarter of the incumbent's input price and a tenth of its output price."
|
|
64085
64087
|
},
|
|
64086
64088
|
{
|
|
64087
64089
|
role: "secondary",
|
|
64088
64090
|
provider: "deepinfra",
|
|
64089
|
-
model_id:
|
|
64090
|
-
model_id_status: "
|
|
64091
|
-
model_id_source:
|
|
64092
|
-
model_family: "
|
|
64093
|
-
lumic_model:
|
|
64091
|
+
model_id: "zai-org/GLM-5.3",
|
|
64092
|
+
model_id_status: "confirmed",
|
|
64093
|
+
model_id_source: "DeepInfra /v1/openai/models catalogue queried against the live account 2026-09-11; tool-calling and latency verified by direct call on the same account",
|
|
64094
|
+
model_family: "GLM-5.3",
|
|
64095
|
+
lumic_model: "zai-org/GLM-5.3",
|
|
64094
64096
|
params: {
|
|
64095
64097
|
temperature: null,
|
|
64096
64098
|
max_output_tokens: null,
|
|
64097
64099
|
supports_temperature: true,
|
|
64098
64100
|
supports_json_schema: true,
|
|
64099
64101
|
supports_tools: true,
|
|
64100
|
-
supports_cache_control:
|
|
64101
|
-
supports_vision: false
|
|
64102
|
+
supports_cache_control: true,
|
|
64103
|
+
supports_vision: false,
|
|
64104
|
+
context_window: 1048576
|
|
64102
64105
|
},
|
|
64103
64106
|
price_per_mtok: {
|
|
64104
|
-
input: 1.
|
|
64105
|
-
output:
|
|
64106
|
-
as_of: "2026-09-
|
|
64107
|
-
source: "
|
|
64108
|
-
}
|
|
64107
|
+
input: 1.2,
|
|
64108
|
+
output: 4,
|
|
64109
|
+
as_of: "2026-09-11",
|
|
64110
|
+
source: "DeepInfra /v1/openai/models catalogue queried against the live account 2026-09-11; tool-calling and latency verified by direct call on the same account"
|
|
64111
|
+
},
|
|
64112
|
+
notes: "A separate lineage from the primary rather than a smaller sibling, so a DeepSeek-family regression cannot take both legs of this chain at once."
|
|
64109
64113
|
},
|
|
64110
64114
|
{
|
|
64111
64115
|
role: "closed_incumbent",
|
|
@@ -64153,54 +64157,80 @@ var aliases = {
|
|
|
64153
64157
|
routes: [
|
|
64154
64158
|
{
|
|
64155
64159
|
role: "primary",
|
|
64156
|
-
provider: "
|
|
64157
|
-
model_id: "
|
|
64160
|
+
provider: "deepinfra",
|
|
64161
|
+
model_id: "moonshotai/Kimi-K3",
|
|
64158
64162
|
model_id_status: "confirmed",
|
|
64159
|
-
model_id_source: "
|
|
64160
|
-
model_family: "
|
|
64161
|
-
lumic_model: "
|
|
64163
|
+
model_id_source: "DeepInfra /v1/openai/models catalogue queried against the live account 2026-09-11; tool-calling and latency verified by direct call on the same account",
|
|
64164
|
+
model_family: "Kimi K3",
|
|
64165
|
+
lumic_model: "moonshotai/Kimi-K3",
|
|
64162
64166
|
params: {
|
|
64163
64167
|
temperature: null,
|
|
64164
|
-
max_output_tokens:
|
|
64168
|
+
max_output_tokens: null,
|
|
64165
64169
|
supports_temperature: true,
|
|
64166
64170
|
supports_json_schema: true,
|
|
64167
64171
|
supports_tools: true,
|
|
64168
64172
|
supports_cache_control: true,
|
|
64169
64173
|
supports_vision: true,
|
|
64170
|
-
context_window:
|
|
64174
|
+
context_window: 1048576
|
|
64171
64175
|
},
|
|
64172
64176
|
price_per_mtok: {
|
|
64173
|
-
input:
|
|
64174
|
-
output:
|
|
64175
|
-
as_of: "2026-09-
|
|
64176
|
-
source: "
|
|
64177
|
-
}
|
|
64177
|
+
input: 2.85,
|
|
64178
|
+
output: 14.25,
|
|
64179
|
+
as_of: "2026-09-11",
|
|
64180
|
+
source: "DeepInfra /v1/openai/models catalogue queried against the live account 2026-09-11; tool-calling and latency verified by direct call on the same account"
|
|
64181
|
+
},
|
|
64182
|
+
notes: "2.8T open-weight, built explicitly for long-horizon agentic workflows: tool calling, repository navigation, and iterating on logs and test feedback. The most expensive open model selected, which is justified here because this is the hardest workload and the lowest volume."
|
|
64178
64183
|
},
|
|
64179
64184
|
{
|
|
64180
64185
|
role: "secondary",
|
|
64181
64186
|
provider: "deepinfra",
|
|
64182
|
-
model_id:
|
|
64183
|
-
model_id_status: "
|
|
64184
|
-
model_id_source:
|
|
64185
|
-
model_family: "
|
|
64186
|
-
lumic_model:
|
|
64187
|
-
shadow_only: true,
|
|
64187
|
+
model_id: "deepseek-ai/DeepSeek-V4-Pro",
|
|
64188
|
+
model_id_status: "confirmed",
|
|
64189
|
+
model_id_source: "DeepInfra /v1/openai/models catalogue queried against the live account 2026-09-11; tool-calling and latency verified by direct call on the same account",
|
|
64190
|
+
model_family: "DeepSeek V4 Pro",
|
|
64191
|
+
lumic_model: "deepseek-ai/DeepSeek-V4-Pro",
|
|
64188
64192
|
params: {
|
|
64189
64193
|
temperature: null,
|
|
64190
64194
|
max_output_tokens: null,
|
|
64191
64195
|
supports_temperature: true,
|
|
64192
64196
|
supports_json_schema: true,
|
|
64193
64197
|
supports_tools: true,
|
|
64194
|
-
supports_cache_control:
|
|
64195
|
-
supports_vision: false
|
|
64198
|
+
supports_cache_control: true,
|
|
64199
|
+
supports_vision: false,
|
|
64200
|
+
context_window: 1048576
|
|
64196
64201
|
},
|
|
64197
64202
|
price_per_mtok: {
|
|
64198
|
-
input:
|
|
64199
|
-
output:
|
|
64200
|
-
as_of: "2026-09-
|
|
64201
|
-
source: "
|
|
64203
|
+
input: 1.3,
|
|
64204
|
+
output: 2.6,
|
|
64205
|
+
as_of: "2026-09-11",
|
|
64206
|
+
source: "DeepInfra /v1/openai/models catalogue queried against the live account 2026-09-11; tool-calling and latency verified by direct call on the same account"
|
|
64202
64207
|
},
|
|
64203
|
-
notes: "
|
|
64208
|
+
notes: "Also cites long-running agent tasks, at a fifth of the primary's output price."
|
|
64209
|
+
},
|
|
64210
|
+
{
|
|
64211
|
+
role: "closed_incumbent",
|
|
64212
|
+
provider: "anthropic",
|
|
64213
|
+
model_id: "claude-opus-4-7",
|
|
64214
|
+
model_id_status: "confirmed",
|
|
64215
|
+
model_id_source: "lumic-utils/src/types/openai-types.ts SUPPORTED_MODELS — already routed on in production",
|
|
64216
|
+
model_family: "Fable-class (see policy_note)",
|
|
64217
|
+
lumic_model: "claude-opus-4-7",
|
|
64218
|
+
params: {
|
|
64219
|
+
temperature: null,
|
|
64220
|
+
max_output_tokens: 128000,
|
|
64221
|
+
supports_temperature: true,
|
|
64222
|
+
supports_json_schema: true,
|
|
64223
|
+
supports_tools: true,
|
|
64224
|
+
supports_cache_control: true,
|
|
64225
|
+
supports_vision: true,
|
|
64226
|
+
context_window: 1000000
|
|
64227
|
+
},
|
|
64228
|
+
price_per_mtok: {
|
|
64229
|
+
input: 10,
|
|
64230
|
+
output: 50,
|
|
64231
|
+
as_of: "2026-09-10",
|
|
64232
|
+
source: "docs/llm-provider-migration.md#3 Fable-class anchor"
|
|
64233
|
+
}
|
|
64204
64234
|
}
|
|
64205
64235
|
]
|
|
64206
64236
|
},
|
|
@@ -64223,52 +64253,55 @@ var aliases = {
|
|
|
64223
64253
|
routes: [
|
|
64224
64254
|
{
|
|
64225
64255
|
role: "primary",
|
|
64226
|
-
provider: "
|
|
64227
|
-
model_id:
|
|
64228
|
-
model_id_status: "
|
|
64229
|
-
model_id_source:
|
|
64230
|
-
model_family: "
|
|
64231
|
-
lumic_model:
|
|
64256
|
+
provider: "deepinfra",
|
|
64257
|
+
model_id: "deepseek-ai/DeepSeek-V4-Flash",
|
|
64258
|
+
model_id_status: "confirmed",
|
|
64259
|
+
model_id_source: "DeepInfra /v1/openai/models catalogue queried against the live account 2026-09-11; tool-calling and latency verified by direct call on the same account",
|
|
64260
|
+
model_family: "DeepSeek V4 Flash",
|
|
64261
|
+
lumic_model: "deepseek-ai/DeepSeek-V4-Flash",
|
|
64232
64262
|
params: {
|
|
64233
64263
|
temperature: null,
|
|
64234
64264
|
max_output_tokens: null,
|
|
64235
64265
|
supports_temperature: true,
|
|
64236
64266
|
supports_json_schema: true,
|
|
64237
64267
|
supports_tools: true,
|
|
64238
|
-
supports_cache_control:
|
|
64239
|
-
supports_vision: false
|
|
64268
|
+
supports_cache_control: true,
|
|
64269
|
+
supports_vision: false,
|
|
64270
|
+
context_window: 1048576
|
|
64240
64271
|
},
|
|
64241
64272
|
price_per_mtok: {
|
|
64242
|
-
input: 0.
|
|
64243
|
-
output: 0.
|
|
64244
|
-
as_of: "2026-09-
|
|
64245
|
-
source: "
|
|
64273
|
+
input: 0.09,
|
|
64274
|
+
output: 0.18,
|
|
64275
|
+
as_of: "2026-09-11",
|
|
64276
|
+
source: "DeepInfra /v1/openai/models catalogue queried against the live account 2026-09-11; tool-calling and latency verified by direct call on the same account"
|
|
64246
64277
|
},
|
|
64247
|
-
notes: "
|
|
64278
|
+
notes: "284B MoE, 13B active, 1M context. Measured median 1241 ms on a realistic trading prompt, and the only candidate that answered in directly usable form instead of narrating its reasoning first — which on a hot path is the difference between a parseable answer and a parsing problem."
|
|
64248
64279
|
},
|
|
64249
64280
|
{
|
|
64250
64281
|
role: "secondary",
|
|
64251
64282
|
provider: "deepinfra",
|
|
64252
|
-
model_id:
|
|
64253
|
-
model_id_status: "
|
|
64254
|
-
model_id_source:
|
|
64255
|
-
model_family: "
|
|
64256
|
-
lumic_model:
|
|
64283
|
+
model_id: "zai-org/GLM-5.3-Flash",
|
|
64284
|
+
model_id_status: "confirmed",
|
|
64285
|
+
model_id_source: "DeepInfra /v1/openai/models catalogue queried against the live account 2026-09-11; tool-calling and latency verified by direct call on the same account",
|
|
64286
|
+
model_family: "GLM-5.3 Flash",
|
|
64287
|
+
lumic_model: "zai-org/GLM-5.3-Flash",
|
|
64257
64288
|
params: {
|
|
64258
64289
|
temperature: null,
|
|
64259
64290
|
max_output_tokens: null,
|
|
64260
64291
|
supports_temperature: true,
|
|
64261
64292
|
supports_json_schema: true,
|
|
64262
64293
|
supports_tools: true,
|
|
64263
|
-
supports_cache_control:
|
|
64264
|
-
supports_vision:
|
|
64294
|
+
supports_cache_control: true,
|
|
64295
|
+
supports_vision: true,
|
|
64296
|
+
context_window: 1048576
|
|
64265
64297
|
},
|
|
64266
64298
|
price_per_mtok: {
|
|
64267
|
-
input: 0.
|
|
64268
|
-
output: 0.
|
|
64269
|
-
as_of: "2026-09-
|
|
64270
|
-
source: "
|
|
64271
|
-
}
|
|
64299
|
+
input: 0.15,
|
|
64300
|
+
output: 0.5,
|
|
64301
|
+
as_of: "2026-09-11",
|
|
64302
|
+
source: "DeepInfra /v1/openai/models catalogue queried against the live account 2026-09-11; tool-calling and latency verified by direct call on the same account"
|
|
64303
|
+
},
|
|
64304
|
+
notes: "A different lineage from the primary, with a 1M context and JSON mode. Chosen over the faster Nemotron 3 Nano, which measured the quickest median of any candidate but rejects response_format outright with HTTP 405 — and llm.fast is a structured-output alias, so a leg that cannot express the contract is not a fallback at all, only a slower way to fail."
|
|
64272
64305
|
},
|
|
64273
64306
|
{
|
|
64274
64307
|
role: "closed_incumbent",
|
|
@@ -64315,52 +64348,55 @@ var aliases = {
|
|
|
64315
64348
|
routes: [
|
|
64316
64349
|
{
|
|
64317
64350
|
role: "primary",
|
|
64318
|
-
provider: "
|
|
64319
|
-
model_id: "
|
|
64351
|
+
provider: "deepinfra",
|
|
64352
|
+
model_id: "openai/gpt-oss-20b",
|
|
64320
64353
|
model_id_status: "confirmed",
|
|
64321
|
-
model_id_source: "
|
|
64322
|
-
model_family: "
|
|
64323
|
-
lumic_model: "
|
|
64354
|
+
model_id_source: "DeepInfra /v1/openai/models catalogue queried against the live account 2026-09-11; tool-calling and latency verified by direct call on the same account",
|
|
64355
|
+
model_family: "gpt-oss-20B",
|
|
64356
|
+
lumic_model: "openai/gpt-oss-20b",
|
|
64324
64357
|
params: {
|
|
64325
64358
|
temperature: null,
|
|
64326
|
-
max_output_tokens:
|
|
64359
|
+
max_output_tokens: null,
|
|
64327
64360
|
supports_temperature: true,
|
|
64328
64361
|
supports_json_schema: true,
|
|
64329
64362
|
supports_tools: true,
|
|
64330
|
-
supports_cache_control:
|
|
64363
|
+
supports_cache_control: false,
|
|
64331
64364
|
supports_vision: false,
|
|
64332
|
-
context_window:
|
|
64365
|
+
context_window: 131072
|
|
64333
64366
|
},
|
|
64334
64367
|
price_per_mtok: {
|
|
64335
|
-
input: 0.
|
|
64336
|
-
output: 0.
|
|
64337
|
-
as_of: "2026-09-
|
|
64338
|
-
source: "
|
|
64339
|
-
}
|
|
64368
|
+
input: 0.03,
|
|
64369
|
+
output: 0.14,
|
|
64370
|
+
as_of: "2026-09-11",
|
|
64371
|
+
source: "DeepInfra /v1/openai/models catalogue queried against the live account 2026-09-11; tool-calling and latency verified by direct call on the same account"
|
|
64372
|
+
},
|
|
64373
|
+
notes: "The cheapest tool-capable model in the catalogue at $0.03/$0.14, which is what a high-volume classification and log-analysis workload should be paying."
|
|
64340
64374
|
},
|
|
64341
64375
|
{
|
|
64342
64376
|
role: "secondary",
|
|
64343
|
-
provider: "
|
|
64344
|
-
model_id:
|
|
64345
|
-
model_id_status: "
|
|
64346
|
-
model_id_source:
|
|
64347
|
-
model_family: "
|
|
64348
|
-
lumic_model:
|
|
64377
|
+
provider: "deepinfra",
|
|
64378
|
+
model_id: "inclusionAI/Ling-3.0-flash-Fin",
|
|
64379
|
+
model_id_status: "confirmed",
|
|
64380
|
+
model_id_source: "DeepInfra /v1/openai/models catalogue queried against the live account 2026-09-11; tool-calling and latency verified by direct call on the same account",
|
|
64381
|
+
model_family: "Ling 3.0 Flash Fin",
|
|
64382
|
+
lumic_model: "inclusionAI/Ling-3.0-flash-Fin",
|
|
64349
64383
|
params: {
|
|
64350
64384
|
temperature: null,
|
|
64351
64385
|
max_output_tokens: null,
|
|
64352
64386
|
supports_temperature: true,
|
|
64353
64387
|
supports_json_schema: true,
|
|
64354
64388
|
supports_tools: true,
|
|
64355
|
-
supports_cache_control:
|
|
64356
|
-
supports_vision: false
|
|
64389
|
+
supports_cache_control: true,
|
|
64390
|
+
supports_vision: false,
|
|
64391
|
+
context_window: 262144
|
|
64357
64392
|
},
|
|
64358
64393
|
price_per_mtok: {
|
|
64359
|
-
input:
|
|
64360
|
-
output:
|
|
64361
|
-
as_of: "2026-09-
|
|
64362
|
-
source: "
|
|
64363
|
-
}
|
|
64394
|
+
input: 0.06,
|
|
64395
|
+
output: 0.18,
|
|
64396
|
+
as_of: "2026-09-11",
|
|
64397
|
+
source: "DeepInfra /v1/openai/models catalogue queried against the live account 2026-09-11; tool-calling and latency verified by direct call on the same account"
|
|
64398
|
+
},
|
|
64399
|
+
notes: "Finance-enhanced through continued training on financial data, with a 262k context. A deliberate second opinion on financial text rather than a generic fallback."
|
|
64364
64400
|
},
|
|
64365
64401
|
{
|
|
64366
64402
|
role: "closed_incumbent",
|
|
@@ -64396,7 +64432,7 @@ var aliases = {
|
|
|
64396
64432
|
isolation_capable: false,
|
|
64397
64433
|
pinned: true,
|
|
64398
64434
|
eval_gate: "none-pinned-judge",
|
|
64399
|
-
policy_note: "PD-6: pinned and never auto-swapped, and deliberately carries no fallback.
|
|
64435
|
+
policy_note: "PD-6: pinned and never auto-swapped, and deliberately carries no fallback. Moved off the closed incumbent because a judge running on a vendor we are migrating away from cannot impartially grade that migration — it would be scoring the challengers against its own family.",
|
|
64400
64436
|
budget: {
|
|
64401
64437
|
basis: "provisional-pre-baseline",
|
|
64402
64438
|
monthly_usd: 150,
|
|
@@ -64409,39 +64445,34 @@ var aliases = {
|
|
|
64409
64445
|
routes: [
|
|
64410
64446
|
{
|
|
64411
64447
|
role: "primary",
|
|
64412
|
-
provider: "
|
|
64413
|
-
model_id: "
|
|
64448
|
+
provider: "deepinfra",
|
|
64449
|
+
model_id: "deepseek-ai/DeepSeek-V4-Pro",
|
|
64414
64450
|
model_id_status: "confirmed",
|
|
64415
|
-
model_id_source: "
|
|
64416
|
-
model_family: "
|
|
64417
|
-
lumic_model: "
|
|
64451
|
+
model_id_source: "DeepInfra /v1/openai/models catalogue queried against the live account 2026-09-11; tool-calling and latency verified by direct call on the same account",
|
|
64452
|
+
model_family: "DeepSeek V4 Pro",
|
|
64453
|
+
lumic_model: "deepseek-ai/DeepSeek-V4-Pro",
|
|
64418
64454
|
params: {
|
|
64419
|
-
temperature:
|
|
64420
|
-
max_output_tokens:
|
|
64455
|
+
temperature: null,
|
|
64456
|
+
max_output_tokens: null,
|
|
64421
64457
|
supports_temperature: true,
|
|
64422
64458
|
supports_json_schema: true,
|
|
64423
64459
|
supports_tools: true,
|
|
64424
64460
|
supports_cache_control: true,
|
|
64425
|
-
supports_vision:
|
|
64426
|
-
context_window:
|
|
64461
|
+
supports_vision: false,
|
|
64462
|
+
context_window: 1048576
|
|
64427
64463
|
},
|
|
64428
64464
|
price_per_mtok: {
|
|
64429
|
-
input: 3,
|
|
64430
|
-
output:
|
|
64431
|
-
as_of: "2026-09-
|
|
64432
|
-
source: "
|
|
64433
|
-
}
|
|
64465
|
+
input: 1.3,
|
|
64466
|
+
output: 2.6,
|
|
64467
|
+
as_of: "2026-09-11",
|
|
64468
|
+
source: "DeepInfra /v1/openai/models catalogue queried against the live account 2026-09-11; tool-calling and latency verified by direct call on the same account"
|
|
64469
|
+
},
|
|
64470
|
+
notes: "Pinned with no fallback (PD-6). A judge that failed over would grade one model's output against another model's standard, corrupting every gate decided by it."
|
|
64434
64471
|
}
|
|
64435
64472
|
]
|
|
64436
64473
|
}
|
|
64437
64474
|
};
|
|
64438
64475
|
var open_items = [
|
|
64439
|
-
{
|
|
64440
|
-
id: "OI-01",
|
|
64441
|
-
question: "Section 3 makes Groq or Cerebras the llm.fast primary, but neither appears in the W3 onboarding provider list (DeepInfra, Fireworks, Z.ai, DeepSeek, aggregator). Which host serves llm.fast's primary leg, and is it added to W3?",
|
|
64442
|
-
blocks: "llm.fast primary reachability; W5-03 canary for llm.fast",
|
|
64443
|
-
owner: "CEO"
|
|
64444
|
-
},
|
|
64445
64476
|
{
|
|
64446
64477
|
id: "OI-02",
|
|
64447
64478
|
question: "Section 3 names a Fable-class primary for llm.agentic, but the lumic model registry's strongest registered Anthropic model is claude-opus-4-7. Register a Fable-class model in @adaptic/lumic-utils, or accept opus-4-7 as the llm.agentic primary?",
|
|
@@ -64599,6 +64630,52 @@ function orderedRoutes(definition) {
|
|
|
64599
64630
|
function routeKeyFor(alias, isolated, role) {
|
|
64600
64631
|
return `${alias}${isolated ? ISOLATED_SUFFIX : ""}#${role}`;
|
|
64601
64632
|
}
|
|
64633
|
+
/**
|
|
64634
|
+
* Whether one route may serve, and if not, why.
|
|
64635
|
+
*
|
|
64636
|
+
* Extracted from the chain resolver rather than left inline so the admission
|
|
64637
|
+
* rules can be exercised directly. Inline, the only way to prove an exclusion
|
|
64638
|
+
* rule works was to point it at the live table and hope the table still
|
|
64639
|
+
* contained something excludable — which made the proof a statement about how
|
|
64640
|
+
* incomplete the routing policy happened to be that week, and turned finishing
|
|
64641
|
+
* the policy into a test failure. A rule worth enforcing has to be provable on
|
|
64642
|
+
* a route constructed to violate it.
|
|
64643
|
+
*
|
|
64644
|
+
* Order matters: shadow-only is checked before model-id confirmation because a
|
|
64645
|
+
* shadow leg is held back by policy regardless of whether its id is confirmed,
|
|
64646
|
+
* and reporting it as "unconfirmed" would misdescribe a deliberate choice as an
|
|
64647
|
+
* unfinished one.
|
|
64648
|
+
*
|
|
64649
|
+
* The admitting branch carries the confirmed model id rather than leaving the
|
|
64650
|
+
* caller to re-read it. The id is the very thing admission validated, so
|
|
64651
|
+
* handing it back is what lets the caller use it without a non-null assertion
|
|
64652
|
+
* re-stating a check that already happened.
|
|
64653
|
+
*
|
|
64654
|
+
* @param route The authored route.
|
|
64655
|
+
* @param provider The provider entry the route names.
|
|
64656
|
+
* @returns Admission with the confirmed model id, or the reason for exclusion.
|
|
64657
|
+
*/
|
|
64658
|
+
function routeAdmission(route, provider) {
|
|
64659
|
+
if (route.shadow_only === true) {
|
|
64660
|
+
return {
|
|
64661
|
+
admit: false,
|
|
64662
|
+
reason: "shadow-only: configured and scored, never served to a caller",
|
|
64663
|
+
};
|
|
64664
|
+
}
|
|
64665
|
+
if (route.model_id_status !== "confirmed" || route.model_id === null) {
|
|
64666
|
+
return {
|
|
64667
|
+
admit: false,
|
|
64668
|
+
reason: `model id unconfirmed (${route.model_family}); it is transcribed from the provider console at onboarding, never guessed`,
|
|
64669
|
+
};
|
|
64670
|
+
}
|
|
64671
|
+
if (provider.account_status !== "live") {
|
|
64672
|
+
return {
|
|
64673
|
+
admit: false,
|
|
64674
|
+
reason: `provider account status is "${provider.account_status}"`,
|
|
64675
|
+
};
|
|
64676
|
+
}
|
|
64677
|
+
return { admit: true, modelId: route.model_id };
|
|
64678
|
+
}
|
|
64602
64679
|
/**
|
|
64603
64680
|
* Resolve an alias to the ordered chain of legs that can serve it today.
|
|
64604
64681
|
*
|
|
@@ -64626,27 +64703,12 @@ function resolveChain(alias, options = {}) {
|
|
|
64626
64703
|
const exclusions = [];
|
|
64627
64704
|
for (const route of orderedRoutes(definition)) {
|
|
64628
64705
|
const provider = providerEntry(route.provider);
|
|
64629
|
-
|
|
64630
|
-
|
|
64631
|
-
role: route.role,
|
|
64632
|
-
provider: route.provider,
|
|
64633
|
-
reason: "shadow-only: configured and scored, never served to a caller",
|
|
64634
|
-
});
|
|
64635
|
-
continue;
|
|
64636
|
-
}
|
|
64637
|
-
if (route.model_id_status !== "confirmed" || route.model_id === null) {
|
|
64638
|
-
exclusions.push({
|
|
64639
|
-
role: route.role,
|
|
64640
|
-
provider: route.provider,
|
|
64641
|
-
reason: `model id unconfirmed (${route.model_family}); it is transcribed from the provider console at onboarding, never guessed`,
|
|
64642
|
-
});
|
|
64643
|
-
continue;
|
|
64644
|
-
}
|
|
64645
|
-
if (provider.account_status !== "live") {
|
|
64706
|
+
const admission = routeAdmission(route, provider);
|
|
64707
|
+
if (!admission.admit) {
|
|
64646
64708
|
exclusions.push({
|
|
64647
64709
|
role: route.role,
|
|
64648
64710
|
provider: route.provider,
|
|
64649
|
-
reason:
|
|
64711
|
+
reason: admission.reason,
|
|
64650
64712
|
});
|
|
64651
64713
|
continue;
|
|
64652
64714
|
}
|
|
@@ -64656,7 +64718,7 @@ function resolveChain(alias, options = {}) {
|
|
|
64656
64718
|
role: route.role,
|
|
64657
64719
|
providerName: route.provider,
|
|
64658
64720
|
provider,
|
|
64659
|
-
modelId:
|
|
64721
|
+
modelId: admission.modelId,
|
|
64660
64722
|
lumicModel: route.lumic_model ?? null,
|
|
64661
64723
|
params: route.params ?? {},
|
|
64662
64724
|
routeKey: routeKeyFor(alias, isolated, route.role),
|