@costrict/csc 4.2.21 → 4.2.23
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 +250 -97
- package/dist/services/rawDump/batchWorker.js +28 -12
- package/package.json +1 -1
package/dist/cli.js
CHANGED
|
@@ -66713,8 +66713,8 @@ function getClientVersion() {
|
|
|
66713
66713
|
if (cached)
|
|
66714
66714
|
return cached;
|
|
66715
66715
|
try {
|
|
66716
|
-
if ("4.2.
|
|
66717
|
-
cached = "4.2.
|
|
66716
|
+
if ("4.2.23") {
|
|
66717
|
+
cached = "4.2.23";
|
|
66718
66718
|
return cached;
|
|
66719
66719
|
}
|
|
66720
66720
|
} catch {}
|
|
@@ -90538,11 +90538,22 @@ __export(exports_windowsPaths, {
|
|
|
90538
90538
|
});
|
|
90539
90539
|
import { existsSync as existsSync4 } from "fs";
|
|
90540
90540
|
import * as pathWin32 from "path/win32";
|
|
90541
|
+
function isNonGitBash(candidatePath) {
|
|
90542
|
+
const lower = candidatePath.toLowerCase();
|
|
90543
|
+
if (!lower.endsWith("\\bash.exe")) {
|
|
90544
|
+
return false;
|
|
90545
|
+
}
|
|
90546
|
+
return lower.includes("\\windows\\system32\\") || lower.includes("\\windows\\syswow64\\") || lower.includes("\\windowsapps\\") || lower.includes("\\cygwin\\") || lower.includes("\\cygwin64\\");
|
|
90547
|
+
}
|
|
90541
90548
|
function findExecutableWithDeps(executable, deps) {
|
|
90542
90549
|
try {
|
|
90543
90550
|
const paths2 = deps.execCommand(`where.exe ${executable}`).split(/\r?\n/u).map((candidate) => candidate.trim()).filter(Boolean);
|
|
90544
90551
|
const cwd2 = pathWin32.resolve(deps.cwdFn()).toLowerCase();
|
|
90545
90552
|
for (const candidatePath of paths2) {
|
|
90553
|
+
if (executable === "bash" && isNonGitBash(candidatePath)) {
|
|
90554
|
+
logForDebugging(`Skipping non-Git bash launcher (incompatible with Windows paths): ${candidatePath}`);
|
|
90555
|
+
continue;
|
|
90556
|
+
}
|
|
90546
90557
|
const candidateDirectory = pathWin32.dirname(pathWin32.resolve(candidatePath)).toLowerCase();
|
|
90547
90558
|
const relativeDirectory = pathWin32.relative(cwd2, candidateDirectory);
|
|
90548
90559
|
const isWithinCwd = relativeDirectory === "" || !relativeDirectory.startsWith("..") && !pathWin32.isAbsolute(relativeDirectory);
|
|
@@ -90572,10 +90583,6 @@ function findGitBashPathOrNullWithDeps(deps = DEFAULT_DEPS) {
|
|
|
90572
90583
|
if (envOverride) {
|
|
90573
90584
|
return deps.checkExists(envOverride) ? envOverride : null;
|
|
90574
90585
|
}
|
|
90575
|
-
const bashPath = findExecutableWithDeps("bash", deps);
|
|
90576
|
-
if (bashPath && deps.checkExists(bashPath)) {
|
|
90577
|
-
return bashPath;
|
|
90578
|
-
}
|
|
90579
90586
|
const gitPath = findExecutableWithDeps("git", deps);
|
|
90580
90587
|
if (gitPath) {
|
|
90581
90588
|
const candidates = [
|
|
@@ -90583,11 +90590,20 @@ function findGitBashPathOrNullWithDeps(deps = DEFAULT_DEPS) {
|
|
|
90583
90590
|
pathWin32.join(gitPath, "..", "..", "usr", "bin", "bash.exe"),
|
|
90584
90591
|
pathWin32.join(gitPath, "..", "bash.exe")
|
|
90585
90592
|
];
|
|
90586
|
-
const derivedPath = candidates.find(
|
|
90593
|
+
const derivedPath = candidates.find((candidate) => {
|
|
90594
|
+
if (isNonGitBash(candidate)) {
|
|
90595
|
+
return false;
|
|
90596
|
+
}
|
|
90597
|
+
return deps.checkExists(candidate);
|
|
90598
|
+
});
|
|
90587
90599
|
if (derivedPath) {
|
|
90588
90600
|
return derivedPath;
|
|
90589
90601
|
}
|
|
90590
90602
|
}
|
|
90603
|
+
const bashPath = findExecutableWithDeps("bash", deps);
|
|
90604
|
+
if (bashPath && deps.checkExists(bashPath)) {
|
|
90605
|
+
return bashPath;
|
|
90606
|
+
}
|
|
90591
90607
|
return findCommonGitBashPath(deps.checkExists, deps.userProfile);
|
|
90592
90608
|
}
|
|
90593
90609
|
function setShellIfWindows() {
|
|
@@ -220487,7 +220503,7 @@ async function fetchCoStrictModels(baseUrl, accessToken) {
|
|
|
220487
220503
|
headers: {
|
|
220488
220504
|
Authorization: `Bearer ${accessToken}`,
|
|
220489
220505
|
Accept: "application/json",
|
|
220490
|
-
"User-Agent": `csc/${"4.2.
|
|
220506
|
+
"User-Agent": `csc/${"4.2.23"}`
|
|
220491
220507
|
},
|
|
220492
220508
|
signal: controller.signal
|
|
220493
220509
|
});
|
|
@@ -222524,7 +222540,7 @@ var init_auth7 = __esm(() => {
|
|
|
222524
222540
|
|
|
222525
222541
|
// src/utils/userAgent.ts
|
|
222526
222542
|
function getClaudeCodeUserAgent() {
|
|
222527
|
-
return `costrict/${"4.2.
|
|
222543
|
+
return `costrict/${"4.2.23"}`;
|
|
222528
222544
|
}
|
|
222529
222545
|
|
|
222530
222546
|
// src/utils/workloadContext.ts
|
|
@@ -222546,7 +222562,7 @@ function getUserAgent() {
|
|
|
222546
222562
|
const clientApp = process.env.CLAUDE_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.CLAUDE_AGENT_SDK_CLIENT_APP}` : "";
|
|
222547
222563
|
const workload = getWorkload();
|
|
222548
222564
|
const workloadSuffix = workload ? `, workload/${workload}` : "";
|
|
222549
|
-
return `csc/${"4.2.
|
|
222565
|
+
return `csc/${"4.2.23"}`;
|
|
222550
222566
|
}
|
|
222551
222567
|
function getMCPUserAgent() {
|
|
222552
222568
|
const parts = [];
|
|
@@ -222560,7 +222576,7 @@ function getMCPUserAgent() {
|
|
|
222560
222576
|
parts.push(`client-app/${process.env.CLAUDE_AGENT_SDK_CLIENT_APP}`);
|
|
222561
222577
|
}
|
|
222562
222578
|
const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
|
|
222563
|
-
return `csc/${"4.2.
|
|
222579
|
+
return `csc/${"4.2.23"}${suffix}`;
|
|
222564
222580
|
}
|
|
222565
222581
|
function getWebFetchUserAgent() {
|
|
222566
222582
|
return `Claude-User (${getClaudeCodeUserAgent()}; +https://support.anthropic.com/)`;
|
|
@@ -222680,7 +222696,7 @@ var init_user = __esm(() => {
|
|
|
222680
222696
|
deviceId,
|
|
222681
222697
|
sessionId: getSessionId(),
|
|
222682
222698
|
email: getEmail(),
|
|
222683
|
-
appVersion: "4.2.
|
|
222699
|
+
appVersion: "4.2.23",
|
|
222684
222700
|
platform: getHostPlatformForAnalytics(),
|
|
222685
222701
|
organizationUuid,
|
|
222686
222702
|
accountUuid,
|
|
@@ -233728,7 +233744,7 @@ var init_metadata = __esm(() => {
|
|
|
233728
233744
|
COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
|
|
233729
233745
|
WHITESPACE_REGEX = /\s+/;
|
|
233730
233746
|
getVersionBase = memoize_default(() => {
|
|
233731
|
-
const match = "4.2.
|
|
233747
|
+
const match = "4.2.23".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
|
|
233732
233748
|
return match ? match[0] : undefined;
|
|
233733
233749
|
});
|
|
233734
233750
|
buildEnvContext = memoize_default(async () => {
|
|
@@ -233768,9 +233784,9 @@ var init_metadata = __esm(() => {
|
|
|
233768
233784
|
isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
|
|
233769
233785
|
isClaudeCodeAction: isEnvTruthy(process.env.CLAUDE_CODE_ACTION),
|
|
233770
233786
|
isClaudeAiAuth: isClaudeAISubscriber(),
|
|
233771
|
-
version: "4.2.
|
|
233787
|
+
version: "4.2.23",
|
|
233772
233788
|
versionBase: getVersionBase(),
|
|
233773
|
-
buildTime: "2026-
|
|
233789
|
+
buildTime: "2026-08-04T07:11:51.439Z",
|
|
233774
233790
|
deploymentEnvironment: env4.detectDeploymentEnvironment(),
|
|
233775
233791
|
...isEnvTruthy(process.env.GITHUB_ACTIONS) && {
|
|
233776
233792
|
githubEventName: process.env.GITHUB_EVENT_NAME,
|
|
@@ -234441,7 +234457,7 @@ function initialize1PEventLogging() {
|
|
|
234441
234457
|
const platform3 = getPlatform();
|
|
234442
234458
|
const attributes = {
|
|
234443
234459
|
[import_semantic_conventions2.ATTR_SERVICE_NAME]: "claude-code",
|
|
234444
|
-
[import_semantic_conventions2.ATTR_SERVICE_VERSION]: "4.2.
|
|
234460
|
+
[import_semantic_conventions2.ATTR_SERVICE_VERSION]: "4.2.23"
|
|
234445
234461
|
};
|
|
234446
234462
|
if (platform3 === "wsl") {
|
|
234447
234463
|
const wslVersion = getWslVersion();
|
|
@@ -234468,7 +234484,7 @@ function initialize1PEventLogging() {
|
|
|
234468
234484
|
})
|
|
234469
234485
|
]
|
|
234470
234486
|
});
|
|
234471
|
-
firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.anthropic.claude_code.events", "4.2.
|
|
234487
|
+
firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.anthropic.claude_code.events", "4.2.23");
|
|
234472
234488
|
}
|
|
234473
234489
|
async function reinitialize1PEventLoggingIfConfigChanged() {
|
|
234474
234490
|
if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
|
|
@@ -434486,7 +434502,7 @@ function getTelemetryAttributes() {
|
|
|
434486
434502
|
attributes["session.id"] = sessionId;
|
|
434487
434503
|
}
|
|
434488
434504
|
if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
|
|
434489
|
-
attributes["app.version"] = "4.2.
|
|
434505
|
+
attributes["app.version"] = "4.2.23";
|
|
434490
434506
|
}
|
|
434491
434507
|
const oauthAccount = getOauthAccountInfo();
|
|
434492
434508
|
if (oauthAccount) {
|
|
@@ -468006,7 +468022,7 @@ function initLangfuse() {
|
|
|
468006
468022
|
flushInterval: parseInt(process.env.LANGFUSE_FLUSH_INTERVAL ?? "10", 10),
|
|
468007
468023
|
mask: maskFn,
|
|
468008
468024
|
environment: process.env.LANGFUSE_TRACING_ENVIRONMENT ?? "development",
|
|
468009
|
-
release: "4.2.
|
|
468025
|
+
release: "4.2.23",
|
|
468010
468026
|
exportMode: process.env.LANGFUSE_EXPORT_MODE ?? "batched",
|
|
468011
468027
|
timeout: parseInt(process.env.LANGFUSE_TIMEOUT ?? "5", 10)
|
|
468012
468028
|
});
|
|
@@ -499906,7 +499922,7 @@ function initSentry() {
|
|
|
499906
499922
|
}
|
|
499907
499923
|
init3({
|
|
499908
499924
|
dsn,
|
|
499909
|
-
release: typeof MACRO !== "undefined" ? "4.2.
|
|
499925
|
+
release: typeof MACRO !== "undefined" ? "4.2.23" : undefined,
|
|
499910
499926
|
environment: typeof BUILD_ENV !== "undefined" ? BUILD_ENV : "production",
|
|
499911
499927
|
maxBreadcrumbs: 20,
|
|
499912
499928
|
sampleRate: 1,
|
|
@@ -527803,7 +527819,7 @@ async function initializeBetaTracing(resource) {
|
|
|
527803
527819
|
});
|
|
527804
527820
|
logs.setGlobalLoggerProvider(loggerProvider);
|
|
527805
527821
|
setLoggerProvider(loggerProvider);
|
|
527806
|
-
const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "4.2.
|
|
527822
|
+
const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "4.2.23");
|
|
527807
527823
|
setEventLogger(eventLogger);
|
|
527808
527824
|
process.on("beforeExit", async () => {
|
|
527809
527825
|
await loggerProvider?.forceFlush();
|
|
@@ -527843,7 +527859,7 @@ async function initializeTelemetry() {
|
|
|
527843
527859
|
const platform5 = getPlatform();
|
|
527844
527860
|
const baseAttributes = {
|
|
527845
527861
|
[import_semantic_conventions29.ATTR_SERVICE_NAME]: "claude-code",
|
|
527846
|
-
[import_semantic_conventions29.ATTR_SERVICE_VERSION]: "4.2.
|
|
527862
|
+
[import_semantic_conventions29.ATTR_SERVICE_VERSION]: "4.2.23"
|
|
527847
527863
|
};
|
|
527848
527864
|
if (platform5 === "wsl") {
|
|
527849
527865
|
const wslVersion = getWslVersion();
|
|
@@ -527888,7 +527904,7 @@ async function initializeTelemetry() {
|
|
|
527888
527904
|
} catch {}
|
|
527889
527905
|
};
|
|
527890
527906
|
registerCleanup(shutdownTelemetry2);
|
|
527891
|
-
return meterProvider2.getMeter("com.anthropic.claude_code", "4.2.
|
|
527907
|
+
return meterProvider2.getMeter("com.anthropic.claude_code", "4.2.23");
|
|
527892
527908
|
}
|
|
527893
527909
|
const meterProvider = new import_sdk_metrics2.MeterProvider({
|
|
527894
527910
|
resource,
|
|
@@ -527908,7 +527924,7 @@ async function initializeTelemetry() {
|
|
|
527908
527924
|
});
|
|
527909
527925
|
logs.setGlobalLoggerProvider(loggerProvider);
|
|
527910
527926
|
setLoggerProvider(loggerProvider);
|
|
527911
|
-
const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "4.2.
|
|
527927
|
+
const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "4.2.23");
|
|
527912
527928
|
setEventLogger(eventLogger);
|
|
527913
527929
|
logForDebugging("[3P telemetry] Event logger set successfully");
|
|
527914
527930
|
process.on("beforeExit", async () => {
|
|
@@ -527970,7 +527986,7 @@ Current timeout: ${timeoutMs}ms
|
|
|
527970
527986
|
}
|
|
527971
527987
|
};
|
|
527972
527988
|
registerCleanup(shutdownTelemetry);
|
|
527973
|
-
return meterProvider.getMeter("com.anthropic.claude_code", "4.2.
|
|
527989
|
+
return meterProvider.getMeter("com.anthropic.claude_code", "4.2.23");
|
|
527974
527990
|
}
|
|
527975
527991
|
async function flushTelemetry() {
|
|
527976
527992
|
const meterProvider = getMeterProvider();
|
|
@@ -529029,7 +529045,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
529029
529045
|
logError3(new AutoUpdaterError("Another process is currently installing an update"));
|
|
529030
529046
|
logEvent("tengu_auto_updater_lock_contention", {
|
|
529031
529047
|
pid: process.pid,
|
|
529032
|
-
currentVersion: "4.2.
|
|
529048
|
+
currentVersion: "4.2.23"
|
|
529033
529049
|
});
|
|
529034
529050
|
return { status: "in_progress" };
|
|
529035
529051
|
}
|
|
@@ -529038,7 +529054,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
529038
529054
|
if (!env4.isRunningWithBun() && env4.isNpmFromWindowsPath()) {
|
|
529039
529055
|
logError3(new Error("Windows NPM detected in WSL environment"));
|
|
529040
529056
|
logEvent("tengu_auto_updater_windows_npm_in_wsl", {
|
|
529041
|
-
currentVersion: "4.2.
|
|
529057
|
+
currentVersion: "4.2.23"
|
|
529042
529058
|
});
|
|
529043
529059
|
return {
|
|
529044
529060
|
status: "install_failed",
|
|
@@ -529584,7 +529600,7 @@ function detectLinuxGlobPatternWarnings() {
|
|
|
529584
529600
|
}
|
|
529585
529601
|
async function getDoctorDiagnostic() {
|
|
529586
529602
|
const installationType = await getCurrentInstallationType();
|
|
529587
|
-
const version9 = typeof MACRO !== "undefined" ? "4.2.
|
|
529603
|
+
const version9 = typeof MACRO !== "undefined" ? "4.2.23" : "unknown";
|
|
529588
529604
|
const installationPath = await getInstallationPath();
|
|
529589
529605
|
const invokedBinary = getInvokedBinary();
|
|
529590
529606
|
const multipleInstallations = await detectMultipleInstallations();
|
|
@@ -567771,7 +567787,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
|
|
|
567771
567787
|
const client10 = new Client3({
|
|
567772
567788
|
name: "claude-code",
|
|
567773
567789
|
title: "CoStrict",
|
|
567774
|
-
version: "4.2.
|
|
567790
|
+
version: "4.2.23",
|
|
567775
567791
|
description: "CoStrict agentic coding tool",
|
|
567776
567792
|
websiteUrl: PRODUCT_URL
|
|
567777
567793
|
}, {
|
|
@@ -568142,7 +568158,7 @@ var init_client18 = __esm(() => {
|
|
|
568142
568158
|
const client10 = new Client3({
|
|
568143
568159
|
name: "claude-code",
|
|
568144
568160
|
title: "CoStrict",
|
|
568145
|
-
version: "4.2.
|
|
568161
|
+
version: "4.2.23",
|
|
568146
568162
|
description: "CoStrict agentic coding tool",
|
|
568147
568163
|
websiteUrl: PRODUCT_URL
|
|
568148
568164
|
}, {
|
|
@@ -569532,7 +569548,7 @@ function getInstallationEnv() {
|
|
|
569532
569548
|
return;
|
|
569533
569549
|
}
|
|
569534
569550
|
function getClaudeCodeVersion() {
|
|
569535
|
-
return "4.2.
|
|
569551
|
+
return "4.2.23";
|
|
569536
569552
|
}
|
|
569537
569553
|
async function getInstalledVSCodeExtensionVersion(command4) {
|
|
569538
569554
|
const { stdout } = await execFileNoThrow2(command4, ["--list-extensions", "--show-versions"], {
|
|
@@ -570896,8 +570912,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
570896
570912
|
const maxVersion = await getMaxVersion();
|
|
570897
570913
|
if (maxVersion && gt(version10, maxVersion)) {
|
|
570898
570914
|
logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version10} to ${maxVersion}`);
|
|
570899
|
-
if (gte2("4.2.
|
|
570900
|
-
logForDebugging(`Native installer: current version ${"4.2.
|
|
570915
|
+
if (gte2("4.2.23", maxVersion)) {
|
|
570916
|
+
logForDebugging(`Native installer: current version ${"4.2.23"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
570901
570917
|
logEvent("tengu_native_update_skipped_max_version", {
|
|
570902
570918
|
latency_ms: Date.now() - startTime2,
|
|
570903
570919
|
max_version: maxVersion,
|
|
@@ -570908,7 +570924,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
570908
570924
|
version10 = maxVersion;
|
|
570909
570925
|
}
|
|
570910
570926
|
}
|
|
570911
|
-
if (!forceReinstall && version10 === "4.2.
|
|
570927
|
+
if (!forceReinstall && version10 === "4.2.23" && await versionIsAvailable(version10) && await isPossibleClaudeBinary(executablePath)) {
|
|
570912
570928
|
logForDebugging(`Found ${version10} at ${executablePath}, skipping install`);
|
|
570913
570929
|
logEvent("tengu_native_update_complete", {
|
|
570914
570930
|
latency_ms: Date.now() - startTime2,
|
|
@@ -708976,7 +708992,7 @@ function Feedback({
|
|
|
708976
708992
|
platform: env4.platform,
|
|
708977
708993
|
gitRepo: envInfo.isGit,
|
|
708978
708994
|
terminal: env4.terminal,
|
|
708979
|
-
version: "4.2.
|
|
708995
|
+
version: "4.2.23",
|
|
708980
708996
|
transcript: normalizeMessagesForAPI(messages),
|
|
708981
708997
|
errors: sanitizedErrors,
|
|
708982
708998
|
lastApiRequest: getLastAPIRequest(),
|
|
@@ -709159,7 +709175,7 @@ function Feedback({
|
|
|
709159
709175
|
", ",
|
|
709160
709176
|
env4.terminal,
|
|
709161
709177
|
", v",
|
|
709162
|
-
"4.2.
|
|
709178
|
+
"4.2.23"
|
|
709163
709179
|
]
|
|
709164
709180
|
})
|
|
709165
709181
|
]
|
|
@@ -709256,7 +709272,7 @@ ${sanitizedDescription}
|
|
|
709256
709272
|
` + `**Environment Info**
|
|
709257
709273
|
` + `- Platform: ${env4.platform}
|
|
709258
709274
|
` + `- Terminal: ${env4.terminal}
|
|
709259
|
-
` + `- Version: ${"4.2.
|
|
709275
|
+
` + `- Version: ${"4.2.23"}
|
|
709260
709276
|
` + `- Feedback ID: ${feedbackId}
|
|
709261
709277
|
` + `
|
|
709262
709278
|
**Errors**
|
|
@@ -711495,7 +711511,7 @@ function buildPrimarySection() {
|
|
|
711495
711511
|
children: t("settings.status.renameHint")
|
|
711496
711512
|
});
|
|
711497
711513
|
return [
|
|
711498
|
-
{ label: t("settings.status.version"), value: "4.2.
|
|
711514
|
+
{ label: t("settings.status.version"), value: "4.2.23" },
|
|
711499
711515
|
{ label: t("settings.status.sessionName"), value: nameValue },
|
|
711500
711516
|
{ label: t("settings.status.sessionId"), value: sessionId },
|
|
711501
711517
|
{ label: t("settings.status.cwd"), value: getCwd() },
|
|
@@ -714353,7 +714369,7 @@ function Config({
|
|
|
714353
714369
|
}
|
|
714354
714370
|
})
|
|
714355
714371
|
}) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_runtime191.jsx(ChannelDowngradeDialog, {
|
|
714356
|
-
currentVersion: "4.2.
|
|
714372
|
+
currentVersion: "4.2.23",
|
|
714357
714373
|
onChoice: (choice) => {
|
|
714358
714374
|
setShowSubmenu(null);
|
|
714359
714375
|
setTabsHidden(false);
|
|
@@ -714365,7 +714381,7 @@ function Config({
|
|
|
714365
714381
|
autoUpdatesChannel: "stable"
|
|
714366
714382
|
};
|
|
714367
714383
|
if (choice === "stay") {
|
|
714368
|
-
newSettings.minimumVersion = "4.2.
|
|
714384
|
+
newSettings.minimumVersion = "4.2.23";
|
|
714369
714385
|
}
|
|
714370
714386
|
updateSettingsForSource("userSettings", newSettings);
|
|
714371
714387
|
setSettingsData((prev) => ({
|
|
@@ -719834,7 +719850,7 @@ function HelpV2({ onClose, commands: commands11 }) {
|
|
|
719834
719850
|
color: "professionalBlue",
|
|
719835
719851
|
children: [
|
|
719836
719852
|
/* @__PURE__ */ jsx_runtime218.jsx(Tabs, {
|
|
719837
|
-
title: process.env.USER_TYPE === "sf" ? "/help" : `CoStrict v${"4.2.
|
|
719853
|
+
title: process.env.USER_TYPE === "sf" ? "/help" : `CoStrict v${"4.2.23"}`,
|
|
719838
719854
|
color: "professionalBlue",
|
|
719839
719855
|
defaultTab: "general",
|
|
719840
719856
|
children: tabs
|
|
@@ -742835,7 +742851,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
|
|
|
742835
742851
|
return [];
|
|
742836
742852
|
}
|
|
742837
742853
|
}
|
|
742838
|
-
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "4.2.
|
|
742854
|
+
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "4.2.23") {
|
|
742839
742855
|
if (process.env.USER_TYPE === "sf") {
|
|
742840
742856
|
const changelog = "";
|
|
742841
742857
|
if (changelog) {
|
|
@@ -742862,7 +742878,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "4.2.21")
|
|
|
742862
742878
|
releaseNotes
|
|
742863
742879
|
};
|
|
742864
742880
|
}
|
|
742865
|
-
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "4.2.
|
|
742881
|
+
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "4.2.23") {
|
|
742866
742882
|
if (process.env.USER_TYPE === "sf") {
|
|
742867
742883
|
const changelog = "";
|
|
742868
742884
|
if (changelog) {
|
|
@@ -745375,7 +745391,7 @@ function isNotLoggedIn() {
|
|
|
745375
745391
|
return true;
|
|
745376
745392
|
}
|
|
745377
745393
|
function getLogoDisplayData() {
|
|
745378
|
-
const version10 = process.env.DEMO_VERSION ?? "4.2.
|
|
745394
|
+
const version10 = process.env.DEMO_VERSION ?? "4.2.23";
|
|
745379
745395
|
const serverUrl = getDirectConnectServerUrl();
|
|
745380
745396
|
const displayPath = process.env.DEMO_VERSION ? "/code/claude" : getDisplayPath(getCwd());
|
|
745381
745397
|
const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
|
|
@@ -745953,7 +745969,7 @@ var init_MatrixMessageLine = __esm(() => {
|
|
|
745953
745969
|
// src/components/matrix-tactical/MatrixWelcome.tsx
|
|
745954
745970
|
import { basename as basename47 } from "path";
|
|
745955
745971
|
function MatrixWelcome({
|
|
745956
|
-
version: version10 = "4.2.
|
|
745972
|
+
version: version10 = "4.2.23",
|
|
745957
745973
|
projectName,
|
|
745958
745974
|
cwd: cwd2,
|
|
745959
745975
|
modelDisplayName,
|
|
@@ -746588,13 +746604,13 @@ function LogoV2() {
|
|
|
746588
746604
|
const { hasReleaseNotes } = checkForReleaseNotesSync(config13.lastReleaseNotesSeen);
|
|
746589
746605
|
import_react167.useEffect(() => {
|
|
746590
746606
|
const currentConfig = getGlobalConfig();
|
|
746591
|
-
if (currentConfig.lastReleaseNotesSeen === "4.2.
|
|
746607
|
+
if (currentConfig.lastReleaseNotesSeen === "4.2.23") {
|
|
746592
746608
|
return;
|
|
746593
746609
|
}
|
|
746594
746610
|
saveGlobalConfig((current2) => {
|
|
746595
|
-
if (current2.lastReleaseNotesSeen === "4.2.
|
|
746611
|
+
if (current2.lastReleaseNotesSeen === "4.2.23")
|
|
746596
746612
|
return current2;
|
|
746597
|
-
return { ...current2, lastReleaseNotesSeen: "4.2.
|
|
746613
|
+
return { ...current2, lastReleaseNotesSeen: "4.2.23" };
|
|
746598
746614
|
});
|
|
746599
746615
|
if (showOnboarding) {
|
|
746600
746616
|
incrementProjectOnboardingSeenCount();
|
|
@@ -769124,7 +769140,7 @@ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
|
|
|
769124
769140
|
smapsRollup,
|
|
769125
769141
|
platform: process.platform,
|
|
769126
769142
|
nodeVersion: process.version,
|
|
769127
|
-
ccVersion: "4.2.
|
|
769143
|
+
ccVersion: "4.2.23"
|
|
769128
769144
|
};
|
|
769129
769145
|
}
|
|
769130
769146
|
async function performHeapDump(trigger = "manual", dumpNumber = 0) {
|
|
@@ -769240,7 +769256,7 @@ var init_mock_limits = __esm(() => {
|
|
|
769240
769256
|
var call55 = async () => {
|
|
769241
769257
|
return {
|
|
769242
769258
|
type: "text",
|
|
769243
|
-
value: `${"4.2.
|
|
769259
|
+
value: `${"4.2.23"} (built ${"2026-08-04T07:11:51.439Z"})`
|
|
769244
769260
|
};
|
|
769245
769261
|
}, version10, version_default;
|
|
769246
769262
|
var init_version2 = __esm(() => {
|
|
@@ -783830,7 +783846,8 @@ async function generateUltracodeWorkflow(request3, context41) {
|
|
|
783830
783846
|
maxRetries: 1,
|
|
783831
783847
|
thinking: false,
|
|
783832
783848
|
querySource: "workflow",
|
|
783833
|
-
signal: context41.abortController.signal
|
|
783849
|
+
signal: context41.abortController.signal,
|
|
783850
|
+
stream: true
|
|
783834
783851
|
});
|
|
783835
783852
|
const workflow = prepareGeneratedUltracodeWorkflow(extractGeneratedWorkflow(response3), request3);
|
|
783836
783853
|
validateGeneratedUltracodeWorkflow(workflow, request3);
|
|
@@ -787163,7 +787180,7 @@ function generateHtmlReport(data, insights) {
|
|
|
787163
787180
|
</html>`;
|
|
787164
787181
|
}
|
|
787165
787182
|
function buildExportData(data, insights, facets, remoteStats) {
|
|
787166
|
-
const version11 = typeof MACRO !== "undefined" ? "4.2.
|
|
787183
|
+
const version11 = typeof MACRO !== "undefined" ? "4.2.23" : "unknown";
|
|
787167
787184
|
const remote_hosts_collected = remoteStats?.hosts.filter((h8) => h8.sessionCount > 0).map((h8) => h8.name);
|
|
787168
787185
|
const facets_summary = {
|
|
787169
787186
|
total: facets.size,
|
|
@@ -791613,7 +791630,7 @@ var init_sessionStorage = __esm(() => {
|
|
|
791613
791630
|
init_settings2();
|
|
791614
791631
|
init_slowOperations();
|
|
791615
791632
|
init_uuid();
|
|
791616
|
-
VERSION11 = typeof MACRO !== "undefined" ? "4.2.
|
|
791633
|
+
VERSION11 = typeof MACRO !== "undefined" ? "4.2.23" : "unknown";
|
|
791617
791634
|
MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
|
|
791618
791635
|
SKIP_FIRST_PROMPT_PATTERN2 = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
|
|
791619
791636
|
EPHEMERAL_PROGRESS_TYPES = new Set([
|
|
@@ -792954,7 +792971,7 @@ var init_filesystem = __esm(() => {
|
|
|
792954
792971
|
});
|
|
792955
792972
|
getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
|
|
792956
792973
|
const nonce = randomBytes24(16).toString("hex");
|
|
792957
|
-
return join204(getCostrictTempDir(), "bundled-skills", "4.2.
|
|
792974
|
+
return join204(getCostrictTempDir(), "bundled-skills", "4.2.23", nonce);
|
|
792958
792975
|
});
|
|
792959
792976
|
getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
|
|
792960
792977
|
});
|
|
@@ -799224,7 +799241,7 @@ function computeFingerprint(messageText, version11) {
|
|
|
799224
799241
|
}
|
|
799225
799242
|
function computeFingerprintFromMessages(messages) {
|
|
799226
799243
|
const firstMessageText = extractFirstMessageText(messages);
|
|
799227
|
-
return computeFingerprint(firstMessageText, "4.2.
|
|
799244
|
+
return computeFingerprint(firstMessageText, "4.2.23");
|
|
799228
799245
|
}
|
|
799229
799246
|
var FINGERPRINT_SALT = "59cf53e54c78";
|
|
799230
799247
|
var init_fingerprint = () => {};
|
|
@@ -799634,7 +799651,7 @@ function getAnthropicEnvMetadata() {
|
|
|
799634
799651
|
function getBuildAgeMinutes() {
|
|
799635
799652
|
if (false)
|
|
799636
799653
|
;
|
|
799637
|
-
const buildTime = new Date("2026-
|
|
799654
|
+
const buildTime = new Date("2026-08-04T07:11:51.439Z").getTime();
|
|
799638
799655
|
if (isNaN(buildTime))
|
|
799639
799656
|
return;
|
|
799640
799657
|
return Math.floor((Date.now() - buildTime) / 60000);
|
|
@@ -804890,7 +804907,10 @@ function buildMessages(system, messages) {
|
|
|
804890
804907
|
}
|
|
804891
804908
|
for (const msg of messages) {
|
|
804892
804909
|
if (typeof msg.content === "string") {
|
|
804893
|
-
result.push({
|
|
804910
|
+
result.push({
|
|
804911
|
+
role: msg.role,
|
|
804912
|
+
content: msg.content
|
|
804913
|
+
});
|
|
804894
804914
|
} else {
|
|
804895
804915
|
const text2 = msg.content.filter((b9) => b9.type === "text").map((b9) => b9.text).join(`
|
|
804896
804916
|
`);
|
|
@@ -804900,9 +804920,21 @@ function buildMessages(system, messages) {
|
|
|
804900
804920
|
return result;
|
|
804901
804921
|
}
|
|
804902
804922
|
async function sideQueryOpenAICompat(opts, client10, resolvedModel, providerTag) {
|
|
804903
|
-
const {
|
|
804904
|
-
|
|
804923
|
+
const {
|
|
804924
|
+
system,
|
|
804925
|
+
messages,
|
|
804926
|
+
max_tokens = 1024,
|
|
804927
|
+
signal,
|
|
804928
|
+
temperature,
|
|
804929
|
+
stop_sequences,
|
|
804930
|
+
querySource,
|
|
804931
|
+
stream: stream6
|
|
804932
|
+
} = opts;
|
|
804933
|
+
logForDebugging(`[${providerTag} sideQuery] querySource=${querySource}, model=${resolvedModel}, stream=${stream6 ?? false}`);
|
|
804905
804934
|
const start = Date.now();
|
|
804935
|
+
if (stream6) {
|
|
804936
|
+
return streamOpenAICompat(client10, resolvedModel, opts, providerTag);
|
|
804937
|
+
}
|
|
804906
804938
|
const response3 = await client10.chat.completions.create({
|
|
804907
804939
|
model: resolvedModel,
|
|
804908
804940
|
messages: buildMessages(system, messages),
|
|
@@ -804930,7 +804962,11 @@ async function sideQueryOpenAICompat(opts, client10, resolvedModel, providerTag)
|
|
|
804930
804962
|
const choice = response3.choices[0];
|
|
804931
804963
|
const content = [];
|
|
804932
804964
|
if (choice?.message?.content) {
|
|
804933
|
-
content.push({
|
|
804965
|
+
content.push({
|
|
804966
|
+
type: "text",
|
|
804967
|
+
text: choice.message.content,
|
|
804968
|
+
citations: null
|
|
804969
|
+
});
|
|
804934
804970
|
}
|
|
804935
804971
|
if (choice?.message?.tool_calls) {
|
|
804936
804972
|
for (const tc of choice.message.tool_calls) {
|
|
@@ -804939,7 +804975,12 @@ async function sideQueryOpenAICompat(opts, client10, resolvedModel, providerTag)
|
|
|
804939
804975
|
try {
|
|
804940
804976
|
input4 = JSON.parse(funcTc.function.arguments);
|
|
804941
804977
|
} catch {}
|
|
804942
|
-
content.push({
|
|
804978
|
+
content.push({
|
|
804979
|
+
type: "tool_use",
|
|
804980
|
+
id: tc.id,
|
|
804981
|
+
name: funcTc.function.name,
|
|
804982
|
+
input: input4
|
|
804983
|
+
});
|
|
804943
804984
|
}
|
|
804944
804985
|
}
|
|
804945
804986
|
return {
|
|
@@ -804959,6 +805000,107 @@ async function sideQueryOpenAICompat(opts, client10, resolvedModel, providerTag)
|
|
|
804959
805000
|
}
|
|
804960
805001
|
};
|
|
804961
805002
|
}
|
|
805003
|
+
async function streamOpenAICompat(client10, resolvedModel, opts, providerTag) {
|
|
805004
|
+
const {
|
|
805005
|
+
system,
|
|
805006
|
+
messages,
|
|
805007
|
+
max_tokens = 1024,
|
|
805008
|
+
signal,
|
|
805009
|
+
temperature,
|
|
805010
|
+
stop_sequences,
|
|
805011
|
+
querySource
|
|
805012
|
+
} = opts;
|
|
805013
|
+
logForDebugging(`[${providerTag} sideQuery:stream] querySource=${querySource}, model=${resolvedModel}`);
|
|
805014
|
+
const start = Date.now();
|
|
805015
|
+
const stream6 = await client10.chat.completions.create({
|
|
805016
|
+
model: resolvedModel,
|
|
805017
|
+
messages: buildMessages(system, messages),
|
|
805018
|
+
max_tokens,
|
|
805019
|
+
stream: true,
|
|
805020
|
+
stream_options: { include_usage: true },
|
|
805021
|
+
...temperature !== undefined && { temperature },
|
|
805022
|
+
...stop_sequences && { stop: stop_sequences }
|
|
805023
|
+
}, { signal });
|
|
805024
|
+
let responseId = "";
|
|
805025
|
+
let contentText = "";
|
|
805026
|
+
let finishReason;
|
|
805027
|
+
const toolCalls = new Map;
|
|
805028
|
+
let inputTokens = 0;
|
|
805029
|
+
let outputTokens = 0;
|
|
805030
|
+
for await (const chunk2 of stream6) {
|
|
805031
|
+
if (chunk2.id)
|
|
805032
|
+
responseId = chunk2.id;
|
|
805033
|
+
const choice = chunk2.choices?.[0];
|
|
805034
|
+
if (choice) {
|
|
805035
|
+
if (choice.delta?.content)
|
|
805036
|
+
contentText += choice.delta.content;
|
|
805037
|
+
if (choice.delta?.tool_calls) {
|
|
805038
|
+
for (const tc of choice.delta.tool_calls) {
|
|
805039
|
+
const idx = tc.index ?? 0;
|
|
805040
|
+
const existing = toolCalls.get(idx) ?? {
|
|
805041
|
+
id: "",
|
|
805042
|
+
name: "",
|
|
805043
|
+
arguments: ""
|
|
805044
|
+
};
|
|
805045
|
+
if (tc.id)
|
|
805046
|
+
existing.id = tc.id;
|
|
805047
|
+
if (tc.function?.name)
|
|
805048
|
+
existing.name = tc.function.name;
|
|
805049
|
+
if (tc.function?.arguments)
|
|
805050
|
+
existing.arguments += tc.function.arguments;
|
|
805051
|
+
toolCalls.set(idx, existing);
|
|
805052
|
+
}
|
|
805053
|
+
}
|
|
805054
|
+
if (choice.finish_reason)
|
|
805055
|
+
finishReason = choice.finish_reason;
|
|
805056
|
+
}
|
|
805057
|
+
if (chunk2.usage) {
|
|
805058
|
+
inputTokens = chunk2.usage.prompt_tokens ?? 0;
|
|
805059
|
+
outputTokens = chunk2.usage.completion_tokens ?? 0;
|
|
805060
|
+
}
|
|
805061
|
+
}
|
|
805062
|
+
const now2 = Date.now();
|
|
805063
|
+
const lastCompletion = getLastApiCompletionTimestamp();
|
|
805064
|
+
logEvent("tengu_api_success", {
|
|
805065
|
+
requestId: responseId,
|
|
805066
|
+
querySource,
|
|
805067
|
+
model: resolvedModel,
|
|
805068
|
+
inputTokens,
|
|
805069
|
+
outputTokens,
|
|
805070
|
+
cachedInputTokens: 0,
|
|
805071
|
+
uncachedInputTokens: 0,
|
|
805072
|
+
durationMsIncludingRetries: now2 - start,
|
|
805073
|
+
timeSinceLastApiCallMs: lastCompletion !== null ? now2 - lastCompletion : undefined
|
|
805074
|
+
});
|
|
805075
|
+
setLastApiCompletionTimestamp(now2);
|
|
805076
|
+
const content = [];
|
|
805077
|
+
if (contentText) {
|
|
805078
|
+
content.push({ type: "text", text: contentText, citations: null });
|
|
805079
|
+
}
|
|
805080
|
+
for (const [, tc] of [...toolCalls.entries()].sort((a8, b9) => a8[0] - b9[0])) {
|
|
805081
|
+
let input4 = {};
|
|
805082
|
+
try {
|
|
805083
|
+
input4 = JSON.parse(tc.arguments);
|
|
805084
|
+
} catch {}
|
|
805085
|
+
content.push({ type: "tool_use", id: tc.id, name: tc.name, input: input4 });
|
|
805086
|
+
}
|
|
805087
|
+
return {
|
|
805088
|
+
id: responseId,
|
|
805089
|
+
type: "message",
|
|
805090
|
+
role: "assistant",
|
|
805091
|
+
content,
|
|
805092
|
+
model: resolvedModel,
|
|
805093
|
+
stop_reason: STOP_REASON_MAP[finishReason ?? "stop"] ?? "end_turn",
|
|
805094
|
+
stop_sequence: null,
|
|
805095
|
+
usage: {
|
|
805096
|
+
input_tokens: inputTokens,
|
|
805097
|
+
output_tokens: outputTokens,
|
|
805098
|
+
cache_creation_input_tokens: null,
|
|
805099
|
+
cache_read_input_tokens: null,
|
|
805100
|
+
server_tool_use: null
|
|
805101
|
+
}
|
|
805102
|
+
};
|
|
805103
|
+
}
|
|
804962
805104
|
var STOP_REASON_MAP;
|
|
804963
805105
|
var init_sideQueryOpenAICompat = __esm(() => {
|
|
804964
805106
|
init_analytics();
|
|
@@ -805033,7 +805175,7 @@ async function sideQuery(opts) {
|
|
|
805033
805175
|
betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
|
|
805034
805176
|
}
|
|
805035
805177
|
const messageText = extractFirstUserMessageText(messages);
|
|
805036
|
-
const fingerprint = computeFingerprint(messageText, "4.2.
|
|
805178
|
+
const fingerprint = computeFingerprint(messageText, "4.2.23");
|
|
805037
805179
|
const attributionHeader = getAttributionHeader(fingerprint);
|
|
805038
805180
|
const systemBlocks = [
|
|
805039
805181
|
attributionHeader ? { type: "text", text: attributionHeader } : null,
|
|
@@ -808429,7 +808571,7 @@ function buildSystemInitMessage(inputs) {
|
|
|
808429
808571
|
slash_commands: inputs.commands.filter((c10) => c10.userInvocable !== false).map((c10) => c10.name),
|
|
808430
808572
|
apiKeySource: getAnthropicApiKeyWithSource().source,
|
|
808431
808573
|
betas: getSdkBetas(),
|
|
808432
|
-
claude_code_version: "4.2.
|
|
808574
|
+
claude_code_version: "4.2.23",
|
|
808433
808575
|
output_style: outputStyle2,
|
|
808434
808576
|
agents: inputs.agents.map((agent) => agent.agentType),
|
|
808435
808577
|
skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill) => skill.name),
|
|
@@ -811973,7 +812115,7 @@ function appendToLog(path57, message2) {
|
|
|
811973
812115
|
cwd: getFsImplementation().cwd(),
|
|
811974
812116
|
userType: process.env.USER_TYPE,
|
|
811975
812117
|
sessionId: getSessionId(),
|
|
811976
|
-
version: "4.2.
|
|
812118
|
+
version: "4.2.23"
|
|
811977
812119
|
};
|
|
811978
812120
|
getLogWriter(path57).write(messageWithTimestamp);
|
|
811979
812121
|
}
|
|
@@ -828442,7 +828584,7 @@ function getCommandFuse(commands11) {
|
|
|
828442
828584
|
if (fuseCache?.commands === commands11) {
|
|
828443
828585
|
return fuseCache.fuse;
|
|
828444
828586
|
}
|
|
828445
|
-
const commandData = commands11.filter((cmd) => !cmd.isHidden).map((cmd) => {
|
|
828587
|
+
const commandData = deduplicateCommands(commands11.filter((cmd) => !cmd.isHidden)).map((cmd) => {
|
|
828446
828588
|
const commandName = getCommandName(cmd);
|
|
828447
828589
|
const commandNameKey = getSearchAliases([commandName]);
|
|
828448
828590
|
const aliasKey = cmd.aliases ? getSearchAliases(cmd.aliases) : undefined;
|
|
@@ -828576,6 +828718,17 @@ function getCommandId2(cmd) {
|
|
|
828576
828718
|
}
|
|
828577
828719
|
return `${commandName}:${cmd.type}`;
|
|
828578
828720
|
}
|
|
828721
|
+
function deduplicateCommands(commands11) {
|
|
828722
|
+
const seenIds = new Set;
|
|
828723
|
+
return commands11.filter((cmd) => {
|
|
828724
|
+
const id = getCommandId2(cmd);
|
|
828725
|
+
if (seenIds.has(id)) {
|
|
828726
|
+
return false;
|
|
828727
|
+
}
|
|
828728
|
+
seenIds.add(id);
|
|
828729
|
+
return true;
|
|
828730
|
+
});
|
|
828731
|
+
}
|
|
828579
828732
|
function findMatchedAlias(query5, aliases) {
|
|
828580
828733
|
if (!aliases || aliases.length === 0 || query5 === "") {
|
|
828581
828734
|
return;
|
|
@@ -828606,7 +828759,7 @@ function generateCommandSuggestions(input4, commands11) {
|
|
|
828606
828759
|
}
|
|
828607
828760
|
const query5 = input4.slice(1).toLowerCase().trim();
|
|
828608
828761
|
if (query5 === "") {
|
|
828609
|
-
const visibleCommands = commands11.filter((cmd) => !cmd.isHidden);
|
|
828762
|
+
const visibleCommands = deduplicateCommands(commands11.filter((cmd) => !cmd.isHidden));
|
|
828610
828763
|
const recentlyUsed = [];
|
|
828611
828764
|
const commandsWithScores = visibleCommands.filter((cmd) => cmd.type === "prompt").map((cmd) => ({
|
|
828612
828765
|
cmd,
|
|
@@ -833018,7 +833171,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
|
|
|
833018
833171
|
project_dir: getOriginalCwd(),
|
|
833019
833172
|
added_dirs: addedDirs
|
|
833020
833173
|
},
|
|
833021
|
-
version: "4.2.
|
|
833174
|
+
version: "4.2.23",
|
|
833022
833175
|
output_style: {
|
|
833023
833176
|
name: outputStyleName
|
|
833024
833177
|
},
|
|
@@ -851643,7 +851796,7 @@ async function submitTranscriptShare(messages, trigger, appearanceId) {
|
|
|
851643
851796
|
} catch {}
|
|
851644
851797
|
const data = {
|
|
851645
851798
|
trigger,
|
|
851646
|
-
version: "4.2.
|
|
851799
|
+
version: "4.2.23",
|
|
851647
851800
|
platform: process.platform,
|
|
851648
851801
|
transcript,
|
|
851649
851802
|
subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
|
|
@@ -852898,7 +853051,7 @@ function getReleaseType(current2, latest) {
|
|
|
852898
853051
|
return "patch";
|
|
852899
853052
|
}
|
|
852900
853053
|
async function checkNewAutoUpdate(callbacks) {
|
|
852901
|
-
const currentVersion = "4.2.
|
|
853054
|
+
const currentVersion = "4.2.23";
|
|
852902
853055
|
logForDebugging(`[newAutoUpdater] checking, current: ${currentVersion}`);
|
|
852903
853056
|
if (isNewAutoUpdaterDisabled()) {
|
|
852904
853057
|
return { action: "skip", currentVersion, latestVersion: null };
|
|
@@ -864121,7 +864274,7 @@ function WelcomeV2() {
|
|
|
864121
864274
|
dimColor: true,
|
|
864122
864275
|
children: [
|
|
864123
864276
|
"v",
|
|
864124
|
-
"4.2.
|
|
864277
|
+
"4.2.23",
|
|
864125
864278
|
" "
|
|
864126
864279
|
]
|
|
864127
864280
|
})
|
|
@@ -864187,7 +864340,7 @@ function WelcomeV2() {
|
|
|
864187
864340
|
dimColor: true,
|
|
864188
864341
|
children: [
|
|
864189
864342
|
"v",
|
|
864190
|
-
"4.2.
|
|
864343
|
+
"4.2.23",
|
|
864191
864344
|
" "
|
|
864192
864345
|
]
|
|
864193
864346
|
})
|
|
@@ -864289,7 +864442,7 @@ function AppleTerminalWelcomeV2({ theme: theme2, welcomeMessage }) {
|
|
|
864289
864442
|
dimColor: true,
|
|
864290
864443
|
children: [
|
|
864291
864444
|
"v",
|
|
864292
|
-
"4.2.
|
|
864445
|
+
"4.2.23",
|
|
864293
864446
|
" "
|
|
864294
864447
|
]
|
|
864295
864448
|
})
|
|
@@ -864355,7 +864508,7 @@ function AppleTerminalWelcomeV2({ theme: theme2, welcomeMessage }) {
|
|
|
864355
864508
|
dimColor: true,
|
|
864356
864509
|
children: [
|
|
864357
864510
|
"v",
|
|
864358
|
-
"4.2.
|
|
864511
|
+
"4.2.23",
|
|
864359
864512
|
" "
|
|
864360
864513
|
]
|
|
864361
864514
|
})
|
|
@@ -865295,7 +865448,7 @@ function completeOnboarding() {
|
|
|
865295
865448
|
saveGlobalConfig((current2) => ({
|
|
865296
865449
|
...current2,
|
|
865297
865450
|
hasCompletedOnboarding: true,
|
|
865298
|
-
lastOnboardingVersion: "4.2.
|
|
865451
|
+
lastOnboardingVersion: "4.2.23"
|
|
865299
865452
|
}));
|
|
865300
865453
|
}
|
|
865301
865454
|
function showDialog(root9, renderer) {
|
|
@@ -880377,7 +880530,7 @@ async function startMCPServer(cwd3, debug5, verbose) {
|
|
|
880377
880530
|
setCwd(cwd3);
|
|
880378
880531
|
const server2 = new Server({
|
|
880379
880532
|
name: "claude/tengu",
|
|
880380
|
-
version: "4.2.
|
|
880533
|
+
version: "4.2.23"
|
|
880381
880534
|
}, {
|
|
880382
880535
|
capabilities: {
|
|
880383
880536
|
tools: {}
|
|
@@ -882662,7 +882815,7 @@ function createHealthRoutes(sessionManager) {
|
|
|
882662
882815
|
const uptime2 = process.uptime() * 1000;
|
|
882663
882816
|
return c10.json({
|
|
882664
882817
|
status: "ok",
|
|
882665
|
-
version: "4.2.
|
|
882818
|
+
version: "4.2.23",
|
|
882666
882819
|
uptime_ms: Math.round(uptime2),
|
|
882667
882820
|
active_sessions: sessionManager.getActiveCount()
|
|
882668
882821
|
});
|
|
@@ -882934,7 +883087,7 @@ function getMacroDefines() {
|
|
|
882934
883087
|
commit = execSync3("git rev-parse --short HEAD", { encoding: "utf-8", cwd: __dirname }).trim();
|
|
882935
883088
|
} catch {}
|
|
882936
883089
|
return {
|
|
882937
|
-
"MACRO.VERSION": JSON.stringify("4.2.
|
|
883090
|
+
"MACRO.VERSION": JSON.stringify("4.2.23"),
|
|
882938
883091
|
"MACRO.BUILD_TIME": JSON.stringify(new Date().toISOString()),
|
|
882939
883092
|
"MACRO.COMMIT": JSON.stringify(commit),
|
|
882940
883093
|
"MACRO.FEEDBACK_CHANNEL": JSON.stringify(""),
|
|
@@ -889927,7 +890080,7 @@ __export(exports_update, {
|
|
|
889927
890080
|
});
|
|
889928
890081
|
async function update() {
|
|
889929
890082
|
logEvent("tengu_update_check", {});
|
|
889930
|
-
writeToStdout(`${t("cli.update.currentVersion", "Current version")}: ${"4.2.
|
|
890083
|
+
writeToStdout(`${t("cli.update.currentVersion", "Current version")}: ${"4.2.23"}
|
|
889931
890084
|
`);
|
|
889932
890085
|
const channel5 = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
889933
890086
|
writeToStdout(`${t("cli.update.checkingUpdates", { channel: channel5 }, "Checking for updates to {channel} version...")}
|
|
@@ -890002,8 +890155,8 @@ async function update() {
|
|
|
890002
890155
|
writeToStdout(`${t("cli.update.managedByHomebrew", "CoStrict is managed by Homebrew.")}
|
|
890003
890156
|
`);
|
|
890004
890157
|
const latest = await getLatestVersion(channel5);
|
|
890005
|
-
if (latest && !gte2("4.2.
|
|
890006
|
-
writeToStdout(`${t("cli.update.updateAvailable", { current: "4.2.
|
|
890158
|
+
if (latest && !gte2("4.2.23", latest)) {
|
|
890159
|
+
writeToStdout(`${t("cli.update.updateAvailable", { current: "4.2.23", latest }, "Update available: {current} \u2192 {latest}")}
|
|
890007
890160
|
`);
|
|
890008
890161
|
writeToStdout(`
|
|
890009
890162
|
`);
|
|
@@ -890019,8 +890172,8 @@ async function update() {
|
|
|
890019
890172
|
writeToStdout(`${t("cli.update.managedByWinget", "CoStrict is managed by winget.")}
|
|
890020
890173
|
`);
|
|
890021
890174
|
const latest = await getLatestVersion(channel5);
|
|
890022
|
-
if (latest && !gte2("4.2.
|
|
890023
|
-
writeToStdout(`${t("cli.update.updateAvailable", { current: "4.2.
|
|
890175
|
+
if (latest && !gte2("4.2.23", latest)) {
|
|
890176
|
+
writeToStdout(`${t("cli.update.updateAvailable", { current: "4.2.23", latest }, "Update available: {current} \u2192 {latest}")}
|
|
890024
890177
|
`);
|
|
890025
890178
|
writeToStdout(`
|
|
890026
890179
|
`);
|
|
@@ -890036,8 +890189,8 @@ async function update() {
|
|
|
890036
890189
|
writeToStdout(`${t("cli.update.managedByApk", "CoStrict is managed by apk.")}
|
|
890037
890190
|
`);
|
|
890038
890191
|
const latest = await getLatestVersion(channel5);
|
|
890039
|
-
if (latest && !gte2("4.2.
|
|
890040
|
-
writeToStdout(`${t("cli.update.updateAvailable", { current: "4.2.
|
|
890192
|
+
if (latest && !gte2("4.2.23", latest)) {
|
|
890193
|
+
writeToStdout(`${t("cli.update.updateAvailable", { current: "4.2.23", latest }, "Update available: {current} \u2192 {latest}")}
|
|
890041
890194
|
`);
|
|
890042
890195
|
writeToStdout(`
|
|
890043
890196
|
`);
|
|
@@ -890102,11 +890255,11 @@ async function update() {
|
|
|
890102
890255
|
`);
|
|
890103
890256
|
await gracefulShutdown(1);
|
|
890104
890257
|
}
|
|
890105
|
-
if (result2.latestVersion === "4.2.
|
|
890106
|
-
writeToStdout(source_default.green(t("cli.update.upToDateVersion", { version: "4.2.
|
|
890258
|
+
if (result2.latestVersion === "4.2.23") {
|
|
890259
|
+
writeToStdout(source_default.green(t("cli.update.upToDateVersion", { version: "4.2.23" }, "CoStrict is up to date ({version})")) + `
|
|
890107
890260
|
`);
|
|
890108
890261
|
} else {
|
|
890109
|
-
writeToStdout(source_default.green(t("cli.update.successfullyUpdated", { from: "4.2.
|
|
890262
|
+
writeToStdout(source_default.green(t("cli.update.successfullyUpdated", { from: "4.2.23", to: String(result2.latestVersion) }, "Successfully updated from {from} to version {to}")) + `
|
|
890110
890263
|
`);
|
|
890111
890264
|
regenerateCompletionCache();
|
|
890112
890265
|
}
|
|
@@ -890166,12 +890319,12 @@ async function update() {
|
|
|
890166
890319
|
`);
|
|
890167
890320
|
await gracefulShutdown(1);
|
|
890168
890321
|
}
|
|
890169
|
-
if (latestVersion === "4.2.
|
|
890170
|
-
writeToStdout(source_default.green(t("cli.update.upToDateVersion", { version: "4.2.
|
|
890322
|
+
if (latestVersion === "4.2.23") {
|
|
890323
|
+
writeToStdout(source_default.green(t("cli.update.upToDateVersion", { version: "4.2.23" }, "CoStrict is up to date ({version})")) + `
|
|
890171
890324
|
`);
|
|
890172
890325
|
await gracefulShutdown(0);
|
|
890173
890326
|
}
|
|
890174
|
-
writeToStdout(`${t("cli.update.newVersionAvailable", { latest: String(latestVersion), current: "4.2.
|
|
890327
|
+
writeToStdout(`${t("cli.update.newVersionAvailable", { latest: String(latestVersion), current: "4.2.23" }, "New version available: {latest} (current: {current})")}
|
|
890175
890328
|
`);
|
|
890176
890329
|
writeToStdout(`${t("cli.update.installing", "Installing update...")}
|
|
890177
890330
|
`);
|
|
@@ -890216,7 +890369,7 @@ async function update() {
|
|
|
890216
890369
|
logForDebugging(`update: Installation status: ${result.status}`);
|
|
890217
890370
|
switch (result.status) {
|
|
890218
890371
|
case "success":
|
|
890219
|
-
writeToStdout(source_default.green(t("cli.update.successfullyUpdated", { from: "4.2.
|
|
890372
|
+
writeToStdout(source_default.green(t("cli.update.successfullyUpdated", { from: "4.2.23", to: String(latestVersion) }, "Successfully updated from {from} to version {to}")) + `
|
|
890220
890373
|
`);
|
|
890221
890374
|
regenerateCompletionCache();
|
|
890222
890375
|
break;
|
|
@@ -892420,7 +892573,7 @@ ${assistantAddendum}` : assistantAddendum;
|
|
|
892420
892573
|
}
|
|
892421
892574
|
}
|
|
892422
892575
|
logForDiagnosticsNoPII("info", "started", {
|
|
892423
|
-
version: "4.2.
|
|
892576
|
+
version: "4.2.23",
|
|
892424
892577
|
is_native_binary: isInBundledMode()
|
|
892425
892578
|
});
|
|
892426
892579
|
registerCleanup(async () => {
|
|
@@ -892911,7 +893064,7 @@ Session: ${directConnectConfig.sessionId}`, "info");
|
|
|
892911
893064
|
sshSession = await createSSHSession2({
|
|
892912
893065
|
host: _pendingSSH.host,
|
|
892913
893066
|
cwd: _pendingSSH.cwd,
|
|
892914
|
-
localVersion: "4.2.
|
|
893067
|
+
localVersion: "4.2.23",
|
|
892915
893068
|
permissionMode: _pendingSSH.permissionMode,
|
|
892916
893069
|
dangerouslySkipPermissions: _pendingSSH.dangerouslySkipPermissions,
|
|
892917
893070
|
extraCliArgs: _pendingSSH.extraCliArgs,
|
|
@@ -893380,7 +893533,7 @@ Usage: csc --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
893380
893533
|
pendingHookMessages
|
|
893381
893534
|
}, renderAndRun);
|
|
893382
893535
|
}
|
|
893383
|
-
}).version("4.2.
|
|
893536
|
+
}).version("4.2.23 (CoStrict)", "-v, --version", cliDesc("cli.option.version", "Output the version number"));
|
|
893384
893537
|
program2.addOption(new Option("-w, --worktree [name]", cliDesc("cli.option.worktree", "Create a new git worktree for this session (optionally specify a name)")).hideHelp());
|
|
893385
893538
|
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());
|
|
893386
893539
|
if (canUserConfigureAdvisor()) {
|
|
@@ -894123,10 +894276,10 @@ if (process.env.CLAUDE_CODE_REMOTE === "true") {
|
|
|
894123
894276
|
async function main2() {
|
|
894124
894277
|
const args = process.argv.slice(2);
|
|
894125
894278
|
if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
|
|
894126
|
-
const d7 = new Date("2026-
|
|
894279
|
+
const d7 = new Date("2026-08-04T07:11:51.439Z");
|
|
894127
894280
|
const p2 = (n3) => String(n3).padStart(2, "0");
|
|
894128
894281
|
const buildTime = `${d7.getFullYear()}/${p2(d7.getMonth() + 1)}/${p2(d7.getDate())} ${p2(d7.getHours())}:${p2(d7.getMinutes())}:${p2(d7.getSeconds())}`;
|
|
894129
|
-
console.log(`${"4.2.
|
|
894282
|
+
console.log(`${"4.2.23"} (commit: ${"c5c7891a2"}, built: ${buildTime})`);
|
|
894130
894283
|
return;
|
|
894131
894284
|
}
|
|
894132
894285
|
let stopServeParentWatchdog;
|
|
@@ -894302,5 +894455,5 @@ async function main2() {
|
|
|
894302
894455
|
}
|
|
894303
894456
|
main2();
|
|
894304
894457
|
|
|
894305
|
-
//# debugId=
|
|
894458
|
+
//# debugId=572B24B78021B29264756E2164756E21
|
|
894306
894459
|
|
|
@@ -736,8 +736,8 @@ function getClientVersion() {
|
|
|
736
736
|
if (cached)
|
|
737
737
|
return cached;
|
|
738
738
|
try {
|
|
739
|
-
if ("4.2.
|
|
740
|
-
cached = "4.2.
|
|
739
|
+
if ("4.2.23") {
|
|
740
|
+
cached = "4.2.23";
|
|
741
741
|
return cached;
|
|
742
742
|
}
|
|
743
743
|
} catch {}
|
|
@@ -61589,11 +61589,22 @@ var init_memoize2 = __esm(() => {
|
|
|
61589
61589
|
// src/utils/windowsPaths.ts
|
|
61590
61590
|
import { existsSync as existsSync3 } from "fs";
|
|
61591
61591
|
import * as pathWin32 from "path/win32";
|
|
61592
|
+
function isNonGitBash(candidatePath) {
|
|
61593
|
+
const lower = candidatePath.toLowerCase();
|
|
61594
|
+
if (!lower.endsWith("\\bash.exe")) {
|
|
61595
|
+
return false;
|
|
61596
|
+
}
|
|
61597
|
+
return lower.includes("\\windows\\system32\\") || lower.includes("\\windows\\syswow64\\") || lower.includes("\\windowsapps\\") || lower.includes("\\cygwin\\") || lower.includes("\\cygwin64\\");
|
|
61598
|
+
}
|
|
61592
61599
|
function findExecutableWithDeps(executable, deps) {
|
|
61593
61600
|
try {
|
|
61594
61601
|
const paths2 = deps.execCommand(`where.exe ${executable}`).split(/\r?\n/u).map((candidate) => candidate.trim()).filter(Boolean);
|
|
61595
61602
|
const cwd2 = pathWin32.resolve(deps.cwdFn()).toLowerCase();
|
|
61596
61603
|
for (const candidatePath of paths2) {
|
|
61604
|
+
if (executable === "bash" && isNonGitBash(candidatePath)) {
|
|
61605
|
+
logForDebugging(`Skipping non-Git bash launcher (incompatible with Windows paths): ${candidatePath}`);
|
|
61606
|
+
continue;
|
|
61607
|
+
}
|
|
61597
61608
|
const candidateDirectory = pathWin32.dirname(pathWin32.resolve(candidatePath)).toLowerCase();
|
|
61598
61609
|
const relativeDirectory = pathWin32.relative(cwd2, candidateDirectory);
|
|
61599
61610
|
const isWithinCwd = relativeDirectory === "" || !relativeDirectory.startsWith("..") && !pathWin32.isAbsolute(relativeDirectory);
|
|
@@ -61623,10 +61634,6 @@ function findGitBashPathOrNullWithDeps(deps = DEFAULT_DEPS) {
|
|
|
61623
61634
|
if (envOverride) {
|
|
61624
61635
|
return deps.checkExists(envOverride) ? envOverride : null;
|
|
61625
61636
|
}
|
|
61626
|
-
const bashPath = findExecutableWithDeps("bash", deps);
|
|
61627
|
-
if (bashPath && deps.checkExists(bashPath)) {
|
|
61628
|
-
return bashPath;
|
|
61629
|
-
}
|
|
61630
61637
|
const gitPath = findExecutableWithDeps("git", deps);
|
|
61631
61638
|
if (gitPath) {
|
|
61632
61639
|
const candidates = [
|
|
@@ -61634,11 +61641,20 @@ function findGitBashPathOrNullWithDeps(deps = DEFAULT_DEPS) {
|
|
|
61634
61641
|
pathWin32.join(gitPath, "..", "..", "usr", "bin", "bash.exe"),
|
|
61635
61642
|
pathWin32.join(gitPath, "..", "bash.exe")
|
|
61636
61643
|
];
|
|
61637
|
-
const derivedPath = candidates.find(
|
|
61644
|
+
const derivedPath = candidates.find((candidate) => {
|
|
61645
|
+
if (isNonGitBash(candidate)) {
|
|
61646
|
+
return false;
|
|
61647
|
+
}
|
|
61648
|
+
return deps.checkExists(candidate);
|
|
61649
|
+
});
|
|
61638
61650
|
if (derivedPath) {
|
|
61639
61651
|
return derivedPath;
|
|
61640
61652
|
}
|
|
61641
61653
|
}
|
|
61654
|
+
const bashPath = findExecutableWithDeps("bash", deps);
|
|
61655
|
+
if (bashPath && deps.checkExists(bashPath)) {
|
|
61656
|
+
return bashPath;
|
|
61657
|
+
}
|
|
61642
61658
|
return findCommonGitBashPath(deps.checkExists, deps.userProfile);
|
|
61643
61659
|
}
|
|
61644
61660
|
var DEFAULT_DEPS, findGitBashPathOrNull, windowsPathToPosixPath, posixPathToWindowsPath;
|
|
@@ -138541,7 +138557,7 @@ var init_user = __esm(() => {
|
|
|
138541
138557
|
deviceId,
|
|
138542
138558
|
sessionId: getSessionId(),
|
|
138543
138559
|
email: getEmail(),
|
|
138544
|
-
appVersion: "4.2.
|
|
138560
|
+
appVersion: "4.2.23",
|
|
138545
138561
|
platform: getHostPlatformForAnalytics(),
|
|
138546
138562
|
organizationUuid,
|
|
138547
138563
|
accountUuid,
|
|
@@ -138828,7 +138844,7 @@ var init_metadata = __esm(() => {
|
|
|
138828
138844
|
"sed"
|
|
138829
138845
|
]);
|
|
138830
138846
|
getVersionBase = memoize_default(() => {
|
|
138831
|
-
const match = "4.2.
|
|
138847
|
+
const match = "4.2.23".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
|
|
138832
138848
|
return match ? match[0] : undefined;
|
|
138833
138849
|
});
|
|
138834
138850
|
buildEnvContext = memoize_default(async () => {
|
|
@@ -138868,9 +138884,9 @@ var init_metadata = __esm(() => {
|
|
|
138868
138884
|
isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
|
|
138869
138885
|
isClaudeCodeAction: isEnvTruthy(process.env.CLAUDE_CODE_ACTION),
|
|
138870
138886
|
isClaudeAiAuth: isClaudeAISubscriber(),
|
|
138871
|
-
version: "4.2.
|
|
138887
|
+
version: "4.2.23",
|
|
138872
138888
|
versionBase: getVersionBase(),
|
|
138873
|
-
buildTime: "2026-
|
|
138889
|
+
buildTime: "2026-08-04T07:11:53.958Z",
|
|
138874
138890
|
deploymentEnvironment: env4.detectDeploymentEnvironment(),
|
|
138875
138891
|
...isEnvTruthy(process.env.GITHUB_ACTIONS) && {
|
|
138876
138892
|
githubEventName: process.env.GITHUB_EVENT_NAME,
|
|
@@ -143208,5 +143224,5 @@ export {
|
|
|
143208
143224
|
isParentHeartbeatValid
|
|
143209
143225
|
};
|
|
143210
143226
|
|
|
143211
|
-
//# debugId=
|
|
143227
|
+
//# debugId=22A05C2AEDAD152664756E2164756E21
|
|
143212
143228
|
|