localclawd 1.1.9 → 1.1.11
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 +319 -422
- package/package.json +1 -1
package/dist/cli.mjs
CHANGED
|
@@ -89253,7 +89253,7 @@ var init_isEqual = __esm(() => {
|
|
|
89253
89253
|
|
|
89254
89254
|
// src/utils/userAgent.ts
|
|
89255
89255
|
function getClaudeCodeUserAgent() {
|
|
89256
|
-
return `claude-code/${"1.1.
|
|
89256
|
+
return `claude-code/${"1.1.11"}`;
|
|
89257
89257
|
}
|
|
89258
89258
|
|
|
89259
89259
|
// src/utils/workloadContext.ts
|
|
@@ -89275,7 +89275,7 @@ function getUserAgent() {
|
|
|
89275
89275
|
const clientApp = process.env.CLAUDE_AGENT_SDK_CLIENT_APP ? `, client-app/${process.env.CLAUDE_AGENT_SDK_CLIENT_APP}` : "";
|
|
89276
89276
|
const workload = getWorkload();
|
|
89277
89277
|
const workloadSuffix = workload ? `, workload/${workload}` : "";
|
|
89278
|
-
return `claude-cli/${"1.1.
|
|
89278
|
+
return `claude-cli/${"1.1.11"} (${process.env.USER_TYPE}, ${process.env.CLAUDE_CODE_ENTRYPOINT ?? "cli"}${agentSdkVersion}${clientApp}${workloadSuffix})`;
|
|
89279
89279
|
}
|
|
89280
89280
|
function getMCPUserAgent() {
|
|
89281
89281
|
const parts = [];
|
|
@@ -89289,7 +89289,7 @@ function getMCPUserAgent() {
|
|
|
89289
89289
|
parts.push(`client-app/${process.env.CLAUDE_AGENT_SDK_CLIENT_APP}`);
|
|
89290
89290
|
}
|
|
89291
89291
|
const suffix = parts.length > 0 ? ` (${parts.join(", ")})` : "";
|
|
89292
|
-
return `claude-code/${"1.1.
|
|
89292
|
+
return `claude-code/${"1.1.11"}${suffix}`;
|
|
89293
89293
|
}
|
|
89294
89294
|
function getWebFetchUserAgent() {
|
|
89295
89295
|
return `Claude-User (${getClaudeCodeUserAgent()}; +https://support.anthropic.com/)`;
|
|
@@ -99198,7 +99198,7 @@ function getAttributionHeader(fingerprint) {
|
|
|
99198
99198
|
if (!isAttributionHeaderEnabled()) {
|
|
99199
99199
|
return "";
|
|
99200
99200
|
}
|
|
99201
|
-
const version = `${"1.1.
|
|
99201
|
+
const version = `${"1.1.11"}.${fingerprint}`;
|
|
99202
99202
|
const entrypoint = process.env.CLAUDE_CODE_ENTRYPOINT ?? "unknown";
|
|
99203
99203
|
const cch = "";
|
|
99204
99204
|
const workload = getWorkload();
|
|
@@ -104752,7 +104752,7 @@ function parseKey(keypress) {
|
|
|
104752
104752
|
wheelDown: keypress.name === "wheeldown",
|
|
104753
104753
|
home: keypress.name === "home",
|
|
104754
104754
|
end: keypress.name === "end",
|
|
104755
|
-
return: keypress.name === "return",
|
|
104755
|
+
return: keypress.name === "return" || keypress.name === "enter",
|
|
104756
104756
|
escape: keypress.name === "escape",
|
|
104757
104757
|
fn: keypress.fn,
|
|
104758
104758
|
ctrl: keypress.ctrl,
|
|
@@ -132745,7 +132745,7 @@ var init_metadata = __esm(() => {
|
|
|
132745
132745
|
COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
|
|
132746
132746
|
WHITESPACE_REGEX = /\s+/;
|
|
132747
132747
|
getVersionBase = memoize_default(() => {
|
|
132748
|
-
const match = "1.1.
|
|
132748
|
+
const match = "1.1.11".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
|
|
132749
132749
|
return match ? match[0] : undefined;
|
|
132750
132750
|
});
|
|
132751
132751
|
buildEnvContext = memoize_default(async () => {
|
|
@@ -132785,9 +132785,9 @@ var init_metadata = __esm(() => {
|
|
|
132785
132785
|
isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
|
|
132786
132786
|
isClaudeCodeAction: isEnvTruthy(process.env.CLAUDE_CODE_ACTION),
|
|
132787
132787
|
isClaudeAiAuth: isClaudeAISubscriber(),
|
|
132788
|
-
version: "1.1.
|
|
132788
|
+
version: "1.1.11",
|
|
132789
132789
|
versionBase: getVersionBase(),
|
|
132790
|
-
buildTime: "2026-04-
|
|
132790
|
+
buildTime: "2026-04-07T15:28:04.082Z",
|
|
132791
132791
|
deploymentEnvironment: env4.detectDeploymentEnvironment(),
|
|
132792
132792
|
...isEnvTruthy(process.env.GITHUB_ACTIONS) && {
|
|
132793
132793
|
githubEventName: process.env.GITHUB_EVENT_NAME,
|
|
@@ -197374,7 +197374,7 @@ function getTelemetryAttributes() {
|
|
|
197374
197374
|
attributes["session.id"] = sessionId;
|
|
197375
197375
|
}
|
|
197376
197376
|
if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
|
|
197377
|
-
attributes["app.version"] = "1.1.
|
|
197377
|
+
attributes["app.version"] = "1.1.11";
|
|
197378
197378
|
}
|
|
197379
197379
|
const oauthAccount = getOauthAccountInfo();
|
|
197380
197380
|
if (oauthAccount) {
|
|
@@ -229435,7 +229435,7 @@ function getInstallationEnv() {
|
|
|
229435
229435
|
return;
|
|
229436
229436
|
}
|
|
229437
229437
|
function getClaudeCodeVersion() {
|
|
229438
|
-
return "1.1.
|
|
229438
|
+
return "1.1.11";
|
|
229439
229439
|
}
|
|
229440
229440
|
async function getInstalledVSCodeExtensionVersion(command) {
|
|
229441
229441
|
const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
|
|
@@ -235037,7 +235037,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
|
|
|
235037
235037
|
const client4 = new Client({
|
|
235038
235038
|
name: "claude-code",
|
|
235039
235039
|
title: "Claude Code",
|
|
235040
|
-
version: "1.1.
|
|
235040
|
+
version: "1.1.11",
|
|
235041
235041
|
description: "Anthropic's agentic coding tool",
|
|
235042
235042
|
websiteUrl: PRODUCT_URL
|
|
235043
235043
|
}, {
|
|
@@ -235390,7 +235390,7 @@ var init_client9 = __esm(() => {
|
|
|
235390
235390
|
const client4 = new Client({
|
|
235391
235391
|
name: "claude-code",
|
|
235392
235392
|
title: "Claude Code",
|
|
235393
|
-
version: "1.1.
|
|
235393
|
+
version: "1.1.11",
|
|
235394
235394
|
description: "Anthropic's agentic coding tool",
|
|
235395
235395
|
websiteUrl: PRODUCT_URL
|
|
235396
235396
|
}, {
|
|
@@ -258581,7 +258581,7 @@ var init_user = __esm(() => {
|
|
|
258581
258581
|
deviceId,
|
|
258582
258582
|
sessionId: getSessionId(),
|
|
258583
258583
|
email: getEmail(),
|
|
258584
|
-
appVersion: "1.1.
|
|
258584
|
+
appVersion: "1.1.11",
|
|
258585
258585
|
platform: getHostPlatformForAnalytics(),
|
|
258586
258586
|
organizationUuid,
|
|
258587
258587
|
accountUuid,
|
|
@@ -259905,7 +259905,7 @@ async function initializeBetaTracing(resource) {
|
|
|
259905
259905
|
});
|
|
259906
259906
|
logs.setGlobalLoggerProvider(loggerProvider);
|
|
259907
259907
|
setLoggerProvider(loggerProvider);
|
|
259908
|
-
const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "1.1.
|
|
259908
|
+
const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "1.1.11");
|
|
259909
259909
|
setEventLogger(eventLogger);
|
|
259910
259910
|
process.on("beforeExit", async () => {
|
|
259911
259911
|
await loggerProvider?.forceFlush();
|
|
@@ -259945,7 +259945,7 @@ async function initializeTelemetry() {
|
|
|
259945
259945
|
const platform3 = getPlatform();
|
|
259946
259946
|
const baseAttributes = {
|
|
259947
259947
|
[ATTR_SERVICE_NAME5]: "claude-code",
|
|
259948
|
-
[ATTR_SERVICE_VERSION5]: "1.1.
|
|
259948
|
+
[ATTR_SERVICE_VERSION5]: "1.1.11"
|
|
259949
259949
|
};
|
|
259950
259950
|
if (platform3 === "wsl") {
|
|
259951
259951
|
const wslVersion = getWslVersion();
|
|
@@ -259990,7 +259990,7 @@ async function initializeTelemetry() {
|
|
|
259990
259990
|
} catch {}
|
|
259991
259991
|
};
|
|
259992
259992
|
registerCleanup(shutdownTelemetry2);
|
|
259993
|
-
return meterProvider2.getMeter("com.anthropic.claude_code", "1.1.
|
|
259993
|
+
return meterProvider2.getMeter("com.anthropic.claude_code", "1.1.11");
|
|
259994
259994
|
}
|
|
259995
259995
|
const meterProvider = new MeterProvider5({
|
|
259996
259996
|
resource,
|
|
@@ -260010,7 +260010,7 @@ async function initializeTelemetry() {
|
|
|
260010
260010
|
});
|
|
260011
260011
|
logs.setGlobalLoggerProvider(loggerProvider);
|
|
260012
260012
|
setLoggerProvider(loggerProvider);
|
|
260013
|
-
const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "1.1.
|
|
260013
|
+
const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "1.1.11");
|
|
260014
260014
|
setEventLogger(eventLogger);
|
|
260015
260015
|
logForDebugging("[3P telemetry] Event logger set successfully");
|
|
260016
260016
|
process.on("beforeExit", async () => {
|
|
@@ -260072,7 +260072,7 @@ Current timeout: ${timeoutMs}ms
|
|
|
260072
260072
|
}
|
|
260073
260073
|
};
|
|
260074
260074
|
registerCleanup(shutdownTelemetry);
|
|
260075
|
-
return meterProvider.getMeter("com.anthropic.claude_code", "1.1.
|
|
260075
|
+
return meterProvider.getMeter("com.anthropic.claude_code", "1.1.11");
|
|
260076
260076
|
}
|
|
260077
260077
|
async function flushTelemetry() {
|
|
260078
260078
|
const meterProvider = getMeterProvider();
|
|
@@ -261295,7 +261295,7 @@ function detectLinuxGlobPatternWarnings() {
|
|
|
261295
261295
|
}
|
|
261296
261296
|
async function getDoctorDiagnostic() {
|
|
261297
261297
|
const installationType = await getCurrentInstallationType();
|
|
261298
|
-
const version = typeof MACRO !== "undefined" ? "1.1.
|
|
261298
|
+
const version = typeof MACRO !== "undefined" ? "1.1.11" : "unknown";
|
|
261299
261299
|
const installationPath = await getInstallationPath();
|
|
261300
261300
|
const invokedBinary = getInvokedBinary();
|
|
261301
261301
|
const multipleInstallations = await detectMultipleInstallations();
|
|
@@ -262236,8 +262236,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
262236
262236
|
const maxVersion = await getMaxVersion();
|
|
262237
262237
|
if (maxVersion && gt(version, maxVersion)) {
|
|
262238
262238
|
logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version} to ${maxVersion}`);
|
|
262239
|
-
if (gte("1.1.
|
|
262240
|
-
logForDebugging(`Native installer: current version ${"1.1.
|
|
262239
|
+
if (gte("1.1.11", maxVersion)) {
|
|
262240
|
+
logForDebugging(`Native installer: current version ${"1.1.11"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
262241
262241
|
logEvent("tengu_native_update_skipped_max_version", {
|
|
262242
262242
|
latency_ms: Date.now() - startTime,
|
|
262243
262243
|
max_version: maxVersion,
|
|
@@ -262248,7 +262248,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
262248
262248
|
version = maxVersion;
|
|
262249
262249
|
}
|
|
262250
262250
|
}
|
|
262251
|
-
if (!forceReinstall && version === "1.1.
|
|
262251
|
+
if (!forceReinstall && version === "1.1.11" && await versionIsAvailable(version) && await isPossibleLocalClawdBinary(executablePath)) {
|
|
262252
262252
|
logForDebugging(`Found ${version} at ${executablePath}, skipping install`);
|
|
262253
262253
|
logEvent("tengu_native_update_complete", {
|
|
262254
262254
|
latency_ms: Date.now() - startTime,
|
|
@@ -334468,7 +334468,7 @@ function getAnthropicEnvMetadata() {
|
|
|
334468
334468
|
function getBuildAgeMinutes() {
|
|
334469
334469
|
if (false)
|
|
334470
334470
|
;
|
|
334471
|
-
const buildTime = new Date("2026-04-
|
|
334471
|
+
const buildTime = new Date("2026-04-07T15:28:04.082Z").getTime();
|
|
334472
334472
|
if (isNaN(buildTime))
|
|
334473
334473
|
return;
|
|
334474
334474
|
return Math.floor((Date.now() - buildTime) / 60000);
|
|
@@ -340532,10 +340532,10 @@ Resume standard operation:
|
|
|
340532
340532
|
const fullChain = parseCommandChain2(`/thinkharder ${args ?? ""}`);
|
|
340533
340533
|
if (fullChain && fullChain.length > 1) {
|
|
340534
340534
|
const validation = validateCommandChain2(fullChain);
|
|
340535
|
-
if (
|
|
340536
|
-
const
|
|
340535
|
+
if (validation.ok === false) {
|
|
340536
|
+
const msg = chainWarning2(validation.reason);
|
|
340537
340537
|
return /* @__PURE__ */ jsx_dev_runtime152.jsxDEV(ThinkHarderBanner, {
|
|
340538
|
-
onReady:
|
|
340538
|
+
onReady: () => onDone(msg)
|
|
340539
340539
|
}, undefined, false, undefined, this);
|
|
340540
340540
|
}
|
|
340541
340541
|
}
|
|
@@ -358534,7 +358534,7 @@ function Feedback({
|
|
|
358534
358534
|
platform: env4.platform,
|
|
358535
358535
|
gitRepo: envInfo.isGit,
|
|
358536
358536
|
terminal: env4.terminal,
|
|
358537
|
-
version: "1.1.
|
|
358537
|
+
version: "1.1.11",
|
|
358538
358538
|
transcript: normalizeMessagesForAPI(messages),
|
|
358539
358539
|
errors: sanitizedErrors,
|
|
358540
358540
|
lastApiRequest: getLastAPIRequest(),
|
|
@@ -358726,7 +358726,7 @@ function Feedback({
|
|
|
358726
358726
|
", ",
|
|
358727
358727
|
env4.terminal,
|
|
358728
358728
|
", v",
|
|
358729
|
-
"1.1.
|
|
358729
|
+
"1.1.11"
|
|
358730
358730
|
]
|
|
358731
358731
|
}, undefined, true, undefined, this)
|
|
358732
358732
|
]
|
|
@@ -358832,7 +358832,7 @@ ${sanitizedDescription}
|
|
|
358832
358832
|
` + `**Environment Info**
|
|
358833
358833
|
` + `- Platform: ${env4.platform}
|
|
358834
358834
|
` + `- Terminal: ${env4.terminal}
|
|
358835
|
-
` + `- Version: ${"1.1.
|
|
358835
|
+
` + `- Version: ${"1.1.11"}
|
|
358836
358836
|
` + `- Feedback ID: ${feedbackId}
|
|
358837
358837
|
` + `
|
|
358838
358838
|
**Errors**
|
|
@@ -361945,7 +361945,7 @@ function buildPrimarySection() {
|
|
|
361945
361945
|
}, undefined, false, undefined, this);
|
|
361946
361946
|
return [{
|
|
361947
361947
|
label: "Version",
|
|
361948
|
-
value: "1.1.
|
|
361948
|
+
value: "1.1.11"
|
|
361949
361949
|
}, {
|
|
361950
361950
|
label: "Session name",
|
|
361951
361951
|
value: nameValue
|
|
@@ -363516,51 +363516,29 @@ function SimpleMenu({ items, isActive, onSelect, onCancel }) {
|
|
|
363516
363516
|
const VISIBLE = Math.min(7, items.length);
|
|
363517
363517
|
const [focusIdx, setFocusIdx] = import_react100.useState(0);
|
|
363518
363518
|
const [fromIdx, setFromIdx] = import_react100.useState(0);
|
|
363519
|
-
|
|
363520
|
-
|
|
363521
|
-
|
|
363522
|
-
|
|
363523
|
-
|
|
363524
|
-
|
|
363525
|
-
|
|
363526
|
-
|
|
363527
|
-
}
|
|
363528
|
-
|
|
363529
|
-
|
|
363530
|
-
|
|
363531
|
-
|
|
363532
|
-
|
|
363533
|
-
|
|
363534
|
-
|
|
363535
|
-
|
|
363536
|
-
|
|
363537
|
-
|
|
363538
|
-
|
|
363539
|
-
|
|
363540
|
-
|
|
363541
|
-
|
|
363542
|
-
stateRef.current.focusIdx = next;
|
|
363543
|
-
stateRef.current.fromIdx = nextFrom;
|
|
363544
|
-
setFocusIdx(next);
|
|
363545
|
-
setFromIdx(nextFrom);
|
|
363546
|
-
} else if (str2 === "\r" || str2 === `
|
|
363547
|
-
` || str2 === `\r
|
|
363548
|
-
`) {
|
|
363549
|
-
if (s.done)
|
|
363550
|
-
return;
|
|
363551
|
-
stateRef.current.done = true;
|
|
363552
|
-
const item = s.items[s.focusIdx];
|
|
363553
|
-
if (item)
|
|
363554
|
-
onSelect(item.value);
|
|
363555
|
-
} else if (str2 === "\x1B" || str2 === "\x1B\x1B") {
|
|
363556
|
-
onCancel?.();
|
|
363557
|
-
}
|
|
363558
|
-
};
|
|
363559
|
-
process.stdin.on("data", onData);
|
|
363560
|
-
return () => {
|
|
363561
|
-
process.stdin.off("data", onData);
|
|
363562
|
-
};
|
|
363563
|
-
}, [isActive, onSelect, onCancel]);
|
|
363519
|
+
use_input_default((input, key) => {
|
|
363520
|
+
if (key.upArrow) {
|
|
363521
|
+
setFocusIdx((prev) => {
|
|
363522
|
+
const next = Math.max(0, prev - 1);
|
|
363523
|
+
if (next < fromIdx)
|
|
363524
|
+
setFromIdx(next);
|
|
363525
|
+
return next;
|
|
363526
|
+
});
|
|
363527
|
+
} else if (key.downArrow) {
|
|
363528
|
+
setFocusIdx((prev) => {
|
|
363529
|
+
const next = Math.min(items.length - 1, prev + 1);
|
|
363530
|
+
if (next >= fromIdx + VISIBLE)
|
|
363531
|
+
setFromIdx(next - VISIBLE + 1);
|
|
363532
|
+
return next;
|
|
363533
|
+
});
|
|
363534
|
+
} else if (key.return) {
|
|
363535
|
+
const item = items[focusIdx];
|
|
363536
|
+
if (item)
|
|
363537
|
+
onSelect(item.value);
|
|
363538
|
+
} else if (key.escape || key.ctrl && input === "c") {
|
|
363539
|
+
onCancel?.();
|
|
363540
|
+
}
|
|
363541
|
+
}, { isActive });
|
|
363564
363542
|
const visible = items.slice(fromIdx, fromIdx + VISIBLE);
|
|
363565
363543
|
const showScrollUp = fromIdx > 0;
|
|
363566
363544
|
const showScrollDown = fromIdx + VISIBLE < items.length;
|
|
@@ -363651,45 +363629,25 @@ function LocalBackendSetup({
|
|
|
363651
363629
|
const nextValue = step === "baseUrl" ? baseUrl : step === "model" ? model : apiKey;
|
|
363652
363630
|
setCursorOffset(nextValue.length);
|
|
363653
363631
|
}, [step, baseUrl, model, apiKey]);
|
|
363654
|
-
|
|
363655
|
-
|
|
363656
|
-
|
|
363657
|
-
|
|
363658
|
-
|
|
363659
|
-
|
|
363660
|
-
if (!process.stdin.readableFlowing) {
|
|
363661
|
-
process.stdin.resume();
|
|
363662
|
-
}
|
|
363663
|
-
const onData = (chunk) => {
|
|
363664
|
-
const str2 = typeof chunk === "string" ? chunk : chunk.toString("utf8");
|
|
363665
|
-
const current = scanStepRef.current;
|
|
363666
|
-
if (current === "networkScan") {
|
|
363667
|
-
if (str2 === "\x1B" || str2 === "\x1B\x1B" || str2 === "\r" || str2 === `
|
|
363668
|
-
` || str2 === `\r
|
|
363669
|
-
`) {
|
|
363670
|
-
networkAbortRef.current?.abort();
|
|
363671
|
-
setDiscoveredEndpoints(discoveredSnapshotRef.current);
|
|
363672
|
-
setStep("selectEndpoint");
|
|
363673
|
-
}
|
|
363674
|
-
} else if (current === "scanningModels") {
|
|
363675
|
-
if (str2 === "\x1B" || str2 === "\x1B\x1B") {
|
|
363676
|
-
modelScanAbortRef.current?.abort();
|
|
363677
|
-
goBack();
|
|
363678
|
-
} else if (str2 === "\r" || str2 === `
|
|
363679
|
-
` || str2 === `\r
|
|
363680
|
-
`) {
|
|
363681
|
-
modelScanAbortRef.current?.abort();
|
|
363682
|
-
setScanError("Model scan skipped. Enter the model name manually.");
|
|
363683
|
-
setAvailableModels([]);
|
|
363684
|
-
setStep("model");
|
|
363685
|
-
}
|
|
363632
|
+
use_input_default((_input, key) => {
|
|
363633
|
+
if (step === "networkScan") {
|
|
363634
|
+
if (key.escape || key.return) {
|
|
363635
|
+
networkAbortRef.current?.abort();
|
|
363636
|
+
setDiscoveredEndpoints(discoveredSnapshotRef.current);
|
|
363637
|
+
setStep("selectEndpoint");
|
|
363686
363638
|
}
|
|
363687
|
-
}
|
|
363688
|
-
|
|
363689
|
-
|
|
363690
|
-
|
|
363691
|
-
|
|
363692
|
-
|
|
363639
|
+
} else if (step === "scanningModels") {
|
|
363640
|
+
if (key.escape) {
|
|
363641
|
+
modelScanAbortRef.current?.abort();
|
|
363642
|
+
goBack();
|
|
363643
|
+
} else if (key.return) {
|
|
363644
|
+
modelScanAbortRef.current?.abort();
|
|
363645
|
+
setScanError("Model scan skipped. Enter the model name manually.");
|
|
363646
|
+
setAvailableModels([]);
|
|
363647
|
+
setStep("model");
|
|
363648
|
+
}
|
|
363649
|
+
}
|
|
363650
|
+
}, { isActive: step === "networkScan" || step === "scanningModels" });
|
|
363693
363651
|
function goBack() {
|
|
363694
363652
|
setError(null);
|
|
363695
363653
|
switch (step) {
|
|
@@ -363800,11 +363758,11 @@ function LocalBackendSetup({
|
|
|
363800
363758
|
fetchAvailableModels(url3, provider, apiKey, abort.signal).then((result) => {
|
|
363801
363759
|
if (abort.signal.aborted)
|
|
363802
363760
|
return;
|
|
363803
|
-
if (result.ok) {
|
|
363761
|
+
if (result.ok === true) {
|
|
363804
363762
|
setAvailableModels(result.models);
|
|
363805
363763
|
setScanError(null);
|
|
363806
363764
|
} else {
|
|
363807
|
-
setScanError(result.error);
|
|
363765
|
+
setScanError(result.ok === false ? result.error : "Scan failed");
|
|
363808
363766
|
setAvailableModels([]);
|
|
363809
363767
|
}
|
|
363810
363768
|
setStep("model");
|
|
@@ -366595,7 +366553,7 @@ function Config({
|
|
|
366595
366553
|
}
|
|
366596
366554
|
}, undefined, false, undefined, this)
|
|
366597
366555
|
}, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime179.jsxDEV(ChannelDowngradeDialog, {
|
|
366598
|
-
currentVersion: "1.1.
|
|
366556
|
+
currentVersion: "1.1.11",
|
|
366599
366557
|
onChoice: (choice) => {
|
|
366600
366558
|
setShowSubmenu(null);
|
|
366601
366559
|
setTabsHidden(false);
|
|
@@ -366607,7 +366565,7 @@ function Config({
|
|
|
366607
366565
|
autoUpdatesChannel: "stable"
|
|
366608
366566
|
};
|
|
366609
366567
|
if (choice === "stay") {
|
|
366610
|
-
newSettings.minimumVersion = "1.1.
|
|
366568
|
+
newSettings.minimumVersion = "1.1.11";
|
|
366611
366569
|
}
|
|
366612
366570
|
updateSettingsForSource("userSettings", newSettings);
|
|
366613
366571
|
setSettingsData((prev_27) => ({
|
|
@@ -374105,12 +374063,13 @@ var React62, jsx_dev_runtime204, heartbeatInterval = 5, heartbeatBeat = 0, heart
|
|
|
374105
374063
|
const fullChain = parseCommandChain2(`/heartbeat ${rawArgs}`);
|
|
374106
374064
|
if (fullChain && fullChain.length > 1) {
|
|
374107
374065
|
const validation = validateCommandChain2(fullChain);
|
|
374108
|
-
if (
|
|
374066
|
+
if (validation.ok === false) {
|
|
374067
|
+
const msg = chainWarning2(validation.reason);
|
|
374109
374068
|
return /* @__PURE__ */ jsx_dev_runtime204.jsxDEV(HeartbeatBanner, {
|
|
374110
374069
|
beat: 0,
|
|
374111
374070
|
intervalMins: heartbeatInterval,
|
|
374112
|
-
task:
|
|
374113
|
-
onReady: () => onDone(
|
|
374071
|
+
task: msg,
|
|
374072
|
+
onReady: () => onDone(msg)
|
|
374114
374073
|
}, undefined, false, undefined, this);
|
|
374115
374074
|
}
|
|
374116
374075
|
}
|
|
@@ -374610,7 +374569,7 @@ var React65, jsx_dev_runtime207, call27 = async (onDone, _context, args) => {
|
|
|
374610
374569
|
const fullChain = parseCommandChain(`/research ${rawArgs}`);
|
|
374611
374570
|
if (fullChain && fullChain.length > 1) {
|
|
374612
374571
|
const validation = validateCommandChain(fullChain);
|
|
374613
|
-
if (
|
|
374572
|
+
if (validation.ok === false) {
|
|
374614
374573
|
const msg = chainWarning(validation.reason);
|
|
374615
374574
|
return /* @__PURE__ */ jsx_dev_runtime207.jsxDEV(ResearchWarning, {
|
|
374616
374575
|
message: msg,
|
|
@@ -376339,7 +376298,7 @@ function HelpV2(t0) {
|
|
|
376339
376298
|
let t6;
|
|
376340
376299
|
if ($2[31] !== tabs) {
|
|
376341
376300
|
t6 = /* @__PURE__ */ jsx_dev_runtime214.jsxDEV(Tabs, {
|
|
376342
|
-
title: `localclawd v${"1.1.
|
|
376301
|
+
title: `localclawd v${"1.1.11"}`,
|
|
376343
376302
|
color: "professionalBlue",
|
|
376344
376303
|
defaultTab: "general",
|
|
376345
376304
|
children: tabs
|
|
@@ -400497,7 +400456,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
|
|
|
400497
400456
|
return [];
|
|
400498
400457
|
}
|
|
400499
400458
|
}
|
|
400500
|
-
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.
|
|
400459
|
+
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.11") {
|
|
400501
400460
|
if (process.env.USER_TYPE === "ant") {
|
|
400502
400461
|
const changelog = MACRO.VERSION_CHANGELOG;
|
|
400503
400462
|
if (changelog) {
|
|
@@ -400524,7 +400483,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.9") {
|
|
|
400524
400483
|
releaseNotes
|
|
400525
400484
|
};
|
|
400526
400485
|
}
|
|
400527
|
-
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.1.
|
|
400486
|
+
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.1.11") {
|
|
400528
400487
|
if (process.env.USER_TYPE === "ant") {
|
|
400529
400488
|
const changelog = MACRO.VERSION_CHANGELOG;
|
|
400530
400489
|
if (changelog) {
|
|
@@ -401691,7 +401650,7 @@ function getRecentActivitySync() {
|
|
|
401691
401650
|
return cachedActivity;
|
|
401692
401651
|
}
|
|
401693
401652
|
function getLogoDisplayData() {
|
|
401694
|
-
const version = process.env.DEMO_VERSION ?? "1.1.
|
|
401653
|
+
const version = process.env.DEMO_VERSION ?? "1.1.11";
|
|
401695
401654
|
const serverUrl = getDirectConnectServerUrl();
|
|
401696
401655
|
const displayPath = process.env.DEMO_VERSION ? "/code/claude" : getDisplayPath(getCwd());
|
|
401697
401656
|
const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
|
|
@@ -402965,7 +402924,7 @@ function LogoV2() {
|
|
|
402965
402924
|
if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
|
|
402966
402925
|
t2 = () => {
|
|
402967
402926
|
const currentConfig = getGlobalConfig();
|
|
402968
|
-
if (currentConfig.lastReleaseNotesSeen === "1.1.
|
|
402927
|
+
if (currentConfig.lastReleaseNotesSeen === "1.1.11") {
|
|
402969
402928
|
return;
|
|
402970
402929
|
}
|
|
402971
402930
|
saveGlobalConfig(_temp327);
|
|
@@ -403641,12 +403600,12 @@ function LogoV2() {
|
|
|
403641
403600
|
return t41;
|
|
403642
403601
|
}
|
|
403643
403602
|
function _temp327(current) {
|
|
403644
|
-
if (current.lastReleaseNotesSeen === "1.1.
|
|
403603
|
+
if (current.lastReleaseNotesSeen === "1.1.11") {
|
|
403645
403604
|
return current;
|
|
403646
403605
|
}
|
|
403647
403606
|
return {
|
|
403648
403607
|
...current,
|
|
403649
|
-
lastReleaseNotesSeen: "1.1.
|
|
403608
|
+
lastReleaseNotesSeen: "1.1.11"
|
|
403650
403609
|
};
|
|
403651
403610
|
}
|
|
403652
403611
|
function _temp245(s_0) {
|
|
@@ -429848,7 +429807,7 @@ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
|
|
|
429848
429807
|
smapsRollup,
|
|
429849
429808
|
platform: process.platform,
|
|
429850
429809
|
nodeVersion: process.version,
|
|
429851
|
-
ccVersion: "1.1.
|
|
429810
|
+
ccVersion: "1.1.11"
|
|
429852
429811
|
};
|
|
429853
429812
|
}
|
|
429854
429813
|
async function performHeapDump(trigger = "manual", dumpNumber = 0) {
|
|
@@ -430433,7 +430392,7 @@ var init_bridge_kick = __esm(() => {
|
|
|
430433
430392
|
var call64 = async () => {
|
|
430434
430393
|
return {
|
|
430435
430394
|
type: "text",
|
|
430436
|
-
value: `${"1.1.
|
|
430395
|
+
value: `${"1.1.11"} (built ${"2026-04-07T15:28:04.082Z"})`
|
|
430437
430396
|
};
|
|
430438
430397
|
}, version, version_default;
|
|
430439
430398
|
var init_version = __esm(() => {
|
|
@@ -432424,6 +432383,8 @@ var init_stickers2 = __esm(() => {
|
|
|
432424
432383
|
type: "local",
|
|
432425
432384
|
name: "stickers",
|
|
432426
432385
|
description: "Order localclawd stickers",
|
|
432386
|
+
isEnabled: () => false,
|
|
432387
|
+
isHidden: true,
|
|
432427
432388
|
supportsNonInteractive: false,
|
|
432428
432389
|
load: () => Promise.resolve().then(() => (init_stickers(), exports_stickers))
|
|
432429
432390
|
};
|
|
@@ -439369,7 +439330,7 @@ function generateHtmlReport(data, insights) {
|
|
|
439369
439330
|
</html>`;
|
|
439370
439331
|
}
|
|
439371
439332
|
function buildExportData(data, insights, facets, remoteStats) {
|
|
439372
|
-
const version2 = typeof MACRO !== "undefined" ? "1.1.
|
|
439333
|
+
const version2 = typeof MACRO !== "undefined" ? "1.1.11" : "unknown";
|
|
439373
439334
|
const remote_hosts_collected = remoteStats?.hosts.filter((h) => h.sessionCount > 0).map((h) => h.name);
|
|
439374
439335
|
const facets_summary = {
|
|
439375
439336
|
total: facets.size,
|
|
@@ -443536,7 +443497,7 @@ var init_sessionStorage = __esm(() => {
|
|
|
443536
443497
|
init_settings2();
|
|
443537
443498
|
init_slowOperations();
|
|
443538
443499
|
init_uuid();
|
|
443539
|
-
VERSION6 = typeof MACRO !== "undefined" ? "1.1.
|
|
443500
|
+
VERSION6 = typeof MACRO !== "undefined" ? "1.1.11" : "unknown";
|
|
443540
443501
|
MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
|
|
443541
443502
|
SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
|
|
443542
443503
|
EPHEMERAL_PROGRESS_TYPES = new Set([
|
|
@@ -444738,7 +444699,7 @@ var init_filesystem = __esm(() => {
|
|
|
444738
444699
|
});
|
|
444739
444700
|
getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
|
|
444740
444701
|
const nonce = randomBytes19(16).toString("hex");
|
|
444741
|
-
return join130(getClaudeTempDir(), "bundled-skills", "1.1.
|
|
444702
|
+
return join130(getClaudeTempDir(), "bundled-skills", "1.1.11", nonce);
|
|
444742
444703
|
});
|
|
444743
444704
|
getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
|
|
444744
444705
|
});
|
|
@@ -450737,7 +450698,7 @@ function computeFingerprint(messageText, version2) {
|
|
|
450737
450698
|
}
|
|
450738
450699
|
function computeFingerprintFromMessages(messages) {
|
|
450739
450700
|
const firstMessageText = extractFirstMessageText(messages);
|
|
450740
|
-
return computeFingerprint(firstMessageText, "1.1.
|
|
450701
|
+
return computeFingerprint(firstMessageText, "1.1.11");
|
|
450741
450702
|
}
|
|
450742
450703
|
var FINGERPRINT_SALT = "59cf53e54c78";
|
|
450743
450704
|
var init_fingerprint = () => {};
|
|
@@ -452592,7 +452553,7 @@ async function sideQuery(opts) {
|
|
|
452592
452553
|
betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
|
|
452593
452554
|
}
|
|
452594
452555
|
const messageText = extractFirstUserMessageText(messages);
|
|
452595
|
-
const fingerprint = computeFingerprint(messageText, "1.1.
|
|
452556
|
+
const fingerprint = computeFingerprint(messageText, "1.1.11");
|
|
452596
452557
|
const attributionHeader = getAttributionHeader(fingerprint);
|
|
452597
452558
|
const systemBlocks = [
|
|
452598
452559
|
attributionHeader ? { type: "text", text: attributionHeader } : null,
|
|
@@ -457390,7 +457351,7 @@ function buildSystemInitMessage(inputs) {
|
|
|
457390
457351
|
slash_commands: inputs.commands.filter((c5) => c5.userInvocable !== false).map((c5) => c5.name),
|
|
457391
457352
|
apiKeySource: getAnthropicApiKeyWithSource().source,
|
|
457392
457353
|
betas: getSdkBetas(),
|
|
457393
|
-
claude_code_version: "1.1.
|
|
457354
|
+
claude_code_version: "1.1.11",
|
|
457394
457355
|
output_style: outputStyle2,
|
|
457395
457356
|
agents: inputs.agents.map((agent) => agent.agentType),
|
|
457396
457357
|
skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill) => skill.name),
|
|
@@ -471969,7 +471930,7 @@ var init_useVoiceEnabled = __esm(() => {
|
|
|
471969
471930
|
function getSemverPart(version2) {
|
|
471970
471931
|
return `${import_semver12.major(version2, { loose: true })}.${import_semver12.minor(version2, { loose: true })}.${import_semver12.patch(version2, { loose: true })}`;
|
|
471971
471932
|
}
|
|
471972
|
-
function useUpdateNotification(updatedVersion, initialVersion = "1.1.
|
|
471933
|
+
function useUpdateNotification(updatedVersion, initialVersion = "1.1.11") {
|
|
471973
471934
|
const [lastNotifiedSemver, setLastNotifiedSemver] = import_react228.useState(() => getSemverPart(initialVersion));
|
|
471974
471935
|
if (!updatedVersion) {
|
|
471975
471936
|
return null;
|
|
@@ -472009,7 +471970,7 @@ function AutoUpdater({
|
|
|
472009
471970
|
return;
|
|
472010
471971
|
}
|
|
472011
471972
|
if (false) {}
|
|
472012
|
-
const currentVersion = "1.1.
|
|
471973
|
+
const currentVersion = "1.1.11";
|
|
472013
471974
|
const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
472014
471975
|
let latestVersion = await getLatestVersion(channel);
|
|
472015
471976
|
const isDisabled = isAutoUpdaterDisabled();
|
|
@@ -472220,12 +472181,12 @@ function NativeAutoUpdater({
|
|
|
472220
472181
|
logEvent("tengu_native_auto_updater_start", {});
|
|
472221
472182
|
try {
|
|
472222
472183
|
const maxVersion = await getMaxVersion();
|
|
472223
|
-
if (maxVersion && gt("1.1.
|
|
472184
|
+
if (maxVersion && gt("1.1.11", maxVersion)) {
|
|
472224
472185
|
const msg = await getMaxVersionMessage();
|
|
472225
472186
|
setMaxVersionIssue(msg ?? "affects your version");
|
|
472226
472187
|
}
|
|
472227
472188
|
const result = await installLatest(channel);
|
|
472228
|
-
const currentVersion = "1.1.
|
|
472189
|
+
const currentVersion = "1.1.11";
|
|
472229
472190
|
const latencyMs = Date.now() - startTime;
|
|
472230
472191
|
if (result.lockFailed) {
|
|
472231
472192
|
logEvent("tengu_native_auto_updater_lock_contention", {
|
|
@@ -472360,17 +472321,17 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
472360
472321
|
const maxVersion = await getMaxVersion();
|
|
472361
472322
|
if (maxVersion && latest && gt(latest, maxVersion)) {
|
|
472362
472323
|
logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
|
|
472363
|
-
if (gte("1.1.
|
|
472364
|
-
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.1.
|
|
472324
|
+
if (gte("1.1.11", maxVersion)) {
|
|
472325
|
+
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.1.11"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
472365
472326
|
setUpdateAvailable(false);
|
|
472366
472327
|
return;
|
|
472367
472328
|
}
|
|
472368
472329
|
latest = maxVersion;
|
|
472369
472330
|
}
|
|
472370
|
-
const hasUpdate = latest && !gte("1.1.
|
|
472331
|
+
const hasUpdate = latest && !gte("1.1.11", latest) && !shouldSkipVersion(latest);
|
|
472371
472332
|
setUpdateAvailable(!!hasUpdate);
|
|
472372
472333
|
if (hasUpdate) {
|
|
472373
|
-
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.1.
|
|
472334
|
+
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.1.11"} -> ${latest}`);
|
|
472374
472335
|
}
|
|
472375
472336
|
};
|
|
472376
472337
|
$2[0] = t1;
|
|
@@ -472404,7 +472365,7 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
472404
472365
|
wrap: "truncate",
|
|
472405
472366
|
children: [
|
|
472406
472367
|
"currentVersion: ",
|
|
472407
|
-
"1.1.
|
|
472368
|
+
"1.1.11"
|
|
472408
472369
|
]
|
|
472409
472370
|
}, undefined, true, undefined, this);
|
|
472410
472371
|
$2[3] = verbose;
|
|
@@ -479962,7 +479923,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
|
|
|
479962
479923
|
project_dir: getOriginalCwd(),
|
|
479963
479924
|
added_dirs: addedDirs
|
|
479964
479925
|
},
|
|
479965
|
-
version: "1.1.
|
|
479926
|
+
version: "1.1.11",
|
|
479966
479927
|
output_style: {
|
|
479967
479928
|
name: outputStyleName
|
|
479968
479929
|
},
|
|
@@ -491522,7 +491483,7 @@ async function submitTranscriptShare(messages, trigger, appearanceId) {
|
|
|
491522
491483
|
} catch {}
|
|
491523
491484
|
const data = {
|
|
491524
491485
|
trigger,
|
|
491525
|
-
version: "1.1.
|
|
491486
|
+
version: "1.1.11",
|
|
491526
491487
|
platform: process.platform,
|
|
491527
491488
|
transcript,
|
|
491528
491489
|
subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
|
|
@@ -503111,7 +503072,7 @@ function WelcomeV2() {
|
|
|
503111
503072
|
dimColor: true,
|
|
503112
503073
|
children: [
|
|
503113
503074
|
"v",
|
|
503114
|
-
"1.1.
|
|
503075
|
+
"1.1.11"
|
|
503115
503076
|
]
|
|
503116
503077
|
}, undefined, true, undefined, this)
|
|
503117
503078
|
]
|
|
@@ -503146,38 +503107,17 @@ function StartPage({ currentConfig, onDone }) {
|
|
|
503146
503107
|
const hasSavedConfig = hasSavedBackendConfig(currentConfig);
|
|
503147
503108
|
const options = hasSavedConfig ? CONTINUE_OPTIONS : SETUP_OPTIONS;
|
|
503148
503109
|
const [focusIdx, setFocusIdx] = import_react321.useState(0);
|
|
503149
|
-
|
|
503150
|
-
|
|
503151
|
-
|
|
503152
|
-
if (
|
|
503153
|
-
|
|
503110
|
+
use_input_default((input, key) => {
|
|
503111
|
+
if (key.upArrow) {
|
|
503112
|
+
setFocusIdx((i2) => (i2 - 1 + options.length) % options.length);
|
|
503113
|
+
} else if (key.downArrow) {
|
|
503114
|
+
setFocusIdx((i2) => (i2 + 1) % options.length);
|
|
503115
|
+
} else if (key.return) {
|
|
503116
|
+
onDone(options[focusIdx].value);
|
|
503117
|
+
} else if (key.escape || key.ctrl && input === "c") {
|
|
503118
|
+
gracefulShutdownSync(0);
|
|
503154
503119
|
}
|
|
503155
|
-
|
|
503156
|
-
const str2 = typeof chunk2 === "string" ? chunk2 : chunk2.toString("utf8");
|
|
503157
|
-
if (str2 === "\x1B[A" || str2 === "\x1BOA") {
|
|
503158
|
-
const next = (stateRef.current.focusIdx - 1 + stateRef.current.options.length) % stateRef.current.options.length;
|
|
503159
|
-
stateRef.current.focusIdx = next;
|
|
503160
|
-
setFocusIdx(next);
|
|
503161
|
-
} else if (str2 === "\x1B[B" || str2 === "\x1BOB") {
|
|
503162
|
-
const next = (stateRef.current.focusIdx + 1) % stateRef.current.options.length;
|
|
503163
|
-
stateRef.current.focusIdx = next;
|
|
503164
|
-
setFocusIdx(next);
|
|
503165
|
-
} else if (str2 === "\r" || str2 === `
|
|
503166
|
-
` || str2 === `\r
|
|
503167
|
-
`) {
|
|
503168
|
-
if (stateRef.current.done)
|
|
503169
|
-
return;
|
|
503170
|
-
stateRef.current.done = true;
|
|
503171
|
-
const chosen = stateRef.current.options[stateRef.current.focusIdx];
|
|
503172
|
-
if (chosen)
|
|
503173
|
-
onDone(chosen.value);
|
|
503174
|
-
}
|
|
503175
|
-
};
|
|
503176
|
-
process.stdin.on("data", onData);
|
|
503177
|
-
return () => {
|
|
503178
|
-
process.stdin.off("data", onData);
|
|
503179
|
-
};
|
|
503180
|
-
}, [onDone]);
|
|
503120
|
+
});
|
|
503181
503121
|
return /* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedBox_default, {
|
|
503182
503122
|
flexDirection: "column",
|
|
503183
503123
|
gap: 1,
|
|
@@ -503286,7 +503226,7 @@ function StartPage({ currentConfig, onDone }) {
|
|
|
503286
503226
|
}, undefined, false, undefined, this),
|
|
503287
503227
|
/* @__PURE__ */ jsx_dev_runtime483.jsxDEV(ThemedText, {
|
|
503288
503228
|
dimColor: true,
|
|
503289
|
-
children: "↑↓ navigate · Enter confirm"
|
|
503229
|
+
children: "↑↓ navigate · Enter confirm · Esc exit"
|
|
503290
503230
|
}, undefined, false, undefined, this)
|
|
503291
503231
|
]
|
|
503292
503232
|
}, undefined, true, undefined, this)
|
|
@@ -503296,6 +503236,7 @@ function StartPage({ currentConfig, onDone }) {
|
|
|
503296
503236
|
var import_react321, jsx_dev_runtime483, CONTINUE_OPTIONS, SETUP_OPTIONS;
|
|
503297
503237
|
var init_StartPage = __esm(() => {
|
|
503298
503238
|
init_ink2();
|
|
503239
|
+
init_gracefulShutdown();
|
|
503299
503240
|
init_providers();
|
|
503300
503241
|
init_WelcomeV2();
|
|
503301
503242
|
import_react321 = __toESM(require_react(), 1);
|
|
@@ -503452,51 +503393,33 @@ var exports_Onboarding = {};
|
|
|
503452
503393
|
__export(exports_Onboarding, {
|
|
503453
503394
|
Onboarding: () => Onboarding
|
|
503454
503395
|
});
|
|
503455
|
-
function SimpleMenu2({ items, onSelect, onCancel }) {
|
|
503396
|
+
function SimpleMenu2({ items, isActive, onSelect, onCancel }) {
|
|
503456
503397
|
const VISIBLE = Math.min(7, items.length);
|
|
503457
503398
|
const [focusIdx, setFocusIdx] = import_react324.useState(0);
|
|
503458
503399
|
const [fromIdx, setFromIdx] = import_react324.useState(0);
|
|
503459
|
-
|
|
503460
|
-
|
|
503461
|
-
|
|
503462
|
-
|
|
503463
|
-
|
|
503464
|
-
|
|
503465
|
-
|
|
503466
|
-
|
|
503467
|
-
|
|
503468
|
-
|
|
503469
|
-
const next = Math.
|
|
503470
|
-
|
|
503471
|
-
|
|
503472
|
-
|
|
503473
|
-
|
|
503474
|
-
|
|
503475
|
-
|
|
503476
|
-
|
|
503477
|
-
|
|
503478
|
-
|
|
503479
|
-
|
|
503480
|
-
|
|
503481
|
-
|
|
503482
|
-
} else if (str2 === "\r" || str2 === `
|
|
503483
|
-
` || str2 === `\r
|
|
503484
|
-
`) {
|
|
503485
|
-
if (s.done)
|
|
503486
|
-
return;
|
|
503487
|
-
stateRef.current.done = true;
|
|
503488
|
-
const item = s.items[s.focusIdx];
|
|
503489
|
-
if (item)
|
|
503490
|
-
onSelect(item.value);
|
|
503491
|
-
} else if (str2 === "\x1B" || str2 === "\x1B\x1B") {
|
|
503492
|
-
onCancel?.();
|
|
503493
|
-
}
|
|
503494
|
-
};
|
|
503495
|
-
process.stdin.on("data", onData);
|
|
503496
|
-
return () => {
|
|
503497
|
-
process.stdin.off("data", onData);
|
|
503498
|
-
};
|
|
503499
|
-
}, [onSelect, onCancel]);
|
|
503400
|
+
use_input_default((input, key) => {
|
|
503401
|
+
if (key.upArrow) {
|
|
503402
|
+
setFocusIdx((prev) => {
|
|
503403
|
+
const next = Math.max(0, prev - 1);
|
|
503404
|
+
if (next < fromIdx)
|
|
503405
|
+
setFromIdx(next);
|
|
503406
|
+
return next;
|
|
503407
|
+
});
|
|
503408
|
+
} else if (key.downArrow) {
|
|
503409
|
+
setFocusIdx((prev) => {
|
|
503410
|
+
const next = Math.min(items.length - 1, prev + 1);
|
|
503411
|
+
if (next >= fromIdx + VISIBLE)
|
|
503412
|
+
setFromIdx(next - VISIBLE + 1);
|
|
503413
|
+
return next;
|
|
503414
|
+
});
|
|
503415
|
+
} else if (key.return) {
|
|
503416
|
+
const item = items[focusIdx];
|
|
503417
|
+
if (item)
|
|
503418
|
+
onSelect(item.value);
|
|
503419
|
+
} else if (key.escape || key.ctrl && input === "c") {
|
|
503420
|
+
onCancel?.();
|
|
503421
|
+
}
|
|
503422
|
+
}, { isActive });
|
|
503500
503423
|
const visible = items.slice(fromIdx, fromIdx + VISIBLE);
|
|
503501
503424
|
return /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedBox_default, {
|
|
503502
503425
|
flexDirection: "column",
|
|
@@ -503530,25 +503453,11 @@ function SimpleMenu2({ items, onSelect, onCancel }) {
|
|
|
503530
503453
|
]
|
|
503531
503454
|
}, undefined, true, undefined, this);
|
|
503532
503455
|
}
|
|
503533
|
-
function PressEnterToContinue2({ onContinue }) {
|
|
503534
|
-
|
|
503535
|
-
|
|
503536
|
-
|
|
503537
|
-
|
|
503538
|
-
const onData = (chunk2) => {
|
|
503539
|
-
const str2 = typeof chunk2 === "string" ? chunk2 : chunk2.toString("utf8");
|
|
503540
|
-
if ((str2 === "\r" || str2 === `
|
|
503541
|
-
` || str2 === `\r
|
|
503542
|
-
`) && !doneRef.current) {
|
|
503543
|
-
doneRef.current = true;
|
|
503544
|
-
onContinue();
|
|
503545
|
-
}
|
|
503546
|
-
};
|
|
503547
|
-
process.stdin.on("data", onData);
|
|
503548
|
-
return () => {
|
|
503549
|
-
process.stdin.off("data", onData);
|
|
503550
|
-
};
|
|
503551
|
-
}, [onContinue]);
|
|
503456
|
+
function PressEnterToContinue2({ isActive, onContinue }) {
|
|
503457
|
+
use_input_default((_input, key) => {
|
|
503458
|
+
if (key.return)
|
|
503459
|
+
onContinue();
|
|
503460
|
+
}, { isActive });
|
|
503552
503461
|
return /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503553
503462
|
color: "permission",
|
|
503554
503463
|
children: [
|
|
@@ -503608,116 +503517,127 @@ function Onboarding({ onDone, showWelcome = true }) {
|
|
|
503608
503517
|
];
|
|
503609
503518
|
const steps = import_react324.useMemo(() => {
|
|
503610
503519
|
const config2 = getGlobalConfig();
|
|
503611
|
-
const
|
|
503612
|
-
|
|
503613
|
-
|
|
503614
|
-
|
|
503615
|
-
|
|
503616
|
-
|
|
503617
|
-
|
|
503618
|
-
children:
|
|
503619
|
-
|
|
503620
|
-
|
|
503621
|
-
|
|
503622
|
-
|
|
503623
|
-
|
|
503624
|
-
|
|
503625
|
-
|
|
503626
|
-
|
|
503627
|
-
|
|
503628
|
-
|
|
503629
|
-
|
|
503630
|
-
|
|
503631
|
-
|
|
503632
|
-
|
|
503633
|
-
|
|
503634
|
-
|
|
503635
|
-
|
|
503636
|
-
|
|
503637
|
-
|
|
503638
|
-
|
|
503639
|
-
|
|
503640
|
-
|
|
503641
|
-
|
|
503642
|
-
|
|
503643
|
-
|
|
503644
|
-
|
|
503645
|
-
|
|
503646
|
-
|
|
503647
|
-
|
|
503648
|
-
|
|
503649
|
-
|
|
503650
|
-
|
|
503651
|
-
|
|
503520
|
+
const result = [
|
|
503521
|
+
{
|
|
503522
|
+
id: "theme",
|
|
503523
|
+
component: (isActive2) => /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedBox_default, {
|
|
503524
|
+
flexDirection: "column",
|
|
503525
|
+
gap: 1,
|
|
503526
|
+
paddingLeft: 1,
|
|
503527
|
+
children: [
|
|
503528
|
+
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503529
|
+
bold: true,
|
|
503530
|
+
children: "Choose a theme"
|
|
503531
|
+
}, undefined, false, undefined, this),
|
|
503532
|
+
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(SimpleMenu2, {
|
|
503533
|
+
items: themeItems,
|
|
503534
|
+
isActive: isActive2,
|
|
503535
|
+
onSelect: handleThemeSelection,
|
|
503536
|
+
onCancel: goToNextStep
|
|
503537
|
+
}, undefined, false, undefined, this),
|
|
503538
|
+
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503539
|
+
dimColor: true,
|
|
503540
|
+
children: "Change later with /theme"
|
|
503541
|
+
}, undefined, false, undefined, this)
|
|
503542
|
+
]
|
|
503543
|
+
}, undefined, true, undefined, this)
|
|
503544
|
+
},
|
|
503545
|
+
{
|
|
503546
|
+
id: "compact-context",
|
|
503547
|
+
component: (isActive2) => /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedBox_default, {
|
|
503548
|
+
flexDirection: "column",
|
|
503549
|
+
gap: 1,
|
|
503550
|
+
paddingLeft: 1,
|
|
503551
|
+
width: 70,
|
|
503552
|
+
children: [
|
|
503553
|
+
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503554
|
+
bold: true,
|
|
503555
|
+
children: "Choose a compact context window"
|
|
503556
|
+
}, undefined, false, undefined, this),
|
|
503557
|
+
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503558
|
+
dimColor: true,
|
|
503559
|
+
wrap: "wrap",
|
|
503560
|
+
children: "localclawd can compact earlier than the model's full advertised window. Useful for local models that degrade before hitting their limit."
|
|
503561
|
+
}, undefined, false, undefined, this),
|
|
503562
|
+
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(SimpleMenu2, {
|
|
503563
|
+
items: compactItems,
|
|
503564
|
+
isActive: isActive2,
|
|
503565
|
+
onSelect: (value) => {
|
|
503566
|
+
const compactContextWindowTokens = value === "default" ? undefined : parseInt(value, 10);
|
|
503567
|
+
saveGlobalConfig((current) => ({ ...current, compactContextWindowTokens }));
|
|
503568
|
+
goToNextStep();
|
|
503569
|
+
},
|
|
503570
|
+
onCancel: goToNextStep
|
|
503571
|
+
}, undefined, false, undefined, this),
|
|
503572
|
+
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503573
|
+
dimColor: true,
|
|
503574
|
+
children: "Change later in /config under Compact context window."
|
|
503575
|
+
}, undefined, false, undefined, this)
|
|
503576
|
+
]
|
|
503577
|
+
}, undefined, true, undefined, this)
|
|
503578
|
+
},
|
|
503579
|
+
{
|
|
503580
|
+
id: "local-backend",
|
|
503581
|
+
component: (_isActive) => /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(LocalBackendSetup, {
|
|
503582
|
+
initialConfig: {
|
|
503583
|
+
provider: config2.localBackendProvider,
|
|
503584
|
+
baseUrl: config2.localBackendBaseUrl,
|
|
503585
|
+
model: config2.localBackendModel,
|
|
503586
|
+
apiKey: config2.localBackendApiKey
|
|
503652
503587
|
},
|
|
503653
|
-
|
|
503654
|
-
|
|
503655
|
-
|
|
503656
|
-
|
|
503657
|
-
|
|
503588
|
+
onComplete: handleLocalBackendSetup,
|
|
503589
|
+
onCancel: goToNextStep,
|
|
503590
|
+
title: "Choose your local backend",
|
|
503591
|
+
description: "Set the OpenAI-compatible endpoint and model localclawd should use. You can point it at vLLM, Ollama, or any compatible host.",
|
|
503592
|
+
showSaveGloballyOption: true
|
|
503658
503593
|
}, undefined, false, undefined, this)
|
|
503659
|
-
]
|
|
503660
|
-
}, undefined, true, undefined, this);
|
|
503661
|
-
const localBackendStep = /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(LocalBackendSetup, {
|
|
503662
|
-
initialConfig: {
|
|
503663
|
-
provider: config2.localBackendProvider,
|
|
503664
|
-
baseUrl: config2.localBackendBaseUrl,
|
|
503665
|
-
model: config2.localBackendModel,
|
|
503666
|
-
apiKey: config2.localBackendApiKey
|
|
503667
503594
|
},
|
|
503668
|
-
|
|
503669
|
-
|
|
503670
|
-
|
|
503671
|
-
description: "Set the OpenAI-compatible endpoint and model localclawd should use. You can point it at vLLM, Ollama, or any compatible host.",
|
|
503672
|
-
showSaveGloballyOption: true
|
|
503673
|
-
}, undefined, false, undefined, this);
|
|
503674
|
-
const securityStep = /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedBox_default, {
|
|
503675
|
-
flexDirection: "column",
|
|
503676
|
-
gap: 1,
|
|
503677
|
-
paddingLeft: 1,
|
|
503678
|
-
children: [
|
|
503679
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503680
|
-
bold: true,
|
|
503681
|
-
children: "Security notes:"
|
|
503682
|
-
}, undefined, false, undefined, this),
|
|
503683
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedBox_default, {
|
|
503595
|
+
{
|
|
503596
|
+
id: "security",
|
|
503597
|
+
component: (isActive2) => /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedBox_default, {
|
|
503684
503598
|
flexDirection: "column",
|
|
503685
|
-
|
|
503686
|
-
|
|
503687
|
-
|
|
503688
|
-
|
|
503599
|
+
gap: 1,
|
|
503600
|
+
paddingLeft: 1,
|
|
503601
|
+
children: [
|
|
503602
|
+
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503603
|
+
bold: true,
|
|
503604
|
+
children: "Security notes:"
|
|
503605
|
+
}, undefined, false, undefined, this),
|
|
503606
|
+
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedBox_default, {
|
|
503607
|
+
flexDirection: "column",
|
|
503608
|
+
width: 70,
|
|
503609
|
+
children: /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(OrderedList, {
|
|
503689
503610
|
children: [
|
|
503690
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(
|
|
503691
|
-
children: "localclawd can make mistakes"
|
|
503692
|
-
}, undefined, false, undefined, this),
|
|
503693
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503694
|
-
dimColor: true,
|
|
503695
|
-
wrap: "wrap",
|
|
503611
|
+
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(OrderedList.Item, {
|
|
503696
503612
|
children: [
|
|
503697
|
-
|
|
503698
|
-
|
|
503613
|
+
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503614
|
+
children: "localclawd can make mistakes"
|
|
503615
|
+
}, undefined, false, undefined, this),
|
|
503616
|
+
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503617
|
+
dimColor: true,
|
|
503618
|
+
wrap: "wrap",
|
|
503619
|
+
children: [
|
|
503620
|
+
"Always review responses, especially when running code.",
|
|
503621
|
+
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(Newline, {}, undefined, false, undefined, this)
|
|
503622
|
+
]
|
|
503623
|
+
}, undefined, true, undefined, this)
|
|
503699
503624
|
]
|
|
503700
|
-
}, undefined, true, undefined, this)
|
|
503625
|
+
}, undefined, true, undefined, this),
|
|
503626
|
+
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(OrderedList.Item, {
|
|
503627
|
+
children: /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503628
|
+
children: "Due to prompt injection risks, only use it with code you trust"
|
|
503629
|
+
}, undefined, false, undefined, this)
|
|
503630
|
+
}, undefined, false, undefined, this)
|
|
503701
503631
|
]
|
|
503702
|
-
}, undefined, true, undefined, this)
|
|
503703
|
-
|
|
503704
|
-
|
|
503705
|
-
|
|
503706
|
-
|
|
503707
|
-
|
|
503708
|
-
|
|
503709
|
-
|
|
503710
|
-
|
|
503711
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(PressEnterToContinue2, {
|
|
503712
|
-
onContinue: goToNextStep
|
|
503713
|
-
}, undefined, false, undefined, this)
|
|
503714
|
-
]
|
|
503715
|
-
}, undefined, true, undefined, this);
|
|
503716
|
-
const result = [
|
|
503717
|
-
{ id: "theme", component: themeStep },
|
|
503718
|
-
{ id: "compact-context", component: compactContextStep },
|
|
503719
|
-
{ id: "local-backend", component: localBackendStep },
|
|
503720
|
-
{ id: "security", component: securityStep }
|
|
503632
|
+
}, undefined, true, undefined, this)
|
|
503633
|
+
}, undefined, false, undefined, this),
|
|
503634
|
+
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(PressEnterToContinue2, {
|
|
503635
|
+
isActive: isActive2,
|
|
503636
|
+
onContinue: goToNextStep
|
|
503637
|
+
}, undefined, false, undefined, this)
|
|
503638
|
+
]
|
|
503639
|
+
}, undefined, true, undefined, this)
|
|
503640
|
+
}
|
|
503721
503641
|
];
|
|
503722
503642
|
if (shouldOfferTerminalSetup()) {
|
|
503723
503643
|
const terminalItems = [
|
|
@@ -503726,7 +503646,7 @@ function Onboarding({ onDone, showWelcome = true }) {
|
|
|
503726
503646
|
];
|
|
503727
503647
|
result.push({
|
|
503728
503648
|
id: "terminal-setup",
|
|
503729
|
-
component: /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedBox_default, {
|
|
503649
|
+
component: (isActive2) => /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedBox_default, {
|
|
503730
503650
|
flexDirection: "column",
|
|
503731
503651
|
gap: 1,
|
|
503732
503652
|
paddingLeft: 1,
|
|
@@ -503742,7 +503662,7 @@ function Onboarding({ onDone, showWelcome = true }) {
|
|
|
503742
503662
|
children: [
|
|
503743
503663
|
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503744
503664
|
children: [
|
|
503745
|
-
"For the optimal
|
|
503665
|
+
"For the optimal experience, enable recommended settings",
|
|
503746
503666
|
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(Newline, {}, undefined, false, undefined, this),
|
|
503747
503667
|
"for your terminal:",
|
|
503748
503668
|
" ",
|
|
@@ -503751,6 +503671,7 @@ function Onboarding({ onDone, showWelcome = true }) {
|
|
|
503751
503671
|
}, undefined, true, undefined, this),
|
|
503752
503672
|
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(SimpleMenu2, {
|
|
503753
503673
|
items: terminalItems,
|
|
503674
|
+
isActive: isActive2,
|
|
503754
503675
|
onSelect: (value) => {
|
|
503755
503676
|
if (value === "install") {
|
|
503756
503677
|
setupTerminal(theme2).catch(() => {}).finally(goToNextStep);
|
|
@@ -503769,6 +503690,7 @@ function Onboarding({ onDone, showWelcome = true }) {
|
|
|
503769
503690
|
return result;
|
|
503770
503691
|
}, [goToNextStep, handleLocalBackendSetup, handleThemeSelection, theme2]);
|
|
503771
503692
|
const currentStep = steps[currentStepIndex];
|
|
503693
|
+
const isActive = true;
|
|
503772
503694
|
return /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedBox_default, {
|
|
503773
503695
|
flexDirection: "column",
|
|
503774
503696
|
children: [
|
|
@@ -503776,7 +503698,7 @@ function Onboarding({ onDone, showWelcome = true }) {
|
|
|
503776
503698
|
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedBox_default, {
|
|
503777
503699
|
flexDirection: "column",
|
|
503778
503700
|
marginTop: 1,
|
|
503779
|
-
children: currentStep?.component
|
|
503701
|
+
children: currentStep?.component(isActive)
|
|
503780
503702
|
}, undefined, false, undefined, this)
|
|
503781
503703
|
]
|
|
503782
503704
|
}, undefined, true, undefined, this);
|
|
@@ -503803,70 +503725,45 @@ __export(exports_TrustDialog, {
|
|
|
503803
503725
|
TrustDialog: () => TrustDialog
|
|
503804
503726
|
});
|
|
503805
503727
|
import { homedir as homedir36 } from "os";
|
|
503806
|
-
function acceptTrust(onDone) {
|
|
503807
|
-
try {
|
|
503808
|
-
const isHomeDir = homedir36() === getCwd();
|
|
503809
|
-
if (isHomeDir) {
|
|
503810
|
-
setSessionTrustAccepted(true);
|
|
503811
|
-
} else {
|
|
503812
|
-
try {
|
|
503813
|
-
saveCurrentProjectConfig((current) => ({ ...current, hasTrustDialogAccepted: true }));
|
|
503814
|
-
} catch {}
|
|
503815
|
-
setSessionTrustAccepted(true);
|
|
503816
|
-
}
|
|
503817
|
-
} finally {
|
|
503818
|
-
onDone();
|
|
503819
|
-
}
|
|
503820
|
-
}
|
|
503821
503728
|
function TrustDialog({ onDone }) {
|
|
503822
503729
|
const hasTrustDialogAccepted = checkHasTrustDialogAccepted();
|
|
503823
503730
|
const [focusIdx, setFocusIdx] = import_react325.useState(0);
|
|
503824
|
-
const stateRef = import_react325.useRef({ focusIdx: 0, done: false });
|
|
503825
503731
|
import_react325.useEffect(() => {
|
|
503826
503732
|
if (hasTrustDialogAccepted) {
|
|
503827
503733
|
setSessionTrustAccepted(true);
|
|
503828
503734
|
onDone();
|
|
503829
503735
|
}
|
|
503830
|
-
}, []);
|
|
503831
|
-
|
|
503736
|
+
}, [hasTrustDialogAccepted, onDone]);
|
|
503737
|
+
use_input_default((input, key) => {
|
|
503832
503738
|
if (hasTrustDialogAccepted)
|
|
503833
503739
|
return;
|
|
503834
|
-
if (
|
|
503835
|
-
|
|
503836
|
-
}
|
|
503837
|
-
|
|
503838
|
-
|
|
503839
|
-
|
|
503840
|
-
|
|
503841
|
-
stateRef.current.focusIdx = next;
|
|
503842
|
-
setFocusIdx(next);
|
|
503843
|
-
} else if (str2 === "\x1B[B" || str2 === "\x1BOB") {
|
|
503844
|
-
const next = (stateRef.current.focusIdx + 1) % OPTIONS.length;
|
|
503845
|
-
stateRef.current.focusIdx = next;
|
|
503846
|
-
setFocusIdx(next);
|
|
503847
|
-
} else if (str2 === "\r" || str2 === `
|
|
503848
|
-
` || str2 === `\r
|
|
503849
|
-
`) {
|
|
503850
|
-
if (stateRef.current.done)
|
|
503851
|
-
return;
|
|
503852
|
-
stateRef.current.done = true;
|
|
503853
|
-
const chosen = OPTIONS[stateRef.current.focusIdx];
|
|
503854
|
-
if (chosen?.value === "exit") {
|
|
503855
|
-
gracefulShutdownSync(1);
|
|
503856
|
-
} else {
|
|
503857
|
-
acceptTrust(onDone);
|
|
503858
|
-
}
|
|
503859
|
-
} else if (str2 === "\x1B" || str2 === "\x1B\x1B") {
|
|
503860
|
-
gracefulShutdownSync(0);
|
|
503861
|
-
} else if (str2 === "\x03") {
|
|
503740
|
+
if (key.upArrow) {
|
|
503741
|
+
setFocusIdx((i2) => (i2 - 1 + OPTIONS.length) % OPTIONS.length);
|
|
503742
|
+
} else if (key.downArrow) {
|
|
503743
|
+
setFocusIdx((i2) => (i2 + 1) % OPTIONS.length);
|
|
503744
|
+
} else if (key.return) {
|
|
503745
|
+
const chosen = OPTIONS[focusIdx];
|
|
503746
|
+
if (chosen?.value === "exit") {
|
|
503862
503747
|
gracefulShutdownSync(1);
|
|
503748
|
+
} else {
|
|
503749
|
+
try {
|
|
503750
|
+
const isHomeDir = homedir36() === getCwd();
|
|
503751
|
+
if (isHomeDir) {
|
|
503752
|
+
setSessionTrustAccepted(true);
|
|
503753
|
+
} else {
|
|
503754
|
+
try {
|
|
503755
|
+
saveCurrentProjectConfig((current) => ({ ...current, hasTrustDialogAccepted: true }));
|
|
503756
|
+
} catch {}
|
|
503757
|
+
setSessionTrustAccepted(true);
|
|
503758
|
+
}
|
|
503759
|
+
} finally {
|
|
503760
|
+
onDone();
|
|
503761
|
+
}
|
|
503863
503762
|
}
|
|
503864
|
-
}
|
|
503865
|
-
|
|
503866
|
-
|
|
503867
|
-
|
|
503868
|
-
};
|
|
503869
|
-
}, [hasTrustDialogAccepted, onDone]);
|
|
503763
|
+
} else if (key.escape || key.ctrl && input === "c") {
|
|
503764
|
+
gracefulShutdownSync(0);
|
|
503765
|
+
}
|
|
503766
|
+
});
|
|
503870
503767
|
if (hasTrustDialogAccepted)
|
|
503871
503768
|
return null;
|
|
503872
503769
|
const cwd2 = getFsImplementation().cwd();
|
|
@@ -504242,7 +504139,7 @@ function completeOnboarding() {
|
|
|
504242
504139
|
saveGlobalConfig((current) => ({
|
|
504243
504140
|
...current,
|
|
504244
504141
|
hasCompletedOnboarding: true,
|
|
504245
|
-
lastOnboardingVersion: "1.1.
|
|
504142
|
+
lastOnboardingVersion: "1.1.11"
|
|
504246
504143
|
}));
|
|
504247
504144
|
}
|
|
504248
504145
|
function showDialog(root3, renderer) {
|
|
@@ -508801,7 +508698,7 @@ function appendToLog(path17, message) {
|
|
|
508801
508698
|
cwd: getFsImplementation().cwd(),
|
|
508802
508699
|
userType: process.env.USER_TYPE,
|
|
508803
508700
|
sessionId: getSessionId(),
|
|
508804
|
-
version: "1.1.
|
|
508701
|
+
version: "1.1.11"
|
|
508805
508702
|
};
|
|
508806
508703
|
getLogWriter(path17).write(messageWithTimestamp);
|
|
508807
508704
|
}
|
|
@@ -512801,8 +512698,8 @@ async function getEnvLessBridgeConfig() {
|
|
|
512801
512698
|
}
|
|
512802
512699
|
async function checkEnvLessBridgeMinVersion() {
|
|
512803
512700
|
const cfg = await getEnvLessBridgeConfig();
|
|
512804
|
-
if (cfg.min_version && lt("1.1.
|
|
512805
|
-
return `Your version of localclawd (${"1.1.
|
|
512701
|
+
if (cfg.min_version && lt("1.1.11", cfg.min_version)) {
|
|
512702
|
+
return `Your version of localclawd (${"1.1.11"}) is too old for Remote Control.
|
|
512806
512703
|
Version ${cfg.min_version} or higher is required. Run \`localclawd update\` to update.`;
|
|
512807
512704
|
}
|
|
512808
512705
|
return null;
|
|
@@ -513274,7 +513171,7 @@ async function initBridgeCore(params) {
|
|
|
513274
513171
|
const rawApi = createBridgeApiClient({
|
|
513275
513172
|
baseUrl,
|
|
513276
513173
|
getAccessToken,
|
|
513277
|
-
runnerVersion: "1.1.
|
|
513174
|
+
runnerVersion: "1.1.11",
|
|
513278
513175
|
onDebug: logForDebugging,
|
|
513279
513176
|
onAuth401,
|
|
513280
513177
|
getTrustedDeviceToken
|
|
@@ -518930,7 +518827,7 @@ async function startMCPServer(cwd3, debug4, verbose) {
|
|
|
518930
518827
|
setCwd(cwd3);
|
|
518931
518828
|
const server = new Server({
|
|
518932
518829
|
name: "claude/tengu",
|
|
518933
|
-
version: "1.1.
|
|
518830
|
+
version: "1.1.11"
|
|
518934
518831
|
}, {
|
|
518935
518832
|
capabilities: {
|
|
518936
518833
|
tools: {}
|
|
@@ -520535,7 +520432,7 @@ __export(exports_update, {
|
|
|
520535
520432
|
});
|
|
520536
520433
|
async function update() {
|
|
520537
520434
|
logEvent("tengu_update_check", {});
|
|
520538
|
-
writeToStdout(`Current version: ${"1.1.
|
|
520435
|
+
writeToStdout(`Current version: ${"1.1.11"}
|
|
520539
520436
|
`);
|
|
520540
520437
|
const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
520541
520438
|
writeToStdout(`Checking for updates to ${channel} version...
|
|
@@ -520610,8 +520507,8 @@ async function update() {
|
|
|
520610
520507
|
writeToStdout(`localclawd is managed by Homebrew.
|
|
520611
520508
|
`);
|
|
520612
520509
|
const latest = await getLatestVersion(channel);
|
|
520613
|
-
if (latest && !gte("1.1.
|
|
520614
|
-
writeToStdout(`Update available: ${"1.1.
|
|
520510
|
+
if (latest && !gte("1.1.11", latest)) {
|
|
520511
|
+
writeToStdout(`Update available: ${"1.1.11"} → ${latest}
|
|
520615
520512
|
`);
|
|
520616
520513
|
writeToStdout(`
|
|
520617
520514
|
`);
|
|
@@ -520627,8 +520524,8 @@ async function update() {
|
|
|
520627
520524
|
writeToStdout(`localclawd is managed by winget.
|
|
520628
520525
|
`);
|
|
520629
520526
|
const latest = await getLatestVersion(channel);
|
|
520630
|
-
if (latest && !gte("1.1.
|
|
520631
|
-
writeToStdout(`Update available: ${"1.1.
|
|
520527
|
+
if (latest && !gte("1.1.11", latest)) {
|
|
520528
|
+
writeToStdout(`Update available: ${"1.1.11"} → ${latest}
|
|
520632
520529
|
`);
|
|
520633
520530
|
writeToStdout(`
|
|
520634
520531
|
`);
|
|
@@ -520642,8 +520539,8 @@ async function update() {
|
|
|
520642
520539
|
writeToStdout(`localclawd is managed by apk.
|
|
520643
520540
|
`);
|
|
520644
520541
|
const latest = await getLatestVersion(channel);
|
|
520645
|
-
if (latest && !gte("1.1.
|
|
520646
|
-
writeToStdout(`Update available: ${"1.1.
|
|
520542
|
+
if (latest && !gte("1.1.11", latest)) {
|
|
520543
|
+
writeToStdout(`Update available: ${"1.1.11"} → ${latest}
|
|
520647
520544
|
`);
|
|
520648
520545
|
writeToStdout(`
|
|
520649
520546
|
`);
|
|
@@ -520708,11 +520605,11 @@ async function update() {
|
|
|
520708
520605
|
`);
|
|
520709
520606
|
await gracefulShutdown(1);
|
|
520710
520607
|
}
|
|
520711
|
-
if (result.latestVersion === "1.1.
|
|
520712
|
-
writeToStdout(source_default.green(`localclawd is up to date (${"1.1.
|
|
520608
|
+
if (result.latestVersion === "1.1.11") {
|
|
520609
|
+
writeToStdout(source_default.green(`localclawd is up to date (${"1.1.11"})`) + `
|
|
520713
520610
|
`);
|
|
520714
520611
|
} else {
|
|
520715
|
-
writeToStdout(source_default.green(`Successfully updated from ${"1.1.
|
|
520612
|
+
writeToStdout(source_default.green(`Successfully updated from ${"1.1.11"} to version ${result.latestVersion}`) + `
|
|
520716
520613
|
`);
|
|
520717
520614
|
await regenerateCompletionCache();
|
|
520718
520615
|
}
|
|
@@ -520772,12 +520669,12 @@ async function update() {
|
|
|
520772
520669
|
`);
|
|
520773
520670
|
await gracefulShutdown(1);
|
|
520774
520671
|
}
|
|
520775
|
-
if (latestVersion === "1.1.
|
|
520776
|
-
writeToStdout(source_default.green(`localclawd is up to date (${"1.1.
|
|
520672
|
+
if (latestVersion === "1.1.11") {
|
|
520673
|
+
writeToStdout(source_default.green(`localclawd is up to date (${"1.1.11"})`) + `
|
|
520777
520674
|
`);
|
|
520778
520675
|
await gracefulShutdown(0);
|
|
520779
520676
|
}
|
|
520780
|
-
writeToStdout(`New version available: ${latestVersion} (current: ${"1.1.
|
|
520677
|
+
writeToStdout(`New version available: ${latestVersion} (current: ${"1.1.11"})
|
|
520781
520678
|
`);
|
|
520782
520679
|
writeToStdout(`Installing update...
|
|
520783
520680
|
`);
|
|
@@ -520822,7 +520719,7 @@ async function update() {
|
|
|
520822
520719
|
logForDebugging(`update: Installation status: ${status2}`);
|
|
520823
520720
|
switch (status2) {
|
|
520824
520721
|
case "success":
|
|
520825
|
-
writeToStdout(source_default.green(`Successfully updated from ${"1.1.
|
|
520722
|
+
writeToStdout(source_default.green(`Successfully updated from ${"1.1.11"} to version ${latestVersion}`) + `
|
|
520826
520723
|
`);
|
|
520827
520724
|
await regenerateCompletionCache();
|
|
520828
520725
|
break;
|
|
@@ -522087,7 +521984,7 @@ ${customInstructions}` : customInstructions;
|
|
|
522087
521984
|
}
|
|
522088
521985
|
}
|
|
522089
521986
|
logForDiagnosticsNoPII("info", "started", {
|
|
522090
|
-
version: "1.1.
|
|
521987
|
+
version: "1.1.11",
|
|
522091
521988
|
is_native_binary: isInBundledMode()
|
|
522092
521989
|
});
|
|
522093
521990
|
registerCleanup(async () => {
|
|
@@ -522871,7 +522768,7 @@ Usage: localclawd --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
522871
522768
|
pendingHookMessages
|
|
522872
522769
|
}, renderAndRun);
|
|
522873
522770
|
}
|
|
522874
|
-
}).version("1.1.
|
|
522771
|
+
}).version("1.1.11 (localClawd)", "-v, --version", "Output the version number");
|
|
522875
522772
|
program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
|
|
522876
522773
|
program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
|
|
522877
522774
|
if (canUserConfigureAdvisor()) {
|
|
@@ -523379,7 +523276,7 @@ if (false) {}
|
|
|
523379
523276
|
async function main2() {
|
|
523380
523277
|
const args = process.argv.slice(2);
|
|
523381
523278
|
if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
|
|
523382
|
-
console.log(`${"1.1.
|
|
523279
|
+
console.log(`${"1.1.11"} (localclawd)`);
|
|
523383
523280
|
return;
|
|
523384
523281
|
}
|
|
523385
523282
|
const {
|
|
@@ -523463,4 +523360,4 @@ async function main2() {
|
|
|
523463
523360
|
}
|
|
523464
523361
|
main2();
|
|
523465
523362
|
|
|
523466
|
-
//# debugId=
|
|
523363
|
+
//# debugId=A19C602AE08D364F64756E2164756E21
|