@costrict/csc 4.2.5 → 4.2.6-beta

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/cli.js CHANGED
@@ -35955,6 +35955,8 @@ var init_ui_permissions = __esm(() => {
35955
35955
  "permissions.writeFileQuestion": "Do you want to {action} {path}?",
35956
35956
  "permissions.symlinkOutsideCwd": "This will modify {path} (outside working directory) via a symlink",
35957
35957
  "permissions.symlinkTarget": "Symlink target: {path}",
35958
+ "permissions.allow.reading.from.dir.during.session.beforeDir": "Yes, allow reading from ",
35959
+ "permissions.allow.reading.from.dir.during.session.afterDir": " during this session",
35958
35960
  "permissions.commandPrefixPlaceholder": "command prefix (e.g., npm run:*)",
35959
35961
  "permissions.commandPrefixPlaceholderPowershell": "command prefix (e.g., Get-Process:*)",
35960
35962
  "permissions.describeAllowPlaceholder": "describe what to allow...",
@@ -36234,6 +36236,7 @@ var init_ui_common = __esm(() => {
36234
36236
  "mcp.required": "(required)",
36235
36237
  "mcp.unknown": "unknown",
36236
36238
  "mcp.failedToParse": "Failed to parse",
36239
+ "mcp.notConfigured": "Not configured",
36237
36240
  "mcp.containsWarnings": "Contains warnings",
36238
36241
  "mcp.location": "Location:",
36239
36242
  "mcp.errorTag": "[Error]",
@@ -36967,6 +36970,7 @@ var init_ui_common = __esm(() => {
36967
36970
  "login.consoleKeyConflict": "instead of CoStrict Console key. Either unset",
36968
36971
  "mcp.desktop-import-name-collision": "Desktop import name collision",
36969
36972
  "mcp.failed": "Failed",
36973
+ "mcp.failedServersNotice": "{count} MCP server(s) failed",
36970
36974
  "mcp.more-below": "More below",
36971
36975
  "mcp.needs-auth": "Needs authentication",
36972
36976
  "mcp.return-after-auth": "Return after authentication",
@@ -39678,6 +39682,7 @@ var init_ui_components = __esm(() => {
39678
39682
  "components.retry": "Retry",
39679
39683
  "components.retrying": "Retrying",
39680
39684
  "components.retrying.in": "Retrying in",
39685
+ "components.retrying.in.detail": "Retrying in {seconds} second(s) (attempt {attempt}/{max})",
39681
39686
  "components.review.the.requested.local.action.before.continuing": "Review the requested local action before continuing",
39682
39687
  "components.reviewing": "Reviewing",
39683
39688
  "components.rewind": "Rewind",
@@ -40359,6 +40364,8 @@ var init_ui_permissions2 = __esm(() => {
40359
40364
  "permissions.writeFileQuestion": "\u662F\u5426{action} {path}\uFF1F",
40360
40365
  "permissions.symlinkOutsideCwd": "\u8FD9\u5C06\u901A\u8FC7\u7B26\u53F7\u94FE\u63A5\u4FEE\u6539 {path}\uFF08\u4F4D\u4E8E\u5DE5\u4F5C\u76EE\u5F55\u5916\u90E8\uFF09",
40361
40366
  "permissions.symlinkTarget": "\u7B26\u53F7\u94FE\u63A5\u76EE\u6807\uFF1A{path}",
40367
+ "permissions.allow.reading.from.dir.during.session.beforeDir": "\u5141\u8BB8\u5728\u6B64\u6B21\u4F1A\u8BDD\u671F\u95F4\u8BFB\u53D6 ",
40368
+ "permissions.allow.reading.from.dir.during.session.afterDir": "",
40362
40369
  "permissions.commandPrefixPlaceholder": "\u547D\u4EE4\u524D\u7F00\uFF08\u5982 npm run:*\uFF09",
40363
40370
  "permissions.commandPrefixPlaceholderPowershell": "\u547D\u4EE4\u524D\u7F00\uFF08\u5982 Get-Process:*\uFF09",
40364
40371
  "permissions.describeAllowPlaceholder": "\u63CF\u8FF0\u5141\u8BB8\u7684\u5185\u5BB9\u2026",
@@ -40638,6 +40645,7 @@ var init_ui_common2 = __esm(() => {
40638
40645
  "mcp.required": "\uFF08\u5FC5\u586B\uFF09",
40639
40646
  "mcp.unknown": "\u672A\u77E5",
40640
40647
  "mcp.failedToParse": "\u89E3\u6790\u5931\u8D25",
40648
+ "mcp.notConfigured": "\u672A\u914D\u7F6E",
40641
40649
  "mcp.containsWarnings": "\u5305\u542B\u8B66\u544A",
40642
40650
  "mcp.location": "\u4F4D\u7F6E\uFF1A",
40643
40651
  "mcp.errorTag": "[\u9519\u8BEF]",
@@ -41371,6 +41379,7 @@ var init_ui_common2 = __esm(() => {
41371
41379
  "login.consoleKeyConflict": "\u800C\u975E CoStrict Console \u5BC6\u94A5\u3002\u8BF7\u53D6\u6D88\u8BBE\u7F6E",
41372
41380
  "mcp.desktop-import-name-collision": "\u684C\u9762\u5BFC\u5165\u540D\u79F0\u51B2\u7A81",
41373
41381
  "mcp.failed": "\u5931\u8D25",
41382
+ "mcp.failedServersNotice": "{count} \u4E2A MCP \u670D\u52A1\u5668\u5931\u8D25",
41374
41383
  "mcp.more-below": "\u4E0B\u65B9\u8FD8\u6709\u66F4\u591A",
41375
41384
  "mcp.needs-auth": "\u9700\u8981\u8BA4\u8BC1",
41376
41385
  "mcp.return-after-auth": "\u8BA4\u8BC1\u540E\u8FD4\u56DE",
@@ -44080,6 +44089,7 @@ var init_ui_components2 = __esm(() => {
44080
44089
  "components.retry": "\u91CD\u8BD5",
44081
44090
  "components.retrying": "\u91CD\u8BD5\u4E2D",
44082
44091
  "components.retrying.in": "\u5C06\u5728\u4EE5\u4E0B\u65F6\u95F4\u540E\u91CD\u8BD5",
44092
+ "components.retrying.in.detail": "\u5C06\u5728 {seconds} \u79D2\u540E\u91CD\u8BD5\uFF08\u7B2C {attempt}/{max} \u6B21\uFF09",
44083
44093
  "components.review.the.requested.local.action.before.continuing": "\u7EE7\u7EED\u524D\u8BF7\u5BA1\u67E5\u8BF7\u6C42\u7684\u672C\u5730\u64CD\u4F5C",
44084
44094
  "components.reviewing": "\u5BA1\u67E5\u4E2D",
44085
44095
  "components.rewind": "\u56DE\u9000",
@@ -44369,7 +44379,7 @@ var init_ui_components2 = __esm(() => {
44369
44379
  "components.shortcuts.disable": "\u7981\u7528",
44370
44380
  "components.shortcuts.close": "\u5173\u95ED",
44371
44381
  "components.shortcuts.clear": "\u6E05\u9664",
44372
- "components.shortcuts.connector": "\u5230",
44382
+ "components.shortcuts.connector": "",
44373
44383
  "components.shortcuts.confirm": "\u786E\u8BA4",
44374
44384
  "components.shortcuts.add": "\u6DFB\u52A0",
44375
44385
  "components.shortcuts.complete": "\u8865\u5168",
@@ -63870,8 +63880,8 @@ var init_credentials = __esm(() => {
63870
63880
  import { createRequire } from "module";
63871
63881
  function getVersion() {
63872
63882
  try {
63873
- if (typeof MACRO !== "undefined" && "4.2.5")
63874
- return "4.2.5";
63883
+ if (typeof MACRO !== "undefined" && "4.2.6-beta")
63884
+ return "4.2.6-beta";
63875
63885
  } catch {}
63876
63886
  try {
63877
63887
  const require2 = createRequire(import.meta.url);
@@ -215858,7 +215868,7 @@ async function fetchCoStrictModels(baseUrl, accessToken) {
215858
215868
  headers: {
215859
215869
  Authorization: `Bearer ${accessToken}`,
215860
215870
  Accept: "application/json",
215861
- "User-Agent": `csc/${"4.2.5"}`
215871
+ "User-Agent": `csc/${"4.2.6-beta"}`
215862
215872
  },
215863
215873
  signal: controller.signal
215864
215874
  });
@@ -219444,7 +219454,7 @@ var init_auth7 = __esm(() => {
219444
219454
 
219445
219455
  // src/utils/userAgent.ts
219446
219456
  function getClaudeCodeUserAgent() {
219447
- return `costrict/${"4.2.5"}`;
219457
+ return `costrict/${"4.2.6-beta"}`;
219448
219458
  }
219449
219459
 
219450
219460
  // src/utils/workloadContext.ts
@@ -219466,7 +219476,7 @@ function getUserAgent() {
219466
219476
  const clientApp = process.env.CLAUDE_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.CLAUDE_AGENT_SDK_CLIENT_APP}` : "";
219467
219477
  const workload = getWorkload();
219468
219478
  const workloadSuffix = workload ? `, workload/${workload}` : "";
219469
- return `csc/${"4.2.5"}`;
219479
+ return `csc/${"4.2.6-beta"}`;
219470
219480
  }
219471
219481
  function getMCPUserAgent() {
219472
219482
  const parts = [];
@@ -219480,7 +219490,7 @@ function getMCPUserAgent() {
219480
219490
  parts.push(`client-app/${process.env.CLAUDE_AGENT_SDK_CLIENT_APP}`);
219481
219491
  }
219482
219492
  const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
219483
- return `csc/${"4.2.5"}${suffix}`;
219493
+ return `csc/${"4.2.6-beta"}${suffix}`;
219484
219494
  }
219485
219495
  function getWebFetchUserAgent() {
219486
219496
  return `Claude-User (${getClaudeCodeUserAgent()}; +https://support.anthropic.com/)`;
@@ -219600,7 +219610,7 @@ var init_user = __esm(() => {
219600
219610
  deviceId,
219601
219611
  sessionId: getSessionId(),
219602
219612
  email: getEmail(),
219603
- appVersion: "4.2.5",
219613
+ appVersion: "4.2.6-beta",
219604
219614
  platform: getHostPlatformForAnalytics(),
219605
219615
  organizationUuid,
219606
219616
  accountUuid,
@@ -229100,7 +229110,7 @@ var init_metadata = __esm(() => {
229100
229110
  COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
229101
229111
  WHITESPACE_REGEX = /\s+/;
229102
229112
  getVersionBase = memoize_default(() => {
229103
- const match = "4.2.5".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
229113
+ const match = "4.2.6-beta".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
229104
229114
  return match ? match[0] : undefined;
229105
229115
  });
229106
229116
  buildEnvContext = memoize_default(async () => {
@@ -229140,9 +229150,9 @@ var init_metadata = __esm(() => {
229140
229150
  isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
229141
229151
  isClaudeCodeAction: isEnvTruthy(process.env.CLAUDE_CODE_ACTION),
229142
229152
  isClaudeAiAuth: isClaudeAISubscriber(),
229143
- version: "4.2.5",
229153
+ version: "4.2.6-beta",
229144
229154
  versionBase: getVersionBase(),
229145
- buildTime: "2026-06-18T03:39:27.400Z",
229155
+ buildTime: "2026-06-22T11:00:03.039Z",
229146
229156
  deploymentEnvironment: env4.detectDeploymentEnvironment(),
229147
229157
  ...isEnvTruthy(process.env.GITHUB_ACTIONS) && {
229148
229158
  githubEventName: process.env.GITHUB_EVENT_NAME,
@@ -229813,7 +229823,7 @@ function initialize1PEventLogging() {
229813
229823
  const platform3 = getPlatform();
229814
229824
  const attributes = {
229815
229825
  [import_semantic_conventions2.ATTR_SERVICE_NAME]: "claude-code",
229816
- [import_semantic_conventions2.ATTR_SERVICE_VERSION]: "4.2.5"
229826
+ [import_semantic_conventions2.ATTR_SERVICE_VERSION]: "4.2.6-beta"
229817
229827
  };
229818
229828
  if (platform3 === "wsl") {
229819
229829
  const wslVersion = getWslVersion();
@@ -229840,7 +229850,7 @@ function initialize1PEventLogging() {
229840
229850
  })
229841
229851
  ]
229842
229852
  });
229843
- firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.anthropic.claude_code.events", "4.2.5");
229853
+ firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.anthropic.claude_code.events", "4.2.6-beta");
229844
229854
  }
229845
229855
  async function reinitialize1PEventLoggingIfConfigChanged() {
229846
229856
  if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
@@ -232016,27 +232026,33 @@ function KeyboardShortcutHint({ shortcut, action, connector = "to", parens = fal
232016
232026
  bold: true,
232017
232027
  children: shortcut
232018
232028
  }) : shortcut;
232029
+ const connectorText = connector.trim();
232030
+ const hint = connectorText ? /* @__PURE__ */ jsx_runtime23.jsxs(jsx_runtime23.Fragment, {
232031
+ children: [
232032
+ shortcutText,
232033
+ " ",
232034
+ connectorText,
232035
+ " ",
232036
+ action
232037
+ ]
232038
+ }) : /* @__PURE__ */ jsx_runtime23.jsxs(jsx_runtime23.Fragment, {
232039
+ children: [
232040
+ shortcutText,
232041
+ " ",
232042
+ action
232043
+ ]
232044
+ });
232019
232045
  if (parens) {
232020
232046
  return /* @__PURE__ */ jsx_runtime23.jsxs(Text, {
232021
232047
  children: [
232022
232048
  "(",
232023
- shortcutText,
232024
- " ",
232025
- connector,
232026
- " ",
232027
- action,
232049
+ hint,
232028
232050
  ")"
232029
232051
  ]
232030
232052
  });
232031
232053
  }
232032
- return /* @__PURE__ */ jsx_runtime23.jsxs(Text, {
232033
- children: [
232034
- shortcutText,
232035
- " ",
232036
- connector,
232037
- " ",
232038
- action
232039
- ]
232054
+ return /* @__PURE__ */ jsx_runtime23.jsx(Text, {
232055
+ children: hint
232040
232056
  });
232041
232057
  }
232042
232058
  var jsx_runtime23;
@@ -410128,7 +410144,7 @@ function getTelemetryAttributes() {
410128
410144
  attributes["session.id"] = sessionId;
410129
410145
  }
410130
410146
  if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
410131
- attributes["app.version"] = "4.2.5";
410147
+ attributes["app.version"] = "4.2.6-beta";
410132
410148
  }
410133
410149
  const oauthAccount = getOauthAccountInfo();
410134
410150
  if (oauthAccount) {
@@ -443665,7 +443681,7 @@ function initLangfuse() {
443665
443681
  flushInterval: parseInt(process.env.LANGFUSE_FLUSH_INTERVAL ?? "10", 10),
443666
443682
  mask: maskFn,
443667
443683
  environment: process.env.LANGFUSE_TRACING_ENVIRONMENT ?? "development",
443668
- release: "4.2.5",
443684
+ release: "4.2.6-beta",
443669
443685
  exportMode: process.env.LANGFUSE_EXPORT_MODE ?? "batched",
443670
443686
  timeout: parseInt(process.env.LANGFUSE_TIMEOUT ?? "5", 10)
443671
443687
  });
@@ -475558,7 +475574,7 @@ function initSentry() {
475558
475574
  }
475559
475575
  init3({
475560
475576
  dsn,
475561
- release: typeof MACRO !== "undefined" ? "4.2.5" : undefined,
475577
+ release: typeof MACRO !== "undefined" ? "4.2.6-beta" : undefined,
475562
475578
  environment: typeof BUILD_ENV !== "undefined" ? BUILD_ENV : "production",
475563
475579
  maxBreadcrumbs: 20,
475564
475580
  sampleRate: 1,
@@ -503445,7 +503461,7 @@ async function initializeBetaTracing(resource) {
503445
503461
  });
503446
503462
  logs.setGlobalLoggerProvider(loggerProvider);
503447
503463
  setLoggerProvider(loggerProvider);
503448
- const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "4.2.5");
503464
+ const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "4.2.6-beta");
503449
503465
  setEventLogger(eventLogger);
503450
503466
  process.on("beforeExit", async () => {
503451
503467
  await loggerProvider?.forceFlush();
@@ -503485,7 +503501,7 @@ async function initializeTelemetry() {
503485
503501
  const platform5 = getPlatform();
503486
503502
  const baseAttributes = {
503487
503503
  [import_semantic_conventions29.ATTR_SERVICE_NAME]: "claude-code",
503488
- [import_semantic_conventions29.ATTR_SERVICE_VERSION]: "4.2.5"
503504
+ [import_semantic_conventions29.ATTR_SERVICE_VERSION]: "4.2.6-beta"
503489
503505
  };
503490
503506
  if (platform5 === "wsl") {
503491
503507
  const wslVersion = getWslVersion();
@@ -503530,7 +503546,7 @@ async function initializeTelemetry() {
503530
503546
  } catch {}
503531
503547
  };
503532
503548
  registerCleanup(shutdownTelemetry2);
503533
- return meterProvider2.getMeter("com.anthropic.claude_code", "4.2.5");
503549
+ return meterProvider2.getMeter("com.anthropic.claude_code", "4.2.6-beta");
503534
503550
  }
503535
503551
  const meterProvider = new import_sdk_metrics2.MeterProvider({
503536
503552
  resource,
@@ -503550,7 +503566,7 @@ async function initializeTelemetry() {
503550
503566
  });
503551
503567
  logs.setGlobalLoggerProvider(loggerProvider);
503552
503568
  setLoggerProvider(loggerProvider);
503553
- const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "4.2.5");
503569
+ const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "4.2.6-beta");
503554
503570
  setEventLogger(eventLogger);
503555
503571
  logForDebugging("[3P telemetry] Event logger set successfully");
503556
503572
  process.on("beforeExit", async () => {
@@ -503612,7 +503628,7 @@ Current timeout: ${timeoutMs}ms
503612
503628
  }
503613
503629
  };
503614
503630
  registerCleanup(shutdownTelemetry);
503615
- return meterProvider.getMeter("com.anthropic.claude_code", "4.2.5");
503631
+ return meterProvider.getMeter("com.anthropic.claude_code", "4.2.6-beta");
503616
503632
  }
503617
503633
  async function flushTelemetry() {
503618
503634
  const meterProvider = getMeterProvider();
@@ -504671,7 +504687,7 @@ async function installGlobalPackage(specificVersion) {
504671
504687
  logError3(new AutoUpdaterError("Another process is currently installing an update"));
504672
504688
  logEvent("tengu_auto_updater_lock_contention", {
504673
504689
  pid: process.pid,
504674
- currentVersion: "4.2.5"
504690
+ currentVersion: "4.2.6-beta"
504675
504691
  });
504676
504692
  return { status: "in_progress" };
504677
504693
  }
@@ -504680,7 +504696,7 @@ async function installGlobalPackage(specificVersion) {
504680
504696
  if (!env4.isRunningWithBun() && env4.isNpmFromWindowsPath()) {
504681
504697
  logError3(new Error("Windows NPM detected in WSL environment"));
504682
504698
  logEvent("tengu_auto_updater_windows_npm_in_wsl", {
504683
- currentVersion: "4.2.5"
504699
+ currentVersion: "4.2.6-beta"
504684
504700
  });
504685
504701
  return {
504686
504702
  status: "install_failed",
@@ -505226,7 +505242,7 @@ function detectLinuxGlobPatternWarnings() {
505226
505242
  }
505227
505243
  async function getDoctorDiagnostic() {
505228
505244
  const installationType = await getCurrentInstallationType();
505229
- const version7 = typeof MACRO !== "undefined" ? "4.2.5" : "unknown";
505245
+ const version7 = typeof MACRO !== "undefined" ? "4.2.6-beta" : "unknown";
505230
505246
  const installationPath = await getInstallationPath();
505231
505247
  const invokedBinary = getInvokedBinary();
505232
505248
  const multipleInstallations = await detectMultipleInstallations();
@@ -508272,6 +508288,7 @@ var init_defaultBindings = __esm(() => {
508272
508288
  escape: "confirm:no",
508273
508289
  y: "confirm:yes",
508274
508290
  n: "confirm:no",
508291
+ N: "confirm:no",
508275
508292
  \u{662f}: "confirm:yes",
508276
508293
  \u{5426}: "confirm:no",
508277
508294
  up: "confirm:previous",
@@ -508298,9 +508315,7 @@ var init_defaultBindings = __esm(() => {
508298
508315
  tab: "tabs:next",
508299
508316
  "shift+tab": "tabs:previous",
508300
508317
  right: "tabs:next",
508301
- left: "tabs:previous",
508302
- up: "tabs:previous",
508303
- down: "tabs:next"
508318
+ left: "tabs:previous"
508304
508319
  }
508305
508320
  },
508306
508321
  {
@@ -512918,7 +512933,7 @@ function getProjectMcpConfigsFromCwd() {
512918
512933
  scope: "project"
512919
512934
  });
512920
512935
  if (!config10) {
512921
- const nonMissingErrors = errors10.filter((e7) => !e7.message.startsWith("MCP config file not found"));
512936
+ const nonMissingErrors = errors10.filter((e7) => e7.mcpErrorMetadata?.errorType !== "file_not_found");
512922
512937
  if (nonMissingErrors.length > 0) {
512923
512938
  logForDebugging(`MCP config errors for ${mcpJsonPath}: ${jsonStringify(nonMissingErrors.map((e7) => e7.message))}`, { level: "error" });
512924
512939
  return { servers: {}, errors: nonMissingErrors };
@@ -512957,7 +512972,7 @@ function getMcpConfigsByScope(scope) {
512957
512972
  scope: "project"
512958
512973
  });
512959
512974
  if (!config10) {
512960
- const nonMissingErrors = errors10.filter((e7) => !e7.message.startsWith("MCP config file not found"));
512975
+ const nonMissingErrors = errors10.filter((e7) => e7.mcpErrorMetadata?.errorType !== "file_not_found");
512961
512976
  if (nonMissingErrors.length > 0) {
512962
512977
  logForDebugging(`MCP config errors for ${mcpJsonPath}: ${jsonStringify(nonMissingErrors.map((e7) => e7.message))}`, { level: "error" });
512963
512978
  allErrors.push(...nonMissingErrors);
@@ -513014,7 +513029,7 @@ function getMcpConfigsByScope(scope) {
513014
513029
  scope: "enterprise"
513015
513030
  });
513016
513031
  if (!config10) {
513017
- const nonMissingErrors = errors10.filter((e7) => !e7.message.startsWith("MCP config file not found"));
513032
+ const nonMissingErrors = errors10.filter((e7) => e7.mcpErrorMetadata?.errorType !== "file_not_found");
513018
513033
  if (nonMissingErrors.length > 0) {
513019
513034
  logForDebugging(`Enterprise MCP config errors for ${enterpriseMcpPath}: ${jsonStringify(nonMissingErrors.map((e7) => e7.message))}`, { level: "error" });
513020
513035
  return { servers: {}, errors: nonMissingErrors };
@@ -513162,7 +513177,8 @@ function parseMcpConfig(params) {
513162
513177
  message: t("mcp.config.schemaInvalid"),
513163
513178
  mcpErrorMetadata: {
513164
513179
  scope,
513165
- severity: "fatal"
513180
+ severity: "fatal",
513181
+ errorType: "parse_error"
513166
513182
  }
513167
513183
  }))
513168
513184
  };
@@ -513228,7 +513244,8 @@ function parseMcpConfigFromFilePath(params) {
513228
513244
  suggestion: t("mcp.config.suggestionCheckPath"),
513229
513245
  mcpErrorMetadata: {
513230
513246
  scope,
513231
- severity: "fatal"
513247
+ severity: "fatal",
513248
+ errorType: "file_not_found"
513232
513249
  }
513233
513250
  }
513234
513251
  ]
@@ -513245,7 +513262,8 @@ function parseMcpConfigFromFilePath(params) {
513245
513262
  suggestion: t("mcp.config.suggestionCheckPermissions"),
513246
513263
  mcpErrorMetadata: {
513247
513264
  scope,
513248
- severity: "fatal"
513265
+ severity: "fatal",
513266
+ errorType: "read_error"
513249
513267
  }
513250
513268
  }
513251
513269
  ]
@@ -513264,7 +513282,8 @@ function parseMcpConfigFromFilePath(params) {
513264
513282
  suggestion: t("mcp.config.suggestionFixJson"),
513265
513283
  mcpErrorMetadata: {
513266
513284
  scope,
513267
- severity: "fatal"
513285
+ severity: "fatal",
513286
+ errorType: "parse_error"
513268
513287
  }
513269
513288
  }
513270
513289
  ]
@@ -543384,7 +543403,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
543384
543403
  const client10 = new Client3({
543385
543404
  name: "claude-code",
543386
543405
  title: "CoStrict",
543387
- version: "4.2.5",
543406
+ version: "4.2.6-beta",
543388
543407
  description: "CoStrict agentic coding tool",
543389
543408
  websiteUrl: PRODUCT_URL
543390
543409
  }, {
@@ -543755,7 +543774,7 @@ var init_client17 = __esm(() => {
543755
543774
  const client10 = new Client3({
543756
543775
  name: "claude-code",
543757
543776
  title: "CoStrict",
543758
- version: "4.2.5",
543777
+ version: "4.2.6-beta",
543759
543778
  description: "CoStrict agentic coding tool",
543760
543779
  websiteUrl: PRODUCT_URL
543761
543780
  }, {
@@ -545133,7 +545152,7 @@ function getInstallationEnv() {
545133
545152
  return;
545134
545153
  }
545135
545154
  function getClaudeCodeVersion() {
545136
- return "4.2.5";
545155
+ return "4.2.6-beta";
545137
545156
  }
545138
545157
  async function getInstalledVSCodeExtensionVersion(command4) {
545139
545158
  const { stdout } = await execFileNoThrow2(command4, ["--list-extensions", "--show-versions"], {
@@ -546497,8 +546516,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
546497
546516
  const maxVersion = await getMaxVersion();
546498
546517
  if (maxVersion && gt(version8, maxVersion)) {
546499
546518
  logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version8} to ${maxVersion}`);
546500
- if (gte2("4.2.5", maxVersion)) {
546501
- logForDebugging(`Native installer: current version ${"4.2.5"} is already at or above maxVersion ${maxVersion}, skipping update`);
546519
+ if (gte2("4.2.6-beta", maxVersion)) {
546520
+ logForDebugging(`Native installer: current version ${"4.2.6-beta"} is already at or above maxVersion ${maxVersion}, skipping update`);
546502
546521
  logEvent("tengu_native_update_skipped_max_version", {
546503
546522
  latency_ms: Date.now() - startTime2,
546504
546523
  max_version: maxVersion,
@@ -546509,7 +546528,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
546509
546528
  version8 = maxVersion;
546510
546529
  }
546511
546530
  }
546512
- if (!forceReinstall && version8 === "4.2.5" && await versionIsAvailable(version8) && await isPossibleClaudeBinary(executablePath)) {
546531
+ if (!forceReinstall && version8 === "4.2.6-beta" && await versionIsAvailable(version8) && await isPossibleClaudeBinary(executablePath)) {
546513
546532
  logForDebugging(`Found ${version8} at ${executablePath}, skipping install`);
546514
546533
  logEvent("tengu_native_update_complete", {
546515
546534
  latency_ms: Date.now() - startTime2,
@@ -571741,17 +571760,11 @@ function SystemAPIErrorMessage({
571741
571760
  /* @__PURE__ */ jsx_runtime111.jsxs(ThemedText, {
571742
571761
  dimColor: true,
571743
571762
  children: [
571744
- t("components.retrying.in"),
571745
- " ",
571746
- retryInSecondsLive,
571747
- " ",
571748
- retryInSecondsLive === 1 ? "second" : "seconds",
571749
- t("components.attempt"),
571750
- " ",
571751
- _retryAttempt,
571752
- "/",
571753
- _maxRetries,
571754
- ")",
571763
+ t("components.retrying.in.detail", {
571764
+ seconds: String(retryInSecondsLive),
571765
+ attempt: String(_retryAttempt),
571766
+ max: String(_maxRetries)
571767
+ }),
571755
571768
  process.env.API_TIMEOUT_MS ? ` \xB7 API_TIMEOUT_MS=${process.env.API_TIMEOUT_MS}ms, try increasing it` : ""
571756
571769
  ]
571757
571770
  })
@@ -653682,6 +653695,72 @@ var init_sessionDataUploader = __esm(() => {
653682
653695
  init_state();
653683
653696
  });
653684
653697
 
653698
+ // src/services/compact/reactiveCompact.ts
653699
+ var exports_reactiveCompact = {};
653700
+ __export(exports_reactiveCompact, {
653701
+ tryReactiveCompact: () => tryReactiveCompact,
653702
+ reactiveCompactOnPromptTooLong: () => reactiveCompactOnPromptTooLong,
653703
+ isWithheldPromptTooLong: () => isWithheldPromptTooLong,
653704
+ isWithheldMediaSizeError: () => isWithheldMediaSizeError,
653705
+ isReactiveOnlyMode: () => isReactiveOnlyMode,
653706
+ isReactiveCompactEnabled: () => isReactiveCompactEnabled
653707
+ });
653708
+ var isReactiveOnlyMode = () => false, reactiveCompactOnPromptTooLong = async (messages, cacheSafeParams, options) => {
653709
+ const params = cacheSafeParams;
653710
+ try {
653711
+ const result = await compactConversation(messages, params.toolUseContext, params, true, options.customInstructions, true, {
653712
+ isRecompactionInChain: false,
653713
+ turnsSincePreviousCompact: 0,
653714
+ autoCompactThreshold: 0,
653715
+ querySource: "compact"
653716
+ });
653717
+ return { ok: true, result };
653718
+ } catch (error98) {
653719
+ logError3(error98);
653720
+ return { ok: false, reason: String(error98) };
653721
+ }
653722
+ }, isReactiveCompactEnabled = () => {
653723
+ if (isEnvTruthy(process.env.DISABLE_COMPACT))
653724
+ return false;
653725
+ return true;
653726
+ }, isWithheldPromptTooLong = (message2) => {
653727
+ if (message2.type !== "assistant" || !message2.isApiErrorMessage)
653728
+ return false;
653729
+ return isPromptTooLongMessage(message2);
653730
+ }, isWithheldMediaSizeError = (message2) => {
653731
+ if (message2.type !== "assistant" || !message2.isApiErrorMessage)
653732
+ return false;
653733
+ return isMediaSizeErrorMessage(message2);
653734
+ }, tryReactiveCompact = async ({
653735
+ hasAttempted,
653736
+ aborted: aborted4,
653737
+ messages,
653738
+ cacheSafeParams
653739
+ }) => {
653740
+ if (hasAttempted || aborted4)
653741
+ return null;
653742
+ const params = cacheSafeParams;
653743
+ try {
653744
+ const result = await compactConversation(messages, params.toolUseContext, params, true, undefined, true, {
653745
+ isRecompactionInChain: false,
653746
+ turnsSincePreviousCompact: 0,
653747
+ autoCompactThreshold: 0
653748
+ });
653749
+ return result;
653750
+ } catch (error98) {
653751
+ logForDebugging(`reactiveCompact: emergency compaction failed \u2014 ${String(error98)}`, { level: "warn" });
653752
+ logError3(error98);
653753
+ return null;
653754
+ }
653755
+ };
653756
+ var init_reactiveCompact = __esm(() => {
653757
+ init_envUtils();
653758
+ init_errors17();
653759
+ init_compact();
653760
+ init_log3();
653761
+ init_debug();
653762
+ });
653763
+
653685
653764
  // src/services/skillSearch/intentNormalize.ts
653686
653765
  function setCachedQueryIntent(key6, value) {
653687
653766
  if (cache10.has(key6))
@@ -655634,7 +655713,7 @@ async function* queryLoop(params, consumedCommandUuids) {
655634
655713
  __callDispose(__stack, _err, _hasErr);
655635
655714
  }
655636
655715
  }
655637
- var reactiveCompact = null, skillPrefetch, searchExtraToolsPrefetch, _jobClassifier, snipModule, taskSummaryModule, MAX_OUTPUT_TOKENS_RECOVERY_LIMIT = 3, MISSING_TOOL_USE_RECOVERY_MESSAGE = "Your previous response ended with stop_reason=tool_use but did not include a tool_use block. Continue by issuing the missing tool call now. If the user asked to update task state, call TaskUpdate with the appropriate taskId and status; do not just describe the action.", COSTRICT_TASK_TOOL_USE_RECOVERY_MESSAGE = "Your previous response ended with stop_reason=tool_use but did not include a tool_use block. Continue by issuing the missing tool call now. For task checklist updates in CoStrict, call update_todo_list with the complete markdown checklist using [ ], [-], and [x] markers; do not just describe the action.", MISSING_TOOL_USE_FAILURE_MESSAGE = "Model response error: the model indicated it wanted to call a tool, but no tool call was provided after retry. The requested action did not run.", TASK_TOOL_USE_FAILURE_MESSAGE = "Task tool call failed: the model ended with stop_reason=tool_use but did not provide the required task tool call. The requested task action did not run.", COSTRICT_TASK_TOOL_USE_FAILURE_MESSAGE = "Task checklist update failed: the model ended with stop_reason=tool_use but did not call update_todo_list. The requested task action did not run.", TASK_TOOL_NAMES;
655716
+ var reactiveCompact, skillPrefetch, searchExtraToolsPrefetch, _jobClassifier, snipModule, taskSummaryModule, MAX_OUTPUT_TOKENS_RECOVERY_LIMIT = 3, MISSING_TOOL_USE_RECOVERY_MESSAGE = "Your previous response ended with stop_reason=tool_use but did not include a tool_use block. Continue by issuing the missing tool call now. If the user asked to update task state, call TaskUpdate with the appropriate taskId and status; do not just describe the action.", COSTRICT_TASK_TOOL_USE_RECOVERY_MESSAGE = "Your previous response ended with stop_reason=tool_use but did not include a tool_use block. Continue by issuing the missing tool call now. For task checklist updates in CoStrict, call update_todo_list with the complete markdown checklist using [ ], [-], and [x] markers; do not just describe the action.", MISSING_TOOL_USE_FAILURE_MESSAGE = "Model response error: the model indicated it wanted to call a tool, but no tool call was provided after retry. The requested action did not run.", TASK_TOOL_USE_FAILURE_MESSAGE = "Task tool call failed: the model ended with stop_reason=tool_use but did not provide the required task tool call. The requested task action did not run.", COSTRICT_TASK_TOOL_USE_FAILURE_MESSAGE = "Task checklist update failed: the model ended with stop_reason=tool_use but did not call update_todo_list. The requested task action did not run.", TASK_TOOL_NAMES;
655638
655717
  var init_query5 = __esm(() => {
655639
655718
  init_withRetry();
655640
655719
  init_autoCompact();
@@ -655676,6 +655755,7 @@ var init_query5 = __esm(() => {
655676
655755
  init_langfuse();
655677
655756
  init_providers();
655678
655757
  init_sessionDataUploader();
655758
+ reactiveCompact = (init_reactiveCompact(), __toCommonJS(exports_reactiveCompact));
655679
655759
  skillPrefetch = (init_prefetch(), __toCommonJS(exports_prefetch));
655680
655760
  searchExtraToolsPrefetch = (init_prefetch2(), __toCommonJS(exports_prefetch2));
655681
655761
  _jobClassifier = (init_classifier(), __toCommonJS(exports_classifier));
@@ -657958,7 +658038,11 @@ async function shouldAutoCompact(messages, model, querySource, snipTokensFreed =
657958
658038
  if (!isAutoCompactEnabled()) {
657959
658039
  return false;
657960
658040
  }
657961
- if (false) {}
658041
+ if (true) {
658042
+ if (getFeatureValue_CACHED_MAY_BE_STALE("tengu_cobalt_raccoon", false)) {
658043
+ return false;
658044
+ }
658045
+ }
657962
658046
  if (false) {}
657963
658047
  const tokenCount = tokenCountWithEstimation(messages) - snipTokensFreed;
657964
658048
  const threshold = getAutoCompactThreshold(model);
@@ -658617,7 +658701,11 @@ async function analyzeContextUsage(messages, model, getToolPermissionContext, to
658617
658701
  const actualUsage = cats.reduce((sum, cat2) => sum + (cat2.isDeferred ? 0 : cat2.tokens), 0);
658618
658702
  let reservedTokens = 0;
658619
658703
  let skipReservedBuffer = false;
658620
- if (false) {}
658704
+ if (true) {
658705
+ if (getFeatureValue_CACHED_MAY_BE_STALE("tengu_cobalt_raccoon", false)) {
658706
+ skipReservedBuffer = true;
658707
+ }
658708
+ }
658621
658709
  if (false) {}
658622
658710
  if (skipReservedBuffer) {} else if (isAutoCompact && autoCompactThreshold !== undefined) {
658623
658711
  reservedTokens = contextWindow - autoCompactThreshold;
@@ -672152,6 +672240,12 @@ function getPromptTooLongTokenGap(msg) {
672152
672240
  const gap = actualTokens - limitTokens;
672153
672241
  return gap > 0 ? gap : undefined;
672154
672242
  }
672243
+ function isMediaSizeError(raw) {
672244
+ return raw.includes("image exceeds") && raw.includes("maximum") || raw.includes("image dimensions exceed") && raw.includes("many-image") || /maximum of \d+ PDF pages/.test(raw);
672245
+ }
672246
+ function isMediaSizeErrorMessage(msg) {
672247
+ return msg.isApiErrorMessage === true && msg.errorDetails !== undefined && isMediaSizeError(msg.errorDetails);
672248
+ }
672155
672249
  function getPdfTooLargeErrorMessage() {
672156
672250
  const limits = `max ${API_PDF_MAX_PAGES} pages, ${formatFileSize(PDF_TARGET_RAW_SIZE)}`;
672157
672251
  return getIsNonInteractiveSession() ? `PDF too large (${limits}). Try reading the file a different way (e.g., extract text with pdftotext).` : `PDF too large (${limits}). Double press esc to go back and try again, or use pdftotext to convert to text first.`;
@@ -680738,7 +680832,7 @@ function Feedback({
680738
680832
  platform: env4.platform,
680739
680833
  gitRepo: envInfo.isGit,
680740
680834
  terminal: env4.terminal,
680741
- version: "4.2.5",
680835
+ version: "4.2.6-beta",
680742
680836
  transcript: normalizeMessagesForAPI(messages),
680743
680837
  errors: sanitizedErrors,
680744
680838
  lastApiRequest: getLastAPIRequest(),
@@ -680921,7 +681015,7 @@ function Feedback({
680921
681015
  ", ",
680922
681016
  env4.terminal,
680923
681017
  ", v",
680924
- "4.2.5"
681018
+ "4.2.6-beta"
680925
681019
  ]
680926
681020
  })
680927
681021
  ]
@@ -681018,7 +681112,7 @@ ${sanitizedDescription}
681018
681112
  ` + `**Environment Info**
681019
681113
  ` + `- Platform: ${env4.platform}
681020
681114
  ` + `- Terminal: ${env4.terminal}
681021
- ` + `- Version: ${"4.2.5"}
681115
+ ` + `- Version: ${"4.2.6-beta"}
681022
681116
  ` + `- Feedback ID: ${feedbackId}
681023
681117
  ` + `
681024
681118
  **Errors**
@@ -683136,7 +683230,7 @@ async function getCacheSharingParams(context40, forkContextMessages) {
683136
683230
  forkContextMessages
683137
683231
  };
683138
683232
  }
683139
- var reactiveCompact2 = null, call13 = async (args, context40) => {
683233
+ var reactiveCompact2, call13 = async (args, context40) => {
683140
683234
  const { abortController } = context40;
683141
683235
  let { messages } = context40;
683142
683236
  messages = getMessagesAfterCompactBoundary(messages);
@@ -683209,6 +683303,7 @@ var init_compact2 = __esm(() => {
683209
683303
  init_messages7();
683210
683304
  init_contextWindowUpgradeCheck();
683211
683305
  init_systemPrompt();
683306
+ reactiveCompact2 = (init_reactiveCompact(), __toCommonJS(exports_reactiveCompact));
683212
683307
  });
683213
683308
 
683214
683309
  // src/commands/compact/index.ts
@@ -683237,7 +683332,7 @@ function buildPrimarySection() {
683237
683332
  children: t("settings.status.renameHint")
683238
683333
  });
683239
683334
  return [
683240
- { label: t("settings.status.version"), value: "4.2.5" },
683335
+ { label: t("settings.status.version"), value: "4.2.6-beta" },
683241
683336
  { label: t("settings.status.sessionName"), value: nameValue },
683242
683337
  { label: t("settings.status.sessionId"), value: sessionId },
683243
683338
  { label: t("settings.status.cwd"), value: getCwd() },
@@ -685707,7 +685802,9 @@ function Config({
685707
685802
  "select:previous": () => {
685708
685803
  if (selectedIndex === 0) {
685709
685804
  setShowThinkingWarning(false);
685710
- focusHeader();
685805
+ setIsSearchMode(true);
685806
+ setSearchQuery("");
685807
+ setScrollOffset(0);
685711
685808
  } else {
685712
685809
  moveSelection(-1);
685713
685810
  }
@@ -686057,7 +686154,7 @@ function Config({
686057
686154
  }
686058
686155
  })
686059
686156
  }) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_runtime191.jsx(ChannelDowngradeDialog, {
686060
- currentVersion: "4.2.5",
686157
+ currentVersion: "4.2.6-beta",
686061
686158
  onChoice: (choice) => {
686062
686159
  setShowSubmenu(null);
686063
686160
  setTabsHidden(false);
@@ -686069,7 +686166,7 @@ function Config({
686069
686166
  autoUpdatesChannel: "stable"
686070
686167
  };
686071
686168
  if (choice === "stay") {
686072
- newSettings.minimumVersion = "4.2.5";
686169
+ newSettings.minimumVersion = "4.2.6-beta";
686073
686170
  }
686074
686171
  updateSettingsForSource("userSettings", newSettings);
686075
686172
  setSettingsData((prev) => ({
@@ -689104,22 +689201,27 @@ function McpConfigErrorSection({
689104
689201
  parsingErrors,
689105
689202
  warnings
689106
689203
  }) {
689107
- const hasErrors = parsingErrors.length > 0;
689204
+ const fileNotFoundErrors = parsingErrors.filter((e7) => e7.mcpErrorMetadata?.errorType === "file_not_found");
689205
+ const realParseErrors = parsingErrors.filter((e7) => e7.mcpErrorMetadata?.errorType !== "file_not_found");
689206
+ const hasFileNotFoundOnly = fileNotFoundErrors.length > 0 && realParseErrors.length === 0;
689207
+ const hasRealErrors = realParseErrors.length > 0;
689108
689208
  const hasWarnings = warnings.length > 0;
689109
- if (!hasErrors && !hasWarnings) {
689209
+ if (!hasRealErrors && !hasFileNotFoundOnly && !hasWarnings) {
689110
689210
  return null;
689111
689211
  }
689212
+ const labelKey = hasRealErrors ? "mcp.failedToParse" : hasFileNotFoundOnly ? "mcp.notConfigured" : "mcp.containsWarnings";
689213
+ const labelColor = hasRealErrors ? "error" : hasFileNotFoundOnly ? "warning" : "warning";
689112
689214
  return /* @__PURE__ */ jsx_runtime206.jsxs(ThemedBox_default, {
689113
689215
  flexDirection: "column",
689114
689216
  marginTop: 1,
689115
689217
  children: [
689116
689218
  /* @__PURE__ */ jsx_runtime206.jsxs(ThemedBox_default, {
689117
689219
  children: [
689118
- (hasErrors || hasWarnings) && /* @__PURE__ */ jsx_runtime206.jsxs(ThemedText, {
689119
- color: hasErrors ? "error" : "warning",
689220
+ /* @__PURE__ */ jsx_runtime206.jsxs(ThemedText, {
689221
+ color: labelColor,
689120
689222
  children: [
689121
689223
  "[",
689122
- hasErrors ? t("mcp.failedToParse") : t("mcp.containsWarnings"),
689224
+ t(labelKey),
689123
689225
  "]",
689124
689226
  " "
689125
689227
  ]
@@ -689148,7 +689250,7 @@ function McpConfigErrorSection({
689148
689250
  marginLeft: 1,
689149
689251
  flexDirection: "column",
689150
689252
  children: [
689151
- parsingErrors.map((error98, i10) => {
689253
+ realParseErrors.map((error98, i10) => {
689152
689254
  const serverName = error98.mcpErrorMetadata?.serverName;
689153
689255
  return /* @__PURE__ */ jsx_runtime206.jsx(ThemedBox_default, {
689154
689256
  children: /* @__PURE__ */ jsx_runtime206.jsxs(ThemedText, {
@@ -689174,6 +689276,22 @@ function McpConfigErrorSection({
689174
689276
  })
689175
689277
  }, `error-${i10}`);
689176
689278
  }),
689279
+ fileNotFoundErrors.map((error98, i10) => {
689280
+ return /* @__PURE__ */ jsx_runtime206.jsx(ThemedBox_default, {
689281
+ children: /* @__PURE__ */ jsx_runtime206.jsxs(ThemedText, {
689282
+ children: [
689283
+ /* @__PURE__ */ jsx_runtime206.jsx(ThemedText, {
689284
+ dimColor: true,
689285
+ children: "\u2514 "
689286
+ }),
689287
+ /* @__PURE__ */ jsx_runtime206.jsx(ThemedText, {
689288
+ dimColor: true,
689289
+ children: error98.message
689290
+ })
689291
+ ]
689292
+ })
689293
+ }, `fnf-${i10}`);
689294
+ }),
689177
689295
  warnings.map((warning2, i10) => {
689178
689296
  const serverName = warning2.mcpErrorMetadata?.serverName;
689179
689297
  return /* @__PURE__ */ jsx_runtime206.jsx(ThemedBox_default, {
@@ -691517,7 +691635,7 @@ function HelpV2({ onClose, commands: commands11 }) {
691517
691635
  color: "professionalBlue",
691518
691636
  children: [
691519
691637
  /* @__PURE__ */ jsx_runtime218.jsx(Tabs, {
691520
- title: process.env.USER_TYPE === "sf" ? "/help" : `CoStrict v${"4.2.5"}`,
691638
+ title: process.env.USER_TYPE === "sf" ? "/help" : `CoStrict v${"4.2.6-beta"}`,
691521
691639
  color: "professionalBlue",
691522
691640
  defaultTab: "general",
691523
691641
  children: tabs
@@ -772606,6 +772724,10 @@ function MCPRemoteServerMenu({
772606
772724
  setClaudeAIClearAuthUrl(null);
772607
772725
  setClaudeAIClearAuthBrowserOpened(false);
772608
772726
  }, [server2.name, server2.config, server2.scope, setAppState, onComplete]);
772727
+ useKeybinding("confirm:no", onCancel, {
772728
+ context: "Confirmation",
772729
+ isActive: !isAuthenticating && !isClaudeAIAuthenticating && !isClaudeAIClearingAuth && !isReconnecting
772730
+ });
772609
772731
  useKeybinding("confirm:no", () => {
772610
772732
  authAbortControllerRef.current?.abort();
772611
772733
  authAbortControllerRef.current = null;
@@ -772699,14 +772821,7 @@ function MCPRemoteServerMenu({
772699
772821
  const action2 = wasEnabled ? "disable" : "enable";
772700
772822
  onComplete?.(`Failed to ${action2} MCP server '${server2.name}': ${errorMessage(err3)}`);
772701
772823
  }
772702
- }, [
772703
- server2.client.type,
772704
- server2.config.type,
772705
- server2.name,
772706
- toggleMcpServer,
772707
- onCancel,
772708
- onComplete
772709
- ]);
772824
+ }, [server2.client.type, server2.config.type, server2.name, toggleMcpServer, onCancel, onComplete]);
772710
772825
  const handleAuthenticate = import_react144.default.useCallback(async () => {
772711
772826
  if (server2.config.type === "claudeai-proxy")
772712
772827
  return;
@@ -772750,14 +772865,7 @@ function MCPRemoteServerMenu({
772750
772865
  setManualCallbackSubmit(null);
772751
772866
  setCallbackUrlInput("");
772752
772867
  }
772753
- }, [
772754
- server2.isAuthenticated,
772755
- server2.config,
772756
- server2.name,
772757
- onComplete,
772758
- reconnectMcpServer,
772759
- isEffectivelyAuthenticated
772760
- ]);
772868
+ }, [server2.isAuthenticated, server2.config, server2.name, onComplete, reconnectMcpServer, isEffectivelyAuthenticated]);
772761
772869
  const handleClearAuth = async () => {
772762
772870
  if (server2.config.type === "claudeai-proxy")
772763
772871
  return;
@@ -772816,12 +772924,9 @@ function MCPRemoteServerMenu({
772816
772924
  children: [
772817
772925
  /* @__PURE__ */ jsx_runtime228.jsxs(ThemedBox_default, {
772818
772926
  children: [
772819
- /* @__PURE__ */ jsx_runtime228.jsxs(ThemedText, {
772927
+ /* @__PURE__ */ jsx_runtime228.jsx(ThemedText, {
772820
772928
  dimColor: true,
772821
- children: [
772822
- "If your browser doesn't open automatically, copy this URL manually",
772823
- " "
772824
- ]
772929
+ children: "If your browser doesn't open automatically, copy this URL manually "
772825
772930
  }),
772826
772931
  urlCopied ? /* @__PURE__ */ jsx_runtime228.jsx(ThemedText, {
772827
772932
  color: "success",
@@ -772916,12 +773021,9 @@ function MCPRemoteServerMenu({
772916
773021
  children: [
772917
773022
  /* @__PURE__ */ jsx_runtime228.jsxs(ThemedBox_default, {
772918
773023
  children: [
772919
- /* @__PURE__ */ jsx_runtime228.jsxs(ThemedText, {
773024
+ /* @__PURE__ */ jsx_runtime228.jsx(ThemedText, {
772920
773025
  dimColor: true,
772921
- children: [
772922
- "If your browser doesn't open automatically, copy this URL manually",
772923
- " "
772924
- ]
773026
+ children: "If your browser doesn't open automatically, copy this URL manually "
772925
773027
  }),
772926
773028
  urlCopied ? /* @__PURE__ */ jsx_runtime228.jsx(ThemedText, {
772927
773029
  color: "success",
@@ -772997,12 +773099,9 @@ function MCPRemoteServerMenu({
772997
773099
  children: [
772998
773100
  /* @__PURE__ */ jsx_runtime228.jsxs(ThemedBox_default, {
772999
773101
  children: [
773000
- /* @__PURE__ */ jsx_runtime228.jsxs(ThemedText, {
773102
+ /* @__PURE__ */ jsx_runtime228.jsx(ThemedText, {
773001
773103
  dimColor: true,
773002
- children: [
773003
- "If your browser didn't open automatically, copy this URL manually",
773004
- " "
773005
- ]
773104
+ children: "If your browser didn't open automatically, copy this URL manually "
773006
773105
  }),
773007
773106
  urlCopied ? /* @__PURE__ */ jsx_runtime228.jsx(ThemedText, {
773008
773107
  color: "success",
@@ -773485,6 +773584,10 @@ function MCPStdioServerMenu({
773485
773584
  const reconnectMcpServer = useMcpReconnect();
773486
773585
  const toggleMcpServer = useMcpToggleEnabled();
773487
773586
  const [isReconnecting, setIsReconnecting] = import_react145.useState(false);
773587
+ useKeybinding("confirm:no", onCancel, {
773588
+ context: "Confirmation",
773589
+ isActive: !isReconnecting
773590
+ });
773488
773591
  const handleToggleEnabled = import_react145.default.useCallback(async () => {
773489
773592
  const wasEnabled = server2.client.type !== "disabled";
773490
773593
  try {
@@ -773736,14 +773839,13 @@ function MCPStdioServerMenu({
773736
773839
  }),
773737
773840
  /* @__PURE__ */ jsx_runtime229.jsx(KeyboardShortcutHint, {
773738
773841
  shortcut: "Enter",
773739
- action: t("components.shortcuts.select", "select"),
773842
+ action: t("components.shortcuts.confirm", "confirm"),
773740
773843
  connector: t("components.shortcuts.connector", "to")
773741
773844
  }),
773742
- /* @__PURE__ */ jsx_runtime229.jsx(ConfigurableShortcutHint2, {
773743
- action: "confirm:no",
773744
- context: "Confirmation",
773745
- fallback: "Esc",
773746
- description: "back"
773845
+ /* @__PURE__ */ jsx_runtime229.jsx(KeyboardShortcutHint, {
773846
+ shortcut: "Esc",
773847
+ action: t("components.shortcuts.cancel", "cancel"),
773848
+ connector: t("components.shortcuts.connector", "to")
773747
773849
  })
773748
773850
  ]
773749
773851
  })
@@ -773757,6 +773859,7 @@ var init_MCPStdioServerMenu = __esm(() => {
773757
773859
  init_locales2();
773758
773860
  init_figures();
773759
773861
  init_useExitOnCtrlCDWithKeybindings();
773862
+ init_useKeybinding2();
773760
773863
  init_src();
773761
773864
  init_config6();
773762
773865
  init_MCPConnectionManager();
@@ -773764,7 +773867,6 @@ var init_MCPStdioServerMenu = __esm(() => {
773764
773867
  init_AppState();
773765
773868
  init_errors();
773766
773869
  init_stringUtils();
773767
- init_ConfigurableShortcutHint2();
773768
773870
  init_CustomSelect();
773769
773871
  init_src();
773770
773872
  init_Spinner3();
@@ -783301,7 +783403,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
783301
783403
  return [];
783302
783404
  }
783303
783405
  }
783304
- async function checkForReleaseNotes(lastSeenVersion, currentVersion = "4.2.5") {
783406
+ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "4.2.6-beta") {
783305
783407
  if (process.env.USER_TYPE === "sf") {
783306
783408
  const changelog = "";
783307
783409
  if (changelog) {
@@ -783328,7 +783430,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "4.2.5") {
783328
783430
  releaseNotes
783329
783431
  };
783330
783432
  }
783331
- function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "4.2.5") {
783433
+ function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "4.2.6-beta") {
783332
783434
  if (process.env.USER_TYPE === "sf") {
783333
783435
  const changelog = "";
783334
783436
  if (changelog) {
@@ -785841,7 +785943,7 @@ function isNotLoggedIn() {
785841
785943
  return true;
785842
785944
  }
785843
785945
  function getLogoDisplayData() {
785844
- const version8 = process.env.DEMO_VERSION ?? "4.2.5";
785946
+ const version8 = process.env.DEMO_VERSION ?? "4.2.6-beta";
785845
785947
  const serverUrl = getDirectConnectServerUrl();
785846
785948
  const displayPath = process.env.DEMO_VERSION ? "/code/claude" : getDisplayPath(getCwd());
785847
785949
  const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
@@ -786364,7 +786466,7 @@ var cachedSystemTheme2;
786364
786466
  // src/components/matrix-tactical/MatrixWelcome.tsx
786365
786467
  import { basename as basename47 } from "path";
786366
786468
  function MatrixWelcome({
786367
- version: version8 = "4.2.5",
786469
+ version: version8 = "4.2.6-beta",
786368
786470
  projectName,
786369
786471
  cwd: cwd2,
786370
786472
  modelDisplayName,
@@ -786999,13 +787101,13 @@ function LogoV2() {
786999
787101
  const { hasReleaseNotes } = checkForReleaseNotesSync(config12.lastReleaseNotesSeen);
787000
787102
  import_react167.useEffect(() => {
787001
787103
  const currentConfig = getGlobalConfig();
787002
- if (currentConfig.lastReleaseNotesSeen === "4.2.5") {
787104
+ if (currentConfig.lastReleaseNotesSeen === "4.2.6-beta") {
787003
787105
  return;
787004
787106
  }
787005
787107
  saveGlobalConfig((current2) => {
787006
- if (current2.lastReleaseNotesSeen === "4.2.5")
787108
+ if (current2.lastReleaseNotesSeen === "4.2.6-beta")
787007
787109
  return current2;
787008
- return { ...current2, lastReleaseNotesSeen: "4.2.5" };
787110
+ return { ...current2, lastReleaseNotesSeen: "4.2.6-beta" };
787009
787111
  });
787010
787112
  if (showOnboarding) {
787011
787113
  incrementProjectOnboardingSeenCount();
@@ -808932,7 +809034,7 @@ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
808932
809034
  smapsRollup,
808933
809035
  platform: process.platform,
808934
809036
  nodeVersion: process.version,
808935
- ccVersion: "4.2.5"
809037
+ ccVersion: "4.2.6-beta"
808936
809038
  };
808937
809039
  }
808938
809040
  async function performHeapDump(trigger = "manual", dumpNumber = 0) {
@@ -809048,7 +809150,7 @@ var init_mock_limits = __esm(() => {
809048
809150
  var call54 = async () => {
809049
809151
  return {
809050
809152
  type: "text",
809051
- value: `${"4.2.5"} (built ${"2026-06-18T03:39:27.400Z"})`
809153
+ value: `${"4.2.6-beta"} (built ${"2026-06-22T11:00:03.039Z"})`
809052
809154
  };
809053
809155
  }, version8, version_default;
809054
809156
  var init_version2 = __esm(() => {
@@ -815465,8 +815567,8 @@ var init_tag2 = __esm(() => {
815465
815567
  import { createRequire as createRequire5 } from "module";
815466
815568
  function getVersion2() {
815467
815569
  try {
815468
- if (typeof MACRO !== "undefined" && "4.2.5")
815469
- return "4.2.5";
815570
+ if (typeof MACRO !== "undefined" && "4.2.6-beta")
815571
+ return "4.2.6-beta";
815470
815572
  } catch {}
815471
815573
  try {
815472
815574
  const require4 = createRequire5(import.meta.url);
@@ -825806,7 +825908,7 @@ function generateHtmlReport(data, insights) {
825806
825908
  </html>`;
825807
825909
  }
825808
825910
  function buildExportData(data, insights, facets, remoteStats) {
825809
- const version9 = typeof MACRO !== "undefined" ? "4.2.5" : "unknown";
825911
+ const version9 = typeof MACRO !== "undefined" ? "4.2.6-beta" : "unknown";
825810
825912
  const remote_hosts_collected = remoteStats?.hosts.filter((h8) => h8.sessionCount > 0).map((h8) => h8.name);
825811
825913
  const facets_summary = {
825812
825914
  total: facets.size,
@@ -830120,7 +830222,7 @@ var init_sessionStorage = __esm(() => {
830120
830222
  init_settings2();
830121
830223
  init_slowOperations();
830122
830224
  init_uuid();
830123
- VERSION10 = typeof MACRO !== "undefined" ? "4.2.5" : "unknown";
830225
+ VERSION10 = typeof MACRO !== "undefined" ? "4.2.6-beta" : "unknown";
830124
830226
  MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
830125
830227
  SKIP_FIRST_PROMPT_PATTERN2 = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
830126
830228
  EPHEMERAL_PROGRESS_TYPES = new Set([
@@ -831428,7 +831530,7 @@ var init_filesystem = __esm(() => {
831428
831530
  });
831429
831531
  getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
831430
831532
  const nonce = randomBytes24(16).toString("hex");
831431
- return join197(getCostrictTempDir(), "bundled-skills", "4.2.5", nonce);
831533
+ return join197(getCostrictTempDir(), "bundled-skills", "4.2.6-beta", nonce);
831432
831534
  });
831433
831535
  getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
831434
831536
  });
@@ -837625,7 +837727,7 @@ function computeFingerprint(messageText, version9) {
837625
837727
  }
837626
837728
  function computeFingerprintFromMessages(messages) {
837627
837729
  const firstMessageText = extractFirstMessageText(messages);
837628
- return computeFingerprint(firstMessageText, "4.2.5");
837730
+ return computeFingerprint(firstMessageText, "4.2.6-beta");
837629
837731
  }
837630
837732
  var FINGERPRINT_SALT = "59cf53e54c78";
837631
837733
  var init_fingerprint = () => {};
@@ -838035,7 +838137,7 @@ function getAnthropicEnvMetadata() {
838035
838137
  function getBuildAgeMinutes() {
838036
838138
  if (false)
838037
838139
  ;
838038
- const buildTime = new Date("2026-06-18T03:39:27.400Z").getTime();
838140
+ const buildTime = new Date("2026-06-22T11:00:03.039Z").getTime();
838039
838141
  if (isNaN(buildTime))
838040
838142
  return;
838041
838143
  return Math.floor((Date.now() - buildTime) / 60000);
@@ -846451,6 +846553,29 @@ var init_client19 = __esm(() => {
846451
846553
  init_state();
846452
846554
  });
846453
846555
 
846556
+ // src/services/api/openai/retry.ts
846557
+ function wrapOpenAIErrorForRetry(error99) {
846558
+ if (error99 instanceof APIError || error99 instanceof APIConnectionError || error99 instanceof APIUserAbortError) {
846559
+ return error99;
846560
+ }
846561
+ if (error99 instanceof OpenAI.APIConnectionError) {
846562
+ return new APIConnectionError({
846563
+ cause: error99.cause instanceof Error ? error99.cause : undefined
846564
+ });
846565
+ }
846566
+ if (error99 instanceof OpenAI.APIUserAbortError) {
846567
+ return new APIUserAbortError;
846568
+ }
846569
+ if (error99 instanceof OpenAI.APIError) {
846570
+ return new APIError(error99.status ?? 0, error99.error, error99.message, error99.headers);
846571
+ }
846572
+ return error99;
846573
+ }
846574
+ var init_retry3 = __esm(() => {
846575
+ init_sdk();
846576
+ init_openai3();
846577
+ });
846578
+
846454
846579
  // src/services/api/openai/chatgptAuth.ts
846455
846580
  import { chmod as chmod12, mkdir as mkdir63, readFile as readFile75, unlink as unlink31, writeFile as writeFile69 } from "fs/promises";
846456
846581
  import { homedir as homedir48 } from "os";
@@ -847228,32 +847353,59 @@ async function* queryModelOpenAI(messages, systemPrompt2, tools, signal, options
847228
847353
  const { upperLimit } = getModelMaxOutputTokens(openaiModel);
847229
847354
  const maxTokens = resolveOpenAIMaxTokens(upperLimit, options.maxOutputTokensOverride);
847230
847355
  logForDebugging(`[OpenAI] Calling model=${openaiModel}, messages=${openaiMessages.length}, tools=${openaiTools.length}, thinking=${enableThinking}`);
847231
- const adaptedStream = isChatGPTAuthEnabled() ? adaptResponsesStreamToAnthropic(await createChatGPTResponsesStream({
847232
- request: buildResponsesRequest({
847356
+ let adaptedStream;
847357
+ if (isChatGPTAuthEnabled()) {
847358
+ adaptedStream = adaptResponsesStreamToAnthropic(await createChatGPTResponsesStream({
847359
+ request: buildResponsesRequest({
847360
+ model: openaiModel,
847361
+ messages: openaiMessages,
847362
+ tools: openaiTools,
847363
+ toolChoice: openaiToolChoice,
847364
+ reasoningEffort
847365
+ }),
847366
+ signal,
847367
+ fetchOverride: options.fetchOverride
847368
+ }), openaiModel);
847369
+ } else {
847370
+ const requestBody = buildOpenAIRequestBody({
847233
847371
  model: openaiModel,
847234
847372
  messages: openaiMessages,
847235
847373
  tools: openaiTools,
847236
847374
  toolChoice: openaiToolChoice,
847237
- reasoningEffort
847238
- }),
847239
- signal,
847240
- fetchOverride: options.fetchOverride
847241
- }), openaiModel) : adaptOpenAIStreamToAnthropic(await getOpenAIClient({
847242
- maxRetries: 0,
847243
- fetchOverride: options.fetchOverride,
847244
- source: options.querySource,
847245
- agentId: options.agentId,
847246
- parentAgentId: options.parentAgentId
847247
- }).chat.completions.create(buildOpenAIRequestBody({
847248
- model: openaiModel,
847249
- messages: openaiMessages,
847250
- tools: openaiTools,
847251
- toolChoice: openaiToolChoice,
847252
- enableThinking,
847253
- maxTokens,
847254
- temperatureOverride: options.temperatureOverride,
847255
- outputFormat: options.outputFormat
847256
- }), { signal }), openaiModel);
847375
+ enableThinking,
847376
+ maxTokens,
847377
+ temperatureOverride: options.temperatureOverride,
847378
+ outputFormat: options.outputFormat
847379
+ });
847380
+ const retryGenerator = withRetry(() => Promise.resolve(getOpenAIClient({
847381
+ maxRetries: 0,
847382
+ fetchOverride: options.fetchOverride,
847383
+ source: options.querySource,
847384
+ agentId: options.agentId,
847385
+ parentAgentId: options.parentAgentId
847386
+ })), async (client10, _attempt, _context) => {
847387
+ try {
847388
+ return await client10.chat.completions.create(requestBody, { signal });
847389
+ } catch (err3) {
847390
+ throw wrapOpenAIErrorForRetry(err3);
847391
+ }
847392
+ }, {
847393
+ model: options.model,
847394
+ thinkingConfig: { type: "disabled" },
847395
+ signal,
847396
+ querySource: options.querySource
847397
+ });
847398
+ let stream6;
847399
+ let e7 = await retryGenerator.next();
847400
+ while (!e7.done) {
847401
+ if (e7.value.type === "system") {
847402
+ yield e7.value;
847403
+ }
847404
+ e7 = await retryGenerator.next();
847405
+ }
847406
+ stream6 = e7.value;
847407
+ adaptedStream = adaptOpenAIStreamToAnthropic(stream6, openaiModel);
847408
+ }
847257
847409
  const contentBlocks = {};
847258
847410
  const collectedMessages = [];
847259
847411
  let partialMessage;
@@ -847397,6 +847549,8 @@ async function* queryModelOpenAI(messages, systemPrompt2, tools, signal, options
847397
847549
  var init_openai5 = __esm(() => {
847398
847550
  init_client19();
847399
847551
  init_src3();
847552
+ init_withRetry();
847553
+ init_retry3();
847400
847554
  init_chatgptAuth();
847401
847555
  init_responsesAdapter();
847402
847556
  init_messages7();
@@ -848269,29 +848423,6 @@ var init_grok = __esm(() => {
848269
848423
  init_messages7();
848270
848424
  });
848271
848425
 
848272
- // src/costrict/provider/retry.ts
848273
- function wrapOpenAIErrorForRetry(error99) {
848274
- if (error99 instanceof APIError || error99 instanceof APIConnectionError || error99 instanceof APIUserAbortError) {
848275
- return error99;
848276
- }
848277
- if (error99 instanceof OpenAI.APIConnectionError) {
848278
- return new APIConnectionError({
848279
- cause: error99.cause instanceof Error ? error99.cause : undefined
848280
- });
848281
- }
848282
- if (error99 instanceof OpenAI.APIUserAbortError) {
848283
- return new APIUserAbortError;
848284
- }
848285
- if (error99 instanceof OpenAI.APIError) {
848286
- return new APIError(error99.status ?? 0, error99.error, error99.message, error99.headers);
848287
- }
848288
- return error99;
848289
- }
848290
- var init_retry3 = __esm(() => {
848291
- init_sdk();
848292
- init_openai3();
848293
- });
848294
-
848295
848426
  // node_modules/.bun/partial-json@0.1.7/node_modules/partial-json/dist/options.js
848296
848427
  var require_options2 = __commonJS((exports) => {
848297
848428
  Object.defineProperty(exports, "__esModule", { value: true });
@@ -848687,7 +848818,12 @@ async function* queryModelCoStrict(messages, systemPrompt2, tools, signal, optio
848687
848818
  forAnthropicAPI: false
848688
848819
  }),
848689
848820
  fetch: costrictFetch,
848690
- defaultHeaders: { "User-Agent": getUserAgent(), "X-Session-Id": getSessionId(), ...options.agentId ? { "X-Agent-Id": options.agentId } : {}, ...options.parentAgentId ? { "X-Parent-Agent-Id": options.parentAgentId } : {} }
848821
+ defaultHeaders: {
848822
+ "User-Agent": getUserAgent(),
848823
+ "X-Session-Id": getSessionId(),
848824
+ ...options.agentId ? { "X-Agent-Id": options.agentId } : {},
848825
+ ...options.parentAgentId ? { "X-Parent-Agent-Id": options.parentAgentId } : {}
848826
+ }
848691
848827
  });
848692
848828
  logForDebugging(`[CoStrict] model=${costrictModel}, baseURL=${chatBaseURL}, messages=${openaiMessages.length}, tools=${openaiTools.length}`);
848693
848829
  const requestBody = {
@@ -850919,7 +851055,7 @@ async function sideQuery(opts) {
850919
851055
  betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
850920
851056
  }
850921
851057
  const messageText = extractFirstUserMessageText(messages);
850922
- const fingerprint = computeFingerprint(messageText, "4.2.5");
851058
+ const fingerprint = computeFingerprint(messageText, "4.2.6-beta");
850923
851059
  const attributionHeader = getAttributionHeader(fingerprint);
850924
851060
  const systemBlocks = [
850925
851061
  attributionHeader ? { type: "text", text: attributionHeader } : null,
@@ -854294,7 +854430,7 @@ function buildSystemInitMessage(inputs) {
854294
854430
  slash_commands: inputs.commands.filter((c10) => c10.userInvocable !== false).map((c10) => c10.name),
854295
854431
  apiKeySource: getAnthropicApiKeyWithSource().source,
854296
854432
  betas: getSdkBetas(),
854297
- claude_code_version: "4.2.5",
854433
+ claude_code_version: "4.2.6-beta",
854298
854434
  output_style: outputStyle2,
854299
854435
  agents: inputs.agents.map((agent) => agent.agentType),
854300
854436
  skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill) => skill.name),
@@ -859143,7 +859279,7 @@ function appendToLog(path48, message2) {
859143
859279
  cwd: getFsImplementation().cwd(),
859144
859280
  userType: process.env.USER_TYPE,
859145
859281
  sessionId: getSessionId(),
859146
- version: "4.2.5"
859282
+ version: "4.2.6-beta"
859147
859283
  };
859148
859284
  getLogWriter(path48).write(messageWithTimestamp);
859149
859285
  }
@@ -866660,9 +866796,12 @@ function MatrixPermissionFrame({
866660
866796
  innerPaddingX = 1,
866661
866797
  workerBadge,
866662
866798
  titleRight,
866799
+ inlineReviewTitle,
866800
+ hideInputCue,
866663
866801
  children: children2
866664
866802
  }) {
866665
866803
  const frameColor = color3 ?? "warning";
866804
+ const reviewTitle = inlineReviewTitle ? `${t("components.permission.review")} - ${title}` : t("components.permission.review");
866666
866805
  return /* @__PURE__ */ jsx_runtime390.jsxs(ThemedBox_default, {
866667
866806
  flexDirection: "column",
866668
866807
  marginTop: 1,
@@ -866670,14 +866809,24 @@ function MatrixPermissionFrame({
866670
866809
  borderColor: frameColor,
866671
866810
  paddingX: 1,
866672
866811
  children: [
866673
- /* @__PURE__ */ jsx_runtime390.jsx(ThemedBox_default, {
866674
- children: /* @__PURE__ */ jsx_runtime390.jsx(ThemedText, {
866675
- color: frameColor,
866676
- bold: true,
866677
- children: t("components.permission.review")
866678
- })
866679
- }),
866680
866812
  /* @__PURE__ */ jsx_runtime390.jsxs(ThemedBox_default, {
866813
+ children: [
866814
+ /* @__PURE__ */ jsx_runtime390.jsx(ThemedText, {
866815
+ color: frameColor,
866816
+ bold: true,
866817
+ children: reviewTitle
866818
+ }),
866819
+ inlineReviewTitle && workerBadge && /* @__PURE__ */ jsx_runtime390.jsxs(ThemedText, {
866820
+ dimColor: true,
866821
+ children: [
866822
+ " \xB7 ",
866823
+ "@",
866824
+ workerBadge.name
866825
+ ]
866826
+ })
866827
+ ]
866828
+ }),
866829
+ !inlineReviewTitle && /* @__PURE__ */ jsx_runtime390.jsxs(ThemedBox_default, {
866681
866830
  justifyContent: "space-between",
866682
866831
  children: [
866683
866832
  /* @__PURE__ */ jsx_runtime390.jsx(PermissionRequestTitle, {
@@ -866689,6 +866838,17 @@ function MatrixPermissionFrame({
866689
866838
  titleRight
866690
866839
  ]
866691
866840
  }),
866841
+ inlineReviewTitle && (subtitle != null || titleRight) && /* @__PURE__ */ jsx_runtime390.jsxs(ThemedBox_default, {
866842
+ justifyContent: "space-between",
866843
+ children: [
866844
+ typeof subtitle === "string" ? /* @__PURE__ */ jsx_runtime390.jsx(ThemedText, {
866845
+ dimColor: true,
866846
+ wrap: "truncate-start",
866847
+ children: subtitle
866848
+ }) : subtitle,
866849
+ titleRight
866850
+ ]
866851
+ }),
866692
866852
  /* @__PURE__ */ jsx_runtime390.jsxs(ThemedBox_default, {
866693
866853
  flexDirection: "column",
866694
866854
  paddingX: innerPaddingX,
@@ -866700,7 +866860,7 @@ function MatrixPermissionFrame({
866700
866860
  children: t("components.review.the.requested.local.action.before.continuing")
866701
866861
  }),
866702
866862
  children2,
866703
- /* @__PURE__ */ jsx_runtime390.jsx(MatrixMessageLine, {
866863
+ !hideInputCue && /* @__PURE__ */ jsx_runtime390.jsx(MatrixMessageLine, {
866704
866864
  label: t("tag.cue", "CUE"),
866705
866865
  tone: "meta",
866706
866866
  children: t("components.choose.an.approval.option.to.continue")
@@ -866728,6 +866888,8 @@ function PermissionDialog({
866728
866888
  innerPaddingX = 1,
866729
866889
  workerBadge,
866730
866890
  titleRight,
866891
+ inlineReviewTitle,
866892
+ hideInputCue,
866731
866893
  children: children2
866732
866894
  }) {
866733
866895
  const [theme2] = useTheme();
@@ -866740,6 +866902,8 @@ function PermissionDialog({
866740
866902
  innerPaddingX,
866741
866903
  workerBadge,
866742
866904
  titleRight,
866905
+ inlineReviewTitle,
866906
+ hideInputCue,
866743
866907
  children: children2
866744
866908
  });
866745
866909
  }
@@ -867604,8 +867768,7 @@ function getFilePermissionOptions({
867604
867768
  if (operationType === "read") {
867605
867769
  sessionLabel = /* @__PURE__ */ jsx_runtime395.jsxs(ThemedText, {
867606
867770
  children: [
867607
- t("permissions.yes.allow.reading.from"),
867608
- " ",
867771
+ t("permissions.allow.reading.from.dir.during.session.beforeDir"),
867609
867772
  /* @__PURE__ */ jsx_runtime395.jsxs(ThemedText, {
867610
867773
  bold: true,
867611
867774
  children: [
@@ -867613,8 +867776,7 @@ function getFilePermissionOptions({
867613
867776
  "/"
867614
867777
  ]
867615
867778
  }),
867616
- " ",
867617
- t("permissions.during.this.session")
867779
+ t("permissions.allow.reading.from.dir.during.session.afterDir")
867618
867780
  ]
867619
867781
  });
867620
867782
  } else {
@@ -867916,6 +868078,7 @@ function FilePermissionDialog({
867916
868078
  subtitle,
867917
868079
  question = t("permissions.proceed"),
867918
868080
  content,
868081
+ hideFooterHint = false,
867919
868082
  completionType = "tool_use_single",
867920
868083
  path: path49,
867921
868084
  parseInput,
@@ -868022,6 +868185,8 @@ function FilePermissionDialog({
868022
868185
  subtitle,
868023
868186
  innerPaddingX: 0,
868024
868187
  workerBadge,
868188
+ inlineReviewTitle: true,
868189
+ hideInputCue: hideFooterHint,
868025
868190
  children: [
868026
868191
  symlinkWarning,
868027
868192
  content,
@@ -868059,7 +868224,7 @@ function FilePermissionDialog({
868059
868224
  })
868060
868225
  ]
868061
868226
  }),
868062
- /* @__PURE__ */ jsx_runtime396.jsx(ThemedBox_default, {
868227
+ !hideFooterHint && /* @__PURE__ */ jsx_runtime396.jsx(ThemedBox_default, {
868063
868228
  paddingX: 1,
868064
868229
  marginTop: 1,
868065
868230
  children: /* @__PURE__ */ jsx_runtime396.jsxs(ThemedText, {
@@ -870369,8 +870534,7 @@ function FilesystemPermissionRequest({
870369
870534
  const path49 = pathFromToolUse(toolUseConfirm);
870370
870535
  const userFacingName8 = toolUseConfirm.tool.userFacingName(toolUseConfirm.input);
870371
870536
  const isReadOnly = toolUseConfirm.tool.isReadOnly(toolUseConfirm.input);
870372
- const userFacingReadOrEdit = isReadOnly ? "Read" : "Edit";
870373
- const title = `${userFacingReadOrEdit} file`;
870537
+ const title = isReadOnly ? t("permissions.readFileTitle") : t("permissions.editFileTitle");
870374
870538
  const parseInput = (input4) => input4;
870375
870539
  if (!path49) {
870376
870540
  return /* @__PURE__ */ jsx_runtime405.jsx(FallbackPermissionRequest, {
@@ -870406,11 +870570,13 @@ function FilesystemPermissionRequest({
870406
870570
  path: path49,
870407
870571
  parseInput,
870408
870572
  operationType: isReadOnly ? "read" : "write",
870409
- completionType: "tool_use_single"
870573
+ completionType: "tool_use_single",
870574
+ hideFooterHint: true
870410
870575
  });
870411
870576
  }
870412
870577
  var jsx_runtime405;
870413
870578
  var init_FilesystemPermissionRequest = __esm(() => {
870579
+ init_locales2();
870414
870580
  init_src();
870415
870581
  init_FallbackPermissionRequest();
870416
870582
  init_FilePermissionDialog();
@@ -874167,7 +874333,11 @@ function TokenWarning({ tokenUsage, model }) {
874167
874333
  let displayPercentLeft = percentLeft;
874168
874334
  let reactiveOnlyMode = false;
874169
874335
  let collapseMode = false;
874170
- if (false) {}
874336
+ if (true) {
874337
+ if (getFeatureValue_CACHED_MAY_BE_STALE("tengu_cobalt_raccoon", false)) {
874338
+ reactiveOnlyMode = true;
874339
+ }
874340
+ }
874171
874341
  if (false) {}
874172
874342
  if (reactiveOnlyMode || collapseMode) {
874173
874343
  const effectiveWindow = getEffectiveContextWindowSize(model);
@@ -879885,7 +880055,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
879885
880055
  project_dir: getOriginalCwd(),
879886
880056
  added_dirs: addedDirs
879887
880057
  },
879888
- version: "4.2.5",
880058
+ version: "4.2.6-beta",
879889
880059
  output_style: {
879890
880060
  name: outputStyleName
879891
880061
  },
@@ -898468,7 +898638,7 @@ async function submitTranscriptShare(messages, trigger, appearanceId) {
898468
898638
  } catch {}
898469
898639
  const data = {
898470
898640
  trigger,
898471
- version: "4.2.5",
898641
+ version: "4.2.6-beta",
898472
898642
  platform: process.platform,
898473
898643
  transcript,
898474
898644
  subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
@@ -899723,7 +899893,7 @@ function getReleaseType(current2, latest) {
899723
899893
  return "patch";
899724
899894
  }
899725
899895
  async function checkNewAutoUpdate(callbacks) {
899726
- const currentVersion = "4.2.5";
899896
+ const currentVersion = "4.2.6-beta";
899727
899897
  logForDebugging(`[newAutoUpdater] checking, current: ${currentVersion}`);
899728
899898
  if (isNewAutoUpdaterDisabled()) {
899729
899899
  return { action: "skip", currentVersion, latestVersion: null };
@@ -901457,9 +901627,7 @@ var init_SandboxViolationExpandedView = __esm(() => {
901457
901627
  });
901458
901628
 
901459
901629
  // src/hooks/notifs/useMcpConnectivityStatus.tsx
901460
- function useMcpConnectivityStatus({
901461
- mcpClients = EMPTY_MCP_CLIENTS
901462
- }) {
901630
+ function useMcpConnectivityStatus({ mcpClients = EMPTY_MCP_CLIENTS }) {
901463
901631
  const { addNotification } = useNotifications();
901464
901632
  import_react335.useEffect(() => {
901465
901633
  if (getIsRemoteMode())
@@ -901474,16 +901642,9 @@ function useMcpConnectivityStatus({
901474
901642
  key: "mcp-failed",
901475
901643
  jsx: /* @__PURE__ */ jsx_runtime463.jsxs(jsx_runtime463.Fragment, {
901476
901644
  children: [
901477
- /* @__PURE__ */ jsx_runtime463.jsxs(ThemedText, {
901645
+ /* @__PURE__ */ jsx_runtime463.jsx(ThemedText, {
901478
901646
  color: "error",
901479
- children: [
901480
- failedLocalClients.length,
901481
- " MCP",
901482
- " ",
901483
- failedLocalClients.length === 1 ? t("mcp.server", "server") : t("mcp.servers", "servers"),
901484
- " ",
901485
- t("mcp.failed", "failed")
901486
- ]
901647
+ children: t("mcp.failedServersNotice", { count: failedLocalClients.length })
901487
901648
  }),
901488
901649
  /* @__PURE__ */ jsx_runtime463.jsx(ThemedText, {
901489
901650
  dimColor: true,
@@ -910646,7 +910807,7 @@ function WelcomeV2() {
910646
910807
  dimColor: true,
910647
910808
  children: [
910648
910809
  "v",
910649
- "4.2.5",
910810
+ "4.2.6-beta",
910650
910811
  " "
910651
910812
  ]
910652
910813
  })
@@ -910712,7 +910873,7 @@ function WelcomeV2() {
910712
910873
  dimColor: true,
910713
910874
  children: [
910714
910875
  "v",
910715
- "4.2.5",
910876
+ "4.2.6-beta",
910716
910877
  " "
910717
910878
  ]
910718
910879
  })
@@ -910814,7 +910975,7 @@ function AppleTerminalWelcomeV2({ theme: theme2, welcomeMessage }) {
910814
910975
  dimColor: true,
910815
910976
  children: [
910816
910977
  "v",
910817
- "4.2.5",
910978
+ "4.2.6-beta",
910818
910979
  " "
910819
910980
  ]
910820
910981
  })
@@ -910880,7 +911041,7 @@ function AppleTerminalWelcomeV2({ theme: theme2, welcomeMessage }) {
910880
911041
  dimColor: true,
910881
911042
  children: [
910882
911043
  "v",
910883
- "4.2.5",
911044
+ "4.2.6-beta",
910884
911045
  " "
910885
911046
  ]
910886
911047
  })
@@ -911820,7 +911981,7 @@ function completeOnboarding() {
911820
911981
  saveGlobalConfig((current2) => ({
911821
911982
  ...current2,
911822
911983
  hasCompletedOnboarding: true,
911823
- lastOnboardingVersion: "4.2.5"
911984
+ lastOnboardingVersion: "4.2.6-beta"
911824
911985
  }));
911825
911986
  }
911826
911987
  function showDialog(root9, renderer) {
@@ -913199,7 +913360,7 @@ function registerWeixinBuiltinPlugin() {
913199
913360
  registerBuiltinPlugin({
913200
913361
  name: "weixin",
913201
913362
  description: "WeChat channel integration. Enables inbound WeChat messages via channels and provides reply/send_typing MCP tools. Configure with `ccb weixin login` and enable for a session with `--channels plugin:weixin@builtin`.",
913202
- version: "4.2.5",
913363
+ version: "4.2.6-beta",
913203
913364
  defaultEnabled: true,
913204
913365
  mcpServers: {
913205
913366
  weixin: {
@@ -925542,7 +925703,7 @@ async function startMCPServer(cwd3, debug5, verbose) {
925542
925703
  setCwd(cwd3);
925543
925704
  const server2 = new Server({
925544
925705
  name: "claude/tengu",
925545
- version: "4.2.5"
925706
+ version: "4.2.6-beta"
925546
925707
  }, {
925547
925708
  capabilities: {
925548
925709
  tools: {}
@@ -926057,7 +926218,7 @@ var init_mcp5 = __esm(() => {
926057
926218
  jsx_runtime506 = __toESM(require_jsx_runtime(), 1);
926058
926219
  });
926059
926220
 
926060
- // node_modules/.bun/hono@4.12.25/node_modules/hono/dist/compose.js
926221
+ // node_modules/.bun/hono@4.12.26/node_modules/hono/dist/compose.js
926061
926222
  var compose = (middleware3, onError, onNotFound) => {
926062
926223
  return (context41, next2) => {
926063
926224
  let index2 = -1;
@@ -926102,7 +926263,7 @@ var compose = (middleware3, onError, onNotFound) => {
926102
926263
  };
926103
926264
  var init_compose = () => {};
926104
926265
 
926105
- // node_modules/.bun/hono@4.12.25/node_modules/hono/dist/http-exception.js
926266
+ // node_modules/.bun/hono@4.12.26/node_modules/hono/dist/http-exception.js
926106
926267
  var HTTPException;
926107
926268
  var init_http_exception = __esm(() => {
926108
926269
  HTTPException = class extends Error {
@@ -926128,13 +926289,13 @@ var init_http_exception = __esm(() => {
926128
926289
  };
926129
926290
  });
926130
926291
 
926131
- // node_modules/.bun/hono@4.12.25/node_modules/hono/dist/request/constants.js
926292
+ // node_modules/.bun/hono@4.12.26/node_modules/hono/dist/request/constants.js
926132
926293
  var GET_MATCH_RESULT;
926133
926294
  var init_constants32 = __esm(() => {
926134
926295
  GET_MATCH_RESULT = /* @__PURE__ */ Symbol();
926135
926296
  });
926136
926297
 
926137
- // node_modules/.bun/hono@4.12.25/node_modules/hono/dist/utils/body.js
926298
+ // node_modules/.bun/hono@4.12.26/node_modules/hono/dist/utils/body.js
926138
926299
  async function parseFormData(request3, options) {
926139
926300
  const formData = await request3.formData();
926140
926301
  if (formData) {
@@ -926206,7 +926367,7 @@ var init_body = __esm(() => {
926206
926367
  init_request2();
926207
926368
  });
926208
926369
 
926209
- // node_modules/.bun/hono@4.12.25/node_modules/hono/dist/utils/url.js
926370
+ // node_modules/.bun/hono@4.12.26/node_modules/hono/dist/utils/url.js
926210
926371
  var splitPath2 = (path52) => {
926211
926372
  const paths2 = path52.split("/");
926212
926373
  if (paths2[0] === "") {
@@ -926395,7 +926556,7 @@ var init_url2 = __esm(() => {
926395
926556
  decodeURIComponent_ = decodeURIComponent;
926396
926557
  });
926397
926558
 
926398
- // node_modules/.bun/hono@4.12.25/node_modules/hono/dist/request.js
926559
+ // node_modules/.bun/hono@4.12.26/node_modules/hono/dist/request.js
926399
926560
  var tryDecodeURIComponent = (str3) => tryDecode(str3, decodeURIComponent_), HonoRequest;
926400
926561
  var init_request2 = __esm(() => {
926401
926562
  init_http_exception();
@@ -926515,7 +926676,7 @@ var init_request2 = __esm(() => {
926515
926676
  };
926516
926677
  });
926517
926678
 
926518
- // node_modules/.bun/hono@4.12.25/node_modules/hono/dist/utils/html.js
926679
+ // node_modules/.bun/hono@4.12.26/node_modules/hono/dist/utils/html.js
926519
926680
  var HtmlEscapedCallbackPhase, raw = (value, callbacks) => {
926520
926681
  const escapedString = new String(value);
926521
926682
  escapedString.isEscaped = true;
@@ -926554,7 +926715,7 @@ var init_html = __esm(() => {
926554
926715
  };
926555
926716
  });
926556
926717
 
926557
- // node_modules/.bun/hono@4.12.25/node_modules/hono/dist/context.js
926718
+ // node_modules/.bun/hono@4.12.26/node_modules/hono/dist/context.js
926558
926719
  var TEXT_PLAIN = "text/plain; charset=UTF-8", setDefaultContentType = (contentType, headers) => {
926559
926720
  return {
926560
926721
  "Content-Type": contentType,
@@ -926722,7 +926883,7 @@ var init_context6 = __esm(() => {
926722
926883
  init_html();
926723
926884
  });
926724
926885
 
926725
- // node_modules/.bun/hono@4.12.25/node_modules/hono/dist/router.js
926886
+ // node_modules/.bun/hono@4.12.26/node_modules/hono/dist/router.js
926726
926887
  var METHOD_NAME_ALL = "ALL", METHOD_NAME_ALL_LOWERCASE = "all", METHODS, MESSAGE_MATCHER_IS_ALREADY_BUILT = "Can not add a route since the matcher is already built.", UnsupportedPathError;
926727
926888
  var init_router = __esm(() => {
926728
926889
  METHODS = ["get", "post", "put", "delete", "options", "patch"];
@@ -926730,11 +926891,11 @@ var init_router = __esm(() => {
926730
926891
  };
926731
926892
  });
926732
926893
 
926733
- // node_modules/.bun/hono@4.12.25/node_modules/hono/dist/utils/constants.js
926894
+ // node_modules/.bun/hono@4.12.26/node_modules/hono/dist/utils/constants.js
926734
926895
  var COMPOSED_HANDLER = "__COMPOSED_HANDLER";
926735
926896
  var init_constants33 = () => {};
926736
926897
 
926737
- // node_modules/.bun/hono@4.12.25/node_modules/hono/dist/hono-base.js
926898
+ // node_modules/.bun/hono@4.12.26/node_modules/hono/dist/hono-base.js
926738
926899
  var notFoundHandler = (c10) => {
926739
926900
  return c10.text("404 Not Found", 404);
926740
926901
  }, errorHandler = (err3, c10) => {
@@ -926963,7 +927124,7 @@ var init_hono_base = __esm(() => {
926963
927124
  init_url2();
926964
927125
  });
926965
927126
 
926966
- // node_modules/.bun/hono@4.12.25/node_modules/hono/dist/router/reg-exp-router/matcher.js
927127
+ // node_modules/.bun/hono@4.12.26/node_modules/hono/dist/router/reg-exp-router/matcher.js
926967
927128
  function match(method, path52) {
926968
927129
  const matchers2 = this.buildAllMatchers();
926969
927130
  const match2 = (method2, path210) => {
@@ -926988,7 +927149,7 @@ var init_matcher = __esm(() => {
926988
927149
  emptyParam = [];
926989
927150
  });
926990
927151
 
926991
- // node_modules/.bun/hono@4.12.25/node_modules/hono/dist/router/reg-exp-router/node.js
927152
+ // node_modules/.bun/hono@4.12.26/node_modules/hono/dist/router/reg-exp-router/node.js
926992
927153
  function compareKey(a8, b9) {
926993
927154
  if (a8.length === 1) {
926994
927155
  return b9.length === 1 ? a8 < b9 ? -1 : 1 : -1;
@@ -927091,7 +927252,7 @@ var init_node14 = __esm(() => {
927091
927252
  regExpMetaChars = new Set(".\\+*[^]$()");
927092
927253
  });
927093
927254
 
927094
- // node_modules/.bun/hono@4.12.25/node_modules/hono/dist/router/reg-exp-router/trie.js
927255
+ // node_modules/.bun/hono@4.12.26/node_modules/hono/dist/router/reg-exp-router/trie.js
927095
927256
  var Trie = class {
927096
927257
  #context = { varIndex: 0 };
927097
927258
  #root = new Node3;
@@ -927150,7 +927311,7 @@ var init_trie = __esm(() => {
927150
927311
  init_node14();
927151
927312
  });
927152
927313
 
927153
- // node_modules/.bun/hono@4.12.25/node_modules/hono/dist/router/reg-exp-router/router.js
927314
+ // node_modules/.bun/hono@4.12.26/node_modules/hono/dist/router/reg-exp-router/router.js
927154
927315
  function buildWildcardRegExp(path52) {
927155
927316
  return wildcardRegExpCache[path52] ??= new RegExp(path52 === "*" ? "" : `^${path52.replace(/\/\*$|([.\\+*[^\]$()])/g, (_2, metaChar) => metaChar ? `\\${metaChar}` : "(?:|/.*)")}$`);
927156
927317
  }
@@ -927322,7 +927483,7 @@ var init_router2 = __esm(() => {
927322
927483
  wildcardRegExpCache = /* @__PURE__ */ Object.create(null);
927323
927484
  });
927324
927485
 
927325
- // node_modules/.bun/hono@4.12.25/node_modules/hono/dist/router/reg-exp-router/prepared-router.js
927486
+ // node_modules/.bun/hono@4.12.26/node_modules/hono/dist/router/reg-exp-router/prepared-router.js
927326
927487
  var PreparedRegExpRouter = class {
927327
927488
  name = "PreparedRegExpRouter";
927328
927489
  #matchers;
@@ -927399,13 +927560,13 @@ var init_prepared_router = __esm(() => {
927399
927560
  init_router2();
927400
927561
  });
927401
927562
 
927402
- // node_modules/.bun/hono@4.12.25/node_modules/hono/dist/router/reg-exp-router/index.js
927563
+ // node_modules/.bun/hono@4.12.26/node_modules/hono/dist/router/reg-exp-router/index.js
927403
927564
  var init_reg_exp_router = __esm(() => {
927404
927565
  init_router2();
927405
927566
  init_prepared_router();
927406
927567
  });
927407
927568
 
927408
- // node_modules/.bun/hono@4.12.25/node_modules/hono/dist/router/smart-router/router.js
927569
+ // node_modules/.bun/hono@4.12.26/node_modules/hono/dist/router/smart-router/router.js
927409
927570
  var SmartRouter = class {
927410
927571
  name = "SmartRouter";
927411
927572
  #routers = [];
@@ -927463,12 +927624,12 @@ var init_router3 = __esm(() => {
927463
927624
  init_router();
927464
927625
  });
927465
927626
 
927466
- // node_modules/.bun/hono@4.12.25/node_modules/hono/dist/router/smart-router/index.js
927627
+ // node_modules/.bun/hono@4.12.26/node_modules/hono/dist/router/smart-router/index.js
927467
927628
  var init_smart_router = __esm(() => {
927468
927629
  init_router3();
927469
927630
  });
927470
927631
 
927471
- // node_modules/.bun/hono@4.12.25/node_modules/hono/dist/router/trie-router/node.js
927632
+ // node_modules/.bun/hono@4.12.26/node_modules/hono/dist/router/trie-router/node.js
927472
927633
  var emptyParams, hasChildren = (children2) => {
927473
927634
  for (const _2 in children2) {
927474
927635
  return true;
@@ -927640,7 +927801,7 @@ var init_node15 = __esm(() => {
927640
927801
  emptyParams = /* @__PURE__ */ Object.create(null);
927641
927802
  });
927642
927803
 
927643
- // node_modules/.bun/hono@4.12.25/node_modules/hono/dist/router/trie-router/router.js
927804
+ // node_modules/.bun/hono@4.12.26/node_modules/hono/dist/router/trie-router/router.js
927644
927805
  var TrieRouter = class {
927645
927806
  name = "TrieRouter";
927646
927807
  #node;
@@ -927666,12 +927827,12 @@ var init_router4 = __esm(() => {
927666
927827
  init_node15();
927667
927828
  });
927668
927829
 
927669
- // node_modules/.bun/hono@4.12.25/node_modules/hono/dist/router/trie-router/index.js
927830
+ // node_modules/.bun/hono@4.12.26/node_modules/hono/dist/router/trie-router/index.js
927670
927831
  var init_trie_router = __esm(() => {
927671
927832
  init_router4();
927672
927833
  });
927673
927834
 
927674
- // node_modules/.bun/hono@4.12.25/node_modules/hono/dist/hono.js
927835
+ // node_modules/.bun/hono@4.12.26/node_modules/hono/dist/hono.js
927675
927836
  var Hono2;
927676
927837
  var init_hono2 = __esm(() => {
927677
927838
  init_hono_base();
@@ -927688,13 +927849,13 @@ var init_hono2 = __esm(() => {
927688
927849
  };
927689
927850
  });
927690
927851
 
927691
- // node_modules/.bun/hono@4.12.25/node_modules/hono/dist/index.js
927852
+ // node_modules/.bun/hono@4.12.26/node_modules/hono/dist/index.js
927692
927853
  var init_dist15 = __esm(() => {
927693
927854
  init_hono2();
927694
927855
  init_context6();
927695
927856
  });
927696
927857
 
927697
- // node_modules/.bun/hono@4.12.25/node_modules/hono/dist/middleware/cors/index.js
927858
+ // node_modules/.bun/hono@4.12.26/node_modules/hono/dist/middleware/cors/index.js
927698
927859
  var cors = (options) => {
927699
927860
  const opts = {
927700
927861
  origin: "*",
@@ -927827,7 +927988,7 @@ function createHealthRoutes(sessionManager) {
927827
927988
  const uptime2 = process.uptime() * 1000;
927828
927989
  return c10.json({
927829
927990
  status: "ok",
927830
- version: "4.2.5",
927991
+ version: "4.2.6-beta",
927831
927992
  uptime_ms: Math.round(uptime2),
927832
927993
  active_sessions: sessionManager.getActiveCount()
927833
927994
  });
@@ -927908,7 +928069,7 @@ var init_info2 = __esm(() => {
927908
928069
  init_builtInAgents();
927909
928070
  });
927910
928071
 
927911
- // node_modules/.bun/hono@4.12.25/node_modules/hono/dist/utils/stream.js
928072
+ // node_modules/.bun/hono@4.12.26/node_modules/hono/dist/utils/stream.js
927912
928073
  var StreamingApi = class {
927913
928074
  writer;
927914
928075
  encoder;
@@ -927977,7 +928138,7 @@ var StreamingApi = class {
927977
928138
  };
927978
928139
  var init_stream6 = () => {};
927979
928140
 
927980
- // node_modules/.bun/hono@4.12.25/node_modules/hono/dist/helper/streaming/utils.js
928141
+ // node_modules/.bun/hono@4.12.26/node_modules/hono/dist/helper/streaming/utils.js
927981
928142
  var isOldBunVersion = () => {
927982
928143
  const version9 = typeof Bun !== "undefined" ? Bun.version : undefined;
927983
928144
  if (version9 === undefined) {
@@ -927989,13 +928150,13 @@ var isOldBunVersion = () => {
927989
928150
  };
927990
928151
  var init_utils43 = () => {};
927991
928152
 
927992
- // node_modules/.bun/hono@4.12.25/node_modules/hono/dist/helper/streaming/stream.js
928153
+ // node_modules/.bun/hono@4.12.26/node_modules/hono/dist/helper/streaming/stream.js
927993
928154
  var init_stream7 = __esm(() => {
927994
928155
  init_stream6();
927995
928156
  init_utils43();
927996
928157
  });
927997
928158
 
927998
- // node_modules/.bun/hono@4.12.25/node_modules/hono/dist/helper/streaming/sse.js
928159
+ // node_modules/.bun/hono@4.12.26/node_modules/hono/dist/helper/streaming/sse.js
927999
928160
  var SSEStreamingApi, run4 = async (stream7, cb, onError) => {
928000
928161
  try {
928001
928162
  await cb(stream7);
@@ -928064,13 +928225,13 @@ var init_sse2 = __esm(() => {
928064
928225
  contextStash = /* @__PURE__ */ new WeakMap;
928065
928226
  });
928066
928227
 
928067
- // node_modules/.bun/hono@4.12.25/node_modules/hono/dist/helper/streaming/text.js
928228
+ // node_modules/.bun/hono@4.12.26/node_modules/hono/dist/helper/streaming/text.js
928068
928229
  var init_text = __esm(() => {
928069
928230
  init_context6();
928070
928231
  init_streaming14();
928071
928232
  });
928072
928233
 
928073
- // node_modules/.bun/hono@4.12.25/node_modules/hono/dist/helper/streaming/index.js
928234
+ // node_modules/.bun/hono@4.12.26/node_modules/hono/dist/helper/streaming/index.js
928074
928235
  var init_streaming14 = __esm(() => {
928075
928236
  init_stream7();
928076
928237
  init_sse2();
@@ -928098,7 +928259,7 @@ function getMacroDefines() {
928098
928259
  commit = execSync3("git rev-parse --short HEAD", { encoding: "utf-8", cwd: __dirname }).trim();
928099
928260
  } catch {}
928100
928261
  return {
928101
- "MACRO.VERSION": JSON.stringify("4.2.5"),
928262
+ "MACRO.VERSION": JSON.stringify("4.2.6-beta"),
928102
928263
  "MACRO.BUILD_TIME": JSON.stringify(new Date().toISOString()),
928103
928264
  "MACRO.COMMIT": JSON.stringify(commit),
928104
928265
  "MACRO.FEEDBACK_CHANNEL": JSON.stringify(""),
@@ -928134,6 +928295,7 @@ var init_defines = __esm(() => {
928134
928295
  "ACP",
928135
928296
  "WORKFLOW_SCRIPTS",
928136
928297
  "HISTORY_SNIP",
928298
+ "REACTIVE_COMPACT",
928137
928299
  "MONITOR_TOOL",
928138
928300
  "KAIROS",
928139
928301
  "BG_SESSIONS",
@@ -933909,7 +934071,7 @@ __export(exports_update, {
933909
934071
  });
933910
934072
  async function update() {
933911
934073
  logEvent("tengu_update_check", {});
933912
- writeToStdout(`${t("cli.update.currentVersion", "Current version")}: ${"4.2.5"}
934074
+ writeToStdout(`${t("cli.update.currentVersion", "Current version")}: ${"4.2.6-beta"}
933913
934075
  `);
933914
934076
  const channel5 = getInitialSettings()?.autoUpdatesChannel ?? "latest";
933915
934077
  writeToStdout(`${t("cli.update.checkingUpdates", { channel: channel5 }, "Checking for updates to {channel} version...")}
@@ -933984,8 +934146,8 @@ async function update() {
933984
934146
  writeToStdout(`${t("cli.update.managedByHomebrew", "CoStrict is managed by Homebrew.")}
933985
934147
  `);
933986
934148
  const latest = await getLatestVersion(channel5);
933987
- if (latest && !gte2("4.2.5", latest)) {
933988
- writeToStdout(`${t("cli.update.updateAvailable", { current: "4.2.5", latest }, "Update available: {current} \u2192 {latest}")}
934149
+ if (latest && !gte2("4.2.6-beta", latest)) {
934150
+ writeToStdout(`${t("cli.update.updateAvailable", { current: "4.2.6-beta", latest }, "Update available: {current} \u2192 {latest}")}
933989
934151
  `);
933990
934152
  writeToStdout(`
933991
934153
  `);
@@ -934001,8 +934163,8 @@ async function update() {
934001
934163
  writeToStdout(`${t("cli.update.managedByWinget", "CoStrict is managed by winget.")}
934002
934164
  `);
934003
934165
  const latest = await getLatestVersion(channel5);
934004
- if (latest && !gte2("4.2.5", latest)) {
934005
- writeToStdout(`${t("cli.update.updateAvailable", { current: "4.2.5", latest }, "Update available: {current} \u2192 {latest}")}
934166
+ if (latest && !gte2("4.2.6-beta", latest)) {
934167
+ writeToStdout(`${t("cli.update.updateAvailable", { current: "4.2.6-beta", latest }, "Update available: {current} \u2192 {latest}")}
934006
934168
  `);
934007
934169
  writeToStdout(`
934008
934170
  `);
@@ -934018,8 +934180,8 @@ async function update() {
934018
934180
  writeToStdout(`${t("cli.update.managedByApk", "CoStrict is managed by apk.")}
934019
934181
  `);
934020
934182
  const latest = await getLatestVersion(channel5);
934021
- if (latest && !gte2("4.2.5", latest)) {
934022
- writeToStdout(`${t("cli.update.updateAvailable", { current: "4.2.5", latest }, "Update available: {current} \u2192 {latest}")}
934183
+ if (latest && !gte2("4.2.6-beta", latest)) {
934184
+ writeToStdout(`${t("cli.update.updateAvailable", { current: "4.2.6-beta", latest }, "Update available: {current} \u2192 {latest}")}
934023
934185
  `);
934024
934186
  writeToStdout(`
934025
934187
  `);
@@ -934084,11 +934246,11 @@ async function update() {
934084
934246
  `);
934085
934247
  await gracefulShutdown(1);
934086
934248
  }
934087
- if (result2.latestVersion === "4.2.5") {
934088
- writeToStdout(source_default.green(t("cli.update.upToDateVersion", { version: "4.2.5" }, "CoStrict is up to date ({version})")) + `
934249
+ if (result2.latestVersion === "4.2.6-beta") {
934250
+ writeToStdout(source_default.green(t("cli.update.upToDateVersion", { version: "4.2.6-beta" }, "CoStrict is up to date ({version})")) + `
934089
934251
  `);
934090
934252
  } else {
934091
- writeToStdout(source_default.green(t("cli.update.successfullyUpdated", { from: "4.2.5", to: String(result2.latestVersion) }, "Successfully updated from {from} to version {to}")) + `
934253
+ writeToStdout(source_default.green(t("cli.update.successfullyUpdated", { from: "4.2.6-beta", to: String(result2.latestVersion) }, "Successfully updated from {from} to version {to}")) + `
934092
934254
  `);
934093
934255
  regenerateCompletionCache();
934094
934256
  }
@@ -934148,12 +934310,12 @@ async function update() {
934148
934310
  `);
934149
934311
  await gracefulShutdown(1);
934150
934312
  }
934151
- if (latestVersion === "4.2.5") {
934152
- writeToStdout(source_default.green(t("cli.update.upToDateVersion", { version: "4.2.5" }, "CoStrict is up to date ({version})")) + `
934313
+ if (latestVersion === "4.2.6-beta") {
934314
+ writeToStdout(source_default.green(t("cli.update.upToDateVersion", { version: "4.2.6-beta" }, "CoStrict is up to date ({version})")) + `
934153
934315
  `);
934154
934316
  await gracefulShutdown(0);
934155
934317
  }
934156
- writeToStdout(`${t("cli.update.newVersionAvailable", { latest: String(latestVersion), current: "4.2.5" }, "New version available: {latest} (current: {current})")}
934318
+ writeToStdout(`${t("cli.update.newVersionAvailable", { latest: String(latestVersion), current: "4.2.6-beta" }, "New version available: {latest} (current: {current})")}
934157
934319
  `);
934158
934320
  writeToStdout(`${t("cli.update.installing", "Installing update...")}
934159
934321
  `);
@@ -934198,7 +934360,7 @@ async function update() {
934198
934360
  logForDebugging(`update: Installation status: ${result.status}`);
934199
934361
  switch (result.status) {
934200
934362
  case "success":
934201
- writeToStdout(source_default.green(t("cli.update.successfullyUpdated", { from: "4.2.5", to: String(latestVersion) }, "Successfully updated from {from} to version {to}")) + `
934363
+ writeToStdout(source_default.green(t("cli.update.successfullyUpdated", { from: "4.2.6-beta", to: String(latestVersion) }, "Successfully updated from {from} to version {to}")) + `
934202
934364
  `);
934203
934365
  regenerateCompletionCache();
934204
934366
  break;
@@ -936412,7 +936574,7 @@ ${assistantAddendum}` : assistantAddendum;
936412
936574
  }
936413
936575
  }
936414
936576
  logForDiagnosticsNoPII("info", "started", {
936415
- version: "4.2.5",
936577
+ version: "4.2.6-beta",
936416
936578
  is_native_binary: isInBundledMode()
936417
936579
  });
936418
936580
  registerCleanup(async () => {
@@ -936893,7 +937055,7 @@ Session: ${directConnectConfig.sessionId}`, "info");
936893
937055
  sshSession = await createSSHSession2({
936894
937056
  host: _pendingSSH.host,
936895
937057
  cwd: _pendingSSH.cwd,
936896
- localVersion: "4.2.5",
937058
+ localVersion: "4.2.6-beta",
936897
937059
  permissionMode: _pendingSSH.permissionMode,
936898
937060
  dangerouslySkipPermissions: _pendingSSH.dangerouslySkipPermissions,
936899
937061
  extraCliArgs: _pendingSSH.extraCliArgs,
@@ -937365,7 +937527,7 @@ Usage: csc --remote "your task description"`, () => gracefulShutdown(1));
937365
937527
  pendingHookMessages
937366
937528
  }, renderAndRun);
937367
937529
  }
937368
- }).version("4.2.5 (CoStrict)", "-v, --version", cliDesc("cli.option.version", "Output the version number"));
937530
+ }).version("4.2.6-beta (CoStrict)", "-v, --version", cliDesc("cli.option.version", "Output the version number"));
937369
937531
  program2.addOption(new Option("-w, --worktree [name]", cliDesc("cli.option.worktree", "Create a new git worktree for this session (optionally specify a name)")).hideHelp());
937370
937532
  program2.addOption(new Option("--tmux", cliDesc("cli.option.tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.")).hideHelp());
937371
937533
  if (canUserConfigureAdvisor()) {
@@ -938080,10 +938242,10 @@ if (process.env.CLAUDE_CODE_REMOTE === "true") {
938080
938242
  async function main2() {
938081
938243
  const args = process.argv.slice(2);
938082
938244
  if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
938083
- const d7 = new Date("2026-06-18T03:39:27.400Z");
938245
+ const d7 = new Date("2026-06-22T11:00:03.039Z");
938084
938246
  const p2 = (n3) => String(n3).padStart(2, "0");
938085
938247
  const buildTime = `${d7.getFullYear()}/${p2(d7.getMonth() + 1)}/${p2(d7.getDate())} ${p2(d7.getHours())}:${p2(d7.getMinutes())}:${p2(d7.getSeconds())}`;
938086
- console.log(`${"4.2.5"} (commit: ${"a47a76571"}, built: ${buildTime})`);
938248
+ console.log(`${"4.2.6-beta"} (commit: ${"45c31bd51"}, built: ${buildTime})`);
938087
938249
  return;
938088
938250
  }
938089
938251
  const { profileCheckpoint: profileCheckpoint2 } = await Promise.resolve().then(() => (init_startupProfiler(), exports_startupProfiler));
@@ -938123,7 +938285,7 @@ async function main2() {
938123
938285
  registerPermissionHandler(server2, handler) {
938124
938286
  server2.setNotificationHandler(ChannelPermissionRequestNotificationSchema2(), async (notification) => handler(notification.params));
938125
938287
  }
938126
- }, "4.2.5");
938288
+ }, "4.2.6-beta");
938127
938289
  return;
938128
938290
  }
938129
938291
  if (args[0] === "--daemon-worker" || args[0]?.startsWith("--daemon-worker=")) {
@@ -938221,5 +938383,5 @@ async function main2() {
938221
938383
  }
938222
938384
  main2();
938223
938385
 
938224
- //# debugId=928B5569B06E42B264756E2164756E21
938386
+ //# debugId=8AD428C6B9E3C1E064756E2164756E21
938225
938387
  //# sourceMappingURL=cli.js.map