localclawd 1.1.2 → 1.1.3
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 +233 -175
- 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.3"}`;
|
|
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.3"} (${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.3"}${suffix}`;
|
|
89293
89293
|
}
|
|
89294
89294
|
function getWebFetchUserAgent() {
|
|
89295
89295
|
return `Claude-User (${getClaudeCodeUserAgent()}; +https://support.anthropic.com/)`;
|
|
@@ -99110,7 +99110,7 @@ function getAttributionHeader(fingerprint) {
|
|
|
99110
99110
|
if (!isAttributionHeaderEnabled()) {
|
|
99111
99111
|
return "";
|
|
99112
99112
|
}
|
|
99113
|
-
const version = `${"1.1.
|
|
99113
|
+
const version = `${"1.1.3"}.${fingerprint}`;
|
|
99114
99114
|
const entrypoint = process.env.CLAUDE_CODE_ENTRYPOINT ?? "unknown";
|
|
99115
99115
|
const cch = "";
|
|
99116
99116
|
const workload = getWorkload();
|
|
@@ -132657,7 +132657,7 @@ var init_metadata = __esm(() => {
|
|
|
132657
132657
|
COMPOUND_OPERATOR_REGEX = /\s*(?:&&|\|\||[;|])\s*/;
|
|
132658
132658
|
WHITESPACE_REGEX = /\s+/;
|
|
132659
132659
|
getVersionBase = memoize_default(() => {
|
|
132660
|
-
const match = "1.1.
|
|
132660
|
+
const match = "1.1.3".match(/^\d+\.\d+\.\d+(?:-[a-z]+)?/);
|
|
132661
132661
|
return match ? match[0] : undefined;
|
|
132662
132662
|
});
|
|
132663
132663
|
buildEnvContext = memoize_default(async () => {
|
|
@@ -132697,9 +132697,9 @@ var init_metadata = __esm(() => {
|
|
|
132697
132697
|
isGithubAction: isEnvTruthy(process.env.GITHUB_ACTIONS),
|
|
132698
132698
|
isClaudeCodeAction: isEnvTruthy(process.env.CLAUDE_CODE_ACTION),
|
|
132699
132699
|
isClaudeAiAuth: isClaudeAISubscriber(),
|
|
132700
|
-
version: "1.1.
|
|
132700
|
+
version: "1.1.3",
|
|
132701
132701
|
versionBase: getVersionBase(),
|
|
132702
|
-
buildTime: "2026-04-06T01:
|
|
132702
|
+
buildTime: "2026-04-06T01:36:01.118Z",
|
|
132703
132703
|
deploymentEnvironment: env4.detectDeploymentEnvironment(),
|
|
132704
132704
|
...isEnvTruthy(process.env.GITHUB_ACTIONS) && {
|
|
132705
132705
|
githubEventName: process.env.GITHUB_EVENT_NAME,
|
|
@@ -197286,7 +197286,7 @@ function getTelemetryAttributes() {
|
|
|
197286
197286
|
attributes["session.id"] = sessionId;
|
|
197287
197287
|
}
|
|
197288
197288
|
if (shouldIncludeAttribute("OTEL_METRICS_INCLUDE_VERSION")) {
|
|
197289
|
-
attributes["app.version"] = "1.1.
|
|
197289
|
+
attributes["app.version"] = "1.1.3";
|
|
197290
197290
|
}
|
|
197291
197291
|
const oauthAccount = getOauthAccountInfo();
|
|
197292
197292
|
if (oauthAccount) {
|
|
@@ -229347,7 +229347,7 @@ function getInstallationEnv() {
|
|
|
229347
229347
|
return;
|
|
229348
229348
|
}
|
|
229349
229349
|
function getClaudeCodeVersion() {
|
|
229350
|
-
return "1.1.
|
|
229350
|
+
return "1.1.3";
|
|
229351
229351
|
}
|
|
229352
229352
|
async function getInstalledVSCodeExtensionVersion(command) {
|
|
229353
229353
|
const { stdout } = await execFileNoThrow(command, ["--list-extensions", "--show-versions"], {
|
|
@@ -234949,7 +234949,7 @@ async function setupSdkMcpClients(sdkMcpConfigs, sendMcpMessage) {
|
|
|
234949
234949
|
const client4 = new Client({
|
|
234950
234950
|
name: "claude-code",
|
|
234951
234951
|
title: "Claude Code",
|
|
234952
|
-
version: "1.1.
|
|
234952
|
+
version: "1.1.3",
|
|
234953
234953
|
description: "Anthropic's agentic coding tool",
|
|
234954
234954
|
websiteUrl: PRODUCT_URL
|
|
234955
234955
|
}, {
|
|
@@ -235302,7 +235302,7 @@ var init_client9 = __esm(() => {
|
|
|
235302
235302
|
const client4 = new Client({
|
|
235303
235303
|
name: "claude-code",
|
|
235304
235304
|
title: "Claude Code",
|
|
235305
|
-
version: "1.1.
|
|
235305
|
+
version: "1.1.3",
|
|
235306
235306
|
description: "Anthropic's agentic coding tool",
|
|
235307
235307
|
websiteUrl: PRODUCT_URL
|
|
235308
235308
|
}, {
|
|
@@ -258493,7 +258493,7 @@ var init_user = __esm(() => {
|
|
|
258493
258493
|
deviceId,
|
|
258494
258494
|
sessionId: getSessionId(),
|
|
258495
258495
|
email: getEmail(),
|
|
258496
|
-
appVersion: "1.1.
|
|
258496
|
+
appVersion: "1.1.3",
|
|
258497
258497
|
platform: getHostPlatformForAnalytics(),
|
|
258498
258498
|
organizationUuid,
|
|
258499
258499
|
accountUuid,
|
|
@@ -259817,7 +259817,7 @@ async function initializeBetaTracing(resource) {
|
|
|
259817
259817
|
});
|
|
259818
259818
|
logs.setGlobalLoggerProvider(loggerProvider);
|
|
259819
259819
|
setLoggerProvider(loggerProvider);
|
|
259820
|
-
const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "1.1.
|
|
259820
|
+
const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "1.1.3");
|
|
259821
259821
|
setEventLogger(eventLogger);
|
|
259822
259822
|
process.on("beforeExit", async () => {
|
|
259823
259823
|
await loggerProvider?.forceFlush();
|
|
@@ -259857,7 +259857,7 @@ async function initializeTelemetry() {
|
|
|
259857
259857
|
const platform3 = getPlatform();
|
|
259858
259858
|
const baseAttributes = {
|
|
259859
259859
|
[ATTR_SERVICE_NAME5]: "claude-code",
|
|
259860
|
-
[ATTR_SERVICE_VERSION5]: "1.1.
|
|
259860
|
+
[ATTR_SERVICE_VERSION5]: "1.1.3"
|
|
259861
259861
|
};
|
|
259862
259862
|
if (platform3 === "wsl") {
|
|
259863
259863
|
const wslVersion = getWslVersion();
|
|
@@ -259902,7 +259902,7 @@ async function initializeTelemetry() {
|
|
|
259902
259902
|
} catch {}
|
|
259903
259903
|
};
|
|
259904
259904
|
registerCleanup(shutdownTelemetry2);
|
|
259905
|
-
return meterProvider2.getMeter("com.anthropic.claude_code", "1.1.
|
|
259905
|
+
return meterProvider2.getMeter("com.anthropic.claude_code", "1.1.3");
|
|
259906
259906
|
}
|
|
259907
259907
|
const meterProvider = new MeterProvider5({
|
|
259908
259908
|
resource,
|
|
@@ -259922,7 +259922,7 @@ async function initializeTelemetry() {
|
|
|
259922
259922
|
});
|
|
259923
259923
|
logs.setGlobalLoggerProvider(loggerProvider);
|
|
259924
259924
|
setLoggerProvider(loggerProvider);
|
|
259925
|
-
const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "1.1.
|
|
259925
|
+
const eventLogger = logs.getLogger("com.anthropic.claude_code.events", "1.1.3");
|
|
259926
259926
|
setEventLogger(eventLogger);
|
|
259927
259927
|
logForDebugging("[3P telemetry] Event logger set successfully");
|
|
259928
259928
|
process.on("beforeExit", async () => {
|
|
@@ -259984,7 +259984,7 @@ Current timeout: ${timeoutMs}ms
|
|
|
259984
259984
|
}
|
|
259985
259985
|
};
|
|
259986
259986
|
registerCleanup(shutdownTelemetry);
|
|
259987
|
-
return meterProvider.getMeter("com.anthropic.claude_code", "1.1.
|
|
259987
|
+
return meterProvider.getMeter("com.anthropic.claude_code", "1.1.3");
|
|
259988
259988
|
}
|
|
259989
259989
|
async function flushTelemetry() {
|
|
259990
259990
|
const meterProvider = getMeterProvider();
|
|
@@ -261207,7 +261207,7 @@ function detectLinuxGlobPatternWarnings() {
|
|
|
261207
261207
|
}
|
|
261208
261208
|
async function getDoctorDiagnostic() {
|
|
261209
261209
|
const installationType = await getCurrentInstallationType();
|
|
261210
|
-
const version = typeof MACRO !== "undefined" ? "1.1.
|
|
261210
|
+
const version = typeof MACRO !== "undefined" ? "1.1.3" : "unknown";
|
|
261211
261211
|
const installationPath = await getInstallationPath();
|
|
261212
261212
|
const invokedBinary = getInvokedBinary();
|
|
261213
261213
|
const multipleInstallations = await detectMultipleInstallations();
|
|
@@ -262148,8 +262148,8 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
262148
262148
|
const maxVersion = await getMaxVersion();
|
|
262149
262149
|
if (maxVersion && gt(version, maxVersion)) {
|
|
262150
262150
|
logForDebugging(`Native installer: maxVersion ${maxVersion} is set, capping update from ${version} to ${maxVersion}`);
|
|
262151
|
-
if (gte("1.1.
|
|
262152
|
-
logForDebugging(`Native installer: current version ${"1.1.
|
|
262151
|
+
if (gte("1.1.3", maxVersion)) {
|
|
262152
|
+
logForDebugging(`Native installer: current version ${"1.1.3"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
262153
262153
|
logEvent("tengu_native_update_skipped_max_version", {
|
|
262154
262154
|
latency_ms: Date.now() - startTime,
|
|
262155
262155
|
max_version: maxVersion,
|
|
@@ -262160,7 +262160,7 @@ async function updateLatest(channelOrVersion, forceReinstall = false) {
|
|
|
262160
262160
|
version = maxVersion;
|
|
262161
262161
|
}
|
|
262162
262162
|
}
|
|
262163
|
-
if (!forceReinstall && version === "1.1.
|
|
262163
|
+
if (!forceReinstall && version === "1.1.3" && await versionIsAvailable(version) && await isPossibleLocalClawdBinary(executablePath)) {
|
|
262164
262164
|
logForDebugging(`Found ${version} at ${executablePath}, skipping install`);
|
|
262165
262165
|
logEvent("tengu_native_update_complete", {
|
|
262166
262166
|
latency_ms: Date.now() - startTime,
|
|
@@ -333322,7 +333322,7 @@ function getAnthropicEnvMetadata() {
|
|
|
333322
333322
|
function getBuildAgeMinutes() {
|
|
333323
333323
|
if (false)
|
|
333324
333324
|
;
|
|
333325
|
-
const buildTime = new Date("2026-04-06T01:
|
|
333325
|
+
const buildTime = new Date("2026-04-06T01:36:01.118Z").getTime();
|
|
333326
333326
|
if (isNaN(buildTime))
|
|
333327
333327
|
return;
|
|
333328
333328
|
return Math.floor((Date.now() - buildTime) / 60000);
|
|
@@ -357030,7 +357030,7 @@ function Feedback({
|
|
|
357030
357030
|
platform: env4.platform,
|
|
357031
357031
|
gitRepo: envInfo.isGit,
|
|
357032
357032
|
terminal: env4.terminal,
|
|
357033
|
-
version: "1.1.
|
|
357033
|
+
version: "1.1.3",
|
|
357034
357034
|
transcript: normalizeMessagesForAPI(messages),
|
|
357035
357035
|
errors: sanitizedErrors,
|
|
357036
357036
|
lastApiRequest: getLastAPIRequest(),
|
|
@@ -357222,7 +357222,7 @@ function Feedback({
|
|
|
357222
357222
|
", ",
|
|
357223
357223
|
env4.terminal,
|
|
357224
357224
|
", v",
|
|
357225
|
-
"1.1.
|
|
357225
|
+
"1.1.3"
|
|
357226
357226
|
]
|
|
357227
357227
|
}, undefined, true, undefined, this)
|
|
357228
357228
|
]
|
|
@@ -357328,7 +357328,7 @@ ${sanitizedDescription}
|
|
|
357328
357328
|
` + `**Environment Info**
|
|
357329
357329
|
` + `- Platform: ${env4.platform}
|
|
357330
357330
|
` + `- Terminal: ${env4.terminal}
|
|
357331
|
-
` + `- Version: ${"1.1.
|
|
357331
|
+
` + `- Version: ${"1.1.3"}
|
|
357332
357332
|
` + `- Feedback ID: ${feedbackId}
|
|
357333
357333
|
` + `
|
|
357334
357334
|
**Errors**
|
|
@@ -360441,7 +360441,7 @@ function buildPrimarySection() {
|
|
|
360441
360441
|
}, undefined, false, undefined, this);
|
|
360442
360442
|
return [{
|
|
360443
360443
|
label: "Version",
|
|
360444
|
-
value: "1.1.
|
|
360444
|
+
value: "1.1.3"
|
|
360445
360445
|
}, {
|
|
360446
360446
|
label: "Session name",
|
|
360447
360447
|
value: nameValue
|
|
@@ -362008,6 +362008,70 @@ var exports_LocalBackendSetup = {};
|
|
|
362008
362008
|
__export(exports_LocalBackendSetup, {
|
|
362009
362009
|
LocalBackendSetup: () => LocalBackendSetup
|
|
362010
362010
|
});
|
|
362011
|
+
function SimpleMenu({ items, isActive, onSelect, onCancel }) {
|
|
362012
|
+
const VISIBLE = Math.min(7, items.length);
|
|
362013
|
+
const [focusIdx, setFocusIdx] = import_react100.useState(0);
|
|
362014
|
+
const [fromIdx, setFromIdx] = import_react100.useState(0);
|
|
362015
|
+
use_input_default((_input, key) => {
|
|
362016
|
+
if (!isActive)
|
|
362017
|
+
return;
|
|
362018
|
+
if (key.upArrow || _input === "k" && !key.ctrl) {
|
|
362019
|
+
setFocusIdx((prev) => {
|
|
362020
|
+
const next = Math.max(0, prev - 1);
|
|
362021
|
+
if (next < fromIdx)
|
|
362022
|
+
setFromIdx(next);
|
|
362023
|
+
return next;
|
|
362024
|
+
});
|
|
362025
|
+
} else if (key.downArrow || _input === "j" && !key.ctrl) {
|
|
362026
|
+
setFocusIdx((prev) => {
|
|
362027
|
+
const next = Math.min(items.length - 1, prev + 1);
|
|
362028
|
+
if (next >= fromIdx + VISIBLE)
|
|
362029
|
+
setFromIdx(next - VISIBLE + 1);
|
|
362030
|
+
return next;
|
|
362031
|
+
});
|
|
362032
|
+
} else if (key.return) {
|
|
362033
|
+
const item = items[focusIdx];
|
|
362034
|
+
if (item)
|
|
362035
|
+
onSelect(item.value);
|
|
362036
|
+
} else if (key.escape) {
|
|
362037
|
+
onCancel?.();
|
|
362038
|
+
}
|
|
362039
|
+
});
|
|
362040
|
+
const visible = items.slice(fromIdx, fromIdx + VISIBLE);
|
|
362041
|
+
const showScrollUp = fromIdx > 0;
|
|
362042
|
+
const showScrollDown = fromIdx + VISIBLE < items.length;
|
|
362043
|
+
return /* @__PURE__ */ jsx_dev_runtime172.jsxDEV(ThemedBox_default, {
|
|
362044
|
+
flexDirection: "column",
|
|
362045
|
+
children: [
|
|
362046
|
+
showScrollUp && /* @__PURE__ */ jsx_dev_runtime172.jsxDEV(ThemedText, {
|
|
362047
|
+
dimColor: true,
|
|
362048
|
+
children: " ↑ more"
|
|
362049
|
+
}, undefined, false, undefined, this),
|
|
362050
|
+
visible.map((item, i2) => {
|
|
362051
|
+
const absIdx = fromIdx + i2;
|
|
362052
|
+
const focused = absIdx === focusIdx;
|
|
362053
|
+
return /* @__PURE__ */ jsx_dev_runtime172.jsxDEV(ThemedBox_default, {
|
|
362054
|
+
gap: 1,
|
|
362055
|
+
children: [
|
|
362056
|
+
/* @__PURE__ */ jsx_dev_runtime172.jsxDEV(ThemedText, {
|
|
362057
|
+
color: "#6366f1",
|
|
362058
|
+
children: focused ? "▶" : " "
|
|
362059
|
+
}, undefined, false, undefined, this),
|
|
362060
|
+
/* @__PURE__ */ jsx_dev_runtime172.jsxDEV(ThemedText, {
|
|
362061
|
+
bold: focused,
|
|
362062
|
+
color: focused ? "#818cf8" : undefined,
|
|
362063
|
+
children: item.label
|
|
362064
|
+
}, undefined, false, undefined, this)
|
|
362065
|
+
]
|
|
362066
|
+
}, String(item.value), true, undefined, this);
|
|
362067
|
+
}),
|
|
362068
|
+
showScrollDown && /* @__PURE__ */ jsx_dev_runtime172.jsxDEV(ThemedText, {
|
|
362069
|
+
dimColor: true,
|
|
362070
|
+
children: " ↓ more"
|
|
362071
|
+
}, undefined, false, undefined, this)
|
|
362072
|
+
]
|
|
362073
|
+
}, undefined, true, undefined, this);
|
|
362074
|
+
}
|
|
362011
362075
|
function getProviderGuidance(provider) {
|
|
362012
362076
|
switch (provider) {
|
|
362013
362077
|
case "vllm":
|
|
@@ -362123,11 +362187,10 @@ function LocalBackendSetup({
|
|
|
362123
362187
|
setScanError(null);
|
|
362124
362188
|
setAvailableModels([]);
|
|
362125
362189
|
setDiscoveredEndpoints([]);
|
|
362126
|
-
if (nextProvider === "vllm")
|
|
362190
|
+
if (nextProvider === "vllm")
|
|
362127
362191
|
startNetworkScan(defaults2.baseUrl);
|
|
362128
|
-
|
|
362192
|
+
else
|
|
362129
362193
|
setStep("baseUrl");
|
|
362130
|
-
}
|
|
362131
362194
|
}
|
|
362132
362195
|
function startNetworkScan(defaultUrl) {
|
|
362133
362196
|
networkAbortRef.current?.abort();
|
|
@@ -362178,11 +362241,10 @@ function LocalBackendSetup({
|
|
|
362178
362241
|
}
|
|
362179
362242
|
setBaseUrl(trimmed);
|
|
362180
362243
|
setError(null);
|
|
362181
|
-
if (provider === "vllm" || provider === "ollama")
|
|
362244
|
+
if (provider === "vllm" || provider === "ollama")
|
|
362182
362245
|
startModelScan(trimmed);
|
|
362183
|
-
|
|
362246
|
+
else
|
|
362184
362247
|
setStep("model");
|
|
362185
|
-
}
|
|
362186
362248
|
}
|
|
362187
362249
|
function startModelScan(url3) {
|
|
362188
362250
|
modelScanAbortRef.current?.abort();
|
|
@@ -362234,14 +362296,18 @@ function LocalBackendSetup({
|
|
|
362234
362296
|
const baseUrlPlaceholder = getDefaultLocalLLMConfig(provider).baseUrl;
|
|
362235
362297
|
const apiKeyPlaceholder = provider === "ollama" ? "ollama" : "Leave blank if your endpoint does not require auth";
|
|
362236
362298
|
const guidance = getProviderGuidance(provider);
|
|
362237
|
-
const
|
|
362238
|
-
const
|
|
362299
|
+
const modelMenuItems = availableModels.map((m2) => ({ label: m2, value: m2 }));
|
|
362300
|
+
const endpointMenuItems = [
|
|
362239
362301
|
...discoveredEndpoints.map((ep) => ({
|
|
362240
362302
|
label: `${ep.url} [${ep.models.slice(0, 2).join(", ")}${ep.models.length > 2 ? ", …" : ""}]`,
|
|
362241
362303
|
value: ep.url
|
|
362242
362304
|
})),
|
|
362243
362305
|
{ label: "Enter URL manually", value: "__manual__" }
|
|
362244
362306
|
];
|
|
362307
|
+
const saveScopeItems = [
|
|
362308
|
+
{ label: "Save as global default (recommended)", value: "global" },
|
|
362309
|
+
{ label: "Use only for this launch", value: "session" }
|
|
362310
|
+
];
|
|
362245
362311
|
return /* @__PURE__ */ jsx_dev_runtime172.jsxDEV(ThemedBox_default, {
|
|
362246
362312
|
flexDirection: "column",
|
|
362247
362313
|
gap: 1,
|
|
@@ -362259,14 +362325,19 @@ function LocalBackendSetup({
|
|
|
362259
362325
|
}, undefined, false, undefined, this),
|
|
362260
362326
|
step === "provider" ? /* @__PURE__ */ jsx_dev_runtime172.jsxDEV(jsx_dev_runtime172.Fragment, {
|
|
362261
362327
|
children: [
|
|
362262
|
-
/* @__PURE__ */ jsx_dev_runtime172.jsxDEV(
|
|
362263
|
-
|
|
362264
|
-
|
|
362328
|
+
/* @__PURE__ */ jsx_dev_runtime172.jsxDEV(ThemedText, {
|
|
362329
|
+
dimColor: true,
|
|
362330
|
+
children: "Choose a backend:"
|
|
362331
|
+
}, undefined, false, undefined, this),
|
|
362332
|
+
/* @__PURE__ */ jsx_dev_runtime172.jsxDEV(SimpleMenu, {
|
|
362333
|
+
items: PROVIDER_OPTIONS,
|
|
362334
|
+
isActive: step === "provider",
|
|
362335
|
+
onSelect: (value) => applyProvider(value),
|
|
362265
362336
|
onCancel
|
|
362266
362337
|
}, undefined, false, undefined, this),
|
|
362267
362338
|
/* @__PURE__ */ jsx_dev_runtime172.jsxDEV(ThemedText, {
|
|
362268
362339
|
dimColor: true,
|
|
362269
|
-
children: "Enter
|
|
362340
|
+
children: "↑↓ navigate · Enter select · Esc exit"
|
|
362270
362341
|
}, undefined, false, undefined, this)
|
|
362271
362342
|
]
|
|
362272
362343
|
}, undefined, true, undefined, this) : null,
|
|
@@ -362323,16 +362394,18 @@ function LocalBackendSetup({
|
|
|
362323
362394
|
" on 192.168.1.0/24"
|
|
362324
362395
|
]
|
|
362325
362396
|
}, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime172.jsxDEV(ThemedText, {
|
|
362397
|
+
dimColor: true,
|
|
362326
362398
|
children: "No vLLM endpoints found on 192.168.1.0/24 — enter the URL manually."
|
|
362327
362399
|
}, undefined, false, undefined, this),
|
|
362328
|
-
/* @__PURE__ */ jsx_dev_runtime172.jsxDEV(
|
|
362329
|
-
|
|
362330
|
-
|
|
362400
|
+
/* @__PURE__ */ jsx_dev_runtime172.jsxDEV(SimpleMenu, {
|
|
362401
|
+
items: endpointMenuItems,
|
|
362402
|
+
isActive: step === "selectEndpoint",
|
|
362403
|
+
onSelect: (value) => selectEndpoint(value),
|
|
362331
362404
|
onCancel: () => setStep("provider")
|
|
362332
362405
|
}, undefined, false, undefined, this),
|
|
362333
362406
|
/* @__PURE__ */ jsx_dev_runtime172.jsxDEV(ThemedText, {
|
|
362334
362407
|
dimColor: true,
|
|
362335
|
-
children: "Enter
|
|
362408
|
+
children: "↑↓ navigate · Enter select · Esc back to provider"
|
|
362336
362409
|
}, undefined, false, undefined, this)
|
|
362337
362410
|
]
|
|
362338
362411
|
}, undefined, true, undefined, this) : null,
|
|
@@ -362411,14 +362484,15 @@ function LocalBackendSetup({
|
|
|
362411
362484
|
dimColor: true,
|
|
362412
362485
|
children: guidance.model
|
|
362413
362486
|
}, undefined, false, undefined, this),
|
|
362414
|
-
/* @__PURE__ */ jsx_dev_runtime172.jsxDEV(
|
|
362415
|
-
|
|
362416
|
-
|
|
362487
|
+
/* @__PURE__ */ jsx_dev_runtime172.jsxDEV(SimpleMenu, {
|
|
362488
|
+
items: modelMenuItems,
|
|
362489
|
+
isActive: step === "model",
|
|
362490
|
+
onSelect: (value) => submitModel(value),
|
|
362417
362491
|
onCancel: goBack
|
|
362418
362492
|
}, undefined, false, undefined, this),
|
|
362419
362493
|
/* @__PURE__ */ jsx_dev_runtime172.jsxDEV(ThemedText, {
|
|
362420
362494
|
dimColor: true,
|
|
362421
|
-
children: "Enter
|
|
362495
|
+
children: "↑↓ navigate · Enter select · Esc back to URL"
|
|
362422
362496
|
}, undefined, false, undefined, this)
|
|
362423
362497
|
]
|
|
362424
362498
|
}, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime172.jsxDEV(jsx_dev_runtime172.Fragment, {
|
|
@@ -362466,7 +362540,7 @@ function LocalBackendSetup({
|
|
|
362466
362540
|
}, undefined, false, undefined, this),
|
|
362467
362541
|
/* @__PURE__ */ jsx_dev_runtime172.jsxDEV(ThemedText, {
|
|
362468
362542
|
dimColor: true,
|
|
362469
|
-
children: "Enter to confirm · Esc
|
|
362543
|
+
children: "Enter to confirm · Esc back to model"
|
|
362470
362544
|
}, undefined, false, undefined, this)
|
|
362471
362545
|
]
|
|
362472
362546
|
}, undefined, true, undefined, this) : null,
|
|
@@ -362480,24 +362554,22 @@ function LocalBackendSetup({
|
|
|
362480
362554
|
wrap: "wrap",
|
|
362481
362555
|
children: 'Save globally to make this the default every time localclawd starts. Choose "this launch only" for a temporary override.'
|
|
362482
362556
|
}, undefined, false, undefined, this),
|
|
362483
|
-
/* @__PURE__ */ jsx_dev_runtime172.jsxDEV(
|
|
362484
|
-
|
|
362485
|
-
|
|
362486
|
-
|
|
362487
|
-
],
|
|
362488
|
-
onChange: (value) => {
|
|
362557
|
+
/* @__PURE__ */ jsx_dev_runtime172.jsxDEV(SimpleMenu, {
|
|
362558
|
+
items: saveScopeItems,
|
|
362559
|
+
isActive: step === "saveScope",
|
|
362560
|
+
onSelect: (value) => {
|
|
362489
362561
|
onComplete({ provider, baseUrl, model, apiKey }, { saveGlobally: value === "global" });
|
|
362490
362562
|
},
|
|
362491
362563
|
onCancel: goBack
|
|
362492
362564
|
}, undefined, false, undefined, this),
|
|
362493
362565
|
/* @__PURE__ */ jsx_dev_runtime172.jsxDEV(ThemedText, {
|
|
362494
362566
|
dimColor: true,
|
|
362495
|
-
children: "Enter
|
|
362567
|
+
children: "↑↓ navigate · Enter confirm · Esc back to API key"
|
|
362496
362568
|
}, undefined, false, undefined, this)
|
|
362497
362569
|
]
|
|
362498
362570
|
}, undefined, true, undefined, this) : null,
|
|
362499
362571
|
error5 ? /* @__PURE__ */ jsx_dev_runtime172.jsxDEV(ThemedText, {
|
|
362500
|
-
color: "
|
|
362572
|
+
color: "red",
|
|
362501
362573
|
children: error5
|
|
362502
362574
|
}, undefined, false, undefined, this) : null
|
|
362503
362575
|
]
|
|
@@ -362510,7 +362582,6 @@ var init_LocalBackendSetup = __esm(() => {
|
|
|
362510
362582
|
init_ink2();
|
|
362511
362583
|
init_providers();
|
|
362512
362584
|
init_scanModels();
|
|
362513
|
-
init_select();
|
|
362514
362585
|
init_TriangleSpinner();
|
|
362515
362586
|
init_TextInput();
|
|
362516
362587
|
import_react100 = __toESM(require_react(), 1);
|
|
@@ -364980,7 +365051,7 @@ function Config({
|
|
|
364980
365051
|
}
|
|
364981
365052
|
}, undefined, false, undefined, this)
|
|
364982
365053
|
}, undefined, false, undefined, this) : showSubmenu === "ChannelDowngrade" ? /* @__PURE__ */ jsx_dev_runtime178.jsxDEV(ChannelDowngradeDialog, {
|
|
364983
|
-
currentVersion: "1.1.
|
|
365054
|
+
currentVersion: "1.1.3",
|
|
364984
365055
|
onChoice: (choice) => {
|
|
364985
365056
|
setShowSubmenu(null);
|
|
364986
365057
|
setTabsHidden(false);
|
|
@@ -364992,7 +365063,7 @@ function Config({
|
|
|
364992
365063
|
autoUpdatesChannel: "stable"
|
|
364993
365064
|
};
|
|
364994
365065
|
if (choice === "stay") {
|
|
364995
|
-
newSettings.minimumVersion = "1.1.
|
|
365066
|
+
newSettings.minimumVersion = "1.1.3";
|
|
364996
365067
|
}
|
|
364997
365068
|
updateSettingsForSource("userSettings", newSettings);
|
|
364998
365069
|
setSettingsData((prev_27) => ({
|
|
@@ -373875,7 +373946,7 @@ function HelpV2(t0) {
|
|
|
373875
373946
|
let t6;
|
|
373876
373947
|
if ($2[31] !== tabs) {
|
|
373877
373948
|
t6 = /* @__PURE__ */ jsx_dev_runtime209.jsxDEV(Tabs, {
|
|
373878
|
-
title: `localclawd v${"1.1.
|
|
373949
|
+
title: `localclawd v${"1.1.3"}`,
|
|
373879
373950
|
color: "professionalBlue",
|
|
373880
373951
|
defaultTab: "general",
|
|
373881
373952
|
children: tabs
|
|
@@ -398033,7 +398104,7 @@ function getAllReleaseNotes(changelogContent = getStoredChangelogFromMemory()) {
|
|
|
398033
398104
|
return [];
|
|
398034
398105
|
}
|
|
398035
398106
|
}
|
|
398036
|
-
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.
|
|
398107
|
+
async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.3") {
|
|
398037
398108
|
if (process.env.USER_TYPE === "ant") {
|
|
398038
398109
|
const changelog = MACRO.VERSION_CHANGELOG;
|
|
398039
398110
|
if (changelog) {
|
|
@@ -398060,7 +398131,7 @@ async function checkForReleaseNotes(lastSeenVersion, currentVersion = "1.1.2") {
|
|
|
398060
398131
|
releaseNotes
|
|
398061
398132
|
};
|
|
398062
398133
|
}
|
|
398063
|
-
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.1.
|
|
398134
|
+
function checkForReleaseNotesSync(lastSeenVersion, currentVersion = "1.1.3") {
|
|
398064
398135
|
if (process.env.USER_TYPE === "ant") {
|
|
398065
398136
|
const changelog = MACRO.VERSION_CHANGELOG;
|
|
398066
398137
|
if (changelog) {
|
|
@@ -399227,7 +399298,7 @@ function getRecentActivitySync() {
|
|
|
399227
399298
|
return cachedActivity;
|
|
399228
399299
|
}
|
|
399229
399300
|
function getLogoDisplayData() {
|
|
399230
|
-
const version = process.env.DEMO_VERSION ?? "1.1.
|
|
399301
|
+
const version = process.env.DEMO_VERSION ?? "1.1.3";
|
|
399231
399302
|
const serverUrl = getDirectConnectServerUrl();
|
|
399232
399303
|
const displayPath = process.env.DEMO_VERSION ? "/code/claude" : getDisplayPath(getCwd());
|
|
399233
399304
|
const cwd2 = serverUrl ? `${displayPath} in ${serverUrl.replace(/^https?:\/\//, "")}` : displayPath;
|
|
@@ -400501,7 +400572,7 @@ function LogoV2() {
|
|
|
400501
400572
|
if ($2[2] === Symbol.for("react.memo_cache_sentinel")) {
|
|
400502
400573
|
t2 = () => {
|
|
400503
400574
|
const currentConfig = getGlobalConfig();
|
|
400504
|
-
if (currentConfig.lastReleaseNotesSeen === "1.1.
|
|
400575
|
+
if (currentConfig.lastReleaseNotesSeen === "1.1.3") {
|
|
400505
400576
|
return;
|
|
400506
400577
|
}
|
|
400507
400578
|
saveGlobalConfig(_temp327);
|
|
@@ -401177,12 +401248,12 @@ function LogoV2() {
|
|
|
401177
401248
|
return t41;
|
|
401178
401249
|
}
|
|
401179
401250
|
function _temp327(current) {
|
|
401180
|
-
if (current.lastReleaseNotesSeen === "1.1.
|
|
401251
|
+
if (current.lastReleaseNotesSeen === "1.1.3") {
|
|
401181
401252
|
return current;
|
|
401182
401253
|
}
|
|
401183
401254
|
return {
|
|
401184
401255
|
...current,
|
|
401185
|
-
lastReleaseNotesSeen: "1.1.
|
|
401256
|
+
lastReleaseNotesSeen: "1.1.3"
|
|
401186
401257
|
};
|
|
401187
401258
|
}
|
|
401188
401259
|
function _temp245(s_0) {
|
|
@@ -427384,7 +427455,7 @@ async function captureMemoryDiagnostics(trigger, dumpNumber = 0) {
|
|
|
427384
427455
|
smapsRollup,
|
|
427385
427456
|
platform: process.platform,
|
|
427386
427457
|
nodeVersion: process.version,
|
|
427387
|
-
ccVersion: "1.1.
|
|
427458
|
+
ccVersion: "1.1.3"
|
|
427388
427459
|
};
|
|
427389
427460
|
}
|
|
427390
427461
|
async function performHeapDump(trigger = "manual", dumpNumber = 0) {
|
|
@@ -427969,7 +428040,7 @@ var init_bridge_kick = __esm(() => {
|
|
|
427969
428040
|
var call59 = async () => {
|
|
427970
428041
|
return {
|
|
427971
428042
|
type: "text",
|
|
427972
|
-
value: `${"1.1.
|
|
428043
|
+
value: `${"1.1.3"} (built ${"2026-04-06T01:36:01.118Z"})`
|
|
427973
428044
|
};
|
|
427974
428045
|
}, version, version_default;
|
|
427975
428046
|
var init_version = __esm(() => {
|
|
@@ -436905,7 +436976,7 @@ function generateHtmlReport(data, insights) {
|
|
|
436905
436976
|
</html>`;
|
|
436906
436977
|
}
|
|
436907
436978
|
function buildExportData(data, insights, facets, remoteStats) {
|
|
436908
|
-
const version2 = typeof MACRO !== "undefined" ? "1.1.
|
|
436979
|
+
const version2 = typeof MACRO !== "undefined" ? "1.1.3" : "unknown";
|
|
436909
436980
|
const remote_hosts_collected = remoteStats?.hosts.filter((h) => h.sessionCount > 0).map((h) => h.name);
|
|
436910
436981
|
const facets_summary = {
|
|
436911
436982
|
total: facets.size,
|
|
@@ -441062,7 +441133,7 @@ var init_sessionStorage = __esm(() => {
|
|
|
441062
441133
|
init_settings2();
|
|
441063
441134
|
init_slowOperations();
|
|
441064
441135
|
init_uuid();
|
|
441065
|
-
VERSION5 = typeof MACRO !== "undefined" ? "1.1.
|
|
441136
|
+
VERSION5 = typeof MACRO !== "undefined" ? "1.1.3" : "unknown";
|
|
441066
441137
|
MAX_TOMBSTONE_REWRITE_BYTES = 50 * 1024 * 1024;
|
|
441067
441138
|
SKIP_FIRST_PROMPT_PATTERN = /^(?:\s*<[a-z][\w-]*[\s>]|\[Request interrupted by user[^\]]*\])/;
|
|
441068
441139
|
EPHEMERAL_PROGRESS_TYPES = new Set([
|
|
@@ -442264,7 +442335,7 @@ var init_filesystem = __esm(() => {
|
|
|
442264
442335
|
});
|
|
442265
442336
|
getBundledSkillsRoot = memoize_default(function getBundledSkillsRoot2() {
|
|
442266
442337
|
const nonce = randomBytes18(16).toString("hex");
|
|
442267
|
-
return join128(getClaudeTempDir(), "bundled-skills", "1.1.
|
|
442338
|
+
return join128(getClaudeTempDir(), "bundled-skills", "1.1.3", nonce);
|
|
442268
442339
|
});
|
|
442269
442340
|
getResolvedWorkingDirPaths = memoize_default(getPathsForPermissionCheck);
|
|
442270
442341
|
});
|
|
@@ -448262,7 +448333,7 @@ function computeFingerprint(messageText, version2) {
|
|
|
448262
448333
|
}
|
|
448263
448334
|
function computeFingerprintFromMessages(messages) {
|
|
448264
448335
|
const firstMessageText = extractFirstMessageText(messages);
|
|
448265
|
-
return computeFingerprint(firstMessageText, "1.1.
|
|
448336
|
+
return computeFingerprint(firstMessageText, "1.1.3");
|
|
448266
448337
|
}
|
|
448267
448338
|
var FINGERPRINT_SALT = "59cf53e54c78";
|
|
448268
448339
|
var init_fingerprint = () => {};
|
|
@@ -450117,7 +450188,7 @@ async function sideQuery(opts) {
|
|
|
450117
450188
|
betas.push(STRUCTURED_OUTPUTS_BETA_HEADER);
|
|
450118
450189
|
}
|
|
450119
450190
|
const messageText = extractFirstUserMessageText(messages);
|
|
450120
|
-
const fingerprint = computeFingerprint(messageText, "1.1.
|
|
450191
|
+
const fingerprint = computeFingerprint(messageText, "1.1.3");
|
|
450121
450192
|
const attributionHeader = getAttributionHeader(fingerprint);
|
|
450122
450193
|
const systemBlocks = [
|
|
450123
450194
|
attributionHeader ? { type: "text", text: attributionHeader } : null,
|
|
@@ -454915,7 +454986,7 @@ function buildSystemInitMessage(inputs) {
|
|
|
454915
454986
|
slash_commands: inputs.commands.filter((c5) => c5.userInvocable !== false).map((c5) => c5.name),
|
|
454916
454987
|
apiKeySource: getAnthropicApiKeyWithSource().source,
|
|
454917
454988
|
betas: getSdkBetas(),
|
|
454918
|
-
claude_code_version: "1.1.
|
|
454989
|
+
claude_code_version: "1.1.3",
|
|
454919
454990
|
output_style: outputStyle2,
|
|
454920
454991
|
agents: inputs.agents.map((agent) => agent.agentType),
|
|
454921
454992
|
skills: inputs.skills.filter((s) => s.userInvocable !== false).map((skill) => skill.name),
|
|
@@ -469494,7 +469565,7 @@ var init_useVoiceEnabled = __esm(() => {
|
|
|
469494
469565
|
function getSemverPart(version2) {
|
|
469495
469566
|
return `${import_semver12.major(version2, { loose: true })}.${import_semver12.minor(version2, { loose: true })}.${import_semver12.patch(version2, { loose: true })}`;
|
|
469496
469567
|
}
|
|
469497
|
-
function useUpdateNotification(updatedVersion, initialVersion = "1.1.
|
|
469568
|
+
function useUpdateNotification(updatedVersion, initialVersion = "1.1.3") {
|
|
469498
469569
|
const [lastNotifiedSemver, setLastNotifiedSemver] = import_react228.useState(() => getSemverPart(initialVersion));
|
|
469499
469570
|
if (!updatedVersion) {
|
|
469500
469571
|
return null;
|
|
@@ -469534,7 +469605,7 @@ function AutoUpdater({
|
|
|
469534
469605
|
return;
|
|
469535
469606
|
}
|
|
469536
469607
|
if (false) {}
|
|
469537
|
-
const currentVersion = "1.1.
|
|
469608
|
+
const currentVersion = "1.1.3";
|
|
469538
469609
|
const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
469539
469610
|
let latestVersion = await getLatestVersion(channel);
|
|
469540
469611
|
const isDisabled = isAutoUpdaterDisabled();
|
|
@@ -469745,12 +469816,12 @@ function NativeAutoUpdater({
|
|
|
469745
469816
|
logEvent("tengu_native_auto_updater_start", {});
|
|
469746
469817
|
try {
|
|
469747
469818
|
const maxVersion = await getMaxVersion();
|
|
469748
|
-
if (maxVersion && gt("1.1.
|
|
469819
|
+
if (maxVersion && gt("1.1.3", maxVersion)) {
|
|
469749
469820
|
const msg = await getMaxVersionMessage();
|
|
469750
469821
|
setMaxVersionIssue(msg ?? "affects your version");
|
|
469751
469822
|
}
|
|
469752
469823
|
const result = await installLatest(channel);
|
|
469753
|
-
const currentVersion = "1.1.
|
|
469824
|
+
const currentVersion = "1.1.3";
|
|
469754
469825
|
const latencyMs = Date.now() - startTime;
|
|
469755
469826
|
if (result.lockFailed) {
|
|
469756
469827
|
logEvent("tengu_native_auto_updater_lock_contention", {
|
|
@@ -469885,17 +469956,17 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
469885
469956
|
const maxVersion = await getMaxVersion();
|
|
469886
469957
|
if (maxVersion && latest && gt(latest, maxVersion)) {
|
|
469887
469958
|
logForDebugging(`PackageManagerAutoUpdater: maxVersion ${maxVersion} is set, capping update from ${latest} to ${maxVersion}`);
|
|
469888
|
-
if (gte("1.1.
|
|
469889
|
-
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.1.
|
|
469959
|
+
if (gte("1.1.3", maxVersion)) {
|
|
469960
|
+
logForDebugging(`PackageManagerAutoUpdater: current version ${"1.1.3"} is already at or above maxVersion ${maxVersion}, skipping update`);
|
|
469890
469961
|
setUpdateAvailable(false);
|
|
469891
469962
|
return;
|
|
469892
469963
|
}
|
|
469893
469964
|
latest = maxVersion;
|
|
469894
469965
|
}
|
|
469895
|
-
const hasUpdate = latest && !gte("1.1.
|
|
469966
|
+
const hasUpdate = latest && !gte("1.1.3", latest) && !shouldSkipVersion(latest);
|
|
469896
469967
|
setUpdateAvailable(!!hasUpdate);
|
|
469897
469968
|
if (hasUpdate) {
|
|
469898
|
-
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.1.
|
|
469969
|
+
logForDebugging(`PackageManagerAutoUpdater: Update available ${"1.1.3"} -> ${latest}`);
|
|
469899
469970
|
}
|
|
469900
469971
|
};
|
|
469901
469972
|
$2[0] = t1;
|
|
@@ -469929,7 +470000,7 @@ function PackageManagerAutoUpdater(t0) {
|
|
|
469929
470000
|
wrap: "truncate",
|
|
469930
470001
|
children: [
|
|
469931
470002
|
"currentVersion: ",
|
|
469932
|
-
"1.1.
|
|
470003
|
+
"1.1.3"
|
|
469933
470004
|
]
|
|
469934
470005
|
}, undefined, true, undefined, this);
|
|
469935
470006
|
$2[3] = verbose;
|
|
@@ -477487,7 +477558,7 @@ function buildStatusLineCommandInput(permissionMode, exceeds200kTokens, settings
|
|
|
477487
477558
|
project_dir: getOriginalCwd(),
|
|
477488
477559
|
added_dirs: addedDirs
|
|
477489
477560
|
},
|
|
477490
|
-
version: "1.1.
|
|
477561
|
+
version: "1.1.3",
|
|
477491
477562
|
output_style: {
|
|
477492
477563
|
name: outputStyleName
|
|
477493
477564
|
},
|
|
@@ -489033,7 +489104,7 @@ async function submitTranscriptShare(messages, trigger, appearanceId) {
|
|
|
489033
489104
|
} catch {}
|
|
489034
489105
|
const data = {
|
|
489035
489106
|
trigger,
|
|
489036
|
-
version: "1.1.
|
|
489107
|
+
version: "1.1.3",
|
|
489037
489108
|
platform: process.platform,
|
|
489038
489109
|
transcript,
|
|
489039
489110
|
subagentTranscripts: Object.keys(subagentTranscripts).length > 0 ? subagentTranscripts : undefined,
|
|
@@ -500604,48 +500675,49 @@ var init_githubRepoPathMapping = __esm(() => {
|
|
|
500604
500675
|
function WelcomeV2() {
|
|
500605
500676
|
const [theme2] = useTheme();
|
|
500606
500677
|
const isLightTheme = ["light", "light-daltonized", "light-ansi"].includes(theme2);
|
|
500678
|
+
const accentColor = isLightTheme ? "blue" : "#6366f1";
|
|
500607
500679
|
return /* @__PURE__ */ jsx_dev_runtime477.jsxDEV(ThemedBox_default, {
|
|
500608
500680
|
width: WELCOME_V2_WIDTH,
|
|
500609
500681
|
flexDirection: "column",
|
|
500682
|
+
gap: 0,
|
|
500610
500683
|
children: [
|
|
500611
|
-
/* @__PURE__ */ jsx_dev_runtime477.jsxDEV(
|
|
500684
|
+
/* @__PURE__ */ jsx_dev_runtime477.jsxDEV(ThemedBox_default, {
|
|
500685
|
+
gap: 1,
|
|
500612
500686
|
children: [
|
|
500613
500687
|
/* @__PURE__ */ jsx_dev_runtime477.jsxDEV(ThemedText, {
|
|
500614
|
-
|
|
500615
|
-
|
|
500688
|
+
bold: true,
|
|
500689
|
+
color: accentColor,
|
|
500690
|
+
children: "localclawd"
|
|
500616
500691
|
}, undefined, false, undefined, this),
|
|
500617
500692
|
/* @__PURE__ */ jsx_dev_runtime477.jsxDEV(ThemedText, {
|
|
500618
500693
|
dimColor: true,
|
|
500619
500694
|
children: [
|
|
500620
500695
|
"v",
|
|
500621
|
-
"1.1.
|
|
500696
|
+
"1.1.3"
|
|
500622
500697
|
]
|
|
500623
500698
|
}, undefined, true, undefined, this)
|
|
500624
500699
|
]
|
|
500625
500700
|
}, undefined, true, undefined, this),
|
|
500626
500701
|
/* @__PURE__ */ jsx_dev_runtime477.jsxDEV(ThemedText, {
|
|
500627
500702
|
dimColor: true,
|
|
500628
|
-
children: "
|
|
500703
|
+
children: "─".repeat(48)
|
|
500629
500704
|
}, undefined, false, undefined, this),
|
|
500630
|
-
GEOMETRIC_BANNER.map((line, index) => /* @__PURE__ */ jsx_dev_runtime477.jsxDEV(ThemedText, {
|
|
500631
|
-
color: isLightTheme ? "clawd_body" : "claude",
|
|
500632
|
-
children: line
|
|
500633
|
-
}, index, false, undefined, this)),
|
|
500634
500705
|
/* @__PURE__ */ jsx_dev_runtime477.jsxDEV(ThemedBox_default, {
|
|
500635
500706
|
marginTop: 1,
|
|
500707
|
+
gap: 2,
|
|
500636
500708
|
children: [
|
|
500637
500709
|
/* @__PURE__ */ jsx_dev_runtime477.jsxDEV(Clawd, {}, undefined, false, undefined, this),
|
|
500638
500710
|
/* @__PURE__ */ jsx_dev_runtime477.jsxDEV(ThemedBox_default, {
|
|
500639
|
-
marginLeft: 2,
|
|
500640
500711
|
flexDirection: "column",
|
|
500712
|
+
justifyContent: "center",
|
|
500641
500713
|
children: [
|
|
500642
500714
|
/* @__PURE__ */ jsx_dev_runtime477.jsxDEV(ThemedText, {
|
|
500643
500715
|
dimColor: true,
|
|
500644
|
-
children: "Local-first coding
|
|
500716
|
+
children: "Local-first coding with vLLM, Ollama, and OpenAI-compatible APIs."
|
|
500645
500717
|
}, undefined, false, undefined, this),
|
|
500646
500718
|
/* @__PURE__ */ jsx_dev_runtime477.jsxDEV(ThemedText, {
|
|
500647
500719
|
dimColor: true,
|
|
500648
|
-
children: "Vision
|
|
500720
|
+
children: "Vision flows through when your model supports it."
|
|
500649
500721
|
}, undefined, false, undefined, this)
|
|
500650
500722
|
]
|
|
500651
500723
|
}, undefined, true, undefined, this)
|
|
@@ -500654,18 +500726,11 @@ function WelcomeV2() {
|
|
|
500654
500726
|
]
|
|
500655
500727
|
}, undefined, true, undefined, this);
|
|
500656
500728
|
}
|
|
500657
|
-
var jsx_dev_runtime477, WELCOME_V2_WIDTH = 58
|
|
500729
|
+
var jsx_dev_runtime477, WELCOME_V2_WIDTH = 58;
|
|
500658
500730
|
var init_WelcomeV2 = __esm(() => {
|
|
500659
500731
|
init_ink2();
|
|
500660
500732
|
init_Clawd();
|
|
500661
500733
|
jsx_dev_runtime477 = __toESM(require_jsx_dev_runtime(), 1);
|
|
500662
|
-
GEOMETRIC_BANNER = [
|
|
500663
|
-
"◇ ◇◇◇ ◇◇◇ ◇◇◇ ◇ ◇",
|
|
500664
|
-
"◇ ◇ ◇ ◇ ◇ ◇ ◇◇ ◇",
|
|
500665
|
-
"◇ ◇ ◇ ◇ ◇◇◇◇◇ ◇ ◇ ◇",
|
|
500666
|
-
" ◇ ◇ ◇ ◇ ◇ ◇ ◇ ◇◇",
|
|
500667
|
-
" ◇ ◇◇◇ ◇◇◇ ◇ ◇ ◇ ◇"
|
|
500668
|
-
];
|
|
500669
500734
|
});
|
|
500670
500735
|
|
|
500671
500736
|
// src/components/StartPage.tsx
|
|
@@ -500678,14 +500743,19 @@ function hasSavedBackendConfig(config2) {
|
|
|
500678
500743
|
}
|
|
500679
500744
|
function StartPage({ currentConfig, onDone }) {
|
|
500680
500745
|
const hasSavedConfig = hasSavedBackendConfig(currentConfig);
|
|
500681
|
-
const
|
|
500746
|
+
const options = hasSavedConfig ? CONTINUE_OPTIONS : SETUP_OPTIONS;
|
|
500747
|
+
const [focusIdx, setFocusIdx] = import_react321.useState(0);
|
|
500682
500748
|
use_input_default((_input, key) => {
|
|
500683
|
-
if (key.
|
|
500684
|
-
|
|
500685
|
-
else if (key.
|
|
500749
|
+
if (key.upArrow || key.ctrl && _input === "p") {
|
|
500750
|
+
setFocusIdx((i2) => (i2 - 1 + options.length) % options.length);
|
|
500751
|
+
} else if (key.downArrow || key.ctrl && _input === "n") {
|
|
500752
|
+
setFocusIdx((i2) => (i2 + 1) % options.length);
|
|
500753
|
+
} else if (key.return) {
|
|
500754
|
+
onDone(options[focusIdx].value);
|
|
500755
|
+
} else if (key.escape) {
|
|
500686
500756
|
onDone("continue");
|
|
500757
|
+
}
|
|
500687
500758
|
});
|
|
500688
|
-
const options = hasSavedConfig ? CONTINUE_OPTIONS : SETUP_OPTIONS;
|
|
500689
500759
|
return /* @__PURE__ */ jsx_dev_runtime478.jsxDEV(ThemedBox_default, {
|
|
500690
500760
|
flexDirection: "column",
|
|
500691
500761
|
gap: 1,
|
|
@@ -500701,7 +500771,6 @@ function StartPage({ currentConfig, onDone }) {
|
|
|
500701
500771
|
children: [
|
|
500702
500772
|
/* @__PURE__ */ jsx_dev_runtime478.jsxDEV(ThemedBox_default, {
|
|
500703
500773
|
flexDirection: "column",
|
|
500704
|
-
gap: 0,
|
|
500705
500774
|
children: [
|
|
500706
500775
|
/* @__PURE__ */ jsx_dev_runtime478.jsxDEV(ThemedText, {
|
|
500707
500776
|
bold: true,
|
|
@@ -500724,7 +500793,6 @@ function StartPage({ currentConfig, onDone }) {
|
|
|
500724
500793
|
children: [
|
|
500725
500794
|
/* @__PURE__ */ jsx_dev_runtime478.jsxDEV(ThemedBox_default, {
|
|
500726
500795
|
gap: 2,
|
|
500727
|
-
alignItems: "center",
|
|
500728
500796
|
children: [
|
|
500729
500797
|
/* @__PURE__ */ jsx_dev_runtime478.jsxDEV(ThemedText, {
|
|
500730
500798
|
color: "#6366f1",
|
|
@@ -500761,51 +500829,42 @@ function StartPage({ currentConfig, onDone }) {
|
|
|
500761
500829
|
]
|
|
500762
500830
|
}, undefined, true, undefined, this)
|
|
500763
500831
|
]
|
|
500764
|
-
}, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime478.jsxDEV(
|
|
500832
|
+
}, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime478.jsxDEV(ThemedBox_default, {
|
|
500833
|
+
flexDirection: "column",
|
|
500834
|
+
gap: 0,
|
|
500765
500835
|
children: [
|
|
500766
|
-
/* @__PURE__ */ jsx_dev_runtime478.jsxDEV(
|
|
500767
|
-
|
|
500768
|
-
|
|
500769
|
-
children:
|
|
500770
|
-
|
|
500771
|
-
|
|
500772
|
-
|
|
500773
|
-
|
|
500774
|
-
|
|
500775
|
-
|
|
500776
|
-
dimColor: true,
|
|
500777
|
-
wrap: "wrap",
|
|
500778
|
-
children: "localclawd needs an OpenAI-compatible backend — vLLM, Ollama, or any hosted gateway. Set one up now and you're ready to code."
|
|
500779
|
-
}, undefined, false, undefined, this)
|
|
500780
|
-
]
|
|
500781
|
-
}, undefined, true, undefined, this),
|
|
500782
|
-
/* @__PURE__ */ jsx_dev_runtime478.jsxDEV(ThemedBox_default, {
|
|
500783
|
-
paddingX: 1,
|
|
500784
|
-
children: [
|
|
500785
|
-
/* @__PURE__ */ jsx_dev_runtime478.jsxDEV(ThemedText, {
|
|
500786
|
-
color: "#6366f1",
|
|
500787
|
-
children: "▸"
|
|
500788
|
-
}, undefined, false, undefined, this),
|
|
500789
|
-
/* @__PURE__ */ jsx_dev_runtime478.jsxDEV(ThemedText, {
|
|
500790
|
-
dimColor: true,
|
|
500791
|
-
children: [
|
|
500792
|
-
" ",
|
|
500793
|
-
"Vision works automatically when your model accepts image content."
|
|
500794
|
-
]
|
|
500795
|
-
}, undefined, true, undefined, this)
|
|
500796
|
-
]
|
|
500797
|
-
}, undefined, true, undefined, this)
|
|
500836
|
+
/* @__PURE__ */ jsx_dev_runtime478.jsxDEV(ThemedText, {
|
|
500837
|
+
bold: true,
|
|
500838
|
+
color: "#818cf8",
|
|
500839
|
+
children: "Let's get you connected."
|
|
500840
|
+
}, undefined, false, undefined, this),
|
|
500841
|
+
/* @__PURE__ */ jsx_dev_runtime478.jsxDEV(ThemedText, {
|
|
500842
|
+
dimColor: true,
|
|
500843
|
+
wrap: "wrap",
|
|
500844
|
+
children: "localclawd needs an OpenAI-compatible backend — vLLM, Ollama, or any hosted gateway."
|
|
500845
|
+
}, undefined, false, undefined, this)
|
|
500798
500846
|
]
|
|
500799
500847
|
}, undefined, true, undefined, this),
|
|
500800
|
-
/* @__PURE__ */ jsx_dev_runtime478.jsxDEV(
|
|
500801
|
-
|
|
500802
|
-
|
|
500803
|
-
|
|
500804
|
-
|
|
500848
|
+
/* @__PURE__ */ jsx_dev_runtime478.jsxDEV(ThemedBox_default, {
|
|
500849
|
+
flexDirection: "column",
|
|
500850
|
+
children: options.map((opt, i2) => /* @__PURE__ */ jsx_dev_runtime478.jsxDEV(ThemedBox_default, {
|
|
500851
|
+
gap: 1,
|
|
500852
|
+
children: [
|
|
500853
|
+
/* @__PURE__ */ jsx_dev_runtime478.jsxDEV(ThemedText, {
|
|
500854
|
+
color: "#6366f1",
|
|
500855
|
+
children: i2 === focusIdx ? "▶" : " "
|
|
500856
|
+
}, undefined, false, undefined, this),
|
|
500857
|
+
/* @__PURE__ */ jsx_dev_runtime478.jsxDEV(ThemedText, {
|
|
500858
|
+
bold: i2 === focusIdx,
|
|
500859
|
+
color: i2 === focusIdx ? "#818cf8" : undefined,
|
|
500860
|
+
children: opt.label
|
|
500861
|
+
}, undefined, false, undefined, this)
|
|
500862
|
+
]
|
|
500863
|
+
}, opt.value, true, undefined, this))
|
|
500805
500864
|
}, undefined, false, undefined, this),
|
|
500806
500865
|
/* @__PURE__ */ jsx_dev_runtime478.jsxDEV(ThemedText, {
|
|
500807
500866
|
dimColor: true,
|
|
500808
|
-
children: "↑↓
|
|
500867
|
+
children: "↑↓ navigate · Enter confirm · Esc continue"
|
|
500809
500868
|
}, undefined, false, undefined, this)
|
|
500810
500869
|
]
|
|
500811
500870
|
}, undefined, true, undefined, this)
|
|
@@ -500816,7 +500875,6 @@ var import_react321, jsx_dev_runtime478, CONTINUE_OPTIONS, SETUP_OPTIONS;
|
|
|
500816
500875
|
var init_StartPage = __esm(() => {
|
|
500817
500876
|
init_ink2();
|
|
500818
500877
|
init_providers();
|
|
500819
|
-
init_select();
|
|
500820
500878
|
init_WelcomeV2();
|
|
500821
500879
|
import_react321 = __toESM(require_react(), 1);
|
|
500822
500880
|
jsx_dev_runtime478 = __toESM(require_jsx_dev_runtime(), 1);
|
|
@@ -502075,7 +502133,7 @@ function completeOnboarding() {
|
|
|
502075
502133
|
saveGlobalConfig((current) => ({
|
|
502076
502134
|
...current,
|
|
502077
502135
|
hasCompletedOnboarding: true,
|
|
502078
|
-
lastOnboardingVersion: "1.1.
|
|
502136
|
+
lastOnboardingVersion: "1.1.3"
|
|
502079
502137
|
}));
|
|
502080
502138
|
}
|
|
502081
502139
|
function showDialog(root3, renderer) {
|
|
@@ -506629,7 +506687,7 @@ function appendToLog(path17, message) {
|
|
|
506629
506687
|
cwd: getFsImplementation().cwd(),
|
|
506630
506688
|
userType: process.env.USER_TYPE,
|
|
506631
506689
|
sessionId: getSessionId(),
|
|
506632
|
-
version: "1.1.
|
|
506690
|
+
version: "1.1.3"
|
|
506633
506691
|
};
|
|
506634
506692
|
getLogWriter(path17).write(messageWithTimestamp);
|
|
506635
506693
|
}
|
|
@@ -510609,8 +510667,8 @@ async function getEnvLessBridgeConfig() {
|
|
|
510609
510667
|
}
|
|
510610
510668
|
async function checkEnvLessBridgeMinVersion() {
|
|
510611
510669
|
const cfg = await getEnvLessBridgeConfig();
|
|
510612
|
-
if (cfg.min_version && lt("1.1.
|
|
510613
|
-
return `Your version of localclawd (${"1.1.
|
|
510670
|
+
if (cfg.min_version && lt("1.1.3", cfg.min_version)) {
|
|
510671
|
+
return `Your version of localclawd (${"1.1.3"}) is too old for Remote Control.
|
|
510614
510672
|
Version ${cfg.min_version} or higher is required. Run \`localclawd update\` to update.`;
|
|
510615
510673
|
}
|
|
510616
510674
|
return null;
|
|
@@ -511082,7 +511140,7 @@ async function initBridgeCore(params) {
|
|
|
511082
511140
|
const rawApi = createBridgeApiClient({
|
|
511083
511141
|
baseUrl,
|
|
511084
511142
|
getAccessToken,
|
|
511085
|
-
runnerVersion: "1.1.
|
|
511143
|
+
runnerVersion: "1.1.3",
|
|
511086
511144
|
onDebug: logForDebugging,
|
|
511087
511145
|
onAuth401,
|
|
511088
511146
|
getTrustedDeviceToken
|
|
@@ -516738,7 +516796,7 @@ async function startMCPServer(cwd3, debug4, verbose) {
|
|
|
516738
516796
|
setCwd(cwd3);
|
|
516739
516797
|
const server = new Server({
|
|
516740
516798
|
name: "claude/tengu",
|
|
516741
|
-
version: "1.1.
|
|
516799
|
+
version: "1.1.3"
|
|
516742
516800
|
}, {
|
|
516743
516801
|
capabilities: {
|
|
516744
516802
|
tools: {}
|
|
@@ -518343,7 +518401,7 @@ __export(exports_update, {
|
|
|
518343
518401
|
});
|
|
518344
518402
|
async function update() {
|
|
518345
518403
|
logEvent("tengu_update_check", {});
|
|
518346
|
-
writeToStdout(`Current version: ${"1.1.
|
|
518404
|
+
writeToStdout(`Current version: ${"1.1.3"}
|
|
518347
518405
|
`);
|
|
518348
518406
|
const channel = getInitialSettings()?.autoUpdatesChannel ?? "latest";
|
|
518349
518407
|
writeToStdout(`Checking for updates to ${channel} version...
|
|
@@ -518418,8 +518476,8 @@ async function update() {
|
|
|
518418
518476
|
writeToStdout(`localclawd is managed by Homebrew.
|
|
518419
518477
|
`);
|
|
518420
518478
|
const latest = await getLatestVersion(channel);
|
|
518421
|
-
if (latest && !gte("1.1.
|
|
518422
|
-
writeToStdout(`Update available: ${"1.1.
|
|
518479
|
+
if (latest && !gte("1.1.3", latest)) {
|
|
518480
|
+
writeToStdout(`Update available: ${"1.1.3"} → ${latest}
|
|
518423
518481
|
`);
|
|
518424
518482
|
writeToStdout(`
|
|
518425
518483
|
`);
|
|
@@ -518435,8 +518493,8 @@ async function update() {
|
|
|
518435
518493
|
writeToStdout(`localclawd is managed by winget.
|
|
518436
518494
|
`);
|
|
518437
518495
|
const latest = await getLatestVersion(channel);
|
|
518438
|
-
if (latest && !gte("1.1.
|
|
518439
|
-
writeToStdout(`Update available: ${"1.1.
|
|
518496
|
+
if (latest && !gte("1.1.3", latest)) {
|
|
518497
|
+
writeToStdout(`Update available: ${"1.1.3"} → ${latest}
|
|
518440
518498
|
`);
|
|
518441
518499
|
writeToStdout(`
|
|
518442
518500
|
`);
|
|
@@ -518450,8 +518508,8 @@ async function update() {
|
|
|
518450
518508
|
writeToStdout(`localclawd is managed by apk.
|
|
518451
518509
|
`);
|
|
518452
518510
|
const latest = await getLatestVersion(channel);
|
|
518453
|
-
if (latest && !gte("1.1.
|
|
518454
|
-
writeToStdout(`Update available: ${"1.1.
|
|
518511
|
+
if (latest && !gte("1.1.3", latest)) {
|
|
518512
|
+
writeToStdout(`Update available: ${"1.1.3"} → ${latest}
|
|
518455
518513
|
`);
|
|
518456
518514
|
writeToStdout(`
|
|
518457
518515
|
`);
|
|
@@ -518516,11 +518574,11 @@ async function update() {
|
|
|
518516
518574
|
`);
|
|
518517
518575
|
await gracefulShutdown(1);
|
|
518518
518576
|
}
|
|
518519
|
-
if (result.latestVersion === "1.1.
|
|
518520
|
-
writeToStdout(source_default.green(`localclawd is up to date (${"1.1.
|
|
518577
|
+
if (result.latestVersion === "1.1.3") {
|
|
518578
|
+
writeToStdout(source_default.green(`localclawd is up to date (${"1.1.3"})`) + `
|
|
518521
518579
|
`);
|
|
518522
518580
|
} else {
|
|
518523
|
-
writeToStdout(source_default.green(`Successfully updated from ${"1.1.
|
|
518581
|
+
writeToStdout(source_default.green(`Successfully updated from ${"1.1.3"} to version ${result.latestVersion}`) + `
|
|
518524
518582
|
`);
|
|
518525
518583
|
await regenerateCompletionCache();
|
|
518526
518584
|
}
|
|
@@ -518580,12 +518638,12 @@ async function update() {
|
|
|
518580
518638
|
`);
|
|
518581
518639
|
await gracefulShutdown(1);
|
|
518582
518640
|
}
|
|
518583
|
-
if (latestVersion === "1.1.
|
|
518584
|
-
writeToStdout(source_default.green(`localclawd is up to date (${"1.1.
|
|
518641
|
+
if (latestVersion === "1.1.3") {
|
|
518642
|
+
writeToStdout(source_default.green(`localclawd is up to date (${"1.1.3"})`) + `
|
|
518585
518643
|
`);
|
|
518586
518644
|
await gracefulShutdown(0);
|
|
518587
518645
|
}
|
|
518588
|
-
writeToStdout(`New version available: ${latestVersion} (current: ${"1.1.
|
|
518646
|
+
writeToStdout(`New version available: ${latestVersion} (current: ${"1.1.3"})
|
|
518589
518647
|
`);
|
|
518590
518648
|
writeToStdout(`Installing update...
|
|
518591
518649
|
`);
|
|
@@ -518630,7 +518688,7 @@ async function update() {
|
|
|
518630
518688
|
logForDebugging(`update: Installation status: ${status2}`);
|
|
518631
518689
|
switch (status2) {
|
|
518632
518690
|
case "success":
|
|
518633
|
-
writeToStdout(source_default.green(`Successfully updated from ${"1.1.
|
|
518691
|
+
writeToStdout(source_default.green(`Successfully updated from ${"1.1.3"} to version ${latestVersion}`) + `
|
|
518634
518692
|
`);
|
|
518635
518693
|
await regenerateCompletionCache();
|
|
518636
518694
|
break;
|
|
@@ -519895,7 +519953,7 @@ ${customInstructions}` : customInstructions;
|
|
|
519895
519953
|
}
|
|
519896
519954
|
}
|
|
519897
519955
|
logForDiagnosticsNoPII("info", "started", {
|
|
519898
|
-
version: "1.1.
|
|
519956
|
+
version: "1.1.3",
|
|
519899
519957
|
is_native_binary: isInBundledMode()
|
|
519900
519958
|
});
|
|
519901
519959
|
registerCleanup(async () => {
|
|
@@ -520679,7 +520737,7 @@ Usage: localclawd --remote "your task description"`, () => gracefulShutdown(1));
|
|
|
520679
520737
|
pendingHookMessages
|
|
520680
520738
|
}, renderAndRun);
|
|
520681
520739
|
}
|
|
520682
|
-
}).version("1.1.
|
|
520740
|
+
}).version("1.1.3 (localClawd)", "-v, --version", "Output the version number");
|
|
520683
520741
|
program2.option("-w, --worktree [name]", "Create a new git worktree for this session (optionally specify a name)");
|
|
520684
520742
|
program2.option("--tmux", "Create a tmux session for the worktree (requires --worktree). Uses iTerm2 native panes when available; use --tmux=classic for traditional tmux.");
|
|
520685
520743
|
if (canUserConfigureAdvisor()) {
|
|
@@ -521187,7 +521245,7 @@ if (false) {}
|
|
|
521187
521245
|
async function main2() {
|
|
521188
521246
|
const args = process.argv.slice(2);
|
|
521189
521247
|
if (args.length === 1 && (args[0] === "--version" || args[0] === "-v" || args[0] === "-V")) {
|
|
521190
|
-
console.log(`${"1.1.
|
|
521248
|
+
console.log(`${"1.1.3"} (localclawd)`);
|
|
521191
521249
|
return;
|
|
521192
521250
|
}
|
|
521193
521251
|
const {
|
|
@@ -521271,4 +521329,4 @@ async function main2() {
|
|
|
521271
521329
|
}
|
|
521272
521330
|
main2();
|
|
521273
521331
|
|
|
521274
|
-
//# debugId=
|
|
521332
|
+
//# debugId=AE6E82D9C46EECC664756E2164756E21
|