localclawd 2.0.7 → 2.0.8
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
CHANGED
|
@@ -87608,7 +87608,7 @@ var init_isEqual = __esm(() => {
|
|
|
87608
87608
|
|
|
87609
87609
|
// src/utils/userAgent.ts
|
|
87610
87610
|
function getClaudeCodeUserAgent() {
|
|
87611
|
-
return `claude-code/${"2.0.
|
|
87611
|
+
return `claude-code/${"2.0.8"}`;
|
|
87612
87612
|
}
|
|
87613
87613
|
|
|
87614
87614
|
// src/utils/workloadContext.ts
|
|
@@ -87630,7 +87630,7 @@ function getUserAgent() {
|
|
|
87630
87630
|
const clientApp = process.env.CLAUDE_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.CLAUDE_AGENT_SDK_CLIENT_APP}` : "";
|
|
87631
87631
|
const workload = getWorkload();
|
|
87632
87632
|
const workloadSuffix = workload ? `, workload/${workload}` : "";
|
|
87633
|
-
return `claude-cli/${"2.0.
|
|
87633
|
+
return `claude-cli/${"2.0.8"} (${process.env.USER_TYPE}, ${process.env.CLAUDE_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
|
|
87634
87634
|
}
|
|
87635
87635
|
function getMCPUserAgent() {
|
|
87636
87636
|
const parts = [];
|
|
@@ -87644,7 +87644,7 @@ function getMCPUserAgent() {
|
|
|
87644
87644
|
parts.push(`client-app/${process.env.CLAUDE_AGENT_SDK_CLIENT_APP}`);
|
|
87645
87645
|
}
|
|
87646
87646
|
const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
|
|
87647
|
-
return `claude-code/${"2.0.
|
|
87647
|
+
return `claude-code/${"2.0.8"}${suffix}`;
|
|
87648
87648
|
}
|
|
87649
87649
|
function getWebFetchUserAgent() {
|
|
87650
87650
|
return `Claude-User (${getClaudeCodeUserAgent()}; +https://support.anthropic.com/)`;
|
|
@@ -130791,7 +130791,7 @@ function getAttributionHeader(fingerprint) {
|
|
|
130791
130791
|
if (!isAttributionHeaderEnabled()) {
|
|
130792
130792
|
return "";
|
|
130793
130793
|
}
|
|
130794
|
-
const version = `${"2.0.
|
|
130794
|
+
const version = `${"2.0.8"}.${fingerprint}`;
|
|
130795
130795
|
const entrypoint = process.env.CLAUDE_CODE_ENTRYPOINT ?? "unknown";
|
|
130796
130796
|
const cch = "";
|
|
130797
130797
|
const workload = getWorkload();
|
|
@@ -146980,7 +146980,7 @@ var init_metadata = __esm(() => {
|
|
|
146980
146980
|
COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
|
|
146981
146981
|
WHITESPACE_REGEX = /\s+/;
|
|
146982
146982
|
getVersionBase = memoize_default(() => {
|
|
146983
|
-
const match = "2.0.
|
|
146983
|
+
const match = "2.0.8".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
|
|
146984
146984
|
return match ? match[0] : undefined;
|
|
146985
146985
|
});
|
|
146986
146986
|
buildEnvContext = memoize_default(async () => {
|
|
@@ -147020,9 +147020,9 @@ var init_metadata = __esm(() => {
|
|
|
147020
147020
|
isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
|
|
147021
147021
|
isClaudeCodeAction: isEnvTruthy(process.env.CLAUDE_CODE_ACTION),
|
|
147022
147022
|
isClaudeAiAuth: isClaudeAISubscriber(),
|
|
147023
|
-
version: "2.0.
|
|
147023
|
+
version: "2.0.8",
|
|
147024
147024
|
versionBase: getVersionBase(),
|
|
147025
|
-
buildTime: "2026-05-
|
|
147025
|
+
buildTime: "2026-05-09T15:53:14.625Z",
|
|
147026
147026
|
deploymentEnvironment: env3.detectDeploymentEnvironment(),
|
|
147027
147027
|
...isEnvTruthy(process.env.GITHUB_ACTIONS) && {
|
|
147028
147028
|
githubEventName: process.env.GITHUB_EVENT_NAME,
|
|
@@ -179598,7 +179598,7 @@ function getTelemetryAttributes() {
|
|
|
179598
179598
|
attributes["session.id"] = sessionId;
|
|
179599
179599
|
}
|
|
179600
179600
|
if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
|
|
179601
|
-
attributes["app.version"] = "2.0.
|
|
179601
|
+
attributes["app.version"] = "2.0.8";
|
|
179602
179602
|
}
|
|
179603
179603
|
const oauthAccount = getOauthAccountInfo();
|
|
179604
179604
|
if (oauthAccount) {
|
|
@@ -242402,7 +242402,7 @@ function getInstallationEnv() {
|
|
|
242402
242402
|
return;
|
|
242403
242403
|
}
|
|
242404
242404
|
function getClaudeCodeVersion() {
|
|
242405
|
-
return "2.0.
|
|
242405
|
+
return "2.0.8";
|
|
242406
242406
|
}
|
|
242407
242407
|
async function getInstalledVSCodeExtensionVersion(command) {
|
|
242408
242408
|
const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
|
|
@@ -247676,7 +247676,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
|
|
|
247676
247676
|
const client4 = new Client({
|
|
247677
247677
|
name: "localclawd",
|
|
247678
247678
|
title: "localclawd",
|
|
247679
|
-
version: "2.0.
|
|
247679
|
+
version: "2.0.8",
|
|
247680
247680
|
description: "local-first AI coding tool",
|
|
247681
247681
|
websiteUrl: PRODUCT_URL
|
|
247682
247682
|
}, {
|
|
@@ -248018,7 +248018,7 @@ var init_client9 = __esm(() => {
|
|
|
248018
248018
|
const client4 = new Client({
|
|
248019
248019
|
name: "localclawd",
|
|
248020
248020
|
title: "localclawd",
|
|
248021
|
-
version: "2.0.
|
|
248021
|
+
version: "2.0.8",
|
|
248022
248022
|
description: "local-first AI coding tool",
|
|
248023
248023
|
websiteUrl: PRODUCT_URL
|
|
248024
248024
|
}, {
|
|
@@ -262420,7 +262420,7 @@ function computeFingerprint(messageText, version) {
|
|
|
262420
262420
|
}
|
|
262421
262421
|
function computeFingerprintFromMessages(messages) {
|
|
262422
262422
|
const firstMessageText = extractFirstMessageText(messages);
|
|
262423
|
-
return computeFingerprint(firstMessageText, "2.0.
|
|
262423
|
+
return computeFingerprint(firstMessageText, "2.0.8");
|
|
262424
262424
|
}
|
|
262425
262425
|
var FINGERPRINT_SALT = "59cf53e54c78";
|
|
262426
262426
|
var init_fingerprint = () => {};
|
|
@@ -262462,7 +262462,7 @@ async function sideQuery(opts) {
|
|
|
262462
262462
|
betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
|
|
262463
262463
|
}
|
|
262464
262464
|
const messageText = extractFirstUserMessageText(messages);
|
|
262465
|
-
const fingerprint = computeFingerprint(messageText, "2.0.
|
|
262465
|
+
const fingerprint = computeFingerprint(messageText, "2.0.8");
|
|
262466
262466
|
const attributionHeader = getAttributionHeader(fingerprint);
|
|
262467
262467
|
const systemBlocks = [
|
|
262468
262468
|
attributionHeader ? { type: "text", text: attributionHeader } : null,
|
|
@@ -283210,7 +283210,7 @@ var init_user = __esm(() => {
|
|
|
283210
283210
|
deviceId,
|
|
283211
283211
|
sessionId: getSessionId(),
|
|
283212
283212
|
email: getEmail(),
|
|
283213
|
-
appVersion: "2.0.
|
|
283213
|
+
appVersion: "2.0.8",
|
|
283214
283214
|
platform: getHostPlatformForAnalytics(),
|
|
283215
283215
|
organizationUuid,
|
|
283216
283216
|
accountUuid,
|
|
@@ -284275,7 +284275,7 @@ async function initializeBetaTracing(resource) {
|
|
|
284275
284275
|
});
|
|
284276
284276
|
logs.setGlobalLoggerProvider(loggerProvider);
|
|
284277
284277
|
setLoggerProvider(loggerProvider);
|
|
284278
|
-
const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "2.0.
|
|
284278
|
+
const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "2.0.8");
|
|
284279
284279
|
setEventLogger(eventLogger);
|
|
284280
284280
|
process.on("beforeExit", async () => {
|
|
284281
284281
|
await loggerProvider?.forceFlush();
|
|
@@ -284315,7 +284315,7 @@ async function initializeTelemetry() {
|
|
|
284315
284315
|
const platform2 = getPlatform();
|
|
284316
284316
|
const baseAttributes = {
|
|
284317
284317
|
[ATTR_SERVICE_NAME4]: "claude-code",
|
|
284318
|
-
[ATTR_SERVICE_VERSION4]: "2.0.
|
|
284318
|
+
[ATTR_SERVICE_VERSION4]: "2.0.8"
|
|
284319
284319
|
};
|
|
284320
284320
|
if (platform2 === "wsl") {
|
|
284321
284321
|
const wslVersion = getWslVersion();
|
|
@@ -284360,7 +284360,7 @@ async function initializeTelemetry() {
|
|
|
284360
284360
|
} catch {}
|
|
284361
284361
|
};
|
|
284362
284362
|
registerCleanup(shutdownTelemetry2);
|
|
284363
|
-
return meterProvider2.getMeter("com.anthropic.claude_code", "2.0.
|
|
284363
|
+
return meterProvider2.getMeter("com.anthropic.claude_code", "2.0.8");
|
|
284364
284364
|
}
|
|
284365
284365
|
const meterProvider = new MeterProvider4({
|
|
284366
284366
|
resource,
|
|
@@ -284380,7 +284380,7 @@ async function initializeTelemetry() {
|
|
|
284380
284380
|
});
|
|
284381
284381
|
logs.setGlobalLoggerProvider(loggerProvider);
|
|
284382
284382
|
setLoggerProvider(loggerProvider);
|
|
284383
|
-
const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "2.0.
|
|
284383
|
+
const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "2.0.8");
|
|
284384
284384
|
setEventLogger(eventLogger);
|
|
284385
284385
|
logForDebugging("[3P telemetry] Event logger set successfully");
|
|
284386
284386
|
process.on("beforeExit", async () => {
|
|
@@ -284442,7 +284442,7 @@ Current timeout: ${timeoutMs}ms
|
|
|
284442
284442
|
}
|
|
284443
284443
|
};
|
|
284444
284444
|
registerCleanup(shutdownTelemetry);
|
|
284445
|
-
return meterProvider.getMeter("com.anthropic.claude_code", "2.0.
|
|
284445
|
+
return meterProvider.getMeter("com.anthropic.claude_code", "2.0.8");
|
|
284446
284446
|
}
|
|
284447
284447
|
async function flushTelemetry() {
|
|
284448
284448
|
const meterProvider = getMeterProvider();
|
|
@@ -285632,7 +285632,7 @@ function detectLinuxGlobPatternWarnings() {
|
|
|
285632
285632
|
}
|
|
285633
285633
|
async function getDoctorDiagnostic() {
|
|
285634
285634
|
const installationType = await getCurrentInstallationType();
|
|
285635
|
-
const version = typeof MACRO !== "undefined" ? "2.0.
|
|
285635
|
+
const version = typeof MACRO !== "undefined" ? "2.0.8" : "unknown";
|
|
285636
285636
|
const installationPath = await getInstallationPath();
|
|
285637
285637
|
const invokedBinary = getInvokedBinary();
|
|
285638
285638
|
const multipleInstallations = await detectMultipleInstallations();
|
|
@@ -286573,8 +286573,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
286573
286573
|
const maxVersion = await getMaxVersion();
|
|
286574
286574
|
if (maxVersion && gt(version, maxVersion)) {
|
|
286575
286575
|
logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version} to ${maxVersion}`);
|
|
286576
|
-
if (gte("2.0.
|
|
286577
|
-
logForDebugging(`Native installer: current version ${"2.0.
|
|
286576
|
+
if (gte("2.0.8", maxVersion)) {
|
|
286577
|
+
logForDebugging(`Native installer: current version ${"2.0.8"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
286578
286578
|
logEvent("tengu_native_update_skipped_max_version", {
|
|
286579
286579
|
latency_ms: Date.now() - startTime,
|
|
286580
286580
|
max_version: maxVersion,
|
|
@@ -286585,7 +286585,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
286585
286585
|
version = maxVersion;
|
|
286586
286586
|
}
|
|
286587
286587
|
}
|
|
286588
|
-
if (!forceReinstall && version === "2.0.
|
|
286588
|
+
if (!forceReinstall && version === "2.0.8" && await versionIsAvailable(version) && await isPossibleLocalClawdBinary(executablePath)) {
|
|
286589
286589
|
logForDebugging(`Found ${version} at ${executablePath}, skipping install`);
|
|
286590
286590
|
logEvent("tengu_native_update_complete", {
|
|
286591
286591
|
latency_ms: Date.now() - startTime,
|
|
@@ -331828,7 +331828,7 @@ function getAnthropicEnvMetadata() {
|
|
|
331828
331828
|
function getBuildAgeMinutes() {
|
|
331829
331829
|
if (false)
|
|
331830
331830
|
;
|
|
331831
|
-
const buildTime = new Date("2026-05-
|
|
331831
|
+
const buildTime = new Date("2026-05-09T15:53:14.625Z").getTime();
|
|
331832
331832
|
if (isNaN(buildTime))
|
|
331833
331833
|
return;
|
|
331834
331834
|
return Math.floor((Date.now() - buildTime) / 60000);
|
|
@@ -360660,7 +360660,7 @@ function Feedback({
|
|
|
360660
360660
|
platform: env3.platform,
|
|
360661
360661
|
gitRepo: envInfo.isGit,
|
|
360662
360662
|
terminal: env3.terminal,
|
|
360663
|
-
version: "2.0.
|
|
360663
|
+
version: "2.0.8",
|
|
360664
360664
|
transcript: normalizeMessagesForAPI(messages),
|
|
360665
360665
|
errors: sanitizedErrors,
|
|
360666
360666
|
lastApiRequest: getLastAPIRequest(),
|
|
@@ -360852,7 +360852,7 @@ function Feedback({
|
|
|
360852
360852
|
", ",
|
|
360853
360853
|
env3.terminal,
|
|
360854
360854
|
", v",
|
|
360855
|
-
"2.0.
|
|
360855
|
+
"2.0.8"
|
|
360856
360856
|
]
|
|
360857
360857
|
}, undefined, true, undefined, this)
|
|
360858
360858
|
]
|
|
@@ -360958,7 +360958,7 @@ ${sanitizedDescription}
|
|
|
360958
360958
|
` + `**Environment Info**
|
|
360959
360959
|
` + `- Platform: ${env3.platform}
|
|
360960
360960
|
` + `- Terminal: ${env3.terminal}
|
|
360961
|
-
` + `- Version: ${"2.0.
|
|
360961
|
+
` + `- Version: ${"2.0.8"}
|
|
360962
360962
|
` + `- Feedback ID: ${feedbackId}
|
|
360963
360963
|
` + `
|
|
360964
360964
|
**Errors**
|
|
@@ -363586,7 +363586,7 @@ function buildPrimarySection() {
|
|
|
363586
363586
|
}, undefined, false, undefined, this);
|
|
363587
363587
|
return [{
|
|
363588
363588
|
label: "Version",
|
|
363589
|
-
value: "2.0.
|
|
363589
|
+
value: "2.0.8"
|
|
363590
363590
|
}, {
|
|
363591
363591
|
label: "Session name",
|
|
363592
363592
|
value: nameValue
|
|
@@ -368267,7 +368267,7 @@ function Config({
|
|
|
368267
368267
|
}
|
|
368268
368268
|
}, undefined, false, undefined, this)
|
|
368269
368269
|
}, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime176.jsxDEV(ChannelDowngradeDialog, {
|
|
368270
|
-
currentVersion: "2.0.
|
|
368270
|
+
currentVersion: "2.0.8",
|
|
368271
368271
|
onChoice: (choice) => {
|
|
368272
368272
|
setShowSubmenu(null);
|
|
368273
368273
|
setTabsHidden(false);
|
|
@@ -368279,7 +368279,7 @@ function Config({
|
|
|
368279
368279
|
autoUpdatesChannel: "stable"
|
|
368280
368280
|
};
|
|
368281
368281
|
if (choice === "stay") {
|
|
368282
|
-
newSettings.minimumVersion = "2.0.
|
|
368282
|
+
newSettings.minimumVersion = "2.0.8";
|
|
368283
368283
|
}
|
|
368284
368284
|
updateSettingsForSource("userSettings", newSettings);
|
|
368285
368285
|
setSettingsData((prev_27) => ({
|
|
@@ -385937,7 +385937,7 @@ function Help(t0) {
|
|
|
385937
385937
|
let t6;
|
|
385938
385938
|
if ($2[31] !== tabs) {
|
|
385939
385939
|
t6 = /* @__PURE__ */ jsx_dev_runtime220.jsxDEV(Tabs, {
|
|
385940
|
-
title: `localclawd v${"2.0.
|
|
385940
|
+
title: `localclawd v${"2.0.8"}`,
|
|
385941
385941
|
color: "professionalBlue",
|
|
385942
385942
|
defaultTab: "general",
|
|
385943
385943
|
children: tabs
|
|
@@ -403199,7 +403199,7 @@ function getRecentReleaseNotes(currentVersion, previousVersion, changelogContent
|
|
|
403199
403199
|
}
|
|
403200
403200
|
return [];
|
|
403201
403201
|
}
|
|
403202
|
-
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "2.0.
|
|
403202
|
+
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "2.0.8") {
|
|
403203
403203
|
if (process.env.USER_TYPE === "ant") {
|
|
403204
403204
|
const changelog = MACRO.VERSION_CHANGELOG;
|
|
403205
403205
|
if (changelog) {
|
|
@@ -403226,7 +403226,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "2.0.7") {
|
|
|
403226
403226
|
releaseNotes
|
|
403227
403227
|
};
|
|
403228
403228
|
}
|
|
403229
|
-
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "2.0.
|
|
403229
|
+
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "2.0.8") {
|
|
403230
403230
|
if (process.env.USER_TYPE === "ant") {
|
|
403231
403231
|
const changelog = MACRO.VERSION_CHANGELOG;
|
|
403232
403232
|
if (changelog) {
|
|
@@ -403383,7 +403383,7 @@ function getRecentActivitySync() {
|
|
|
403383
403383
|
return cachedActivity;
|
|
403384
403384
|
}
|
|
403385
403385
|
function getLogoDisplayData() {
|
|
403386
|
-
const version = process.env.DEMO_VERSION ?? "2.0.
|
|
403386
|
+
const version = process.env.DEMO_VERSION ?? "2.0.8";
|
|
403387
403387
|
const serverUrl = getDirectConnectServerUrl();
|
|
403388
403388
|
const displayPath = process.env.DEMO_VERSION ? "/code/claude" : getDisplayPath(getCwd());
|
|
403389
403389
|
const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
|
|
@@ -404483,7 +404483,7 @@ function Logo() {
|
|
|
404483
404483
|
if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
|
|
404484
404484
|
t2 = () => {
|
|
404485
404485
|
const currentConfig = getGlobalConfig();
|
|
404486
|
-
if (currentConfig.lastReleaseNotesSeen === "2.0.
|
|
404486
|
+
if (currentConfig.lastReleaseNotesSeen === "2.0.8") {
|
|
404487
404487
|
return;
|
|
404488
404488
|
}
|
|
404489
404489
|
saveGlobalConfig(_temp326);
|
|
@@ -405142,12 +405142,12 @@ function Logo() {
|
|
|
405142
405142
|
return t41;
|
|
405143
405143
|
}
|
|
405144
405144
|
function _temp326(current) {
|
|
405145
|
-
if (current.lastReleaseNotesSeen === "2.0.
|
|
405145
|
+
if (current.lastReleaseNotesSeen === "2.0.8") {
|
|
405146
405146
|
return current;
|
|
405147
405147
|
}
|
|
405148
405148
|
return {
|
|
405149
405149
|
...current,
|
|
405150
|
-
lastReleaseNotesSeen: "2.0.
|
|
405150
|
+
lastReleaseNotesSeen: "2.0.8"
|
|
405151
405151
|
};
|
|
405152
405152
|
}
|
|
405153
405153
|
function _temp241(s_0) {
|
|
@@ -435626,7 +435626,7 @@ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
|
|
|
435626
435626
|
smapsRollup,
|
|
435627
435627
|
platform: process.platform,
|
|
435628
435628
|
nodeVersion: process.version,
|
|
435629
|
-
ccVersion: "2.0.
|
|
435629
|
+
ccVersion: "2.0.8"
|
|
435630
435630
|
};
|
|
435631
435631
|
}
|
|
435632
435632
|
async function performHeapDump(trigger = "manual", dumpNumber = 0) {
|
|
@@ -436211,7 +436211,7 @@ var init_bridge_kick = __esm(() => {
|
|
|
436211
436211
|
var call88 = async () => {
|
|
436212
436212
|
return {
|
|
436213
436213
|
type: "text",
|
|
436214
|
-
value: `${"2.0.
|
|
436214
|
+
value: `${"2.0.8"} (built ${"2026-05-09T15:53:14.625Z"})`
|
|
436215
436215
|
};
|
|
436216
436216
|
}, version, version_default;
|
|
436217
436217
|
var init_version = __esm(() => {
|
|
@@ -444155,7 +444155,7 @@ function generateHtmlReport(data, insights) {
|
|
|
444155
444155
|
</html>`;
|
|
444156
444156
|
}
|
|
444157
444157
|
function buildExportData(data, insights, facets, remoteStats) {
|
|
444158
|
-
const version2 = typeof MACRO !== "undefined" ? "2.0.
|
|
444158
|
+
const version2 = typeof MACRO !== "undefined" ? "2.0.8" : "unknown";
|
|
444159
444159
|
const remote_hosts_collected = remoteStats?.hosts.filter((h) => h.sessionCount > 0).map((h) => h.name);
|
|
444160
444160
|
const facets_summary = {
|
|
444161
444161
|
total: facets.size,
|
|
@@ -448358,7 +448358,7 @@ var init_sessionStorage = __esm(() => {
|
|
|
448358
448358
|
init_settings2();
|
|
448359
448359
|
init_slowOperations();
|
|
448360
448360
|
init_uuid();
|
|
448361
|
-
VERSION6 = typeof MACRO !== "undefined" ? "2.0.
|
|
448361
|
+
VERSION6 = typeof MACRO !== "undefined" ? "2.0.8" : "unknown";
|
|
448362
448362
|
MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
|
|
448363
448363
|
SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
|
|
448364
448364
|
EPHEMERAL_PROGRESS_TYPES = new Set([
|
|
@@ -449559,7 +449559,7 @@ var init_filesystem = __esm(() => {
|
|
|
449559
449559
|
});
|
|
449560
449560
|
getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
|
|
449561
449561
|
const nonce = randomBytes20(16).toString("hex");
|
|
449562
|
-
return join151(getClaudeTempDir(), "bundled-skills", "2.0.
|
|
449562
|
+
return join151(getClaudeTempDir(), "bundled-skills", "2.0.8", nonce);
|
|
449563
449563
|
});
|
|
449564
449564
|
getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
|
|
449565
449565
|
});
|
|
@@ -458796,7 +458796,7 @@ function buildSystemInitMessage(inputs) {
|
|
|
458796
458796
|
slash_commands: inputs.commands.filter((c5) => c5.userInvocable !== false).map((c5) => c5.name),
|
|
458797
458797
|
apiKeySource: getAnthropicApiKeyWithSource().source,
|
|
458798
458798
|
betas: getSdkBetas(),
|
|
458799
|
-
claude_code_version: "2.0.
|
|
458799
|
+
claude_code_version: "2.0.8",
|
|
458800
458800
|
output_style: outputStyle2,
|
|
458801
458801
|
agents: inputs.agents.map((agent) => agent.agentType),
|
|
458802
458802
|
skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill) => skill.name),
|
|
@@ -472953,7 +472953,7 @@ var init_useVoiceEnabled = __esm(() => {
|
|
|
472953
472953
|
function getSemverPart(version2) {
|
|
472954
472954
|
return `${import_semver10.major(version2, { loose: true })}.${import_semver10.minor(version2, { loose: true })}.${import_semver10.patch(version2, { loose: true })}`;
|
|
472955
472955
|
}
|
|
472956
|
-
function useUpdateNotification(updatedVersion, initialVersion = "2.0.
|
|
472956
|
+
function useUpdateNotification(updatedVersion, initialVersion = "2.0.8") {
|
|
472957
472957
|
const [lastNotifiedSemver, setLastNotifiedSemver] = import_react214.useState(() => getSemverPart(initialVersion));
|
|
472958
472958
|
if (!updatedVersion) {
|
|
472959
472959
|
return null;
|
|
@@ -472993,7 +472993,7 @@ function AutoUpdater({
|
|
|
472993
472993
|
return;
|
|
472994
472994
|
}
|
|
472995
472995
|
if (false) {}
|
|
472996
|
-
const currentVersion = "2.0.
|
|
472996
|
+
const currentVersion = "2.0.8";
|
|
472997
472997
|
const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
472998
472998
|
let latestVersion = await getLatestVersion(channel);
|
|
472999
472999
|
const isDisabled = isAutoUpdaterDisabled();
|
|
@@ -473204,12 +473204,12 @@ function NativeAutoUpdater({
|
|
|
473204
473204
|
logEvent("tengu_native_auto_updater_start", {});
|
|
473205
473205
|
try {
|
|
473206
473206
|
const maxVersion = await getMaxVersion();
|
|
473207
|
-
if (maxVersion && gt("2.0.
|
|
473207
|
+
if (maxVersion && gt("2.0.8", maxVersion)) {
|
|
473208
473208
|
const msg = await getMaxVersionMessage();
|
|
473209
473209
|
setMaxVersionIssue(msg ?? "affects your version");
|
|
473210
473210
|
}
|
|
473211
473211
|
const result = await installLatest(channel);
|
|
473212
|
-
const currentVersion = "2.0.
|
|
473212
|
+
const currentVersion = "2.0.8";
|
|
473213
473213
|
const latencyMs = Date.now() - startTime;
|
|
473214
473214
|
if (result.lockFailed) {
|
|
473215
473215
|
logEvent("tengu_native_auto_updater_lock_contention", {
|
|
@@ -473344,17 +473344,17 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
473344
473344
|
const maxVersion = await getMaxVersion();
|
|
473345
473345
|
if (maxVersion && latest && gt(latest, maxVersion)) {
|
|
473346
473346
|
logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
|
|
473347
|
-
if (gte("2.0.
|
|
473348
|
-
logForDebugging(`PackageManagerAutoUpdater: current version ${"2.0.
|
|
473347
|
+
if (gte("2.0.8", maxVersion)) {
|
|
473348
|
+
logForDebugging(`PackageManagerAutoUpdater: current version ${"2.0.8"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
473349
473349
|
setUpdateAvailable(false);
|
|
473350
473350
|
return;
|
|
473351
473351
|
}
|
|
473352
473352
|
latest = maxVersion;
|
|
473353
473353
|
}
|
|
473354
|
-
const hasUpdate = latest && !gte("2.0.
|
|
473354
|
+
const hasUpdate = latest && !gte("2.0.8", latest) && !shouldSkipVersion(latest);
|
|
473355
473355
|
setUpdateAvailable(!!hasUpdate);
|
|
473356
473356
|
if (hasUpdate) {
|
|
473357
|
-
logForDebugging(`PackageManagerAutoUpdater: Update available ${"2.0.
|
|
473357
|
+
logForDebugging(`PackageManagerAutoUpdater: Update available ${"2.0.8"} -> ${latest}`);
|
|
473358
473358
|
}
|
|
473359
473359
|
};
|
|
473360
473360
|
$2[0] = t1;
|
|
@@ -473388,7 +473388,7 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
473388
473388
|
wrap: "truncate",
|
|
473389
473389
|
children: [
|
|
473390
473390
|
"currentVersion: ",
|
|
473391
|
-
"2.0.
|
|
473391
|
+
"2.0.8"
|
|
473392
473392
|
]
|
|
473393
473393
|
}, undefined, true, undefined, this);
|
|
473394
473394
|
$2[3] = verbose;
|
|
@@ -480948,7 +480948,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
|
|
|
480948
480948
|
project_dir: getOriginalCwd(),
|
|
480949
480949
|
added_dirs: addedDirs
|
|
480950
480950
|
},
|
|
480951
|
-
version: "2.0.
|
|
480951
|
+
version: "2.0.8",
|
|
480952
480952
|
output_style: {
|
|
480953
480953
|
name: outputStyleName
|
|
480954
480954
|
},
|
|
@@ -492520,7 +492520,7 @@ async function submitTranscriptShare(messages, trigger, appearanceId) {
|
|
|
492520
492520
|
} catch {}
|
|
492521
492521
|
const data = {
|
|
492522
492522
|
trigger,
|
|
492523
|
-
version: "2.0.
|
|
492523
|
+
version: "2.0.8",
|
|
492524
492524
|
platform: process.platform,
|
|
492525
492525
|
transcript,
|
|
492526
492526
|
subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
|
|
@@ -509429,7 +509429,7 @@ function appendToLog(path17, message) {
|
|
|
509429
509429
|
cwd: getFsImplementation().cwd(),
|
|
509430
509430
|
userType: process.env.USER_TYPE,
|
|
509431
509431
|
sessionId: getSessionId(),
|
|
509432
|
-
version: "2.0.
|
|
509432
|
+
version: "2.0.8"
|
|
509433
509433
|
};
|
|
509434
509434
|
getLogWriter(path17).write(messageWithTimestamp);
|
|
509435
509435
|
}
|
|
@@ -513443,8 +513443,8 @@ async function getEnvLessBridgeConfig() {
|
|
|
513443
513443
|
}
|
|
513444
513444
|
async function checkEnvLessBridgeMinVersion() {
|
|
513445
513445
|
const cfg = await getEnvLessBridgeConfig();
|
|
513446
|
-
if (cfg.min_version && lt("2.0.
|
|
513447
|
-
return `Your version of localclawd (${"2.0.
|
|
513446
|
+
if (cfg.min_version && lt("2.0.8", cfg.min_version)) {
|
|
513447
|
+
return `Your version of localclawd (${"2.0.8"}) is too old for Remote Control.
|
|
513448
513448
|
Version ${cfg.min_version} or higher is required. Run \`localclawd update\` to update.`;
|
|
513449
513449
|
}
|
|
513450
513450
|
return null;
|
|
@@ -513916,7 +513916,7 @@ async function initBridgeCore(params) {
|
|
|
513916
513916
|
const rawApi = createBridgeApiClient({
|
|
513917
513917
|
baseUrl,
|
|
513918
513918
|
getAccessToken,
|
|
513919
|
-
runnerVersion: "2.0.
|
|
513919
|
+
runnerVersion: "2.0.8",
|
|
513920
513920
|
onDebug: logForDebugging,
|
|
513921
513921
|
onAuth401,
|
|
513922
513922
|
getTrustedDeviceToken
|
|
@@ -519635,7 +519635,7 @@ async function startMCPServer(cwd3, debug4, verbose) {
|
|
|
519635
519635
|
setCwd(cwd3);
|
|
519636
519636
|
const server = new Server({
|
|
519637
519637
|
name: "claude/tengu",
|
|
519638
|
-
version: "2.0.
|
|
519638
|
+
version: "2.0.8"
|
|
519639
519639
|
}, {
|
|
519640
519640
|
capabilities: {
|
|
519641
519641
|
tools: {}
|
|
@@ -520716,7 +520716,7 @@ function WelcomeLogo() {
|
|
|
520716
520716
|
dimColor: true,
|
|
520717
520717
|
children: [
|
|
520718
520718
|
"v",
|
|
520719
|
-
"2.0.
|
|
520719
|
+
"2.0.8"
|
|
520720
520720
|
]
|
|
520721
520721
|
}, undefined, true, undefined, this)
|
|
520722
520722
|
]
|
|
@@ -520907,7 +520907,7 @@ __export(exports_update, {
|
|
|
520907
520907
|
});
|
|
520908
520908
|
async function update() {
|
|
520909
520909
|
logEvent("tengu_update_check", {});
|
|
520910
|
-
writeToStdout(`Current version: ${"2.0.
|
|
520910
|
+
writeToStdout(`Current version: ${"2.0.8"}
|
|
520911
520911
|
`);
|
|
520912
520912
|
const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
520913
520913
|
writeToStdout(`Checking for updates to ${channel} version...
|
|
@@ -520982,8 +520982,8 @@ async function update() {
|
|
|
520982
520982
|
writeToStdout(`localclawd is managed by Homebrew.
|
|
520983
520983
|
`);
|
|
520984
520984
|
const latest = await getLatestVersion(channel);
|
|
520985
|
-
if (latest && !gte("2.0.
|
|
520986
|
-
writeToStdout(`Update available: ${"2.0.
|
|
520985
|
+
if (latest && !gte("2.0.8", latest)) {
|
|
520986
|
+
writeToStdout(`Update available: ${"2.0.8"} → ${latest}
|
|
520987
520987
|
`);
|
|
520988
520988
|
writeToStdout(`
|
|
520989
520989
|
`);
|
|
@@ -520999,8 +520999,8 @@ async function update() {
|
|
|
520999
520999
|
writeToStdout(`localclawd is managed by winget.
|
|
521000
521000
|
`);
|
|
521001
521001
|
const latest = await getLatestVersion(channel);
|
|
521002
|
-
if (latest && !gte("2.0.
|
|
521003
|
-
writeToStdout(`Update available: ${"2.0.
|
|
521002
|
+
if (latest && !gte("2.0.8", latest)) {
|
|
521003
|
+
writeToStdout(`Update available: ${"2.0.8"} → ${latest}
|
|
521004
521004
|
`);
|
|
521005
521005
|
writeToStdout(`
|
|
521006
521006
|
`);
|
|
@@ -521014,8 +521014,8 @@ async function update() {
|
|
|
521014
521014
|
writeToStdout(`localclawd is managed by apk.
|
|
521015
521015
|
`);
|
|
521016
521016
|
const latest = await getLatestVersion(channel);
|
|
521017
|
-
if (latest && !gte("2.0.
|
|
521018
|
-
writeToStdout(`Update available: ${"2.0.
|
|
521017
|
+
if (latest && !gte("2.0.8", latest)) {
|
|
521018
|
+
writeToStdout(`Update available: ${"2.0.8"} → ${latest}
|
|
521019
521019
|
`);
|
|
521020
521020
|
writeToStdout(`
|
|
521021
521021
|
`);
|
|
@@ -521080,11 +521080,11 @@ async function update() {
|
|
|
521080
521080
|
`);
|
|
521081
521081
|
await gracefulShutdown(1);
|
|
521082
521082
|
}
|
|
521083
|
-
if (result.latestVersion === "2.0.
|
|
521084
|
-
writeToStdout(source_default.green(`localclawd is up to date (${"2.0.
|
|
521083
|
+
if (result.latestVersion === "2.0.8") {
|
|
521084
|
+
writeToStdout(source_default.green(`localclawd is up to date (${"2.0.8"})`) + `
|
|
521085
521085
|
`);
|
|
521086
521086
|
} else {
|
|
521087
|
-
writeToStdout(source_default.green(`Successfully updated from ${"2.0.
|
|
521087
|
+
writeToStdout(source_default.green(`Successfully updated from ${"2.0.8"} to version ${result.latestVersion}`) + `
|
|
521088
521088
|
`);
|
|
521089
521089
|
await regenerateCompletionCache();
|
|
521090
521090
|
}
|
|
@@ -521144,12 +521144,12 @@ async function update() {
|
|
|
521144
521144
|
`);
|
|
521145
521145
|
await gracefulShutdown(1);
|
|
521146
521146
|
}
|
|
521147
|
-
if (latestVersion === "2.0.
|
|
521148
|
-
writeToStdout(source_default.green(`localclawd is up to date (${"2.0.
|
|
521147
|
+
if (latestVersion === "2.0.8") {
|
|
521148
|
+
writeToStdout(source_default.green(`localclawd is up to date (${"2.0.8"})`) + `
|
|
521149
521149
|
`);
|
|
521150
521150
|
await gracefulShutdown(0);
|
|
521151
521151
|
}
|
|
521152
|
-
writeToStdout(`New version available: ${latestVersion} (current: ${"2.0.
|
|
521152
|
+
writeToStdout(`New version available: ${latestVersion} (current: ${"2.0.8"})
|
|
521153
521153
|
`);
|
|
521154
521154
|
writeToStdout(`Installing update...
|
|
521155
521155
|
`);
|
|
@@ -521194,7 +521194,7 @@ async function update() {
|
|
|
521194
521194
|
logForDebugging(`update: Installation status: ${status2}`);
|
|
521195
521195
|
switch (status2) {
|
|
521196
521196
|
case "success":
|
|
521197
|
-
writeToStdout(source_default.green(`Successfully updated from ${"2.0.
|
|
521197
|
+
writeToStdout(source_default.green(`Successfully updated from ${"2.0.8"} to version ${latestVersion}`) + `
|
|
521198
521198
|
`);
|
|
521199
521199
|
await regenerateCompletionCache();
|
|
521200
521200
|
break;
|
|
@@ -522436,7 +522436,7 @@ Run with --debug for more details.
|
|
|
522436
522436
|
}
|
|
522437
522437
|
}
|
|
522438
522438
|
logForDiagnosticsNoPII("info", "started", {
|
|
522439
|
-
version: "2.0.
|
|
522439
|
+
version: "2.0.8",
|
|
522440
522440
|
is_native_binary: isInBundledMode()
|
|
522441
522441
|
});
|
|
522442
522442
|
registerCleanup(async () => {
|
|
@@ -523220,7 +523220,7 @@ Usage: localclawd --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
523220
523220
|
pendingHookMessages
|
|
523221
523221
|
}, renderAndRun);
|
|
523222
523222
|
}
|
|
523223
|
-
}).version("2.0.
|
|
523223
|
+
}).version("2.0.8 (localclawd)", "-v, --version", "Output the version number");
|
|
523224
523224
|
program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
|
|
523225
523225
|
program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
|
|
523226
523226
|
if (canUserConfigureAdvisor()) {
|
|
@@ -523734,7 +523734,7 @@ if (false) {}
|
|
|
523734
523734
|
async function main2() {
|
|
523735
523735
|
const args = process.argv.slice(2);
|
|
523736
523736
|
if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
|
|
523737
|
-
console.log(`${"2.0.
|
|
523737
|
+
console.log(`${"2.0.8"} (localclawd)`);
|
|
523738
523738
|
return;
|
|
523739
523739
|
}
|
|
523740
523740
|
const {
|
|
@@ -523825,4 +523825,4 @@ localclawd crashed: ${msg}
|
|
|
523825
523825
|
process.exit(1);
|
|
523826
523826
|
});
|
|
523827
523827
|
|
|
523828
|
-
//# debugId=
|
|
523828
|
+
//# debugId=992B97BE2AA50E3664756E2164756E21
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "localclawd",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.8",
|
|
4
4
|
"description": "Local-first coding CLI for vLLM, Ollama, and OpenAI-compatible backends.",
|
|
5
5
|
"private": false,
|
|
6
6
|
"type": "module",
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
"bin",
|
|
13
13
|
"dist/cli.mjs",
|
|
14
14
|
"dist/vendor/ripgrep",
|
|
15
|
+
"patches",
|
|
15
16
|
"README.md"
|
|
16
17
|
],
|
|
17
18
|
"preferGlobal": true,
|
|
@@ -131,9 +132,13 @@
|
|
|
131
132
|
"typescript": "^6.0.2"
|
|
132
133
|
},
|
|
133
134
|
"overrides": {
|
|
134
|
-
"zod": "^4.1.12"
|
|
135
|
+
"zod": "^4.1.12",
|
|
136
|
+
"uuid": "^11.1.1",
|
|
137
|
+
"node-domexception": "file:./patches/node-domexception"
|
|
135
138
|
},
|
|
136
139
|
"resolutions": {
|
|
137
|
-
"zod": "^4.1.12"
|
|
140
|
+
"zod": "^4.1.12",
|
|
141
|
+
"uuid": "^11.1.1",
|
|
142
|
+
"node-domexception": "file:./patches/node-domexception"
|
|
138
143
|
}
|
|
139
144
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = globalThis.DOMException;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export default globalThis.DOMException;
|