localclawd 2.0.0 → 2.0.1
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 +118 -91
- package/package.json +1 -1
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.1"}`;
|
|
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.1"} (${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.1"}${suffix}`;
|
|
87648
87648
|
}
|
|
87649
87649
|
function getWebFetchUserAgent() {
|
|
87650
87650
|
return `Claude-User (${getClaudeCodeUserAgent()}; +https://support.anthropic.com/)`;
|
|
@@ -130840,7 +130840,7 @@ function getAttributionHeader(fingerprint) {
|
|
|
130840
130840
|
if (!isAttributionHeaderEnabled()) {
|
|
130841
130841
|
return "";
|
|
130842
130842
|
}
|
|
130843
|
-
const version = `${"2.0.
|
|
130843
|
+
const version = `${"2.0.1"}.${fingerprint}`;
|
|
130844
130844
|
const entrypoint = process.env.CLAUDE_CODE_ENTRYPOINT ?? "unknown";
|
|
130845
130845
|
const cch = "";
|
|
130846
130846
|
const workload = getWorkload();
|
|
@@ -147029,7 +147029,7 @@ var init_metadata = __esm(() => {
|
|
|
147029
147029
|
COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
|
|
147030
147030
|
WHITESPACE_REGEX = /\s+/;
|
|
147031
147031
|
getVersionBase = memoize_default(() => {
|
|
147032
|
-
const match = "2.0.
|
|
147032
|
+
const match = "2.0.1".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
|
|
147033
147033
|
return match ? match[0] : undefined;
|
|
147034
147034
|
});
|
|
147035
147035
|
buildEnvContext = memoize_default(async () => {
|
|
@@ -147069,9 +147069,9 @@ var init_metadata = __esm(() => {
|
|
|
147069
147069
|
isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
|
|
147070
147070
|
isClaudeCodeAction: isEnvTruthy(process.env.CLAUDE_CODE_ACTION),
|
|
147071
147071
|
isClaudeAiAuth: isClaudeAISubscriber(),
|
|
147072
|
-
version: "2.0.
|
|
147072
|
+
version: "2.0.1",
|
|
147073
147073
|
versionBase: getVersionBase(),
|
|
147074
|
-
buildTime: "2026-05-07T20:
|
|
147074
|
+
buildTime: "2026-05-07T20:29:52.644Z",
|
|
147075
147075
|
deploymentEnvironment: env3.detectDeploymentEnvironment(),
|
|
147076
147076
|
...isEnvTruthy(process.env.GITHUB_ACTIONS) && {
|
|
147077
147077
|
githubEventName: process.env.GITHUB_EVENT_NAME,
|
|
@@ -179647,7 +179647,7 @@ function getTelemetryAttributes() {
|
|
|
179647
179647
|
attributes["session.id"] = sessionId;
|
|
179648
179648
|
}
|
|
179649
179649
|
if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
|
|
179650
|
-
attributes["app.version"] = "2.0.
|
|
179650
|
+
attributes["app.version"] = "2.0.1";
|
|
179651
179651
|
}
|
|
179652
179652
|
const oauthAccount = getOauthAccountInfo();
|
|
179653
179653
|
if (oauthAccount) {
|
|
@@ -242451,7 +242451,7 @@ function getInstallationEnv() {
|
|
|
242451
242451
|
return;
|
|
242452
242452
|
}
|
|
242453
242453
|
function getClaudeCodeVersion() {
|
|
242454
|
-
return "2.0.
|
|
242454
|
+
return "2.0.1";
|
|
242455
242455
|
}
|
|
242456
242456
|
async function getInstalledVSCodeExtensionVersion(command) {
|
|
242457
242457
|
const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
|
|
@@ -247725,7 +247725,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
|
|
|
247725
247725
|
const client4 = new Client({
|
|
247726
247726
|
name: "localclawd",
|
|
247727
247727
|
title: "localclawd",
|
|
247728
|
-
version: "2.0.
|
|
247728
|
+
version: "2.0.1",
|
|
247729
247729
|
description: "local-first AI coding tool",
|
|
247730
247730
|
websiteUrl: PRODUCT_URL
|
|
247731
247731
|
}, {
|
|
@@ -248067,7 +248067,7 @@ var init_client9 = __esm(() => {
|
|
|
248067
248067
|
const client4 = new Client({
|
|
248068
248068
|
name: "localclawd",
|
|
248069
248069
|
title: "localclawd",
|
|
248070
|
-
version: "2.0.
|
|
248070
|
+
version: "2.0.1",
|
|
248071
248071
|
description: "local-first AI coding tool",
|
|
248072
248072
|
websiteUrl: PRODUCT_URL
|
|
248073
248073
|
}, {
|
|
@@ -262469,7 +262469,7 @@ function computeFingerprint(messageText, version) {
|
|
|
262469
262469
|
}
|
|
262470
262470
|
function computeFingerprintFromMessages(messages) {
|
|
262471
262471
|
const firstMessageText = extractFirstMessageText(messages);
|
|
262472
|
-
return computeFingerprint(firstMessageText, "2.0.
|
|
262472
|
+
return computeFingerprint(firstMessageText, "2.0.1");
|
|
262473
262473
|
}
|
|
262474
262474
|
var FINGERPRINT_SALT = "59cf53e54c78";
|
|
262475
262475
|
var init_fingerprint = () => {};
|
|
@@ -262511,7 +262511,7 @@ async function sideQuery(opts) {
|
|
|
262511
262511
|
betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
|
|
262512
262512
|
}
|
|
262513
262513
|
const messageText = extractFirstUserMessageText(messages);
|
|
262514
|
-
const fingerprint = computeFingerprint(messageText, "2.0.
|
|
262514
|
+
const fingerprint = computeFingerprint(messageText, "2.0.1");
|
|
262515
262515
|
const attributionHeader = getAttributionHeader(fingerprint);
|
|
262516
262516
|
const systemBlocks = [
|
|
262517
262517
|
attributionHeader ? { type: "text", text: attributionHeader } : null,
|
|
@@ -283259,7 +283259,7 @@ var init_user = __esm(() => {
|
|
|
283259
283259
|
deviceId,
|
|
283260
283260
|
sessionId: getSessionId(),
|
|
283261
283261
|
email: getEmail(),
|
|
283262
|
-
appVersion: "2.0.
|
|
283262
|
+
appVersion: "2.0.1",
|
|
283263
283263
|
platform: getHostPlatformForAnalytics(),
|
|
283264
283264
|
organizationUuid,
|
|
283265
283265
|
accountUuid,
|
|
@@ -284324,7 +284324,7 @@ async function initializeBetaTracing(resource) {
|
|
|
284324
284324
|
});
|
|
284325
284325
|
logs.setGlobalLoggerProvider(loggerProvider);
|
|
284326
284326
|
setLoggerProvider(loggerProvider);
|
|
284327
|
-
const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "2.0.
|
|
284327
|
+
const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "2.0.1");
|
|
284328
284328
|
setEventLogger(eventLogger);
|
|
284329
284329
|
process.on("beforeExit", async () => {
|
|
284330
284330
|
await loggerProvider?.forceFlush();
|
|
@@ -284364,7 +284364,7 @@ async function initializeTelemetry() {
|
|
|
284364
284364
|
const platform2 = getPlatform();
|
|
284365
284365
|
const baseAttributes = {
|
|
284366
284366
|
[ATTR_SERVICE_NAME4]: "claude-code",
|
|
284367
|
-
[ATTR_SERVICE_VERSION4]: "2.0.
|
|
284367
|
+
[ATTR_SERVICE_VERSION4]: "2.0.1"
|
|
284368
284368
|
};
|
|
284369
284369
|
if (platform2 === "wsl") {
|
|
284370
284370
|
const wslVersion = getWslVersion();
|
|
@@ -284409,7 +284409,7 @@ async function initializeTelemetry() {
|
|
|
284409
284409
|
} catch {}
|
|
284410
284410
|
};
|
|
284411
284411
|
registerCleanup(shutdownTelemetry2);
|
|
284412
|
-
return meterProvider2.getMeter("com.anthropic.claude_code", "2.0.
|
|
284412
|
+
return meterProvider2.getMeter("com.anthropic.claude_code", "2.0.1");
|
|
284413
284413
|
}
|
|
284414
284414
|
const meterProvider = new MeterProvider4({
|
|
284415
284415
|
resource,
|
|
@@ -284429,7 +284429,7 @@ async function initializeTelemetry() {
|
|
|
284429
284429
|
});
|
|
284430
284430
|
logs.setGlobalLoggerProvider(loggerProvider);
|
|
284431
284431
|
setLoggerProvider(loggerProvider);
|
|
284432
|
-
const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "2.0.
|
|
284432
|
+
const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "2.0.1");
|
|
284433
284433
|
setEventLogger(eventLogger);
|
|
284434
284434
|
logForDebugging("[3P telemetry] Event logger set successfully");
|
|
284435
284435
|
process.on("beforeExit", async () => {
|
|
@@ -284491,7 +284491,7 @@ Current timeout: ${timeoutMs}ms
|
|
|
284491
284491
|
}
|
|
284492
284492
|
};
|
|
284493
284493
|
registerCleanup(shutdownTelemetry);
|
|
284494
|
-
return meterProvider.getMeter("com.anthropic.claude_code", "2.0.
|
|
284494
|
+
return meterProvider.getMeter("com.anthropic.claude_code", "2.0.1");
|
|
284495
284495
|
}
|
|
284496
284496
|
async function flushTelemetry() {
|
|
284497
284497
|
const meterProvider = getMeterProvider();
|
|
@@ -285681,7 +285681,7 @@ function detectLinuxGlobPatternWarnings() {
|
|
|
285681
285681
|
}
|
|
285682
285682
|
async function getDoctorDiagnostic() {
|
|
285683
285683
|
const installationType = await getCurrentInstallationType();
|
|
285684
|
-
const version = typeof MACRO !== "undefined" ? "2.0.
|
|
285684
|
+
const version = typeof MACRO !== "undefined" ? "2.0.1" : "unknown";
|
|
285685
285685
|
const installationPath = await getInstallationPath();
|
|
285686
285686
|
const invokedBinary = getInvokedBinary();
|
|
285687
285687
|
const multipleInstallations = await detectMultipleInstallations();
|
|
@@ -286622,8 +286622,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
286622
286622
|
const maxVersion = await getMaxVersion();
|
|
286623
286623
|
if (maxVersion && gt(version, maxVersion)) {
|
|
286624
286624
|
logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version} to ${maxVersion}`);
|
|
286625
|
-
if (gte("2.0.
|
|
286626
|
-
logForDebugging(`Native installer: current version ${"2.0.
|
|
286625
|
+
if (gte("2.0.1", maxVersion)) {
|
|
286626
|
+
logForDebugging(`Native installer: current version ${"2.0.1"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
286627
286627
|
logEvent("tengu_native_update_skipped_max_version", {
|
|
286628
286628
|
latency_ms: Date.now() - startTime,
|
|
286629
286629
|
max_version: maxVersion,
|
|
@@ -286634,7 +286634,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
286634
286634
|
version = maxVersion;
|
|
286635
286635
|
}
|
|
286636
286636
|
}
|
|
286637
|
-
if (!forceReinstall && version === "2.0.
|
|
286637
|
+
if (!forceReinstall && version === "2.0.1" && await versionIsAvailable(version) && await isPossibleLocalClawdBinary(executablePath)) {
|
|
286638
286638
|
logForDebugging(`Found ${version} at ${executablePath}, skipping install`);
|
|
286639
286639
|
logEvent("tengu_native_update_complete", {
|
|
286640
286640
|
latency_ms: Date.now() - startTime,
|
|
@@ -323116,8 +323116,12 @@ Workflow selection:
|
|
|
323116
323116
|
- Workflows support {{positive_prompt}} / {{negative_prompt}} templates or raw ComfyUI API exports
|
|
323117
323117
|
|
|
323118
323118
|
Output directory:
|
|
323119
|
-
-
|
|
323120
|
-
-
|
|
323119
|
+
- All generated images are saved to: <project-root>/.localclawd/image-pipeline/generated/
|
|
323120
|
+
- The full absolute path is returned in the tool result (path field).
|
|
323121
|
+
- After inspecting the image, you can move it anywhere using Bash (mv) or PowerShell (Move-Item).
|
|
323122
|
+
Example: move to project root → mv "<path>" "./my-image.png"
|
|
323123
|
+
Example: move to desktop → mv "<path>" "$HOME/Desktop/my-image.png"
|
|
323124
|
+
If the user specifies a destination, move it there immediately after approving the result.
|
|
323121
323125
|
|
|
323122
323126
|
If ComfyUI is not reachable, ask the user to run /image-pipeline config <url> with their ComfyUI address.
|
|
323123
323127
|
To list available workflows, call /image-pipeline list.
|
|
@@ -323125,18 +323129,18 @@ To list available workflows, call /image-pipeline list.
|
|
|
323125
323129
|
After generating, the image is returned visually in the tool result so you can review it.
|
|
323126
323130
|
|
|
323127
323131
|
REVIEW AND REPROMPT PROTOCOL:
|
|
323128
|
-
1. After calling GenerateImage, examine the returned image carefully.
|
|
323129
|
-
2. If the image
|
|
323130
|
-
3. Refine: add missing details, fix style keywords, adjust composition
|
|
323132
|
+
1. After calling GenerateImage, examine the returned image carefully for quality AND artifacts.
|
|
323133
|
+
2. If the image has edge/corner artifacts, blurring, or wrong content — fix parameters and retry (do not keep a bad image).
|
|
323134
|
+
3. Refine: add missing details, fix style keywords, adjust composition. Do not repeat the same prompt.
|
|
323131
323135
|
4. You may iterate up to 3 times total. Stop as soon as a result is satisfactory.
|
|
323132
|
-
5.
|
|
323136
|
+
5. After final approval: move the image to the user's desired location if specified, then report the saved path.
|
|
323133
323137
|
|
|
323134
|
-
FIXING ARTIFACTS
|
|
323135
|
-
- Corner / edge artifacts →
|
|
323138
|
+
FIXING ARTIFACTS:
|
|
323139
|
+
- Corner / edge artifacts → cfg is too high for this model. Flow models (z_image_turbo, AuraFlow, Lumina2): cfg MUST be 1. Retry with cfg=1.
|
|
323136
323140
|
- Ring or halo artefacts → steps too high. Try steps=4 for turbo workflows.
|
|
323137
|
-
- Blurry result → steps too low
|
|
323141
|
+
- Blurry result → steps too low or wrong sampler. Increase steps by +4.
|
|
323138
323142
|
- Washed-out / grey → VAE mismatch. Try a different workflow.
|
|
323139
|
-
- Size-related artefacts →
|
|
323143
|
+
- Size-related artefacts → dimensions must be multiples of 64. Flow models need 1024×1024.
|
|
323140
323144
|
Pass overrides via the tool parameters: steps, cfg, width, height, model.
|
|
323141
323145
|
|
|
323142
323146
|
Use this tool when the user asks you to generate, create, or render an image.`;
|
|
@@ -323159,10 +323163,23 @@ function renderToolUseErrorMessage11(error5) {
|
|
|
323159
323163
|
}, undefined, false, undefined, this);
|
|
323160
323164
|
}
|
|
323161
323165
|
function renderToolResultMessage20(output) {
|
|
323166
|
+
if (output.error)
|
|
323167
|
+
return /* @__PURE__ */ jsx_dev_runtime145.jsxDEV(ThemedText, {
|
|
323168
|
+
color: "red",
|
|
323169
|
+
children: output.error
|
|
323170
|
+
}, undefined, false, undefined, this);
|
|
323162
323171
|
return /* @__PURE__ */ jsx_dev_runtime145.jsxDEV(ThemedText, {
|
|
323163
323172
|
dimColor: true,
|
|
323164
|
-
children:
|
|
323165
|
-
|
|
323173
|
+
children: [
|
|
323174
|
+
`Saved: ${output.path}`,
|
|
323175
|
+
`
|
|
323176
|
+
`,
|
|
323177
|
+
/* @__PURE__ */ jsx_dev_runtime145.jsxDEV(ThemedText, {
|
|
323178
|
+
color: "yellow",
|
|
323179
|
+
children: 'Inspect above — move with: mv "' + output.path + '" <destination>'
|
|
323180
|
+
}, undefined, false, undefined, this)
|
|
323181
|
+
]
|
|
323182
|
+
}, undefined, true, undefined, this);
|
|
323166
323183
|
}
|
|
323167
323184
|
var jsx_dev_runtime145;
|
|
323168
323185
|
var init_UI20 = __esm(() => {
|
|
@@ -323379,10 +323396,20 @@ var init_GenerateImageTool = __esm(() => {
|
|
|
323379
323396
|
};
|
|
323380
323397
|
}
|
|
323381
323398
|
const imgData = imageDataCache.get(output);
|
|
323399
|
+
const reviewNote = imgData ? [
|
|
323400
|
+
"Review the image above for artifacts before accepting:",
|
|
323401
|
+
" • Edge/corner artifacts → retry with cfg=1 (flow models require cfg=1)",
|
|
323402
|
+
" • Halo/ring artifacts → retry with fewer steps (steps=4 for turbo)",
|
|
323403
|
+
" • Wrong content/style → rephrase the prompt",
|
|
323404
|
+
"If satisfied, move the file to the desired location using Bash mv or PowerShell Move-Item.",
|
|
323405
|
+
` mv "${output.path}" <destination>`
|
|
323406
|
+
].join(`
|
|
323407
|
+
`) : `Vision unavailable — inspect manually at: ${output.path}
|
|
323408
|
+
Move with: mv "${output.path}" <destination>`;
|
|
323382
323409
|
const textSummary = [
|
|
323383
323410
|
`Image saved: ${output.path}`,
|
|
323384
323411
|
`Seed: ${output.seed} · Prompt ID: ${output.promptId}`,
|
|
323385
|
-
|
|
323412
|
+
reviewNote
|
|
323386
323413
|
].join(`
|
|
323387
323414
|
`);
|
|
323388
323415
|
if (imgData) {
|
|
@@ -331846,7 +331873,7 @@ function getAnthropicEnvMetadata() {
|
|
|
331846
331873
|
function getBuildAgeMinutes() {
|
|
331847
331874
|
if (false)
|
|
331848
331875
|
;
|
|
331849
|
-
const buildTime = new Date("2026-05-07T20:
|
|
331876
|
+
const buildTime = new Date("2026-05-07T20:29:52.644Z").getTime();
|
|
331850
331877
|
if (isNaN(buildTime))
|
|
331851
331878
|
return;
|
|
331852
331879
|
return Math.floor((Date.now() - buildTime) / 60000);
|
|
@@ -360678,7 +360705,7 @@ function Feedback({
|
|
|
360678
360705
|
platform: env3.platform,
|
|
360679
360706
|
gitRepo: envInfo.isGit,
|
|
360680
360707
|
terminal: env3.terminal,
|
|
360681
|
-
version: "2.0.
|
|
360708
|
+
version: "2.0.1",
|
|
360682
360709
|
transcript: normalizeMessagesForAPI(messages),
|
|
360683
360710
|
errors: sanitizedErrors,
|
|
360684
360711
|
lastApiRequest: getLastAPIRequest(),
|
|
@@ -360870,7 +360897,7 @@ function Feedback({
|
|
|
360870
360897
|
", ",
|
|
360871
360898
|
env3.terminal,
|
|
360872
360899
|
", v",
|
|
360873
|
-
"2.0.
|
|
360900
|
+
"2.0.1"
|
|
360874
360901
|
]
|
|
360875
360902
|
}, undefined, true, undefined, this)
|
|
360876
360903
|
]
|
|
@@ -360976,7 +361003,7 @@ ${sanitizedDescription}
|
|
|
360976
361003
|
` + `**Environment Info**
|
|
360977
361004
|
` + `- Platform: ${env3.platform}
|
|
360978
361005
|
` + `- Terminal: ${env3.terminal}
|
|
360979
|
-
` + `- Version: ${"2.0.
|
|
361006
|
+
` + `- Version: ${"2.0.1"}
|
|
360980
361007
|
` + `- Feedback ID: ${feedbackId}
|
|
360981
361008
|
` + `
|
|
360982
361009
|
**Errors**
|
|
@@ -363604,7 +363631,7 @@ function buildPrimarySection() {
|
|
|
363604
363631
|
}, undefined, false, undefined, this);
|
|
363605
363632
|
return [{
|
|
363606
363633
|
label: "Version",
|
|
363607
|
-
value: "2.0.
|
|
363634
|
+
value: "2.0.1"
|
|
363608
363635
|
}, {
|
|
363609
363636
|
label: "Session name",
|
|
363610
363637
|
value: nameValue
|
|
@@ -368285,7 +368312,7 @@ function Config({
|
|
|
368285
368312
|
}
|
|
368286
368313
|
}, undefined, false, undefined, this)
|
|
368287
368314
|
}, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime176.jsxDEV(ChannelDowngradeDialog, {
|
|
368288
|
-
currentVersion: "2.0.
|
|
368315
|
+
currentVersion: "2.0.1",
|
|
368289
368316
|
onChoice: (choice) => {
|
|
368290
368317
|
setShowSubmenu(null);
|
|
368291
368318
|
setTabsHidden(false);
|
|
@@ -368297,7 +368324,7 @@ function Config({
|
|
|
368297
368324
|
autoUpdatesChannel: "stable"
|
|
368298
368325
|
};
|
|
368299
368326
|
if (choice === "stay") {
|
|
368300
|
-
newSettings.minimumVersion = "2.0.
|
|
368327
|
+
newSettings.minimumVersion = "2.0.1";
|
|
368301
368328
|
}
|
|
368302
368329
|
updateSettingsForSource("userSettings", newSettings);
|
|
368303
368330
|
setSettingsData((prev_27) => ({
|
|
@@ -385980,7 +386007,7 @@ function Help(t0) {
|
|
|
385980
386007
|
let t6;
|
|
385981
386008
|
if ($2[31] !== tabs) {
|
|
385982
386009
|
t6 = /* @__PURE__ */ jsx_dev_runtime221.jsxDEV(Tabs, {
|
|
385983
|
-
title: `localclawd v${"2.0.
|
|
386010
|
+
title: `localclawd v${"2.0.1"}`,
|
|
385984
386011
|
color: "professionalBlue",
|
|
385985
386012
|
defaultTab: "general",
|
|
385986
386013
|
children: tabs
|
|
@@ -403242,7 +403269,7 @@ function getRecentReleaseNotes(currentVersion, previousVersion, changelogContent
|
|
|
403242
403269
|
}
|
|
403243
403270
|
return [];
|
|
403244
403271
|
}
|
|
403245
|
-
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "2.0.
|
|
403272
|
+
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "2.0.1") {
|
|
403246
403273
|
if (process.env.USER_TYPE === "ant") {
|
|
403247
403274
|
const changelog = MACRO.VERSION_CHANGELOG;
|
|
403248
403275
|
if (changelog) {
|
|
@@ -403269,7 +403296,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "2.0.0") {
|
|
|
403269
403296
|
releaseNotes
|
|
403270
403297
|
};
|
|
403271
403298
|
}
|
|
403272
|
-
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "2.0.
|
|
403299
|
+
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "2.0.1") {
|
|
403273
403300
|
if (process.env.USER_TYPE === "ant") {
|
|
403274
403301
|
const changelog = MACRO.VERSION_CHANGELOG;
|
|
403275
403302
|
if (changelog) {
|
|
@@ -403426,7 +403453,7 @@ function getRecentActivitySync() {
|
|
|
403426
403453
|
return cachedActivity;
|
|
403427
403454
|
}
|
|
403428
403455
|
function getLogoDisplayData() {
|
|
403429
|
-
const version = process.env.DEMO_VERSION ?? "2.0.
|
|
403456
|
+
const version = process.env.DEMO_VERSION ?? "2.0.1";
|
|
403430
403457
|
const serverUrl = getDirectConnectServerUrl();
|
|
403431
403458
|
const displayPath = process.env.DEMO_VERSION ? "/code/claude" : getDisplayPath(getCwd());
|
|
403432
403459
|
const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
|
|
@@ -404526,7 +404553,7 @@ function Logo() {
|
|
|
404526
404553
|
if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
|
|
404527
404554
|
t2 = () => {
|
|
404528
404555
|
const currentConfig = getGlobalConfig();
|
|
404529
|
-
if (currentConfig.lastReleaseNotesSeen === "2.0.
|
|
404556
|
+
if (currentConfig.lastReleaseNotesSeen === "2.0.1") {
|
|
404530
404557
|
return;
|
|
404531
404558
|
}
|
|
404532
404559
|
saveGlobalConfig(_temp326);
|
|
@@ -405185,12 +405212,12 @@ function Logo() {
|
|
|
405185
405212
|
return t41;
|
|
405186
405213
|
}
|
|
405187
405214
|
function _temp326(current) {
|
|
405188
|
-
if (current.lastReleaseNotesSeen === "2.0.
|
|
405215
|
+
if (current.lastReleaseNotesSeen === "2.0.1") {
|
|
405189
405216
|
return current;
|
|
405190
405217
|
}
|
|
405191
405218
|
return {
|
|
405192
405219
|
...current,
|
|
405193
|
-
lastReleaseNotesSeen: "2.0.
|
|
405220
|
+
lastReleaseNotesSeen: "2.0.1"
|
|
405194
405221
|
};
|
|
405195
405222
|
}
|
|
405196
405223
|
function _temp241(s_0) {
|
|
@@ -435669,7 +435696,7 @@ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
|
|
|
435669
435696
|
smapsRollup,
|
|
435670
435697
|
platform: process.platform,
|
|
435671
435698
|
nodeVersion: process.version,
|
|
435672
|
-
ccVersion: "2.0.
|
|
435699
|
+
ccVersion: "2.0.1"
|
|
435673
435700
|
};
|
|
435674
435701
|
}
|
|
435675
435702
|
async function performHeapDump(trigger = "manual", dumpNumber = 0) {
|
|
@@ -436254,7 +436281,7 @@ var init_bridge_kick = __esm(() => {
|
|
|
436254
436281
|
var call88 = async () => {
|
|
436255
436282
|
return {
|
|
436256
436283
|
type: "text",
|
|
436257
|
-
value: `${"2.0.
|
|
436284
|
+
value: `${"2.0.1"} (built ${"2026-05-07T20:29:52.644Z"})`
|
|
436258
436285
|
};
|
|
436259
436286
|
}, version, version_default;
|
|
436260
436287
|
var init_version = __esm(() => {
|
|
@@ -444198,7 +444225,7 @@ function generateHtmlReport(data, insights) {
|
|
|
444198
444225
|
</html>`;
|
|
444199
444226
|
}
|
|
444200
444227
|
function buildExportData(data, insights, facets, remoteStats) {
|
|
444201
|
-
const version2 = typeof MACRO !== "undefined" ? "2.0.
|
|
444228
|
+
const version2 = typeof MACRO !== "undefined" ? "2.0.1" : "unknown";
|
|
444202
444229
|
const remote_hosts_collected = remoteStats?.hosts.filter((h) => h.sessionCount > 0).map((h) => h.name);
|
|
444203
444230
|
const facets_summary = {
|
|
444204
444231
|
total: facets.size,
|
|
@@ -448401,7 +448428,7 @@ var init_sessionStorage = __esm(() => {
|
|
|
448401
448428
|
init_settings2();
|
|
448402
448429
|
init_slowOperations();
|
|
448403
448430
|
init_uuid();
|
|
448404
|
-
VERSION6 = typeof MACRO !== "undefined" ? "2.0.
|
|
448431
|
+
VERSION6 = typeof MACRO !== "undefined" ? "2.0.1" : "unknown";
|
|
448405
448432
|
MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
|
|
448406
448433
|
SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
|
|
448407
448434
|
EPHEMERAL_PROGRESS_TYPES = new Set([
|
|
@@ -449602,7 +449629,7 @@ var init_filesystem = __esm(() => {
|
|
|
449602
449629
|
});
|
|
449603
449630
|
getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
|
|
449604
449631
|
const nonce = randomBytes20(16).toString("hex");
|
|
449605
|
-
return join151(getClaudeTempDir(), "bundled-skills", "2.0.
|
|
449632
|
+
return join151(getClaudeTempDir(), "bundled-skills", "2.0.1", nonce);
|
|
449606
449633
|
});
|
|
449607
449634
|
getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
|
|
449608
449635
|
});
|
|
@@ -458839,7 +458866,7 @@ function buildSystemInitMessage(inputs) {
|
|
|
458839
458866
|
slash_commands: inputs.commands.filter((c5) => c5.userInvocable !== false).map((c5) => c5.name),
|
|
458840
458867
|
apiKeySource: getAnthropicApiKeyWithSource().source,
|
|
458841
458868
|
betas: getSdkBetas(),
|
|
458842
|
-
claude_code_version: "2.0.
|
|
458869
|
+
claude_code_version: "2.0.1",
|
|
458843
458870
|
output_style: outputStyle2,
|
|
458844
458871
|
agents: inputs.agents.map((agent) => agent.agentType),
|
|
458845
458872
|
skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill) => skill.name),
|
|
@@ -472996,7 +473023,7 @@ var init_useVoiceEnabled = __esm(() => {
|
|
|
472996
473023
|
function getSemverPart(version2) {
|
|
472997
473024
|
return `${import_semver10.major(version2, { loose: true })}.${import_semver10.minor(version2, { loose: true })}.${import_semver10.patch(version2, { loose: true })}`;
|
|
472998
473025
|
}
|
|
472999
|
-
function useUpdateNotification(updatedVersion, initialVersion = "2.0.
|
|
473026
|
+
function useUpdateNotification(updatedVersion, initialVersion = "2.0.1") {
|
|
473000
473027
|
const [lastNotifiedSemver, setLastNotifiedSemver] = import_react214.useState(() => getSemverPart(initialVersion));
|
|
473001
473028
|
if (!updatedVersion) {
|
|
473002
473029
|
return null;
|
|
@@ -473036,7 +473063,7 @@ function AutoUpdater({
|
|
|
473036
473063
|
return;
|
|
473037
473064
|
}
|
|
473038
473065
|
if (false) {}
|
|
473039
|
-
const currentVersion = "2.0.
|
|
473066
|
+
const currentVersion = "2.0.1";
|
|
473040
473067
|
const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
473041
473068
|
let latestVersion = await getLatestVersion(channel);
|
|
473042
473069
|
const isDisabled = isAutoUpdaterDisabled();
|
|
@@ -473247,12 +473274,12 @@ function NativeAutoUpdater({
|
|
|
473247
473274
|
logEvent("tengu_native_auto_updater_start", {});
|
|
473248
473275
|
try {
|
|
473249
473276
|
const maxVersion = await getMaxVersion();
|
|
473250
|
-
if (maxVersion && gt("2.0.
|
|
473277
|
+
if (maxVersion && gt("2.0.1", maxVersion)) {
|
|
473251
473278
|
const msg = await getMaxVersionMessage();
|
|
473252
473279
|
setMaxVersionIssue(msg ?? "affects your version");
|
|
473253
473280
|
}
|
|
473254
473281
|
const result = await installLatest(channel);
|
|
473255
|
-
const currentVersion = "2.0.
|
|
473282
|
+
const currentVersion = "2.0.1";
|
|
473256
473283
|
const latencyMs = Date.now() - startTime;
|
|
473257
473284
|
if (result.lockFailed) {
|
|
473258
473285
|
logEvent("tengu_native_auto_updater_lock_contention", {
|
|
@@ -473387,17 +473414,17 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
473387
473414
|
const maxVersion = await getMaxVersion();
|
|
473388
473415
|
if (maxVersion && latest && gt(latest, maxVersion)) {
|
|
473389
473416
|
logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
|
|
473390
|
-
if (gte("2.0.
|
|
473391
|
-
logForDebugging(`PackageManagerAutoUpdater: current version ${"2.0.
|
|
473417
|
+
if (gte("2.0.1", maxVersion)) {
|
|
473418
|
+
logForDebugging(`PackageManagerAutoUpdater: current version ${"2.0.1"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
473392
473419
|
setUpdateAvailable(false);
|
|
473393
473420
|
return;
|
|
473394
473421
|
}
|
|
473395
473422
|
latest = maxVersion;
|
|
473396
473423
|
}
|
|
473397
|
-
const hasUpdate = latest && !gte("2.0.
|
|
473424
|
+
const hasUpdate = latest && !gte("2.0.1", latest) && !shouldSkipVersion(latest);
|
|
473398
473425
|
setUpdateAvailable(!!hasUpdate);
|
|
473399
473426
|
if (hasUpdate) {
|
|
473400
|
-
logForDebugging(`PackageManagerAutoUpdater: Update available ${"2.0.
|
|
473427
|
+
logForDebugging(`PackageManagerAutoUpdater: Update available ${"2.0.1"} -> ${latest}`);
|
|
473401
473428
|
}
|
|
473402
473429
|
};
|
|
473403
473430
|
$2[0] = t1;
|
|
@@ -473431,7 +473458,7 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
473431
473458
|
wrap: "truncate",
|
|
473432
473459
|
children: [
|
|
473433
473460
|
"currentVersion: ",
|
|
473434
|
-
"2.0.
|
|
473461
|
+
"2.0.1"
|
|
473435
473462
|
]
|
|
473436
473463
|
}, undefined, true, undefined, this);
|
|
473437
473464
|
$2[3] = verbose;
|
|
@@ -480991,7 +481018,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
|
|
|
480991
481018
|
project_dir: getOriginalCwd(),
|
|
480992
481019
|
added_dirs: addedDirs
|
|
480993
481020
|
},
|
|
480994
|
-
version: "2.0.
|
|
481021
|
+
version: "2.0.1",
|
|
480995
481022
|
output_style: {
|
|
480996
481023
|
name: outputStyleName
|
|
480997
481024
|
},
|
|
@@ -492563,7 +492590,7 @@ async function submitTranscriptShare(messages, trigger, appearanceId) {
|
|
|
492563
492590
|
} catch {}
|
|
492564
492591
|
const data = {
|
|
492565
492592
|
trigger,
|
|
492566
|
-
version: "2.0.
|
|
492593
|
+
version: "2.0.1",
|
|
492567
492594
|
platform: process.platform,
|
|
492568
492595
|
transcript,
|
|
492569
492596
|
subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
|
|
@@ -509472,7 +509499,7 @@ function appendToLog(path17, message) {
|
|
|
509472
509499
|
cwd: getFsImplementation().cwd(),
|
|
509473
509500
|
userType: process.env.USER_TYPE,
|
|
509474
509501
|
sessionId: getSessionId(),
|
|
509475
|
-
version: "2.0.
|
|
509502
|
+
version: "2.0.1"
|
|
509476
509503
|
};
|
|
509477
509504
|
getLogWriter(path17).write(messageWithTimestamp);
|
|
509478
509505
|
}
|
|
@@ -513496,8 +513523,8 @@ async function getEnvLessBridgeConfig() {
|
|
|
513496
513523
|
}
|
|
513497
513524
|
async function checkEnvLessBridgeMinVersion() {
|
|
513498
513525
|
const cfg = await getEnvLessBridgeConfig();
|
|
513499
|
-
if (cfg.min_version && lt("2.0.
|
|
513500
|
-
return `Your version of localclawd (${"2.0.
|
|
513526
|
+
if (cfg.min_version && lt("2.0.1", cfg.min_version)) {
|
|
513527
|
+
return `Your version of localclawd (${"2.0.1"}) is too old for Remote Control.
|
|
513501
513528
|
Version ${cfg.min_version} or higher is required. Run \`localclawd update\` to update.`;
|
|
513502
513529
|
}
|
|
513503
513530
|
return null;
|
|
@@ -513969,7 +513996,7 @@ async function initBridgeCore(params) {
|
|
|
513969
513996
|
const rawApi = createBridgeApiClient({
|
|
513970
513997
|
baseUrl,
|
|
513971
513998
|
getAccessToken,
|
|
513972
|
-
runnerVersion: "2.0.
|
|
513999
|
+
runnerVersion: "2.0.1",
|
|
513973
514000
|
onDebug: logForDebugging,
|
|
513974
514001
|
onAuth401,
|
|
513975
514002
|
getTrustedDeviceToken
|
|
@@ -519688,7 +519715,7 @@ async function startMCPServer(cwd3, debug4, verbose) {
|
|
|
519688
519715
|
setCwd(cwd3);
|
|
519689
519716
|
const server = new Server({
|
|
519690
519717
|
name: "claude/tengu",
|
|
519691
|
-
version: "2.0.
|
|
519718
|
+
version: "2.0.1"
|
|
519692
519719
|
}, {
|
|
519693
519720
|
capabilities: {
|
|
519694
519721
|
tools: {}
|
|
@@ -520769,7 +520796,7 @@ function WelcomeLogo() {
|
|
|
520769
520796
|
dimColor: true,
|
|
520770
520797
|
children: [
|
|
520771
520798
|
"v",
|
|
520772
|
-
"2.0.
|
|
520799
|
+
"2.0.1"
|
|
520773
520800
|
]
|
|
520774
520801
|
}, undefined, true, undefined, this)
|
|
520775
520802
|
]
|
|
@@ -520960,7 +520987,7 @@ __export(exports_update, {
|
|
|
520960
520987
|
});
|
|
520961
520988
|
async function update() {
|
|
520962
520989
|
logEvent("tengu_update_check", {});
|
|
520963
|
-
writeToStdout(`Current version: ${"2.0.
|
|
520990
|
+
writeToStdout(`Current version: ${"2.0.1"}
|
|
520964
520991
|
`);
|
|
520965
520992
|
const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
520966
520993
|
writeToStdout(`Checking for updates to ${channel} version...
|
|
@@ -521035,8 +521062,8 @@ async function update() {
|
|
|
521035
521062
|
writeToStdout(`localclawd is managed by Homebrew.
|
|
521036
521063
|
`);
|
|
521037
521064
|
const latest = await getLatestVersion(channel);
|
|
521038
|
-
if (latest && !gte("2.0.
|
|
521039
|
-
writeToStdout(`Update available: ${"2.0.
|
|
521065
|
+
if (latest && !gte("2.0.1", latest)) {
|
|
521066
|
+
writeToStdout(`Update available: ${"2.0.1"} → ${latest}
|
|
521040
521067
|
`);
|
|
521041
521068
|
writeToStdout(`
|
|
521042
521069
|
`);
|
|
@@ -521052,8 +521079,8 @@ async function update() {
|
|
|
521052
521079
|
writeToStdout(`localclawd is managed by winget.
|
|
521053
521080
|
`);
|
|
521054
521081
|
const latest = await getLatestVersion(channel);
|
|
521055
|
-
if (latest && !gte("2.0.
|
|
521056
|
-
writeToStdout(`Update available: ${"2.0.
|
|
521082
|
+
if (latest && !gte("2.0.1", latest)) {
|
|
521083
|
+
writeToStdout(`Update available: ${"2.0.1"} → ${latest}
|
|
521057
521084
|
`);
|
|
521058
521085
|
writeToStdout(`
|
|
521059
521086
|
`);
|
|
@@ -521067,8 +521094,8 @@ async function update() {
|
|
|
521067
521094
|
writeToStdout(`localclawd is managed by apk.
|
|
521068
521095
|
`);
|
|
521069
521096
|
const latest = await getLatestVersion(channel);
|
|
521070
|
-
if (latest && !gte("2.0.
|
|
521071
|
-
writeToStdout(`Update available: ${"2.0.
|
|
521097
|
+
if (latest && !gte("2.0.1", latest)) {
|
|
521098
|
+
writeToStdout(`Update available: ${"2.0.1"} → ${latest}
|
|
521072
521099
|
`);
|
|
521073
521100
|
writeToStdout(`
|
|
521074
521101
|
`);
|
|
@@ -521133,11 +521160,11 @@ async function update() {
|
|
|
521133
521160
|
`);
|
|
521134
521161
|
await gracefulShutdown(1);
|
|
521135
521162
|
}
|
|
521136
|
-
if (result.latestVersion === "2.0.
|
|
521137
|
-
writeToStdout(source_default.green(`localclawd is up to date (${"2.0.
|
|
521163
|
+
if (result.latestVersion === "2.0.1") {
|
|
521164
|
+
writeToStdout(source_default.green(`localclawd is up to date (${"2.0.1"})`) + `
|
|
521138
521165
|
`);
|
|
521139
521166
|
} else {
|
|
521140
|
-
writeToStdout(source_default.green(`Successfully updated from ${"2.0.
|
|
521167
|
+
writeToStdout(source_default.green(`Successfully updated from ${"2.0.1"} to version ${result.latestVersion}`) + `
|
|
521141
521168
|
`);
|
|
521142
521169
|
await regenerateCompletionCache();
|
|
521143
521170
|
}
|
|
@@ -521197,12 +521224,12 @@ async function update() {
|
|
|
521197
521224
|
`);
|
|
521198
521225
|
await gracefulShutdown(1);
|
|
521199
521226
|
}
|
|
521200
|
-
if (latestVersion === "2.0.
|
|
521201
|
-
writeToStdout(source_default.green(`localclawd is up to date (${"2.0.
|
|
521227
|
+
if (latestVersion === "2.0.1") {
|
|
521228
|
+
writeToStdout(source_default.green(`localclawd is up to date (${"2.0.1"})`) + `
|
|
521202
521229
|
`);
|
|
521203
521230
|
await gracefulShutdown(0);
|
|
521204
521231
|
}
|
|
521205
|
-
writeToStdout(`New version available: ${latestVersion} (current: ${"2.0.
|
|
521232
|
+
writeToStdout(`New version available: ${latestVersion} (current: ${"2.0.1"})
|
|
521206
521233
|
`);
|
|
521207
521234
|
writeToStdout(`Installing update...
|
|
521208
521235
|
`);
|
|
@@ -521247,7 +521274,7 @@ async function update() {
|
|
|
521247
521274
|
logForDebugging(`update: Installation status: ${status2}`);
|
|
521248
521275
|
switch (status2) {
|
|
521249
521276
|
case "success":
|
|
521250
|
-
writeToStdout(source_default.green(`Successfully updated from ${"2.0.
|
|
521277
|
+
writeToStdout(source_default.green(`Successfully updated from ${"2.0.1"} to version ${latestVersion}`) + `
|
|
521251
521278
|
`);
|
|
521252
521279
|
await regenerateCompletionCache();
|
|
521253
521280
|
break;
|
|
@@ -522489,7 +522516,7 @@ Run with --debug for more details.
|
|
|
522489
522516
|
}
|
|
522490
522517
|
}
|
|
522491
522518
|
logForDiagnosticsNoPII("info", "started", {
|
|
522492
|
-
version: "2.0.
|
|
522519
|
+
version: "2.0.1",
|
|
522493
522520
|
is_native_binary: isInBundledMode()
|
|
522494
522521
|
});
|
|
522495
522522
|
registerCleanup(async () => {
|
|
@@ -523273,7 +523300,7 @@ Usage: localclawd --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
523273
523300
|
pendingHookMessages
|
|
523274
523301
|
}, renderAndRun);
|
|
523275
523302
|
}
|
|
523276
|
-
}).version("2.0.
|
|
523303
|
+
}).version("2.0.1 (localclawd)", "-v, --version", "Output the version number");
|
|
523277
523304
|
program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
|
|
523278
523305
|
program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
|
|
523279
523306
|
if (canUserConfigureAdvisor()) {
|
|
@@ -523787,7 +523814,7 @@ if (false) {}
|
|
|
523787
523814
|
async function main2() {
|
|
523788
523815
|
const args = process.argv.slice(2);
|
|
523789
523816
|
if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
|
|
523790
|
-
console.log(`${"2.0.
|
|
523817
|
+
console.log(`${"2.0.1"} (localclawd)`);
|
|
523791
523818
|
return;
|
|
523792
523819
|
}
|
|
523793
523820
|
const {
|
|
@@ -523878,4 +523905,4 @@ localclawd crashed: ${msg}
|
|
|
523878
523905
|
process.exit(1);
|
|
523879
523906
|
});
|
|
523880
523907
|
|
|
523881
|
-
//# debugId=
|
|
523908
|
+
//# debugId=E7F35C77473C10C264756E2164756E21
|