@kenkaiiii/gg-boss 4.9.1 → 4.10.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.
@@ -67448,7 +67448,7 @@ var Agent = class {
67448
67448
  }
67449
67449
  };
67450
67450
 
67451
- // ../gg-core/dist/chunk-227IRQAU.js
67451
+ // ../gg-core/dist/chunk-RBR3MTVM.js
67452
67452
  init_esm_shims();
67453
67453
  var MODELS = [
67454
67454
  // ── Anthropic ──────────────────────────────────────────
@@ -67595,8 +67595,8 @@ var MODELS = [
67595
67595
  },
67596
67596
  // ── Moonshot (Kimi) ────────────────────────────────────
67597
67597
  {
67598
- id: "kimi-k2.6",
67599
- name: "Kimi K2.6",
67598
+ id: "kimi-k2.7-code",
67599
+ name: "Kimi K2.7",
67600
67600
  provider: "moonshot",
67601
67601
  contextWindow: 262144,
67602
67602
  maxOutputTokens: 262144,
@@ -67746,7 +67746,7 @@ function getDefaultModel(provider) {
67746
67746
  if (provider === "openai") return MODELS.find((m) => m.id === "gpt-5.5");
67747
67747
  if (provider === "gemini") return MODELS.find((m) => m.id === "gemini-3.1-flash-lite-preview");
67748
67748
  if (provider === "glm") return MODELS.find((m) => m.id === "glm-5.1");
67749
- if (provider === "moonshot") return MODELS.find((m) => m.id === "kimi-k2.6");
67749
+ if (provider === "moonshot") return MODELS.find((m) => m.id === "kimi-k2.7-code");
67750
67750
  if (provider === "minimax") return MODELS.find((m) => m.id === "MiniMax-M3");
67751
67751
  if (provider === "deepseek") return MODELS.find((m) => m.id === "deepseek-v4-pro");
67752
67752
  if (provider === "openrouter") return MODELS.find((m) => m.id === "qwen/qwen3.6-plus");
@@ -68313,14 +68313,15 @@ function errorDetail(data) {
68313
68313
  const desc = data.error_description ?? data.message ?? data.error;
68314
68314
  return typeof desc === "string" && desc.length > 0 ? desc : "unknown error";
68315
68315
  }
68316
- function credsFromTokenResponse(data) {
68316
+ function credsFromTokenResponse(data, opts) {
68317
68317
  const accessToken = data.access_token;
68318
- const refreshToken = data.refresh_token;
68318
+ const responseRefreshToken = data.refresh_token;
68319
68319
  const expiresIn = Number(data.expires_in);
68320
68320
  if (typeof accessToken !== "string" || accessToken.length === 0) {
68321
68321
  throw new Error("Kimi OAuth response missing access_token.");
68322
68322
  }
68323
- if (typeof refreshToken !== "string" || refreshToken.length === 0) {
68323
+ const refreshToken = typeof responseRefreshToken === "string" && responseRefreshToken.length > 0 ? responseRefreshToken : opts?.fallbackRefreshToken ?? "";
68324
+ if (refreshToken.length === 0) {
68324
68325
  throw new Error("Kimi OAuth response missing refresh_token.");
68325
68326
  }
68326
68327
  if (!Number.isFinite(expiresIn) || expiresIn <= 0) {
@@ -68340,12 +68341,13 @@ async function refreshKimiToken(refreshToken) {
68340
68341
  refresh_token: refreshToken
68341
68342
  });
68342
68343
  if (status === 200 && typeof data.access_token === "string") {
68343
- return credsFromTokenResponse(data);
68344
+ return credsFromTokenResponse(data, { fallbackRefreshToken: refreshToken });
68344
68345
  }
68345
68346
  const errorCode = typeof data.error === "string" ? data.error : "";
68346
68347
  throw new Error(`Kimi token refresh failed (${status}): ${errorCode || errorDetail(data)}`);
68347
68348
  }
68348
68349
  var MOONSHOT_OAUTH_KEY = "moonshot-oauth";
68350
+ var REFRESH_SKEW_MS = 6e4;
68349
68351
  var STATIC_API_KEY_PROVIDERS = /* @__PURE__ */ new Set([
68350
68352
  "glm",
68351
68353
  "moonshot",
@@ -68460,6 +68462,11 @@ var AuthStorage = class {
68460
68462
  return await this.resolveCredentials(MOONSHOT_OAUTH_KEY, opts);
68461
68463
  } catch (err) {
68462
68464
  if (err instanceof NotLoggedInError && this.data["moonshot"]) {
68465
+ log(
68466
+ "WARN",
68467
+ "auth",
68468
+ 'Kimi OAuth credential is no longer valid \u2014 falling back to the Moonshot API key. Run "ggcoder login" and choose Kimi OAuth to restore OAuth auth.'
68469
+ );
68463
68470
  return this.data["moonshot"];
68464
68471
  }
68465
68472
  throw err;
@@ -68472,7 +68479,7 @@ var AuthStorage = class {
68472
68479
  if (STATIC_API_KEY_PROVIDERS.has(provider)) {
68473
68480
  return creds;
68474
68481
  }
68475
- if (!opts?.forceRefresh && Date.now() < creds.expiresAt) {
68482
+ if (!opts?.forceRefresh && Date.now() < creds.expiresAt - REFRESH_SKEW_MS) {
68476
68483
  return creds;
68477
68484
  }
68478
68485
  const existing = this.refreshLocks.get(provider);
@@ -68482,7 +68489,7 @@ var AuthStorage = class {
68482
68489
  const content = await fs4.readFile(this.filePath, "utf-8");
68483
68490
  const freshData = JSON.parse(content);
68484
68491
  const freshCreds = freshData[provider];
68485
- if (freshCreds && !opts?.forceRefresh && Date.now() < freshCreds.expiresAt) {
68492
+ if (freshCreds && !opts?.forceRefresh && Date.now() < freshCreds.expiresAt - REFRESH_SKEW_MS) {
68486
68493
  this.data[provider] = freshCreds;
68487
68494
  return freshCreds;
68488
68495
  }
@@ -68508,6 +68515,9 @@ var AuthStorage = class {
68508
68515
  if (!refreshed.projectId && creds.projectId) {
68509
68516
  refreshed.projectId = creds.projectId;
68510
68517
  }
68518
+ if (!refreshed.baseUrl && creds.baseUrl) {
68519
+ refreshed.baseUrl = creds.baseUrl;
68520
+ }
68511
68521
  this.data[provider] = refreshed;
68512
68522
  await atomicWriteFile(this.filePath, JSON.stringify(this.data, null, 2));
68513
68523
  return refreshed;
@@ -75612,6 +75622,7 @@ var SessionManager = class _SessionManager {
75612
75622
  });
75613
75623
  let first = null;
75614
75624
  let messageCount = 0;
75625
+ let lastActivity = null;
75615
75626
  for await (const line of rl) {
75616
75627
  if (!line)
75617
75628
  continue;
@@ -75623,6 +75634,8 @@ var SessionManager = class _SessionManager {
75623
75634
  first = parsed;
75624
75635
  } else if (parsed.type === "message") {
75625
75636
  messageCount++;
75637
+ if (parsed.timestamp)
75638
+ lastActivity = parsed.timestamp;
75626
75639
  }
75627
75640
  } catch {
75628
75641
  }
@@ -75633,13 +75646,14 @@ var SessionManager = class _SessionManager {
75633
75646
  id: first.id,
75634
75647
  path: filePath,
75635
75648
  timestamp: first.timestamp,
75649
+ lastActivity: lastActivity ?? first.timestamp,
75636
75650
  cwd: first.cwd,
75637
75651
  messageCount
75638
75652
  });
75639
75653
  } catch {
75640
75654
  }
75641
75655
  }
75642
- sessions.sort((a, b) => b.timestamp.localeCompare(a.timestamp));
75656
+ sessions.sort((a, b) => b.lastActivity.localeCompare(a.lastActivity));
75643
75657
  return sessions;
75644
75658
  }
75645
75659
  async getMostRecent(cwd2) {
@@ -115694,4 +115708,4 @@ react/cjs/react-jsx-runtime.development.js:
115694
115708
  * LICENSE file in the root directory of this source tree.
115695
115709
  *)
115696
115710
  */
115697
- //# sourceMappingURL=chunk-CGCARH5Y.js.map
115711
+ //# sourceMappingURL=chunk-EV37X3XL.js.map