localclawd 1.1.8 → 1.1.10
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 +402 -765
- 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.10"}`;
|
|
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.10"} (${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.10"}${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.10"}.${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.10".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.10",
|
|
132789
132789
|
versionBase: getVersionBase(),
|
|
132790
|
-
buildTime: "2026-04-
|
|
132790
|
+
buildTime: "2026-04-07T13:57:33.526Z",
|
|
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.10";
|
|
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.10";
|
|
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.10",
|
|
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.10",
|
|
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.10",
|
|
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.10");
|
|
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.10"
|
|
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.10");
|
|
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.10");
|
|
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.10");
|
|
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.10" : "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.10", maxVersion)) {
|
|
262240
|
+
logForDebugging(`Native installer: current version ${"1.1.10"} 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.10" && 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-07T13:57:33.526Z").getTime();
|
|
334472
334472
|
if (isNaN(buildTime))
|
|
334473
334473
|
return;
|
|
334474
334474
|
return Math.floor((Date.now() - buildTime) / 60000);
|
|
@@ -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.10",
|
|
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.10"
|
|
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.10"}
|
|
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.10"
|
|
361949
361949
|
}, {
|
|
361950
361950
|
label: "Session name",
|
|
361951
361951
|
value: nameValue
|
|
@@ -363517,16 +363517,14 @@ function SimpleMenu({ items, isActive, onSelect, onCancel }) {
|
|
|
363517
363517
|
const [focusIdx, setFocusIdx] = import_react100.useState(0);
|
|
363518
363518
|
const [fromIdx, setFromIdx] = import_react100.useState(0);
|
|
363519
363519
|
use_input_default((_input, key) => {
|
|
363520
|
-
if (
|
|
363521
|
-
return;
|
|
363522
|
-
if (key.upArrow || _input === "k" && !key.ctrl) {
|
|
363520
|
+
if (key.upArrow) {
|
|
363523
363521
|
setFocusIdx((prev) => {
|
|
363524
363522
|
const next = Math.max(0, prev - 1);
|
|
363525
363523
|
if (next < fromIdx)
|
|
363526
363524
|
setFromIdx(next);
|
|
363527
363525
|
return next;
|
|
363528
363526
|
});
|
|
363529
|
-
} else if (key.downArrow
|
|
363527
|
+
} else if (key.downArrow) {
|
|
363530
363528
|
setFocusIdx((prev) => {
|
|
363531
363529
|
const next = Math.min(items.length - 1, prev + 1);
|
|
363532
363530
|
if (next >= fromIdx + VISIBLE)
|
|
@@ -363540,7 +363538,7 @@ function SimpleMenu({ items, isActive, onSelect, onCancel }) {
|
|
|
363540
363538
|
} else if (key.escape) {
|
|
363541
363539
|
onCancel?.();
|
|
363542
363540
|
}
|
|
363543
|
-
});
|
|
363541
|
+
}, { isActive });
|
|
363544
363542
|
const visible = items.slice(fromIdx, fromIdx + VISIBLE);
|
|
363545
363543
|
const showScrollUp = fromIdx > 0;
|
|
363546
363544
|
const showScrollDown = fromIdx + VISIBLE < items.length;
|
|
@@ -366555,7 +366553,7 @@ function Config({
|
|
|
366555
366553
|
}
|
|
366556
366554
|
}, undefined, false, undefined, this)
|
|
366557
366555
|
}, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime179.jsxDEV(ChannelDowngradeDialog, {
|
|
366558
|
-
currentVersion: "1.1.
|
|
366556
|
+
currentVersion: "1.1.10",
|
|
366559
366557
|
onChoice: (choice) => {
|
|
366560
366558
|
setShowSubmenu(null);
|
|
366561
366559
|
setTabsHidden(false);
|
|
@@ -366567,7 +366565,7 @@ function Config({
|
|
|
366567
366565
|
autoUpdatesChannel: "stable"
|
|
366568
366566
|
};
|
|
366569
366567
|
if (choice === "stay") {
|
|
366570
|
-
newSettings.minimumVersion = "1.1.
|
|
366568
|
+
newSettings.minimumVersion = "1.1.10";
|
|
366571
366569
|
}
|
|
366572
366570
|
updateSettingsForSource("userSettings", newSettings);
|
|
366573
366571
|
setSettingsData((prev_27) => ({
|
|
@@ -376299,7 +376297,7 @@ function HelpV2(t0) {
|
|
|
376299
376297
|
let t6;
|
|
376300
376298
|
if ($2[31] !== tabs) {
|
|
376301
376299
|
t6 = /* @__PURE__ */ jsx_dev_runtime214.jsxDEV(Tabs, {
|
|
376302
|
-
title: `localclawd v${"1.1.
|
|
376300
|
+
title: `localclawd v${"1.1.10"}`,
|
|
376303
376301
|
color: "professionalBlue",
|
|
376304
376302
|
defaultTab: "general",
|
|
376305
376303
|
children: tabs
|
|
@@ -400457,7 +400455,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
|
|
|
400457
400455
|
return [];
|
|
400458
400456
|
}
|
|
400459
400457
|
}
|
|
400460
|
-
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.
|
|
400458
|
+
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.10") {
|
|
400461
400459
|
if (process.env.USER_TYPE === "ant") {
|
|
400462
400460
|
const changelog = MACRO.VERSION_CHANGELOG;
|
|
400463
400461
|
if (changelog) {
|
|
@@ -400484,7 +400482,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.8") {
|
|
|
400484
400482
|
releaseNotes
|
|
400485
400483
|
};
|
|
400486
400484
|
}
|
|
400487
|
-
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.1.
|
|
400485
|
+
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.1.10") {
|
|
400488
400486
|
if (process.env.USER_TYPE === "ant") {
|
|
400489
400487
|
const changelog = MACRO.VERSION_CHANGELOG;
|
|
400490
400488
|
if (changelog) {
|
|
@@ -401651,7 +401649,7 @@ function getRecentActivitySync() {
|
|
|
401651
401649
|
return cachedActivity;
|
|
401652
401650
|
}
|
|
401653
401651
|
function getLogoDisplayData() {
|
|
401654
|
-
const version = process.env.DEMO_VERSION ?? "1.1.
|
|
401652
|
+
const version = process.env.DEMO_VERSION ?? "1.1.10";
|
|
401655
401653
|
const serverUrl = getDirectConnectServerUrl();
|
|
401656
401654
|
const displayPath = process.env.DEMO_VERSION ? "/code/claude" : getDisplayPath(getCwd());
|
|
401657
401655
|
const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
|
|
@@ -402925,7 +402923,7 @@ function LogoV2() {
|
|
|
402925
402923
|
if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
|
|
402926
402924
|
t2 = () => {
|
|
402927
402925
|
const currentConfig = getGlobalConfig();
|
|
402928
|
-
if (currentConfig.lastReleaseNotesSeen === "1.1.
|
|
402926
|
+
if (currentConfig.lastReleaseNotesSeen === "1.1.10") {
|
|
402929
402927
|
return;
|
|
402930
402928
|
}
|
|
402931
402929
|
saveGlobalConfig(_temp327);
|
|
@@ -403601,12 +403599,12 @@ function LogoV2() {
|
|
|
403601
403599
|
return t41;
|
|
403602
403600
|
}
|
|
403603
403601
|
function _temp327(current) {
|
|
403604
|
-
if (current.lastReleaseNotesSeen === "1.1.
|
|
403602
|
+
if (current.lastReleaseNotesSeen === "1.1.10") {
|
|
403605
403603
|
return current;
|
|
403606
403604
|
}
|
|
403607
403605
|
return {
|
|
403608
403606
|
...current,
|
|
403609
|
-
lastReleaseNotesSeen: "1.1.
|
|
403607
|
+
lastReleaseNotesSeen: "1.1.10"
|
|
403610
403608
|
};
|
|
403611
403609
|
}
|
|
403612
403610
|
function _temp245(s_0) {
|
|
@@ -429808,7 +429806,7 @@ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
|
|
|
429808
429806
|
smapsRollup,
|
|
429809
429807
|
platform: process.platform,
|
|
429810
429808
|
nodeVersion: process.version,
|
|
429811
|
-
ccVersion: "1.1.
|
|
429809
|
+
ccVersion: "1.1.10"
|
|
429812
429810
|
};
|
|
429813
429811
|
}
|
|
429814
429812
|
async function performHeapDump(trigger = "manual", dumpNumber = 0) {
|
|
@@ -430393,7 +430391,7 @@ var init_bridge_kick = __esm(() => {
|
|
|
430393
430391
|
var call64 = async () => {
|
|
430394
430392
|
return {
|
|
430395
430393
|
type: "text",
|
|
430396
|
-
value: `${"1.1.
|
|
430394
|
+
value: `${"1.1.10"} (built ${"2026-04-07T13:57:33.526Z"})`
|
|
430397
430395
|
};
|
|
430398
430396
|
}, version, version_default;
|
|
430399
430397
|
var init_version = __esm(() => {
|
|
@@ -439329,7 +439327,7 @@ function generateHtmlReport(data, insights) {
|
|
|
439329
439327
|
</html>`;
|
|
439330
439328
|
}
|
|
439331
439329
|
function buildExportData(data, insights, facets, remoteStats) {
|
|
439332
|
-
const version2 = typeof MACRO !== "undefined" ? "1.1.
|
|
439330
|
+
const version2 = typeof MACRO !== "undefined" ? "1.1.10" : "unknown";
|
|
439333
439331
|
const remote_hosts_collected = remoteStats?.hosts.filter((h) => h.sessionCount > 0).map((h) => h.name);
|
|
439334
439332
|
const facets_summary = {
|
|
439335
439333
|
total: facets.size,
|
|
@@ -443496,7 +443494,7 @@ var init_sessionStorage = __esm(() => {
|
|
|
443496
443494
|
init_settings2();
|
|
443497
443495
|
init_slowOperations();
|
|
443498
443496
|
init_uuid();
|
|
443499
|
-
VERSION6 = typeof MACRO !== "undefined" ? "1.1.
|
|
443497
|
+
VERSION6 = typeof MACRO !== "undefined" ? "1.1.10" : "unknown";
|
|
443500
443498
|
MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
|
|
443501
443499
|
SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
|
|
443502
443500
|
EPHEMERAL_PROGRESS_TYPES = new Set([
|
|
@@ -444698,7 +444696,7 @@ var init_filesystem = __esm(() => {
|
|
|
444698
444696
|
});
|
|
444699
444697
|
getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
|
|
444700
444698
|
const nonce = randomBytes19(16).toString("hex");
|
|
444701
|
-
return join130(getClaudeTempDir(), "bundled-skills", "1.1.
|
|
444699
|
+
return join130(getClaudeTempDir(), "bundled-skills", "1.1.10", nonce);
|
|
444702
444700
|
});
|
|
444703
444701
|
getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
|
|
444704
444702
|
});
|
|
@@ -450697,7 +450695,7 @@ function computeFingerprint(messageText, version2) {
|
|
|
450697
450695
|
}
|
|
450698
450696
|
function computeFingerprintFromMessages(messages) {
|
|
450699
450697
|
const firstMessageText = extractFirstMessageText(messages);
|
|
450700
|
-
return computeFingerprint(firstMessageText, "1.1.
|
|
450698
|
+
return computeFingerprint(firstMessageText, "1.1.10");
|
|
450701
450699
|
}
|
|
450702
450700
|
var FINGERPRINT_SALT = "59cf53e54c78";
|
|
450703
450701
|
var init_fingerprint = () => {};
|
|
@@ -452552,7 +452550,7 @@ async function sideQuery(opts) {
|
|
|
452552
452550
|
betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
|
|
452553
452551
|
}
|
|
452554
452552
|
const messageText = extractFirstUserMessageText(messages);
|
|
452555
|
-
const fingerprint = computeFingerprint(messageText, "1.1.
|
|
452553
|
+
const fingerprint = computeFingerprint(messageText, "1.1.10");
|
|
452556
452554
|
const attributionHeader = getAttributionHeader(fingerprint);
|
|
452557
452555
|
const systemBlocks = [
|
|
452558
452556
|
attributionHeader ? { type: "text", text: attributionHeader } : null,
|
|
@@ -457350,7 +457348,7 @@ function buildSystemInitMessage(inputs) {
|
|
|
457350
457348
|
slash_commands: inputs.commands.filter((c5) => c5.userInvocable !== false).map((c5) => c5.name),
|
|
457351
457349
|
apiKeySource: getAnthropicApiKeyWithSource().source,
|
|
457352
457350
|
betas: getSdkBetas(),
|
|
457353
|
-
claude_code_version: "1.1.
|
|
457351
|
+
claude_code_version: "1.1.10",
|
|
457354
457352
|
output_style: outputStyle2,
|
|
457355
457353
|
agents: inputs.agents.map((agent) => agent.agentType),
|
|
457356
457354
|
skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill) => skill.name),
|
|
@@ -471929,7 +471927,7 @@ var init_useVoiceEnabled = __esm(() => {
|
|
|
471929
471927
|
function getSemverPart(version2) {
|
|
471930
471928
|
return `${import_semver12.major(version2, { loose: true })}.${import_semver12.minor(version2, { loose: true })}.${import_semver12.patch(version2, { loose: true })}`;
|
|
471931
471929
|
}
|
|
471932
|
-
function useUpdateNotification(updatedVersion, initialVersion = "1.1.
|
|
471930
|
+
function useUpdateNotification(updatedVersion, initialVersion = "1.1.10") {
|
|
471933
471931
|
const [lastNotifiedSemver, setLastNotifiedSemver] = import_react228.useState(() => getSemverPart(initialVersion));
|
|
471934
471932
|
if (!updatedVersion) {
|
|
471935
471933
|
return null;
|
|
@@ -471969,7 +471967,7 @@ function AutoUpdater({
|
|
|
471969
471967
|
return;
|
|
471970
471968
|
}
|
|
471971
471969
|
if (false) {}
|
|
471972
|
-
const currentVersion = "1.1.
|
|
471970
|
+
const currentVersion = "1.1.10";
|
|
471973
471971
|
const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
471974
471972
|
let latestVersion = await getLatestVersion(channel);
|
|
471975
471973
|
const isDisabled = isAutoUpdaterDisabled();
|
|
@@ -472180,12 +472178,12 @@ function NativeAutoUpdater({
|
|
|
472180
472178
|
logEvent("tengu_native_auto_updater_start", {});
|
|
472181
472179
|
try {
|
|
472182
472180
|
const maxVersion = await getMaxVersion();
|
|
472183
|
-
if (maxVersion && gt("1.1.
|
|
472181
|
+
if (maxVersion && gt("1.1.10", maxVersion)) {
|
|
472184
472182
|
const msg = await getMaxVersionMessage();
|
|
472185
472183
|
setMaxVersionIssue(msg ?? "affects your version");
|
|
472186
472184
|
}
|
|
472187
472185
|
const result = await installLatest(channel);
|
|
472188
|
-
const currentVersion = "1.1.
|
|
472186
|
+
const currentVersion = "1.1.10";
|
|
472189
472187
|
const latencyMs = Date.now() - startTime;
|
|
472190
472188
|
if (result.lockFailed) {
|
|
472191
472189
|
logEvent("tengu_native_auto_updater_lock_contention", {
|
|
@@ -472320,17 +472318,17 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
472320
472318
|
const maxVersion = await getMaxVersion();
|
|
472321
472319
|
if (maxVersion && latest && gt(latest, maxVersion)) {
|
|
472322
472320
|
logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
|
|
472323
|
-
if (gte("1.1.
|
|
472324
|
-
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.1.
|
|
472321
|
+
if (gte("1.1.10", maxVersion)) {
|
|
472322
|
+
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.1.10"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
472325
472323
|
setUpdateAvailable(false);
|
|
472326
472324
|
return;
|
|
472327
472325
|
}
|
|
472328
472326
|
latest = maxVersion;
|
|
472329
472327
|
}
|
|
472330
|
-
const hasUpdate = latest && !gte("1.1.
|
|
472328
|
+
const hasUpdate = latest && !gte("1.1.10", latest) && !shouldSkipVersion(latest);
|
|
472331
472329
|
setUpdateAvailable(!!hasUpdate);
|
|
472332
472330
|
if (hasUpdate) {
|
|
472333
|
-
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.1.
|
|
472331
|
+
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.1.10"} -> ${latest}`);
|
|
472334
472332
|
}
|
|
472335
472333
|
};
|
|
472336
472334
|
$2[0] = t1;
|
|
@@ -472364,7 +472362,7 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
472364
472362
|
wrap: "truncate",
|
|
472365
472363
|
children: [
|
|
472366
472364
|
"currentVersion: ",
|
|
472367
|
-
"1.1.
|
|
472365
|
+
"1.1.10"
|
|
472368
472366
|
]
|
|
472369
472367
|
}, undefined, true, undefined, this);
|
|
472370
472368
|
$2[3] = verbose;
|
|
@@ -479922,7 +479920,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
|
|
|
479922
479920
|
project_dir: getOriginalCwd(),
|
|
479923
479921
|
added_dirs: addedDirs
|
|
479924
479922
|
},
|
|
479925
|
-
version: "1.1.
|
|
479923
|
+
version: "1.1.10",
|
|
479926
479924
|
output_style: {
|
|
479927
479925
|
name: outputStyleName
|
|
479928
479926
|
},
|
|
@@ -491482,7 +491480,7 @@ async function submitTranscriptShare(messages, trigger, appearanceId) {
|
|
|
491482
491480
|
} catch {}
|
|
491483
491481
|
const data = {
|
|
491484
491482
|
trigger,
|
|
491485
|
-
version: "1.1.
|
|
491483
|
+
version: "1.1.10",
|
|
491486
491484
|
platform: process.platform,
|
|
491487
491485
|
transcript,
|
|
491488
491486
|
subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
|
|
@@ -503071,7 +503069,7 @@ function WelcomeV2() {
|
|
|
503071
503069
|
dimColor: true,
|
|
503072
503070
|
children: [
|
|
503073
503071
|
"v",
|
|
503074
|
-
"1.1.
|
|
503072
|
+
"1.1.10"
|
|
503075
503073
|
]
|
|
503076
503074
|
}, undefined, true, undefined, this)
|
|
503077
503075
|
]
|
|
@@ -503107,9 +503105,9 @@ function StartPage({ currentConfig, onDone }) {
|
|
|
503107
503105
|
const options = hasSavedConfig ? CONTINUE_OPTIONS : SETUP_OPTIONS;
|
|
503108
503106
|
const [focusIdx, setFocusIdx] = import_react321.useState(0);
|
|
503109
503107
|
use_input_default((_input, key) => {
|
|
503110
|
-
if (key.upArrow
|
|
503108
|
+
if (key.upArrow) {
|
|
503111
503109
|
setFocusIdx((i2) => (i2 - 1 + options.length) % options.length);
|
|
503112
|
-
} else if (key.downArrow
|
|
503110
|
+
} else if (key.downArrow) {
|
|
503113
503111
|
setFocusIdx((i2) => (i2 + 1) % options.length);
|
|
503114
503112
|
} else if (key.return) {
|
|
503115
503113
|
onDone(options[focusIdx].value);
|
|
@@ -503389,27 +503387,93 @@ var exports_Onboarding = {};
|
|
|
503389
503387
|
__export(exports_Onboarding, {
|
|
503390
503388
|
Onboarding: () => Onboarding
|
|
503391
503389
|
});
|
|
503390
|
+
function SimpleMenu2({ items, isActive, onSelect, onCancel }) {
|
|
503391
|
+
const VISIBLE = Math.min(7, items.length);
|
|
503392
|
+
const [focusIdx, setFocusIdx] = import_react324.useState(0);
|
|
503393
|
+
const [fromIdx, setFromIdx] = import_react324.useState(0);
|
|
503394
|
+
use_input_default((_input, key) => {
|
|
503395
|
+
if (key.upArrow) {
|
|
503396
|
+
setFocusIdx((prev) => {
|
|
503397
|
+
const next = Math.max(0, prev - 1);
|
|
503398
|
+
if (next < fromIdx)
|
|
503399
|
+
setFromIdx(next);
|
|
503400
|
+
return next;
|
|
503401
|
+
});
|
|
503402
|
+
} else if (key.downArrow) {
|
|
503403
|
+
setFocusIdx((prev) => {
|
|
503404
|
+
const next = Math.min(items.length - 1, prev + 1);
|
|
503405
|
+
if (next >= fromIdx + VISIBLE)
|
|
503406
|
+
setFromIdx(next - VISIBLE + 1);
|
|
503407
|
+
return next;
|
|
503408
|
+
});
|
|
503409
|
+
} else if (key.return) {
|
|
503410
|
+
const item = items[focusIdx];
|
|
503411
|
+
if (item)
|
|
503412
|
+
onSelect(item.value);
|
|
503413
|
+
} else if (key.escape) {
|
|
503414
|
+
onCancel?.();
|
|
503415
|
+
}
|
|
503416
|
+
}, { isActive });
|
|
503417
|
+
const visible = items.slice(fromIdx, fromIdx + VISIBLE);
|
|
503418
|
+
return /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedBox_default, {
|
|
503419
|
+
flexDirection: "column",
|
|
503420
|
+
children: [
|
|
503421
|
+
fromIdx > 0 && /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503422
|
+
dimColor: true,
|
|
503423
|
+
children: " ↑ more"
|
|
503424
|
+
}, undefined, false, undefined, this),
|
|
503425
|
+
visible.map((item, i2) => {
|
|
503426
|
+
const absIdx = fromIdx + i2;
|
|
503427
|
+
const focused = absIdx === focusIdx;
|
|
503428
|
+
return /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedBox_default, {
|
|
503429
|
+
gap: 1,
|
|
503430
|
+
children: [
|
|
503431
|
+
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503432
|
+
color: "#6366f1",
|
|
503433
|
+
children: focused ? "▶" : " "
|
|
503434
|
+
}, undefined, false, undefined, this),
|
|
503435
|
+
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503436
|
+
bold: focused,
|
|
503437
|
+
color: focused ? "#818cf8" : undefined,
|
|
503438
|
+
children: item.label
|
|
503439
|
+
}, undefined, false, undefined, this)
|
|
503440
|
+
]
|
|
503441
|
+
}, String(item.value), true, undefined, this);
|
|
503442
|
+
}),
|
|
503443
|
+
fromIdx + VISIBLE < items.length && /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503444
|
+
dimColor: true,
|
|
503445
|
+
children: " ↓ more"
|
|
503446
|
+
}, undefined, false, undefined, this)
|
|
503447
|
+
]
|
|
503448
|
+
}, undefined, true, undefined, this);
|
|
503449
|
+
}
|
|
503450
|
+
function PressEnterToContinue2({ isActive, onContinue }) {
|
|
503451
|
+
use_input_default((_input, key) => {
|
|
503452
|
+
if (key.return)
|
|
503453
|
+
onContinue();
|
|
503454
|
+
}, { isActive });
|
|
503455
|
+
return /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503456
|
+
color: "permission",
|
|
503457
|
+
children: [
|
|
503458
|
+
"Press ",
|
|
503459
|
+
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503460
|
+
bold: true,
|
|
503461
|
+
children: "Enter"
|
|
503462
|
+
}, undefined, false, undefined, this),
|
|
503463
|
+
" to continue…"
|
|
503464
|
+
]
|
|
503465
|
+
}, undefined, true, undefined, this);
|
|
503466
|
+
}
|
|
503392
503467
|
function Onboarding({ onDone, showWelcome = true }) {
|
|
503393
503468
|
const [currentStepIndex, setCurrentStepIndex] = import_react324.useState(0);
|
|
503394
503469
|
const [theme2, setTheme] = useTheme();
|
|
503395
|
-
const exitState = useExitOnCtrlCDWithKeybindings();
|
|
503396
|
-
import_react324.useEffect(() => {
|
|
503397
|
-
logEvent("tengu_began_setup", {
|
|
503398
|
-
oauthEnabled: false
|
|
503399
|
-
});
|
|
503400
|
-
}, []);
|
|
503401
503470
|
const goToNextStep = import_react324.useCallback(() => {
|
|
503402
|
-
setCurrentStepIndex((
|
|
503403
|
-
if (
|
|
503471
|
+
setCurrentStepIndex((current) => {
|
|
503472
|
+
if (current >= steps.length - 1) {
|
|
503404
503473
|
onDone();
|
|
503405
|
-
return
|
|
503474
|
+
return current;
|
|
503406
503475
|
}
|
|
503407
|
-
|
|
503408
|
-
logEvent("tengu_onboarding_step", {
|
|
503409
|
-
oauthEnabled: false,
|
|
503410
|
-
stepId: steps[nextIndex]?.id
|
|
503411
|
-
});
|
|
503412
|
-
return nextIndex;
|
|
503476
|
+
return current + 1;
|
|
503413
503477
|
});
|
|
503414
503478
|
}, [onDone]);
|
|
503415
503479
|
const handleThemeSelection = import_react324.useCallback((newTheme) => {
|
|
@@ -503431,138 +503495,152 @@ function Onboarding({ onDone, showWelcome = true }) {
|
|
|
503431
503495
|
}
|
|
503432
503496
|
goToNextStep();
|
|
503433
503497
|
}, [goToNextStep]);
|
|
503498
|
+
const themeItems = THEME_SETTINGS.map((s) => ({
|
|
503499
|
+
label: s === "auto" ? "Auto (follow system)" : s,
|
|
503500
|
+
value: s
|
|
503501
|
+
}));
|
|
503502
|
+
const compactItems = [
|
|
503503
|
+
{
|
|
503504
|
+
label: `${formatCompactContextWindowOption(undefined)} (recommended)`,
|
|
503505
|
+
value: "default"
|
|
503506
|
+
},
|
|
503507
|
+
...COMPACT_CONTEXT_WINDOW_CHOICES.map((tokens) => ({
|
|
503508
|
+
label: formatCompactContextWindowOption(tokens),
|
|
503509
|
+
value: String(tokens)
|
|
503510
|
+
}))
|
|
503511
|
+
];
|
|
503434
503512
|
const steps = import_react324.useMemo(() => {
|
|
503435
503513
|
const config2 = getGlobalConfig();
|
|
503436
|
-
const
|
|
503437
|
-
|
|
503438
|
-
|
|
503439
|
-
|
|
503440
|
-
|
|
503441
|
-
|
|
503442
|
-
|
|
503443
|
-
|
|
503444
|
-
|
|
503445
|
-
|
|
503446
|
-
|
|
503447
|
-
|
|
503448
|
-
|
|
503449
|
-
|
|
503450
|
-
|
|
503451
|
-
|
|
503452
|
-
|
|
503453
|
-
|
|
503454
|
-
|
|
503455
|
-
|
|
503456
|
-
|
|
503457
|
-
|
|
503458
|
-
|
|
503459
|
-
|
|
503460
|
-
|
|
503461
|
-
|
|
503462
|
-
|
|
503463
|
-
|
|
503464
|
-
|
|
503465
|
-
|
|
503466
|
-
|
|
503467
|
-
|
|
503468
|
-
|
|
503469
|
-
|
|
503470
|
-
|
|
503471
|
-
|
|
503472
|
-
|
|
503473
|
-
|
|
503474
|
-
|
|
503475
|
-
|
|
503476
|
-
|
|
503477
|
-
})
|
|
503478
|
-
|
|
503514
|
+
const result = [
|
|
503515
|
+
{
|
|
503516
|
+
id: "theme",
|
|
503517
|
+
component: (isActive2) => /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedBox_default, {
|
|
503518
|
+
flexDirection: "column",
|
|
503519
|
+
gap: 1,
|
|
503520
|
+
paddingLeft: 1,
|
|
503521
|
+
children: [
|
|
503522
|
+
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503523
|
+
bold: true,
|
|
503524
|
+
children: "Choose a theme"
|
|
503525
|
+
}, undefined, false, undefined, this),
|
|
503526
|
+
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(SimpleMenu2, {
|
|
503527
|
+
items: themeItems,
|
|
503528
|
+
isActive: isActive2,
|
|
503529
|
+
onSelect: handleThemeSelection,
|
|
503530
|
+
onCancel: goToNextStep
|
|
503531
|
+
}, undefined, false, undefined, this),
|
|
503532
|
+
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503533
|
+
dimColor: true,
|
|
503534
|
+
children: "Change later with /theme"
|
|
503535
|
+
}, undefined, false, undefined, this)
|
|
503536
|
+
]
|
|
503537
|
+
}, undefined, true, undefined, this)
|
|
503538
|
+
},
|
|
503539
|
+
{
|
|
503540
|
+
id: "compact-context",
|
|
503541
|
+
component: (isActive2) => /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedBox_default, {
|
|
503542
|
+
flexDirection: "column",
|
|
503543
|
+
gap: 1,
|
|
503544
|
+
paddingLeft: 1,
|
|
503545
|
+
width: 70,
|
|
503546
|
+
children: [
|
|
503547
|
+
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503548
|
+
bold: true,
|
|
503549
|
+
children: "Choose a compact context window"
|
|
503550
|
+
}, undefined, false, undefined, this),
|
|
503551
|
+
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503552
|
+
dimColor: true,
|
|
503553
|
+
wrap: "wrap",
|
|
503554
|
+
children: "localclawd can compact earlier than the model's full advertised window. Useful for local models that degrade before hitting their limit."
|
|
503555
|
+
}, undefined, false, undefined, this),
|
|
503556
|
+
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(SimpleMenu2, {
|
|
503557
|
+
items: compactItems,
|
|
503558
|
+
isActive: isActive2,
|
|
503559
|
+
onSelect: (value) => {
|
|
503560
|
+
const compactContextWindowTokens = value === "default" ? undefined : parseInt(value, 10);
|
|
503561
|
+
saveGlobalConfig((current) => ({ ...current, compactContextWindowTokens }));
|
|
503562
|
+
goToNextStep();
|
|
503563
|
+
},
|
|
503564
|
+
onCancel: goToNextStep
|
|
503565
|
+
}, undefined, false, undefined, this),
|
|
503566
|
+
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503567
|
+
dimColor: true,
|
|
503568
|
+
children: "Change later in /config under Compact context window."
|
|
503569
|
+
}, undefined, false, undefined, this)
|
|
503570
|
+
]
|
|
503571
|
+
}, undefined, true, undefined, this)
|
|
503572
|
+
},
|
|
503573
|
+
{
|
|
503574
|
+
id: "local-backend",
|
|
503575
|
+
component: (_isActive) => /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(LocalBackendSetup, {
|
|
503576
|
+
initialConfig: {
|
|
503577
|
+
provider: config2.localBackendProvider,
|
|
503578
|
+
baseUrl: config2.localBackendBaseUrl,
|
|
503579
|
+
model: config2.localBackendModel,
|
|
503580
|
+
apiKey: config2.localBackendApiKey
|
|
503479
503581
|
},
|
|
503480
|
-
|
|
503481
|
-
|
|
503482
|
-
|
|
503483
|
-
|
|
503484
|
-
|
|
503582
|
+
onComplete: handleLocalBackendSetup,
|
|
503583
|
+
onCancel: goToNextStep,
|
|
503584
|
+
title: "Choose your local backend",
|
|
503585
|
+
description: "Set the OpenAI-compatible endpoint and model localclawd should use. You can point it at vLLM, Ollama, or any compatible host.",
|
|
503586
|
+
showSaveGloballyOption: true
|
|
503485
503587
|
}, undefined, false, undefined, this)
|
|
503486
|
-
]
|
|
503487
|
-
}, undefined, true, undefined, this);
|
|
503488
|
-
const localBackendStep = /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(LocalBackendSetup, {
|
|
503489
|
-
initialConfig: {
|
|
503490
|
-
provider: config2.localBackendProvider,
|
|
503491
|
-
baseUrl: config2.localBackendBaseUrl,
|
|
503492
|
-
model: config2.localBackendModel,
|
|
503493
|
-
apiKey: config2.localBackendApiKey
|
|
503494
503588
|
},
|
|
503495
|
-
|
|
503496
|
-
|
|
503497
|
-
|
|
503498
|
-
description: "Set the OpenAI-compatible endpoint and model localclawd should use by default. You can point vLLM at a local server, Ollama, or any other compatible host.",
|
|
503499
|
-
showSaveGloballyOption: true
|
|
503500
|
-
}, undefined, false, undefined, this);
|
|
503501
|
-
const securityStep = /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedBox_default, {
|
|
503502
|
-
flexDirection: "column",
|
|
503503
|
-
gap: 1,
|
|
503504
|
-
paddingLeft: 1,
|
|
503505
|
-
children: [
|
|
503506
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503507
|
-
bold: true,
|
|
503508
|
-
children: "Security notes:"
|
|
503509
|
-
}, undefined, false, undefined, this),
|
|
503510
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedBox_default, {
|
|
503589
|
+
{
|
|
503590
|
+
id: "security",
|
|
503591
|
+
component: (isActive2) => /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedBox_default, {
|
|
503511
503592
|
flexDirection: "column",
|
|
503512
|
-
|
|
503513
|
-
|
|
503514
|
-
|
|
503515
|
-
|
|
503516
|
-
|
|
503517
|
-
|
|
503518
|
-
|
|
503519
|
-
|
|
503520
|
-
|
|
503521
|
-
|
|
503522
|
-
|
|
503523
|
-
children: [
|
|
503524
|
-
"You should always review localclawd's responses, especially when",
|
|
503525
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(Newline, {}, undefined, false, undefined, this),
|
|
503526
|
-
"running code.",
|
|
503527
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(Newline, {}, undefined, false, undefined, this)
|
|
503528
|
-
]
|
|
503529
|
-
}, undefined, true, undefined, this)
|
|
503530
|
-
]
|
|
503531
|
-
}, undefined, true, undefined, this),
|
|
503532
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(OrderedList.Item, {
|
|
503593
|
+
gap: 1,
|
|
503594
|
+
paddingLeft: 1,
|
|
503595
|
+
children: [
|
|
503596
|
+
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503597
|
+
bold: true,
|
|
503598
|
+
children: "Security notes:"
|
|
503599
|
+
}, undefined, false, undefined, this),
|
|
503600
|
+
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedBox_default, {
|
|
503601
|
+
flexDirection: "column",
|
|
503602
|
+
width: 70,
|
|
503603
|
+
children: /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(OrderedList, {
|
|
503533
503604
|
children: [
|
|
503534
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(
|
|
503535
|
-
children: "Due to prompt injection risks, only use it with code you trust"
|
|
503536
|
-
}, undefined, false, undefined, this),
|
|
503537
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503538
|
-
dimColor: true,
|
|
503539
|
-
wrap: "wrap",
|
|
503605
|
+
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(OrderedList.Item, {
|
|
503540
503606
|
children: [
|
|
503541
|
-
|
|
503542
|
-
|
|
503543
|
-
|
|
503544
|
-
|
|
503545
|
-
|
|
503607
|
+
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503608
|
+
children: "localclawd can make mistakes"
|
|
503609
|
+
}, undefined, false, undefined, this),
|
|
503610
|
+
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503611
|
+
dimColor: true,
|
|
503612
|
+
wrap: "wrap",
|
|
503613
|
+
children: [
|
|
503614
|
+
"Always review responses, especially when running code.",
|
|
503615
|
+
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(Newline, {}, undefined, false, undefined, this)
|
|
503616
|
+
]
|
|
503617
|
+
}, undefined, true, undefined, this)
|
|
503546
503618
|
]
|
|
503547
|
-
}, undefined, true, undefined, this)
|
|
503619
|
+
}, undefined, true, undefined, this),
|
|
503620
|
+
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(OrderedList.Item, {
|
|
503621
|
+
children: /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503622
|
+
children: "Due to prompt injection risks, only use it with code you trust"
|
|
503623
|
+
}, undefined, false, undefined, this)
|
|
503624
|
+
}, undefined, false, undefined, this)
|
|
503548
503625
|
]
|
|
503549
503626
|
}, undefined, true, undefined, this)
|
|
503550
|
-
|
|
503551
|
-
|
|
503552
|
-
|
|
503553
|
-
|
|
503554
|
-
|
|
503555
|
-
|
|
503556
|
-
|
|
503557
|
-
|
|
503558
|
-
{ id: "compact-context", component: compactContextStep },
|
|
503559
|
-
{ id: "local-backend", component: localBackendStep },
|
|
503560
|
-
{ id: "security", component: securityStep }
|
|
503627
|
+
}, undefined, false, undefined, this),
|
|
503628
|
+
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(PressEnterToContinue2, {
|
|
503629
|
+
isActive: isActive2,
|
|
503630
|
+
onContinue: goToNextStep
|
|
503631
|
+
}, undefined, false, undefined, this)
|
|
503632
|
+
]
|
|
503633
|
+
}, undefined, true, undefined, this)
|
|
503634
|
+
}
|
|
503561
503635
|
];
|
|
503562
503636
|
if (shouldOfferTerminalSetup()) {
|
|
503563
|
-
|
|
503637
|
+
const terminalItems = [
|
|
503638
|
+
{ label: "Yes, use recommended settings", value: "install" },
|
|
503639
|
+
{ label: "No, maybe later with /terminal-setup", value: "no" }
|
|
503640
|
+
];
|
|
503641
|
+
result.push({
|
|
503564
503642
|
id: "terminal-setup",
|
|
503565
|
-
component: /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedBox_default, {
|
|
503643
|
+
component: (isActive2) => /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedBox_default, {
|
|
503566
503644
|
flexDirection: "column",
|
|
503567
503645
|
gap: 1,
|
|
503568
503646
|
paddingLeft: 1,
|
|
@@ -503578,25 +503656,17 @@ function Onboarding({ onDone, showWelcome = true }) {
|
|
|
503578
503656
|
children: [
|
|
503579
503657
|
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503580
503658
|
children: [
|
|
503581
|
-
"For the optimal
|
|
503659
|
+
"For the optimal experience, enable recommended settings",
|
|
503582
503660
|
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(Newline, {}, undefined, false, undefined, this),
|
|
503583
503661
|
"for your terminal:",
|
|
503584
503662
|
" ",
|
|
503585
503663
|
env4.terminal === "Apple_Terminal" ? "Option+Enter for newlines and visual bell" : "Shift+Enter for newlines"
|
|
503586
503664
|
]
|
|
503587
503665
|
}, undefined, true, undefined, this),
|
|
503588
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(
|
|
503589
|
-
|
|
503590
|
-
|
|
503591
|
-
|
|
503592
|
-
value: "install"
|
|
503593
|
-
},
|
|
503594
|
-
{
|
|
503595
|
-
label: "No, maybe later with /terminal-setup",
|
|
503596
|
-
value: "no"
|
|
503597
|
-
}
|
|
503598
|
-
],
|
|
503599
|
-
onChange: (value) => {
|
|
503666
|
+
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(SimpleMenu2, {
|
|
503667
|
+
items: terminalItems,
|
|
503668
|
+
isActive: isActive2,
|
|
503669
|
+
onSelect: (value) => {
|
|
503600
503670
|
if (value === "install") {
|
|
503601
503671
|
setupTerminal(theme2).catch(() => {}).finally(goToNextStep);
|
|
503602
503672
|
} else {
|
|
@@ -503604,18 +503674,6 @@ function Onboarding({ onDone, showWelcome = true }) {
|
|
|
503604
503674
|
}
|
|
503605
503675
|
},
|
|
503606
503676
|
onCancel: goToNextStep
|
|
503607
|
-
}, undefined, false, undefined, this),
|
|
503608
|
-
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503609
|
-
dimColor: true,
|
|
503610
|
-
children: exitState.pending ? /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(jsx_dev_runtime486.Fragment, {
|
|
503611
|
-
children: [
|
|
503612
|
-
"Press ",
|
|
503613
|
-
exitState.keyName,
|
|
503614
|
-
" again to exit"
|
|
503615
|
-
]
|
|
503616
|
-
}, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(jsx_dev_runtime486.Fragment, {
|
|
503617
|
-
children: "Enter to confirm · Esc to skip"
|
|
503618
|
-
}, undefined, false, undefined, this)
|
|
503619
503677
|
}, undefined, false, undefined, this)
|
|
503620
503678
|
]
|
|
503621
503679
|
}, undefined, true, undefined, this)
|
|
@@ -503623,31 +503681,10 @@ function Onboarding({ onDone, showWelcome = true }) {
|
|
|
503623
503681
|
}, undefined, true, undefined, this)
|
|
503624
503682
|
});
|
|
503625
503683
|
}
|
|
503626
|
-
return
|
|
503627
|
-
}, [
|
|
503684
|
+
return result;
|
|
503685
|
+
}, [goToNextStep, handleLocalBackendSetup, handleThemeSelection, theme2]);
|
|
503628
503686
|
const currentStep = steps[currentStepIndex];
|
|
503629
|
-
const
|
|
503630
|
-
if (currentStepIndex === steps.length - 1) {
|
|
503631
|
-
onDone();
|
|
503632
|
-
} else {
|
|
503633
|
-
goToNextStep();
|
|
503634
|
-
}
|
|
503635
|
-
}, [currentStepIndex, goToNextStep, onDone, steps.length]);
|
|
503636
|
-
const handleTerminalSetupSkip = import_react324.useCallback(() => {
|
|
503637
|
-
goToNextStep();
|
|
503638
|
-
}, [goToNextStep]);
|
|
503639
|
-
useKeybindings({
|
|
503640
|
-
"confirm:yes": handleSecurityContinue
|
|
503641
|
-
}, {
|
|
503642
|
-
context: "Confirmation",
|
|
503643
|
-
isActive: currentStep?.id === "security"
|
|
503644
|
-
});
|
|
503645
|
-
useKeybindings({
|
|
503646
|
-
"confirm:no": handleTerminalSetupSkip
|
|
503647
|
-
}, {
|
|
503648
|
-
context: "Confirmation",
|
|
503649
|
-
isActive: currentStep?.id === "terminal-setup"
|
|
503650
|
-
});
|
|
503687
|
+
const isActive = true;
|
|
503651
503688
|
return /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedBox_default, {
|
|
503652
503689
|
flexDirection: "column",
|
|
503653
503690
|
children: [
|
|
@@ -503655,534 +503692,134 @@ function Onboarding({ onDone, showWelcome = true }) {
|
|
|
503655
503692
|
/* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedBox_default, {
|
|
503656
503693
|
flexDirection: "column",
|
|
503657
503694
|
marginTop: 1,
|
|
503658
|
-
children:
|
|
503659
|
-
|
|
503660
|
-
exitState.pending ? /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedBox_default, {
|
|
503661
|
-
padding: 1,
|
|
503662
|
-
children: /* @__PURE__ */ jsx_dev_runtime486.jsxDEV(ThemedText, {
|
|
503663
|
-
dimColor: true,
|
|
503664
|
-
children: [
|
|
503665
|
-
"Press ",
|
|
503666
|
-
exitState.keyName,
|
|
503667
|
-
" again to exit"
|
|
503668
|
-
]
|
|
503669
|
-
}, undefined, true, undefined, this)
|
|
503670
|
-
}, undefined, false, undefined, this) : null
|
|
503671
|
-
]
|
|
503672
|
-
}, undefined, true, undefined, this)
|
|
503695
|
+
children: currentStep?.component(isActive)
|
|
503696
|
+
}, undefined, false, undefined, this)
|
|
503673
503697
|
]
|
|
503674
503698
|
}, undefined, true, undefined, this);
|
|
503675
503699
|
}
|
|
503676
503700
|
var import_react324, jsx_dev_runtime486;
|
|
503677
503701
|
var init_Onboarding = __esm(() => {
|
|
503678
503702
|
init_terminalSetup();
|
|
503679
|
-
init_useExitOnCtrlCDWithKeybindings();
|
|
503680
503703
|
init_ink2();
|
|
503681
|
-
init_useKeybinding();
|
|
503682
503704
|
init_config();
|
|
503683
503705
|
init_context();
|
|
503684
503706
|
init_env();
|
|
503685
503707
|
init_providers();
|
|
503686
|
-
|
|
503708
|
+
init_theme();
|
|
503687
503709
|
init_LocalBackendSetup();
|
|
503688
503710
|
init_WelcomeV2();
|
|
503689
|
-
init_PressEnterToContinue();
|
|
503690
|
-
init_ThemePicker();
|
|
503691
503711
|
init_OrderedList();
|
|
503692
503712
|
import_react324 = __toESM(require_react(), 1);
|
|
503693
503713
|
jsx_dev_runtime486 = __toESM(require_jsx_dev_runtime(), 1);
|
|
503694
503714
|
});
|
|
503695
503715
|
|
|
503696
|
-
// src/components/TrustDialog/utils.ts
|
|
503697
|
-
function hasHooks(settings) {
|
|
503698
|
-
if (settings === null || settings.disableAllHooks) {
|
|
503699
|
-
return false;
|
|
503700
|
-
}
|
|
503701
|
-
if (settings.statusLine) {
|
|
503702
|
-
return true;
|
|
503703
|
-
}
|
|
503704
|
-
if (settings.fileSuggestion) {
|
|
503705
|
-
return true;
|
|
503706
|
-
}
|
|
503707
|
-
if (!settings.hooks) {
|
|
503708
|
-
return false;
|
|
503709
|
-
}
|
|
503710
|
-
for (const hookConfig of Object.values(settings.hooks)) {
|
|
503711
|
-
if (hookConfig.length > 0) {
|
|
503712
|
-
return true;
|
|
503713
|
-
}
|
|
503714
|
-
}
|
|
503715
|
-
return false;
|
|
503716
|
-
}
|
|
503717
|
-
function getHooksSources() {
|
|
503718
|
-
const sources = [];
|
|
503719
|
-
const projectSettings = getSettingsForSource("projectSettings");
|
|
503720
|
-
if (hasHooks(projectSettings)) {
|
|
503721
|
-
sources.push(".claude/settings.json");
|
|
503722
|
-
}
|
|
503723
|
-
const localSettings = getSettingsForSource("localSettings");
|
|
503724
|
-
if (hasHooks(localSettings)) {
|
|
503725
|
-
sources.push(".claude/settings.local.json");
|
|
503726
|
-
}
|
|
503727
|
-
return sources;
|
|
503728
|
-
}
|
|
503729
|
-
function hasBashPermission(rules) {
|
|
503730
|
-
return rules.some((rule) => rule.ruleBehavior === "allow" && (rule.ruleValue.toolName === BASH_TOOL_NAME || rule.ruleValue.toolName.startsWith(BASH_TOOL_NAME + "(")));
|
|
503731
|
-
}
|
|
503732
|
-
function getBashPermissionSources() {
|
|
503733
|
-
const sources = [];
|
|
503734
|
-
const projectRules = getPermissionRulesForSource("projectSettings");
|
|
503735
|
-
if (hasBashPermission(projectRules)) {
|
|
503736
|
-
sources.push(".claude/settings.json");
|
|
503737
|
-
}
|
|
503738
|
-
const localRules = getPermissionRulesForSource("localSettings");
|
|
503739
|
-
if (hasBashPermission(localRules)) {
|
|
503740
|
-
sources.push(".claude/settings.local.json");
|
|
503741
|
-
}
|
|
503742
|
-
return sources;
|
|
503743
|
-
}
|
|
503744
|
-
function hasOtelHeadersHelper(settings) {
|
|
503745
|
-
return !!settings?.otelHeadersHelper;
|
|
503746
|
-
}
|
|
503747
|
-
function getOtelHeadersHelperSources() {
|
|
503748
|
-
const sources = [];
|
|
503749
|
-
const projectSettings = getSettingsForSource("projectSettings");
|
|
503750
|
-
if (hasOtelHeadersHelper(projectSettings)) {
|
|
503751
|
-
sources.push(".claude/settings.json");
|
|
503752
|
-
}
|
|
503753
|
-
const localSettings = getSettingsForSource("localSettings");
|
|
503754
|
-
if (hasOtelHeadersHelper(localSettings)) {
|
|
503755
|
-
sources.push(".claude/settings.local.json");
|
|
503756
|
-
}
|
|
503757
|
-
return sources;
|
|
503758
|
-
}
|
|
503759
|
-
function hasApiKeyHelper(settings) {
|
|
503760
|
-
return !!settings?.apiKeyHelper;
|
|
503761
|
-
}
|
|
503762
|
-
function getApiKeyHelperSources() {
|
|
503763
|
-
const sources = [];
|
|
503764
|
-
const projectSettings = getSettingsForSource("projectSettings");
|
|
503765
|
-
if (hasApiKeyHelper(projectSettings)) {
|
|
503766
|
-
sources.push(".claude/settings.json");
|
|
503767
|
-
}
|
|
503768
|
-
const localSettings = getSettingsForSource("localSettings");
|
|
503769
|
-
if (hasApiKeyHelper(localSettings)) {
|
|
503770
|
-
sources.push(".claude/settings.local.json");
|
|
503771
|
-
}
|
|
503772
|
-
return sources;
|
|
503773
|
-
}
|
|
503774
|
-
function hasAwsCommands(settings) {
|
|
503775
|
-
return !!(settings?.awsAuthRefresh || settings?.awsCredentialExport);
|
|
503776
|
-
}
|
|
503777
|
-
function getAwsCommandsSources() {
|
|
503778
|
-
const sources = [];
|
|
503779
|
-
const projectSettings = getSettingsForSource("projectSettings");
|
|
503780
|
-
if (hasAwsCommands(projectSettings)) {
|
|
503781
|
-
sources.push(".claude/settings.json");
|
|
503782
|
-
}
|
|
503783
|
-
const localSettings = getSettingsForSource("localSettings");
|
|
503784
|
-
if (hasAwsCommands(localSettings)) {
|
|
503785
|
-
sources.push(".claude/settings.local.json");
|
|
503786
|
-
}
|
|
503787
|
-
return sources;
|
|
503788
|
-
}
|
|
503789
|
-
function hasGcpCommands(settings) {
|
|
503790
|
-
return !!settings?.gcpAuthRefresh;
|
|
503791
|
-
}
|
|
503792
|
-
function getGcpCommandsSources() {
|
|
503793
|
-
const sources = [];
|
|
503794
|
-
const projectSettings = getSettingsForSource("projectSettings");
|
|
503795
|
-
if (hasGcpCommands(projectSettings)) {
|
|
503796
|
-
sources.push(".claude/settings.json");
|
|
503797
|
-
}
|
|
503798
|
-
const localSettings = getSettingsForSource("localSettings");
|
|
503799
|
-
if (hasGcpCommands(localSettings)) {
|
|
503800
|
-
sources.push(".claude/settings.local.json");
|
|
503801
|
-
}
|
|
503802
|
-
return sources;
|
|
503803
|
-
}
|
|
503804
|
-
function hasDangerousEnvVars(settings) {
|
|
503805
|
-
if (!settings?.env) {
|
|
503806
|
-
return false;
|
|
503807
|
-
}
|
|
503808
|
-
return Object.keys(settings.env).some((key) => !SAFE_ENV_VARS2.has(key.toUpperCase()));
|
|
503809
|
-
}
|
|
503810
|
-
function getDangerousEnvVarsSources() {
|
|
503811
|
-
const sources = [];
|
|
503812
|
-
const projectSettings = getSettingsForSource("projectSettings");
|
|
503813
|
-
if (hasDangerousEnvVars(projectSettings)) {
|
|
503814
|
-
sources.push(".claude/settings.json");
|
|
503815
|
-
}
|
|
503816
|
-
const localSettings = getSettingsForSource("localSettings");
|
|
503817
|
-
if (hasDangerousEnvVars(localSettings)) {
|
|
503818
|
-
sources.push(".claude/settings.local.json");
|
|
503819
|
-
}
|
|
503820
|
-
return sources;
|
|
503821
|
-
}
|
|
503822
|
-
var init_utils14 = __esm(() => {
|
|
503823
|
-
init_settings2();
|
|
503824
|
-
init_managedEnvConstants();
|
|
503825
|
-
init_permissionsLoader();
|
|
503826
|
-
});
|
|
503827
|
-
|
|
503828
503716
|
// src/components/TrustDialog/TrustDialog.tsx
|
|
503829
503717
|
var exports_TrustDialog = {};
|
|
503830
503718
|
__export(exports_TrustDialog, {
|
|
503831
503719
|
TrustDialog: () => TrustDialog
|
|
503832
503720
|
});
|
|
503833
503721
|
import { homedir as homedir36 } from "os";
|
|
503834
|
-
function TrustDialog(
|
|
503835
|
-
const $2 = c3(33);
|
|
503836
|
-
const {
|
|
503837
|
-
onDone,
|
|
503838
|
-
commands: commands2
|
|
503839
|
-
} = t0;
|
|
503840
|
-
let t1;
|
|
503841
|
-
if ($2[0] === Symbol.for("react.memo_cache_sentinel")) {
|
|
503842
|
-
t1 = getMcpConfigsByScope("project");
|
|
503843
|
-
$2[0] = t1;
|
|
503844
|
-
} else {
|
|
503845
|
-
t1 = $2[0];
|
|
503846
|
-
}
|
|
503847
|
-
const {
|
|
503848
|
-
servers: projectServers
|
|
503849
|
-
} = t1;
|
|
503850
|
-
let t2;
|
|
503851
|
-
if ($2[1] === Symbol.for("react.memo_cache_sentinel")) {
|
|
503852
|
-
t2 = Object.keys(projectServers);
|
|
503853
|
-
$2[1] = t2;
|
|
503854
|
-
} else {
|
|
503855
|
-
t2 = $2[1];
|
|
503856
|
-
}
|
|
503857
|
-
const hasMcpServers = t2.length > 0;
|
|
503858
|
-
let t3;
|
|
503859
|
-
if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
|
|
503860
|
-
t3 = getHooksSources();
|
|
503861
|
-
$2[2] = t3;
|
|
503862
|
-
} else {
|
|
503863
|
-
t3 = $2[2];
|
|
503864
|
-
}
|
|
503865
|
-
const hooksSettingSources = t3;
|
|
503866
|
-
const hasHooks2 = hooksSettingSources.length > 0;
|
|
503867
|
-
let t4;
|
|
503868
|
-
if ($2[3] === Symbol.for("react.memo_cache_sentinel")) {
|
|
503869
|
-
t4 = getBashPermissionSources();
|
|
503870
|
-
$2[3] = t4;
|
|
503871
|
-
} else {
|
|
503872
|
-
t4 = $2[3];
|
|
503873
|
-
}
|
|
503874
|
-
const bashSettingSources = t4;
|
|
503875
|
-
let t5;
|
|
503876
|
-
if ($2[4] === Symbol.for("react.memo_cache_sentinel")) {
|
|
503877
|
-
t5 = getApiKeyHelperSources();
|
|
503878
|
-
$2[4] = t5;
|
|
503879
|
-
} else {
|
|
503880
|
-
t5 = $2[4];
|
|
503881
|
-
}
|
|
503882
|
-
const apiKeyHelperSources = t5;
|
|
503883
|
-
const hasApiKeyHelper2 = apiKeyHelperSources.length > 0;
|
|
503884
|
-
let t6;
|
|
503885
|
-
if ($2[5] === Symbol.for("react.memo_cache_sentinel")) {
|
|
503886
|
-
t6 = getAwsCommandsSources();
|
|
503887
|
-
$2[5] = t6;
|
|
503888
|
-
} else {
|
|
503889
|
-
t6 = $2[5];
|
|
503890
|
-
}
|
|
503891
|
-
const awsCommandsSources = t6;
|
|
503892
|
-
const hasAwsCommands2 = awsCommandsSources.length > 0;
|
|
503893
|
-
let t7;
|
|
503894
|
-
if ($2[6] === Symbol.for("react.memo_cache_sentinel")) {
|
|
503895
|
-
t7 = getGcpCommandsSources();
|
|
503896
|
-
$2[6] = t7;
|
|
503897
|
-
} else {
|
|
503898
|
-
t7 = $2[6];
|
|
503899
|
-
}
|
|
503900
|
-
const gcpCommandsSources = t7;
|
|
503901
|
-
const hasGcpCommands2 = gcpCommandsSources.length > 0;
|
|
503902
|
-
let t8;
|
|
503903
|
-
if ($2[7] === Symbol.for("react.memo_cache_sentinel")) {
|
|
503904
|
-
t8 = getOtelHeadersHelperSources();
|
|
503905
|
-
$2[7] = t8;
|
|
503906
|
-
} else {
|
|
503907
|
-
t8 = $2[7];
|
|
503908
|
-
}
|
|
503909
|
-
const otelHeadersHelperSources = t8;
|
|
503910
|
-
const hasOtelHeadersHelper2 = otelHeadersHelperSources.length > 0;
|
|
503911
|
-
let t9;
|
|
503912
|
-
if ($2[8] === Symbol.for("react.memo_cache_sentinel")) {
|
|
503913
|
-
t9 = getDangerousEnvVarsSources();
|
|
503914
|
-
$2[8] = t9;
|
|
503915
|
-
} else {
|
|
503916
|
-
t9 = $2[8];
|
|
503917
|
-
}
|
|
503918
|
-
const dangerousEnvVarsSources = t9;
|
|
503919
|
-
const hasDangerousEnvVars2 = dangerousEnvVarsSources.length > 0;
|
|
503920
|
-
let t10;
|
|
503921
|
-
if ($2[9] !== commands2) {
|
|
503922
|
-
t10 = commands2?.some(_temp2101) ?? false;
|
|
503923
|
-
$2[9] = commands2;
|
|
503924
|
-
$2[10] = t10;
|
|
503925
|
-
} else {
|
|
503926
|
-
t10 = $2[10];
|
|
503927
|
-
}
|
|
503928
|
-
const hasSlashCommandBash = t10;
|
|
503929
|
-
let t11;
|
|
503930
|
-
if ($2[11] !== commands2) {
|
|
503931
|
-
t11 = commands2?.some(_temp442) ?? false;
|
|
503932
|
-
$2[11] = commands2;
|
|
503933
|
-
$2[12] = t11;
|
|
503934
|
-
} else {
|
|
503935
|
-
t11 = $2[12];
|
|
503936
|
-
}
|
|
503937
|
-
const hasSkillsBash = t11;
|
|
503938
|
-
const hasAnyBashExecution = bashSettingSources.length > 0 || hasSlashCommandBash || hasSkillsBash;
|
|
503722
|
+
function TrustDialog({ onDone }) {
|
|
503939
503723
|
const hasTrustDialogAccepted = checkHasTrustDialogAccepted();
|
|
503940
|
-
|
|
503941
|
-
|
|
503942
|
-
|
|
503943
|
-
|
|
503944
|
-
|
|
503945
|
-
|
|
503946
|
-
|
|
503947
|
-
|
|
503948
|
-
|
|
503949
|
-
|
|
503950
|
-
|
|
503951
|
-
hasAwsCommands: hasAwsCommands2,
|
|
503952
|
-
hasGcpCommands: hasGcpCommands2,
|
|
503953
|
-
hasOtelHeadersHelper: hasOtelHeadersHelper2,
|
|
503954
|
-
hasDangerousEnvVars: hasDangerousEnvVars2
|
|
503955
|
-
});
|
|
503956
|
-
};
|
|
503957
|
-
t13 = [hasMcpServers, hasHooks2, hasAnyBashExecution, hasApiKeyHelper2, hasAwsCommands2, hasGcpCommands2, hasOtelHeadersHelper2, hasDangerousEnvVars2];
|
|
503958
|
-
$2[13] = hasAnyBashExecution;
|
|
503959
|
-
$2[14] = t12;
|
|
503960
|
-
$2[15] = t13;
|
|
503961
|
-
} else {
|
|
503962
|
-
t12 = $2[14];
|
|
503963
|
-
t13 = $2[15];
|
|
503964
|
-
}
|
|
503965
|
-
import_react325.default.useEffect(t12, t13);
|
|
503966
|
-
let t14;
|
|
503967
|
-
if ($2[16] !== hasAnyBashExecution || $2[17] !== onDone) {
|
|
503968
|
-
t14 = function onChange2(value) {
|
|
503969
|
-
if (value === "exit") {
|
|
503724
|
+
const [focusIdx, setFocusIdx] = import_react325.useState(0);
|
|
503725
|
+
use_input_default((_input, key) => {
|
|
503726
|
+
if (hasTrustDialogAccepted)
|
|
503727
|
+
return;
|
|
503728
|
+
if (key.upArrow) {
|
|
503729
|
+
setFocusIdx((i2) => (i2 - 1 + OPTIONS.length) % OPTIONS.length);
|
|
503730
|
+
} else if (key.downArrow) {
|
|
503731
|
+
setFocusIdx((i2) => (i2 + 1) % OPTIONS.length);
|
|
503732
|
+
} else if (key.return) {
|
|
503733
|
+
const chosen = OPTIONS[focusIdx];
|
|
503734
|
+
if (chosen?.value === "exit") {
|
|
503970
503735
|
gracefulShutdownSync(1);
|
|
503971
|
-
|
|
503972
|
-
}
|
|
503973
|
-
try {
|
|
503974
|
-
const isHomeDir_0 = homedir36() === getCwd();
|
|
503736
|
+
} else {
|
|
503975
503737
|
try {
|
|
503976
|
-
|
|
503977
|
-
|
|
503978
|
-
|
|
503979
|
-
|
|
503980
|
-
|
|
503981
|
-
|
|
503982
|
-
|
|
503983
|
-
|
|
503984
|
-
|
|
503985
|
-
|
|
503986
|
-
|
|
503987
|
-
} catch {}
|
|
503988
|
-
if (isHomeDir_0) {
|
|
503989
|
-
setSessionTrustAccepted(true);
|
|
503990
|
-
} else {
|
|
503991
|
-
try {
|
|
503992
|
-
saveCurrentProjectConfig(_temp530);
|
|
503993
|
-
} catch {}
|
|
503994
|
-
setSessionTrustAccepted(true);
|
|
503738
|
+
const isHomeDir = homedir36() === getCwd();
|
|
503739
|
+
if (isHomeDir) {
|
|
503740
|
+
setSessionTrustAccepted(true);
|
|
503741
|
+
} else {
|
|
503742
|
+
try {
|
|
503743
|
+
saveCurrentProjectConfig((current) => ({ ...current, hasTrustDialogAccepted: true }));
|
|
503744
|
+
} catch {}
|
|
503745
|
+
setSessionTrustAccepted(true);
|
|
503746
|
+
}
|
|
503747
|
+
} finally {
|
|
503748
|
+
onDone();
|
|
503995
503749
|
}
|
|
503996
|
-
} finally {
|
|
503997
|
-
onDone();
|
|
503998
503750
|
}
|
|
503999
|
-
};
|
|
504000
|
-
$2[16] = hasAnyBashExecution;
|
|
504001
|
-
$2[17] = onDone;
|
|
504002
|
-
$2[18] = t14;
|
|
504003
|
-
} else {
|
|
504004
|
-
t14 = $2[18];
|
|
504005
|
-
}
|
|
504006
|
-
const onChange = t14;
|
|
504007
|
-
const exitState = useExitOnCtrlCDWithKeybindings(_temp624);
|
|
504008
|
-
let t15;
|
|
504009
|
-
if ($2[19] === Symbol.for("react.memo_cache_sentinel")) {
|
|
504010
|
-
t15 = {
|
|
504011
|
-
context: "Confirmation"
|
|
504012
|
-
};
|
|
504013
|
-
$2[19] = t15;
|
|
504014
|
-
} else {
|
|
504015
|
-
t15 = $2[19];
|
|
504016
|
-
}
|
|
504017
|
-
useKeybinding("confirm:no", _temp721, t15);
|
|
504018
|
-
use_input_default((_input, key) => {
|
|
504019
|
-
if (key.return) {
|
|
504020
|
-
onChange("enable_all");
|
|
504021
503751
|
} else if (key.escape) {
|
|
504022
503752
|
gracefulShutdownSync(0);
|
|
504023
503753
|
}
|
|
504024
|
-
}
|
|
503754
|
+
});
|
|
504025
503755
|
if (hasTrustDialogAccepted) {
|
|
504026
|
-
setTimeout(onDone);
|
|
503756
|
+
setTimeout(onDone, 0);
|
|
504027
503757
|
return null;
|
|
504028
503758
|
}
|
|
504029
|
-
|
|
504030
|
-
|
|
504031
|
-
|
|
504032
|
-
|
|
504033
|
-
|
|
504034
|
-
|
|
504035
|
-
|
|
504036
|
-
|
|
504037
|
-
|
|
504038
|
-
children: [
|
|
504039
|
-
"Quick safety check: Is this a project you created or one you trust? (Like your own code, a well-known open source project, or work from your team). If not, take a moment to review what",
|
|
504040
|
-
"'",
|
|
504041
|
-
"s in this folder first."
|
|
504042
|
-
]
|
|
504043
|
-
}, undefined, true, undefined, this);
|
|
504044
|
-
t18 = /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
|
|
503759
|
+
const cwd2 = getFsImplementation().cwd();
|
|
503760
|
+
return /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(PermissionDialog, {
|
|
503761
|
+
color: "warning",
|
|
503762
|
+
titleColor: "warning",
|
|
503763
|
+
title: "Accessing workspace:",
|
|
503764
|
+
children: /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
|
|
503765
|
+
flexDirection: "column",
|
|
503766
|
+
gap: 1,
|
|
503767
|
+
paddingTop: 1,
|
|
504045
503768
|
children: [
|
|
504046
|
-
|
|
504047
|
-
|
|
504048
|
-
|
|
503769
|
+
/* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
|
|
503770
|
+
bold: true,
|
|
503771
|
+
children: cwd2
|
|
503772
|
+
}, undefined, false, undefined, this),
|
|
503773
|
+
/* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
|
|
503774
|
+
children: [
|
|
503775
|
+
"Quick safety check: Is this a project you created or one you trust? (Like your own code, a well-known open source project, or work from your team.) If not, take a moment to review what",
|
|
503776
|
+
"'",
|
|
503777
|
+
"s in this folder first."
|
|
503778
|
+
]
|
|
503779
|
+
}, undefined, true, undefined, this),
|
|
503780
|
+
/* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
|
|
503781
|
+
children: "localClawd'll be able to read, edit, and execute files here."
|
|
503782
|
+
}, undefined, false, undefined, this),
|
|
503783
|
+
/* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
|
|
503784
|
+
flexDirection: "column",
|
|
503785
|
+
children: OPTIONS.map((opt, i2) => /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
|
|
503786
|
+
gap: 1,
|
|
503787
|
+
children: [
|
|
503788
|
+
/* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
|
|
503789
|
+
color: "yellow",
|
|
503790
|
+
children: i2 === focusIdx ? "▶" : " "
|
|
503791
|
+
}, undefined, false, undefined, this),
|
|
503792
|
+
/* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
|
|
503793
|
+
bold: i2 === focusIdx,
|
|
503794
|
+
color: i2 === focusIdx ? "white" : undefined,
|
|
503795
|
+
children: opt.label
|
|
503796
|
+
}, undefined, false, undefined, this)
|
|
503797
|
+
]
|
|
503798
|
+
}, opt.value, true, undefined, this))
|
|
503799
|
+
}, undefined, false, undefined, this),
|
|
503800
|
+
/* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
|
|
503801
|
+
dimColor: true,
|
|
503802
|
+
children: "↑↓ navigate · Enter confirm · Esc cancel"
|
|
503803
|
+
}, undefined, false, undefined, this)
|
|
504049
503804
|
]
|
|
504050
|
-
}, undefined, true, undefined, this)
|
|
504051
|
-
|
|
504052
|
-
$2[21] = t17;
|
|
504053
|
-
$2[22] = t18;
|
|
504054
|
-
} else {
|
|
504055
|
-
t16 = $2[20];
|
|
504056
|
-
t17 = $2[21];
|
|
504057
|
-
t18 = $2[22];
|
|
504058
|
-
}
|
|
504059
|
-
let t19;
|
|
504060
|
-
if ($2[23] === Symbol.for("react.memo_cache_sentinel")) {
|
|
504061
|
-
t19 = /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
|
|
504062
|
-
dimColor: true,
|
|
504063
|
-
children: /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(Link, {
|
|
504064
|
-
url: "https://code.claude.com/docs/en/security",
|
|
504065
|
-
children: "Security guide"
|
|
504066
|
-
}, undefined, false, undefined, this)
|
|
504067
|
-
}, undefined, false, undefined, this);
|
|
504068
|
-
$2[23] = t19;
|
|
504069
|
-
} else {
|
|
504070
|
-
t19 = $2[23];
|
|
504071
|
-
}
|
|
504072
|
-
let t20;
|
|
504073
|
-
if ($2[24] === Symbol.for("react.memo_cache_sentinel")) {
|
|
504074
|
-
t20 = [{
|
|
504075
|
-
label: "Yes, I trust this folder",
|
|
504076
|
-
value: "enable_all"
|
|
504077
|
-
}, {
|
|
504078
|
-
label: "No, exit",
|
|
504079
|
-
value: "exit"
|
|
504080
|
-
}];
|
|
504081
|
-
$2[24] = t20;
|
|
504082
|
-
} else {
|
|
504083
|
-
t20 = $2[24];
|
|
504084
|
-
}
|
|
504085
|
-
let t21;
|
|
504086
|
-
if ($2[25] !== onChange) {
|
|
504087
|
-
t21 = /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(Select, {
|
|
504088
|
-
options: t20,
|
|
504089
|
-
onChange: (value_0) => onChange(value_0),
|
|
504090
|
-
onCancel: () => onChange("exit")
|
|
504091
|
-
}, undefined, false, undefined, this);
|
|
504092
|
-
$2[25] = onChange;
|
|
504093
|
-
$2[26] = t21;
|
|
504094
|
-
} else {
|
|
504095
|
-
t21 = $2[26];
|
|
504096
|
-
}
|
|
504097
|
-
let t22;
|
|
504098
|
-
if ($2[27] !== exitState.keyName || $2[28] !== exitState.pending) {
|
|
504099
|
-
t22 = /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedText, {
|
|
504100
|
-
dimColor: true,
|
|
504101
|
-
children: exitState.pending ? /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(jsx_dev_runtime487.Fragment, {
|
|
504102
|
-
children: [
|
|
504103
|
-
"Press ",
|
|
504104
|
-
exitState.keyName,
|
|
504105
|
-
" again to exit"
|
|
504106
|
-
]
|
|
504107
|
-
}, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(jsx_dev_runtime487.Fragment, {
|
|
504108
|
-
children: "Enter to confirm · Esc to cancel"
|
|
504109
|
-
}, undefined, false, undefined, this)
|
|
504110
|
-
}, undefined, false, undefined, this);
|
|
504111
|
-
$2[27] = exitState.keyName;
|
|
504112
|
-
$2[28] = exitState.pending;
|
|
504113
|
-
$2[29] = t22;
|
|
504114
|
-
} else {
|
|
504115
|
-
t22 = $2[29];
|
|
504116
|
-
}
|
|
504117
|
-
let t23;
|
|
504118
|
-
if ($2[30] !== t21 || $2[31] !== t22) {
|
|
504119
|
-
t23 = /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(PermissionDialog, {
|
|
504120
|
-
color: "warning",
|
|
504121
|
-
titleColor: "warning",
|
|
504122
|
-
title: "Accessing workspace:",
|
|
504123
|
-
children: /* @__PURE__ */ jsx_dev_runtime487.jsxDEV(ThemedBox_default, {
|
|
504124
|
-
flexDirection: "column",
|
|
504125
|
-
gap: 1,
|
|
504126
|
-
paddingTop: 1,
|
|
504127
|
-
children: [
|
|
504128
|
-
t16,
|
|
504129
|
-
t17,
|
|
504130
|
-
t18,
|
|
504131
|
-
t19,
|
|
504132
|
-
t21,
|
|
504133
|
-
t22
|
|
504134
|
-
]
|
|
504135
|
-
}, undefined, true, undefined, this)
|
|
504136
|
-
}, undefined, false, undefined, this);
|
|
504137
|
-
$2[30] = t21;
|
|
504138
|
-
$2[31] = t22;
|
|
504139
|
-
$2[32] = t23;
|
|
504140
|
-
} else {
|
|
504141
|
-
t23 = $2[32];
|
|
504142
|
-
}
|
|
504143
|
-
return t23;
|
|
504144
|
-
}
|
|
504145
|
-
function _temp721() {
|
|
504146
|
-
gracefulShutdownSync(0);
|
|
504147
|
-
}
|
|
504148
|
-
function _temp624() {
|
|
504149
|
-
return gracefulShutdownSync(1);
|
|
504150
|
-
}
|
|
504151
|
-
function _temp530(current) {
|
|
504152
|
-
return {
|
|
504153
|
-
...current,
|
|
504154
|
-
hasTrustDialogAccepted: true
|
|
504155
|
-
};
|
|
504156
|
-
}
|
|
504157
|
-
function _temp442(command_0) {
|
|
504158
|
-
return command_0.type === "prompt" && (command_0.loadedFrom === "skills" || command_0.loadedFrom === "plugin") && (command_0.source === "projectSettings" || command_0.source === "localSettings" || command_0.source === "plugin") && command_0.allowedTools?.some(_temp356);
|
|
504159
|
-
}
|
|
504160
|
-
function _temp356(tool_0) {
|
|
504161
|
-
return tool_0 === BASH_TOOL_NAME || tool_0.startsWith(BASH_TOOL_NAME + "(");
|
|
504162
|
-
}
|
|
504163
|
-
function _temp2101(command8) {
|
|
504164
|
-
return command8.type === "prompt" && command8.loadedFrom === "commands_DEPRECATED" && (command8.source === "projectSettings" || command8.source === "localSettings") && command8.allowedTools?.some(_temp303);
|
|
504165
|
-
}
|
|
504166
|
-
function _temp303(tool) {
|
|
504167
|
-
return tool === BASH_TOOL_NAME || tool.startsWith(BASH_TOOL_NAME + "(");
|
|
503805
|
+
}, undefined, true, undefined, this)
|
|
503806
|
+
}, undefined, false, undefined, this);
|
|
504168
503807
|
}
|
|
504169
|
-
var import_react325, jsx_dev_runtime487;
|
|
503808
|
+
var import_react325, jsx_dev_runtime487, OPTIONS;
|
|
504170
503809
|
var init_TrustDialog = __esm(() => {
|
|
504171
503810
|
init_ink2();
|
|
504172
503811
|
init_state();
|
|
504173
|
-
init_useExitOnCtrlCDWithKeybindings();
|
|
504174
|
-
init_ink2();
|
|
504175
|
-
init_useKeybinding();
|
|
504176
|
-
init_config2();
|
|
504177
503812
|
init_config();
|
|
504178
503813
|
init_cwd();
|
|
504179
503814
|
init_fsOperations();
|
|
504180
503815
|
init_gracefulShutdown();
|
|
504181
|
-
init_CustomSelect();
|
|
504182
503816
|
init_PermissionDialog();
|
|
504183
|
-
init_utils14();
|
|
504184
503817
|
import_react325 = __toESM(require_react(), 1);
|
|
504185
503818
|
jsx_dev_runtime487 = __toESM(require_jsx_dev_runtime(), 1);
|
|
503819
|
+
OPTIONS = [
|
|
503820
|
+
{ label: "Yes, I trust this folder", value: "enable_all" },
|
|
503821
|
+
{ label: "No, exit", value: "exit" }
|
|
503822
|
+
];
|
|
504186
503823
|
});
|
|
504187
503824
|
|
|
504188
503825
|
// src/components/BypassPermissionsModeDialog.tsx
|
|
@@ -504202,7 +503839,7 @@ function BypassPermissionsModeDialog(t0) {
|
|
|
504202
503839
|
} else {
|
|
504203
503840
|
t1 = $2[0];
|
|
504204
503841
|
}
|
|
504205
|
-
import_react326.default.useEffect(
|
|
503842
|
+
import_react326.default.useEffect(_temp303, t1);
|
|
504206
503843
|
let t2;
|
|
504207
503844
|
if ($2[1] !== onAccept) {
|
|
504208
503845
|
t2 = function onChange2(value) {
|
|
@@ -504227,7 +503864,7 @@ function BypassPermissionsModeDialog(t0) {
|
|
|
504227
503864
|
t2 = $2[2];
|
|
504228
503865
|
}
|
|
504229
503866
|
const onChange = t2;
|
|
504230
|
-
const handleEscape =
|
|
503867
|
+
const handleEscape = _temp2101;
|
|
504231
503868
|
let t3;
|
|
504232
503869
|
if ($2[3] === Symbol.for("react.memo_cache_sentinel")) {
|
|
504233
503870
|
t3 = /* @__PURE__ */ jsx_dev_runtime488.jsxDEV(ThemedBox_default, {
|
|
@@ -504287,10 +503924,10 @@ function BypassPermissionsModeDialog(t0) {
|
|
|
504287
503924
|
}
|
|
504288
503925
|
return t5;
|
|
504289
503926
|
}
|
|
504290
|
-
function
|
|
503927
|
+
function _temp2101() {
|
|
504291
503928
|
gracefulShutdownSync(0);
|
|
504292
503929
|
}
|
|
504293
|
-
function
|
|
503930
|
+
function _temp303() {
|
|
504294
503931
|
logEvent("tengu_bypass_permissions_mode_dialog_shown", {});
|
|
504295
503932
|
}
|
|
504296
503933
|
var import_react326, jsx_dev_runtime488;
|
|
@@ -504321,7 +503958,7 @@ function ClaudeInChromeOnboarding(t0) {
|
|
|
504321
503958
|
t1 = () => {
|
|
504322
503959
|
logEvent("tengu_claude_in_chrome_onboarding_shown", {});
|
|
504323
503960
|
isChromeExtensionInstalled().then(setIsExtensionInstalled);
|
|
504324
|
-
saveGlobalConfig(
|
|
503961
|
+
saveGlobalConfig(_temp304);
|
|
504325
503962
|
};
|
|
504326
503963
|
t2 = [];
|
|
504327
503964
|
$2[0] = t1;
|
|
@@ -504470,7 +504107,7 @@ function ClaudeInChromeOnboarding(t0) {
|
|
|
504470
504107
|
}
|
|
504471
504108
|
return t11;
|
|
504472
504109
|
}
|
|
504473
|
-
function
|
|
504110
|
+
function _temp304(current) {
|
|
504474
504111
|
return {
|
|
504475
504112
|
...current,
|
|
504476
504113
|
hasCompletedClaudeInChromeOnboarding: true
|
|
@@ -504492,7 +504129,7 @@ function completeOnboarding() {
|
|
|
504492
504129
|
saveGlobalConfig((current) => ({
|
|
504493
504130
|
...current,
|
|
504494
504131
|
hasCompletedOnboarding: true,
|
|
504495
|
-
lastOnboardingVersion: "1.1.
|
|
504132
|
+
lastOnboardingVersion: "1.1.10"
|
|
504496
504133
|
}));
|
|
504497
504134
|
}
|
|
504498
504135
|
function showDialog(root3, renderer) {
|
|
@@ -505580,7 +505217,7 @@ function TeleportRepoMismatchDialog(t0) {
|
|
|
505580
505217
|
} else {
|
|
505581
505218
|
t32 = $2[7];
|
|
505582
505219
|
}
|
|
505583
|
-
t2 = [...availablePaths.map(
|
|
505220
|
+
t2 = [...availablePaths.map(_temp305), t32];
|
|
505584
505221
|
$2[5] = availablePaths;
|
|
505585
505222
|
$2[6] = t2;
|
|
505586
505223
|
} else {
|
|
@@ -505666,7 +505303,7 @@ function TeleportRepoMismatchDialog(t0) {
|
|
|
505666
505303
|
}
|
|
505667
505304
|
return t4;
|
|
505668
505305
|
}
|
|
505669
|
-
function
|
|
505306
|
+
function _temp305(path17) {
|
|
505670
505307
|
return {
|
|
505671
505308
|
label: /* @__PURE__ */ jsx_dev_runtime494.jsxDEV(ThemedText, {
|
|
505672
505309
|
children: [
|
|
@@ -505961,7 +505598,7 @@ function NoConversationsMessage() {
|
|
|
505961
505598
|
} else {
|
|
505962
505599
|
t0 = $2[0];
|
|
505963
505600
|
}
|
|
505964
|
-
useKeybinding("app:interrupt",
|
|
505601
|
+
useKeybinding("app:interrupt", _temp306, t0);
|
|
505965
505602
|
let t1;
|
|
505966
505603
|
if ($2[1] === Symbol.for("react.memo_cache_sentinel")) {
|
|
505967
505604
|
t1 = /* @__PURE__ */ jsx_dev_runtime495.jsxDEV(ThemedBox_default, {
|
|
@@ -505982,7 +505619,7 @@ function NoConversationsMessage() {
|
|
|
505982
505619
|
}
|
|
505983
505620
|
return t1;
|
|
505984
505621
|
}
|
|
505985
|
-
function
|
|
505622
|
+
function _temp306() {
|
|
505986
505623
|
process.exit(1);
|
|
505987
505624
|
}
|
|
505988
505625
|
function CrossProjectMessage(t0) {
|
|
@@ -505997,7 +505634,7 @@ function CrossProjectMessage(t0) {
|
|
|
505997
505634
|
} else {
|
|
505998
505635
|
t1 = $2[0];
|
|
505999
505636
|
}
|
|
506000
|
-
import_react332.default.useEffect(
|
|
505637
|
+
import_react332.default.useEffect(_temp356, t1);
|
|
506001
505638
|
let t2;
|
|
506002
505639
|
if ($2[1] === Symbol.for("react.memo_cache_sentinel")) {
|
|
506003
505640
|
t2 = /* @__PURE__ */ jsx_dev_runtime495.jsxDEV(ThemedText, {
|
|
@@ -506063,11 +505700,11 @@ function CrossProjectMessage(t0) {
|
|
|
506063
505700
|
}
|
|
506064
505701
|
return t6;
|
|
506065
505702
|
}
|
|
506066
|
-
function
|
|
506067
|
-
const timeout2 = setTimeout(
|
|
505703
|
+
function _temp356() {
|
|
505704
|
+
const timeout2 = setTimeout(_temp2102, 100);
|
|
506068
505705
|
return () => clearTimeout(timeout2);
|
|
506069
505706
|
}
|
|
506070
|
-
function
|
|
505707
|
+
function _temp2102() {
|
|
506071
505708
|
process.exit(0);
|
|
506072
505709
|
}
|
|
506073
505710
|
var import_react332, jsx_dev_runtime495;
|
|
@@ -509051,7 +508688,7 @@ function appendToLog(path17, message) {
|
|
|
509051
508688
|
cwd: getFsImplementation().cwd(),
|
|
509052
508689
|
userType: process.env.USER_TYPE,
|
|
509053
508690
|
sessionId: getSessionId(),
|
|
509054
|
-
version: "1.1.
|
|
508691
|
+
version: "1.1.10"
|
|
509055
508692
|
};
|
|
509056
508693
|
getLogWriter(path17).write(messageWithTimestamp);
|
|
509057
508694
|
}
|
|
@@ -513051,8 +512688,8 @@ async function getEnvLessBridgeConfig() {
|
|
|
513051
512688
|
}
|
|
513052
512689
|
async function checkEnvLessBridgeMinVersion() {
|
|
513053
512690
|
const cfg = await getEnvLessBridgeConfig();
|
|
513054
|
-
if (cfg.min_version && lt("1.1.
|
|
513055
|
-
return `Your version of localclawd (${"1.1.
|
|
512691
|
+
if (cfg.min_version && lt("1.1.10", cfg.min_version)) {
|
|
512692
|
+
return `Your version of localclawd (${"1.1.10"}) is too old for Remote Control.
|
|
513056
512693
|
Version ${cfg.min_version} or higher is required. Run \`localclawd update\` to update.`;
|
|
513057
512694
|
}
|
|
513058
512695
|
return null;
|
|
@@ -513524,7 +513161,7 @@ async function initBridgeCore(params) {
|
|
|
513524
513161
|
const rawApi = createBridgeApiClient({
|
|
513525
513162
|
baseUrl,
|
|
513526
513163
|
getAccessToken,
|
|
513527
|
-
runnerVersion: "1.1.
|
|
513164
|
+
runnerVersion: "1.1.10",
|
|
513528
513165
|
onDebug: logForDebugging,
|
|
513529
513166
|
onAuth401,
|
|
513530
513167
|
getTrustedDeviceToken
|
|
@@ -519180,7 +518817,7 @@ async function startMCPServer(cwd3, debug4, verbose) {
|
|
|
519180
518817
|
setCwd(cwd3);
|
|
519181
518818
|
const server = new Server({
|
|
519182
518819
|
name: "claude/tengu",
|
|
519183
|
-
version: "1.1.
|
|
518820
|
+
version: "1.1.10"
|
|
519184
518821
|
}, {
|
|
519185
518822
|
capabilities: {
|
|
519186
518823
|
tools: {}
|
|
@@ -520283,7 +519920,7 @@ function SetupNotes(t0) {
|
|
|
520283
519920
|
}
|
|
520284
519921
|
let t2;
|
|
520285
519922
|
if ($2[1] !== messages) {
|
|
520286
|
-
t2 = messages.map(
|
|
519923
|
+
t2 = messages.map(_temp307);
|
|
520287
519924
|
$2[1] = messages;
|
|
520288
519925
|
$2[2] = t2;
|
|
520289
519926
|
} else {
|
|
@@ -520307,7 +519944,7 @@ function SetupNotes(t0) {
|
|
|
520307
519944
|
}
|
|
520308
519945
|
return t3;
|
|
520309
519946
|
}
|
|
520310
|
-
function
|
|
519947
|
+
function _temp307(message, index) {
|
|
520311
519948
|
return /* @__PURE__ */ jsx_dev_runtime500.jsxDEV(ThemedBox_default, {
|
|
520312
519949
|
marginLeft: 2,
|
|
520313
519950
|
children: /* @__PURE__ */ jsx_dev_runtime500.jsxDEV(ThemedText, {
|
|
@@ -520785,7 +520422,7 @@ __export(exports_update, {
|
|
|
520785
520422
|
});
|
|
520786
520423
|
async function update() {
|
|
520787
520424
|
logEvent("tengu_update_check", {});
|
|
520788
|
-
writeToStdout(`Current version: ${"1.1.
|
|
520425
|
+
writeToStdout(`Current version: ${"1.1.10"}
|
|
520789
520426
|
`);
|
|
520790
520427
|
const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
520791
520428
|
writeToStdout(`Checking for updates to ${channel} version...
|
|
@@ -520860,8 +520497,8 @@ async function update() {
|
|
|
520860
520497
|
writeToStdout(`localclawd is managed by Homebrew.
|
|
520861
520498
|
`);
|
|
520862
520499
|
const latest = await getLatestVersion(channel);
|
|
520863
|
-
if (latest && !gte("1.1.
|
|
520864
|
-
writeToStdout(`Update available: ${"1.1.
|
|
520500
|
+
if (latest && !gte("1.1.10", latest)) {
|
|
520501
|
+
writeToStdout(`Update available: ${"1.1.10"} → ${latest}
|
|
520865
520502
|
`);
|
|
520866
520503
|
writeToStdout(`
|
|
520867
520504
|
`);
|
|
@@ -520877,8 +520514,8 @@ async function update() {
|
|
|
520877
520514
|
writeToStdout(`localclawd is managed by winget.
|
|
520878
520515
|
`);
|
|
520879
520516
|
const latest = await getLatestVersion(channel);
|
|
520880
|
-
if (latest && !gte("1.1.
|
|
520881
|
-
writeToStdout(`Update available: ${"1.1.
|
|
520517
|
+
if (latest && !gte("1.1.10", latest)) {
|
|
520518
|
+
writeToStdout(`Update available: ${"1.1.10"} → ${latest}
|
|
520882
520519
|
`);
|
|
520883
520520
|
writeToStdout(`
|
|
520884
520521
|
`);
|
|
@@ -520892,8 +520529,8 @@ async function update() {
|
|
|
520892
520529
|
writeToStdout(`localclawd is managed by apk.
|
|
520893
520530
|
`);
|
|
520894
520531
|
const latest = await getLatestVersion(channel);
|
|
520895
|
-
if (latest && !gte("1.1.
|
|
520896
|
-
writeToStdout(`Update available: ${"1.1.
|
|
520532
|
+
if (latest && !gte("1.1.10", latest)) {
|
|
520533
|
+
writeToStdout(`Update available: ${"1.1.10"} → ${latest}
|
|
520897
520534
|
`);
|
|
520898
520535
|
writeToStdout(`
|
|
520899
520536
|
`);
|
|
@@ -520958,11 +520595,11 @@ async function update() {
|
|
|
520958
520595
|
`);
|
|
520959
520596
|
await gracefulShutdown(1);
|
|
520960
520597
|
}
|
|
520961
|
-
if (result.latestVersion === "1.1.
|
|
520962
|
-
writeToStdout(source_default.green(`localclawd is up to date (${"1.1.
|
|
520598
|
+
if (result.latestVersion === "1.1.10") {
|
|
520599
|
+
writeToStdout(source_default.green(`localclawd is up to date (${"1.1.10"})`) + `
|
|
520963
520600
|
`);
|
|
520964
520601
|
} else {
|
|
520965
|
-
writeToStdout(source_default.green(`Successfully updated from ${"1.1.
|
|
520602
|
+
writeToStdout(source_default.green(`Successfully updated from ${"1.1.10"} to version ${result.latestVersion}`) + `
|
|
520966
520603
|
`);
|
|
520967
520604
|
await regenerateCompletionCache();
|
|
520968
520605
|
}
|
|
@@ -521022,12 +520659,12 @@ async function update() {
|
|
|
521022
520659
|
`);
|
|
521023
520660
|
await gracefulShutdown(1);
|
|
521024
520661
|
}
|
|
521025
|
-
if (latestVersion === "1.1.
|
|
521026
|
-
writeToStdout(source_default.green(`localclawd is up to date (${"1.1.
|
|
520662
|
+
if (latestVersion === "1.1.10") {
|
|
520663
|
+
writeToStdout(source_default.green(`localclawd is up to date (${"1.1.10"})`) + `
|
|
521027
520664
|
`);
|
|
521028
520665
|
await gracefulShutdown(0);
|
|
521029
520666
|
}
|
|
521030
|
-
writeToStdout(`New version available: ${latestVersion} (current: ${"1.1.
|
|
520667
|
+
writeToStdout(`New version available: ${latestVersion} (current: ${"1.1.10"})
|
|
521031
520668
|
`);
|
|
521032
520669
|
writeToStdout(`Installing update...
|
|
521033
520670
|
`);
|
|
@@ -521072,7 +520709,7 @@ async function update() {
|
|
|
521072
520709
|
logForDebugging(`update: Installation status: ${status2}`);
|
|
521073
520710
|
switch (status2) {
|
|
521074
520711
|
case "success":
|
|
521075
|
-
writeToStdout(source_default.green(`Successfully updated from ${"1.1.
|
|
520712
|
+
writeToStdout(source_default.green(`Successfully updated from ${"1.1.10"} to version ${latestVersion}`) + `
|
|
521076
520713
|
`);
|
|
521077
520714
|
await regenerateCompletionCache();
|
|
521078
520715
|
break;
|
|
@@ -522337,7 +521974,7 @@ ${customInstructions}` : customInstructions;
|
|
|
522337
521974
|
}
|
|
522338
521975
|
}
|
|
522339
521976
|
logForDiagnosticsNoPII("info", "started", {
|
|
522340
|
-
version: "1.1.
|
|
521977
|
+
version: "1.1.10",
|
|
522341
521978
|
is_native_binary: isInBundledMode()
|
|
522342
521979
|
});
|
|
522343
521980
|
registerCleanup(async () => {
|
|
@@ -523121,7 +522758,7 @@ Usage: localclawd --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
523121
522758
|
pendingHookMessages
|
|
523122
522759
|
}, renderAndRun);
|
|
523123
522760
|
}
|
|
523124
|
-
}).version("1.1.
|
|
522761
|
+
}).version("1.1.10 (localClawd)", "-v, --version", "Output the version number");
|
|
523125
522762
|
program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
|
|
523126
522763
|
program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
|
|
523127
522764
|
if (canUserConfigureAdvisor()) {
|
|
@@ -523629,7 +523266,7 @@ if (false) {}
|
|
|
523629
523266
|
async function main2() {
|
|
523630
523267
|
const args = process.argv.slice(2);
|
|
523631
523268
|
if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
|
|
523632
|
-
console.log(`${"1.1.
|
|
523269
|
+
console.log(`${"1.1.10"} (localclawd)`);
|
|
523633
523270
|
return;
|
|
523634
523271
|
}
|
|
523635
523272
|
const {
|
|
@@ -523713,4 +523350,4 @@ async function main2() {
|
|
|
523713
523350
|
}
|
|
523714
523351
|
main2();
|
|
523715
523352
|
|
|
523716
|
-
//# debugId=
|
|
523353
|
+
//# debugId=8FD76418D3A40B8164756E2164756E21
|