@kenkaiiii/gg-core 5.48.0 → 5.49.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -296,11 +296,29 @@ var MODELS = [
296
296
  maxThinkingLevel: "xhigh"
297
297
  },
298
298
  // ── xAI (Grok) ─────────────────────────────────────────
299
- // Grok 4.5 (released 2026-07-08) is xAI's flagship for coding, agentic
300
- // tasks, and knowledge work — 500K context, text+image input, configurable
301
- // `reasoning_effort` (low/medium/high, server default high; reasoning can't
302
- // be fully disabled). Served over the OpenAI-compatible API at
303
- // https://api.x.ai/v1 (API key from console.x.ai). xAI hasn't published an
299
+ // Grok 4.6 (released 2026-08-12) is xAI's flagship for coding, agentic tasks,
300
+ // and knowledge work, with a focus on long-running agents — 500K context,
301
+ // text+image input, and a `reasoning_effort` ladder that adds a new `xhigh`
302
+ // top rung (low/medium/high default/xhigh; reasoning still can't be fully
303
+ // disabled). $2/$6 per MTok under 200K prompt tokens ($4/$12 at or above),
304
+ // and it's the default model of the Grok Build coding agent. xAI advertises "no text output limit"; we keep the same
305
+ // 131K practical cap as 4.5 for budget predictability and input headroom.
306
+ {
307
+ id: "grok-4.6",
308
+ name: "Grok 4.6",
309
+ provider: "xai",
310
+ contextWindow: 5e5,
311
+ maxOutputTokens: 131072,
312
+ supportsThinking: true,
313
+ supportsImages: true,
314
+ supportsVideo: false,
315
+ costTier: "medium",
316
+ maxThinkingLevel: "xhigh"
317
+ },
318
+ // Grok 4.5 (released 2026-07-08) — superseded by 4.6 but retained as an explicit option. 500K context, text+image input,
319
+ // configurable `reasoning_effort` (low/medium/high, server default high;
320
+ // reasoning can't be fully disabled). Served over the OpenAI-compatible API
321
+ // at https://api.x.ai/v1 (API key from console.x.ai). xAI hasn't published an
304
322
  // official max-output cap for 4.5; 131K matches the Grok Responses ceiling
305
323
  // third-party integrations use.
306
324
  {
@@ -315,7 +333,7 @@ var MODELS = [
315
333
  costTier: "medium",
316
334
  maxThinkingLevel: "high"
317
335
  },
318
- // ── Gemini ─────────────────────────────────────────────
336
+ // ── Gemini ─────────────────────────────────────────
319
337
  {
320
338
  id: "gemini-3.1-flash-lite",
321
339
  name: "Gemini 3.1 Flash Lite",
@@ -329,6 +347,28 @@ var MODELS = [
329
347
  costTier: "low",
330
348
  maxThinkingLevel: "high"
331
349
  },
350
+ {
351
+ // Gemini 3.7 Flash (released 2026-08-13) — Google's most capable Flash for
352
+ // coding, agents, and multi-step execution; GA-stable on the Gemini API as
353
+ // `gemini-3.7-flash`. 1M context, 64K output, thinking low/medium/high.
354
+ // Sent over our Code Assist (OAuth) transport ahead of gemini-cli — upstream
355
+ // hasn't listed 3.7 yet (google-gemini/gemini-cli#28802, still open) — so
356
+ // free/personal accounts 404 (entitlement-gated) while Code Assist
357
+ // Standard/Enterprise accounts get it. Listed SECOND, after flash-lite:
358
+ // getFastModel picks the first low-tier entry, and flash-lite is the one
359
+ // that works on every account.
360
+ id: "gemini-3.7-flash",
361
+ name: "Gemini 3.7 Flash",
362
+ provider: "gemini",
363
+ contextWindow: 1048576,
364
+ maxOutputTokens: 65536,
365
+ supportsThinking: true,
366
+ supportsImages: true,
367
+ supportsVideo: true,
368
+ maxVideoBytes: 20 * 1024 * 1024,
369
+ costTier: "low",
370
+ maxThinkingLevel: "high"
371
+ },
332
372
  {
333
373
  // Wire name `gemini-3-flash` — the Code Assist (OAuth) backend rejects the
334
374
  // display string `gemini-3.5-flash` with a 404, so gemini-cli keeps this
@@ -481,15 +521,21 @@ var MODELS = [
481
521
  },
482
522
  // ── DeepSeek ───────────────────────────────────────────
483
523
  {
524
+ // `deepseek-v4-pro` now serves DeepSeek-V4-Pro-0813 (released 2026-08-13,
525
+ // first STABLE V4 Pro — supersedes the April preview; calling name
526
+ // unchanged, same 1.6T/49B MoE). 1M context, 384K (393,216) max output,
527
+ // text-only, reasoning ladder low/high plus Think Max — mapped from our
528
+ // `xhigh`. ~$0.43/$0.87 per MTok on DeepSeek's own API, so a mid-tier
529
+ // price band rather than the preview's top band.
484
530
  id: "deepseek-v4-pro",
485
531
  name: "DeepSeek V4 Pro",
486
532
  provider: "deepseek",
487
533
  contextWindow: 1048576,
488
- maxOutputTokens: 384e3,
534
+ maxOutputTokens: 393216,
489
535
  supportsThinking: true,
490
536
  supportsImages: false,
491
537
  supportsVideo: false,
492
- costTier: "high",
538
+ costTier: "medium",
493
539
  // DeepSeek V4 maps `xhigh` → its internal `max` tier.
494
540
  maxThinkingLevel: "xhigh"
495
541
  },
@@ -517,6 +563,45 @@ var MODELS = [
517
563
  supportsVideo: false,
518
564
  costTier: "medium",
519
565
  maxThinkingLevel: "high"
566
+ },
567
+ // ── Hugging Face (Inference Providers router) ────────
568
+ // One HF token (hf.co/settings/tokens, "Make calls to Inference Providers"
569
+ // permission) routes to whichever hosted backend serves each open model;
570
+ // billing follows each backend's rates on the HF account (small free tier).
571
+ // Model ids are Hub repo paths, so they intentionally contain a slash — the
572
+ // same shape local/ vLLM ids already use (`local/vllm/Qwen/Qwen3-32B`).
573
+ {
574
+ // Qwen's open flagship for agentic coding — tool-calling native, non-thinking
575
+ // (the Coder line dropped the <think> block). 262K native context (1M needs
576
+ // YaRN, which the router doesn't apply), 131K max output. :auto suffix lets
577
+ // HF pick the backend with capacity; we keep the bare repo id so the picker
578
+ // matches what GET /v1/models reports.
579
+ id: "Qwen/Qwen3-Coder-480B-A35B-Instruct",
580
+ name: "Qwen3 Coder 480B",
581
+ provider: "huggingface",
582
+ contextWindow: 262144,
583
+ maxOutputTokens: 131072,
584
+ supportsThinking: false,
585
+ supportsImages: false,
586
+ supportsVideo: false,
587
+ costTier: "medium",
588
+ maxThinkingLevel: "low"
589
+ },
590
+ {
591
+ // OpenAI's open-weight 120B MoE (5.1B active) — general-purpose, tool-calling
592
+ // native, adjustable reasoning effort (low/medium/high, default medium) over
593
+ // the router's Chat Completions API. Cheap enough to be the low-tier sibling
594
+ // for summaries and fast sub-agents.
595
+ id: "openai/gpt-oss-120b",
596
+ name: "GPT-OSS 120B",
597
+ provider: "huggingface",
598
+ contextWindow: 131072,
599
+ maxOutputTokens: 65536,
600
+ supportsThinking: true,
601
+ supportsImages: false,
602
+ supportsVideo: false,
603
+ costTier: "low",
604
+ maxThinkingLevel: "high"
520
605
  }
521
606
  ];
522
607
  var runtimeModels = /* @__PURE__ */ new Map();
@@ -562,9 +647,11 @@ function getDefaultModel(provider) {
562
647
  if (provider === "moonshot") return MODELS.find((m) => m.id === "kimi-k3");
563
648
  if (provider === "minimax") return MODELS.find((m) => m.id === "MiniMax-M3");
564
649
  if (provider === "deepseek") return MODELS.find((m) => m.id === "deepseek-v4-pro");
650
+ if (provider === "huggingface")
651
+ return MODELS.find((m) => m.id === "Qwen/Qwen3-Coder-480B-A35B-Instruct");
565
652
  if (provider === "openrouter") return MODELS.find((m) => m.id === "qwen/qwen3.6-plus");
566
653
  if (provider === "sakana") return MODELS.find((m) => m.id === "fugu");
567
- if (provider === "xai") return MODELS.find((m) => m.id === "grok-4.5");
654
+ if (provider === "xai") return MODELS.find((m) => m.id === "grok-4.6");
568
655
  if (provider === "local") {
569
656
  return getModelsForProvider("local")[0] ?? PLACEHOLDER_LOCAL_MODEL;
570
657
  }
@@ -608,7 +695,7 @@ function getSummaryModel(provider, currentModelId) {
608
695
  if (provider === "anthropic") {
609
696
  return MODELS.find((m) => m.id === "claude-sonnet-5");
610
697
  }
611
- if (provider === "openai" || provider === "glm" || provider === "deepseek") {
698
+ if (provider === "openai" || provider === "glm" || provider === "deepseek" || provider === "huggingface") {
612
699
  const low = getModelsForProvider(provider).find((m) => m.costTier === "low");
613
700
  if (low) return low;
614
701
  }