@warmdrift/kgauto-compiler 2.0.0-alpha.90 → 2.0.0-alpha.91
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/{chunk-ENELVMJI.mjs → chunk-54IXD5BT.mjs} +3 -3
- package/dist/{chunk-4LYNDEHJ.mjs → chunk-AUZTO6Q5.mjs} +1 -1
- package/dist/{chunk-OK2TMFRR.mjs → chunk-T53ISC2F.mjs} +133 -4
- package/dist/glassbox-routes/index.js +135 -6
- package/dist/glassbox-routes/index.mjs +2 -2
- package/dist/index.d.mts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +145 -7
- package/dist/index.mjs +12 -3
- package/dist/key-health.js +1 -1
- package/dist/key-health.mjs +1 -1
- package/dist/profiles.js +133 -4
- package/dist/profiles.mjs +1 -1
- package/package.json +1 -1
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
allProfiles,
|
|
3
3
|
resolveModelAlias,
|
|
4
4
|
tryGetProfile
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-T53ISC2F.mjs";
|
|
6
6
|
|
|
7
7
|
// src/brain-query.ts
|
|
8
8
|
var FRESH_SNAPSHOT = {
|
|
@@ -529,7 +529,7 @@ var STARTER_CHAINS_GROUNDED = {
|
|
|
529
529
|
{ id: "gemini-2.5-flash", grounding: "judgment", reason: "Cost-sensitive primary \u2014 engineer pick" },
|
|
530
530
|
{ id: "deepseek-v4-flash", grounding: "measured", reason: "Brain-validated tier 1 for cost-sensitive summarize workloads", n: 169 },
|
|
531
531
|
{ id: "claude-haiku-4-5", grounding: "judgment", reason: "Quality safety net" },
|
|
532
|
-
{ id: "gemini-
|
|
532
|
+
{ id: "gemini-3.5-flash-lite", grounding: "judgment", reason: "Emergency floor. alpha.91: retargeted from availability-restricted gemini-2.5-flash-lite (Google refuses it for new accounts, TT-49 2026-08-26); 3.5-flash-lite is the successor Google\u2019s own error names" },
|
|
533
533
|
{ id: "gpt-5.4-nano", grounding: "judgment", reason: "alpha.33: third-provider tail (archetypePerf=6) \u2014 cheapest OpenAI, matches summarize cost-band" }
|
|
534
534
|
],
|
|
535
535
|
// Brain-validated DeepSeek tier 1 (169 rows, 0% empty rate).
|
|
@@ -537,7 +537,7 @@ var STARTER_CHAINS_GROUNDED = {
|
|
|
537
537
|
{ id: "gemini-2.5-flash", grounding: "judgment", reason: "Cost-sensitive primary \u2014 engineer pick" },
|
|
538
538
|
{ id: "deepseek-v4-flash", grounding: "measured", reason: "Brain-validated tier 1 (169 rows, 0% empty rate)", n: 169 },
|
|
539
539
|
{ id: "claude-haiku-4-5", grounding: "judgment", reason: "Quality safety net" },
|
|
540
|
-
{ id: "gemini-
|
|
540
|
+
{ id: "gemini-3.5-flash-lite", grounding: "judgment", reason: "Cache-discount 10\xD7 floor for repeat-prompt workloads ($0.03/M cached). alpha.91: retargeted from availability-restricted gemini-2.5-flash-lite" },
|
|
541
541
|
{ id: "gpt-5.4-nano", grounding: "judgment", reason: "alpha.33: third-provider tail (archetypePerf=6) \u2014 cheapest OpenAI for classify" }
|
|
542
542
|
]
|
|
543
543
|
};
|
|
@@ -516,9 +516,19 @@ var PROFILES_RAW = [
|
|
|
516
516
|
// thresholds. The brain will validate/relax these as evidence accumulates
|
|
517
517
|
// per (archetype, model) tuple. Currently ZERO brain rows for this model.
|
|
518
518
|
id: "gemini-2.5-flash-lite",
|
|
519
|
-
verifiedAgainstDocs: "2026-08-
|
|
519
|
+
verifiedAgainstDocs: "2026-08-27",
|
|
520
520
|
provider: "google",
|
|
521
|
-
|
|
521
|
+
// alpha.91 — AVAILABILITY demotion, same class as gemini-2.5-pro below.
|
|
522
|
+
// Google refuses the model for newer account cohorts: "This model is no
|
|
523
|
+
// longer available to new users. Please update your code to use
|
|
524
|
+
// models/gemini-3.5-flash-lite" (tt-intel TT-49 runtime evidence,
|
|
525
|
+
// 2026-08-26, interfaces/kgauto.md ## Requested). It ranked FIRST in
|
|
526
|
+
// getFallbackChain('gemini-2.5-pro') — a dead-for-new-accounts model as
|
|
527
|
+
// the cheapest fallback pick. `legacy` removes it from chains and new
|
|
528
|
+
// selection; explicit-id consumers still resolve it. Successor is the
|
|
529
|
+
// one Google's own error names: gemini-3.5-flash-lite (onboarded this
|
|
530
|
+
// release, same price point).
|
|
531
|
+
status: "legacy",
|
|
522
532
|
maxContextTokens: 1048576,
|
|
523
533
|
maxOutputTokens: 65536,
|
|
524
534
|
maxTools: 128,
|
|
@@ -1243,9 +1253,12 @@ var PROFILES_RAW = [
|
|
|
1243
1253
|
//
|
|
1244
1254
|
// Cliffs are HYPOTHESIZED from 2.5-flash family; brain evidence pending.
|
|
1245
1255
|
id: "gemini-3.1-flash-lite",
|
|
1246
|
-
verifiedAgainstDocs: "2026-
|
|
1256
|
+
verifiedAgainstDocs: "2026-08-27",
|
|
1247
1257
|
provider: "google",
|
|
1248
|
-
|
|
1258
|
+
// alpha.91 — docs page now labels it "Stable" and the brain row has been
|
|
1259
|
+
// `current` since catalog-sync moved it; the bundle lagged (the L-073
|
|
1260
|
+
// layer-parity shape, caught during the TT-49 delisting release).
|
|
1261
|
+
status: "current",
|
|
1249
1262
|
maxContextTokens: 1048576,
|
|
1250
1263
|
maxOutputTokens: 65536,
|
|
1251
1264
|
maxTools: 128,
|
|
@@ -1337,6 +1350,122 @@ var PROFILES_RAW = [
|
|
|
1337
1350
|
}
|
|
1338
1351
|
},
|
|
1339
1352
|
// ─────────────────────────────────────────────────────────────────────────
|
|
1353
|
+
// Gemini 3.5 Flash-Lite — onboarded s91 (2026-08-27)
|
|
1354
|
+
//
|
|
1355
|
+
// The successor Google's own delisting error names: "This model
|
|
1356
|
+
// [gemini-2.5-flash-lite] is no longer available to new users. Please
|
|
1357
|
+
// update your code to use models/gemini-3.5-flash-lite" (tt-intel TT-49,
|
|
1358
|
+
// 2026-08-26). Same price point as the 2.5 Lite rung it replaces in the
|
|
1359
|
+
// summarize/classify starter chains ($0.30/$2.50 vs the old $0.10/$0.40
|
|
1360
|
+
// era pricing), same 1M/65K limits, same 10× cache discount ($0.03 vs
|
|
1361
|
+
// $0.30 input). Positioning: "fastest, most cost-effective 3.5 model for
|
|
1362
|
+
// high-throughput execution … high-volume agentic tasks, translation, and
|
|
1363
|
+
// simple data processing."
|
|
1364
|
+
//
|
|
1365
|
+
// Cliffs + archetypePerf inherited from the Flash-Lite family as starter
|
|
1366
|
+
// hypotheses — ZERO brain rows on this id yet; first 50 rows per archetype
|
|
1367
|
+
// validate or relax.
|
|
1368
|
+
//
|
|
1369
|
+
// Specs verified 2026-08-27 against:
|
|
1370
|
+
// ai.google.dev/gemini-api/docs/models/gemini-3.5-flash-lite
|
|
1371
|
+
// (Stable; input limit 1,048,576; output limit 65,536; function
|
|
1372
|
+
// calling / structured outputs / thinking / caching all Supported)
|
|
1373
|
+
// ai.google.dev/gemini-api/docs/pricing ($0.30 in / $2.50 out incl.
|
|
1374
|
+
// thinking tokens; context caching $0.03)
|
|
1375
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
1376
|
+
{
|
|
1377
|
+
id: "gemini-3.5-flash-lite",
|
|
1378
|
+
verifiedAgainstDocs: "2026-08-27",
|
|
1379
|
+
provider: "google",
|
|
1380
|
+
status: "current",
|
|
1381
|
+
maxContextTokens: 1048576,
|
|
1382
|
+
maxOutputTokens: 65536,
|
|
1383
|
+
maxTools: 128,
|
|
1384
|
+
parallelToolCalls: true,
|
|
1385
|
+
structuredOutput: "native",
|
|
1386
|
+
systemPromptMode: "separate",
|
|
1387
|
+
streaming: true,
|
|
1388
|
+
cliffs: [
|
|
1389
|
+
{
|
|
1390
|
+
metric: "input_tokens",
|
|
1391
|
+
threshold: 8e3,
|
|
1392
|
+
action: "downgrade_quality_warning",
|
|
1393
|
+
reason: "Inherited from Flash family: quality degrades above ~8K. Lite tier \u2014 assume it degrades at least as fast. Re-tune from brain after n\u226520."
|
|
1394
|
+
},
|
|
1395
|
+
{
|
|
1396
|
+
metric: "tool_count",
|
|
1397
|
+
threshold: 10,
|
|
1398
|
+
action: "drop_to_top_relevant",
|
|
1399
|
+
reason: "Conservative: Flash drops at 20, Lite tier is smaller \u2014 assume tighter ceiling until brain proves otherwise."
|
|
1400
|
+
},
|
|
1401
|
+
{
|
|
1402
|
+
metric: "thinking_with_short_output",
|
|
1403
|
+
threshold: 1,
|
|
1404
|
+
action: "force_thinking_budget_zero",
|
|
1405
|
+
reason: "Thinking Supported per model page \u2014 same drain risk as Flash; thinking tokens consume maxOutputTokens."
|
|
1406
|
+
},
|
|
1407
|
+
{
|
|
1408
|
+
// Strong prior: Flash hit 5/5 empty rate on summarize+tools (s11
|
|
1409
|
+
// trust artifact). Flash-Lite siblings carry the guard preemptively;
|
|
1410
|
+
// brain telemetry confirms or relaxes per id.
|
|
1411
|
+
metric: "tool_count",
|
|
1412
|
+
threshold: 1,
|
|
1413
|
+
whenIntent: "summarize",
|
|
1414
|
+
action: "strip_tools",
|
|
1415
|
+
reason: "Inherited from Flash s11 cliff: summarize+tools \u2192 empty response. Preemptive guard until brain evidence on 3.5 Flash-Lite specifically."
|
|
1416
|
+
}
|
|
1417
|
+
],
|
|
1418
|
+
costInputPer1m: 0.3,
|
|
1419
|
+
costOutputPer1m: 2.5,
|
|
1420
|
+
lowering: {
|
|
1421
|
+
...GOOGLE_LOWERING_BASE,
|
|
1422
|
+
// Cache discount 10× — pricing page: $0.03/M cached vs $0.30/M input.
|
|
1423
|
+
// Material for repeat-prompt workloads (classify shape).
|
|
1424
|
+
cache: { ...GOOGLE_LOWERING_BASE.cache, discount: 0.1 },
|
|
1425
|
+
thinking: { field: "generationConfig.thinkingConfig.thinkingBudget", default: "auto" }
|
|
1426
|
+
},
|
|
1427
|
+
recovery: [
|
|
1428
|
+
{
|
|
1429
|
+
signal: "empty_response_after_tool",
|
|
1430
|
+
action: "retry_with_params",
|
|
1431
|
+
retryParams: { "generationConfig.thinkingConfig.thinkingBudget": 0 },
|
|
1432
|
+
maxRetries: 1,
|
|
1433
|
+
reason: "Known on Flash family: empty after tool result \u2014 retry with thinking off."
|
|
1434
|
+
},
|
|
1435
|
+
{
|
|
1436
|
+
signal: "empty_response",
|
|
1437
|
+
action: "retry_with_params",
|
|
1438
|
+
retryParams: { "generationConfig.thinkingConfig.thinkingBudget": 0 },
|
|
1439
|
+
maxRetries: 1,
|
|
1440
|
+
reason: "Empty response \u2014 try with thinking off."
|
|
1441
|
+
},
|
|
1442
|
+
{
|
|
1443
|
+
signal: "malformed_function_call",
|
|
1444
|
+
action: "escalate",
|
|
1445
|
+
reason: "MALFORMED_FUNCTION_CALL maps to stop \u2014 escalate to next target."
|
|
1446
|
+
}
|
|
1447
|
+
],
|
|
1448
|
+
strengths: ["low_cost", "speed", "volume", "classification", "summarize", "1m_context", "cache_friendly"],
|
|
1449
|
+
weaknesses: ["complex_reasoning", "large_tool_sets", "complex_schemas", "structured_output_unproven", "long_context_quality"],
|
|
1450
|
+
notes: 'Onboarded s91 (2026-08-27) as the Google-named successor to availability-restricted gemini-2.5-flash-lite. $0.30/$2.50 per 1M, 1M context, 65K max output, cache $0.03/M (10\xD7 discount). "Fastest, most cost-effective 3.5 model for high-throughput execution." Cliffs hypothesized from the Flash family \u2014 brain evidence pending.',
|
|
1451
|
+
// Lite-tier floor for summarize/classify chains. ZERO brain rows — all
|
|
1452
|
+
// values are starter hypotheses anchored to the Flash-Lite family shape.
|
|
1453
|
+
archetypePerf: {
|
|
1454
|
+
classify: 6,
|
|
1455
|
+
// starter hypothesis — verify (Flash is 7, lite likely ≤)
|
|
1456
|
+
summarize: 6,
|
|
1457
|
+
// starter hypothesis — verify; cliff strips tools
|
|
1458
|
+
transform: 6,
|
|
1459
|
+
// starter hypothesis — verify
|
|
1460
|
+
ask: 5,
|
|
1461
|
+
hunt: 5,
|
|
1462
|
+
generate: 4,
|
|
1463
|
+
extract: 4,
|
|
1464
|
+
plan: 3,
|
|
1465
|
+
critique: 3
|
|
1466
|
+
}
|
|
1467
|
+
},
|
|
1468
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
1340
1469
|
// Gemini 3.5 Flash — hand-onboarded s37 (2026-05-21)
|
|
1341
1470
|
//
|
|
1342
1471
|
// Google positioning ("Most intelligent for sustained frontier performance
|
|
@@ -570,9 +570,19 @@ var PROFILES_RAW = [
|
|
|
570
570
|
// thresholds. The brain will validate/relax these as evidence accumulates
|
|
571
571
|
// per (archetype, model) tuple. Currently ZERO brain rows for this model.
|
|
572
572
|
id: "gemini-2.5-flash-lite",
|
|
573
|
-
verifiedAgainstDocs: "2026-08-
|
|
573
|
+
verifiedAgainstDocs: "2026-08-27",
|
|
574
574
|
provider: "google",
|
|
575
|
-
|
|
575
|
+
// alpha.91 — AVAILABILITY demotion, same class as gemini-2.5-pro below.
|
|
576
|
+
// Google refuses the model for newer account cohorts: "This model is no
|
|
577
|
+
// longer available to new users. Please update your code to use
|
|
578
|
+
// models/gemini-3.5-flash-lite" (tt-intel TT-49 runtime evidence,
|
|
579
|
+
// 2026-08-26, interfaces/kgauto.md ## Requested). It ranked FIRST in
|
|
580
|
+
// getFallbackChain('gemini-2.5-pro') — a dead-for-new-accounts model as
|
|
581
|
+
// the cheapest fallback pick. `legacy` removes it from chains and new
|
|
582
|
+
// selection; explicit-id consumers still resolve it. Successor is the
|
|
583
|
+
// one Google's own error names: gemini-3.5-flash-lite (onboarded this
|
|
584
|
+
// release, same price point).
|
|
585
|
+
status: "legacy",
|
|
576
586
|
maxContextTokens: 1048576,
|
|
577
587
|
maxOutputTokens: 65536,
|
|
578
588
|
maxTools: 128,
|
|
@@ -1297,9 +1307,12 @@ var PROFILES_RAW = [
|
|
|
1297
1307
|
//
|
|
1298
1308
|
// Cliffs are HYPOTHESIZED from 2.5-flash family; brain evidence pending.
|
|
1299
1309
|
id: "gemini-3.1-flash-lite",
|
|
1300
|
-
verifiedAgainstDocs: "2026-
|
|
1310
|
+
verifiedAgainstDocs: "2026-08-27",
|
|
1301
1311
|
provider: "google",
|
|
1302
|
-
|
|
1312
|
+
// alpha.91 — docs page now labels it "Stable" and the brain row has been
|
|
1313
|
+
// `current` since catalog-sync moved it; the bundle lagged (the L-073
|
|
1314
|
+
// layer-parity shape, caught during the TT-49 delisting release).
|
|
1315
|
+
status: "current",
|
|
1303
1316
|
maxContextTokens: 1048576,
|
|
1304
1317
|
maxOutputTokens: 65536,
|
|
1305
1318
|
maxTools: 128,
|
|
@@ -1391,6 +1404,122 @@ var PROFILES_RAW = [
|
|
|
1391
1404
|
}
|
|
1392
1405
|
},
|
|
1393
1406
|
// ─────────────────────────────────────────────────────────────────────────
|
|
1407
|
+
// Gemini 3.5 Flash-Lite — onboarded s91 (2026-08-27)
|
|
1408
|
+
//
|
|
1409
|
+
// The successor Google's own delisting error names: "This model
|
|
1410
|
+
// [gemini-2.5-flash-lite] is no longer available to new users. Please
|
|
1411
|
+
// update your code to use models/gemini-3.5-flash-lite" (tt-intel TT-49,
|
|
1412
|
+
// 2026-08-26). Same price point as the 2.5 Lite rung it replaces in the
|
|
1413
|
+
// summarize/classify starter chains ($0.30/$2.50 vs the old $0.10/$0.40
|
|
1414
|
+
// era pricing), same 1M/65K limits, same 10× cache discount ($0.03 vs
|
|
1415
|
+
// $0.30 input). Positioning: "fastest, most cost-effective 3.5 model for
|
|
1416
|
+
// high-throughput execution … high-volume agentic tasks, translation, and
|
|
1417
|
+
// simple data processing."
|
|
1418
|
+
//
|
|
1419
|
+
// Cliffs + archetypePerf inherited from the Flash-Lite family as starter
|
|
1420
|
+
// hypotheses — ZERO brain rows on this id yet; first 50 rows per archetype
|
|
1421
|
+
// validate or relax.
|
|
1422
|
+
//
|
|
1423
|
+
// Specs verified 2026-08-27 against:
|
|
1424
|
+
// ai.google.dev/gemini-api/docs/models/gemini-3.5-flash-lite
|
|
1425
|
+
// (Stable; input limit 1,048,576; output limit 65,536; function
|
|
1426
|
+
// calling / structured outputs / thinking / caching all Supported)
|
|
1427
|
+
// ai.google.dev/gemini-api/docs/pricing ($0.30 in / $2.50 out incl.
|
|
1428
|
+
// thinking tokens; context caching $0.03)
|
|
1429
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
1430
|
+
{
|
|
1431
|
+
id: "gemini-3.5-flash-lite",
|
|
1432
|
+
verifiedAgainstDocs: "2026-08-27",
|
|
1433
|
+
provider: "google",
|
|
1434
|
+
status: "current",
|
|
1435
|
+
maxContextTokens: 1048576,
|
|
1436
|
+
maxOutputTokens: 65536,
|
|
1437
|
+
maxTools: 128,
|
|
1438
|
+
parallelToolCalls: true,
|
|
1439
|
+
structuredOutput: "native",
|
|
1440
|
+
systemPromptMode: "separate",
|
|
1441
|
+
streaming: true,
|
|
1442
|
+
cliffs: [
|
|
1443
|
+
{
|
|
1444
|
+
metric: "input_tokens",
|
|
1445
|
+
threshold: 8e3,
|
|
1446
|
+
action: "downgrade_quality_warning",
|
|
1447
|
+
reason: "Inherited from Flash family: quality degrades above ~8K. Lite tier \u2014 assume it degrades at least as fast. Re-tune from brain after n\u226520."
|
|
1448
|
+
},
|
|
1449
|
+
{
|
|
1450
|
+
metric: "tool_count",
|
|
1451
|
+
threshold: 10,
|
|
1452
|
+
action: "drop_to_top_relevant",
|
|
1453
|
+
reason: "Conservative: Flash drops at 20, Lite tier is smaller \u2014 assume tighter ceiling until brain proves otherwise."
|
|
1454
|
+
},
|
|
1455
|
+
{
|
|
1456
|
+
metric: "thinking_with_short_output",
|
|
1457
|
+
threshold: 1,
|
|
1458
|
+
action: "force_thinking_budget_zero",
|
|
1459
|
+
reason: "Thinking Supported per model page \u2014 same drain risk as Flash; thinking tokens consume maxOutputTokens."
|
|
1460
|
+
},
|
|
1461
|
+
{
|
|
1462
|
+
// Strong prior: Flash hit 5/5 empty rate on summarize+tools (s11
|
|
1463
|
+
// trust artifact). Flash-Lite siblings carry the guard preemptively;
|
|
1464
|
+
// brain telemetry confirms or relaxes per id.
|
|
1465
|
+
metric: "tool_count",
|
|
1466
|
+
threshold: 1,
|
|
1467
|
+
whenIntent: "summarize",
|
|
1468
|
+
action: "strip_tools",
|
|
1469
|
+
reason: "Inherited from Flash s11 cliff: summarize+tools \u2192 empty response. Preemptive guard until brain evidence on 3.5 Flash-Lite specifically."
|
|
1470
|
+
}
|
|
1471
|
+
],
|
|
1472
|
+
costInputPer1m: 0.3,
|
|
1473
|
+
costOutputPer1m: 2.5,
|
|
1474
|
+
lowering: {
|
|
1475
|
+
...GOOGLE_LOWERING_BASE,
|
|
1476
|
+
// Cache discount 10× — pricing page: $0.03/M cached vs $0.30/M input.
|
|
1477
|
+
// Material for repeat-prompt workloads (classify shape).
|
|
1478
|
+
cache: { ...GOOGLE_LOWERING_BASE.cache, discount: 0.1 },
|
|
1479
|
+
thinking: { field: "generationConfig.thinkingConfig.thinkingBudget", default: "auto" }
|
|
1480
|
+
},
|
|
1481
|
+
recovery: [
|
|
1482
|
+
{
|
|
1483
|
+
signal: "empty_response_after_tool",
|
|
1484
|
+
action: "retry_with_params",
|
|
1485
|
+
retryParams: { "generationConfig.thinkingConfig.thinkingBudget": 0 },
|
|
1486
|
+
maxRetries: 1,
|
|
1487
|
+
reason: "Known on Flash family: empty after tool result \u2014 retry with thinking off."
|
|
1488
|
+
},
|
|
1489
|
+
{
|
|
1490
|
+
signal: "empty_response",
|
|
1491
|
+
action: "retry_with_params",
|
|
1492
|
+
retryParams: { "generationConfig.thinkingConfig.thinkingBudget": 0 },
|
|
1493
|
+
maxRetries: 1,
|
|
1494
|
+
reason: "Empty response \u2014 try with thinking off."
|
|
1495
|
+
},
|
|
1496
|
+
{
|
|
1497
|
+
signal: "malformed_function_call",
|
|
1498
|
+
action: "escalate",
|
|
1499
|
+
reason: "MALFORMED_FUNCTION_CALL maps to stop \u2014 escalate to next target."
|
|
1500
|
+
}
|
|
1501
|
+
],
|
|
1502
|
+
strengths: ["low_cost", "speed", "volume", "classification", "summarize", "1m_context", "cache_friendly"],
|
|
1503
|
+
weaknesses: ["complex_reasoning", "large_tool_sets", "complex_schemas", "structured_output_unproven", "long_context_quality"],
|
|
1504
|
+
notes: 'Onboarded s91 (2026-08-27) as the Google-named successor to availability-restricted gemini-2.5-flash-lite. $0.30/$2.50 per 1M, 1M context, 65K max output, cache $0.03/M (10\xD7 discount). "Fastest, most cost-effective 3.5 model for high-throughput execution." Cliffs hypothesized from the Flash family \u2014 brain evidence pending.',
|
|
1505
|
+
// Lite-tier floor for summarize/classify chains. ZERO brain rows — all
|
|
1506
|
+
// values are starter hypotheses anchored to the Flash-Lite family shape.
|
|
1507
|
+
archetypePerf: {
|
|
1508
|
+
classify: 6,
|
|
1509
|
+
// starter hypothesis — verify (Flash is 7, lite likely ≤)
|
|
1510
|
+
summarize: 6,
|
|
1511
|
+
// starter hypothesis — verify; cliff strips tools
|
|
1512
|
+
transform: 6,
|
|
1513
|
+
// starter hypothesis — verify
|
|
1514
|
+
ask: 5,
|
|
1515
|
+
hunt: 5,
|
|
1516
|
+
generate: 4,
|
|
1517
|
+
extract: 4,
|
|
1518
|
+
plan: 3,
|
|
1519
|
+
critique: 3
|
|
1520
|
+
}
|
|
1521
|
+
},
|
|
1522
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
1394
1523
|
// Gemini 3.5 Flash — hand-onboarded s37 (2026-05-21)
|
|
1395
1524
|
//
|
|
1396
1525
|
// Google positioning ("Most intelligent for sustained frontier performance
|
|
@@ -2176,7 +2305,7 @@ var STARTER_CHAINS_GROUNDED = {
|
|
|
2176
2305
|
{ id: "gemini-2.5-flash", grounding: "judgment", reason: "Cost-sensitive primary \u2014 engineer pick" },
|
|
2177
2306
|
{ id: "deepseek-v4-flash", grounding: "measured", reason: "Brain-validated tier 1 for cost-sensitive summarize workloads", n: 169 },
|
|
2178
2307
|
{ id: "claude-haiku-4-5", grounding: "judgment", reason: "Quality safety net" },
|
|
2179
|
-
{ id: "gemini-
|
|
2308
|
+
{ id: "gemini-3.5-flash-lite", grounding: "judgment", reason: "Emergency floor. alpha.91: retargeted from availability-restricted gemini-2.5-flash-lite (Google refuses it for new accounts, TT-49 2026-08-26); 3.5-flash-lite is the successor Google\u2019s own error names" },
|
|
2180
2309
|
{ id: "gpt-5.4-nano", grounding: "judgment", reason: "alpha.33: third-provider tail (archetypePerf=6) \u2014 cheapest OpenAI, matches summarize cost-band" }
|
|
2181
2310
|
],
|
|
2182
2311
|
// Brain-validated DeepSeek tier 1 (169 rows, 0% empty rate).
|
|
@@ -2184,7 +2313,7 @@ var STARTER_CHAINS_GROUNDED = {
|
|
|
2184
2313
|
{ id: "gemini-2.5-flash", grounding: "judgment", reason: "Cost-sensitive primary \u2014 engineer pick" },
|
|
2185
2314
|
{ id: "deepseek-v4-flash", grounding: "measured", reason: "Brain-validated tier 1 (169 rows, 0% empty rate)", n: 169 },
|
|
2186
2315
|
{ id: "claude-haiku-4-5", grounding: "judgment", reason: "Quality safety net" },
|
|
2187
|
-
{ id: "gemini-
|
|
2316
|
+
{ id: "gemini-3.5-flash-lite", grounding: "judgment", reason: "Cache-discount 10\xD7 floor for repeat-prompt workloads ($0.03/M cached). alpha.91: retargeted from availability-restricted gemini-2.5-flash-lite" },
|
|
2188
2317
|
{ id: "gpt-5.4-nano", grounding: "judgment", reason: "alpha.33: third-provider tail (archetypePerf=6) \u2014 cheapest OpenAI for classify" }
|
|
2189
2318
|
]
|
|
2190
2319
|
};
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ARCHETYPE_FLOOR_DEFAULT,
|
|
3
3
|
getDefaultFallbackChain
|
|
4
|
-
} from "../chunk-
|
|
4
|
+
} from "../chunk-54IXD5BT.mjs";
|
|
5
5
|
import {
|
|
6
6
|
tryGetProfile
|
|
7
|
-
} from "../chunk-
|
|
7
|
+
} from "../chunk-T53ISC2F.mjs";
|
|
8
8
|
import {
|
|
9
9
|
subscribe,
|
|
10
10
|
subscribeApp
|
package/dist/index.d.mts
CHANGED
|
@@ -1270,7 +1270,7 @@ declare function runStrategyEvalWithAttribution(opts: Omit<GoldenEvalOptions, 'a
|
|
|
1270
1270
|
* guard in `tests/version.test.ts` fails the suite (and therefore
|
|
1271
1271
|
* `prepublishOnly`) when they diverge — a stale constant cannot reach npm.
|
|
1272
1272
|
*/
|
|
1273
|
-
declare const LIBRARY_VERSION = "2.0.0-alpha.
|
|
1273
|
+
declare const LIBRARY_VERSION = "2.0.0-alpha.91";
|
|
1274
1274
|
|
|
1275
1275
|
/**
|
|
1276
1276
|
* Oracle contract — how an app tells the brain whether a response was good.
|
package/dist/index.d.ts
CHANGED
|
@@ -1270,7 +1270,7 @@ declare function runStrategyEvalWithAttribution(opts: Omit<GoldenEvalOptions, 'a
|
|
|
1270
1270
|
* guard in `tests/version.test.ts` fails the suite (and therefore
|
|
1271
1271
|
* `prepublishOnly`) when they diverge — a stale constant cannot reach npm.
|
|
1272
1272
|
*/
|
|
1273
|
-
declare const LIBRARY_VERSION = "2.0.0-alpha.
|
|
1273
|
+
declare const LIBRARY_VERSION = "2.0.0-alpha.91";
|
|
1274
1274
|
|
|
1275
1275
|
/**
|
|
1276
1276
|
* Oracle contract — how an app tells the brain whether a response was good.
|
package/dist/index.js
CHANGED
|
@@ -889,9 +889,19 @@ var PROFILES_RAW = [
|
|
|
889
889
|
// thresholds. The brain will validate/relax these as evidence accumulates
|
|
890
890
|
// per (archetype, model) tuple. Currently ZERO brain rows for this model.
|
|
891
891
|
id: "gemini-2.5-flash-lite",
|
|
892
|
-
verifiedAgainstDocs: "2026-08-
|
|
892
|
+
verifiedAgainstDocs: "2026-08-27",
|
|
893
893
|
provider: "google",
|
|
894
|
-
|
|
894
|
+
// alpha.91 — AVAILABILITY demotion, same class as gemini-2.5-pro below.
|
|
895
|
+
// Google refuses the model for newer account cohorts: "This model is no
|
|
896
|
+
// longer available to new users. Please update your code to use
|
|
897
|
+
// models/gemini-3.5-flash-lite" (tt-intel TT-49 runtime evidence,
|
|
898
|
+
// 2026-08-26, interfaces/kgauto.md ## Requested). It ranked FIRST in
|
|
899
|
+
// getFallbackChain('gemini-2.5-pro') — a dead-for-new-accounts model as
|
|
900
|
+
// the cheapest fallback pick. `legacy` removes it from chains and new
|
|
901
|
+
// selection; explicit-id consumers still resolve it. Successor is the
|
|
902
|
+
// one Google's own error names: gemini-3.5-flash-lite (onboarded this
|
|
903
|
+
// release, same price point).
|
|
904
|
+
status: "legacy",
|
|
895
905
|
maxContextTokens: 1048576,
|
|
896
906
|
maxOutputTokens: 65536,
|
|
897
907
|
maxTools: 128,
|
|
@@ -1616,9 +1626,12 @@ var PROFILES_RAW = [
|
|
|
1616
1626
|
//
|
|
1617
1627
|
// Cliffs are HYPOTHESIZED from 2.5-flash family; brain evidence pending.
|
|
1618
1628
|
id: "gemini-3.1-flash-lite",
|
|
1619
|
-
verifiedAgainstDocs: "2026-
|
|
1629
|
+
verifiedAgainstDocs: "2026-08-27",
|
|
1620
1630
|
provider: "google",
|
|
1621
|
-
|
|
1631
|
+
// alpha.91 — docs page now labels it "Stable" and the brain row has been
|
|
1632
|
+
// `current` since catalog-sync moved it; the bundle lagged (the L-073
|
|
1633
|
+
// layer-parity shape, caught during the TT-49 delisting release).
|
|
1634
|
+
status: "current",
|
|
1622
1635
|
maxContextTokens: 1048576,
|
|
1623
1636
|
maxOutputTokens: 65536,
|
|
1624
1637
|
maxTools: 128,
|
|
@@ -1710,6 +1723,122 @@ var PROFILES_RAW = [
|
|
|
1710
1723
|
}
|
|
1711
1724
|
},
|
|
1712
1725
|
// ─────────────────────────────────────────────────────────────────────────
|
|
1726
|
+
// Gemini 3.5 Flash-Lite — onboarded s91 (2026-08-27)
|
|
1727
|
+
//
|
|
1728
|
+
// The successor Google's own delisting error names: "This model
|
|
1729
|
+
// [gemini-2.5-flash-lite] is no longer available to new users. Please
|
|
1730
|
+
// update your code to use models/gemini-3.5-flash-lite" (tt-intel TT-49,
|
|
1731
|
+
// 2026-08-26). Same price point as the 2.5 Lite rung it replaces in the
|
|
1732
|
+
// summarize/classify starter chains ($0.30/$2.50 vs the old $0.10/$0.40
|
|
1733
|
+
// era pricing), same 1M/65K limits, same 10× cache discount ($0.03 vs
|
|
1734
|
+
// $0.30 input). Positioning: "fastest, most cost-effective 3.5 model for
|
|
1735
|
+
// high-throughput execution … high-volume agentic tasks, translation, and
|
|
1736
|
+
// simple data processing."
|
|
1737
|
+
//
|
|
1738
|
+
// Cliffs + archetypePerf inherited from the Flash-Lite family as starter
|
|
1739
|
+
// hypotheses — ZERO brain rows on this id yet; first 50 rows per archetype
|
|
1740
|
+
// validate or relax.
|
|
1741
|
+
//
|
|
1742
|
+
// Specs verified 2026-08-27 against:
|
|
1743
|
+
// ai.google.dev/gemini-api/docs/models/gemini-3.5-flash-lite
|
|
1744
|
+
// (Stable; input limit 1,048,576; output limit 65,536; function
|
|
1745
|
+
// calling / structured outputs / thinking / caching all Supported)
|
|
1746
|
+
// ai.google.dev/gemini-api/docs/pricing ($0.30 in / $2.50 out incl.
|
|
1747
|
+
// thinking tokens; context caching $0.03)
|
|
1748
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
1749
|
+
{
|
|
1750
|
+
id: "gemini-3.5-flash-lite",
|
|
1751
|
+
verifiedAgainstDocs: "2026-08-27",
|
|
1752
|
+
provider: "google",
|
|
1753
|
+
status: "current",
|
|
1754
|
+
maxContextTokens: 1048576,
|
|
1755
|
+
maxOutputTokens: 65536,
|
|
1756
|
+
maxTools: 128,
|
|
1757
|
+
parallelToolCalls: true,
|
|
1758
|
+
structuredOutput: "native",
|
|
1759
|
+
systemPromptMode: "separate",
|
|
1760
|
+
streaming: true,
|
|
1761
|
+
cliffs: [
|
|
1762
|
+
{
|
|
1763
|
+
metric: "input_tokens",
|
|
1764
|
+
threshold: 8e3,
|
|
1765
|
+
action: "downgrade_quality_warning",
|
|
1766
|
+
reason: "Inherited from Flash family: quality degrades above ~8K. Lite tier \u2014 assume it degrades at least as fast. Re-tune from brain after n\u226520."
|
|
1767
|
+
},
|
|
1768
|
+
{
|
|
1769
|
+
metric: "tool_count",
|
|
1770
|
+
threshold: 10,
|
|
1771
|
+
action: "drop_to_top_relevant",
|
|
1772
|
+
reason: "Conservative: Flash drops at 20, Lite tier is smaller \u2014 assume tighter ceiling until brain proves otherwise."
|
|
1773
|
+
},
|
|
1774
|
+
{
|
|
1775
|
+
metric: "thinking_with_short_output",
|
|
1776
|
+
threshold: 1,
|
|
1777
|
+
action: "force_thinking_budget_zero",
|
|
1778
|
+
reason: "Thinking Supported per model page \u2014 same drain risk as Flash; thinking tokens consume maxOutputTokens."
|
|
1779
|
+
},
|
|
1780
|
+
{
|
|
1781
|
+
// Strong prior: Flash hit 5/5 empty rate on summarize+tools (s11
|
|
1782
|
+
// trust artifact). Flash-Lite siblings carry the guard preemptively;
|
|
1783
|
+
// brain telemetry confirms or relaxes per id.
|
|
1784
|
+
metric: "tool_count",
|
|
1785
|
+
threshold: 1,
|
|
1786
|
+
whenIntent: "summarize",
|
|
1787
|
+
action: "strip_tools",
|
|
1788
|
+
reason: "Inherited from Flash s11 cliff: summarize+tools \u2192 empty response. Preemptive guard until brain evidence on 3.5 Flash-Lite specifically."
|
|
1789
|
+
}
|
|
1790
|
+
],
|
|
1791
|
+
costInputPer1m: 0.3,
|
|
1792
|
+
costOutputPer1m: 2.5,
|
|
1793
|
+
lowering: {
|
|
1794
|
+
...GOOGLE_LOWERING_BASE,
|
|
1795
|
+
// Cache discount 10× — pricing page: $0.03/M cached vs $0.30/M input.
|
|
1796
|
+
// Material for repeat-prompt workloads (classify shape).
|
|
1797
|
+
cache: { ...GOOGLE_LOWERING_BASE.cache, discount: 0.1 },
|
|
1798
|
+
thinking: { field: "generationConfig.thinkingConfig.thinkingBudget", default: "auto" }
|
|
1799
|
+
},
|
|
1800
|
+
recovery: [
|
|
1801
|
+
{
|
|
1802
|
+
signal: "empty_response_after_tool",
|
|
1803
|
+
action: "retry_with_params",
|
|
1804
|
+
retryParams: { "generationConfig.thinkingConfig.thinkingBudget": 0 },
|
|
1805
|
+
maxRetries: 1,
|
|
1806
|
+
reason: "Known on Flash family: empty after tool result \u2014 retry with thinking off."
|
|
1807
|
+
},
|
|
1808
|
+
{
|
|
1809
|
+
signal: "empty_response",
|
|
1810
|
+
action: "retry_with_params",
|
|
1811
|
+
retryParams: { "generationConfig.thinkingConfig.thinkingBudget": 0 },
|
|
1812
|
+
maxRetries: 1,
|
|
1813
|
+
reason: "Empty response \u2014 try with thinking off."
|
|
1814
|
+
},
|
|
1815
|
+
{
|
|
1816
|
+
signal: "malformed_function_call",
|
|
1817
|
+
action: "escalate",
|
|
1818
|
+
reason: "MALFORMED_FUNCTION_CALL maps to stop \u2014 escalate to next target."
|
|
1819
|
+
}
|
|
1820
|
+
],
|
|
1821
|
+
strengths: ["low_cost", "speed", "volume", "classification", "summarize", "1m_context", "cache_friendly"],
|
|
1822
|
+
weaknesses: ["complex_reasoning", "large_tool_sets", "complex_schemas", "structured_output_unproven", "long_context_quality"],
|
|
1823
|
+
notes: 'Onboarded s91 (2026-08-27) as the Google-named successor to availability-restricted gemini-2.5-flash-lite. $0.30/$2.50 per 1M, 1M context, 65K max output, cache $0.03/M (10\xD7 discount). "Fastest, most cost-effective 3.5 model for high-throughput execution." Cliffs hypothesized from the Flash family \u2014 brain evidence pending.',
|
|
1824
|
+
// Lite-tier floor for summarize/classify chains. ZERO brain rows — all
|
|
1825
|
+
// values are starter hypotheses anchored to the Flash-Lite family shape.
|
|
1826
|
+
archetypePerf: {
|
|
1827
|
+
classify: 6,
|
|
1828
|
+
// starter hypothesis — verify (Flash is 7, lite likely ≤)
|
|
1829
|
+
summarize: 6,
|
|
1830
|
+
// starter hypothesis — verify; cliff strips tools
|
|
1831
|
+
transform: 6,
|
|
1832
|
+
// starter hypothesis — verify
|
|
1833
|
+
ask: 5,
|
|
1834
|
+
hunt: 5,
|
|
1835
|
+
generate: 4,
|
|
1836
|
+
extract: 4,
|
|
1837
|
+
plan: 3,
|
|
1838
|
+
critique: 3
|
|
1839
|
+
}
|
|
1840
|
+
},
|
|
1841
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
1713
1842
|
// Gemini 3.5 Flash — hand-onboarded s37 (2026-05-21)
|
|
1714
1843
|
//
|
|
1715
1844
|
// Google positioning ("Most intelligent for sustained frontier performance
|
|
@@ -4186,7 +4315,7 @@ var STARTER_CHAINS_GROUNDED = {
|
|
|
4186
4315
|
{ id: "gemini-2.5-flash", grounding: "judgment", reason: "Cost-sensitive primary \u2014 engineer pick" },
|
|
4187
4316
|
{ id: "deepseek-v4-flash", grounding: "measured", reason: "Brain-validated tier 1 for cost-sensitive summarize workloads", n: 169 },
|
|
4188
4317
|
{ id: "claude-haiku-4-5", grounding: "judgment", reason: "Quality safety net" },
|
|
4189
|
-
{ id: "gemini-
|
|
4318
|
+
{ id: "gemini-3.5-flash-lite", grounding: "judgment", reason: "Emergency floor. alpha.91: retargeted from availability-restricted gemini-2.5-flash-lite (Google refuses it for new accounts, TT-49 2026-08-26); 3.5-flash-lite is the successor Google\u2019s own error names" },
|
|
4190
4319
|
{ id: "gpt-5.4-nano", grounding: "judgment", reason: "alpha.33: third-provider tail (archetypePerf=6) \u2014 cheapest OpenAI, matches summarize cost-band" }
|
|
4191
4320
|
],
|
|
4192
4321
|
// Brain-validated DeepSeek tier 1 (169 rows, 0% empty rate).
|
|
@@ -4194,7 +4323,7 @@ var STARTER_CHAINS_GROUNDED = {
|
|
|
4194
4323
|
{ id: "gemini-2.5-flash", grounding: "judgment", reason: "Cost-sensitive primary \u2014 engineer pick" },
|
|
4195
4324
|
{ id: "deepseek-v4-flash", grounding: "measured", reason: "Brain-validated tier 1 (169 rows, 0% empty rate)", n: 169 },
|
|
4196
4325
|
{ id: "claude-haiku-4-5", grounding: "judgment", reason: "Quality safety net" },
|
|
4197
|
-
{ id: "gemini-
|
|
4326
|
+
{ id: "gemini-3.5-flash-lite", grounding: "judgment", reason: "Cache-discount 10\xD7 floor for repeat-prompt workloads ($0.03/M cached). alpha.91: retargeted from availability-restricted gemini-2.5-flash-lite" },
|
|
4198
4327
|
{ id: "gpt-5.4-nano", grounding: "judgment", reason: "alpha.33: third-provider tail (archetypePerf=6) \u2014 cheapest OpenAI for classify" }
|
|
4199
4328
|
]
|
|
4200
4329
|
};
|
|
@@ -6290,7 +6419,7 @@ function validateFinalFit(ir, profile, tokens) {
|
|
|
6290
6419
|
}
|
|
6291
6420
|
|
|
6292
6421
|
// src/version.ts
|
|
6293
|
-
var LIBRARY_VERSION = "2.0.0-alpha.
|
|
6422
|
+
var LIBRARY_VERSION = "2.0.0-alpha.91";
|
|
6294
6423
|
|
|
6295
6424
|
// src/pricing-brain.ts
|
|
6296
6425
|
function isPricingRow(x) {
|
|
@@ -7844,6 +7973,9 @@ function classifyHttpError2(status, body) {
|
|
|
7844
7973
|
if (status === 404) {
|
|
7845
7974
|
return { ok: false, status, errorType: "retryable", errorCode: "model_not_found", message, raw: body };
|
|
7846
7975
|
}
|
|
7976
|
+
if (status >= 400 && status < 500 && isModelUnavailableMessage(message)) {
|
|
7977
|
+
return { ok: false, status, errorType: "retryable", errorCode: "model_not_found", message, raw: body };
|
|
7978
|
+
}
|
|
7847
7979
|
if (status === 401 || status === 403) {
|
|
7848
7980
|
return { ok: false, status, errorType: "terminal", errorCode: "auth", message, raw: body };
|
|
7849
7981
|
}
|
|
@@ -7855,6 +7987,12 @@ function classifyHttpError2(status, body) {
|
|
|
7855
7987
|
}
|
|
7856
7988
|
return { ok: false, status, errorType: "terminal", errorCode: "unknown", message, raw: body };
|
|
7857
7989
|
}
|
|
7990
|
+
function isModelUnavailableMessage(message) {
|
|
7991
|
+
if (!message) return false;
|
|
7992
|
+
return /no longer (available|supported)|not available to new users|has been (deprecated|retired|discontinued|shut ?down)/i.test(
|
|
7993
|
+
message
|
|
7994
|
+
);
|
|
7995
|
+
}
|
|
7858
7996
|
function extractErrorMessage2(body) {
|
|
7859
7997
|
if (!body || typeof body !== "object") return void 0;
|
|
7860
7998
|
const b = body;
|
package/dist/index.mjs
CHANGED
|
@@ -19,7 +19,7 @@ import {
|
|
|
19
19
|
LIBRARY_VERSION,
|
|
20
20
|
createKeyHealthRoute,
|
|
21
21
|
keyFingerprint
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-AUZTO6Q5.mjs";
|
|
23
23
|
import {
|
|
24
24
|
ABSOLUTE_FLOOR,
|
|
25
25
|
ARCHETYPE_FLOOR_DEFAULT,
|
|
@@ -57,7 +57,7 @@ import {
|
|
|
57
57
|
policySetHas,
|
|
58
58
|
readBrainReadEnv,
|
|
59
59
|
resolveProviderKey
|
|
60
|
-
} from "./chunk-
|
|
60
|
+
} from "./chunk-54IXD5BT.mjs";
|
|
61
61
|
import {
|
|
62
62
|
ALIASES,
|
|
63
63
|
LATENCY_TIER_MS,
|
|
@@ -73,7 +73,7 @@ import {
|
|
|
73
73
|
registerProfiles,
|
|
74
74
|
resolveModelAlias,
|
|
75
75
|
tryGetProfile
|
|
76
|
-
} from "./chunk-
|
|
76
|
+
} from "./chunk-T53ISC2F.mjs";
|
|
77
77
|
import {
|
|
78
78
|
emitAdvisoryFired,
|
|
79
79
|
emitCompileDone,
|
|
@@ -4956,6 +4956,9 @@ function classifyHttpError2(status, body) {
|
|
|
4956
4956
|
if (status === 404) {
|
|
4957
4957
|
return { ok: false, status, errorType: "retryable", errorCode: "model_not_found", message, raw: body };
|
|
4958
4958
|
}
|
|
4959
|
+
if (status >= 400 && status < 500 && isModelUnavailableMessage(message)) {
|
|
4960
|
+
return { ok: false, status, errorType: "retryable", errorCode: "model_not_found", message, raw: body };
|
|
4961
|
+
}
|
|
4959
4962
|
if (status === 401 || status === 403) {
|
|
4960
4963
|
return { ok: false, status, errorType: "terminal", errorCode: "auth", message, raw: body };
|
|
4961
4964
|
}
|
|
@@ -4967,6 +4970,12 @@ function classifyHttpError2(status, body) {
|
|
|
4967
4970
|
}
|
|
4968
4971
|
return { ok: false, status, errorType: "terminal", errorCode: "unknown", message, raw: body };
|
|
4969
4972
|
}
|
|
4973
|
+
function isModelUnavailableMessage(message) {
|
|
4974
|
+
if (!message) return false;
|
|
4975
|
+
return /no longer (available|supported)|not available to new users|has been (deprecated|retired|discontinued|shut ?down)/i.test(
|
|
4976
|
+
message
|
|
4977
|
+
);
|
|
4978
|
+
}
|
|
4970
4979
|
function extractErrorMessage2(body) {
|
|
4971
4980
|
if (!body || typeof body !== "object") return void 0;
|
|
4972
4981
|
const b = body;
|
package/dist/key-health.js
CHANGED
|
@@ -28,7 +28,7 @@ __export(key_health_exports, {
|
|
|
28
28
|
module.exports = __toCommonJS(key_health_exports);
|
|
29
29
|
|
|
30
30
|
// src/version.ts
|
|
31
|
-
var LIBRARY_VERSION = "2.0.0-alpha.
|
|
31
|
+
var LIBRARY_VERSION = "2.0.0-alpha.91";
|
|
32
32
|
|
|
33
33
|
// src/key-health.ts
|
|
34
34
|
var JSON_HEADERS = { "Content-Type": "application/json" };
|
package/dist/key-health.mjs
CHANGED
package/dist/profiles.js
CHANGED
|
@@ -553,9 +553,19 @@ var PROFILES_RAW = [
|
|
|
553
553
|
// thresholds. The brain will validate/relax these as evidence accumulates
|
|
554
554
|
// per (archetype, model) tuple. Currently ZERO brain rows for this model.
|
|
555
555
|
id: "gemini-2.5-flash-lite",
|
|
556
|
-
verifiedAgainstDocs: "2026-08-
|
|
556
|
+
verifiedAgainstDocs: "2026-08-27",
|
|
557
557
|
provider: "google",
|
|
558
|
-
|
|
558
|
+
// alpha.91 — AVAILABILITY demotion, same class as gemini-2.5-pro below.
|
|
559
|
+
// Google refuses the model for newer account cohorts: "This model is no
|
|
560
|
+
// longer available to new users. Please update your code to use
|
|
561
|
+
// models/gemini-3.5-flash-lite" (tt-intel TT-49 runtime evidence,
|
|
562
|
+
// 2026-08-26, interfaces/kgauto.md ## Requested). It ranked FIRST in
|
|
563
|
+
// getFallbackChain('gemini-2.5-pro') — a dead-for-new-accounts model as
|
|
564
|
+
// the cheapest fallback pick. `legacy` removes it from chains and new
|
|
565
|
+
// selection; explicit-id consumers still resolve it. Successor is the
|
|
566
|
+
// one Google's own error names: gemini-3.5-flash-lite (onboarded this
|
|
567
|
+
// release, same price point).
|
|
568
|
+
status: "legacy",
|
|
559
569
|
maxContextTokens: 1048576,
|
|
560
570
|
maxOutputTokens: 65536,
|
|
561
571
|
maxTools: 128,
|
|
@@ -1280,9 +1290,12 @@ var PROFILES_RAW = [
|
|
|
1280
1290
|
//
|
|
1281
1291
|
// Cliffs are HYPOTHESIZED from 2.5-flash family; brain evidence pending.
|
|
1282
1292
|
id: "gemini-3.1-flash-lite",
|
|
1283
|
-
verifiedAgainstDocs: "2026-
|
|
1293
|
+
verifiedAgainstDocs: "2026-08-27",
|
|
1284
1294
|
provider: "google",
|
|
1285
|
-
|
|
1295
|
+
// alpha.91 — docs page now labels it "Stable" and the brain row has been
|
|
1296
|
+
// `current` since catalog-sync moved it; the bundle lagged (the L-073
|
|
1297
|
+
// layer-parity shape, caught during the TT-49 delisting release).
|
|
1298
|
+
status: "current",
|
|
1286
1299
|
maxContextTokens: 1048576,
|
|
1287
1300
|
maxOutputTokens: 65536,
|
|
1288
1301
|
maxTools: 128,
|
|
@@ -1374,6 +1387,122 @@ var PROFILES_RAW = [
|
|
|
1374
1387
|
}
|
|
1375
1388
|
},
|
|
1376
1389
|
// ─────────────────────────────────────────────────────────────────────────
|
|
1390
|
+
// Gemini 3.5 Flash-Lite — onboarded s91 (2026-08-27)
|
|
1391
|
+
//
|
|
1392
|
+
// The successor Google's own delisting error names: "This model
|
|
1393
|
+
// [gemini-2.5-flash-lite] is no longer available to new users. Please
|
|
1394
|
+
// update your code to use models/gemini-3.5-flash-lite" (tt-intel TT-49,
|
|
1395
|
+
// 2026-08-26). Same price point as the 2.5 Lite rung it replaces in the
|
|
1396
|
+
// summarize/classify starter chains ($0.30/$2.50 vs the old $0.10/$0.40
|
|
1397
|
+
// era pricing), same 1M/65K limits, same 10× cache discount ($0.03 vs
|
|
1398
|
+
// $0.30 input). Positioning: "fastest, most cost-effective 3.5 model for
|
|
1399
|
+
// high-throughput execution … high-volume agentic tasks, translation, and
|
|
1400
|
+
// simple data processing."
|
|
1401
|
+
//
|
|
1402
|
+
// Cliffs + archetypePerf inherited from the Flash-Lite family as starter
|
|
1403
|
+
// hypotheses — ZERO brain rows on this id yet; first 50 rows per archetype
|
|
1404
|
+
// validate or relax.
|
|
1405
|
+
//
|
|
1406
|
+
// Specs verified 2026-08-27 against:
|
|
1407
|
+
// ai.google.dev/gemini-api/docs/models/gemini-3.5-flash-lite
|
|
1408
|
+
// (Stable; input limit 1,048,576; output limit 65,536; function
|
|
1409
|
+
// calling / structured outputs / thinking / caching all Supported)
|
|
1410
|
+
// ai.google.dev/gemini-api/docs/pricing ($0.30 in / $2.50 out incl.
|
|
1411
|
+
// thinking tokens; context caching $0.03)
|
|
1412
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
1413
|
+
{
|
|
1414
|
+
id: "gemini-3.5-flash-lite",
|
|
1415
|
+
verifiedAgainstDocs: "2026-08-27",
|
|
1416
|
+
provider: "google",
|
|
1417
|
+
status: "current",
|
|
1418
|
+
maxContextTokens: 1048576,
|
|
1419
|
+
maxOutputTokens: 65536,
|
|
1420
|
+
maxTools: 128,
|
|
1421
|
+
parallelToolCalls: true,
|
|
1422
|
+
structuredOutput: "native",
|
|
1423
|
+
systemPromptMode: "separate",
|
|
1424
|
+
streaming: true,
|
|
1425
|
+
cliffs: [
|
|
1426
|
+
{
|
|
1427
|
+
metric: "input_tokens",
|
|
1428
|
+
threshold: 8e3,
|
|
1429
|
+
action: "downgrade_quality_warning",
|
|
1430
|
+
reason: "Inherited from Flash family: quality degrades above ~8K. Lite tier \u2014 assume it degrades at least as fast. Re-tune from brain after n\u226520."
|
|
1431
|
+
},
|
|
1432
|
+
{
|
|
1433
|
+
metric: "tool_count",
|
|
1434
|
+
threshold: 10,
|
|
1435
|
+
action: "drop_to_top_relevant",
|
|
1436
|
+
reason: "Conservative: Flash drops at 20, Lite tier is smaller \u2014 assume tighter ceiling until brain proves otherwise."
|
|
1437
|
+
},
|
|
1438
|
+
{
|
|
1439
|
+
metric: "thinking_with_short_output",
|
|
1440
|
+
threshold: 1,
|
|
1441
|
+
action: "force_thinking_budget_zero",
|
|
1442
|
+
reason: "Thinking Supported per model page \u2014 same drain risk as Flash; thinking tokens consume maxOutputTokens."
|
|
1443
|
+
},
|
|
1444
|
+
{
|
|
1445
|
+
// Strong prior: Flash hit 5/5 empty rate on summarize+tools (s11
|
|
1446
|
+
// trust artifact). Flash-Lite siblings carry the guard preemptively;
|
|
1447
|
+
// brain telemetry confirms or relaxes per id.
|
|
1448
|
+
metric: "tool_count",
|
|
1449
|
+
threshold: 1,
|
|
1450
|
+
whenIntent: "summarize",
|
|
1451
|
+
action: "strip_tools",
|
|
1452
|
+
reason: "Inherited from Flash s11 cliff: summarize+tools \u2192 empty response. Preemptive guard until brain evidence on 3.5 Flash-Lite specifically."
|
|
1453
|
+
}
|
|
1454
|
+
],
|
|
1455
|
+
costInputPer1m: 0.3,
|
|
1456
|
+
costOutputPer1m: 2.5,
|
|
1457
|
+
lowering: {
|
|
1458
|
+
...GOOGLE_LOWERING_BASE,
|
|
1459
|
+
// Cache discount 10× — pricing page: $0.03/M cached vs $0.30/M input.
|
|
1460
|
+
// Material for repeat-prompt workloads (classify shape).
|
|
1461
|
+
cache: { ...GOOGLE_LOWERING_BASE.cache, discount: 0.1 },
|
|
1462
|
+
thinking: { field: "generationConfig.thinkingConfig.thinkingBudget", default: "auto" }
|
|
1463
|
+
},
|
|
1464
|
+
recovery: [
|
|
1465
|
+
{
|
|
1466
|
+
signal: "empty_response_after_tool",
|
|
1467
|
+
action: "retry_with_params",
|
|
1468
|
+
retryParams: { "generationConfig.thinkingConfig.thinkingBudget": 0 },
|
|
1469
|
+
maxRetries: 1,
|
|
1470
|
+
reason: "Known on Flash family: empty after tool result \u2014 retry with thinking off."
|
|
1471
|
+
},
|
|
1472
|
+
{
|
|
1473
|
+
signal: "empty_response",
|
|
1474
|
+
action: "retry_with_params",
|
|
1475
|
+
retryParams: { "generationConfig.thinkingConfig.thinkingBudget": 0 },
|
|
1476
|
+
maxRetries: 1,
|
|
1477
|
+
reason: "Empty response \u2014 try with thinking off."
|
|
1478
|
+
},
|
|
1479
|
+
{
|
|
1480
|
+
signal: "malformed_function_call",
|
|
1481
|
+
action: "escalate",
|
|
1482
|
+
reason: "MALFORMED_FUNCTION_CALL maps to stop \u2014 escalate to next target."
|
|
1483
|
+
}
|
|
1484
|
+
],
|
|
1485
|
+
strengths: ["low_cost", "speed", "volume", "classification", "summarize", "1m_context", "cache_friendly"],
|
|
1486
|
+
weaknesses: ["complex_reasoning", "large_tool_sets", "complex_schemas", "structured_output_unproven", "long_context_quality"],
|
|
1487
|
+
notes: 'Onboarded s91 (2026-08-27) as the Google-named successor to availability-restricted gemini-2.5-flash-lite. $0.30/$2.50 per 1M, 1M context, 65K max output, cache $0.03/M (10\xD7 discount). "Fastest, most cost-effective 3.5 model for high-throughput execution." Cliffs hypothesized from the Flash family \u2014 brain evidence pending.',
|
|
1488
|
+
// Lite-tier floor for summarize/classify chains. ZERO brain rows — all
|
|
1489
|
+
// values are starter hypotheses anchored to the Flash-Lite family shape.
|
|
1490
|
+
archetypePerf: {
|
|
1491
|
+
classify: 6,
|
|
1492
|
+
// starter hypothesis — verify (Flash is 7, lite likely ≤)
|
|
1493
|
+
summarize: 6,
|
|
1494
|
+
// starter hypothesis — verify; cliff strips tools
|
|
1495
|
+
transform: 6,
|
|
1496
|
+
// starter hypothesis — verify
|
|
1497
|
+
ask: 5,
|
|
1498
|
+
hunt: 5,
|
|
1499
|
+
generate: 4,
|
|
1500
|
+
extract: 4,
|
|
1501
|
+
plan: 3,
|
|
1502
|
+
critique: 3
|
|
1503
|
+
}
|
|
1504
|
+
},
|
|
1505
|
+
// ─────────────────────────────────────────────────────────────────────────
|
|
1377
1506
|
// Gemini 3.5 Flash — hand-onboarded s37 (2026-05-21)
|
|
1378
1507
|
//
|
|
1379
1508
|
// Google positioning ("Most intelligent for sustained frontier performance
|
package/dist/profiles.mjs
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@warmdrift/kgauto-compiler",
|
|
3
|
-
"version": "2.0.0-alpha.
|
|
3
|
+
"version": "2.0.0-alpha.91",
|
|
4
4
|
"description": "Prompt compiler with executable provider knowledge for multi-model AI apps: normalized multi-provider transport with fallback chains, compile-time cliff guards, a curated model registry, and a telemetry flight recorder. Swap models without rewriting prompts.",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"module": "./dist/index.mjs",
|