@costrict/csc 4.2.22 → 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 +246 -101
- package/dist/services/rawDump/batchWorker.js +24 -16
- 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,17 +90538,20 @@ __export(exports_windowsPaths, {
|
|
|
90538
90538
|
});
|
|
90539
90539
|
import { existsSync as existsSync4 } from "fs";
|
|
90540
90540
|
import * as pathWin32 from "path/win32";
|
|
90541
|
-
function
|
|
90541
|
+
function isNonGitBash(candidatePath) {
|
|
90542
90542
|
const lower = candidatePath.toLowerCase();
|
|
90543
|
-
|
|
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\\");
|
|
90544
90547
|
}
|
|
90545
90548
|
function findExecutableWithDeps(executable, deps) {
|
|
90546
90549
|
try {
|
|
90547
90550
|
const paths2 = deps.execCommand(`where.exe ${executable}`).split(/\r?\n/u).map((candidate) => candidate.trim()).filter(Boolean);
|
|
90548
90551
|
const cwd2 = pathWin32.resolve(deps.cwdFn()).toLowerCase();
|
|
90549
90552
|
for (const candidatePath of paths2) {
|
|
90550
|
-
if (executable === "bash" &&
|
|
90551
|
-
logForDebugging(`Skipping
|
|
90553
|
+
if (executable === "bash" && isNonGitBash(candidatePath)) {
|
|
90554
|
+
logForDebugging(`Skipping non-Git bash launcher (incompatible with Windows paths): ${candidatePath}`);
|
|
90552
90555
|
continue;
|
|
90553
90556
|
}
|
|
90554
90557
|
const candidateDirectory = pathWin32.dirname(pathWin32.resolve(candidatePath)).toLowerCase();
|
|
@@ -90580,10 +90583,6 @@ function findGitBashPathOrNullWithDeps(deps = DEFAULT_DEPS) {
|
|
|
90580
90583
|
if (envOverride) {
|
|
90581
90584
|
return deps.checkExists(envOverride) ? envOverride : null;
|
|
90582
90585
|
}
|
|
90583
|
-
const bashPath = findExecutableWithDeps("bash", deps);
|
|
90584
|
-
if (bashPath && deps.checkExists(bashPath)) {
|
|
90585
|
-
return bashPath;
|
|
90586
|
-
}
|
|
90587
90586
|
const gitPath = findExecutableWithDeps("git", deps);
|
|
90588
90587
|
if (gitPath) {
|
|
90589
90588
|
const candidates = [
|
|
@@ -90591,11 +90590,20 @@ function findGitBashPathOrNullWithDeps(deps = DEFAULT_DEPS) {
|
|
|
90591
90590
|
pathWin32.join(gitPath, "..", "..", "usr", "bin", "bash.exe"),
|
|
90592
90591
|
pathWin32.join(gitPath, "..", "bash.exe")
|
|
90593
90592
|
];
|
|
90594
|
-
const derivedPath = candidates.find(
|
|
90593
|
+
const derivedPath = candidates.find((candidate) => {
|
|
90594
|
+
if (isNonGitBash(candidate)) {
|
|
90595
|
+
return false;
|
|
90596
|
+
}
|
|
90597
|
+
return deps.checkExists(candidate);
|
|
90598
|
+
});
|
|
90595
90599
|
if (derivedPath) {
|
|
90596
90600
|
return derivedPath;
|
|
90597
90601
|
}
|
|
90598
90602
|
}
|
|
90603
|
+
const bashPath = findExecutableWithDeps("bash", deps);
|
|
90604
|
+
if (bashPath && deps.checkExists(bashPath)) {
|
|
90605
|
+
return bashPath;
|
|
90606
|
+
}
|
|
90599
90607
|
return findCommonGitBashPath(deps.checkExists, deps.userProfile);
|
|
90600
90608
|
}
|
|
90601
90609
|
function setShellIfWindows() {
|
|
@@ -220495,7 +220503,7 @@ async function fetchCoStrictModels(baseUrl, accessToken) {
|
|
|
220495
220503
|
headers: {
|
|
220496
220504
|
Authorization: `Bearer ${accessToken}`,
|
|
220497
220505
|
Accept: "application/json",
|
|
220498
|
-
"User-Agent": `csc/${"4.2.
|
|
220506
|
+
"User-Agent": `csc/${"4.2.23"}`
|
|
220499
220507
|
},
|
|
220500
220508
|
signal: controller.signal
|
|
220501
220509
|
});
|
|
@@ -222532,7 +222540,7 @@ var init_auth7 = __esm(() => {
|
|
|
222532
222540
|
|
|
222533
222541
|
// src/utils/userAgent.ts
|
|
222534
222542
|
function getClaudeCodeUserAgent() {
|
|
222535
|
-
return `costrict/${"4.2.
|
|
222543
|
+
return `costrict/${"4.2.23"}`;
|
|
222536
222544
|
}
|
|
222537
222545
|
|
|
222538
222546
|
// src/utils/workloadContext.ts
|
|
@@ -222554,7 +222562,7 @@ function getUserAgent() {
|
|
|
222554
222562
|
const clientApp = process.env.CLAUDE_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.CLAUDE_AGENT_SDK_CLIENT_APP}` : "";
|
|
222555
222563
|
const workload = getWorkload();
|
|
222556
222564
|
const workloadSuffix = workload ? `, workload/${workload}` : "";
|
|
222557
|
-
return `csc/${"4.2.
|
|
222565
|
+
return `csc/${"4.2.23"}`;
|
|
222558
222566
|
}
|
|
222559
222567
|
function getMCPUserAgent() {
|
|
222560
222568
|
const parts = [];
|
|
@@ -222568,7 +222576,7 @@ function getMCPUserAgent() {
|
|
|
222568
222576
|
parts.push(`client-app/${process.env.CLAUDE_AGENT_SDK_CLIENT_APP}`);
|
|
222569
222577
|
}
|
|
222570
222578
|
const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
|
|
222571
|
-
return `csc/${"4.2.
|
|
222579
|
+
return `csc/${"4.2.23"}${suffix}`;
|
|
222572
222580
|
}
|
|
222573
222581
|
function getWebFetchUserAgent() {
|
|
222574
222582
|
return `Claude-User (${getClaudeCodeUserAgent()}; +https://support.anthropic.com/)`;
|
|
@@ -222688,7 +222696,7 @@ var init_user = __esm(() => {
|
|
|
222688
222696
|
deviceId,
|
|
222689
222697
|
sessionId: getSessionId(),
|
|
222690
222698
|
email: getEmail(),
|
|
222691
|
-
appVersion: "4.2.
|
|
222699
|
+
appVersion: "4.2.23",
|
|
222692
222700
|
platform: getHostPlatformForAnalytics(),
|
|
222693
222701
|
organizationUuid,
|
|
222694
222702
|
accountUuid,
|
|
@@ -233736,7 +233744,7 @@ var init_metadata = __esm(() => {
|
|
|
233736
233744
|
COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
|
|
233737
233745
|
WHITESPACE_REGEX = /\s+/;
|
|
233738
233746
|
getVersionBase = memoize_default(() => {
|
|
233739
|
-
const match = "4.2.
|
|
233747
|
+
const match = "4.2.23".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
|
|
233740
233748
|
return match ? match[0] : undefined;
|
|
233741
233749
|
});
|
|
233742
233750
|
buildEnvContext = memoize_default(async () => {
|
|
@@ -233776,9 +233784,9 @@ var init_metadata = __esm(() => {
|
|
|
233776
233784
|
isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
|
|
233777
233785
|
isClaudeCodeAction: isEnvTruthy(process.env.CLAUDE_CODE_ACTION),
|
|
233778
233786
|
isClaudeAiAuth: isClaudeAISubscriber(),
|
|
233779
|
-
version: "4.2.
|
|
233787
|
+
version: "4.2.23",
|
|
233780
233788
|
versionBase: getVersionBase(),
|
|
233781
|
-
buildTime: "2026-08-
|
|
233789
|
+
buildTime: "2026-08-04T07:11:51.439Z",
|
|
233782
233790
|
deploymentEnvironment: env4.detectDeploymentEnvironment(),
|
|
233783
233791
|
...isEnvTruthy(process.env.GITHUB_ACTIONS) && {
|
|
233784
233792
|
githubEventName: process.env.GITHUB_EVENT_NAME,
|
|
@@ -234449,7 +234457,7 @@ function initialize1PEventLogging() {
|
|
|
234449
234457
|
const platform3 = getPlatform();
|
|
234450
234458
|
const attributes = {
|
|
234451
234459
|
[import_semantic_conventions2.ATTR_SERVICE_NAME]: "claude-code",
|
|
234452
|
-
[import_semantic_conventions2.ATTR_SERVICE_VERSION]: "4.2.
|
|
234460
|
+
[import_semantic_conventions2.ATTR_SERVICE_VERSION]: "4.2.23"
|
|
234453
234461
|
};
|
|
234454
234462
|
if (platform3 === "wsl") {
|
|
234455
234463
|
const wslVersion = getWslVersion();
|
|
@@ -234476,7 +234484,7 @@ function initialize1PEventLogging() {
|
|
|
234476
234484
|
})
|
|
234477
234485
|
]
|
|
234478
234486
|
});
|
|
234479
|
-
firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.anthropic.claude_code.events", "4.2.
|
|
234487
|
+
firstPartyEventLogger = firstPartyEventLoggerProvider.getLogger("com.anthropic.claude_code.events", "4.2.23");
|
|
234480
234488
|
}
|
|
234481
234489
|
async function reinitialize1PEventLoggingIfConfigChanged() {
|
|
234482
234490
|
if (!is1PEventLoggingEnabled() || !firstPartyEventLoggerProvider) {
|
|
@@ -434494,7 +434502,7 @@ function getTelemetryAttributes() {
|
|
|
434494
434502
|
attributes["session.id"] = sessionId;
|
|
434495
434503
|
}
|
|
434496
434504
|
if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
|
|
434497
|
-
attributes["app.version"] = "4.2.
|
|
434505
|
+
attributes["app.version"] = "4.2.23";
|
|
434498
434506
|
}
|
|
434499
434507
|
const oauthAccount = getOauthAccountInfo();
|
|
434500
434508
|
if (oauthAccount) {
|
|
@@ -468014,7 +468022,7 @@ function initLangfuse() {
|
|
|
468014
468022
|
flushInterval: parseInt(process.env.LANGFUSE_FLUSH_INTERVAL ?? "10", 10),
|
|
468015
468023
|
mask: maskFn,
|
|
468016
468024
|
environment: process.env.LANGFUSE_TRACING_ENVIRONMENT ?? "development",
|
|
468017
|
-
release: "4.2.
|
|
468025
|
+
release: "4.2.23",
|
|
468018
468026
|
exportMode: process.env.LANGFUSE_EXPORT_MODE ?? "batched",
|
|
468019
468027
|
timeout: parseInt(process.env.LANGFUSE_TIMEOUT ?? "5", 10)
|
|
468020
468028
|
});
|
|
@@ -499914,7 +499922,7 @@ function initSentry() {
|
|
|
499914
499922
|
}
|
|
499915
499923
|
init3({
|
|
499916
499924
|
dsn,
|
|
499917
|
-
release: typeof MACRO !== "undefined" ? "4.2.
|
|
499925
|
+
release: typeof MACRO !== "undefined" ? "4.2.23" : undefined,
|
|
499918
499926
|
environment: typeof BUILD_ENV !== "undefined" ? BUILD_ENV : "production",
|
|
499919
499927
|
maxBreadcrumbs: 20,
|
|
499920
499928
|
sampleRate: 1,
|
|
@@ -527811,7 +527819,7 @@ async function initializeBetaTracing(resource) {
|
|
|
527811
527819
|
});
|
|
527812
527820
|
logs.setGlobalLoggerProvider(loggerProvider);
|
|
527813
527821
|
setLoggerProvider(loggerProvider);
|
|
527814
|
-
const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "4.2.
|
|
527822
|
+
const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "4.2.23");
|
|
527815
527823
|
setEventLogger(eventLogger);
|
|
527816
527824
|
process.on("beforeExit", async () => {
|
|
527817
527825
|
await loggerProvider?.forceFlush();
|
|
@@ -527851,7 +527859,7 @@ async function initializeTelemetry() {
|
|
|
527851
527859
|
const platform5 = getPlatform();
|
|
527852
527860
|
const baseAttributes = {
|
|
527853
527861
|
[import_semantic_conventions29.ATTR_SERVICE_NAME]: "claude-code",
|
|
527854
|
-
[import_semantic_conventions29.ATTR_SERVICE_VERSION]: "4.2.
|
|
527862
|
+
[import_semantic_conventions29.ATTR_SERVICE_VERSION]: "4.2.23"
|
|
527855
527863
|
};
|
|
527856
527864
|
if (platform5 === "wsl") {
|
|
527857
527865
|
const wslVersion = getWslVersion();
|
|
@@ -527896,7 +527904,7 @@ async function initializeTelemetry() {
|
|
|
527896
527904
|
} catch {}
|
|
527897
527905
|
};
|
|
527898
527906
|
registerCleanup(shutdownTelemetry2);
|
|
527899
|
-
return meterProvider2.getMeter("com.anthropic.claude_code", "4.2.
|
|
527907
|
+
return meterProvider2.getMeter("com.anthropic.claude_code", "4.2.23");
|
|
527900
527908
|
}
|
|
527901
527909
|
const meterProvider = new import_sdk_metrics2.MeterProvider({
|
|
527902
527910
|
resource,
|
|
@@ -527916,7 +527924,7 @@ async function initializeTelemetry() {
|
|
|
527916
527924
|
});
|
|
527917
527925
|
logs.setGlobalLoggerProvider(loggerProvider);
|
|
527918
527926
|
setLoggerProvider(loggerProvider);
|
|
527919
|
-
const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "4.2.
|
|
527927
|
+
const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "4.2.23");
|
|
527920
527928
|
setEventLogger(eventLogger);
|
|
527921
527929
|
logForDebugging("[3P telemetry] Event logger set successfully");
|
|
527922
527930
|
process.on("beforeExit", async () => {
|
|
@@ -527978,7 +527986,7 @@ Current timeout: ${timeoutMs}ms
|
|
|
527978
527986
|
}
|
|
527979
527987
|
};
|
|
527980
527988
|
registerCleanup(shutdownTelemetry);
|
|
527981
|
-
return meterProvider.getMeter("com.anthropic.claude_code", "4.2.
|
|
527989
|
+
return meterProvider.getMeter("com.anthropic.claude_code", "4.2.23");
|
|
527982
527990
|
}
|
|
527983
527991
|
async function flushTelemetry() {
|
|
527984
527992
|
const meterProvider = getMeterProvider();
|
|
@@ -529037,7 +529045,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
529037
529045
|
logError3(new AutoUpdaterError("Another process is currently installing an update"));
|
|
529038
529046
|
logEvent("tengu_auto_updater_lock_contention", {
|
|
529039
529047
|
pid: process.pid,
|
|
529040
|
-
currentVersion: "4.2.
|
|
529048
|
+
currentVersion: "4.2.23"
|
|
529041
529049
|
});
|
|
529042
529050
|
return { status: "in_progress" };
|
|
529043
529051
|
}
|
|
@@ -529046,7 +529054,7 @@ async function installGlobalPackage(specificVersion) {
|
|
|
529046
529054
|
if (!env4.isRunningWithBun() && env4.isNpmFromWindowsPath()) {
|
|
529047
529055
|
logError3(new Error("Windows NPM detected in WSL environment"));
|
|
529048
529056
|
logEvent("tengu_auto_updater_windows_npm_in_wsl", {
|
|
529049
|
-
currentVersion: "4.2.
|
|
529057
|
+
currentVersion: "4.2.23"
|
|
529050
529058
|
});
|
|
529051
529059
|
return {
|
|
529052
529060
|
status: "install_failed",
|
|
@@ -529592,7 +529600,7 @@ function detectLinuxGlobPatternWarnings() {
|
|
|
529592
529600
|
}
|
|
529593
529601
|
async function getDoctorDiagnostic() {
|
|
529594
529602
|
const installationType = await getCurrentInstallationType();
|
|
529595
|
-
const version9 = typeof MACRO !== "undefined" ? "4.2.
|
|
529603
|
+
const version9 = typeof MACRO !== "undefined" ? "4.2.23" : "unknown";
|
|
529596
529604
|
const installationPath = await getInstallationPath();
|
|
529597
529605
|
const invokedBinary = getInvokedBinary();
|
|
529598
529606
|
const multipleInstallations = await detectMultipleInstallations();
|
|
@@ -567779,7 +567787,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
|
|
|
567779
567787
|
const client10 = new Client3({
|
|
567780
567788
|
name: "claude-code",
|
|
567781
567789
|
title: "CoStrict",
|
|
567782
|
-
version: "4.2.
|
|
567790
|
+
version: "4.2.23",
|
|
567783
567791
|
description: "CoStrict agentic coding tool",
|
|
567784
567792
|
websiteUrl: PRODUCT_URL
|
|
567785
567793
|
}, {
|
|
@@ -568150,7 +568158,7 @@ var init_client18 = __esm(() => {
|
|
|
568150
568158
|
const client10 = new Client3({
|
|
568151
568159
|
name: "claude-code",
|
|
568152
568160
|
title: "CoStrict",
|
|
568153
|
-
version: "4.2.
|
|
568161
|
+
version: "4.2.23",
|
|
568154
568162
|
description: "CoStrict agentic coding tool",
|
|
568155
568163
|
websiteUrl: PRODUCT_URL
|
|
568156
568164
|
}, {
|
|
@@ -569540,7 +569548,7 @@ function getInstallationEnv() {
|
|
|
569540
569548
|
return;
|
|
569541
569549
|
}
|
|
569542
569550
|
function getClaudeCodeVersion() {
|
|
569543
|
-
return "4.2.
|
|
569551
|
+
return "4.2.23";
|
|
569544
569552
|
}
|
|
569545
569553
|
async function getInstalledVSCodeExtensionVersion(command4) {
|
|
569546
569554
|
const { stdout } = await execFileNoThrow2(command4, ["--list-extensions", "--show-versions"], {
|
|
@@ -570904,8 +570912,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
570904
570912
|
const maxVersion = await getMaxVersion();
|
|
570905
570913
|
if (maxVersion && gt(version10, maxVersion)) {
|
|
570906
570914
|
logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version10} to ${maxVersion}`);
|
|
570907
|
-
if (gte2("4.2.
|
|
570908
|
-
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`);
|
|
570909
570917
|
logEvent("tengu_native_update_skipped_max_version", {
|
|
570910
570918
|
latency_ms: Date.now() - startTime2,
|
|
570911
570919
|
max_version: maxVersion,
|
|
@@ -570916,7 +570924,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
570916
570924
|
version10 = maxVersion;
|
|
570917
570925
|
}
|
|
570918
570926
|
}
|
|
570919
|
-
if (!forceReinstall && version10 === "4.2.
|
|
570927
|
+
if (!forceReinstall && version10 === "4.2.23" && await versionIsAvailable(version10) && await isPossibleClaudeBinary(executablePath)) {
|
|
570920
570928
|
logForDebugging(`Found ${version10} at ${executablePath}, skipping install`);
|
|
570921
570929
|
logEvent("tengu_native_update_complete", {
|
|
570922
570930
|
latency_ms: Date.now() - startTime2,
|
|
@@ -708984,7 +708992,7 @@ function Feedback({
|
|
|
708984
708992
|
platform: env4.platform,
|
|
708985
708993
|
gitRepo: envInfo.isGit,
|
|
708986
708994
|
terminal: env4.terminal,
|
|
708987
|
-
version: "4.2.
|
|
708995
|
+
version: "4.2.23",
|
|
708988
708996
|
transcript: normalizeMessagesForAPI(messages),
|
|
708989
708997
|
errors: sanitizedErrors,
|
|
708990
708998
|
lastApiRequest: getLastAPIRequest(),
|
|
@@ -709167,7 +709175,7 @@ function Feedback({
|
|
|
709167
709175
|
", ",
|
|
709168
709176
|
env4.terminal,
|
|
709169
709177
|
", v",
|
|
709170
|
-
"4.2.
|
|
709178
|
+
"4.2.23"
|
|
709171
709179
|
]
|
|
709172
709180
|
})
|
|
709173
709181
|
]
|
|
@@ -709264,7 +709272,7 @@ ${sanitizedDescription}
|
|
|
709264
709272
|
` + `**Environment Info**
|
|
709265
709273
|
` + `- Platform: ${env4.platform}
|
|
709266
709274
|
` + `- Terminal: ${env4.terminal}
|
|
709267
|
-
` + `- Version: ${"4.2.
|
|
709275
|
+
` + `- Version: ${"4.2.23"}
|
|
709268
709276
|
` + `- Feedback ID: ${feedbackId}
|
|
709269
709277
|
` + `
|
|
709270
709278
|
**Errors**
|
|
@@ -711503,7 +711511,7 @@ function buildPrimarySection() {
|
|
|
711503
711511
|
children: t("settings.status.renameHint")
|
|
711504
711512
|
});
|
|
711505
711513
|
return [
|
|
711506
|
-
{ label: t("settings.status.version"), value: "4.2.
|
|
711514
|
+
{ label: t("settings.status.version"), value: "4.2.23" },
|
|
711507
711515
|
{ label: t("settings.status.sessionName"), value: nameValue },
|
|
711508
711516
|
{ label: t("settings.status.sessionId"), value: sessionId },
|
|
711509
711517
|
{ label: t("settings.status.cwd"), value: getCwd() },
|
|
@@ -714361,7 +714369,7 @@ function Config({
|
|
|
714361
714369
|
}
|
|
714362
714370
|
})
|
|
714363
714371
|
}) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_runtime191.jsx(ChannelDowngradeDialog, {
|
|
714364
|
-
currentVersion: "4.2.
|
|
714372
|
+
currentVersion: "4.2.23",
|
|
714365
714373
|
onChoice: (choice) => {
|
|
714366
714374
|
setShowSubmenu(null);
|
|
714367
714375
|
setTabsHidden(false);
|
|
@@ -714373,7 +714381,7 @@ function Config({
|
|
|
714373
714381
|
autoUpdatesChannel: "stable"
|
|
714374
714382
|
};
|
|
714375
714383
|
if (choice === "stay") {
|
|
714376
|
-
newSettings.minimumVersion = "4.2.
|
|
714384
|
+
newSettings.minimumVersion = "4.2.23";
|
|
714377
714385
|
}
|
|
714378
714386
|
updateSettingsForSource("userSettings", newSettings);
|
|
714379
714387
|
setSettingsData((prev) => ({
|
|
@@ -719842,7 +719850,7 @@ function HelpV2({ onClose, commands: commands11 }) {
|
|
|
719842
719850
|
color: "professionalBlue",
|
|
719843
719851
|
children: [
|
|
719844
719852
|
/* @__PURE__ */ jsx_runtime218.jsx(Tabs, {
|
|
719845
|
-
title: process.env.USER_TYPE === "sf" ? "/help" : `CoStrict v${"4.2.
|
|
719853
|
+
title: process.env.USER_TYPE === "sf" ? "/help" : `CoStrict v${"4.2.23"}`,
|
|
719846
719854
|
color: "professionalBlue",
|
|
719847
719855
|
defaultTab: "general",
|
|
719848
719856
|
children: tabs
|
|
@@ -742843,7 +742851,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
|
|
|
742843
742851
|
return [];
|
|
742844
742852
|
}
|
|
742845
742853
|
}
|
|
742846
|
-
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "4.2.
|
|
742854
|
+
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "4.2.23") {
|
|
742847
742855
|
if (process.env.USER_TYPE === "sf") {
|
|
742848
742856
|
const changelog = "";
|
|
742849
742857
|
if (changelog) {
|
|
@@ -742870,7 +742878,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "4.2.22")
|
|
|
742870
742878
|
releaseNotes
|
|
742871
742879
|
};
|
|
742872
742880
|
}
|
|
742873
|
-
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "4.2.
|
|
742881
|
+
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "4.2.23") {
|
|
742874
742882
|
if (process.env.USER_TYPE === "sf") {
|
|
742875
742883
|
const changelog = "";
|
|
742876
742884
|
if (changelog) {
|
|
@@ -745383,7 +745391,7 @@ function isNotLoggedIn() {
|
|
|
745383
745391
|
return true;
|
|
745384
745392
|
}
|
|
745385
745393
|
function getLogoDisplayData() {
|
|
745386
|
-
const version10 = process.env.DEMO_VERSION ?? "4.2.
|
|
745394
|
+
const version10 = process.env.DEMO_VERSION ?? "4.2.23";
|
|
745387
745395
|
const serverUrl = getDirectConnectServerUrl();
|
|
745388
745396
|
const displayPath = process.env.DEMO_VERSION ? "/code/claude" : getDisplayPath(getCwd());
|
|
745389
745397
|
const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
|
|
@@ -745961,7 +745969,7 @@ var init_MatrixMessageLine = __esm(() => {
|
|
|
745961
745969
|
// src/components/matrix-tactical/MatrixWelcome.tsx
|
|
745962
745970
|
import { basename as basename47 } from "path";
|
|
745963
745971
|
function MatrixWelcome({
|
|
745964
|
-
version: version10 = "4.2.
|
|
745972
|
+
version: version10 = "4.2.23",
|
|
745965
745973
|
projectName,
|
|
745966
745974
|
cwd: cwd2,
|
|
745967
745975
|
modelDisplayName,
|
|
@@ -746596,13 +746604,13 @@ function LogoV2() {
|
|
|
746596
746604
|
const { hasReleaseNotes } = checkForReleaseNotesSync(config13.lastReleaseNotesSeen);
|
|
746597
746605
|
import_react167.useEffect(() => {
|
|
746598
746606
|
const currentConfig = getGlobalConfig();
|
|
746599
|
-
if (currentConfig.lastReleaseNotesSeen === "4.2.
|
|
746607
|
+
if (currentConfig.lastReleaseNotesSeen === "4.2.23") {
|
|
746600
746608
|
return;
|
|
746601
746609
|
}
|
|
746602
746610
|
saveGlobalConfig((current2) => {
|
|
746603
|
-
if (current2.lastReleaseNotesSeen === "4.2.
|
|
746611
|
+
if (current2.lastReleaseNotesSeen === "4.2.23")
|
|
746604
746612
|
return current2;
|
|
746605
|
-
return { ...current2, lastReleaseNotesSeen: "4.2.
|
|
746613
|
+
return { ...current2, lastReleaseNotesSeen: "4.2.23" };
|
|
746606
746614
|
});
|
|
746607
746615
|
if (showOnboarding) {
|
|
746608
746616
|
incrementProjectOnboardingSeenCount();
|
|
@@ -769132,7 +769140,7 @@ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
|
|
|
769132
769140
|
smapsRollup,
|
|
769133
769141
|
platform: process.platform,
|
|
769134
769142
|
nodeVersion: process.version,
|
|
769135
|
-
ccVersion: "4.2.
|
|
769143
|
+
ccVersion: "4.2.23"
|
|
769136
769144
|
};
|
|
769137
769145
|
}
|
|
769138
769146
|
async function performHeapDump(trigger = "manual", dumpNumber = 0) {
|
|
@@ -769248,7 +769256,7 @@ var init_mock_limits = __esm(() => {
|
|
|
769248
769256
|
var call55 = async () => {
|
|
769249
769257
|
return {
|
|
769250
769258
|
type: "text",
|
|
769251
|
-
value: `${"4.2.
|
|
769259
|
+
value: `${"4.2.23"} (built ${"2026-08-04T07:11:51.439Z"})`
|
|
769252
769260
|
};
|
|
769253
769261
|
}, version10, version_default;
|
|
769254
769262
|
var init_version2 = __esm(() => {
|
|
@@ -783838,7 +783846,8 @@ async function generateUltracodeWorkflow(request3, context41) {
|
|
|
783838
783846
|
maxRetries: 1,
|
|
783839
783847
|
thinking: false,
|
|
783840
783848
|
querySource: "workflow",
|
|
783841
|
-
signal: context41.abortController.signal
|
|
783849
|
+
signal: context41.abortController.signal,
|
|
783850
|
+
stream: true
|
|
783842
783851
|
});
|
|
783843
783852
|
const workflow = prepareGeneratedUltracodeWorkflow(extractGeneratedWorkflow(response3), request3);
|
|
783844
783853
|
validateGeneratedUltracodeWorkflow(workflow, request3);
|
|
@@ -787171,7 +787180,7 @@ function generateHtmlReport(data, insights) {
|
|
|
787171
787180
|
</html>`;
|
|
787172
787181
|
}
|
|
787173
787182
|
function buildExportData(data, insights, facets, remoteStats) {
|
|
787174
|
-
const version11 = typeof MACRO !== "undefined" ? "4.2.
|
|
787183
|
+
const version11 = typeof MACRO !== "undefined" ? "4.2.23" : "unknown";
|
|
787175
787184
|
const remote_hosts_collected = remoteStats?.hosts.filter((h8) => h8.sessionCount > 0).map((h8) => h8.name);
|
|
787176
787185
|
const facets_summary = {
|
|
787177
787186
|
total: facets.size,
|
|
@@ -791621,7 +791630,7 @@ var init_sessionStorage = __esm(() => {
|
|
|
791621
791630
|
init_settings2();
|
|
791622
791631
|
init_slowOperations();
|
|
791623
791632
|
init_uuid();
|
|
791624
|
-
VERSION11 = typeof MACRO !== "undefined" ? "4.2.
|
|
791633
|
+
VERSION11 = typeof MACRO !== "undefined" ? "4.2.23" : "unknown";
|
|
791625
791634
|
MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
|
|
791626
791635
|
SKIP_FIRST_PROMPT_PATTERN2 = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
|
|
791627
791636
|
EPHEMERAL_PROGRESS_TYPES = new Set([
|
|
@@ -792962,7 +792971,7 @@ var init_filesystem = __esm(() => {
|
|
|
792962
792971
|
});
|
|
792963
792972
|
getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
|
|
792964
792973
|
const nonce = randomBytes24(16).toString("hex");
|
|
792965
|
-
return join204(getCostrictTempDir(), "bundled-skills", "4.2.
|
|
792974
|
+
return join204(getCostrictTempDir(), "bundled-skills", "4.2.23", nonce);
|
|
792966
792975
|
});
|
|
792967
792976
|
getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
|
|
792968
792977
|
});
|
|
@@ -799232,7 +799241,7 @@ function computeFingerprint(messageText, version11) {
|
|
|
799232
799241
|
}
|
|
799233
799242
|
function computeFingerprintFromMessages(messages) {
|
|
799234
799243
|
const firstMessageText = extractFirstMessageText(messages);
|
|
799235
|
-
return computeFingerprint(firstMessageText, "4.2.
|
|
799244
|
+
return computeFingerprint(firstMessageText, "4.2.23");
|
|
799236
799245
|
}
|
|
799237
799246
|
var FINGERPRINT_SALT = "59cf53e54c78";
|
|
799238
799247
|
var init_fingerprint = () => {};
|
|
@@ -799642,7 +799651,7 @@ function getAnthropicEnvMetadata() {
|
|
|
799642
799651
|
function getBuildAgeMinutes() {
|
|
799643
799652
|
if (false)
|
|
799644
799653
|
;
|
|
799645
|
-
const buildTime = new Date("2026-08-
|
|
799654
|
+
const buildTime = new Date("2026-08-04T07:11:51.439Z").getTime();
|
|
799646
799655
|
if (isNaN(buildTime))
|
|
799647
799656
|
return;
|
|
799648
799657
|
return Math.floor((Date.now() - buildTime) / 60000);
|
|
@@ -804898,7 +804907,10 @@ function buildMessages(system, messages) {
|
|
|
804898
804907
|
}
|
|
804899
804908
|
for (const msg of messages) {
|
|
804900
804909
|
if (typeof msg.content === "string") {
|
|
804901
|
-
result.push({
|
|
804910
|
+
result.push({
|
|
804911
|
+
role: msg.role,
|
|
804912
|
+
content: msg.content
|
|
804913
|
+
});
|
|
804902
804914
|
} else {
|
|
804903
804915
|
const text2 = msg.content.filter((b9) => b9.type === "text").map((b9) => b9.text).join(`
|
|
804904
804916
|
`);
|
|
@@ -804908,9 +804920,21 @@ function buildMessages(system, messages) {
|
|
|
804908
804920
|
return result;
|
|
804909
804921
|
}
|
|
804910
804922
|
async function sideQueryOpenAICompat(opts, client10, resolvedModel, providerTag) {
|
|
804911
|
-
const {
|
|
804912
|
-
|
|
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}`);
|
|
804913
804934
|
const start = Date.now();
|
|
804935
|
+
if (stream6) {
|
|
804936
|
+
return streamOpenAICompat(client10, resolvedModel, opts, providerTag);
|
|
804937
|
+
}
|
|
804914
804938
|
const response3 = await client10.chat.completions.create({
|
|
804915
804939
|
model: resolvedModel,
|
|
804916
804940
|
messages: buildMessages(system, messages),
|
|
@@ -804938,7 +804962,11 @@ async function sideQueryOpenAICompat(opts, client10, resolvedModel, providerTag)
|
|
|
804938
804962
|
const choice = response3.choices[0];
|
|
804939
804963
|
const content = [];
|
|
804940
804964
|
if (choice?.message?.content) {
|
|
804941
|
-
content.push({
|
|
804965
|
+
content.push({
|
|
804966
|
+
type: "text",
|
|
804967
|
+
text: choice.message.content,
|
|
804968
|
+
citations: null
|
|
804969
|
+
});
|
|
804942
804970
|
}
|
|
804943
804971
|
if (choice?.message?.tool_calls) {
|
|
804944
804972
|
for (const tc of choice.message.tool_calls) {
|
|
@@ -804947,7 +804975,12 @@ async function sideQueryOpenAICompat(opts, client10, resolvedModel, providerTag)
|
|
|
804947
804975
|
try {
|
|
804948
804976
|
input4 = JSON.parse(funcTc.function.arguments);
|
|
804949
804977
|
} catch {}
|
|
804950
|
-
content.push({
|
|
804978
|
+
content.push({
|
|
804979
|
+
type: "tool_use",
|
|
804980
|
+
id: tc.id,
|
|
804981
|
+
name: funcTc.function.name,
|
|
804982
|
+
input: input4
|
|
804983
|
+
});
|
|
804951
804984
|
}
|
|
804952
804985
|
}
|
|
804953
804986
|
return {
|
|
@@ -804967,6 +805000,107 @@ async function sideQueryOpenAICompat(opts, client10, resolvedModel, providerTag)
|
|
|
804967
805000
|
}
|
|
804968
805001
|
};
|
|
804969
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
|
+
}
|
|
804970
805104
|
var STOP_REASON_MAP;
|
|
804971
805105
|
var init_sideQueryOpenAICompat = __esm(() => {
|
|
804972
805106
|
init_analytics();
|
|
@@ -805041,7 +805175,7 @@ async function sideQuery(opts) {
|
|
|
805041
805175
|
betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
|
|
805042
805176
|
}
|
|
805043
805177
|
const messageText = extractFirstUserMessageText(messages);
|
|
805044
|
-
const fingerprint = computeFingerprint(messageText, "4.2.
|
|
805178
|
+
const fingerprint = computeFingerprint(messageText, "4.2.23");
|
|
805045
805179
|
const attributionHeader = getAttributionHeader(fingerprint);
|
|
805046
805180
|
const systemBlocks = [
|
|
805047
805181
|
attributionHeader ? { type: "text", text: attributionHeader } : null,
|
|
@@ -808437,7 +808571,7 @@ function buildSystemInitMessage(inputs) {
|
|
|
808437
808571
|
slash_commands: inputs.commands.filter((c10) => c10.userInvocable !== false).map((c10) => c10.name),
|
|
808438
808572
|
apiKeySource: getAnthropicApiKeyWithSource().source,
|
|
808439
808573
|
betas: getSdkBetas(),
|
|
808440
|
-
claude_code_version: "4.2.
|
|
808574
|
+
claude_code_version: "4.2.23",
|
|
808441
808575
|
output_style: outputStyle2,
|
|
808442
808576
|
agents: inputs.agents.map((agent) => agent.agentType),
|
|
808443
808577
|
skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill) => skill.name),
|
|
@@ -811981,7 +812115,7 @@ function appendToLog(path57, message2) {
|
|
|
811981
812115
|
cwd: getFsImplementation().cwd(),
|
|
811982
812116
|
userType: process.env.USER_TYPE,
|
|
811983
812117
|
sessionId: getSessionId(),
|
|
811984
|
-
version: "4.2.
|
|
812118
|
+
version: "4.2.23"
|
|
811985
812119
|
};
|
|
811986
812120
|
getLogWriter(path57).write(messageWithTimestamp);
|
|
811987
812121
|
}
|
|
@@ -828450,7 +828584,7 @@ function getCommandFuse(commands11) {
|
|
|
828450
828584
|
if (fuseCache?.commands === commands11) {
|
|
828451
828585
|
return fuseCache.fuse;
|
|
828452
828586
|
}
|
|
828453
|
-
const commandData = commands11.filter((cmd) => !cmd.isHidden).map((cmd) => {
|
|
828587
|
+
const commandData = deduplicateCommands(commands11.filter((cmd) => !cmd.isHidden)).map((cmd) => {
|
|
828454
828588
|
const commandName = getCommandName(cmd);
|
|
828455
828589
|
const commandNameKey = getSearchAliases([commandName]);
|
|
828456
828590
|
const aliasKey = cmd.aliases ? getSearchAliases(cmd.aliases) : undefined;
|
|
@@ -828584,6 +828718,17 @@ function getCommandId2(cmd) {
|
|
|
828584
828718
|
}
|
|
828585
828719
|
return `${commandName}:${cmd.type}`;
|
|
828586
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
|
+
}
|
|
828587
828732
|
function findMatchedAlias(query5, aliases) {
|
|
828588
828733
|
if (!aliases || aliases.length === 0 || query5 === "") {
|
|
828589
828734
|
return;
|
|
@@ -828614,7 +828759,7 @@ function generateCommandSuggestions(input4, commands11) {
|
|
|
828614
828759
|
}
|
|
828615
828760
|
const query5 = input4.slice(1).toLowerCase().trim();
|
|
828616
828761
|
if (query5 === "") {
|
|
828617
|
-
const visibleCommands = commands11.filter((cmd) => !cmd.isHidden);
|
|
828762
|
+
const visibleCommands = deduplicateCommands(commands11.filter((cmd) => !cmd.isHidden));
|
|
828618
828763
|
const recentlyUsed = [];
|
|
828619
828764
|
const commandsWithScores = visibleCommands.filter((cmd) => cmd.type === "prompt").map((cmd) => ({
|
|
828620
828765
|
cmd,
|
|
@@ -833026,7 +833171,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
|
|
|
833026
833171
|
project_dir: getOriginalCwd(),
|
|
833027
833172
|
added_dirs: addedDirs
|
|
833028
833173
|
},
|
|
833029
|
-
version: "4.2.
|
|
833174
|
+
version: "4.2.23",
|
|
833030
833175
|
output_style: {
|
|
833031
833176
|
name: outputStyleName
|
|
833032
833177
|
},
|
|
@@ -851651,7 +851796,7 @@ async function submitTranscriptShare(messages, trigger, appearanceId) {
|
|
|
851651
851796
|
} catch {}
|
|
851652
851797
|
const data = {
|
|
851653
851798
|
trigger,
|
|
851654
|
-
version: "4.2.
|
|
851799
|
+
version: "4.2.23",
|
|
851655
851800
|
platform: process.platform,
|
|
851656
851801
|
transcript,
|
|
851657
851802
|
subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
|
|
@@ -852906,7 +853051,7 @@ function getReleaseType(current2, latest) {
|
|
|
852906
853051
|
return "patch";
|
|
852907
853052
|
}
|
|
852908
853053
|
async function checkNewAutoUpdate(callbacks) {
|
|
852909
|
-
const currentVersion = "4.2.
|
|
853054
|
+
const currentVersion = "4.2.23";
|
|
852910
853055
|
logForDebugging(`[newAutoUpdater] checking, current: ${currentVersion}`);
|
|
852911
853056
|
if (isNewAutoUpdaterDisabled()) {
|
|
852912
853057
|
return { action: "skip", currentVersion, latestVersion: null };
|
|
@@ -864129,7 +864274,7 @@ function WelcomeV2() {
|
|
|
864129
864274
|
dimColor: true,
|
|
864130
864275
|
children: [
|
|
864131
864276
|
"v",
|
|
864132
|
-
"4.2.
|
|
864277
|
+
"4.2.23",
|
|
864133
864278
|
" "
|
|
864134
864279
|
]
|
|
864135
864280
|
})
|
|
@@ -864195,7 +864340,7 @@ function WelcomeV2() {
|
|
|
864195
864340
|
dimColor: true,
|
|
864196
864341
|
children: [
|
|
864197
864342
|
"v",
|
|
864198
|
-
"4.2.
|
|
864343
|
+
"4.2.23",
|
|
864199
864344
|
" "
|
|
864200
864345
|
]
|
|
864201
864346
|
})
|
|
@@ -864297,7 +864442,7 @@ function AppleTerminalWelcomeV2({ theme: theme2, welcomeMessage }) {
|
|
|
864297
864442
|
dimColor: true,
|
|
864298
864443
|
children: [
|
|
864299
864444
|
"v",
|
|
864300
|
-
"4.2.
|
|
864445
|
+
"4.2.23",
|
|
864301
864446
|
" "
|
|
864302
864447
|
]
|
|
864303
864448
|
})
|
|
@@ -864363,7 +864508,7 @@ function AppleTerminalWelcomeV2({ theme: theme2, welcomeMessage }) {
|
|
|
864363
864508
|
dimColor: true,
|
|
864364
864509
|
children: [
|
|
864365
864510
|
"v",
|
|
864366
|
-
"4.2.
|
|
864511
|
+
"4.2.23",
|
|
864367
864512
|
" "
|
|
864368
864513
|
]
|
|
864369
864514
|
})
|
|
@@ -865303,7 +865448,7 @@ function completeOnboarding() {
|
|
|
865303
865448
|
saveGlobalConfig((current2) => ({
|
|
865304
865449
|
...current2,
|
|
865305
865450
|
hasCompletedOnboarding: true,
|
|
865306
|
-
lastOnboardingVersion: "4.2.
|
|
865451
|
+
lastOnboardingVersion: "4.2.23"
|
|
865307
865452
|
}));
|
|
865308
865453
|
}
|
|
865309
865454
|
function showDialog(root9, renderer) {
|
|
@@ -880385,7 +880530,7 @@ async function startMCPServer(cwd3, debug5, verbose) {
|
|
|
880385
880530
|
setCwd(cwd3);
|
|
880386
880531
|
const server2 = new Server({
|
|
880387
880532
|
name: "claude/tengu",
|
|
880388
|
-
version: "4.2.
|
|
880533
|
+
version: "4.2.23"
|
|
880389
880534
|
}, {
|
|
880390
880535
|
capabilities: {
|
|
880391
880536
|
tools: {}
|
|
@@ -882670,7 +882815,7 @@ function createHealthRoutes(sessionManager) {
|
|
|
882670
882815
|
const uptime2 = process.uptime() * 1000;
|
|
882671
882816
|
return c10.json({
|
|
882672
882817
|
status: "ok",
|
|
882673
|
-
version: "4.2.
|
|
882818
|
+
version: "4.2.23",
|
|
882674
882819
|
uptime_ms: Math.round(uptime2),
|
|
882675
882820
|
active_sessions: sessionManager.getActiveCount()
|
|
882676
882821
|
});
|
|
@@ -882942,7 +883087,7 @@ function getMacroDefines() {
|
|
|
882942
883087
|
commit = execSync3("git rev-parse --short HEAD", { encoding: "utf-8", cwd: __dirname }).trim();
|
|
882943
883088
|
} catch {}
|
|
882944
883089
|
return {
|
|
882945
|
-
"MACRO.VERSION": JSON.stringify("4.2.
|
|
883090
|
+
"MACRO.VERSION": JSON.stringify("4.2.23"),
|
|
882946
883091
|
"MACRO.BUILD_TIME": JSON.stringify(new Date().toISOString()),
|
|
882947
883092
|
"MACRO.COMMIT": JSON.stringify(commit),
|
|
882948
883093
|
"MACRO.FEEDBACK_CHANNEL": JSON.stringify(""),
|
|
@@ -889935,7 +890080,7 @@ __export(exports_update, {
|
|
|
889935
890080
|
});
|
|
889936
890081
|
async function update() {
|
|
889937
890082
|
logEvent("tengu_update_check", {});
|
|
889938
|
-
writeToStdout(`${t("cli.update.currentVersion", "Current version")}: ${"4.2.
|
|
890083
|
+
writeToStdout(`${t("cli.update.currentVersion", "Current version")}: ${"4.2.23"}
|
|
889939
890084
|
`);
|
|
889940
890085
|
const channel5 = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
889941
890086
|
writeToStdout(`${t("cli.update.checkingUpdates", { channel: channel5 }, "Checking for updates to {channel} version...")}
|
|
@@ -890010,8 +890155,8 @@ async function update() {
|
|
|
890010
890155
|
writeToStdout(`${t("cli.update.managedByHomebrew", "CoStrict is managed by Homebrew.")}
|
|
890011
890156
|
`);
|
|
890012
890157
|
const latest = await getLatestVersion(channel5);
|
|
890013
|
-
if (latest && !gte2("4.2.
|
|
890014
|
-
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}")}
|
|
890015
890160
|
`);
|
|
890016
890161
|
writeToStdout(`
|
|
890017
890162
|
`);
|
|
@@ -890027,8 +890172,8 @@ async function update() {
|
|
|
890027
890172
|
writeToStdout(`${t("cli.update.managedByWinget", "CoStrict is managed by winget.")}
|
|
890028
890173
|
`);
|
|
890029
890174
|
const latest = await getLatestVersion(channel5);
|
|
890030
|
-
if (latest && !gte2("4.2.
|
|
890031
|
-
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}")}
|
|
890032
890177
|
`);
|
|
890033
890178
|
writeToStdout(`
|
|
890034
890179
|
`);
|
|
@@ -890044,8 +890189,8 @@ async function update() {
|
|
|
890044
890189
|
writeToStdout(`${t("cli.update.managedByApk", "CoStrict is managed by apk.")}
|
|
890045
890190
|
`);
|
|
890046
890191
|
const latest = await getLatestVersion(channel5);
|
|
890047
|
-
if (latest && !gte2("4.2.
|
|
890048
|
-
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}")}
|
|
890049
890194
|
`);
|
|
890050
890195
|
writeToStdout(`
|
|
890051
890196
|
`);
|
|
@@ -890110,11 +890255,11 @@ async function update() {
|
|
|
890110
890255
|
`);
|
|
890111
890256
|
await gracefulShutdown(1);
|
|
890112
890257
|
}
|
|
890113
|
-
if (result2.latestVersion === "4.2.
|
|
890114
|
-
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})")) + `
|
|
890115
890260
|
`);
|
|
890116
890261
|
} else {
|
|
890117
|
-
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}")) + `
|
|
890118
890263
|
`);
|
|
890119
890264
|
regenerateCompletionCache();
|
|
890120
890265
|
}
|
|
@@ -890174,12 +890319,12 @@ async function update() {
|
|
|
890174
890319
|
`);
|
|
890175
890320
|
await gracefulShutdown(1);
|
|
890176
890321
|
}
|
|
890177
|
-
if (latestVersion === "4.2.
|
|
890178
|
-
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})")) + `
|
|
890179
890324
|
`);
|
|
890180
890325
|
await gracefulShutdown(0);
|
|
890181
890326
|
}
|
|
890182
|
-
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})")}
|
|
890183
890328
|
`);
|
|
890184
890329
|
writeToStdout(`${t("cli.update.installing", "Installing update...")}
|
|
890185
890330
|
`);
|
|
@@ -890224,7 +890369,7 @@ async function update() {
|
|
|
890224
890369
|
logForDebugging(`update: Installation status: ${result.status}`);
|
|
890225
890370
|
switch (result.status) {
|
|
890226
890371
|
case "success":
|
|
890227
|
-
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}")) + `
|
|
890228
890373
|
`);
|
|
890229
890374
|
regenerateCompletionCache();
|
|
890230
890375
|
break;
|
|
@@ -892428,7 +892573,7 @@ ${assistantAddendum}` : assistantAddendum;
|
|
|
892428
892573
|
}
|
|
892429
892574
|
}
|
|
892430
892575
|
logForDiagnosticsNoPII("info", "started", {
|
|
892431
|
-
version: "4.2.
|
|
892576
|
+
version: "4.2.23",
|
|
892432
892577
|
is_native_binary: isInBundledMode()
|
|
892433
892578
|
});
|
|
892434
892579
|
registerCleanup(async () => {
|
|
@@ -892919,7 +893064,7 @@ Session: ${directConnectConfig.sessionId}`, "info");
|
|
|
892919
893064
|
sshSession = await createSSHSession2({
|
|
892920
893065
|
host: _pendingSSH.host,
|
|
892921
893066
|
cwd: _pendingSSH.cwd,
|
|
892922
|
-
localVersion: "4.2.
|
|
893067
|
+
localVersion: "4.2.23",
|
|
892923
893068
|
permissionMode: _pendingSSH.permissionMode,
|
|
892924
893069
|
dangerouslySkipPermissions: _pendingSSH.dangerouslySkipPermissions,
|
|
892925
893070
|
extraCliArgs: _pendingSSH.extraCliArgs,
|
|
@@ -893388,7 +893533,7 @@ Usage: csc --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
893388
893533
|
pendingHookMessages
|
|
893389
893534
|
}, renderAndRun);
|
|
893390
893535
|
}
|
|
893391
|
-
}).version("4.2.
|
|
893536
|
+
}).version("4.2.23 (CoStrict)", "-v, --version", cliDesc("cli.option.version", "Output the version number"));
|
|
893392
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());
|
|
893393
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());
|
|
893394
893539
|
if (canUserConfigureAdvisor()) {
|
|
@@ -894131,10 +894276,10 @@ if (process.env.CLAUDE_CODE_REMOTE === "true") {
|
|
|
894131
894276
|
async function main2() {
|
|
894132
894277
|
const args = process.argv.slice(2);
|
|
894133
894278
|
if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
|
|
894134
|
-
const d7 = new Date("2026-08-
|
|
894279
|
+
const d7 = new Date("2026-08-04T07:11:51.439Z");
|
|
894135
894280
|
const p2 = (n3) => String(n3).padStart(2, "0");
|
|
894136
894281
|
const buildTime = `${d7.getFullYear()}/${p2(d7.getMonth() + 1)}/${p2(d7.getDate())} ${p2(d7.getHours())}:${p2(d7.getMinutes())}:${p2(d7.getSeconds())}`;
|
|
894137
|
-
console.log(`${"4.2.
|
|
894282
|
+
console.log(`${"4.2.23"} (commit: ${"c5c7891a2"}, built: ${buildTime})`);
|
|
894138
894283
|
return;
|
|
894139
894284
|
}
|
|
894140
894285
|
let stopServeParentWatchdog;
|
|
@@ -894310,5 +894455,5 @@ async function main2() {
|
|
|
894310
894455
|
}
|
|
894311
894456
|
main2();
|
|
894312
894457
|
|
|
894313
|
-
//# debugId=
|
|
894458
|
+
//# debugId=572B24B78021B29264756E2164756E21
|
|
894314
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,17 +61589,20 @@ 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
|
|
61592
|
+
function isNonGitBash(candidatePath) {
|
|
61593
61593
|
const lower = candidatePath.toLowerCase();
|
|
61594
|
-
|
|
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\\");
|
|
61595
61598
|
}
|
|
61596
61599
|
function findExecutableWithDeps(executable, deps) {
|
|
61597
61600
|
try {
|
|
61598
61601
|
const paths2 = deps.execCommand(`where.exe ${executable}`).split(/\r?\n/u).map((candidate) => candidate.trim()).filter(Boolean);
|
|
61599
61602
|
const cwd2 = pathWin32.resolve(deps.cwdFn()).toLowerCase();
|
|
61600
61603
|
for (const candidatePath of paths2) {
|
|
61601
|
-
if (executable === "bash" &&
|
|
61602
|
-
logForDebugging(`Skipping
|
|
61604
|
+
if (executable === "bash" && isNonGitBash(candidatePath)) {
|
|
61605
|
+
logForDebugging(`Skipping non-Git bash launcher (incompatible with Windows paths): ${candidatePath}`);
|
|
61603
61606
|
continue;
|
|
61604
61607
|
}
|
|
61605
61608
|
const candidateDirectory = pathWin32.dirname(pathWin32.resolve(candidatePath)).toLowerCase();
|
|
@@ -61631,10 +61634,6 @@ function findGitBashPathOrNullWithDeps(deps = DEFAULT_DEPS) {
|
|
|
61631
61634
|
if (envOverride) {
|
|
61632
61635
|
return deps.checkExists(envOverride) ? envOverride : null;
|
|
61633
61636
|
}
|
|
61634
|
-
const bashPath = findExecutableWithDeps("bash", deps);
|
|
61635
|
-
if (bashPath && deps.checkExists(bashPath)) {
|
|
61636
|
-
return bashPath;
|
|
61637
|
-
}
|
|
61638
61637
|
const gitPath = findExecutableWithDeps("git", deps);
|
|
61639
61638
|
if (gitPath) {
|
|
61640
61639
|
const candidates = [
|
|
@@ -61642,11 +61641,20 @@ function findGitBashPathOrNullWithDeps(deps = DEFAULT_DEPS) {
|
|
|
61642
61641
|
pathWin32.join(gitPath, "..", "..", "usr", "bin", "bash.exe"),
|
|
61643
61642
|
pathWin32.join(gitPath, "..", "bash.exe")
|
|
61644
61643
|
];
|
|
61645
|
-
const derivedPath = candidates.find(
|
|
61644
|
+
const derivedPath = candidates.find((candidate) => {
|
|
61645
|
+
if (isNonGitBash(candidate)) {
|
|
61646
|
+
return false;
|
|
61647
|
+
}
|
|
61648
|
+
return deps.checkExists(candidate);
|
|
61649
|
+
});
|
|
61646
61650
|
if (derivedPath) {
|
|
61647
61651
|
return derivedPath;
|
|
61648
61652
|
}
|
|
61649
61653
|
}
|
|
61654
|
+
const bashPath = findExecutableWithDeps("bash", deps);
|
|
61655
|
+
if (bashPath && deps.checkExists(bashPath)) {
|
|
61656
|
+
return bashPath;
|
|
61657
|
+
}
|
|
61650
61658
|
return findCommonGitBashPath(deps.checkExists, deps.userProfile);
|
|
61651
61659
|
}
|
|
61652
61660
|
var DEFAULT_DEPS, findGitBashPathOrNull, windowsPathToPosixPath, posixPathToWindowsPath;
|
|
@@ -138549,7 +138557,7 @@ var init_user = __esm(() => {
|
|
|
138549
138557
|
deviceId,
|
|
138550
138558
|
sessionId: getSessionId(),
|
|
138551
138559
|
email: getEmail(),
|
|
138552
|
-
appVersion: "4.2.
|
|
138560
|
+
appVersion: "4.2.23",
|
|
138553
138561
|
platform: getHostPlatformForAnalytics(),
|
|
138554
138562
|
organizationUuid,
|
|
138555
138563
|
accountUuid,
|
|
@@ -138836,7 +138844,7 @@ var init_metadata = __esm(() => {
|
|
|
138836
138844
|
"sed"
|
|
138837
138845
|
]);
|
|
138838
138846
|
getVersionBase = memoize_default(() => {
|
|
138839
|
-
const match = "4.2.
|
|
138847
|
+
const match = "4.2.23".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
|
|
138840
138848
|
return match ? match[0] : undefined;
|
|
138841
138849
|
});
|
|
138842
138850
|
buildEnvContext = memoize_default(async () => {
|
|
@@ -138876,9 +138884,9 @@ var init_metadata = __esm(() => {
|
|
|
138876
138884
|
isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
|
|
138877
138885
|
isClaudeCodeAction: isEnvTruthy(process.env.CLAUDE_CODE_ACTION),
|
|
138878
138886
|
isClaudeAiAuth: isClaudeAISubscriber(),
|
|
138879
|
-
version: "4.2.
|
|
138887
|
+
version: "4.2.23",
|
|
138880
138888
|
versionBase: getVersionBase(),
|
|
138881
|
-
buildTime: "2026-08-
|
|
138889
|
+
buildTime: "2026-08-04T07:11:53.958Z",
|
|
138882
138890
|
deploymentEnvironment: env4.detectDeploymentEnvironment(),
|
|
138883
138891
|
...isEnvTruthy(process.env.GITHUB_ACTIONS) && {
|
|
138884
138892
|
githubEventName: process.env.GITHUB_EVENT_NAME,
|
|
@@ -143216,5 +143224,5 @@ export {
|
|
|
143216
143224
|
isParentHeartbeatValid
|
|
143217
143225
|
};
|
|
143218
143226
|
|
|
143219
|
-
//# debugId=
|
|
143227
|
+
//# debugId=22A05C2AEDAD152664756E2164756E21
|
|
143220
143228
|
|