localclawd 1.3.9 → 1.4.0
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.mjs +87 -79
- package/package.json +1 -1
package/dist/cli.mjs
CHANGED
|
@@ -87564,7 +87564,7 @@ var init_isEqual = __esm(() => {
|
|
|
87564
87564
|
|
|
87565
87565
|
// src/utils/userAgent.ts
|
|
87566
87566
|
function getClaudeCodeUserAgent() {
|
|
87567
|
-
return `claude-code/${"1.
|
|
87567
|
+
return `claude-code/${"1.4.0"}`;
|
|
87568
87568
|
}
|
|
87569
87569
|
|
|
87570
87570
|
// src/utils/workloadContext.ts
|
|
@@ -87586,7 +87586,7 @@ function getUserAgent() {
|
|
|
87586
87586
|
const clientApp = process.env.CLAUDE_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.CLAUDE_AGENT_SDK_CLIENT_APP}` : "";
|
|
87587
87587
|
const workload = getWorkload();
|
|
87588
87588
|
const workloadSuffix = workload ? `, workload/${workload}` : "";
|
|
87589
|
-
return `claude-cli/${"1.
|
|
87589
|
+
return `claude-cli/${"1.4.0"} (${process.env.USER_TYPE}, ${process.env.CLAUDE_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
|
|
87590
87590
|
}
|
|
87591
87591
|
function getMCPUserAgent() {
|
|
87592
87592
|
const parts = [];
|
|
@@ -87600,7 +87600,7 @@ function getMCPUserAgent() {
|
|
|
87600
87600
|
parts.push(`client-app/${process.env.CLAUDE_AGENT_SDK_CLIENT_APP}`);
|
|
87601
87601
|
}
|
|
87602
87602
|
const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
|
|
87603
|
-
return `claude-code/${"1.
|
|
87603
|
+
return `claude-code/${"1.4.0"}${suffix}`;
|
|
87604
87604
|
}
|
|
87605
87605
|
function getWebFetchUserAgent() {
|
|
87606
87606
|
return `Claude-User (${getClaudeCodeUserAgent()}; +https://support.anthropic.com/)`;
|
|
@@ -98018,6 +98018,11 @@ __export(exports_model, {
|
|
|
98018
98018
|
firstPartyNameToCanonical: () => firstPartyNameToCanonical
|
|
98019
98019
|
});
|
|
98020
98020
|
function getSmallFastModel() {
|
|
98021
|
+
if (getAPIProvider() === "local") {
|
|
98022
|
+
const localModel = getLocalLLMModel();
|
|
98023
|
+
if (localModel)
|
|
98024
|
+
return localModel;
|
|
98025
|
+
}
|
|
98021
98026
|
return process.env.ANTHROPIC_SMALL_FAST_MODEL || getDefaultHaikuModel();
|
|
98022
98027
|
}
|
|
98023
98028
|
function isNonCustomOpusModel(model) {
|
|
@@ -130791,7 +130796,7 @@ function getAttributionHeader(fingerprint) {
|
|
|
130791
130796
|
if (!isAttributionHeaderEnabled()) {
|
|
130792
130797
|
return "";
|
|
130793
130798
|
}
|
|
130794
|
-
const version = `${"1.
|
|
130799
|
+
const version = `${"1.4.0"}.${fingerprint}`;
|
|
130795
130800
|
const entrypoint = process.env.CLAUDE_CODE_ENTRYPOINT ?? "unknown";
|
|
130796
130801
|
const cch = "";
|
|
130797
130802
|
const workload = getWorkload();
|
|
@@ -146980,7 +146985,7 @@ var init_metadata = __esm(() => {
|
|
|
146980
146985
|
COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
|
|
146981
146986
|
WHITESPACE_REGEX = /\s+/;
|
|
146982
146987
|
getVersionBase = memoize_default(() => {
|
|
146983
|
-
const match = "1.
|
|
146988
|
+
const match = "1.4.0".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
|
|
146984
146989
|
return match ? match[0] : undefined;
|
|
146985
146990
|
});
|
|
146986
146991
|
buildEnvContext = memoize_default(async () => {
|
|
@@ -147020,9 +147025,9 @@ var init_metadata = __esm(() => {
|
|
|
147020
147025
|
isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
|
|
147021
147026
|
isClaudeCodeAction: isEnvTruthy(process.env.CLAUDE_CODE_ACTION),
|
|
147022
147027
|
isClaudeAiAuth: isClaudeAISubscriber(),
|
|
147023
|
-
version: "1.
|
|
147028
|
+
version: "1.4.0",
|
|
147024
147029
|
versionBase: getVersionBase(),
|
|
147025
|
-
buildTime: "2026-04-26T12:
|
|
147030
|
+
buildTime: "2026-04-26T12:47:25.253Z",
|
|
147026
147031
|
deploymentEnvironment: env3.detectDeploymentEnvironment(),
|
|
147027
147032
|
...isEnvTruthy(process.env.GITHUB_ACTIONS) && {
|
|
147028
147033
|
githubEventName: process.env.GITHUB_EVENT_NAME,
|
|
@@ -179501,7 +179506,7 @@ function getTelemetryAttributes() {
|
|
|
179501
179506
|
attributes["session.id"] = sessionId;
|
|
179502
179507
|
}
|
|
179503
179508
|
if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
|
|
179504
|
-
attributes["app.version"] = "1.
|
|
179509
|
+
attributes["app.version"] = "1.4.0";
|
|
179505
179510
|
}
|
|
179506
179511
|
const oauthAccount = getOauthAccountInfo();
|
|
179507
179512
|
if (oauthAccount) {
|
|
@@ -242293,7 +242298,7 @@ function getInstallationEnv() {
|
|
|
242293
242298
|
return;
|
|
242294
242299
|
}
|
|
242295
242300
|
function getClaudeCodeVersion() {
|
|
242296
|
-
return "1.
|
|
242301
|
+
return "1.4.0";
|
|
242297
242302
|
}
|
|
242298
242303
|
async function getInstalledVSCodeExtensionVersion(command) {
|
|
242299
242304
|
const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
|
|
@@ -247567,7 +247572,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
|
|
|
247567
247572
|
const client4 = new Client({
|
|
247568
247573
|
name: "localclawd",
|
|
247569
247574
|
title: "localclawd",
|
|
247570
|
-
version: "1.
|
|
247575
|
+
version: "1.4.0",
|
|
247571
247576
|
description: "local-first AI coding tool",
|
|
247572
247577
|
websiteUrl: PRODUCT_URL
|
|
247573
247578
|
}, {
|
|
@@ -247909,7 +247914,7 @@ var init_client9 = __esm(() => {
|
|
|
247909
247914
|
const client4 = new Client({
|
|
247910
247915
|
name: "localclawd",
|
|
247911
247916
|
title: "localclawd",
|
|
247912
|
-
version: "1.
|
|
247917
|
+
version: "1.4.0",
|
|
247913
247918
|
description: "local-first AI coding tool",
|
|
247914
247919
|
websiteUrl: PRODUCT_URL
|
|
247915
247920
|
}, {
|
|
@@ -253509,6 +253514,9 @@ function formatModelUsage() {
|
|
|
253509
253514
|
}
|
|
253510
253515
|
let result = "Usage by model:";
|
|
253511
253516
|
for (const [shortName, usage] of Object.entries(usageByShortName)) {
|
|
253517
|
+
const hasAnyUse = usage.inputTokens > 0 || usage.outputTokens > 0 || usage.cacheReadInputTokens > 0 || usage.cacheCreationInputTokens > 0 || usage.webSearchRequests > 0;
|
|
253518
|
+
if (!hasAnyUse)
|
|
253519
|
+
continue;
|
|
253512
253520
|
const usageString = ` ${formatNumber(usage.inputTokens)} input, ` + `${formatNumber(usage.outputTokens)} output, ` + `${formatNumber(usage.cacheReadInputTokens)} cache read, ` + `${formatNumber(usage.cacheCreationInputTokens)} cache write` + (usage.webSearchRequests > 0 ? `, ${formatNumber(usage.webSearchRequests)} web search` : "");
|
|
253513
253521
|
result += `
|
|
253514
253522
|
` + `${shortName}:`.padStart(21) + usageString;
|
|
@@ -262299,7 +262307,7 @@ function computeFingerprint(messageText, version) {
|
|
|
262299
262307
|
}
|
|
262300
262308
|
function computeFingerprintFromMessages(messages) {
|
|
262301
262309
|
const firstMessageText = extractFirstMessageText(messages);
|
|
262302
|
-
return computeFingerprint(firstMessageText, "1.
|
|
262310
|
+
return computeFingerprint(firstMessageText, "1.4.0");
|
|
262303
262311
|
}
|
|
262304
262312
|
var FINGERPRINT_SALT = "59cf53e54c78";
|
|
262305
262313
|
var init_fingerprint = () => {};
|
|
@@ -262341,7 +262349,7 @@ async function sideQuery(opts) {
|
|
|
262341
262349
|
betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
|
|
262342
262350
|
}
|
|
262343
262351
|
const messageText = extractFirstUserMessageText(messages);
|
|
262344
|
-
const fingerprint = computeFingerprint(messageText, "1.
|
|
262352
|
+
const fingerprint = computeFingerprint(messageText, "1.4.0");
|
|
262345
262353
|
const attributionHeader = getAttributionHeader(fingerprint);
|
|
262346
262354
|
const systemBlocks = [
|
|
262347
262355
|
attributionHeader ? { type: "text", text: attributionHeader } : null,
|
|
@@ -283065,7 +283073,7 @@ var init_user = __esm(() => {
|
|
|
283065
283073
|
deviceId,
|
|
283066
283074
|
sessionId: getSessionId(),
|
|
283067
283075
|
email: getEmail(),
|
|
283068
|
-
appVersion: "1.
|
|
283076
|
+
appVersion: "1.4.0",
|
|
283069
283077
|
platform: getHostPlatformForAnalytics(),
|
|
283070
283078
|
organizationUuid,
|
|
283071
283079
|
accountUuid,
|
|
@@ -284130,7 +284138,7 @@ async function initializeBetaTracing(resource) {
|
|
|
284130
284138
|
});
|
|
284131
284139
|
logs.setGlobalLoggerProvider(loggerProvider);
|
|
284132
284140
|
setLoggerProvider(loggerProvider);
|
|
284133
|
-
const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "1.
|
|
284141
|
+
const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "1.4.0");
|
|
284134
284142
|
setEventLogger(eventLogger);
|
|
284135
284143
|
process.on("beforeExit", async () => {
|
|
284136
284144
|
await loggerProvider?.forceFlush();
|
|
@@ -284170,7 +284178,7 @@ async function initializeTelemetry() {
|
|
|
284170
284178
|
const platform2 = getPlatform();
|
|
284171
284179
|
const baseAttributes = {
|
|
284172
284180
|
[ATTR_SERVICE_NAME4]: "claude-code",
|
|
284173
|
-
[ATTR_SERVICE_VERSION4]: "1.
|
|
284181
|
+
[ATTR_SERVICE_VERSION4]: "1.4.0"
|
|
284174
284182
|
};
|
|
284175
284183
|
if (platform2 === "wsl") {
|
|
284176
284184
|
const wslVersion = getWslVersion();
|
|
@@ -284215,7 +284223,7 @@ async function initializeTelemetry() {
|
|
|
284215
284223
|
} catch {}
|
|
284216
284224
|
};
|
|
284217
284225
|
registerCleanup(shutdownTelemetry2);
|
|
284218
|
-
return meterProvider2.getMeter("com.anthropic.claude_code", "1.
|
|
284226
|
+
return meterProvider2.getMeter("com.anthropic.claude_code", "1.4.0");
|
|
284219
284227
|
}
|
|
284220
284228
|
const meterProvider = new MeterProvider4({
|
|
284221
284229
|
resource,
|
|
@@ -284235,7 +284243,7 @@ async function initializeTelemetry() {
|
|
|
284235
284243
|
});
|
|
284236
284244
|
logs.setGlobalLoggerProvider(loggerProvider);
|
|
284237
284245
|
setLoggerProvider(loggerProvider);
|
|
284238
|
-
const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "1.
|
|
284246
|
+
const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "1.4.0");
|
|
284239
284247
|
setEventLogger(eventLogger);
|
|
284240
284248
|
logForDebugging("[3P telemetry] Event logger set successfully");
|
|
284241
284249
|
process.on("beforeExit", async () => {
|
|
@@ -284297,7 +284305,7 @@ Current timeout: ${timeoutMs}ms
|
|
|
284297
284305
|
}
|
|
284298
284306
|
};
|
|
284299
284307
|
registerCleanup(shutdownTelemetry);
|
|
284300
|
-
return meterProvider.getMeter("com.anthropic.claude_code", "1.
|
|
284308
|
+
return meterProvider.getMeter("com.anthropic.claude_code", "1.4.0");
|
|
284301
284309
|
}
|
|
284302
284310
|
async function flushTelemetry() {
|
|
284303
284311
|
const meterProvider = getMeterProvider();
|
|
@@ -285487,7 +285495,7 @@ function detectLinuxGlobPatternWarnings() {
|
|
|
285487
285495
|
}
|
|
285488
285496
|
async function getDoctorDiagnostic() {
|
|
285489
285497
|
const installationType = await getCurrentInstallationType();
|
|
285490
|
-
const version = typeof MACRO !== "undefined" ? "1.
|
|
285498
|
+
const version = typeof MACRO !== "undefined" ? "1.4.0" : "unknown";
|
|
285491
285499
|
const installationPath = await getInstallationPath();
|
|
285492
285500
|
const invokedBinary = getInvokedBinary();
|
|
285493
285501
|
const multipleInstallations = await detectMultipleInstallations();
|
|
@@ -286428,8 +286436,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
286428
286436
|
const maxVersion = await getMaxVersion();
|
|
286429
286437
|
if (maxVersion && gt(version, maxVersion)) {
|
|
286430
286438
|
logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version} to ${maxVersion}`);
|
|
286431
|
-
if (gte("1.
|
|
286432
|
-
logForDebugging(`Native installer: current version ${"1.
|
|
286439
|
+
if (gte("1.4.0", maxVersion)) {
|
|
286440
|
+
logForDebugging(`Native installer: current version ${"1.4.0"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
286433
286441
|
logEvent("tengu_native_update_skipped_max_version", {
|
|
286434
286442
|
latency_ms: Date.now() - startTime,
|
|
286435
286443
|
max_version: maxVersion,
|
|
@@ -286440,7 +286448,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
286440
286448
|
version = maxVersion;
|
|
286441
286449
|
}
|
|
286442
286450
|
}
|
|
286443
|
-
if (!forceReinstall && version === "1.
|
|
286451
|
+
if (!forceReinstall && version === "1.4.0" && await versionIsAvailable(version) && await isPossibleLocalClawdBinary(executablePath)) {
|
|
286444
286452
|
logForDebugging(`Found ${version} at ${executablePath}, skipping install`);
|
|
286445
286453
|
logEvent("tengu_native_update_complete", {
|
|
286446
286454
|
latency_ms: Date.now() - startTime,
|
|
@@ -330723,7 +330731,7 @@ async function* queryLoop(params, consumedCommandUuids) {
|
|
|
330723
330731
|
__callDispose(__stack, _err, _hasErr);
|
|
330724
330732
|
}
|
|
330725
330733
|
}
|
|
330726
|
-
var reactiveCompact = null, skillPrefetch = null, MAX_OUTPUT_TOKENS_RECOVERY_LIMIT =
|
|
330734
|
+
var reactiveCompact = null, skillPrefetch = null, MAX_OUTPUT_TOKENS_RECOVERY_LIMIT = 8;
|
|
330727
330735
|
var init_query2 = __esm(() => {
|
|
330728
330736
|
init_withRetry();
|
|
330729
330737
|
init_autoCompact();
|
|
@@ -330829,7 +330837,7 @@ function getAnthropicEnvMetadata() {
|
|
|
330829
330837
|
function getBuildAgeMinutes() {
|
|
330830
330838
|
if (false)
|
|
330831
330839
|
;
|
|
330832
|
-
const buildTime = new Date("2026-04-26T12:
|
|
330840
|
+
const buildTime = new Date("2026-04-26T12:47:25.253Z").getTime();
|
|
330833
330841
|
if (isNaN(buildTime))
|
|
330834
330842
|
return;
|
|
330835
330843
|
return Math.floor((Date.now() - buildTime) / 60000);
|
|
@@ -359154,7 +359162,7 @@ function Feedback({
|
|
|
359154
359162
|
platform: env3.platform,
|
|
359155
359163
|
gitRepo: envInfo.isGit,
|
|
359156
359164
|
terminal: env3.terminal,
|
|
359157
|
-
version: "1.
|
|
359165
|
+
version: "1.4.0",
|
|
359158
359166
|
transcript: normalizeMessagesForAPI(messages),
|
|
359159
359167
|
errors: sanitizedErrors,
|
|
359160
359168
|
lastApiRequest: getLastAPIRequest(),
|
|
@@ -359346,7 +359354,7 @@ function Feedback({
|
|
|
359346
359354
|
", ",
|
|
359347
359355
|
env3.terminal,
|
|
359348
359356
|
", v",
|
|
359349
|
-
"1.
|
|
359357
|
+
"1.4.0"
|
|
359350
359358
|
]
|
|
359351
359359
|
}, undefined, true, undefined, this)
|
|
359352
359360
|
]
|
|
@@ -359452,7 +359460,7 @@ ${sanitizedDescription}
|
|
|
359452
359460
|
` + `**Environment Info**
|
|
359453
359461
|
` + `- Platform: ${env3.platform}
|
|
359454
359462
|
` + `- Terminal: ${env3.terminal}
|
|
359455
|
-
` + `- Version: ${"1.
|
|
359463
|
+
` + `- Version: ${"1.4.0"}
|
|
359456
359464
|
` + `- Feedback ID: ${feedbackId}
|
|
359457
359465
|
` + `
|
|
359458
359466
|
**Errors**
|
|
@@ -362080,7 +362088,7 @@ function buildPrimarySection() {
|
|
|
362080
362088
|
}, undefined, false, undefined, this);
|
|
362081
362089
|
return [{
|
|
362082
362090
|
label: "Version",
|
|
362083
|
-
value: "1.
|
|
362091
|
+
value: "1.4.0"
|
|
362084
362092
|
}, {
|
|
362085
362093
|
label: "Session name",
|
|
362086
362094
|
value: nameValue
|
|
@@ -366761,7 +366769,7 @@ function Config({
|
|
|
366761
366769
|
}
|
|
366762
366770
|
}, undefined, false, undefined, this)
|
|
366763
366771
|
}, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime175.jsxDEV(ChannelDowngradeDialog, {
|
|
366764
|
-
currentVersion: "1.
|
|
366772
|
+
currentVersion: "1.4.0",
|
|
366765
366773
|
onChoice: (choice) => {
|
|
366766
366774
|
setShowSubmenu(null);
|
|
366767
366775
|
setTabsHidden(false);
|
|
@@ -366773,7 +366781,7 @@ function Config({
|
|
|
366773
366781
|
autoUpdatesChannel: "stable"
|
|
366774
366782
|
};
|
|
366775
366783
|
if (choice === "stay") {
|
|
366776
|
-
newSettings.minimumVersion = "1.
|
|
366784
|
+
newSettings.minimumVersion = "1.4.0";
|
|
366777
366785
|
}
|
|
366778
366786
|
updateSettingsForSource("userSettings", newSettings);
|
|
366779
366787
|
setSettingsData((prev_27) => ({
|
|
@@ -383211,7 +383219,7 @@ function Help(t0) {
|
|
|
383211
383219
|
let t6;
|
|
383212
383220
|
if ($2[31] !== tabs) {
|
|
383213
383221
|
t6 = /* @__PURE__ */ jsx_dev_runtime232.jsxDEV(Tabs, {
|
|
383214
|
-
title: `localclawd v${"1.
|
|
383222
|
+
title: `localclawd v${"1.4.0"}`,
|
|
383215
383223
|
color: "professionalBlue",
|
|
383216
383224
|
defaultTab: "general",
|
|
383217
383225
|
children: tabs
|
|
@@ -400473,7 +400481,7 @@ function getRecentReleaseNotes(currentVersion, previousVersion, changelogContent
|
|
|
400473
400481
|
}
|
|
400474
400482
|
return [];
|
|
400475
400483
|
}
|
|
400476
|
-
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.
|
|
400484
|
+
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.4.0") {
|
|
400477
400485
|
if (process.env.USER_TYPE === "ant") {
|
|
400478
400486
|
const changelog = MACRO.VERSION_CHANGELOG;
|
|
400479
400487
|
if (changelog) {
|
|
@@ -400500,7 +400508,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.3.9") {
|
|
|
400500
400508
|
releaseNotes
|
|
400501
400509
|
};
|
|
400502
400510
|
}
|
|
400503
|
-
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.
|
|
400511
|
+
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.4.0") {
|
|
400504
400512
|
if (process.env.USER_TYPE === "ant") {
|
|
400505
400513
|
const changelog = MACRO.VERSION_CHANGELOG;
|
|
400506
400514
|
if (changelog) {
|
|
@@ -400657,7 +400665,7 @@ function getRecentActivitySync() {
|
|
|
400657
400665
|
return cachedActivity;
|
|
400658
400666
|
}
|
|
400659
400667
|
function getLogoDisplayData() {
|
|
400660
|
-
const version = process.env.DEMO_VERSION ?? "1.
|
|
400668
|
+
const version = process.env.DEMO_VERSION ?? "1.4.0";
|
|
400661
400669
|
const serverUrl = getDirectConnectServerUrl();
|
|
400662
400670
|
const displayPath = process.env.DEMO_VERSION ? "/code/claude" : getDisplayPath(getCwd());
|
|
400663
400671
|
const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
|
|
@@ -401757,7 +401765,7 @@ function Logo() {
|
|
|
401757
401765
|
if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
|
|
401758
401766
|
t2 = () => {
|
|
401759
401767
|
const currentConfig = getGlobalConfig();
|
|
401760
|
-
if (currentConfig.lastReleaseNotesSeen === "1.
|
|
401768
|
+
if (currentConfig.lastReleaseNotesSeen === "1.4.0") {
|
|
401761
401769
|
return;
|
|
401762
401770
|
}
|
|
401763
401771
|
saveGlobalConfig(_temp326);
|
|
@@ -402416,12 +402424,12 @@ function Logo() {
|
|
|
402416
402424
|
return t41;
|
|
402417
402425
|
}
|
|
402418
402426
|
function _temp326(current) {
|
|
402419
|
-
if (current.lastReleaseNotesSeen === "1.
|
|
402427
|
+
if (current.lastReleaseNotesSeen === "1.4.0") {
|
|
402420
402428
|
return current;
|
|
402421
402429
|
}
|
|
402422
402430
|
return {
|
|
402423
402431
|
...current,
|
|
402424
|
-
lastReleaseNotesSeen: "1.
|
|
402432
|
+
lastReleaseNotesSeen: "1.4.0"
|
|
402425
402433
|
};
|
|
402426
402434
|
}
|
|
402427
402435
|
function _temp241(s_0) {
|
|
@@ -432900,7 +432908,7 @@ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
|
|
|
432900
432908
|
smapsRollup,
|
|
432901
432909
|
platform: process.platform,
|
|
432902
432910
|
nodeVersion: process.version,
|
|
432903
|
-
ccVersion: "1.
|
|
432911
|
+
ccVersion: "1.4.0"
|
|
432904
432912
|
};
|
|
432905
432913
|
}
|
|
432906
432914
|
async function performHeapDump(trigger = "manual", dumpNumber = 0) {
|
|
@@ -433485,7 +433493,7 @@ var init_bridge_kick = __esm(() => {
|
|
|
433485
433493
|
var call82 = async () => {
|
|
433486
433494
|
return {
|
|
433487
433495
|
type: "text",
|
|
433488
|
-
value: `${"1.
|
|
433496
|
+
value: `${"1.4.0"} (built ${"2026-04-26T12:47:25.253Z"})`
|
|
433489
433497
|
};
|
|
433490
433498
|
}, version, version_default;
|
|
433491
433499
|
var init_version = __esm(() => {
|
|
@@ -441429,7 +441437,7 @@ function generateHtmlReport(data, insights) {
|
|
|
441429
441437
|
</html>`;
|
|
441430
441438
|
}
|
|
441431
441439
|
function buildExportData(data, insights, facets, remoteStats) {
|
|
441432
|
-
const version2 = typeof MACRO !== "undefined" ? "1.
|
|
441440
|
+
const version2 = typeof MACRO !== "undefined" ? "1.4.0" : "unknown";
|
|
441433
441441
|
const remote_hosts_collected = remoteStats?.hosts.filter((h) => h.sessionCount > 0).map((h) => h.name);
|
|
441434
441442
|
const facets_summary = {
|
|
441435
441443
|
total: facets.size,
|
|
@@ -445620,7 +445628,7 @@ var init_sessionStorage = __esm(() => {
|
|
|
445620
445628
|
init_settings2();
|
|
445621
445629
|
init_slowOperations();
|
|
445622
445630
|
init_uuid();
|
|
445623
|
-
VERSION6 = typeof MACRO !== "undefined" ? "1.
|
|
445631
|
+
VERSION6 = typeof MACRO !== "undefined" ? "1.4.0" : "unknown";
|
|
445624
445632
|
MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
|
|
445625
445633
|
SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
|
|
445626
445634
|
EPHEMERAL_PROGRESS_TYPES = new Set([
|
|
@@ -446822,7 +446830,7 @@ var init_filesystem = __esm(() => {
|
|
|
446822
446830
|
});
|
|
446823
446831
|
getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
|
|
446824
446832
|
const nonce = randomBytes19(16).toString("hex");
|
|
446825
|
-
return join142(getClaudeTempDir(), "bundled-skills", "1.
|
|
446833
|
+
return join142(getClaudeTempDir(), "bundled-skills", "1.4.0", nonce);
|
|
446826
446834
|
});
|
|
446827
446835
|
getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
|
|
446828
446836
|
});
|
|
@@ -456107,7 +456115,7 @@ function buildSystemInitMessage(inputs) {
|
|
|
456107
456115
|
slash_commands: inputs.commands.filter((c5) => c5.userInvocable !== false).map((c5) => c5.name),
|
|
456108
456116
|
apiKeySource: getAnthropicApiKeyWithSource().source,
|
|
456109
456117
|
betas: getSdkBetas(),
|
|
456110
|
-
claude_code_version: "1.
|
|
456118
|
+
claude_code_version: "1.4.0",
|
|
456111
456119
|
output_style: outputStyle2,
|
|
456112
456120
|
agents: inputs.agents.map((agent) => agent.agentType),
|
|
456113
456121
|
skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill) => skill.name),
|
|
@@ -470686,7 +470694,7 @@ var init_useVoiceEnabled = __esm(() => {
|
|
|
470686
470694
|
function getSemverPart(version2) {
|
|
470687
470695
|
return `${import_semver10.major(version2, { loose: true })}.${import_semver10.minor(version2, { loose: true })}.${import_semver10.patch(version2, { loose: true })}`;
|
|
470688
470696
|
}
|
|
470689
|
-
function useUpdateNotification(updatedVersion, initialVersion = "1.
|
|
470697
|
+
function useUpdateNotification(updatedVersion, initialVersion = "1.4.0") {
|
|
470690
470698
|
const [lastNotifiedSemver, setLastNotifiedSemver] = import_react214.useState(() => getSemverPart(initialVersion));
|
|
470691
470699
|
if (!updatedVersion) {
|
|
470692
470700
|
return null;
|
|
@@ -470726,7 +470734,7 @@ function AutoUpdater({
|
|
|
470726
470734
|
return;
|
|
470727
470735
|
}
|
|
470728
470736
|
if (false) {}
|
|
470729
|
-
const currentVersion = "1.
|
|
470737
|
+
const currentVersion = "1.4.0";
|
|
470730
470738
|
const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
470731
470739
|
let latestVersion = await getLatestVersion(channel);
|
|
470732
470740
|
const isDisabled = isAutoUpdaterDisabled();
|
|
@@ -470937,12 +470945,12 @@ function NativeAutoUpdater({
|
|
|
470937
470945
|
logEvent("tengu_native_auto_updater_start", {});
|
|
470938
470946
|
try {
|
|
470939
470947
|
const maxVersion = await getMaxVersion();
|
|
470940
|
-
if (maxVersion && gt("1.
|
|
470948
|
+
if (maxVersion && gt("1.4.0", maxVersion)) {
|
|
470941
470949
|
const msg = await getMaxVersionMessage();
|
|
470942
470950
|
setMaxVersionIssue(msg ?? "affects your version");
|
|
470943
470951
|
}
|
|
470944
470952
|
const result = await installLatest(channel);
|
|
470945
|
-
const currentVersion = "1.
|
|
470953
|
+
const currentVersion = "1.4.0";
|
|
470946
470954
|
const latencyMs = Date.now() - startTime;
|
|
470947
470955
|
if (result.lockFailed) {
|
|
470948
470956
|
logEvent("tengu_native_auto_updater_lock_contention", {
|
|
@@ -471077,17 +471085,17 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
471077
471085
|
const maxVersion = await getMaxVersion();
|
|
471078
471086
|
if (maxVersion && latest && gt(latest, maxVersion)) {
|
|
471079
471087
|
logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
|
|
471080
|
-
if (gte("1.
|
|
471081
|
-
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.
|
|
471088
|
+
if (gte("1.4.0", maxVersion)) {
|
|
471089
|
+
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.4.0"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
471082
471090
|
setUpdateAvailable(false);
|
|
471083
471091
|
return;
|
|
471084
471092
|
}
|
|
471085
471093
|
latest = maxVersion;
|
|
471086
471094
|
}
|
|
471087
|
-
const hasUpdate = latest && !gte("1.
|
|
471095
|
+
const hasUpdate = latest && !gte("1.4.0", latest) && !shouldSkipVersion(latest);
|
|
471088
471096
|
setUpdateAvailable(!!hasUpdate);
|
|
471089
471097
|
if (hasUpdate) {
|
|
471090
|
-
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.
|
|
471098
|
+
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.4.0"} -> ${latest}`);
|
|
471091
471099
|
}
|
|
471092
471100
|
};
|
|
471093
471101
|
$2[0] = t1;
|
|
@@ -471121,7 +471129,7 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
471121
471129
|
wrap: "truncate",
|
|
471122
471130
|
children: [
|
|
471123
471131
|
"currentVersion: ",
|
|
471124
|
-
"1.
|
|
471132
|
+
"1.4.0"
|
|
471125
471133
|
]
|
|
471126
471134
|
}, undefined, true, undefined, this);
|
|
471127
471135
|
$2[3] = verbose;
|
|
@@ -478679,7 +478687,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
|
|
|
478679
478687
|
project_dir: getOriginalCwd(),
|
|
478680
478688
|
added_dirs: addedDirs
|
|
478681
478689
|
},
|
|
478682
|
-
version: "1.
|
|
478690
|
+
version: "1.4.0",
|
|
478683
478691
|
output_style: {
|
|
478684
478692
|
name: outputStyleName
|
|
478685
478693
|
},
|
|
@@ -490251,7 +490259,7 @@ async function submitTranscriptShare(messages, trigger, appearanceId) {
|
|
|
490251
490259
|
} catch {}
|
|
490252
490260
|
const data = {
|
|
490253
490261
|
trigger,
|
|
490254
|
-
version: "1.
|
|
490262
|
+
version: "1.4.0",
|
|
490255
490263
|
platform: process.platform,
|
|
490256
490264
|
transcript,
|
|
490257
490265
|
subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
|
|
@@ -506710,7 +506718,7 @@ function appendToLog(path17, message) {
|
|
|
506710
506718
|
cwd: getFsImplementation().cwd(),
|
|
506711
506719
|
userType: process.env.USER_TYPE,
|
|
506712
506720
|
sessionId: getSessionId(),
|
|
506713
|
-
version: "1.
|
|
506721
|
+
version: "1.4.0"
|
|
506714
506722
|
};
|
|
506715
506723
|
getLogWriter(path17).write(messageWithTimestamp);
|
|
506716
506724
|
}
|
|
@@ -510724,8 +510732,8 @@ async function getEnvLessBridgeConfig() {
|
|
|
510724
510732
|
}
|
|
510725
510733
|
async function checkEnvLessBridgeMinVersion() {
|
|
510726
510734
|
const cfg = await getEnvLessBridgeConfig();
|
|
510727
|
-
if (cfg.min_version && lt("1.
|
|
510728
|
-
return `Your version of localclawd (${"1.
|
|
510735
|
+
if (cfg.min_version && lt("1.4.0", cfg.min_version)) {
|
|
510736
|
+
return `Your version of localclawd (${"1.4.0"}) is too old for Remote Control.
|
|
510729
510737
|
Version ${cfg.min_version} or higher is required. Run \`localclawd update\` to update.`;
|
|
510730
510738
|
}
|
|
510731
510739
|
return null;
|
|
@@ -511197,7 +511205,7 @@ async function initBridgeCore(params) {
|
|
|
511197
511205
|
const rawApi = createBridgeApiClient({
|
|
511198
511206
|
baseUrl,
|
|
511199
511207
|
getAccessToken,
|
|
511200
|
-
runnerVersion: "1.
|
|
511208
|
+
runnerVersion: "1.4.0",
|
|
511201
511209
|
onDebug: logForDebugging,
|
|
511202
511210
|
onAuth401,
|
|
511203
511211
|
getTrustedDeviceToken
|
|
@@ -516916,7 +516924,7 @@ async function startMCPServer(cwd3, debug4, verbose) {
|
|
|
516916
516924
|
setCwd(cwd3);
|
|
516917
516925
|
const server = new Server({
|
|
516918
516926
|
name: "claude/tengu",
|
|
516919
|
-
version: "1.
|
|
516927
|
+
version: "1.4.0"
|
|
516920
516928
|
}, {
|
|
516921
516929
|
capabilities: {
|
|
516922
516930
|
tools: {}
|
|
@@ -517997,7 +518005,7 @@ function WelcomeLogo() {
|
|
|
517997
518005
|
dimColor: true,
|
|
517998
518006
|
children: [
|
|
517999
518007
|
"v",
|
|
518000
|
-
"1.
|
|
518008
|
+
"1.4.0"
|
|
518001
518009
|
]
|
|
518002
518010
|
}, undefined, true, undefined, this)
|
|
518003
518011
|
]
|
|
@@ -518188,7 +518196,7 @@ __export(exports_update, {
|
|
|
518188
518196
|
});
|
|
518189
518197
|
async function update() {
|
|
518190
518198
|
logEvent("tengu_update_check", {});
|
|
518191
|
-
writeToStdout(`Current version: ${"1.
|
|
518199
|
+
writeToStdout(`Current version: ${"1.4.0"}
|
|
518192
518200
|
`);
|
|
518193
518201
|
const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
518194
518202
|
writeToStdout(`Checking for updates to ${channel} version...
|
|
@@ -518263,8 +518271,8 @@ async function update() {
|
|
|
518263
518271
|
writeToStdout(`localclawd is managed by Homebrew.
|
|
518264
518272
|
`);
|
|
518265
518273
|
const latest = await getLatestVersion(channel);
|
|
518266
|
-
if (latest && !gte("1.
|
|
518267
|
-
writeToStdout(`Update available: ${"1.
|
|
518274
|
+
if (latest && !gte("1.4.0", latest)) {
|
|
518275
|
+
writeToStdout(`Update available: ${"1.4.0"} → ${latest}
|
|
518268
518276
|
`);
|
|
518269
518277
|
writeToStdout(`
|
|
518270
518278
|
`);
|
|
@@ -518280,8 +518288,8 @@ async function update() {
|
|
|
518280
518288
|
writeToStdout(`localclawd is managed by winget.
|
|
518281
518289
|
`);
|
|
518282
518290
|
const latest = await getLatestVersion(channel);
|
|
518283
|
-
if (latest && !gte("1.
|
|
518284
|
-
writeToStdout(`Update available: ${"1.
|
|
518291
|
+
if (latest && !gte("1.4.0", latest)) {
|
|
518292
|
+
writeToStdout(`Update available: ${"1.4.0"} → ${latest}
|
|
518285
518293
|
`);
|
|
518286
518294
|
writeToStdout(`
|
|
518287
518295
|
`);
|
|
@@ -518295,8 +518303,8 @@ async function update() {
|
|
|
518295
518303
|
writeToStdout(`localclawd is managed by apk.
|
|
518296
518304
|
`);
|
|
518297
518305
|
const latest = await getLatestVersion(channel);
|
|
518298
|
-
if (latest && !gte("1.
|
|
518299
|
-
writeToStdout(`Update available: ${"1.
|
|
518306
|
+
if (latest && !gte("1.4.0", latest)) {
|
|
518307
|
+
writeToStdout(`Update available: ${"1.4.0"} → ${latest}
|
|
518300
518308
|
`);
|
|
518301
518309
|
writeToStdout(`
|
|
518302
518310
|
`);
|
|
@@ -518361,11 +518369,11 @@ async function update() {
|
|
|
518361
518369
|
`);
|
|
518362
518370
|
await gracefulShutdown(1);
|
|
518363
518371
|
}
|
|
518364
|
-
if (result.latestVersion === "1.
|
|
518365
|
-
writeToStdout(source_default.green(`localclawd is up to date (${"1.
|
|
518372
|
+
if (result.latestVersion === "1.4.0") {
|
|
518373
|
+
writeToStdout(source_default.green(`localclawd is up to date (${"1.4.0"})`) + `
|
|
518366
518374
|
`);
|
|
518367
518375
|
} else {
|
|
518368
|
-
writeToStdout(source_default.green(`Successfully updated from ${"1.
|
|
518376
|
+
writeToStdout(source_default.green(`Successfully updated from ${"1.4.0"} to version ${result.latestVersion}`) + `
|
|
518369
518377
|
`);
|
|
518370
518378
|
await regenerateCompletionCache();
|
|
518371
518379
|
}
|
|
@@ -518425,12 +518433,12 @@ async function update() {
|
|
|
518425
518433
|
`);
|
|
518426
518434
|
await gracefulShutdown(1);
|
|
518427
518435
|
}
|
|
518428
|
-
if (latestVersion === "1.
|
|
518429
|
-
writeToStdout(source_default.green(`localclawd is up to date (${"1.
|
|
518436
|
+
if (latestVersion === "1.4.0") {
|
|
518437
|
+
writeToStdout(source_default.green(`localclawd is up to date (${"1.4.0"})`) + `
|
|
518430
518438
|
`);
|
|
518431
518439
|
await gracefulShutdown(0);
|
|
518432
518440
|
}
|
|
518433
|
-
writeToStdout(`New version available: ${latestVersion} (current: ${"1.
|
|
518441
|
+
writeToStdout(`New version available: ${latestVersion} (current: ${"1.4.0"})
|
|
518434
518442
|
`);
|
|
518435
518443
|
writeToStdout(`Installing update...
|
|
518436
518444
|
`);
|
|
@@ -518475,7 +518483,7 @@ async function update() {
|
|
|
518475
518483
|
logForDebugging(`update: Installation status: ${status2}`);
|
|
518476
518484
|
switch (status2) {
|
|
518477
518485
|
case "success":
|
|
518478
|
-
writeToStdout(source_default.green(`Successfully updated from ${"1.
|
|
518486
|
+
writeToStdout(source_default.green(`Successfully updated from ${"1.4.0"} to version ${latestVersion}`) + `
|
|
518479
518487
|
`);
|
|
518480
518488
|
await regenerateCompletionCache();
|
|
518481
518489
|
break;
|
|
@@ -519717,7 +519725,7 @@ Run with --debug for more details.
|
|
|
519717
519725
|
}
|
|
519718
519726
|
}
|
|
519719
519727
|
logForDiagnosticsNoPII("info", "started", {
|
|
519720
|
-
version: "1.
|
|
519728
|
+
version: "1.4.0",
|
|
519721
519729
|
is_native_binary: isInBundledMode()
|
|
519722
519730
|
});
|
|
519723
519731
|
registerCleanup(async () => {
|
|
@@ -520501,7 +520509,7 @@ Usage: localclawd --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
520501
520509
|
pendingHookMessages
|
|
520502
520510
|
}, renderAndRun);
|
|
520503
520511
|
}
|
|
520504
|
-
}).version("1.
|
|
520512
|
+
}).version("1.4.0 (localclawd)", "-v, --version", "Output the version number");
|
|
520505
520513
|
program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
|
|
520506
520514
|
program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
|
|
520507
520515
|
if (canUserConfigureAdvisor()) {
|
|
@@ -521001,7 +521009,7 @@ if (false) {}
|
|
|
521001
521009
|
async function main2() {
|
|
521002
521010
|
const args = process.argv.slice(2);
|
|
521003
521011
|
if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
|
|
521004
|
-
console.log(`${"1.
|
|
521012
|
+
console.log(`${"1.4.0"} (localclawd)`);
|
|
521005
521013
|
return;
|
|
521006
521014
|
}
|
|
521007
521015
|
const {
|
|
@@ -521084,4 +521092,4 @@ localclawd crashed: ${msg}
|
|
|
521084
521092
|
process.exit(1);
|
|
521085
521093
|
});
|
|
521086
521094
|
|
|
521087
|
-
//# debugId=
|
|
521095
|
+
//# debugId=FAF82BEC60ED8E1564756E2164756E21
|