@costrict/csc 4.2.4-beta1 → 4.2.4

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
@@ -82888,11 +82888,8 @@ function getGrowthBookClientKey() {
82888
82888
  const adapterKey = process.env.CLAUDE_GB_ADAPTER_KEY;
82889
82889
  if (adapterKey)
82890
82890
  return adapterKey;
82891
- return process.env.USER_TYPE === "sf" ? isEnvTruthy(process.env.ENABLE_GROWTHBOOK_DEV) ? "sdk-yZQvlplybuXjYh6L" : "sdk-xRVcrliHIlrg4og4" : "sdk-zAZezfDKGoZuXXKe";
82891
+ return "";
82892
82892
  }
82893
- var init_keys2 = __esm(() => {
82894
- init_envUtils();
82895
- });
82896
82893
 
82897
82894
  // src/costrict/provider/credentials.ts
82898
82895
  var exports_credentials = {};
@@ -82977,8 +82974,8 @@ var init_credentials = __esm(() => {
82977
82974
  import { createRequire } from "module";
82978
82975
  function getVersion() {
82979
82976
  try {
82980
- if (typeof MACRO !== "undefined" && "4.2.4-beta1")
82981
- return "4.2.4-beta1";
82977
+ if (typeof MACRO !== "undefined" && "4.2.4")
82978
+ return "4.2.4";
82982
82979
  } catch {}
82983
82980
  try {
82984
82981
  const require2 = createRequire(import.meta.url);
@@ -220026,7 +220023,7 @@ async function fetchCoStrictModels(baseUrl, accessToken) {
220026
220023
  headers: {
220027
220024
  Authorization: `Bearer ${accessToken}`,
220028
220025
  Accept: "application/json",
220029
- "User-Agent": `csc/${"4.2.4-beta1"}`
220026
+ "User-Agent": `csc/${"4.2.4"}`
220030
220027
  },
220031
220028
  signal: controller.signal
220032
220029
  });
@@ -223612,7 +223609,7 @@ var init_auth7 = __esm(() => {
223612
223609
 
223613
223610
  // src/utils/userAgent.ts
223614
223611
  function getClaudeCodeUserAgent() {
223615
- return `costrict/${"4.2.4-beta1"}`;
223612
+ return `costrict/${"4.2.4"}`;
223616
223613
  }
223617
223614
 
223618
223615
  // src/utils/workloadContext.ts
@@ -223634,7 +223631,7 @@ function getUserAgent() {
223634
223631
  const clientApp = process.env.CLAUDE_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.CLAUDE_AGENT_SDK_CLIENT_APP}` : "";
223635
223632
  const workload = getWorkload();
223636
223633
  const workloadSuffix = workload ? `, workload/${workload}` : "";
223637
- return `csc/${"4.2.4-beta1"}`;
223634
+ return `csc/${"4.2.4"}`;
223638
223635
  }
223639
223636
  function getMCPUserAgent() {
223640
223637
  const parts = [];
@@ -223648,7 +223645,7 @@ function getMCPUserAgent() {
223648
223645
  parts.push(`client-app/${process.env.CLAUDE_AGENT_SDK_CLIENT_APP}`);
223649
223646
  }
223650
223647
  const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
223651
- return `csc/${"4.2.4-beta1"}${suffix}`;
223648
+ return `csc/${"4.2.4"}${suffix}`;
223652
223649
  }
223653
223650
  function getWebFetchUserAgent() {
223654
223651
  return `Claude-User (${getClaudeCodeUserAgent()}; +https://support.anthropic.com/)`;
@@ -223768,7 +223765,7 @@ var init_user = __esm(() => {
223768
223765
  deviceId,
223769
223766
  sessionId: getSessionId(),
223770
223767
  email: getEmail(),
223771
- appVersion: "4.2.4-beta1",
223768
+ appVersion: "4.2.4",
223772
223769
  platform: getHostPlatformForAnalytics(),
223773
223770
  organizationUuid,
223774
223771
  accountUuid,
@@ -233268,7 +233265,7 @@ var init_metadata = __esm(() => {
233268
233265
  COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
233269
233266
  WHITESPACE_REGEX = /\s+/;
233270
233267
  getVersionBase = memoize_default(() => {
233271
- const match = "4.2.4-beta1".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
233268
+ const match = "4.2.4".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
233272
233269
  return match ? match[0] : undefined;
233273
233270
  });
233274
233271
  buildEnvContext = memoize_default(async () => {
@@ -233308,9 +233305,9 @@ var init_metadata = __esm(() => {
233308
233305
  isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
233309
233306
  isClaudeCodeAction: isEnvTruthy(process.env.CLAUDE_CODE_ACTION),
233310
233307
  isClaudeAiAuth: isClaudeAISubscriber(),
233311
- version: "4.2.4-beta1",
233308
+ version: "4.2.4",
233312
233309
  versionBase: getVersionBase(),
233313
- buildTime: "2026-06-16T12:42:26.921Z",
233310
+ buildTime: "2026-06-16T13:18:49.787Z",
233314
233311
  deploymentEnvironment: env4.detectDeploymentEnvironment(),
233315
233312
  ...isEnvTruthy(process.env.GITHUB_ACTIONS) && {
233316
233313
  githubEventName: process.env.GITHUB_EVENT_NAME,
@@ -233981,7 +233978,7 @@ function initialize1PEventLogging() {
233981
233978
  const platform4 = getPlatform();
233982
233979
  const attributes = {
233983
233980
  [import_semantic_conventions2.ATTR_SERVICE_NAME]: "claude-code",
233984
- [import_semantic_conventions2.ATTR_SERVICE_VERSION]: "4.2.4-beta1"
233981
+ [import_semantic_conventions2.ATTR_SERVICE_VERSION]: "4.2.4"
233985
233982
  };
233986
233983
  if (platform4 === "wsl") {
233987
233984
  const wslVersion = getWslVersion();
@@ -234008,7 +234005,7 @@ function initialize1PEventLogging() {
234008
234005
  })
234009
234006
  ]
234010
234007
  });
234011
- firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.anthropic.claude_code.events", "4.2.4-beta1");
234008
+ firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.anthropic.claude_code.events", "4.2.4");
234012
234009
  }
234013
234010
  async function reinitialize1PEventLoggingIfConfigChanged() {
234014
234011
  if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
@@ -234266,7 +234263,7 @@ function isGrowthBookEnabled() {
234266
234263
  if (process.env.CLAUDE_GB_ADAPTER_URL && process.env.CLAUDE_GB_ADAPTER_KEY) {
234267
234264
  return true;
234268
234265
  }
234269
- return is1PEventLoggingEnabled();
234266
+ return false;
234270
234267
  }
234271
234268
  function getApiBaseUrlHost() {
234272
234269
  const baseUrl = process.env.ANTHROPIC_BASE_URL;
@@ -234569,7 +234566,6 @@ var init_growthbook = __esm(() => {
234569
234566
  init_esm2();
234570
234567
  init_lodash();
234571
234568
  init_state();
234572
- init_keys2();
234573
234569
  init_config4();
234574
234570
  init_debug();
234575
234571
  init_errors();
@@ -401097,7 +401093,7 @@ function getTelemetryAttributes() {
401097
401093
  attributes["session.id"] = sessionId;
401098
401094
  }
401099
401095
  if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
401100
- attributes["app.version"] = "4.2.4-beta1";
401096
+ attributes["app.version"] = "4.2.4";
401101
401097
  }
401102
401098
  const oauthAccount = getOauthAccountInfo();
401103
401099
  if (oauthAccount) {
@@ -434631,7 +434627,7 @@ function initLangfuse() {
434631
434627
  flushInterval: parseInt(process.env.LANGFUSE_FLUSH_INTERVAL ?? "10", 10),
434632
434628
  mask: maskFn,
434633
434629
  environment: process.env.LANGFUSE_TRACING_ENVIRONMENT ?? "development",
434634
- release: "4.2.4-beta1",
434630
+ release: "4.2.4",
434635
434631
  exportMode: process.env.LANGFUSE_EXPORT_MODE ?? "batched",
434636
434632
  timeout: parseInt(process.env.LANGFUSE_TIMEOUT ?? "5", 10)
434637
434633
  });
@@ -466523,7 +466519,7 @@ function initSentry() {
466523
466519
  }
466524
466520
  init3({
466525
466521
  dsn,
466526
- release: typeof MACRO !== "undefined" ? "4.2.4-beta1" : undefined,
466522
+ release: typeof MACRO !== "undefined" ? "4.2.4" : undefined,
466527
466523
  environment: typeof BUILD_ENV !== "undefined" ? BUILD_ENV : "production",
466528
466524
  maxBreadcrumbs: 20,
466529
466525
  sampleRate: 1,
@@ -494408,7 +494404,7 @@ async function initializeBetaTracing(resource) {
494408
494404
  });
494409
494405
  logs.setGlobalLoggerProvider(loggerProvider);
494410
494406
  setLoggerProvider(loggerProvider);
494411
- const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "4.2.4-beta1");
494407
+ const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "4.2.4");
494412
494408
  setEventLogger(eventLogger);
494413
494409
  process.on("beforeExit", async () => {
494414
494410
  await loggerProvider?.forceFlush();
@@ -494448,7 +494444,7 @@ async function initializeTelemetry() {
494448
494444
  const platform5 = getPlatform();
494449
494445
  const baseAttributes = {
494450
494446
  [import_semantic_conventions29.ATTR_SERVICE_NAME]: "claude-code",
494451
- [import_semantic_conventions29.ATTR_SERVICE_VERSION]: "4.2.4-beta1"
494447
+ [import_semantic_conventions29.ATTR_SERVICE_VERSION]: "4.2.4"
494452
494448
  };
494453
494449
  if (platform5 === "wsl") {
494454
494450
  const wslVersion = getWslVersion();
@@ -494493,7 +494489,7 @@ async function initializeTelemetry() {
494493
494489
  } catch {}
494494
494490
  };
494495
494491
  registerCleanup(shutdownTelemetry2);
494496
- return meterProvider2.getMeter("com.anthropic.claude_code", "4.2.4-beta1");
494492
+ return meterProvider2.getMeter("com.anthropic.claude_code", "4.2.4");
494497
494493
  }
494498
494494
  const meterProvider = new import_sdk_metrics2.MeterProvider({
494499
494495
  resource,
@@ -494513,7 +494509,7 @@ async function initializeTelemetry() {
494513
494509
  });
494514
494510
  logs.setGlobalLoggerProvider(loggerProvider);
494515
494511
  setLoggerProvider(loggerProvider);
494516
- const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "4.2.4-beta1");
494512
+ const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "4.2.4");
494517
494513
  setEventLogger(eventLogger);
494518
494514
  logForDebugging("[3P telemetry] Event logger set successfully");
494519
494515
  process.on("beforeExit", async () => {
@@ -494575,7 +494571,7 @@ Current timeout: ${timeoutMs}ms
494575
494571
  }
494576
494572
  };
494577
494573
  registerCleanup(shutdownTelemetry);
494578
- return meterProvider.getMeter("com.anthropic.claude_code", "4.2.4-beta1");
494574
+ return meterProvider.getMeter("com.anthropic.claude_code", "4.2.4");
494579
494575
  }
494580
494576
  async function flushTelemetry() {
494581
494577
  const meterProvider = getMeterProvider();
@@ -495633,7 +495629,7 @@ async function installGlobalPackage(specificVersion) {
495633
495629
  logError3(new AutoUpdaterError("Another process is currently installing an update"));
495634
495630
  logEvent("tengu_auto_updater_lock_contention", {
495635
495631
  pid: process.pid,
495636
- currentVersion: "4.2.4-beta1"
495632
+ currentVersion: "4.2.4"
495637
495633
  });
495638
495634
  return { status: "in_progress" };
495639
495635
  }
@@ -495642,7 +495638,7 @@ async function installGlobalPackage(specificVersion) {
495642
495638
  if (!env4.isRunningWithBun() && env4.isNpmFromWindowsPath()) {
495643
495639
  logError3(new Error("Windows NPM detected in WSL environment"));
495644
495640
  logEvent("tengu_auto_updater_windows_npm_in_wsl", {
495645
- currentVersion: "4.2.4-beta1"
495641
+ currentVersion: "4.2.4"
495646
495642
  });
495647
495643
  return {
495648
495644
  status: "install_failed",
@@ -496188,7 +496184,7 @@ function detectLinuxGlobPatternWarnings() {
496188
496184
  }
496189
496185
  async function getDoctorDiagnostic() {
496190
496186
  const installationType = await getCurrentInstallationType();
496191
- const version7 = typeof MACRO !== "undefined" ? "4.2.4-beta1" : "unknown";
496187
+ const version7 = typeof MACRO !== "undefined" ? "4.2.4" : "unknown";
496192
496188
  const installationPath = await getInstallationPath();
496193
496189
  const invokedBinary = getInvokedBinary();
496194
496190
  const multipleInstallations = await detectMultipleInstallations();
@@ -534286,7 +534282,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
534286
534282
  const client10 = new Client3({
534287
534283
  name: "claude-code",
534288
534284
  title: "CoStrict",
534289
- version: "4.2.4-beta1",
534285
+ version: "4.2.4",
534290
534286
  description: "CoStrict agentic coding tool",
534291
534287
  websiteUrl: PRODUCT_URL
534292
534288
  }, {
@@ -534656,7 +534652,7 @@ var init_client17 = __esm(() => {
534656
534652
  const client10 = new Client3({
534657
534653
  name: "claude-code",
534658
534654
  title: "CoStrict",
534659
- version: "4.2.4-beta1",
534655
+ version: "4.2.4",
534660
534656
  description: "CoStrict agentic coding tool",
534661
534657
  websiteUrl: PRODUCT_URL
534662
534658
  }, {
@@ -536024,7 +536020,7 @@ function getInstallationEnv() {
536024
536020
  return;
536025
536021
  }
536026
536022
  function getClaudeCodeVersion() {
536027
- return "4.2.4-beta1";
536023
+ return "4.2.4";
536028
536024
  }
536029
536025
  async function getInstalledVSCodeExtensionVersion(command4) {
536030
536026
  const { stdout } = await execFileNoThrow2(command4, ["--list-extensions", "--show-versions"], {
@@ -537388,8 +537384,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
537388
537384
  const maxVersion = await getMaxVersion();
537389
537385
  if (maxVersion && gt(version8, maxVersion)) {
537390
537386
  logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version8} to ${maxVersion}`);
537391
- if (gte2("4.2.4-beta1", maxVersion)) {
537392
- logForDebugging(`Native installer: current version ${"4.2.4-beta1"} is already at or above maxVersion ${maxVersion}, skipping update`);
537387
+ if (gte2("4.2.4", maxVersion)) {
537388
+ logForDebugging(`Native installer: current version ${"4.2.4"} is already at or above maxVersion ${maxVersion}, skipping update`);
537393
537389
  logEvent("tengu_native_update_skipped_max_version", {
537394
537390
  latency_ms: Date.now() - startTime2,
537395
537391
  max_version: maxVersion,
@@ -537400,7 +537396,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
537400
537396
  version8 = maxVersion;
537401
537397
  }
537402
537398
  }
537403
- if (!forceReinstall && version8 === "4.2.4-beta1" && await versionIsAvailable(version8) && await isPossibleClaudeBinary(executablePath)) {
537399
+ if (!forceReinstall && version8 === "4.2.4" && await versionIsAvailable(version8) && await isPossibleClaudeBinary(executablePath)) {
537404
537400
  logForDebugging(`Found ${version8} at ${executablePath}, skipping install`);
537405
537401
  logEvent("tengu_native_update_complete", {
537406
537402
  latency_ms: Date.now() - startTime2,
@@ -671298,7 +671294,7 @@ function Feedback({
671298
671294
  platform: env4.platform,
671299
671295
  gitRepo: envInfo.isGit,
671300
671296
  terminal: env4.terminal,
671301
- version: "4.2.4-beta1",
671297
+ version: "4.2.4",
671302
671298
  transcript: normalizeMessagesForAPI(messages),
671303
671299
  errors: sanitizedErrors,
671304
671300
  lastApiRequest: getLastAPIRequest(),
@@ -671483,7 +671479,7 @@ function Feedback({
671483
671479
  ", ",
671484
671480
  env4.terminal,
671485
671481
  ", v",
671486
- "4.2.4-beta1"
671482
+ "4.2.4"
671487
671483
  ]
671488
671484
  })
671489
671485
  ]
@@ -671589,7 +671585,7 @@ ${sanitizedDescription}
671589
671585
  ` + `**Environment Info**
671590
671586
  ` + `- Platform: ${env4.platform}
671591
671587
  ` + `- Terminal: ${env4.terminal}
671592
- ` + `- Version: ${"4.2.4-beta1"}
671588
+ ` + `- Version: ${"4.2.4"}
671593
671589
  ` + `- Feedback ID: ${feedbackId}
671594
671590
  ` + `
671595
671591
  **Errors**
@@ -673790,7 +673786,7 @@ function buildPrimarySection() {
673790
673786
  children: "/rename to add a name"
673791
673787
  });
673792
673788
  return [
673793
- { label: "Version", value: "4.2.4-beta1" },
673789
+ { label: "Version", value: "4.2.4" },
673794
673790
  { label: "Session name", value: nameValue },
673795
673791
  { label: "Session ID", value: sessionId },
673796
673792
  { label: "cwd", value: getCwd() },
@@ -676594,7 +676590,7 @@ function Config({
676594
676590
  }
676595
676591
  })
676596
676592
  }) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_runtime191.jsx(ChannelDowngradeDialog, {
676597
- currentVersion: "4.2.4-beta1",
676593
+ currentVersion: "4.2.4",
676598
676594
  onChoice: (choice) => {
676599
676595
  setShowSubmenu(null);
676600
676596
  setTabsHidden(false);
@@ -676606,7 +676602,7 @@ function Config({
676606
676602
  autoUpdatesChannel: "stable"
676607
676603
  };
676608
676604
  if (choice === "stay") {
676609
- newSettings.minimumVersion = "4.2.4-beta1";
676605
+ newSettings.minimumVersion = "4.2.4";
676610
676606
  }
676611
676607
  updateSettingsForSource("userSettings", newSettings);
676612
676608
  setSettingsData((prev) => ({
@@ -682056,7 +682052,7 @@ function HelpV2({ onClose, commands: commands11 }) {
682056
682052
  color: "professionalBlue",
682057
682053
  children: [
682058
682054
  /* @__PURE__ */ jsx_runtime218.jsx(Tabs, {
682059
- title: process.env.USER_TYPE === "sf" ? "/help" : `CoStrict v${"4.2.4-beta1"}`,
682055
+ title: process.env.USER_TYPE === "sf" ? "/help" : `CoStrict v${"4.2.4"}`,
682060
682056
  color: "professionalBlue",
682061
682057
  defaultTab: "general",
682062
682058
  children: tabs
@@ -773636,7 +773632,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
773636
773632
  return [];
773637
773633
  }
773638
773634
  }
773639
- async function checkForReleaseNotes(lastSeenVersion, currentVersion = "4.2.4-beta1") {
773635
+ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "4.2.4") {
773640
773636
  if (process.env.USER_TYPE === "sf") {
773641
773637
  const changelog = "";
773642
773638
  if (changelog) {
@@ -773663,7 +773659,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "4.2.4-bet
773663
773659
  releaseNotes
773664
773660
  };
773665
773661
  }
773666
- function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "4.2.4-beta1") {
773662
+ function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "4.2.4") {
773667
773663
  if (process.env.USER_TYPE === "sf") {
773668
773664
  const changelog = "";
773669
773665
  if (changelog) {
@@ -776172,7 +776168,7 @@ function isNotLoggedIn() {
776172
776168
  return true;
776173
776169
  }
776174
776170
  function getLogoDisplayData() {
776175
- const version8 = process.env.DEMO_VERSION ?? "4.2.4-beta1";
776171
+ const version8 = process.env.DEMO_VERSION ?? "4.2.4";
776176
776172
  const serverUrl = getDirectConnectServerUrl();
776177
776173
  const displayPath = process.env.DEMO_VERSION ? "/code/claude" : getDisplayPath(getCwd());
776178
776174
  const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
@@ -776695,7 +776691,7 @@ var cachedSystemTheme2;
776695
776691
  // src/components/matrix-tactical/MatrixWelcome.tsx
776696
776692
  import { basename as basename47 } from "path";
776697
776693
  function MatrixWelcome({
776698
- version: version8 = "4.2.4-beta1",
776694
+ version: version8 = "4.2.4",
776699
776695
  projectName,
776700
776696
  cwd: cwd2,
776701
776697
  modelDisplayName,
@@ -777328,13 +777324,13 @@ function LogoV2() {
777328
777324
  const { hasReleaseNotes } = checkForReleaseNotesSync(config12.lastReleaseNotesSeen);
777329
777325
  import_react166.useEffect(() => {
777330
777326
  const currentConfig = getGlobalConfig();
777331
- if (currentConfig.lastReleaseNotesSeen === "4.2.4-beta1") {
777327
+ if (currentConfig.lastReleaseNotesSeen === "4.2.4") {
777332
777328
  return;
777333
777329
  }
777334
777330
  saveGlobalConfig((current2) => {
777335
- if (current2.lastReleaseNotesSeen === "4.2.4-beta1")
777331
+ if (current2.lastReleaseNotesSeen === "4.2.4")
777336
777332
  return current2;
777337
- return { ...current2, lastReleaseNotesSeen: "4.2.4-beta1" };
777333
+ return { ...current2, lastReleaseNotesSeen: "4.2.4" };
777338
777334
  });
777339
777335
  if (showOnboarding) {
777340
777336
  incrementProjectOnboardingSeenCount();
@@ -799104,7 +799100,7 @@ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
799104
799100
  smapsRollup,
799105
799101
  platform: process.platform,
799106
799102
  nodeVersion: process.version,
799107
- ccVersion: "4.2.4-beta1"
799103
+ ccVersion: "4.2.4"
799108
799104
  };
799109
799105
  }
799110
799106
  async function performHeapDump(trigger = "manual", dumpNumber = 0) {
@@ -799219,7 +799215,7 @@ var init_mock_limits = __esm(() => {
799219
799215
  var call54 = async () => {
799220
799216
  return {
799221
799217
  type: "text",
799222
- value: `${"4.2.4-beta1"} (built ${"2026-06-16T12:42:26.921Z"})`
799218
+ value: `${"4.2.4"} (built ${"2026-06-16T13:18:49.787Z"})`
799223
799219
  };
799224
799220
  }, version8, version_default;
799225
799221
  var init_version2 = __esm(() => {
@@ -805557,8 +805553,8 @@ var init_tag2 = __esm(() => {
805557
805553
  import { createRequire as createRequire5 } from "module";
805558
805554
  function getVersion2() {
805559
805555
  try {
805560
- if (typeof MACRO !== "undefined" && "4.2.4-beta1")
805561
- return "4.2.4-beta1";
805556
+ if (typeof MACRO !== "undefined" && "4.2.4")
805557
+ return "4.2.4";
805562
805558
  } catch {}
805563
805559
  try {
805564
805560
  const require4 = createRequire5(import.meta.url);
@@ -815840,7 +815836,7 @@ function generateHtmlReport(data, insights) {
815840
815836
  </html>`;
815841
815837
  }
815842
815838
  function buildExportData(data, insights, facets, remoteStats) {
815843
- const version9 = typeof MACRO !== "undefined" ? "4.2.4-beta1" : "unknown";
815839
+ const version9 = typeof MACRO !== "undefined" ? "4.2.4" : "unknown";
815844
815840
  const remote_hosts_collected = remoteStats?.hosts.filter((h8) => h8.sessionCount > 0).map((h8) => h8.name);
815845
815841
  const facets_summary = {
815846
815842
  total: facets.size,
@@ -820150,7 +820146,7 @@ var init_sessionStorage = __esm(() => {
820150
820146
  init_settings2();
820151
820147
  init_slowOperations();
820152
820148
  init_uuid();
820153
- VERSION10 = typeof MACRO !== "undefined" ? "4.2.4-beta1" : "unknown";
820149
+ VERSION10 = typeof MACRO !== "undefined" ? "4.2.4" : "unknown";
820154
820150
  MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
820155
820151
  SKIP_FIRST_PROMPT_PATTERN2 = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
820156
820152
  EPHEMERAL_PROGRESS_TYPES = new Set([
@@ -821458,7 +821454,7 @@ var init_filesystem = __esm(() => {
821458
821454
  });
821459
821455
  getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
821460
821456
  const nonce = randomBytes24(16).toString("hex");
821461
- return join197(getCostrictTempDir(), "bundled-skills", "4.2.4-beta1", nonce);
821457
+ return join197(getCostrictTempDir(), "bundled-skills", "4.2.4", nonce);
821462
821458
  });
821463
821459
  getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
821464
821460
  });
@@ -827655,7 +827651,7 @@ function computeFingerprint(messageText, version9) {
827655
827651
  }
827656
827652
  function computeFingerprintFromMessages(messages) {
827657
827653
  const firstMessageText = extractFirstMessageText(messages);
827658
- return computeFingerprint(firstMessageText, "4.2.4-beta1");
827654
+ return computeFingerprint(firstMessageText, "4.2.4");
827659
827655
  }
827660
827656
  var FINGERPRINT_SALT = "59cf53e54c78";
827661
827657
  var init_fingerprint = () => {};
@@ -828065,7 +828061,7 @@ function getAnthropicEnvMetadata() {
828065
828061
  function getBuildAgeMinutes() {
828066
828062
  if (false)
828067
828063
  ;
828068
- const buildTime = new Date("2026-06-16T12:42:26.921Z").getTime();
828064
+ const buildTime = new Date("2026-06-16T13:18:49.787Z").getTime();
828069
828065
  if (isNaN(buildTime))
828070
828066
  return;
828071
828067
  return Math.floor((Date.now() - buildTime) / 60000);
@@ -840944,7 +840940,7 @@ async function sideQuery(opts) {
840944
840940
  betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
840945
840941
  }
840946
840942
  const messageText = extractFirstUserMessageText(messages);
840947
- const fingerprint = computeFingerprint(messageText, "4.2.4-beta1");
840943
+ const fingerprint = computeFingerprint(messageText, "4.2.4");
840948
840944
  const attributionHeader = getAttributionHeader(fingerprint);
840949
840945
  const systemBlocks = [
840950
840946
  attributionHeader ? { type: "text", text: attributionHeader } : null,
@@ -844319,7 +844315,7 @@ function buildSystemInitMessage(inputs) {
844319
844315
  slash_commands: inputs.commands.filter((c10) => c10.userInvocable !== false).map((c10) => c10.name),
844320
844316
  apiKeySource: getAnthropicApiKeyWithSource().source,
844321
844317
  betas: getSdkBetas(),
844322
- claude_code_version: "4.2.4-beta1",
844318
+ claude_code_version: "4.2.4",
844323
844319
  output_style: outputStyle2,
844324
844320
  agents: inputs.agents.map((agent) => agent.agentType),
844325
844321
  skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill) => skill.name),
@@ -849174,7 +849170,7 @@ function appendToLog(path48, message2) {
849174
849170
  cwd: getFsImplementation().cwd(),
849175
849171
  userType: process.env.USER_TYPE,
849176
849172
  sessionId: getSessionId(),
849177
- version: "4.2.4-beta1"
849173
+ version: "4.2.4"
849178
849174
  };
849179
849175
  getLogWriter(path48).write(messageWithTimestamp);
849180
849176
  }
@@ -869727,7 +869723,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
869727
869723
  project_dir: getOriginalCwd(),
869728
869724
  added_dirs: addedDirs
869729
869725
  },
869730
- version: "4.2.4-beta1",
869726
+ version: "4.2.4",
869731
869727
  output_style: {
869732
869728
  name: outputStyleName
869733
869729
  },
@@ -888261,7 +888257,7 @@ async function submitTranscriptShare(messages, trigger, appearanceId) {
888261
888257
  } catch {}
888262
888258
  const data = {
888263
888259
  trigger,
888264
- version: "4.2.4-beta1",
888260
+ version: "4.2.4",
888265
888261
  platform: process.platform,
888266
888262
  transcript,
888267
888263
  subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
@@ -889503,7 +889499,7 @@ function getReleaseType(current2, latest) {
889503
889499
  return "patch";
889504
889500
  }
889505
889501
  async function checkNewAutoUpdate(callbacks) {
889506
- const currentVersion = "4.2.4-beta1";
889502
+ const currentVersion = "4.2.4";
889507
889503
  logForDebugging(`[newAutoUpdater] checking, current: ${currentVersion}`);
889508
889504
  if (isNewAutoUpdaterDisabled()) {
889509
889505
  return { action: "skip", currentVersion, latestVersion: null };
@@ -900348,7 +900344,7 @@ function WelcomeV2() {
900348
900344
  dimColor: true,
900349
900345
  children: [
900350
900346
  "v",
900351
- "4.2.4-beta1",
900347
+ "4.2.4",
900352
900348
  " "
900353
900349
  ]
900354
900350
  })
@@ -900414,7 +900410,7 @@ function WelcomeV2() {
900414
900410
  dimColor: true,
900415
900411
  children: [
900416
900412
  "v",
900417
- "4.2.4-beta1",
900413
+ "4.2.4",
900418
900414
  " "
900419
900415
  ]
900420
900416
  })
@@ -900516,7 +900512,7 @@ function AppleTerminalWelcomeV2({ theme: theme2, welcomeMessage }) {
900516
900512
  dimColor: true,
900517
900513
  children: [
900518
900514
  "v",
900519
- "4.2.4-beta1",
900515
+ "4.2.4",
900520
900516
  " "
900521
900517
  ]
900522
900518
  })
@@ -900582,7 +900578,7 @@ function AppleTerminalWelcomeV2({ theme: theme2, welcomeMessage }) {
900582
900578
  dimColor: true,
900583
900579
  children: [
900584
900580
  "v",
900585
- "4.2.4-beta1",
900581
+ "4.2.4",
900586
900582
  " "
900587
900583
  ]
900588
900584
  })
@@ -901532,7 +901528,7 @@ function completeOnboarding() {
901532
901528
  saveGlobalConfig((current2) => ({
901533
901529
  ...current2,
901534
901530
  hasCompletedOnboarding: true,
901535
- lastOnboardingVersion: "4.2.4-beta1"
901531
+ lastOnboardingVersion: "4.2.4"
901536
901532
  }));
901537
901533
  }
901538
901534
  function showDialog(root9, renderer) {
@@ -902883,7 +902879,7 @@ function registerWeixinBuiltinPlugin() {
902883
902879
  registerBuiltinPlugin({
902884
902880
  name: "weixin",
902885
902881
  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`.",
902886
- version: "4.2.4-beta1",
902882
+ version: "4.2.4",
902887
902883
  defaultEnabled: true,
902888
902884
  mcpServers: {
902889
902885
  weixin: {
@@ -915221,7 +915217,7 @@ async function startMCPServer(cwd3, debug5, verbose) {
915221
915217
  setCwd(cwd3);
915222
915218
  const server2 = new Server({
915223
915219
  name: "claude/tengu",
915224
- version: "4.2.4-beta1"
915220
+ version: "4.2.4"
915225
915221
  }, {
915226
915222
  capabilities: {
915227
915223
  tools: {}
@@ -917505,7 +917501,7 @@ function createHealthRoutes(sessionManager) {
917505
917501
  const uptime2 = process.uptime() * 1000;
917506
917502
  return c10.json({
917507
917503
  status: "ok",
917508
- version: "4.2.4-beta1",
917504
+ version: "4.2.4",
917509
917505
  uptime_ms: Math.round(uptime2),
917510
917506
  active_sessions: sessionManager.getActiveCount()
917511
917507
  });
@@ -917768,7 +917764,7 @@ function getMacroDefines() {
917768
917764
  commit = execSync3("git rev-parse --short HEAD", { encoding: "utf-8", cwd: __dirname }).trim();
917769
917765
  } catch {}
917770
917766
  return {
917771
- "MACRO.VERSION": JSON.stringify("4.2.4-beta1"),
917767
+ "MACRO.VERSION": JSON.stringify("4.2.4"),
917772
917768
  "MACRO.BUILD_TIME": JSON.stringify(new Date().toISOString()),
917773
917769
  "MACRO.COMMIT": JSON.stringify(commit),
917774
917770
  "MACRO.FEEDBACK_CHANNEL": JSON.stringify(""),
@@ -923550,7 +923546,7 @@ __export(exports_update, {
923550
923546
  });
923551
923547
  async function update() {
923552
923548
  logEvent("tengu_update_check", {});
923553
- writeToStdout(`Current version: ${"4.2.4-beta1"}
923549
+ writeToStdout(`Current version: ${"4.2.4"}
923554
923550
  `);
923555
923551
  const channel5 = getInitialSettings()?.autoUpdatesChannel ?? "latest";
923556
923552
  writeToStdout(`Checking for updates to ${channel5} version...
@@ -923625,8 +923621,8 @@ async function update() {
923625
923621
  writeToStdout(`CoStrict is managed by Homebrew.
923626
923622
  `);
923627
923623
  const latest = await getLatestVersion(channel5);
923628
- if (latest && !gte2("4.2.4-beta1", latest)) {
923629
- writeToStdout(`Update available: ${"4.2.4-beta1"} \u2192 ${latest}
923624
+ if (latest && !gte2("4.2.4", latest)) {
923625
+ writeToStdout(`Update available: ${"4.2.4"} \u2192 ${latest}
923630
923626
  `);
923631
923627
  writeToStdout(`
923632
923628
  `);
@@ -923642,8 +923638,8 @@ async function update() {
923642
923638
  writeToStdout(`CoStrict is managed by winget.
923643
923639
  `);
923644
923640
  const latest = await getLatestVersion(channel5);
923645
- if (latest && !gte2("4.2.4-beta1", latest)) {
923646
- writeToStdout(`Update available: ${"4.2.4-beta1"} \u2192 ${latest}
923641
+ if (latest && !gte2("4.2.4", latest)) {
923642
+ writeToStdout(`Update available: ${"4.2.4"} \u2192 ${latest}
923647
923643
  `);
923648
923644
  writeToStdout(`
923649
923645
  `);
@@ -923659,8 +923655,8 @@ async function update() {
923659
923655
  writeToStdout(`CoStrict is managed by apk.
923660
923656
  `);
923661
923657
  const latest = await getLatestVersion(channel5);
923662
- if (latest && !gte2("4.2.4-beta1", latest)) {
923663
- writeToStdout(`Update available: ${"4.2.4-beta1"} \u2192 ${latest}
923658
+ if (latest && !gte2("4.2.4", latest)) {
923659
+ writeToStdout(`Update available: ${"4.2.4"} \u2192 ${latest}
923664
923660
  `);
923665
923661
  writeToStdout(`
923666
923662
  `);
@@ -923725,11 +923721,11 @@ async function update() {
923725
923721
  `);
923726
923722
  await gracefulShutdown(1);
923727
923723
  }
923728
- if (result2.latestVersion === "4.2.4-beta1") {
923729
- writeToStdout(source_default.green(`CoStrict is up to date (${"4.2.4-beta1"})`) + `
923724
+ if (result2.latestVersion === "4.2.4") {
923725
+ writeToStdout(source_default.green(`CoStrict is up to date (${"4.2.4"})`) + `
923730
923726
  `);
923731
923727
  } else {
923732
- writeToStdout(source_default.green(`Successfully updated from ${"4.2.4-beta1"} to version ${result2.latestVersion}`) + `
923728
+ writeToStdout(source_default.green(`Successfully updated from ${"4.2.4"} to version ${result2.latestVersion}`) + `
923733
923729
  `);
923734
923730
  regenerateCompletionCache();
923735
923731
  }
@@ -923789,12 +923785,12 @@ async function update() {
923789
923785
  `);
923790
923786
  await gracefulShutdown(1);
923791
923787
  }
923792
- if (latestVersion === "4.2.4-beta1") {
923793
- writeToStdout(source_default.green(`CoStrict is up to date (${"4.2.4-beta1"})`) + `
923788
+ if (latestVersion === "4.2.4") {
923789
+ writeToStdout(source_default.green(`CoStrict is up to date (${"4.2.4"})`) + `
923794
923790
  `);
923795
923791
  await gracefulShutdown(0);
923796
923792
  }
923797
- writeToStdout(`New version available: ${latestVersion} (current: ${"4.2.4-beta1"})
923793
+ writeToStdout(`New version available: ${latestVersion} (current: ${"4.2.4"})
923798
923794
  `);
923799
923795
  writeToStdout(`Installing update...
923800
923796
  `);
@@ -923839,7 +923835,7 @@ async function update() {
923839
923835
  logForDebugging(`update: Installation status: ${result.status}`);
923840
923836
  switch (result.status) {
923841
923837
  case "success":
923842
- writeToStdout(source_default.green(`Successfully updated from ${"4.2.4-beta1"} to version ${latestVersion}`) + `
923838
+ writeToStdout(source_default.green(`Successfully updated from ${"4.2.4"} to version ${latestVersion}`) + `
923843
923839
  `);
923844
923840
  regenerateCompletionCache();
923845
923841
  break;
@@ -926051,7 +926047,7 @@ ${assistantAddendum}` : assistantAddendum;
926051
926047
  }
926052
926048
  }
926053
926049
  logForDiagnosticsNoPII("info", "started", {
926054
- version: "4.2.4-beta1",
926050
+ version: "4.2.4",
926055
926051
  is_native_binary: isInBundledMode()
926056
926052
  });
926057
926053
  registerCleanup(async () => {
@@ -926531,7 +926527,7 @@ Session: ${directConnectConfig.sessionId}`, "info");
926531
926527
  sshSession = await createSSHSession2({
926532
926528
  host: _pendingSSH.host,
926533
926529
  cwd: _pendingSSH.cwd,
926534
- localVersion: "4.2.4-beta1",
926530
+ localVersion: "4.2.4",
926535
926531
  permissionMode: _pendingSSH.permissionMode,
926536
926532
  dangerouslySkipPermissions: _pendingSSH.dangerouslySkipPermissions,
926537
926533
  extraCliArgs: _pendingSSH.extraCliArgs,
@@ -927003,7 +926999,7 @@ Usage: csc --remote "your task description"`, () => gracefulShutdown(1));
927003
926999
  pendingHookMessages
927004
927000
  }, renderAndRun);
927005
927001
  }
927006
- }).version("4.2.4-beta1 (CoStrict)", "-v, --version", "Output the version number");
927002
+ }).version("4.2.4 (CoStrict)", "-v, --version", "Output the version number");
927007
927003
  program2.addOption(new Option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)").hideHelp());
927008
927004
  program2.addOption(new Option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.").hideHelp());
927009
927005
  if (canUserConfigureAdvisor()) {
@@ -927717,10 +927713,10 @@ if (process.env.CLAUDE_CODE_REMOTE === "true") {
927717
927713
  async function main2() {
927718
927714
  const args = process.argv.slice(2);
927719
927715
  if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
927720
- const d7 = new Date("2026-06-16T12:42:26.921Z");
927716
+ const d7 = new Date("2026-06-16T13:18:49.787Z");
927721
927717
  const p2 = (n4) => String(n4).padStart(2, "0");
927722
927718
  const buildTime = `${d7.getFullYear()}/${p2(d7.getMonth() + 1)}/${p2(d7.getDate())} ${p2(d7.getHours())}:${p2(d7.getMinutes())}:${p2(d7.getSeconds())}`;
927723
- console.log(`${"4.2.4-beta1"} (commit: ${"296c9ec13"}, built: ${buildTime})`);
927719
+ console.log(`${"4.2.4"} (commit: ${"756250ea7"}, built: ${buildTime})`);
927724
927720
  return;
927725
927721
  }
927726
927722
  const { profileCheckpoint: profileCheckpoint2 } = await Promise.resolve().then(() => (init_startupProfiler(), exports_startupProfiler));
@@ -927760,7 +927756,7 @@ async function main2() {
927760
927756
  registerPermissionHandler(server2, handler) {
927761
927757
  server2.setNotificationHandler(ChannelPermissionRequestNotificationSchema2(), async (notification) => handler(notification.params));
927762
927758
  }
927763
- }, "4.2.4-beta1");
927759
+ }, "4.2.4");
927764
927760
  return;
927765
927761
  }
927766
927762
  if (args[0] === "--daemon-worker" || args[0]?.startsWith("--daemon-worker=")) {
@@ -927858,5 +927854,5 @@ async function main2() {
927858
927854
  }
927859
927855
  main2();
927860
927856
 
927861
- //# debugId=EDA525AC1B954D6164756E2164756E21
927857
+ //# debugId=9B50A3D34527B55B64756E2164756E21
927862
927858
  //# sourceMappingURL=cli.js.map
@@ -508,8 +508,8 @@ async function saveCoStrictCredentials(credentials) {
508
508
  import { createRequire } from "module";
509
509
  function getVersion() {
510
510
  try {
511
- if (typeof MACRO !== "undefined" && "4.2.4-beta1")
512
- return "4.2.4-beta1";
511
+ if (typeof MACRO !== "undefined" && "4.2.4")
512
+ return "4.2.4";
513
513
  } catch {}
514
514
  try {
515
515
  const require2 = createRequire(import.meta.url);
@@ -2422,5 +2422,5 @@ export {
2422
2422
  startBatchWorker
2423
2423
  };
2424
2424
 
2425
- //# debugId=5250D6824387DAF964756E2164756E21
2425
+ //# debugId=A6A2C9020DDC6D6A64756E2164756E21
2426
2426
  //# sourceMappingURL=batchWorker.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@costrict/csc",
3
- "version": "4.2.4-beta1",
3
+ "version": "4.2.4",
4
4
  "description": "costrict",
5
5
  "type": "module",
6
6
  "author": "costrict",