@kenkaiiii/gg-core 5.74.2 → 5.75.0

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 CHANGED
@@ -2061,9 +2061,10 @@ var NotLoggedInError = class extends Error {
2061
2061
  // src/model-registry.ts
2062
2062
  var MODELS = [
2063
2063
  // ── Anthropic ──────────────────────────────────────────
2064
- // NOTE: Claude Mythos 5 (`claude-mythos-5`) is kept commented out — it's a
2065
- // Project Glasswing (limited, invitation-only) model unavailable to most
2066
- // users. Re-enable once it's generally available.
2064
+ // NOTE: Claude Mythos 5.1 (`claude-mythos-5-1`, 2026-09-01) is kept commented
2065
+ // out — it's a Project Glasswing model, still "Active (invite only)" in
2066
+ // Anthropic's docs and unavailable to most users. Re-enable once it's
2067
+ // generally available.
2067
2068
  {
2068
2069
  // Released 2026-09-01 — replaces Fable 5 at the same $10/$50 MTok (cache
2069
2070
  // reads drop to $0.25). Always-on adaptive thinking steered by effort;
@@ -2085,8 +2086,8 @@ var MODELS = [
2085
2086
  // // Mythos-class model offered through Project Glasswing (limited
2086
2087
  // // availability, invitation-only). Same underlying model as Fable 5.1 with
2087
2088
  // // some safeguards lifted; kept here so approved accounts can select it.
2088
- // id: "claude-mythos-5",
2089
- // name: "Claude Mythos 5",
2089
+ // id: "claude-mythos-5-1",
2090
+ // name: "Claude Mythos 5.1",
2090
2091
  // provider: "anthropic",
2091
2092
  // contextWindow: 1_000_000,
2092
2093
  // maxOutputTokens: 128_000,
@@ -2132,16 +2133,24 @@ var MODELS = [
2132
2133
  maxThinkingLevel: "max"
2133
2134
  },
2134
2135
  {
2135
- id: "claude-haiku-4-5-20251001",
2136
- name: "Claude Haiku 4.5",
2136
+ // Released 2026-10-07 — replaces Haiku 4.5 at $0.10/$0.50 MTok (prompts
2137
+ // up to 100K tokens; $0.50/$2.50 above). 1M context, 128K output, image
2138
+ // input. Adaptive thinking with the full effort ladder (low→max, xhigh
2139
+ // included; API default `medium`) — manual budget_tokens, non-default
2140
+ // sampling params and assistant prefill all 400. No server-side refusal
2141
+ // fallback: `fallbacks: "default"` is accepted but a refusal stays a
2142
+ // refusal. Haiku 4.5 is retired here — a session that still has it saved
2143
+ // falls back to the provider default on next start.
2144
+ id: "claude-haiku-5-5",
2145
+ name: "Claude Haiku 5.5",
2137
2146
  provider: "anthropic",
2138
- contextWindow: 2e5,
2139
- maxOutputTokens: 64e3,
2147
+ contextWindow: 1e6,
2148
+ maxOutputTokens: 128e3,
2140
2149
  supportsThinking: true,
2141
2150
  supportsImages: true,
2142
2151
  supportsVideo: false,
2143
2152
  costTier: "low",
2144
- maxThinkingLevel: "high"
2153
+ maxThinkingLevel: "max"
2145
2154
  },
2146
2155
  // ── OpenAI (Codex) ─────────────────────────────────────
2147
2156
  {
@@ -2431,6 +2440,25 @@ var MODELS = [
2431
2440
  costTier: "medium",
2432
2441
  maxThinkingLevel: "high"
2433
2442
  },
2443
+ // K2.7 Code HighSpeed — the same model as K2.7 Code served at ~180 tok/s
2444
+ // (up to ~260 on short contexts), 256K context (platform.kimi.ai model list,
2445
+ // 2026-10-08). The `kimi-k2.7-code` prefix gives it K2.7's always-thinking
2446
+ // wire handling in gg-ai. The Kimi For Coding endpoint lists this model as
2447
+ // `kimi-for-coding-highspeed`; like `kimi-k2.7-code` and `kimi-k3`, we send
2448
+ // the public id there too.
2449
+ {
2450
+ id: "kimi-k2.7-code-highspeed",
2451
+ name: "Kimi K2.7 Code HighSpeed",
2452
+ provider: "moonshot",
2453
+ contextWindow: 262144,
2454
+ maxOutputTokens: 262144,
2455
+ supportsThinking: true,
2456
+ supportsImages: true,
2457
+ supportsVideo: true,
2458
+ maxVideoBytes: 100 * 1024 * 1024,
2459
+ costTier: "medium",
2460
+ maxThinkingLevel: "high"
2461
+ },
2434
2462
  // ── Z.AI (GLM) ─────────────────────────────────────────
2435
2463
  // Two GLM entries, both live on the coding endpoint (verified against its
2436
2464
  // /models list). The pre-5.3 ids stay retired: they routed to strictly worse
@@ -2606,23 +2634,47 @@ var MODELS = [
2606
2634
  // billing follows each backend's rates on the HF account (small free tier).
2607
2635
  // Model ids are Hub repo paths, so they intentionally contain a slash — the
2608
2636
  // same shape local/ vLLM ids already use (`local/vllm/Qwen/Qwen3-32B`).
2637
+ // Live GET /v1/models (2026-10-08) is the source for hosts, context and
2638
+ // modalities. Qwen3 Coder 480B is retired here: only one tool-calling host
2639
+ // (Novita) still served it. We keep bare repo ids (no :auto suffix) so the
2640
+ // picker matches what GET /v1/models reports.
2609
2641
  {
2610
- // Qwen's open flagship for agentic coding — tool-calling native, non-thinking
2611
- // (the Coder line dropped the <think> block). 262K native context (1M needs
2612
- // YaRN, which the router doesn't apply), 131K max output. :auto suffix lets
2613
- // HF pick the backend with capacity; we keep the bare repo id so the picker
2614
- // matches what GET /v1/models reports.
2615
- id: "Qwen/Qwen3-Coder-480B-A35B-Instruct",
2616
- name: "Qwen3 Coder 480B",
2642
+ // Moonshot's open coding model. Served with tool calling by Novita and
2643
+ // DeepInfra at 262K context, with image input (video is a Moonshot-API-only
2644
+ // upload path). It always thinks, but the router has no documented effort
2645
+ // control for it, so we register it as non-thinking: we never send a
2646
+ // reasoning_effort that a host might reject. Output is capped at half the
2647
+ // window so the input keeps room.
2648
+ id: "moonshotai/Kimi-K2.7-Code",
2649
+ name: "Kimi K2.7 Code",
2617
2650
  provider: "huggingface",
2618
2651
  contextWindow: 262144,
2619
2652
  maxOutputTokens: 131072,
2620
2653
  supportsThinking: false,
2621
- supportsImages: false,
2654
+ supportsImages: true,
2622
2655
  supportsVideo: false,
2623
2656
  costTier: "medium",
2624
2657
  maxThinkingLevel: "low"
2625
2658
  },
2659
+ {
2660
+ // DeepSeek V4.1 Flash open weights: 1M context and image input on four
2661
+ // tool-calling hosts (Novita, Fireworks, Baseten, DeepInfra; $0.20–0.30 in /
2662
+ // $0.60–1.20 out per MTok). It is listed before gpt-oss so it becomes the
2663
+ // low-tier summary model, because its 1M window can take a full long
2664
+ // session. Thinking control over the router is unverified, so it is
2665
+ // registered as non-thinking. Output is a conservative 131K: hosts don't
2666
+ // publish the 384K first-party cap.
2667
+ id: "deepseek-ai/DeepSeek-V4.1-Flash",
2668
+ name: "DeepSeek V4.1 Flash",
2669
+ provider: "huggingface",
2670
+ contextWindow: 1048576,
2671
+ maxOutputTokens: 131072,
2672
+ supportsThinking: false,
2673
+ supportsImages: true,
2674
+ supportsVideo: false,
2675
+ costTier: "low",
2676
+ maxThinkingLevel: "low"
2677
+ },
2626
2678
  {
2627
2679
  // OpenAI's open-weight 120B MoE (5.1B active) — general-purpose, tool-calling
2628
2680
  // native, adjustable reasoning effort (low/medium/high, default medium) over
@@ -2683,8 +2735,7 @@ function getDefaultModel(provider) {
2683
2735
  if (provider === "moonshot") return MODELS.find((m) => m.id === "kimi-k3");
2684
2736
  if (provider === "minimax") return MODELS.find((m) => m.id === "MiniMax-M3");
2685
2737
  if (provider === "deepseek") return MODELS.find((m) => m.id === "deepseek-v4-pro");
2686
- if (provider === "huggingface")
2687
- return MODELS.find((m) => m.id === "Qwen/Qwen3-Coder-480B-A35B-Instruct");
2738
+ if (provider === "huggingface") return MODELS.find((m) => m.id === "moonshotai/Kimi-K2.7-Code");
2688
2739
  if (provider === "openrouter") return MODELS.find((m) => m.id === "qwen/qwen3.8-max");
2689
2740
  if (provider === "sakana") return MODELS.find((m) => m.id === "fugu");
2690
2741
  if (provider === "xai") return MODELS.find((m) => m.id === "grok-4.7");
@@ -2785,10 +2836,10 @@ function isGlmModel(provider) {
2785
2836
  return provider === "glm";
2786
2837
  }
2787
2838
  function isAnthropicXhighModel(provider, model) {
2788
- return provider === "anthropic" && /opus-5|opus-4-8|opus-4-7|sonnet-5[-.]5/.test(model);
2839
+ return provider === "anthropic" && /opus-5|opus-4-8|opus-4-7|sonnet-5[-.]5|haiku-5[-.]5/.test(model);
2789
2840
  }
2790
2841
  function isAnthropicAdaptiveModel(provider, model) {
2791
- return provider === "anthropic" && /opus-5|opus-4-8|opus-4-7|opus-4-6|sonnet-5|fable-5|mythos-5/.test(model);
2842
+ return provider === "anthropic" && /opus-5|opus-4-8|opus-4-7|opus-4-6|sonnet-5|haiku-5|fable-5|mythos-5/.test(model);
2792
2843
  }
2793
2844
  function getSupportedThinkingLevels(provider, model) {
2794
2845
  if (provider === "local") {