@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.cjs
CHANGED
|
@@ -63900,7 +63900,7 @@ async function executeChain(alias, execution) {
|
|
|
63900
63900
|
|
|
63901
63901
|
var schema_version = 1;
|
|
63902
63902
|
var policy_source = "docs/llm-provider-migration.md#3-routing-policy (v1.1)";
|
|
63903
|
-
var revised = "2026-09-
|
|
63903
|
+
var revised = "2026-09-11";
|
|
63904
63904
|
var defaults = {
|
|
63905
63905
|
request_timeout_ms: {
|
|
63906
63906
|
"hot-path": 30000,
|
|
@@ -63955,13 +63955,13 @@ var providers = {
|
|
|
63955
63955
|
base_url_env: "DEEPINFRA_BASE_URL",
|
|
63956
63956
|
api_key_env: "DEEPINFRA_API_KEY",
|
|
63957
63957
|
secret_path: "llm/deepinfra/apiKey",
|
|
63958
|
-
account_status: "
|
|
63958
|
+
account_status: "live",
|
|
63959
63959
|
lumic_provider: null,
|
|
63960
63960
|
published_rpm: null,
|
|
63961
63961
|
published_tpm: null,
|
|
63962
63962
|
limits_source: null,
|
|
63963
63963
|
docs_url: "https://deepinfra.com/docs",
|
|
63964
|
-
notes: "
|
|
63964
|
+
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."
|
|
63965
63965
|
},
|
|
63966
63966
|
fireworks: {
|
|
63967
63967
|
display_name: "Fireworks AI",
|
|
@@ -63971,13 +63971,13 @@ var providers = {
|
|
|
63971
63971
|
base_url_env: "FIREWORKS_BASE_URL",
|
|
63972
63972
|
api_key_env: "FIREWORKS_API_KEY",
|
|
63973
63973
|
secret_path: "llm/fireworks/apiKey",
|
|
63974
|
-
account_status: "
|
|
63974
|
+
account_status: "not-in-scope",
|
|
63975
63975
|
lumic_provider: null,
|
|
63976
63976
|
published_rpm: null,
|
|
63977
63977
|
published_tpm: null,
|
|
63978
63978
|
limits_source: null,
|
|
63979
63979
|
docs_url: "https://docs.fireworks.ai",
|
|
63980
|
-
notes: "
|
|
63980
|
+
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."
|
|
63981
63981
|
},
|
|
63982
63982
|
zai: {
|
|
63983
63983
|
display_name: "Z.ai",
|
|
@@ -63987,13 +63987,13 @@ var providers = {
|
|
|
63987
63987
|
base_url_env: "ZAI_BASE_URL",
|
|
63988
63988
|
api_key_env: "ZAI_API_KEY",
|
|
63989
63989
|
secret_path: "llm/zai/apiKey",
|
|
63990
|
-
account_status: "
|
|
63990
|
+
account_status: "not-in-scope",
|
|
63991
63991
|
lumic_provider: null,
|
|
63992
63992
|
published_rpm: null,
|
|
63993
63993
|
published_tpm: null,
|
|
63994
63994
|
limits_source: null,
|
|
63995
63995
|
docs_url: "https://docs.z.ai",
|
|
63996
|
-
notes: "
|
|
63996
|
+
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."
|
|
63997
63997
|
},
|
|
63998
63998
|
deepseek: {
|
|
63999
63999
|
display_name: "DeepSeek",
|
|
@@ -64003,13 +64003,13 @@ var providers = {
|
|
|
64003
64003
|
base_url_env: "DEEPSEEK_BASE_URL",
|
|
64004
64004
|
api_key_env: "DEEPSEEK_API_KEY",
|
|
64005
64005
|
secret_path: "llm/deepseek/apiKey",
|
|
64006
|
-
account_status: "
|
|
64006
|
+
account_status: "not-in-scope",
|
|
64007
64007
|
lumic_provider: "deepseek",
|
|
64008
64008
|
published_rpm: null,
|
|
64009
64009
|
published_tpm: null,
|
|
64010
64010
|
limits_source: null,
|
|
64011
64011
|
docs_url: "https://api-docs.deepseek.com",
|
|
64012
|
-
notes: "
|
|
64012
|
+
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."
|
|
64013
64013
|
},
|
|
64014
64014
|
groq: {
|
|
64015
64015
|
display_name: "Groq",
|
|
@@ -64025,7 +64025,7 @@ var providers = {
|
|
|
64025
64025
|
published_tpm: null,
|
|
64026
64026
|
limits_source: null,
|
|
64027
64027
|
docs_url: "https://console.groq.com/docs",
|
|
64028
|
-
notes: "
|
|
64028
|
+
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."
|
|
64029
64029
|
},
|
|
64030
64030
|
openrouter: {
|
|
64031
64031
|
display_name: "OpenRouter",
|
|
@@ -64063,51 +64063,55 @@ var aliases = {
|
|
|
64063
64063
|
routes: [
|
|
64064
64064
|
{
|
|
64065
64065
|
role: "primary",
|
|
64066
|
-
provider: "
|
|
64067
|
-
model_id:
|
|
64068
|
-
model_id_status: "
|
|
64069
|
-
model_id_source:
|
|
64070
|
-
model_family: "
|
|
64071
|
-
lumic_model:
|
|
64066
|
+
provider: "deepinfra",
|
|
64067
|
+
model_id: "deepseek-ai/DeepSeek-V4-Pro",
|
|
64068
|
+
model_id_status: "confirmed",
|
|
64069
|
+
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",
|
|
64070
|
+
model_family: "DeepSeek V4 Pro",
|
|
64071
|
+
lumic_model: "deepseek-ai/DeepSeek-V4-Pro",
|
|
64072
64072
|
params: {
|
|
64073
64073
|
temperature: null,
|
|
64074
64074
|
max_output_tokens: null,
|
|
64075
64075
|
supports_temperature: true,
|
|
64076
64076
|
supports_json_schema: true,
|
|
64077
64077
|
supports_tools: true,
|
|
64078
|
-
supports_cache_control:
|
|
64079
|
-
supports_vision: false
|
|
64078
|
+
supports_cache_control: true,
|
|
64079
|
+
supports_vision: false,
|
|
64080
|
+
context_window: 1048576
|
|
64080
64081
|
},
|
|
64081
64082
|
price_per_mtok: {
|
|
64082
|
-
input: 1.
|
|
64083
|
-
output:
|
|
64084
|
-
as_of: "2026-09-
|
|
64085
|
-
source: "
|
|
64086
|
-
}
|
|
64083
|
+
input: 1.3,
|
|
64084
|
+
output: 2.6,
|
|
64085
|
+
as_of: "2026-09-11",
|
|
64086
|
+
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"
|
|
64087
|
+
},
|
|
64088
|
+
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."
|
|
64087
64089
|
},
|
|
64088
64090
|
{
|
|
64089
64091
|
role: "secondary",
|
|
64090
64092
|
provider: "deepinfra",
|
|
64091
|
-
model_id:
|
|
64092
|
-
model_id_status: "
|
|
64093
|
-
model_id_source:
|
|
64094
|
-
model_family: "
|
|
64095
|
-
lumic_model:
|
|
64093
|
+
model_id: "zai-org/GLM-5.3",
|
|
64094
|
+
model_id_status: "confirmed",
|
|
64095
|
+
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",
|
|
64096
|
+
model_family: "GLM-5.3",
|
|
64097
|
+
lumic_model: "zai-org/GLM-5.3",
|
|
64096
64098
|
params: {
|
|
64097
64099
|
temperature: null,
|
|
64098
64100
|
max_output_tokens: null,
|
|
64099
64101
|
supports_temperature: true,
|
|
64100
64102
|
supports_json_schema: true,
|
|
64101
64103
|
supports_tools: true,
|
|
64102
|
-
supports_cache_control:
|
|
64103
|
-
supports_vision: false
|
|
64104
|
+
supports_cache_control: true,
|
|
64105
|
+
supports_vision: false,
|
|
64106
|
+
context_window: 1048576
|
|
64104
64107
|
},
|
|
64105
64108
|
price_per_mtok: {
|
|
64106
|
-
input: 1.
|
|
64107
|
-
output:
|
|
64108
|
-
as_of: "2026-09-
|
|
64109
|
-
source: "
|
|
64110
|
-
}
|
|
64109
|
+
input: 1.2,
|
|
64110
|
+
output: 4,
|
|
64111
|
+
as_of: "2026-09-11",
|
|
64112
|
+
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"
|
|
64113
|
+
},
|
|
64114
|
+
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."
|
|
64111
64115
|
},
|
|
64112
64116
|
{
|
|
64113
64117
|
role: "closed_incumbent",
|
|
@@ -64155,54 +64159,80 @@ var aliases = {
|
|
|
64155
64159
|
routes: [
|
|
64156
64160
|
{
|
|
64157
64161
|
role: "primary",
|
|
64158
|
-
provider: "
|
|
64159
|
-
model_id: "
|
|
64162
|
+
provider: "deepinfra",
|
|
64163
|
+
model_id: "moonshotai/Kimi-K3",
|
|
64160
64164
|
model_id_status: "confirmed",
|
|
64161
|
-
model_id_source: "
|
|
64162
|
-
model_family: "
|
|
64163
|
-
lumic_model: "
|
|
64165
|
+
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",
|
|
64166
|
+
model_family: "Kimi K3",
|
|
64167
|
+
lumic_model: "moonshotai/Kimi-K3",
|
|
64164
64168
|
params: {
|
|
64165
64169
|
temperature: null,
|
|
64166
|
-
max_output_tokens:
|
|
64170
|
+
max_output_tokens: null,
|
|
64167
64171
|
supports_temperature: true,
|
|
64168
64172
|
supports_json_schema: true,
|
|
64169
64173
|
supports_tools: true,
|
|
64170
64174
|
supports_cache_control: true,
|
|
64171
64175
|
supports_vision: true,
|
|
64172
|
-
context_window:
|
|
64176
|
+
context_window: 1048576
|
|
64173
64177
|
},
|
|
64174
64178
|
price_per_mtok: {
|
|
64175
|
-
input:
|
|
64176
|
-
output:
|
|
64177
|
-
as_of: "2026-09-
|
|
64178
|
-
source: "
|
|
64179
|
-
}
|
|
64179
|
+
input: 2.85,
|
|
64180
|
+
output: 14.25,
|
|
64181
|
+
as_of: "2026-09-11",
|
|
64182
|
+
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"
|
|
64183
|
+
},
|
|
64184
|
+
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."
|
|
64180
64185
|
},
|
|
64181
64186
|
{
|
|
64182
64187
|
role: "secondary",
|
|
64183
64188
|
provider: "deepinfra",
|
|
64184
|
-
model_id:
|
|
64185
|
-
model_id_status: "
|
|
64186
|
-
model_id_source:
|
|
64187
|
-
model_family: "
|
|
64188
|
-
lumic_model:
|
|
64189
|
-
shadow_only: true,
|
|
64189
|
+
model_id: "deepseek-ai/DeepSeek-V4-Pro",
|
|
64190
|
+
model_id_status: "confirmed",
|
|
64191
|
+
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",
|
|
64192
|
+
model_family: "DeepSeek V4 Pro",
|
|
64193
|
+
lumic_model: "deepseek-ai/DeepSeek-V4-Pro",
|
|
64190
64194
|
params: {
|
|
64191
64195
|
temperature: null,
|
|
64192
64196
|
max_output_tokens: null,
|
|
64193
64197
|
supports_temperature: true,
|
|
64194
64198
|
supports_json_schema: true,
|
|
64195
64199
|
supports_tools: true,
|
|
64196
|
-
supports_cache_control:
|
|
64197
|
-
supports_vision: false
|
|
64200
|
+
supports_cache_control: true,
|
|
64201
|
+
supports_vision: false,
|
|
64202
|
+
context_window: 1048576
|
|
64198
64203
|
},
|
|
64199
64204
|
price_per_mtok: {
|
|
64200
|
-
input:
|
|
64201
|
-
output:
|
|
64202
|
-
as_of: "2026-09-
|
|
64203
|
-
source: "
|
|
64205
|
+
input: 1.3,
|
|
64206
|
+
output: 2.6,
|
|
64207
|
+
as_of: "2026-09-11",
|
|
64208
|
+
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"
|
|
64204
64209
|
},
|
|
64205
|
-
notes: "
|
|
64210
|
+
notes: "Also cites long-running agent tasks, at a fifth of the primary's output price."
|
|
64211
|
+
},
|
|
64212
|
+
{
|
|
64213
|
+
role: "closed_incumbent",
|
|
64214
|
+
provider: "anthropic",
|
|
64215
|
+
model_id: "claude-opus-4-7",
|
|
64216
|
+
model_id_status: "confirmed",
|
|
64217
|
+
model_id_source: "lumic-utils/src/types/openai-types.ts SUPPORTED_MODELS — already routed on in production",
|
|
64218
|
+
model_family: "Fable-class (see policy_note)",
|
|
64219
|
+
lumic_model: "claude-opus-4-7",
|
|
64220
|
+
params: {
|
|
64221
|
+
temperature: null,
|
|
64222
|
+
max_output_tokens: 128000,
|
|
64223
|
+
supports_temperature: true,
|
|
64224
|
+
supports_json_schema: true,
|
|
64225
|
+
supports_tools: true,
|
|
64226
|
+
supports_cache_control: true,
|
|
64227
|
+
supports_vision: true,
|
|
64228
|
+
context_window: 1000000
|
|
64229
|
+
},
|
|
64230
|
+
price_per_mtok: {
|
|
64231
|
+
input: 10,
|
|
64232
|
+
output: 50,
|
|
64233
|
+
as_of: "2026-09-10",
|
|
64234
|
+
source: "docs/llm-provider-migration.md#3 Fable-class anchor"
|
|
64235
|
+
}
|
|
64206
64236
|
}
|
|
64207
64237
|
]
|
|
64208
64238
|
},
|
|
@@ -64225,52 +64255,55 @@ var aliases = {
|
|
|
64225
64255
|
routes: [
|
|
64226
64256
|
{
|
|
64227
64257
|
role: "primary",
|
|
64228
|
-
provider: "
|
|
64229
|
-
model_id:
|
|
64230
|
-
model_id_status: "
|
|
64231
|
-
model_id_source:
|
|
64232
|
-
model_family: "
|
|
64233
|
-
lumic_model:
|
|
64258
|
+
provider: "deepinfra",
|
|
64259
|
+
model_id: "deepseek-ai/DeepSeek-V4-Flash",
|
|
64260
|
+
model_id_status: "confirmed",
|
|
64261
|
+
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",
|
|
64262
|
+
model_family: "DeepSeek V4 Flash",
|
|
64263
|
+
lumic_model: "deepseek-ai/DeepSeek-V4-Flash",
|
|
64234
64264
|
params: {
|
|
64235
64265
|
temperature: null,
|
|
64236
64266
|
max_output_tokens: null,
|
|
64237
64267
|
supports_temperature: true,
|
|
64238
64268
|
supports_json_schema: true,
|
|
64239
64269
|
supports_tools: true,
|
|
64240
|
-
supports_cache_control:
|
|
64241
|
-
supports_vision: false
|
|
64270
|
+
supports_cache_control: true,
|
|
64271
|
+
supports_vision: false,
|
|
64272
|
+
context_window: 1048576
|
|
64242
64273
|
},
|
|
64243
64274
|
price_per_mtok: {
|
|
64244
|
-
input: 0.
|
|
64245
|
-
output: 0.
|
|
64246
|
-
as_of: "2026-09-
|
|
64247
|
-
source: "
|
|
64275
|
+
input: 0.09,
|
|
64276
|
+
output: 0.18,
|
|
64277
|
+
as_of: "2026-09-11",
|
|
64278
|
+
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"
|
|
64248
64279
|
},
|
|
64249
|
-
notes: "
|
|
64280
|
+
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."
|
|
64250
64281
|
},
|
|
64251
64282
|
{
|
|
64252
64283
|
role: "secondary",
|
|
64253
64284
|
provider: "deepinfra",
|
|
64254
|
-
model_id:
|
|
64255
|
-
model_id_status: "
|
|
64256
|
-
model_id_source:
|
|
64257
|
-
model_family: "
|
|
64258
|
-
lumic_model:
|
|
64285
|
+
model_id: "zai-org/GLM-5.3-Flash",
|
|
64286
|
+
model_id_status: "confirmed",
|
|
64287
|
+
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",
|
|
64288
|
+
model_family: "GLM-5.3 Flash",
|
|
64289
|
+
lumic_model: "zai-org/GLM-5.3-Flash",
|
|
64259
64290
|
params: {
|
|
64260
64291
|
temperature: null,
|
|
64261
64292
|
max_output_tokens: null,
|
|
64262
64293
|
supports_temperature: true,
|
|
64263
64294
|
supports_json_schema: true,
|
|
64264
64295
|
supports_tools: true,
|
|
64265
|
-
supports_cache_control:
|
|
64266
|
-
supports_vision:
|
|
64296
|
+
supports_cache_control: true,
|
|
64297
|
+
supports_vision: true,
|
|
64298
|
+
context_window: 1048576
|
|
64267
64299
|
},
|
|
64268
64300
|
price_per_mtok: {
|
|
64269
|
-
input: 0.
|
|
64270
|
-
output: 0.
|
|
64271
|
-
as_of: "2026-09-
|
|
64272
|
-
source: "
|
|
64273
|
-
}
|
|
64301
|
+
input: 0.15,
|
|
64302
|
+
output: 0.5,
|
|
64303
|
+
as_of: "2026-09-11",
|
|
64304
|
+
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"
|
|
64305
|
+
},
|
|
64306
|
+
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."
|
|
64274
64307
|
},
|
|
64275
64308
|
{
|
|
64276
64309
|
role: "closed_incumbent",
|
|
@@ -64317,52 +64350,55 @@ var aliases = {
|
|
|
64317
64350
|
routes: [
|
|
64318
64351
|
{
|
|
64319
64352
|
role: "primary",
|
|
64320
|
-
provider: "
|
|
64321
|
-
model_id: "
|
|
64353
|
+
provider: "deepinfra",
|
|
64354
|
+
model_id: "openai/gpt-oss-20b",
|
|
64322
64355
|
model_id_status: "confirmed",
|
|
64323
|
-
model_id_source: "
|
|
64324
|
-
model_family: "
|
|
64325
|
-
lumic_model: "
|
|
64356
|
+
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",
|
|
64357
|
+
model_family: "gpt-oss-20B",
|
|
64358
|
+
lumic_model: "openai/gpt-oss-20b",
|
|
64326
64359
|
params: {
|
|
64327
64360
|
temperature: null,
|
|
64328
|
-
max_output_tokens:
|
|
64361
|
+
max_output_tokens: null,
|
|
64329
64362
|
supports_temperature: true,
|
|
64330
64363
|
supports_json_schema: true,
|
|
64331
64364
|
supports_tools: true,
|
|
64332
|
-
supports_cache_control:
|
|
64365
|
+
supports_cache_control: false,
|
|
64333
64366
|
supports_vision: false,
|
|
64334
|
-
context_window:
|
|
64367
|
+
context_window: 131072
|
|
64335
64368
|
},
|
|
64336
64369
|
price_per_mtok: {
|
|
64337
|
-
input: 0.
|
|
64338
|
-
output: 0.
|
|
64339
|
-
as_of: "2026-09-
|
|
64340
|
-
source: "
|
|
64341
|
-
}
|
|
64370
|
+
input: 0.03,
|
|
64371
|
+
output: 0.14,
|
|
64372
|
+
as_of: "2026-09-11",
|
|
64373
|
+
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"
|
|
64374
|
+
},
|
|
64375
|
+
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."
|
|
64342
64376
|
},
|
|
64343
64377
|
{
|
|
64344
64378
|
role: "secondary",
|
|
64345
|
-
provider: "
|
|
64346
|
-
model_id:
|
|
64347
|
-
model_id_status: "
|
|
64348
|
-
model_id_source:
|
|
64349
|
-
model_family: "
|
|
64350
|
-
lumic_model:
|
|
64379
|
+
provider: "deepinfra",
|
|
64380
|
+
model_id: "inclusionAI/Ling-3.0-flash-Fin",
|
|
64381
|
+
model_id_status: "confirmed",
|
|
64382
|
+
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",
|
|
64383
|
+
model_family: "Ling 3.0 Flash Fin",
|
|
64384
|
+
lumic_model: "inclusionAI/Ling-3.0-flash-Fin",
|
|
64351
64385
|
params: {
|
|
64352
64386
|
temperature: null,
|
|
64353
64387
|
max_output_tokens: null,
|
|
64354
64388
|
supports_temperature: true,
|
|
64355
64389
|
supports_json_schema: true,
|
|
64356
64390
|
supports_tools: true,
|
|
64357
|
-
supports_cache_control:
|
|
64358
|
-
supports_vision: false
|
|
64391
|
+
supports_cache_control: true,
|
|
64392
|
+
supports_vision: false,
|
|
64393
|
+
context_window: 262144
|
|
64359
64394
|
},
|
|
64360
64395
|
price_per_mtok: {
|
|
64361
|
-
input:
|
|
64362
|
-
output:
|
|
64363
|
-
as_of: "2026-09-
|
|
64364
|
-
source: "
|
|
64365
|
-
}
|
|
64396
|
+
input: 0.06,
|
|
64397
|
+
output: 0.18,
|
|
64398
|
+
as_of: "2026-09-11",
|
|
64399
|
+
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"
|
|
64400
|
+
},
|
|
64401
|
+
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."
|
|
64366
64402
|
},
|
|
64367
64403
|
{
|
|
64368
64404
|
role: "closed_incumbent",
|
|
@@ -64398,7 +64434,7 @@ var aliases = {
|
|
|
64398
64434
|
isolation_capable: false,
|
|
64399
64435
|
pinned: true,
|
|
64400
64436
|
eval_gate: "none-pinned-judge",
|
|
64401
|
-
policy_note: "PD-6: pinned and never auto-swapped, and deliberately carries no fallback.
|
|
64437
|
+
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.",
|
|
64402
64438
|
budget: {
|
|
64403
64439
|
basis: "provisional-pre-baseline",
|
|
64404
64440
|
monthly_usd: 150,
|
|
@@ -64411,39 +64447,34 @@ var aliases = {
|
|
|
64411
64447
|
routes: [
|
|
64412
64448
|
{
|
|
64413
64449
|
role: "primary",
|
|
64414
|
-
provider: "
|
|
64415
|
-
model_id: "
|
|
64450
|
+
provider: "deepinfra",
|
|
64451
|
+
model_id: "deepseek-ai/DeepSeek-V4-Pro",
|
|
64416
64452
|
model_id_status: "confirmed",
|
|
64417
|
-
model_id_source: "
|
|
64418
|
-
model_family: "
|
|
64419
|
-
lumic_model: "
|
|
64453
|
+
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",
|
|
64454
|
+
model_family: "DeepSeek V4 Pro",
|
|
64455
|
+
lumic_model: "deepseek-ai/DeepSeek-V4-Pro",
|
|
64420
64456
|
params: {
|
|
64421
|
-
temperature:
|
|
64422
|
-
max_output_tokens:
|
|
64457
|
+
temperature: null,
|
|
64458
|
+
max_output_tokens: null,
|
|
64423
64459
|
supports_temperature: true,
|
|
64424
64460
|
supports_json_schema: true,
|
|
64425
64461
|
supports_tools: true,
|
|
64426
64462
|
supports_cache_control: true,
|
|
64427
|
-
supports_vision:
|
|
64428
|
-
context_window:
|
|
64463
|
+
supports_vision: false,
|
|
64464
|
+
context_window: 1048576
|
|
64429
64465
|
},
|
|
64430
64466
|
price_per_mtok: {
|
|
64431
|
-
input: 3,
|
|
64432
|
-
output:
|
|
64433
|
-
as_of: "2026-09-
|
|
64434
|
-
source: "
|
|
64435
|
-
}
|
|
64467
|
+
input: 1.3,
|
|
64468
|
+
output: 2.6,
|
|
64469
|
+
as_of: "2026-09-11",
|
|
64470
|
+
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"
|
|
64471
|
+
},
|
|
64472
|
+
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."
|
|
64436
64473
|
}
|
|
64437
64474
|
]
|
|
64438
64475
|
}
|
|
64439
64476
|
};
|
|
64440
64477
|
var open_items = [
|
|
64441
|
-
{
|
|
64442
|
-
id: "OI-01",
|
|
64443
|
-
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?",
|
|
64444
|
-
blocks: "llm.fast primary reachability; W5-03 canary for llm.fast",
|
|
64445
|
-
owner: "CEO"
|
|
64446
|
-
},
|
|
64447
64478
|
{
|
|
64448
64479
|
id: "OI-02",
|
|
64449
64480
|
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?",
|
|
@@ -64601,6 +64632,52 @@ function orderedRoutes(definition) {
|
|
|
64601
64632
|
function routeKeyFor(alias, isolated, role) {
|
|
64602
64633
|
return `${alias}${isolated ? ISOLATED_SUFFIX : ""}#${role}`;
|
|
64603
64634
|
}
|
|
64635
|
+
/**
|
|
64636
|
+
* Whether one route may serve, and if not, why.
|
|
64637
|
+
*
|
|
64638
|
+
* Extracted from the chain resolver rather than left inline so the admission
|
|
64639
|
+
* rules can be exercised directly. Inline, the only way to prove an exclusion
|
|
64640
|
+
* rule works was to point it at the live table and hope the table still
|
|
64641
|
+
* contained something excludable — which made the proof a statement about how
|
|
64642
|
+
* incomplete the routing policy happened to be that week, and turned finishing
|
|
64643
|
+
* the policy into a test failure. A rule worth enforcing has to be provable on
|
|
64644
|
+
* a route constructed to violate it.
|
|
64645
|
+
*
|
|
64646
|
+
* Order matters: shadow-only is checked before model-id confirmation because a
|
|
64647
|
+
* shadow leg is held back by policy regardless of whether its id is confirmed,
|
|
64648
|
+
* and reporting it as "unconfirmed" would misdescribe a deliberate choice as an
|
|
64649
|
+
* unfinished one.
|
|
64650
|
+
*
|
|
64651
|
+
* The admitting branch carries the confirmed model id rather than leaving the
|
|
64652
|
+
* caller to re-read it. The id is the very thing admission validated, so
|
|
64653
|
+
* handing it back is what lets the caller use it without a non-null assertion
|
|
64654
|
+
* re-stating a check that already happened.
|
|
64655
|
+
*
|
|
64656
|
+
* @param route The authored route.
|
|
64657
|
+
* @param provider The provider entry the route names.
|
|
64658
|
+
* @returns Admission with the confirmed model id, or the reason for exclusion.
|
|
64659
|
+
*/
|
|
64660
|
+
function routeAdmission(route, provider) {
|
|
64661
|
+
if (route.shadow_only === true) {
|
|
64662
|
+
return {
|
|
64663
|
+
admit: false,
|
|
64664
|
+
reason: "shadow-only: configured and scored, never served to a caller",
|
|
64665
|
+
};
|
|
64666
|
+
}
|
|
64667
|
+
if (route.model_id_status !== "confirmed" || route.model_id === null) {
|
|
64668
|
+
return {
|
|
64669
|
+
admit: false,
|
|
64670
|
+
reason: `model id unconfirmed (${route.model_family}); it is transcribed from the provider console at onboarding, never guessed`,
|
|
64671
|
+
};
|
|
64672
|
+
}
|
|
64673
|
+
if (provider.account_status !== "live") {
|
|
64674
|
+
return {
|
|
64675
|
+
admit: false,
|
|
64676
|
+
reason: `provider account status is "${provider.account_status}"`,
|
|
64677
|
+
};
|
|
64678
|
+
}
|
|
64679
|
+
return { admit: true, modelId: route.model_id };
|
|
64680
|
+
}
|
|
64604
64681
|
/**
|
|
64605
64682
|
* Resolve an alias to the ordered chain of legs that can serve it today.
|
|
64606
64683
|
*
|
|
@@ -64628,27 +64705,12 @@ function resolveChain(alias, options = {}) {
|
|
|
64628
64705
|
const exclusions = [];
|
|
64629
64706
|
for (const route of orderedRoutes(definition)) {
|
|
64630
64707
|
const provider = providerEntry(route.provider);
|
|
64631
|
-
|
|
64632
|
-
|
|
64633
|
-
role: route.role,
|
|
64634
|
-
provider: route.provider,
|
|
64635
|
-
reason: "shadow-only: configured and scored, never served to a caller",
|
|
64636
|
-
});
|
|
64637
|
-
continue;
|
|
64638
|
-
}
|
|
64639
|
-
if (route.model_id_status !== "confirmed" || route.model_id === null) {
|
|
64640
|
-
exclusions.push({
|
|
64641
|
-
role: route.role,
|
|
64642
|
-
provider: route.provider,
|
|
64643
|
-
reason: `model id unconfirmed (${route.model_family}); it is transcribed from the provider console at onboarding, never guessed`,
|
|
64644
|
-
});
|
|
64645
|
-
continue;
|
|
64646
|
-
}
|
|
64647
|
-
if (provider.account_status !== "live") {
|
|
64708
|
+
const admission = routeAdmission(route, provider);
|
|
64709
|
+
if (!admission.admit) {
|
|
64648
64710
|
exclusions.push({
|
|
64649
64711
|
role: route.role,
|
|
64650
64712
|
provider: route.provider,
|
|
64651
|
-
reason:
|
|
64713
|
+
reason: admission.reason,
|
|
64652
64714
|
});
|
|
64653
64715
|
continue;
|
|
64654
64716
|
}
|
|
@@ -64658,7 +64720,7 @@ function resolveChain(alias, options = {}) {
|
|
|
64658
64720
|
role: route.role,
|
|
64659
64721
|
providerName: route.provider,
|
|
64660
64722
|
provider,
|
|
64661
|
-
modelId:
|
|
64723
|
+
modelId: admission.modelId,
|
|
64662
64724
|
lumicModel: route.lumic_model ?? null,
|
|
64663
64725
|
params: route.params ?? {},
|
|
64664
64726
|
routeKey: routeKeyFor(alias, isolated, route.role),
|